:root{--iro-ai:oklch(45.8% .09 236.8);--iro-kurenai:oklch(55.7% .223 19.3);--iro-akane:oklch(51.2% .179 24.4);--iro-kakishibu:oklch(53.4% .105 41.3);--iro-sumi:oklch(46.1% .002 67.8);--iro-kariyasu:oklch(91.1% .143 101.9);--iro-kihada:oklch(94.5% .161 104.5);--iro-kodai:oklch(53.8% .09 326);--iro-kaba:oklch(61.3% .149 37.6);--iro-ama:oklch(83.4% .036 77);--iro-neri:oklch(92% .032 89.1);--iro-kinari:oklch(98.4% .007 97.3);--iro-gofun:oklch(99.9% .004 106.5);--iro-shu:oklch(65.9% .189 44.7);--iro-bengara:oklch(44.3% .136 35.4);--iro-gunjo:oklch(54.1% .118 264.5);--iro-rokusho:oklch(57.2% .094 153.9);--iro-odo:oklch(69% .112 76)}:root,[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:var(--iro-kinari);--surface:var(--iro-gofun);--surface-2:color-mix(in oklab, var(--iro-neri) 45%, var(--iro-gofun));--surface-sunk:color-mix(in oklab, var(--iro-neri) 70%, var(--iro-kinari));--text:color-mix(in oklab, var(--iro-sumi), black 45%);--text-muted:var(--iro-sumi);--text-subtle:color-mix(in oklab, var(--iro-sumi), var(--bg) 32%);--text-on-brand:var(--iro-kinari);--border:color-mix(in oklab, var(--iro-ama), var(--bg) 35%);--border-strong:color-mix(in oklab, var(--iro-ama), var(--text) 22%);--hairline:color-mix(in oklab, var(--text) 12%, transparent);--brand:var(--iro-ai);--brand-hover:color-mix(in oklab, var(--iro-ai), black 12%);--brand-active:color-mix(in oklab, var(--iro-ai), black 22%);--brand-soft:color-mix(in oklab, var(--iro-ai) 10%, var(--surface));--brand-soft-bd:color-mix(in oklab, var(--iro-ai) 30%, var(--surface));--accent:var(--iro-kurenai);--accent-soft:color-mix(in oklab, var(--iro-kurenai) 10%, var(--surface));--link:var(--iro-ai);--link-visited:var(--iro-kodai);--focus:var(--iro-ai);--selection:color-mix(in oklab, var(--iro-ai) 24%, var(--surface));--ok:color-mix(in oklab, var(--iro-rokusho), black 8%);--warn:color-mix(in oklab, var(--iro-odo), black 16%);--danger:var(--iro-akane);--info:var(--iro-gunjo);--ok-soft:color-mix(in oklab, var(--iro-rokusho) 12%, var(--surface));--warn-soft:color-mix(in oklab, var(--iro-odo) 16%, var(--surface));--danger-soft:color-mix(in oklab, var(--iro-akane) 10%, var(--surface));--info-soft:color-mix(in oklab, var(--iro-gunjo) 10%, var(--surface));--shadow-1:0 1px 2px color-mix(in oklab, var(--iro-sumi) 10%, transparent);--shadow-2:0 2px 10px color-mix(in oklab, var(--iro-sumi) 16%, transparent)}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:color-mix(in oklab, var(--iro-sumi), black 62%);--surface:color-mix(in oklab, var(--iro-sumi), black 52%);--surface-2:color-mix(in oklab, var(--iro-sumi), black 42%);--surface-sunk:color-mix(in oklab, var(--iro-sumi), black 68%);--text:var(--iro-kinari);--text-muted:color-mix(in oklab, var(--iro-kinari), var(--bg) 32%);--text-subtle:color-mix(in oklab, var(--iro-kinari), var(--bg) 50%);--text-on-brand:var(--iro-kinari);--border:color-mix(in oklab, var(--iro-kinari) 14%, var(--bg));--border-strong:color-mix(in oklab, var(--iro-kinari) 26%, var(--bg));--hairline:color-mix(in oklab, var(--iro-kinari) 12%, transparent);--brand:color-mix(in oklab, var(--iro-ai), var(--iro-gofun) 14%);--brand-hover:color-mix(in oklab, var(--iro-ai), var(--iro-gofun) 26%);--brand-active:color-mix(in oklab, var(--iro-ai), var(--iro-gofun) 6%);--brand-soft:color-mix(in oklab, var(--iro-ai) 22%, var(--surface));--brand-soft-bd:color-mix(in oklab, var(--iro-ai) 45%, var(--surface));--accent:color-mix(in oklab, var(--iro-kurenai), var(--iro-gofun) 16%);--accent-soft:color-mix(in oklab, var(--iro-kurenai) 20%, var(--surface));--link:color-mix(in oklab, var(--iro-ai), var(--iro-gofun) 38%);--link-visited:color-mix(in oklab, var(--iro-kodai), var(--iro-gofun) 30%);--focus:color-mix(in oklab, var(--iro-ai), var(--iro-gofun) 38%);--selection:color-mix(in oklab, var(--iro-ai) 40%, var(--surface));--ok:color-mix(in oklab, var(--iro-rokusho), var(--iro-gofun) 22%);--warn:color-mix(in oklab, var(--iro-odo), var(--iro-gofun) 14%);--danger:color-mix(in oklab, var(--iro-akane), var(--iro-gofun) 24%);--info:color-mix(in oklab, var(--iro-gunjo), var(--iro-gofun) 24%);--ok-soft:color-mix(in oklab, var(--iro-rokusho) 24%, var(--surface));--warn-soft:color-mix(in oklab, var(--iro-odo) 24%, var(--surface));--danger-soft:color-mix(in oklab, var(--iro-akane) 22%, var(--surface));--info-soft:color-mix(in oklab, var(--iro-gunjo) 22%, var(--surface));--shadow-1:0 1px 2px oklab(0% none none/.35);--shadow-2:0 2px 12px oklab(0% none none/.5)}:root{--font-display:"Shippori Mincho", "Hiragino Mincho ProN", serif;--font-body:"Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--text-2xs:.6875rem;--text-xs:.75rem;--text-sm:.8125rem;--text-md:.9375rem;--text-lg:1.0625rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:2rem;--text-4xl:2.625rem;--text-display:4.25rem;--lh-tight:1.08;--lh-snug:1.3;--lh-normal:1.55;--ls-tight:-.02em;--ls-wide:.18em;--sp-1:2px;--sp-2:4px;--sp-3:8px;--sp-4:12px;--sp-5:16px;--sp-6:20px;--sp-7:24px;--sp-8:32px;--sp-9:44px;--sp-10:56px;--sp-11:72px;--radius-sm:4px;--radius-md:7px;--radius-lg:10px;--radius-full:999px;--bw:1px;--bw-2:1.5px;--ctl-sm:28px;--ctl-md:34px;--ctl-lg:42px;--ease:cubic-bezier(.2, 0, .1, 1);--dur-1:90ms;--dur-2:.15s;--dur-3:.24s}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--text-md);line-height:var(--lh-normal);font-feature-settings:"palt";transition:background var(--dur-3) var(--ease), color var(--dur-3) var(--ease);margin:0}h1,h2,h3,h4{font-family:var(--font-display);line-height:var(--lh-tight);letter-spacing:var(--ls-tight);margin:0}p{margin:0}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--link)}a:visited{color:var(--link-visited)}::selection{background:var(--selection)}:focus-visible{outline:var(--bw-2) solid var(--focus);outline-offset:2px}code,pre,kbd{font-family:var(--font-mono)}.dh-btn{justify-content:center;align-items:center;gap:var(--sp-3);height:var(--ctl-md);padding-inline:var(--sp-5);border-radius:var(--radius-md);border:var(--bw) solid transparent;font-weight:500;font-size:var(--text-sm);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--dur-2) var(--ease), border-color var(--dur-2) var(--ease), color var(--dur-2) var(--ease), translate var(--dur-1) var(--ease);background:0 0;display:inline-flex}.dh-btn:active{translate:0 .5px}.dh-btn:disabled{opacity:.45;cursor:not-allowed}.dh-btn--primary{background:var(--brand);color:var(--text-on-brand)}.dh-btn--primary:hover:not(:disabled){background:var(--brand-hover)}.dh-btn--primary:active:not(:disabled){background:var(--brand-active)}.dh-btn--secondary{background:var(--surface);border-color:var(--border-strong);color:var(--text)}.dh-btn--secondary:hover:not(:disabled){background:var(--surface-2);border-color:var(--text-muted)}.dh-btn--ghost{color:var(--text-muted)}.dh-btn--ghost:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.dh-btn--soft{background:var(--brand-soft);border-color:var(--brand-soft-bd);color:var(--brand)}[data-theme=dark] .dh-btn--soft{color:var(--text)}.dh-btn--soft:hover:not(:disabled){border-color:var(--brand)}.dh-btn--danger{background:var(--danger);color:var(--text-on-brand)}.dh-btn--danger:hover:not(:disabled){background:color-mix(in oklab, var(--danger), black 12%)}.dh-btn--sm{height:var(--ctl-sm);padding-inline:var(--sp-4);font-size:var(--text-xs)}.dh-btn--lg{height:var(--ctl-lg);padding-inline:var(--sp-6);font-size:var(--text-md)}.dh-btn--full{width:100%}.dh-input,.dh-select select{height:var(--ctl-md);padding-inline:var(--sp-4);background:var(--surface);color:var(--text);border:var(--bw) solid var(--border-strong);border-radius:var(--radius-md);font-size:var(--text-sm);transition:border-color var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease)}.dh-input{width:100%}.dh-input::placeholder{color:var(--text-subtle)}.dh-input:hover,.dh-select select:hover{border-color:var(--text-muted)}.dh-input:focus-visible,.dh-select select:focus-visible{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in oklab, var(--focus) 22%, transparent);outline:none}.dh-input:disabled,.dh-select select:disabled{opacity:.45;cursor:not-allowed;background:var(--surface-sunk)}.dh-input--sm,.dh-select--sm select{height:var(--ctl-sm);font-size:var(--text-xs)}.dh-input--lg,.dh-select--lg select{height:var(--ctl-lg);font-size:var(--text-md)}.dh-select{display:inline-flex;position:relative}.dh-select select{appearance:none;cursor:pointer;padding-inline-end:var(--sp-8)}.dh-select:after{content:"";right:var(--sp-4);pointer-events:none;background:var(--text-muted);clip-path:polygon(0 25%,50% 75%,100% 25%,100% 45%,50% 100%,0 45%);width:8px;height:8px;position:absolute;top:50%;translate:0 -35%}.dh-field{gap:var(--sp-2);flex-direction:column;display:flex}.dh-field>.dh-label{font-size:var(--text-xs);color:var(--text-muted);font-weight:500}.dh-choice{align-items:center;gap:var(--sp-3);font-size:var(--text-sm);cursor:pointer;display:inline-flex}.dh-choice:has(input:disabled){opacity:.45;cursor:not-allowed}.dh-check{appearance:none;border:var(--bw-2) solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);width:16px;height:16px;cursor:inherit;transition:background var(--dur-2) var(--ease), border-color var(--dur-2) var(--ease);margin:0;position:relative}.dh-check:hover:not(:disabled){border-color:var(--text-muted)}.dh-check:checked{background:var(--brand);border-color:var(--brand)}.dh-check:checked:after{content:"";border-left:2px solid var(--text-on-brand);border-bottom:2px solid var(--text-on-brand);width:7px;height:4px;position:absolute;top:5px;left:3px;translate:0 -1px;rotate:-45deg}.dh-switch{appearance:none;border-radius:var(--radius-full);border:var(--bw) solid var(--border-strong);background:var(--surface-sunk);width:34px;height:20px;cursor:inherit;transition:background var(--dur-2) var(--ease), border-color var(--dur-2) var(--ease);margin:0;position:relative}.dh-switch:after{content:"";border-radius:var(--radius-full);background:var(--text-muted);width:14px;height:14px;transition:translate var(--dur-2) var(--ease), background var(--dur-2) var(--ease);position:absolute;top:2px;left:2px}.dh-switch:checked{background:var(--brand);border-color:var(--brand)}.dh-switch:checked:after{background:var(--text-on-brand);translate:14px}.dh-badge{align-items:center;gap:var(--sp-2);padding:1px var(--sp-3);border-radius:var(--radius-full);border:var(--bw) solid var(--border);background:var(--surface-2);color:var(--text-muted);font-size:var(--text-2xs);letter-spacing:.04em;font-weight:500;display:inline-flex}.dh-badge--brand{background:var(--brand-soft);border-color:var(--brand-soft-bd);color:var(--brand)}.dh-badge--accent{background:var(--accent-soft);border-color:color-mix(in oklab, var(--accent) 40%, transparent);color:var(--accent)}.dh-badge--ok{background:var(--ok-soft);border-color:color-mix(in oklab, var(--ok) 40%, transparent);color:var(--ok)}.dh-badge--warn{background:var(--warn-soft);border-color:color-mix(in oklab, var(--warn) 40%, transparent);color:var(--warn)}.dh-badge--danger{background:var(--danger-soft);border-color:color-mix(in oklab, var(--danger) 40%, transparent);color:var(--danger)}.dh-badge--info{background:var(--info-soft);border-color:color-mix(in oklab, var(--info) 40%, transparent);color:var(--info)}[data-theme=dark] .dh-badge--brand{color:var(--text)}.dh-card{background:var(--surface);border:var(--bw) solid var(--border);border-radius:var(--radius-md);overflow:clip}.dh-card--raised{box-shadow:var(--shadow-2)}.dh-card__head{padding:var(--sp-4) var(--sp-5);border-bottom:var(--bw) solid var(--border);font-weight:700;font-family:var(--font-display)}.dh-card__body{padding:var(--sp-5)}.dh-card__foot{padding:var(--sp-4) var(--sp-5);border-top:var(--bw) solid var(--border);background:var(--surface-2)}.dh-tabs__list{gap:var(--sp-2);border-bottom:var(--bw) solid var(--border);display:flex}.dh-tabs__tab{padding:var(--sp-3) var(--sp-4);margin-bottom:calc(-1 * var(--bw));color:var(--text-muted);font-size:var(--text-sm);cursor:pointer;transition:color var(--dur-2) var(--ease), border-color var(--dur-2) var(--ease);background:0 0;border:none;border-bottom:2px solid #0000;font-weight:500}.dh-tabs__tab:hover{color:var(--text)}.dh-tabs__tab[aria-selected=true]{color:var(--text);border-bottom-color:var(--brand)}.dh-tabs__panel{padding-top:var(--sp-5)}.app{max-width:1200px;padding:var(--sp-6) var(--sp-6) var(--sp-11);margin:0 auto}.app-head{align-items:center;gap:var(--sp-8);padding-block:var(--sp-4);border-bottom:var(--bw) solid var(--border);flex-wrap:wrap;display:flex}.app-mark{align-items:baseline;gap:var(--sp-3);color:var(--text);text-decoration:none;display:flex}.app-mark:visited{color:var(--text)}.app-mark-chips{align-self:center;gap:3px;display:inline-flex}.app-mark-chips i{border-radius:2px;width:10px;height:18px}.app-mark-chips i:first-child{background:var(--brand)}.app-mark-chips i:last-child{background:var(--accent)}.app-mark-title{font-family:var(--font-display);font-weight:800;font-size:var(--text-2xl);letter-spacing:var(--ls-tight)}.app-mark-sub{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--ls-wide);color:var(--text-subtle)}.app-nav{gap:var(--sp-2);flex-wrap:wrap;margin-inline-start:auto;display:flex}.app-nav a{padding:var(--sp-2) var(--sp-4);border-radius:var(--radius-md);color:var(--text-muted);border:var(--bw) solid transparent;transition:background var(--dur-2) var(--ease), color var(--dur-2) var(--ease);flex-direction:column;align-items:center;gap:1px;text-decoration:none;display:flex}.app-nav a:visited{color:var(--text-muted)}.app-nav a:hover{background:var(--surface-2);color:var(--text)}.app-nav a[aria-current=page]{color:var(--text);background:var(--surface);border-color:var(--border)}.app-nav a span{font-family:var(--font-display);font-weight:700;font-size:var(--text-md)}.app-nav a small{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.1em;color:var(--text-subtle)}.seg{border:var(--bw) solid var(--border-strong);border-radius:var(--radius-md);display:inline-flex;overflow:clip}.seg button{cursor:pointer;color:var(--text-muted);transition:background var(--dur-2) var(--ease);background:0 0;border:none;display:flex}.seg button+button{border-inline-start:var(--bw) solid var(--border-strong)}.seg button:hover{background:var(--surface-2)}.seg button[aria-pressed=true]{background:var(--brand);color:var(--text-on-brand)}.seg button span{font-family:var(--font-display);font-weight:700;font-size:var(--text-sm)}.seg button small{font-family:var(--font-mono);letter-spacing:.12em;font-size:.55rem}.app-theme button{padding:var(--sp-2) var(--sp-4);flex-direction:column;align-items:center;gap:0}.app-main{padding-top:var(--sp-8)}.eyebrow{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--ls-wide);color:var(--text-subtle);margin:0}.page-head{margin-bottom:var(--sp-8)}.page-head h1{font-size:var(--text-4xl);margin-top:var(--sp-2);font-weight:800}.page-head .sub{color:var(--text-muted);margin-top:var(--sp-3);max-width:68ch}.section{border-top:var(--bw) solid var(--border);margin-top:var(--sp-9);padding-top:var(--sp-7)}.section>h2{font-size:var(--text-xl);font-weight:800}.section>h2 small{font-family:var(--font-mono);font-weight:400;font-size:var(--text-2xs);letter-spacing:.12em;color:var(--text-subtle);margin-inline-start:.8em}.section>.rule{color:var(--text-muted);font-size:var(--text-sm);margin:var(--sp-2) 0 var(--sp-5);max-width:62ch}.ctl{gap:var(--sp-4) var(--sp-6);margin-bottom:var(--sp-4);font-size:var(--text-sm);flex-wrap:wrap;align-items:center;display:flex}.ctl label{gap:var(--sp-3);align-items:center;display:flex}.ctl output{font-family:var(--font-mono);font-size:var(--text-xs)}.ctl input[type=range]{accent-color:var(--brand);width:160px}.ramp{height:var(--sp-11);border-radius:var(--radius-md);border:var(--bw) solid var(--border);display:flex;overflow:clip}.ramp>div{flex:1}.swgrid{gap:var(--sp-3);grid-template-columns:repeat(auto-fill,minmax(64px,1fr));display:grid}.swgrid>div{height:var(--sp-10);border-radius:var(--radius-sm);border:var(--bw) solid var(--hairline)}.swrow{gap:var(--sp-3);flex-wrap:wrap;display:flex}.sw{text-align:center;width:84px}.sw>div{border-radius:var(--radius-sm);border:var(--bw) solid var(--hairline);height:52px}.sw>span{font-family:var(--font-mono);color:var(--text-subtle);font-size:.62rem}.chip{width:120px;height:var(--sp-11);border-radius:var(--radius-md);border:var(--bw) solid var(--border)}.note{font-size:var(--text-xs);color:var(--text-subtle);margin-top:var(--sp-3)}pre.codeblock{background:var(--surface-sunk);border:var(--bw) solid var(--border);border-radius:var(--radius-md);padding:var(--sp-5);font-size:var(--text-xs);margin:0;overflow-x:auto}.copy-val{appearance:none;cursor:pointer;text-align:left;align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-3) var(--sp-3);border:var(--bw) solid var(--hairline);border-radius:var(--radius-md);transition:border-color var(--dur-2) var(--ease), background-color var(--dur-2) var(--ease);background:0 0;display:flex}.copy-val:hover{border-color:var(--border-strong);background:var(--surface-2)}.copy-val-k{width:48px;font-family:var(--font-mono);letter-spacing:.12em;color:var(--text-subtle);flex:none;font-size:9.5px}.copy-val-v{min-width:0;font-family:var(--font-mono);overflow-wrap:anywhere;flex:1;font-size:11.5px}.copy-val-c{font-family:var(--font-mono);color:var(--text-subtle);font-size:9.5px}.copy-val.is-copied{border-color:color-mix(in oklab, var(--brand) 55%, transparent);background:var(--brand-soft)}.copy-val.is-copied .copy-val-c{color:var(--brand)}:root{--term-0:var(--text);--term-1:var(--danger);--term-2:var(--ok);--term-3:var(--warn);--term-4:var(--brand);--term-5:var(--accent);--term-6:var(--info);--term-7:var(--border-strong);--term-8:var(--text-subtle);--term-9:color-mix(in oklab, var(--danger), white 25%);--term-10:color-mix(in oklab, var(--ok), white 25%);--term-11:color-mix(in oklab, var(--warn), white 25%);--term-12:color-mix(in oklab, var(--brand), white 25%);--term-13:color-mix(in oklab, var(--accent), white 25%);--term-14:color-mix(in oklab, var(--info), white 25%);--term-15:var(--surface-sunk)}[data-theme=dark]{--term-0:var(--surface-sunk);--term-15:var(--text)}@media (width<=940px){aside.sheet{z-index:20;box-shadow:var(--shadow-2);padding-bottom:env(safe-area-inset-bottom);border-bottom:0;border-radius:14px 14px 0 0;grid-template-columns:96px 1fr;display:grid;position:fixed;inset:auto 0 0}}@media (width<=720px){.app{padding-inline:var(--sp-4)}.app-head{gap:var(--sp-4)}.app-nav{margin-inline-start:0}}.specimen-page{--ring:color-mix(in oklab, var(--text) 14%, transparent)}.specimen-layout{gap:var(--sp-9);grid-template-columns:minmax(0,1fr) 340px;align-items:start;display:grid}.group{margin-top:var(--sp-9)}.group:first-child{margin-top:0}.group-head{align-items:baseline;gap:var(--sp-4);padding-bottom:var(--sp-3);border-bottom:var(--bw) solid var(--border);display:flex}.group--dye .group-head{border-bottom:0;padding-bottom:0}.g-ja{font-family:var(--font-display);font-weight:800;font-size:var(--text-xl)}.g-en{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--ls-wide);color:var(--text-subtle)}.g-note{font-size:var(--text-xs);color:var(--text-muted);text-align:right;max-width:44ch;margin-left:auto}.sp{appearance:none;cursor:pointer;animation:hang .4s var(--ease) backwards;animation-delay:calc(var(--i) * 26ms);background:0 0;border:0;padding:0}.sp:focus-visible,.sp.is-sel{outline:var(--bw-2) solid var(--focus);outline-offset:3px}@keyframes hang{0%{opacity:0;transform:translateY(-9px)}}.rod{height:5px;margin-top:var(--sp-5);background:color-mix(in oklab, var(--text) 82%, var(--bg));border-radius:3px}.specimens--dye{grid-template-columns:repeat(auto-fill,minmax(46px,1fr));gap:18px 10px;display:grid}.strip{background:var(--c);height:212px;color:var(--on);box-shadow:inset 0 0 0 1px var(--ring);transform-origin:50% 0;transition:transform var(--dur-3) var(--ease);border-radius:0 0 2px 2px;justify-content:center;display:flex}.strip:nth-child(2n){height:193px}.strip:hover{transform:rotate(1deg)}.strip:nth-child(2n):hover{transform:rotate(-1deg)}.strip-name{writing-mode:vertical-rl;font-family:var(--font-display);letter-spacing:.14em;padding-top:14px;font-size:16px;font-weight:700}.specimens--cloth{gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-top:18px;display:grid}.bolt{background:var(--c);height:104px;color:var(--on);box-shadow:inset 0 0 0 1px var(--ring);padding:var(--sp-4) 14px;text-align:left;transition:transform var(--dur-3) var(--ease);border-radius:3px;align-items:flex-end;display:flex;position:relative}.bolt:hover{transform:translateY(-2px)}.bolt:after{content:"";pointer-events:none;border:1px dashed color-mix(in oklab, currentColor 38%, transparent);border-radius:2px;position:absolute;inset:5px}.bolt-name{font-family:var(--font-display);font-size:15px;font-weight:700;line-height:var(--lh-snug);flex-direction:column;gap:1px;display:flex}.bolt-name small{font-family:var(--font-mono);letter-spacing:.08em;opacity:.72;font-size:10px;font-weight:500}.specimens--pigment{gap:var(--sp-5);grid-template-columns:repeat(auto-fill,minmax(104px,1fr));margin-top:18px;display:grid}.dish{align-items:center;gap:var(--sp-3);border-radius:var(--radius-lg);flex-direction:column;padding:6px 4px;display:flex}.dish-pl{background:var(--surface);width:92px;height:92px;box-shadow:inset 0 0 0 1px var(--ring);transition:transform var(--dur-3) var(--ease);border-radius:50%;place-items:center;display:grid}.dish:hover .dish-pl{transform:translateY(-2px)}.dish-pig{background:var(--c);width:72px;height:72px;box-shadow:inset 0 0 0 1px var(--ring);border-radius:50%}.dish-lab{text-align:center;font-family:var(--font-display);font-size:14px;font-weight:700;line-height:var(--lh-snug);color:var(--text);flex-direction:column;gap:1px;display:flex}.dish-lab small{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-subtle);font-size:9.5px;font-weight:500}.detail{top:var(--sp-7);background:var(--surface);border:var(--bw) solid var(--border);border-radius:var(--radius-lg);position:sticky;overflow:clip}.d-chip{height:150px;transition:background-color var(--dur-3) var(--ease);flex-direction:column;justify-content:space-between;align-items:flex-start;padding:14px 16px;display:flex}.d-tag{font-family:var(--font-mono);letter-spacing:.16em;opacity:.78;font-size:10px;font-weight:500}.d-kanji{font-family:var(--font-display);letter-spacing:var(--ls-tight);font-size:52px;font-weight:800;line-height:.95}.d-body{padding:var(--sp-5);gap:var(--sp-3);flex-direction:column;display:flex}.d-name{font-size:var(--text-xl);font-weight:700}.d-read{font-size:var(--text-xs);color:var(--text-muted)}.d-zh{color:var(--text-subtle)}.d-note{font-size:var(--text-xs);color:var(--text-muted);line-height:1.6}.d-vals{margin-top:var(--sp-2);flex-direction:column;gap:7px;display:flex}@media (width<=940px){.specimen-page{padding-bottom:230px}.specimen-layout{grid-template-columns:1fr;gap:0}.group-head{flex-wrap:wrap}.g-note{text-align:left;width:100%;margin-left:0}.d-chip{height:100%;padding:var(--sp-3)}.d-kanji{font-size:24px}.d-note{display:none}.d-body{padding:var(--sp-3) 14px var(--sp-4);gap:3px;min-width:0}.d-name{font-size:15px}.d-read{font-size:11px}.d-vals{gap:5px;margin-top:3px}.copy-val{padding:5px 8px}.copy-val-c{display:none}}@media (prefers-reduced-motion:reduce){.sp{animation:none}.strip:hover,.strip:nth-child(2n):hover,.bolt:hover,.dish:hover .dish-pl{transform:none}}.concepts>.rule{margin-bottom:var(--sp-6)}.concept{border:var(--bw) solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:var(--sp-6)}.concept+.concept{margin-top:var(--sp-5)}.concept-head{align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-3);display:flex}.concept-tag{font-family:var(--font-display);font-weight:700;font-size:var(--text-2xs);letter-spacing:.08em;color:var(--brand);background:var(--brand-soft);border:var(--bw) solid var(--brand-soft-bd);border-radius:var(--radius-sm);padding:2px var(--sp-2);flex:none}.concept-head h3{font-size:var(--text-lg);margin:0;font-weight:800}.concept-head h3 small{font-family:var(--font-mono);font-weight:400;font-size:var(--text-2xs);letter-spacing:.1em;color:var(--text-subtle);margin-inline-start:.7em}.concept-statement{color:var(--text);font-size:var(--text-sm);margin:0 0 var(--sp-5);max-width:68ch}.sw-ceil>div{position:relative}.sw-ceil>span{color:var(--text-muted)}.pair{gap:var(--sp-5);grid-template-columns:1fr auto;align-items:center;display:grid}.oxbtn{font:inherit;padding:var(--sp-3) var(--sp-7);border-radius:var(--radius-md);color:var(--text-on-brand);cursor:pointer;transition:background var(--dur-3) var(--ease);border:none}@media (width<=720px){.pair{grid-template-columns:1fr}}.mix-page .page-head .sub{max-width:74ch}.head-en{font-family:var(--font-mono);font-weight:400;font-size:var(--text-lg);letter-spacing:.06em;color:var(--text-subtle);margin-inline-start:.5em}.hanger{border:var(--bw) solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:var(--sp-6);margin-bottom:var(--sp-7)}.hanger-lab{align-items:baseline;gap:var(--sp-2);margin-bottom:var(--sp-4);display:flex}.hanger-lab+.ground-rack{margin-bottom:var(--sp-7)}.hanger-lab span{font-family:var(--font-display);font-weight:800;font-size:var(--text-md)}.hanger-lab small{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.1em;color:var(--text-subtle)}.ground-rack{gap:var(--sp-3);flex-wrap:wrap;display:flex}.ground-bolt{gap:var(--sp-2);width:86px;padding:var(--sp-2);border:var(--bw) solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);cursor:pointer;font:inherit;transition:border-color var(--dur-2) var(--ease), transform var(--dur-2) var(--ease);flex-direction:column;display:flex}.ground-bolt:hover{border-color:var(--brand);transform:translateY(-2px)}.ground-bolt:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.ground-sw{border-radius:var(--radius-sm);border:var(--bw) solid var(--hairline);height:46px;box-shadow:inset 0 0 0 1px oklab(0% none none/.05)}.ground-name{font-family:var(--font-display);font-weight:700;font-size:var(--text-sm);color:var(--text);flex-direction:column;display:flex}.ground-name small{font-family:var(--font-mono);color:var(--text-subtle);font-size:.58rem;font-weight:400}.hanger-empty{color:var(--text-subtle);font-size:var(--text-sm);margin:0}.cloth-rack{gap:var(--sp-4);flex-wrap:wrap;display:flex}.cloth-card{gap:var(--sp-2);cursor:pointer;width:128px;font:inherit;text-align:start;background:0 0;border:none;flex-direction:column;padding:0;display:flex}.cloth-card:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:var(--radius-md)}.cloth-sw{border-radius:var(--radius-md);border:var(--bw) solid var(--hairline);min-height:104px;padding:var(--sp-3);box-shadow:var(--shadow-1);transition:box-shadow var(--dur-2) var(--ease);flex-direction:column;justify-content:space-between;display:flex;position:relative}.cloth-card.is-sel .cloth-sw{box-shadow:0 0 0 2px var(--brand), var(--shadow-2)}.cloth-card:hover:not(.is-dim) .cloth-sw{box-shadow:0 0 0 1px var(--border-strong), var(--shadow-2)}.cloth-base{font-family:var(--font-display);font-weight:800;font-size:var(--text-sm)}.cloth-hex{font-family:var(--font-mono);opacity:.9;align-self:flex-end;font-size:.62rem}.cloth-name{font-family:var(--font-mono);color:var(--text-subtle);text-overflow:ellipsis;white-space:nowrap;font-size:.58rem;overflow:hidden}.cloth-roles{flex-wrap:wrap;gap:3px;display:flex}.cloth-role{font-family:var(--font-mono);letter-spacing:.04em;background:var(--brand-soft);color:var(--brand);border:var(--bw) solid var(--brand-soft-bd);border-radius:999px;padding:1px 5px;font-size:.55rem}.bench-grid{gap:var(--sp-7);grid-template-columns:minmax(0,1fr) minmax(0,.86fr);align-items:start;display:grid}@media (width<=900px){.bench-grid{grid-template-columns:1fr}}.bench,.bench-preview,.bench-idle{border:var(--bw) solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:var(--sp-6)}.bench-preview{top:var(--sp-4);background:var(--surface-2);position:sticky}.bench-idle{color:var(--text-muted);grid-column:1/-1}.bench-idle p{margin:0 0 var(--sp-2)}.bench-idle b{color:var(--text)}.bench-idle-sub{font-size:var(--text-sm);color:var(--text-subtle)}.studio-h{justify-content:space-between;align-items:baseline;gap:var(--sp-3);margin-bottom:var(--sp-5);display:flex}.studio-h h3{font-size:var(--text-lg);font-weight:800}.studio-h h3 small{font-family:var(--font-mono);font-weight:400;font-size:var(--text-2xs);color:var(--text-subtle);letter-spacing:.1em;margin-inline-start:.6em}.dc-drives{font-size:var(--text-xs);color:var(--text-subtle);margin:0 0 var(--sp-5)}.tech-picker{gap:var(--sp-2);margin-bottom:var(--sp-5);flex-wrap:wrap;display:flex}.tech-chip{align-items:baseline;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);border:var(--bw) solid var(--border);border-radius:var(--radius-full,999px);background:var(--surface-2);color:var(--text-muted);cursor:pointer;font:inherit;display:inline-flex}.tech-chip span{font-family:var(--font-display);font-weight:700;font-size:var(--text-sm)}.tech-chip small{font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-subtle);font-size:.55rem}.tech-chip[data-hovered]{border-color:var(--border-strong);color:var(--text)}.tech-chip[data-selected]{border-color:var(--brand);background:var(--brand-soft);color:var(--text)}.tech-chip[data-selected] small{color:var(--brand)}.tech-chip[data-focus-visible]{outline:2px solid var(--focus);outline-offset:2px}.shelf{margin-bottom:var(--sp-5)}.shelf-top{justify-content:space-between;align-items:baseline;gap:var(--sp-2);margin-bottom:var(--sp-3);display:flex}.shelf-lab{font-family:var(--font-display);font-weight:700;font-size:var(--text-sm)}.shelf-lab small{font-family:var(--font-mono);font-weight:400;font-size:var(--text-2xs);color:var(--text-subtle);margin-inline-start:.5em}.shelf-sel{font-size:var(--text-xs);color:var(--text-muted)}.shelf-sel b{color:var(--text);font-weight:700}.shelf-chips{gap:var(--sp-2);flex-wrap:wrap;display:flex}.dye-chip{border-radius:var(--radius-sm);cursor:pointer;isolation:isolate;background:0 0;border:none;width:30px;height:30px;padding:0;position:relative}.dye-chip-sw{border-radius:var(--radius-sm);border:var(--bw) solid var(--hairline);box-shadow:var(--shadow-1);transition:transform var(--dur-2) var(--ease);position:absolute;inset:0}.dye-chip[data-hovered] .dye-chip-sw{transform:scale(1.12)}.dye-chip[data-pressed] .dye-chip-sw{transform:scale(.94)}.dye-chip[data-focus-visible]{outline:2px solid var(--focus);outline-offset:2px}.dye-chip-ring{border-radius:var(--radius-md);border:2px solid var(--brand);z-index:2;pointer-events:none;position:absolute;inset:-3px}.dip{margin-bottom:var(--sp-5)}.dip-top{justify-content:space-between;align-items:baseline;gap:var(--sp-2);margin-bottom:var(--sp-3);display:flex}.dip-lab{font-family:var(--font-display);font-weight:700;font-size:var(--text-sm)}.dip-lab small{font-family:var(--font-mono);font-weight:400;font-size:var(--text-2xs);color:var(--text-subtle);margin-inline-start:.5em}.dip-read{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted)}.dip-read b{color:var(--brand)}.dip-meter{background:var(--surface-sunk);border:var(--bw) solid var(--hairline);height:10px;margin-bottom:var(--sp-4);border-radius:999px;position:relative;overflow:hidden}.dip-fill{inset-block:0;background:linear-gradient(90deg, var(--brand-soft-bd), var(--brand));transition:width var(--dur-3) var(--ease);border-radius:999px;position:absolute;left:0}.dip-tick{background:color-mix(in oklab, var(--bg) 55%, transparent);width:1.5px;position:absolute;inset-block:0;transform:translate(-50%)}.dip-actions{gap:var(--sp-3);align-items:center;display:flex}.dip-btn{padding:var(--sp-3) var(--sp-6);border:var(--bw) solid var(--brand);border-radius:var(--radius-md);background:var(--brand-soft);color:var(--brand);cursor:pointer;font:inherit;transition:background var(--dur-2) var(--ease), transform var(--dur-1,90ms) var(--ease);flex-direction:column;align-items:center;gap:0;display:inline-flex}.dip-btn span{font-family:var(--font-display);font-weight:700;font-size:var(--text-sm)}.dip-btn small{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-subtle);font-size:.55rem}.dip-btn[data-hovered]{background:color-mix(in oklab, var(--brand) 18%, var(--surface))}.dip-btn[data-pressed]{transform:scale(.95)}.dip-btn[data-focus-visible]{outline:2px solid var(--focus);outline-offset:2px}.dip-undo{padding:var(--sp-2) var(--sp-3);border:var(--bw) solid var(--border-strong);border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;font:inherit;font-size:var(--text-xs);transition:background var(--dur-2) var(--ease), color var(--dur-2) var(--ease);background:0 0}.dip-undo[data-hovered]{background:var(--surface-2);color:var(--text)}.dip-undo[data-disabled]{opacity:.4;cursor:not-allowed}.dip-undo[data-focus-visible]{outline:2px solid var(--focus);outline-offset:2px}.air{margin-bottom:var(--sp-5)}.air-top{justify-content:space-between;align-items:baseline;gap:var(--sp-2);margin-bottom:var(--sp-3);display:flex}.air-lab{font-family:var(--font-display);font-weight:700;font-size:var(--text-sm)}.air-lab small{font-family:var(--font-mono);font-weight:400;font-size:var(--text-2xs);color:var(--text-subtle);margin-inline-start:.5em}.air-read{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--brand);font-weight:700}.air-hold{border:var(--bw) solid var(--border-strong);border-radius:var(--radius-md);background:color-mix(in oklab, var(--surface-sunk), var(--text) 10%);cursor:pointer;width:100%;height:56px;font:inherit;touch-action:none;-webkit-user-select:none;user-select:none;margin-bottom:var(--sp-3);padding:0;display:block;position:relative;overflow:hidden}.air-track{background:linear-gradient(90deg, var(--iro-kariyasu), var(--iro-rokusho), var(--iro-ai));position:absolute;inset:0}.air-cover{background:color-mix(in oklab, var(--surface-sunk), var(--text) 10%);width:100%;position:absolute;top:0;bottom:0;right:0}.air-lab-in{background:color-mix(in oklab, var(--surface) 72%, transparent);font-family:var(--font-display);font-weight:700;font-size:var(--text-sm);color:var(--text);border-radius:999px;flex-direction:column;align-items:center;gap:1px;padding:3px 12px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.air-lab-in small{font-family:var(--font-mono);color:var(--text-muted);font-size:.58rem;font-weight:400}.air-hold:active{border-color:var(--brand)}.air-hold:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.bench-actions{align-items:center;gap:var(--sp-3);padding-top:var(--sp-5);border-top:var(--bw) solid var(--border);display:flex}.bench-confirm{padding:var(--sp-3) var(--sp-6);border:var(--bw) solid transparent;border-radius:var(--radius-md);background:var(--brand);color:var(--text-on-brand);font:inherit;font-size:var(--text-sm);cursor:pointer;transition:background var(--dur-2) var(--ease);font-weight:700}.bench-confirm[data-hovered]{background:var(--brand-hover)}.bench-confirm[data-pressed]{background:var(--brand-active)}.bench-confirm[data-focus-visible]{outline:2px solid var(--focus);outline-offset:2px}.dye-reset{padding:var(--sp-3) var(--sp-4);border:var(--bw) solid var(--border-strong);border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;font:inherit;font-size:var(--text-sm);transition:background var(--dur-2) var(--ease), color var(--dur-2) var(--ease);background:0 0}.dye-reset[data-hovered]{background:var(--surface-2);color:var(--text)}.dye-reset[data-focus-visible]{outline:2px solid var(--focus);outline-offset:2px}.studio-swatch{border-radius:var(--radius-md);border:var(--bw) solid var(--hairline);min-height:168px;padding:var(--sp-5);box-shadow:inset 0 0 0 1px oklab(0% none none/.06), var(--shadow-1);flex-direction:column;justify-content:space-between;display:flex}.studio-swatch-tag{font-family:var(--font-display);font-weight:800;font-size:var(--text-lg)}.studio-swatch-hex{font-family:var(--font-mono);font-size:var(--text-sm);align-self:flex-end}.studio-vals{gap:var(--sp-2);margin:var(--sp-5) 0 0;display:grid}.bench-partner{font-size:var(--text-xs);color:var(--text-subtle);margin:var(--sp-4) 0 0}.bench-partner b{color:var(--text-muted);font-family:var(--font-mono)}.builder-layout{gap:var(--sp-8);grid-template-columns:minmax(0,1fr) 300px;align-items:start;display:grid}.builder-main{min-width:0}.assign-hint{align-items:baseline;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);margin-bottom:var(--sp-6);border:var(--bw) solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);font-size:var(--text-sm);color:var(--text-muted);flex-wrap:wrap;display:flex}.assign-hint.is-held{border-color:var(--brand);background:var(--brand-soft);color:var(--text)}.assign-hint span[lang=ja]{font-family:var(--font-display);color:var(--brand);font-weight:800}.assign-hint b{font-family:var(--font-mono);font-weight:700;font-size:var(--text-xs)}.slot-rail{gap:var(--sp-3);margin-bottom:var(--sp-5);flex-direction:column;display:flex}.slot-group{gap:var(--sp-4);grid-template-columns:84px minmax(0,1fr);align-items:center;display:grid}.slot-group-lab{flex-direction:column;line-height:1.2;display:flex}.slot-group-lab span[lang=ja]{font-family:var(--font-display);font-weight:700;font-size:var(--text-md)}.slot-group-lab small{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--ls-wide);color:var(--text-subtle)}.slot-chips{gap:var(--sp-3);flex-wrap:wrap;display:flex}.slot-chip{appearance:none;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);background:var(--surface);border:var(--bw) solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--dur-2) var(--ease), background-color var(--dur-2) var(--ease);display:flex;position:relative}.slot-chip:hover{border-color:var(--border-strong);background:var(--surface-2)}.slot-chip.is-sel{outline:var(--bw-2) solid var(--focus);outline-offset:2px}.slot-sw{border-radius:var(--radius-sm);border:var(--bw) solid var(--hairline);width:26px;height:26px;transition:background-color var(--dur-2) var(--ease);flex:none}.slot-names{text-align:left;flex-direction:column;line-height:1.15;display:flex}.slot-names span[lang=ja]{font-family:var(--font-display);font-weight:700;font-size:var(--text-sm)}.slot-names small{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--text-subtle)}.slot-stock{font-family:var(--font-display);font-size:var(--text-2xs);color:var(--text-subtle);border:var(--bw) solid var(--border);border-radius:var(--radius-full);padding:1px 6px}.slot-chip.is-off .slot-names{opacity:.72}.slot-hit{align-items:center;gap:var(--sp-3);min-width:0;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;padding:0;display:flex}.slot-hit:focus-visible{outline:var(--bw-2) solid var(--focus);outline-offset:3px;border-radius:var(--radius-sm)}.slot-chip.is-assigned{border-color:var(--brand)}.slot-clear{border-radius:var(--radius-sm);color:var(--text-subtle);font-size:var(--text-2xs);cursor:pointer;transition:color var(--dur-2) var(--ease), background-color var(--dur-2) var(--ease);background:0 0;border:0;flex:none;padding:2px 5px;line-height:1}.slot-clear:hover{color:var(--danger);background:color-mix(in oklab, var(--danger) 12%, transparent)}.slot-clear:focus-visible{outline:var(--bw-2) solid var(--focus);outline-offset:1px}.rail-lab{align-items:baseline;gap:var(--sp-2);margin-bottom:var(--sp-3);display:flex}.rail-lab span[lang=ja]{font-family:var(--font-display);font-weight:700;font-size:var(--text-sm)}.rail-lab small{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--ls-wide);color:var(--text-subtle)}.term-rail{gap:var(--sp-2);margin-bottom:var(--sp-5);flex-wrap:wrap;display:flex}.term-chip{padding:var(--sp-1) var(--sp-2);gap:var(--sp-2)}.term-chip .slot-sw{width:18px;height:18px}.term-chip .slot-names span[lang=ja]{font-size:var(--text-xs)}.term-chip .slot-names small{text-transform:uppercase}.term-chip .slot-stock{padding:0 5px}.stage{--stage-ring:color-mix(in oklab, var(--text) 62%, transparent);background:var(--bg);border:var(--bw) solid var(--border);border-radius:var(--radius-lg);padding:var(--sp-5);gap:var(--sp-5);transition:background-color var(--dur-2) var(--ease);flex-direction:column;display:flex}.stage[data-sel=bg] [data-slots~=bg],.stage[data-sel=text] [data-slots~=text],.stage[data-sel=border] [data-slots~=border],.stage[data-sel=brand] [data-slots~=brand],.stage[data-sel=accent] [data-slots~=accent],.stage[data-sel=ok] [data-slots~=ok],.stage[data-sel=warn] [data-slots~=warn],.stage[data-sel=danger] [data-slots~=danger],.stage[data-sel=info] [data-slots~=info],.stage[data-sel=t0] [data-slots~=t0],.stage[data-sel=t1] [data-slots~=t1],.stage[data-sel=t2] [data-slots~=t2],.stage[data-sel=t3] [data-slots~=t3],.stage[data-sel=t4] [data-slots~=t4],.stage[data-sel=t5] [data-slots~=t5],.stage[data-sel=t6] [data-slots~=t6],.stage[data-sel=t7] [data-slots~=t7],.stage[data-sel=t8] [data-slots~=t8],.stage[data-sel=t9] [data-slots~=t9],.stage[data-sel=t10] [data-slots~=t10],.stage[data-sel=t11] [data-slots~=t11],.stage[data-sel=t12] [data-slots~=t12],.stage[data-sel=t13] [data-slots~=t13],.stage[data-sel=t14] [data-slots~=t14],.stage[data-sel=t15] [data-slots~=t15]{outline:2px solid var(--stage-ring);outline-offset:2px;border-radius:2px}.kit-block{gap:var(--sp-4);flex-direction:column;display:flex}.kit-block+.kit-block{border-top:var(--bw) solid var(--hairline);padding-top:var(--sp-5)}.kit-lab{font-family:var(--font-display);font-weight:700;font-size:var(--text-sm)}.kit-lab small{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:.06em;color:var(--text-subtle);margin-inline-start:var(--sp-3)}.comp-row{gap:var(--sp-5);flex-wrap:wrap;align-items:flex-start;display:flex}.comp-col{gap:var(--sp-4);flex-direction:column;min-width:220px;display:flex}.comp-row>span[data-slots],.comp-col>span[data-slots]{min-width:0;display:inline-flex}.assign-hanger{top:var(--sp-7);max-height:calc(100vh - 2 * var(--sp-7));padding:var(--sp-5);position:sticky;overflow-y:auto}.ah-head{align-items:baseline;gap:var(--sp-3);margin-bottom:var(--sp-4);display:flex}.ah-head span[lang=ja]{font-family:var(--font-display);font-weight:800;font-size:var(--text-md)}.ah-head small{font-family:var(--font-mono);font-size:var(--text-2xs);letter-spacing:var(--ls-wide);color:var(--text-subtle)}.ah-rack{gap:var(--sp-4);flex-wrap:wrap;display:flex}.ah-rack .cloth-card{width:calc(50% - var(--sp-2));min-width:108px}.term-dl{margin-top:var(--sp-5);margin-bottom:0}.term-dl-note{font-size:var(--text-xs);color:var(--text-subtle)}.builder-reset{margin-top:var(--sp-6)}.export-block{gap:var(--sp-4);flex-direction:column;display:flex}.export-block .codeblock{max-height:420px;overflow:auto}.codeblock .hl-kw{color:var(--term-4);font-weight:700}.codeblock .hl-str{color:var(--term-2)}.codeblock .hl-num{color:var(--term-5)}.codeblock .hl-com{color:var(--term-8);font-style:italic}.codeblock .hl-fn{color:var(--term-6)}.codeblock .hl-type{color:var(--term-1)}.nvim-mock{border:var(--bw) solid var(--border);border-radius:var(--radius-md);overflow:hidden}.nvim-body{display:flex}.nvim-gutter{padding:var(--sp-5) var(--sp-3);text-align:right;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--term-8);-webkit-user-select:none;user-select:none;flex:none;line-height:1.6}.nvim-gutter span{display:block}.nvim-body .nvim-code{color:var(--term-0);background:0 0;border:0;border-radius:0;flex:1;line-height:1.6}.nvim-statusline{gap:var(--sp-4);padding:3px var(--sp-4);font-family:var(--font-mono);font-size:var(--text-2xs);background:var(--term-4);color:var(--term-15);display:flex}.nvim-statusline span:last-child{margin-inline-start:auto}.term-mock{border:var(--bw) solid var(--border);border-radius:var(--radius-md);overflow:hidden}.term-bar{gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);background:var(--surface-2);border-bottom:var(--bw) solid var(--border);display:flex}.term-bar i{background:var(--border-strong);border-radius:50%;width:10px;height:10px}.term-body{padding:var(--sp-4) var(--sp-5);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--term-0);line-height:1.7}.term-body p{margin:0}.term-colortest{gap:3px;padding:2px 0;display:flex}.term-colortest i{border:var(--bw) solid var(--hairline);border-radius:2px;width:20px;height:14px}.term-body,.nvim-body{background:var(--term-15)}[data-theme=dark] .term-body,[data-theme=dark] .nvim-body{background:var(--term-0)}[data-theme=dark] .nvim-body .nvim-code,[data-theme=dark] .term-body{color:var(--term-15)}@media (width<=940px){.builder-page{padding-bottom:330px}.builder-layout{grid-template-columns:1fr;gap:0}}@media (prefers-reduced-motion:reduce){.slot-chip,.slot-sw,.stage{transition:none}}
