:root{--bg:#0a0a0a;--bg-2:#0d0d0f;--accent:#ff3b16;--accent-soft:#ff5a39;--fg:#f2f2f0;--muted:#f2f2f08c;--faint:#f2f2f052;--hair:#f2f2f01f;--glass:#1414168c;--glass-brd:#ffffff14;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:Inter,system-ui,-apple-system,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{background:var(--bg);width:100%;height:100%;color:var(--fg);overflow:hidden}#root{position:fixed;inset:0}canvas{touch-action:none;outline:none;display:block}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}.app{position:fixed;inset:0}.scene{z-index:0;position:absolute;inset:0}.vignette{z-index:1;pointer-events:none;background:radial-gradient(120% 90% at 50% 42%,#0000 55%,#0000008c 100%);position:absolute;inset:0}.header{z-index:20;pointer-events:none;justify-content:space-between;align-items:flex-start;padding:24px 30px;display:flex;position:absolute;top:0;left:0;right:0}.header>*{pointer-events:auto}.brand{-webkit-user-select:none;user-select:none;line-height:1}.brand .word{letter-spacing:.02em;align-items:baseline;gap:7px;font-size:19px;display:flex}.brand .word b{font-weight:800}.brand .word span{color:var(--muted);letter-spacing:.16em;font-size:13px;font-weight:300}.brand .est{letter-spacing:.34em;color:var(--faint);text-transform:uppercase;margin-top:6px;font-size:9.5px;font-weight:500}.nav{align-items:center;gap:26px;display:flex}.nav .item{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);align-items:center;gap:7px;font-size:11px;display:flex}.nav .item .n{color:var(--faint);font-size:9px;font-weight:600}.nav .item:hover{color:var(--fg)}.nav .tag{letter-spacing:.14em;color:var(--accent);font-size:11px;font-weight:500}.dock-wrap{z-index:25;pointer-events:none;justify-content:center;display:flex;position:absolute;bottom:30px;left:0;right:0}.dock{pointer-events:auto;background:var(--glass);border:1px solid var(--glass-brd);-webkit-backdrop-filter:blur(18px)saturate(1.2);border-radius:999px;align-items:center;gap:6px;padding:8px 10px;display:flex;box-shadow:0 18px 60px -20px #000000b3,inset 0 1px #ffffff0a}.dock .plus{width:38px;height:38px;color:var(--fg);background:#ffffff0d;border-radius:999px;place-items:center;font-size:20px;font-weight:300;transition:background .2s,transform .2s;display:grid}.dock .plus:hover{background:#ffffff1a;transform:rotate(90deg)}.dock .divider{background:var(--hair);width:1px;height:22px;margin:0 4px}.chip{color:var(--muted);white-space:nowrap;border-radius:999px;padding:9px 16px;font-size:13px;font-weight:500;transition:all .18s}.chip:hover{color:var(--fg)}.chip.on{color:#111;background:#f4f4f2;box-shadow:0 4px 14px -4px #00000080}.cat{color:var(--muted);letter-spacing:.01em;border-radius:999px;padding:9px 17px;font-size:13px;font-weight:600;transition:all .2s;position:relative}.cat:hover{color:var(--fg)}.cat.on{background:var(--accent);color:#120402;box-shadow:0 6px 20px -6px var(--accent)}.cat .mm{opacity:.6;margin-left:3px;font-size:9px;font-weight:600}.focus-layer{z-index:22;pointer-events:none;position:absolute;inset:0}.focus-info{text-align:center;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;bottom:122px;left:0;right:0}.focus-info .ftype{letter-spacing:.34em;text-transform:uppercase;color:var(--accent);font-size:10px;font-weight:600}.focus-info .fname{letter-spacing:-.01em;font-size:30px;font-weight:500}.focus-info .fmeta{color:var(--muted);align-items:center;gap:14px;font-size:13px;display:flex}.focus-info .fmeta .dot{background:var(--faint);border-radius:999px;width:3px;height:3px}.focus-info .fprice{margin-top:2px;font-size:17px;font-weight:500}.focus-info .fprice b{color:var(--accent);font-weight:600}.focus-info .fprice span{color:var(--muted);font-size:13px;font-weight:400}.close-btn{z-index:26;pointer-events:auto;border:1px solid var(--glass-brd);width:38px;height:38px;color:var(--muted);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0f;border-radius:999px;place-items:center;font-size:15px;transition:all .2s;display:grid;position:absolute;top:90px;right:44px}.close-btn:hover{color:var(--fg);background:#ffffff1f}.cta-wrap{z-index:26;pointer-events:none;justify-content:center;display:flex;position:absolute;bottom:30px;left:0;right:0}.cta{pointer-events:auto;background:var(--accent);color:#120402;letter-spacing:.02em;box-shadow:0 14px 40px -10px var(--accent);border-radius:999px;align-items:center;gap:10px;padding:15px 30px;font-size:14px;font-weight:600;transition:transform .2s,box-shadow .2s;display:inline-flex}.cta:hover{box-shadow:0 20px 50px -12px var(--accent);transform:translateY(-2px)}.cta .arr{font-size:15px}.minimap{z-index:24;background:var(--glass);border:1px solid var(--glass-brd);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:16px;grid-template-columns:repeat(3,10px);gap:12px;padding:14px;display:grid;position:absolute;bottom:30px;right:26px}.minimap .d{background:#ffffff29;border-radius:999px;width:10px;height:10px;transition:all .25s}.minimap .d.on{background:var(--accent);box-shadow:0 0 12px var(--accent);transform:scale(1.15)}.hint{z-index:21;letter-spacing:.28em;text-transform:uppercase;color:var(--faint);pointer-events:none;white-space:nowrap;font-size:10.5px;position:absolute;bottom:96px;left:50%;transform:translate(-50%)}.loader{z-index:40;background:var(--bg);align-content:center;place-items:center;gap:18px;transition:opacity .6s;display:grid;position:absolute;inset:0}.loader.hide{opacity:0;pointer-events:none}.loader .lbrand{letter-spacing:.04em;font-size:22px;font-weight:800}.loader .lbar{background:#ffffff1a;border-radius:2px;width:160px;height:2px;overflow:hidden}.loader .lbar i{background:var(--accent);width:30%;height:100%;animation:1.1s ease-in-out infinite load;display:block}@keyframes load{0%{transform:translate(-120%)}to{transform:translate(420%)}}@media (width<=720px){.nav .item span.lbl{display:none}.focus-info .fname{font-size:22px}.dock{gap:3px;padding:7px 8px}.chip,.cat{padding:8px 12px;font-size:12px}.header{padding:18px}.minimap{display:none}}
