:root{--ink: #e8f1f8;--muted: #8ba6bd;--line: rgba(120, 170, 205, .22);--panel: rgba(8, 16, 27, .82);--gold: #ffcf5a;--cyan: #5ad1ff;color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;height:100%;background:#05070d;color:var(--ink);font:13px/1.5 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overscroll-behavior:none}#globe{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none}.panel{position:fixed;z-index:2;padding:14px 16px;background:var(--panel);border:1px solid var(--line);border-radius:12px;backdrop-filter:blur(8px);max-width:min(320px,calc(100vw - 24px))}.panel h1{margin:0;font-size:20px;letter-spacing:.02em}.panel h2{margin:0 0 8px;font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.panel h3{margin:12px 0 4px;font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.panel--title{top:16px;left:16px}.sub{margin:2px 0 8px;color:var(--muted)}.badge{margin:0;display:inline-block;padding:3px 8px;font-size:11px;border-radius:999px;color:#ffd9a0;background:#ffb03c24;border:1px solid rgba(255,176,60,.35)}.panel--aim{left:16px;bottom:16px;display:grid;gap:10px;justify-items:center}.compass{position:relative;width:132px;height:132px;border-radius:50%;cursor:grab;touch-action:none}.compass:active{cursor:grabbing}.compass:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.compass__ring{position:absolute;inset:0;border-radius:50%;border:1px solid var(--line);background:radial-gradient(circle at 50% 50%,rgba(30,80,120,.25),transparent 70%)}.compass__cardinal{position:absolute;font-size:10px;color:var(--muted);transform:translate(-50%,-50%)}.compass__cardinal--n{left:50%;top:11px}.compass__cardinal--s{left:50%;top:calc(100% - 11px)}.compass__cardinal--e{left:calc(100% - 11px);top:50%}.compass__cardinal--w{left:11px;top:50%}.compass__needle{position:absolute;left:50%;top:50%;width:2px;height:52px;margin-left:-1px;margin-top:-52px;background:linear-gradient(to top,rgba(255,207,90,.1),var(--gold));transform-origin:50% 100%;border-radius:2px;pointer-events:none}.aim__readout{display:flex;align-items:center;gap:12px}#bearing{font-variant-numeric:tabular-nums;font-size:22px;color:var(--gold);min-width:76px}.fire{padding:9px 22px;font:inherit;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#1a1204;background:var(--gold);border:0;border-radius:8px;cursor:pointer}.fire:hover{background:#ffdd85}.hint{margin:0;font-size:11px;color:var(--muted);text-align:center}.rail{position:fixed;z-index:2;top:16px;right:16px;bottom:16px;width:min(340px,calc(100vw - 32px));display:flex;flex-direction:column;gap:12px;overflow-y:auto;scrollbar-width:thin}.rail .panel{position:static;max-width:none;flex:0 0 auto}.panel--path dl{margin:0;display:grid;gap:4px}.panel--path dl div{display:flex;justify-content:space-between;gap:12px}.panel--path dt{color:var(--muted)}.panel--path dd{margin:0;font-variant-numeric:tabular-nums}.crosses{margin:0;color:var(--cyan);font-size:12px;max-height:96px;overflow-y:auto}.panel--controls{display:grid;gap:10px}.panel--controls label{display:grid;gap:4px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.panel--controls select,.panel--controls button{font:inherit;padding:6px 8px;color:var(--ink);background:#14263ae6;border:1px solid var(--line);border-radius:7px;text-transform:none;letter-spacing:0;cursor:pointer}.panel--controls input[type=range]{accent-color:var(--gold);width:100%}.stats{margin:0;font-variant-numeric:tabular-nums;font-size:11px;color:var(--muted);white-space:pre-line}.note{margin:0;font-size:11px;color:var(--muted)}.panel--feed ul{margin:0;padding:0;list-style:none;display:grid;gap:6px;max-height:210px;overflow-y:auto}.panel--feed li{padding:7px 9px;border-radius:8px;background:#5ad1ff12;border-left:2px solid rgba(90,209,255,.5);font-size:12px}.panel--feed li.mine{background:#ffcf5a1a;border-left-color:var(--gold)}.panel--feed .meta{display:block;color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}.fatal{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:24px;background:#05070d;text-align:center}@media(max-width:900px){.rail{inset:auto 16px 16px;width:auto;max-height:34vh}.panel--path,.panel--controls{display:none}.panel--feed ul{max-height:84px}.panel--title{max-width:calc(100vw - 32px)}.panel--aim{inset:12px 16px auto auto}.compass{width:104px;height:104px}.compass__needle{height:40px;margin-top:-40px}}
