/* Layout UI */:root{--motion-normal:300ms;--motion-ease:ease-in-out;--motion-distance:8px;color-scheme:light;background:var(--bg);--error:#b42336;--bg:#f7f7f2;--surface:#fff;--soft:#eeefe9;--ink:#202923;--muted:#5e685f;--line:#d9ddd4;--accent:#294cda;--accent-hover:#203cac;--tint:#e9edff;--on-accent:#fff;--radius:12px;--space:1.5rem;--page-gutter:32px;--content-width:1200px;--shadow:0 24px 70px #26322112;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.6}:root[data-theme=dark]{color-scheme:dark;--error:#ff9caa;--bg:#141916;--surface:#1d2420;--soft:#262f28;--ink:#edf1e9;--muted:#abb6ad;--line:#38433b;--accent:#a8b8ff;--accent-hover:#c5cfff;--tint:#283352;--on-accent:#152247;--shadow:0 24px 70px #0003}:root[data-palette=iris]{--accent:#7040bd;--accent-hover:#572c9c;--tint:#f0e8fc}:root[data-palette=grove]{--accent:#216b47;--accent-hover:#174f34;--tint:#e1f1e7}:root[data-theme=dark][data-palette=iris]{--accent:#cfb0ff;--accent-hover:#e0cdff;--tint:#3b2e4f;--on-accent:#302044}:root[data-theme=dark][data-palette=grove]{--accent:#94d8ae;--accent-hover:#b7e8ca;--tint:#253e31;--on-accent:#153322}:root[data-palette=rose]{--accent:#c21e47;--accent-hover:#9a1839;--tint:#fdf2f5;--on-accent:#ffffff;}:root[data-theme=dark][data-palette=rose]{--accent:#f1a7b9;--accent-hover:#f7cad5;--tint:#350813;--on-accent:#350813;}:root[data-palette=amber]{--accent:#815d08;--accent-hover:#604506;--tint:#fefaf1;--on-accent:#ffffff;}:root[data-theme=dark][data-palette=amber]{--accent:#f9de9f;--accent-hover:#fbebc5;--tint:#3a2904;--on-accent:#3a2904;}:root[data-palette=teal]{--accent:#1c6e6a;--accent-hover:#14524f;--tint:#f3fcfb;--on-accent:#ffffff;}:root[data-theme=dark][data-palette=teal]{--accent:#adebe8;--accent-hover:#cef3f1;--tint:#0c312f;--on-accent:#0c312f;}:root[data-palette=sky]{--accent:#1365a0;--accent-hover:#0e4e7b;--tint:#f1f8fd;--on-accent:#ffffff;}:root[data-theme=dark][data-palette=sky]{--accent:#a4d3f4;--accent-hover:#c8e4f9;--tint:#062337;--on-accent:#062337;}:root[data-palette=slate]{--accent:#5f6c81;--accent-hover:#4c5667;--tint:#f6f7f8;--on-accent:#ffffff;}:root[data-theme=dark][data-palette=slate]{--accent:#c4cad4;--accent-hover:#dcdfe5;--tint:#1a1d23;--on-accent:#1a1d23;}:root[data-palette=orange]{--accent:#a64c0c;--accent-hover:#803b0a;--tint:#fef6f1;--on-accent:#ffffff;}:root[data-theme=dark][data-palette=orange]{--accent:#f8c5a0;--accent-hover:#fbdcc6;--tint:#391a04;--on-accent:#391a04;}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}a{color:var(--accent);text-underline-offset:4px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}img,svg{max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.12;letter-spacing:-.045em}h1{font-size:clamp(2.8rem,6.3vw,5.5rem);font-weight:550}h2{font-size:clamp(2rem,3.5vw,3rem);font-weight:550}h3{font-size:1.25rem;font-weight:600}p{max-width:65ch}small{font-size:.8rem}button,a,input,select,textarea,summary,[tabindex]{outline-offset:5px}:focus-visible{outline:2px solid var(--accent)}main[tabindex="-1"]:focus{outline:none}[hidden]{display:none!important}@media(prefers-reduced-motion:no-preference){:where(a,button,input,select,textarea){transition:background-color var(--motion-normal) var(--motion-ease),color var(--motion-normal) var(--motion-ease),border-color var(--motion-normal) var(--motion-ease),box-shadow var(--motion-normal) var(--motion-ease)}}@media(prefers-reduced-motion:reduce){*,::before,::after,::backdrop,::details-content{animation:none!important;transition:none!important;scroll-behavior:auto!important}}:where([data-motion=none],[data-motion=none] *),:where([data-motion=none],[data-motion=none] *)::before,:where([data-motion=none],[data-motion=none] *)::after,:where([data-motion=none],[data-motion=none] *)::backdrop,:where([data-motion=none],[data-motion=none] *)::details-content{animation:none!important;transition:none!important;scroll-behavior:auto!important}.container{width:min(var(--content-width),calc(100% - 2 * var(--page-gutter)));margin-inline:auto}.stack{display:flex;flex-direction:column;gap:var(--space)}.cluster{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:var(--space)}[data-canvas]{position:relative;isolation:isolate}[data-canvas]::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;opacity:var(--canvas-opacity,.2);background-size:var(--canvas-step,24px) var(--canvas-step,24px);mask-image:linear-gradient(90deg,#000,transparent 35%,transparent 65%,#000)}[data-canvas="dots"]::before{background-image:radial-gradient(var(--line) 1px,transparent 1px)}[data-canvas="grid"]::before{background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px)}[data-ruler]::after{content:"";position:absolute;inset:0 24px auto;height:8px;border-bottom:1px solid var(--line);background:repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px 24px);pointer-events:none}
[data-finish=flat]{--finish-image:none;--finish-button:none;--finish-shadow:none;--finish-edge:color-mix(in srgb,var(--line) 60%,var(--surface));--finish-blur:none;--finish-surface:var(--surface);}[data-finish=gradient]{--finish-image:linear-gradient(145deg,color-mix(in srgb,var(--accent) 6%,transparent),color-mix(in srgb,var(--ink) 2%,transparent));--finish-button:linear-gradient(145deg,#ffffff08,#00000008);--finish-shadow:0 3px 12px #0000000a;--finish-edge:color-mix(in srgb,var(--line) 60%,var(--surface));--finish-blur:none;--finish-surface:var(--surface);}[data-finish=glass]{--finish-image:linear-gradient(145deg,#ffffff30,transparent 48%,#0000000a);--finish-button:linear-gradient(145deg,#ffffff30,transparent 48%,#0000000a);--finish-shadow:inset 0 .5px #ffffff26,0 8px 28px #0000001a;--finish-edge:color-mix(in srgb,var(--line) 45%,transparent);--finish-blur:none;--finish-surface:var(--surface);}@supports(backdrop-filter:blur(20px)){[data-finish=glass]{--finish-surface:color-mix(in srgb,var(--surface) 68%,transparent);--finish-blur:blur(20px) saturate(1.5)}}.surface{background-color:var(--finish-surface,var(--surface));backdrop-filter:var(--finish-blur,none);background-image:var(--finish-image,none);box-shadow:var(--finish-shadow,none);border-color:var(--finish-edge,var(--line))}.text-gradient{color:var(--accent);padding-inline-end:.08em;margin-inline-end:-.08em;box-decoration-break:clone;-webkit-box-decoration-break:clone}@supports(background-clip:text){.text-gradient{background:var(--paint-text,linear-gradient(120deg,var(--accent),color-mix(in srgb,var(--accent) 80%,var(--ink))));background-clip:text;-webkit-text-fill-color:transparent}}@media(forced-colors:active){.text-gradient{background:none;-webkit-text-fill-color:currentColor}}@media(prefers-reduced-transparency:reduce){[data-finish=glass]{--finish-surface:var(--surface);--finish-blur:none}}
[data-guides]{border-inline:1px solid color-mix(in srgb,var(--line) 50%,transparent)}
:is(.field-error,.color-picker-error,[data-range-error]){margin:0;color:var(--error);font-size:.85rem;font-weight:500}:is(.field-error,.color-picker-error,[data-range-error]):not(:empty){position:relative;padding-inline-start:24px}:is(.field-error,.color-picker-error,[data-range-error]):not(:empty)::before{content:"!"/"";position:absolute;inset-inline-start:0;top:.2em;width:16px;height:16px;display:grid;place-items:center;border:1.5px solid currentColor;border-radius:50%;font:700 12px/1 sans-serif;box-sizing:border-box}fieldset{min-inline-size:0;margin:0;padding:16px;border:1px solid var(--finish-edge,var(--line));border-radius:var(--radius)}legend{max-inline-size:100%;padding-inline:8px;color:var(--ink);font-size:.85rem;font-weight:600;line-height:1.5;overflow-wrap:anywhere}.panel{min-width:0;overflow-wrap:anywhere;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space)}.panel{box-shadow:var(--finish-shadow,none);border-color:var(--finish-edge,var(--line));background-color:var(--finish-surface,var(--surface));background-image:var(--finish-image,none);backdrop-filter:var(--finish-blur,none)}.panel-link{text-decoration:none;color:var(--ink)}.panel-link:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--finish-edge,var(--line)))}.panel>:not(dialog,[popover]):first-child{margin-top:0}.panel>:not(dialog,[popover]):last-child{margin-bottom:0}.muted{color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.69rem;font-weight:700;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:44px;padding:.65rem 1.1rem;border:1px solid transparent;border-radius:var(--control-radius,7px);background:var(--brand,var(--accent));color:var(--on-brand,var(--on-accent));text-decoration:none;font-size:.86rem;font-weight:600;max-width:100%;overflow-wrap:anywhere;text-align:center}.btn.compact{padding-inline:.6rem}.btn:not(:disabled):hover{background-color:var(--brand-hover,var(--accent-hover))}.btn.secondary{background:color-mix(in srgb,var(--surface) 82%,transparent);border-color:var(--line);color:var(--ink)}.btn.secondary:not(:disabled):hover{background-color:color-mix(in srgb,var(--ink) 6%,transparent)}.btn.ghost{background:transparent;color:var(--ink)}.btn.ghost:not(:disabled):hover{background-color:color-mix(in srgb,var(--ink) 6%,transparent)}.btn:not(.ghost){background-image:var(--finish-button,none);box-shadow:var(--finish-shadow,none)}.btn.secondary{background-color:color-mix(in srgb,var(--surface) 82%,transparent);backdrop-filter:var(--finish-blur,none);border-color:var(--finish-edge,var(--line))}.btn:not(:disabled):not(.ghost):hover{box-shadow:inset 0 0 0 1px color-mix(in srgb,currentColor 12%,transparent),var(--finish-shadow,0 0 transparent)}.btn-icon{width:44px;height:44px;flex:none;padding:0}.btn>svg{width:1.25em;height:1.25em;flex:none}.btn-large{min-height:52px;padding:.8rem 1.4rem}.btn-pill{border-radius:999px}.btn:not(:disabled):active{background-color:var(--brand-hover,var(--accent-hover))}.btn.secondary:not(:disabled):active,.btn.ghost:not(:disabled):active{background-color:color-mix(in srgb,var(--ink) 10%,transparent)}.btn-choice{flex-direction:column;gap:8px;padding:12px 8px;line-height:24px;white-space:nowrap;outline-offset:-2px}.btn-gradient:not(.secondary):not(.ghost){background-image:var(--paint-button,var(--finish-button,none));color:var(--on-paint-button,var(--on-brand,var(--on-accent)))}.btn-gradient:not(.secondary):not(.ghost):not(:disabled):is(:hover,:active){background-image:var(--paint-button-hover,var(--paint-button,var(--finish-button,none)))}.badge{display:inline-flex;max-width:100%;vertical-align:middle;overflow-wrap:anywhere;align-items:center;gap:.4rem;border-radius:1em;background:color-mix(in srgb,var(--accent) 8%,transparent);color:color-mix(in srgb,var(--accent) 80%,var(--ink));padding:.25em .75em;font-size:.75rem;font-weight:600;line-height:1.5;align-self:flex-start}.badge-neutral{background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--ink)}.badge-outline{background:transparent;box-shadow:inset 0 0 0 1px var(--line);color:var(--ink)}.badge-solid{background:var(--accent);color:var(--on-accent)}.badge-rounded{border-radius:5px}.badge-pill,.badge-count{border-radius:999px}.badge-count{min-width:2em;justify-content:center;font-variant-numeric:tabular-nums}.badge>svg{width:1em;height:1em;flex:none}input,select,textarea{border:1px solid var(--line);border-radius:var(--control-radius,7px);padding:.65rem .8rem;background:var(--surface);color:var(--ink);min-width:0;max-width:100%}select:not([multiple]):not([size]):not(.select-control>select){appearance:none;min-height:44px;font-size:1rem;padding-inline-end:44px;background-image:linear-gradient(45deg,transparent 40%,var(--muted) 40% 60%,transparent 60%),linear-gradient(135deg,transparent 40%,var(--muted) 40% 60%,transparent 60%);background-position:right 23px center,right 18px center;background-size:5px 5px;background-repeat:no-repeat}select:not([multiple]):not([size]):not(.select-control>select):dir(rtl){background-position:left 18px center,left 23px center}@media(forced-colors:active){select:not([multiple]):not([size]):not(.select-control>select){appearance:auto;background-image:none}}/* Native form defaults; component classes retain precedence. */input:where(:not([type=checkbox],[type=radio],[type=range],[type=hidden],[type=button],[type=submit],[type=reset],[type=image],[type=color])),select,textarea{min-height:44px;font-size:1rem;line-height:1.4;border-color:var(--muted)}:is(input,textarea)::placeholder{color:var(--muted);opacity:1}:is(input,select,textarea):where(:disabled),:is(input,textarea):where([readonly]){background-color:var(--soft)}:is(input,select,textarea):where(:disabled){cursor:not-allowed}:is(input,select,textarea):where([aria-invalid=true]){border:2px dashed var(--error)}textarea{min-height:96px;resize:vertical}input:where([type=checkbox],[type=radio]){width:20px;height:20px;padding:0;margin:0;vertical-align:middle;accent-color:var(--brand,var(--accent))}input:where([type=range]){padding:0;min-height:44px;accent-color:var(--brand,var(--accent))}input:where([type=color]){width:44px;height:44px;padding:4px}button:where(:not([class])),input:where([type=button],[type=submit],[type=reset]),input::file-selector-button{min-height:44px;padding:10px 16px;border:1px solid var(--line);border-radius:var(--control-radius,8px);background:var(--surface);color:var(--ink);font:inherit;font-weight:600;cursor:pointer}:where(button:not([class]),input[type=button],input[type=submit],input[type=reset]):hover:not(:disabled){background:var(--soft)}label{font-size:.85rem;font-weight:550}label.stack{gap:.4rem}.field>p{margin:0}.field{display:flex;flex-direction:column;gap:8px;min-width:0;overflow-wrap:anywhere}.input{min-height:44px;font-size:1rem;border-color:var(--muted)}.input::placeholder{color:var(--muted);opacity:1}.input:disabled,.input[readonly]{background:var(--soft)}.input:disabled{cursor:not-allowed}.input[aria-invalid=true]{border-width:2px;border-style:dashed;border-color:var(--error)}.input-large{min-height:52px}pre{background:var(--soft);padding:1.5rem;overflow:auto;border:1px solid var(--line);border-radius:var(--radius);font-size:.8rem;line-height:1.85;margin:0;max-width:100%}code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}p code,li code{color:var(--accent);font-size:.88em}table{border-collapse:collapse;width:100%;font-size:.87rem;text-align:start}td,th{overflow-wrap:anywhere;vertical-align:top;padding:1rem .8rem;border-bottom:1px solid var(--line)}th{text-align:inherit;font-size:.72rem;color:var(--muted);font-weight:600}caption{text-align:start;margin-bottom:1rem;font-weight:600}.table-scroll{min-width:0;max-width:100%;overflow-x:auto}.table-scroll table{min-width:var(--table-min,28rem)}tbody th,tfoot th{font-size:inherit;color:inherit}.table-number{text-align:end;font-variant-numeric:tabular-nums;white-space:nowrap}.table-striped tbody tr:nth-child(even),tfoot{background:color-mix(in srgb,var(--ink) 4%,transparent)}.table-compact :is(td,th){padding:.5rem .8rem}dialog{width:min(440px,calc(100% - 32px));background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:16px;padding:2rem;box-shadow:var(--shadow)}dialog::backdrop{background:#0b151780}summary{display:flex;align-items:center;justify-content:space-between;gap:24px;cursor:pointer;user-select:none;-webkit-user-select:none;list-style:none;font-weight:500;padding:20px 0}summary::-webkit-details-marker{display:none}summary::after{content:"";flex:none;width:7px;height:7px;margin-inline-end:4px;border:solid var(--muted);border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}details[open]>summary::after{transform:rotate(225deg)}summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}details{overflow-wrap:anywhere;border-bottom:1px solid var(--line)}details>p,details>.disclosure-content{color:var(--muted);margin:0;padding-block:0 20px;padding-inline-end:32px}@media(prefers-reduced-motion:no-preference){summary::after{transition:transform var(--motion-normal) var(--motion-ease)}@supports(interpolate-size:allow-keywords){details::details-content{interpolate-size:allow-keywords;block-size:0;overflow:clip;transition:content-visibility var(--motion-normal) allow-discrete,block-size var(--motion-normal) var(--motion-ease)}details[open]::details-content{block-size:auto}}}/* Inline SVG */.icon{display:inline-block;width:var(--icon-size, 1.25rem);height:var(--icon-size, 1.25rem);flex:none;vertical-align:-.15em}@property --bg{syntax:"<color>";inherits:true;initial-value:#f7f7f2}@property --surface{syntax:"<color>";inherits:true;initial-value:#fff}@property --soft{syntax:"<color>";inherits:true;initial-value:#eeefe9}@property --ink{syntax:"<color>";inherits:true;initial-value:#202923}@property --muted{syntax:"<color>";inherits:true;initial-value:#5e685f}@property --line{syntax:"<color>";inherits:true;initial-value:#d9ddd4}@property --accent{syntax:"<color>";inherits:true;initial-value:#294cda}@property --accent-hover{syntax:"<color>";inherits:true;initial-value:#203cac}@property --tint{syntax:"<color>";inherits:true;initial-value:#e9edff}@property --on-accent{syntax:"<color>";inherits:true;initial-value:#fff}@keyframes layout-fade{from{opacity:0} to{opacity:1}}@keyframes layout-slide{from{opacity:0;transform:translateY(var(--motion-distance))} to{opacity:1;transform:translateY(0)}}@keyframes layout-scale{from{opacity:0;transform:scale(.98)} to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:no-preference){:root{transition-property:--bg,--surface,--soft,--ink,--muted,--line,--accent,--accent-hover,--tint,--on-accent;transition-duration:var(--motion-normal);transition-timing-function:var(--motion-ease)}.motion-enter{animation:layout-fade var(--motion-normal) var(--motion-ease) backwards;animation-delay:var(--motion-delay,0ms)}.motion-enter[data-effect=slide]{animation-name:layout-slide}.motion-enter[data-effect=scale]{animation-name:layout-scale}dialog[open]{animation:layout-scale var(--motion-normal) var(--motion-ease)}dialog[open]::backdrop{animation:layout-fade var(--motion-normal) var(--motion-ease)}}
/* Links */.link-underline{align-self:flex-start;overflow-wrap:anywhere;text-decoration:none;background:linear-gradient(currentColor,currentColor) no-repeat left bottom/100% 1px}.link-underline:dir(rtl){background-position:right bottom}.link-underline:hover{color:var(--accent-hover)}.link-underline:active{color:var(--ink)}.link-animated{background-size:0 1px}.link-animated:is(:hover,:focus-visible){background-size:100% 1px}.link-animated:focus-visible{transition:none}@media(prefers-reduced-motion:no-preference){.link-animated{transition:background-size var(--motion-normal) var(--motion-ease),color var(--motion-normal) var(--motion-ease)}}

:root[data-palette=lime]{--accent:#517217;--accent-hover:#3c5511;--tint:#f9fcf2;--on-accent:#ffffff;}:root[data-theme=dark][data-palette=lime]{--accent:#d5eeaa;--accent-hover:#e6f5cc;--tint:#24330a;--on-accent:#24330a;}
