@font-face{font-family:EB Garamond Variable;font-style:normal;font-display:swap;font-weight:400 800;src:url(/assets/eb-garamond-cyrillic-ext-wght-normal-Bt3rCdHq.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:EB Garamond Variable;font-style:normal;font-display:swap;font-weight:400 800;src:url(/assets/eb-garamond-cyrillic-wght-normal-DBa2mnKT.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:EB Garamond Variable;font-style:normal;font-display:swap;font-weight:400 800;src:url(/assets/eb-garamond-greek-ext-wght-normal-CW-BywWH.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:EB Garamond Variable;font-style:normal;font-display:swap;font-weight:400 800;src:url(/assets/eb-garamond-greek-wght-normal-DCPER7xl.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:EB Garamond Variable;font-style:normal;font-display:swap;font-weight:400 800;src:url(/assets/eb-garamond-vietnamese-wght-normal-DvUmmjCN.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:EB Garamond Variable;font-style:normal;font-display:swap;font-weight:400 800;src:url(/assets/eb-garamond-latin-ext-wght-normal-B6IpcvL2.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:EB Garamond Variable;font-style:normal;font-display:swap;font-weight:400 800;src:url(/assets/eb-garamond-latin-wght-normal-CRpggXlh.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-cyrillic-ext-wght-normal-c-5QAGAI.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-cyrillic-wght-normal-BMDVbyM7.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-greek-ext-wght-normal-BXZfsJY4.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-greek-wght-normal-Cc-u-6OI.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-vietnamese-wght-normal-BDs68eHQ.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-latin-ext-wght-normal-C8iNium2.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3 Variable";font-style:normal;font-display:swap;font-weight:200 900;src:url(/assets/source-sans-3-latin-wght-normal-Bo_j9asI.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f2ea;--surface:#fffdf8;--surface-2:#efe9dd;--surface-3:#e6dfd0;--ink:#1f1a13;--ink-muted:#5c5346;--rule:#d9cfbd;--rule-strong:#8d8371;--vermilion:#a8321a;--vermilion-ink:#fffaf3;--vermilion-soft:#f6e1d9;--ultramarine:#233f9c;--ultramarine-soft:#e3e8f8;--halo:#3f9fb5;--halo-soft:#3f9fb56b;--gold:#775a12;--gold-fill:#b88a2a;--gold-soft:#f3e8c9;--ok:#2a6335;--ok-soft:#dfeede;--warn:#7d5200;--warn-soft:#f6e9c8;--error:#a32418;--error-soft:#f8dfda;--focus:var(--ultramarine);--shadow-1:0 1px 2px #3c2d1414;--shadow-2:0 8px 28px #3c2d1429;--font-display:"EB Garamond Variable", "EB Garamond", Georgia, "Times New Roman", serif;--font-body:"Source Sans 3 Variable", "Source Sans 3", system-ui, -apple-system, "Segoe UI", sans-serif;--text-xs:.8125rem;--text-sm:.9375rem;--text-md:1.0625rem;--text-lg:1.3125rem;--text-xl:1.75rem;--text-2xl:2.25rem;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--radius:8px;--radius-sm:5px;--target:44px;--quick:.14s;--settle:.22s;--ease:cubic-bezier(.2, .7, .2, 1)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#14120e;--surface:#1c1914;--surface-2:#25211a;--surface-3:#302b22;--ink:#ede6d9;--ink-muted:#b0a593;--rule:#3b352a;--rule-strong:#8b8170;--vermilion:#ec7a5a;--vermilion-ink:#1b0d08;--vermilion-soft:#3a1c13;--ultramarine:#9db2f5;--ultramarine-soft:#1d2647;--halo:#6fd0e0;--halo-soft:#6fd0e057;--gold:#dcb968;--gold-fill:#c49a3c;--gold-soft:#33290f;--ok:#84cb92;--ok-soft:#17301c;--warn:#e3b552;--warn-soft:#33270b;--error:#f38d79;--error-soft:#3d1611;--shadow-1:0 1px 2px #0006;--shadow-2:0 8px 28px #0000008c}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#14120e;--surface:#1c1914;--surface-2:#25211a;--surface-3:#302b22;--ink:#ede6d9;--ink-muted:#b0a593;--rule:#3b352a;--rule-strong:#8b8170;--vermilion:#ec7a5a;--vermilion-ink:#1b0d08;--vermilion-soft:#3a1c13;--ultramarine:#9db2f5;--ultramarine-soft:#1d2647;--halo:#6fd0e0;--halo-soft:#6fd0e057;--gold:#dcb968;--gold-fill:#c49a3c;--gold-soft:#33290f;--ok:#84cb92;--ok-soft:#17301c;--warn:#e3b552;--warn-soft:#33270b;--error:#f38d79;--error-soft:#3d1611;--shadow-1:0 1px 2px #0006;--shadow-2:0 8px 28px #0000008c}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:var(--text-md);font-variant-numeric:tabular-nums;overflow-wrap:break-word;margin:0;line-height:1.5}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:.005em;margin:0;font-weight:600;line-height:1.15}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}h4{font-size:var(--text-md)}p{margin:0}a{color:var(--ultramarine);text-underline-offset:.18em}ul,ol{margin:0;padding:0;list-style:none}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--radius-sm)}::selection{background:var(--gold-soft);color:var(--ink)}main:focus{outline:none}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{left:var(--space-3);top:var(--space-2);z-index:100;padding:var(--space-2) var(--space-3);background:var(--surface);border:1px solid var(--rule-strong);border-radius:var(--radius-sm);position:absolute}.skip:not(:focus){clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.stack{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.stack-sm{gap:var(--space-2)}.stack-lg{gap:var(--space-6)}.row{align-items:center;gap:var(--space-3);flex-wrap:wrap;min-width:0;display:flex}.row-end{justify-content:flex-end}.row-between{justify-content:space-between}.grow{flex:1 1 0;min-width:0}.muted{color:var(--ink-muted)}.small{font-size:var(--text-sm)}.cards{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));display:grid}.cards-wide{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr))}.term{font-family:var(--font-display);letter-spacing:.005em;font-size:1.08em}.rubric{font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--vermilion);font-weight:600}.page-head{gap:var(--space-2);flex-direction:column;max-width:68ch;display:flex}.page-head .lede{color:var(--ink-muted);font-size:var(--text-md)}.initial:first-letter{color:var(--ink);font-size:1.28em;font-weight:600}.initial-drawn{margin-block:var(--space-1);line-height:1.1}.initial-glyph{vertical-align:-.42em;text-indent:-99em;width:1.5em;height:1.5em;margin-right:.1em;display:inline-block;position:relative;overflow:hidden}.initial-glyph:before{content:"";background-color:var(--ink);-webkit-mask:var(--initial) center / contain no-repeat;-webkit-mask:var(--initial) center / contain no-repeat;mask:var(--initial) center / contain no-repeat;position:absolute;inset:0}@media (forced-colors:active){.initial-glyph:before{forced-color-adjust:none;background-color:canvastext}}.section-title{align-items:baseline;gap:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--rule);display:flex}.num{font-variant-numeric:tabular-nums;font-weight:600}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--target);padding:0 var(--space-4);border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--surface);color:var(--ink);font-weight:600;font-size:var(--text-sm);cursor:pointer;transition:background var(--quick) var(--ease), border-color var(--quick) var(--ease), transform var(--quick) var(--ease);text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-2)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--vermilion);border-color:var(--vermilion);color:var(--vermilion-ink)}.btn-primary:hover:not(:disabled){background:color-mix(in srgb, var(--vermilion) 88%, var(--ink))}.btn-quiet{color:var(--ultramarine);background:0 0;border-color:#0000}.btn-quiet:hover:not(:disabled){background:var(--ultramarine-soft)}.btn-danger{color:var(--error)}.btn-sm{min-height:36px;padding:0 var(--space-3)}.icon-btn{width:var(--target);height:var(--target);border-radius:var(--radius);color:var(--ink);cursor:pointer;transition:background var(--quick) var(--ease);background:0 0;border:1px solid #0000;place-items:center;padding:0;display:inline-grid}.icon-btn:hover:not(:disabled){background:var(--surface-2)}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.icon{flex:none;width:20px;height:20px}.field{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.field-label{font-size:var(--text-sm);font-weight:600}.field-hint{font-size:var(--text-xs);color:var(--ink-muted)}.input,.select,.textarea{width:100%;min-height:var(--target);padding:var(--space-2) var(--space-3);border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--surface);color:var(--ink)}.textarea{resize:vertical;min-height:96px}::placeholder{color:var(--ink-muted);opacity:1}.input-narrow{text-align:center;width:7ch;min-width:7ch}.fields{gap:var(--space-3) var(--space-4);grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));display:grid}.fields-second-below>:nth-child(2){grid-area:2/1}[data-halo][data-halo]{border-radius:var(--radius);box-shadow:0 0 0 1px var(--halo), 0 0 0 3px var(--halo-soft), 0 0 9px 3px var(--halo-soft);position:relative}.rows[data-halo]{overflow:visible}.rows:has([data-halo]){overflow:visible}:is(.stack,.fields,.row,.cards,div:not([class])):not(.card)[data-halo]{padding:var(--space-3);margin:calc(-1 * var(--space-3))}.combo{position:relative}.combo>.input{padding-right:var(--target);text-overflow:ellipsis}.combo>.input:disabled{background:var(--surface-2);color:var(--ink-muted);cursor:not-allowed}.combo-toggle{width:var(--target);border-radius:var(--radius);height:100%;color:var(--ink-muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;top:0;right:0}.combo-toggle:hover{color:var(--ink)}.combo-toggle .icon{transition:transform var(--quick) var(--ease);transform:rotate(90deg)}.combo-toggle[aria-expanded=true] .icon{transform:rotate(-90deg)}.combo-list{z-index:35;top:calc(100% + var(--space-1));max-height:min(18rem,50dvh);padding:var(--space-1) 0;border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-2);position:absolute;left:0;right:0;overflow-y:auto}.combo[data-up]>.combo-list{top:auto;bottom:calc(100% + var(--space-1))}.combo-heading{padding:var(--space-2) var(--space-3) var(--space-1);color:var(--ink-muted);font-size:var(--text-sm);font-style:italic}.combo-option,.combo-more{padding:var(--space-1) var(--space-3);border-left:3px solid #0000}.combo-option{cursor:pointer}.combo-option:hover,.combo-option[data-active]{background:var(--surface-2)}.combo-option[data-active]{outline:2px solid var(--ultramarine);outline-offset:-2px}.combo-option[aria-selected=true]{border-left-color:var(--vermilion);font-weight:600}.combo-more{color:var(--ink-muted);font-style:italic}@media (pointer:coarse){.combo-option,.combo-more{min-height:var(--target);align-items:center;display:flex}}.stepper{align-items:center;gap:var(--space-1);display:inline-flex}.stepper output{text-align:center;min-width:3ch;font-family:var(--font-display);font-size:var(--text-lg);font-weight:600}.stepper .icon-btn{border-color:var(--rule-strong);background:var(--surface)}.switch{align-items:center;gap:var(--space-3);min-height:var(--target);cursor:pointer;display:inline-flex}.switch input{appearance:none;border:1px solid var(--rule-strong);background:var(--surface-2);cursor:pointer;width:44px;height:26px;transition:background var(--quick) var(--ease);border-radius:13px;flex:none;margin:0;position:relative}.switch input:after{content:"";background:var(--rule-strong);width:18px;height:18px;transition:transform var(--quick) var(--ease), background var(--quick) var(--ease);border-radius:50%;position:absolute;top:3px;left:3px}.switch input:checked{background:var(--vermilion);border-color:var(--vermilion)}.switch input:checked:after{background:var(--vermilion-ink);transform:translate(18px)}.check{align-items:center;gap:var(--space-2);cursor:pointer;min-height:36px;display:inline-flex}.check input{width:18px;height:18px;accent-color:var(--vermilion);margin:0}.card{padding:var(--space-4);border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-1);min-width:0}.card-flat{box-shadow:none;background:var(--surface-2)}.choice{gap:var(--space-2);width:100%;min-height:var(--target);padding:var(--space-4);border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-1);color:var(--ink);text-align:left;cursor:pointer;transition:border-color var(--quick) var(--ease), box-shadow var(--quick) var(--ease), transform var(--quick) var(--ease);flex-direction:column;text-decoration:none;display:flex;position:relative}.choice:hover{border-color:var(--rule-strong);box-shadow:var(--shadow-2);transform:translateY(-1px)}.choice[aria-pressed=true],.choice[aria-checked=true],.choice[aria-current=true],.choice.is-selected{border-color:var(--vermilion);box-shadow:inset 4px 0 0 var(--vermilion), var(--shadow-1)}.choice-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;line-height:1.2}.choice-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.choice-text{color:var(--ink-muted);font-size:var(--text-sm)}.tag{align-items:center;gap:var(--space-1);padding:1px var(--space-2);border:1px solid var(--rule);background:var(--surface-2);color:var(--ink-muted);font-size:var(--text-xs);white-space:nowrap;border-radius:999px;font-weight:600;display:inline-flex}.tag-gold{background:var(--gold-soft);color:var(--gold);border-color:#0000}.tag-ok{background:var(--ok-soft);color:var(--ok);border-color:#0000}.tag-warn{background:var(--warn-soft);color:var(--warn);border-color:#0000}.tag-error{background:var(--error-soft);color:var(--error);border-color:#0000}.meter{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.meter-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);font-size:var(--text-sm);display:flex}.meter-track{background:var(--surface-3);border-radius:3px;height:6px;overflow:hidden}.meter-fill{background:var(--gold-fill);height:100%;transition:width var(--settle) var(--ease);border-radius:3px}.meter[data-status=error] .meter-fill{background:var(--error)}.meter[data-status=ok] .meter-fill{background:var(--ok)}.alert{gap:var(--space-2) var(--space-3);padding:var(--space-3);border:1px solid var(--rule);border-left:4px solid var(--rule-strong);border-radius:var(--radius);background:var(--surface);grid-template-columns:auto 1fr;min-width:0;display:grid}.alert[data-severity=error]{border-left-color:var(--error)}.alert[data-severity=warning]{border-left-color:var(--warn)}.alert[data-severity=info]{border-left-color:var(--ultramarine)}.alert[data-severity=todo]{border-left-color:var(--gold-fill)}.alert-mark{margin-top:2px}.alert[data-severity=error] .alert-mark{color:var(--error)}.alert[data-severity=warning] .alert-mark{color:var(--warn)}.alert[data-severity=info] .alert-mark{color:var(--ultramarine)}.alert[data-severity=todo] .alert-mark{color:var(--gold)}.alert-body{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.alert-names{color:var(--ink-muted);font-size:var(--text-sm)}.alert-why{font-size:var(--text-sm);color:var(--ink-muted)}.quote{padding-left:var(--space-3);border-left:2px solid var(--gold-fill);font-family:var(--font-display);font-size:var(--text-md);color:var(--ink)}.disclosure>summary{align-items:center;gap:var(--space-2);min-height:var(--target);color:var(--ultramarine);font-weight:600;font-size:var(--text-sm);cursor:pointer;list-style:none;display:flex}.disclosure>summary::-webkit-details-marker{display:none}.disclosure>summary:before{content:"";width:7px;height:7px;transition:transform var(--quick) var(--ease);border-bottom:2px solid;border-right:2px solid;transform:rotate(-45deg)}.disclosure[open]>summary:before{transform:rotate(45deg)}dialog.dialog{width:min(680px, calc(100vw - 2 * var(--space-4)));max-height:calc(100dvh - 2 * var(--space-4));border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-2);padding:0}dialog.dialog::backdrop{background:#140f0880}.dialog-head{z-index:1;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-5);border-bottom:1px solid var(--rule);background:var(--surface);display:flex;position:sticky;top:0}.dialog-body{padding:var(--space-5)}dialog.dialog.panel{width:min(860px, calc(100vw - 2 * var(--space-4)));overflow:hidden;box-shadow:0 2px 6px #1e14052e,0 18px 40px #1e14054d,0 48px 110px #1e140561}dialog.dialog.panel[open]{flex-direction:column;display:flex}dialog.dialog.panel::backdrop{background:#140f0852}.panel-title{font-size:var(--text-xl)}.panel-body{overscroll-behavior:contain;flex:auto;min-height:0;overflow-y:auto}.panel-foot{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-top:1px solid var(--rule);background:var(--surface-2);flex-wrap:wrap;display:flex}.fold-closed{--fold-gone:calc(100% - var(--fold-foot,0px) - .25rem);--fold-fog:linear-gradient(to bottom, #000 calc(var(--fold-gone) - 3.5rem), #0000004d calc(var(--fold-gone) - 1.5rem), transparent var(--fold-gone));-webkit-mask-image:var(--fold-fog);-webkit-mask-image:var(--fold-fog);mask-image:var(--fold-fog);overflow:hidden}.fold-box{position:relative}.fold-foot{margin-top:var(--space-2)}.fold-box-closed>.fold-foot{margin:0;position:absolute;bottom:0;left:0;right:0}.fold-action{margin-top:calc(-1 * var(--space-2))}.fold-action>.btn{margin-left:calc(-1 * var(--space-3))}.book{font-family:var(--font-display);min-width:0;max-width:68ch;font-size:1.125rem;line-height:1.5}.book>*+*{margin-top:var(--space-3)}.book h3,.book h4{font-size:var(--text-lg)}.book ul{padding-left:var(--space-5);list-style:outside}.book li+li{margin-top:var(--space-1)}.book blockquote{padding:var(--space-3) var(--space-4);border-left:3px solid var(--gold-fill);background:var(--surface-2);border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin:0}.book blockquote>*+*{margin-top:var(--space-2)}.book-table{max-width:100%;overflow-x:auto}.book table{border-collapse:collapse;font-family:var(--font-body);font-size:var(--text-sm)}.book th,.book td{padding:var(--space-1) var(--space-3);border-bottom:1px solid var(--rule);text-align:left;vertical-align:top}.book-credit{font-family:var(--font-body);font-size:var(--text-xs);color:var(--ink-muted)}.explain{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.explain-part{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.changes{gap:var(--space-1);font-size:var(--text-sm);flex-direction:column;display:flex}.changes li{justify-content:space-between;gap:var(--space-3);padding:var(--space-1) 0;border-bottom:1px dotted var(--rule);display:flex}.table-wrap{max-width:100%;overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.table th{padding:var(--space-2);border-bottom:1px solid var(--rule-strong);color:var(--ink-muted);font-size:var(--text-xs);letter-spacing:.06em;text-align:left;text-transform:uppercase;font-weight:600}.table td{padding:var(--space-2);border-bottom:1px solid var(--rule);vertical-align:top}.table tbody th{padding:var(--space-2);border-bottom:1px solid var(--rule);color:var(--ink);font-size:var(--text-sm);letter-spacing:0;text-transform:none;font-weight:400}.table .n{text-align:right}.rows{border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface);flex-direction:column;display:flex;overflow:hidden}.rows>li{align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-2) var(--space-3);flex-wrap:wrap;min-width:0;display:flex}.rows>li+li{border-top:1px solid var(--rule)}.rows>li.is-selected{background:var(--gold-soft)}.row-name{min-width:0;font-family:var(--font-display);font-size:var(--text-lg);flex:12ch;line-height:1.2}.row-name-btn{min-width:0;min-height:var(--target);color:inherit;font-family:var(--font-display);font-size:var(--text-lg);text-align:left;cursor:pointer;background:0 0;border:0;flex:12ch;padding:0;line-height:1.2}.row-name-btn:hover{color:var(--vermilion)}.row-cost{color:var(--ink-muted);font-size:var(--text-sm);white-space:nowrap}.row-actions{flex:none;align-items:center;display:inline-flex}.field-row{align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.field-row>.grow{flex:200px}.field-row>.btn{margin-top:calc(var(--text-sm) * 1.5 + var(--space-1))}.row-more{gap:var(--space-3);padding:var(--space-2) 0 var(--space-3);flex-direction:column;flex-basis:100%;min-width:0;display:flex}.rows>li.stat-row{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;display:grid}.stat-row .row-name{flex-direction:column;justify-content:center;min-height:46px;display:flex}.stat-row .row-cost{font-family:var(--font-body);white-space:normal}.cards>.card>.row:last-child{margin-top:auto}@media (pointer:coarse){.btn-sm,.chip,.check,.segment{min-height:var(--target)}}.empty{padding:var(--space-5);border:1px dashed var(--rule-strong);border-radius:var(--radius);color:var(--ink-muted);text-align:center}.toasts{left:50%;bottom:var(--space-5);z-index:60;gap:var(--space-2);width:min(480px, calc(100vw - 2 * var(--space-4)));flex-direction:column;display:flex;position:fixed;transform:translate(-50%)}.toast{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border-radius:var(--radius);background:var(--ink);color:var(--bg);box-shadow:var(--shadow-2);display:flex}.toast-text{align-items:flex-start;gap:var(--space-2);min-width:0;display:flex}.toast-text .icon{flex:none;margin-top:2px}.toast[data-tone=notice]{border:1px solid var(--gold-fill);background:var(--gold-soft);color:var(--ink)}.toast[data-tone=notice] .toast-text .icon{color:var(--gold)}.toast[data-tone=notice] .icon-btn:hover{background:color-mix(in srgb, var(--gold-fill) 28%, transparent)}:root:has(dialog.panel[open]) .notices-page{display:none}.toast .btn-quiet{color:inherit;text-decoration:underline}.toast .btn-quiet:hover,.toast .icon-btn:hover{background:color-mix(in srgb, var(--bg) 18%, transparent)}.page{flex-direction:column;min-height:100dvh;display:flex}.top{z-index:40;align-items:center;gap:var(--space-3);min-height:60px;padding:var(--space-2) var(--space-5);border-bottom:1px solid var(--rule);background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;position:sticky;top:0}.wordmark{align-items:baseline;gap:var(--space-2);min-height:var(--target);padding:0 var(--space-1);color:var(--ink);font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;line-height:var(--target);text-decoration:none;display:inline-flex}.wordmark-mark{color:var(--vermilion)}.top-tools{justify-content:flex-end;align-items:center;gap:var(--space-1);flex:1 1 0;min-width:0;display:flex}.top-name{min-width:0;margin-right:var(--space-2);font-family:var(--font-display);font-size:var(--text-lg);text-overflow:ellipsis;white-space:nowrap;flex:0 auto;overflow:hidden}.screen{width:min(1180px,100%);padding:var(--space-6) var(--space-5) var(--space-7);flex:1 0 auto;margin:0 auto}.foot{padding:var(--space-5);border-top:1px solid var(--rule);color:var(--ink-muted);font-size:var(--text-xs);text-align:center}.foot-logo img{width:min(280px,100%);height:auto;margin-bottom:var(--space-2);display:inline-block}.foot p+p{margin-top:var(--space-1)}.editor{align-items:start;gap:var(--space-5);width:min(1560px,100%);padding:var(--space-5) var(--space-5) var(--space-7);flex:1 0 auto;grid-template-columns:204px minmax(0,1fr) 312px;margin:0 auto;display:grid}.editor-trail,.editor-side{max-height:calc(100dvh - 92px);position:sticky;top:76px;overflow-y:auto}.editor-side{padding:var(--space-4);border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-1)}.editor-main{min-width:0}.editor-foot{z-index:30;justify-content:space-between;align-items:center;gap:var(--space-3);margin:0 calc(-1 * var(--space-5)) calc(-1 * var(--space-7));padding:var(--space-2) var(--space-5);border-top:1px solid var(--rule);background:var(--surface);grid-column:1/-1;display:flex;position:sticky;bottom:0}.trail-list{flex-direction:column;gap:2px;display:flex}.trail-step{align-items:center;gap:var(--space-3);min-height:var(--target);padding:var(--space-1) var(--space-3);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--ink);font-size:var(--text-sm);transition:background var(--quick) var(--ease);border-left:3px solid #0000;text-decoration:none;display:flex}.trail-step:hover{background:var(--surface-2)}.trail-step[aria-current=step]{border-left-color:var(--vermilion);background:var(--surface);box-shadow:var(--shadow-1);font-weight:600}.trail-n{border:1px solid var(--rule-strong);width:26px;height:26px;color:var(--ink-muted);font-size:var(--text-xs);border-radius:50%;flex:none;place-items:center;font-weight:600;display:inline-grid}.trail-n .icon{width:15px;height:15px}.trail-step[data-status=done] .trail-n{border-color:var(--ok);color:var(--ok)}.trail-step[data-status=error] .trail-n{border-color:var(--error);color:var(--error)}.trail-step[data-status=warning] .trail-n{border-color:var(--warn);color:var(--warn)}.trail-step[data-status=todo] .trail-n{border-color:var(--gold-fill);color:var(--gold)}.trail-menu>summary{align-items:center;gap:var(--space-2);min-height:var(--target);padding:0 var(--space-3);border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--surface);font-size:var(--text-sm);cursor:pointer;font-weight:600;list-style:none;display:flex}.trail-menu>summary::-webkit-details-marker{display:none}.trail-menu[open]>summary{margin-bottom:var(--space-2)}.step-nav{padding-top:var(--space-4);border-top:1px solid var(--rule)}.split{align-items:start;gap:var(--space-5);grid-template-columns:minmax(0,1fr) minmax(280px,360px);display:grid}.split-main{min-width:0}.split-aside{max-height:calc(100dvh - 92px);padding:var(--space-4);border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface);min-width:0;position:sticky;top:76px;overflow-y:auto}.split-aside-beside-form{max-height:none;position:static;overflow:visible}.row>.grow>.budget{height:100%}.kinds>.kind{grid-row:span 4;grid-template-rows:subgrid;row-gap:var(--space-4);display:grid}.power-fields{align-items:start;gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto auto minmax(8rem,12rem) auto;display:grid}.power-fields>.icon-btn{margin-top:calc(var(--text-sm) * 1.5 + var(--space-1))}@media (width<=799px){.power-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.power-fields>:first-child{grid-column:1/-1}}.catalogue-categories{grid-auto-rows:1fr}.catalogue-categories>li{display:flex}.catalogue-categories .category{height:100%}.catalogue-categories .choice-text{min-height:2lh}.detail-title{padding-bottom:var(--space-2);border-bottom:1px solid var(--rule)}.catalogue-bar{align-items:flex-end;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface-2);flex-wrap:wrap;display:flex}.catalogue-search{flex:2 200px}.catalogue-filter{flex:120px;max-width:16rem}.rows.abilities>li>.row-cost{text-align:right;min-width:5.5ch}.search-box{position:relative}.search-box .icon{top:50%;left:var(--space-3);color:var(--ink-muted);pointer-events:none;position:absolute;transform:translateY(-50%)}.search-box .input{padding-left:40px}.category .choice-head{align-items:center}.chip{min-height:32px;padding:0 var(--space-3);cursor:pointer}.chip:hover{border-color:var(--rule-strong)}.catalogue-list .row-name-btn .term{font-size:inherit}.catalogue-list>li{grid-template-columns:minmax(0,1fr);gap:0;padding-top:0;display:grid}.catalogue-list>li .row-name-btn{min-height:40px}.catalogue-list .entry-meta{align-items:center;gap:var(--space-2);padding-bottom:var(--space-2);color:var(--ink-muted);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.glance-lines{gap:var(--space-1) var(--space-3);font-size:var(--text-sm);grid-template-columns:1fr auto;margin:0;display:grid}.glance-lines dd{text-align:right;margin:0}.editor[data-step=sheet]{grid-template-columns:204px minmax(0,1fr)}.editor[data-step=sheet] .editor-main{max-width:880px}.specialty{flex:180px;min-width:0}.rows.abilities{overflow:visible}.rows .field{flex:0 auto}.rows.aging>li{grid-template-columns:minmax(9rem,1fr) auto auto;align-items:center;display:grid}.rows.aging .field{align-items:center;gap:var(--space-2);grid-template-columns:7rem 7ch;display:grid}.rows.aging .field-label{color:var(--ink-muted);font-weight:400}@media (width<=640px){.rows.aging>li{grid-template-columns:minmax(0,1fr)}}.row-sub{font-family:var(--font-body);font-size:var(--text-sm);color:var(--ink-muted);display:block}.facts{gap:var(--space-1) var(--space-3);font-size:var(--text-sm);grid-template-columns:auto 1fr;margin:0;display:grid}.facts dt{color:var(--ink-muted)}.facts dd{margin:0}.explained{gap:var(--space-1);font-size:var(--text-sm);grid-template-columns:1fr;margin:0;display:grid}.explained dt{margin-top:var(--space-2);color:var(--vermilion);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;font-weight:600}.explained dd{margin:0}.segmented{gap:var(--space-1);padding:var(--space-1);border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface-2);flex-wrap:wrap;align-self:flex-start;display:inline-flex}.segment{min-height:40px;padding:0 var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;font-weight:600}.segment[aria-selected=true]{background:var(--surface);box-shadow:var(--shadow-1);color:var(--vermilion)}.chip-choice{min-height:var(--target);padding:0 var(--space-4);border:1px solid var(--rule-strong);background:var(--surface);cursor:pointer;transition:background var(--quick) var(--ease), border-color var(--quick) var(--ease);border-radius:999px}.chip-choice:hover{background:var(--surface-2)}.chip-choice[aria-checked=true]{border-color:var(--vermilion);background:var(--vermilion);color:var(--vermilion-ink)}fieldset{border:0;min-width:0;margin:0;padding:0}legend{margin-bottom:var(--space-2);padding:0}.statblock{font-family:var(--font-display);font-size:1.125rem;line-height:1.45}.statblock h3{margin-bottom:var(--space-3);color:var(--vermilion);font-size:var(--text-xl)}.statblock dl{gap:var(--space-2);flex-direction:column;margin:0;display:flex}.statblock dt{font-weight:600;display:inline}.statblock dt:after{content:": "}.statblock dd{margin:0;display:inline}.statblock ul{padding-left:var(--space-5);list-style:outside}@media (width<=1199px){.editor,.editor[data-step=sheet]{gap:var(--space-5);grid-template-columns:204px minmax(0,1fr)}}@media (width<=1023px){.split{grid-template-columns:minmax(0,1fr)}.split-aside{max-height:none;position:static}}@media (width<=799px){.editor,.editor[data-step=sheet]{gap:var(--space-4);padding:var(--space-3) var(--space-4) var(--space-7);grid-template-columns:minmax(0,1fr)}.editor-trail{max-height:none;position:static;overflow:visible}.editor-foot{margin:0 calc(-1 * var(--space-4)) calc(-1 * var(--space-7));padding:var(--space-2) var(--space-4)}.top{padding:var(--space-2) var(--space-3);gap:var(--space-1)}.top-name{display:none}.top-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.screen{padding:var(--space-5) var(--space-4) var(--space-7)}h1{font-size:var(--text-xl)}.dialog-body{padding:var(--space-4)}}.item-fields,.effect-fields{align-items:start;gap:var(--space-3);grid-template-columns:minmax(0,1fr) minmax(10rem,14rem) minmax(8rem,12rem) auto;display:grid}.effect-fields{grid-template-columns:minmax(0,1fr) minmax(12rem,1.4fr) 7rem auto}.item-fields>.icon-btn,.effect-fields>.icon-btn{margin-top:calc(var(--text-sm) * 1.5 + var(--space-1))}.items .field .combo{min-width:0}@media (width<=799px){.item-fields,.effect-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.item-fields>:first-child,.effect-fields>:first-child,.effect-fields>:nth-child(2){grid-column:1/-1}}.statblock-line[data-note] dd{color:var(--ink-muted);font-style:italic}.houses{grid-auto-rows:1fr}.house-yours{align-items:center;gap:var(--space-1);color:var(--vermilion);font-size:var(--text-sm);margin-top:auto;font-weight:600;display:inline-flex}.house-follows{scroll-margin:var(--space-5)}.house-about{gap:var(--space-5);grid-template-columns:minmax(0,1fr) clamp(140px,26%,220px);align-items:start;display:grid}.house-about>.stack{grid-area:1/1}.house-symbol{aspect-ratio:1;background-color:var(--ink);width:100%;-webkit-mask:var(--symbol) center / contain no-repeat;-webkit-mask:var(--symbol) center / contain no-repeat;mask:var(--symbol) center / contain no-repeat;grid-area:1/2;display:block;position:sticky;top:0}@media (forced-colors:active){.house-symbol{forced-color-adjust:none;background-color:canvastext}}@media (width<=560px){.house-about{grid-template-columns:minmax(0,1fr)}.house-symbol{grid-column:1;justify-self:center;width:120px;position:static}.house-about>.stack{grid-row:2}}.house-mark{aspect-ratio:1;background-color:var(--ink);width:44px;-webkit-mask:var(--symbol) center / contain no-repeat;-webkit-mask:var(--symbol) center / contain no-repeat;mask:var(--symbol) center / contain no-repeat;flex:none;display:block}@media (forced-colors:active){.house-mark{forced-color-adjust:none;background-color:canvastext}}.house-why{max-width:68ch;color:var(--ink);margin:0}.grants{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));align-items:start}.slot-group{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--rule);background:var(--surface-2);margin:0}.slot-list{overscroll-behavior:contain;border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--surface);max-height:260px;overflow-y:auto}@keyframes ink-settle{0%{opacity:0;filter:blur(4px);transform:translateY(4px)}to{opacity:1;filter:blur();transform:none}}.step,.screen>*,.catalogue-detail,dialog.dialog[open]{animation:ink-settle var(--settle) var(--ease) both}@keyframes panel-rise{0%{opacity:0;transform:translateY(18px)scale(.965)}to{opacity:1;transform:none}}@keyframes panel-leave{to{opacity:0;transform:translateY(10px)scale(.98)}}@keyframes veil{0%{opacity:0}}@keyframes veil-lift{to{opacity:0}}.panel-page{animation:ink-settle var(--settle) var(--ease) both}dialog.dialog.panel[open]{animation:panel-rise var(--settle) var(--ease) both}dialog.dialog.panel[open]::backdrop{animation:veil var(--settle) ease-out both}dialog.dialog.panel.is-leaving{animation:panel-leave var(--quick) ease-in both}dialog.dialog.panel.is-leaving::backdrop{animation:veil-lift var(--quick) ease-in both}@keyframes gild{0%{color:var(--gold-fill);text-shadow:0 0 12px color-mix(in srgb, var(--gold-fill) 70%, transparent)}to{color:var(--ink);text-shadow:0 0 #0000}}.initial:first-letter{animation:1.1s ease-out both gild}@keyframes gild-drawn{0%{background-color:var(--gold-fill)}to{background-color:var(--ink)}}@keyframes gild-glow{0%{filter:drop-shadow(0 0 6px color-mix(in srgb, var(--gold-fill) 70%, transparent))}to{filter:drop-shadow(0 0 #0000)}}.initial-glyph{animation:1.1s ease-out both gild-glow}.initial-glyph:before{animation:1.1s ease-out both gild-drawn}@keyframes quicken{0%{text-shadow:0 0 10px color-mix(in srgb, var(--gold-fill) 85%, transparent);color:var(--gold)}to{text-shadow:0 0 #0000}}.num.quicken{animation:.6s ease-out quicken}@keyframes quicken-lit{0%{background-color:var(--surface);box-shadow:0 0 0 3px var(--surface)}to{background-color:#0000;box-shadow:0 0 0 3px #0000}}.tag .num.quicken{border-radius:3px;animation:.6s ease-out quicken-lit}@keyframes filet{0%{box-shadow:inset 0 0 0 var(--vermilion), var(--shadow-1)}}.choice[aria-checked=true],.choice[aria-pressed=true]{animation:filet var(--settle) var(--ease)}@keyframes margin-note{0%{opacity:0;transform:translate(-6px)}}.alert{animation:margin-note var(--settle) var(--ease) both}.toast{animation:ink-settle var(--settle) var(--ease) both}@keyframes halo-glow{50%{box-shadow:0 0 0 1px var(--halo), 0 0 0 5px var(--halo-soft), 0 0 20px 9px var(--halo-soft)}}[data-halo]{animation:2.8s ease-in-out infinite halo-glow}@media (prefers-reduced-motion:reduce){*,:before,:after,.initial:first-letter{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
