@font-face{font-family: 'Anton';font-style: normal;font-weight: 400;font-display: block;src: url('assets/fonts/anton-latin.woff2') format('woff2');}@font-face{font-family: 'Inter';font-style: normal;font-weight: 100 900;font-display: swap;src: url('assets/fonts/inter-latin.woff2') format('woff2');}:root{--paper: #f5f2ea;--card: #fffdf7;--ink: #0f1f1a;--soft: #52645d;--line: #0f1f1a;--lime: #c9f558;--green: #2fbf5b;--on-green: #ffffff;--coral: #ff7a59;--locked: #d9d6cc;--shadow: #0f1f1a;--ease: cubic-bezier(0.2,0.8,0.2,1);color-scheme: light;}@media (prefers-color-scheme: dark){:root{--paper: #101a17;--card: #1a2622;--ink: #f0ece2;--soft: #9fb0a7;--line: #3a4a44;--locked: #2a3531;--shadow: #000;color-scheme: dark;}}*{box-sizing: border-box;}html{-webkit-text-size-adjust: 100%;}body{margin: 0;min-height: 100vh;min-height: 100dvh;background: var(--paper);background-image: radial-gradient(color-mix(in srgb,var(--ink) 9%,transparent) 1px,transparent 1.2px);background-size: 18px 18px;color: var(--ink);font: 16px/1.45 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing: antialiased;overflow-x: hidden;}button,input,textarea{font: inherit;color: inherit;}:focus-visible{outline: 3px solid var(--lime);outline-offset: 3px;}[hidden]{display: none !important;}.panel{--paper: #f5f2ea;--card: #fffdf7;--ink: #0f1f1a;--soft: #52645d;--line: #0f1f1a;--shadow: #0f1f1a;color: var(--ink);color-scheme: light;}@media (prefers-color-scheme: dark){.panel{--paper: #0e1117;--card: #171b24;--ink: #f0ece2;--soft: #9aa3b2;--line: #2c333f;--shadow: #04070a;}}.town{position: fixed;inset: 0;overflow: hidden;background: #427237 radial-gradient(85% 75% at 38% 45%,#698f57 35%,#427237);}@media (prefers-color-scheme: dark){.town{background: #253f31 radial-gradient(85% 75% at 38% 45%,#384d41 35%,#253f31);}}#town-canvas{position: absolute;inset: 0;width: 100%;height: 100%;image-rendering: pixelated;image-rendering: crisp-edges;filter: saturate(1.12) contrast(1.04);opacity: 0;transition: filter 4s,opacity 0.35s;}.town.live #town-canvas{opacity: 1;}.town:not(.live) .say,.town:not(.live) .go{visibility: hidden;}.lens{position: absolute;inset: 0;pointer-events: none;z-index: 2;}.lens i{position: absolute;left: 0;right: 0;display: block;}.lens-far,.lens-near{height: 26%;}.lens-far{top: 0;-webkit-mask-image: linear-gradient(#000 10%,transparent);mask-image: linear-gradient(#000 10%,transparent);}.lens-near{bottom: 0;-webkit-mask-image: linear-gradient(transparent,#000 90%);mask-image: linear-gradient(transparent,#000 90%);}@media (min-width: 960px){.lens-far,.lens-near{-webkit-backdrop-filter: blur(1.6px);backdrop-filter: blur(1.6px);}}.lens-vignette{inset: 0;background: radial-gradient(120% 95% at 50% 46%,transparent 58%,rgba(8,18,30,0.26) 100%);}.lens-sun{inset: 0;mix-blend-mode: soft-light;transition: opacity 4s;background: linear-gradient(160deg,rgba(255,214,140,0.34),rgba(255,214,140,0) 45%,rgba(40,70,140,0) 60%,rgba(40,70,140,0.22));}.lens-overcast{inset: 0;opacity: 0;transition: opacity 4s;background: linear-gradient(180deg,rgba(64,78,100,0.45),rgba(60,74,96,0.15) 55%,rgba(40,52,72,0.3));}.lens-fogbank{inset: 0;opacity: 0;transition: opacity 5s;background: linear-gradient(180deg,rgba(226,230,236,0.75),rgba(226,230,236,0.28) 40%,rgba(226,230,236,0) 62%,rgba(226,230,236,0.4));}body.wx-rain #town-canvas{filter: saturate(0.82) contrast(1.05) brightness(0.88) hue-rotate(-6deg);}body.wx-rain .lens-overcast{opacity: 1;}body.wx-rain .lens-sun{opacity: 0.1;}body.wx-fog .lens-fogbank{opacity: 1;}body.wx-fog #town-canvas{filter: saturate(0.86) contrast(0.96) brightness(1.02);}body.wx-fog .lens-sun{opacity: 0.3;}body.wx-heat #town-canvas{filter: saturate(1.08) contrast(1.03) brightness(1.03) sepia(0.06);}body.wx-cold #town-canvas{filter: saturate(0.94) contrast(1.04) brightness(0.99) hue-rotate(-5deg);}@media (prefers-color-scheme: dark){#town-canvas{filter: saturate(1.05) contrast(1.08);}.lens-sun{opacity: 0;}.lens-vignette{background: radial-gradient(120% 95% at 50% 46%,transparent 50%,rgba(4,8,22,0.45) 100%);}}body.cinema .lens-far,body.cinema .lens-near{-webkit-backdrop-filter: none;backdrop-filter: none;}.panel{position: fixed;z-index: 6;left: 0;right: 0;bottom: 0;max-height: 60vh;max-height: 60dvh;overflow: auto;overscroll-behavior: contain;padding: 10px max(16px,env(safe-area-inset-right)) calc(14px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background: var(--paper);background-image: radial-gradient(color-mix(in srgb,var(--ink) 9%,transparent) 1px,transparent 1.2px);background-size: 18px 18px;border-top: 3px solid var(--ink);border-radius: 22px 22px 0 0;}.panel::before{content: '';display: block;width: 44px;height: 5px;margin: 0 auto 8px;border-radius: 99px;background: color-mix(in srgb,var(--ink) 25%,transparent);}.sheet-head{display: flex;align-items: baseline;justify-content: space-between;gap: 12px;margin: 0 2px 12px;}.sheet-title{font: 20px/1 Anton,Impact,sans-serif;text-transform: uppercase;letter-spacing: 0.02em;}.sheet-step{font-size: 12px;font-weight: 700;text-transform: uppercase;letter-spacing: 0.08em;color: var(--soft);}.head{display: none;}body.kb .panel{padding-top: 8px;padding-bottom: 10px;}body.kb .panel::before{display: none;}body.kb .sheet-head{margin-bottom: 8px;}body.kb .panel .step{margin-bottom: 10px;}@media (max-width: 959px){body.top .panel{top: 0;bottom: auto;padding: calc(8px + env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) 10px max(14px,env(safe-area-inset-left));border-top: 0;border-bottom: 3px solid var(--ink);border-radius: 0 0 22px 22px;box-shadow: 0 6px 0 rgba(15,31,26,0.18);}body.top .panel::before,body.top .legal-links,body.top .status:empty,body.top .bar--top{display: none;}body.top .sheet-head{margin-bottom: 8px;}body.top .sheet-title{font-size: 17px;}body.top .panel .step{padding: 10px 12px;margin-bottom: 8px;box-shadow: 3px 3px 0 var(--shadow);}body.top .field input,body.top .field textarea{margin-top: 6px;padding: 9px 11px;}body.top .field textarea{height: 68px;min-height: 0;resize: none;}body.top .hint{margin-top: 4px;}body.top .status{margin: 0 0 8px;}body.top .nav-btn{padding: 8px 14px;}body.top .nav-hint{font-size: 12px;line-height: 1.25;}}@media (max-width: 959px){.panel{--pt: 10px;}body.top .panel{--pt: calc(8px + env(safe-area-inset-top));}body .panel.compact{padding-top: var(--pt);padding-bottom: 10px;}body .panel.compact::before,.panel.compact .sheet-head,.panel.compact .legal-links,body .panel.compact .status:empty,.panel.compact .nav-hint,.panel.compact .nav-word{display: none !important;}body .panel.compact .step{border: 0;background: none;box-shadow: none;padding: 0;margin: 0;}body .panel.compact .lbl{min-height: 34px;padding-right: 124px;line-height: 1.2;}body .panel.compact[data-stage="6"] .lbl{padding-right: 52px;}body .panel.compact .nav{position: absolute;top: var(--pt);right: max(14px,env(safe-area-inset-right));gap: 6px;}body .panel.compact .nav-btn{padding: 6px 11px;font-size: 13px;box-shadow: 2px 2px 0 var(--shadow);}body .panel.compact .field input,.panel.compact .field textarea{margin-top: 4px;padding: 9px 11px;}body .panel.compact .field textarea{height: 52px;min-height: 0;resize: none;}body .panel.compact .hint{margin-top: 4px;}body .panel.compact .status{margin: 6px 0 0;}}.panel[data-stage] .step,.panel[data-stage] .field{display: none;}.panel[data-stage="1"] [data-stage~="1"],.panel[data-stage="2"] [data-stage~="2"],.panel[data-stage="3"] [data-stage~="3"],.panel[data-stage="4"] [data-stage~="4"],.panel[data-stage="5"] [data-stage~="5"],.panel[data-stage="6"] [data-stage~="6"]{display: block;}.panel .step{margin-bottom: 12px;}@media (max-width: 959px){.panel[data-stage="1"] .step,.panel[data-stage="2"] .step{min-height: 150px;}.panel:not(.compact){min-height: 300px;}body.top .panel:not(.compact){min-height: 0;}body.top .panel[data-stage="1"] .step,body.top .panel[data-stage="2"] .step{min-height: 0;}body.top #days,body.top #times{min-height: 84px;}}.nav{display: flex;align-items: center;justify-content: space-between;gap: 10px;}.nav-btn{border: 2px solid var(--line);border-radius: 10px;background: var(--card);padding: 10px 14px;font-weight: 800;font-size: 14px;cursor: pointer;box-shadow: 2px 2px 0 var(--shadow);white-space: nowrap;}.nav-btn:disabled{opacity: 0.4;cursor: default;box-shadow: none;}.nav-btn--next{background: var(--ink);color: var(--paper);margin-left: auto;}.nav-hint{font-size: 13px;font-weight: 700;color: var(--soft);text-align: right;margin-left: auto;}.panel[data-stage="done"] .nav,.panel[data-stage="done"] .sheet-step{display: none;}.back{font-size: 13px;font-weight: 700;color: var(--soft);text-decoration: none;}.back:hover{color: var(--ink);}.head h1{font: 40px/0.98 Anton,Impact,sans-serif;text-transform: uppercase;letter-spacing: 0.01em;margin: 10px 0 8px;}.lede{margin: 0;color: var(--soft);font-size: 14px;max-width: 42ch;}.step{border: 2px solid var(--line);border-radius: 14px;background: var(--card);box-shadow: 4px 4px 0 var(--shadow);padding: 16px;margin: 0 0 18px;min-width: 0;}.step[disabled]{opacity: 0.55;}legend,.lbl{font-weight: 800;font-size: 15px;display: flex;align-items: center;gap: 8px;}legend{float: left;width: 100%;margin-bottom: 12px;padding: 0;}legend + *{clear: both;}.n{display: inline-grid;place-items: center;width: 22px;height: 22px;border-radius: 6px;flex: none;background: var(--ink);color: var(--paper);font: 13px/1 Anton,Impact,sans-serif;}.tz{margin-left: auto;font-weight: 600;font-size: 12px;color: var(--soft);}.muted{margin: 0;color: var(--soft);font-size: 14px;}.chips{display: flex;flex-wrap: wrap;gap: 8px;}.chip{border: 2px solid var(--line);background: var(--paper);border-radius: 10px;padding: 8px 11px;font-size: 14px;font-weight: 700;cursor: pointer;line-height: 1.15;transition: transform 0.12s var(--ease),box-shadow 0.12s var(--ease);box-shadow: 2px 2px 0 var(--shadow);}.chip small{display: block;font-weight: 600;font-size: 11px;color: var(--soft);text-transform: uppercase;letter-spacing: 0.06em;}.chip:hover{transform: translate(-1px,-1px);box-shadow: 3px 3px 0 var(--shadow);}.chip[aria-checked="true"]{background: var(--lime);color: #0f1f1a;}.chip[aria-checked="true"] small{color: #33443d;}.chip--ghost{text-align: center;cursor: default;pointer-events: none;box-shadow: none;color: transparent;background: color-mix(in srgb,var(--ink) 7%,transparent);border-color: color-mix(in srgb,var(--ink) 12%,transparent);animation: ghost 0.9s ease-in-out infinite alternate;}.chip--ghost small{color: transparent;}@keyframes ghost{to{opacity: 0.5;}}.sr{position: absolute;width: 1px;height: 1px;overflow: hidden;clip-path: inset(50%);white-space: nowrap;}.field{display: block;margin-bottom: 16px;}.field:last-of-type{margin-bottom: 0;}.field input,.field textarea{display: block;width: 100%;margin-top: 8px;padding: 11px 12px;border: 2px solid var(--line);border-radius: 10px;background: var(--paper);font-size: 16px;}.field textarea{resize: vertical;min-height: 96px;}.hint{min-height: 1.3em;line-height: 1.3;}#days,#times{min-height: 96px;align-content: flex-start;}.status{min-height: 1.4em;}.field input:focus,.field textarea:focus{outline: none;border-color: var(--ink);box-shadow: 0 0 0 3px var(--lime);}.field.ok input,.field.ok textarea{border-color: var(--green);}.hint{display: block;margin-top: 6px;font-size: 12px;color: var(--soft);}.hint.bad{color: var(--coral);font-weight: 700;}.field.bad input,.field.bad textarea{border-color: var(--coral);}.field.shake input{animation: shake 0.35s;}@keyframes shake{20%,60%{transform: translateX(-6px);}40%,80%{transform: translateX(6px);}}.trap{position: absolute;left: -9999px;width: 1px;height: 1px;overflow: hidden;}.say{position: absolute;left: 0;top: 0;z-index: 4;margin: 0;max-width: min(250px,66vw);text-align: center;line-height: 1.3;background: #fffdf7;color: #0f1f1a;border: 2px solid #0f1f1a;border-radius: 10px;padding: 4px 10px;font-size: 13px;font-weight: 700;box-shadow: 2px 2px 0 #0f1f1a;transition: opacity 0.2s;will-change: transform;pointer-events: none;}.hud{position: absolute;left: 10px;top: 10px;z-index: 3;margin: 0;background: rgba(15,31,26,0.82);color: #f5f2ea;border-radius: 99px;padding: 5px 11px;font-size: 12px;font-weight: 700;letter-spacing: 0.01em;}.go{position: absolute;left: 0;top: 0;z-index: 3;height: 40px;padding: 0 14px;border: 2px solid #0f1f1a;border-radius: 10px;cursor: not-allowed;background: #d9d6cc;color: #52645d;font: 17px/1 Anton,Impact,sans-serif;letter-spacing: 0.04em;text-transform: uppercase;display: inline-flex;align-items: center;gap: 6px;white-space: nowrap;box-shadow: 3px 3px 0 #0f1f1a;transform-origin: 50% 100%;will-change: transform;}.go .lock{font-size: 13px;}.go.ready{background: var(--green);color: var(--on-green);cursor: pointer;}.go.ready .lock{display: none;}.go.ready:hover{filter: brightness(1.06);}.go.ready:active{box-shadow: 1px 1px 0 #0f1f1a;}.go.busy{cursor: progress;opacity: 0.85;}.go.carried{pointer-events: none;box-shadow: 3px 7px 0 rgba(15,31,26,0.55);}.go:focus-visible{outline: 3px solid var(--lime);outline-offset: 3px;}.status{min-height: 1.4em;margin: 0 0 16px;font-size: 14px;font-weight: 600;color: var(--coral);}.bar{position: absolute;left: 0;right: 0;height: 0;z-index: 7;background: #04070a;transition: height 1.1s cubic-bezier(0.2,0.8,0.2,1);}.bar--top{top: 0;}.bar--bottom{bottom: 0;}body.cinema .bar{height: 11vh;}body.cinema .hud{opacity: 0;transition: opacity 0.6s;}.panel{transition: opacity 0.9s;}body.cinema .panel{opacity: 0.38;}body.cinema .panel:hover,body.cinema .panel:focus-within,body.cinema .panel[data-stage="done"]{opacity: 1;}body.cinema .go.ready{animation: beacon 1.6s ease-in-out infinite;}@keyframes beacon{0%,100%{box-shadow: 3px 3px 0 #0f1f1a,0 0 0 5px rgba(201,245,88,0.35),0 0 34px 8px rgba(201,245,88,0.55);filter: brightness(1);}50%{box-shadow: 3px 3px 0 #0f1f1a,0 0 0 8px rgba(201,245,88,0.5),0 0 60px 18px rgba(201,245,88,0.8);filter: brightness(1.2);}}.done{text-align: center;border: 2px solid var(--line);border-radius: 16px;background: var(--card);box-shadow: 5px 5px 0 var(--shadow);padding: 28px 18px 24px;margin: 0 0 32px;animation: pop 0.5s var(--ease);}.done h2{font: 34px/1 Anton,Impact,sans-serif;text-transform: uppercase;margin: 0 0 10px;}.done .when{font-weight: 800;font-size: 18px;margin: 0 0 6px;}.done p{margin: 0 0 6px;color: var(--soft);}.actions{display: flex;flex-wrap: wrap;justify-content: center;gap: 10px;margin-top: 16px;}.btn{display: inline-block;padding: 10px 14px;border: 2px solid var(--line);border-radius: 10px;background: var(--paper);color: var(--ink);text-decoration: none;font-weight: 800;font-size: 14px;box-shadow: 3px 3px 0 var(--shadow);}.btn--zoom{background: #2d8cff;color: #fff;}.btn:active{transform: translate(2px,2px);box-shadow: 1px 1px 0 var(--shadow);}@keyframes pop{0%{transform: scale(1);}40%{transform: scale(1.06);}100%{transform: scale(1);}}@media (min-width: 960px){.panel{top: 50%;right: 32px;left: auto;bottom: auto;transform: translateY(-50%);width: min(500px,36vw);max-height: calc(100vh - 56px);padding: 26px 26px 20px;background-color: color-mix(in srgb,var(--paper) 90%,transparent);-webkit-backdrop-filter: blur(14px) saturate(1.2);backdrop-filter: blur(14px) saturate(1.2);border: 2px solid var(--line);border-radius: 18px;box-shadow: 6px 6px 0 var(--shadow);scrollbar-width: thin;}.panel::before,.sheet-head,.nav{display: none;}.head{display: block;margin-bottom: 16px;}.panel[data-stage] .step,.panel[data-stage] .field{display: block;}.panel .step{background: color-mix(in srgb,var(--card) 88%,transparent);padding: 16px;margin-bottom: 14px;}.hud{left: 16px;top: 16px;font-size: 13px;padding: 7px 13px;}.say{font-size: 14px;padding: 5px 12px;}.go{height: 46px;font-size: 20px;padding: 0 16px;}.step--you{display: grid;grid-template-columns: 1fr 1fr;gap: 14px 12px;}.step--you .field{margin: 0;}.field--wide{grid-column: 1 / -1;}.field textarea{min-height: 72px;resize: none;}#days,#times{min-height: 84px;}.done{margin: 0;}}@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation: none !important;transition: none !important;}}.legal-links{display: flex;justify-content: center;gap: 16px;flex-wrap: wrap;margin: 32px 0 8px;font-size: 12px;}.legal-links a{color: var(--soft);}