:root{--bg: #0b0d12;--surface: #14171f;--border: #2a303c;--fg: #edeff3;--dim: #9aa3b2;--accent: #bc2318;--accent-text: #ff6b5e;--title: "Fjalla One", Impact, sans-serif;--mono: "JetBrains Mono", ui-monospace, Menlo, monospace}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--fg);font:13px/1.45 var(--mono);overflow:hidden;-webkit-tap-highlight-color:transparent}#scene{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none}#hud{position:fixed;inset:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));pointer-events:none;display:flex;flex-direction:column;justify-content:space-between}#hud>*{pointer-events:auto}#hud>#top{pointer-events:none}#top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}#top>*{pointer-events:auto}#signature{align-self:flex-start}#controls{display:flex;flex-direction:column;align-items:flex-end;gap:6px;margin-right:128px}#switches,#radio-bar,#radio-more{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;align-items:center}#radio-bar,#radio-more{margin-right:-128px}#radio-more[hidden],#listeners[hidden]{display:none}#stations{display:flex}#stations button{border-radius:0;padding:5px 9px;font-size:12px}#stations button:first-child{border-radius:8px 0 0 8px}#stations button:last-child{border-radius:0 8px 8px 0;border-left:0}#listeners{color:var(--dim);font-size:12px;padding:0 4px}#listeners:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#3fb950;margin-right:6px;vertical-align:1px;animation:live 2s ease-in-out infinite}@keyframes live{50%{opacity:.35}}#signature h1{margin:0;font:400 30px/1 var(--title);letter-spacing:.02em;text-transform:lowercase}#signature h1:before{content:"";display:inline-block;width:10px;height:10px;margin:0 10px 4px 0;background:var(--accent);border-radius:3px;vertical-align:middle}#signature p{margin:6px 0 8px;color:var(--dim)}#signature a{color:var(--fg);margin-right:14px;text-decoration-color:var(--accent);text-underline-offset:3px}#signature a:hover{color:var(--accent-text)}#shots{display:flex;gap:6px;flex-wrap:wrap;align-self:flex-start}button{font:inherit;color:var(--fg);background:#14171fcc;border:1px solid var(--border);padding:7px 11px;border-radius:8px;cursor:pointer;backdrop-filter:blur(6px);transition:background .2s,border-color .2s}button:hover{border-color:#3a4252}button:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px}button.active{background:var(--accent);border-color:var(--accent)}kbd{font:inherit;opacity:.6}button.active kbd{opacity:.85}#radio{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.02em}#radio-next[hidden],#playlist[hidden]{display:none}#playlist{white-space:nowrap;letter-spacing:.02em}#tooltip{position:fixed;left:0;top:0;pointer-events:none;padding:7px 10px;max-width:260px;background:#0b0d12e6;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:6px;opacity:0;transition:opacity .15s;will-change:transform}#tooltip.on{opacity:1}#tooltip strong{display:block;font:400 16px/1.2 var(--title);letter-spacing:.02em}#tooltip span{display:block;color:var(--dim);margin-top:2px}#tooltip span[hidden]{display:none}#loading{position:fixed;left:0;right:0;bottom:0;height:2px;pointer-events:none}#loading span{display:block;height:100%;width:calc(var(--p, 0) * 100%);background:var(--accent);transition:width .3s}#loading.done{opacity:0;transition:opacity .6s .2s}#enter{position:fixed;inset:0;display:grid;place-content:center;justify-items:center;gap:14px;background:radial-gradient(ellipse at center,#0b0d1299,#0b0d12ee);transition:opacity .6s}#enter button{font:400 20px/1 var(--title);letter-spacing:.04em;padding:14px 24px;background:var(--accent);border-color:var(--accent)}#enter p{margin:0;color:var(--dim)}#enter.gone{opacity:0;pointer-events:none}#fallback{display:none}#view{position:fixed;top:max(16px,env(safe-area-inset-top));right:16px;z-index:2;display:flex;letter-spacing:.06em}#view[hidden]{display:none}#view button{border-radius:0;padding:7px 10px}#view button:first-child{border-radius:8px 0 0 8px}#view button:last-child{border-radius:0 8px 8px 0;border-left:0}#view button.on{background:var(--accent);border-color:var(--accent)}html:has(body.lofi),body.lofi{height:auto;overflow:auto}body.lofi #scene,body.lofi #hud,body.lofi #enter,body.lofi #tooltip,body.lofi #loading{display:none}body.lofi #fallback{display:block;max-width:44rem;margin:12vh auto;padding:0 16px}body.lofi #fallback h1{margin:0;font:400 34px/1.1 var(--title);text-transform:lowercase}body.lofi #fallback p{color:var(--dim)}body.lofi #fallback a{color:var(--fg);margin-right:12px;text-decoration-color:var(--accent);text-underline-offset:3px}body.lofi #fallback h2{margin:2.2em 0 .4em;font-size:13px;font-weight:400;color:var(--accent-text);text-transform:lowercase}body.lofi #fallback ul{margin:0;padding:0;list-style:none}body.lofi #fallback li{margin:.35em 0}body.lofi #fallback li span:last-child{color:var(--dim)}body.lofi #fallback nav{display:flex;flex-wrap:wrap;gap:4px 0;margin-top:14px}body.lofi #fallback nav a{text-transform:lowercase}body.lofi #fallback h3{margin:1.4em 0 .3em;font-size:12px;font-weight:400;color:var(--dim);text-transform:lowercase}body.lofi #fallback .page{font-size:15px;line-height:1.65}body.lofi #fallback .page p{color:var(--fg);opacity:.88}body.lofi #fallback ul.posts li{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--border);padding:6px 0;margin:0}body.lofi #fallback time{color:var(--dim);font-size:12px;white-space:nowrap}body.lofi #fallback article h2.title{margin:1.6em 0 .2em;font:400 30px/1.15 var(--title);color:var(--fg);text-transform:none}body.lofi #fallback article h3,body.lofi #fallback article h4{color:var(--fg);font-size:16px;margin:1.6em 0 .4em;text-transform:none}body.lofi #fallback article ul{list-style:square;padding-left:1.2em}body.lofi #fallback code{background:var(--surface);padding:1px 5px;border-radius:4px;font-size:.92em}body.lofi #fallback pre{background:var(--surface);padding:12px;border-radius:8px;overflow-x:auto}body.lofi #fallback blockquote{margin:1em 0;padding-left:14px;border-left:2px solid var(--accent);color:var(--dim)}body.lofi #fallback footer{margin:4em 0 2em;padding-top:1em;border-top:1px solid var(--border);font-size:12px}@media(max-width:600px){#top{flex-direction:column-reverse;align-items:stretch}#controls{margin-right:0;align-items:flex-start}#switches{margin-right:128px;justify-content:flex-start}#radio-bar,#radio-more{margin-right:0;justify-content:flex-start}#radio{max-width:calc(100vw - 80px)}#signature h1{font-size:24px}#shots button{padding:6px 8px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}body.lofi #fallback li>a{margin-right:0}#grid{position:fixed;inset:0;z-index:0;opacity:0;transition:opacity .35s ease;background:#08131f}#grid.on{opacity:1}#grid[hidden]{display:none}#hud,#tooltip{z-index:1}#grid .map{position:absolute;inset:0}#top{transition:opacity .35s ease}body.gridding #top{opacity:0;pointer-events:none;visibility:hidden}#grid .panel{position:absolute;right:16px;top:max(64px,calc(env(safe-area-inset-top) + 48px));width:340px;padding:12px 14px;border-radius:10px;background:#0b0d12d9;border:1px solid var(--border);backdrop-filter:blur(6px)}#grid .head{display:flex;align-items:center;gap:6px;margin-bottom:4px}#grid .head h2{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#grid .head button{padding:2px 8px;min-width:28px;font-size:14px;line-height:1.2}#grid .head button[hidden],#grid .panel.folded .more{display:none}#grid .panel{max-height:calc(100% - 150px);overflow:auto}#grid .panel.folded .scale{margin-bottom:0}#grid h2{margin:0;font:400 20px/1.1 var(--title);letter-spacing:.02em}#grid .time{margin:0 0 8px;color:var(--fg)}#grid .row{display:flex;gap:8px;align-items:center;margin-bottom:8px}#grid .row button{padding:4px 10px}#grid input[type=range]{flex:1;accent-color:var(--accent)}#grid .layers button,#grid .views button{flex:1;padding:4px 8px;font-size:11px;opacity:.6}#grid .layers button[aria-pressed=true],#grid .views button[aria-pressed=true]{opacity:1;border-color:var(--accent)}#grid .layers button:disabled,#grid .views button:disabled{opacity:.3;cursor:not-allowed}#grid .views{flex-wrap:wrap;gap:4px}#grid .views button{flex:1 1 auto;padding:4px 6px;white-space:nowrap}#grid .legend{height:8px;border-radius:4px}#grid .scale{display:flex;justify-content:space-between;font-size:10px;color:var(--dim);margin:2px 0 8px}#grid .dim{margin:0 0 6px;color:var(--dim);font-size:11px;line-height:1.35}#grid .back{width:100%;margin-top:4px}#grid .place{font:11px var(--mono);color:#c9d2de;padding-left:8px;text-shadow:0 0 3px #000,0 0 6px #000;white-space:nowrap;pointer-events:none}#grid .place:before{content:"";position:absolute;left:-3px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:#edeff3}#grid .tip{position:absolute;left:0;top:0;pointer-events:none;white-space:pre;padding:6px 9px;border-radius:8px;background:#0b0d12e6;border:1px solid var(--border);font-size:11px;opacity:0;transition:opacity .12s}#grid .tip.on{opacity:1}#grid .maplibregl-ctrl-attrib{background:#0b0d12b3;color:var(--dim);font-size:10px}#grid .maplibregl-ctrl-attrib a{color:var(--dim)}@media(max-width:700px){#grid .panel{inset:auto 16px 120px;width:auto}#grid .panel{max-height:42vh;overflow:auto}#grid .panel .dim{font-size:10px}}#player{position:fixed;right:16px;bottom:max(64px,calc(env(safe-area-inset-bottom) + 56px));z-index:2;width:380px;max-width:calc(100vw - 32px);background:#0b0d12f2;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:10px;padding:10px 12px 12px;backdrop-filter:blur(8px);display:flex;flex-direction:column;gap:8px;max-height:calc(100dvh - 140px);overflow-y:auto;overscroll-behavior:contain}#player[hidden]{display:none}#player .head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}#player .title strong{display:block;font:400 20px/1.1 var(--title);letter-spacing:.02em}#player .title span{color:var(--dim);font-size:12px}#player .close{padding:2px 9px;font-size:16px;line-height:1.2}#player .frame{height:152px;border-radius:12px;overflow:hidden;background:#181818}#player iframe{display:block;width:100%;height:100%;border:0}#player .note,#player .artists{margin:0;color:var(--dim);font-size:11.5px}#player .artists{color:var(--fg)}#player>*{flex:none}#player .foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}#player .credit{flex:1 1 180px;color:var(--dim);font-size:11px}#player .open{flex:none;color:var(--fg);text-decoration:none;border:1px solid var(--border);border-radius:8px;padding:6px 10px;white-space:nowrap}#player .open:hover{border-color:var(--accent-text)}#player .actions{flex:none;display:flex;gap:6px}#player .lyrics{padding:6px 10px;white-space:nowrap}#player .lyrics-note{margin:0;padding:8px 10px;border:1px solid var(--border);border-radius:8px;color:var(--fg);font-size:11.5px;line-height:1.45}#player .lyrics-note[hidden]{display:none}@media(max-width:600px){#player{left:16px;right:16px;width:auto;bottom:60px}}#lock{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;width:300px;max-width:calc(100vw - 32px);background:#0b0d12f2;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:10px;padding:12px 14px 14px;backdrop-filter:blur(8px);display:flex;flex-direction:column;gap:8px}#lock[hidden]{display:none}#lock .head{display:flex;align-items:center;justify-content:space-between}#lock .head strong{font:400 20px/1.1 var(--title);letter-spacing:.02em}#lock .close{padding:2px 9px;font-size:16px;line-height:1.2}#lock .prompt,#lock .status{margin:0;color:var(--dim);font-size:12px;min-height:1.2em}#lock .clues{margin:0;padding-left:20px;font-size:12px}#lock .display{display:block;text-align:center;font:400 28px/1.2 var(--mono);letter-spacing:.1em;padding:6px 0;background:#000;color:#7dff9b;border-radius:6px}#lock .keys{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}#lock .keys button{min-height:44px;font-size:18px}#lock .keys button.enter{background:var(--accent);border-color:var(--accent);font-size:13px}#lock .keys button[data-key=clear]{font-size:13px}#lock.shake{animation:lock-shake .35s}@keyframes lock-shake{25%{transform:translate(calc(-50% - 6px),-50%)}75%{transform:translate(calc(-50% + 6px),-50%)}}#curtain{position:fixed;inset:0;z-index:99;background:#000;display:none}#curtain.on{display:block}body.guarded #hud,body.guarded #lock,body.guarded #tooltip,body.guarded #enter,body.guarded #view,body.guarded #grid{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}@media print{body *{visibility:hidden!important}html,body{background:#fff!important}}#lock .gate{display:flex;flex-direction:column;gap:8px}#lock .gate[hidden],#lock .game[hidden]{display:none}#lock .game{display:flex;flex-direction:column;gap:8px}#lock .gate input{font:15px/1.2 var(--mono);padding:10px;border-radius:6px;border:1px solid var(--border);background:#000;color:var(--fg);min-height:44px}#lock .gate button{min-height:44px;background:var(--accent);border-color:var(--accent)}#lock .gate .note{margin:0;color:var(--dim);font-size:11px}body.guarded #lock .gate input{-webkit-user-select:text;user-select:text}@font-face{font-family:Fjalla One;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fjalla-one-latin-400-normal-B_797-mG.woff2) format("woff2"),url(/assets/fjalla-one-latin-400-normal-D4DI2rh4.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff) format("woff")}@font-face{font-family:Permanent Marker;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/permanent-marker-latin-400-normal-BF23djCy.woff2) format("woff2"),url(/assets/permanent-marker-latin-400-normal-BnZj5c41.woff) format("woff")}@font-face{font-family:Monoton;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/monoton-latin-400-normal--Xn4BnFH.woff2) format("woff2"),url(/assets/monoton-latin-400-normal-CgrPpToo.woff) format("woff")}@font-face{font-family:"Press Start 2P";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/press-start-2p-latin-400-normal-_wFEWmAB.woff2) format("woff2"),url(/assets/press-start-2p-latin-400-normal-KLytu4cr.woff) format("woff")}@font-face{font-family:VT323;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/vt323-latin-400-normal-wDgJuOC9.woff2) format("woff2"),url(/assets/vt323-latin-400-normal-Dqn9ZSPj.woff) format("woff")}@font-face{font-family:Special Elite;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/special-elite-latin-400-normal-YjDd9tmf.woff2) format("woff2"),url(/assets/special-elite-latin-400-normal-BtSRmyJ6.woff) format("woff")}
