:root{--slate: #dbe7e1;--ink: #004445;--ink-shadow: #18252a;--ink-raised: #0b5a5c;--paper: #ffffff;--paper-dim: #9fd5b3;--gold: #feb70d;--qline: #d2382c;--mover: #2a9aa4;--line: #e9e4d6;--px-shadow: rgba(0, 0, 0, .55);--font-pixel: "Silkscreen", ui-monospace, monospace;--font-ui: "Pixelify Sans", ui-monospace, monospace;--font-text: "Atkinson Hyperlegible", system-ui, sans-serif;--shadow: 4px 4px 0 var(--px-shadow);--gutter: 16px;--box-h: 44px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;overflow:hidden}body{background:var(--slate);color:var(--paper);font-family:var(--font-text);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.app{position:fixed;top:0;right:0;bottom:0;left:0;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.search input,.how-body,.card p{-webkit-user-select:text;user-select:text}.app-message{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:var(--gutter);color:var(--ink);text-align:center}.osd{position:absolute;top:0;right:0;bottom:0;left:0;isolation:isolate;background:var(--slate)}.overlay,.overlay-lines,.overlay-clouds,.overlay-dom{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.overlay-clouds{inset:auto;left:0;top:0;transform-origin:0 0;will-change:transform;image-rendering:pixelated}.overlay-badges{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.badge{position:absolute;left:-18px;top:-18px;width:36px;height:36px;display:grid;place-items:center;background:var(--ink);border:2px solid var(--line);box-shadow:var(--shadow);pointer-events:auto;will-change:transform}.badge.is-active{background:var(--paper);outline:2px solid var(--gold)}@media(hover:hover){.badge:hover{background:var(--paper);outline:2px solid var(--gold)}}.pin{position:absolute;left:0;top:0;will-change:transform}.pin:before{content:"";position:absolute;left:-9px;top:-9px;width:18px;height:18px;border:4px solid var(--gold);box-shadow:0 0 0 2px var(--ink);animation:pin-pulse 1.6s steps(4) infinite}.pin-label{position:absolute;left:16px;top:-11px;padding:2px 6px;background:var(--ink);color:var(--paper);font-family:var(--font-pixel);font-size:11px;white-space:nowrap;border:2px solid var(--line);box-shadow:var(--shadow)}@keyframes pin-pulse{50%{transform:scale(1.4)}}.card{position:absolute;left:0;top:0;width:min(300px,calc(100vw - 2 * var(--gutter)));padding:12px 14px 14px;pointer-events:auto;will-change:transform}.card-head{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:6px}.card h2{font-family:var(--font-pixel);font-weight:400;font-size:14px;line-height:1.3}.card p{font-family:var(--font-ui);font-size:15px;line-height:1.4;color:var(--paper);opacity:.9}.px-box{background:var(--ink);color:var(--paper);border:2px solid var(--line);box-shadow:var(--shadow)}@media(hover:hover){button.px-box:not([aria-expanded=true]):hover{background:var(--ink-raised)}}button.px-box:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--px-shadow)}.wordmark{position:fixed;left:var(--gutter);top:var(--gutter);font-family:var(--font-pixel);font-weight:400;font-size:18px;line-height:1;padding:8px 10px 7px;background:var(--ink);color:var(--paper);border:2px solid var(--line);box-shadow:var(--shadow);pointer-events:none}.preview-chip{position:fixed;left:var(--gutter);top:calc(var(--gutter) + 44px);max-width:min(340px,calc(100vw - 2 * var(--gutter) - 190px));padding:4px 8px;background:var(--paper);color:var(--ink);font-size:13px;line-height:1.35;box-shadow:2px 2px 0 var(--ink);border-left:4px solid var(--gold)}.minimap{position:fixed;right:var(--gutter);top:var(--gutter);cursor:crosshair;image-rendering:pixelated;filter:drop-shadow(3px 3px 0 var(--px-shadow));touch-action:none}.hud{position:fixed;left:var(--gutter);right:var(--gutter);bottom:calc(var(--gutter) + env(safe-area-inset-bottom));display:flex;align-items:end;justify-content:space-between;gap:12px;pointer-events:none}.hud>*{pointer-events:auto}.hud-tools{display:flex;gap:8px}.hud-tools .px-box{height:var(--box-h);min-width:var(--box-h);display:grid;place-items:center;font-family:var(--font-pixel);font-size:18px}.hud-tools .wide{padding:0 12px;font-size:13px}.hud-tools [aria-expanded=true]{background:var(--line);color:var(--ink)}.icon-btn.small{width:26px;height:26px;display:grid;place-items:center;flex:none;border:2px solid var(--paper);color:var(--paper)}@media(hover:hover){.icon-btn.small:hover{background:var(--paper);color:var(--ink)}}.search{position:relative;width:min(420px,100%);height:var(--box-h);display:flex;align-items:center;gap:10px;padding:0 12px;color:var(--line)}.search input{flex:1;min-width:0;height:100%;background:none;border:0;outline:none;color:var(--paper);font-family:var(--font-ui);font-size:17px}.search input::placeholder{color:#e9e4d68c}.search:focus-within{outline:2px solid var(--gold);outline-offset:2px}.search-results{position:absolute;left:-2px;right:-2px;bottom:calc(100% + 8px);padding:4px 0;list-style:none;background:var(--ink);border:2px solid var(--line);box-shadow:var(--shadow);max-height:min(360px,55vh);overflow-y:auto}.search-results li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:6px 12px;cursor:pointer;color:var(--paper);font-family:var(--font-ui)}.search-results li.is-active{background:var(--line);color:var(--ink)}.result-name{font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-kind{flex:none;font-family:var(--font-pixel);font-size:10px;text-transform:uppercase;opacity:.75}.search-results li.search-empty{display:block;cursor:default;font-size:14px;color:var(--paper-dim)}.settings{position:absolute;right:0;bottom:calc(var(--box-h) + 12px);width:268px;padding:14px}.settings h2{font-family:var(--font-pixel);font-weight:400;font-size:15px;margin-bottom:10px}.segmented{border:0;margin-bottom:12px}.segmented legend{font-family:var(--font-pixel);font-size:10px;color:var(--paper-dim);margin-bottom:6px}.segmented-row{display:flex;border:2px solid var(--line)}.segmented-row button{flex:1;height:32px;font-family:var(--font-pixel);font-size:12px}.segmented-row button+button{border-left:2px solid var(--line)}.segmented-row button[aria-pressed=true]{background:var(--line);color:var(--ink)}.settings-keys{font-family:var(--font-ui);font-size:13px;color:#e9e4d6bf}.share{position:absolute;right:0;bottom:calc(var(--box-h) + 12px);width:min(380px,calc(100vw - 2 * var(--gutter)));padding:14px 16px 16px;font-family:var(--font-ui);font-size:14px}.share h2{font-family:var(--font-pixel);font-weight:400;font-size:16px;margin-bottom:10px}.share-preview{position:relative;width:min(286px,100%);aspect-ratio:1200 / 630;margin:0 auto 12px;display:grid;place-items:center;background:#002e2f;border:2px solid var(--line);box-shadow:3px 3px 0 var(--px-shadow);overflow:hidden}.share-preview img{width:100%;height:100%;display:block}.share-preview span{position:absolute;font-family:var(--font-pixel);font-size:12px;color:var(--line)}.share .segmented-row{margin-bottom:10px}.share-link{display:flex;gap:8px;margin-bottom:10px}.share-link input{flex:1;min-width:0;height:34px;padding:0 8px;background:#002e2f;border:2px solid rgba(233,228,214,.35);color:var(--paper);font-family:var(--font-text);font-size:13px;outline:none}.share-link input:focus{border-color:var(--line)}.share-copy,.share-targets a,.share-targets button{height:34px;padding:0 12px;display:inline-grid;place-items:center;font-family:var(--font-pixel);font-size:12px;text-decoration:none;cursor:pointer}.share-copy{background:var(--line);color:var(--ink);box-shadow:3px 3px 0 var(--px-shadow)}.share-targets{display:flex;flex-wrap:wrap;gap:8px}.share-targets a,.share-targets button{color:var(--paper);border:2px solid var(--line)}.share-targets button:disabled{opacity:.5;cursor:default}@media(hover:hover){.share-targets a:hover,.share-targets button:not(:disabled):hover{background:var(--line);color:var(--ink)}}.share-note{margin-top:10px;font-size:13px;color:#e9e4d6cc}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:var(--gutter);background:#0044454d}.how{width:min(760px,100%);height:min(640px,calc(100vh - 2 * var(--gutter)));display:flex;flex-direction:column;background:#fff;color:var(--ink-shadow);box-shadow:4px 4px 0 var(--ink-shadow)}.how.is-full{width:100%;height:100%}.how-bar,.how-foot{background:var(--ink);color:var(--paper)}.how-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 10px 8px 14px}.how-bar h2{font-family:var(--font-pixel);font-weight:400;font-size:13px}.how-actions{display:flex;gap:6px}.how-body{flex:1;overflow-y:auto;padding:28px clamp(18px,5vw,56px) 36px}.how-body>*{max-width:62ch}.how-title{color:var(--ink);font-family:var(--font-pixel);font-weight:400;font-size:clamp(22px,4vw,30px);line-height:1.15;margin-bottom:14px}.how-lede{font-size:18px;line-height:1.55;margin-bottom:22px}.how-body h4{font-family:var(--font-pixel);font-weight:400;font-size:14px;margin:24px 0 6px}.how-body p,.how-body li{font-size:16px;line-height:1.6}.how-body a{color:inherit;text-decoration-color:var(--gold);text-decoration-thickness:2px;text-underline-offset:3px}.how-note{padding:12px 14px;border-left:4px solid var(--gold);background:#f2f2f2;font-size:15px;margin-bottom:8px}.how-body a.how-support{margin-top:12px;height:38px;padding:0 14px;display:inline-flex;align-items:center;gap:10px;background:var(--gold);color:var(--ink);font-family:var(--font-pixel);font-size:13px;text-decoration:none;box-shadow:3px 3px 0 var(--ink-shadow)}@media(hover:hover){.how-body a.how-support:hover{background:var(--ink);color:var(--paper)}}.how-body a.how-support:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink-shadow)}.how-sources{padding-left:18px}.how-foot{padding:7px 14px;font-size:12px;color:var(--paper-dim)}.sky-fx,.sky-fx>*{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.sky-fx>div{transition:opacity 1.5s}.sky-night{background:#1b2a5e;mix-blend-mode:multiply;opacity:var(--sky-night, 0)}.sky-warm{background:#ff9440;mix-blend-mode:soft-light;opacity:var(--sky-warm, 0)}.sky-haze{background:#dfe4e8;opacity:var(--sky-haze, 0)}.sky-precip{image-rendering:pixelated}.sky{position:fixed;left:var(--gutter);top:calc(var(--gutter) + 46px)}.preview-chip~.sky{top:calc(var(--gutter) + 100px)}.sky-box{display:flex;align-items:center;gap:10px;padding:6px 10px;cursor:pointer;text-align:left}.sky-text{display:grid;gap:3px;font-family:var(--font-pixel);line-height:1}.sky-time{font-size:14px}.sky-cond{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--paper-dim)}.sky-menu{position:absolute;left:0;top:calc(100% + 10px);width:min(340px,calc(100vw - 2 * var(--gutter)));padding:14px}.sky-menu .segmented-row button{font-size:11px}.sky-note{font-size:12px;color:var(--paper-dim)}@media(max-width:640px){:root{--gutter: 12px}.hud{flex-direction:column-reverse;align-items:stretch}.hud-tools{justify-content:end}.search{width:100%}.settings,.share{bottom:calc(2 * var(--box-h) + 24px)}.minimap{width:120px;height:auto}.preview-chip{max-width:calc(100vw - 2 * var(--gutter) - 136px);font-size:12px}}@media(pointer:coarse){.search input{font-family:var(--font-text);font-size:16px}}@media(prefers-reduced-motion:reduce){.pin:before{animation:none}}
