@layer components{.stamps{--perforation:var(--color-surface-base)}.stamps[data-ground=sunken]{--perforation:var(--color-surface-sunken)}.stamps[data-ground=raised]{--perforation:var(--color-surface-raised)}.stamp{position:relative;view-timeline-name:--stamp}.stamp:after{content:"";position:absolute;inset:-3px;border:6px dotted var(--perforation);border-radius:var(--radius-sm);pointer-events:none}.stamp__face{display:block;inline-size:3rem;block-size:3rem;margin-block-end:var(--space-1);content-visibility:auto;contain-intrinsic-size:3rem 3rem}.stamp__rosette{inline-size:100%;block-size:100%}.stamp .stamp__rosette .seal__ring{stroke-width:6}.stamp .stamp__rosette .seal__ring[data-ring=ledger]{stroke-width:4.5}}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){.stamp .seal__ring{stroke-dasharray:1;animation:stamp-engrave linear both;animation-timeline:--stamp;animation-range:entry 10% entry 70%}.stamp .seal__ring:nth-of-type(2){animation-range:entry 30% entry 90%}.stamp .seal__ring:nth-of-type(3){animation-range:entry 50% cover 45%}}}@keyframes stamp-engrave{0%{stroke-dashoffset:1}}

/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer components{.tile{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background-color:var(--color-surface-raised);box-shadow:0 .35rem 0 -1px var(--seal-watermark),0 calc(.35rem + 1px) 0 -1px var(--color-border-strong),var(--seal-shadow-note);text-align:center;flex-direction:column;display:flex}.tile--held{border-block-start:2px solid var(--color-measure-rule)}.tile:focus-within,.tile:hover{border-color:var(--color-border-strong)}.tile--held:focus-within,.tile--held:hover{border-block-start-color:var(--color-measure-rule)}.scene-bar{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.scene-bar__choices{gap:var(--space-2);flex-wrap:wrap;display:flex}.scene-choice,.scene-toggle{min-block-size:2.75rem;padding-inline:var(--space-4);border:1px solid var(--color-border-control);border-radius:var(--radius-sm);background-color:var(--color-surface-base);color:var(--color-text-secondary);font:inherit;font-size:var(--text-md);cursor:var(--cursor-press,pointer);transition-property:background-color,border-color,color;transition-duration:var(--duration-short);transition-timing-function:var(--ease-standard)}.scene-choice:hover,.scene-toggle:hover{border-color:var(--color-text-primary);color:var(--color-text-primary)}.scene-choice[aria-pressed=true]{border-color:var(--color-brand);background-color:var(--color-measure-subtle);color:var(--color-text-primary)}.scene-toggle{border-style:dashed}.scene-choice:focus-visible,.scene-toggle:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.scene-note{font-size:var(--text-sm);color:var(--color-text-muted)}.rolling{overflow-clip-margin:.1em;vertical-align:bottom;overflow:clip}.rolling,.rolling__value{display:inline-block}.assembly{gap:var(--space-10);align-items:center;margin:0;display:grid}@media (min-width:1024px){.assembly{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.assembly__stage{perspective:70rem;place-items:center;min-block-size:22rem;display:grid;overflow:hidden}.assembly__floor{gap:var(--space-4);padding:var(--space-8) var(--space-6) var(--space-6);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background-color:var(--color-surface-sunken);transform:rotateX(56deg) rotate(calc(var(--m-dir) * -38deg));transform-style:preserve-3d;grid-template-columns:repeat(2,9rem);display:grid;position:relative}.assembly__instance{font-size:var(--text-sm);color:var(--color-text-muted);position:absolute;inset-block-start:var(--space-2);inset-inline-start:var(--space-4)}.assembly__slab{background-color:var(--color-surface-selected);block-size:6rem;color:var(--assembly-slab-ink);font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-bold);transform-style:preserve-3d;border-radius:2px;place-items:center;display:grid;position:relative;transform:translateZ(1.5rem)}.assembly__slab:after,.assembly__slab:before{content:"";background-color:var(--seal-press-a);position:absolute}.assembly__slab:before{transform-origin:bottom;block-size:1.5rem;inset-block-end:0;inset-inline:0;transform:rotateX(90deg)}.assembly__slab:after{filter:brightness(.82);transform-origin:0;inline-size:1.5rem;inset-block:0;inset-inline-start:0;transform:rotateY(90deg)}:dir(rtl) .assembly__slab:after{transform-origin:100%;transform:rotateY(-90deg)}.assembly__slab--custom{background-color:var(--color-brand);color:var(--color-text-on-brand)}.assembly__slab--custom:after,.assembly__slab--custom:before{background-color:var(--color-brand-active)}.assembly__legend{gap:var(--space-5);display:grid}.assembly__name{gap:var(--space-1);font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--color-text-primary);margin:0;display:grid}.assembly__note{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-muted);font-weight:400}.assembly__parts{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.assembly__parts>li{gap:var(--space-1);padding-block:var(--space-3);border-inline-start:3px double var(--color-brand);color:var(--color-text-secondary);padding-inline-start:var(--space-4);display:grid}.assembly__activation,.assembly__part-value{color:var(--color-text-primary)}.assembly__activation{border-block-start:1px solid var(--color-border-subtle);margin:0;padding-block-start:var(--space-4)}.switch{gap:var(--space-6);margin:0;display:grid}.switch__stage{gap:var(--space-8);align-items:center;display:grid}@media (min-width:1024px){.switch__stage{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.switch__band{block-size:3.5rem;font-size:var(--text-md);grid-column:1/-1}.switch__tile{block-size:5rem;font-size:var(--text-md)}.switch__tile[data-on=false]{border:2px dashed var(--color-border-strong);color:var(--color-text-muted);background-color:#0000;transform:translateZ(0)}.switch__tile[data-on=false]:after,.switch__tile[data-on=false]:before{display:none}.switch__tile[data-changed=on]{background-color:var(--color-brand);color:var(--color-text-on-brand)}.switch__tile[data-changed=on]:after,.switch__tile[data-changed=on]:before{background-color:var(--color-brand-active)}.switch__legend{gap:var(--space-5);display:grid}.switch__change{border-inline-start:3px solid var(--color-brand);font-size:var(--text-lg);color:var(--color-text-secondary);margin:0;padding-inline-start:var(--space-4)}.switch__change[data-change=off]{border-inline-start-color:var(--color-border-strong)}.switch__module{font-family:var(--font-display);font-weight:var(--weight-bold);color:var(--color-text-primary)}.switch__states{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.switch__states li{justify-content:space-between;gap:var(--space-3);padding-block:var(--space-2);border-block-end:1px solid var(--color-border-subtle);color:var(--color-text-primary);display:flex}.switch__states li[data-on=false]{color:var(--color-text-muted)}.switch__chip{padding:0 var(--space-2);border-radius:var(--radius-sm);background-color:var(--color-status-positive-surface);font-size:var(--text-sm);color:var(--color-text-primary)}.switch__states li[data-on=false] .switch__chip{background-color:var(--color-surface-sunken)}}@media (prefers-reduced-motion:no-preference){.tile{transition:transform var(--duration-settle) var(--ease-settle),border-color var(--duration-settle) var(--ease-settle)}.tile:focus-within,.tile:hover{transform:translateY(-.15rem)}.rolling__value{animation:figure-roll .42s var(--ease-settle) both}}@keyframes figure-roll{0%{translate:0 .9em}to{translate:0}}@keyframes scene-lay{0%{transform:translateY(1.25rem)}to{transform:none}}@keyframes scene-write{0%{clip-path:inset(-10% 100% -10% 0);translate:-.5rem}to{clip-path:inset(-10% -2%);translate:0}}@keyframes scene-write-rtl{0%{clip-path:inset(-10% 0 -10% 100%);translate:.5rem}to{clip-path:inset(-10% -2%);translate:0}}@keyframes scene-stamp{0%{rotate:-4deg;scale:1.35}to{rotate:0deg;scale:1}}@keyframes scene-thread{0%{scale:0 1}to{scale:1}}@keyframes scene-thread-down{0%{scale:1 0}to{scale:1}}:root{--assembly-slab-ink:var(--color-text)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--assembly-slab-ink:var(--color-text-on-brand)}}:root[data-theme=dark]{--assembly-slab-ink:var(--color-text-on-brand)}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){.assembly__slab--custom{animation:assembly-lower linear both;animation-timeline:view();animation-range:entry 30% cover 50%}.assembly__slab:not(.assembly__slab--custom){animation:assembly-rise linear both;animation-timeline:view();animation-range:entry entry 40%}.assembly__slab:nth-child(3){animation-range:entry 6% entry 46%}.assembly__slab:nth-child(4){animation-range:entry 12% entry 52%}.assembly__parts>li{animation:assembly-ink linear both;animation-timeline:view();animation-range:entry 20% entry 60%}.assembly__parts>li:nth-child(2){animation-range:entry 30% entry 70%}.assembly__parts>li:nth-child(3){animation-range:entry 40% entry 80%}.assembly__parts>li:nth-child(4){animation-range:entry 50% entry 90%}:dir(rtl) .assembly__parts>li{animation-name:assembly-ink-rtl}}}@keyframes assembly-lower{0%{transform:translateZ(11rem)rotate(-14deg)}to{transform:translateZ(1.5rem)rotate(0)}}@keyframes assembly-rise{0%{transform:translateZ(0)}to{transform:translateZ(1.5rem)}}@keyframes assembly-ink{0%{clip-path:inset(-10% 100% -10% 0)}to{clip-path:inset(-10% -2%)}}@keyframes assembly-ink-rtl{0%{clip-path:inset(-10% 0 -10% 100%)}to{clip-path:inset(-10% -2%)}}.switch .assembly__slab{animation:none}@media (prefers-reduced-motion:no-preference){.switch__tile[data-changed=on]{animation:switch-rise .9s var(--ease-settle) .25s both}.switch__tile[data-changed=off]{animation:switch-lower .7s var(--ease-settle) .25s both}.switch__change{animation:scene-write .56s var(--ease-settle) .7s both}:dir(rtl) .switch__change{animation-name:scene-write-rtl}.switch__states li[data-on] .switch__chip{animation:scene-stamp .48s var(--ease-settle) 1s both}}@keyframes switch-rise{0%{transform:translateZ(0)}to{transform:translateZ(1.5rem)}}@keyframes switch-lower{0%{transform:translateZ(1.5rem)}to{transform:translateZ(0)}}