:root{--ink: #e8c9a2;--amber: #e8893a;--amber-hot: #ffb068;--void: #03080b;--panel: rgba(6, 12, 14, .62);--line: rgba(232, 137, 58, .38);--dim: #7d8a8e;--font-mono: "Share Tech Mono", ui-monospace, monospace;--font-display: "Cormorant Garamond", Georgia, serif}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;overflow:hidden;overscroll-behavior:none;background:var(--void);color:var(--ink);font-family:var(--font-mono);cursor:crosshair;user-select:none}input,textarea,select{user-select:text;-webkit-user-select:text;cursor:text;pointer-events:auto;touch-action:manipulation}#gl{position:fixed;inset:0;display:block;width:100%;height:100%;touch-action:none}#grain,#vignette,#scan{position:fixed;inset:0;pointer-events:none;z-index:8}#grain{opacity:.22;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='0.9'/></svg>");animation:grain .45s steps(3) infinite}#vignette{background:radial-gradient(ellipse at center,transparent 42%,rgba(0,0,0,.72) 100%)}#scan{background:repeating-linear-gradient(to bottom,rgba(0,0,0,.08) 0px,rgba(0,0,0,.08) 1px,transparent 2px,transparent 4px);opacity:.35;mix-blend-mode:multiply}@keyframes grain{0%{transform:translate(0)}25%{transform:translate(-2%,1%)}50%{transform:translate(1%,-2%)}75%{transform:translate(-1%,2%)}to{transform:translate(0)}}#reticle{position:fixed;top:0;left:0;width:22px;height:22px;margin:-11px 0 0 -11px;pointer-events:none;z-index:20}#reticle span{position:absolute;width:7px;height:7px;border-color:var(--amber-hot);border-style:solid;opacity:.85}.r-tl{top:0;left:0;border-width:1px 0 0 1px}.r-tr{top:0;right:0;border-width:1px 1px 0 0}.r-bl{bottom:0;left:0;border-width:0 0 1px 1px}.r-br{bottom:0;right:0;border-width:0 1px 1px 0}body.locked #reticle span{border-color:#fff4e0}.kicker{font-size:11px;letter-spacing:.22em;color:var(--amber)}#hud-top,#hud-left,#hud-bottom,#hint{position:fixed;z-index:12;pointer-events:none}#hud-top{top:22px;left:24px;right:24px;display:flex;justify-content:space-between;align-items:flex-start;gap:24px}#hud-top h1{font-family:var(--font-display);font-size:clamp(28px,4vw,46px);font-weight:500;letter-spacing:.02em;line-height:.95;color:#f3d7b4}#hud-top h1 em{font-style:italic;color:var(--amber-hot)}.hud-meta{display:flex;gap:16px;align-items:center;font-size:12px;color:var(--dim);padding:8px 12px;background:var(--panel);border:1px solid var(--line);clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}.rec{color:#ff4d2e;display:flex;align-items:center;gap:6px}.rec i{width:7px;height:7px;background:#ff4d2e;border-radius:50%;animation:rec 1.2s steps(2) infinite}@keyframes rec{50%{opacity:.15}}#hud-left{top:120px;left:24px;font-size:11px;letter-spacing:.12em;line-height:1.9;color:var(--dim);background:var(--panel);border:1px solid var(--line);padding:12px 14px;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px))}#hud-left b{color:var(--amber-hot);font-weight:400}#hint{left:50%;bottom:92px;transform:translate(-50%);font-size:11px;letter-spacing:.16em;color:#e8c9a273;text-align:center;max-width:90vw}.hint-touch{display:none}#hud-bottom{left:24px;right:24px;bottom:22px;display:flex;justify-content:space-between;align-items:flex-end;gap:16px;pointer-events:none}#hud-bottom p{max-width:420px;font-size:12px;line-height:1.45;color:var(--dim)}#hud-bottom em{color:var(--ink);font-style:normal}#vote-open,#vote-close,#viewer-close,#geo-confirm,#geo-form button,#geo-results button,#light-toggle,.board-slot{pointer-events:auto;font-family:var(--font-mono);cursor:pointer}#vote-open{background:transparent;color:var(--void);background:var(--amber);border:0;padding:12px 18px;letter-spacing:.14em;text-transform:uppercase;font-size:12px;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px)}#vote-open:hover{background:var(--amber-hot)}#light-toggle{background:transparent;color:var(--dim);border:1px solid var(--line);padding:4px 10px;letter-spacing:.16em;font-size:11px}#light-toggle:hover,#light-toggle[aria-pressed=true]{color:var(--amber-hot);border-color:var(--amber)}body.light{background:#e4eae3}body.light #vignette{background:radial-gradient(ellipse at center,transparent 58%,rgba(196,204,194,.28) 100%)}body.light #grain{opacity:.07}body.light #scan{opacity:.1}body.light #hud-top h1{color:#243028}body.light #hud-top h1 em{color:#c45a22}body.light #hud-top .kicker{color:#6a5840}body.light #hint{color:#2430287a}body.light #hud-bottom p{color:#5a6560}body.light #hud-bottom em{color:#243028}body.light #light-toggle[aria-pressed=true]{color:#243028;background:#eef2ec;border-color:#b7c0b6}#boot{position:fixed;inset:0;z-index:40;background:#020506;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:18px;width:100%;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));overflow:auto;transition:opacity .8s ease,visibility .8s}#boot.out{opacity:0;visibility:hidden;pointer-events:none}.boot-brand{font-family:var(--font-display);font-size:clamp(26px,5vw,42px);color:var(--amber-hot);letter-spacing:.06em;line-height:1.15;width:fit-content;max-width:100%;overflow-wrap:break-word}#boot-log{font-size:clamp(11px,3.2vw,13px);line-height:1.7;color:#c9a27a;min-height:8em;width:fit-content;max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere}#viewer,#vote{position:fixed;inset:0;z-index:30;background:#020506b8;display:grid;place-items:center;padding:28px;pointer-events:auto}#viewer[hidden],#vote[hidden]{display:none}.viewer-frame{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,.7fr);gap:28px;width:min(1080px,100%);align-items:center}.viewer-bezel{background:#141210;padding:28px 26px 34px;border:1px solid rgba(255,150,70,.25);box-shadow:0 0 0 10px #0a0908,0 0 80px #ff78282e,inset 0 0 40px #000000a6;position:relative}.viewer-bezel img{display:block;width:100%;height:auto;max-height:68vh;object-fit:contain;background:#000;filter:contrast(1.08) saturate(.92) sepia(.12)}.viewer-scan{position:absolute;inset:28px 26px 34px;background:repeating-linear-gradient(to bottom,rgba(0,0,0,.18) 0,rgba(0,0,0,.18) 1px,transparent 3px,transparent 4px);pointer-events:none;mix-blend-mode:multiply}.viewer-meta{display:flex;flex-direction:column;gap:8px}.viewer-meta h2{font-family:var(--font-display);font-size:36px;font-weight:500;line-height:1;color:#f4d8b6}#viewer-cam,#viewer-ex{color:var(--amber);font-size:12px;letter-spacing:.12em}#viewer-place{color:var(--dim)}#viewer-close,#vote-close{margin-top:18px;align-self:flex-start;background:transparent;border:1px solid var(--line);color:var(--ink);padding:8px 12px;font-size:12px}.vote-shell{position:relative;width:min(1080px,96vw);height:min(92vh,880px);max-height:94vh;overflow:hidden;padding:22px 22px 18px}.vote-shell:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:var(--panel);border:1px solid var(--line);clip-path:polygon(16px 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%,0 16px);backdrop-filter:blur(10px)}.vote-globe{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(240px,280px);grid-template-rows:auto minmax(0,1fr) auto auto;height:100%;gap:10px 14px}.vote-head{position:relative;z-index:4;pointer-events:auto;grid-column:1 / -1;overflow:visible}#vote-status,#vote-close{grid-column:1 / -1}.vote-shell h2{font-family:var(--font-display);font-size:clamp(28px,4vw,40px);font-weight:500;margin:6px 0 8px}.vote-lead{color:var(--dim);font-size:13px;line-height:1.5;margin-bottom:12px;max-width:62ch}.leaderboard{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px;padding:10px;background:#04080a8c;border:1px solid var(--line)}#board-list{list-style:none;margin:0;padding:0;display:grid;grid-template-rows:repeat(5,minmax(0,1fr));gap:6px;min-height:0}#board-list>li{min-height:0;height:100%;display:grid}.board-slot{width:100%;height:100%;pointer-events:auto;display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;align-items:center;text-align:left;background:#080e10b8;border:1px solid rgba(232,137,58,.22);color:var(--ink);padding:6px 8px;font-family:var(--font-mono);cursor:pointer}.board-slot.is-empty{cursor:default;opacity:.45}.board-slot.is-mine{border-color:var(--amber);box-shadow:inset 0 0 0 1px var(--amber)}.board-slot:hover:not(:disabled):not(.is-empty){border-color:var(--amber-hot)}.board-slot:disabled{cursor:default}.board-rank{color:var(--amber);font-size:11px;letter-spacing:.08em}.board-body{display:grid;gap:2px;min-width:0}.board-body b{font-weight:400;font-size:12px;letter-spacing:.06em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-body span{color:var(--dim);font-size:10px;letter-spacing:.04em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-bar{display:block;height:3px;background:#1a2428}.board-bar i{display:block;height:100%;background:linear-gradient(90deg,#c45a22,#ffb068)}.geo-search{position:relative;z-index:5;pointer-events:auto}#geo-form{pointer-events:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}#geo-q{pointer-events:auto;position:relative;z-index:5;font-family:var(--font-mono);background:#04080ad9;border:1px solid var(--line);color:var(--ink);padding:10px 12px;font-size:16px;letter-spacing:.08em;outline:none;min-width:0;width:100%;cursor:text;user-select:text;-webkit-user-select:text;touch-action:manipulation}#geo-q:focus{border-color:var(--amber-hot)}#geo-form button,#geo-confirm{background:var(--amber);color:var(--void);border:0;padding:10px 16px;letter-spacing:.14em;text-transform:uppercase;font-size:12px;white-space:nowrap}#geo-results{pointer-events:auto;position:absolute;z-index:20;top:calc(100% + 4px);left:0;right:0;display:grid;gap:4px;max-height:min(220px,36dvh);overflow:auto;padding:6px;background:#04080af5;border:1px solid var(--line);box-shadow:0 18px 40px #00000073}#geo-results[hidden]{display:none}#geo-results button{text-align:left;background:#080e10e0;border:1px solid rgba(232,137,58,.22);color:var(--ink);padding:8px 10px;display:grid;gap:2px}#geo-results button span{color:var(--dim);font-size:11px}#geo-results button:hover{border-color:var(--amber-hot)}.globe-stage{position:relative;z-index:0;min-height:0;overflow:hidden;background:radial-gradient(ellipse at center,#14283059,#02050600 62%),#03080b;border:1px solid rgba(232,137,58,.2)}#globe{display:block;position:absolute;inset:0;width:100%;height:100%;cursor:grab;touch-action:none}#globe:active{cursor:grabbing}.globe-readout{position:absolute;left:12px;right:12px;bottom:12px;display:flex;justify-content:space-between;align-items:flex-end;gap:12px;pointer-events:none;min-height:44px}#geo-fix{font-size:12px;letter-spacing:.1em;color:var(--amber-hot);max-width:70%}#geo-confirm{pointer-events:auto;visibility:hidden}#geo-confirm.is-on{visibility:visible}#vote-status{margin-top:4px;font-size:12px;color:var(--amber-hot);letter-spacing:.08em;min-height:1.4em}body.glitch #gl,body.glitch #viewer,body.glitch #vote{animation:shake .35s steps(3)}@keyframes shake{0%{filter:none;transform:none}20%{filter:hue-rotate(-12deg) contrast(1.4);transform:translate(-6px)}40%{filter:hue-rotate(18deg);transform:translate(8px) skew(-2deg)}60%{filter:saturate(1.8);transform:translate(-3px)}to{filter:none;transform:none}}@media(max-width:800px){.boot-slash{display:none}.boot-name,.boot-sub{display:block;white-space:nowrap}.boot-brand{font-size:clamp(22px,9vw,38px);text-align:center}#boot-log{width:100%;font-size:11px}.viewer-frame{grid-template-columns:minmax(0,1fr);gap:16px;width:100%;min-width:0;min-height:0;flex:1 1 auto;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) 88px max(20px,env(safe-area-inset-left));scrollbar-width:none}.viewer-frame::-webkit-scrollbar{display:none}#viewer{display:flex;flex-direction:column;padding:0;overflow:hidden;background:#020506f0}.viewer-bezel{padding:16px 16px 20px;margin:10px;min-width:0;box-shadow:0 0 0 10px #0a0908,0 0 40px #ff78282e,inset 0 0 40px #000000a6}.viewer-bezel img{max-height:min(46vh,42dvh)}.viewer-scan{inset:16px 16px 20px}.viewer-meta{min-width:0;padding-inline:10px}.viewer-meta h2{font-size:clamp(24px,7vw,28px);overflow-wrap:anywhere}#viewer-close{position:fixed;left:max(20px,env(safe-area-inset-left));right:max(20px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:2;margin-top:0;width:auto;padding:12px 14px;background:#080a0bf0}body:has(#viewer:not([hidden])) #hud-top,body:has(#viewer:not([hidden])) #hud-bottom,body:has(#viewer:not([hidden])) #hint,body:has(#vote:not([hidden])) #hud-top,body:has(#vote:not([hidden])) #hud-bottom,body:has(#vote:not([hidden])) #hint{opacity:0;pointer-events:none}#hud-left{display:none}#hud-bottom{flex-direction:column;align-items:stretch}.hint-desk{display:none}.hint-touch{display:inline}#hint{bottom:118px;font-size:10px}#hud-top h1{font-size:26px}.vote-globe{grid-template-columns:1fr;grid-template-rows:auto minmax(36dvh,1fr) auto auto auto}#vote{padding:0;place-items:stretch}.vote-shell{width:100%;height:100dvh;max-height:100dvh;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;clip-path:none;padding:calc(10px + env(safe-area-inset-top)) 12px calc(10px + env(safe-area-inset-bottom))}.vote-shell:before{clip-path:none}.vote-head h2{font-size:22px;margin:2px 0 8px}.vote-lead{display:none}.globe-stage{min-height:36dvh}.globe-readout{flex-direction:column;align-items:stretch;gap:8px}#geo-fix{max-width:none}#geo-confirm.is-on{width:100%;padding:12px 16px}.leaderboard{grid-column:1;min-height:268px}#board-list{grid-template-rows:repeat(5,minmax(44px,1fr))}.board-slot{min-height:44px;padding:8px 10px}#vote-close{margin-top:4px}}@media(max-width:800px)and (max-height:720px){.vote-globe{grid-template-rows:auto minmax(28dvh,1fr) auto auto auto}.globe-stage{min-height:28dvh}.leaderboard{min-height:240px}}@media(pointer:coarse){#grain,#reticle{display:none}#scan{opacity:.18}.hint-desk{display:none}.hint-touch{display:inline}}
