:root { --ink:#18201f; --muted:#65716d; --paper:#f4f1e9; --panel:#fbfaf5; --line:#d6d8cf; --accent:#d34d35; --accent-soft:#f2d9cf; --code:#e9e8df; --shadow:0 18px 45px rgba(35,42,35,.08); color-scheme:light; }
[data-theme="dark"] { --ink:#edf0e7; --muted:#a7b0a8; --paper:#17201f; --panel:#202a28; --line:#384440; --accent:#f18468; --accent-soft:#47302b; --code:#2b3532; --shadow:0 18px 45px rgba(0,0,0,.22); color-scheme:dark; }
* { box-sizing:border-box; } body { margin:0; color:var(--ink); background:var(--paper); font:16px/1.6 Georgia, 'Times New Roman', serif; }
body:before { content:""; position:fixed; inset:0; pointer-events:none; opacity:.32; background-image:radial-gradient(var(--line) .7px, transparent .7px); background-size:18px 18px; mask-image:linear-gradient(to bottom, #000, transparent 75%); }
.topbar { height:76px; padding:0 clamp(20px,4vw,64px); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); background:color-mix(in srgb, var(--paper) 90%, transparent); position:relative; z-index:3; }
.brand { display:flex; align-items:center; gap:11px; color:var(--ink); text-decoration:none; font:700 15px/1.05 'Trebuchet MS', sans-serif; letter-spacing:.08em; text-transform:uppercase; }.brand small { display:block; color:var(--muted); font-size:8px; letter-spacing:.16em; margin-top:5px; }.brand-mark { display:block; width:34px; height:34px; object-fit:contain; transform:rotate(-6deg); }
.top-actions { display:flex; gap:12px; align-items:center; }.search { position:relative; display:flex; align-items:center; gap:8px; border:1px solid var(--line); background:var(--panel); padding:6px 11px; width:min(280px,42vw); color:var(--muted); font:12px 'Trebuchet MS',sans-serif; }.search input { border:0; outline:0; width:100%; color:var(--ink); background:transparent; font:13px 'Trebuchet MS',sans-serif; }.icon-button { width:34px; height:34px; border:1px solid var(--line); background:var(--panel); color:var(--ink); cursor:pointer; font-size:18px; }.search-results { position:absolute; top:43px; right:0; width:min(360px,80vw); background:var(--panel); border:1px solid var(--line); box-shadow:var(--shadow); }.search-results a,.no-results { display:block; padding:10px 13px; color:var(--ink); text-decoration:none; border-bottom:1px solid var(--line); font-family:'Trebuchet MS',sans-serif; }.search-results a:hover { background:var(--accent-soft); }.search-results strong,.search-results small { display:block; }.search-results small { color:var(--muted); font-size:11px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.layout { display:grid; grid-template-columns:250px minmax(0,900px); gap:clamp(35px,7vw,110px); max-width:1220px; margin:0 auto; padding:62px clamp(20px,4vw,64px) 90px; position:relative; }.sidebar { display:flex; flex-direction:column; min-height:calc(100vh - 220px); position:sticky; top:32px; align-self:start; }.sidebar-label,.section-label,.eyebrow,.card-kicker { color:var(--accent); font:700 11px 'Trebuchet MS',sans-serif; letter-spacing:.13em; text-transform:uppercase; }.sidebar-label { padding-bottom:16px; border-bottom:2px solid var(--ink); }.nav-link { display:flex; justify-content:space-between; gap:8px; padding:10px 2px; border-bottom:1px solid var(--line); text-decoration:none; color:var(--muted); font:14px 'Trebuchet MS',sans-serif; }.nav-link small { color:var(--muted); font-size:10px; }.nav-link.is-active,.nav-link:hover { color:var(--accent); }.back-link { margin-top:auto; color:var(--muted); font:12px 'Trebuchet MS',sans-serif; text-decoration:none; }.back-link span { color:var(--accent); }
main { min-width:0; }.hero { padding:15px 0 76px; max-width:720px; }.hero h1 { margin:16px 0 18px; font-size:clamp(43px,6vw,76px); line-height:.98; font-weight:400; letter-spacing:0; }.hero h1 em { color:var(--accent); font-style:italic; }.hero-copy { max-width:520px; color:var(--muted); font-size:19px; }.project-copy { max-width:620px; margin:16px 0 0; color:var(--muted); line-height:1.55; }.hero-meta { display:flex; gap:25px; margin-top:34px; color:var(--muted); font:11px 'Trebuchet MS',sans-serif; text-transform:uppercase; letter-spacing:.08em; }.hero-meta code,footer code { color:var(--accent); }.section-label { display:flex; justify-content:space-between; padding-bottom:12px; border-bottom:2px solid var(--ink); }.page-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); margin-top:18px; }.page-card { display:flex; flex-direction:column; gap:7px; padding:24px; min-height:145px; color:var(--ink); background:var(--panel); text-decoration:none; transition:transform .2s, background .2s; }.page-card:hover { background:var(--accent-soft); transform:translateY(-3px); }.page-card strong { font-size:24px; font-weight:400; }.page-card span:last-child { color:var(--muted); font-size:14px; line-height:1.4; }.card-kicker { font-size:10px; }
.doc-heading { border-bottom:2px solid var(--ink); padding:14px 0 30px; }.doc-heading h1 { margin:8px 0 4px; font-size:52px; font-weight:400; line-height:1; }.doc-heading p { color:var(--muted); margin:0; }.man-page { padding:34px 0; }.man-page section { margin:0 0 34px; }.man-page h1,.man-page h2,.man-page h3 { color:var(--accent); font-family:'Trebuchet MS',sans-serif; }.man-page h1 { font-size:20px; }.man-page h2 { font-size:16px; }.man-page h3 { font-size:14px; }.man-page pre { overflow:auto; padding:14px 16px; background:var(--code); border-left:3px solid var(--accent); font-size:13px; }.man-page code { background:var(--code); padding:2px 4px; }.man-page table { border-collapse:collapse; max-width:100%; }.man-page td,.man-page th { padding:6px 10px; border:1px solid var(--line); text-align:left; }.man-page a { color:var(--accent); } footer { display:flex; justify-content:space-between; max-width:1220px; margin:0 auto; padding:22px clamp(20px,4vw,64px); border-top:1px solid var(--line); color:var(--muted); font:11px 'Trebuchet MS',sans-serif; text-transform:uppercase; letter-spacing:.08em; }
@media (max-width:760px) { .topbar { height:auto; min-height:76px; gap:12px; flex-wrap:wrap; padding-block:14px; }.top-actions { width:100%; }.search { flex:1; width:auto; }.layout { display:block; padding-top:34px; }.sidebar { min-height:0; position:static; margin-bottom:48px; }.sidebar nav { display:grid; grid-template-columns:repeat(2,1fr); gap:0 18px; }.back-link { margin-top:24px; }.hero { padding-bottom:54px; }.page-grid { grid-template-columns:1fr; }.hero h1 { font-size:46px; }.doc-heading h1 { font-size:42px; } footer { display:block; } footer span { display:block; margin:4px 0; } }
