:root{--bg:#0a0e14;--panel:#111824;--panel-2:#0d141e;--line:#1d2a3a;--crystal:#3fd0ff;--crystal-dim:#1c7fa6;--ink:#e8f1f8;--muted:#7d92a6;--good:#46d39a;--warn:#ffb454;--bad:#ff5d6c;--gold:#ffd166}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:radial-gradient(1200px 600px at 80% -10%,rgba(63,208,255,.08),transparent 60%),radial-gradient(900px 500px at -10% 110%,rgba(70,211,154,.06),transparent 55%),var(--bg);color:var(--ink);font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;min-height:100vh}app-root{display:block}.wrap{--z:clamp(.72,min(100vw / 1440px,100dvh / 860px),1.3);zoom:var(--z);margin:0;padding:20px clamp(10px,1.4vw,28px);--side:200px;width:calc(100vw / var(--z));height:calc(100dvh / var(--z));display:flex;flex-direction:column;overflow:hidden}header.top{margin:-20px -12px 10px;flex:0 0 auto}.layout{display:flex;align-items:flex-start;gap:18px;flex:1 1 auto;min-height:0}.content{flex:1 1 auto;min-width:0;max-width:none;height:100%;overflow-y:auto;overflow-x:hidden}.content,.toolbar{scrollbar-width:none;-ms-overflow-style:none}.content::-webkit-scrollbar,.toolbar::-webkit-scrollbar{width:0;height:0;display:none}@media(max-width:760px){.layout{flex-direction:column}.wrap{zoom:1;width:auto;height:auto;overflow:visible;display:block}.content{height:auto;overflow:visible;padding-right:0}}.title h1{margin:0;font-size:30px;letter-spacing:4px;text-transform:uppercase;font-weight:800;background:linear-gradient(90deg,#fff,var(--crystal));-webkit-background-clip:text;background-clip:text;color:transparent}.title .sub{color:var(--muted);letter-spacing:2px;text-transform:uppercase;font-size:11px}.toolbar{display:flex;flex-direction:column;align-items:stretch;gap:8px;flex:0 0 auto;width:var(--side);align-self:flex-start;max-height:100%;overflow-y:auto}@media(max-width:760px){.toolbar{align-items:flex-start;width:auto;max-height:none;overflow:visible}}button{font:inherit;cursor:pointer;border:1px solid var(--line);background:var(--panel);color:var(--ink);padding:8px 14px;border-radius:8px;letter-spacing:.5px;transition:.15s}button:hover{border-color:var(--crystal-dim);box-shadow:0 0 0 1px var(--crystal-dim) inset}button.primary{background:linear-gradient(180deg,#1a4f63,#0f3140);border-color:var(--crystal-dim)}button.primary:hover{box-shadow:0 0 14px #3fd0ff40}button.ghost{background:transparent}button.danger:hover{border-color:var(--bad);box-shadow:0 0 0 1px var(--bad) inset}button.sm{padding:5px 10px;font-size:12px}.panel{background:#111824b8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);border:1px solid var(--line);border-radius:14px;padding:18px;margin-top:18px}.panel h2{margin:0 0 14px;font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--crystal)}.grid{display:grid;gap:14px}.cols-4{grid-template-columns:repeat(4,1fr)}.cols-3{grid-template-columns:repeat(3,1fr)}.cols-2{grid-template-columns:repeat(2,1fr)}@media(max-width:760px){.cols-4{grid-template-columns:1fr 1fr}.cols-3,.cols-2{grid-template-columns:1fr}}label.fld{display:flex;flex-direction:column;gap:5px;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}input[type=text],textarea{font:inherit;background:var(--panel-2);border:1px solid var(--line);color:var(--ink);border-radius:8px;padding:9px 11px;width:100%}input[type=text]:focus,textarea:focus{outline:none;border-color:var(--crystal-dim);box-shadow:0 0 0 2px #3fd0ff1f}textarea{resize:vertical;min-height:42px}.clanbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:14px}select{font:inherit;background:var(--panel-2);border:1px solid var(--line);color:var(--ink);border-radius:8px;padding:8px 12px;min-width:200px;letter-spacing:.5px;cursor:pointer}select:focus{outline:none;border-color:var(--crystal-dim);box-shadow:0 0 0 2px #3fd0ff1f}.roster-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.card{background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:10px;position:relative;transition:.15s}.card:hover{border-color:var(--crystal-dim)}.card .cname{font-size:17px;font-weight:700;letter-spacing:.5px;padding-right:74px}.card .cplayer{color:var(--muted);font-size:12px;margin-top:-6px}.card .cid{position:absolute;top:12px;right:12px;font-family:Consolas,monospace;font-size:10px;letter-spacing:1px;color:var(--muted);opacity:.7;border:1px solid var(--line);border-radius:6px;padding:2px 6px;-webkit-user-select:all;user-select:all}.card .statline{display:flex;gap:8px;flex-wrap:wrap;font-size:11px;letter-spacing:.5px}.pill{background:#0a121c;border:1px solid var(--line);border-radius:20px;padding:3px 9px;color:var(--muted);font-variant-numeric:tabular-nums}.pill b{color:var(--ink);font-weight:700}.pill.bless b{color:var(--crystal)}.pill.trouble b{color:var(--warn)}.pill.ok{border-color:var(--good)}.pill.ok b{color:var(--good)}.pill.bad{border-color:var(--bad)}.pill.bad b{color:var(--bad)}.card .goal{font-size:12px;color:#bcd;min-height:34px;border-left:2px solid var(--crystal-dim);padding-left:10px}.card .goal.empty{color:var(--muted);border-color:var(--line);font-style:italic}.card .row{display:flex;gap:6px;margin-top:auto;flex-wrap:wrap}.card .row select.movesel{min-width:0;padding:5px 9px;font-size:12px;letter-spacing:.3px}.card.add{align-items:center;justify-content:center;cursor:pointer;border-style:dashed;color:var(--muted);min-height:180px;font-size:14px;letter-spacing:1px}.card.add:hover{color:var(--crystal);border-color:var(--crystal-dim)}.empty-state{color:var(--muted);text-align:center;padding:30px;letter-spacing:.5px}.budgets{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:6px}@media(max-width:760px){.budgets{grid-template-columns:1fr}}.budget{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:12px 14px}.budget .row{display:flex;justify-content:space-between;align-items:baseline}.budget .lab{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted)}.budget .num{font-size:20px;font-weight:800;font-variant-numeric:tabular-nums}.budget .num.ok{color:var(--good)}.budget .num.over{color:var(--bad)}.bar{height:6px;background:#0a121c;border-radius:6px;margin-top:8px;overflow:hidden}.bar>i{display:block;height:100%;background:linear-gradient(90deg,var(--crystal-dim),var(--crystal));width:0;transition:.2s}.bar.over>i{background:linear-gradient(90deg,#a33,#ff5d6c)}.imp{background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:14px;margin-top:12px}.imp .head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.imp .name{font-weight:700;letter-spacing:1px;font-size:15px;flex:1;min-width:140px}.imp .name .desc{display:block;font-weight:400;color:var(--muted);font-size:11px;letter-spacing:.3px;text-transform:none}.stepper{display:flex;align-items:center;gap:6px}.stepper .cap{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);width:54px;text-align:right}.stepper button{width:30px;height:30px;padding:0;font-size:18px;line-height:1;display:grid;place-items:center}.stepper .val{width:34px;text-align:center;font-weight:800;font-size:18px;font-variant-numeric:tabular-nums}.stepper .val.flag{color:var(--gold)}.imp .body{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}@media(max-width:760px){.imp .body{grid-template-columns:1fr}}.actions .act{display:flex;gap:8px;align-items:center;margin-bottom:8px}.actions .act input{flex:1}.actions .mini{font-size:11px;color:var(--muted);letter-spacing:1px;text-transform:uppercase;margin-bottom:6px}.addact{font-size:12px;padding:5px 10px}.actions .act .useflag{font-size:11px;padding:4px 8px;letter-spacing:.5px}.actions .act .useflag.on{border-color:var(--gold);color:var(--gold)}.actions .act input.usedact{text-decoration:line-through;opacity:.5}.impstatus{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}.chip{font-size:11px;letter-spacing:1px;text-transform:uppercase;border-radius:20px;padding:3px 11px;border:1px solid var(--line);color:var(--muted)}.chip.active{color:var(--crystal);border-color:var(--crystal-dim);box-shadow:0 0 0 1px var(--crystal-dim) inset}.chip.drained{color:var(--bad);border-color:var(--bad)}.adv-grid{display:flex;flex-direction:column;gap:10px}.adv-pools{margin-bottom:2px}.adv-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:10px 12px}.adv-row .an{flex:1;min-width:150px;font-weight:600;letter-spacing:.3px}.adv-row .an .av{color:var(--muted);font-weight:400;font-size:12px;font-variant-numeric:tabular-nums}.adv-row button[disabled]{opacity:.4;cursor:not-allowed}.plab{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}.counters{display:flex;gap:24px;flex-wrap:wrap}.counter{display:flex;align-items:center;gap:10px}.counter .lab{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted)}.counter .val{font-size:24px;font-weight:800;min-width:30px;text-align:center;font-variant-numeric:tabular-nums}.counter.bless .val{color:var(--crystal)}.counter.trouble .val{color:var(--warn)}#diceStage{position:relative;width:100%;height:340px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:radial-gradient(120% 100% at 50% 0%,#0d1622,#06090f);margin-bottom:14px}#diceStage canvas{display:block;width:100%!important;height:100%!important}#diceStageNote{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:12px;letter-spacing:1px;text-transform:uppercase;text-align:center;padding:0 16px}#diceStage.off{height:0;border:0;margin:0}.arena{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:start}@media(max-width:760px){.arena{grid-template-columns:1fr}}.vs{align-self:center;font-weight:800;letter-spacing:2px;color:var(--crystal);font-size:18px;text-align:center}@media(max-width:760px){.vs{padding:6px 0}}.side{background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:10px}.side.side0{border-color:#2f9e74}.side.side1{border-color:#c2545f}.side.win{box-shadow:0 0 18px #ffffff1f,0 0 0 1px #ffffff4d inset}.side.lose{opacity:.88}.side.defeated{opacity:.55;border-style:dashed}.side .srow{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.side .srow .lab{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);width:64px}.side select,.side input[type=text],.side input[type=number]{padding:6px 9px;min-width:0}.side select{flex:1}.poolnum{font-weight:800;font-size:18px;color:var(--crystal);font-variant-numeric:tabular-nums}.mini-step{display:flex;align-items:center;gap:6px}.mini-step button{width:26px;height:26px;padding:0;font-size:16px;display:grid;place-items:center}.mini-step .v{width:26px;text-align:center;font-weight:800;font-variant-numeric:tabular-nums}.poolline{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:8px}.lostbadge{font-size:11px;color:var(--warn);letter-spacing:.5px}.dice{display:flex;flex-wrap:wrap;gap:6px;min-height:6px}.die{width:30px;height:30px;border-radius:7px;display:grid;place-items:center;font-weight:800;font-size:15px;background:#0a121c;border:1px solid var(--line);color:var(--muted)}.die.hit{background:linear-gradient(180deg,#15485c,#0e2c39);border-color:var(--crystal-dim);color:#fff;box-shadow:0 0 8px #3fd0ff40}.die.bonus{border-style:dashed}.succ{font-size:12px;color:var(--muted)}.succ b{color:var(--crystal)}.arena-controls{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap;align-items:center}.rollmode{display:flex;align-items:center;gap:7px;font-size:12px;letter-spacing:.5px;color:var(--ink);cursor:pointer;margin-left:6px}.result-box{margin-top:14px;font-size:15px;letter-spacing:.3px;min-height:8px}.result-box .win-name{color:var(--good);font-weight:700}.result-box .marg{color:var(--crystal);font-weight:700}.result-box .ko{color:var(--bad);font-weight:800;text-transform:uppercase;letter-spacing:1px}.cons-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:760px){.cons-grid{grid-template-columns:1fr}}.cons{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;padding:12px 14px}.cons h3{margin:0 0 8px;font-size:13px;letter-spacing:.5px}.cons ul{margin:8px 0 0;padding-left:18px;font-size:13px;color:#cfe1ee}.cons ul li{margin-bottom:3px}.cons .none{color:var(--muted);font-size:13px}.blesscheck{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.result-inline{font-size:14px;letter-spacing:.3px}.result-inline.demand{color:var(--warn);font-weight:700}.result-inline.clear{color:var(--good)}.log{font-size:13px;color:#b9cad8;display:flex;flex-direction:column;gap:5px;max-height:240px;overflow:auto}.log .entry{border-left:2px solid var(--crystal-dim);padding-left:10px}.log .empty{color:var(--muted);font-style:italic;border:0;padding:0}.hint{font-size:12px;color:var(--muted);margin-top:4px}.footnote{color:var(--muted);font-size:12px;margin-top:30px;text-align:center;letter-spacing:.5px}.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%) translateY(20px);opacity:0;background:#0f2230;border:1px solid var(--crystal-dim);color:var(--ink);padding:10px 18px;border-radius:10px;transition:.25s;pointer-events:none;letter-spacing:.5px;box-shadow:0 8px 30px #0006}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}.hidden{display:none!important}.rules{font-size:14.5px}.rules .toc{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}.rules .toc a{color:var(--crystal);text-decoration:none;border:1px solid var(--line);border-radius:20px;padding:4px 12px;font-size:12px;letter-spacing:.5px}.rules .toc a:hover{border-color:var(--crystal-dim);background:var(--panel-2)}.rules p{margin:0 0 12px;color:#cfe1ee}.rules p.lead{color:var(--ink)}.rules h3{margin:18px 0 6px;font-size:15px;letter-spacing:.4px;color:var(--ink)}.rules h3:first-child{margin-top:0}.rules ul,.rules ol{margin:0 0 12px;padding-left:20px;color:#cfe1ee}.rules li{margin-bottom:6px}.rules dfn{color:var(--crystal);font-style:normal;font-weight:700}.rules .callout{background:var(--panel-2);border-left:3px solid var(--crystal-dim);border-radius:8px;padding:10px 14px;margin:0 0 12px;font-size:13.5px}.rules .callout.good{border-color:var(--good)}.rules .callout.good b{color:var(--good)}.rules .callout.bad{border-color:var(--bad)}.rules .callout.bad b{color:var(--bad)}.rules .tag{display:inline-block;font-variant-numeric:tabular-nums;background:#0a121c;border:1px solid var(--line);border-radius:6px;padding:1px 7px;font-size:12px;color:var(--crystal);letter-spacing:.5px}.rules table.npc{width:100%;border-collapse:collapse;margin:2px 0 12px;font-size:13px}.rules table.npc th,.rules table.npc td{border:1px solid var(--line);padding:6px 9px;text-align:left;vertical-align:top}.rules table.npc th{color:var(--muted);text-transform:uppercase;letter-spacing:1px;font-size:11px}.rules table.npc td .tag{margin-bottom:2px}.lore{max-width:none;margin-left:0;margin-right:0}.lore .lore-kicker{font-family:Consolas,monospace;font-size:12px;letter-spacing:3px;color:var(--crystal);text-transform:uppercase;margin-bottom:8px;text-shadow:0 0 10px rgba(63,208,255,.4)}.lore .lore-title{font-size:clamp(30px,6vw,44px);line-height:1.02;margin:0 0 6px;letter-spacing:1px;background:linear-gradient(180deg,#eaffff,#8fd6ee 60%,#3fd0ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.lore .lore-sub{color:var(--muted);letter-spacing:.5px;margin:0 0 18px;font-size:14px}.lore p{margin:0 0 15px;color:#d3e4f0;line-height:1.72;font-size:15.5px}.lore p.lore-lead{font-size:17px;color:var(--ink)}.lore p.lore-lead:first-letter{float:left;font-family:Consolas,monospace;font-weight:800;font-size:58px;line-height:.78;padding:6px 12px 2px 0;color:var(--crystal);text-shadow:0 0 16px rgba(63,208,255,.5)}.lore .term{font-style:normal;color:var(--crystal);font-weight:600}.lore .lore-signoff{border-left:3px solid var(--crystal-dim);background:var(--panel-2);border-radius:10px;padding:16px 20px;margin:22px 0 4px;font-size:17px;color:var(--ink);font-style:italic;line-height:1.55}.lore-fig{margin:6px 0 14px;width:min(40%,300px);border-radius:12px;overflow:hidden;border:1px solid var(--crystal-dim);box-shadow:0 12px 30px #00000080;background:var(--panel-2)}.lore-fig.right{float:right;margin-left:24px}.lore-fig.left{float:left;margin-right:24px}.lore-fig img{display:block;width:100%;height:auto}.lore-fig figcaption{font-family:Consolas,monospace;font-size:11px;letter-spacing:.5px;color:var(--muted);text-align:center;padding:7px 10px;border-top:1px solid var(--line)}@media(max-width:640px){.lore-fig,.lore-fig.left,.lore-fig.right{float:none;width:100%;margin:14px auto}}.lore .lore-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line);clear:both}.lore .lore-cta button{font-size:15px;padding:11px 20px}@media print{body{background:#fff;color:#000}.toolbar,.addact,.stepper button,.counter button,.footnote,.card .row,.card.add{display:none!important}.panel,.imp,.budget,.card{border-color:#bbb;background:#fff}.imp,.budget,.card{break-inside:avoid}.title h1{color:#000;-webkit-text-fill-color:#000}button{display:none}@page{size:A4;margin:8mm}.dashboard{padding:2px 0 4px}.dashboard{overflow:visible!important}.dash-center{position:static!important;transform:none!important;width:auto!important;margin:0 auto 4px!important;gap:1px}.dash-center h1{font-size:22px!important;letter-spacing:3px!important;white-space:nowrap;background:none!important;color:#000!important;-webkit-text-fill-color:#000!important;animation:none!important}.dash-center .sub{color:#333}.dash-tag{display:none}#sheetDash{max-width:400px;margin:4px auto 0}.panel{padding:9px;margin-top:8px}.panel>h2{margin:0 0 6px;font-size:12px}.panel .hint{font-size:9px;margin:4px 0}.counters{margin-bottom:8px}textarea[data-id=goals]{min-height:40px}#advancement{font-size:9px}.panel input,.panel textarea,.panel select{background:#fff!important;color:#000!important;border-color:#aaa!important;text-shadow:none!important;-webkit-text-fill-color:#000!important}.panel input::placeholder,.panel textarea::placeholder{color:#bbb!important}#implants{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:5px}#implants .imp{min-width:0;margin:0;aspect-ratio:auto;padding:4px 6px;font-size:8.5px;background:#fff!important;background-image:none!important;break-inside:avoid}#implants .imp .head{flex-wrap:wrap;padding-bottom:2px;gap:3px}#implants .imp .name{padding-left:10px;font-size:9.5px;text-shadow:none!important}#implants .imp .name .desc{font-size:8px;color:#222!important}#implants .imp .name:before{width:4px;height:4px;top:3px}#implants .stepper{gap:2px}#implants .stepper .cap{font-size:7px}#implants .stepper .val{width:19px;height:19px;font-size:7.5px}#implants .imp .body{margin-top:2px;gap:4px}#implants .imp .mini{font-size:7.5px;text-shadow:none!important;margin-bottom:1px}#implants .imp input{padding:1px 5px;font-size:8px}#implants .imp textarea{min-height:16px;font-size:8px}#implants .imp input,#implants .imp textarea{width:100%;min-width:0;box-sizing:border-box}#implants .impstatus{display:none}}body{overflow-x:hidden}body:before,body:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;transform-origin:50% 50%;-webkit-mask:radial-gradient(closest-side at 50% 50%,transparent 15%,#000 42%);mask:radial-gradient(closest-side at 50% 50%,transparent 15%,#000 42%)}body:before{background:repeating-conic-gradient(from 0deg at 50% 50%,transparent 0 4.2deg,rgba(150,205,255,.55) 4.2deg 5deg);animation:warp 1.7s linear infinite,steer 50s ease-in-out infinite}body:after{background:repeating-conic-gradient(from 2.4deg at 50% 50%,transparent 0 5.4deg,rgba(120,235,255,.4) 5.4deg 6deg);animation:warp 2.5s linear infinite,steer 50s ease-in-out infinite;animation-delay:-.85s,0s}@keyframes warp{0%{scale:.45;opacity:0}14%{opacity:.9}30%{scale:1.05}46%{scale:1.25}68%{scale:1.9}86%{scale:2.1;opacity:.9}to{scale:2.5;opacity:0}}@keyframes steer{0%,18%{rotate:0deg}64%{rotate:-18deg}82%{rotate:18deg}to{rotate:0deg}}.speedcity{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}.bldg{position:absolute;bottom:-3%;width:46vmin;height:118vmin;opacity:0;will-change:transform,opacity;background:bottom center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 420' preserveAspectRatio='xMidYMax meet'%3E%3Cg fill='%230c1828' stroke='%233fd0ff' stroke-width='2.5' stroke-opacity='.6'%3E%3Crect x='2' y='250' width='30' height='170'/%3E%3Crect x='36' y='120' width='38' height='300'/%3E%3Crect x='80' y='300' width='26' height='120'/%3E%3Crect x='110' y='40' width='44' height='380'/%3E%3Crect x='158' y='185' width='22' height='235'/%3E%3C/g%3E%3Cg fill='%233fd0ff' opacity='.55'%3E%3Crect x='46' y='150' width='5' height='7'/%3E%3Crect x='58' y='205' width='5' height='7'/%3E%3Crect x='120' y='70' width='5' height='8'/%3E%3Crect x='132' y='128' width='5' height='8'/%3E%3Crect x='120' y='210' width='5' height='8'/%3E%3Crect x='164' y='225' width='5' height='7'/%3E%3C/g%3E%3C/svg%3E")}.bldg.l{left:0;animation:rushL 2.4s linear infinite}.bldg.r{right:0;animation:rushR 2.4s linear infinite}.bldg.d{animation-delay:-1.2s}@keyframes rushL{0%{transform:translate(22%) scale(.4);opacity:0}18%{opacity:.92}to{transform:translate(-58%) scale(2);opacity:0}}@keyframes rushR{0%{transform:translate(-22%) scale(-.4,.4);opacity:0}18%{opacity:.92}to{transform:translate(58%) scale(-2,2);opacity:0}}@media(prefers-reduced-motion:reduce){.bldg{animation:none;opacity:.45;transform:scale(1.3)}}@keyframes titleglow{0%,to{filter:drop-shadow(0 0 6px rgba(63,208,255,.25))}50%{filter:drop-shadow(0 0 16px rgba(63,208,255,.55))}}.title h1{animation:titleglow 4.5s ease-in-out infinite}.title .sub{font-family:Consolas,Courier New,monospace}@keyframes ledpulse{0%,to{opacity:.5}50%{opacity:1}}.dashboard{position:relative;width:100%;margin:0;padding:4px 0 6px;overflow:hidden;max-height:clamp(78px,11vh,120px);background:radial-gradient(120% 150% at 50% -10%,rgba(63,208,255,.07),transparent 60%)}.dashboard:before{content:"";position:absolute;left:2%;right:2%;top:47%;height:2px;pointer-events:none;opacity:.5;background:linear-gradient(90deg,transparent,rgba(63,208,255,.55) 14%,rgba(63,208,255,.55) 86%,transparent)}.dash-svg{position:relative;display:block;width:100%;max-width:min(1400px,100%);height:auto;margin:0 auto;filter:drop-shadow(0 0 16px rgba(63,208,255,.18))}.dash-center{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);width:min(46%,560px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:5px;pointer-events:none}.dash-svg .warn{animation:ledpulse 1.6s ease-in-out infinite;filter:drop-shadow(0 0 5px #ff8a3c)}.gauge .needle{transform-box:view-box;transform-origin:100px 100px;animation:gneedle 5s ease-in-out infinite;filter:drop-shadow(0 0 4px #eaffff)}.gauge.rev .needle{animation-duration:6.2s;animation-delay:-2s}@keyframes gneedle{0%,to{transform:rotate(-122deg)}50%{transform:rotate(122deg)}}.dash-center h1{margin:0;font-size:clamp(16px,2.6vw,32px);letter-spacing:4px;text-transform:uppercase;font-weight:800;white-space:nowrap;background:linear-gradient(90deg,#fff,var(--crystal));-webkit-background-clip:text;background-clip:text;color:transparent;animation:titleglow 4.5s ease-in-out infinite}.dash-center .sub{color:#9fc4d8;letter-spacing:2px;text-transform:uppercase;font-size:clamp(8px,1vw,13px);font-family:Consolas,monospace}.dash-tag{font-family:Consolas,monospace;font-size:clamp(8px,.95vw,12px);letter-spacing:2px;color:var(--muted);text-transform:uppercase}.dash-tag b{color:var(--crystal)}.gauge .tick{transform-box:fill-box;transform-origin:center;animation:gspin 16s linear infinite}.gauge.rev .tick{animation-duration:22s;animation-direction:reverse}@keyframes gspin{to{transform:rotate(360deg)}}.gauge .arc{animation:gsweep 4.2s ease-in-out infinite}@keyframes gsweep{0%,to{stroke-dashoffset:300}50%{stroke-dashoffset:96}}.dash-scan{animation:dscan 3.8s linear infinite}@keyframes dscan{0%{transform:translate(0);opacity:0}12%{opacity:.65}88%{opacity:.65}to{transform:translate(344px);opacity:0}}.panel{position:relative;border-left:2px solid var(--crystal-dim);box-shadow:0 0 0 1px #3fd0ff0a inset,0 14px 32px #00000061}.panel>h2{position:relative;padding-left:18px}.panel>h2:before{content:"";position:absolute;left:0;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:50%;background:var(--crystal);box-shadow:0 0 8px var(--crystal);animation:ledpulse 2.6s ease-in-out infinite}.panel:after{content:"";position:absolute;inset:0;border-radius:14px;pointer-events:none;opacity:.5;background:repeating-linear-gradient(0deg,rgba(255,255,255,.02) 0 1px,transparent 1px 3px)}.panel:before{content:"";position:absolute;inset:0;border-radius:14px;pointer-events:none;z-index:0;mix-blend-mode:screen;opacity:.55;background:linear-gradient(115deg,transparent 30%,rgba(63,208,255,.07) 41%,rgba(150,120,255,.06) 50%,rgba(255,90,170,.06) 59%,transparent 70%);background-size:280% 280%;animation:panelGlass 15s linear infinite}@keyframes panelGlass{0%{background-position:125% 0}to{background-position:-25% 0}}.panel:nth-of-type(2n):before{animation-direction:reverse}@media(prefers-reduced-motion:reduce){.panel:before{animation:none}}.toolbar{padding:12px 10px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,#0e1620,#0a121c);box-shadow:0 0 0 1px #3fd0ff0d inset,0 10px 26px #00000059}.toolbar:before{content:"\25c8  CONTROL";font:11px/1 Consolas,monospace;letter-spacing:2px;color:var(--muted);padding:0 2px 4px;text-transform:uppercase}.toolbar button{position:relative;text-align:left;padding-left:30px;letter-spacing:.6px;text-transform:uppercase;font-size:12px}.toolbar button:before{content:"";position:absolute;left:12px;top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:50%;background:var(--crystal-dim);box-shadow:0 0 5px var(--crystal-dim);transition:.15s}.toolbar button:hover:before{background:var(--crystal);box-shadow:0 0 10px var(--crystal)}.toolbar button.primary:before{background:var(--crystal);box-shadow:0 0 9px var(--crystal);animation:ledpulse 2s ease-in-out infinite}.toolbar button.tb-current{color:var(--crystal);border-color:var(--crystal-dim);font-weight:600;background:linear-gradient(180deg,#3fd0ff29,#3fd0ff0d);box-shadow:0 0 0 1px var(--crystal-dim) inset}.toolbar button.tb-current:before{background:var(--crystal);box-shadow:0 0 10px var(--crystal);animation:ledpulse 2s ease-in-out infinite}.toolbar .tb-sep{height:0;border:0;border-top:1px solid var(--line);margin:5px 4px}.toolbar .tb-label{font:10px/1 Consolas,monospace;letter-spacing:2px;color:var(--muted);text-transform:uppercase;padding:6px 4px 2px;opacity:.7}.imp{background:linear-gradient(180deg,#0d1622,#0a121c);border-color:#16313f}.imp .name{font-family:Consolas,Courier New,monospace;letter-spacing:.5px}.imp .stepper .val{font-family:Consolas,monospace;text-shadow:0 0 8px rgba(63,208,255,.4)}.bridge-imp{display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px;border:1px solid var(--crystal-dim);background:radial-gradient(120% 100% at 50% 0%,#0d1a29,#070d15);box-shadow:0 0 24px #3fd0ff14 inset}.bgauge-wrap{position:relative;width:172px;height:172px}.bgauge{display:block;width:172px;height:172px;filter:drop-shadow(0 0 8px rgba(63,208,255,.22))}#bridgeArc{transition:stroke-dashoffset .4s ease;filter:drop-shadow(0 0 5px #3fd0ff)}.bgauge-num{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.bgauge-num .val{font-family:Consolas,monospace;font-size:48px;font-weight:800;color:#eaffff;line-height:1;text-shadow:0 0 16px rgba(63,208,255,.65)}.bgauge-num small{font-family:Consolas,monospace;font-size:10px;letter-spacing:2px;color:var(--muted)}.bridge-step{gap:16px}.bridge-step button{width:42px;height:34px;font-size:20px}.bridge-desc{font-size:12px;color:var(--muted);text-align:center;max-width:340px}.budget{background:linear-gradient(180deg,#0e1825,#0a131e);border-color:var(--crystal-dim)}.budget .lab,.budget .num{font-family:Consolas,monospace}.budget .num{text-shadow:0 0 10px rgba(63,208,255,.4)}.budget .bar{height:14px;position:relative}.budget .bar>i{box-shadow:0 0 12px #3fd0ff8c}.budget .bar:after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0 7px,rgba(5,12,20,.7) 7px 9px)}.counter .val{font-family:Consolas,monospace;text-shadow:0 0 10px rgba(63,208,255,.45)}.counter.trouble .val{color:var(--warn);text-shadow:0 0 12px rgba(255,180,84,.6)}#sheetDash{position:relative;margin:18px auto 0;width:100%;max-width:1000px;aspect-ratio:1672/941;border:1px solid var(--crystal-dim);border-radius:14px;overflow:hidden;background:#05080d url(/assets/dashboard.webp) center/100% 100% no-repeat;box-shadow:0 14px 34px #00000073}.sd-meters{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.sd-glass{position:absolute;inset:0;z-index:6;pointer-events:none;border-radius:inherit;overflow:hidden;mix-blend-mode:screen}.sd-glass:before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(125deg,#ffffff1a,#fff0 22% 70%,#96c8ff0d)}.sd-glass:after{content:"";position:absolute;left:0;right:0;top:0;height:40%;background:linear-gradient(180deg,#ffffff12,#fff0)}.sd-streak{position:absolute;top:-40%;height:180%;width:22%;filter:blur(11px);transform:rotate(46deg);opacity:0;background:linear-gradient(90deg,transparent,var(--c, rgba(120,210,255,.22)),transparent);animation:sdStreak var(--dur,8s) linear infinite;animation-delay:var(--dl,0s)}@keyframes sdStreak{0%{left:-35%;opacity:0}10%{opacity:1}88%{opacity:1}to{left:125%;opacity:0}}.sd-streak.rev{transform:rotate(-46deg);animation-name:sdStreakRev}@keyframes sdStreakRev{0%{left:125%;opacity:0}10%{opacity:1}88%{opacity:1}to{left:-35%;opacity:0}}@media(prefers-reduced-motion:reduce){.sd-streak{animation:none;opacity:0}}.sd-cp{position:absolute;left:42%;right:48.5%;top:46.6%;display:flex;flex-direction:column;gap:0;text-align:left}.sd-cp .sd-fld>span{font-size:8px;font-weight:700;letter-spacing:.6px;color:#bfe6f5;text-shadow:0 0 4px rgba(63,208,255,.5),0 1px 3px #000}.sd-cp .sd-fld textarea{font-family:Consolas,monospace;font-size:11px;font-weight:600;line-height:1.14;text-align:left;background:transparent;border:0;color:#fff;text-shadow:0 1px 3px #000,0 0 6px rgba(0,0,0,.6);width:100%;resize:none;overflow:hidden;padding:0;white-space:pre-wrap;word-break:break-word;field-sizing:content;max-height:36px}.sd-cp .sd-fld textarea:focus{outline:none}.sd-clan{position:absolute;left:calc(21.2% - 3mm);top:calc(78.7% - 5mm);width:calc(12.5% - 10mm);transform:rotate(18deg);transform-origin:left center}.sd-clan textarea{font:inherit;font-size:10px;letter-spacing:.2px;text-transform:none;background:transparent;border:0;border-bottom:1px solid rgba(63,208,255,.2);color:#fff;border-radius:0;padding:0 1px;text-shadow:0 1px 3px #000;width:100%;line-height:1.2;resize:none;overflow:hidden;white-space:pre-wrap;word-break:break-word}.sd-clan textarea:focus{outline:none;border-bottom-color:var(--crystal)}.sd-pagan{position:absolute;right:calc(19% + 4mm);top:calc(80% - 8mm);width:calc(12.5% - 10mm);transform:rotate(-24deg);transform-origin:right center}.sd-pagan>span,.sd-pagan input{text-align:left}.sd-fld{display:flex;flex-direction:column;gap:0;font-family:Consolas,monospace;font-size:6px;letter-spacing:1px;text-transform:uppercase;color:#8fc0d6;line-height:1.1;min-width:0}.sd-fld>span{text-shadow:0 1px 3px #000}.sd-fld input{font:inherit;font-size:10px;letter-spacing:.2px;text-transform:none;background:transparent;border:0;border-bottom:1px solid rgba(63,208,255,.2);color:#fff;border-radius:0;padding:0 1px;text-shadow:0 1px 3px #000;width:100%;line-height:1.15}.sd-fld input:not(:placeholder-shown){border-bottom-color:transparent}.sd-fld input:focus{outline:none;border-bottom-color:var(--crystal)}.sd-tick{transform-box:fill-box;transform-origin:center;animation:gspin 18s linear infinite}.sd-tick.rev{animation-duration:24s;animation-direction:reverse}[id^=sd-][id$=-arc]{transition:stroke-dashoffset .45s ease;filter:drop-shadow(0 0 5px rgba(63,208,255,.5))}.sd-warn{opacity:.14;transition:opacity .3s}.sd-warn.active{opacity:1;animation:ledpulse 1.1s ease-in-out infinite;filter:drop-shadow(0 0 6px #ff8a3c)}.sd-scan{animation:sdscan 4.2s linear infinite}@keyframes sdscan{0%{transform:translate(0);opacity:0}10%{opacity:.45}90%{opacity:.45}to{transform:translate(780px);opacity:0}}.sd-hit{fill:transparent;cursor:pointer;transition:fill .12s;pointer-events:auto}.sd-hit[data-gd="1"]:hover{fill:#3fd0ff1a}.sd-hit[data-gd="-1"]:hover{fill:#ff5d6c1a}#implants .imp{position:relative;background:radial-gradient(130% 120% at 0% 0%,rgba(63,208,255,.06),transparent 55%),linear-gradient(180deg,#0c1622,#070d15);border-color:var(--crystal-dim)}#implants .imp[data-imp=powerSword],#implants .imp[data-imp=naturalBiker],#implants .imp[data-imp=superStrength],#implants .imp[data-imp=tacticalInst],#implants .imp[data-imp=pantherAgi],#implants .imp[data-imp=wildPresence]{aspect-ratio:3/1;background-size:cover;background-position:center;background-repeat:no-repeat}#implants .imp[data-imp=powerSword]{background-image:linear-gradient(180deg,#080e16db,#080e16bd),url(/assets/power_sword.webp)}#implants .imp[data-imp=naturalBiker]{background-image:linear-gradient(180deg,#080e16db,#080e16bd),url(/assets/natural_biker.webp)}#implants .imp[data-imp=superStrength]{background-image:linear-gradient(180deg,#080e16db,#080e16bd),url(/assets/super_strength.webp)}#implants .imp[data-imp=tacticalInst]{background-image:linear-gradient(180deg,#080e16db,#080e16bd),url(/assets/tactical_instinct.webp)}#implants .imp[data-imp=pantherAgi]{background-image:linear-gradient(180deg,#080e16db,#080e16bd),url(/assets/panther_agility.webp)}#implants .imp[data-imp=wildPresence]{background-image:linear-gradient(180deg,#080e16db,#080e16bd),url(/assets/wild_presence.webp)}#implants .imp[data-imp=powerSword] .name,#implants .imp[data-imp=naturalBiker] .name,#implants .imp[data-imp=superStrength] .name,#implants .imp[data-imp=tacticalInst] .name,#implants .imp[data-imp=pantherAgi] .name,#implants .imp[data-imp=wildPresence] .name,#implants .imp[data-imp=powerSword] .mini,#implants .imp[data-imp=naturalBiker] .mini,#implants .imp[data-imp=superStrength] .mini,#implants .imp[data-imp=tacticalInst] .mini,#implants .imp[data-imp=pantherAgi] .mini,#implants .imp[data-imp=wildPresence] .mini{text-shadow:0 1px 4px #000,0 0 2px #000}#implants .imp .head{border-bottom:1px solid rgba(63,208,255,.14);padding-bottom:12px}#implants .imp .name{position:relative;padding-left:16px;text-transform:uppercase;letter-spacing:1px}#implants .imp .name:before{content:"";position:absolute;left:0;top:6px;width:7px;height:7px;border-radius:50%;background:var(--crystal);box-shadow:0 0 7px var(--crystal);animation:ledpulse 2.6s ease-in-out infinite}#implants .imp .name .desc{text-transform:none;letter-spacing:.3px}#implants .stepper .cap{font-family:Consolas,monospace}#implants .stepper button{width:28px;height:28px}#implants .stepper .val{position:relative;isolation:isolate;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-family:Consolas,monospace;font-weight:800;font-size:16px;color:#eaffff;background:conic-gradient(var(--crystal) calc(var(--p,0) * 360deg),#0e2735 0)}#implants .stepper .val:before{content:"";position:absolute;inset:5px;border-radius:50%;background:radial-gradient(circle at 50% 35%,#0c1c2b,#05101a);box-shadow:0 0 10px #3fd0ff40 inset;z-index:-1}#implants .stepper .val:after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:0 0 8px #3fd0ff59;pointer-events:none}#implants .stepper .val .num{position:relative;z-index:1;font:inherit;color:inherit;text-shadow:0 0 6px rgba(0,0,0,.7),0 1px 2px #000}#implants .stepper .val.flag{background:conic-gradient(var(--gold) calc(var(--p,0) * 360deg),#2a2208 0);color:var(--gold)}#implants .stepper .val.flag:after{box-shadow:0 0 10px #ffd16680}@media print{body:before,body:after,.speedcity,.dash-svg,.panel:after,.panel:before,.sd-glass,.toolbar:before{display:none!important}.panel{box-shadow:none}.dash-center h1{-webkit-text-fill-color:#000;color:#000}}@media(prefers-reduced-motion:reduce){*{animation:none!important}}
