:root{--night: #0b1026;--panel: rgba(16, 22, 52, .82);--panel-solid: #161d44;--ink: #f4f1e8;--warm: #ffd27a;--warm-deep: #ffb347;--go: #3ee07a;--stop: #ff5a5a;--line: rgba(255, 255, 255, .16);--font: "Nunito", "Arial Rounded MT Bold", system-ui, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;background:var(--night);color:var(--ink);font-family:var(--font);user-select:none;-webkit-user-select:none;overscroll-behavior:none}#stage,#stage canvas{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;touch-action:none}.hidden{display:none!important}button{font-family:inherit;color:inherit;border:none;cursor:pointer;touch-action:manipulation}#topbar{position:fixed;top:0;left:0;right:0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;pointer-events:none;z-index:10}#topbar>*{pointer-events:auto}.topbar-right{display:flex;gap:10px}.round-btn{width:60px;height:60px;border-radius:50%;background:var(--panel);border:2px solid var(--line);display:grid;place-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:transform .12s ease}.round-btn:active{transform:scale(.92)}.round-btn svg{width:30px;height:30px}.round-btn.off{opacity:.5}#steps{display:flex;gap:8px;padding:8px;border-radius:22px;background:var(--panel);border:2px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);max-width:calc(100vw - 240px);overflow:hidden}#steps:empty{display:none}.step{position:relative;width:84px;padding:8px 4px 6px;border-radius:16px;text-align:center;font-size:14px;font-weight:800;line-height:1.1;opacity:.45;border:3px solid transparent;transition:opacity .3s,border-color .3s,background .3s}.step svg{width:38px;height:38px;display:block;margin:0 auto 4px}.step.current{opacity:1;border-color:var(--warm);background:#ffd27a24;animation:stepPulse 1.8s ease-in-out infinite}.step.done{opacity:.8}.step.done:after{content:"";position:absolute;top:-6px;right:-6px;width:26px;height:26px;border-radius:50%;background:var(--go) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='%230b1026' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/18px no-repeat}.step-word{display:block}@keyframes stepPulse{0%,to{box-shadow:0 0 #ffd27a00}50%{box-shadow:0 0 18px 2px #ffd27a73}}#caption{position:fixed;left:50%;bottom:22px;transform:translate(-50%);max-width:min(92vw,760px);padding:14px 26px;border-radius:28px;background:var(--panel);border:2px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:clamp(22px,3.4vw,34px);font-weight:900;text-align:center;line-height:1.2;z-index:12;pointer-events:none;animation:captionIn .35s ease}@keyframes captionIn{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}#overlay{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:11}#overlay>*{pointer-events:auto}.choice-row{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;gap:18px;flex-wrap:wrap;justify-content:center;width:min(96vw,980px);animation:popIn .35s ease}.choice{width:170px;padding:14px 10px 16px;border-radius:28px;background:var(--panel);border:3px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:22px;font-weight:900;transition:transform .12s ease,border-color .2s}.choice-row.bulbs{width:min(96vw,600px)}.choice img{border-radius:18px}.choice:hover{border-color:var(--warm)}.choice:active{transform:scale(.94)}.choice img,.choice .choice-art{display:block;width:130px;height:130px;margin:0 auto 8px;object-fit:contain}.choice .choice-art svg{width:100%;height:100%}.choice.picked{border-color:var(--warm);box-shadow:0 0 30px #ffd27a80}@keyframes popIn{0%{opacity:0;transform:translate(-50%,-46%) scale(.92)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.big-action{position:absolute;padding:18px 30px;border-radius:999px;font-size:28px;font-weight:900;background:var(--warm);color:#2a1a00;box-shadow:0 6px #b77b1c,0 0 30px #ffd27a99;transition:transform .1s}.big-action:active{transform:translateY(4px);box-shadow:0 2px #b77b1c}.bottom-actions{position:absolute;right:18px;bottom:110px;display:flex;flex-direction:column;gap:12px}.pill-btn{display:flex;align-items:center;gap:10px;padding:12px 20px 12px 14px;border-radius:999px;background:var(--panel);border:2px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:20px;font-weight:900}.pill-btn svg{width:30px;height:30px}.pill-btn:active{transform:scale(.95)}.hint-ring{position:absolute;width:130px;height:130px;margin:-65px 0 0 -65px;border-radius:50%;border:5px solid var(--warm);pointer-events:none!important;animation:ringPulse 1.6s ease-out infinite}@keyframes ringPulse{0%{transform:scale(.7);opacity:.9}to{transform:scale(1.25);opacity:0}}.hint-turn{position:absolute;width:300px;height:300px;margin:-150px 0 0 -150px;pointer-events:none!important;animation:spinHint 3s linear infinite;opacity:.85}.hint-turn.reverse{animation-direction:reverse}.hint-turn.reverse svg{transform:scaleX(-1)}.hint-turn svg{width:100%;height:100%}@keyframes spinHint{to{transform:rotate(360deg)}}.counter{position:absolute;left:18px;bottom:110px;display:flex;align-items:center;gap:10px;padding:10px 20px 10px 14px;border-radius:999px;background:var(--panel);border:2px solid var(--line);font-size:30px;font-weight:900;pointer-events:none!important}.counter svg{width:44px;height:30px}.turn-dots{position:absolute;left:50%;bottom:110px;transform:translate(-50%);display:flex;gap:10px;pointer-events:none!important}.turn-dots span{width:22px;height:22px;border-radius:50%;border:3px solid var(--warm);transition:background .2s}.turn-dots span.on{background:var(--warm);box-shadow:0 0 12px var(--warm)}.wire-box{position:absolute;left:50%;top:54%;transform:translate(-50%,-50%);width:min(94vw,720px);aspect-ratio:720 / 520;max-height:74vh;border-radius:30px;background:linear-gradient(#2b3350,#1d2340);border:6px solid #5d6788;box-shadow:0 20px 60px #0009,inset 0 0 40px #00000080;animation:popIn .35s ease;touch-action:none}.wire-box svg{width:100%;height:100%;display:block;touch-action:none}#home{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4vh;padding:16px;background:radial-gradient(ellipse at 50% 120%,rgba(255,179,71,.18),transparent 60%)}.title{margin:0;font-size:clamp(48px,9vw,96px);font-weight:900;letter-spacing:1px;text-shadow:0 4px 30px rgba(0,0,0,.6)}.title .glow{color:var(--warm);text-shadow:0 0 24px rgba(255,200,100,.9),0 0 60px rgba(255,160,60,.6)}.cards{display:flex;gap:clamp(12px,3vw,32px);flex-wrap:wrap;justify-content:center}.card{width:clamp(150px,26vw,250px);padding:22px 14px;border-radius:34px;background:var(--panel);border:3px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .15s ease,border-color .2s,box-shadow .2s}.card:hover{border-color:var(--warm);box-shadow:0 0 40px #ffd27a59}.card:active{transform:scale(.95)}.card-icon{width:70%;aspect-ratio:1;margin:0 auto 10px}.card-icon svg{width:100%;height:100%}.card-label{font-size:clamp(20px,2.6vw,28px);font-weight:900;line-height:1.15}@media(max-width:640px){#steps{max-width:calc(100vw - 100px)}.step{width:64px;font-size:12px}.step svg{width:30px;height:30px}.round-btn{width:50px;height:50px}.topbar-right{flex-direction:column}.choice{width:140px;font-size:18px}.choice img,.choice .choice-art{width:100px;height:100px}}.card.primary{width:clamp(220px,34vw,340px);padding:28px 18px}.card.primary .card-label{font-size:clamp(26px,3.4vw,38px)}.side-cards{display:flex;flex-direction:column;gap:clamp(12px,2vw,20px)}.card.small{width:clamp(150px,20vw,210px);padding:12px 12px 14px;display:flex;align-items:center;gap:10px}.card.small .card-icon{width:54px;margin:0;flex:none}.card.small .card-label{font-size:clamp(17px,2vw,22px);text-align:left}@media(max-width:640px){.side-cards{flex-direction:row}}#fade{position:fixed;top:0;right:0;bottom:0;left:0;background:#05070f;opacity:0;pointer-events:none;transition:opacity .35s ease;z-index:50}#fade.on{opacity:1;pointer-events:auto}.step.tappable{cursor:pointer}.step.tappable:active{transform:scale(.94)}.nav-col{position:absolute;left:16px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:12px}.nav-btn{width:96px;padding:10px 6px 8px;border-radius:22px;background:var(--panel);border:3px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:16px;font-weight:900;line-height:1.1;transition:transform .12s,border-color .2s}.nav-btn svg{width:46px;height:46px;display:block;margin:0 auto 4px}.nav-btn:active{transform:scale(.93)}.nav-btn.active{border-color:var(--warm);background:#ffd27a29}.nav-btn.nudge{border-color:var(--warm);animation:stepPulse 1.2s ease-in-out infinite}.dimmer{position:absolute;right:16px;top:50%;transform:translateY(-50%);width:84px;padding:12px 0 10px;border-radius:28px;background:var(--panel);border:2px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;flex-direction:column;align-items:center;gap:6px;font-size:15px;font-weight:900;animation:popIn2 .35s ease}.dimmer svg{width:34px;height:34px}.dimmer .track{width:60px;height:230px;position:relative}.dimmer input[type=range]{position:absolute;left:50%;top:50%;width:230px;height:60px;margin:0;transform:translate(-50%,-50%) rotate(-90deg);background:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;touch-action:none}.dimmer input[type=range]::-webkit-slider-runnable-track{height:16px;border-radius:8px;background:linear-gradient(90deg,#1b2040,#ffd27a)}.dimmer input[type=range]::-moz-range-track{height:16px;border-radius:8px;background:linear-gradient(90deg,#1b2040,#ffd27a)}.dimmer input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:46px;height:46px;margin-top:-15px;border-radius:50%;background:#fff6de;border:4px solid var(--warm-deep);box-shadow:0 0 16px #ffd27acc}.dimmer input[type=range]::-moz-range-thumb{width:40px;height:40px;border-radius:50%;background:#fff6de;border:4px solid var(--warm-deep)}@keyframes popIn2{0%{opacity:0;transform:translateY(-50%) scale(.9)}to{opacity:1;transform:translateY(-50%) scale(1)}}.wire-close{position:absolute;right:-14px;top:-14px;width:58px;height:58px;border-radius:50%;background:var(--panel-solid);border:3px solid var(--line);font-size:30px;font-weight:900;line-height:1}.marker{position:absolute;width:74px;height:74px;margin:-96px 0 0 -37px;border-radius:50%;background:var(--panel-solid);border:4px solid var(--warm);display:grid;place-items:center;animation:markerBob 1.6s ease-in-out infinite;box-shadow:0 0 24px #ffd27a8c}.marker svg{width:50px;height:50px}.marker:after{content:"";position:absolute;bottom:-14px;left:50%;margin-left:-10px;border:10px solid transparent;border-top-color:var(--warm);border-bottom:0}@keyframes markerBob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.marker.signal-marker{border-color:#3ee07a;box-shadow:0 0 24px #3ee07a80}.marker.signal-marker:after{border-top-color:#3ee07a}.zoom-btns{position:absolute;right:18px;bottom:190px;display:flex;flex-direction:column;gap:10px}.zoom-btns button{width:58px;height:58px;border-radius:50%;background:var(--panel);border:2px solid var(--line);font-size:34px;font-weight:900;line-height:1}#overlay>.turn-btns{position:absolute;left:50%;top:56%;transform:translate(-50%,-50%);display:flex;gap:min(380px,44vw);pointer-events:none}.turn-btns .nav-btn{pointer-events:auto;width:104px}.marker.amb-marker{border-color:#ff6b6b;box-shadow:0 0 24px #ff5a5a99;pointer-events:none!important}.marker.amb-marker:after{border-top-color:#ff6b6b}.zoom-btns{right:auto;left:18px;bottom:auto;top:50%;transform:translateY(-50%)}.pill-btn.active-pill{border-color:var(--warm);background:#ffd27a2e}.marker.boat-marker{border-color:#6fb6ff;box-shadow:0 0 24px #6fb6ff99}.marker.boat-marker:after{border-top-color:#6fb6ff}.dimmer.cars-slider{top:36%}#version{position:absolute;right:12px;bottom:8px;font-size:11px;font-weight:700;opacity:.3;pointer-events:none}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-700-normal-Dort48En.woff2) format("woff2"),url(/assets/nunito-latin-700-normal-OcDqTBcA.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-800-normal-Dz8SOQK_.woff2) format("woff2"),url(/assets/nunito-latin-800-normal-D-J0wlBY.woff) format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:900;src:url(/assets/nunito-latin-900-normal-BVB1fGs6.woff2) format("woff2"),url(/assets/nunito-latin-900-normal-CVn49sIn.woff) format("woff")}
