/* pod docs — clean, warm, for creatives. coral→violet house gradient. */
:root{
  --ink:#1a1523; --dim:#6b6377; --faint:#9a92a6; --bg:#fffdfb; --panel:#faf7f4;
  --line:#ece6e0; --coral:#ff9966; --violet:#ab66ff;
  --grad:linear-gradient(90deg,#ff9966,#ab66ff);
  --code-bg:#2b2433; --code-ink:#f4effa; --note:#f4efff; --tip:#effaf2; --warn:#fff4ec;
  --max:46rem;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
     color:var(--ink);background:var(--bg);line-height:1.65;font-size:16.5px}
a{color:#7a3ff2;text-decoration:none}
a:hover{text-decoration:underline}

/* top bar */
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:.9rem;
     padding:.7rem 1.2rem;background:rgba(255,253,251,.92);backdrop-filter:blur(8px);
     border-bottom:1px solid var(--line)}
.brand{font-weight:800;letter-spacing:-.02em;color:var(--ink);font-size:1.05rem}
.brand-pod{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.top-tag{color:var(--faint);font-size:.85rem;font-style:italic}
.burger{display:none;font-size:1.3rem;cursor:pointer;color:var(--dim)}

/* layout */
.wrap{display:flex;max-width:76rem;margin:0 auto}
.side{width:16.5rem;flex-shrink:0;padding:1.6rem 1rem 4rem 1.4rem;
      position:sticky;top:3.1rem;height:calc(100vh - 3.1rem);overflow-y:auto;
      border-right:1px solid var(--line)}
.side .brand{display:none}
.nav-sec{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
         color:var(--faint);margin:1.3rem 0 .35rem}
.side a{display:block;padding:.28rem .6rem;border-radius:.45rem;color:var(--dim);
        font-size:.92rem}
.side a:hover{background:var(--panel);text-decoration:none;color:var(--ink)}
.side a.on{background:linear-gradient(90deg,#ff996622,#ab66ff22);color:var(--ink);font-weight:600}

main{flex:1;min-width:0;padding:2.6rem 3rem 3rem}
main>*{max-width:var(--max)}

/* type */
h1{font-size:2.1rem;font-weight:800;letter-spacing:-.03em;line-height:1.15;margin-bottom:.4rem}
h1+p.lead, .lead{font-size:1.16rem;color:var(--dim);margin-bottom:1.6rem}
h2{font-size:1.4rem;font-weight:750;letter-spacing:-.02em;margin:2.4rem 0 .7rem;
   padding-top:.4rem}
h2::before{content:"";display:block;width:2.2rem;height:3px;border-radius:2px;
   background:var(--grad);margin-bottom:.55rem}
h3{font-size:1.08rem;font-weight:700;margin:1.6rem 0 .45rem}
p{margin:.7rem 0}
ul,ol{margin:.7rem 0 .7rem 1.4rem}
li{margin:.32rem 0}
strong{font-weight:700}
hr{border:none;border-top:1px solid var(--line);margin:2rem 0}

/* code + terminal */
code{font-family:"SF Mono",ui-monospace,Menlo,Consolas,monospace;font-size:.86em;
     background:var(--panel);border:1px solid var(--line);border-radius:.35rem;
     padding:.08em .4em;color:#5b21b6}
pre{background:var(--code-bg);color:var(--code-ink);border-radius:.7rem;
    padding:1rem 1.2rem;overflow-x:auto;margin:.9rem 0;font-size:.87rem;line-height:1.55}
pre code{background:none;border:none;padding:0;color:inherit;font-size:1em}
pre.term::before{content:"— the studio —";display:block;color:#8f85a3;
    font-size:.72rem;letter-spacing:.1em;margin-bottom:.5rem}
pre .you{color:#ffb98a;font-weight:600}
pre .pod{color:#c9b8ff}
pre .dim{color:#8f85a3}

/* callouts */
.callout{border-radius:.7rem;padding:.85rem 1.1rem;margin:1rem 0;font-size:.95rem;
         border:1px solid var(--line)}
.callout.note{background:var(--note)}
.callout.tip{background:var(--tip)}
.callout.warn{background:var(--warn)}
.callout>strong:first-child{display:block;margin-bottom:.15rem}

/* tables */
table{border-collapse:collapse;width:100%;margin:1rem 0;font-size:.92rem;display:block;overflow-x:auto}
th,td{text-align:left;padding:.55rem .8rem;border-bottom:1px solid var(--line);vertical-align:top}
th{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}
tr:hover td{background:var(--panel)}

/* cards (index) */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.9rem;margin:1.2rem 0;max-width:none}
.card{display:block;border:1px solid var(--line);border-radius:.8rem;padding:1rem 1.1rem;
      color:var(--ink);background:#fff}
.card:hover{text-decoration:none;border-color:#d8b9ff;box-shadow:0 2px 14px #ab66ff18}
.card b{display:block;margin-bottom:.2rem}
.card span{color:var(--dim);font-size:.88rem}

/* keyboard keys */
kbd{font-family:inherit;font-size:.82em;border:1px solid var(--line);border-bottom-width:2px;
    border-radius:.35rem;padding:.05em .45em;background:#fff}

/* prev/next + footer */
.pn{display:flex;justify-content:space-between;gap:1rem;margin-top:3rem;
    padding-top:1.2rem;border-top:1px solid var(--line);max-width:var(--max)}
.pn a{font-size:.92rem;color:var(--dim)}
.pn a:hover{color:var(--ink)}
footer{margin-top:2.2rem;color:var(--faint);font-size:.8rem}

/* responsive */
@media (max-width: 880px){
  .burger{display:block}
  .side{position:fixed;left:0;top:3.1rem;background:var(--bg);z-index:15;
        transform:translateX(-100%);transition:transform .18s ease;width:17rem;
        box-shadow:4px 0 24px #0002}
  #menu:checked ~ .wrap .side{transform:none}
  main{padding:1.6rem 1.2rem 3rem}
  .top-tag{display:none}
}

/* ── horizontal section tabs (Claude-docs style) ── */
.tabs{display:flex;gap:.2rem;margin-left:1rem;flex:1;overflow-x:auto}
.tabs a{padding:.35rem .8rem;color:var(--dim);font-size:.9rem;white-space:nowrap;
        border-bottom:2px solid transparent;border-radius:.4rem .4rem 0 0}
.tabs a:hover{color:var(--ink);text-decoration:none;background:var(--panel)}
.tabs a.on{color:var(--ink);font-weight:650;border-bottom-color:transparent;
           background:linear-gradient(90deg,#ff996622,#ab66ff22)}
#theme{background:none;border:1px solid var(--line);border-radius:.5rem;
       font-size:1rem;padding:.15rem .55rem;cursor:pointer;color:var(--dim)}
#theme:hover{color:var(--ink);border-color:var(--faint)}
@media (max-width: 880px){ .tabs{display:none} }

/* ── night mode ── */
html[data-theme="dark"]{
  --ink:#eee7f5; --dim:#a89fb8; --faint:#7d7490; --bg:#141019; --panel:#1e1826;
  --line:#2c2438; --code-bg:#241d2e; --code-ink:#efe8f8;
  --note:#231b33; --tip:#16241b; --warn:#2a2016;
}
html[data-theme="dark"] body{background:var(--bg);color:var(--ink)}
html[data-theme="dark"] .top{background:rgba(20,16,25,.92)}
html[data-theme="dark"] a{color:#c3a2ff}
html[data-theme="dark"] code{color:#d4bcff}
html[data-theme="dark"] .card{background:var(--panel);color:var(--ink)}
html[data-theme="dark"] .card:hover{border-color:#5c3f8f;box-shadow:0 2px 14px #ab66ff22}
html[data-theme="dark"] kbd{background:var(--panel)}
html[data-theme="dark"] tr:hover td{background:var(--panel)}
html[data-theme="dark"] .side a:hover{background:var(--panel)}
html[data-theme="dark"] .side a.on{background:linear-gradient(90deg,#ff996626,#ab66ff26)}
html[data-theme="dark"] .tabs a.on{background:linear-gradient(90deg,#ff996626,#ab66ff26)}
html[data-theme="dark"] .tabs a:hover{background:var(--panel)}
