:root{--ink:#0b1b30;--glass:#0b1b30d1;--line:#ffffff29;--text:#f5f1e8;--muted:#b7c2cf;--gold:#f6c453;--coral:#ef6f53;font-family:Outfit,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{background:var(--ink);height:100%;color:var(--text);margin:0;overflow:hidden}[hidden]{display:none!important}#scene{touch-action:none;width:100%;height:100%;display:block;position:fixed;inset:0}button,input{font:inherit;color:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:2px}#loader{z-index:40;background:var(--ink);color:var(--gold);text-align:center;place-items:center;padding:24px;font-size:20px;font-weight:600;display:grid;position:fixed;inset:0}#loader.failed{color:var(--text)}.topbar{z-index:10;pointer-events:none;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:12px 16px;display:flex;position:fixed;top:0;left:0;right:0}.topbar>*{pointer-events:auto}.brand-block{background:var(--glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;border-radius:10px;margin-right:auto;padding:6px 12px}#brand{letter-spacing:-.01em;margin:0;font-size:24px;font-weight:800}#stats{color:var(--muted);font-size:13px;font-weight:500}.nav{flex-wrap:wrap;gap:6px;display:flex}.btn,.chip{border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text);white-space:nowrap;border-radius:10px;padding:8px 12px;font-size:14px;font-weight:600;text-decoration:none}.btn:hover,.chip:hover{border-color:var(--gold)}.btn.on,.chip.on{background:var(--gold);border-color:var(--gold);color:var(--ink)}.btn.gold{background:var(--gold);border-color:var(--gold);color:var(--ink);display:inline-block}#districts{z-index:10;scrollbar-width:none;justify-content:center;gap:6px;display:flex;position:fixed;bottom:34px;left:16px;right:16px;overflow-x:auto}#districts .chip{flex:none}#preview-note{z-index:10;background:var(--coral);color:#fff;border-radius:10px;max-width:270px;margin:0;padding:8px 12px;font-size:13px;font-weight:600;position:fixed;bottom:84px;left:16px}#panel,#card{z-index:20;border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0b1b30f0;border-radius:16px;position:fixed;box-shadow:0 16px 50px #0006}#panel{flex-direction:column;width:min(370px,100vw - 32px);display:flex;top:74px;bottom:76px;right:16px}.panel-head{justify-content:space-between;align-items:center;padding:14px 16px 8px;display:flex}.panel-head h2{margin:0;font-size:20px}.close{color:var(--muted);background:0 0;border:0;padding:6px 8px;font-size:18px}.close:hover{color:var(--text)}#panel-body{padding:0 16px 16px;overflow-y:auto}.search{border:1px solid var(--line);background:#ffffff14;border-radius:10px;width:100%;padding:10px 12px;font-size:16px}.search::placeholder{color:var(--muted)}.chips{gap:6px;margin:10px 0;display:flex}.chips .chip{-webkit-backdrop-filter:none;backdrop-filter:none;background:#ffffff12}.chips .chip.on{background:var(--gold)}.row{border:0;border-bottom:1px solid var(--line);text-align:left;background:0 0;align-items:center;gap:10px;width:100%;padding:10px 6px;display:flex}.row:hover{background:#ffffff0f}.row-icon{flex:none;font-size:22px}.row-main{flex-direction:column;gap:2px;min-width:0;display:flex}.row-main strong{overflow-wrap:anywhere;font-size:15px}.row-main small{color:var(--muted);font-size:13px}.lead{color:var(--muted);margin:2px 0 12px;font-size:15px;line-height:1.45}.empty{color:var(--muted)}h3{color:var(--gold);margin:16px 0 6px;font-size:15px}.tiers{margin:0;padding:0;list-style:none}.tiers li{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:8px 0;display:flex}.rules{color:var(--muted);margin:0;padding-left:18px;font-size:14px;line-height:1.5}.rules li{margin-bottom:6px}.links{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}#card{width:min(330px,100vw - 32px);padding:14px 16px 16px;bottom:84px;left:16px}#card-icon{font-size:30px;line-height:1}#card-handle{overflow-wrap:anywhere;margin:6px 26px 2px 0;font-size:21px}#card-kind{color:var(--gold);margin:0;font-size:13px;font-weight:600}#card-note{color:var(--text);margin:8px 0;font-size:15px;line-height:1.4}#card-close{position:absolute;top:8px;right:8px}#card-extras{flex-wrap:wrap;gap:5px;margin-bottom:10px;display:flex}.tag{background:#ffffff1a;border-radius:8px;padding:3px 8px;font-size:13px}#card-share{width:100%}#walk-hint{z-index:10;background:var(--glass);white-space:nowrap;border-radius:10px;padding:7px 14px;font-size:13px;position:fixed;top:76px;left:50%;transform:translate(-50%)}#toast{z-index:30;background:var(--gold);max-width:calc(100vw - 32px);color:var(--ink);overflow-wrap:anywhere;opacity:0;pointer-events:none;border-radius:10px;padding:9px 14px;font-size:14px;font-weight:600;transition:opacity .2s,transform .2s;position:fixed;top:76px;left:50%;transform:translate(-50%,-12px)}#toast.show{opacity:1;transform:translate(-50%)}body.reel .topbar,body.reel #districts,body.reel #preview-note,body.reel #toast{display:none}#reel-overlay{z-index:10;text-align:center;color:#fff;position:fixed;top:250px;left:70px;right:70px}#reel-big{overflow-wrap:anywhere;text-shadow:0 4px #0b1b30,0 8px 30px #000000bf;font-size:84px;font-weight:800;line-height:1.08}#reel-small{color:var(--gold);background:#0b1b30e0;border-radius:22px;margin:18px auto 0;padding:10px 28px;font-size:46px;font-weight:700;display:table}#reel-small:empty{display:none}body.reel canvas{filter:saturate(1.28)brightness(1.06)}#reel-card{text-align:left;background:#0b1b30eb;border-radius:26px;margin-top:26px;padding:14px 26px}#reel-card div{border-bottom:2px solid #ffffff2e;padding:13px 0}#reel-card div:last-child{border-bottom:0}#reel-card strong{font-size:42px;display:block}#reel-card span{color:var(--gold);font-size:32px;font-weight:600}#reel-legal{z-index:10;text-align:center;color:#fff;text-shadow:0 2px 8px #000000e6;font-size:30px;font-weight:600;position:fixed;top:170px;left:0;right:0}@media (hover:none){#start-walk{display:none}}@media (width<=640px){#brand{font-size:20px}#stats{font-size:12px}.nav{scrollbar-width:none;flex-wrap:nowrap;width:100%;overflow-x:auto}.btn{flex:none;padding:7px 10px;font-size:13px}#districts{justify-content:flex-start}#panel{top:110px}#preview-note{max-width:calc(100vw - 32px)}#walk-hint{white-space:normal;text-align:center;width:calc(100vw - 32px);top:112px}#toast{top:112px}}@media (prefers-reduced-motion:reduce){#toast{transition:none}}
