/* Vyron · Aurora — tokens */
@font-face{font-family:"Figtree";font-weight:400;src:url(fonts/Figtree-400.ttf) format("truetype");font-display:swap}
@font-face{font-family:"Figtree";font-weight:500;src:url(fonts/Figtree-500.ttf) format("truetype");font-display:swap}
@font-face{font-family:"Figtree";font-weight:600;src:url(fonts/Figtree-600.ttf) format("truetype");font-display:swap}
@font-face{font-family:"Figtree";font-weight:700;src:url(fonts/Figtree-700.ttf) format("truetype");font-display:swap}
@font-face{font-family:"Figtree";font-weight:800;src:url(fonts/Figtree-800.ttf) format("truetype");font-display:swap}
@font-face{font-family:"Unbounded";font-weight:600;src:url(fonts/Unbounded-600.ttf) format("truetype");font-display:swap}
@font-face{font-family:"Unbounded";font-weight:700;src:url(fonts/Unbounded-700.ttf) format("truetype");font-display:swap}
@font-face{font-family:"JetBrains Mono";font-weight:500;src:url(fonts/JetBrainsMono-500.ttf) format("truetype");font-display:swap}

:root{
  --bg:#050507; --surface:#ffffff0d; --surface-2:#ffffff05; --line:#ffffff14; --line-2:#ffffff24;
  --text:#f6f5ef; --gold:#ffd400; --gold-2:#ffb21f; --sky:#27e4ff; --mag:#ff3fb0; --muted:#adaec4; --cyan:#ffd400; --violet:#ffb21f; --pink:#ff3fb0;
  --ok:#35f0a1; --warn:#f5a524; --bad:#ff5a74;
  --r-sm:12px; --r-md:16px; --r-lg:24px;
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:24px; --s6:32px;
  --display:"Unbounded","Figtree",system-ui,sans-serif; --body:"Figtree",system-ui,sans-serif; --mono:"JetBrains Mono",ui-monospace,monospace;
  --ease:cubic-bezier(.23,1,.32,1); --t-fast:140ms; --t-med:240ms;
}
*{box-sizing:border-box;margin:0}
html,body{height:100%}
body{background:var(--bg);color:var(--text);font:500 14px/1.45 var(--body);overflow-x:hidden;-webkit-font-smoothing:antialiased;user-select:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
button:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
[hidden]{display:none!important}
.ic{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* aurora background */
.aurora{position:fixed;inset:0;z-index:-1;overflow:hidden;background:var(--bg)}
.aurora i{position:absolute;border-radius:50%;filter:blur(110px);opacity:.42}
.aurora i:nth-child(1){width:560px;height:560px;left:-120px;top:-160px;background:#a07800}
.aurora i:nth-child(2){width:520px;height:520px;right:-140px;top:60px;background:#0b8ea8;opacity:.28}
.aurora i:nth-child(3){width:460px;height:460px;left:34%;bottom:-260px;background:#b01e78;opacity:.22}

.app{max-width:1440px;margin:0 auto;padding:20px 28px 40px}
.top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--s4);margin-bottom:var(--s5)}
.brand{display:flex;align-items:center;gap:var(--s3)}
.logo{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,var(--cyan),var(--violet));color:#050507}
.logo .ic{stroke:#050507;fill:#050507;stroke-width:1}
.brand-name{font:700 19px var(--display);letter-spacing:-.01em}
.ver{font:500 11px var(--mono);color:var(--muted);padding:2px 7px;border:1px solid var(--line);border-radius:99px}
.pills{display:flex;gap:4px;padding:5px;border:1px solid var(--line);border-radius:99px;background:var(--surface-2);backdrop-filter:blur(12px)}
.pill{display:flex;align-items:center;gap:8px;padding:9px 16px;border-radius:99px;color:var(--muted);font-weight:600;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}
.pill:hover{color:var(--text)}
.pill:active{transform:scale(.97)}
.pill[aria-current=page]{background:#fff;color:#050507}
.top-right{display:flex;justify-content:flex-end;gap:var(--s2);align-items:center}
.chip{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:99px;border:1px solid var(--line-2);font:700 12px var(--body);letter-spacing:.04em}
.chip-plan.pro{background:linear-gradient(135deg,#ffd40033,#ffb21f33);border-color:#ffb21f88}
.chip-update{background:var(--cyan);color:#14100a;border-color:transparent;transition:transform var(--t-fast) var(--ease)}
.chip-update:active{transform:scale(.97)}

.page{animation:rise var(--t-med) var(--ease) both}
@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.bento{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--s4)}
.card{background:linear-gradient(160deg,var(--surface),var(--surface-2));border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s5);backdrop-filter:blur(14px);text-align:left}
.hero{grid-column:span 5}
.chart-card{grid-column:span 7;display:flex;flex-direction:column}
.tile{grid-column:span 3;display:flex;flex-direction:column;gap:6px;padding:20px 22px;transition:transform var(--t-fast) var(--ease),border-color var(--t-fast)}
.tile:hover{border-color:var(--line-2)}
.tile:active{transform:scale(.98)}
.quick{grid-column:span 12}
.disks{grid-column:span 6}
.hero>*,.chart-card>*{animation:rise var(--t-med) var(--ease) both}
h1{font:700 26px/1.2 var(--display);letter-spacing:-.02em}
h2{font:700 15px var(--body)}
.sub{color:var(--muted);margin-top:var(--s2);max-width:46ch}
.muted{color:var(--muted)}
.card-head{display:flex;justify-content:space-between;align-items:center;gap:var(--s3);margin-bottom:var(--s3)}
.link{color:var(--cyan);font-weight:600}
.link:hover{text-decoration:underline}

/* ring */
.ring-wrap{position:relative;width:196px;height:196px;margin:var(--s4) auto var(--s3)}
.ring{width:100%;height:100%}
.ring-bg{fill:none;stroke:#ffffff12;stroke-width:12}
.ring-fg{fill:none;stroke:url(#g-ok);stroke-width:12;stroke-linecap:round;stroke-dasharray:490.09;stroke-dashoffset:490.09;transition:stroke-dashoffset 900ms var(--ease)}
.ring-fg.warn{stroke:url(#g-warn)} .ring-fg.bad{stroke:url(#g-bad)}
.ring-wrap::after{content:"";position:absolute;inset:-6px;border-radius:50%;pointer-events:none;opacity:0;box-shadow:0 0 38px 4px #ffd40055,inset 0 0 28px #ffb21f33}
.ring-wrap.busy::after{animation:breathe 2.2s ease-in-out infinite}
@keyframes breathe{0%,100%{opacity:.25}50%{opacity:.9}}
.ring-wrap.done .ring-fg{animation:flash 900ms var(--ease)}
@keyframes flash{0%{filter:drop-shadow(0 0 0 #ffd40000)}35%{filter:drop-shadow(0 0 14px #ffd400cc)}100%{filter:drop-shadow(0 0 0 #ffd40000)}}
.ring-num{position:absolute;inset:0;display:grid;place-content:center;text-align:center}
.ring-num b{font:700 52px/1 var(--display)}
.ring-num small{color:var(--muted);font-size:12px;margin-top:4px;max-width:120px;justify-self:center;line-height:1.25}

.actions{display:flex;gap:var(--s2);flex-wrap:wrap;margin-top:var(--s4)}
.hero .actions{justify-content:center}
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:var(--r-sm);font-weight:700;transition:transform var(--t-fast) var(--ease),filter var(--t-fast),background var(--t-fast)}
.btn:active{transform:scale(.97)}
.btn-primary{background:linear-gradient(90deg,var(--cyan),var(--violet));color:#14100a}
.btn-primary:hover{filter:brightness(1.08)}
.btn-primary:disabled{filter:saturate(.5) brightness(.8);cursor:progress}
.btn-ghost{background:#ffffff10;border:1px solid var(--line)}
.btn-ghost:hover{background:#ffffff1a}
.opt-detail,.last{text-align:center;color:var(--muted);font-size:12px;margin-top:var(--s3);min-height:16px}
.result{margin-top:var(--s3);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s3) var(--s4);display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;font-size:13px;animation:rise var(--t-med) var(--ease) both}
.result span{color:var(--muted)} .result b{display:block;font-weight:700}
.result .full{grid-column:1/-1;color:var(--ok);font-weight:700}

/* chart */
.seg{display:flex;padding:3px;border-radius:12px;background:#ffffff0a}
.seg button{padding:6px 13px;border-radius:9px;color:var(--muted);font-weight:600;font-size:13px;transition:background var(--t-fast),color var(--t-fast)}
.seg button.on{background:#ffffff1c;color:var(--text)}
.seg b{font:500 11px var(--mono);opacity:.7;margin-left:4px}
.series{display:flex;gap:var(--s2);flex-wrap:wrap;margin-bottom:var(--s3)}
.serie{display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border-radius:99px;border:1px solid var(--line);color:var(--muted);font-weight:600;font-size:12.5px;transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast),transform var(--t-fast) var(--ease)}
.serie:active{transform:scale(.96)}
.serie b{font:500 12px var(--mono);color:var(--text)}
.serie[aria-pressed=true]{color:var(--text);background:#ffffff12}
.serie.cpu[aria-pressed=true]{border-color:#ffd40088}
.serie.gpu[aria-pressed=true]{border-color:#27e4ff88}
.serie.ram[aria-pressed=true]{border-color:#ff3fb088}
.serie[aria-pressed=false] .dot{opacity:.35}
.chart{position:relative;flex:1;min-height:230px}
.chart svg{position:absolute;inset:0;width:100%;height:100%;overflow:hidden}
.grid line{stroke:#ffffff0d;stroke-width:1}
.grid text{fill:#adaec499;font:500 10px var(--mono)}
.line{fill:none;stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round}
.line.cpu{stroke:var(--gold)} .line.gpu{stroke:var(--sky)} .line.ram{stroke:var(--mag)}
.area{fill:url(#g-area-cpu)}
.head-core{stroke:#050507;stroke-width:1.5}
.chart-empty{position:absolute;inset:0;display:grid;place-items:center;text-align:center;color:var(--muted);padding:0 24px}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%}
.dot.cpu{background:var(--gold)} .dot.gpu{background:var(--sky)} .dot.ram{background:var(--mag)}

/* tiles */
.tile-k{color:var(--muted);font-size:13px}
.tile-v{font:700 26px/1.1 var(--display);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.tile-v-sm{font-size:18px;line-height:1.3}
.tile-s{color:var(--muted);font-size:12.5px}
.bar{height:6px;border-radius:9px;background:#ffffff12;overflow:hidden;margin:2px 0}
.bar i{display:block;height:100%;width:0;border-radius:9px;background:linear-gradient(90deg,var(--cyan),var(--violet));transition:width 600ms var(--ease)}

/* tools */
.page-head{margin-bottom:var(--s5)}
.group{margin-bottom:var(--s5)}
.group h2{margin:0 0 var(--s3);color:var(--muted);font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.tool-row,.quick-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:var(--s3)}
.tool{display:flex;flex-direction:column;gap:6px;text-align:left;padding:16px;border-radius:var(--r-md);background:linear-gradient(160deg,#ffffff0d,#ffffff05);border:1px solid var(--line);transition:transform var(--t-fast) var(--ease),border-color var(--t-fast),background var(--t-fast)}
.tool:hover{border-color:#ffb21f66;background:linear-gradient(160deg,#ffffff14,#ffffff08)}
.tool:active{transform:scale(.98)}
.tool .tn{font-weight:700;margin-top:6px}
.tool .td{color:var(--muted);font-size:12.5px;line-height:1.35}
.tool .tags{display:flex;gap:6px;margin-top:auto;padding-top:6px}
.tag{font:700 10px var(--body);letter-spacing:.06em;padding:3px 8px;border-radius:6px}
.tag.pro{background:linear-gradient(90deg,#ffd400,#ffb21f);color:#14100a}
.quick .tool{padding:14px}

/* account */
.acc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s4)}
.big{font:700 22px var(--display);margin:var(--s2) 0}
.kv{display:grid;grid-template-columns:auto 1fr;gap:8px 18px}
.kv dt{color:var(--muted)} .kv dd{font-weight:600;word-break:break-word}

.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#0e0e16;border:1px solid var(--line-2);padding:12px 18px;border-radius:14px;box-shadow:0 12px 40px #0008;animation:rise var(--t-med) var(--ease) both}

@media (max-width:1100px){
  .hero,.chart-card,.quick{grid-column:span 12}
.disks{grid-column:span 6}
  .tile{grid-column:span 6}
  .top{grid-template-columns:auto 1fr auto}
  .pill{padding:9px 12px}
  .ver{display:none}
}
@media (max-width:760px){
  .app{padding:14px}
  .pill{font-size:0;gap:0;padding:11px 14px}
  .acc-grid{grid-template-columns:1fr}
  .tile{grid-column:span 12}
}


/* discos */
.disk-row{display:flex;gap:var(--s2);flex-wrap:wrap}
.disk{display:flex;flex-direction:column;gap:6px;min-width:96px;flex:1 1 96px;max-width:160px;padding:12px 14px;border-radius:var(--r-md);border:1px solid var(--line);background:#ffffff08;text-align:left;transition:border-color var(--t-fast),background var(--t-fast),transform var(--t-fast) var(--ease)}
.disk:active{transform:scale(.97)}
.disk:hover{background:#ffffff10}
.disk[aria-selected=true]{border-color:#ffb21f99;background:#ffffff14}
.disk .dn{display:flex;align-items:center;gap:7px;font-weight:700}
.disk .bar{margin:0}
.disk .dp{color:var(--muted);font:500 11px var(--mono)}
.disk-detail{margin-top:var(--s3);padding:12px 14px;border-radius:var(--r-md);background:#ffffff08;border:1px solid var(--line);animation:rise var(--t-fast) var(--ease) both}
.disk-detail b{font:700 18px var(--display);letter-spacing:-.01em}
.disk-detail .dsub{color:var(--muted);font-size:12.5px;margin-top:4px}
.disk-empty{color:var(--muted)}

/* registro */
.back{display:inline-flex;align-items:center;gap:6px;margin-bottom:var(--s3)}
.logs-card{padding:var(--s4);position:relative}
.logs-bar{display:flex;justify-content:space-between;gap:var(--s3);flex-wrap:wrap;align-items:center;margin-bottom:var(--s3)}
.logs-actions{display:flex;gap:var(--s2);align-items:center}
.btn-sm{padding:8px 14px;font-size:13px}
.live-pill{display:inline-flex;align-items:center;gap:7px;color:var(--ok);font-weight:700;font-size:12px;letter-spacing:.05em;text-transform:uppercase;margin-right:6px}
.live-pill i{width:8px;height:8px;border-radius:50%;background:var(--ok);animation:ping2 1.8s ease-out infinite}
.live-pill.paused{color:var(--muted)} .live-pill.paused i{background:var(--muted);animation:none}
@keyframes ping2{0%{box-shadow:0 0 0 0 #35f0a199}100%{box-shadow:0 0 0 9px #35f0a100}}
.log-list{max-height:calc(100vh - 330px);min-height:280px;overflow:auto;border-radius:var(--r-md);border:1px solid var(--line);background:#06060a99;user-select:text}
.log-row{display:grid;grid-template-columns:86px 1fr;gap:12px;padding:11px 14px;border-bottom:1px solid #ffffff0a}
.log-row:last-child{border-bottom:0}
.lv{align-self:start;justify-self:start;font:700 10px var(--body);letter-spacing:.07em;padding:4px 9px;border-radius:7px;border:1px solid}
.lv.error{color:var(--bad);border-color:#ff5a7488} .lv.warn{color:var(--warn);border-color:#f5a52488} .lv.ok{color:var(--ok);border-color:#35f0a188} .lv.info{color:var(--cyan);border-color:#ffd40088}
.log-msg{word-break:break-word}
.log-time{display:block;color:var(--muted);font:500 11px var(--mono);margin-top:3px}
.log-empty{padding:40px 20px;text-align:center;color:var(--muted)}
.resume{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);padding:8px 16px;border-radius:99px;background:var(--cyan);color:#14100a;font-weight:700;box-shadow:0 8px 28px #0008}
@media (max-width:1100px){.disks{grid-column:span 12}.t-half{grid-column:span 6}}
@media (max-width:760px){.t-half{grid-column:span 12}}

.icon-btn{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;border:1px solid var(--line);color:var(--muted);transition:background var(--t-fast),color var(--t-fast),transform var(--t-fast) var(--ease)}
.icon-btn:hover{color:var(--text);background:#ffffff10}.icon-btn:active{transform:scale(.95)}


/* =====================================================================
   Marca Vyron — colores de vyroncommunity.com: rayo amarillo sobre negro
   ===================================================================== */
:root{--acc:#ffe600;--card:#0e0e16;--card-hover:#161621;--inset:#08080d;--gold-line:rgba(255,212,0,.45);--gold-soft:rgba(255,212,0,.1);--violet-web:#7b5cff;--ease-io:cubic-bezier(.77,0,.175,1)}
.card{position:relative;background:linear-gradient(165deg,rgba(255,230,0,.05),transparent 42%),var(--card);border-color:rgba(210,210,235,.11);box-shadow:0 1px 0 rgba(255,255,255,.03) inset,0 14px 40px -18px #000c}
.card::before{content:"";position:absolute;left:14%;right:14%;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,230,0,.5),transparent);opacity:.55;pointer-events:none;transition:opacity 300ms var(--ease)}
.card:hover::before{opacity:1}

/* fondo: rejilla + hilos de luz (igual que la web) + aurora que deriva despacio */
.bg-grid{position:fixed;inset:0;z-index:-2;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse at 50% 25%,#000 25%,transparent 78%);mask-image:radial-gradient(ellipse at 50% 25%,#000 25%,transparent 78%)}
.bg-fx{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.bg-fx i{position:absolute;display:block;will-change:transform}
.bg-fx i:nth-child(odd){height:1px;width:24vw;left:-24vw;background:linear-gradient(90deg,transparent,rgba(255,230,0,.5),transparent);animation:fx-x 12s linear infinite}
.bg-fx i:nth-child(even){width:1px;height:26vh;top:-26vh;background:linear-gradient(180deg,transparent,rgba(123,92,255,.55),transparent);animation:fx-y 14s linear infinite}
.bg-fx i:nth-child(1){top:22%}.bg-fx i:nth-child(3){top:68%;animation-delay:-6s;animation-duration:15s}
.bg-fx i:nth-child(2){left:28%}.bg-fx i:nth-child(4){left:76%;animation-delay:-7s;animation-duration:17s}
@keyframes fx-x{to{transform:translateX(150vw)}}
@keyframes fx-y{to{transform:translateY(150vh)}}
.aurora i{will-change:transform;animation:drift 30s ease-in-out infinite alternate}
.aurora i:nth-child(2){animation-duration:36s;animation-delay:-8s}
.aurora i:nth-child(3){animation-duration:42s;animation-delay:-15s}
@keyframes drift{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(60px,40px,0) scale(1.12)}}
.aurora i:nth-child(1){background:#a07800;opacity:.3}
.aurora i:nth-child(3){background:#b01e78;opacity:.16}

/* logo Vyron: rayo con degradado dorado sobre fondo oscuro, con respiración suave */
.logo{position:relative;width:38px;height:38px;border-radius:11px;background:radial-gradient(circle at 30% 20%,#1c1c27,#0a0c11);border:1px solid rgba(255,214,0,.28);box-shadow:inset 0 0 0 1px #0008}
.logo::after{content:"";position:absolute;inset:-5px;border-radius:16px;background:radial-gradient(circle,rgba(255,214,0,.5),transparent 70%);opacity:.35;z-index:-1;animation:logo-breath 4.8s ease-in-out infinite}
.logo svg{width:26px;height:26px;fill:url(#g-bolt);stroke:none;filter:drop-shadow(0 0 5px rgba(255,214,0,.55))}
@keyframes logo-breath{0%,100%{opacity:.25;transform:scale(.96)}50%{opacity:.6;transform:scale(1.06)}}
.brand-name{letter-spacing:.01em}
.ver{border-color:rgba(255,214,0,.3);color:#ffe600cc}

/* barra de ventana propia */
.titlebar{position:fixed;top:0;left:0;right:0;height:36px;display:flex;justify-content:space-between;align-items:stretch;z-index:100;background:linear-gradient(180deg,rgba(11,11,18,.96),rgba(5,5,7,.9));border-bottom:1px solid rgba(210,210,235,.09);backdrop-filter:blur(14px)}
.tb-drag{flex:1;display:flex;align-items:center;gap:9px;padding-left:14px;cursor:default;min-width:0}
.tb-logo svg{display:block;width:16px;height:16px;fill:url(#g-bolt);filter:drop-shadow(0 0 6px rgba(255,214,0,.6))}
.tb-name{font:700 11.5px var(--display);letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.tb-btns{display:flex}
.tb-btn{width:46px;display:grid;place-items:center;color:var(--muted);transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}
.tb-btn svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.tb-btn:hover{background:#ffffff14;color:var(--text)}
.tb-btn:active{background:#ffffff22}
.tb-btn:focus-visible{outline-offset:-2px}
.tb-close:hover{background:var(--bad);color:#1b0309}
.tb-btn .i-rest{display:none}
.is-max .tb-btn .i-max{display:none}.is-max .tb-btn .i-rest{display:block}
.custom-chrome .app{padding-top:54px}
.custom-chrome .log-list{max-height:calc(100vh - 360px)}

/* navegación: indicador dorado que se desliza */
.pills{position:relative}
.pills{max-width:100%}
@media(max-width:560px){.pills{flex-wrap:wrap;justify-content:center;border-radius:20px}.pill{padding:9px 12px}.pill-ind{transition:transform 250ms var(--ease),opacity 180ms}}
.pill{position:relative;z-index:1}
.pill-ind{position:absolute;left:0;top:5px;bottom:5px;width:0;border-radius:99px;background:linear-gradient(100deg,#ffe600,#ffbf00);box-shadow:0 6px 20px -8px rgba(255,214,0,.8);transition:transform 380ms var(--ease),width 380ms var(--ease),opacity 200ms;opacity:0;pointer-events:none}
.pill[aria-current=page]{background:transparent;color:#14100a}

/* botones */
.btn-primary{position:relative;overflow:hidden;background:linear-gradient(100deg,#ffe600,#ffbf00);color:#14100a;box-shadow:0 10px 26px -12px rgba(255,214,0,.85)}
.btn-primary::after{content:"";position:absolute;top:0;bottom:0;left:0;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:translateX(-140%) skewX(-18deg);pointer-events:none}
.btn-primary:not(:disabled):hover{filter:none;transform:translateY(-1px)}
.btn-primary:not(:disabled):hover::after{transform:translateX(340%) skewX(-18deg);transition:transform 750ms var(--ease)}
.btn-primary:active{transform:scale(.97)!important}
.btn-primary .ic{stroke:#14100a}
#optBtn:not(:disabled){animation:btn-glow 3.8s ease-in-out infinite}
@keyframes btn-glow{0%,100%{box-shadow:0 10px 26px -12px rgba(255,214,0,.7)}50%{box-shadow:0 12px 34px -8px rgba(255,214,0,1)}}
.btn-ghost:hover{border-color:var(--gold-line)}

/* tarjetas de herramientas */
.tool{position:relative;overflow:hidden;background:linear-gradient(160deg,rgba(255,255,255,.05),transparent 60%),var(--card);transition:transform 220ms var(--ease),border-color 220ms,box-shadow 220ms,background 220ms}
.tool:hover{transform:translateY(-3px);border-color:var(--gold-line);box-shadow:0 18px 40px -22px rgba(255,214,0,.55)}
.tool:active{transform:scale(.98)}
.tool>.ic{width:36px;height:36px;padding:9px;border-radius:11px;background:var(--gold-soft);color:var(--gold);border:1px solid rgba(255,214,0,.18);transition:transform 260ms var(--ease),background 220ms}
.tool:hover>.ic{transform:scale(1.08) rotate(-4deg);background:rgba(255,214,0,.18)}
.tool.is-pro{border-color:rgba(255,212,0,.32);background:linear-gradient(160deg,rgba(255,212,0,.08),transparent 58%),var(--card)}
.tool.is-pro:hover{border-color:var(--gold)}
.tool::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 40%,rgba(255,230,0,.07) 50%,transparent 60%);transform:translateX(-120%);pointer-events:none}
.tool:hover::after{transform:translateX(120%);transition:transform 800ms var(--ease)}
.tile:hover{transform:translateY(-2px);border-color:var(--gold-line)}
.group h2{color:var(--gold);opacity:.8}
.card-head h2::before{content:"";display:inline-block;width:3px;height:13px;border-radius:2px;background:linear-gradient(180deg,#ffe600,#ffb21f);margin-right:8px;vertical-align:-1px}
.serie[aria-pressed=true]{box-shadow:0 0 0 1px inset #ffffff0a}

/* anillo principal: puntuación + arco de progreso independiente */
.ring-fg{transition:stroke-dashoffset 1100ms var(--ease),opacity 500ms var(--ease)}
.ring-prog{fill:none;stroke:url(#g-ok);stroke-width:12;stroke-linecap:round;stroke-dasharray:490.09;stroke-dashoffset:490.09;opacity:0;transition:stroke-dashoffset 900ms cubic-bezier(.3,.7,.2,1),opacity 450ms var(--ease)}
.ring-orbit{transform-origin:90px 90px;opacity:0;transition:opacity 450ms var(--ease)}
.ring-orbit circle{fill:#fff3a0;filter:drop-shadow(0 0 6px #ffe600)}
.ring-check{fill:none;stroke:#fff3a0;stroke-width:9;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:130;stroke-dashoffset:130;opacity:0;filter:drop-shadow(0 0 8px rgba(255,230,0,.7))}
.ring-wrap.busy .ring-fg{opacity:.16}
.ring-wrap.busy .ring-prog{opacity:1}
.ring-wrap.busy:not(.done) .ring-orbit{opacity:1;animation:orbit 3.4s linear infinite}
.ring-wrap.done .ring-check{opacity:1;animation:draw 700ms var(--ease) .1s forwards}
.ring-wrap.done .ring-num{opacity:0;transition:opacity 220ms var(--ease)}
.ring-wrap.done .ring-prog{animation:flash 1100ms var(--ease)}
@keyframes orbit{to{transform:rotate(360deg)}}
@keyframes draw{to{stroke-dashoffset:0}}
.ring-wrap.busy::after{animation-duration:3s}

/* gráfico en directo: línea de espera, guía plana y bola con sonar */
.line{stroke-width:2.4}
.lead{fill:none;stroke-width:1.4;stroke-dasharray:2 5;stroke-linecap:round;opacity:.5}
.head-core{stroke:#050507;stroke-width:1.6}
.head-spark{fill:#fff;opacity:.85}
.head-halo{opacity:.22;transform-origin:0 0;animation:halo 2.8s ease-in-out infinite}
.head-ripple{fill:none;stroke-width:1.6;vector-effect:non-scaling-stroke;transform-origin:0 0;opacity:0;animation:sonar 2.8s cubic-bezier(.2,.55,.3,1) infinite}
.head-ripple.d2{animation-delay:.93s}.head-ripple.d3{animation-delay:1.86s}
@keyframes sonar{0%{transform:scale(1);opacity:.9}70%{opacity:.18}100%{transform:scale(6);opacity:0}}
@keyframes halo{0%,100%{transform:scale(.8);opacity:.14}50%{transform:scale(1.15);opacity:.34}}

/* entrada escalonada (suave, una sola vez al abrir la página) */
.bento>.card,.tool-row>.tool,.mod-body>*,.group{animation:rise 460ms var(--ease) both;animation-delay:calc(var(--i,0)*50ms)}
.bento>*:nth-child(1),.tool-row>*:nth-child(1),.mod-body>*:nth-child(1),.group:nth-child(1){--i:0}
.bento>*:nth-child(2),.tool-row>*:nth-child(2),.mod-body>*:nth-child(2),.group:nth-child(2){--i:1}
.bento>*:nth-child(3),.tool-row>*:nth-child(3),.mod-body>*:nth-child(3),.group:nth-child(3){--i:2}
.bento>*:nth-child(4),.tool-row>*:nth-child(4),.mod-body>*:nth-child(4),.group:nth-child(4){--i:3}
.bento>*:nth-child(5),.tool-row>*:nth-child(5),.mod-body>*:nth-child(5){--i:4}
.bento>*:nth-child(6),.tool-row>*:nth-child(6),.mod-body>*:nth-child(6){--i:5}
.tool-row>*:nth-child(n+7),.mod-body>*:nth-child(n+7),.bento>*:nth-child(n+7){--i:6}

/* progreso y ruedas más pausados en todo el kit */
.spinner{width:16px;height:16px;border:2px solid #ffffff26;border-top-color:var(--gold);animation:rot 1.6s linear infinite}
.progress.indet i{animation:indet 2.4s var(--ease-io) infinite}
.progress i,.bar i{background:linear-gradient(90deg,#ffe600,#ffb21f)}
.switch[aria-checked=true],.check input:checked+.box,.tag.pro{background:linear-gradient(100deg,#ffe600,#ffbf00)}
.tag.pro,.check input:checked+.box::after{color:#14100a}

@media (max-width:760px){.tb-name{display:none}}

.ring-wrap.busy .ring-num b{font-size:40px;transition:font-size 300ms var(--ease)}
.ring-num b{transition:font-size 300ms var(--ease)}

/* ===== 1.18 · barras de desplazamiento propias (minimalistas, finas, color Vyron) ===== */
::-webkit-scrollbar{width:10px;height:10px;background:transparent}
::-webkit-scrollbar-track{background:transparent;margin:6px 0}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#ffe600b3,#ffb21f80);border-radius:99px;border:3px solid transparent;background-clip:padding-box;min-height:36px;transition:background .2s}
::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#ffe600,#ffb21f);background-clip:padding-box;border-width:2px}
::-webkit-scrollbar-thumb:active{background:linear-gradient(180deg,#27e4ff,#ffe600);background-clip:padding-box;border-width:2px}
::-webkit-scrollbar-corner{background:transparent}
.log-list::-webkit-scrollbar-thumb,.tm-scroll::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#ffe600a6,#27e4ff80);background-clip:padding-box}

/* ===== 1.18 · tarjetas y avisos PRO más llamativos ===== */
.tag.pro{display:inline-flex;align-items:center;gap:4px;position:relative;overflow:hidden;box-shadow:0 0 14px -2px #ffd400aa;text-shadow:none}
.tag.pro .ic{width:11px;height:11px;stroke:#14100a;fill:#14100a33}
.tag.pro::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,#fff9 50%,transparent 65%);transform:translateX(-130%);animation:pro-shine 4.2s ease-in-out infinite}
@keyframes pro-shine{0%,60%{transform:translateX(-130%)}100%{transform:translateX(130%)}}
.tool.is-pro{border-color:transparent;background:linear-gradient(var(--card),var(--card)) padding-box,linear-gradient(135deg,#ffe600,#ffb21f 45%,#ff3fb0 100%) border-box;border:1px solid transparent;box-shadow:0 0 0 1px #ffd40014,0 14px 34px -20px #ffd400aa}
.tool.is-pro::before{content:"";position:absolute;right:-40px;top:-40px;width:130px;height:130px;border-radius:50%;background:radial-gradient(circle,#ffd40040,transparent 68%);pointer-events:none;transition:transform .5s var(--ease),opacity .5s}
.tool.is-pro:hover{border-color:transparent;box-shadow:0 0 0 1px #ffd40044,0 22px 44px -18px #ffd400cc}
.tool.is-pro:hover::before{transform:scale(1.5)}
.tool.is-pro>.ic{background:linear-gradient(135deg,#ffe600,#ffb21f);color:#14100a;border-color:transparent;box-shadow:0 6px 16px -6px #ffd400}
.tool.is-pro:hover>.ic{background:linear-gradient(135deg,#fff06a,#ffc83a)}
.mod-lock{position:relative;max-width:620px;padding:34px 30px!important;border-radius:var(--r-lg);overflow:hidden;border:1px solid transparent!important;background:linear-gradient(160deg,#14141f,#0b0b12) padding-box,linear-gradient(135deg,#ffe600,#ffb21f 50%,#ff3fb0) border-box!important}
.mod-lock::before{content:"";position:absolute;left:50%;top:-80px;width:360px;height:260px;transform:translateX(-50%);background:radial-gradient(closest-side,#ffd40040,transparent);pointer-events:none;animation:logo-breath 5s ease-in-out infinite}
.mod-lock .tag.pro{font-size:11px;padding:5px 12px;border-radius:99px}
.mod-lock h2{position:relative}
.lock-crown{width:58px;height:58px;margin:0 auto 14px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,#ffe600,#ffb21f);box-shadow:0 12px 32px -10px #ffd400,inset 0 1px 0 #fff8;position:relative}
.lock-crown .ic{width:30px;height:30px;stroke:#14100a;fill:#14100a30}
.lock-perks{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:14px 0 4px;position:relative}
.lock-perks span{font:600 12px var(--body);color:var(--text);padding:5px 11px;border-radius:99px;background:#ffffff0d;border:1px solid var(--line-2)}

/* ===== 1.18 · cargas más fluidas ===== */
.spinner{border:0!important;background:conic-gradient(from 0deg,transparent 0,var(--cyan) 100%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2.5px),#000 calc(100% - 2px));mask:radial-gradient(farthest-side,transparent calc(100% - 2.5px),#000 calc(100% - 2px));animation:rot .9s linear infinite!important}
.progress i{position:relative;overflow:hidden;transition:width 500ms cubic-bezier(.23,1,.32,1)}
.progress:not(.indet) i::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,#fff6 50%,transparent 70%);transform:translateX(-100%);animation:prog-shine 1.8s ease-in-out infinite}
@keyframes prog-shine{to{transform:translateX(100%)}}
.progress.indet i{width:42%!important;animation:indet 1.7s cubic-bezier(.45,0,.2,1) infinite!important}
.skel{position:relative;overflow:hidden;background:#ffffff0a;border-radius:8px}
.skel::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,#ffffff12 50%,transparent 70%);transform:translateX(-100%);animation:prog-shine 1.4s ease-in-out infinite}
.page:not([hidden]){animation:rise 320ms var(--ease) both}

/* ===== 1.18 · ahorro de recursos ===== */
html.lite .aurora i{filter:none!important;animation:none!important;will-change:auto;opacity:.16!important}
html.lite .aurora i:nth-child(n){border-radius:50%;background:radial-gradient(closest-side,currentColor,transparent)!important;color:#a07800}
html.lite .aurora i:nth-child(2){color:#0b8ea8}html.lite .aurora i:nth-child(3){color:#b01e78}
html.lite *,html.lite *::before,html.lite *::after{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
html.lite .bg-fx,html.lite .tool::after,html.lite .tool.is-pro::before,html.lite .mod-lock::before,html.lite .tag.pro::after,html.lite .skel::after,html.lite .progress i::after{display:none!important}
html.lite #optBtn,html.lite .head-halo,html.lite .ring-orbit{animation:none!important}
html.lite .page:not([hidden]){animation:none}
html.lite .titlebar{background:#0a0a10}
html.lite .card{background:#0e0e16}
.mod-lock>.card{background:none!important;border:0!important;padding:0!important;box-shadow:none!important;backdrop-filter:none!important}

/* sin destello amarillo en la esquina de las tarjetas PRO */
.tool.is-pro::before,.tool.is-pro:hover::before{display:none!important}

/* ===== 1.18.4 · pantalla de bienvenida (solo transform/opacity: corre en la GPU, no en el hilo principal) ===== */
.splash{position:fixed;inset:0;z-index:300;display:grid;place-items:center;background:#050507;overflow:hidden;transition:opacity 700ms cubic-bezier(.4,0,.2,1),visibility 0s linear 700ms}
.splash.done{opacity:0;visibility:hidden;pointer-events:none}
.splash.done .sp-core{transform:scale(1.08);transition:transform 700ms cubic-bezier(.4,0,.2,1)}
.sp-vig{position:absolute;inset:0;background:radial-gradient(circle at 50% 46%,#1a1608 0,#050507 62%);opacity:0;animation:sp-in 900ms 0ms cubic-bezier(.4,0,.2,1) forwards}
.sp-core{position:relative;display:flex;flex-direction:column;align-items:center;will-change:transform}
.sp-stage{position:relative;width:176px;height:176px;display:grid;place-items:center}
.sp-orbit{position:absolute;inset:0;width:100%;height:100%;opacity:0;animation:sp-in 900ms 200ms forwards,sp-spin 14s linear infinite}
.sp-orbit circle{fill:none;stroke:#ffffff1c;stroke-width:1;stroke-dasharray:2 7}
.sp-svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.sp-track{fill:none;stroke:#ffffff10;stroke-width:3}
.sp-arc{fill:none;stroke:url(#g-sp);stroke-width:3;stroke-linecap:round;stroke-dasharray:440;stroke-dashoffset:440;animation:sp-draw 2200ms 350ms cubic-bezier(.65,0,.25,1) forwards}
@keyframes sp-draw{to{stroke-dashoffset:0}}
.sp-glow{position:absolute;inset:-40px;border-radius:50%;background:radial-gradient(closest-side,#ffd40040,transparent 70%);opacity:0;animation:sp-glow 2400ms 500ms ease-out forwards}
@keyframes sp-glow{0%{opacity:0}45%{opacity:1}100%{opacity:.55}}
.sp-bolt{position:relative;width:74px;height:74px;fill:url(#g-bolt);opacity:0;transform:scale(.72);filter:drop-shadow(0 0 12px rgba(255,214,0,.55));animation:sp-bolt 900ms 650ms cubic-bezier(.16,1,.3,1) forwards}
@keyframes sp-bolt{to{opacity:1;transform:scale(1)}}
.sp-pulse{position:absolute;inset:18px;border-radius:50%;border:1px solid #ffd40066;opacity:0;animation:sp-wave 1800ms 1500ms cubic-bezier(.2,.7,.3,1) 2}
@keyframes sp-wave{0%{opacity:.7;transform:scale(.75)}100%{opacity:0;transform:scale(1.5)}}
.sp-name{display:flex;gap:.2em;margin-top:30px;font:700 30px var(--display);letter-spacing:.04em}
.sp-name span{display:inline-block;opacity:0;transform:translateY(14px);animation:sp-up 800ms cubic-bezier(.16,1,.3,1) forwards}
.sp-name span:nth-child(1){animation-delay:1000ms}.sp-name span:nth-child(2){animation-delay:1070ms}.sp-name span:nth-child(3){animation-delay:1140ms}.sp-name span:nth-child(4){animation-delay:1210ms}.sp-name span:nth-child(5){animation-delay:1280ms}
@keyframes sp-up{to{opacity:1;transform:none}}
.sp-rule{width:120px;height:1px;margin-top:14px;background:linear-gradient(90deg,transparent,#ffd400,transparent);transform:scaleX(0);animation:sp-rule 900ms 1500ms cubic-bezier(.16,1,.3,1) forwards}
@keyframes sp-rule{to{transform:scaleX(1)}}
.sp-welcome{margin-top:14px;min-height:18px;color:#c9c9d6;font:600 12.5px var(--body);letter-spacing:.18em;text-transform:uppercase;opacity:0;transform:translateY(6px);animation:sp-up 800ms 1700ms cubic-bezier(.16,1,.3,1) forwards;transition:opacity 220ms}
.sp-welcome.swap{opacity:0!important}
.sp-pct{margin-top:18px;color:#6d6d82;font:500 11px var(--mono);letter-spacing:.12em;opacity:0;animation:sp-in 600ms 1900ms forwards}
@keyframes sp-in{to{opacity:1}}
@keyframes sp-spin{to{transform:rotate(360deg)}}

/* ===== 1.18.4 · aviso de actualización: notificación moderna y sobria ===== */
.upd-toast{position:fixed;top:52px;right:18px;z-index:70;width:min(372px,calc(100vw - 32px));padding:16px 16px 20px;border-radius:16px;background:#101018;border:1px solid #ffffff1f;box-shadow:0 24px 60px -16px #000,0 0 0 1px #00000066;overflow:hidden;animation:toast-in 560ms cubic-bezier(.16,1,.3,1) backwards}
.upd-toast.out{opacity:0;transform:translateX(28px) scale(.97);transition:opacity 240ms ease-in,transform 300ms cubic-bezier(.4,0,.2,1)}
@keyframes toast-in{from{opacity:0;transform:translateX(44px) scale(.96)}to{opacity:1;transform:none}}
.upd-row{display:flex;gap:12px;align-items:flex-start}
.upd-ico{position:relative;flex:none;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#ffffff0d;color:#ffd400}
.upd-ico .ic{width:19px;height:19px;animation:upd-bob 1.8s 700ms cubic-bezier(.45,0,.2,1) 3}
.upd-ico::after{content:"";position:absolute;inset:0;border-radius:12px;border:1px solid #ffd40066;opacity:0;animation:upd-ring 1.8s 700ms ease-out 3}
@keyframes upd-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(3px)}}
@keyframes upd-ring{0%{opacity:.8;transform:scale(1)}100%{opacity:0;transform:scale(1.55)}}
.upd-body{flex:1;min-width:0}
.upd-toast .upd-t{display:block;font:700 14px var(--body);padding-right:24px}
.upd-toast .upd-v{display:block;margin-top:2px;color:var(--muted);font-size:12.5px}
.upd-toast .upd-n{margin-top:8px;max-height:84px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--accent) transparent;padding-right:5px;overflow-wrap:anywhere}
.upd-toast .upd-n:focus-visible{outline:1px solid var(--accent);outline-offset:2px;border-radius:4px}
.upd-toast .nt-h{font-size:12px;margin:6px 0 2px}.upd-toast .nt-l,.upd-toast .nt-p{font-size:12px}
.upd-toast .upd-x{position:absolute;top:10px;right:10px;width:26px;height:26px;border-radius:8px;color:var(--muted);font-size:18px;line-height:1;display:grid;place-items:center;transition:background 160ms,color 160ms}
.upd-toast .upd-x:hover{background:#ffffff14;color:var(--text)}
.upd-toast .upd-a{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}
.upd-warn{display:block;margin-top:6px;color:#d9b66a;font-size:12px;line-height:1.4}
.upd-bar{position:absolute;left:0;right:0;bottom:0;height:3px;background:#ffffff0d}
.upd-bar i{display:block;height:100%;background:#ffd400;border-radius:0 3px 3px 0;transform-origin:left;animation:upd-count 10s linear forwards}
.upd-toast:hover .upd-bar i,.upd-toast:focus-within .upd-bar i{animation-play-state:paused}
@keyframes upd-count{to{transform:scaleX(0)}}
/* Descarga integrada en el aviso; no cambia la sección activa. */
.upd-toast{width:min(430px,calc(100vw - 32px));max-height:calc(100dvh - 76px);overflow-y:auto;padding:20px;border-radius:22px;background:linear-gradient(145deg,#191914,#0e0e16 48%);border-color:#ffe60026;animation:toast-in 200ms cubic-bezier(.23,1,.32,1) backwards}
.upd-toast.out{transition:opacity 160ms cubic-bezier(.23,1,.32,1),transform 160ms cubic-bezier(.23,1,.32,1)}
.upd-kicker{display:block;color:var(--accent);font:700 9px var(--mono);letter-spacing:.11em;margin-bottom:6px}.upd-toast .upd-t{font-size:16px}.upd-toast .upd-ico{width:44px;height:44px;background:var(--accent-soft);color:var(--accent);border:1px solid #ffe60028}.upd-toast .upd-n{max-height:128px;margin-top:14px}.upd-toast .upd-a{flex-wrap:wrap;gap:10px;margin-top:18px}.upd-toast .upd-a .btn{flex:1;justify-content:center}.upd-transfer{margin-top:18px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#05050780}.upd-transfer-head{display:flex;gap:12px;align-items:center}.upd-transfer-head>div:nth-child(2){flex:1;min-width:0}.upd-transfer-title{font-size:12px;display:block}.upd-transfer-status{display:block;color:var(--muted);font-size:11px;line-height:1.5;margin-top:5px}.upd-transfer-pct{font:700 23px var(--display);font-variant-numeric:tabular-nums;color:var(--accent)}.upd-transfer-track{height:7px;overflow:hidden;background:#ffffff0b;border-radius:99px;margin-top:18px}.upd-transfer-track>i{display:block;width:100%;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform 180ms linear}.upd-transfer-safe{font-size:11px;color:var(--muted);line-height:1.6;margin-top:12px}.upd-inline-error{font-size:12px;color:var(--bad);line-height:1.6;margin-top:16px;overflow-wrap:anywhere}.upd-transfer .download-orbit{width:54px;height:54px}.upd-transfer .download-core{width:32px;height:32px;border-radius:10px}.upd-transfer .download-core>.ic{width:18px;height:18px}.upd-toast.is-downloading .download-orbit>i,.upd-toast.is-downloading .download-core>.ic{animation-play-state:running}html.lite .upd-toast,html.lite .upd-toast *,html.lite .upd-toast *::after{animation:none!important;transition:none!important}.upd-toast .upd-bar{position:sticky;margin:16px -20px -20px}
/* Icono de descarga limpio: sin órbitas, puntos ni marcos superpuestos. */
.upd-transfer .download-clean{width:44px;height:44px;border:0;border-radius:12px;background:var(--accent-soft)}.upd-transfer .download-clean .download-core{width:100%;height:100%;border:0;border-radius:0;background:transparent;color:var(--accent)}.upd-transfer .download-clean .download-core>.ic{width:23px;height:23px;stroke-width:1.6;animation-name:download-clean-motion;animation-duration:2.4s}@keyframes download-clean-motion{0%,100%{transform:translateY(-2px);opacity:.8}50%{transform:translateY(2px);opacity:1}}

.performance-tip{position:fixed;bottom:22px;right:22px;max-width:470px;width:calc(100% - 44px);background:var(--surface,#0e0e16);border:1px solid var(--line);border-radius:18px;padding:20px;z-index:1000;display:flex;flex-wrap:wrap;gap:12px}.performance-tip>.ic{color:var(--acc,#ffe600)}.performance-tip>div{flex:1;min-width:200px}.performance-tip p{color:var(--muted);font-size:12px;line-height:1.6;margin:7px 0}.performance-tip .btn{font-size:12px}.performance-tip[hidden]{display:none}

.is-fullscreen .titlebar{display:none}.is-fullscreen.custom-chrome .app{padding-top:18px}

.performance-tip{top:var(--notice-top,120px);bottom:auto;right:18px;max-width:350px;padding:15px;gap:9px;border-radius:16px;background:#101018;box-shadow:0 16px 42px #0008;max-height:calc(100dvh - var(--notice-top,120px) - 12px);overflow-y:auto}.performance-tip>div{min-width:0}.performance-tip b{font-size:13px}.performance-tip p{margin:5px 0 0;line-height:1.5}.performance-tip>.btn{margin-left:auto;align-self:center}.performance-tip>.ic{width:20px;height:20px}
.upd-toast{top:var(--notice-top,120px);max-height:calc(100dvh - var(--notice-top,120px) - 12px)}

/* Decorative cards consume no animation work outside the viewport. */
.tool-representation.rep-offscreen,.tool-representation.rep-offscreen *,.tool-representation.rep-offscreen::before,.tool-representation.rep-offscreen::after,.tool-representation.rep-offscreen *::before,.tool-representation.rep-offscreen *::after{animation-play-state:paused!important}

/* Finite entrance sequence: only composited transform/opacity. */
.sp-core{will-change:auto}.sp-arc{stroke-dashoffset:0;animation:sp-in 1400ms 350ms both}.sp-orbit{animation:sp-in 900ms 200ms both,sp-spin 18s linear infinite}
.sp-sections{width:min(310px,80vw);display:grid;grid-template-columns:1fr 1fr;gap:9px 18px;margin-top:24px}
.sp-section{display:flex;align-items:center;gap:8px;opacity:0;transform:translateY(9px);transition:opacity 420ms ease,transform 420ms cubic-bezier(.23,1,.32,1);font:500 11px var(--body);color:var(--muted)}
.sp-section.revealed{opacity:1;transform:none}.sp-section .ic{width:16px;height:16px;color:var(--yellow,#ffd400);flex:none}.sp-section i{height:1px;flex:1;background:linear-gradient(90deg,#ffd40065,transparent);transform:scaleX(0);transform-origin:left;transition:transform 500ms cubic-bezier(.23,1,.32,1)}.sp-section.revealed i{transform:scaleX(1)}
.lite .splash *{animation:none!important;transition:none!important}.lite .sp-core *:not(.sp-section):not(.sp-tool-face){opacity:1;transform:none}.lite .sp-section.revealed{opacity:1;transform:none}
.community-tip{width:min(340px,calc(100vw - 32px))}.community-tip-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.community-tip>.ic{color:#43db9d}
@media(max-height:700px){.sp-stage{width:130px;height:130px}.sp-name{margin-top:12px}.sp-sections{margin-top:16px;gap:7px 14px}.sp-pct{margin-top:10px}}

/* Same ambient colors, rasterized once: no moving 110px blur surfaces. */
.aurora{background:radial-gradient(ellipse 560px 560px at 0% 0%,#a078004d,transparent 80%),radial-gradient(ellipse 520px 520px at 100% 22%,#0b8ea847,transparent 80%),radial-gradient(ellipse 460px 460px at 45% 110%,#b01e7829,transparent 80%),var(--bg)}
.aurora i{display:none!important;animation:none!important;filter:none!important;will-change:auto!important}
html.low-power *,html.low-power *::before,html.low-power *::after{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
html.low-power .logo::after,html.low-power #optBtn,html.low-power .tag.pro::after,html.low-power .mod-lock::before,html.low-power .head-halo,html.low-power .head-ripple,html.low-power .hero-orbit *,html.low-power .tool-representation *,html.low-power .tool-representation *::before,html.low-power .tool-representation *::after,html.low-power .acc-license-orbit *,html.low-power .acc-online::after,html.low-power .vpn-pin::before,html.low-power .vpn-pin::after{animation:none!important;will-change:auto!important}
html.motion-paused *,html.motion-paused *::before,html.motion-paused *::after{animation-play-state:paused!important;will-change:auto!important}
/* Hidden modules do not retain painting or compositing layers. */
.page[hidden] *,.page[hidden] *::before,.page[hidden] *::after{animation-play-state:paused!important;will-change:auto!important}
html.low-power #ringProg{transition:none!important}

/* The toolbar symbols share one origin, then settle in their real order. */
/* Seven upright tool emblems orbit the existing central brand. No JS frame loop. */
.sp-stage{margin:58px 0 80px}.sp-arc{stroke-dashoffset:0;animation:none}.sp-orbit{display:none}
.sp-stage .sp-sections{--sp-radius:146px;position:absolute;inset:-58px;width:auto;height:auto;margin:0;display:block;border:0;pointer-events:none}
.sp-stage .sp-section{position:absolute;inset:0;width:auto;height:auto;border:0;background:none;color:var(--yellow,#ffd400);display:block;opacity:0;transform:rotate(var(--angle));transition:opacity 450ms ease}
.sp-stage .sp-section:first-child{background:none;border:0;color:var(--yellow,#ffd400)}
.sp-stage .sp-section.revealed{opacity:1}
.sp-tool-radius{position:absolute;left:50%;top:50%;width:0;height:0;transform:translateY(0);opacity:0}
.sp-section.revealed .sp-tool-radius{animation:sp-tool-launch 760ms var(--ease) both}
.sp-tool-face{position:absolute;top:-23px;left:-23px;width:46px;height:46px;border:1px solid #ffd400b0;border-radius:14px;background:#101018;display:grid;place-items:center;opacity:1;transform:rotate(calc(-1 * var(--angle)))}
.sp-tool-face::after{display:none}
.sp-section .sp-tool-face .ic{width:21px;height:21px;color:inherit}
.sp-tool-content{display:grid;place-items:center;opacity:0}.sp-section.revealed .sp-tool-content{animation:sp-tool-entry 650ms var(--ease) both}
.sp-stage .sp-sections.orbiting{animation:sp-tool-orbit 6s linear infinite}
.sp-sections.orbiting .sp-tool-face{animation:sp-tool-upright 6s linear infinite}
@keyframes sp-tool-orbit{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes sp-tool-upright{from{transform:rotate(calc(-1 * var(--angle)))}to{transform:rotate(calc(-1 * var(--angle) - 360deg))}}
@keyframes sp-tool-entry{from{opacity:0}to{opacity:1}}
@keyframes sp-tool-launch{from{opacity:0;transform:translateY(0)}to{opacity:1;transform:translateY(calc(-1 * var(--sp-radius)))}}
@keyframes sp-tool-reveal{from{opacity:0}to{opacity:1}}
html.lite .sp-stage .sp-section.revealed{transform:rotate(var(--angle))!important;opacity:1}
html.lite .sp-stage .sp-tool-face{transform:rotate(calc(-1 * var(--angle)))!important;opacity:1}
html.lite .sp-stage .sp-tool-radius{transform:translateY(calc(-1 * var(--sp-radius)))!important;opacity:1}
.low-power .sp-stage .sp-section{animation:none;transform:rotate(var(--angle))}
.low-power .sp-tool-face{animation:none;transform:rotate(calc(-1 * var(--angle)))}
.low-power .sp-stage .sp-sections.orbiting,.low-power .sp-sections.orbiting .sp-tool-face{animation:none}
.low-power .sp-section.revealed .sp-tool-radius{animation:sp-tool-reveal 650ms var(--ease) both;transform:translateY(calc(-1 * var(--sp-radius)))}
@media(prefers-reduced-motion:reduce){.sp-stage .sp-section{animation:none;transform:rotate(var(--angle))}.sp-tool-face{animation:none;opacity:1;transform:rotate(calc(-1 * var(--angle)))}.sp-section.revealed .sp-tool-content{animation:none;opacity:1}.sp-section.revealed .sp-tool-radius{animation:none;opacity:1;transform:translateY(calc(-1 * var(--sp-radius)))}}
@media(max-height:700px){.sp-stage{margin:48px 0 70px}.sp-stage .sp-sections{--sp-radius:113px;inset:-48px}.sp-tool-face{width:38px;height:38px;top:-19px;left:-19px}}
@media(prefers-reduced-motion:reduce){.sp-stage .sp-sections.orbiting,.sp-sections.orbiting .sp-tool-face{animation:none}}

.top .brand-name{font-family:var(--display);font-weight:800;font-size:17px;letter-spacing:.14em;text-transform:uppercase}
