:root { color-scheme: light; --bg:#f7f8fc; --bg2:#eef0fa; --fg:#0e1530; --mut:#5c6783; --card:#ffffff; --card2:#f4f6fd; --bd:#e3e7f3; --ok:#12a150; --okbg:#e6f8ee; --no:#d92d20; --nobg:#fdeceb; --acc:#4f46e5; --acc2:#06b6d4; --acc3:#a855f7; --sh:0 1px 2px rgba(14,21,48,.04),0 10px 30px rgba(14,21,48,.07); --shh:0 2px 4px rgba(79,70,229,.08),0 18px 40px rgba(79,70,229,.16); --r:18px; --glass:rgba(247,248,252,.78); }
:root[data-tema="dark"] { color-scheme: dark; --bg:#090d1c; --bg2:#0d1328; --fg:#eaeefb; --mut:#9ba6c4; --card:#121a33; --card2:#172041; --bd:#242f52; --ok:#3ddc84; --no:#ff7a70; --okbg:#0d3a24; --nobg:#4a1a18; --acc:#8b86ff; --acc2:#22d3ee; --acc3:#c084fc; --sh:0 1px 2px rgba(0,0,0,.35),0 10px 30px rgba(0,0,0,.3); --shh:0 2px 4px rgba(0,0,0,.4),0 18px 44px rgba(139,134,255,.2); --glass:rgba(9,13,28,.78); }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; font:16px/1.6 Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; background:var(--bg); color:var(--fg); -webkit-font-smoothing:antialiased; font-feature-settings:"cv11","ss01"; background-image:radial-gradient(900px 420px at 88% -80px,color-mix(in srgb,var(--acc) 16%,transparent),transparent 70%),radial-gradient(700px 380px at -10% 12%,color-mix(in srgb,var(--acc2) 13%,transparent),transparent 70%); background-repeat:no-repeat; }
.w { max-width: 1000px; margin: 0 auto; padding: 0 20px; }
header { position:sticky; top:0; z-index:5; backdrop-filter:saturate(1.6) blur(14px); background:var(--glass); border-bottom:1px solid var(--bd); }
header .w { display:flex; align-items:center; justify-content:space-between; gap:12px; height:62px; }
.logo { font-weight:800; font-size:21px; letter-spacing:-.5px; color:var(--fg); text-decoration:none; } .logo span { background:linear-gradient(90deg,var(--acc),var(--acc2)); -webkit-background-clip:text; background-clip:text; color:transparent; }
nav { display:flex; gap:2px; } nav a { white-space:nowrap; color:var(--mut); text-decoration:none; font-weight:600; font-size:14px; padding:8px 13px; border-radius:11px; transition:background .15s,color .15s; } nav a:hover { color:var(--fg); background:var(--card2); } nav a.on { color:var(--acc); background:color-mix(in srgb,var(--acc) 12%,transparent); }
.hero { padding:54px 0 22px; } .hero .sel { display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:600; color:var(--acc); background:color-mix(in srgb,var(--acc) 11%,transparent); border:1px solid color-mix(in srgb,var(--acc) 22%,transparent); padding:6px 12px; border-radius:99px; margin-bottom:18px; }
.hero h1 { font-size:clamp(32px,6.4vw,58px); line-height:1.04; letter-spacing:-1.8px; margin:0 0 16px; font-weight:800; }
.hero h1 em { font-style:normal; background:linear-gradient(95deg,var(--acc),var(--acc2) 60%,var(--acc3)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero p { font-size:18px; color:var(--mut); max-width:660px; margin:0 0 26px; }
.stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:12px; margin:8px 0 6px; }
.stat { background:var(--card); border:1px solid var(--bd); border-radius:var(--r); padding:16px 18px; box-shadow:var(--sh); } .stat b { display:block; font-size:32px; line-height:1.1; letter-spacing:-1px; font-variant-numeric:tabular-nums; } .stat span { color:var(--mut); font-size:13px; display:block; line-height:1.35; }
.fine { color:var(--mut); font-size:13px; margin:8px 0 0; }
h2.sec { font-size:12px; text-transform:uppercase; letter-spacing:1.1px; color:var(--mut); margin:34px 0 14px; font-weight:700; display:flex; align-items:center; gap:10px; } h2.sec::after { content:""; flex:1; height:1px; background:var(--bd); }
.segs { display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:12px; }
.seg { display:flex; gap:14px; align-items:center; text-align:left; background:var(--card); border:1px solid var(--bd); border-radius:var(--r); padding:14px 16px; cursor:pointer; box-shadow:var(--sh); transition:transform .14s,border-color .14s,box-shadow .14s; color:var(--fg); font:inherit; }
.seg:hover, .seg.on { transform:translateY(-2px); border-color:color-mix(in srgb,var(--acc) 55%,var(--bd)); box-shadow:var(--shh); }
.seg .ic { flex:none; width:46px; height:46px; border-radius:14px; display:grid; place-items:center; font-size:22px; background:linear-gradient(135deg,color-mix(in srgb,var(--acc) 22%,var(--card)),color-mix(in srgb,var(--acc2) 22%,var(--card))); border:1px solid color-mix(in srgb,var(--acc) 22%,var(--bd)); }
.seg b { display:block; font-size:15px; letter-spacing:-.2px; line-height:1.25; } .seg .n { display:block; font-size:12.5px; color:var(--mut); font-variant-numeric:tabular-nums; margin-top:2px; }
.exames { display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:12px; }
.ex { text-align:left; background:var(--card); border:1px solid var(--bd); border-radius:var(--r); padding:16px; cursor:pointer; box-shadow:var(--sh); transition:transform .14s,border-color .14s,box-shadow .14s; color:var(--fg); font:inherit; }
.ex:hover, .ex.on { transform:translateY(-2px); border-color:color-mix(in srgb,var(--acc) 55%,var(--bd)); box-shadow:var(--shh); } .ex b { display:block; font-size:16px; letter-spacing:-.3px; line-height:1.25; } .ex .n { font-size:26px; font-weight:800; letter-spacing:-.8px; margin-top:6px; display:block; font-variant-numeric:tabular-nums; } .ex .t { font-size:12px; color:var(--mut); }
.tag { display:inline-block; font-size:11px; font-weight:700; padding:3px 9px; border-radius:99px; background:color-mix(in srgb,var(--acc) 13%,transparent); color:var(--acc); letter-spacing:.1px; } .tag.g { background:color-mix(in srgb,var(--acc2) 17%,transparent); color:color-mix(in srgb,var(--acc2) 72%,var(--fg)); } .tag.b { background:color-mix(in srgb,var(--acc3) 15%,transparent); color:color-mix(in srgb,var(--acc3) 78%,var(--fg)); }
.card { background:var(--card); border:1px solid var(--bd); border-radius:var(--r); padding:22px; margin:14px 0; box-shadow:var(--sh); }
.row { display:flex; gap:10px; flex-wrap:wrap; align-items:center; }
select, button, input { font:inherit; padding:10px 14px; border-radius:12px; border:1px solid var(--bd); background:var(--card); color:var(--fg); }
select:focus-visible, button:focus-visible, input:focus-visible, a:focus-visible { outline:3px solid color-mix(in srgb,var(--acc) 40%,transparent); outline-offset:2px; }
button { cursor:pointer; font-weight:600; transition:transform .1s,box-shadow .15s,background .15s; } button:active:not(:disabled) { transform:scale(.98); }
button.pri { background:linear-gradient(135deg,var(--acc),#6d5dfc); color:#fff; border-color:transparent; box-shadow:0 8px 20px color-mix(in srgb,var(--acc) 38%,transparent); } button.pri:hover { box-shadow:0 10px 26px color-mix(in srgb,var(--acc) 52%,transparent); } button:disabled { opacity:.6; cursor:default; }
.meta { color:var(--mut); font-size:14px; }
.placar { display:grid; grid-template-columns:repeat(auto-fit,minmax(135px,1fr)); gap:12px; margin:14px 0; } .placar div { background:var(--card); border:1px solid var(--bd); border-radius:14px; padding:11px 15px; font-size:13px; color:var(--mut); box-shadow:var(--sh); } .placar b { display:block; font-size:22px; color:var(--fg); letter-spacing:-.5px; }
.bar { height:6px; background:var(--bd); border-radius:9px; overflow:hidden; margin:2px 0 14px; } .bar i { display:block; height:100%; width:0; background:linear-gradient(90deg,var(--acc),var(--acc2)); transition:width .35s; border-radius:9px; }
.enun { white-space:pre-wrap; overflow-wrap:anywhere; font-size:17.5px; line-height:1.65; } .enun img, .alt img { max-width:100%; height:auto; border-radius:10px; margin:8px 0; display:block; } .katex { font-size:1.06em; } .katex-display { overflow-x:auto; overflow-y:hidden; padding:2px 0; }
.alts { display:grid; gap:10px; margin-top:18px; }
.alt { display:flex; gap:14px; align-items:flex-start; text-align:left; width:100%; padding:14px 16px; border:1.5px solid var(--bd); border-radius:14px; background:var(--card); font-weight:500; transition:border-color .12s,transform .12s,box-shadow .12s; }
.alt:hover:enabled { border-color:var(--acc); transform:translateX(3px); box-shadow:var(--sh); } .alt .l { font-weight:800; min-width:1.7em; height:1.7em; display:grid; place-items:center; border-radius:9px; background:var(--card2); border:1px solid var(--bd); font-size:13px; flex:none; }
.alt.ok { border-color:var(--ok); background:var(--okbg); } .alt.ok .l { background:var(--ok); color:#fff; border-color:transparent; } .alt.no { border-color:var(--no); background:var(--nobg); } .alt.no .l { background:var(--no); color:#fff; border-color:transparent; }
.fb { font-weight:700; margin-top:16px; font-size:17px; } .fb.ok { color:var(--ok); } .fb.no { color:var(--no); }
table { width:100%; border-collapse:collapse; } td, th { padding:11px 8px; border-bottom:1px solid var(--bd); text-align:left; vertical-align:top; } th { font-size:12px; text-transform:uppercase; letter-spacing:.8px; color:var(--mut); font-weight:700; }
code, pre { background:var(--card2); border:1px solid var(--bd); border-radius:9px; font-size:13px; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; } code { padding:1px 6px; word-break:break-all; } pre { padding:14px; overflow:auto; }
footer { color:var(--mut); font-size:13px; padding:30px 0 52px; } a { color:var(--acc); }
.hide { display:none !important; } .btn-share a { display:inline-block; padding:10px 15px; border:1px solid var(--bd); border-radius:12px; text-decoration:none; font-weight:600; background:var(--card); }
.tema { width:40px; height:40px; padding:0; border-radius:12px; font-size:18px; line-height:1; display:grid; place-items:center; flex:none; }
/* painel */
.kpis { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:12px; } .chart { display:flex; align-items:flex-end; gap:6px; height:170px; padding:8px 4px 0; } .chart .c { flex:1; display:flex; flex-direction:column; justify-content:flex-end; align-items:center; height:100%; min-width:0; } .chart .c i { display:block; width:100%; border-radius:8px 8px 3px 3px; background:linear-gradient(180deg,var(--acc),var(--acc2)); min-height:3px; transition:height .4s; } .chart .c small { font-size:10.5px; color:var(--mut); margin-top:6px; white-space:nowrap; } .chart .c em { font-style:normal; font-size:11px; font-weight:700; margin-bottom:4px; font-variant-numeric:tabular-nums; }
.taxa { display:flex; align-items:center; gap:10px; } .taxa .bar { flex:1; margin:0; } .taxa span { min-width:3.2em; text-align:right; font-variant-numeric:tabular-nums; font-weight:700; font-size:13px; }
@media (max-width:560px) { .hero { padding-top:30px; } header .w { gap:6px; height:58px; } .logo { font-size:18px; } nav { gap:0; flex:1; min-width:0; justify-content:flex-end; overflow-x:auto; scrollbar-width:none; } nav::-webkit-scrollbar { display:none; } .logo { flex:none; } nav a { padding:8px 7px; font-size:12.5px; } .tema { width:36px; height:36px; } .enun { font-size:16.5px; } .segs { grid-template-columns:1fr 1fr; } .seg { padding:12px; gap:10px; } .seg .ic { width:38px; height:38px; font-size:18px; } .seg b { font-size:13.5px; } }
@media (prefers-reduced-motion: reduce) { * { transition:none !important; scroll-behavior:auto !important; } }
