:root{--bg:#000;--panel:#1c1c1e;--panel2:#141416;--line:#2c2c2e;--line2:#38383a;--separator:#54545880;--ink:#e8e8ed;--ink-strong:#fff;--dim:#ebebf599;--dim2:#ebebf54d;--green:#30d158;--green-ink:#003910;--amber:#ff9f0a;--red:#ff453a;--accent:#0a84ff;--accent-hover:#409cff;--r-input:6px;--r-btn:8px;--r-card:10px;--r-modal:12px;--sans:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",sans-serif;--mono:"SF Mono",ui-monospace,Menlo,Consolas,"Roboto Mono",monospace}*{box-sizing:border-box}body{font-family:var(--sans);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;margin:0;font-size:14px;line-height:1.5}.topbar{background:var(--panel);border-bottom:1px solid var(--separator);align-items:center;gap:18px;padding:11px 18px;display:flex}.brand{letter-spacing:-.01em;color:var(--ink-strong);align-items:center;gap:9px;font-size:13px;font-weight:600;display:flex}.brand:before{content:"";background:var(--accent);border-radius:50%;width:8px;height:8px}.topbar .meta{align-items:center;gap:16px;margin-left:8px;display:flex}.kv{color:var(--dim);align-items:center;gap:7px;font-size:12px;display:flex}.kv b{color:var(--ink);font-weight:600}.kv select{background:var(--line);color:var(--ink);border-radius:var(--r-input);font-family:var(--sans);border:none;padding:5px 8px;font-size:12px}.navlinks{gap:14px}.navlinks a{color:var(--dim);padding-bottom:1px;text-decoration:none}.navlinks a:hover{color:var(--ink-strong)}.spacer{flex:1}.tag{color:var(--dim);background:var(--line);border-radius:20px;padding:3px 10px;font-size:11px}.tag.dev{color:var(--amber);background:#ff9f0a26}.logout-form{align-items:center;gap:8px;display:flex}.shell{grid-template-columns:264px 1fr;min-height:calc(100vh - 45px);display:grid}.rail{border-right:1px solid var(--separator);background:var(--panel2)}.rail .rail-head{border-bottom:1px solid var(--separator);justify-content:space-between;align-items:center;padding:12px 14px 10px;display:flex}.rail .rail-head .t{letter-spacing:.06em;text-transform:uppercase;color:var(--dim);font-size:11px;font-weight:600}.btn{cursor:pointer;font-family:var(--sans);border-radius:var(--r-btn);background:var(--line);color:var(--accent-hover);border:none;padding:6px 12px;font-size:12px;font-weight:600}.btn:hover{background:var(--line2)}.plist{margin:0;padding:6px;list-style:none}.plist li{border-top:none}.plist a{color:var(--ink);border-radius:var(--r-btn);border-left:none;padding:9px 10px;text-decoration:none;display:block}.plist a:hover{background:var(--panel)}.plist a.active{color:var(--ink-strong);background:#0a84ff24}.plist .pid{font-size:13px;font-weight:500}.plist .psub{color:var(--dim);margin-top:2px;font-size:11px;display:block}.detail{max-width:880px;padding:18px 22px}.crumb{color:var(--dim);margin-bottom:10px;font-size:12px}.crumb a{color:var(--dim);text-decoration:none}.phead{flex-wrap:wrap;align-items:baseline;gap:14px;margin-bottom:4px;display:flex}.phead h2{color:var(--ink-strong);letter-spacing:-.02em;margin:0;font-size:21px;font-weight:700}.phead .by{color:var(--dim);font-size:13px}.dtags{gap:6px;display:flex}.dtag{color:var(--dim);background:var(--line);border-radius:20px;padding:3px 10px;font-size:11px}.sec{letter-spacing:.06em;text-transform:uppercase;color:var(--dim);margin:24px 0 8px;font-size:11px;font-weight:600}.mgrid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}@media (max-width:680px){.mgrid{grid-template-columns:repeat(2,1fr)}}.cell{background:var(--panel);border-radius:var(--r-card);padding:13px 14px}.cell-l{color:var(--dim);font-size:11px}.cell-v{letter-spacing:-.02em;color:var(--ink-strong);margin-top:3px;font-size:24px;font-weight:700}.cell-u{color:var(--dim);font-size:12px;font-weight:400}.cell-d{color:var(--green);margin-top:3px;font-size:11px}.cell-d.up{color:var(--amber)}.cell-d-tag{opacity:.8;margin-left:5px;font-weight:600}.trend-head{justify-content:space-between;align-items:center;display:flex}.seg{background:var(--panel);border-radius:var(--r-btn);padding:2px;display:inline-flex}.seg button{cursor:pointer;font-family:var(--sans);color:var(--dim);background:0 0;border:none;border-radius:6px;padding:5px 12px;font-size:12px;font-weight:500}.seg button.on{color:var(--ink-strong);background:#3a3a3c}.spark{width:100%;height:64px;color:var(--accent);margin:8px 0 4px;display:block}table.log{border-collapse:collapse;width:100%;font-size:13px}table.log th{text-align:left;letter-spacing:.04em;text-transform:uppercase;color:var(--dim);border-bottom:1px solid var(--separator);padding:6px 8px;font-size:11px;font-weight:600}table.log td{border-top:1px solid var(--separator);color:var(--ink-strong);padding:9px 8px}table.log td.num{text-align:right}.pill{letter-spacing:.04em;text-transform:uppercase;background:var(--line);color:var(--dim);border:none;border-radius:20px;padding:2px 9px;font-size:10px;font-weight:600}.pill.boden{color:var(--green);background:#30d15826}.pill.quest{color:var(--amber);background:#ff9f0a26}.pill.both{color:var(--accent);background:#0a84ff26}.arrow{color:var(--green)}.forms{grid-template-columns:1fr 1fr;gap:14px;margin-top:8px;display:grid}@media (max-width:680px){.forms{grid-template-columns:1fr}}.card{background:var(--panel);border-radius:var(--r-card);border:none;padding:15px 16px}.card .ct{letter-spacing:.06em;text-transform:uppercase;color:var(--dim);margin:0 0 12px;font-size:11px;font-weight:600}label{color:var(--dim);margin:0 0 5px;font-size:12px;font-weight:500;display:block}input,select.f{width:100%;font-family:var(--sans);color:var(--ink);background:var(--line);border-radius:var(--r-input);border:none;outline:none;margin-bottom:10px;padding:8px 10px;font-size:13px}input:focus,select.f:focus{outline:2px solid var(--accent);outline-offset:1px;box-shadow:0 0 0 3px #0a84ff80}.row{gap:10px;display:flex}.row>div{flex:1}.cta{cursor:pointer;font-family:var(--sans);border-radius:var(--r-btn);background:var(--accent);color:#fff;border:none;padding:8px 16px;font-size:13px;font-weight:600}.cta:hover{background:var(--accent-hover)}.cta:disabled{background:var(--line);color:var(--dim);cursor:not-allowed}.hint{color:var(--dim);margin-top:2px;font-size:12px}.empty{color:var(--dim);font-size:13px}[role=alert]{color:var(--red);border-radius:var(--r-btn);background:#ff453a1f;border:none;margin:4px 0;padding:8px 11px;font-size:12px}.gate-panel .btn{align-self:flex-start;text-decoration:none}.gate-panel code{color:var(--ink-strong);font-family:var(--mono)}.orggate{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.orggate-card{border-radius:var(--r-modal);background:var(--panel);border:none;flex-direction:column;gap:16px;padding:28px;display:flex}.orggate-hint{color:var(--dim);margin:0;font-size:13px}.token-once{color:var(--amber);word-break:break-all;font-size:12px;font-family:var(--mono)}.token-once code{color:var(--ink-strong)}.token{font-size:13px;font-family:var(--mono);color:var(--ink-strong);background:var(--line);border-radius:var(--r-input);word-break:break-all;border:none;margin:0 0 8px;padding:8px 10px;display:block}form.derive{flex-wrap:wrap;align-items:center;gap:6px;display:flex}form.derive select.f,form.derive input{width:auto;margin-bottom:0;padding:4px 7px;font-size:11px}form.derive input[name=distanceMeters]{max-width:70px}form.derive [role=alert]{flex-basis:100%;margin:0;padding:3px 7px;font-size:10px}.viewer-bar{align-items:center;gap:10px;margin-top:10px;display:flex}.viewer-bar input[type=range]{accent-color:var(--accent);flex:1}.exgrid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;display:grid}.excard{color:var(--ink);background:var(--panel);border-radius:var(--r-card);border:1px solid #0000;flex-direction:column;gap:6px;padding:12px;text-decoration:none;display:flex}.excard:hover{border-color:var(--accent)}.excard:focus-visible{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:1px}.excard .exlabel{color:var(--ink-strong);font-weight:500}.excard .pill{align-self:flex-start}.exid{color:var(--dim);font-size:11px;font-family:var(--mono)}.exlink{color:var(--ink);-webkit-text-decoration:underline dotted var(--line2);text-decoration:underline dotted var(--line2)}.exlink:hover{color:var(--accent)}.catbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:2px 0 16px;display:flex}.catbar .seg{flex-wrap:wrap}.catsearch{background:var(--line);border-radius:var(--r-input);width:auto;min-width:170px;color:var(--ink);font-family:var(--sans);border:none;outline:none;flex:0 240px;margin-bottom:0;padding:7px 11px;font-size:13px}.catsearch::placeholder{color:var(--dim)}.catsearch:focus{outline:2px solid var(--accent);outline-offset:1px}.exthumb{aspect-ratio:16/10;background:var(--panel2);border-radius:8px;justify-content:center;align-items:center;margin-bottom:2px;display:flex;overflow:hidden}.exthumb img{object-fit:cover;width:100%;height:100%;display:block}.exthumb-ph{background:linear-gradient(135deg,#1f1f22,#2c2c2e);width:100%;height:100%}.exmeta{justify-content:space-between;align-items:center;gap:8px;display:flex}.exdur{color:var(--dim);font-variant-numeric:tabular-nums;font-size:11px}.exmetarow{color:var(--dim);flex-wrap:wrap;gap:6px 18px;margin:6px 0 4px;font-size:13px;display:flex}.exmetarow b{color:var(--ink);font-weight:600}.cuelegend{color:var(--dim);flex-wrap:wrap;gap:14px;margin-top:10px;font-size:12px;display:flex}.cuelegend .lg{align-items:center;gap:6px;display:inline-flex}.cuelegend .sw{border-radius:3px;width:11px;height:11px;display:inline-block}.skeleton{border-radius:var(--r-card);background:linear-gradient(100deg,var(--panel2) 30%,var(--line) 50%,var(--panel2) 70%);background-size:200% 100%;width:100%;height:420px}@media (prefers-reduced-motion:no-preference){.skeleton{animation:1.3s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}}.viewer-reset{cursor:pointer;font-family:var(--sans);border-radius:var(--r-btn);background:var(--line);color:var(--accent-hover);border:none;padding:5px 11px;font-size:12px;font-weight:600}.viewer-reset:hover{background:var(--line2)}.prescribe .row{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.prescribe select.f,.prescribe input{margin-bottom:0}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
