.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;max-width:560px;margin-inline:auto;display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--paper);color:var(--ink);border:1px solid var(--ink-hair);border-radius:16px;box-shadow:0 8px 28px #1f1f1d24;font:400 14px/1.45 var(--font-sans)}.cookie-banner__text{margin:0;flex:1 1 260px;color:var(--ink-2)}.cookie-banner__text a{color:var(--accent)}.cookie-banner__actions{display:flex;gap:8px;margin-left:auto}.cookie-banner__btn{min-height:40px;padding:0 16px;border-radius:999px;border:1px solid transparent;font:600 14px/1 var(--font-sans);cursor:pointer}.cookie-banner__btn--quiet{background:var(--paper-soft);color:var(--ink)}.cookie-banner__btn--quiet:hover{background:var(--paper-hover)}.cookie-banner__btn--primary{background:var(--accent);color:var(--text-inverse)}.cookie-banner__btn--primary:hover{background:var(--accent-hover)}.cookie-banner__btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}:root{--font-sans: "Manrope", "Helvetica Neue", Arial, sans-serif;--font-brand: "Archivo", "Helvetica Neue", Arial, sans-serif;--font-numeric: var(--font-sans);--paper: #ffffff;--paper-canvas: #fafaf9;--paper-ground: #f4f3ef;--paper-board: #f3f1ec;--paper-soft: #f6f5f1;--paper-hover: #ecebe6;--overlay-bg: rgba(31, 31, 29, .4);--paper-glass: rgba(255, 255, 255, .86);--paper-glass-fallback: #ffffff;--ink: #1f1f1d;--ink-2: #55544f;--ink-3: #6f6e68;--ink-graphite: #4a4843;--ink-print: #3b3934;--ink-line: #a3a19b;--ink-hair: #e4e2dc;--ink-rule: #c3c1b9;--track-off: #d6d4cd;--text-inverse: #ffffff;--text-disabled: #9c9a93;--accent: #1d3fbb;--accent-hover: #16309a;--accent-soft: #e8ecfa;--accent-line: rgba(29, 63, 187, .14);--focus-ring: #1d3fbb;--warning: #8a5200;--warning-mark: #c26f00;--warning-soft: #fdf3e3;--danger: #b32626;--danger-hover: #9c1f1f;--danger-soft: #fdecec;--working: #c8410b;--success: #2a7046;--success-soft: #e7f4ec;--type-display: 800 32px/38px var(--font-sans);--type-title: 700 20px/26px var(--font-sans);--type-heading: 700 16px/22px var(--font-sans);--type-body: 500 15px/22px var(--font-sans);--type-body-strong: 700 15px/22px var(--font-sans);--type-ui: 600 14px/20px var(--font-sans);--type-small: 500 13px/18px var(--font-sans);--type-caption: 600 12px/16px var(--font-sans);--type-number: 700 24px/28px var(--font-sans);--type-brand-display: 600 36px/42px var(--font-sans);--type-label: 600 13px/18px var(--font-sans);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--space-9: 48px;--space-10: 64px;--space-11: 80px;--space-12: 96px;--radius-none: 0;--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-pill: 999px;--radius-card: var(--radius-lg);--radius-composer: 24px;--radius-thumb: 8px;--radius-control: var(--radius-md);--radius-sheet: 20px 20px 0 0;--edge: 0 0 0 1px rgba(31, 31, 29, .05);--shadow-sm: 0 1px 2px rgba(31, 31, 29, .06), 0 2px 8px rgba(31, 31, 29, .06);--shadow-pill: 0 1px 2px rgba(31, 31, 29, .05), 0 6px 20px rgba(31, 31, 29, .08);--shadow-card: 0 1px 2px rgba(31, 31, 29, .05), 0 12px 32px rgba(31, 31, 29, .1);--shadow-lift: 0 2px 4px rgba(31, 31, 29, .06), 0 20px 48px rgba(31, 31, 29, .14);--shadow-composer: 0 2px 6px rgba(31, 31, 29, .06), 0 12px 32px rgba(31, 31, 29, .12);--shadow-menu: 0 4px 12px rgba(31, 31, 29, .08), 0 16px 40px rgba(31, 31, 29, .14);--shadow-sheet: 0 -8px 32px rgba(31, 31, 29, .14);--shadow-sheet-paper: 0 1px 0 rgba(31, 31, 29, .06), 0 12px 40px rgba(31, 31, 29, .1);--line-cut: 1.5px;--line-opening: 1px;--line-object: 1px;--line-detail: .75px;--line-dim: .75px;--line-beyond: 1px;--line-hair: 1px solid var(--ink-hair);--line-rule: 1px solid var(--ink-rule);--line-focus: 2px solid var(--accent);--line-select: 2px solid var(--accent);--ease-out: cubic-bezier(.2, .7, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-pop: cubic-bezier(.2, .9, .3, 1.05);--dur-fast: .1s;--dur-base: .16s;--dur-exit: .12s;--dur-view: .32s;--dur-sheet: .24s;--dur-page: .2s;--dur-strip: .2s;--chrome-inset: 16px;--chrome-gap: 12px;--chrome-top: calc(var(--chrome-inset) + 40px + var(--chrome-gap));--control-sm: 32px;--control-md: 36px;--control-lg: 44px;--touch: 44px;--icon-sm: 16px;--icon-md: 20px;--icon-lg: 24px;--z-canvas: 0;--z-canvas-ui: 10;--z-cards: 20;--z-composer: 30;--z-header: 35;--z-menu: 40;--z-sheet: 50;--z-dialog: 60;--z-viewer: 70;--z-toast: 80;--z-tooltip: 90}@media(prefers-reduced-motion:reduce){:root{--dur-fast: 0ms;--dur-base: 80ms;--dur-exit: 80ms;--dur-view: 0ms;--dur-sheet: 80ms;--dur-page: 80ms;--dur-strip: 80ms}}@media(max-width:719px){:root{--chrome-inset: 12px}}.wordmark{display:inline-flex;align-items:center}.wordmark svg{display:block;height:18px;width:auto;aspect-ratio:5222 / 735}:where(.btn,.icon-btn,.chip,.segment-btn,.menu-item,.ui-tab,.ui-toggle,.toast-action):focus-visible{outline:var(--line-focus);outline-offset:2px}.glass{background:var(--paper-glass);-webkit-backdrop-filter:blur(12px) saturate(1.1);backdrop-filter:blur(12px) saturate(1.1);box-shadow:var(--edge),var(--shadow-pill)}.glass :where(.btn,.icon-btn,.chip):focus-visible{outline-offset:0}@media(pointer:coarse){.glass{background:var(--paper-glass-fallback);-webkit-backdrop-filter:none;backdrop-filter:none}}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.glass{background:var(--paper-glass-fallback)}}.spin,.ui-spinner{animation:ui-spin .9s linear infinite}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-spinner{display:inline-grid;place-items:center;flex:none}.btn:active:not(:disabled):not([aria-busy=true]),.chip:active:not(:disabled),.icon-btn:active:not(:disabled){transform:scale(.98)}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-lg);padding:0 var(--space-4);border:0;border-radius:var(--radius-control);background:var(--paper-soft);color:var(--ink);font:inherit;font:var(--type-ui);text-decoration:none;cursor:pointer;transition:background var(--dur-fast) ease,transform var(--dur-fast) var(--ease-out)}.btn svg{flex:none}.btn[data-size=md]{min-height:var(--control-md);padding:0 14px}.btn[data-size=sm]{min-height:var(--control-sm);padding:0 var(--space-3)}.btn[data-shape=pill]{border-radius:var(--radius-pill)}.btn[data-block=true]{width:100%}.btn:hover:not(:disabled){background:var(--paper-hover)}.btn:disabled,.btn[aria-disabled=true]{background:var(--paper-soft);color:var(--text-disabled);box-shadow:none;cursor:default}.btn-soft svg{color:var(--ink-2)}.btn-primary{background:var(--accent);color:var(--text-inverse)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-danger{background:var(--danger);color:var(--text-inverse)}.btn-danger:hover:not(:disabled){background:var(--danger-hover)}.btn-ghost{background:transparent;color:var(--ink)}.btn-ghost:hover:not(:disabled){background:var(--paper-soft)}.btn-ghost[aria-pressed=true],.btn-ghost[aria-expanded=true]{background:var(--paper-soft)}.btn-ghost:disabled{background:transparent}.btn-link{min-height:0;padding:0;background:none;color:var(--accent)}.btn-link:hover:not(:disabled){background:none;text-decoration:underline}.btn-link:disabled{background:none;text-decoration:none}.btn-primary:disabled,.btn-danger:disabled{background:var(--paper-soft);color:var(--text-disabled)}.btn-price{display:inline-flex;align-items:center;height:20px;margin-left:2px;padding:0 var(--space-2);border-radius:var(--radius-pill);background:#ffffff2e;font:var(--type-caption);font-variant-numeric:tabular-nums}.btn:disabled .btn-price{background:var(--paper-hover);color:var(--text-disabled)}.btn[aria-busy=true],.icon-btn[aria-busy=true]{pointer-events:none}.icon-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;width:var(--control-lg);height:var(--control-lg);padding:0;border:0;border-radius:50%;background:transparent;color:var(--ink-2);cursor:pointer;transition:background var(--dur-fast) ease,color var(--dur-fast) ease,transform var(--dur-fast) var(--ease-out)}.icon-btn[data-size=md]{width:var(--control-md);height:var(--control-md)}.icon-btn[data-size=sm]{width:var(--control-sm);height:var(--control-sm)}.icon-btn:hover:not(:disabled){background:var(--paper-soft);color:var(--ink)}.icon-btn:active:not(:disabled){background:var(--paper-hover)}.icon-btn[aria-pressed=true]{background:var(--paper-soft);color:var(--ink)}.icon-btn[aria-pressed=true]:hover:not(:disabled){background:var(--paper-hover)}.icon-btn:disabled{background:transparent;color:var(--text-disabled);cursor:default}.icon-btn svg{transition:transform var(--dur-base) var(--ease-out)}.icon-btn[aria-expanded=true][data-turn=true] svg{transform:rotate(45deg)}@media(pointer:coarse){.btn[data-size=md]:after,.btn[data-size=sm]:after,.icon-btn[data-size=md]:after,.icon-btn[data-size=sm]:after,.chip:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px}.btn[data-size=md],.btn[data-size=sm]{min-height:var(--touch)}}.chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.chip{position:relative;display:inline-flex;align-items:center;gap:6px;min-height:var(--control-md);padding:0 14px;border:0;border-radius:var(--radius-pill);background:var(--paper);box-shadow:var(--edge),var(--shadow-sm);color:var(--ink);font:var(--type-ui);text-align:left;white-space:nowrap;cursor:pointer;transition:background var(--dur-fast) ease,transform var(--dur-fast) var(--ease-out)}.chip:hover:not(:disabled){background:var(--paper-soft)}.chip:disabled{background:var(--paper-soft);box-shadow:none;color:var(--text-disabled);cursor:default}.chip[data-kind=filter]{background:var(--paper-soft);box-shadow:none}.chip[data-kind=filter]:hover:not(:disabled){background:var(--paper-hover)}.chip[aria-pressed=true],.chip[data-selected=true]{background:var(--accent-soft);box-shadow:none;color:var(--accent)}.chip[aria-pressed=true]:hover:not(:disabled){background:var(--accent-soft)}.chip[data-kind=status]{background:var(--warning-soft);box-shadow:none;color:var(--warning);cursor:default}.chip[data-kind=status][data-tone=danger]{background:var(--danger-soft);color:var(--danger)}.chip[data-kind=status]:before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--warning-mark)}.chip[data-kind=status][data-tone=danger]:before{background:var(--danger)}.chip-remove{display:inline-grid;place-items:center;width:20px;height:20px;margin-right:-6px;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer}.segment{position:relative;display:flex;padding:2px;border-radius:var(--radius-pill);background:var(--paper-soft)}.segment-btn{position:relative;flex:1;display:inline-flex;align-items:center;justify-content:center;min-height:var(--control-md);padding:0 var(--space-3);border:0;border-radius:var(--radius-pill);background:transparent;font:var(--type-label);color:var(--ink-2);cursor:pointer}.segment[data-size=sm] .segment-btn{min-height:28px}.segment-btn:hover:not(:disabled){color:var(--ink)}.segment-btn[aria-pressed=true],.segment-btn[aria-checked=true]{background:var(--paper);color:var(--ink);box-shadow:var(--shadow-sm)}.segment-btn:disabled{color:var(--text-disabled);cursor:default}.segment[data-thumb=true]{display:grid;grid-template-columns:repeat(var(--segments, 2),minmax(0,1fr))}.segment[data-thumb=true] .segment-btn[aria-checked=true]{background:transparent;box-shadow:none}.ui-segment-thumb{position:absolute;top:2px;bottom:2px;left:2px;width:calc((100% - 4px) / var(--segments, 2));border-radius:var(--radius-pill);background:var(--paper);box-shadow:var(--shadow-sm);transform:translate(calc(var(--segment-index, 0) * 100%));transition:transform var(--dur-base) var(--ease-out);pointer-events:none}.ui-toggle{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);width:100%;min-height:48px;padding:0;border:0;background:transparent;color:var(--ink);font:var(--type-ui);text-align:left;cursor:pointer}.pro-switch{width:fit-content;max-width:100%;justify-content:flex-start}.ui-toggle-text{display:grid;min-width:0}.ui-toggle-note{font:var(--type-small);color:var(--ink-2)}.ui-toggle-track{position:relative;flex:none;width:40px;height:24px;border-radius:var(--radius-pill);background:var(--track-off);transition:background var(--dur-base) ease}.ui-toggle:hover:not(:disabled) .ui-toggle-track{background:#c9c7bf}.ui-toggle[aria-checked=true] .ui-toggle-track,.ui-toggle[aria-checked=mixed] .ui-toggle-track{background:var(--accent)}.ui-toggle[aria-checked=true]:hover:not(:disabled) .ui-toggle-track,.ui-toggle[aria-checked=mixed]:hover:not(:disabled) .ui-toggle-track{background:var(--accent-hover)}.ui-toggle-knob{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:var(--paper);box-shadow:var(--shadow-sm);transition:transform var(--dur-base) var(--ease-out),opacity var(--dur-base) ease}.ui-toggle[aria-checked=true] .ui-toggle-knob,.ui-toggle[aria-checked=mixed] .ui-toggle-knob{transform:translate(16px)}.ui-toggle[aria-checked=mixed] .ui-toggle-knob{opacity:.5}.ui-toggle:focus-visible{outline:none}.ui-toggle:focus-visible .ui-toggle-track{outline:var(--line-focus);outline-offset:2px}.ui-toggle:disabled{color:var(--text-disabled);cursor:default}.ui-toggle:disabled .ui-toggle-track{background:var(--paper-hover)}.ui-toggle:disabled .ui-toggle-knob{background:var(--paper-soft);box-shadow:none}.field-line{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center;gap:var(--space-1) var(--space-3)}.field-line[data-stack=true]{grid-template-columns:1fr;gap:6px}.field-label{font:var(--type-ui);color:var(--ink-2)}@media(max-width:719px){.field-line{grid-template-columns:1fr}}.field-box{display:flex;align-items:center;min-height:var(--control-lg);padding:0 14px;border-radius:var(--radius-control);background:var(--paper-soft);transition:box-shadow var(--dur-fast) ease,background var(--dur-fast) ease}.field-box:hover{box-shadow:inset 0 0 0 1px var(--ink-rule)}.field-box:focus-within{background:var(--paper);box-shadow:inset 0 0 0 2px var(--accent)}.field-box[data-state=error],.field-box:has([aria-invalid=true]){box-shadow:inset 0 0 0 1px var(--danger)}.field-box[data-state=error]:focus-within,.field-box:has([aria-invalid=true]):focus-within{box-shadow:inset 0 0 0 2px var(--danger)}.field-box[data-readonly=true]{box-shadow:none;cursor:default}.field-box[data-readonly=true] .field-input{color:var(--ink-2);cursor:default}.field-box[data-disabled=true]{box-shadow:none}.field-box[data-disabled=true] .field-input{color:var(--text-disabled)}.field-input{flex:1;min-width:0;border:0;background:transparent;font:inherit;font:var(--type-body);font-variant-numeric:tabular-nums;color:var(--ink)}.field-input::placeholder{color:var(--ink-3)}.field-input:focus,.field-input:focus-visible{outline:none}.field-suffix{display:inline-flex;align-items:center;margin-left:var(--space-2);font:var(--type-ui);color:var(--ink-3)}.field-box[data-search=true]{gap:var(--space-2)}.field-box[data-search=true]>svg{flex:none;color:var(--ink-3)}textarea.field-input{min-height:44px;padding:10px 0;resize:none}.field-box[data-multiline=true]{align-items:flex-start}.field-line .form-error,.form-error{margin:0;font:var(--type-small);color:var(--danger)}.field-line .form-error{grid-column:1 / -1}.field-box[data-select=true]{position:relative;padding-right:40px}.field-box[data-select=true] select.field-input{-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer}.field-box[data-select=true]>svg{position:absolute;right:14px;color:var(--ink-2);pointer-events:none;transition:transform var(--dur-base) ease}.menu-pop{position:absolute;left:0;bottom:calc(100% + 12px);z-index:var(--z-menu);width:260px;border-radius:var(--radius-card);background:var(--paper);box-shadow:var(--edge),var(--shadow-menu);transform-origin:bottom left;animation:ui-pop var(--dur-base) var(--ease-pop)}.ui-popover{position:fixed;z-index:var(--z-menu);min-width:220px;max-width:min(320px,calc(100vw - 2 * var(--chrome-inset)));border-radius:var(--radius-card);background:var(--paper);box-shadow:var(--edge),var(--shadow-menu);transform-origin:var(--pop-origin, top left);animation:ui-pop var(--dur-base) var(--ease-pop)}.ui-popover[data-pad=true]{padding:var(--space-4)}@keyframes ui-pop{0%{opacity:0;transform:scale(.96)}}.menu{display:flex;flex-direction:column;padding:var(--space-2)}.menu-item{display:flex;align-items:center;gap:var(--space-3);width:100%;min-height:var(--control-lg);padding:0 var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent;font:var(--type-ui);text-align:left;color:var(--ink);text-decoration:none;cursor:pointer}.menu-item:hover:not(:disabled){background:var(--paper-soft)}.menu-item:focus-visible{background:var(--paper-soft);outline-offset:-2px}.menu-item:disabled,.menu-item[aria-disabled=true]{color:var(--text-disabled);cursor:default}.menu-item:disabled .menu-icon,.menu-item[aria-disabled=true] .menu-icon{color:var(--text-disabled)}.menu-item[data-danger=true],.menu-item[data-danger=true] .menu-icon{color:var(--danger)}.menu-icon{display:inline-grid;place-items:center;flex:none;color:var(--ink-2)}.menu-label{flex:1;min-width:0}.menu-note{margin-left:auto;padding:2px var(--space-2);border-radius:var(--radius-pill);background:var(--paper-soft);color:var(--ink-2);font:var(--type-caption)}.menu-hint{margin-left:auto;font:var(--type-small);color:var(--ink-3)}.menu-check{margin-left:auto;color:var(--accent)}.menu-sep{height:1px;margin:var(--space-2);background:var(--ink-hair)}.shell-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-toast);display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:var(--overlay-bg);animation:ui-fade var(--dur-base) ease}.shell-dialog{display:flex;flex-direction:column;gap:var(--space-3);width:min(440px,100%);max-height:calc(100% - 32px);overflow:auto;padding:var(--space-6);border-radius:var(--radius-card);background:var(--paper);box-shadow:var(--edge),var(--shadow-menu);animation:ui-dialog-in var(--dur-base) var(--ease-out)}.shell-dialog[data-size=wide]{width:min(520px,100%)}.shell-dialog-title{font:var(--type-title)}.shell-dialog-body{font:var(--type-body);color:var(--ink-2)}.shell-dialog-error{padding:var(--space-3);border-radius:var(--radius-control);background:var(--danger-soft);font:var(--type-body);color:var(--ink)}.shell-dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2)}@keyframes ui-fade{0%{opacity:0}}@keyframes ui-dialog-in{0%{opacity:0;transform:scale(.98)}}@keyframes ui-sheet-in{0%{transform:translateY(24px);opacity:0}}@media(max-width:719px){.shell-dialog-backdrop{align-items:flex-end;padding:0}.shell-dialog{width:100%;max-height:90%;border-radius:var(--radius-sheet);box-shadow:var(--shadow-sheet);animation-name:ui-sheet-in}.shell-dialog-actions{flex-direction:column-reverse}.shell-dialog-actions .btn{width:100%}}.bottom-sheet__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin:0 var(--space-5);border-bottom:1px solid var(--ink-hair)}.bottom-sheet__head .bottom-sheet__title{flex:1;min-width:0;margin:0;border-bottom:0;font:var(--type-heading)}.bottom-sheet__panel[data-detent=half]{height:45dvh}.bottom-sheet__panel[data-detent=full]{height:calc(100dvh - 48px);max-height:none}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-dialog);display:flex;align-items:flex-end;justify-content:center;background:var(--overlay-bg)}.sheet{width:min(480px,100%);padding:var(--space-6) var(--space-5) var(--space-5);border-radius:var(--radius-sheet);background:var(--paper);box-shadow:var(--shadow-sheet)}.sheet-title{font:var(--type-title);letter-spacing:-.01em}.sheet p{margin:var(--space-2) 0 var(--space-4);font:var(--type-body)}.sheet-skeleton{display:flex;flex-direction:column;gap:var(--space-2);margin:var(--space-2) 0 var(--space-4)}.sheet .sheet-note{margin:0 0 var(--space-3);font:var(--type-small);color:var(--ink-2)}.sheet .card-error{margin:var(--space-2) 0 var(--space-4)}.sheet .card-error p{margin:0}@media(min-width:720px){.sheet-backdrop{align-items:center}.sheet-backdrop .sheet{border-radius:var(--radius-card);box-shadow:var(--edge),var(--shadow-menu)}}.toast-host{position:fixed;left:50%;bottom:calc(var(--inset-b, 24px) + var(--chrome-gap));z-index:var(--z-toast);transform:translate(-50%);pointer-events:none}.toast{display:flex;align-items:center;gap:var(--space-2);width:max-content;max-width:min(360px,calc(100vw - 2 * var(--chrome-inset)));min-height:var(--control-lg);padding:0 var(--space-4);border-radius:var(--radius-control);background:var(--paper);box-shadow:var(--edge),var(--shadow-pill);color:var(--ink);font:var(--type-ui);pointer-events:auto;animation:ui-toast-in var(--dur-base) var(--ease-pop)}.toast>span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.toast svg{flex:none;color:var(--success)}.toast[data-kind=warning] svg{color:var(--warning-mark)}.toast[data-kind=danger] svg{color:var(--danger)}@keyframes ui-toast-in{0%{opacity:0;transform:translateY(8px)}}.toast-action{flex:none;min-height:var(--control-sm);margin:0 -6px 0 var(--space-1);padding:0 var(--space-3);border:0;border-radius:var(--radius-sm);background:transparent;font:var(--type-ui);color:var(--accent);cursor:pointer}.toast-action:hover{text-decoration:underline}@media(max-width:719px),(pointer:coarse){.toast-action{min-height:var(--touch);margin-block:-12px}}.ui-tooltip-wrap{position:relative;display:inline-flex}.ui-tooltip{position:absolute;left:50%;top:calc(100% + 8px);z-index:var(--z-tooltip);display:inline-flex;align-items:center;gap:var(--space-2);height:28px;padding:0 10px;border-radius:var(--radius-pill);background:var(--ink);color:var(--text-inverse);font:var(--type-caption);white-space:nowrap;transform:translate(-50%);pointer-events:none}.ui-tooltip[data-side=top]{top:auto;bottom:calc(100% + 8px)}.ui-tooltip-keys{color:#ffffffb3}.ui-card{background:var(--paper);border-radius:var(--radius-card)}.ui-card[data-variant=floating]{width:320px;box-shadow:var(--edge),var(--shadow-card)}.ui-card[data-variant=block]{padding:var(--space-5);border:var(--line-hair);box-shadow:none}.ui-card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:48px;font:var(--type-heading);color:var(--ink)}.ui-card[data-variant=floating] .ui-card-head{padding:0 var(--space-2) 0 var(--space-5)}.ui-card[data-variant=block] .ui-card-head{min-height:0;margin-bottom:var(--space-3)}.ui-card-body{display:flex;flex-direction:column}.ui-card[data-variant=floating] .ui-card-body{padding:var(--space-1) var(--space-5) var(--space-5)}.ui-card-error{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-control);background:var(--danger-soft);font:var(--type-body);color:var(--ink)}.ui-card-skel{margin-bottom:var(--space-2)}.ui-card-note{font:var(--type-small);color:var(--ink-2)}.ui-tabs{display:flex;gap:var(--space-6);overflow-x:auto;scrollbar-width:none}.ui-tabs::-webkit-scrollbar{display:none}.ui-tab{position:relative;flex:none;min-height:var(--control-lg);padding:0 var(--space-1);border:0;background:transparent;font:var(--type-ui);color:var(--ink-2);cursor:pointer}.ui-tab:hover,.ui-tab[aria-selected=true]{color:var(--ink)}.ui-tab:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--ink);transform:scaleX(0);transition:transform var(--dur-base) var(--ease-out)}.ui-tab[aria-selected=true]:after{transform:scaleX(1)}.ui-tab-count{color:var(--ink-3)}.ui-empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);max-width:360px;margin:0 auto;padding:var(--space-8) 0;text-align:center}.ui-empty h2{font:var(--type-heading);color:var(--ink)}.ui-empty p{font:var(--type-body);color:var(--ink-2)}.ui-empty .btn{margin-top:var(--space-3)}.ui-empty[data-on-canvas=true]{background:none}.ui-empty[data-size=row]{flex-direction:row;flex-wrap:wrap;justify-content:space-between;max-width:none;padding:var(--space-3) 0;text-align:left}.ui-empty[data-size=row] .btn{margin-top:0}.ui-skeleton{display:block;border-radius:var(--radius-sm);background:var(--paper-hover)}.ui-skeleton[data-shape=thumb]{border-radius:var(--radius-thumb)}.sr-only-live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(prefers-reduced-motion:reduce){.spin,.ui-spinner{animation:none;opacity:.6}.ui-segment-thumb,.ui-toggle-knob,.ui-tab:after,.icon-btn svg,.menu-pop,.ui-popover,.toast,.shell-dialog,.shell-dialog-backdrop{transition:opacity 80ms linear;animation:none;transform:none}.ui-toggle[aria-checked=true] .ui-toggle-knob,.ui-toggle[aria-checked=mixed] .ui-toggle-knob{transform:translate(16px)}.ui-segment-thumb{transform:translate(calc(var(--segment-index, 0) * 100%))}.ui-tab[aria-selected=true]:after{transform:scaleX(1)}.toast-host{transform:translate(-50%)}.btn:active,.chip:active,.icon-btn:active{transform:none!important}}.bottom-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-sheet);display:flex;align-items:flex-end;justify-content:center}.bottom-sheet__scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--overlay-bg);opacity:0;transition:opacity .28s ease}.bottom-sheet--visible .bottom-sheet__scrim{opacity:1}.bottom-sheet__panel{position:relative;width:100%;max-width:640px;max-height:85vh;display:flex;flex-direction:column;background:var(--paper);box-shadow:var(--shadow-sheet);border-radius:var(--radius-sheet);transform:translateY(100%);transition:transform .24s var(--ease-out);padding-bottom:env(safe-area-inset-bottom,0px)}.bottom-sheet--visible .bottom-sheet__panel{transform:translateY(0)}.bottom-sheet__panel--dragging{transition:none}.bottom-sheet__handle-zone{display:flex;justify-content:center;padding:var(--space-3) 0 var(--space-2);cursor:grab;touch-action:none}.bottom-sheet__handle{width:36px;height:4px;border-radius:2px;background:var(--track-off)}.bottom-sheet__title{display:flex;align-items:center;min-height:52px;margin:0 var(--space-5);padding:0;font-family:var(--font-sans);font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--ink)}.bottom-sheet__head{border-bottom:0}.bottom-sheet__body{flex:1;overflow-y:auto;padding:0 var(--space-5) var(--space-5);-webkit-overflow-scrolling:touch}.bottom-sheet__footer{padding:var(--space-4) var(--space-5) calc(var(--space-4) + env(safe-area-inset-bottom,0px))}@media(prefers-reduced-motion:reduce){.bottom-sheet__scrim,.bottom-sheet__panel{transition:none}}:root{--pad: 32px;--gutter: 24px;--container: 1200px}@media(max-width:1099px){:root{--pad: 24px}}@media(max-width:719px){:root{--pad: 16px;--gutter: 16px}}.g{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);width:100%;max-width:calc(var(--container) + 2 * var(--pad));margin-inline:auto;padding-inline:var(--pad)}.g>*{grid-column:1 / -1}.g>.g-center{grid-column:4 / span 6}@media(max-width:1099px){.g>.g-center{grid-column:3 / span 8}}@media(max-width:719px){.g>.g-center{grid-column:1 / -1}}.shell{flex:1;display:flex;flex-direction:column;min-height:0}.shell-content{flex:1;display:flex;flex-direction:column;min-height:0;outline:none}.shell-content h1:focus{outline:none}.shell-skip{position:absolute;left:16px;top:8px;z-index:var(--z-tooltip);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--paper);box-shadow:var(--edge),var(--shadow-menu);font-size:14px;font-weight:600;color:var(--accent);text-decoration:none;transform:translateY(-200%)}.shell-skip:focus{transform:none}.shell-header{flex:none;height:56px;background:var(--paper-ground)}.shell-header-grid{height:100%;align-items:center}.shell-header-grid>.shell-brand{grid-column:1 / span 4;justify-self:start;display:inline-flex;align-items:center;min-height:44px;font-size:18px;color:var(--ink)}.shell-header-grid>.shell-header-actions{grid-column:5 / -1;justify-self:end;display:flex;align-items:center;gap:var(--space-3)}@media(max-width:719px){.shell-header{height:52px}}.shell-menu{width:280px}.ph-menu-email{margin:0;padding:var(--space-2) var(--space-4) var(--space-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;color:var(--ink-3)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}html,body,#root{height:100%}body{margin:0;font:var(--type-body);color:var(--ink);background:var(--paper-ground);-webkit-font-smoothing:antialiased}#root{display:flex;flex-direction:column}*,*:before,*:after{box-sizing:border-box}h1,h2,h3,p,ol,ul,dl,dd{margin:0}ol,ul{padding:0;list-style:none}a{color:var(--accent)}img{display:block;max-width:100%}:where(a,input,select,textarea,button):focus-visible{outline:var(--line-focus);outline-offset:2px}.shell{min-height:100%}.auth-page{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:max-content;align-content:start;column-gap:var(--space-6);flex:1;min-height:0;width:100%;max-width:1120px;margin:0 auto;padding:var(--space-12) var(--space-6) var(--space-7);overflow:auto;background:var(--paper-ground)}.auth-page>*{grid-column:5 / span 4}.auth-head{display:flex;flex-direction:column;align-items:center;margin-bottom:var(--space-6);text-align:center}.auth-wordmark{display:block;margin-bottom:var(--space-5)}.auth-wordmark svg{height:22px}.auth-title{margin:0;font:var(--type-brand-display);letter-spacing:-.02em;color:var(--ink)}.auth-tagline{margin:var(--space-2) 0 0;font:var(--type-body);color:var(--ink-2)}.auth-page .auth-card[data-variant=block]{padding:var(--space-6);text-align:left}.auth-form{display:flex;flex-direction:column;gap:var(--space-4)}.auth-banner{margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);font:var(--type-small);color:var(--ink);background:var(--paper-soft);border-radius:var(--radius-control)}.auth-opening{grid-column:1 / -1;display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin:0;font:var(--type-ui);color:var(--ink-2)}.auth-actions{display:flex;flex-direction:column;gap:var(--space-3)}.auth-session-error{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-4)}.auth-session-error .auth-error{align-self:stretch}.auth-error{margin:0;padding:var(--space-3);font:var(--type-small);color:var(--ink);background:var(--danger-soft);border-radius:var(--radius-control)}.auth-hint{margin:0;font:var(--type-small);color:var(--ink-2)}.auth-hint strong{color:var(--ink);font-weight:600}.auth-switch{align-self:flex-start}.auth-password-toggle{margin-right:-8px}.auth-consent{position:relative;display:flex;align-items:flex-start;gap:var(--space-3);font:var(--type-small);color:var(--ink-2);cursor:pointer}.auth-check{position:absolute;top:0;left:0;width:20px;height:20px;margin:0;opacity:0;cursor:pointer}.auth-check-box{flex:none;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:6px;background:var(--paper);box-shadow:inset 0 0 0 1px var(--ink-rule);color:transparent;transition:background var(--dur-fast) ease,box-shadow var(--dur-fast) ease}.auth-consent:hover .auth-check-box{box-shadow:inset 0 0 0 1px var(--ink-3)}.auth-check:checked+.auth-check-box{background:var(--accent);box-shadow:none;color:var(--text-inverse)}.auth-check:focus-visible+.auth-check-box{outline:var(--line-focus);outline-offset:2px}.auth-terms{margin:0;font:var(--type-small);color:var(--ink-3)}.auth-terms a{color:var(--ink-2);text-decoration:underline}.auth-code-inputs{display:flex;gap:var(--space-2);justify-content:center}.auth-code-digit{width:44px;height:52px;padding:0;text-align:center;font:600 20px/28px var(--font-sans);font-variant-numeric:tabular-nums;color:var(--ink);background:var(--paper-soft);border:0;border-radius:var(--radius-control);transition:box-shadow var(--dur-fast) ease,background var(--dur-fast) ease}.auth-code-digit:hover:not(:disabled){box-shadow:inset 0 0 0 1px var(--ink-rule)}.auth-code-digit:focus,.auth-code-digit:focus-visible{outline:none;background:var(--paper);box-shadow:inset 0 0 0 2px var(--accent)}.auth-code-digit[aria-invalid=true]{box-shadow:inset 0 0 0 1px var(--danger)}.auth-code-digit[aria-invalid=true]:focus{box-shadow:inset 0 0 0 2px var(--danger)}.auth-code-digit:disabled{color:var(--text-disabled)}.auth-code-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.auth-resend{font:var(--type-small);color:var(--ink-3)}.auth-signature{margin:var(--space-5) 0 0;text-align:center;font:var(--type-small);color:var(--ink-3)}.auth-signature a{color:inherit;text-decoration:none}.auth-signature a:hover{color:var(--ink-2);text-decoration:underline}.auth-footer{display:flex;justify-content:center;gap:var(--space-2);margin-top:var(--space-3);font:var(--type-small);color:var(--ink-3)}.auth-footer a{color:inherit;text-decoration:none}.auth-footer a:hover{color:var(--ink-2);text-decoration:underline}.auth-footer a:focus-visible,.auth-signature a:focus-visible{outline:var(--line-focus);outline-offset:2px;border-radius:2px}@media(max-width:1099px){.auth-page>*{grid-column:4 / span 6}}@media(max-width:719px){.auth-page{padding:var(--space-7) var(--space-4) 0;column-gap:0}.auth-page>*{grid-column:1 / -1}.auth-page .auth-card[data-variant=block]{padding:0;background:none;border:0;border-radius:0}.auth-page .field-input{font-size:16px}.auth-code-inputs{gap:var(--space-2)}.auth-code-digit{width:100%;max-width:48px;height:56px}.auth-page .btn-link{min-height:44px}.auth-actions{position:sticky;bottom:0;padding:var(--space-3) 0 calc(var(--space-3) + env(safe-area-inset-bottom));background:var(--paper-ground)}.auth-footer{padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){.auth-code-digit,.auth-check-box{transition:none}}.page{flex:1;align-content:start;row-gap:var(--space-4);padding-block:var(--space-6) var(--space-10)}.page-opening{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin:var(--space-12) auto;font:var(--type-ui);color:var(--ink-2)}.page-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:44px}.page-title{font:var(--type-display);letter-spacing:-.02em;min-width:0;overflow-wrap:anywhere}.section-title{font:var(--type-heading);color:var(--ink)}.hint{font:var(--type-small);color:var(--ink-2)}.back a{display:inline-flex;align-items:center;gap:var(--space-1);min-height:44px;font:var(--type-ui);color:var(--ink-2);text-decoration:none}.back a:hover{color:var(--ink);text-decoration:underline}.notice{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);font:var(--type-small);color:var(--ink);background:var(--paper-soft);border-radius:var(--radius-control)}.notice[data-tone=danger]{background:var(--danger-soft)}.form-error{margin-top:var(--space-1);font:var(--type-small);color:var(--danger)}.page-empty{grid-column:4 / span 6;padding-block:var(--space-10);text-align:center;align-items:center}.house-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gutter)}.house-card{position:relative;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);background:var(--paper);border:var(--line-hair);border-radius:var(--radius-card)}.house-link{display:flex;flex-direction:column;gap:var(--space-2);color:inherit;text-decoration:none;border-radius:var(--radius-sm)}.house-link:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0}.house-more{position:absolute;top:var(--space-4);right:var(--space-4);z-index:1}.house-cover{display:flex;align-items:center;justify-content:center;aspect-ratio:4 / 3;overflow:hidden;color:var(--ink-3);background:var(--paper-soft);border-radius:var(--radius-thumb)}.house-cover img{width:100%;height:100%;object-fit:cover}.house-name{font:var(--type-heading);overflow-wrap:anywhere}.house-meta{font:var(--type-small);color:var(--ink-2)}.house-meta[data-status=failed]{color:var(--danger)}.house-skel{margin-top:var(--space-2)}@media(max-width:1199px){.house-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:959px){.house-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-empty{grid-column:3 / span 8}}@media(max-width:719px){.house-grid{grid-template-columns:minmax(0,1fr)}.page-empty{grid-column:1 / -1}.page-title{font:var(--type-title)}}.capture{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:var(--gutter);align-items:start}.capture-main,.capture-photos,.capture-build{display:flex;flex-direction:column;gap:var(--space-4)}.capture-photos-head{display:flex;align-items:baseline;justify-content:space-between}.capture-count{font:var(--type-ui);color:var(--ink-2)}.capture-add{display:flex;flex-wrap:wrap;gap:var(--space-3)}.capture-take{display:none}@media(pointer:coarse){.capture-take{display:inline-flex}}.capture-empty{padding:var(--space-8) var(--space-4);text-align:center;font:var(--type-small);color:var(--ink-2);background:var(--paper);border:var(--line-hair);border-radius:var(--radius-card)}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:var(--space-4)}.photo-tile{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);background:var(--paper);border:var(--line-hair);border-radius:var(--radius-card)}.photo-thumb{position:relative;aspect-ratio:4 / 3;overflow:hidden;background:var(--paper-soft);border-radius:var(--radius-thumb)}.photo-thumb img{width:100%;height:100%;object-fit:cover}.photo-gone{display:flex;height:100%;align-items:center;justify-content:center;font:var(--type-small);color:var(--ink-2)}.photo-n{position:absolute;top:var(--space-2);left:var(--space-2);min-width:24px;padding:2px 6px;text-align:center;font:var(--type-caption);color:var(--ink);background:var(--paper-glass-fallback);border-radius:var(--radius-pill)}.photo-actions{display:flex;justify-content:flex-end;gap:var(--space-1)}.problem-list{padding:var(--space-3) var(--space-4);font:var(--type-small);color:var(--ink);background:var(--danger-soft);border-radius:var(--radius-control)}.capture-build>.btn{align-self:flex-start}@media(max-width:959px){.capture{grid-template-columns:minmax(0,1fr)}.capture-aside{order:-1}}.guide{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);background:var(--paper);border:var(--line-hair);border-radius:var(--radius-card)}.guide-title{font:var(--type-heading)}.guide-svg{width:100%;max-width:280px;margin-inline:auto}.guide-house{fill:var(--paper-soft);stroke:var(--ink-graphite);stroke-width:2}.guide-roof{fill:none;stroke:var(--ink-graphite);stroke-width:2}.guide-label{font:600 11px var(--font-sans);fill:var(--ink-2)}.guide-cam{fill:var(--paper);stroke:var(--ink-2);stroke-width:1.5}.guide-cam[data-rec=true]{stroke:var(--accent)}.guide-cam[data-on=true]{fill:var(--accent);stroke:var(--accent)}.guide-tick{fill:none;stroke:var(--text-inverse);stroke-width:1.5}.guide-legend{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-1) var(--space-3);font:var(--type-small);color:var(--ink-2)}.guide-legend li{display:flex;align-items:center;gap:var(--space-2)}.guide-legend li[data-on=true]{color:var(--ink);font-weight:600}.guide-dot{width:10px;height:10px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--ink-2)}.guide-dot[data-rec=true]{box-shadow:inset 0 0 0 1.5px var(--accent)}.guide-legend li[data-on=true] .guide-dot{background:var(--accent)}.guide-tips{display:flex;flex-direction:column;gap:var(--space-2);font:var(--type-small);color:var(--ink-2)}.guide-tips li{padding-left:var(--space-4);position:relative}.guide-tips li:before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:var(--ink-line)}.build{grid-column:4 / span 6;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);padding:var(--space-6);background:var(--paper);border:var(--line-hair);border-radius:var(--radius-card)}.build-title{font:var(--type-title)}.build-bar{width:100%;height:8px;overflow:hidden;background:var(--paper-hover);border-radius:var(--radius-pill)}.build-bar span{display:block;height:100%;background:var(--accent);border-radius:var(--radius-pill);transition:width var(--dur-view) var(--ease-out)}.build-percent{font:var(--type-number);font-variant-numeric:tabular-nums}.build-stages{display:flex;flex-direction:column;gap:var(--space-2);font:var(--type-ui);color:var(--ink-2)}.build-stages li{display:flex;align-items:center;gap:var(--space-2)}.build-stages li[data-current=true]{color:var(--ink)}.build-stages svg{color:var(--success)}.build-lost{display:flex;align-items:center;gap:var(--space-2);font:var(--type-small);color:var(--warning)}@media(max-width:1099px){.build{grid-column:2 / span 10}}@media(max-width:719px){.build{grid-column:1 / -1;padding:var(--space-4)}}.draft{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);row-gap:var(--space-4);align-items:start}.draft-notice{grid-column:1 / -1}.draft-photos{grid-column:1 / span 8;display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.draft-photos .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.order{grid-column:9 / span 4;position:sticky;top:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-6);background:var(--paper);border:var(--line-hair);border-radius:var(--radius-card);min-width:0}.order-title{font:var(--type-title)}.order-list{margin:0;padding-left:var(--space-5);list-style:disc;display:flex;flex-direction:column;gap:var(--space-1);font:var(--type-ui);color:var(--ink-2)}.order a.btn{text-decoration:none}.order .paywall{padding:0;border:0;max-width:none;background:transparent}.order .paywall>svg{display:none}.order .paywall{align-items:stretch}.order .paywall-title{font:var(--type-heading)}.order .paywall p{font:var(--type-small);color:var(--ink-2)}.order .paywall .btn{width:100%}@media(max-width:959px){.draft-photos,.order{grid-column:1 / -1}.order{position:static;padding:var(--space-4)}}.paywall{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);padding:var(--space-6);background:var(--paper);border:var(--line-hair);border-radius:var(--radius-card);max-width:520px}.paywall-title{font:var(--type-title)}.paywall-action{font:var(--type-small);color:var(--ink-2)}html.studio-open,html.studio-open body{overflow:hidden}html.studio-open .shell-header{display:none}.studio{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-header);height:100dvh;overflow:hidden;background:var(--paper-canvas)}.studio-body{--rail-w: 76px;--studio-chat-w: 720px;--used-l: 320px;--used-r: calc(var(--rail-w) + 2 * var(--chrome-inset));position:absolute;top:0;right:0;bottom:0;left:0}.studio-stage{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--z-canvas)}.viewport{position:relative;width:100%;height:100%;overflow:hidden;background:var(--paper-canvas)}.viewport-canvas{position:absolute;top:0;right:0;bottom:0;left:0}.viewport-canvas iframe,.viewport-canvas canvas{width:100%;height:100%;border:0;display:block}.viewport-hint{position:absolute;left:50%;top:calc(var(--chrome-inset) + var(--control-md) + var(--chrome-gap));z-index:var(--z-canvas-ui);transform:translate(-50%);padding:var(--space-2) var(--space-4);font:var(--type-ui);color:var(--text-inverse);background:var(--accent);border-radius:var(--radius-pill);pointer-events:none}.viewport[data-picking=true] .viewport-canvas{cursor:crosshair}.viewport-state,.viewport-fallback{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--z-canvas-ui);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-6);text-align:center;font:var(--type-ui);color:var(--ink-2);background:var(--paper-canvas)}.studio-notices{position:absolute;top:calc(var(--chrome-inset) + var(--control-md) + var(--chrome-gap));left:50%;z-index:var(--z-menu);display:flex;flex-direction:column;gap:var(--space-2);width:min(560px,calc(100% - 2 * var(--chrome-inset)));transform:translate(-50%);pointer-events:none}.studio-notices:empty{display:none}.studio-notices .notice{margin:0;background:var(--paper);box-shadow:var(--edge),var(--shadow-pill);pointer-events:auto}.studio-brand,.studio-look,.studio-rail,.studio-tool,.studio-dims{z-index:var(--z-cards)}.studio-brand{position:absolute;top:var(--chrome-inset);left:var(--chrome-inset);display:flex;align-items:center;gap:var(--space-3);max-width:min(360px,calc(50% - 160px));height:var(--control-lg);padding:0 var(--space-4);border-radius:var(--radius-pill);background:var(--paper-glass);box-shadow:var(--edge),var(--shadow-pill);-webkit-backdrop-filter:blur(12px) saturate(1.1);backdrop-filter:blur(12px) saturate(1.1)}.studio-logo{display:inline-flex;flex:none;align-items:center;min-height:var(--touch);color:var(--ink)}.studio-name{min-width:0;margin:0;padding-left:var(--space-3);overflow:hidden;font:var(--type-ui);color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;border-left:var(--line-hair)}.studio-look{position:absolute;top:var(--chrome-inset);left:50%;display:flex;align-items:center;height:var(--control-lg);transform:translate(-50%)}.studio-look .segment{box-shadow:var(--edge),var(--shadow-pill)}.studio-rail{position:absolute;top:var(--chrome-inset);right:var(--chrome-inset);display:flex;flex-direction:column;align-items:center;gap:var(--space-1);width:var(--rail-w);padding:var(--space-2) var(--space-1);border-radius:var(--radius-lg);background:var(--paper-glass);box-shadow:var(--edge),var(--shadow-pill);-webkit-backdrop-filter:blur(12px) saturate(1.1);backdrop-filter:blur(12px) saturate(1.1)}.studio-rail-btn{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:100%;min-height:56px;padding:var(--space-1);border:0;border-radius:var(--radius-md);background:transparent;color:var(--ink-2);font:var(--type-caption);cursor:pointer}.studio-rail-btn:hover{background:var(--paper-hover);color:var(--ink)}.studio-rail-btn[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}.studio-rail-btn[data-dirty=true]:after{content:"";position:absolute;top:8px;right:18px;width:8px;height:8px;border-radius:50%;background:var(--warning-mark)}.studio-rail-btn:focus-visible{outline:var(--line-focus);outline-offset:-2px}.studio-rail-sep{width:32px;height:1px;margin:var(--space-1) 0;background:var(--ink-hair)}.studio-units{margin-bottom:var(--space-1)}.studio-tool{position:absolute;top:var(--chrome-inset);right:calc(var(--chrome-inset) + var(--rail-w) + var(--chrome-gap));display:flex;flex-direction:column;z-index:calc(var(--z-composer) + 1);width:340px;max-height:calc(100dvh - 2 * var(--chrome-inset));border-radius:var(--radius-card);background:var(--paper);box-shadow:var(--edge),var(--shadow-card)}.studio-tool-head{display:flex;flex:none;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-3) var(--space-3) var(--space-2) var(--space-4)}.studio-tool-title{margin:0;font:var(--type-heading)}.studio-tool-body{min-height:0;padding:var(--space-2) var(--space-4) var(--space-4);overflow-y:auto;overscroll-behavior:contain}.panel-body{display:flex;flex-direction:column;gap:var(--space-3)}.studio-dims{position:absolute;left:var(--chrome-inset);bottom:var(--chrome-inset);display:flex;flex-direction:column;gap:2px;width:288px;margin:0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--paper-glass);box-shadow:var(--edge),var(--shadow-pill);-webkit-backdrop-filter:blur(12px) saturate(1.1);backdrop-filter:blur(12px) saturate(1.1);font-variant-numeric:tabular-nums}.studio-dims-main{font:600 13px/18px var(--font-sans)}.studio-dims-note{font:var(--type-small);color:var(--ink-2)}.chat{position:absolute;bottom:var(--chrome-inset);left:calc(var(--used-l) + (100% - var(--used-l) - var(--used-r)) / 2);display:flex;flex-direction:column;width:min(var(--studio-chat-w),calc(100% - var(--used-l) - var(--used-r)));max-height:calc(100dvh - 2 * var(--chrome-inset) - var(--control-lg) - var(--chrome-gap));transform:translate(-50%);border-radius:var(--radius-composer);background:var(--paper);box-shadow:var(--edge),var(--shadow-composer);z-index:var(--z-composer)}.chat-top{display:flex;flex:none;align-items:center;justify-content:center;position:relative;min-height:28px}.chat-top .icon-btn{position:absolute;top:2px;right:var(--space-2)}.chat[data-open=false] .chat-top{position:absolute;top:-36px;right:0;min-height:0}.chat[data-open=false] .chat-top .icon-btn{position:static;background:var(--paper);box-shadow:var(--edge),var(--shadow-pill)}.chat-handle{width:36px;height:4px;border-radius:2px;background:var(--track-off)}.chat-scroll{display:flex;flex-direction:column;gap:var(--space-3);min-height:0;padding:0 var(--space-5) var(--space-3);overflow-y:auto;overscroll-behavior:contain}.chat-scroll .paywall{max-width:none;border:0}.chat-log{display:flex;flex-direction:column;gap:var(--space-2)}.chat-msg{max-width:88%;margin:0;padding:var(--space-2) var(--space-3);font:var(--type-small);border-radius:var(--radius-md);overflow-wrap:anywhere}.chat-msg[data-from=you]{align-self:flex-end;background:var(--accent-soft)}.chat-msg[data-from=morfhaus]{align-self:flex-start;background:var(--paper-soft)}.chat-msg[data-fail=true]{background:var(--danger-soft);color:var(--danger)}.chat-working{display:flex;align-items:center;gap:var(--space-2)}.chat-ideas{display:flex;flex-wrap:wrap;gap:var(--space-2)}.chat-form{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"input input" "meta send";align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-2) var(--space-4) var(--space-3)}.chat[data-open=false] .chat-form{grid-template-areas:"input send" "meta meta";padding-top:var(--space-3)}.chat-input{grid-area:input;min-width:0}.chat-input .field-label{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0)}.chat-input .field-box{background:var(--paper-soft);border-radius:var(--radius-lg)}.chat-meta{grid-area:meta;display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-1) var(--space-4);min-width:0}.chat-meta .ui-toggle{min-height:var(--control-md);gap:var(--space-3)}.chat-meta .ui-toggle-note{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0)}.chat-left{font:var(--type-small);color:var(--ink-2);white-space:nowrap}.chat-send{grid-area:send}.studio-body[data-tool]{--used-r: calc(var(--rail-w) + 2 * var(--chrome-inset) + 340px + var(--chrome-gap))}@media(max-width:1299px){.studio-body{--used-l: var(--chrome-inset)}.studio-dims{bottom:auto;top:calc(var(--chrome-inset) + var(--control-lg) + var(--chrome-gap));width:min(288px,calc(50% - var(--rail-w) - 2 * var(--chrome-inset)))}}@media(max-width:959px){.studio-body[data-tool] .chat{display:none}}@media(max-width:719px){.studio-body{--tools-h: calc(60px + env(safe-area-inset-bottom, 0px)) }.studio-stage{top:-60px;right:0;bottom:0;left:0}.studio-brand{max-width:calc(100% - 2 * var(--chrome-inset));padding:0 var(--space-4)}.studio-look{top:calc(var(--chrome-inset) + var(--control-lg) + var(--space-2));left:var(--chrome-inset);transform:none}.studio-look .segment-btn{padding-inline:12px}.studio-dims{top:calc(var(--chrome-inset) + var(--control-lg) + var(--space-2) + var(--control-lg) + var(--space-2));width:calc(100% - 2 * var(--chrome-inset));padding:var(--space-2) var(--space-3);gap:0}.studio-dims-main{font:600 12px/16px var(--font-sans)}.studio-dims-note{font:500 12px/16px var(--font-sans)}.studio-dims-scale{display:none}.studio-rail{top:auto;right:0;bottom:0;left:0;flex-direction:row;justify-content:space-around;width:100%;height:var(--tools-h);padding:var(--space-1) var(--space-2) env(safe-area-inset-bottom,0px);border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--paper);box-shadow:var(--shadow-sheet)}.studio-rail-btn{min-height:48px;width:auto;flex:1}.studio-rail-sep{display:none}.studio-units{margin:0}.studio-rail-btn[data-dirty=true]:after{right:calc(50% - 20px)}.studio-body,.studio-body[data-tool]{--used-l: 0px;--used-r: 0px}.chat{left:0;right:0;bottom:var(--tools-h);width:100%;max-height:62dvh;transform:none;border-radius:var(--radius-sheet);box-shadow:var(--shadow-sheet)}.chat-scroll,.chat-form{padding-inline:var(--chrome-inset)}.chat .ui-toggle-text>span:first-child{max-width:150px;font:var(--type-small)}.studio-tool{top:auto;right:0;bottom:var(--tools-h);left:0;width:100%;max-height:55dvh;border-radius:var(--radius-sheet);box-shadow:var(--shadow-sheet);z-index:calc(var(--z-composer) + 1)}.studio-body[data-tool] .chat{display:none}}.params{gap:var(--space-4)}.params-group{display:flex;flex-direction:column;gap:var(--space-3);min-width:0;margin:0;padding:0;border:0}.param-row{display:grid;grid-template-columns:1fr auto;gap:var(--space-1) var(--space-3);align-items:center;font:var(--type-small)}.param-row input[type=range]{grid-column:1 / -1;grid-row:2;width:100%;accent-color:var(--accent)}.param-row input[type=color]{width:44px;height:32px;padding:0;background:none;border:var(--line-rule);border-radius:var(--radius-sm)}.param-out{font-variant-numeric:tabular-nums;color:var(--ink-2)}.params-actions,.calib-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.calib-scale{display:flex;align-items:center;gap:var(--space-2);font:var(--type-ui)}.calib-scale svg{color:var(--success)}.calib-list{display:flex;flex-direction:column;gap:var(--space-2);font:var(--type-small)}.calib-list li{display:flex;flex-direction:column;gap:2px;padding:var(--space-2) var(--space-3);background:var(--paper-soft);border-radius:var(--radius-control)}.calib-check{display:flex;align-items:center;gap:var(--space-1);font-weight:600}.calib-check[data-level=close]{color:var(--success)}.calib-check[data-level=fair]{color:var(--warning)}.calib-check[data-level=off]{color:var(--danger)}.calib-step{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3);font:var(--type-small);background:var(--accent-soft);border-radius:var(--radius-control)}.calib-input{display:flex;align-items:flex-end;gap:var(--space-2)}.calib-input .field-line{flex:1}.calib-note{color:var(--ink-2)}.versions{display:flex;flex-direction:column}.versions li{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:var(--line-hair)}.versions li:last-child{border-bottom:0}.versions li[data-current=true] .version-summary{color:var(--accent)}.version-summary{font:var(--type-ui)}.export-list{display:flex;flex-direction:column}.export-list li{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:var(--line-hair)}.export-list li:last-child{border-bottom:0}.export-title{font:var(--type-ui)}.settings-content{display:flex;flex-direction:column;gap:var(--space-4);max-width:720px;margin-top:var(--space-5)}.settings-block{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);background:var(--paper);border:var(--line-hair);border-radius:var(--radius-card)}.settings-h2{font:var(--type-heading)}.settings-rows{display:flex;flex-direction:column;gap:var(--space-3)}.settings-label{font:var(--type-ui);color:var(--ink-2)}.settings-value{margin:0;overflow-wrap:anywhere}.settings-actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}.settings-links{display:flex;flex-direction:column;gap:var(--space-1)}.settings-links a{display:inline-flex;align-items:center;min-height:44px}.settings-signature{font:var(--type-small);color:var(--ink-3)}.settings-signature a{color:inherit}@media(prefers-reduced-motion:reduce){.build-bar span{transition:none}}.auth-title:focus,.page-title:focus{outline:none}.shell-brand{text-decoration:none}.edit-packs{display:flex;flex-direction:column;gap:var(--space-2, 8px);margin-block:var(--space-3, 12px)}.edit-packs-list{display:flex;flex-wrap:wrap;gap:var(--space-2, 8px)}.studio-tool-note{display:none;margin:0 0 var(--space-3)}@media(max-width:719px){.studio-tool-note{display:block}}
