@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700&family=Alegreya+Sans:wght@400;500;700;800&family=Alegreya+Sans+SC:wght@500;700&family=JetBrains+Mono:wght@400;500&display=swap');

:root{--bg:#0b0e14;--surface:#141924;--surface-2:#1d2331;--line:#2b2f3a;--text:#f0e7d3;--text-dim:#cfc3ac;--text-faint:#9c937f;--accent:#e9c46a;--accent-dim:#c9a65a;--accent-ink:#1b1508;--blue:#8fa8e0;--cnt-navy:#080d17;--cnt-gold-grad:linear-gradient(100deg,#fff1c2 0%,#c9a65a 35%,#e9c46a 65%,#b07f2c 100%)}
@media (prefers-color-scheme:light){:root{--bg:#ecdcb4;--surface:#fbf3df;--surface-2:#f1e4c2;--line:#c9b285;--text:#24170c;--text-dim:#3a2412;--text-faint:#6b4524;--accent:#8e5f1e;--accent-dim:#a77d43;--accent-ink:#fff8e6;--blue:#1d2a4a;--cnt-navy:#e3cd9b}}
*{box-sizing:border-box}
body{background:var(--bg);color:var(--text);font-family:'Alegreya Sans',system-ui,sans-serif;margin:0;line-height:1.6}
h1,h2,h3{font-family:'Cinzel',Georgia,serif;font-weight:700;letter-spacing:.03em;text-wrap:balance;margin:0}
a{color:var(--blue)}
.wrap{max-width:min(1100px,96vw);margin:0 auto;padding:0 clamp(16px,2.5vw,40px) 80px}
.hero{background:radial-gradient(ellipse 900px 400px at 15% -10%,color-mix(in srgb,var(--accent) 18%,transparent),transparent),linear-gradient(180deg,var(--surface),var(--bg) 85%);border-bottom:1px solid var(--line);padding:56px 28px 40px}
.hero-inner{max-width:min(1100px,96vw);margin:0 auto}
.hero-top{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.hero-logo{width:76px;height:76px;object-fit:contain;border-radius:10px;background:var(--surface-2);border:1px solid var(--line);padding:6px;flex-shrink:0}
@media (max-width:520px){.hero-logo{width:56px;height:56px}}
.eyebrow{font-family:'Alegreya Sans SC',system-ui,sans-serif;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:8px;height:8px;background:var(--accent);display:inline-block;border-radius:1px}
.hero h1{font-size:clamp(48px,8vw,92px);line-height:.92;margin-top:8px}
.hero h1 span{color:var(--accent)}
.org{margin-left:auto;display:flex;flex-direction:column;gap:2px;text-decoration:none;font-family:'Alegreya Sans SC',system-ui,sans-serif;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint)}
.org b{color:var(--accent);font-weight:500;font-size:13px}
.lede{color:var(--text-dim);font-size:17px;max-width:60ch;margin:14px 0 0}
.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:32px;border-radius:6px;overflow:hidden}
.stat{background:var(--surface);padding:16px 18px}
.stat .n{font-family:'Cinzel',Georgia,serif;font-size:38px;color:var(--accent);line-height:1}
.stat .l{font-size:11.5px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.08em;margin-top:4px}
nav.tabs{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.tabs-inner{max-width:min(1100px,96vw);margin:0 auto;padding:0 clamp(16px,2.5vw,40px);display:flex;gap:4px;overflow-x:auto;align-items:center}
.tab-btn{font-family:'Alegreya Sans SC',system-ui,sans-serif;font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint);text-decoration:none;padding:16px 14px 14px;border-bottom:2px solid transparent;white-space:nowrap;flex:1 1 0;min-width:fit-content;text-align:center}
.tab-btn:hover{color:var(--text)}
.tab-btn.active{color:var(--accent);border-bottom-color:var(--accent)}
.tab-btn:focus-visible,.tab-login:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.tab-login{font-family:'Alegreya Sans SC',system-ui,sans-serif;font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;background:var(--accent);color:var(--accent-ink);padding:8px 18px;border-radius:6px;font-weight:700;white-space:nowrap;margin-left:8px}
.tab-login:hover{filter:brightness(1.1)}
main{padding-top:44px}
h2.section-title{font-size:34px;display:flex;align-items:baseline;gap:10px;margin-bottom:6px}
h2.section-title .num{color:var(--accent-dim);font-size:22px}
main h2{font-size:26px;color:var(--accent);margin:40px 0 6px;padding-top:24px;border-top:1px solid var(--line)}
main h2.section-title{font-size:34px;color:var(--text);margin:0 0 6px;padding:0;border:0}
main p,main li{color:var(--text-dim);font-size:15px}
main strong{color:var(--text)}
.muted{color:var(--text-faint);font-size:13px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:22px 24px}
.card h3{font-size:20px;color:var(--accent);margin-bottom:8px}
.card p{margin:0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:12px}
.aviso{border-color:var(--accent-dim);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 14%,var(--surface)),var(--surface));margin:16px 0}
footer{text-align:center;color:var(--text-faint);font-size:12.5px;padding:40px 16px 40px;font-family:'Alegreya Sans SC',system-ui,sans-serif}
footer a{color:var(--accent)}

/* tema CNT (igual ao tema-cnt.css do campeonato) */
.hero{background:radial-gradient(ellipse 900px 420px at 12% -15%,color-mix(in srgb,#e9c46a 16%,transparent),transparent),radial-gradient(ellipse 700px 380px at 95% 110%,color-mix(in srgb,#080d17 70%,transparent),transparent),linear-gradient(180deg,var(--surface),var(--bg) 88%);padding:22px 28px 18px}
.hero h1{font-size:clamp(36px,5.5vw,60px);margin-top:4px}
.hero h1 span{background:var(--cnt-gold-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-logo{width:64px;height:64px;object-fit:contain;padding:6px;border-radius:14px;background:linear-gradient(160deg,var(--cnt-navy),var(--surface));border:1.5px solid var(--accent-dim);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent),0 6px 20px rgba(0,0,0,.35)}
.eyebrow{font-size:11px}
.lede{font-size:15px;margin-top:8px}
.stat-row{margin-top:18px}
.stat .n{font-size:32px}
.org{align-items:center;gap:4px}
.org span{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-faint)}
.org img{height:38px;width:auto;filter:drop-shadow(0 4px 14px rgba(0,0,0,.35))}
@media (max-width:640px){.org{display:none}}
.tab-btn.active{border-bottom-width:3px}
.powered{display:inline-flex;align-items:center;gap:10px;margin-top:18px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--surface-2) 70%,transparent);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);text-decoration:none}
.powered img{height:22px;width:auto;display:block}
.powered:hover{border-color:var(--accent);color:var(--text)}

/* mobile: abas quebram em linhas em vez de cortar/rolar */
@media (max-width:520px){nav.tabs{position:static}.tabs-inner{flex-wrap:wrap;gap:0 4px}.tab-btn{flex:1 1 auto;padding:12px 10px 10px;font-size:11.5px}.tab-login{flex:1 1 100%;margin:6px 0 8px;text-align:center}}

/* documentação da API */
.doc h3{font-family:'JetBrains Mono',monospace;font-size:14.5px;font-weight:500;color:var(--text);margin:26px 0 8px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;overflow-wrap:anywhere}
.doc code{font-family:'JetBrains Mono',monospace;font-size:13px;background:var(--surface-2);border:1px solid var(--line);border-radius:4px;padding:1px 5px;overflow-wrap:anywhere}
.doc pre{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:14px 16px;overflow-x:auto;margin:8px 0}
.doc pre code{background:none;border:0;padding:0;font-size:12.5px;line-height:1.55;color:var(--text);overflow-wrap:normal}
.doc .tabela{overflow-x:auto;margin:12px 0}
.doc table{border-collapse:collapse;width:100%;font-size:14px}
.doc th,.doc td{border-bottom:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top;color:var(--text-dim)}
.doc th{font-family:'Alegreya Sans SC',system-ui,sans-serif;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}
.doc .toc{display:flex;flex-wrap:wrap;gap:6px 18px;margin:18px 0 0;font-size:14px}
.doc .toc a{text-decoration:none}
.doc h2[id]{scroll-margin-top:64px}
.m{font-size:11px;font-weight:700;letter-spacing:.06em;padding:2px 7px;border-radius:4px;color:var(--accent-ink);background:var(--accent)}
.m.get{background:#4cc38a;color:#06210f}.m.post{background:var(--accent)}.m.put,.m.patch{background:var(--blue);color:#031a28}.m.del{background:#ff8a80;color:#2a0806}
