:root{--color-ink: #111111;--ink: #111111;--color-ink-muted: #888888;--ink-2: #888888;--color-ink-faint: #555555;--color-paper: #fafaf7;--paper: #fafaf7;--color-surface: #ffffff;--color-border: #111111;--color-accent: #1d39c9;--accent: #1d39c9;--color-accent-contrast: #ffffff;--color-status-success: #1a7a3a;--color-status-error: #b00020;--danger: #b00020;--color-scene-bg: #fafaf7;--font-body: var(--font-stack-jetbrains-mono);--font-display: var(--font-stack-jetbrains-mono);--font-mono: var(--font-stack-jetbrains-mono);--text-display-size: 24px;--text-display-line: 1.1;--text-display-weight: 600;--text-display-tracking: .02em;--text-h1-size: 18px;--text-h1-line: 1.2;--text-h1-weight: 600;--text-h1-tracking: .04em;--text-h2-size: 14px;--text-h2-line: 1.3;--text-h2-weight: 600;--text-h2-tracking: .06em;--text-body-size: 12px;--text-body-line: 1.4;--text-body-weight: 400;--text-body-tracking: .04em;--text-caption-size: 9px;--text-caption-line: 1.3;--text-caption-weight: 400;--text-caption-tracking: .15em;--space-1: 4px;--space-2: 6px;--space-3: 8px;--space-4: 12px;--space-5: 16px;--space-6: 24px;--space-7: 32px;--radius-none: 0;--radius-sm: 2px;--radius-md: 4px;--radius-lg: 6px;--radius-pill: 999px;--radius-circle: 50%;--shadow-sm: 0 2px 10px rgba(0,0,0,.12);--shadow-md: 0 8px 32px rgba(0,0,0,.18);--shadow-lg: 0 16px 48px rgba(0,0,0,.24);--motion-duration-fast: .12s;--motion-duration-base: .2s;--motion-duration-slow: .24s;--motion-easing-out: ease-out;--motion-easing-inout: ease;--motion-easing-spring: cubic-bezier(.2,.7,.2,1);--z-chrome: 0;--z-canvas: 1;--z-raised: 2;--z-shell: 5;--z-shelf: 6;--z-rail: 7;--z-picker: 8;--z-selection: 9;--z-tip: 10;--z-print-button: 100;--z-modal-customer: 100000;--z-modal-checkout: 200000;--z-modal-printer: 200001;--z-modal-auth: 200002;--scrollbar-width: 8px;--scrollbar-thumb: var(--color-ink-muted);--scrollbar-track: transparent;--scrollbar-radius: 0;--button-bg: var(--color-accent);--button-fg: var(--color-accent-contrast);--button-border: var(--color-border);--button-radius: var(--radius-md);--button-pad-x: var(--space-4);--button-pad-y: var(--space-3);--field-bg: var(--color-surface);--field-fg: var(--color-ink);--field-border: var(--color-border);--field-radius: var(--radius-sm);--field-pad-x: var(--space-3);--field-pad-y: var(--space-2);--modal-bg: var(--color-paper);--modal-fg: var(--color-ink);--modal-border: var(--color-border);--modal-radius: var(--radius-md);--modal-shadow: var(--shadow-md);--modal-pad: var(--space-6);--dock-bg: var(--color-paper);--dock-fg: var(--color-ink);--dock-border: var(--color-border);--dock-radius: var(--radius-md);--dock-gap: var(--space-3)}[data-theme=dark]{--color-ink: #e4e4e4;--ink: #e4e4e4;--color-ink-muted: #999999;--ink-2: #999999;--color-ink-faint: #666666;--color-paper: #1a1a1a;--paper: #1a1a1a;--color-surface: #222222;--color-border: #e4e4e4;--color-accent: #dff000;--accent: #dff000;--color-accent-contrast: #111111;--color-status-success: #3fae5e;--color-status-error: #ff5a72;--danger: #ff5a72;--color-scene-bg: #0d0d0d}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}.tokenized-scroll{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);overscroll-behavior:contain}.tokenized-scroll::-webkit-scrollbar{width:var(--scrollbar-width);height:var(--scrollbar-width)}.tokenized-scroll::-webkit-scrollbar-track{background:var(--scrollbar-track)}.tokenized-scroll::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--scrollbar-radius)}html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden;background:var(--color-paper);font-family:var(--font-body);color:var(--color-ink);touch-action:none;overscroll-behavior:none;user-select:none;-webkit-user-select:none}#stage{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;z-index:var(--z-canvas)}canvas{display:block;touch-action:none}.tip{position:fixed;z-index:var(--z-tip);transform:translate(-50%,-100%);background:var(--color-paper);border:1px solid var(--color-border);padding:var(--space-2) 10px;font-size:var(--text-body-size);letter-spacing:.04em;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--motion-duration-fast) var(--motion-easing-inout);margin-top:-10px}.tip.visible{opacity:1}.tip.editing{pointer-events:auto}.tip .label{color:var(--color-ink-muted);text-transform:uppercase;font-size:10px;margin-right:6px}.tip .value{color:var(--color-ink);font-weight:500}.tip.editing .value{color:var(--color-accent)}.tip input{width:56px;border:none;background:transparent;font:inherit;font-size:16px;font-weight:500;color:var(--color-accent);padding:0;margin:0;outline:none;text-align:right}.tip input::-webkit-outer-spin-button,.tip input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.tip input[type=number]{-moz-appearance:textfield}.tip.editing:before,.tip.editing:after{content:"";position:absolute;top:50%;width:4px;height:1px;background:var(--color-accent);transform:translateY(-50%)}.tip.editing:before{left:-6px}.tip.editing:after{right:-6px}.corner{position:fixed;width:14px;height:14px;border:1px solid var(--color-border);z-index:var(--z-chrome);pointer-events:none}.corner.tl{top:12px;left:12px;border-right:none;border-bottom:none}.corner.tr{top:12px;right:12px;border-left:none;border-bottom:none}.corner.bl{bottom:calc(12px + env(safe-area-inset-bottom));left:12px;border-right:none;border-top:none}.corner.br{bottom:calc(12px + env(safe-area-inset-bottom));right:12px;border-left:none;border-top:none}.corner.tl,.corner.br,.corner.bl{display:none}.stamp{display:none;position:fixed;bottom:calc(16px + env(safe-area-inset-bottom));left:32px;font-size:var(--text-caption-size);letter-spacing:.15em;color:var(--color-ink-muted);text-transform:uppercase;z-index:var(--z-chrome);pointer-events:none}.version-badge{position:fixed;bottom:calc(10px + env(safe-area-inset-bottom));right:34px;display:flex;gap:14px;align-items:baseline;font-family:var(--font-stack-system-mono);font-size:var(--text-caption-size);letter-spacing:.08em;color:var(--color-ink-muted);z-index:var(--z-chrome);pointer-events:none}.version-badge-sha{font-weight:600;color:var(--color-ink)}.version-badge-branch{opacity:.85}.version-badge-worktree{opacity:.65}@media(max-width:768px),(pointer:coarse){.stamp,.version-badge,.corner{display:none}}.bin-menu{position:fixed;left:0;top:0;transform:translate(-50%,calc(-100% - var(--bin-menu-gap, 12px)));display:flex;flex-direction:row;gap:var(--bin-menu-gap, 12px);align-items:center;z-index:var(--z-selection);pointer-events:none}.bin-menu[data-open="0"]{opacity:0;visibility:hidden;pointer-events:none}.bin-menu[data-open="1"]{opacity:1;visibility:visible}body.mobile-picker-open .bin-menu{opacity:0;visibility:hidden;pointer-events:none}.bin-menu-btn{pointer-events:auto;min-width:var(--mobile-shell-picker-chip-size, 44px);min-height:var(--mobile-shell-picker-chip-size, 44px);padding:0 var(--bin-menu-btn-padding, 10px);border:1px solid var(--color-ink);border-radius:var(--bin-menu-radius, 0);background:var(--color-paper);color:var(--color-ink);font:inherit;font-size:var(--bin-menu-font, .85rem);line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--bin-menu-shadow, 0 2px 8px rgba(0, 0, 0, .18));user-select:none}.bin-menu-btn:hover:not(:disabled){background:var(--color-accent);color:var(--color-paper)}.bin-menu-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.bin-menu-btn:disabled{opacity:.35;cursor:default}.bin-menu-btn--palette{padding:0;background:transparent;border:0;box-shadow:none}.bin-menu-btn--palette .bin-menu-btn-icon{width:var(--bin-menu-palette-icon-size, var(--mobile-shell-picker-chip-size, 44px));height:var(--bin-menu-palette-icon-size, var(--mobile-shell-picker-chip-size, 44px))}.bin-menu-btn--palette:hover:not(:disabled){background:transparent}.bin-menu-btn-icon{width:var(--bin-menu-icon-size, 22px);height:var(--bin-menu-icon-size, 22px);object-fit:contain;pointer-events:none;filter:invert(1)}[data-theme=dark] .bin-menu-btn-icon{filter:none}.bin-menu-dropdown{pointer-events:auto;position:absolute;top:calc(100% + var(--bin-menu-gap, 12px));left:50%;transform:translate(-50%);min-width:var(--bin-menu-dropdown-width, 160px);display:flex;flex-direction:column;gap:var(--bin-menu-dropdown-gap, 2px);padding:var(--bin-menu-dropdown-padding, 8px);border:1px solid var(--color-ink);border-radius:var(--bin-menu-dropdown-radius, 8px);background:var(--color-paper);box-shadow:var(--bin-menu-shadow, 0 2px 8px rgba(0, 0, 0, .18))}.bin-menu-dropdown[data-open="0"]{display:none}.bin-menu-dropdown-title{color:var(--color-ink-muted);font-size:var(--bin-menu-dropdown-title-font, .7rem);text-transform:uppercase;letter-spacing:.06em;padding:var(--bin-menu-dropdown-title-padding, 2px 4px 4px)}.bin-menu-dropdown-option{text-align:left;border:0;background:transparent;color:var(--color-ink);font:inherit;font-size:var(--bin-menu-font, .85rem);padding:var(--bin-menu-dropdown-option-padding, 6px 4px);border-radius:var(--bin-menu-dropdown-option-radius, var(--radius-md))}.bin-menu-dropdown-option:disabled{opacity:.4;cursor:default}.checkout-modal{position:fixed;inset:0;display:none;z-index:var(--z-modal-checkout)}.checkout-modal.is-open{display:block}.checkout-modal-backdrop{position:absolute;inset:0;background:#11111173}.checkout-modal-card{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);min-width:280px;min-height:160px;background:var(--color-paper);border:1px solid var(--color-ink);outline:none;padding:var(--space-6)}.checkout-modal-close{position:absolute;top:8px;right:8px;width:28px;height:28px;background:transparent;border:1px solid var(--color-ink);font:inherit;font-size:16px;line-height:1;cursor:pointer;color:var(--color-ink)}@media(hover:hover){.checkout-modal-close:hover{background:var(--color-ink);color:var(--color-paper)}}@media(max-width:768px),(pointer:coarse){.checkout-modal-close{top:12px;right:12px;width:44px;height:44px;font-size:22px;border-radius:var(--radius-md)}.checkout-modal-close:active{background:var(--color-ink);color:var(--color-paper)}.checkout-modal-card{min-width:min(320px,calc(100vw - 32px));padding:32px 20px 20px}}.parts-list-panel{position:fixed;z-index:var(--z-chrome);font-family:var(--font-body);background:transparent;pointer-events:none;user-select:text;-webkit-user-select:text;display:flex;flex-direction:column;color:var(--color-ink)}.parts-list-panel.parts-list-collapsed>.parts-list-body{display:none}.parts-list-panel.parts-list-docked-bottom{left:24px;bottom:24px;top:auto;width:280px;flex-direction:column-reverse}.parts-list-panel.parts-list-docked-bottom .parts-list-header{border-bottom:none;border-top:1px solid var(--color-ink)}.parts-list-panel.parts-list-docked-bottom.parts-list-collapsed .parts-list-header{border-top-color:transparent}.parts-list-panel.parts-list-docked-bottom .parts-list-body{max-height:min(360px,calc(100vh - 48px))}.parts-list-header{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:.6px 10px;border-bottom:1px solid var(--color-ink);transition:border-bottom-color var(--motion-duration-base) var(--motion-easing-inout);pointer-events:auto;cursor:pointer}.parts-list-panel:not(.parts-list-collapsed) .parts-list-title{margin-right:auto}.parts-list-panel.parts-list-collapsed .parts-list-header{border-bottom-color:transparent}.parts-list-title{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink);transition:color var(--motion-duration-base) var(--motion-easing-inout),margin-right var(--motion-duration-base) var(--motion-easing-inout)}.parts-list-panel.parts-list-collapsed .parts-list-title{color:var(--color-ink-muted)}.parts-list-toggle{background:transparent;border:none;width:20px;height:20px;cursor:pointer;font:inherit;font-size:14px;line-height:1;padding:0;color:var(--color-ink);pointer-events:auto}.parts-list-body{padding:var(--space-3) 10px;max-height:min(360px,calc(100vh - 32px));overflow-y:auto;display:flex;flex-direction:column;gap:3.2px}.parts-list-row{display:flex;gap:var(--space-4);align-items:flex-start}.parts-list-preview{display:block;flex-shrink:0;width:48px;height:48px}.parts-list-meta{display:flex;flex-direction:column;font-size:11px;line-height:1.3;color:var(--color-ink)}.parts-list-name{font-weight:600;font-size:13px}.parts-list-dims{color:var(--color-ink-muted)}.parts-list-count{font-weight:600;font-size:32px;line-height:1;min-width:1.8em;flex-shrink:0;text-align:center;opacity:.9}.parts-list-empty{font-size:11px;color:var(--color-ink-muted);margin:0}.parts-list-total{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-ink)}.parts-list-total-label{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink)}.parts-list-total-count{font-weight:600;font-size:16px;line-height:1;color:var(--color-ink)}@media(max-width:768px),(pointer:coarse){.parts-list-toggle{width:20px;height:20px;font-size:18px;border-radius:var(--radius-md)}.parts-list-toggle:active{background:var(--color-ink);color:var(--color-paper)}.parts-list-header{padding:.6px 12px}.parts-list-body{max-height:min(40vh,calc(100dvh - 32px))}.parts-list-panel.parts-list-mobile{top:52px;left:12px;right:auto;width:auto;min-width:180px;max-width:calc(100vw - 24px);align-items:flex-start}.parts-list-panel.parts-list-mobile .parts-list-header{justify-content:flex-start}.parts-list-panel.parts-list-mobile{z-index:var(--z-raised)}}.print-button{position:fixed;bottom:12px;right:12px;padding:10px 16px;background:transparent;border:1px solid var(--color-ink);color:var(--color-ink);font:inherit;font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;z-index:var(--z-print-button)}@media(hover:hover){.print-button:hover{background:var(--color-ink);color:var(--color-paper)}}.printer-modal{position:fixed;inset:0;display:none;z-index:var(--z-modal-printer)}.printer-modal.is-open{display:block}.printer-modal-backdrop{position:absolute;inset:0;background:#11111140}.printer-modal-card{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);min-width:320px;max-width:min(560px,calc(100vw - 32px));max-height:min(calc(100vh - 48px),calc(100dvh - 48px));overflow:hidden;padding:var(--space-6);background:var(--color-scene-bg);border:1px solid var(--color-ink);display:flex;flex-direction:column;gap:var(--space-5);font-family:var(--font-body);color:var(--color-ink);transition:top .42s cubic-bezier(.22,1,.36,1),transform .42s cubic-bezier(.22,1,.36,1)}.printer-modal.is-generating .printer-modal-card{top:24px;transform:translate(-50%)}.printer-modal-settings.is-disabled{opacity:.55}.printer-modal-manifest{flex:1 1 auto;min-height:0;overflow-y:auto}.printer-modal-manifest:empty{display:none}.printer-modal-table{width:100%;border-collapse:collapse;font-size:11px}.printer-modal-table th{text-align:left;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink-muted);padding:4px 8px 6px;border-bottom:1px solid var(--color-ink);white-space:nowrap;position:sticky;top:0;background:var(--color-scene-bg)}.printer-modal-table td{padding:5px 8px;border-bottom:1px solid color-mix(in srgb,var(--color-ink) 15%,transparent);white-space:nowrap}.printer-modal-tick-col{width:1.5em}.printer-modal-tick{color:var(--color-accent);text-align:center}.printer-modal-preview-col-cell{width:44px;padding:2px 6px!important;color:var(--color-ink)}.printer-modal-preview{display:block;width:36px;height:36px}.printer-modal-part-row{opacity:0;transform:translateY(4px);transition:opacity .18s ease,transform .18s ease}.printer-modal-part-row.is-in{opacity:1;transform:none}.printer-modal-manifest-caption{margin:8px 0 0;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink-muted)}.printer-modal-download,.printer-modal-retry{margin-top:4px;padding:10px 16px;background:transparent;border:1px solid var(--color-ink);font:inherit;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;color:var(--color-ink)}.printer-modal-download{border-color:var(--color-accent);color:var(--color-accent)}@media(hover:hover){.printer-modal-download:hover{background:var(--color-accent);color:var(--color-paper)}.printer-modal-retry:hover{background:var(--color-ink);color:var(--color-paper)}}@media(prefers-reduced-motion:reduce){.printer-modal-card,.printer-modal-part-row{transition:none}}.printer-modal-close{position:absolute;top:8px;right:8px;width:28px;height:28px;background:transparent;border:1px solid var(--color-ink);font:inherit;font-size:16px;line-height:1;cursor:pointer;color:var(--color-ink)}@media(hover:hover){.printer-modal-close:hover{background:var(--color-ink);color:var(--color-paper)}}.printer-modal-title{margin:0;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.printer-modal-stats,.printer-modal-generate-status{margin:0;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink-muted)}.printer-modal-generate-status[data-kind=ok]{color:var(--color-accent)}.printer-modal-generate-status[data-kind=err]{color:var(--color-status-error)}.printer-modal-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);font-size:12px}.printer-modal-label{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink)}.printer-modal-select{font:inherit;font-size:12px;padding:var(--space-1) var(--space-3);background:transparent;border:1px solid var(--color-ink);color:var(--color-ink);cursor:pointer}.printer-modal-generate{margin-top:var(--space-3);padding:10px 16px;background:transparent;border:1px solid var(--color-ink);font:inherit;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;color:var(--color-ink)}@media(hover:hover){.printer-modal-generate:hover{background:var(--color-ink);color:var(--color-paper)}}@media(max-width:768px),(pointer:coarse){.print-button{bottom:calc(12px + env(safe-area-inset-bottom));right:calc(12px + env(safe-area-inset-right));width:84px;height:88px;padding:0;font-size:13px;border-radius:0;border:1px solid var(--color-ink);background:transparent;touch-action:manipulation;display:flex;align-items:center;justify-content:center}.print-button:active{background:var(--color-ink);color:var(--color-paper)}.printer-modal-close{top:12px;right:12px;width:44px;height:44px;font-size:22px;border-radius:var(--radius-md)}.printer-modal-close:active{background:var(--color-ink);color:var(--color-paper)}.printer-modal-card{min-width:min(320px,calc(100vw - 32px));padding:32px 20px 24px}.printer-modal-row{font-size:14px}.printer-modal-select{font-size:16px;padding:10px 12px;min-height:44px;touch-action:manipulation}.printer-modal-generate{padding:14px 20px;font-size:14px;min-height:44px;border-radius:var(--radius-md);touch-action:manipulation}.printer-modal-generate:active{background:var(--color-ink);color:var(--color-paper)}}.print-list-doc-header{font-family:var(--font-mono, monospace);font-size:12px;letter-spacing:.06em;color:var(--color-ink);margin-bottom:var(--space-4)}.print-list-cards{display:flex;flex-direction:column;gap:var(--space-4)}.print-card{border:1px solid var(--color-ink);font-family:var(--font-mono, monospace);color:var(--color-ink);background:transparent}.print-card-head{display:flex;align-items:baseline;gap:var(--space-3);padding:4px 8px;border-bottom:1px solid var(--color-ink);font-size:11px;letter-spacing:.04em}.print-card-head-part,.print-card-head-name{flex:0 0 auto}.print-card-head-ver{margin-left:auto}.print-card-body{display:flex;align-items:stretch}.print-card-iso{flex:0 0 56px;display:flex;align-items:center;justify-content:center;padding:var(--space-2);border-right:1px solid color-mix(in srgb,var(--color-ink) 30%,transparent);color:var(--color-ink)}.print-card-iso svg{width:44px;height:44px;display:block}.print-card-col{flex:1 1 0;padding:var(--space-2) var(--space-3);display:flex;flex-direction:column;gap:2px;min-width:0}.print-card-col-right{border-left:1px solid color-mix(in srgb,var(--color-ink) 30%,transparent)}.print-card-col-hdr{font-size:10px;letter-spacing:.06em;color:var(--color-ink-muted);margin-bottom:2px}.print-card-kv{display:flex;gap:var(--space-3);font-size:11px}.print-card-kv-label{flex:0 0 5.5em;color:var(--color-ink-muted)}.print-card-kv-value{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.print-card-swatch{flex:0 0 14px;align-self:stretch;background:var(--color-ink-muted)}.print-list-wordmark{margin-top:var(--space-4);text-align:right;font-family:var(--font-mono, monospace);font-size:10px;letter-spacing:.04em;color:var(--color-ink-muted)}.printer-modal-part-card{opacity:0;transform:translateY(4px);transition:opacity .18s ease,transform .18s ease}.printer-modal-part-card.is-in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.printer-modal-part-card{transition:none}}@media(max-width:768px),(pointer:coarse){.print-card-body{flex-wrap:wrap}.print-card-iso{flex-basis:48px}.print-card-col{flex-basis:45%}}.auth-gate{position:fixed;inset:0;display:none;z-index:var(--z-modal-auth)}.auth-gate.is-open{display:block}.auth-gate-backdrop{position:absolute;inset:0;background:#11111173}.auth-gate-card{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);min-width:320px;max-width:360px;background:var(--color-paper);border:1px solid var(--color-ink);outline:none;padding:32px 28px 28px}.auth-gate-close{position:absolute;top:8px;right:8px;width:28px;height:28px;background:transparent;border:1px solid var(--color-ink);font:inherit;font-size:16px;line-height:1;cursor:pointer;color:var(--color-ink)}.auth-gate-close:hover{background:var(--color-ink);color:var(--color-paper)}.auth-gate-title{font-size:14px;letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink-muted);margin:0 0 18px}.auth-gate-providers{display:flex;flex-direction:column;gap:10px}.auth-gate-btn{font:inherit;font-size:13px;padding:var(--space-4) 14px;background:var(--color-paper);border:1px solid var(--color-ink);color:var(--color-ink);cursor:pointer;text-align:left}.auth-gate-btn:hover{background:var(--color-ink);color:var(--color-paper)}.auth-gate-btn[disabled]{opacity:.5;cursor:default}.auth-gate-btn--primary{background:var(--color-ink);color:var(--color-paper)}.auth-gate-btn--primary:hover{background:var(--color-accent);color:var(--color-paper)}.auth-gate-email-row{display:flex;gap:var(--space-3)}.auth-gate-email-input,.auth-gate-otp-input{font:inherit;font-size:13px;padding:var(--space-4) 14px;background:var(--color-paper);border:1px solid var(--color-ink);color:var(--color-ink);flex:1 1 auto;min-width:0}.auth-gate-otp-input{text-align:center;letter-spacing:.4em}.auth-gate-error{margin-top:10px;font-size:12px;color:var(--color-status-error);min-height:1em}.auth-gate-footer{margin-top:14px;font-size:11px;color:var(--color-ink-muted);display:flex;justify-content:space-between;gap:var(--space-4)}.auth-gate-link{background:none;border:0;padding:0;font:inherit;font-size:inherit;color:var(--color-ink-muted);text-decoration:underline;cursor:pointer}.auth-gate-link:hover{color:var(--color-ink)}.auth-gate-link[disabled]{opacity:.5;cursor:default;text-decoration:none}.identity-badge{--identity-retreat-ms: .24s;position:fixed;top:12px;right:12px;display:none;align-items:center;gap:var(--space-3);background:var(--color-paper);border:1px solid var(--color-ink);padding:var(--space-2) 10px;font-size:11px;letter-spacing:.04em;color:var(--color-ink);z-index:var(--z-shell);cursor:pointer;user-select:none}.identity-badge.is-visible{display:inline-flex}.identity-badge-track{display:inline-flex;align-items:center;gap:var(--space-3)}.identity-badge-dot{display:none;width:14px;height:14px;image-rendering:pixelated}.identity-badge-email{font-family:var(--font-stack-system-mono)}.identity-badge-email--unverified{text-decoration:underline dotted;text-underline-offset:3px}.identity-badge-caret{font-size:9px;opacity:.6}.identity-badge-menu{position:absolute;top:calc(100% + 4px);right:0;display:none;background:var(--color-paper);border:1px solid var(--color-ink);padding:var(--space-2) 0;min-width:160px;z-index:var(--z-shelf)}.identity-badge-menu.is-open{display:block}.identity-badge-menu-item{display:block;width:100%;text-align:left;background:transparent;border:0;font:inherit;font-size:11px;letter-spacing:.04em;color:var(--color-ink);padding:var(--space-3) 14px;cursor:pointer}@media(hover:hover){.identity-badge-menu-item:hover{background:var(--color-ink);color:var(--color-paper)}}@media(max-width:768px),(pointer:coarse){.identity-badge{padding:var(--space-4) 14px;font-size:13px;min-height:44px;border-radius:var(--radius-md)}.identity-badge:active{background:var(--color-ink);color:var(--color-paper)}.identity-badge-menu{min-width:220px}.identity-badge-menu-item{padding:14px 18px;font-size:13px;min-height:44px}.identity-badge-menu-item:active{background:var(--color-ink);color:var(--color-paper)}.identity-badge-track{transition:transform var(--identity-retreat-ms) ease,opacity var(--identity-retreat-ms) ease}.identity-badge.is-retreated{padding:0;min-height:0;border-color:transparent;background:transparent;border-radius:0}.identity-badge.is-retreated .identity-badge-track{position:absolute;top:0;right:0;transform:translate(calc(100% + 24px));opacity:0;pointer-events:none}.identity-badge.is-retreated .identity-badge-caret{display:none}.identity-badge.is-retreated .identity-badge-dot{display:block}}@media(prefers-reduced-motion:reduce){.identity-badge-track{transition:none}}.mobile-shell-root{position:fixed;inset:0;z-index:var(--z-shell);pointer-events:none}.mobile-shell-stack{position:fixed;left:calc(var(--mobile-shell-stack-padding, 12px) + env(safe-area-inset-left));right:calc(106px + env(safe-area-inset-right));bottom:calc(var(--mobile-shell-stack-padding, 12px) + env(safe-area-inset-bottom));z-index:var(--z-shelf);pointer-events:auto;display:flex;flex-direction:column;flex-direction:column-reverse;gap:var(--mobile-shell-stack-gap, 0px);font-family:var(--font-body);color:var(--color-ink)}.mobile-shell-section{background:transparent;border:none;border-radius:0;overflow:hidden;border-top:1px solid var(--color-ink)}.mobile-shell-section-header{width:100%;min-height:var(--mobile-shell-section-header-height, 44px);display:flex;align-items:center;justify-content:space-between;padding:10px 0;background:transparent;border:none;color:var(--color-ink);font:inherit;font-size:14px;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;touch-action:manipulation}.mobile-shell-section-header:focus{outline:none}.mobile-shell-section-header:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.mobile-shell-section-title{font-weight:500}.mobile-shell-section-caret{display:inline-block;width:18px;text-align:center;font-size:14px;color:var(--color-ink-muted);transition:transform var(--motion-duration-base) var(--motion-easing-inout)}.mobile-shell-section-open .mobile-shell-section-caret{transform:rotate(45deg);color:var(--color-ink)}.mobile-shell-section-body{max-height:0;overflow:hidden;transition:max-height .24s cubic-bezier(.2,.7,.2,1)}.mobile-shell-section-open .mobile-shell-section-body{max-height:50vh}.mobile-shell-section-body-inner{padding:4px 0 14px}.mobile-shell-section-content{display:flex;flex-direction:column;gap:var(--mobile-shell-slider-gap, 8px)}.mobile-shell-slider{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:44px}.mobile-shell-slider-label{width:18px;flex:0 0 auto;font-size:13px;letter-spacing:.05em;color:var(--color-ink-muted);text-align:center}.mobile-shell-slider-value{width:44px;flex:0 0 auto;font-size:12px;color:var(--color-ink);text-align:right;font-variant-numeric:tabular-nums}.mobile-shell-slider-unit{flex:0 0 auto;margin-left:var(--space-1);font-size:12px;color:var(--color-ink-muted);user-select:none}.mobile-shell-slider-unit-toggle{appearance:none;background:none;border:0;padding:0;font:inherit;color:var(--color-ink);cursor:pointer;text-decoration:underline dotted;text-underline-offset:2px;touch-action:manipulation}.mobile-shell-slider-track{flex:1 1 auto;height:44px;width:100%;cursor:pointer;touch-action:none;display:block}.mobile-shell-slider-line,.mobile-shell-slider-terminal{stroke:var(--color-ink);stroke-width:1;vector-effect:non-scaling-stroke}.mobile-shell-slider-knob{fill:none;stroke:var(--color-ink);stroke-width:1;vector-effect:non-scaling-stroke}.mobile-shell-picker-btn{display:none;--mobile-shell-picker-btn-inset: 28px;position:fixed;top:calc(var(--mobile-shell-picker-btn-inset) + env(safe-area-inset-top));left:calc(var(--mobile-shell-picker-btn-inset) + env(safe-area-inset-left));z-index:var(--z-picker);width:44px;height:44px;padding:0;border:none;border-radius:50%;background-color:transparent;background-image:url(/assets/filament-picker-icon-BuKKQtTV.png);background-size:contain;background-repeat:no-repeat;background-position:center;pointer-events:auto;cursor:pointer;touch-action:manipulation}.mobile-shell-picker-btn:focus{outline:none}.mobile-shell-picker-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.mobile-shell-rail{position:fixed;z-index:var(--z-rail);display:flex;justify-content:flex-start;gap:0;pointer-events:none;padding:0;left:calc(12px + env(safe-area-inset-left));right:calc(106px + env(safe-area-inset-right))}.mobile-shell-rail[data-open="0"]{display:none}.mobile-shell-rail-top{left:calc(80px + env(safe-area-inset-left));top:calc(env(safe-area-inset-top) + var(--mobile-shell-picker-rail-gap, 16px))}.mobile-shell-rail-bottom{bottom:calc(var(--mobile-shell-stack-padding, 12px) + 88px + var(--mobile-shell-picker-rail-gap, 16px) + env(safe-area-inset-bottom));flex-wrap:wrap-reverse}.mobile-shell-material-btn{pointer-events:auto;width:var(--mobile-shell-picker-chip-size, 44px);height:var(--mobile-shell-picker-chip-size, 44px);padding:0;background:var(--color-paper);border:none;border-radius:0;font:inherit;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink);cursor:pointer;touch-action:manipulation;display:flex;align-items:center;justify-content:center}.mobile-shell-material-btn[data-active="1"]{outline:1px solid var(--color-accent);outline-offset:-1px}.mobile-shell-swatch-btn{pointer-events:auto;width:var(--mobile-shell-picker-swatch-size, 44px);height:var(--mobile-shell-picker-swatch-size, 44px);padding:0;border:none;border-radius:0;cursor:pointer;touch-action:manipulation}.mobile-shell-swatch-btn[data-active="1"]{outline:1px solid var(--color-accent);outline-offset:-1px;z-index:var(--z-canvas)}.brand-mark{position:fixed;top:30px;left:30px;z-index:var(--z-chrome);user-select:none}.brand-mark-trigger{appearance:none;background:none;border:0;margin:0;padding:var(--space-2);display:flex;align-items:center;gap:var(--space-3);cursor:pointer;color:var(--color-ink)}.brand-mark-wordmark{height:22px;width:auto;display:block;pointer-events:none;filter:invert(1)}[data-theme=dark] .brand-mark-wordmark{filter:none}.brand-mark-caret{height:14px;width:auto;display:block;pointer-events:none;filter:invert(1);transition:transform var(--motion-duration-base) var(--motion-easing-inout)}[data-theme=dark] .brand-mark-caret{filter:none}.brand-mark-open .brand-mark-caret{transform:rotate(90deg)}.brand-mark-menu{margin-top:var(--space-2);min-width:160px;border:1px solid var(--color-ink);background:var(--color-paper);padding:var(--space-3);font-size:12px;color:var(--color-ink-muted)}@media(max-width:640px),(pointer:coarse){.brand-mark{top:30px;left:30px}.brand-mark-wordmark{height:20px}}.desktop-shell-picker{position:fixed;top:var(--desktop-shell-top, 56px);left:var(--desktop-shell-left, 32px);z-index:var(--z-rail);display:flex;flex-direction:column;gap:var(--space-2);font-family:var(--font-body);color:var(--color-ink)}.desktop-shell-picker[data-open="0"]{display:none}.desktop-shell-picker-handle{height:var(--desktop-shell-handle-height, 10px);cursor:grab;touch-action:none;background:repeating-linear-gradient(90deg,var(--ink) 0,var(--ink) 2px,transparent 2px,transparent 5px) center / 28px 2px no-repeat;opacity:.5}.desktop-shell-picker-handle:active{cursor:grabbing}.desktop-shell-material-row{display:flex;flex-direction:row;gap:0}.desktop-shell-material-btn{flex:0 0 auto;min-width:44px;height:32px;padding:0 10px;background:var(--color-paper);border:0;border-radius:0;font:inherit;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink);cursor:pointer}.desktop-shell-material-btn[data-active="1"]{outline:1px solid var(--color-accent);outline-offset:-2px}.desktop-shell-swatch-grid{display:grid;grid-template-columns:repeat(auto-fill,var(--desktop-shell-swatch-size, 28px));gap:0}.desktop-shell-swatch-btn{width:var(--desktop-shell-swatch-size, 28px);height:var(--desktop-shell-swatch-size, 28px);padding:0;border:0;border-radius:0;cursor:pointer}.desktop-shell-swatch-btn[data-active="1"]{outline:2px solid var(--color-accent);outline-offset:-2px;z-index:var(--z-canvas)}.desktop-shell-picker-detail{font-size:11px;letter-spacing:.02em;color:var(--ink-2);min-height:1.2em}.desktop-shell-root{position:fixed;inset:0;z-index:var(--z-shell);pointer-events:none}.desktop-shell-shelf{position:fixed;left:var(--desktop-shell-left, 32px);bottom:var(--desktop-shell-bottom, 32px);z-index:var(--z-shelf);pointer-events:auto;width:var(--desktop-shell-width, 416px);display:flex;flex-direction:column;gap:var(--desktop-shell-stack-gap, 6px);font-family:var(--font-body);color:var(--color-ink)}.desktop-shell-shelf>.desktop-shell-hosted-parts{position:static;width:100%;pointer-events:auto;z-index:auto;inset:auto}.desktop-shell-section{display:flex;flex-direction:column;gap:var(--desktop-shell-slider-gap, 2px)}.desktop-shell-section-label{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink-muted)}
