@font-face{font-family:"Inter";src:url(fonts/inter-latin.woff2) format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";src:url(fonts/inter-latin-ext.woff2) format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"JetBrains Mono";src:url(fonts/jbmono-latin.woff2) format("woff2");font-weight:100 800;font-display:swap}
:root{
  --space:#04051A; --glass:rgba(8,10,34,.55); --glass2:rgba(14,17,52,.72); --line:rgba(150,160,255,.18); --line2:rgba(150,160,255,.32);
  --ink:#EAEDFF; --mute:#A9B0DD; --dim:#737BB0;
  --cyan:#4FE3F0; --blue:#1E63D8; --violet:#8A4CFF; --pink:#FF5AD6; --sun:#FFE49A; --amber:#FFB347; --crimson:#EF1F5A;
  --font:"Circular","Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;
  /* type scale: label 10 / meta 11 / body 13 / lead 15 / title 22 / logo 21 */
  --t-label:10px; --t-meta:11px; --t-body:13px; --t-lead:15px; --t-title:22px;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%;background:var(--space);color:var(--ink);font-family:var(--font);font-size:var(--t-body);line-height:1.4;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv11","ss01","calt";text-rendering:optimizeLegibility}
#gl{position:fixed;inset:0;width:100%;height:100%;display:block;cursor:grab;touch-action:none}
#gl.drag{cursor:grabbing}
button{font:inherit;color:inherit}
button:focus-visible,input:focus-visible{outline:2px solid var(--sun);outline-offset:2px}

#brand{position:fixed;left:22px;top:calc(16px + env(safe-area-inset-top,0px));display:grid;gap:3px;z-index:5;pointer-events:none}
.logo{display:flex;align-items:center;gap:10px;font-weight:900;letter-spacing:-.045em;font-size:21px;line-height:1}
.logo .orb{width:26px;height:26px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#B8F6FA,#4FE3F0 25%,#8A4CFF 60%,#FF5AD6 85%);box-shadow:0 0 18px rgba(138,76,255,.6)}
.logo i{font-style:normal;font-family:var(--mono);font-size:9px;letter-spacing:.16em;background:var(--crimson);color:#fff;padding:3px 5px 3px 6px;border-radius:3px;font-weight:600;line-height:1;animation:pulse 2s infinite}
@keyframes pulse{50%{opacity:.55}}
.clock{font-family:var(--mono);font-size:var(--t-label);color:var(--dim);letter-spacing:.06em;padding-left:36px;font-variant-numeric:tabular-nums;white-space:nowrap}

#search{position:fixed;left:50%;top:calc(14px + env(safe-area-inset-top,0px));transform:translateX(-50%);width:min(440px,calc(100vw - 420px));z-index:6}
#q{width:100%;font-family:var(--font);letter-spacing:-.005em;padding:12px 16px 12px 40px;border-radius:999px;border:1px solid var(--line2);background:var(--glass) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23A9B0DD' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") 14px 50% no-repeat;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:var(--ink);font-size:14px}
#q::placeholder{color:var(--dim)}
#sugg{list-style:none;margin:6px 0 0;padding:6px;border-radius:16px;background:var(--glass2);border:1px solid var(--line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
#sugg li{padding:9px 12px;border-radius:10px;cursor:pointer;font-size:13px;color:var(--mute)}
#sugg li b{color:var(--ink);font-weight:600;letter-spacing:-.01em}
#sugg li:hover,#sugg li.on{background:rgba(79,227,240,.12)}

#layers{position:fixed;left:16px;top:calc(78px + env(safe-area-inset-top,0px));width:264px;z-index:5;padding:12px;border-radius:20px;background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);max-height:calc(100vh - 150px);overflow:auto}
.lh{font-family:var(--mono);font-size:var(--t-label);font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--cyan);padding:2px 4px 8px;display:flex;justify-content:space-between}
#allstat{color:var(--dim)}
.chip{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;text-align:left;background:transparent;border:1px solid transparent;border-radius:12px;padding:7px 8px;cursor:pointer}
.chip:hover{background:rgba(150,160,255,.08)}
.chip .d{width:10px;height:10px;border-radius:50%;background:var(--c);box-shadow:0 0 8px var(--c)}
.chip.off .d{background:transparent;box-shadow:none;border:1.5px solid var(--dim)}
.chip .n{font-size:var(--t-body);font-weight:600;letter-spacing:-.012em;line-height:1.2;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chip .s{display:block;font-family:var(--mono);font-size:9.5px;letter-spacing:.02em;color:var(--dim);font-weight:400;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chip .v{font-family:var(--mono);font-size:var(--t-meta);font-weight:600;color:var(--sun);font-variant-numeric:tabular-nums;white-space:nowrap}
.chip.off .n{color:var(--dim)}
.chip.err .s{color:var(--crimson)}
.chip.load .v{color:var(--dim)}
.mood{margin-top:8px;padding:10px 8px 4px;border-top:1px solid var(--line)}
.mt{font-family:var(--mono);font-size:9.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.mg{display:flex;justify-content:space-between;margin-top:6px}
.mg i{font-style:normal;font-size:10px;color:var(--mute);display:flex;align-items:center;gap:4px}
.mg i::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--c)}
.mv{font-size:12px;color:var(--mute);margin-top:7px;line-height:1.45}
.mv b{color:var(--ink);font-weight:600}

#zoom{position:fixed;right:18px;top:50%;transform:translateY(-50%);display:grid;gap:10px;z-index:5}
#zoom button{width:46px;height:46px;border-radius:50%;border:0;cursor:pointer;font-size:22px;font-weight:700;color:#fff;background:linear-gradient(160deg,#FF5AA0,#EF1F5A 55%,#C40F3A);box-shadow:0 6px 20px rgba(239,31,90,.4),inset 0 1px 0 rgba(255,255,255,.3)}
#zoom button.w{font-size:10px;font-weight:800;letter-spacing:.02em;background:#fff;color:#C40F3A}

#tip{position:fixed;z-index:8;pointer-events:none;padding:7px 10px 8px;border-radius:4px;background:#FFE49A;color:#1a1530;font-size:12.5px;font-weight:650;letter-spacing:-.01em;max-width:280px;box-shadow:0 6px 20px rgba(0,0,0,.4);line-height:1.35}
#tip small{display:block;font-weight:450;font-size:11px;letter-spacing:0;opacity:.78;margin-top:2px;font-variant-numeric:tabular-nums}

#lens{position:fixed;right:80px;top:calc(78px + env(safe-area-inset-top,0px));width:min(420px,calc(100vw - 110px));z-index:6;padding:16px;border-radius:24px;background:var(--glass2);border:1px solid var(--line2);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 20px 60px rgba(0,0,0,.5);max-height:calc(100vh - 150px);overflow:auto}
#lclose{position:absolute;right:12px;top:10px;width:30px;height:30px;border-radius:50%;border:1px solid var(--line2);background:transparent;cursor:pointer;font-size:18px;line-height:1}
.ln{font-size:var(--t-title);font-weight:900;letter-spacing:.04em;color:var(--pink);padding-right:30px;text-transform:uppercase;line-height:1.1}
.lsub{font-size:var(--t-meta);color:var(--mute);margin-top:4px;letter-spacing:.01em}
.lstats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:12px}
.lstats div{padding:8px;border-radius:12px;background:rgba(4,5,26,.5);border:1px solid var(--line)}
.lstats b{display:block;font-size:var(--t-lead);font-weight:700;letter-spacing:-.01em;color:var(--sun);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lstats span{display:block;margin-top:2px;font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
#lc{width:100%;height:auto;display:block;margin-top:10px;border-radius:18px;cursor:pointer}
.lfoot{font-family:var(--mono);font-size:9.5px;letter-spacing:.02em;color:var(--dim);margin-top:10px;line-height:1.6}
.lsheet{margin-top:10px;padding:12px;border-radius:16px;background:rgba(4,5,26,.6);border:1px solid var(--line2);display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px}
.lsheet img{width:72px;height:72px;object-fit:cover;border-radius:10px}
.lsheet .st{font-size:var(--t-lead);font-weight:700;letter-spacing:-.015em;color:#FFE49A;line-height:1.25}
.lsheet p{margin:5px 0 0;font-size:12px;color:var(--mute);line-height:1.5}
.lsheet a{color:var(--cyan);font-size:12px}

#ticker{position:fixed;left:0;right:0;bottom:0;z-index:4;height:34px;padding-bottom:env(safe-area-inset-bottom,0px);background:linear-gradient(transparent,rgba(4,5,26,.85));overflow:hidden;pointer-events:none}
.tt{position:absolute;white-space:nowrap;bottom:10px;left:0;font-size:12px;letter-spacing:-.005em;color:var(--mute);will-change:transform}
.tt span{margin-right:42px}
.tt b{color:var(--sun);font-weight:600}
.tt em{font-style:normal;color:var(--cyan);font-family:var(--mono);font-size:9.5px;font-weight:600;letter-spacing:.14em;margin-right:8px;vertical-align:1px}

#boot{position:fixed;inset:0;z-index:20;display:grid;place-content:center;justify-items:center;gap:16px;background:var(--space);transition:opacity 1s}
#boot .bo{width:64px;height:64px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#B8F6FA,#4FE3F0 25%,#8A4CFF 60%,#FF5AD6 85%);animation:pulse 1.4s infinite;box-shadow:0 0 40px rgba(138,76,255,.6)}
#boot .bt{font-family:var(--mono);font-size:11px;color:var(--mute);letter-spacing:.12em;text-transform:uppercase}
#boot.done{opacity:0;pointer-events:none}

@media (max-width:760px){
  #layers{top:auto;bottom:44px;left:8px;right:8px;width:auto;max-height:34vh}
  #search{width:calc(100vw - 32px);top:calc(56px + env(safe-area-inset-top,0px))}
  #lens{left:8px;right:8px;width:auto;top:calc(104px + env(safe-area-inset-top,0px));max-height:calc(100vh - 160px)}
  #zoom{top:auto;bottom:calc(36vh + 54px);transform:none;right:10px}
  #zoom button{width:40px;height:40px}
  .clock{display:none}
}
@media (prefers-reduced-motion:reduce){.logo i,#boot .bo{animation:none}}

#stamp{position:fixed;right:14px;bottom:40px;z-index:4;font-family:var(--mono);font-size:9.5px;color:var(--dim);letter-spacing:.1em;text-transform:uppercase;pointer-events:none}
.lsheet .dotc{width:18px;height:18px;border-radius:50%;margin:4px auto 0;box-shadow:0 0 14px currentColor}
