/* VyronCommunity v2 · PRO, perfiles, avisos, foro nuevo y fondo animado.
   Mismas reglas que el resto: solo transform/opacity en lo que se mueve, curvas fuertes y nada que bloquee. */
@font-face{font-family:"Orbitron";font-weight:700;font-display:swap;src:url(/fonts/orbitron-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Audiowide";font-weight:400;font-display:swap;src:url(/fonts/audiowide-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Rajdhani";font-weight:700;font-display:swap;src:url(/fonts/rajdhani-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Bebas Neue";font-weight:400;font-display:swap;src:url(/fonts/bebas-neue-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Righteous";font-weight:400;font-display:swap;src:url(/fonts/righteous-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Press Start 2P";font-weight:400;font-display:swap;src:url(/fonts/press-start-2p-latin-400-normal.woff2) format("woff2")}
:root{--gold:#ffd400;--gold-2:#ffb21f;--gold-soft:rgba(255,212,0,.1);--gold-line:rgba(255,212,0,.45);--grad-gold:linear-gradient(100deg,#fff3a0 0%,#ffd400 40%,#ffb21f 100%)}
.nf-default{font-family:var(--font)}.nf-unbounded{font-family:"Unbounded",var(--font);font-weight:700}.nf-orbitron{font-family:"Orbitron",var(--font);font-weight:700;letter-spacing:.02em}
.nf-audiowide{font-family:"Audiowide",var(--font)}.nf-rajdhani{font-family:"Rajdhani",var(--font);font-weight:700;letter-spacing:.02em}.nf-bebas{font-family:"Bebas Neue",var(--font);letter-spacing:.04em;font-size:1.12em}
.nf-righteous{font-family:"Righteous",var(--font)}.nf-pixel{font-family:"Press Start 2P",var(--font);font-size:.72em;line-height:1.6}.nf-mono{font-family:var(--mono);font-weight:600}

/* ---------- Fondo animado: rejilla de circuito + pulsos de datos (CSS puro, GPU) ---------- */
.bg-fx{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;contain:strict}
.bg-grid{position:absolute;inset:-64px;opacity:.5;
  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:64px 64px;-webkit-mask:radial-gradient(ellipse 80% 70% at 50% 30%,#000 30%,transparent 80%);mask:radial-gradient(ellipse 80% 70% at 50% 30%,#000 30%,transparent 80%);
  animation:grid-drift 40s linear infinite;will-change:transform}
@keyframes grid-drift{to{transform:translate3d(64px,64px,0)}}
.bg-fx i{position:absolute;display:block;will-change:transform;opacity:.7}
.bg-fx i:nth-of-type(odd){height:1px;width:22vw;background:linear-gradient(90deg,transparent,rgba(255,230,0,.55),transparent);left:0;animation:pulse-x 9s linear infinite}
.bg-fx i:nth-of-type(even){width:1px;height:22vh;background:linear-gradient(180deg,transparent,rgba(123,92,255,.55),transparent);top:0;animation:pulse-y 11s linear infinite}
.bg-fx i:nth-of-type(1){top:18%;animation-delay:-2s}.bg-fx i:nth-of-type(3){top:52%;animation-delay:-6s;animation-duration:13s}.bg-fx i:nth-of-type(5){top:81%;animation-delay:-4s;animation-duration:15s}
.bg-fx i:nth-of-type(2){left:22%;animation-delay:-1s}.bg-fx i:nth-of-type(4){left:64%;animation-delay:-7s;animation-duration:14s}.bg-fx i:nth-of-type(6){left:88%;animation-delay:-3s;animation-duration:12s}
@keyframes pulse-x{from{transform:translate3d(-30vw,0,0)}to{transform:translate3d(130vw,0,0)}}
@keyframes pulse-y{from{transform:translate3d(0,-30vh,0)}to{transform:translate3d(0,130vh,0)}}
:root[data-theme="light"] .bg-grid{background-image:linear-gradient(rgba(0,0,0,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.05) 1px,transparent 1px)}
:root[data-theme="light"] .bg-fx i{opacity:.45}
html[data-perf="lite"] .bg-grid{animation-duration:80s}
html[data-perf="lite"] .bg-fx i:nth-of-type(n+4){display:none}

/* ---------- Usuarios: foto, corona y nombre neón ---------- */
.avatar{position:relative;overflow:visible}
.avatar.has-img{background:var(--bg-inset)}
.avatar>img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}
.avatar.xl{--s:104px}
.avatar.is-pro{box-shadow:0 0 0 2px var(--gold),0 0 18px -2px rgba(255,212,0,.55)}
.avatar .crown{position:absolute;top:calc(var(--s)*-.34);left:50%;width:calc(var(--s)*.52);height:auto;transform:translateX(-50%) rotate(-8deg);filter:drop-shadow(0 2px 3px rgba(0,0,0,.45));pointer-events:none}
.uname{color:var(--text);font-weight:650;display:inline-flex;align-items:center;gap:6px;max-width:100%}
a.uname:hover{text-decoration:none;opacity:.9}
.uname.pro{color:#ffe600;text-shadow:0 0 6px rgba(255,230,0,.55),0 0 18px rgba(255,190,0,.35);animation:neon 3.2s ease-in-out infinite}
:root[data-theme="light"] .uname.pro{color:#9a7200;text-shadow:0 0 10px rgba(255,200,0,.45)}
@keyframes neon{0%,100%{opacity:1}50%{opacity:.86}}
.pro-tag{font:700 .58rem/1 var(--mono);letter-spacing:.08em;padding:3px 5px;border-radius:5px;background:var(--grad-gold);color:#1a1400;text-shadow:none;flex:none}
.pro-chip{display:inline-flex;align-items:center;gap:5px;font:700 .64rem/1 var(--mono);letter-spacing:.1em;padding:4px 7px;border-radius:6px;background:var(--grad-gold);color:#1a1400;vertical-align:middle}
.pro-chip svg{width:13px;height:13px}.pro-chip.big{font-size:.74rem;padding:6px 10px;border-radius:8px}
.free-chip{font:600 .66rem/1 var(--mono);letter-spacing:.1em;padding:4px 7px;border-radius:6px;border:1px solid var(--line-strong);color:var(--muted);vertical-align:middle;margin-left:6px}
.btn-pro{background:var(--grad-gold);border-color:transparent;color:#1a1400;font-weight:700;box-shadow:0 8px 24px -10px rgba(255,200,0,.7)}
.btn-pro:hover{color:#1a1400;filter:brightness(1.05);box-shadow:0 12px 30px -10px rgba(255,200,0,.85)}
.btn-pro svg{width:16px;height:16px}

/* ---------- Cabecera: PRO, campana ---------- */
.nav .nav-pro{display:inline-flex;align-items:center;gap:6px;color:#ffe600;font-weight:700}
.nav .nav-pro svg{width:15px;height:15px}
.nav .nav-pro::after{display:none}
.nav .nav-pro.on,.nav .nav-pro:hover{background:var(--gold-soft)}
.userchip .uname{font-size:.92rem}
.userchip .avatar.is-pro .crown{display:none}
.bell-wrap{position:relative}
#bell{position:relative}
.bell-dot{position:absolute;top:7px;right:8px;width:8px;height:8px;border-radius:50%;background:var(--bad);box-shadow:0 0 0 2px var(--bg)}
.bell-pop{position:absolute;right:0;top:calc(100% + 10px);width:min(360px,calc(100vw - 24px));max-height:70vh;overflow:auto;background:var(--bg-card);border:1px solid var(--line-strong);border-radius:16px;box-shadow:0 24px 60px -20px rgba(0,0,0,.8);z-index:90;transform-origin:top right;animation:pop-in .18s var(--ease)}
@keyframes pop-in{from{opacity:0;transform:scale(.96) translateY(-4px)}}
.bp-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line)}
.bell-pop ul{list-style:none;margin:0;padding:6px}
.bell-pop li a{display:grid;gap:2px;padding:10px;border-radius:10px;color:var(--text)}
.bell-pop li a:hover{background:var(--bg-hover);text-decoration:none}
.bell-pop li.unread a{background:var(--acc-soft)}
.bell-pop li b{font-size:.92rem}.bell-pop li span{color:var(--muted);font-size:.84rem}.bell-pop time{color:var(--dim);font-size:.74rem}
.bp-k{font:700 .62rem/1 var(--mono)!important;letter-spacing:.1em;text-transform:uppercase;color:var(--acc-text)!important}
.bp-k.respuesta{color:var(--info)!important}
.bp-empty,.bp-foot{padding:16px;margin:0;color:var(--muted);font-size:.88rem}.bp-foot{border-top:1px solid var(--line);padding:12px 14px}
.verify-bar{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:9px 16px;background:var(--warn-soft);border-bottom:1px solid rgba(245,165,36,.3);font-size:.88rem;text-align:center}
.verify-bar svg{width:16px;height:16px;color:var(--warn)}.verify-bar a{font-weight:700;color:var(--warn)}

/* ---------- Modal ---------- */
.modal-bg{position:fixed;inset:0;z-index:200;background:rgba(5,5,8,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:grid;place-items:center;padding:16px;animation:fade-in .18s var(--ease)}
.modal-bg.out{opacity:0;transition:opacity .16s}
@keyframes fade-in{from{opacity:0}}
.modal{position:relative;width:min(440px,100%);background:var(--bg-card);border:1px solid var(--line-strong);border-radius:22px;padding:28px 26px 24px;text-align:center;box-shadow:0 40px 90px -30px rgba(0,0,0,.9);animation:modal-in .26s var(--ease)}
@keyframes modal-in{from{opacity:0;transform:translateY(10px) scale(.97)}}
.modal h2{font-family:var(--display);font-size:1.35rem;margin:12px 0 8px;letter-spacing:-.02em}
.modal-ic{width:56px;height:56px;margin:0 auto;border-radius:16px;display:grid;place-items:center;background:var(--acc-soft);border:1px solid var(--acc-line);color:var(--acc-text)}
.modal-ic svg{width:28px;height:28px}.modal-ic.gold{background:var(--gold-soft);border-color:var(--gold-line);color:var(--gold)}
.modal-x{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:10px;border:0;background:transparent;color:var(--muted);cursor:pointer;display:grid;place-items:center}
.modal-x:hover{background:var(--bg-hover);color:var(--text)}.modal-x svg{width:18px;height:18px}
.modal-list{list-style:none;padding:0;margin:14px auto;display:grid;gap:6px;text-align:left;max-width:280px}
.modal-list li{padding-left:24px;position:relative;color:var(--muted);font-size:.92rem}
.modal-list li::before{content:"";position:absolute;left:4px;top:.5em;width:8px;height:8px;border-radius:50%;background:var(--ok)}
.modal-actions{display:grid;gap:8px;margin-top:16px}

/* ---------- Toasts tipo Discord ---------- */
.toast-stack{position:fixed;right:16px;bottom:16px;z-index:150;display:grid;gap:10px;width:min(370px,calc(100vw - 32px));pointer-events:none}
.toast{pointer-events:auto;position:relative;overflow:hidden;display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:start;padding:14px 12px 16px 14px;background:color-mix(in srgb,var(--bg-card) 94%,transparent);border:1px solid var(--line-strong);border-radius:16px;box-shadow:0 20px 50px -18px rgba(0,0,0,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:toast-in .32s var(--ease)}
.toast.out{transition:transform .2s var(--ease),opacity .2s;transform:translateX(24px);opacity:0}
@keyframes toast-in{from{opacity:0;transform:translateX(40px) scale(.98)}}
.t-ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--acc);color:var(--acc-ink)}
.t-ic svg{width:22px;height:22px}
.toast.ask .t-ic{background:var(--violet);color:#fff}.toast.ok .t-ic{background:var(--ok);color:#06210f}
.t-main b{display:block;font-size:.95rem}.t-main p{margin:3px 0 0;color:var(--muted);font-size:.86rem;line-height:1.45}
.t-actions{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}
.t-x{border:0;background:transparent;color:var(--dim);font-size:20px;line-height:1;cursor:pointer;padding:2px 6px;border-radius:8px}.t-x:hover{color:var(--text);background:var(--bg-hover)}
.t-bar{position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--acc);transform-origin:0 50%;animation:t-bar linear forwards}
.toast.ask .t-bar{background:var(--violet)}.toast.hold .t-bar{animation-play-state:paused}
@keyframes t-bar{from{transform:scaleX(1)}to{transform:scaleX(0)}}
.toast.promo{border-color:var(--acc-line)}

/* ---------- Pruebas: zona PRO, candados ---------- */
.pro-zone{position:relative;padding:22px;border:1px solid var(--gold-line);border-radius:24px;background:linear-gradient(180deg,rgba(255,212,0,.06),transparent 60%)}
.pro-zone-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.pro-zone-head h2{font-family:var(--display);margin:10px 0 4px}.pro-zone-head p{margin:0;max-width:620px}
.chip-pro{color:#ffe600;border-color:var(--gold-line)}.chip-pro[aria-pressed="true"]{background:var(--grad-gold);color:#1a1400}
.tool-card.is-pro{border-color:var(--gold-line);background:linear-gradient(160deg,rgba(255,212,0,.07),transparent 55%),var(--bg-card)}
.tool-card.is-pro .ic{color:var(--gold);border-color:var(--gold-line)}
.tool-card .pro-chip{position:absolute;top:16px;right:16px}
.tool-card.locked h3,.tool-card.locked p,.tool-card.locked .meta,.tool-card.locked .ic{transition:filter .2s var(--ease),opacity .2s var(--ease)}
.lock-ov{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:4px;text-align:center;padding:14px;background:rgba(8,8,12,.72);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:0;transition:opacity .2s var(--ease);border-radius:inherit;color:var(--text)}
.lock-ov .lk{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--grad-gold);color:#1a1400;transform:scale(.9);transition:transform .25s var(--ease)}
.lock-ov .lk svg{width:22px;height:22px}.lock-ov b{font-size:1rem;margin-top:6px}.lock-ov span:last-child{color:var(--gold);font-size:.84rem;font-weight:600}
.tool-card.locked:hover .lock-ov,.tool-card.locked:focus-visible .lock-ov{opacity:1}
.tool-card.locked:hover .lock-ov .lk{transform:scale(1)}
@media (hover:none){.tool-card.locked .lock-ov{opacity:1;background:transparent;backdrop-filter:none;place-content:end end;padding:12px}.tool-card.locked .lock-ov b,.tool-card.locked .lock-ov span:last-child{display:none}.tool-card.locked .lock-ov .lk{width:34px;height:34px}}
.tool-locked{position:relative;min-height:340px;display:grid;place-items:center;overflow:hidden;border-radius:14px}
.tl-mock{position:absolute;inset:0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:18px;filter:blur(6px);opacity:.5}
.tl-mock i{border-radius:12px;background:linear-gradient(135deg,var(--bg-hover),var(--bg-inset));border:1px solid var(--line)}
.tl-mock i:nth-child(5){grid-column:span 4;height:120px}
.tl-box{position:relative;text-align:center;max-width:440px;padding:26px;background:color-mix(in srgb,var(--bg-card) 88%,transparent);border:1px solid var(--gold-line);border-radius:22px;box-shadow:0 30px 70px -30px rgba(0,0,0,.9)}
.tl-box h2{font-family:var(--display);margin:12px 0 8px;font-size:1.35rem}.tl-box p{color:var(--muted);margin:0 0 16px}
.tl-ic{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 10px;border-radius:16px;background:var(--grad-gold);color:#1a1400}.tl-ic svg{width:26px;height:26px}
.auth-gated{cursor:pointer}

/* ---------- Portada: compatibilidad ---------- */
.os-strip{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:16px}
.os-lbl{color:var(--dim);font-size:.8rem;margin-right:2px}
.os{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid var(--line);border-radius:999px;font-size:.8rem;color:var(--muted)}
.os svg{width:14px;height:14px}.os.on{border-color:var(--ok);color:var(--text);background:var(--ok-soft)}
.os-you{color:var(--ok);font-size:.82rem;font-weight:600}

/* ---------- Foro ---------- */
.forum-search{display:flex;align-items:center;gap:8px;margin-top:18px;padding:6px 6px 6px 14px;border:1px solid var(--line-strong);border-radius:16px;background:var(--bg-card);max-width:820px}
.forum-search>svg{width:18px;height:18px;color:var(--dim);flex:none}
.forum-search input{flex:1;min-width:0;border:0!important;background:transparent!important;box-shadow:none!important;padding:10px 4px!important;font-size:1rem}
.forum-search select{width:auto;max-width:220px;border-radius:10px}
.ann-box{border:1px solid var(--acc-line);border-radius:22px;padding:20px;background:linear-gradient(135deg,rgba(255,230,0,.08),rgba(123,92,255,.05) 60%,transparent),var(--bg-card);margin:6px 0 26px}
.ann-head{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.ann-head h2{margin:0;font-family:var(--display);font-size:1.2rem}.ann-head p{margin:2px 0 0;color:var(--muted);font-size:.9rem}
.ann-head>a,.ann-head>.btn{margin-left:auto}
.ann-ic{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--acc);color:var(--acc-ink);flex:none}.ann-ic svg{width:22px;height:22px}
.ann-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.ann-item{display:block;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--bg-raised);color:var(--text);transition:transform .16s var(--ease),border-color .2s}
.ann-item:hover{text-decoration:none;border-color:var(--acc-line);transform:translateY(-2px)}
.ann-item.latest{border-color:var(--acc-line)}
.ann-item h3{margin:8px 0 6px;font-size:1rem}.ann-item p{margin:0;color:var(--muted);font-size:.88rem;line-height:1.5}
.ann-meta{display:flex;gap:8px;align-items:center;color:var(--dim);font-size:.78rem}
.ann-article{padding:24px}.ann-art-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}.ann-art-head .badge{margin-left:auto}
.cat-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.cat-tile{display:grid;grid-template-rows:auto 1fr auto auto;gap:10px;padding:20px;border:1px solid var(--line);border-radius:20px;background:var(--bg-card);color:var(--text);transition:transform .16s var(--ease),border-color .2s}
.cat-tile:hover{text-decoration:none;border-color:var(--acc-line);transform:translateY(-3px)}
.cat-tile .ic{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;border:1px solid var(--line-strong);background:var(--bg-inset);color:var(--acc-text)}.cat-tile .ic svg{width:22px;height:22px}
.cat-tile h3{margin:0;font-family:var(--display);font-size:1.05rem;letter-spacing:-.02em}.cat-tile p{margin:6px 0 0;color:var(--muted);font-size:.9rem}
.ct-stats{display:flex;gap:14px;color:var(--muted);font-size:.84rem}.ct-stats b{color:var(--text);font-family:var(--mono)}
.ct-last{font-size:.82rem;color:var(--dim);border-top:1px dashed var(--line);padding-top:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cat-general{border-color:rgba(123,92,255,.35);background:linear-gradient(160deg,rgba(123,92,255,.08),transparent 60%),var(--bg-card)}
.chips{display:flex;gap:6px;flex-wrap:wrap}
a.chip{text-decoration:none;display:inline-flex;align-items:center}
.toolbar-row{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.mini-search input{width:240px;max-width:100%;border-radius:999px}
.thread-row .sub .uname{font-weight:600;font-size:.86rem}
.post-side .name .uname{justify-content:center}

/* ---------- Charla ---------- */
.feed-wrap{max-width:760px}
.composer{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:16px;border:1px solid var(--line-strong);border-radius:20px;background:var(--bg-card);margin-bottom:16px}
.composer textarea{min-height:90px;resize:vertical;border-radius:14px}
.cmp-foot{display:flex;justify-content:space-between;align-items:center;margin-top:8px}
.cmp-foot .near{color:var(--warn)}
.composer.locked{grid-template-columns:1fr auto;align-items:center}.composer.locked p{margin:0;color:var(--muted)}
.feed{display:grid;gap:10px}
.feed-item{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:16px;border:1px solid var(--line);border-radius:18px;background:var(--bg-card);animation:fi-in .3s var(--ease) both}
@keyframes fi-in{from{opacity:0;transform:translateY(6px)}}
.feed-item.is-pro{border-color:var(--gold-line);background:linear-gradient(160deg,rgba(255,212,0,.05),transparent 50%),var(--bg-card)}
.fi-main{min-width:0}
.fi-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.fi-time{color:var(--dim);font-size:.82rem;margin-left:auto}
.fi-body{margin-top:6px;line-height:1.6;word-wrap:break-word;overflow-wrap:anywhere}
.fi-body a{color:var(--info)}.hashtag{color:var(--acc-text);font-weight:600}
.fi-actions{display:flex;gap:4px;margin-top:10px}
.fi-actions form{margin:0}
.fi-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:0;background:transparent;color:var(--muted);font:600 .84rem var(--font);cursor:pointer;transition:background .16s,color .16s,transform .16s var(--ease)}
.fi-btn:hover{background:var(--bg-hover);color:var(--text);text-decoration:none}
.fi-btn:active{transform:scale(.94)}
.fi-btn svg{width:17px;height:17px}
.fi-btn.on{color:#ff5a8a}.fi-btn.on svg{fill:currentColor}
.fi-btn.pop svg{animation:heart .35s var(--ease)}
@keyframes heart{40%{transform:scale(1.3)}}
.feed-sub{font-size:1rem;margin:22px 0 10px;color:var(--muted)}
.replies .feed-item{margin-left:28px}
.feed-thread .feed-item{border-color:var(--line-strong)}

/* ---------- Perfil ---------- */
.profile-head{display:flex;gap:22px;align-items:center;flex-wrap:wrap;padding:34px 0 22px}
.profile-head h1{margin:0;font-size:clamp(1.6rem,1.2rem + 1.6vw,2.3rem)}
.profile-head .uname{font-weight:800}
.ph-main{flex:1;min-width:240px}.ph-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:8px}
.ph-bio{margin:12px 0 0;max-width:620px;white-space:pre-wrap;color:var(--text)}
.profile-head.is-pro .avatar.xl{margin-top:18px}
.profile-side{display:grid;gap:16px;align-content:start}
.avatar-edit{display:flex;gap:14px;align-items:center}
.avatar-edit .btn{margin:0 6px 6px 0}
.font-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.font-opt{position:relative;display:grid;gap:4px;padding:10px;border:1px solid var(--line);border-radius:12px;cursor:pointer;background:var(--bg-inset);transition:border-color .16s,transform .16s var(--ease)}
.font-opt:hover{border-color:var(--gold-line)}.font-opt:active{transform:scale(.98)}
.font-opt input{position:absolute;opacity:0;pointer-events:none}
.font-opt:has(input:checked){border-color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset;background:var(--gold-soft)}
.font-opt:has(input:focus-visible){outline:2px solid var(--acc);outline-offset:2px}
.fo-prev{color:#ffe600;font-size:1.05rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fo-name{font-size:.72rem;color:var(--dim)}
.pro-locked{position:relative}
.font-grid.demo{filter:blur(1.5px);opacity:.55;pointer-events:none}
.lock-cta{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:center;margin-top:12px;padding:12px;border:1px solid var(--gold-line);border-radius:14px;background:var(--gold-soft);color:var(--text)}
.lock-cta svg{grid-row:span 2;width:20px;height:20px;color:var(--gold)}.lock-cta span{color:var(--gold);font-size:.84rem}
.lock-cta:hover{text-decoration:none;filter:brightness(1.08)}
.privacy-note{display:flex;gap:8px;align-items:flex-start}.privacy-note svg{width:15px;height:15px;flex:none;margin-top:2px;color:var(--ok)}
.welcome-ok{text-align:center}.welcome-ok .big-ic{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 6px;border-radius:50%;background:var(--ok-soft);color:var(--ok)}.welcome-ok .big-ic svg{width:30px;height:30px}

/* ---------- Página PRO ---------- */
.pro-hero{padding:56px 0 20px;text-align:center}
.pro-hero h1{font-family:var(--display);font-size:clamp(2.4rem,1.4rem + 4.4vw,4.6rem);letter-spacing:-.04em;margin:8px 0 10px}
.pro-hero .lead{margin:0 auto 28px;max-width:620px}
.grad-gold{background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.pro-crown{display:inline-grid;place-items:center;width:72px;height:72px;border-radius:22px;background:var(--grad-gold);color:#1a1400;box-shadow:0 18px 50px -14px rgba(255,200,0,.75);animation:float 4s ease-in-out infinite}
.pro-crown svg{width:38px;height:38px;fill:currentColor}
@keyframes float{50%{transform:translateY(-6px)}}
.plans{display:grid;grid-template-columns:repeat(2,minmax(0,330px));gap:18px;justify-content:center;text-align:left;margin-bottom:14px}
.plan{position:relative;display:grid;gap:10px;padding:26px;border:1px solid var(--line-strong);border-radius:24px;background:var(--bg-card)}
.plan.best{border-color:var(--gold);background:linear-gradient(170deg,rgba(255,212,0,.1),transparent 55%),var(--bg-card);box-shadow:0 30px 70px -40px rgba(255,200,0,.7)}
.plan-flag{position:absolute;top:-12px;left:50%;transform:translateX(-50%);padding:5px 12px;border-radius:999px;background:var(--grad-gold);color:#1a1400;font:700 .72rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.plan h3{margin:0;font-family:var(--display);font-size:1.15rem}
.price b{font:800 2.6rem/1 var(--display);letter-spacing:-.04em}.price span{color:var(--muted);margin-left:6px}
.plan ul{list-style:none;padding:0;margin:4px 0 8px;display:grid;gap:8px}
.plan li{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:.92rem}.plan li svg{width:16px;height:16px;color:var(--ok);flex:none}
.plan .btn{width:100%;justify-content:center}
.pro-demos{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.demo-card{padding:18px;border:1px solid var(--line);border-radius:20px;background:var(--bg-card);min-height:190px;display:flex;flex-direction:column;gap:12px;overflow:hidden}
.dc-label{font:600 .7rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.dc-profile{display:flex;align-items:center;gap:16px;margin-top:18px}.dc-name{font-size:1.25rem}
.dc-chart{width:100%;height:110px}.dc-chart .ln{fill:none;stroke:url(#none);stroke:#ffd400;stroke-width:2.2;stroke-dasharray:600;stroke-dashoffset:600;animation:draw 3s var(--ease) forwards;vector-effect:non-scaling-stroke}
.dc-chart .mk{stroke:var(--warn);stroke-dasharray:4 4;vector-effect:non-scaling-stroke}
@keyframes draw{to{stroke-dashoffset:0}}
.dc-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;font-size:.82rem}
.dc-bars{display:flex;align-items:flex-end;gap:3px;height:110px}
.dc-bars i{flex:1;height:var(--h);background:var(--ok);border-radius:2px;opacity:.75;transform-origin:bottom;animation:bar-in .8s var(--ease) both}
.dc-bars i.spike{background:var(--warn);opacity:1}
@keyframes bar-in{from{transform:scaleY(.1)}}
.dc-table{width:100%;border-collapse:collapse;font:500 .84rem var(--mono)}.dc-table td{padding:7px 4px;border-bottom:1px solid var(--line)}.dc-table .up{color:var(--ok);text-align:right}
.dc-fonts{display:grid;grid-template-columns:1fr 1fr;gap:8px;color:#ffe600}.dc-fonts span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dc-report{display:grid;gap:7px;padding:14px;border-radius:12px;background:#f6f5ef;color:#14100a}.dc-report b{font-size:.84rem}.dc-report i{height:7px;border-radius:4px;background:#d9d7cc}.dc-report i.s{width:60%}
.wrap.narrow{max-width:820px}
.why-list{display:grid;gap:10px}
.why{border:1px solid var(--line);border-radius:16px;background:var(--bg-card);overflow:hidden;transition:border-color .2s}
.why[open]{border-color:var(--gold-line)}
.why summary{display:flex;align-items:center;gap:12px;padding:16px 18px;cursor:pointer;list-style:none;font-weight:650}
.why summary::-webkit-details-marker{display:none}
.why-ic{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--gold-soft);color:var(--gold);flex:none}.why-ic svg{width:18px;height:18px}
.why-plus{margin-left:auto;width:14px;height:14px;position:relative;flex:none}
.why-plus::before,.why-plus::after{content:"";position:absolute;left:0;top:6px;width:14px;height:2px;border-radius:2px;background:var(--muted);transition:transform .22s var(--ease)}
.why-plus::after{transform:rotate(90deg)}.why[open] .why-plus::after{transform:rotate(0)}
.why p{margin:0;padding:0 18px 18px 66px;color:var(--muted);animation:fade-in .25s var(--ease)}
.cmp-table{overflow:auto}.cmp-table table{width:100%;border-collapse:collapse}
.cmp-table th,.cmp-table td{padding:12px 16px;border-bottom:1px solid var(--line);text-align:center}
.cmp-table td:first-child,.cmp-table th:first-child{text-align:left}
.cmp-table svg{width:18px;height:18px;color:var(--ok)}.cmp-table .p{background:var(--gold-soft)}.cmp-table th.p{color:var(--gold)}.cmp-table .no{color:var(--dim)}

/* ---------- Herramientas PRO ---------- */
.lag-timeline{display:flex;gap:2px;height:26px;margin:6px 0 14px}
.lag-timeline i{flex:1;border-radius:2px;background:var(--line)}.lag-timeline i.o{background:var(--ok);opacity:.55}.lag-timeline i.s{background:var(--warn)}.lag-timeline i.l{background:var(--bad)}
.lag-legend{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.lag-legend span::before{content:"";display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px;background:var(--ok)}
.lag-legend .s::before{background:var(--warn)}.lag-legend .l::before{background:var(--bad)}
.cmp-pickers{display:grid;grid-template-columns:1fr 1.4fr 1.4fr;gap:10px;margin-bottom:14px}.cmp-pickers label{display:grid;gap:4px;font-size:.84rem;color:var(--muted)}
.table.cmp .up{color:var(--ok)}.table.cmp .down{color:var(--bad)}.table.cmp .eq{color:var(--dim)}
.rx-arena{position:relative;height:340px;border-radius:18px;border:1px solid var(--line-strong);background:var(--bg-inset);display:grid;place-items:center;text-align:center;cursor:pointer;user-select:none;-webkit-user-select:none;touch-action:manipulation;overflow:hidden;transition:background .08s linear}
.rx-arena.armed{background:#3a0d16}.rx-arena.go{background:#0c5a33}.rx-arena.early{background:#4a3200}.rx-arena.aim{cursor:crosshair}
.rx-msg{display:grid;gap:6px;padding:20px;pointer-events:none}.rx-msg b{font:800 1.6rem/1.1 var(--display)}.rx-msg span{color:var(--muted)}
.rx-target{position:absolute;border-radius:50%;border:3px solid #fff;background:radial-gradient(circle,#ff3fb0 0 28%,#fff 29% 40%,#ff3fb0 41%);cursor:crosshair;padding:0;animation:pop-in .12s var(--ease)}
.report-opts{display:flex;flex-wrap:wrap;gap:8px 16px}
.report{margin-top:16px;background:#fff;color:#14100a;border-radius:14px;padding:30px;font-family:var(--font)}
.report header{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:2px solid #14100a;padding-bottom:12px}
.r-brand{display:flex;align-items:center;gap:8px;font-size:1.1rem}.r-brand i{font-style:normal;color:#9a7200}
.r-mark{width:28px;height:28px;border-radius:8px;background:#14100a;color:#ffe600;display:grid;place-items:center}.r-mark svg{width:16px;height:16px}
.r-meta{font-size:.8rem;color:#555}
.report h1{color:#14100a;margin:20px 0 6px;font-size:1.7rem}.r-lead{color:#555;margin:0 0 16px}
.report h2{color:#14100a;font-size:1.05rem;margin:20px 0 8px}
.report table{width:100%;border-collapse:collapse;font-size:.9rem}.report th,.report td{text-align:left;padding:8px 10px;border-bottom:1px solid #e3e1d6;vertical-align:top}.report thead th{background:#f3f1e7}
.report footer{margin-top:22px;padding-top:10px;border-top:1px solid #e3e1d6;font-size:.75rem;color:#777}
@media print{
  body.printing-report *{visibility:hidden!important}
  body.printing-report .report,body.printing-report .report *{visibility:visible!important}
  body.printing-report .report{position:absolute;left:0;top:0;width:100%;margin:0;border-radius:0;padding:12mm}
  body.printing-report .bg-fx,body.printing-report .toast-stack{display:none!important}
}

/* ---------- Ajustes ---------- */
.side-card h3 svg,.hint svg,.badge svg{width:15px;height:15px;vertical-align:-2px}
.side-card h3{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
:root[data-theme="light"] .nav .nav-pro,:root[data-theme="light"] .fo-prev,:root[data-theme="light"] .dc-fonts,:root[data-theme="light"] .chip-pro,:root[data-theme="light"] .lock-cta span,:root[data-theme="light"] .lock-ov span:last-child{color:#8a6500}
:root[data-theme="light"] .lock-ov{background:rgba(250,249,244,.82)}
:root[data-theme="light"] .tool-card.is-pro .ic,:root[data-theme="light"] .why-ic{color:#9a7200}

/* ---------- Responsive ---------- */
@media (max-width:1500px){.top-actions .search{display:none}}
@media (max-width:960px){
  .cat-tiles{grid-template-columns:1fr}.pro-demos{grid-template-columns:1fr 1fr}.plans{grid-template-columns:1fr;max-width:420px;margin:0 auto 14px}
  .cmp-pickers{grid-template-columns:1fr}.replies .feed-item{margin-left:12px}
}
@media (max-width:620px){
  .pro-demos{grid-template-columns:1fr}.forum-search{flex-wrap:wrap}.forum-search select{flex:1;max-width:none}
  .composer{grid-template-columns:1fr}.composer>.avatar{display:none}.composer.locked{grid-template-columns:1fr}
  .font-grid{grid-template-columns:1fr 1fr}.ann-head{flex-wrap:wrap}.ann-head>.btn,.ann-head>a{margin-left:0}
  .toast-stack{right:8px;left:8px;bottom:8px;width:auto}
  .why p{padding-left:18px}.rx-arena{height:300px}
}
@media (max-width:620px){
  .userchip{padding:3px}.userchip .uname{display:none}
  .top-actions{gap:6px}.top-actions .btn-sm{padding-inline:10px}
}

/* ---------- Perfil v2: ficha + ajustes a la izquierda, actividad a la derecha ---------- */
.profile-grid{display:grid;grid-template-columns:minmax(300px,360px) minmax(0,1fr);gap:24px;align-items:start;padding:28px 0 8px}
.profile-left{display:grid;gap:16px;min-width:0}
.profile-card{padding:26px 22px 22px;text-align:center;display:grid;justify-items:center;gap:8px}
.profile-card.is-pro{border-color:var(--gold-line);background:linear-gradient(180deg,rgba(255,212,0,.07),transparent 55%),var(--bg-card)}
.profile-card.is-pro .avatar.xl{margin-top:20px}
.profile-card h1{margin:6px 0 0;font-size:1.6rem;line-height:1.2;word-break:break-word}
.profile-card .uname{font-weight:800;justify-content:center}
.profile-card .ph-meta{justify-content:center;margin:0}
.profile-card .ph-bio{margin:4px 0 0;text-align:center;font-size:.94rem}
.pc-stats{display:grid;grid-template-columns:repeat(3,1fr);width:100%;margin:8px 0 6px;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.pc-stats div{padding:10px 6px;display:grid;gap:2px}.pc-stats div+div{border-left:1px solid var(--line)}
.pc-stats b{font:700 .95rem var(--mono)}.pc-stats span{font-size:.72rem;color:var(--dim)}
.settings{padding:8px}
.set-title{display:flex;align-items:center;gap:8px;font-size:.78rem;font:600 .74rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin:10px 12px 8px}
.set-title svg{width:15px;height:15px}
.set-grp{border-radius:12px;transition:background .2s}
.set-grp+.set-grp{margin-top:2px}
.set-grp[open]{background:var(--bg-raised)}
.set-grp summary{display:flex;align-items:center;gap:10px;padding:11px 12px;cursor:pointer;list-style:none;font-weight:600;font-size:.94rem;border-radius:12px}
.set-grp summary::-webkit-details-marker{display:none}
.set-grp summary:hover{background:var(--bg-hover)}
.set-grp .why-plus{margin-left:auto}.set-grp[open] .why-plus::after{transform:rotate(0)}
.sg-ic{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:var(--bg-inset);border:1px solid var(--line);color:var(--acc-text);flex:none}
.sg-ic svg{width:15px;height:15px}
.sg-body{padding:6px 12px 14px;animation:fade-in .22s var(--ease)}
.rig-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.rig-fields .field{margin-bottom:10px}
.set-logout{padding:8px 12px 6px}
.profile-right{display:grid;gap:22px;min-width:0}
.profile-right h2{font-size:1.15rem;margin:0 0 10px}
.rig-card h2{margin-bottom:12px}
.rig-chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}
.rig-chips div{padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--bg-inset);display:grid;gap:2px;min-width:0}
.rig-chips span{font:600 .66rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.rig-chips b{font-weight:600;font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:900px){.profile-grid{grid-template-columns:1fr}.profile-left{position:static;max-height:none;overflow:visible}}

/* ---------- Licencia PRO ---------- */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.lic-form{display:flex;gap:8px;flex-wrap:wrap}
.lic-input{flex:1 1 220px;min-width:0;font:600 .95rem var(--mono)!important;letter-spacing:.06em;text-transform:uppercase}
.lic-cur{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center;padding:12px 14px;border:1px solid var(--gold-line);border-radius:12px;background:var(--gold-soft);margin-bottom:12px}
.lic-cur.expired{border-color:rgba(245,165,36,.4);background:var(--warn-soft)}
.lic-cur .hint{grid-column:1/-1;margin:0}
.lic-k{font:600 .92rem var(--mono);letter-spacing:.05em;color:var(--text)}
.lic-card{padding:22px}
.lic-k{white-space:nowrap}

/* News */
.news-filter{margin:6px 0 20px}
.news-list{display:grid;gap:14px;padding-bottom:56px}
.news-item{position:relative;border:1px solid var(--line);border-radius:20px;padding:20px 22px;background:var(--bg-card)}
.news-item::before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:3px;border-radius:0 3px 3px 0;background:var(--n-c)}
.news-item.vt{--n-c:var(--acc);background:linear-gradient(135deg,rgba(255,230,0,.07),transparent 55%),var(--bg-card)}
.news-item.vc{--n-c:#7b5cff;background:linear-gradient(135deg,rgba(123,92,255,.09),transparent 55%),var(--bg-card)}
.news-item.latest{border-color:color-mix(in srgb,var(--n-c) 45%,transparent)}
.news-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.news-top time{margin-left:auto;color:var(--dim);font-size:.86rem}
.news-src{display:inline-flex;align-items:center;gap:7px;font-weight:700;font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;color:color-mix(in srgb,var(--n-c) 55%,var(--text))}
.news-src i{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;background:color-mix(in srgb,var(--n-c) 16%,transparent)}
.news-src svg{width:14px;height:14px}
.news-ver{font:700 clamp(1.6rem,1.2rem + 1.6vw,2.2rem)/1.1 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:-.02em;margin:2px 0 8px}
.news-title{font-size:1.25rem;margin:2px 0 6px}
.news-notes{color:var(--muted)}.news-notes ul{margin:6px 0 4px;padding-left:20px}.news-notes li{margin:3px 0}.news-notes p{margin:5px 0}
.news-item .btn{margin-top:12px}
@media (max-width:600px){.news-top time{margin-left:0;width:100%}.news-item{padding:18px}}

.toast.news{border-color:var(--acc-line)}.toast.news.vc{border-color:rgba(123,92,255,.5)}.toast.news.vc .t-ic{background:#7b5cff;color:#fff}.toast.news.vc .t-bar{background:#7b5cff}
.toast.news:hover{transform:translateY(-2px)}
