:root{--bg:#0a0d13;--surface:#10141d;--card:#151a26;--inset:#1a2130;--border:#252d3d;--text:#e9ecf2;--muted:#9aa5b8;--gold:#d9a92f;color-scheme:dark}
[data-theme=light]{--bg:#f6f6f4;--surface:#fff;--card:#fff;--inset:#f0f0ec;--border:#dcdcd4;--text:#16181d;--muted:#525a68;--gold:#96690a;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:108px}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.85 'Segoe UI','Noto Sans KR',system-ui,sans-serif;word-break:keep-all;overflow-wrap:anywhere}[hidden]{display:none!important}a{color:var(--gold);text-underline-offset:4px}button,select,input{font:inherit}button,select{background:var(--inset);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px 12px;cursor:pointer}a,button,input,select,summary{outline-offset:5px}:focus-visible{outline:2px solid var(--gold)}.skip{position:fixed;top:-100px;left:20px;z-index:10;background:var(--gold);color:#10141d;padding:12px}.skip:focus{top:12px}
header{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px max(24px,calc((100vw - 1280px)/2));background:var(--bg);border-bottom:1px solid var(--border)}.brand{text-decoration:none;color:var(--text);font-size:20px;font-weight:750;line-height:1.2;white-space:nowrap}.brand span{color:var(--gold)}.brand small{display:block;font-size:9px;letter-spacing:2.5px;color:var(--muted);margin-top:9px}.actions{display:flex;align-items:center;gap:14px;font-size:13px}.actions>a{color:var(--muted);text-decoration:none}.layout{max-width:1280px;margin:auto;display:grid;grid-template-columns:250px minmax(0,1fr);gap:64px;padding:0 24px}.sidebar{position:sticky;top:110px;height:calc(100vh - 140px);overflow:auto;padding:24px 0;font-size:13px}.sidebar summary{list-style:none;font-size:11px;font-weight:750;letter-spacing:1px;color:var(--gold);margin-bottom:20px}.sidebar label{display:block;color:var(--muted);font-size:12px}.search-row{display:flex;margin:8px 0 20px;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface)}input{min-width:0;width:100%;border:0;background:transparent;color:var(--text);padding:10px;font-size:13px}#clear{border:0;background:transparent;padding:4px 12px}.sidebar nav{display:flex;flex-direction:column}.sidebar nav a{text-decoration:none;color:var(--muted);padding:10px 12px;border-left:2px solid var(--border)}.sidebar nav a:hover,.sidebar nav a[aria-current]{color:var(--gold);border-color:var(--gold);background:var(--surface)}.support{display:block;font-size:12px;margin-top:28px;color:var(--muted)}main{min-width:0}.hero{padding:60px 0 38px;border-bottom:1px solid var(--border)}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--gold);font-weight:750}h1{font-size:clamp(32px,4vw,52px);letter-spacing:-1.8px;line-height:1.2;margin:18px 0}.lead{color:var(--muted);font-size:18px;margin:22px 0}.meta{color:var(--muted);font-size:12px}.quick-links{display:flex;gap:24px;margin-top:28px;font-size:13px}.quick-links a{text-decoration:none}.chapter{padding:44px 0;border-bottom:1px solid var(--border);scroll-margin-top:12px}.chapter-number{font-size:12px;font-weight:700;color:var(--gold);letter-spacing:2px}h2{font-size:27px;letter-spacing:-.7px;margin:7px 0 24px;line-height:1.4}h3{font-size:18px;margin-top:30px}p,li{color:var(--muted)}p{margin:16px 0}b{color:var(--text);font-weight:650}ol,ul{padding-left:25px}li{padding-left:5px;margin:13px 0}li::marker{color:var(--gold);font-weight:700}.chapter aside{border-left:3px solid var(--gold);background:var(--surface);padding:18px 22px;color:var(--text);font-size:14px;margin:26px 0}.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:10px;margin:22px 0}table{border-collapse:collapse;width:100%;font-size:14px;min-width:460px}th,td{text-align:left;vertical-align:top;padding:15px 18px;border-bottom:1px solid var(--border)}th{background:var(--inset);color:var(--text);font-size:12px}td{color:var(--muted)}tr:last-child td{border:0}code{font:13px/1.65 ui-monospace,Consolas,monospace;background:var(--inset);padding:3px 5px;border-radius:4px;color:var(--text);word-break:break-word}pre{overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:22px;max-width:100%}pre code{padding:0;background:none;white-space:pre}.formula{padding:22px;border:1px solid var(--border);border-radius:10px;color:var(--gold);font-size:15px;background:var(--surface)}.chapter details{border:1px solid var(--border);border-radius:10px;padding:18px 22px;margin:12px 0;background:var(--surface)}.chapter summary{cursor:pointer;font-weight:650;line-height:1.6}.chapter details p{font-size:14px;margin-bottom:0}footer{padding:40px 0 60px;color:var(--muted);font-size:12px}#no-results{border:1px solid var(--border);border-radius:10px;padding:24px}
@media(max-width:900px){.layout{gap:30px;grid-template-columns:210px minmax(0,1fr)}.actions{gap:8px}header{padding:16px 24px}}
@media(max-width:700px){html{scroll-padding-top:150px}header{flex-wrap:wrap;padding:15px 20px;gap:14px}.brand{font-size:18px}.actions{margin-left:auto}.actions>a{display:none}.layout{display:block;padding:0 20px}.sidebar{position:static;height:auto;padding:22px 0 0}.sidebar summary{cursor:pointer;margin-bottom:12px;list-style:revert}.sidebar nav{display:grid;grid-template-columns:1fr 1fr;gap:0}.sidebar nav a{padding:8px;font-size:12px}.support{display:none}.hero{padding-top:30px}.lead{font-size:16px}.chapter{padding:32px 0}h2{font-size:24px}body{font-size:15px}.actions button,.actions select{font-size:12px;padding:7px 10px}.quick-links{gap:18px}}
@media print{html{scroll-behavior:auto}body{background:white;color:#111;font-size:11pt}.sidebar,header,.skip,.quick-links,#no-results{display:none!important}.layout{display:block;max-width:none;padding:0}.hero{padding:0 0 20px}.chapter{padding:20px 0;break-inside:auto}h2,h3{break-after:avoid}p,li,td,.lead,.meta,b{color:#222}a{color:#333}.chapter aside,.formula,pre,.chapter details,th{background:#f5f5f5;color:#111;border-color:#aaa}code{color:#111;background:#eee}table{min-width:0}.table-wrap,pre{overflow:visible}pre code{white-space:pre-wrap}footer{padding:20px 0}}
