:root{color-scheme:light;--ink:#121212;--subtle:#454545;--line:#dedede;--paper:#fff;--tint:#f5f5f5;--accent:#8e381e}
*{box-sizing:border-box}
html{scroll-padding-top:128px}
body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.65 'Segoe UI',system-ui,sans-serif}
a{color:var(--accent);text-underline-offset:3px}
a:hover{text-decoration-thickness:2px}
header{position:sticky;top:0;z-index:3;background:#fff;border-bottom:1px solid var(--line)}
.header-inner,.tabs,.layout{max-width:1340px;margin:auto;padding-inline:24px}
.header-inner{min-height:61px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;gap:11px;color:#111;text-decoration:none;font-weight:750;font-size:19px;white-space:nowrap}
.brand-note{color:var(--subtle);font-weight:500;font-size:14px}
.mark{width:29px;height:29px;display:grid;place-items:center;border-radius:5px;background:#202020;color:white}
.tabs{display:flex;gap:22px;overflow:auto;white-space:nowrap}
.tabs a{color:#2a2a2a;text-decoration:none;border-bottom:3px solid transparent;padding:7px 0 8px;font-size:14px}
.tabs a:hover,.tabs a.active,.tabs a[aria-current]{border-color:var(--accent);color:var(--accent)}
.search-box{width:min(305px,40vw);position:relative}
#search{width:100%;padding:7px 12px;background:var(--tint);border:1px solid #c7c7c7;border-radius:5px;font:inherit;font-size:14px;color:#121212}
#search-panel{position:absolute;top:calc(100% + 5px);right:0;width:min(420px,88vw);max-height:65vh;overflow:auto;background:white;border:1px solid var(--line);border-radius:6px;box-shadow:0 8px 28px #0002}
#search-status{margin:0;padding:9px 13px;font-size:13px;color:var(--subtle);border-bottom:1px solid var(--line)}
#search-results{list-style:none;padding:0;margin:0}
#search-results a{display:block;padding:10px 13px;text-decoration:none;border-bottom:1px solid var(--line);color:#151515}
#search-results a:hover,#search-results a:focus-visible{background:var(--tint)}
#search-results small{display:block;font-size:13px;line-height:1.4;color:var(--subtle)}
.layout{display:grid;grid-template-columns:220px minmax(0,1fr) 175px;gap:38px}
aside{position:sticky;top:105px;align-self:start;overflow:auto;max-height:calc(100vh - 107px);padding:25px 0}
#chapters nav{border-right:1px solid var(--line);padding-right:13px}
aside a{display:block;padding:4px 8px;color:#252525;text-decoration:none;font-size:14px;line-height:1.45}
aside a:hover{background:var(--tint);color:var(--accent)}
aside a[aria-current]{background:#f5eee9;color:#763018;font-weight:700;border-left:2px solid var(--accent)}
#chapters details{margin:5px 0}
#chapters summary{cursor:pointer;font-size:14px;font-weight:700;padding:5px 8px;border-radius:4px}
#chapters summary:hover,#chapters details[open]>summary{background:var(--tint)}
#chapters details a{margin-left:10px}
.toc strong{display:block;padding-left:8px;font-size:14px}
main{min-width:0;padding:34px 0 0}
.breadcrumb{margin:0 0 14px;font-size:13px;color:var(--subtle)}
h1,h2,h3{line-height:1.22;color:#101010}
h1{font-size:clamp(32px,5vw,49px);letter-spacing:-.04em;margin:0 0 20px}
h2{font-size:25px;margin:30px 0 12px}
h3{font-size:20px;margin:23px 0 8px}
h2:target{box-shadow:inset 3px 0 var(--accent);padding-left:10px}
dt{font-weight:700}
dd{margin:0 0 12px}
.lead{font-size:20px;max-width:58ch}
article p,article li{max-width:75ch}
li+li{margin-top:5px}
.home-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin:24px 0}
.primary{display:inline-block;padding:7px 13px;background:#242424;color:white;border-radius:5px;text-decoration:none}
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.card{border:1px solid var(--line);border-radius:5px;padding:14px 17px}
.card h2{font-size:18px;margin:0 0 8px}
.card ul{margin:0;padding-left:18px}
.note{padding:12px 15px;border:1px solid var(--line);border-left:3px solid #737373;background:#f7f7f7;margin:18px 0}
.safety{border-left-color:#a44d24}.note p{margin:5px 0}
table{border-collapse:collapse;width:100%;margin:14px 0;text-align:left}
th,td{border:1px solid var(--line);padding:8px 10px;vertical-align:top}
th{background:var(--tint)}
kbd,code{font: .88em ui-monospace,Consolas,monospace;background:var(--tint);border:1px solid var(--line);border-radius:3px;padding:2px 4px;overflow-wrap:anywhere}
.pagination{margin-top:28px;padding-top:14px;border-top:1px solid var(--line);display:flex;gap:16px;justify-content:space-between}
.pagination a{flex:1;text-decoration:none;font-weight:600}.pagination a:last-child{text-align:right}
.pagination small{display:block;color:var(--subtle);font-weight:400}
footer{border-top:1px solid var(--line);padding:15px 0;margin-top:28px;color:var(--subtle);font-size:13px}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.skip,.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.skip:focus{width:auto;height:auto;clip-path:none;background:#fff;top:5px;left:5px;padding:8px;z-index:5}
.menu-toggle{display:none}
[hidden]{display:none!important}
@media(max-width:1000px){.layout{grid-template-columns:190px minmax(0,1fr);gap:24px}.toc{display:none}}
@media(max-width:680px){.header-inner,.tabs,.layout{padding-inline:14px}.header-inner{gap:8px}.brand{font-size:15px;gap:6px}.brand-note{display:none}.mark{display:none}.search-box{width:45vw}.tabs{gap:16px}.layout{display:block}.menu-toggle{display:block;background:#fff;border:1px solid #999;border-radius:4px;font:inherit;font-size:12px;padding:4px 6px}.layout #chapters{display:none;position:static;max-height:42vh;padding:10px 0;border-bottom:1px solid var(--line)}.layout #chapters[data-open]{display:block}.layout #chapters nav{border-right:0}main{padding-top:22px}}
@media(max-width:430px){.cards{grid-template-columns:1fr}}
@media print{header,aside,.pagination,.home-actions{display:none}.layout{display:block}}

.workspace-map{margin:20px 0}
.workspace-diagram{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr);grid-template-areas:"ribbon ribbon ribbon" "tools canvas properties" "layers layers layers";gap:4px;background:#dedede;border:1px solid #c7c7c7;padding:4px;border-radius:6px}
.workspace-diagram a{display:grid;place-items:center;background:#f5f5f5;color:var(--ink);text-align:center;padding:9px 5px;font-size:clamp(11px,1.5vw,15px);line-height:1.35}
.workspace-diagram a:hover,.workspace-diagram a:focus-visible{color:var(--accent);background:#fff5ed}
.workspace-diagram .map-ribbon{grid-area:ribbon}
.workspace-diagram .map-tools{grid-area:tools}
.workspace-diagram .map-canvas{grid-area:canvas;min-height:110px;background:#fff}
.workspace-diagram .map-properties{grid-area:properties}
.workspace-diagram .map-layers{grid-area:layers}
.workspace-map figcaption{margin-top:6px;color:var(--subtle);font-size:13px}

.outline-example{margin:18px 0}
.outline-examples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.outline-examples>div{padding:10px;border:1px solid var(--line);text-align:center}
.outline-examples strong,.outline-examples span{display:block}
.outline-stage{position:relative;max-width:130px;height:82px;margin:0 auto 8px}
.outline-plate{position:absolute;inset:8px 4px;border:2px solid var(--ink);border-radius:3px}
.outline-solid{background:#e8e8e8}
.outline-hole{position:absolute;width:38px;height:38px;top:50%;left:50%;transform:translate(-50%,-50%);border:2px solid var(--ink);border-radius:50%;background:white}
.outline-dashed{border-style:dashed}
.outline-example figcaption{margin-top:6px;color:var(--subtle);font-size:13px}

.photo-example{margin:0}
.photo-example img{display:block;width:100%;height:auto;image-rendering:pixelated}
.photo-example figcaption{margin-top:6px;font-weight:600}

#chapters .nav-topic{margin:3px 0 3px 9px}
#chapters .nav-topic summary{font-weight:600}
.letter-index{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0}
.letter-index a{min-width:30px;padding:3px 5px;border:1px solid var(--line);border-radius:4px;text-align:center}
.command-list{padding-left:22px}
