/* Configure surface: one reading column, progressive disclosure, no side panels. */
:root{color-scheme:light;--paper:#f8f7f2;--ink:#202d29;--muted:#53635b;--line:#bbc5bc;--accent:#235a46;--focus:#176b9b;--error:#9d2927;font-family:"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.6}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink)}header{padding:1.2rem max(1rem,calc((100vw - 60rem)/2));display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line)}header span{display:block;font-size:.82rem;color:var(--muted)}a{color:var(--accent)}main{max-width:54rem;margin:auto;padding:1.8rem 2rem 3rem}.intro{margin-bottom:1.8rem}h1{font-family:Georgia,serif;font-weight:500;font-size:clamp(1.6rem,4vw,2.1rem);line-height:1.25;margin:0 0 .5rem}h2{font-size:1.25rem;line-height:1.4;margin:1rem 0}p{margin:.6rem 0 1rem}.intro p,.hint,small,footer{color:var(--muted)}button,input,select,textarea{font:inherit}button{min-height:44px;padding:.5rem .85rem;border:1px solid var(--line);border-radius:4px;background:transparent;color:var(--ink);cursor:pointer;touch-action:manipulation;margin:.3rem .35rem .3rem 0}button:hover:not(:disabled){border-color:var(--accent);background:#e8eee8}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:var(--accent);color:white;border-color:var(--accent);font-weight:650}.primary:hover:not(:disabled){background:#163e30;color:white}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:3px}#step-title:focus{outline:none}#steps{display:flex;flex-wrap:wrap;gap:.2rem;border-bottom:1px solid var(--line);padding-bottom:.7rem}#steps button{font-size:.8rem;border:0;padding:.4rem .6rem}#steps [aria-current=step]{background:var(--accent);color:white}#steps button:disabled{opacity:.55}.progress-line{display:flex;align-items:center;gap:1rem;font-size:.8rem;color:var(--muted);margin:1rem 0}progress{width:8rem;height:.4rem;accent-color:var(--accent)}.field{display:block;margin:1.05rem 0;font-weight:600}input,select,textarea{display:block;width:100%;max-width:100%;min-width:0;margin-top:.35rem;min-height:44px;padding:.65rem .7rem;border:1px solid #84978b;border-radius:4px;background:#fff;color:var(--ink)}input[type=checkbox]{display:inline-block;width:22px;height:22px;min-height:22px;vertical-align:middle;margin:.5rem .7rem .5rem 0;accent-color:var(--accent)}label:has(input[type=checkbox]){display:flex;flex-wrap:wrap;align-items:center;font-weight:400;min-height:44px}label:has(input[type=checkbox]) small{flex-basis:100%}small{display:block;font-size:.84rem;line-height:1.5;font-weight:400;margin:.35rem 0}textarea{resize:vertical;min-height:7rem;line-height:1.5;font-family:Consolas,monospace;font-size:.88rem}input:invalid:not(:placeholder-shown){border-color:var(--error)}details{border-top:1px solid var(--line);padding:.5rem 0;margin:.7rem 0}details[open]{padding-bottom:1rem}summary{cursor:pointer;min-height:44px;padding:.6rem .2rem;font-weight:600;overflow-wrap:anywhere}details>details,fieldset>details{margin-left:.4rem}fieldset{min-width:0;margin:1rem 0;padding:.4rem 1rem 1rem;border:1px solid var(--line);border-radius:3px}legend{font-weight:600;padding:0 .4rem}.navigation{display:flex;justify-content:space-between;gap:1rem;margin:1.6rem 0}.navigation .primary{margin-left:auto;min-width:8rem}.meaning{border-block:1px solid var(--line);padding:1rem 0;margin:1.2rem 0}.meaning h2{font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0}.meaning p{margin:.6rem 0;font-size:1.05rem}.utility{display:flex;align-items:center;justify-content:space-between;gap:1rem;color:var(--muted);font-size:.8rem;margin:1rem 0 2rem}#error,.error-text{color:var(--error);font-weight:600;background:#fce9e6;padding:.8rem;border-radius:3px}#error:focus{outline:2px solid var(--error)}.exact-path,dd,pre{overflow-wrap:anywhere;word-break:break-word}dl{margin:1rem 0 1.6rem}dt{font-size:.82rem;color:var(--muted);margin-top:.7rem}dd{margin:0;font-weight:500}pre{white-space:pre-wrap;background:#edf0e9;padding:1rem;font-size:.85rem}#copy-entry{display:block;width:100%;margin:.7rem 0 1.3rem}.inline,.row-actions{display:flex;align-items:end;gap:.7rem;flex-wrap:wrap}.inline .field{flex:1 1 12rem}.test-result{margin:1rem 0}footer{font-size:.8rem;border-top:1px solid var(--line);padding-top:1rem;margin-top:1.5rem}.skip-link{position:absolute;left:1rem;top:-5rem;background:var(--paper);padding:.7rem;z-index:20}.skip-link:focus{top:.4rem}[hidden]{display:none!important}
@media(max-width:600px){header{align-items:start;flex-direction:column;padding:1rem}main{padding:1.3rem 1rem 2rem}.intro{margin-bottom:1rem}#steps{gap:0}#steps button{flex:1 1 30%;margin:.1rem;font-size:.75rem;padding:.4rem .25rem}.utility{align-items:start;flex-direction:column;gap:.3rem}fieldset{padding-inline:.6rem}details>details,fieldset>details{margin-left:0}.inline{display:block}button{max-width:100%}.row-actions{gap:.3rem}.row-actions button{flex:1 1 auto;font-size:.8rem}select{font-size:.92rem}#living-summary{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:no-preference){button{transition:background .12s,border-color .12s}}
/* Authoring workbench: visible rule blocks, separate utilities, live export. */
:root{color-scheme:dark;--paper:#15191e;--surface:#1d232b;--input:#12171d;--ink:#e3e9ef;--muted:#a6b3bf;--line:#3b4754;--accent:#9ecfc4;--focus:#83b9ef;--error:#ffada6;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.5}
:root[data-theme=light]{color-scheme:light;--paper:#f1f4f5;--surface:#fff;--input:#f7f9fa;--ink:#1f2b32;--muted:#526370;--line:#b5c2cc;--accent:#23685d;--focus:#146ab3;--error:#a52626}
[hidden]{display:none!important}body{background:var(--paper);color:var(--ink)}header{padding:1rem max(1rem,calc((100vw - 88rem)/2));background:var(--surface)}.header-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}main{max-width:88rem;padding:1.5rem 2rem 3rem}.intro{margin-bottom:1rem}h1{font:650 clamp(1.6rem,4vw,2rem)/1.3 system-ui,sans-serif;letter-spacing:-.03em}h2{font-size:1.2rem}h3{font-size:1rem;line-height:1.4;margin:0 0 .8rem}h4{font-size:.95rem;margin:1.2rem 0 .4rem}button{border-radius:5px;background:var(--surface);border-color:var(--line)}button:hover:not(:disabled){background:var(--input);border-color:var(--accent)}.primary{background:var(--accent);color:var(--paper)}.primary:hover:not(:disabled){background:var(--accent);color:var(--paper);filter:brightness(1.08)}input,select,textarea{background:var(--input);color:var(--ink);border-color:var(--line)}textarea,pre,code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.82rem}textarea{line-height:1.65}pre,code{background:var(--input);color:var(--ink)}pre{padding:1rem;border:1px solid var(--line);border-radius:5px;white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%}input[type=checkbox]{accent-color:var(--accent)}fieldset{background:transparent;border-color:var(--line);min-width:0}legend{color:var(--ink);font-weight:650}.field small{font-weight:400;color:var(--muted)}.error-text,#error{color:var(--error);background:var(--surface);border-color:var(--error)}#error{padding:.8rem;border:1px solid;border-radius:5px}#workbench-tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin:1rem 0 1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}#workbench-tabs button{margin:0}#workbench-tabs [aria-current=page]{border-color:var(--accent);color:var(--accent);box-shadow:inset 0 -2px var(--accent)}#workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem;align-items:start}#workspace.with-review{grid-template-columns:minmax(0,1.6fr) minmax(18rem,1fr)}.editor{min-width:0}.editor>h2{margin-top:0}.editor-block{min-width:0;border:1px solid var(--line);border-radius:6px;background:var(--surface);padding:1rem 1.2rem;margin:0 0 1rem}.editor-block .editor-block{border-left:3px solid var(--line);border-top:0;border-right:0;border-bottom:0;border-radius:0;padding:.5rem 0 .3rem 1rem;margin:1.2rem 0;background:transparent}.editor-block>.hint:first-of-type{margin-top:.25rem}.editor-block .field{margin:.8rem 0}.editor-block:target{border-color:var(--accent);scroll-margin-top:1rem}#rule-review{min-width:0;position:sticky;top:1rem;max-height:calc(100vh - 2rem);overflow:auto;border:1px solid var(--line);border-radius:6px;background:var(--surface);padding:1.2rem}#rule-review .meaning{background:transparent;padding:0;border:0;margin:0 0 1rem}#rule-review .meaning h2{margin-top:0;color:var(--accent)}#rule-review .meaning p{color:var(--ink)}#review-content dl{margin:1rem 0;font-size:.82rem}#review-content dd{overflow-wrap:anywhere;color:var(--muted)}#review-content dt{margin-top:.7rem}#review-content h3{margin-top:0}#output{resize:vertical;min-height:9rem}#copy-entry{width:100%}.section-links{display:flex;gap:1rem;flex-wrap:wrap;margin:0 0 1rem}.section-links a{font-size:.9rem}footer{border-color:var(--line)}.utility{border-color:var(--line)}.inline{align-items:end}.row-actions{border-top:1px solid var(--line);padding-top:.6rem;margin-top:.7rem}.test-result{background:var(--input);border:1px solid var(--line);border-radius:5px;padding:1rem;margin:1rem 0}.test-result:empty{display:none}#step-title:focus-visible{outline:2px solid var(--focus);outline-offset:4px}
@media(max-width:900px){main{padding:1rem}#workspace.with-review{grid-template-columns:minmax(0,1fr)}#rule-review{display:contents}.meaning{grid-row:1;background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:6px;padding:1rem!important;margin:0!important}#workspace>.editor{grid-row:2}#review-content{grid-row:3;min-width:0;border:1px solid var(--line);border-radius:6px;padding:1rem;background:var(--surface)}#workbench-tabs button{flex:1 1 auto;font-size:.85rem}.editor-block{padding:1rem}.editor-block .editor-block{padding-left:.7rem}.header-actions{gap:.5rem}.header-actions a{font-size:.88rem}header{padding:1rem}#living-summary{overflow-wrap:anywhere}}

/* Secondary metadata belongs in the header, not above the workbench. */
.backup-reminder{padding:.8rem 1rem;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:5px;font-size:1rem}
.tool-versions:not([open]) .version-menu{display:none}
button.primary:hover:not(:disabled),button.primary:active:not(:disabled){background:var(--accent);color:var(--paper);border-color:var(--accent)}
/* Shared tool drawer; identical in both portable tool stylesheets. */
.tool-navigation{margin:0;border:0;padding:0;background:none;flex:none}.tool-navigation[open]{margin:0;border:0;padding:0;background:none}.tool-navigation>summary{padding:.5rem;color:var(--accent);font-weight:650;list-style:none;min-height:44px}.tool-navigation>summary::-webkit-details-marker{display:none}.tool-navigation:not([open])>.tool-sidebar,.tool-navigation:not([open])>.tool-backdrop{display:none}
.tool-navigation .tool-backdrop{position:fixed;inset:0;z-index:39;background:#0007;border:0;border-radius:0;margin:0;padding:0;width:100%;height:100%;max-width:none}.tool-navigation .tool-backdrop:hover:not(:disabled){background:#0007}
.tool-sidebar{position:fixed;inset:0 auto 0 0;z-index:40;width:19rem;max-width:calc(100vw - 2rem);overflow:auto;padding:1rem;background:var(--surface);color:var(--ink);border-right:1px solid var(--line);box-shadow:.5rem 0 2rem #0005}.tool-sidebar h2{margin:1rem 0}.tool-sidebar a{display:block;min-height:44px;padding:.7rem;border:1px solid transparent;border-radius:5px;text-decoration:none;color:var(--ink)}.tool-sidebar a:hover,.tool-sidebar a:focus-visible{background:var(--input);color:var(--accent);border-color:var(--accent)}.tool-sidebar a[aria-current=page]{background:var(--input);color:var(--accent);border-color:var(--accent);font-weight:650}.tool-sidebar .close-tools{width:auto;margin:0}
.tool-versions[open]{padding:0}
.tool-versions{position:relative;margin:0;flex:none;border:0;padding:0;background:none}.tool-versions summary{padding:.5rem;min-height:44px;color:var(--accent);font-size:.88rem;font-weight:400}.version-menu{position:absolute;right:0;top:100%;z-index:20;width:24rem;max-width:calc(100vw - 2rem);max-height:75vh;overflow:auto;padding:1rem;background:var(--surface);border:1px solid var(--line);border-radius:6px;box-shadow:0 .5rem 1.5rem #0006;font-size:.88rem}.version-menu label{display:block;font-weight:650;margin-top:.7rem}.version-menu label:first-child{margin-top:0}.version-menu p{color:var(--muted)}
.header-actions #theme{margin:0;font-size:.88rem}@media(max-width:600px){.version-menu{left:0;right:auto}}
@media(max-width:600px){header{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center}.header-actions{grid-column:1/-1;justify-content:flex-start}}
/* References: three sections, one category/topic/example at a time. */
.reference-tabs{display:flex;gap:.5rem;border-bottom:1px solid var(--line);margin-bottom:1.25rem;padding-bottom:.7rem}
.reference-tabs button{margin:0;min-width:6rem}
.reference-tabs [aria-selected=true]{font-weight:700;color:var(--accent);border-color:var(--accent);box-shadow:inset 0 -3px var(--accent)}
.reference-layout{display:grid;grid-template-columns:13rem minmax(0,1fr);gap:1.5rem;align-items:start}
.reference-categories{position:sticky;top:1rem;border-right:1px solid var(--line);padding-right:1rem}
.reference-categories h3{font-size:.8rem;color:var(--muted);margin:1rem 0 .25rem;text-transform:uppercase;letter-spacing:.05em}
.reference-categories h3:first-child{margin-top:0}
.reference-categories button{display:block;width:100%;text-align:left;margin:.1rem 0;border-color:transparent;background:transparent}
.reference-categories [aria-current=true]{font-weight:700;color:var(--accent);border-color:var(--accent);background:var(--surface)}
.reference-content{min-width:0}.reference-content>h3{font-size:1.15rem}.reference-content .editor-block{margin-top:0}
.reference-mobile-selector{display:none}.reference-count{color:var(--muted);font-size:.9rem}
.reference-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.95rem}
.reference-table th,.reference-table td{text-align:left;vertical-align:top;padding:.65rem .75rem;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.reference-table thead{background:var(--surface)}.reference-table th:first-child{width:38%}.reference-table tbody th{font-weight:500}.reference-table code{font-size:.85rem}
.reference-pages{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin:1rem 0}.reference-pages span{font-size:.85rem;color:var(--muted)}
@media(max-width:700px){.reference-layout{display:block}.reference-categories{display:none}.reference-mobile-selector{display:block}.reference-mobile-selector .field{margin-top:0}.reference-tabs button{flex:1;min-width:0}.reference-table th,.reference-table td{padding:.6rem .45rem}.reference-table th:first-child{width:43%}}
