/* MinPin documentation — sidebar layout, brand flame, light/dark adaptive. */
:root{
  --bg:#ffffff; --fg:#10131a; --muted:#5a6372; --card:#f7f8fb; --border:#e9ebf1;
  --accent:#ea7138; --accent-hover:#d94e31; --code-bg:#0d1117; --code-fg:#c9d1d9;
  --sidebar:#fbfbfd; --radius:12px;
}
/* Dark applies when system is dark AND the user hasn't forced light. */
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0c0e14; --fg:#eef1f7; --muted:#9aa3b2; --card:#13161f; --border:#222634;
  --code-bg:#05080d; --code-fg:#c9d1d9; --sidebar:#0a0c11;
}}
/* Explicit dark choice wins regardless of the system setting. */
:root[data-theme="dark"]{
  --bg:#0c0e14; --fg:#eef1f7; --muted:#9aa3b2; --card:#13161f; --border:#222634;
  --code-bg:#05080d; --code-fg:#c9d1d9; --sidebar:#0a0c11;
}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--border);border-radius:9px;background:var(--card);color:var(--fg);cursor:pointer;font-size:14px;line-height:1;transition:border-color .12s ease}
.theme-toggle:hover{border-color:var(--accent)}
*{box-sizing:border-box} html,body{margin:0}
body{background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Inter",sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration:none} a:hover{text-decoration:underline}

/* Top bar */
.topbar{position:sticky;top:0;z-index:30;height:56px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:saturate(160%) blur(12px);display:flex;align-items:center;gap:18px;padding:0 20px}
.topbar .brand{font-weight:800;font-size:18px;color:var(--fg);letter-spacing:-.02em}
.topbar .brand b{color:var(--accent)}
.topbar .tag{font-size:13px;color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:2px 10px}
.topbar .grow{flex:1}
.topbar .toplinks a{color:var(--muted);font-size:14px;margin-left:18px}
.topbar .toplinks a:hover{color:var(--fg);text-decoration:none}
#dsearch{width:230px;max-width:38vw;padding:8px 12px;border:1px solid var(--border);border-radius:9px;background:var(--card);color:var(--fg);font-size:14px}

/* Layout */
.layout{display:grid;grid-template-columns:264px minmax(0,1fr);gap:0;max-width:1180px;margin:0 auto}
.sidebar{border-right:1px solid var(--border);background:var(--sidebar);padding:22px 14px 60px;height:calc(100vh - 56px);position:sticky;top:56px;overflow-y:auto}
.sidebar .cat{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:18px 10px 6px}
.sidebar a{display:block;color:var(--fg);font-size:14px;padding:6px 10px;border-radius:8px;text-decoration:none}
.sidebar a:hover{background:var(--card)}
.sidebar a.active{background:color-mix(in srgb,var(--accent) 14%,var(--bg));color:var(--accent);font-weight:600}

/* Content */
.content{padding:34px 48px 80px;min-width:0}
.crumb{font-size:13px;color:var(--muted);margin-bottom:14px}
.crumb a{color:var(--muted)}
.content h1{font-size:34px;letter-spacing:-.025em;margin:0 0 10px;line-height:1.1}
.content .sub{color:var(--muted);font-size:18px;margin:0 0 28px}
.content h2{font-size:23px;letter-spacing:-.01em;margin:38px 0 10px;padding-top:8px}
.content h3{font-size:18px;margin:26px 0 8px}
.content p,.content li{font-size:16px}
.content ul,.content ol{padding-left:22px}
.content li{margin:4px 0}
.content code{font-family:ui-monospace,"SF Mono",Menlo,monospace;font-size:.86em;background:var(--card);border:1px solid var(--border);border-radius:5px;padding:1px 5px}
.content pre{background:var(--code-bg);color:var(--code-fg);border-radius:var(--radius);padding:16px 18px;overflow-x:auto;font-family:ui-monospace,Menlo,monospace;font-size:13.5px;line-height:1.6}
.content pre code{background:none;border:none;padding:0;color:inherit;font-size:inherit}
.content figure{margin:22px 0}
.content figure img{width:100%;height:auto;display:block;border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.12)}
.content figcaption{color:var(--muted);font-size:13px;margin-top:8px;text-align:center}
.content table{border-collapse:collapse;width:100%;margin:16px 0;font-size:14.5px}
.content th,.content td{border:1px solid var(--border);padding:9px 12px;text-align:left;vertical-align:top}
.content th{background:var(--card)}
.callout{border:1px solid var(--border);border-left:4px solid var(--accent);background:var(--card);border-radius:10px;padding:12px 16px;margin:16px 0;font-size:15px}
.callout.tip{border-left-color:#16a34a}
.callout.warn{border-left-color:#e0a000}
.callout b{display:block;margin-bottom:2px}
.steps{counter-reset:s;list-style:none;padding:0}
.steps>li{position:relative;padding:2px 0 14px 40px;margin:0}
.steps>li::before{counter-increment:s;content:counter(s);position:absolute;left:0;top:0;width:26px;height:26px;border-radius:50%;background:var(--accent);color:#fff;font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center}
.pager{display:flex;justify-content:space-between;gap:16px;margin-top:48px;border-top:1px solid var(--border);padding-top:24px}
.pager a{flex:1;border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;color:var(--fg);text-decoration:none}
.pager a:hover{border-color:var(--accent)}
.pager .lbl{display:block;font-size:12px;color:var(--muted)}
.pager .nx{text-align:right}

/* Docs home grid */
.dgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin-top:24px}
.dcard{border:1px solid var(--border);border-radius:var(--radius);padding:18px;background:var(--card)}
.dcard h3{margin:0 0 6px;font-size:16px}
.dcard p{margin:0 0 8px;color:var(--muted);font-size:14px}
.dcard a{font-size:14px;display:block;padding:2px 0}

.menu-toggle{display:none}
@media (max-width:880px){
  .layout{grid-template-columns:1fr}
  .sidebar{position:fixed;left:0;top:56px;width:280px;transform:translateX(-100%);transition:transform .2s;z-index:25;box-shadow:0 10px 40px rgba(0,0,0,.2)}
  .sidebar.open{transform:none}
  .menu-toggle{display:inline-block;border:1px solid var(--border);background:var(--card);border-radius:8px;padding:6px 10px;font-size:14px;cursor:pointer;color:var(--fg)}
  .content{padding:24px 20px 64px}
  #dsearch{width:140px}
}
