:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#04060c;--fg:#f2f5fb;--muted:#f2f5fb9e;--faint:#f2f5fb66;--gold:#e7b35a;--up:#3ddc97;--down:#ff6b6b;--line:#f2f5fb24;--card:#0c101a8c}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;padding:0}body{background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;font-family:Space Grotesk,system-ui,sans-serif;overflow:hidden}#root{width:100vw;height:100vh}canvas{display:block}.bgwrap{z-index:0;background:var(--bg);position:fixed;inset:0;overflow:hidden}.bg{opacity:0;will-change:opacity, transform, filter;background-position:50%;background-size:cover;position:absolute;inset:0;transform:scale(1.08)}.bg-skyline{opacity:1;background-image:url(/fin/skyline.jpg)}.bg-floor{background-image:url(/fin/floor.jpg)}.bg-exchange{background-image:url(/fin/exchange.jpg)}.bg-night{background-image:url(/fin/night.jpg)}.bg-skyline{animation:6s ease-in-out both dayToNight}@keyframes dayToNight{0%{filter:brightness(1.7)saturate(.7)contrast(.95)}to{filter:brightness(.78)saturate(1.05)contrast(1.05)}}.night-veil{pointer-events:none;opacity:0;background:linear-gradient(#03071233,#03071280);animation:6s ease-in-out both veilIn;position:absolute;inset:0}@keyframes veilIn{0%{opacity:0}to{opacity:1}}.bg-grain{opacity:.045;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:-50%}.bg-vignette{pointer-events:none;background:radial-gradient(130% 100% at 50% 38%,#0000 30%,#03060eb3 100%),linear-gradient(#03060e8c,#03060e26 38%,#03060ed9);position:absolute;inset:0}.gl-wrap{z-index:1;position:fixed;inset:0}.panel{pointer-events:none;flex-direction:column;justify-content:center;width:100vw;min-height:100vh;padding:12vh 9vw;display:flex}.panel.center{text-align:center;align-items:center}.eyebrow{letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin:0 0 1.1rem;font-family:IBM Plex Mono,monospace;font-size:clamp(11px,1.1vw,13px)}.panel h1{letter-spacing:-.025em;margin:0;font-size:clamp(44px,8.5vw,116px);font-weight:700;line-height:.95}.panel h2{letter-spacing:-.015em;margin:0 0 1.5rem;font-size:clamp(28px,4.6vw,60px);font-weight:500}.lead{color:var(--muted);max-width:56ch;margin:1.4rem 0 0;font-size:clamp(16px,1.8vw,22px);line-height:1.6}.hint{letter-spacing:.3em;text-transform:uppercase;color:var(--faint);font-family:IBM Plex Mono,monospace;font-size:12px;animation:2s ease-in-out infinite bob;position:absolute;bottom:7vh}@keyframes bob{0%,to{opacity:.5;transform:translateY(0)}50%{opacity:1;transform:translateY(8px)}}.cards{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:18px;max-width:1100px;margin-top:2.2rem;display:grid}.card{pointer-events:auto;background:var(--card);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:14px;padding:22px 22px 20px;transition:transform .35s cubic-bezier(.2,.7,.3,1),border-color .35s,background .35s}.card:hover{background:#101420b3;border-color:#e7b35a80;transform:translateY(-6px)}.card .tag{letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:0 0 10px;font-family:IBM Plex Mono,monospace;font-size:11px}.card h3{margin:0 0 8px;font-size:19px;font-weight:500}.card p{color:var(--muted);margin:0;font-size:14px;line-height:1.6}.card .meta{color:var(--faint);flex-wrap:wrap;gap:14px;margin-top:14px;font-family:IBM Plex Mono,monospace;font-size:12px;display:flex}.stats{flex-wrap:wrap;gap:2.5rem;margin-top:2.2rem;display:flex}.stat .num{color:var(--fg);font-family:IBM Plex Mono,monospace;font-size:clamp(26px,3.4vw,40px);font-weight:500}.stat .num.up{color:var(--up)}.stat .lbl{color:var(--muted);margin-top:4px;font-size:13px}.links{pointer-events:auto;flex-wrap:wrap;gap:14px;margin-top:2rem;display:flex}.btn{color:var(--fg);border:1px solid var(--line);border-radius:10px;align-items:center;gap:9px;padding:12px 20px;font-size:15px;text-decoration:none;transition:transform .2s,border-color .2s,background .2s;display:inline-flex}.btn:hover{background:#e7b35a14;border-color:#e7b35a99;transform:translateY(-2px)}.btn.primary{background:var(--gold);color:#1a1205;border-color:var(--gold);font-weight:500}.btn.primary:hover{background:#f0c473}.banknote{z-index:3;pointer-events:none;width:250px;position:fixed;top:26px;right:30px}.note-frame{aspect-ratio:5/2.2;border:1px solid var(--line);background:#04060c80;border-radius:8px;width:100%;position:relative;overflow:hidden;box-shadow:0 14px 40px #00000073}.note{opacity:0;background-position:50%;background-size:cover;transition:opacity .25s linear;position:absolute;inset:0}.note-0{opacity:1;background-image:url(/notes/01-usd.jpg)}.note-1{background-image:url(/notes/02-inr.jpg)}.note-2{background-image:url(/notes/03-cny.jpg)}.note-3{background-image:url(/notes/04-jpy.jpg)}.note-4{background-image:url(/notes/05-usd1907.jpg)}.note-label{letter-spacing:.12em;color:var(--muted);text-align:right;margin-top:9px;font-family:IBM Plex Mono,monospace;font-size:11px}@media (width<=760px){.banknote{width:150px;top:16px;right:16px}}.ticker{z-index:3;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#04060cb8;align-items:center;width:100%;height:38px;font-family:IBM Plex Mono,monospace;font-size:13px;display:flex;position:fixed;bottom:0;left:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000);mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000)}.ticker-track{white-space:nowrap;gap:34px;padding-left:100%;animation:38s linear infinite marquee;display:flex}.tick{color:var(--muted)}.tick b{color:var(--fg);margin-right:8px;font-weight:500}.tick .up{color:var(--up)}.tick .down{color:var(--down)}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.bg-skyline,.night-veil{filter:brightness(.8)saturate(1.05);animation:none}.night-veil{opacity:1}.ticker-track,.hint{animation:none}}
