:root{--bg: #06183c;--bg2: #0d3272;--panel: rgba(10, 30, 68, .78);--panel-solid: #0c2354;--line: rgba(130, 175, 245, .24);--sky: #2ea8ff;--gold: #f5b83d;--gold2: #c9891c;--text: #eef4ff;--muted: #93aad4;--ok: #4caf50;--live: #ff3b58;--ink: #0b2144;font-family:system-ui,Segoe UI,Roboto,Arial,sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--text)}#app{height:100%}button{font-family:inherit;cursor:pointer}.home{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding:40px;background:radial-gradient(1200px 600px at 50% -10%,#14418f,var(--bg))}.home h1{font-size:34px;margin:0;letter-spacing:.5px}.home p{color:var(--muted);margin:0;max-width:620px;text-align:center;line-height:1.5}.home-links{display:flex;gap:20px;flex-wrap:wrap;justify-content:center}.home-card{width:300px;padding:24px;border-radius:18px;text-decoration:none;color:var(--text);background:var(--panel);border:1px solid var(--line);transition:transform .15s,border-color .15s}.home-card:hover{transform:translateY(-4px);border-color:var(--gold)}.home-card h2{margin:0 0 8px;font-size:20px}.home-card span{color:var(--muted);font-size:14px}.stage-wrap{height:100%;display:flex;align-items:center;justify-content:center;background:#020813}.stage{position:relative;width:100%;max-width:1600px;aspect-ratio:16 / 9;background:radial-gradient(1100px 700px at 30% 20%,rgba(46,110,220,.35),transparent 60%),linear-gradient(160deg,var(--bg2),var(--bg));overflow:hidden;border:1px solid var(--line)}.constellation{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.brandbar{position:absolute;top:0;left:0;right:7%;height:9%;display:flex;align-items:center;gap:16px;padding:0 1.2% 0 2.2%;background:linear-gradient(90deg,rgba(9,26,60,.85),rgba(9,26,60,.2) 70%,transparent);z-index:5}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand-logo{height:72%;max-height:46px;width:auto;flex:none}.brand svg.brand-logo{height:clamp(26px,3.4vw,46px)}.brand-text{display:flex;flex-direction:column;line-height:1.15}.brand-text b{font-size:clamp(13px,1.7vw,24px);letter-spacing:1.5px;color:var(--gold);white-space:nowrap}.brand-text span{font-size:clamp(9px,1vw,14px);color:var(--muted);letter-spacing:.4px}.brandbar .clock{margin-left:auto;color:var(--muted);font-variant-numeric:tabular-nums;font-size:clamp(12px,1.4vw,20px)}.brandbar .dot{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:clamp(9px,1vw,12px)}.brandbar .dot i{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 10px var(--ok)}.brandbar .home-link{color:var(--muted);text-decoration:none;font-size:12px;border:1px solid var(--line);padding:4px 8px;border-radius:8px}.dock{position:absolute;top:0;right:0;bottom:0;width:7%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.6%;padding:1% 0;background:linear-gradient(270deg,#050e22eb,#050e228c);border-left:1px solid var(--line);z-index:8}.dock-sep{width:46%;height:1px;background:var(--line);margin:1% 0}.dock-btn{position:relative;width:58%;aspect-ratio:1;border-radius:22%;border:1px solid rgba(255,226,150,.75);background:linear-gradient(160deg,#ffd977,var(--gold) 45%,var(--gold2));color:#3a2703;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 10px #00000073,inset 0 1px #ffffff80;transition:transform .1s,box-shadow .15s,filter .15s}.dock-btn svg{width:62%;height:62%}.dock-btn:hover{filter:brightness(1.1);box-shadow:0 0 18px #f5b83da6,inset 0 1px #ffffff80}.dock-btn:active{transform:scale(.88)}.dock-btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:radial-gradient(circle,rgba(255,255,255,.9),transparent 65%);opacity:0;pointer-events:none}.dock-btn:active:after{opacity:1;transition:none}.dock-btn.active{box-shadow:0 0 0 2.5px #fff,0 0 22px #f5b83de6;filter:brightness(1.12)}.dock-btn .tip{position:absolute;right:130%;top:50%;transform:translateY(-50%) translate(6px);background:#061026f2;border:1px solid var(--line);color:var(--text);font-size:clamp(10px,1vw,14px);font-weight:600;white-space:nowrap;padding:6px 12px;border-radius:9px;opacity:0;pointer-events:none;transition:opacity .15s,transform .15s}.dock-btn:hover .tip{opacity:1;transform:translateY(-50%) translate(0)}.scene{position:absolute;top:9%;right:7%;bottom:5.2%;left:0;padding:1.2% 1.6% .6% 2.2%;z-index:1}.scene-body{height:100%;display:flex;flex-direction:column}.scene-inner{flex:1;min-height:0}.scene-title{font-size:clamp(16px,2.3vw,36px);font-weight:700;margin:0 0 1.1%;text-shadow:0 2px 10px rgba(0,0,0,.4)}.scene-enter{animation:scene-in .5s cubic-bezier(.2,.7,.2,1)}@keyframes scene-in{0%{opacity:0;transform:scale(.955)}to{opacity:1;transform:scale(1)}}.home-scene{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3%}.election-badge{position:relative;width:clamp(200px,24%,360px);aspect-ratio:3 / 4.1;border-radius:7%/5.4%;background:linear-gradient(165deg,#1a55b8,#0c2c68 70%);border:3px solid rgba(255,255,255,.92);box-shadow:0 18px 60px #0000008c,0 0 60px #2e82ff59,inset 0 0 40px #1e5ac880;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3.5%;text-align:center;animation:badge-float 5s ease-in-out infinite}@keyframes badge-float{0%,to{transform:translateY(0)}50%{transform:translateY(-1.4%)}}.election-badge .eb-date{background:var(--gold);color:#33230a;font-weight:800;letter-spacing:2px;font-size:clamp(11px,1.3vw,19px);padding:2.2% 8%;border-radius:30px}.election-badge .eb-title{font-size:clamp(17px,2.1vw,32px);font-weight:800;letter-spacing:2.5px;line-height:1.25}.election-badge .eb-check svg{width:clamp(44px,5vw,76px);height:auto}.election-badge .eb-year{font-size:clamp(28px,3.6vw,56px);font-weight:800;color:var(--gold);letter-spacing:4px;line-height:1}.election-badge .eb-sub{color:var(--muted);font-size:clamp(10px,1.1vw,16px);letter-spacing:.4px}.home-hint{color:var(--muted);font-size:clamp(12px,1.3vw,18px);animation:hint-pulse 2.4s ease-in-out infinite}@keyframes hint-pulse{0%,to{opacity:.55}50%{opacity:1}}.stinger{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;overflow:hidden;pointer-events:none}.stinger:before{content:"";position:absolute;top:-30%;right:-30%;bottom:-30%;left:-30%;background:linear-gradient(115deg,transparent 0%,transparent 18%,rgba(18,60,140,.97) 34%,#0d3272 50%,rgba(18,60,140,.97) 66%,transparent 82%,transparent 100%);animation:stinger-sweep .62s cubic-bezier(.6,.05,.35,1) forwards}@keyframes stinger-sweep{0%{transform:translate(-105%)}to{transform:translate(105%)}}.stinger-badge{position:absolute;top:50%;left:50%;animation:stinger-badge .62s cubic-bezier(.6,.05,.35,1) forwards}.stinger-badge svg{width:clamp(70px,9vw,150px);height:auto;filter:drop-shadow(0 6px 30px rgba(0,0,0,.6))}@keyframes stinger-badge{0%{transform:translate(-50%,-50%) translate(-130vw) rotate(-14deg)}45%{transform:translate(-50%,-50%) translate(0) rotate(0)}55%{transform:translate(-50%,-50%) translate(0) rotate(0)}to{transform:translate(-50%,-50%) translate(130vw) rotate(14deg)}}.video-window{position:relative;height:100%;border-radius:14px;overflow:hidden;border:2px solid rgba(245,184,61,.45);box-shadow:0 10px 40px #00000073}.video-window .feed{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(45deg,rgba(255,255,255,.03) 0 12px,transparent 12px 24px),linear-gradient(135deg,#17418c,#071630);animation:drift 6s linear infinite}@keyframes drift{0%{background-position:0 0,0 0}to{background-position:120px 0,0 0}}.video-window .bars{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(60,140,255,.1),transparent);animation:sweep 3.5s ease-in-out infinite}@keyframes sweep{0%,to{transform:translate(-30%)}50%{transform:translate(30%)}}.live-badge{position:absolute;top:14px;left:14px;background:var(--live);color:#fff;font-weight:800;font-size:clamp(11px,1.3vw,16px);padding:5px 12px;border-radius:6px;display:flex;align-items:center;gap:8px;letter-spacing:1px}.live-badge i{width:9px;height:9px;border-radius:50%;background:#fff;animation:blink 1s steps(2) infinite}@keyframes blink{50%{opacity:.2}}.feed-caption{position:absolute;bottom:16px;left:16px;right:16px;animation:caption-in .6s .15s cubic-bezier(.2,.7,.2,1) backwards}@keyframes caption-in{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}.feed-caption .t{font-size:clamp(16px,2vw,30px);font-weight:700;text-shadow:0 2px 8px #000}.feed-caption .s{color:var(--gold);font-size:clamp(12px,1.4vw,20px)}.feed-chevron{position:absolute;right:12px;bottom:12px;width:clamp(30px,3.2vw,48px);aspect-ratio:1;border-radius:24%;border:1px solid rgba(255,226,150,.75);background:linear-gradient(160deg,#ffd977,var(--gold) 45%,var(--gold2));color:#3a2703;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 10px #00000080;transition:transform .1s,filter .15s}.feed-chevron svg{width:60%;height:60%}.feed-chevron:hover{filter:brightness(1.12)}.feed-chevron:active{transform:scale(.86)}.lower-third{position:absolute;bottom:9.5%;left:2.2%;max-width:60%;background:linear-gradient(90deg,#0d3272f5,#0d327200);padding:10px 26px 10px 16px;border-left:5px solid var(--gold);z-index:4;animation:lt-in .55s cubic-bezier(.2,.7,.2,1)}@keyframes lt-in{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}.lower-third .lt-title{font-size:clamp(16px,2vw,30px);font-weight:800}.lower-third .lt-sub{font-size:clamp(11px,1.4vw,18px);color:#cfe0ff}.ticker{position:absolute;bottom:0;left:0;right:7%;height:4.6%;background:#040b1aeb;border-top:1px solid var(--line);overflow:hidden;display:flex;align-items:center;z-index:3}.ticker span{white-space:nowrap;padding-left:100%;animation:scroll 30s linear infinite;color:var(--muted);font-size:clamp(11px,1.3vw,16px)}@keyframes scroll{to{transform:translate(-100%)}}.map-layout{display:grid;grid-template-columns:1.7fr 1fr;gap:1.6%;height:100%}.map-box{position:relative;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 10px 40px #00000059}.map-box svg{width:100%;height:100%;display:block}.map-box-light{background:linear-gradient(165deg,#bfe0f5,#8fc3e8);border-color:#ffffff8c}.map-box-world{background:linear-gradient(165deg,#0a2350,#050f28)}.region{cursor:pointer;transition:filter .15s}.region:hover{filter:brightness(1.12) drop-shadow(0 0 6px rgba(245,184,61,.8))}.region-label{font-size:11.5px;font-weight:600;fill:var(--ink);pointer-events:none}.region-label.on-dark{fill:var(--text)}.region-dot{pointer-events:none}.pin-label{font-size:12px;font-weight:700;fill:#ffe9b8;pointer-events:none}.info-panel{border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:5%;display:flex;flex-direction:column;gap:14px;overflow:auto}.info-panel.slide-in{animation:panel-in .4s cubic-bezier(.2,.7,.2,1)}@keyframes panel-in{0%{opacity:0;transform:translate(36px)}to{opacity:1;transform:translate(0)}}.info-panel h3{margin:0;font-size:clamp(16px,2vw,30px);color:var(--gold)}.info-panel .metric{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px dashed var(--line);padding-bottom:8px}.info-panel .metric b{font-size:clamp(20px,2.6vw,40px)}.info-panel .metric span{color:var(--muted)}.info-panel .placeholder{color:var(--muted);margin:auto;text-align:center;font-size:clamp(13px,1.5vw,20px)}.chart{height:100%;display:flex;flex-direction:column;gap:2%}.bars-h{flex:1;display:flex;align-items:flex-end;gap:2%;padding:1% 0}.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:8px;height:100%}.bar-col .fill{width:70%;border-radius:8px 8px 0 0;background:linear-gradient(180deg,#ffd977,var(--gold2));transition:height .8s cubic-bezier(.2,.7,.2,1);min-height:2px;box-shadow:0 0 18px #f5b83d40}.bar-col .val{font-weight:800;font-size:clamp(12px,1.5vw,22px)}.bar-col .cap{color:var(--muted);font-size:clamp(10px,1.1vw,15px)}.party-list{display:flex;flex-direction:column;gap:2.4%;height:100%;justify-content:center}.party-row{display:grid;grid-template-columns:minmax(130px,16%) 1fr auto;align-items:center;gap:14px}.party-row .pname{font-weight:700;font-size:clamp(12px,1.4vw,20px)}.party-track{height:clamp(16px,2.4vw,34px);background:#ffffff12;border-radius:8px;overflow:hidden}.party-fill{height:100%;border-radius:8px;width:0;transition:width .9s cubic-bezier(.2,.7,.2,1)}.party-row .pval{font-weight:800;font-variant-numeric:tabular-nums;min-width:64px;text-align:right;font-size:clamp(12px,1.5vw,22px)}.party-row.hidden .party-fill{width:0!important}.party-row.hidden .pval{color:var(--muted)}.cmp-row{display:grid;grid-template-columns:70px 1fr;gap:12px;align-items:center;margin-bottom:2%}.cmp-bars{display:flex;flex-direction:column;gap:6px}.cmp-bar{height:15px;border-radius:6px;display:flex;align-items:center;padding-left:8px;font-size:11px;color:#06101f;font-weight:700;transition:width .8s cubic-bezier(.2,.7,.2,1);white-space:nowrap;width:0}.cmp-prev{background:#7d95c2}.cmp-curr{background:var(--gold)}.mv-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:1.5%;height:100%}.assist{min-height:100%;background:linear-gradient(180deg,#081b3f,#040c20);display:grid;grid-template-columns:300px 1fr}.assist-side{border-right:1px solid var(--line);padding:20px;display:flex;flex-direction:column;gap:8px;background:#040c1e99}.assist-side h1{font-size:18px;margin:0 0 4px}.assist-side .sub{color:var(--muted);font-size:12px;margin-bottom:16px;line-height:1.4}.assist-side .grp-title{color:var(--muted);text-transform:uppercase;font-size:11px;letter-spacing:1px;margin:14px 0 6px}.scene-btn{text-align:left;background:#0c214899;border:1px solid var(--line);color:var(--text);padding:10px 12px;border-radius:10px;font-size:14px;display:flex;gap:10px;align-items:center}.scene-btn:hover{border-color:var(--gold)}.scene-btn.active{background:#f5b83d29;border-color:var(--gold)}.scene-btn .k{color:var(--gold);font-weight:800;width:18px}.assist-side .status{margin-top:auto;color:var(--muted);font-size:12px;display:flex;align-items:center;gap:8px}.assist-side .status i{width:9px;height:9px;border-radius:50%;background:var(--ok);box-shadow:0 0 8px var(--ok)}.assist-side .home-link{color:var(--muted);font-size:12px}.assist-main{padding:24px;overflow:auto}.assist-main h2{margin:0 0 4px;font-size:20px}.assist-main .now{color:var(--muted);font-size:13px;margin-bottom:20px}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:18px}.card h3{margin:0 0 14px;font-size:15px;color:var(--gold);text-transform:uppercase;letter-spacing:.5px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.field label{font-size:12px;color:var(--muted)}.field input[type=text],.field textarea,.field select{background:#061128;border:1px solid var(--line);color:var(--text);border-radius:8px;padding:9px 11px;font-size:14px;font-family:inherit}.field textarea{resize:vertical;min-height:60px}.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.slider-row{display:grid;grid-template-columns:130px 1fr 60px;gap:12px;align-items:center;margin-bottom:8px}.slider-row .nm{font-size:13px}.slider-row input[type=range]{width:100%;accent-color:var(--gold)}.slider-row .vv{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}.slider-row input.pname-inp{background:#061128;border:1px solid var(--line);color:var(--text);border-radius:6px;padding:5px 8px;font-size:13px;font-family:inherit;width:100%}.toolbar{display:flex;gap:10px;flex-wrap:wrap}.btn{background:#2ea8ff29;border:1px solid var(--sky);color:var(--text);padding:9px 16px;border-radius:10px;font-size:13px;font-weight:600}.btn.ghost{background:transparent;border-color:var(--line);color:var(--muted)}.btn.gold{background:#f5b83d29;border-color:var(--gold)}.toggle{display:flex;align-items:center;gap:8px;font-size:13px}.pill{display:inline-block;padding:2px 8px;border-radius:20px;font-size:11px;background:#f5b83d29;border:1px solid var(--gold);color:var(--text)}.brand{align-items:center}.stage.pro .home-hint{display:none}.stage.pro .info-panel{background:#0e245073;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-color:#a0c8ff4d;box-shadow:0 12px 44px #00000059,inset 0 1px #ffffff1f}.stage.pro .video-window,.stage.pro .map-box{border-radius:18px}.stage.pro .scene-title{letter-spacing:.3px}.stage.pro .lower-third{background:#0d32728c;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:0 12px 12px 0}.ripple{position:absolute;z-index:40;width:14px;height:14px;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;background:radial-gradient(circle,rgba(255,232,170,.85),rgba(245,184,61,.25) 60%,transparent 70%);animation:ripple-out .55s ease-out forwards}@keyframes ripple-out{0%{opacity:.9;scale:1}to{opacity:0;scale:7}}.stage.pro .dock{transition:transform .45s cubic-bezier(.4,0,.2,1)}.stage.pro.dock-hidden .dock{transform:translate(104%)}.stage.pro .dock-btn{width:74%;aspect-ratio:16 / 10;border-radius:16%}.stage.pro .dock-btn svg:first-child{width:86%;height:78%}.dock-tab{position:absolute;right:0;top:38%;height:24%;width:15px;z-index:9;border:1px solid rgba(255,226,150,.75);border-right:none;border-radius:9px 0 0 9px;padding:0;background:linear-gradient(160deg,#ffd977,var(--gold) 45%,var(--gold2));color:#3a2703;font-size:13px;font-weight:800;opacity:0;pointer-events:none;transition:opacity .3s .2s}.stage.pro.dock-hidden .dock-tab{opacity:1;pointer-events:auto}.stage.pro .scene,.stage.pro .ticker,.stage.pro .brandbar{transition:right .45s cubic-bezier(.4,0,.2,1)}.stage.pro.dock-hidden .scene{right:1.2%}.stage.pro.dock-hidden .ticker{right:0}.stage.pro.dock-hidden .brandbar{right:1.2%}.stage.pro .scene{top:9%;right:7%;bottom:11.4%;left:0}.stage.pro .lower-third{bottom:13%}.rundown-bar{position:absolute;left:2.2%;right:8%;bottom:5.6%;height:5.4%;z-index:7;display:flex;align-items:center;gap:16px}.next-btn{display:flex;align-items:center;gap:8px;height:100%;border:1px solid rgba(255,226,150,.8);border-radius:12px;background:linear-gradient(160deg,#ffd977,var(--gold) 45%,var(--gold2));color:#3a2703;padding:0 clamp(12px,1.4vw,22px);box-shadow:0 6px 22px #00000073,inset 0 1px #ffffff80;transition:transform .1s,filter .15s}.next-btn:hover{filter:brightness(1.08)}.next-btn:active{transform:scale(.94)}.next-btn .nb-cap{font-size:clamp(8px,.85vw,12px);font-weight:700;letter-spacing:.8px;text-transform:uppercase;opacity:.7}.next-btn .nb-label{font-size:clamp(12px,1.4vw,20px);font-weight:800;white-space:nowrap}.next-btn b{font-size:clamp(13px,1.5vw,22px)}.rundown-dots{display:flex;gap:6px}.rundown-dots i{width:clamp(6px,.6vw,9px);height:clamp(6px,.6vw,9px);border-radius:50%;background:#ffffff40;transition:background .25s,box-shadow .25s}.rundown-dots i.done{background:#f5b83d8c}.rundown-dots i.now{background:var(--gold);box-shadow:0 0 8px var(--gold)}.stage.pro .dock-btn.tool-mini{width:46%;aspect-ratio:1;border-radius:24%;border:1px solid var(--line);color:var(--text);background:#08142ebf;box-shadow:none}.stage.pro .dock-btn.tool-mini svg:first-child{width:58%;height:58%}.stage.pro .dock-btn.tool-mini:hover{border-color:var(--gold);filter:none}.stage.pro .dock-btn.tool-mini.active{background:linear-gradient(160deg,#ffd977,var(--gold2));color:#3a2703;border-color:#fff;box-shadow:0 0 16px #f5b83db3}.draw-chip{position:absolute;left:50%;bottom:5.6%;transform:translate(-50%);z-index:9;display:none;gap:8px;align-items:center;background:#08142ed9;border:1px solid rgba(245,184,61,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:12px;padding:6px}.stage.pro.drawing .draw-chip{display:flex}.chip-btn{border:1px solid var(--line);border-radius:8px;padding:6px 14px;background:transparent;color:var(--text);font-size:clamp(11px,1.2vw,15px);font-weight:700}.chip-btn:hover{border-color:var(--gold)}.chip-btn.done{background:linear-gradient(160deg,#ffd977,var(--gold2));color:#3a2703;border-color:#ffe296cc}.telestrator{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;pointer-events:none;touch-action:none}.stage.pro.drawing .telestrator{pointer-events:auto;cursor:crosshair}.stage.pro.drawing .scene{pointer-events:none}.lock-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:50;display:none;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:#0309168c;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.stage.pro.locked .lock-overlay{display:flex}.lock-ring{position:relative;width:clamp(70px,8vw,110px);aspect-ratio:1;cursor:pointer;touch-action:none}.lock-ring svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.lock-ring .ring-track{fill:#08142ecc;stroke:#ffffff40;stroke-width:4}.lock-ring .ring-fill{fill:none;stroke:var(--gold);stroke-width:4;stroke-linecap:round;stroke-dasharray:213.6;stroke-dashoffset:213.6;transform:rotate(-90deg);transform-origin:center}.lock-overlay.unlocking .ring-fill{animation:ring-fill 1.5s linear forwards}@keyframes ring-fill{to{stroke-dashoffset:0}}.lock-ring .padlock{position:absolute;top:28%;right:28%;bottom:28%;left:28%;width:44%;height:44%;color:var(--gold)}.lock-hint{color:var(--muted);font-size:clamp(11px,1.2vw,16px)}.zoom-box{width:100%;height:100%}.zoom-back{position:absolute;top:12px;left:12px;z-index:3;border:1px solid rgba(255,226,150,.8);border-radius:10px;background:linear-gradient(160deg,#ffd977,var(--gold) 45%,var(--gold2));color:#3a2703;font-size:clamp(11px,1.2vw,16px);font-weight:700;padding:7px 14px;opacity:0;pointer-events:none;transition:opacity .25s}.zoom-box.zoomed .zoom-back{opacity:1;pointer-events:auto}.zoom-cards{position:absolute;top:8%;right:2.5%;z-index:3;width:clamp(180px,24%,340px);display:flex;flex-direction:column;gap:10px;opacity:0;transform:translate(30px);pointer-events:none;transition:opacity .4s .25s,transform .4s .25s}.zoom-box.zoomed .zoom-cards{opacity:1;transform:translate(0)}.zoom-cards .zc-name{font-size:clamp(15px,1.8vw,26px);font-weight:800;color:#0b2144;background:#ffffffd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px;padding:10px 14px;border-left:5px solid var(--gold)}.zoom-cards .zc{background:#091a3cd1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(160,200,255,.3);border-radius:12px;padding:8px 14px;display:flex;justify-content:space-between;align-items:baseline;gap:10px}.zoom-cards .zc span{color:var(--muted);font-size:clamp(10px,1.1vw,15px)}.zoom-cards .zc b{color:var(--text);font-size:clamp(16px,2vw,30px);font-variant-numeric:tabular-nums}
