/* Base tipográfica e reset leve para a camada visual compartilhada. */
*,
*::before,
*::after { box-sizing: border-box; }

html { font-size: 16px; }

body,
button,
input,
select,
textarea { font-family: var(--ui-font-family); }

body {
    min-height: 100%;
    margin: 0;
    color: var(--portal-text-primary);
    background: var(--portal-bg);
    font-size: var(--ui-font-size);
    line-height: var(--ui-leading-body);
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -2;
    pointer-events: none;
    background:
        radial-gradient(circle at 14% 12%, rgba(45, 212, 191, 0.13), transparent 28%),
        radial-gradient(circle at 86% 18%, rgba(56, 189, 248, 0.11), transparent 28%),
        linear-gradient(135deg, rgba(15, 23, 42, 0.82), rgba(2, 6, 23, 0.94));
    background-image: url('/static/img/logo-kapital-fundo.png');
    background-repeat: no-repeat;
    background-position: center;
    background-size: min(62vw, 42rem);
    opacity: 0.14;
}

html[data-theme="light"] .text-white,
html[data-theme="light"] .text-slate-100,
html[data-theme="light"] .text-slate-200 { color: var(--portal-text-primary) !important; }

html[data-theme="light"] .text-slate-300,
html[data-theme="light"] .text-slate-400,
html[data-theme="light"] .text-slate-500 { color: var(--portal-text-muted) !important; }

html[data-theme="light"] [class*="bg-slate-900"],
html[data-theme="light"] [class*="bg-slate-950"],
html[data-theme="light"] [class*="bg-white/[0.04]"],
html[data-theme="light"] [class*="bg-white/[0.03]"],
html[data-theme="light"] [class*="bg-white/5"] { background: var(--portal-card) !important; }

html[data-theme="light"] [class*="border-white/10"],
html[data-theme="light"] [class*="ring-white/15"] { border-color: var(--portal-border) !important; }

html[data-theme="light"] [class*="shadow-emerald-950"],
html[data-theme="light"] [class*="shadow-2xl"],
html[data-theme="light"] [class*="shadow-xl"] { box-shadow: var(--portal-shadow) !important; }

html[data-theme="light"] .bg-slate-950\/70,
html[data-theme="light"] .bg-slate-950\/50,
html[data-theme="light"] .bg-slate-900\/80,
html[data-theme="light"] .bg-slate-900\/90 { background: var(--portal-surface-strong) !important; }

a {
    color: inherit;
    text-decoration: none;
}

a:hover { color: var(--portal-accent, #14b8a6); }

h1, h2, h3, h4, h5, h6 { line-height: var(--ui-leading-tight); }

button,
a,
input,
select,
textarea { -webkit-tap-highlight-color: transparent; }

button,
[role='button'] { min-height: var(--ui-control-min-height); }

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 2px solid var(--portal-accent, #34d399);
    outline-offset: 2px;
}

img,
svg,
video,
canvas { max-width: 100%; }
