.app-root{min-height:100vh;display:flex;flex-direction:column;position:relative;z-index:2}.app-nav{position:sticky;top:0;z-index:60;gap:14px;padding:10px 20px;background:linear-gradient(hsla(0,0%,100%,.92),hsla(0,0%,100%,.78));backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.app-nav,.app-nav .logo{display:flex;align-items:center}.app-nav .logo{gap:10px;font-family:var(--disp);font-weight:800;letter-spacing:.06em;font-size:15px;color:var(--paper);text-decoration:none}.app-nav .logo small{font-family:var(--jp);color:var(--nv);font-size:12px}.app-nav .seal{width:26px;height:26px;display:grid;place-items:center;font-family:var(--jp);font-weight:800;font-size:14px;color:var(--on-accent);background:linear-gradient(135deg,var(--nv),var(--rh));clip-path:polygon(8% 0,100% 0,100% 92%,92% 100%,0 100%,0 8%)}.app-nav .spacer{flex:1}.mode-sw{display:flex;border:1px solid var(--line2);clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}.mode-sw button{font-family:var(--mono);font-size:10px;letter-spacing:.22em;padding:8px 16px;background:transparent;color:var(--dim);border:none;cursor:pointer;transition:background .2s,color .2s}.mode-sw button.act{background:var(--nv);color:var(--on-accent);font-weight:700}.mode-sw button:disabled{color:var(--dimmer);cursor:not-allowed}.mode-sw-wrap{position:relative}.mode-sw-wrap .tip{position:absolute;top:calc(100% + 8px);right:0;white-space:nowrap;font-size:10px;color:var(--dim);background:var(--ink2);border:1px solid var(--line2);padding:7px 12px;opacity:0;pointer-events:none;transition:opacity .15s;z-index:70}.mode-sw-wrap:hover .tip{opacity:1}.regime-pill{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.18em;color:var(--nv);border:1px solid var(--line2);padding:8px 14px;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}.regime-pill .dot{width:6px;height:6px;border-radius:50%;background:var(--nv);animation:pulse 2s infinite}.regime-pill.earnings{color:var(--danger)}.regime-pill.earnings .dot{background:var(--danger)}.regime-pill .cd{color:var(--dim);letter-spacing:.08em}.langbtn,.wbtn{font-family:var(--mono);font-size:10px;letter-spacing:.18em;cursor:pointer;color:var(--dim);background:transparent;border:1px solid var(--line2);padding:8px 14px;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);transition:color .2s,border-color .2s}.langbtn:hover,.wbtn:hover{color:var(--nv);border-color:var(--nv)}.wbtn.on{color:var(--rh);border-color:var(--rh)}.wbtn.sol.on{color:#9945ff;border-color:#9945ff}.wmenu-wrap{position:relative}.wmenu-ovl{position:fixed;inset:0;z-index:75;background:transparent}.wmenu{position:absolute;top:calc(100% + 8px);right:0;z-index:80;min-width:190px;background:var(--ink2);border:1px solid var(--line2);padding:12px;display:flex;flex-direction:column;gap:10px}.wmenu .addr{font-size:9px;letter-spacing:.06em;color:var(--dim);word-break:break-all}.wmenu .dc{font-family:var(--mono);font-size:10px;letter-spacing:.18em;cursor:pointer;color:var(--danger);background:transparent;border:1px solid var(--line2);padding:7px 10px;transition:border-color .2s}.wmenu .dc:hover{border-color:var(--danger)}.app-banner{font-size:10px;letter-spacing:.16em;text-align:center;padding:6px 16px;color:var(--dimmer);border-bottom:1px solid var(--line)}.app-banner.live{color:var(--rh);border:1px solid var(--rh);border-top:none;background:var(--rh-dim)}.app-banner b{color:var(--dim);font-weight:500}.app-body{display:flex;flex:1;min-height:0}.app-side{width:200px;flex-shrink:0;border-right:1px solid var(--line);padding:26px 0;display:flex;flex-direction:column;gap:2px;position:sticky;top:53px;align-self:flex-start;height:calc(100vh - 53px)}.app-side a{font-size:11px;letter-spacing:.2em;color:var(--dim);text-decoration:none;padding:12px 22px;border-left:2px solid transparent;transition:color .2s,border-color .2s,background .2s}.app-side a:hover{color:var(--nv)}.app-side a.act{color:var(--nv);border-left-color:var(--nv);background:var(--nv-dim)}.app-side a span{color:var(--dimmer);margin-right:10px}.app-main{flex:1;min-width:0;padding:30px 28px 110px;max-width:1160px}.tabbar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:60;background:hsla(0,0%,100%,.96);backdrop-filter:blur(14px);border-top:1px solid var(--line2)}.tabbar a{flex:1;text-align:center;font-size:9px;letter-spacing:.16em;color:var(--dim);text-decoration:none;padding:13px 4px 12px}.tabbar a.act{color:var(--nv);background:var(--nv-dim)}@media(max-width:900px){.app-side{display:none}.tabbar{display:flex}.app-main{padding:20px 14px 96px}.app-nav{flex-wrap:wrap;gap:8px;padding:10px 12px}}@media(max-width:600px){.regime-pill .cd{display:none}}.acard{border:1px solid var(--line);background:var(--ink2);padding:18px 20px;position:relative;clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px)}.acard .k{font-size:9px;letter-spacing:.26em;color:var(--dimmer);margin-bottom:8px}.acard .v{font-size:24px;letter-spacing:.02em;color:var(--paper)}.acard .v.nvc{color:var(--nv)}.acard .v.rhc{color:var(--rh)}.acard .v.bad{color:var(--danger)}.acard .sub{font-size:10px;color:var(--dim);margin-top:6px}.cards-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}@media(max-width:900px){.cards-row{grid-template-columns:repeat(2,1fr)}}.sec-title{font-size:10px;letter-spacing:.3em;color:var(--dimmer);margin:26px 0 12px;display:flex;align-items:center;gap:10px}.sec-title:before{content:"";width:22px;height:1px;background:var(--nv)}.dtable{width:100%;border-collapse:collapse;font-size:12px}.dtable th{font-size:9px;letter-spacing:.2em;color:var(--dimmer);text-transform:uppercase;text-align:left;padding:10px 12px;border-bottom:1px solid var(--line2);white-space:nowrap}.dtable td{padding:12px;border-bottom:1px dashed var(--line);color:var(--dim);white-space:nowrap}.dtable tr:last-child td{border-bottom:none}.dtable td b{color:var(--paper);font-weight:500}.dtable .nvc{color:var(--nv)}.dtable .rhc{color:var(--rh)}.dtable .bad{color:var(--danger)}.dtable tbody tr{cursor:default;transition:background .15s}.dtable.clickable tbody tr{cursor:pointer}.dtable.clickable tbody tr:hover{background:var(--nv-dim)}.table-scroll{overflow-x:auto;border:1px solid var(--line);background:var(--ink2)}.rail-badge{font-size:8px;letter-spacing:.18em;padding:3px 8px;border:1px solid}.rail-badge.sol{color:#9945ff;border-color:rgba(153,69,255,.4)}.rail-badge.rh{color:var(--rh);border-color:rgba(0,200,5,.35)}.ubar{width:90px;height:5px;background:var(--ink);border:1px solid var(--line);position:relative}.ubar i{position:absolute;inset:0;right:auto;background:linear-gradient(90deg,var(--nv),var(--rh))}.dash-grid{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:26px;align-items:center}@media(max-width:900px){.dash-grid{grid-template-columns:1fr}}.ringbox{display:grid;place-items:center;min-width:0}.ringbox svg{width:100%;max-width:300px;height:auto;overflow:visible;display:block}.hbar{height:8px;background:var(--ink);border:1px solid var(--line2);position:relative;margin:10px 0 6px}.hbar i{position:absolute;inset:0;right:auto;background:linear-gradient(90deg,var(--danger),var(--nv) 35%,var(--rh));transition:width .5s}.hbar .mark{position:absolute;top:-4px;bottom:-4px;width:1px;background:var(--danger)}.abtn{font-family:var(--mono);font-size:11px;letter-spacing:.2em;cursor:pointer;font-weight:700;color:var(--on-accent);background:var(--nv);border:none;padding:12px 22px;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);transition:background .2s,transform .2s}.abtn:hover{background:var(--rh);transform:translateY(-1px)}.abtn:disabled{background:var(--dimmer);cursor:not-allowed;transform:none}.abtn.ghost{background:transparent;color:var(--dim);border:1px solid var(--line2);font-weight:400}.abtn.ghost:hover{color:var(--nv);border-color:var(--nv);background:transparent}.abtn.danger{background:var(--danger);color:var(--ink)}.abtn.danger:hover{background:#ff6a5c}.abtn.sm{padding:8px 14px;font-size:9px}.afield{margin-bottom:16px}.afield label{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.24em;color:var(--dimmer);margin-bottom:8px}.afield .inrow{display:flex;gap:8px}.afield input[type=number],.afield input[type=text]{flex:1;min-width:0;background:var(--ink);border:1px solid var(--line2);color:var(--paper);font-family:var(--mono);font-size:14px;padding:11px 14px;outline:none}.afield input:focus{border-color:var(--nv)}.afield .maxb{font-family:var(--mono);font-size:9px;letter-spacing:.2em;cursor:pointer;color:var(--nv);background:transparent;border:1px solid var(--line2);padding:0 14px}.afield .maxb:hover{border-color:var(--nv)}.aseg{display:flex;border:1px solid var(--line2);margin-bottom:16px}.aseg button{flex:1;font-family:var(--mono);font-size:10px;letter-spacing:.2em;padding:10px;cursor:pointer;background:transparent;color:var(--dim);border:none}.aseg button.act{background:var(--nv);color:var(--on-accent);font-weight:700}.atoggle{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:11px;color:var(--dim);-webkit-user-select:none;-moz-user-select:none;user-select:none}.atoggle .tk{width:34px;height:18px;border:1px solid var(--line2);position:relative;flex-shrink:0;transition:border-color .2s}.atoggle .tk:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;background:var(--dimmer);transition:left .2s,background .2s}.atoggle.on .tk{border-color:var(--nv)}.atoggle.on .tk:after{left:18px;background:var(--nv)}.overlay{position:fixed;inset:0;background:rgba(25,40,55,.45);z-index:80;backdrop-filter:blur(2px)}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,100vw);z-index:90;overflow-y:auto;background:var(--ink2);border-left:1px solid var(--line2);padding:26px 26px 40px;animation:drawer-in .25s ease}@keyframes drawer-in{0%{transform:translateX(30px);opacity:0}to{transform:none;opacity:1}}.drawer .dr-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:18px}.drawer .dr-head h3{font-family:var(--disp);font-weight:800;font-size:19px;letter-spacing:.04em}.drawer .x{background:none;border:none;color:var(--dim);font-family:var(--mono);font-size:14px;cursor:pointer}.drawer .x:hover{color:var(--danger)}.amodal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:95;width:min(480px,calc(100vw - 32px));background:var(--ink2);border:1px solid var(--line2);padding:28px;clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px)}.amodal h3{font-family:var(--disp);font-weight:800;font-size:20px;margin-bottom:12px}.amodal .warn{color:var(--danger);font-size:13px;margin-bottom:14px}.amodal .rows{font-size:11px;color:var(--dim);border:1px solid var(--line);padding:14px 16px;margin-bottom:18px;display:flex;flex-direction:column;gap:8px}.amodal .rows b{color:var(--paper);font-weight:500;word-break:break-all}.amodal .acts{display:flex;gap:10px;justify-content:flex-end}.kvrow{display:flex;justify-content:space-between;gap:14px;font-size:11px;color:var(--dim);padding:7px 0;border-bottom:1px dashed var(--line)}.kvrow:last-child{border-bottom:none}.kvrow b{color:var(--paper);font-weight:500}.kvrow .nvc{color:var(--nv)}.kvrow .rhc{color:var(--rh)}.kvrow .bad{color:var(--danger)}.rankmove{display:inline-flex;align-items:center;gap:8px;font-size:13px}.rankmove .from{color:var(--dim)}.rankmove .to.up{color:var(--rh)}.rankmove .to.down{color:var(--danger)}.rankmove .to.same{color:var(--paper)}.feed{display:flex;flex-direction:column}.feed .fitem{display:flex;gap:12px;align-items:baseline;font-size:11px;color:var(--dim);padding:10px 2px;border-bottom:1px dashed var(--line)}.feed .fitem .tag{font-size:8px;letter-spacing:.2em;padding:3px 8px;border:1px solid var(--line2);color:var(--nv);flex-shrink:0}.feed .fitem .tag.bad{color:var(--danger);border-color:rgba(255,77,61,.4)}.feed .fitem .hash a{color:var(--dimmer);text-decoration:none}.feed .fitem .hash a:hover{color:var(--nv)}.feed .fitem time{margin-left:auto;color:var(--dimmer);font-size:10px;flex-shrink:0}.empty{border:1px dashed var(--line2);padding:54px 30px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.empty .jp{font-family:var(--jp);font-size:40px;color:var(--nv);opacity:.5}.empty h3{font-family:var(--disp);font-weight:800;letter-spacing:.06em;font-size:18px}.empty p{font-size:12px;color:var(--dim);max-width:340px}.skel{position:relative;overflow:hidden;background:var(--ink2);border:1px solid var(--line);min-height:16px}.skel:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(140,190,120,.08),transparent);animation:skel-sweep 1.2s infinite}@keyframes skel-sweep{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}@media(prefers-reduced-motion:reduce){.skel:after{animation:none}}.toasts{position:fixed;bottom:20px;right:20px;z-index:120;display:flex;flex-direction:column;gap:8px;max-width:min(360px,calc(100vw - 32px))}@media(max-width:900px){.toasts{bottom:76px}}.toast{font-size:11px;color:var(--paper);background:var(--ink2);border:1px solid var(--line2);padding:12px 16px;display:flex;align-items:center;gap:10px;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);animation:toast-in .2s ease}@keyframes toast-in{0%{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}.toast.success{border-color:var(--rh)}.toast.error{border-color:var(--danger)}.toast .spin{width:10px;height:10px;border:1px solid var(--nv);border-top:1px solid transparent;border-radius:50%;animation:tspin .8s linear infinite;flex-shrink:0}@keyframes tspin{to{transform:rotate(1turn)}}@media(prefers-reduced-motion:reduce){.toast .spin{animation:none}}.toast a{color:var(--nv);text-decoration:none}.toast .tx{background:none;border:none;color:var(--dimmer);cursor:pointer;font-family:var(--mono);margin-left:auto}.bsteps{display:flex;gap:6px;margin-bottom:24px}.bsteps .bs{flex:1;font-size:9px;letter-spacing:.2em;color:var(--dimmer);text-align:center;padding:9px 4px;border:1px solid var(--line);position:relative}.bsteps .bs.act{color:var(--nv);border-color:var(--nv);background:var(--nv-dim)}.bsteps .bs.done{color:var(--dim);border-color:var(--line2)}.bridge-anim{border:1px solid var(--line);background:var(--ink);padding:26px 20px;margin:18px 0}.bridge-path{display:flex;align-items:center;gap:0;margin-bottom:20px}.bridge-node{font-size:9px;letter-spacing:.16em;padding:10px 12px;border:1px solid var(--line2);color:var(--dim);white-space:nowrap}.bridge-node.sol{color:#9945ff;border-color:rgba(153,69,255,.5)}.bridge-node.rh{color:var(--rh);border-color:rgba(0,200,5,.4)}.bridge-node.on{background:var(--nv-dim);color:var(--paper)}.bridge-wire{flex:1;height:1px;background:linear-gradient(90deg,#9945ff,var(--nv),var(--rh));position:relative;min-width:40px}.bridge-wire .pkt{position:absolute;top:-3px;width:7px;height:7px;background:var(--rh);box-shadow:0 0 8px var(--rh);animation:pkt 1.6s linear infinite}@keyframes pkt{0%{left:0}to{left:calc(100% - 7px)}}@media(prefers-reduced-motion:reduce){.bridge-wire .pkt{animation:none;left:50%}}.bridge-phase{display:flex;flex-direction:column;gap:9px;font-size:11px}.bridge-phase .ph{display:flex;align-items:center;gap:10px;color:var(--dimmer)}.bridge-phase .ph.on{color:var(--paper)}.bridge-phase .ph.done{color:var(--dim)}.bridge-phase .ph .st{width:14px;text-align:center;color:var(--nv)}.bridge-phase .ph .conf{margin-left:auto;color:var(--dimmer);font-size:10px}.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0}@media(max-width:900px){.tiers{grid-template-columns:1fr}}.tier-card{border:1px solid var(--line);background:var(--ink2);padding:20px;position:relative}.tier-card.cur{border-color:var(--nv);background:var(--nv-dim)}.tier-card.cur:after{content:"CURRENT";position:absolute;top:-8px;right:12px;font-size:8px;letter-spacing:.24em;color:var(--nv);background:var(--ink);padding:0 8px}.tier-card .jp{font-family:var(--jp);font-size:24px;color:var(--nv);margin-bottom:6px}.tier-card h4{font-family:var(--disp);font-weight:800;font-size:14px;letter-spacing:.08em;margin-bottom:10px}.tier-card .kvrow{font-size:10px}.devpanel{position:fixed;bottom:20px;left:20px;z-index:110;font-size:9px;letter-spacing:.18em;border:1px dashed var(--line2);background:hsla(0,0%,100%,.92);backdrop-filter:blur(8px);padding:12px 14px;color:var(--dimmer);display:flex;flex-direction:column;gap:9px}@media(max-width:900px){.devpanel{bottom:76px;left:10px}}.devpanel .dvh{color:var(--dim);letter-spacing:.3em}.numflow{transition:color .3s}.numflow.up{color:var(--rh)}.numflow.down{color:var(--danger)}.spark-wrap{border:1px solid var(--line);background:var(--ink);padding:10px;margin:14px 0}.spark-wrap canvas{width:100%;height:90px;display:block}.viewfade{animation:vf .25s ease}@keyframes vf{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.drawer,.toast,.viewfade{animation:none}}