@font-face{font-family:"Inter";src:url(fonts/inter-latin.woff2) format("woff2");font-weight:100 900;font-display:block}
@font-face{font-family:"Inter";src:url(fonts/inter-latin-ext.woff2) format("woff2");font-weight:100 900;font-display:block;unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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:block}
: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:"Inter","Circular",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%;background:var(--space);color:var(--ink);font-family:var(--font);overflow:hidden;-webkit-font-smoothing:antialiased}
#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:20px;top:calc(16px + env(safe-area-inset-top,0px));display:flex;align-items:center;gap:18px;z-index:5;pointer-events:none}
.logo{display:flex;align-items:center;gap:10px;font-weight:900;letter-spacing:-.045em;font-size:22px}
.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:10px;letter-spacing:.14em;color:#1a1530;background:var(--crimson);color:#fff;padding:3px 6px;border-radius:4px;font-weight:600;animation:pulse 2s infinite}
@keyframes pulse{50%{opacity:.55}}
.clock{font-family:var(--mono);font-size:12px;color:var(--mute);letter-spacing:.04em}

#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%;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}
#sugg li:hover,#sugg li.on{background:rgba(79,227,240,.12)}

#layers{position:fixed;left:16px;top:calc(70px + env(safe-area-inset-top,0px));width:250px;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:10px;letter-spacing:.14em;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:14px minmax(0,1fr) auto;gap:8px;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:13px;font-weight:600;line-height:1.2}
.chip .s{display:block;font-family:var(--mono);font-size:9.5px;color:var(--dim);font-weight:400;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chip .v{font-family:var(--mono);font-size:11px;color:var(--sun);font-variant-numeric:tabular-nums}
.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;letter-spacing:.1em;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(--ink);margin-top:6px;line-height:1.4}

#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:700;letter-spacing:.06em;background:#fff;color:#C40F3A}

#tip{position:fixed;z-index:8;pointer-events:none;padding:8px 11px;border-radius:4px;background:#FFE49A;color:#1a1530;font-size:12px;font-weight:600;max-width:280px;box-shadow:0 6px 20px rgba(0,0,0,.4);line-height:1.35}
#tip small{display:block;font-weight:400;font-size:11px;opacity:.8}

#lens{position:fixed;right:80px;top:calc(70px + 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:22px;font-weight:900;letter-spacing:-.03em;color:var(--pink);padding-right:30px;text-transform:uppercase}
.lsub{font-size:12px;color:var(--mute);margin-top:2px}
.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:16px;color:var(--sun);font-variant-numeric:tabular-nums}
.lstats span{font-family:var(--mono);font-size:9px;letter-spacing:.08em;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;color:var(--dim);margin-top:8px;line-height:1.5}
.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:15px;font-weight:700;color:#FFE49A}
.lsheet p{margin:4px 0 0;font-size:12px;color:var(--mute);line-height:1.45}
.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;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:10px;letter-spacing:.08em;margin-right:6px}

#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:12px;color:var(--mute);letter-spacing:.06em}
#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:12px;bottom:38px;z-index:4;font-family:var(--mono);font-size:10px;color:var(--dim);letter-spacing:.06em;pointer-events:none}
.lsheet .dotc{width:18px;height:18px;border-radius:50%;margin:4px auto 0;box-shadow:0 0 14px currentColor}

/* ================= DYGN ================= */
#mode{transition:background .4s}
.replay #mode{background:linear-gradient(120deg,#8A4CFF,#FF5AD6);animation:none}
.replay #ticker,.replay #stamp,.replay #clock{display:none}
.lh{cursor:pointer;user-select:none}
.lh::after{content:"–";color:var(--dim);margin-left:8px}
#layers.collapsed .lh::after{content:"+"}
#layers.collapsed #chips,#layers.collapsed .mood{display:none}
#layers.collapsed{width:auto;padding-bottom:6px}
.replay #layers{max-height:calc(100vh - 560px);min-height:44px}
.replay #lens{top:170px;max-height:calc(100vh - 170px - 190px)}
.replay #zoom{top:calc(50% - 60px)}

#dgopen{position:fixed;left:50%;bottom:48px;transform:translateX(-50%);z-index:6;display:flex;align-items:center;gap:10px;padding:12px 20px;border-radius:999px;border:1px solid var(--line2);background:var(--glass2);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);cursor:pointer;font-weight:700;font-size:13px;letter-spacing:.01em;box-shadow:0 10px 30px rgba(0,0,0,.4)}
#dgopen .dot{width:10px;height:10px;border-radius:50%;background:linear-gradient(120deg,#8A4CFF,#FF5AD6);box-shadow:0 0 12px #FF5AD6}
#dgopen[hidden]{display:none}

#dygn{position:fixed;inset:0;z-index:5;pointer-events:none}
#dygn[hidden]{display:none}
.dg-clock{position:absolute;right:20px;top:calc(14px + env(safe-area-inset-top,0px));text-align:right;pointer-events:none}
.dg-clock #dgtime{display:block;font-size:58px;font-weight:900;letter-spacing:-.045em;color:var(--sun);line-height:.92;font-variant-numeric:tabular-nums;text-shadow:0 0 34px rgba(255,228,154,.35)}
.dg-clock span{display:block;font:600 10.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-top:6px}
.dg-clock span+span{margin-top:2px;color:var(--dim)}
.dg-clock em{display:block;font-style:normal;font-size:12.5px;color:var(--mute);margin-top:8px;max-width:240px;margin-left:auto;line-height:1.35}
.dg-clock em b{display:inline;font-size:inherit;letter-spacing:0;font-weight:700;color:var(--ink);text-shadow:none;line-height:inherit}
.replay #search{width:min(400px,calc(100vw - 640px))}

.dg-cap{position:absolute;left:16px;bottom:calc(166px + env(safe-area-inset-bottom,0px));width:min(540px,calc(100vw - 32px));padding:15px 18px 13px;border-radius:22px;background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);pointer-events:auto}
.dg-k{font:600 10px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--cyan);display:flex;justify-content:space-between;gap:12px}
.dg-k span{color:var(--dim);letter-spacing:.06em;text-transform:none}
.dg-cap ol{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:10px}
.dg-cap li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;font-size:13.5px;line-height:1.42;color:var(--mute);cursor:pointer;transition:color .5s}
.dg-cap li i{font-style:normal;width:20px;height:20px;border-radius:50%;border:1px solid var(--line2);display:grid;place-items:center;font:600 10px var(--mono);color:var(--dim);margin-top:1px;transition:all .5s}
.dg-cap li b{color:var(--ink);font-weight:700}
.dg-cap li.on{color:var(--ink)}
.dg-cap li.on b{color:var(--sun)}
.dg-cap li.on i{background:var(--sun);border-color:var(--sun);color:#1a1530;box-shadow:0 0 14px rgba(255,228,154,.6)}
.dg-cap li small{display:block;font:9.5px var(--mono);color:var(--dim);margin-top:3px;letter-spacing:.02em}
.dg-win{font:9.5px var(--mono);color:var(--dim);margin-top:10px;padding-top:8px;border-top:1px solid var(--line)}

.dg-bar{position:absolute;left:16px;right:16px;bottom:calc(14px + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px 16px 10px;border-radius:24px;background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);pointer-events:auto}
.dg-play{width:56px;height:56px;border-radius:50%;border:0;cursor:pointer;display:grid;place-items:center;background:linear-gradient(160deg,#FF5AA0,#EF1F5A 55%,#C40F3A);box-shadow:0 6px 20px rgba(239,31,90,.45),inset 0 1px 0 rgba(255,255,255,.3)}
.dg-play svg{width:24px;height:24px}
.dg-track{position:relative;height:120px;cursor:ew-resize;touch-action:none;outline:none}
#dglanes{position:absolute;inset:0;width:100%;height:100%}
.dg-head{position:absolute;top:-4px;bottom:14px;width:2px;margin-left:-1px;left:0;background:var(--sun);box-shadow:0 0 12px var(--sun);pointer-events:none}
.dg-head span{position:absolute;top:-22px;left:50%;transform:translateX(-50%);background:var(--sun);color:#1a1530;font:700 10px var(--mono);padding:3px 7px;border-radius:4px;white-space:nowrap;letter-spacing:.04em}
.dg-side{display:grid;gap:8px}
.dg-side button{padding:8px 14px;border-radius:999px;border:1px solid var(--line2);background:transparent;cursor:pointer;font-size:11.5px;font-weight:600;color:var(--mute);white-space:nowrap}
.dg-side button.on{background:rgba(255,228,154,.14);border-color:rgba(255,228,154,.55);color:var(--sun)}
.dg-side button:hover{border-color:var(--cyan);color:var(--ink)}

@media (max-width:900px){
  .dg-clock b{font-size:40px} .dg-clock em{display:none}
  .dg-cap{bottom:calc(150px + env(safe-area-inset-bottom,0px));padding:12px 14px} .dg-cap li small{display:none} .dg-cap li{font-size:12.5px}
  .dg-bar{grid-template-columns:auto minmax(0,1fr);left:8px;right:8px;gap:10px;padding:10px}
  .dg-side{grid-column:1/-1;grid-template-columns:1fr 1fr}
  .dg-track{height:96px}
  .replay #layers{display:none}
  .replay #search{display:none}
}

/* ================= the daily film (1920 x 1080) ================= */
#film{display:none}
.film #film{display:block;position:fixed;inset:0;z-index:9;pointer-events:none}
.film #layers,.film #search,.film #zoom,.film #ticker,.film #stamp,.film .dg-side,.film .dg-play,.film .dg-cap,.film #dgopen,.film #tip,.film #lens,.film #boot{display:none!important}
.film #brand{left:64px;top:52px}
.film .logo{font-size:34px;gap:14px}
.film .logo .orb{width:38px;height:38px}
.film .logo i{font-size:14px;padding:5px 9px}
.film .dg-clock{right:64px;top:44px}
.film .dg-clock #dgtime{font-size:112px}
.film #dglocal{display:none}
.film .dg-clock span{font-size:17px;margin-top:10px}
.film .dg-clock em{font-size:21px;max-width:440px;margin-top:14px}
.film .dg-bar{grid-template-columns:minmax(0,1fr);left:64px;right:64px;bottom:44px;padding:22px 26px 14px;border-radius:30px}
.film .dg-track{height:170px}
.film .dg-head span{font-size:15px;top:-30px;padding:4px 10px}
.fm-title{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;text-align:center;background:radial-gradient(ellipse at 50% 50%,rgba(4,5,26,.2),rgba(4,5,26,.75) 70%)}
.fm-title .k{font:700 22px var(--mono);letter-spacing:.42em;text-transform:uppercase;color:var(--cyan)}
.fm-title h1{font-size:250px;font-weight:900;letter-spacing:-.06em;line-height:.86;margin:18px 0 10px;color:var(--sun);text-shadow:0 0 80px rgba(255,228,154,.35)}
.fm-title p{font-size:40px;font-weight:600;margin:0;color:var(--ink);letter-spacing:-.01em}
.fm-title .d{font:600 20px var(--mono);letter-spacing:.14em;color:var(--mute);margin-top:22px;text-transform:uppercase}
.fm-lower{position:absolute;right:64px;bottom:290px;width:900px;padding:30px 36px 28px;border-radius:30px;background:var(--glass);border:1px solid var(--line2);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);opacity:0}
.fm-lower .k{font:700 16px var(--mono);letter-spacing:.26em;text-transform:uppercase;color:var(--cyan)}
.fm-lower .t{font-size:42px;font-weight:700;line-height:1.18;letter-spacing:-.02em;margin-top:14px;color:var(--ink)}
.fm-lower .t b{color:var(--sun);font-weight:900}
.fm-lower .s{font:15px var(--mono);color:var(--dim);margin-top:16px;letter-spacing:.04em}
.fm-end{position:absolute;inset:0;display:grid;align-content:center;padding:0 200px;background:radial-gradient(ellipse at 50% 45%,rgba(4,5,26,.55),rgba(4,5,26,.94) 75%);opacity:0}
.fm-end .k{font:700 24px var(--mono);letter-spacing:.34em;text-transform:uppercase;color:var(--cyan)}
.fm-end ol{list-style:none;padding:0;margin:34px 0 0;display:grid;gap:30px;counter-reset:l}
.fm-end li{font-size:46px;font-weight:700;line-height:1.16;letter-spacing:-.02em;color:var(--ink);counter-increment:l;position:relative;padding-left:70px}
.fm-end li::before{content:counter(l);position:absolute;left:0;top:6px;width:44px;height:44px;border-radius:50%;background:var(--sun);color:#1a1530;font:800 20px var(--mono);display:grid;place-items:center}
.fm-end li b{color:var(--sun);font-weight:900}
.fm-end li small{display:block;font:16px var(--mono);color:var(--dim);margin-top:8px;letter-spacing:.04em}
.fm-end .m{font:17px var(--mono);color:var(--mute);margin-top:38px;letter-spacing:.02em}
.fm-end .sig{display:flex;align-items:center;gap:14px;margin-top:30px;font:600 18px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--pink)}
.fm-end .sig .orb{width:30px;height:30px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#B8F6FA,#4FE3F0 25%,#8A4CFF 60%,#FF5AD6 85%)}
.nw{white-space:nowrap}
