:root{--g1:#0a0e0d;--g2:#101615;--g3:#18201e;--glow:rgba(22,219,128,.10)}
.rv{transition:transform 1s var(--ease),opacity 1s var(--ease)}
.js .rv:not(.in){transform:translateY(28px);opacity:.35}
.glowbg{position:relative}
.glowbg::before{content:"";position:absolute;inset:-10% -20% auto;height:80%;background:radial-gradient(50% 50% at 50% 40%,var(--glow),transparent 70%);pointer-events:none;z-index:-1}
.btn{position:relative;overflow:hidden;will-change:transform}
.btn::after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(120px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.28),transparent 60%);opacity:0;transition:opacity .3s}
.btn:hover::after{opacity:1}
.btn-g:active{transform:scale(.97)}
[data-tilt]{transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .5s var(--ease);will-change:transform}
[data-tilt].tilting{transition:transform .08s linear}
[data-tilt] .sheen{position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(400px circle at var(--sx,50%) var(--sy,0%),rgba(22,219,128,.08),transparent 60%)}
.device{position:relative;isolation:isolate;width:100%;border-radius:15.5% / 7.2%;padding:3.4%;background:#050505;
  box-shadow:inset 0 0 0 1.5px #1c1c1c,0 0 0 2px #4a4f4e,0 0 0 3.5px #232625,0 50px 90px -34px rgba(0,0,0,.95)}
.device::before{content:"";position:absolute;z-index:-1;left:-5px;right:-5px;top:17%;height:24%;
  background:linear-gradient(#3d4241,#3d4241) left 0 top 0/4px 13% no-repeat,linear-gradient(#3d4241,#3d4241) left 0 top 32%/4px 27% no-repeat,linear-gradient(#3d4241,#3d4241) left 0 bottom 0/4px 27% no-repeat,linear-gradient(#3d4241,#3d4241) right 0 top 28%/4px 44% no-repeat}
.wa{container-type:inline-size;aspect-ratio:589/1280;border-radius:12.5% / 5.8%;overflow:hidden;background:#0b0f0e;display:flex;flex-direction:column;position:relative}
.wa-status{display:flex;justify-content:space-between;align-items:center;padding:4.2cqw 7cqw 0;font:600 3.6cqw var(--font);color:#fff;height:11cqw}
.wa-status i{width:28cqw;height:8cqw;border-radius:99px;background:#000;position:absolute;left:50%;top:3cqw;transform:translateX(-50%)}
.wa-status span:last-child{display:flex;gap:1.4cqw;align-items:center}
.wa-status b{display:inline-block;width:6cqw;height:3cqw;border:1px solid #fff9;border-radius:1cqw;position:relative}
.wa-status b::after{content:"";position:absolute;inset:.5cqw;right:1.2cqw;background:#fff;border-radius:.5cqw}
.wa-top{display:flex;align-items:center;gap:3cqw;padding:2.5cqw 4cqw 3cqw;border-bottom:1px solid #1c2421}
.wa-top .back{width:8cqw;height:8cqw;border-radius:50%;background:#1a1f1e;display:grid;place-items:center;color:#fff;font-size:5cqw}
.wa-top .av{width:9cqw;height:9cqw;border-radius:50%;overflow:hidden;flex:none}
.wa-top .av svg{width:100%;height:100%;display:block}
.wa-top b{font:700 4.2cqw var(--font);color:#fff;display:block;line-height:1.2}
.wa-top small{font-size:3cqw;color:var(--green);display:block;min-height:1.2em}
.wa-msgs{flex:1;overflow:hidden;padding:4cqw 3.4cqw;display:flex;flex-direction:column;justify-content:flex-end;gap:2.2cqw;background:#0b0f0e}
.b{max-width:80%;padding:2.2cqw 3cqw 1.4cqw;border-radius:3.4cqw;font-size:3.7cqw;line-height:1.38;color:#e9edef;white-space:pre-line;position:relative;transform-origin:bottom left;animation:pop .45s var(--ease) both}
.b time{display:block;text-align:right;font-size:2.6cqw;color:#ffffff80;margin-top:.6cqw}
.b.me{align-self:flex-end;background:#144d37;border-bottom-right-radius:1cqw;transform-origin:bottom right}
.b.me time::after{content:" ✓✓";color:#53bdeb}
.b.ai{align-self:flex-start;background:#1f2523;border-bottom-left-radius:1cqw}
.b.dots{display:flex;gap:1.2cqw;padding:3.2cqw 3.6cqw}
.b.dots i{width:1.6cqw;height:1.6cqw;border-radius:50%;background:#8696a0;animation:blink 1s infinite}
.b.dots i:nth-child(2){animation-delay:.15s}.b.dots i:nth-child(3){animation-delay:.3s}
.wa-bar{display:flex;align-items:center;gap:2.4cqw;padding:2.6cqw 3.4cqw 6cqw}
.wa-bar .plus{color:#e9edef;font-size:6cqw;line-height:1}
.wa-field{flex:1;min-height:9.4cqw;border-radius:99px;background:#1f2523;padding:2.4cqw 4cqw;font-size:3.7cqw;color:#e9edef;display:flex;align-items:center;overflow:hidden;white-space:nowrap}
.wa-field .caret{width:1.5px;height:4.4cqw;background:var(--green);margin-left:1px;animation:blink 1s steps(1) infinite}
.wa-send{width:9.4cqw;height:9.4cqw;border-radius:50%;background:var(--green);display:grid;place-items:center;flex:none;transition:transform .2s var(--ease)}
.wa-send svg{width:4.4cqw;height:4.4cqw;color:var(--on-green)}
.wa-send.tap{transform:scale(.82)}
@keyframes pop{from{transform:translateY(10px) scale(.94);opacity:0}to{transform:none;opacity:1}}
@keyframes blink{0%,100%{opacity:.3}50%{opacity:1}}
.dash{background:linear-gradient(180deg,var(--g3),var(--g2));border:1px solid var(--line);border-radius:26px;padding:22px;position:relative;overflow:hidden}
.dash-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;font-size:14px;color:var(--fg-2)}
.dash-h b{color:var(--fg);font-size:15px}
.live{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--green)}
.live::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 rgba(22,219,128,.6);animation:ping 1.8s infinite}
@keyframes ping{70%{box-shadow:0 0 0 8px rgba(22,219,128,0)}100%{box-shadow:0 0 0 0 rgba(22,219,128,0)}}
.totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:18px}
.totals div{background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:10px 10px;min-width:0;overflow:hidden}
.totals span{display:block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-2)}
.totals strong{display:block;font-size:clamp(13px,1.15vw,16px);font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em;white-space:nowrap}
.t-in{color:var(--green)}.t-out{color:#ff6b78}
.bars{display:grid;gap:9px}
.bar{display:grid;grid-template-columns:92px minmax(0,1fr) 84px;align-items:center;gap:10px;font-size:13px;border-radius:8px;transition:background .4s}
.bar .track{height:8px;border-radius:4px;background:#222b28;overflow:hidden}
.bar .fill{display:block;height:100%;border-radius:4px;background:#5d6e68;transform-origin:left;transition:width 1.1s var(--ease),background .4s}
.bar b{font-weight:600;text-align:right;font-variant-numeric:tabular-nums}
.bar.hot .fill{background:var(--green)}
.bar.hot{background:rgba(22,219,128,.07)}
.bar.hot b{color:var(--green)}
.toast{position:absolute;z-index:6;background:var(--g3);border:1px solid var(--line);border-radius:18px;padding:14px 16px;min-width:210px;box-shadow:0 24px 50px -20px rgba(0,0,0,.9);transition:transform .7s var(--ease),opacity .5s}
.toast.off{opacity:0;transform:translateY(14px) scale(.96)}
.toast span{display:block;font-size:13px;color:var(--fg-2)}
.toast strong{display:block;font-size:24px;font-weight:800;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.toast em{font-style:normal;color:var(--green);font-weight:700;font-size:14px}
.stage-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.stage-item{border-radius:18px;transition:background .4s}
.stage-item button{all:unset;cursor:pointer;display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:baseline;width:100%;padding:18px 20px;box-sizing:border-box}
.stage-item button:focus-visible{outline:2px solid var(--green);outline-offset:-2px;border-radius:18px}
.stage-item .h{font-weight:800;font-variant-numeric:tabular-nums;color:var(--fg-2);font-size:15px;transition:color .3s}
.stage-item .t{font-weight:700;font-size:clamp(18px,1.8vw,22px);color:var(--fg-2);transition:color .3s;letter-spacing:-.01em}
.stage-item .d{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--ease)}
.stage-item .d > p{overflow:hidden;color:var(--fg-2);padding:0 20px 0 calc(20px + 3.6em);margin:0}
.stage-item .prog{display:block;height:2px;margin:0 20px;background:var(--line);border-radius:2px;overflow:hidden}
.stage-item .prog i{display:block;height:100%;width:0;background:var(--green)}
.stage-item.on{background:var(--g2)}
.stage-item.on .h{color:var(--green)}
.stage-item.on .t{color:var(--fg)}
.stage-item.on .d{grid-template-rows:1fr}
.stage-item.on .d > p{padding-bottom:16px}
.scene{display:none}
.scene.on{display:block;animation:scene .7s var(--ease)}
@keyframes scene{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
.sim-chips{display:flex;flex-wrap:wrap;gap:10px}
.sim-chip{all:unset;cursor:pointer;padding:12px 18px;border-radius:999px;background:var(--g2);border:1px solid var(--line);font-weight:600;font-size:15px;transition:border-color .2s,background .2s,transform .3s var(--ease)}
.sim-chip:hover{border-color:var(--green);transform:translateY(-2px)}
.sim-chip[aria-pressed="true"]{background:var(--green);color:var(--on-green);border-color:var(--green)}
.sim-chip:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.sim-chip[disabled]{opacity:.5;cursor:default}
.leak{display:grid;gap:8px}
.leak-row{display:grid;grid-template-columns:92px 1fr auto;gap:14px;align-items:center;padding:14px 18px;border-radius:16px;background:var(--g2);border:1px solid var(--line);font-variant-numeric:tabular-nums;transition:transform .6s var(--ease),opacity .6s}
.leak-row time{color:var(--fg-2);font-size:14px}
.leak-row b{font-weight:700}
.leak-total{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:20px 18px 0;border-top:1px dashed var(--line);margin-top:8px}
.leak-total strong{font-size:clamp(34px,4vw,48px);font-weight:800;letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:#ff6b78}
.bgrid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}
.bcard{position:relative;background:linear-gradient(180deg,var(--g2),var(--g1));border:1px solid var(--line);border-radius:26px;padding:28px;display:flex;flex-direction:column;gap:10px;min-width:0;overflow:hidden}
.bcard h3{font-size:22px}
.bcard p{color:var(--fg-2)}
.bcard .viz{margin-top:auto;padding-top:18px}
.w3{grid-column:span 3}.w2{grid-column:span 2}.w4{grid-column:span 4}
.cols-chart{display:flex;align-items:flex-end;gap:8px;height:120px}
.cols-chart i{flex:1;border-radius:6px 6px 2px 2px;background:#2a3431;height:var(--h);transform-origin:bottom;transform:scaleY(var(--s,1));transition:transform 1.2s var(--ease)}
.cols-chart i.g{background:var(--green)}
.timeline-p{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.timeline-p div{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:10px;font-size:13px}
.timeline-p div b{display:block;font-size:15px;font-variant-numeric:tabular-nums}
.timeline-p div.now{border-color:var(--green)}
.timeline-p div span{color:var(--fg-2)}
.alert-pill{display:flex;gap:10px;align-items:flex-start;background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:12px 14px;font-size:14px}
.alert-pill svg{width:18px;height:18px;flex:none;color:#ff6b78;margin-top:2px}
.ring{width:120px;height:120px}
.ring circle{fill:none;stroke-width:12}
.ring .bgc{stroke:#222b28}
.ring .fg{stroke:var(--green);stroke-linecap:round;transition:stroke-dashoffset 1.6s var(--ease)}
@media (max-width:960px){
  .bgrid{grid-template-columns:minmax(0,1fr)}
  .w3,.w2,.w4{grid-column:auto}
  .bar{grid-template-columns:84px minmax(0,1fr) 78px}
}
@media (prefers-reduced-motion:reduce){
  .js .rv:not(.in){transform:none;opacity:1}
  [data-tilt]{transform:none!important}
  .b,.scene.on{animation:none}
}
.js .rv:not(.in) .cols-chart i{--s:0}
.toast.pulse{animation:tpulse .9s var(--ease)}
@keyframes tpulse{0%{transform:scale(.96);box-shadow:0 0 0 0 rgba(22,219,128,.35)}60%{transform:scale(1.02);box-shadow:0 0 0 12px rgba(22,219,128,0)}100%{transform:none}}
@media (max-width:600px){
  .totals{grid-template-columns:minmax(0,1fr);gap:6px}
  .totals div{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:8px 12px}
  .totals strong{font-size:15px}
  .sim-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;margin-inline:-24px;padding-inline:24px;scrollbar-width:none}
  .sim-chips::-webkit-scrollbar{display:none}
  .sim-chip{white-space:nowrap}
}
.paper{position:relative;background:#f2f1ec;color:#1b1f1d;border-radius:6px 6px 0 0;padding:28px 26px 34px;font-family:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;font-size:14px;box-shadow:0 40px 80px -30px rgba(0,0,0,.9);
  -webkit-mask:radial-gradient(9px at 50% 100%,#0000 98%,#000) 50% 100%/18px 100% repeat-x,linear-gradient(#000,#000) top/100% calc(100% - 9px) no-repeat;
  mask:radial-gradient(9px at 50% 100%,#0000 98%,#000) bottom/18px 18px repeat-x,linear-gradient(#000,#000) top/100% calc(100% - 9px) no-repeat}
.paper h4{margin:0 0 4px;text-align:center;letter-spacing:.12em;font-size:13px}
.paper .sub{text-align:center;color:#6b716e;font-size:12px;margin-bottom:16px}
.paper .leak-row{background:none;border:0;border-bottom:1px dashed #c9cbc6;border-radius:0;padding:9px 0;grid-template-columns:86px 1fr auto;color:#1b1f1d}
.paper .leak-row time{color:#6b716e;font-size:12px}
.paper .leak-total{border-top:2px solid #1b1f1d;padding:14px 0 0}
.paper .leak-total strong{color:#c2273a;font-size:32px}
.spark-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:13px;color:var(--fg-2);margin-bottom:4px}
.spark-h b{color:var(--fg);font-variant-numeric:tabular-nums;font-size:14px}
.spark{aspect-ratio:320/92;margin-bottom:16px}
.spark svg{width:100%;height:100%;display:block;overflow:visible}
.spark .ln{stroke:var(--green);stroke-width:2;stroke-linecap:round;transition:d .9s var(--ease)}
.spark .area{transition:d .9s var(--ease)}
.spark .pt{fill:var(--green);stroke:var(--bg);stroke-width:2;transition:cx .9s var(--ease),cy .9s var(--ease)}
[data-line] svg{width:100%;height:auto;display:block;overflow:visible}
[data-line] .grid{stroke:var(--line);stroke-dasharray:3 5}
[data-line] .la{stroke:var(--green);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.8s var(--ease)}
[data-line] .lb{stroke:#6b6b6b;stroke-width:1.6;stroke-dasharray:5 6;opacity:0;transition:opacity 1s ease .4s}
[data-line] .da{fill:var(--green);transform-box:fill-box;transform-origin:center;transform:scale(0);transition:transform .5s var(--ease)}
[data-line] .db{fill:#6b6b6b;opacity:0;transition:opacity 1s ease .6s}
[data-line] .lx{fill:#8a8a8a;font:500 11px var(--font)}
.in [data-line] .la,.no-js [data-line] .la{stroke-dashoffset:0}
.in [data-line] .lb,.in [data-line] .db{opacity:1}
.in [data-line] .da{transform:none}
.legend{display:flex;gap:16px;font-size:13px;color:var(--fg-2)}
.legend i{display:inline-block;width:14px;height:2px;background:var(--green);vertical-align:middle;margin-right:6px}
.legend i.est{background:repeating-linear-gradient(90deg,#6b6b6b 0 4px,transparent 4px 7px)}
@media (prefers-reduced-motion:reduce){[data-line] .la{stroke-dashoffset:0}[data-line] .lb,[data-line] .db{opacity:1}[data-line] .da{transform:none}}
.velaris{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:#000}
.velaris canvas{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;transition:opacity 1.6s ease}
.velaris.is-ready canvas{opacity:var(--glow-o,.2)}
.velaris-veil{position:absolute;inset:0;background:radial-gradient(120% 85% at 50% 35%,transparent 35%,rgba(0,0,0,.6) 100%),linear-gradient(180deg,rgba(0,0,0,.2),transparent 22%,transparent 78%,rgba(0,0,0,.35))}
.velaris.is-static{background:radial-gradient(55% 40% at 72% 18%,rgba(31,174,46,.09),transparent 70%),radial-gradient(45% 35% at 18% 78%,rgba(31,174,46,.05),transparent 70%),#000}
.velaris.is-static canvas{display:none}
