@font-face{font-family:Zen Maru Gothic;src:url(../fonts/zen-maru-medium.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}:root{color:#303b2c;font-synthesis:none;--paper:#fffcf5;--ink:#303b2c;--green:#455a3b;--muted:#626952;--line:#d5d6c4;--rust:#a94735;--radius:12px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#f5f1e7;font-family:Zen Maru Gothic,Hiragino Maru Gothic ProN,sans-serif;font-size:16px;font-weight:500;line-height:1.75}*{box-sizing:border-box}body{background-image:radial-gradient(#61613d0d .6px,#0000 .6px);background-size:5px 5px;min-width:300px;margin:0}button,input{font:inherit}button{color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:0;min-height:48px;transition:transform 90ms ease-out,background-color .14s ease-out}button:active:not(:disabled){transform:translateY(2px)}button:disabled{opacity:.42;cursor:default}button:focus-visible{outline:3px solid var(--rust);outline-offset:4px}canvas:focus-visible{outline:3px solid var(--rust);outline-offset:4px}a:focus-visible{outline:3px solid var(--rust);outline-offset:4px}button svg,.status-row svg,.notebook-rule svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;width:24px;height:24px}button:hover:not(:disabled){background-color:#455a3b0c}p,h1,h2,h3{overflow-wrap:break-word;line-break:strict;margin:0}h1,h2,h3,strong{font-weight:500}svg.icon-defs{width:0;height:0;position:absolute;overflow:hidden}.shell{max-width:1224px;margin:auto;padding:0 40px}.header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:24px 0;display:flex}.brand{align-items:center;gap:16px;display:flex}.brand-dog{width:68px;height:48px}.eyebrow{letter-spacing:.1em;color:var(--muted);font-size:12px;display:block}h1{letter-spacing:.03em;font-size:20px;line-height:1.45}h1 span{display:inline}.header-actions{gap:8px;display:flex}.icon-button{border-radius:var(--radius);justify-content:center;align-items:center;gap:8px;min-width:48px;padding:8px;display:inline-flex}.icon-button span{font-size:14px}.game-layout{grid-template-columns:minmax(0,600px) minmax(280px,1fr);align-items:center;gap:64px;margin:24px 0 8px;display:grid}.play-area{width:100%;min-width:0;max-width:600px;margin:auto}.course-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.course-button{text-align:left;border-radius:8px;align-items:center;gap:12px;padding:4px 8px 4px 0;line-height:1.4;display:flex}.course-button .eyebrow{font-size:12px}.course-title{margin-top:3px;font-size:20px;display:block}.chevron{color:var(--muted);margin-left:8px}.park-progress{text-align:right;flex-shrink:0;line-height:1.45}.park-progress>span{color:var(--muted);font-size:12px}.park-progress strong{font-variant-numeric:tabular-nums;font-size:24px;display:block}.park-progress small{color:var(--muted);font-size:14px}.progress-track{background:#d2d4bd;border-radius:2px;width:96px;height:4px;margin-top:4px;overflow:hidden}.progress-track i{background:var(--green);width:0;height:100%;transition:width .14s ease-out;display:block}.board-frame{isolation:isolate;background:#e8ddc6;border-radius:16px;padding:8px;position:relative;box-shadow:0 2px #c6b99a,0 14px 28px #5c603511}.board-frame:after{content:"";pointer-events:none;border:1px solid #657a3c28;border-radius:10px;position:absolute;top:8px;bottom:8px;left:8px;right:8px}#board{aspect-ratio:13/15;touch-action:none;-webkit-user-select:none;user-select:none;cursor:pointer;border-radius:10px;width:100%;display:block}.map-caption{color:#45533c;pointer-events:none;background:#f5f1e7d9;border-radius:4px;padding:0 6px;font-size:12px;position:absolute;bottom:14px;right:20px}.status-row{align-items:center;gap:8px;min-height:52px;padding:8px 2px;font-size:14px;line-height:1.5;display:flex}.status-row svg{color:var(--green);width:18px;height:18px}.status-row p{flex:1}.status-row[data-warning=true]{color:#8a392c}.status-row>span{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12px}.controls{justify-content:space-between;align-items:end;gap:24px;display:flex}.tool-buttons{flex:1;max-width:280px}.undo-button{background:var(--paper);border:1px solid #b4bba2;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;display:flex;box-shadow:0 3px #c4c9b4}kbd{border:1px solid var(--line);color:var(--muted);border-radius:4px;margin-left:8px;padding:0 5px;font-family:inherit;font-size:12px}.minor-tools{gap:8px;margin-top:8px;display:flex}.minor-tools button{white-space:nowrap;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;padding:4px;font-size:14px;display:flex}.minor-tools svg{width:18px;height:18px}.dpad{grid-template-rows:repeat(2,48px);grid-template-columns:repeat(3,48px);gap:8px;display:grid;position:relative}.dpad-label{white-space:nowrap;color:var(--muted);pointer-events:none;font-size:12px;position:absolute;bottom:72px;right:116px}.direction{color:#fffcf5;-webkit-user-select:none;user-select:none;touch-action:none;background:#455a3b;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;min-height:48px;display:flex;box-shadow:0 4px #303b2c}.direction:hover:not(:disabled){background:#536c46}.direction:active:not(:disabled),.direction.is-held{transform:translateY(3px);box-shadow:0 1px #303b2c}.up{grid-area:1/2}.left{grid-area:2/1}.left svg{transform:rotate(-90deg)}.down{grid-area:2/2}.down svg{transform:rotate(180deg)}.right{grid-area:2/3}.right svg{transform:rotate(90deg)}.input-note{color:var(--muted);text-align:center;margin-top:16px;font-size:12px}.input-note span{padding:0 8px}.walk-notes{padding-bottom:64px}.chapter-label{letter-spacing:.16em;margin-bottom:24px}.tagline{letter-spacing:.025em;font-size:40px;line-height:1.6}.intro{color:var(--muted);margin:24px 0;font-size:16px;line-height:1.85}.length-mark{color:#754525;align-items:center;gap:8px;margin:32px 0;font-size:12px;display:flex}.length-mark i{border-top:1px solid #a98c65;flex:1;position:relative}.length-mark i:before,.length-mark i:after{content:"";border-left:1px solid #a98c65;height:7px;position:absolute;top:-4px}.length-mark i:after{right:0}.length-mark strong{font-size:32px;line-height:1}.length-mark strong span{margin-left:3px;font-size:16px}.notebook{background:var(--paper);border-radius:2px 2px 12px;padding:28px 24px 24px;position:relative;transform:rotate(-1deg);box-shadow:0 1px 1px #69653816,0 10px 24px #69653808}.notebook-pin{background:#d8debea6;width:64px;height:22px;position:absolute;top:-10px;left:calc(50% - 32px);transform:rotate(5deg)}.notebook h3{margin:8px 0;font-size:20px;line-height:1.5}.notebook>p:not(.eyebrow){font-size:14px}.notebook-rule{border-top:1px dashed var(--line);align-items:center;gap:8px;margin-top:20px;padding-top:16px;display:flex}.notebook-rule svg{width:18px;height:18px}.stop-list{margin-top:12px;font-size:14px}.stop-item{align-items:center;gap:8px;padding:4px 0;display:flex}.stop-item .stop-marker{border:1.5px solid var(--green);border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;display:inline-flex}.stop-item.done{color:var(--green)}.stop-item.done .stop-marker{background:var(--green);color:var(--paper)}.quiet-note{color:var(--muted);margin:24px 0 16px;font-size:14px;line-height:1.85}.text-button{color:var(--muted);text-align:left;padding:4px 0;font-size:12px}.text-button span{margin-left:12px}footer{color:var(--muted);justify-content:space-between;gap:16px;padding:16px 0 20px;font-size:12px;display:flex}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.load-error{z-index:5;background:var(--paper);text-align:center;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:24px;display:flex;position:absolute;top:8px;bottom:8px;left:8px;right:8px}.load-error button,.noscript{background:var(--green);color:var(--paper);border-radius:8px;padding:12px 20px}.load-error[hidden]{display:none}.noscript{z-index:100;position:fixed;bottom:24px;left:16px;right:16px}dialog{background:var(--paper);color:var(--ink);overscroll-behavior:contain;border:0;border-radius:16px;width:calc(100% - 32px);max-width:480px;max-height:calc(100dvh - 40px);padding:24px 32px 32px;overflow:auto;box-shadow:0 12px 80px #303b2c44}dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#303b2c66}dialog[open]{animation:.22s ease-out dialog-in}.dialog-top{justify-content:space-between;align-items:center;gap:16px;margin-bottom:8px;display:flex}.dialog-top .icon-button{margin-right:-12px}dialog h2{margin-bottom:20px;font-size:24px;line-height:1.5}dialog p{font-size:16px;line-height:1.8}dialog p+p{margin-top:16px}.dialog-action{background:var(--green);width:100%;color:var(--paper);border-radius:12px;min-height:52px;margin-top:24px;padding:12px 16px;display:block;box-shadow:0 3px #303b2c}.dialog-action:hover:not(:disabled){background:#536c46}.dialog-secondary{border:1px solid #b4bba2;border-radius:12px;width:100%;margin-top:12px;padding:8px 12px;font-size:14px}.help-steps{counter-reset:step;margin:0;padding:0;list-style:none}.help-steps li{counter-increment:step;grid-template-columns:32px 1fr;gap:12px;margin-bottom:20px;font-size:16px;line-height:1.75;display:grid}.help-steps li:before{content:counter(step);width:28px;height:28px;color:var(--green);text-align:center;background:#e4e8d5;border-radius:50%}.help-foot{color:var(--muted);font-size:14px!important}.course-list{margin:0;padding:0;list-style:none}.course-list li+li{border-top:1px dashed var(--line)}.course-list button{text-align:left;border-radius:8px;align-items:center;gap:16px;width:100%;padding:16px 8px;display:flex}.course-list button[aria-current=true]{background:#e4e8d5}.course-list .course-index{color:var(--muted);font-size:20px}.course-list .course-text{flex:1}.course-list .course-text small{color:var(--muted);margin-top:3px;font-size:12px;display:block}.course-list .course-badge{color:var(--green);font-size:14px}.setting-row{text-align:left;border-bottom:1px dashed var(--line);justify-content:space-between;align-items:center;gap:16px;width:100%;padding:16px 0;display:flex}.setting-row span:first-child{flex:1}.setting-row small{color:var(--muted);margin-top:3px;font-size:12px;display:block}.toggle{background:#7a826b;border-radius:20px;flex-shrink:0;width:44px;height:26px;display:block;position:relative}.toggle:after{content:"";background:var(--paper);border-radius:50%;width:18px;height:18px;transition:transform .14s;position:absolute;top:4px;left:4px}.setting-row[aria-pressed=true] .toggle{background:var(--green)}.setting-row[aria-pressed=true] .toggle:after{transform:translate(18px)}.arrival-illustration{width:168px;height:120px;margin:-12px auto 8px;display:block}.arrival-stamp{letter-spacing:.15em;color:var(--green);text-align:center;border:2px solid var(--green);border-radius:50%;justify-content:center;align-items:center;width:84px;height:84px;margin:0 auto 24px;font-size:14px;display:flex;transform:rotate(-12deg)}.arrival-stats{border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);text-align:center;justify-content:center;gap:32px;margin-top:20px;padding:20px 0;display:flex}.arrival-stats strong{color:var(--green);font-variant-numeric:tabular-nums;font-size:28px;display:block}.arrival-stats span{color:var(--muted);font-size:12px}.hint-text{background:#eef0e1;border-radius:12px;padding:20px}.hint-count{color:var(--muted);margin-bottom:12px;font-size:12px!important}.demo-strip{background:var(--green);color:var(--paper);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;padding:10px 16px;font-size:14px;display:flex}.demo-strip button{color:var(--paper);white-space:nowrap;border:1px solid #fffcf588;border-radius:8px;min-height:40px;padding:4px 12px}.demo-strip[hidden]{display:none}.legal{color:var(--muted);font-size:12px!important}.legal a{color:inherit;text-underline-offset:3px}.step-tip{color:var(--muted);margin:16px 0;font-size:14px!important}@keyframes dialog-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (min-width:960px) and (min-height:760px){.header{padding:16px 0}.play-area{max-width:clamp(400px,86.67svh - 391.748px,560px)}.game-layout{grid-template-columns:minmax(0,620px) minmax(280px,1fr);gap:48px;margin-top:16px}.walk-notes{padding-bottom:0}.tagline{font-size:40px}.input-note{margin-top:12px}footer{padding-top:12px;padding-bottom:12px}}@media (max-width:1020px){.shell{padding:0 24px}.game-layout{gap:32px}.tagline{font-size:32px}.chapter-label{letter-spacing:.08em}.notebook{padding:24px 20px}.walk-notes{padding-bottom:0}}@media (max-width:760px){.shell{padding:0 max(16px,env(safe-area-inset-left))}.header{border-bottom:0;gap:8px;padding:12px 0}.brand{gap:8px}.brand-dog{width:42px;height:36px}.brand .eyebrow{letter-spacing:.06em;font-size:12px}h1{letter-spacing:0;font-size:14px;line-height:1.4}h1 span{display:block}.header-actions{gap:0}.header-actions .icon-button span{display:none}.header-actions .icon-button{width:44px;min-width:44px;min-height:44px;padding:8px}.game-layout{margin:4px 0 0;display:block}.play-area{max-width:430px}.walk-notes{display:none}.course-header{gap:8px;margin-bottom:10px}.course-button{gap:8px}.course-button>svg{width:20px;height:20px}.course-title{font-size:16px}.park-progress strong{font-size:20px}.park-progress>span,.park-progress small{font-size:12px}.progress-track{width:80px}.chevron{margin-left:4px}.board-frame{border-radius:14px;padding:6px}.board-frame:after{top:6px;bottom:6px;left:6px;right:6px}.map-caption{font-size:12px;bottom:10px;right:14px}.status-row{gap:6px;min-height:42px;font-size:12px}.status-row svg{width:16px;height:16px}.status-row>span{font-size:12px}.controls{gap:16px}.undo-button{font-size:14px}.minor-tools{gap:4px}.minor-tools button{gap:4px;font-size:12px}.minor-tools svg{width:16px;height:16px}.dpad-label{font-size:12px;bottom:72px;right:108px}.input-note{margin-top:12px;font-size:12px}.input-note span{padding:0 4px}kbd{display:none}footer{max-width:430px;padding:12px 0 max(12px,env(safe-area-inset-bottom));margin:auto;font-size:12px}dialog{padding:16px 24px 24px}.dialog-top{margin-bottom:4px}dialog h2{font-size:20px}.load-error{top:6px;bottom:6px;left:6px;right:6px}.progress-track i{transition-duration:.1s}}@media (max-width:360px){.shell{padding:0 12px}.brand-dog{display:none}.controls{gap:8px}.minor-tools button{white-space:normal;min-width:0;font-size:12px;line-height:1.5}.minor-tools svg{display:none}.tool-buttons{min-width:0}.dpad-label,.status-row>span{display:none}}@media (max-width:760px) and (max-height:740px) and (orientation:portrait){.play-area{max-width:min(430px,max(270px,86.67svh - 261.743px))}.course-header,.controls,.status-row{margin-left:calc(min(0px,max(135px,43.335svh - 130.872px) + -50vw + 16px));margin-right:calc(min(0px,max(135px,43.335svh - 130.872px) + -50vw + 16px))}.course-header{margin-bottom:8px}.input-note{display:none}footer{padding-top:8px}.map-caption{font-size:12px}}@media (max-height:520px) and (orientation:landscape){.header{padding:8px 0}.header .brand-dog{height:32px}.game-layout{margin:0;display:block}.play-area{grid-template-columns:minmax(220px,1fr) 240px;align-items:center;column-gap:24px;max-width:none;display:grid}.board-frame{grid-area:1/1/5;width:100%;max-width:calc(86.67svh - 86.67px);margin:auto}.course-header{grid-area:1/2}.status-row{grid-area:2/2}.controls{grid-area:3/2;gap:8px}.tool-buttons{max-width:80px}.undo-button{flex-direction:column;gap:0;padding:4px;font-size:12px}.undo-button svg{width:18px;height:18px}.minor-tools{margin-top:4px;display:block}.minor-tools button{width:100%;min-height:40px;font-size:12px}.minor-tools svg{display:none}.input-note{grid-area:4/2;margin:4px 0;font-size:12px}.dpad-label,.walk-notes,footer{display:none}.course-title{font-size:14px}.course-button>svg,.course-button .chevron,.status-row>span{display:none}dialog{max-height:calc(100dvh - 24px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (max-height:520px) and (orientation:landscape){kbd{display:none}.undo-button{height:48px;min-height:48px;font-size:12px;line-height:1.2}.minor-tools button{min-height:48px}.play-area{grid-template-columns:minmax(220px,1fr) 240px}.input-note{display:none}}html[data-reduced=true] *,html[data-reduced=true] :before,html[data-reduced=true] :after{transition:none!important;animation:none!important}
