:root{--bg:#1f1e1d;--surface:#2a2927;--line:#3a3835;--text:#faf9f5;--muted:#b9b5ab;--accent:#d97757;--on-accent:#1f1e1d;--accent-text:#e8896a;color-scheme:dark;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
:root[data-theme="deepseek"]{--bg:#0b1020;--surface:#131a31;--line:#273252;--text:#e6edf7;--muted:#a3b0cc;--accent:#4d6bfe;--on-accent:#fff;--accent-text:#8fa3ff}
:root[data-theme="light"]{--bg:#faf9f5;--surface:#fff;--line:#e0ddd3;--text:#141413;--muted:#5c5a55;--accent:#c15f3c;--on-accent:#fff;--accent-text:#a84f30;color-scheme:light}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 Inter,system-ui,sans-serif}
a{color:var(--accent-text)}
code,pre{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:14px}
pre{margin:12px 0 0;padding:14px 16px;background:var(--bg);border:1px solid var(--line);border-radius:10px;overflow-x:auto;white-space:pre}
p code,summary code,li code{background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:1px 6px}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--bg);border-bottom:1px solid var(--line)}
.bar{max-width:1080px;margin:0 auto;padding:12px 24px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.brand{font-weight:700;font-size:20px;color:var(--text);text-decoration:none;margin-right:auto}
nav{display:flex;gap:4px;flex-wrap:wrap}
nav a{color:var(--muted);text-decoration:none;padding:10px 12px;border-radius:8px;min-height:44px}
nav a[aria-current=page]{color:var(--text);background:var(--surface)}
.themes{display:flex;gap:4px}
.themes button{min-height:44px;padding:0 12px;border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:8px;font:inherit;font-size:14px;cursor:pointer}
.themes button[aria-pressed=true]{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}
main{max-width:1080px;margin:0 auto;padding:40px 24px 72px}

h1{font-size:clamp(34px,6vw,58px);line-height:1.08;margin:20px 0 16px;max-width:15em}
h2{font-size:30px;margin:0 0 20px}
.lead{font-size:20px;color:var(--muted);max-width:40em;margin:0 0 28px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:16px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:22px}
.card h3{margin:0 0 8px;font-size:18px}.card p{margin:0;color:var(--muted);font-size:15px}
.btn{display:inline-flex;align-items:center;min-height:44px;padding:0 22px;border-radius:10px;background:var(--accent);color:var(--on-accent);font-weight:600;text-decoration:none}
.btn.alt{background:transparent;color:var(--text);border:1px solid var(--line)}
.row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:36px}
.term{background:#151413;color:#d9d5c9;border:1px solid var(--line);border-radius:14px;margin:8px 0 40px;overflow:hidden}
.term .t{padding:10px 18px;border-bottom:1px solid #3a3835;color:#a8a49b;font-size:13px}
.term pre{margin:0;border:0;border-radius:0;background:transparent;color:inherit;padding:18px 20px;line-height:1.7}
.term b{color:var(--accent-text);font-weight:600}
.tbl{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
table{border-collapse:collapse;width:100%;min-width:520px}
th,td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--line);font-size:15px}
th{color:var(--muted);font-weight:600}tr:last-child td{border-bottom:0}
td.n,th.n{text-align:right;font-variant-numeric:tabular-nums}
.est{display:flex;gap:16px;flex-wrap:wrap;margin:0 0 16px}
label{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--muted)}
input{min-height:44px;width:190px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font:inherit}
details{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:0 20px;margin-bottom:10px}
summary{cursor:pointer;min-height:44px;padding:10px 0;font-weight:600}
details p{margin:0 0 16px;color:var(--muted)}
.note{color:var(--muted);font-size:14px;margin-top:12px}
footer{border-top:1px solid var(--line);padding:24px;text-align:center;color:var(--muted);font-size:14px}
