:root{
  --bg:#ffffff;--bg-soft:#f6f8fb;--bg-code:#0f172a;--fg:#0f172a;--fg-muted:#556070;--border:#e3e8ef;
  --brand:#2563eb;--brand-fg:#ffffff;--brand-soft:#e8f0ff;--link:#1d4ed8;
  --note:#2563eb;--tip:#059669;--warn:#d97706;--plan:#7c3aed;--soon:#64748b;
  --shadow:0 1px 2px rgba(15,23,42,.06),0 8px 24px rgba(15,23,42,.06);
  --sidebar-w:272px;--toc-w:220px;--top-h:56px;--radius:10px;
  --font:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
  color-scheme:light;
}
:root[data-theme="dark"]{
  --bg:#0b1220;--bg-soft:#111a2c;--bg-code:#060b16;--fg:#e6ebf4;--fg-muted:#9aa6bb;--border:#1f2b42;
  --brand:#5b9bff;--brand-fg:#06101f;--brand-soft:#14233f;--link:#7db0ff;
  --note:#5b9bff;--tip:#34d399;--warn:#fbbf24;--plan:#a78bfa;--soon:#94a3b8;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.35);color-scheme:dark;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#0b1220;--bg-soft:#111a2c;--bg-code:#060b16;--fg:#e6ebf4;--fg-muted:#9aa6bb;--border:#1f2b42;
    --brand:#5b9bff;--brand-fg:#06101f;--brand-soft:#14233f;--link:#7db0ff;
    --note:#5b9bff;--tip:#34d399;--warn:#fbbf24;--plan:#a78bfa;--soon:#94a3b8;
    --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.35);color-scheme:dark;
  }
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--top-h) + 16px)}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.65 var(--font);-webkit-font-smoothing:antialiased}
a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}
.skip{position:absolute;left:-999px;top:0;background:var(--brand);color:var(--brand-fg);padding:8px 12px;z-index:100}.skip:focus{left:8px;top:8px}
:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}

/* topbar */
.topbar{position:sticky;top:0;z-index:40;height:var(--top-h);display:flex;align-items:center;gap:12px;padding:0 16px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}
.brand{display:flex;align-items:baseline;gap:10px;color:var(--fg);text-decoration:none!important;white-space:nowrap}
.logo{font-weight:800;font-size:20px;letter-spacing:-.02em}.logo b{color:var(--brand)}
.site-name{color:var(--fg-muted);font-size:14px;padding-left:10px;border-left:1px solid var(--border)}
.top-links{margin-left:auto;display:flex;gap:16px;font-size:14px}.top-links a{color:var(--fg-muted)}.top-links a:hover{color:var(--fg);text-decoration:none}
.search-btn{display:flex;align-items:center;gap:8px;min-width:200px;height:36px;padding:0 10px;background:var(--bg-soft);border:1px solid var(--border);border-radius:8px;color:var(--fg-muted);font:inherit;font-size:14px;cursor:pointer}
.search-btn:hover{border-color:var(--brand)}
.search-btn span{flex:1;text-align:left}
kbd{font:12px var(--mono);padding:1px 6px;border:1px solid var(--border);border-radius:5px;background:var(--bg);color:var(--fg-muted)}
.icon-btn{display:grid;place-items:center;width:36px;height:36px;border:1px solid transparent;background:none;border-radius:8px;color:var(--fg-muted);cursor:pointer}
.icon-btn:hover{background:var(--bg-soft);color:var(--fg)}
.menu-btn{display:none}
.i-moon{display:none}
:root[data-theme="dark"] .i-sun{display:none}:root[data-theme="dark"] .i-moon{display:block}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .i-sun{display:none}:root:not([data-theme="light"]) .i-moon{display:block}}

/* shell */
.shell{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);max-width:1500px;margin:0 auto}
.sidebar{position:sticky;top:var(--top-h);height:calc(100vh - var(--top-h));overflow:auto;padding:20px 12px 40px 16px;border-right:1px solid var(--border);font-size:14.5px}
.nav-group{margin-bottom:22px}
.nav-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-muted);padding:0 10px 6px}
.sidebar ul{list-style:none;margin:0;padding:0}
.sidebar a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;border-radius:7px;color:var(--fg);text-decoration:none}
.sidebar a:hover{background:var(--bg-soft)}
.sidebar a.active{background:var(--brand-soft);color:var(--brand);font-weight:600}
.chip{font-size:10.5px;font-weight:600;padding:1px 7px;border-radius:99px;background:color-mix(in srgb,var(--plan) 14%,transparent);color:var(--plan);white-space:nowrap}
.chip-soon{background:color-mix(in srgb,var(--soon) 16%,transparent);color:var(--soon)}
.scrim{display:none}

.main{display:grid;grid-template-columns:minmax(0,1fr) var(--toc-w);gap:0 40px;padding:32px 40px 0;align-items:start;min-width:0}
.main .doc{grid-column:1;min-width:0;max-width:820px}
.main .toc{grid-column:2;grid-row:1;position:sticky;top:calc(var(--top-h) + 24px);font-size:13.5px;max-height:calc(100vh - var(--top-h) - 48px);overflow:auto}
.main .foot{grid-column:1 / -1}
[data-layout="api"] .main{grid-template-columns:minmax(0,1fr);padding-right:32px}
[data-layout="api"] .main .doc{max-width:1120px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);column-gap:40px;align-items:start}
[data-layout="api"] .doc>*{grid-column:1}
[data-layout="api"] .doc>.aside-right{grid-column:2;grid-row:span 5;align-self:start}
[data-layout="api"] .doc>h1,[data-layout="api"] .doc>.eyebrow,[data-layout="api"] .doc>.pager,[data-layout="api"] .doc>.updated{grid-column:1 / -1}
.toc-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-muted);margin-bottom:8px}
.toc ul{list-style:none;margin:0;padding:0;border-left:1px solid var(--border)}
.toc a{display:block;padding:3px 0 3px 12px;color:var(--fg-muted);margin-left:-1px;border-left:2px solid transparent}
.toc li.l3 a{padding-left:24px}.toc a:hover{color:var(--fg);text-decoration:none}
.toc a.on{color:var(--brand);border-left-color:var(--brand)}

/* conteudo */
.eyebrow{font-size:13px;font-weight:600;color:var(--brand);margin-bottom:6px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.doc h1{font-size:2.1rem;line-height:1.2;letter-spacing:-.02em;margin:.1em 0 .5em}
.doc h2{font-size:1.45rem;line-height:1.3;margin:2em 0 .6em;padding-top:.4em;letter-spacing:-.01em;border-top:1px solid var(--border)}
.doc h3{font-size:1.1rem;margin:1.6em 0 .4em}
.doc h4{font-size:1rem;margin:1.4em 0 .3em}
.anchor{margin-left:.4em;color:var(--fg-muted);opacity:0;font-weight:400;text-decoration:none!important}
h2:hover .anchor,h3:hover .anchor{opacity:.7}
.doc p,.doc li{max-width:72ch}
.doc ul,.doc ol{padding-left:1.4em}.doc li{margin:.25em 0}
.doc code{font:.88em var(--mono);background:var(--bg-soft);border:1px solid var(--border);border-radius:5px;padding:.1em .38em}
.doc hr{border:0;border-top:1px solid var(--border);margin:2em 0}
.doc blockquote{margin:1em 0;padding:.2em 1em;border-left:3px solid var(--border);color:var(--fg-muted)}
.badge{font-size:11.5px;font-weight:600;padding:2px 9px;border-radius:99px}
.badge-plan{background:color-mix(in srgb,var(--plan) 14%,transparent);color:var(--plan)}
.badge-soon{background:color-mix(in srgb,var(--soon) 18%,transparent);color:var(--soon)}
.table-wrap{overflow-x:auto;margin:1em 0;border:1px solid var(--border);border-radius:var(--radius)}
table{border-collapse:collapse;width:100%;font-size:14.5px}
th,td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--border);vertical-align:top}
th{background:var(--bg-soft);font-weight:600;white-space:nowrap}tr:last-child td{border-bottom:0}
.callout{margin:1.2em 0;padding:12px 16px;border:1px solid color-mix(in srgb,var(--c) 35%,var(--border));border-left:4px solid var(--c);border-radius:var(--radius);background:color-mix(in srgb,var(--c) 7%,var(--bg));--c:var(--note)}
.callout.tip{--c:var(--tip)}.callout.warn{--c:var(--warn)}.callout.plan{--c:var(--plan)}.callout.soon{--c:var(--soon)}
.callout-title{font-weight:700;font-size:13px;color:var(--c);text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}
.callout p{margin:.3em 0}
.code{margin:1.1em 0;border-radius:var(--radius);overflow:hidden;background:var(--bg-code);color:#dbe4f3;border:1px solid #1b2740}
.code-head{display:flex;justify-content:space-between;align-items:center;padding:6px 12px;font:12px var(--mono);color:#8fa0bd;border-bottom:1px solid #1b2740}
.copy{font:12px var(--font);background:none;border:1px solid #2a3a58;color:#b7c4dd;border-radius:6px;padding:2px 8px;cursor:pointer}.copy:hover{background:#16213a}
.code pre{margin:0;padding:14px 16px;overflow-x:auto;font:13px/1.6 var(--mono)}
.code code{background:none;border:0;padding:0;color:inherit;font:inherit}
.aside-right{position:sticky;top:calc(var(--top-h) + 20px)}
.aside-right>*:first-child{margin-top:0}
.aside-right .callout{font-size:14px}
.pager{display:flex;justify-content:space-between;gap:12px;margin:3em 0 1em;flex-wrap:wrap}
.pager a{display:block;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius);min-width:220px;color:var(--fg);text-decoration:none}
.pager a:hover{border-color:var(--brand)}.pager span{display:block;font-size:12px;color:var(--fg-muted)}.pager .next{text-align:right;margin-left:auto}
.updated{font-size:13px;color:var(--fg-muted);margin-top:2.5em}
.foot{border-top:1px solid var(--border);margin-top:40px;padding:24px 0 40px;color:var(--fg-muted);font-size:13.5px}

/* home (ajuda) */
.home{grid-template-columns:minmax(0,1fr)}.home .doc{max-width:1000px;margin:0 auto}
.hero{padding:36px 0 16px;text-align:center}
.hero h1{font-size:2.4rem;margin:0 0 .3em}.hero p{color:var(--fg-muted);font-size:1.1rem;margin:0 auto 1.4em;max-width:56ch}
.hero-search{margin:0 auto;width:min(560px,100%);height:48px;font-size:16px;border-radius:12px;box-shadow:var(--shadow)}
.card-group h2{border:0;margin:1.8em 0 .6em;padding:0;font-size:1.15rem}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.card{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--fg);text-decoration:none;position:relative}
.card:hover{border-color:var(--brand);box-shadow:var(--shadow);text-decoration:none}
.card strong{font-size:15.5px}.card span:not(.chip){font-size:13.5px;color:var(--fg-muted);line-height:1.45}
.card .chip{position:absolute;top:12px;right:12px}
.support{margin:2.5em 0 0;padding:20px 24px;background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius)}
.support h2{border:0;margin:0 0 .3em;padding:0;font-size:1.15rem}

/* busca */
.search-modal{position:fixed;inset:0;z-index:80;background:rgba(5,10,20,.55);display:flex;justify-content:center;align-items:flex-start;padding:10vh 16px}
.search-modal[hidden]{display:none}
.search-box{width:min(640px,100%);background:var(--bg);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);overflow:hidden}
.search-input{width:100%;padding:16px 18px;font:inherit;font-size:17px;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--fg);outline:none}
.search-results{list-style:none;margin:0;padding:6px;max-height:50vh;overflow:auto}
.search-results a{display:block;padding:10px 12px;border-radius:8px;color:var(--fg);text-decoration:none}
.search-results li[aria-selected="true"] a,.search-results a:hover{background:var(--brand-soft)}
.search-results .r-g{font-size:12px;color:var(--fg-muted)}.search-results .r-t{font-weight:600}.search-results .r-s{font-size:13px;color:var(--fg-muted)}
.search-results mark{background:color-mix(in srgb,var(--warn) 35%,transparent);color:inherit;border-radius:3px}
.search-empty{padding:18px;color:var(--fg-muted)}
.search-hint{padding:8px 14px;font-size:12px;color:var(--fg-muted);border-top:1px solid var(--border)}

/* responsivo */
@media (max-width:1180px){.main{grid-template-columns:minmax(0,1fr)}.main .toc{display:none}}
@media (max-width:900px){
  .menu-btn{display:grid}.top-links{display:none}.site-name{display:none}
  .search-btn:not(.hero-search){min-width:0;margin-left:auto;width:36px;justify-content:center;padding:0}.search-btn:not(.hero-search) span,.search-btn:not(.hero-search) kbd{display:none}
  .shell{display:block}
  .sidebar{position:fixed;z-index:60;top:var(--top-h);left:0;bottom:0;width:min(86vw,320px);height:auto;background:var(--bg);transform:translateX(-102%);transition:transform .2s ease;box-shadow:var(--shadow)}
  body.nav-open .sidebar{transform:none}
  body.nav-open .scrim{display:block;position:fixed;inset:var(--top-h) 0 0 0;background:rgba(5,10,20,.5);z-index:50}
  .main{padding:20px 16px 0}
  .doc h1{font-size:1.7rem}
  [data-layout="api"] .main .doc{display:block}
  .aside-right{position:static}
  .hero h1{font-size:1.8rem}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.sidebar{transition:none}}
@media print{.topbar,.sidebar,.toc,.pager,.search-modal{display:none}.shell{display:block}.main{padding:0}}
