/* plentia — reset y base. Solo variables de tokens.css. */
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
html,body{min-height:100%}
body{background:radial-gradient(900px 500px at 15% -5%,var(--glow),transparent 70%),var(--bg);background-color:var(--bg);color:var(--text);font-family:var(--sans);line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0}
input,select,textarea{appearance:none;-webkit-appearance:none;outline:0;box-shadow:none}
a{color:inherit;text-decoration:none}
img,svg{max-width:100%}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.num{font-variant-numeric:tabular-nums}

/* wordmark: SVG adaptable pegado inline (letras currentColor, punto var(--d-queda)). Tamaño con height. */
.wm{display:inline-flex;align-items:center;line-height:1;color:var(--text)}
.wm svg{height:22px;width:auto;display:block}
.wm.lg svg{height:30px}
.wm.sm svg{height:18px}

/* iconos Lucide con máscara: heredan currentColor */
.app-icon{display:inline-block;flex:none;width:24px;height:24px;background-color:currentColor;
  -webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
