:root{--green: #39ff88;--cyan: #2de2ff;--pink: #ff3fd2;--dim: #1b6b44;--panel: rgba(0, 0, 0, .88);--fade: .26s;color-scheme:dark}:root.reduce-motion{--fade: 0ms}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#000;color:var(--green);font:13px/1.4 ui-monospace,Cascadia Mono,Menlo,Consolas,Courier New,monospace;-webkit-user-select:none;user-select:none;touch-action:none}canvas{display:block;width:100%;height:100%;outline:none}[hidden]{display:none!important}button{font:inherit;color:var(--green);background:#000;border:1px solid var(--green);padding:6px 14px;cursor:pointer}button:hover,button:focus-visible{background:var(--green);color:#000;outline:none}button:disabled,button:disabled:hover{background:#000;color:var(--dim);border-color:var(--dim);cursor:default}button:disabled:hover small{color:var(--dim)!important}a{color:var(--cyan)}:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.hud{position:fixed;inset:0;pointer-events:none}.hud-top{position:absolute;top:max(8px,env(safe-area-inset-top));left:10px;right:10px;display:flex;justify-content:space-between;gap:12px;text-shadow:0 0 6px currentColor;white-space:nowrap;overflow:hidden}.hud-top span:last-child{color:var(--cyan);overflow:hidden;text-overflow:ellipsis}.crosshair{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-shadow:0 0 6px currentColor;font-weight:700}.target{position:absolute;left:50%;bottom:calc(max(10px,env(safe-area-inset-bottom)) + 48px);transform:translate(-50%);width:max-content;max-width:min(60ch,calc(100% - 24px));background:#000000c7;border:1px solid var(--pink);color:#fff;padding:5px 12px;text-align:center;box-shadow:0 0 12px #ff3fd273}.target small{display:block;color:var(--pink);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.crosshair.on{color:var(--pink)}.hud.holding .crosshair,.hud.holding .hud-buttons{display:none}.hud-buttons{position:absolute;right:10px;bottom:max(10px,env(safe-area-inset-bottom));display:flex;gap:8px;pointer-events:auto}.hud-buttons button{background:#000000b3;padding:8px 12px}.notice{position:fixed;left:10px;top:32px;z-index:1;pointer-events:none;max-width:calc(100% - 20px);color:var(--pink);background:#000000bf;padding:2px 6px}.screen{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:20px;background:#000000b8}.screen p{margin:0;max-width:52ch}.logo{margin:0;text-shadow:0 0 8px currentColor;line-height:1.1;font-size:11px}@media(max-width:420px){.logo{font-size:7px}}.keys{color:var(--dim)}.keys b{color:var(--green);font-weight:400}.touch-only{display:none!important}@media(pointer:coarse){.mouse-only{display:none!important}.touch-only{display:block!important}}.error{color:var(--pink)}.screen-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.screen-links button{border-color:var(--dim);color:var(--green);padding:4px 10px}.loading{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(320px,calc(100% - 40px));text-align:center;z-index:3}.loading p{margin:0 0 8px;text-shadow:0 0 6px currentColor}.bar{height:6px;border:1px solid var(--green)}.fill{height:100%;width:0;background:var(--green);transition:width .12s linear}.fade{position:fixed;inset:0;background:#000;opacity:0;pointer-events:none;transition:opacity var(--fade) ease;z-index:2}.fade.on{opacity:1}.panel{width:min(520px,calc(100% - 24px));max-height:calc(100% - 40px);overflow:auto;background:var(--panel);color:var(--green);border:1px solid var(--green);padding:16px 18px;box-shadow:0 0 18px #39ff8840;-webkit-user-select:text;user-select:text}.panel::backdrop{background:#00000080}.panel h2{margin:0 0 6px;font-size:15px;text-shadow:0 0 6px currentColor}.panel .hint{margin:0 0 12px;color:var(--dim)}.panel ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.panel li button{width:100%;text-align:left;display:flex;justify-content:space-between;gap:12px}.panel li small{color:var(--dim)}.panel li button:hover small,.panel li button:focus-visible small{color:#000}.panel li .here{color:var(--cyan)}.panel li button:hover .here,.panel li button:focus-visible .here{color:#000}.panel fieldset{border:1px solid var(--dim);margin:0 0 12px;padding:8px 12px}.panel label{display:block;margin:4px 0;cursor:pointer}.panel .range{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0}.panel input{accent-color:var(--green)}.panel-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:14px}.map-place{margin:0 0 14px}.map-place h3{margin:0 0 6px;font-size:inherit;font-weight:400}.map-place h3 button{width:100%;text-align:left;display:flex;flex-direction:column;gap:2px;border-color:var(--cyan)}.map-place h3 button>span{font-weight:700}.map-place h3 small{color:var(--dim)}.map-place h3 button:hover small,.map-place h3 button:focus-visible small,.map-place h3 button:hover .here,.map-place h3 button:focus-visible .here{color:#000}.map-place ul{padding-left:16px}.inspect{position:fixed;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translate(-50%);width:min(560px,calc(100% - 24px));max-height:45%;overflow:auto;background:var(--panel);border:1px solid var(--cyan);padding:12px 16px;box-shadow:0 0 16px #2de2ff4d;z-index:1;-webkit-user-select:text;user-select:text}.inspect h2{margin:0 0 4px;font-size:15px;color:#fff}.inspect p{margin:0 0 6px;color:#cfd}.inspect .hint{color:var(--dim)}.inspect .status:empty{display:none}.inspect .status{color:var(--cyan)}.inspect .panel-actions{margin-top:8px;align-items:center}.facts{display:grid;grid-template-columns:max-content 1fr;gap:2px 12px;margin:6px 0}.facts dt{color:var(--dim)}.facts dd{margin:0;color:#fff}.facts .price{color:var(--pink);font-weight:700}.buy{display:inline-block;padding:6px 14px;text-decoration:none;font-weight:700;color:#000;background:var(--pink);border:1px solid var(--pink)}.buy:hover,.buy:focus-visible{background:#fff;border-color:#fff;outline:none}.stick{position:fixed;width:96px;height:96px;margin:-48px 0 0 -48px;border-radius:50%;border:1px solid var(--green);pointer-events:none;opacity:.6}.stick:after{content:"";position:absolute;left:50%;top:50%;width:36px;height:36px;margin:-18px 0 0 -18px;border-radius:50%;background:var(--green);transform:translate(var(--x, 0),var(--y, 0))}.map-place h3 button:disabled{border-color:var(--dim);border-style:dashed}.people{color:var(--pink);margin-left:8px}.people-list{margin:0 0 12px;color:var(--pink)}.panel input[type=text]{font:inherit;color:#fff;background:#000;border:1px solid var(--green);padding:4px 8px;width:16ch;-webkit-user-select:text;user-select:text}
