*{box-sizing:border-box}body,html{margin:0;height:100%;font-family:Inter,-apple-system,system-ui,sans-serif;background:#f2e8d8;overflow:hidden}.page{position:fixed;inset:0;--ink:#3d3629;--ink-soft:rgba(61,54,41,0.66);--glass:rgba(255,252,244,0.55);--glass-strong:rgba(255,252,244,0.78);--glass-border:rgba(120,100,70,0.22);--accent:#2f6b3f;--accent-ink:#f4fbf2}.page[data-theme=night]{--ink:#e8e6df;--ink-soft:rgba(232,230,223,0.6);--glass:rgba(18,24,46,0.45);--glass-strong:rgba(18,24,46,0.72);--glass-border:rgba(190,200,240,0.2);--accent:#7fa855;--accent-ink:#101828}.scene{position:absolute;inset:0}.scene canvas{display:block;width:100%;height:100%}.brand{position:absolute;top:18px;left:22px;z-index:10;pointer-events:none;color:var(--ink);padding:10px 18px 12px;border-radius:18px;background:var(--glass);border:1px solid var(--glass-border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.brand h1{font-family:Italiana,Didot,Bodoni MT,serif;font-weight:400;font-size:38px;margin:0;letter-spacing:.06em;text-shadow:0 1px 12px rgba(255,255,255,.15);display:flex;align-items:center;gap:9px}.brand h1 svg{filter:drop-shadow(0 2px 6px rgba(60,40,20,.2))}.brand span{display:block;margin-top:2px;font-size:12.5px;color:var(--ink-soft)}.dock{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);z-index:10;display:flex;align-items:center;gap:8px;padding:8px;border-radius:999px;background:var(--glass);border:1px solid var(--glass-border);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);box-shadow:0 10px 34px rgba(30,22,10,.16)}.pill{border:none;background:transparent;color:var(--ink);border-radius:999px;padding:9px 16px;font-size:13.5px;font-weight:500;font-family:inherit;cursor:pointer;transition:background .15s ease,transform .1s ease;white-space:nowrap}.pill:hover{background:var(--glass-strong)}.pill:active{transform:scale(.96)}.pill.active{background:var(--glass-strong)}.pill.icon{width:38px;height:38px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:16px}.pill.primary{background:var(--accent);color:var(--accent-ink);font-weight:600}.pill.primary:hover{filter:brightness(1.08)}.pill:disabled{opacity:.5;cursor:default}.pill.share{display:inline-flex;align-items:center;gap:7px;color:#f4fbf2;font-weight:600;padding:9px 18px;box-shadow:0 4px 16px rgba(45,95,55,.4)}.pill.share,.pill.share:hover{background:linear-gradient(135deg,#2f6b3f,#55924e)}.pill.share:hover{filter:brightness(1.1)}.pill.share.active{filter:brightness(.9)}.page[data-theme=night] .pill.share{background:linear-gradient(135deg,#587d3c,#7fa855);color:#101828;box-shadow:0 4px 16px rgba(110,150,70,.35)}.pill.ghost{border:1px solid var(--glass-border)}.detail,.pill.ghost{background:var(--glass-strong)}.detail{position:absolute;top:88px;right:24px;z-index:14;width:292px;max-height:calc(100vh - 240px);overflow-y:auto;padding:16px 18px;border-radius:18px;color:var(--ink);border:1px solid var(--glass-border);border-top:4px solid var(--swatch,#e0557f);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 12px 40px rgba(20,14,4,.22)}.detailHead{display:flex;align-items:center;gap:10px}.detailHead .dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;box-shadow:0 0 10px var(--swatch,#e0557f)}.detailHead b{display:block;font-size:18px}.detailHead em{display:block;font-style:normal;font-size:11px;color:var(--ink-soft);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detailHead .close{margin-left:auto;font-size:18px;width:30px;height:30px}.detailStats{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px 14px;gap:10px 14px;margin-top:14px}.detailStats label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft)}.detailStats b{font-size:15px}.detailStats .up{color:#3f9b5c}.detailStats .down{color:#c8524a}.page[data-theme=night] .detailStats .up{color:#7ede9a}.page[data-theme=night] .detailStats .down{color:#ff8f8f}.spark{margin-top:14px}.sparkTitle{font-size:10.5px;color:var(--ink-soft);margin-bottom:4px}.acts{margin-top:14px}.actsTitle{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft);margin-bottom:7px}.actRow{display:flex;align-items:baseline;gap:8px;font-size:12px;padding:4px 0;border-top:1px solid var(--glass-border)}.actDate{color:var(--ink-soft);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.actType{font-weight:600;font-size:10.5px}.actType.buy{color:#3f9b5c}.actType.sell{color:#c8524a}.actQty{margin-left:auto;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.actQty,.actsEmpty{color:var(--ink-soft)}.actsEmpty{margin-top:14px;font-size:12px;font-style:italic}.onboard{position:absolute;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;background:rgba(30,24,12,.35);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:fadeIn .4s ease}@keyframes fadeIn{0%{opacity:0}}.onboardCard{width:min(430px,90vw);padding:30px 32px 24px;border-radius:24px;color:var(--ink);background:var(--glass-strong);border:1px solid var(--glass-border);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 24px 70px rgba(15,10,2,.35);text-align:center}.onboardCard h2{font-family:Italiana,Didot,serif;font-weight:400;font-size:44px;margin:0;letter-spacing:.06em}.onboardLede{margin:4px 0 20px;font-size:14px;color:var(--ink-soft)}.onboardCard ul{list-style:none;margin:0 0 22px;padding:0;text-align:left;display:flex;flex-direction:column;gap:11px;font-size:13px;line-height:1.5}.onboardCard li{display:flex;align-items:baseline;gap:10px}.onboardCard li i{width:10px;height:10px;border-radius:50%;flex-shrink:0;align-self:center}.onboardBtns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.onboardFine{display:block;margin-top:14px;font-size:10.5px;color:var(--ink-soft)}.seg{display:inline-flex;border-radius:999px;background:var(--glass);border:1px solid var(--glass-border);padding:3px;gap:2px}.seg button{border:none;background:transparent;color:var(--ink-soft);border-radius:999px;padding:7px 14px;font-size:13.5px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .15s ease;white-space:nowrap}.seg button.active{background:var(--accent);color:var(--accent-ink);font-weight:600;box-shadow:0 2px 10px rgba(20,30,10,.18)}.vol{display:inline-flex;align-items:center;gap:4px}.vol input[type=range]{width:72px;accent-color:var(--accent);cursor:pointer}.sharePanel{position:absolute;bottom:92px;left:50%;transform:translateX(-50%);z-index:15;width:min(400px,90vw);padding:16px 18px;border-radius:16px;color:var(--ink);background:var(--glass-strong);border:1px solid var(--glass-border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 12px 40px rgba(20,14,4,.2)}.sharePanel b{font-size:14px}.sharePanel p{margin:6px 0 12px;font-size:12.5px;color:var(--ink-soft);line-height:1.5}.shareRow{display:flex;gap:8px}.shareRow input{flex:1 1;min-width:0;border:1px solid var(--glass-border);border-radius:10px;background:transparent;color:var(--ink);padding:8px 10px;font-size:12.5px;font-family:inherit}.sharePanel .pill.primary{background:var(--accent);color:var(--accent-ink)}.legendFloat{position:absolute;bottom:24px;right:24px;z-index:10;padding:14px 18px 12px;border-radius:18px;font-size:12px;color:var(--ink);background:var(--glass);border:1px solid var(--glass-border);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.legendTitle{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:9px}.legendGrid{display:grid;grid-template-columns:repeat(2,minmax(112px,auto));grid-gap:8px 20px;gap:8px 20px}.legendFloat .chip{display:inline-flex;align-items:center;gap:8px;cursor:default;transition:opacity .2s ease,transform .2s ease,text-shadow .2s ease}.legendFloat .chipText{display:flex;flex-direction:column;line-height:1.25}.legendFloat .chipName{font-size:12.5px;font-weight:500}.legendFloat .chipClass{font-size:10.5px;color:var(--ink-soft)}.legendFloat .chip.dim{opacity:.35}.legendFloat .chip.lit{transform:translateX(2px) scale(1.05);font-weight:600;text-shadow:0 0 12px rgba(255,240,200,.7)}.page[data-theme=night] .legendFloat .chip.lit{text-shadow:0 0 12px rgba(190,210,255,.8)}.legendFloat .dot{width:11px;height:11px;border-radius:50%;display:inline-block;flex-shrink:0;box-shadow:0 0 0 2px rgba(255,255,255,.25)}.legendFloat .mapping{margin-top:11px;padding-top:9px;border-top:1px solid var(--glass-border);font-style:italic;font-size:10.5px;color:var(--ink-soft)}.notice{top:24px;z-index:20;max-width:min(560px,84vw);padding:10px 18px;border-radius:12px;font-size:13px;text-align:center;color:var(--ink);background:var(--glass-strong);border:1px solid var(--glass-border);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.notice,.soundHint{position:absolute;left:50%;transform:translateX(-50%)}.soundHint{bottom:84px;z-index:9;padding:7px 14px;border-radius:999px;font-size:12px;color:var(--ink-soft);background:var(--glass);border:1px solid var(--glass-border);animation:fadeIn 1.2s ease}.soundHint,.tooltip{pointer-events:none;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.tooltip{position:absolute;opacity:0;transition:opacity .15s ease;min-width:190px;background:rgba(28,24,16,.88);color:#f6efdf;border-radius:14px;border:1px solid color-mix(in srgb,var(--swatch,#e0557f) 55%,transparent);border-left:4px solid var(--swatch,#e0557f);box-shadow:0 8px 28px rgba(10,8,2,.35),0 0 24px color-mix(in srgb,var(--swatch,#e0557f) 30%,transparent);padding:11px 14px;font-size:13px;line-height:1.4;white-space:nowrap;z-index:10}.page[data-theme=night] .tooltip{background:rgba(14,19,38,.9)}.tooltip .tipHead{display:flex;align-items:baseline;gap:8px}.tooltip .tipHead i{width:10px;height:10px;border-radius:50%;align-self:center;box-shadow:0 0 8px var(--swatch,#e0557f)}.tooltip .tipHead b{font-size:16px;letter-spacing:.01em}.tooltip .tipHead em{font-style:normal;font-size:10.5px;color:rgba(246,239,223,.55)}.tooltip .tipStats{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-top:6px}.tooltip .tipRet{font-weight:700;font-size:13.5px}.tooltip .tipRet.up{color:#7ede9a;text-shadow:0 0 10px rgba(80,220,130,.45)}.tooltip .tipRet.down{color:#ff8f8f;text-shadow:0 0 10px rgba(255,110,110,.4)}.tooltip .tipW{font-size:11.5px;color:rgba(246,239,223,.7)}.tooltip .tipVal{font-size:12.5px;font-weight:600;color:#f0e6c8}.tooltip .tipBar{margin-top:7px;height:5px;border-radius:3px;background:rgba(255,255,255,.14);overflow:hidden}.tooltip .tipBar i{display:block;height:100%;border-radius:3px;box-shadow:0 0 8px var(--swatch,#e0557f)}.tooltip .tipSince{margin-top:7px;font-size:11px;color:rgba(246,239,223,.6)}.vignette{position:absolute;inset:0;pointer-events:none;z-index:5;background:radial-gradient(120% 95% at 50% 40%,transparent 58%,rgba(74,52,24,.22) 100%),linear-gradient(rgba(255,236,200,.1),transparent 18%)}.page[data-theme=night] .vignette{background:radial-gradient(120% 95% at 50% 40%,transparent 52%,rgba(4,7,18,.45) 100%),linear-gradient(rgba(20,30,60,.15),transparent 20%)}@media (max-width:700px){.brand h1{font-size:24px}.brand span{font-size:11px}.dock{bottom:16px;max-width:94vw;flex-wrap:wrap;justify-content:center;border-radius:20px}}.page.cinematic .brand,.page.cinematic .detail,.page.cinematic .dock,.page.cinematic .legendFloat,.page.cinematic .notice{opacity:0;pointer-events:none;transition:opacity .5s ease}.intro{position:absolute;inset:0;z-index:40;cursor:pointer;background:linear-gradient(rgba(30,24,12,.28),transparent 22%),linear-gradient(transparent 62%,rgba(30,24,12,.4))}.page[data-theme=night] .intro{background:linear-gradient(rgba(2,4,12,.4),transparent 22%),linear-gradient(transparent 62%,rgba(2,4,12,.55))}.introTitle{position:absolute;top:16%;left:0;right:0;text-align:center;color:#fffdf6;text-shadow:0 2px 30px rgba(40,30,10,.5);transition:all 1s cubic-bezier(.4,0,.2,1);animation:introTitleIn 2.2s cubic-bezier(.2,.6,.2,1)}@keyframes introTitleIn{0%{opacity:0;letter-spacing:.5em;transform:translateY(14px)}}.introTitle h2{font-family:Italiana,Didot,serif;font-weight:400;font-size:clamp(56px,9vw,104px);margin:0;letter-spacing:.12em;transition:inherit;display:flex;align-items:center;justify-content:center;gap:18px}.introTitle h2 svg{filter:drop-shadow(0 4px 16px rgba(40,25,8,.35));transition:inherit}.introTitle p{margin:2px 0 0;font-size:15px;letter-spacing:.14em;color:rgba(255,253,246,.85);transition:inherit}.introTitle.tucked{top:6%;opacity:.9}.introTitle.tucked h2{font-size:34px}.introTitle.tucked p{opacity:0;font-size:.01px}.introCaption{position:absolute;bottom:14%;left:50%;transform:translate(-50%,16px);width:min(620px,88vw);text-align:center;font-size:clamp(16px,2.2vw,21px);line-height:1.55;color:#fffdf6;text-shadow:0 2px 18px rgba(40,30,10,.65);opacity:0;transition:opacity .8s ease,transform .8s ease;pointer-events:none}.introCaption.show{opacity:1;transform:translate(-50%)}.introCaption b{font-weight:650}.introFinal{position:absolute;bottom:12%;left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:14px;animation:introTitleIn 1.1s ease}.introBtns{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.introBtns .pill{font-size:15px;padding:12px 24px;box-shadow:0 8px 30px rgba(20,14,4,.3)}.introFine{font-size:11px;letter-spacing:.04em;color:rgba(255,253,246,.75);text-shadow:0 1px 10px rgba(40,30,10,.6)}.introSkip{position:absolute;top:26px;right:28px;border:none;background:rgba(30,24,12,.3);color:rgba(255,253,246,.85);font-family:inherit;font-size:12.5px;letter-spacing:.06em;padding:8px 16px;border-radius:999px;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.introSkip:hover{background:rgba(30,24,12,.5)}.introDots{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);display:flex;gap:7px}.introDots i{width:7px;height:7px;border-radius:50%;background:rgba(255,253,246,.3);transition:background .4s ease}.introDots i.on{background:rgba(255,253,246,.9)}