@font-face{font-family:Bricolage Grotesque;src:url(./bricolage-latin-DLoelf7F.woff2) format("woff2");font-style:normal;font-weight:400 700;font-display:swap}@font-face{font-family:DM Sans;src:url(./dm-sans-latin-Xz1IZZA0.woff2) format("woff2");font-style:normal;font-weight:400 700;font-display:swap}:root{--cream-50: #fffdf7;--cream-100: #f7f4ec;--cream-200: #eee9dd;--cream-300: #dcd8cc;--ink-600: #65695e;--ink-900: #303b32;--orange-500: #e87a49;--orange-600: #e07345;--sage-100: #e9eddf;--sage-600: #667551;--page: var(--cream-100);--surface: var(--cream-50);--surface-muted: var(--cream-200);--text: var(--ink-900);--text-secondary: var(--ink-600);--border: var(--cream-300);--accent: var(--orange-500);--accent-hover: var(--orange-600);--focus: #374d79;--selected: var(--sage-100);--status: var(--sage-600);--font-body: "DM Sans", sans-serif;--font-display: "Bricolage Grotesque", sans-serif;--text-small: .875rem;--text-body: 1rem;--text-lead: 1.125rem;--text-title: 1.5rem;--text-section: 2rem;--text-display: 3rem;color:var(--text);font-family:var(--font-body);font-size:16px;font-weight:400;background:var(--page);font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0}button,a,select{-webkit-tap-highlight-color:transparent}button,select{font:inherit;color:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default}button{border:0}a{color:inherit;text-decoration:none}p,h1,h2,h3{margin:0}p{line-height:1.6;text-wrap:pretty}h1,h2,h3{font-family:var(--font-display);font-weight:600;text-wrap:balance}h1{font-size:var(--text-display);line-height:1.1;letter-spacing:-.045em}h2{font-size:var(--text-section);line-height:1.2;letter-spacing:-.035em}h3{font-size:var(--text-lead);line-height:1.4;letter-spacing:-.015em}svg{flex-shrink:0;vertical-align:middle}button:focus-visible,a:focus-visible,select:focus-visible,canvas:focus-visible{outline:3px solid var(--focus);outline-offset:4px}::selection{color:var(--surface);background:var(--text)}section{scroll-margin-top:24px}.page-width{width:min(1184px,calc(100% - 96px));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:16px;background:var(--text);color:var(--surface);padding:14px 20px;z-index:100}.skip-link:focus{top:12px}.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:104px;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:var(--text-title);font-weight:700;line-height:1.1;letter-spacing:-.04em}.brand-sub{display:block;font-family:var(--font-body);font-size:var(--text-small);font-weight:400;letter-spacing:0;margin-top:4px;color:var(--text-secondary)}.site-header nav{display:flex;gap:36px;font-size:var(--text-small);font-weight:600}.site-header nav a{display:inline-flex;align-items:center;min-height:44px;position:relative}.nav-ride:after{content:"";position:absolute;bottom:4px;left:0;right:0;height:2px;background:var(--text)}.header-tools{display:flex;gap:8px}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:44px;min-height:44px;padding:10px;background:transparent;border-radius:50%;flex-shrink:0}.icon-button:disabled{opacity:.35}.ride-section{padding-top:40px}.intro{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px}.intro h1 span{color:#8b5438}.intro p{font-size:var(--text-body);color:var(--text-secondary);margin-top:12px}.personal-best{display:flex;align-items:center;gap:14px;flex-shrink:0;font-size:var(--text-small);color:var(--text-secondary);padding-inline-start:24px;border-inline-start:1px solid var(--border)}.personal-best>svg{color:#936e3d}.personal-best strong{display:block;font-size:var(--text-title);font-family:var(--font-display);font-weight:600;color:var(--text);line-height:1.4;font-variant-numeric:tabular-nums}.personal-best strong span{font-size:var(--text-body);font-family:var(--font-body);font-weight:400;color:var(--text-secondary)}.game-shell{border:1px solid #64715e;border-radius:14px;background:var(--surface);isolation:isolate}.game-stage{height:440px;position:relative;border-radius:13px 13px 0 0;overflow:hidden;background:#e5eee6}.game-stage canvas{display:block;width:100%;height:100%;touch-action:manipulation}.game-stage canvas:focus-visible{outline:none}.game-shell:has(canvas:focus-visible){outline:3px solid var(--focus);outline-offset:4px}.scene-top{position:absolute;top:22px;left:26px;right:22px;display:flex;justify-content:space-between;align-items:center;gap:12px;pointer-events:none}.location{display:flex;align-items:center;gap:8px;font-size:var(--text-small);font-weight:600;color:#3d4f40}.location-night{color:#f6eedc}.hud{display:flex;align-items:center;gap:20px;padding:3px 5px 3px 18px;border-radius:8px;color:var(--text);background:#faf6e9;font-size:var(--text-small);font-variant-numeric:tabular-nums}.hud strong{font-weight:600}.distance strong{font-size:var(--text-lead)}.cheese-count{display:flex;gap:7px;align-items:center}.scene-pause{pointer-events:auto;border-radius:5px;width:44px;min-height:44px;padding:12px}.start-overlay{position:absolute;top:30%;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;min-width:270px;text-align:center}.start-button{min-width:184px}.primary-button{display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:12px 23px;background:var(--accent);color:#252a21;border-radius:7px;font-size:var(--text-body);font-weight:600;line-height:1.5}.secondary-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border:1px solid var(--border);border-radius:7px;background:var(--surface);font-weight:600}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:transparent;min-height:44px;padding:8px 0;font-size:var(--text-small);font-weight:600;line-height:1.5}.text-button:disabled{color:var(--text-secondary);opacity:.6}.game-controls{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:13px 24px;min-height:72px;border-top:1px solid #b7b9a5;border-radius:0 0 13px 13px}.game-controls p{font-size:var(--text-small);display:flex;flex-wrap:wrap;align-items:center;gap:5px;color:var(--text-secondary)}.desktop-directions{display:inline-flex;gap:6px;align-items:center}.touch-directions{display:none}kbd{display:inline-block;font-family:var(--font-body);font-size:var(--text-small);font-weight:600;line-height:1.5;background:var(--surface-muted);border:1px solid var(--border);border-radius:4px;padding:2px 7px;color:var(--text)}.instruction-divider{margin-inline:9px;color:#828779}.jump-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;min-height:44px;background:var(--surface);border:1px solid var(--border);border-radius:6px;font-size:var(--text-small);font-weight:600}.jump-button:disabled{color:var(--text-secondary);background:var(--page)}.game-footnote{display:flex;justify-content:space-between;gap:20px;margin-top:13px;font-size:var(--text-small);color:var(--text-secondary)}.game-footnote>span:first-child{display:flex;align-items:center;gap:8px}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--status);flex-shrink:0}.state-scrim{position:absolute;inset:0;background:#f3eedde8;display:flex;align-items:center;justify-content:center;padding:24px}.state-content{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px}.state-content>svg{color:#896842;margin-bottom:2px}.state-content h2{font-size:var(--text-section)}.state-content p{font-size:var(--text-body);color:var(--text-secondary)}.state-content .primary-button{margin-top:7px}.state-content .text-button{margin-top:-6px}.result-cheese{display:flex;align-items:center;gap:7px;font-size:var(--text-small);color:var(--text-secondary)}.trails-section{margin-top:58px}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}.section-heading p{margin-top:9px;font-size:var(--text-small);color:var(--text-secondary)}.section-number{font-size:var(--text-small);color:var(--text-secondary);padding-top:10px;white-space:nowrap}.trail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.trail-card{display:block;text-align:start;border-radius:10px;border:1px solid var(--border);background:transparent;padding:0;min-width:0;color:var(--text)}.trail-card.selected{border-color:#727e60;background:var(--selected)}.trail-card:disabled{cursor:default}.trail-image{position:relative;height:130px;border-radius:9px 9px 0 0;overflow:hidden}.trail-art{display:block;width:100%;height:100%}.trail-number{position:absolute;top:12px;left:15px;font-size:var(--text-small);font-weight:600;color:#3e4a3b;background:#f7f4ecdd;border-radius:3px;padding:1px 5px}.selected-mark{position:absolute;right:12px;top:12px;display:flex;align-items:center;gap:5px;font-size:var(--text-small);background:var(--text);color:var(--surface);border-radius:4px;padding:4px 8px}.trail-details{padding:18px 20px}.trail-title-row{display:flex;justify-content:space-between;gap:12px;align-items:center}.trail-title-row h3{font-size:var(--text-lead)}.trail-details p{font-size:var(--text-small);color:var(--text-secondary);margin-top:4px}.trail-difficulty{display:flex;align-items:center;gap:8px;font-size:var(--text-small);margin-top:17px;color:var(--text-secondary)}.difficulty-dots{display:flex;gap:3px}.difficulty-dots i{display:block;width:5px;height:5px;border-radius:50%;background:#d0d2c5}.difficulty-dots i:first-child,.level-1 i:nth-child(2),.level-2 i{background:var(--text-secondary)}.field-guide{display:grid;grid-template-columns:1fr 1.5fr;gap:70px;margin-top:64px;padding:44px 48px;background:var(--surface-muted);border-radius:12px}.guide-sketch{display:block;color:#798365;margin-bottom:16px}.guide-intro h2{max-width:280px}.guide-intro p{font-size:var(--text-small);color:var(--text-secondary);margin-top:12px}.guide-items{display:flex;flex-direction:column;gap:26px}.guide-items>div{display:flex;align-items:flex-start;gap:18px}.guide-icon{padding-top:3px;color:#6d7459}.guide-items h3{font-size:var(--text-body);font-weight:600}.guide-items p{font-size:var(--text-small);color:var(--text-secondary);margin-top:5px;max-width:52ch}.log-section{margin-block:64px 60px}.log-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.log-filters{display:flex;gap:18px}.log-filters label{display:flex;align-items:center;gap:10px;font-size:var(--text-small);color:var(--text-secondary)}select{background:var(--page);padding:10px 32px 10px 12px;min-height:44px;border:1px solid var(--border);border-radius:6px;font-size:var(--text-small);max-width:100%;color:var(--text)}.log-actions{display:flex;gap:14px;align-items:center}.log-empty{display:flex;align-items:center;gap:20px;border-block:1px solid var(--border);min-height:144px;padding:24px}.empty-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--surface-muted);color:#7a795e;flex-shrink:0}.log-empty p{font-size:var(--text-small);color:var(--text-secondary);margin-top:4px}.log-empty>a{margin-inline-start:auto;white-space:nowrap}.log-table-wrap{width:100%}table{width:100%;border-collapse:collapse;font-size:var(--text-small);font-variant-numeric:tabular-nums;text-align:start}th{font-weight:600;color:var(--text-secondary);background:var(--surface-muted)}th,td{padding:15px 18px;border-bottom:1px solid var(--border);text-align:start}th:not(:first-child),td:not(:first-child){text-align:end;white-space:nowrap}.log-trail-icon{display:inline-flex;margin-inline-end:10px;color:var(--text-secondary)}.site-footer{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:100px;border-top:1px solid var(--border);font-size:var(--text-small);color:var(--text-secondary)}.footer-brand{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--text)}.footer-brand .mouse-mark{width:28px;height:28px}.site-footer>.text-button{color:var(--text)}dialog{max-width:480px;width:calc(100% - 32px);max-height:calc(100dvh - 48px);overflow:auto;overscroll-behavior:contain;background:var(--surface);color:var(--text);border:0;border-radius:14px;padding:28px;box-shadow:0 16px 70px #1c2c3033}dialog::backdrop{background:#24352b80;backdrop-filter:blur(3px)}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.dialog-header h2{font-size:var(--text-title)}dialog p{font-size:var(--text-body);color:var(--text-secondary)}.shortcuts{margin-block:22px}.shortcuts>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-block:12px;border-bottom:1px solid var(--border);font-size:var(--text-small)}dt{font-weight:600}dd{margin:0;text-align:end;color:var(--text-secondary)}dialog .dialog-note{font-size:var(--text-small);margin-bottom:24px}.dialog-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}@media(hover:hover){.icon-button:not(:disabled):hover{background:var(--surface-muted)}.site-header nav a:hover,.text-button:not(:disabled):hover{color:#985335}.primary-button:hover{background:var(--accent-hover);color:#252a21}.secondary-button:hover,.jump-button:not(:disabled):hover{background:var(--surface-muted)}.trail-card:not(:disabled):hover{border-color:#727e60;background:var(--selected)}}@media(prefers-reduced-motion:no-preference){button,a{transition:background-color .12s,color .12s,transform .12s,border-color .12s}button:not(:disabled):active{transform:scale(.96)}}@media(max-width:1120px){:root{--text-display: 2.5rem}.page-width{width:calc(100% - 64px)}.site-header nav{gap:28px}.game-stage{height:400px}.personal-best{padding-inline-start:18px;gap:10px}.field-guide{gap:44px;padding:36px}.log-empty>a{white-space:normal}.trail-details{padding:16px}}@media(max-width:820px){.site-header{min-height:88px}.site-header nav{gap:20px}.brand{font-size:var(--text-lead)}.brand-sub{font-size:var(--text-small)}.intro{flex-wrap:wrap;gap:12px}.personal-best{border-inline-start:0;padding-inline-start:0;gap:8px}.personal-best strong{display:inline;margin-inline-start:6px;font-size:var(--text-small)}.personal-best strong span{font-size:inherit}.intro h1{max-width:600px}.field-guide{gap:30px;grid-template-columns:1fr 1.4fr;padding:30px}.guide-intro h2{font-size:var(--text-title)}.guide-items>div{gap:12px}.section-number{display:none}.trail-grid{gap:12px}.trail-details{padding:14px}.trail-title-row h3{font-size:var(--text-body)}.trail-image{height:110px}.trail-details p{min-height:44px}.trail-difficulty{margin-top:12px;gap:6px}.log-toolbar{align-items:flex-end}.log-filters label{align-items:flex-start;flex-direction:column;gap:5px}.log-empty{flex-wrap:wrap}.log-empty>a{margin-inline-start:76px}.site-footer>span{display:none}}@media(max-width:600px){:root{--text-display: 2rem;--text-section: 1.5rem}.page-width{width:calc(100% - 32px)}.site-header{min-height:82px;gap:12px}.brand{font-size:var(--text-lead);gap:7px}.brand .mouse-mark{width:36px;height:36px}.brand-sub{margin-top:3px}.site-header nav{display:none}.header-tools{gap:2px}.ride-section{padding-top:25px}.intro{margin-bottom:21px}.intro h1{font-size:var(--text-display);letter-spacing:-.04em;max-width:355px}.intro p{font-size:var(--text-small);max-width:315px;margin-top:9px;line-height:1.6}.game-stage{height:330px}.scene-top{top:14px;left:15px;right:10px;gap:8px;align-items:flex-start}.location{font-size:var(--text-small);gap:5px;max-width:130px;line-height:1.4}.location>svg{display:none}.hud{gap:10px;padding-left:10px;font-size:var(--text-small)}.distance strong{font-size:var(--text-body)}.scene-pause{width:44px;min-height:44px;padding:12px}.cheese-count{gap:4px}.cheese-count>svg{width:16px;height:16px}.start-overlay{top:20%;min-width:260px}.game-controls{padding:11px 13px;gap:10px;min-height:72px;align-items:center}.game-controls p{display:block;font-size:var(--text-small);line-height:1.5;max-width:220px}.desktop-directions{display:none}.touch-directions,.double-hint{display:block}.jump-button{padding:10px 12px;gap:5px}.game-footnote{margin-top:12px;display:block;font-size:var(--text-small);line-height:1.6}.game-footnote>span:last-child{display:block;margin-top:2px;padding-inline-start:14px}.trails-section{margin-top:38px}.section-heading{margin-bottom:19px}.section-heading p{font-size:var(--text-small);max-width:310px;margin-top:7px}.trail-grid{grid-template-columns:1fr;gap:12px}.trail-card{display:grid;grid-template-columns:116px 1fr;min-height:130px}.trail-image{height:100%;min-height:130px;border-radius:9px 0 0 9px}.trail-art{position:absolute;inset:0;width:100%;height:100%}.trail-number{left:10px;top:9px}.selected-mark{inset:auto auto 8px 9px;padding:3px 5px;font-size:var(--text-small);gap:3px}.trail-details{padding:15px 16px}.trail-details p{min-height:0;line-height:1.5;margin-top:5px}.trail-title-row h3{font-size:var(--text-lead)}.trail-title-row>svg{display:none}.trail-difficulty{margin-top:13px}.field-guide{display:block;margin-top:38px;padding:25px 22px}.guide-intro{margin-bottom:26px}.guide-sketch{float:right;margin:0 0 0 14px}.guide-sketch svg{width:46px;height:46px}.guide-intro h2{max-width:240px}.guide-intro p{margin-top:7px}.guide-items{gap:23px}.guide-items>div{gap:14px}.guide-items p{font-size:var(--text-small)}.log-section{margin-block:38px 36px}.log-toolbar{flex-wrap:wrap;gap:12px;margin-bottom:16px}.log-filters{width:100%;display:grid;grid-template-columns:1.15fr 1fr;gap:12px}.log-filters label{min-width:0}.log-filters select{width:100%}.log-actions{width:100%;justify-content:space-between}.log-empty{padding:22px 0;gap:14px;align-items:flex-start;flex-wrap:wrap}.empty-icon{width:44px;height:44px}.log-empty>div{flex:1;min-width:200px}.log-empty h3{font-size:var(--text-body)}.log-empty>a{margin-inline-start:58px;min-height:32px}.log-trail-icon{display:none}th,td{padding:12px 8px;font-size:var(--text-small)}th:first-child,td:first-child{padding-inline-start:0}th:last-child,td:last-child{padding-inline-end:0}.log-table-wrap td:first-child{max-width:130px}.site-footer{min-height:88px;gap:12px}.footer-brand{font-size:var(--text-small);gap:5px}.footer-brand .mouse-mark{width:24px;height:24px}.state-scrim{padding:20px}.state-content{gap:10px}.state-content h2{font-size:var(--text-title)}dialog{padding:22px}.dialog-actions{flex-wrap:wrap}.shortcuts>div{align-items:flex-start}.shortcuts dd{max-width:175px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}@media(forced-colors:active){.game-shell:focus-within{outline:3px solid Highlight;outline-offset:4px}button,a,select,canvas{forced-color-adjust:auto}:focus-visible{outline-color:Highlight}.trail-card.selected{outline:2px solid Highlight}.primary-button{border:1px solid ButtonText}.game-stage{border:1px solid CanvasText}}
