.theme-toggle{z-index:40;position:relative}.theme-toggle__btn{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);min-width:40px;min-height:40px;color:var(--color-text-muted);cursor:pointer;box-shadow:var(--shadow-xs);transition:background var(--motion-fast) ease-out, border-color var(--motion-fast) ease-out, color var(--motion-fast) ease-out;justify-content:center;align-items:center;gap:6px;padding:8px 12px;display:inline-flex}.theme-toggle__btn:hover{background:var(--color-accent-soft);border-color:var(--color-accent-border);color:var(--color-text-strong)}.theme-toggle__btn[aria-expanded=true]{border-color:var(--color-accent-border);color:var(--color-accent)}.theme-toggle__btn-label{color:var(--color-text);font-size:13px;font-weight:500}.theme-toggle__chevron{opacity:.65;transition:transform var(--motion-fast) ease-out}.theme-toggle__chevron--open{transform:rotate(180deg)}.theme-toggle__panel{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);width:min(280px,100vw - 24px);box-shadow:var(--shadow-md);flex-direction:column;gap:8px;padding:12px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.theme-toggle__group-label{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);margin:4px 0 0;font-size:11px;font-weight:600}.theme-toggle__row{grid-template-columns:1fr 1fr;gap:6px;display:grid}.theme-toggle__row--3{grid-template-columns:1fr 1fr 1fr}.theme-toggle__option{text-align:left;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);min-height:52px;color:var(--color-text);cursor:pointer;align-items:flex-start;gap:8px;padding:8px 10px;display:flex}.theme-toggle__option svg{color:var(--color-accent);flex-shrink:0;margin-top:2px}.theme-toggle__option--on{border-color:var(--color-accent-border);background:var(--color-accent-soft);box-shadow:0 0 0 1px var(--color-accent-border)}.theme-toggle__option-title{color:var(--color-text-strong);font-size:13px;font-weight:600;display:block}.theme-toggle__option-hint{color:var(--color-text-muted);margin-top:2px;font-size:10px;line-height:1.3;display:block}.theme-toggle__chip{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);min-height:52px;color:var(--color-text-muted);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:8px 4px;font-size:11px;font-weight:500;display:inline-flex}.theme-toggle__chip--on{border-color:var(--color-accent-border);background:var(--color-accent-soft);color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent-border)}:root{--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-2xl:28px;--radius-full:9999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--motion-fast:.12s;--motion-base:.18s;--motion-slow:.25s;--ease-out:cubic-bezier(.2, .8, .2, 1);--nav-height:56px;--status-height:40px;--sidebar-left:260px;--sidebar-right:300px;--mobile-tab-height:56px;--safe-bottom:env(safe-area-inset-bottom,0px);--safe-top:env(safe-area-inset-top,0px);--font-sans:Inter, "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root,html[data-palette=warm][data-resolved=light],html:not([data-resolved]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--cream-50:#fdfcfa;--cream-100:#f7f4ec;--cream-200:#efe9dc;--cream-300:#e4dccb;--cream-400:#d4c9b4;--ink-700:#5c4f42;--ink-800:#3f352c;--ink-900:#2a221c;--ink-950:#1a1511;--apricot-100:#fbf0e6;--apricot-200:#f5dcc6;--apricot-300:#efc4a3;--apricot-400:#e8b896;--apricot-500:#dfa06e;--apricot-600:#c9844f;--apricot-700:#a66a3c;--apricot-800:#7a4c2c;--apricot-cta:#d4853a;--apricot-cta-hover:#b8702e;--apricot-cta-active:#9e6126;--text-on-cta:#fffbf7;--sage-100:#e8f3ee;--sage-200:#d2e6dc;--sage-300:#b8d4c8;--sage-400:#8fb8a8;--sage-500:#6a9a88;--sage-700:#3d6456;--sage-800:#2a463c;--rose-100:#f5ebe6;--rose-200:#e5d2c8;--rose-300:#c9a99a;--rose-400:#b08f7e;--rose-600:#8a6b5c;--rose-800:#5a4338;--sand-200:#e6d8c8;--sand-300:#cdbba6;--sand-400:#a89078;--sand-500:#8f7760;--sand-600:#73604d;--sand-800:#4a3e32;--success-bg:#e8f3ee;--success-fg:#2a463c;--success-border:#b8d4c8;--warning-bg:#fbf0d9;--warning-fg:#6b4e16;--warning-border:#e8c96a;--error-bg:#f8e6e2;--error-fg:#7a3228;--error-border:#d4a099;--error-accent:#c47a6a;--focus-ring:#d4853a;--focus-ring-on-accent:#fffbf7;--selection-bg:#fbf0e6;--selection-border:#a66a3c;--overlay-scrim:#2a221c73;--color-bg:#f7f4ec;--color-bg-elevated:#fdfcfa;--color-surface:#fdfcfa;--color-surface-raised:#fff;--color-text:#3f352c;--color-text-strong:#2a221c;--color-text-muted:#5c4f42;--color-border:#e5d2c8;--color-border-subtle:#e4dccb;--color-accent:#d4853a;--color-accent-hover:#b8702e;--color-accent-active:#9e6126;--color-on-accent:#fffbf7;--color-accent-soft:#fbf0e6;--color-accent-border:#a66a3c;--color-focus-ring:#d4853a;--color-success-bg:#e8f3ee;--color-success-fg:#2a463c;--color-success-border:#b8d4c8;--color-warning-bg:#fbf0d9;--color-warning-fg:#6b4e16;--color-warning-border:#e8c96a;--color-error-bg:#f8e6e2;--color-error-fg:#7a3228;--color-error-border:#d4a099;--color-scrim:#2a221c73;--color-theme-meta:#f7f4ec;--shadow-xs:0 1px 2px #2a221c0d;--shadow-sm:0 2px 6px #2a221c0f, 0 1px 2px #2a221c0a;--shadow-md:0 8px 24px #2a221c14, 0 2px 6px #2a221c0a;--shadow-lg:0 16px 40px #2a221c1f, 0 4px 12px #2a221c0f;--shadow-sheet:0 -8px 32px #2a221c1f;--gradient-sunrise:linear-gradient(135deg, #f7f4ec 0%, #f5dcc6 45%, #b8d4c8 100%);--gradient-hero:var(--gradient-sunrise);--gradient-cta:linear-gradient(180deg, #d4853a 0%, #9e6126 100%)}html[data-palette=warm][data-resolved=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--cream-50:#2a221c;--cream-100:#1a1511;--cream-200:#221c18;--cream-300:#3a3028;--cream-400:#4a3e32;--ink-700:#c4b5a4;--ink-800:#e8dfd2;--ink-900:#f7f4ec;--ink-950:#fdfcfa;--apricot-100:#3a2a20;--apricot-200:#4a3528;--apricot-300:#6b4a35;--apricot-400:#c9844f;--apricot-500:#dfa06e;--apricot-600:#e8b896;--apricot-700:#efc4a3;--apricot-800:#f5dcc6;--apricot-cta:#d4956a;--apricot-cta-hover:#e0a87e;--apricot-cta-active:#c9844f;--text-on-cta:#1a1511;--sage-100:#1a2a24;--sage-200:#243830;--sage-300:#3d6456;--sage-400:#6a9a88;--sage-500:#8fb8a8;--sage-700:#b8d4c8;--sage-800:#e8f3ee;--rose-100:#2a221c;--rose-200:#3a3028;--rose-300:#8a6b5c;--rose-400:#b08f7e;--rose-600:#c9a99a;--rose-800:#e5d2c8;--sand-200:#3a3028;--sand-300:#4a3e32;--sand-400:#a89078;--sand-500:#cdbba6;--sand-600:#e6d8c8;--sand-800:#f5ebe6;--success-bg:#1a2a24;--success-fg:#b8d4c8;--success-border:#3d6456;--warning-bg:#2a2418;--warning-fg:#e8c96a;--warning-border:#6b4e16;--error-bg:#2a1a18;--error-fg:#e8b0a8;--error-border:#8a4a42;--error-accent:#c47a6a;--focus-ring:#d4956a;--focus-ring-on-accent:#1a1511;--selection-bg:#3a2a20;--selection-border:#d4956a;--overlay-scrim:#0a0806a6;--color-bg:#1a1511;--color-bg-elevated:#221c18;--color-surface:#2a221c;--color-surface-raised:#322a24;--color-text:#e8dfd2;--color-text-strong:#f7f4ec;--color-text-muted:#c4b5a4;--color-border:#4a3e32;--color-border-subtle:#3a3028;--color-accent:#d4956a;--color-accent-hover:#e0a87e;--color-accent-active:#c9844f;--color-on-accent:#1a1511;--color-accent-soft:#3a2a20;--color-accent-border:#d4956a;--color-focus-ring:#d4956a;--color-success-bg:#1a2a24;--color-success-fg:#b8d4c8;--color-success-border:#3d6456;--color-warning-bg:#2a2418;--color-warning-fg:#e8c96a;--color-warning-border:#6b4e16;--color-error-bg:#2a1a18;--color-error-fg:#e8b0a8;--color-error-border:#8a4a42;--color-scrim:#0a0806a6;--color-theme-meta:#1a1511;--shadow-xs:0 1px 2px #00000040;--shadow-sm:0 2px 8px #00000059, 0 1px 2px #2a221c33;--shadow-md:0 8px 28px #0006, 0 2px 6px #00000040;--shadow-lg:0 16px 48px #00000080, 0 4px 12px #0000004d;--shadow-sheet:0 -8px 32px #00000073;--gradient-sunrise:linear-gradient(135deg, #1a1511 0%, #3a2a20 45%, #1a2a24 100%);--gradient-hero:var(--gradient-sunrise);--gradient-cta:linear-gradient(180deg, #d4956a 0%, #c9844f 100%)}html[data-palette=cool][data-resolved=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--cream-50:#fff;--cream-100:#f0f7fa;--cream-200:#e8f4f8;--cream-300:#d4e8f0;--cream-400:#b8d4e0;--ink-700:#4a6570;--ink-800:#2c3e4a;--ink-900:#1a2b36;--ink-950:#0f1a22;--apricot-100:#e0f4fa;--apricot-200:#c8ecf5;--apricot-300:#9ad8eb;--apricot-400:#69cfff;--apricot-500:#38abe4;--apricot-600:#1e8fc4;--apricot-700:#0b6e99;--apricot-800:#0a4f70;--apricot-cta:#0a5f8c;--apricot-cta-hover:#084a6e;--apricot-cta-active:#063a56;--text-on-cta:#f4fafc;--sage-100:#e6f6ef;--sage-200:#ccecdb;--sage-300:#a8dcc8;--sage-400:#7bc4a8;--sage-500:#4fa888;--sage-700:#2d6b55;--sage-800:#1a4538;--rose-100:#eef4f7;--rose-200:#c5d9e3;--rose-300:#9bb8c8;--rose-400:#7a9aab;--rose-600:#5a7a8a;--rose-800:#3a5560;--sand-200:#dce8ee;--sand-300:#b8cdd8;--sand-400:#8aabbc;--sand-500:#6a8fa0;--sand-600:#4a7080;--sand-800:#2a4855;--success-bg:#e6f6ef;--success-fg:#1a4538;--success-border:#a8dcc8;--warning-bg:#fff6e0;--warning-fg:#6b4e16;--warning-border:#e8c96a;--error-bg:#fdeef0;--error-fg:#8a3040;--error-border:#e8a0a8;--error-accent:#c45a6a;--focus-ring:#0a5f8c;--focus-ring-on-accent:#f4fafc;--selection-bg:#e0f4fa;--selection-border:#0b6e99;--overlay-scrim:#14324666;--color-bg:#f0f7fa;--color-bg-elevated:#fff;--color-surface:#fff;--color-surface-raised:#fff;--color-text:#2c3e4a;--color-text-strong:#1a2b36;--color-text-muted:#4a6570;--color-border:#c5d9e3;--color-border-subtle:#d4e8f0;--color-accent:#0a5f8c;--color-accent-hover:#084a6e;--color-accent-active:#063a56;--color-on-accent:#f4fafc;--color-accent-soft:#e0f4fa;--color-accent-border:#0b6e99;--color-focus-ring:#0a5f8c;--color-success-bg:#e6f6ef;--color-success-fg:#1a4538;--color-success-border:#a8dcc8;--color-warning-bg:#fff6e0;--color-warning-fg:#6b4e16;--color-warning-border:#e8c96a;--color-error-bg:#fdeef0;--color-error-fg:#8a3040;--color-error-border:#e8a0a8;--color-scrim:#14324666;--color-theme-meta:#f0f7fa;--shadow-xs:0 1px 2px #1432460f;--shadow-sm:0 2px 6px #14324612, 0 1px 2px #1432460a;--shadow-md:0 8px 24px #1432461a, 0 2px 6px #1432460d;--shadow-lg:0 16px 40px #14324624, 0 4px 12px #14324612;--shadow-sheet:0 -8px 32px #14324624;--gradient-sunrise:linear-gradient(135deg, #f0f7fa 0%, #c8ecf5 40%, #a8dcc8 100%);--gradient-hero:var(--gradient-sunrise);--gradient-cta:linear-gradient(180deg, #0a5f8c 0%, #084a6e 100%)}html[data-palette=cool][data-resolved=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--cream-50:#132230;--cream-100:#0b1520;--cream-200:#0e1a28;--cream-300:#1a3040;--cream-400:#2a4858;--ink-700:#9bb8c8;--ink-800:#d4e8f0;--ink-900:#e8f4f8;--ink-950:#f4fafc;--apricot-100:#0e2838;--apricot-200:#143848;--apricot-300:#1e5870;--apricot-400:#38abe4;--apricot-500:#69cfff;--apricot-600:#7aeafe;--apricot-700:#9ad8eb;--apricot-800:#c8ecf5;--apricot-cta:#3db8e0;--apricot-cta-hover:#5ec8ea;--apricot-cta-active:#2a9fc8;--text-on-cta:#0b1520;--sage-100:#0e2420;--sage-200:#163530;--sage-300:#2d6b55;--sage-400:#4fa888;--sage-500:#7bc4a8;--sage-700:#a8dcc8;--sage-800:#e6f6ef;--rose-100:#132230;--rose-200:#1a3040;--rose-300:#5a7a8a;--rose-400:#7a9aab;--rose-600:#9bb8c8;--rose-800:#c5d9e3;--sand-200:#1a3040;--sand-300:#2a4858;--sand-400:#6a8fa0;--sand-500:#8aabbc;--sand-600:#b8cdd8;--sand-800:#e8f4f8;--success-bg:#0e2420;--success-fg:#a8dcc8;--success-border:#2d6b55;--warning-bg:#2a2410;--warning-fg:#e8c96a;--warning-border:#6b4e16;--error-bg:#281418;--error-fg:#f0b0b8;--error-border:#8a4050;--error-accent:#c45a6a;--focus-ring:#3db8e0;--focus-ring-on-accent:#0b1520;--selection-bg:#0e2838;--selection-border:#3db8e0;--overlay-scrim:#050c14b3;--color-bg:#0b1520;--color-bg-elevated:#0e1a28;--color-surface:#132230;--color-surface-raised:#1a3040;--color-text:#d4e8f0;--color-text-strong:#e8f4f8;--color-text-muted:#9bb8c8;--color-border:#2a4858;--color-border-subtle:#1a3040;--color-accent:#3db8e0;--color-accent-hover:#5ec8ea;--color-accent-active:#2a9fc8;--color-on-accent:#0b1520;--color-accent-soft:#0e2838;--color-accent-border:#3db8e0;--color-focus-ring:#3db8e0;--color-success-bg:#0e2420;--color-success-fg:#a8dcc8;--color-success-border:#2d6b55;--color-warning-bg:#2a2410;--color-warning-fg:#e8c96a;--color-warning-border:#6b4e16;--color-error-bg:#281418;--color-error-fg:#f0b0b8;--color-error-border:#8a4050;--color-scrim:#050c14b3;--color-theme-meta:#0b1520;--shadow-xs:0 1px 2px #0000004d;--shadow-sm:0 2px 8px #0006, 0 1px 2px #050c144d;--shadow-md:0 8px 28px #00000073, 0 2px 6px #0000004d;--shadow-lg:0 16px 48px #0000008c, 0 4px 12px #00000059;--shadow-sheet:0 -8px 32px #00000080;--gradient-sunrise:linear-gradient(135deg, #0b1520 0%, #0e2838 45%, #0e2420 100%);--gradient-hero:var(--gradient-sunrise);--gradient-cta:linear-gradient(180deg, #3db8e0 0%, #2a9fc8 100%)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;height:100dvh}html,body,#root{height:100dvh;min-height:100dvh}body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior-y:none;margin:0;font-size:16px;line-height:1.5}h1,h2,h3,h4,p{margin:0}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--color-accent);text-underline-offset:2px;text-decoration-thickness:1px}a:hover{color:var(--color-accent-hover)}img,svg{max-width:100%;display:block}:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}@media (prefers-reduced-motion:no-preference){body{transition:background-color .12s ease-out,color .12s ease-out}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.badge{border-radius:var(--radius-full);letter-spacing:.02em;text-transform:uppercase;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:500;line-height:1.4;display:inline-flex}.badge--neutral{background:var(--cream-200);color:var(--ink-700)}.badge--pro{background:var(--apricot-100);color:var(--apricot-800);border:1px solid var(--apricot-300)}.badge--success{background:var(--success-bg);color:var(--success-fg)}.badge--warning{background:var(--warning-bg);color:var(--warning-fg)}.badge--error{background:var(--error-bg);color:var(--error-fg)}.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);letter-spacing:-.01em;cursor:pointer;transition:background-color var(--motion-fast) ease-out, border-color var(--motion-fast) ease-out, color var(--motion-fast) ease-out, box-shadow var(--motion-fast) ease-out;white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;font-weight:600;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--sm{min-height:32px;padding:6px 12px;font-size:14px}.btn--md{min-height:40px;padding:10px 16px;font-size:15px}.btn--lg{min-height:44px;padding:12px 20px;font-size:16px}.btn--full{width:100%}.btn--primary{background:var(--apricot-cta);color:var(--text-on-cta);box-shadow:var(--shadow-xs)}.btn--primary:hover:not(:disabled){background:var(--apricot-cta-hover)}.btn--primary:active:not(:disabled){background:var(--apricot-cta-active)}.btn--primary:focus-visible{outline:2px solid var(--focus-ring-on-accent);outline-offset:2px;box-shadow:0 0 0 4px var(--apricot-cta-active)}.btn--secondary{background:var(--cream-50);color:var(--ink-800);border-color:var(--color-border)}.btn--secondary:hover:not(:disabled){background:var(--apricot-100);border-color:var(--apricot-300)}.btn--ghost{color:var(--ink-700);background:0 0}.btn--ghost:hover:not(:disabled){background:var(--cream-200);color:var(--ink-900)}.btn--danger{background:var(--error-bg);color:var(--error-fg);border-color:var(--error-border)}.btn--danger:hover:not(:disabled){filter:brightness(.97);border-color:var(--error-accent)}.modal-root{z-index:1000;padding:var(--space-4);padding-bottom:calc(var(--space-4) + var(--safe-bottom));place-items:center;display:grid;position:fixed;inset:0}.modal-scrim{background:var(--overlay-scrim);position:absolute;inset:0}.modal{z-index:1;background:var(--cream-50);border-radius:var(--radius-xl);width:min(480px,100%);max-height:min(90vh,720px);box-shadow:var(--shadow-lg);border:1px solid var(--color-border);flex-direction:column;display:flex;position:relative;overflow:hidden}.modal__header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border-subtle);display:flex}.modal__title{color:var(--ink-900);font-size:18px;font-weight:600}.modal__close{min-width:40px;min-height:40px;padding:0}.modal__body{padding:var(--space-5);overflow:auto}.modal__footer{justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border-subtle);background:var(--cream-100);display:flex}@media (width<=479px){.modal-root{place-items:stretch stretch;padding:0}.modal{border-radius:0;width:100%;height:100%;max-height:100%}}.bottom-sheet-root{z-index:400;pointer-events:none;flex-direction:column;justify-content:flex-end;display:flex;position:fixed;inset:0}.bottom-sheet-scrim{background:color-mix(in srgb, var(--ink-950) 42%, transparent);pointer-events:auto;position:absolute;inset:0}.bottom-sheet{z-index:1;pointer-events:auto;background:var(--cream-50);border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;min-height:0;max-height:min(90dvh,90vh);box-shadow:var(--shadow-sheet,0 -8px 32px #2a221c1f);border:1px solid var(--color-border);padding-bottom:max(var(--space-4), env(safe-area-inset-bottom,0px));animation:bottom-sheet-in var(--motion-base,.18s) var(--ease-out,ease-out);border-bottom:none;flex-direction:column;display:flex;position:relative}.bottom-sheet--sm{max-height:min(82dvh,82vh)}.bottom-sheet--lg{max-height:min(90dvh,90vh)}.bottom-sheet__header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-subtle);flex:none;display:flex}.bottom-sheet__title{color:var(--ink-900);letter-spacing:-.02em;margin:0;font-size:1.05rem;font-weight:600}.bottom-sheet__close{flex-shrink:0;min-width:44px;min-height:44px;padding:0}.bottom-sheet__body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:auto;min-height:0;overflow:auto}.bottom-sheet__footer{justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border-subtle);background:var(--cream-100);flex:none;display:flex}@keyframes bottom-sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.bottom-sheet{animation:bottom-sheet-fade var(--motion-fast,.12s) ease-out}@keyframes bottom-sheet-fade{0%{opacity:0}to{opacity:1}}}.progress{gap:var(--space-1) var(--space-2);grid-template-columns:1fr auto;align-items:center;width:100%;display:grid}.progress__label{color:var(--ink-700);grid-column:1/-1;font-size:13px}.progress__track{background:var(--cream-300);border-radius:var(--radius-full);height:8px;overflow:hidden}.progress__fill{background:var(--apricot-cta);border-radius:inherit;height:100%;transition:width var(--motion-base) var(--ease-out)}.progress__pct{color:var(--ink-700);font-variant-numeric:tabular-nums;text-align:right;min-width:2.5em;font-size:12px;font-weight:500}.spinner{border:2px solid var(--cream-300);border-top-color:var(--apricot-cta);border-radius:50%;animation:.7s linear infinite spinner-rotate;display:inline-block}@keyframes spinner-rotate{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{border-top-color:var(--apricot-cta);opacity:.7;animation:none}}.text-field{gap:var(--space-1);flex-direction:column;width:100%;display:flex}.text-field__label{color:var(--ink-700);font-size:14px;font-weight:500}.text-field__input{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--cream-50);min-height:40px;color:var(--ink-900);transition:border-color var(--motion-fast) ease-out;padding:8px 12px}.text-field__input:hover:not(:disabled){border-color:var(--sand-400)}.text-field__input:focus{border-color:var(--apricot-cta);outline:none;box-shadow:0 0 0 3px #8b4f2a33}.text-field__input--error{border-color:var(--error-accent)}.text-field__hint{color:var(--ink-700);font-size:12px}.text-field__error{color:var(--error-fg);font-size:12px}.drop-zone{text-align:center;justify-content:center;align-items:center;gap:var(--space-3);min-height:280px;padding:var(--space-8);border:2px dashed var(--apricot-700);border-radius:var(--radius-2xl);background:color-mix(in srgb, var(--apricot-100) 40%, transparent);transition:background var(--motion-base) var(--ease-out), border-color var(--motion-fast) ease-out;flex-direction:column;display:flex}.drop-zone--compact{min-height:160px;padding:var(--space-5);border-radius:var(--radius-lg)}.drop-zone--active{background:var(--apricot-100);border-color:var(--apricot-cta)}.drop-zone__icon{color:var(--apricot-cta);margin-bottom:var(--space-2)}.drop-zone__title{color:var(--ink-900);font-size:20px;font-weight:600}.drop-zone--compact .drop-zone__title{font-size:16px}.drop-zone__sub{color:var(--ink-700);font-size:14px}.drop-zone__trust{color:var(--ink-800);margin:0 0 var(--space-2);max-width:28rem;font-size:13px;font-weight:500}.crop-editor__help{color:var(--ink-700);margin:0 0 12px;font-size:13px;line-height:1.4}.crop-editor__stage{aspect-ratio:4/3;background:var(--cream-200);touch-action:none;-webkit-user-select:none;user-select:none;border-radius:12px;width:100%;max-height:min(60vh,480px);position:relative;overflow:hidden}.crop-editor__img{object-fit:contain;pointer-events:none;width:100%;height:100%;display:block}.crop-editor__placeholder{height:100%;color:var(--ink-700);place-items:center;display:grid}.crop-editor__rect{border:2px solid var(--apricot-cta);cursor:move;box-sizing:border-box;position:absolute;box-shadow:0 0 0 9999px #00000059}.crop-editor__handle{background:var(--cream-0,#fff);border:2px solid var(--apricot-cta);border-radius:3px;width:14px;height:14px;position:absolute}.crop-editor__handle--nw{cursor:nwse-resize;top:-7px;left:-7px}.crop-editor__handle--ne{cursor:nesw-resize;top:-7px;right:-7px}.crop-editor__handle--sw{cursor:nesw-resize;bottom:-7px;left:-7px}.crop-editor__handle--se{cursor:nwse-resize;bottom:-7px;right:-7px}.image-grid-empty{height:100%;min-height:0;padding:var(--space-6);box-sizing:border-box;place-items:center;width:100%;display:grid}.editor__center--empty .image-grid-empty{padding:clamp(16px,4vh,48px)}.editor__center--empty .image-grid-empty .drop-zone{width:min(100%,520px);min-height:min(360px,50vh)}.image-grid{--image-grid-tile-min:120px;background:var(--cream-50);flex-direction:column;min-width:0;height:100%;min-height:0;display:flex}.image-grid__scroll{min-height:0;padding:var(--space-3) var(--space-4);flex:1;overflow:auto}.image-grid--filmstrip{min-height:0}.image-grid__scroll--filmstrip{align-items:stretch;padding:6px 12px 8px;display:flex;overflow:auto hidden}.image-grid__filmstrip{flex-flow:row;align-items:stretch;width:max-content;max-width:none;height:100%;min-height:0;display:flex}.image-grid__virtual{min-height:100%}.image-grid__toolbar{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-subtle);background:var(--cream-50);flex-wrap:wrap;flex-shrink:0;display:flex}.image-grid__empty-filter{margin:var(--space-6);text-align:center;color:var(--ink-700);font-size:13px}.image-grid__select-tools{padding:8px var(--space-4);border-bottom:1px solid var(--color-border-subtle);background:var(--cream-100,var(--cream-50));flex-wrap:wrap;flex-shrink:0;align-items:center;gap:6px;display:flex}.image-grid__name-select{flex:160px;align-items:center;gap:6px;min-width:140px;display:flex}.image-grid__name-input{border:1px solid var(--color-border-subtle);background:var(--color-surface-raised,var(--cream-50));min-width:0;color:var(--ink-900);border-radius:8px;flex:1;min-height:32px;padding:5px 8px;font-size:12px}.image-grid__meta{padding:10px var(--space-4);border-bottom:1px solid var(--color-border-subtle);background:var(--cream-50);flex-shrink:0}.image-grid__meta-label{color:var(--ink-800);margin:0 0 8px;font-size:12px;font-weight:600}.image-grid__meta-hint{color:var(--ink-700);font-weight:500}.image-grid__meta-fields{grid-template-columns:1fr 1fr auto;align-items:end;gap:8px;display:grid}@media (width<=640px){.image-grid__meta-fields{grid-template-columns:1fr}}.image-grid__filters{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.image-grid__filter{border:1px solid var(--color-border-subtle);background:var(--color-surface-raised,var(--cream-50));color:var(--ink-700);cursor:pointer;border-radius:999px;min-height:28px;padding:4px 8px;font-size:11px;font-weight:500}.image-grid__filter:hover{border-color:var(--apricot-cta);color:var(--ink-900)}.image-grid__filter--on{background:var(--apricot-100);border-color:var(--apricot-cta);color:var(--apricot-cta)}.image-grid__count{color:var(--ink-700);font-size:13px;font-weight:500}.image-grid__actions{gap:var(--space-1);flex-wrap:wrap;display:flex}.image-grid__list{grid-template-columns:repeat(auto-fill, minmax(var(--image-grid-tile-min), 1fr));gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.image-tile{border-radius:var(--radius-lg);background:var(--cream-50);width:100%;box-shadow:var(--shadow-xs);cursor:pointer;text-align:left;min-height:44px;transition:border-color var(--motion-fast) ease-out;box-sizing:border-box;border:2px solid #0000;flex-direction:column;padding:0;display:flex;position:relative;overflow:hidden}.image-tile:hover{border-color:var(--apricot-300)}.image-tile--selected{border-color:var(--selection-border);background:var(--selection-bg)}.image-tile--skipped{opacity:.7}.image-tile--filmstrip{flex:none;height:100%;min-height:0;max-height:100%;overflow:hidden}.image-tile--filmstrip .image-tile__frame{width:var(--tile-frame,96px);height:var(--tile-frame,96px);aspect-ratio:auto;flex:none;align-self:center;max-width:100%;max-height:calc(100% - 22px)}.image-tile--filmstrip .image-tile__name{flex-shrink:0;height:22px;padding:2px 4px;font-size:10px;line-height:18px}.image-tile--filmstrip .image-tile__placeholder{width:var(--tile-frame,96px);height:var(--tile-frame,96px);aspect-ratio:auto;font-size:18px}.image-tile__frame{aspect-ratio:1;background:color-mix(in srgb, var(--cream-200) 80%, var(--ink-900) 6%);box-sizing:border-box;flex-shrink:0;place-items:center;width:100%;display:grid;overflow:hidden}.image-tile__img{object-fit:contain;object-position:center;image-rendering:auto;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.image-tile__placeholder{aspect-ratio:1;background:var(--cream-200);width:100%;color:var(--ink-700);place-items:center;font-size:24px;font-weight:600;display:grid}.image-tile__check{background:var(--apricot-cta);width:20px;height:20px;color:var(--text-on-cta);z-index:1;border-radius:50%;place-items:center;display:grid;position:absolute;top:4px;right:4px}.image-tile__name{color:var(--ink-700);white-space:nowrap;text-overflow:ellipsis;padding:6px 8px;font-size:11px;display:block;overflow:hidden}.image-tile__badge{text-transform:uppercase;background:var(--warning-bg);color:var(--warning-fg);border-radius:var(--radius-full);z-index:1;padding:2px 5px;font-size:9px;font-weight:600;position:absolute;top:4px;left:4px}.image-tile__badge--crop{background:var(--sage-100);color:var(--sage-800);left:auto;right:4px}.image-tile__badge--flag{background:var(--butter-200,#f5e6b8);color:var(--ink-900)}.image-tile__badge--mute{background:var(--cream-200);color:var(--ink-800)}.image-tile__badge--heic{background:var(--apricot-100);color:var(--apricot-800)}.catalog-tools{background:0 0;border:0;margin:0;overflow:visible}.catalog-tools__toggle{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-surface-raised,var(--cream-50));cursor:pointer;text-align:left;width:100%;min-height:44px;color:var(--ink-900);justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:13px;font-weight:600;transition:border-color .12s,box-shadow .12s;display:flex}.catalog-tools__toggle:hover{border-color:var(--color-border);background:color-mix(in srgb, var(--apricot-100) 20%, var(--color-surface))}.catalog-tools__toggle--open{border-color:var(--apricot-cta);box-shadow:0 0 0 1px var(--apricot-cta)}.catalog-tools__hint{color:var(--ink-700);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;max-width:45%;font-size:11px;font-weight:500;overflow:hidden}.catalog-tools__menu{z-index:80;overscroll-behavior:contain;border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-surface-raised,var(--cream-50));box-shadow:var(--shadow-lg,0 16px 40px color-mix(in srgb, var(--ink-900) 32%, transparent));opacity:0;pointer-events:none;padding:14px;transition:opacity .16s,transform .16s;position:fixed;overflow:auto}.catalog-tools__menu--right{transform:translate(-10px)scale(.98)}.catalog-tools__menu--up{transform:translateY(8px)scale(.98)}.catalog-tools__menu--open{opacity:1;pointer-events:auto;transform:translate(0)scale(1)}@media (prefers-reduced-motion:reduce){.catalog-tools__menu{transition:none}}.catalog-tools__lead{color:var(--ink-700);margin:0 0 6px;font-size:12px;line-height:1.4}.catalog-tools__aspect{color:var(--ink-800);margin:0 0 12px;font-size:12px;font-weight:600}.catalog-tools__section{margin-bottom:12px}.catalog-tools__actions{flex-wrap:wrap;gap:8px;margin-bottom:6px;display:flex}.catalog-tools__packs-label{color:var(--ink-700);text-transform:uppercase;letter-spacing:.03em;margin:0 0 6px;font-size:11px;font-weight:600}.catalog-tools__chip{border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--cream-100,var(--color-surface));color:var(--ink-900);cursor:pointer;min-height:36px;padding:8px 12px;font-size:12px;font-weight:500;transition:border-color .12s,background .12s}.catalog-tools__chip:hover:not(:disabled){border-color:var(--apricot-cta);background:color-mix(in srgb, var(--apricot-100,var(--cream-100)) 35%, transparent)}.catalog-tools__chip:disabled{opacity:.45;cursor:not-allowed}.catalog-tools__chip--ghost{background:0 0}.catalog-tools__note{color:var(--ink-700);margin:0 0 8px;font-size:12px}.catalog-tools__report{border-radius:var(--radius-sm);background:var(--cream-100,var(--color-surface));border:1px solid var(--color-border-subtle);margin-top:4px;padding:8px 10px}.catalog-tools__report-summary{color:var(--ink-900);margin:0 0 8px;font-size:13px;font-weight:600}.catalog-tools__issues{max-height:160px;margin:0;padding:0;list-style:none;overflow:auto}.catalog-tools__issue-btn{cursor:pointer;text-align:left;border:0;border-bottom:1px solid var(--color-border-subtle);width:100%;color:var(--ink-800);background:0 0;flex-direction:column;align-items:flex-start;gap:2px;min-height:40px;padding:6px 4px;font-size:12px;display:flex}.catalog-tools__issue-btn:hover{background:color-mix(in srgb, var(--apricot-100) 25%, transparent)}.catalog-tools__issue-btn strong{color:var(--ink-900);font-size:12px}.catalog-tools__menu-hint{color:var(--ink-700);text-align:center;margin:8px 0 0;font-size:11px}.pipeline__tools .catalog-tools{padding:0 var(--space-4) var(--space-3)}.pipeline__tools .catalog-tools__toggle{min-height:44px}.pipeline{background:var(--cream-50);flex-direction:column;height:100%;min-height:0;display:flex;position:relative}.pipeline__header{padding:var(--space-4);border-bottom:1px solid var(--color-border-subtle);flex-shrink:0}.pipeline__tools{border-bottom:1px solid var(--color-border-subtle);background:var(--cream-50);z-index:4;flex-direction:column;flex-shrink:0;gap:0;display:flex}.pipeline__tools .pipeline__palette{padding:var(--space-3) var(--space-4);border-top:0}.pipeline__tools .catalog-tools{border:0;border-top:1px solid var(--color-border-subtle);padding-top:var(--space-2);background:0 0;border-radius:0;margin:0}.pipeline__title{color:var(--ink-900);font-size:15px;font-weight:600}@media (width<=1023px){.pipeline__hint{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.pipeline__header{padding:var(--space-3) var(--space-4)}.pipeline__list{padding:var(--space-3) var(--space-4);gap:var(--space-2)}.pipeline-step__main{padding:var(--space-3)}.pipeline__palette{padding:var(--space-3) var(--space-4)}}.pipeline__note{margin:0 var(--space-4) var(--space-3);color:var(--ink-800);background:var(--sage-100,color-mix(in srgb, var(--cream-50) 80%, #7a9e7e));border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:8px 10px;font-size:12px;line-height:1.4}.pipeline__hint{color:var(--ink-700);margin-top:2px;font-size:12px}.pipeline__empty{padding:var(--space-4);color:var(--ink-700);font-size:14px}.pipeline__list{padding:var(--space-3);gap:var(--space-2);flex-direction:column;flex:auto;min-height:120px;margin:0;list-style:none;display:flex;overflow:auto}.pipeline-step{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--cream-100);min-height:44px;overflow:hidden}.pipeline-step--active{border-color:var(--selection-border);box-shadow:0 0 0 1px var(--selection-border);background:var(--selection-bg)}.pipeline-step--off{opacity:.55}.pipeline-step--dragging{opacity:.45;background:var(--cream-200,var(--cream-100));border-style:dashed}.pipeline-step--overlay{box-shadow:var(--shadow-lg,0 8px 24px #2a221c29);cursor:grabbing;background:var(--cream-100);pointer-events:none;width:min(100vw - 32px,320px)}.pipeline-step__row{align-items:stretch;min-width:0;display:flex}.pipeline-step__handle{min-width:44px;min-height:44px;color:var(--ink-700);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.pipeline-step__handle:hover:not(:disabled){color:var(--ink-900);background:var(--cream-200)}.pipeline-step__handle:disabled{opacity:.35;cursor:not-allowed}.pipeline-step__handle:active:not(:disabled),.pipeline-step__handle--static{cursor:grabbing}.pipeline-step__handle--static{min-width:44px;min-height:44px;color:var(--ink-700);justify-content:center;align-items:center;display:inline-flex}.pipeline-step__main{align-items:center;gap:var(--space-3);width:auto;min-width:0;padding:var(--space-3);cursor:pointer;text-align:left;min-height:44px;color:var(--ink-900);background:0 0;border:0;flex:1;display:flex}.pipeline-step__main--static{cursor:grabbing}.pipeline-step__main svg{color:var(--apricot-cta);flex-shrink:0}.pipeline__live{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.pipeline-step{transition:none!important}}.pipeline-step__label{flex-wrap:wrap;align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex}.pipeline__palette-label--pro{margin-top:var(--space-3);flex-wrap:wrap}.pipeline-step__index{color:var(--ink-700);font-size:11px;display:block}.pipeline-step__tools{padding:0 var(--space-2) var(--space-2);flex-wrap:wrap;gap:2px;display:flex}.icon-btn{border-radius:var(--radius-sm);min-width:32px;min-height:32px;color:var(--ink-700);cursor:pointer;background:0 0;border:0;padding:4px 8px;font-size:11px;font-weight:500}.icon-btn:hover:not(:disabled){background:var(--cream-200);color:var(--ink-900)}.icon-btn:disabled{opacity:.35;cursor:not-allowed}.icon-btn--danger:hover:not(:disabled){background:var(--error-bg);color:var(--error-fg)}.pipeline__palette{padding:var(--space-3) var(--space-4) var(--space-4);z-index:5;flex-shrink:0;position:relative}.pipeline__add-btn{border:1.5px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-raised,var(--cream-50));width:100%;min-height:52px;color:var(--ink-900);cursor:pointer;justify-content:center;align-items:center;gap:10px;padding:12px 16px;font-size:14px;font-weight:600;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.pipeline__add-btn:hover{border-color:var(--apricot-cta);background:color-mix(in srgb, var(--apricot-100,var(--cream-100)) 50%, var(--color-surface));border-style:solid}.pipeline__add-btn--open{border-style:solid;border-color:var(--apricot-cta);box-shadow:0 0 0 1px var(--apricot-cta)}.pipeline__add-btn--pulse{animation:2.4s ease-in-out infinite pipeline-add-pulse}@keyframes pipeline-add-pulse{0%,to{border-color:var(--color-border);box-shadow:0 0 #0000}50%{border-color:var(--apricot-cta);box-shadow:0 0 0 4px color-mix(in srgb, var(--apricot-cta) 22%, transparent)}}@media (prefers-reduced-motion:reduce){.pipeline__add-btn--pulse{border-color:var(--apricot-cta);border-style:solid;animation:none}}.pipeline__op-menu{overscroll-behavior:contain;border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-surface-raised,var(--cream-50));box-shadow:var(--shadow-lg,0 16px 40px color-mix(in srgb, var(--ink-900) 32%, transparent));z-index:80;opacity:0;pointer-events:none;padding:14px;transition:opacity .16s,transform .16s;overflow:auto}.pipeline__op-menu--fixed{position:fixed}.pipeline__op-menu--right{transform:translate(-10px)scale(.98)}.pipeline__op-menu--up{transform:translateY(8px)scale(.98)}.pipeline__op-menu--open{opacity:1;pointer-events:auto;transform:translate(0)scale(1)}@media (prefers-reduced-motion:reduce){.pipeline__op-menu{transition:none}}.pipeline__op-menu--fixed .pipeline__op-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}@media (width>=1024px){.pipeline__op-menu--fixed{min-width:300px}.pipeline__op-menu--fixed .pipeline__op-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pipeline__op-menu--fixed .pipeline__op-chip{text-align:left;border-radius:var(--radius-md);justify-content:flex-start;width:100%}}.pipeline__op-menu-title{color:var(--ink-800);align-items:center;gap:8px;margin:0 0 8px;font-size:12px;font-weight:600;display:flex}.pipeline__op-menu-title--pro{border-top:1px solid var(--color-border-subtle);margin-top:12px;padding-top:10px}.pipeline__op-menu-grid{flex-wrap:wrap;gap:6px;display:flex}.pipeline__op-chip{border:1px solid var(--color-border-subtle);background:var(--cream-100,var(--color-surface));color:var(--ink-900);cursor:pointer;border-radius:999px;align-items:center;min-height:40px;padding:10px 12px;font-size:13px;font-weight:500;transition:border-color .12s,background .12s;display:inline-flex}.pipeline__op-chip:hover{border-color:var(--apricot-cta);background:color-mix(in srgb, var(--apricot-100,var(--cream-100)) 40%, transparent)}.pipeline__op-menu-hint{color:var(--ink-700);text-align:center;margin:10px 0 0;font-size:11px}.pipeline__palette-label{color:var(--ink-700);margin-bottom:var(--space-2);align-items:center;gap:6px;font-size:12px;font-weight:500;display:flex}.pipeline__palette-grid{gap:var(--space-1);flex-wrap:wrap;margin-top:10px;display:flex}.rename{gap:var(--space-5);flex-direction:column;display:flex}.rename__intro{color:var(--ink-700);margin:0;font-size:13px;line-height:1.45}.rename__section{gap:var(--space-2);flex-direction:column;display:flex}.rename__section-title{letter-spacing:.02em;text-transform:uppercase;color:var(--ink-700);align-items:center;gap:6px;margin:0;font-size:12px;font-weight:600;display:flex}.rename__section-title svg{color:var(--apricot-cta)}.rename__presets{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}@media (width<=360px){.rename__presets{grid-template-columns:1fr}}.rename__preset{text-align:left;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--cream-50);cursor:pointer;min-height:52px;transition:background var(--motion-fast) ease-out, border-color var(--motion-fast) ease-out, box-shadow var(--motion-fast) ease-out;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;display:flex}.rename__preset:hover{background:var(--apricot-100);border-color:var(--apricot-300)}.rename__preset--active{background:var(--selection-bg);border-color:var(--selection-border);box-shadow:0 0 0 1px var(--selection-border)}.rename__preset-label{color:var(--ink-900);font-size:13px;font-weight:600}.rename__preset-desc{color:var(--ink-700);font-size:11px;line-height:1.35}.rename__field{width:100%;display:block}.rename__input{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--cream-50);width:100%;min-height:44px;color:var(--ink-900);font-family:var(--font-mono);letter-spacing:-.01em;padding:10px 12px;font-size:13px}.rename__input:focus{border-color:var(--apricot-cta);outline:none;box-shadow:0 0 0 3px #8b4f2a33}.rename__help{color:var(--sand-600);margin:0;font-size:12px;line-height:1.4}.rename__tokens{flex-wrap:wrap;gap:6px;display:flex}.rename__token{border:1px solid var(--rose-200);border-radius:var(--radius-full);background:var(--cream-100);cursor:pointer;min-height:40px;transition:background var(--motion-fast) ease-out, border-color var(--motion-fast) ease-out, transform var(--motion-fast) ease-out;flex-direction:column;align-items:flex-start;gap:1px;padding:6px 10px;display:inline-flex}.rename__token:hover{background:var(--sage-100);border-color:var(--sage-300)}.rename__token:active{transform:scale(.98)}.rename__token-label{color:var(--ink-900);font-size:12px;font-weight:600;line-height:1.2}.rename__token-code{font-size:10px;font-family:var(--font-mono);color:var(--ink-700);line-height:1.2}.rename__preview-list{border-radius:var(--radius-lg);background:var(--gradient-sunrise);border:1px solid var(--rose-200);padding:0;padding:var(--space-3);flex-direction:column;gap:6px;margin:0;list-style:none;display:flex}.rename__preview-row{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-surface) 90%, transparent);grid-template-columns:1fr auto 1fr;align-items:center;gap:6px;min-height:32px;padding:6px 8px;font-size:12px;display:grid}.rename__preview-from{color:var(--ink-700);text-overflow:ellipsis;white-space:nowrap;text-decoration:line-through;-webkit-text-decoration-color:var(--sand-300);text-decoration-color:var(--sand-300);overflow:hidden}.rename__preview-arrow{color:var(--apricot-cta);flex-shrink:0}.rename__preview-to{color:var(--ink-900);text-overflow:ellipsis;white-space:nowrap;font-weight:600;font-family:var(--font-mono);font-size:11px;overflow:hidden}.rename__footnote{color:var(--sand-600);margin:0;font-size:11px;line-height:1.45}.rename__footnote code{font-family:var(--font-mono);background:var(--cream-200);color:var(--ink-800);border-radius:4px;padding:1px 4px;font-size:10px}.color-pick__help{color:var(--ink-700);margin:0 0 12px;font-size:13px;line-height:1.4}.color-pick__loading{place-items:center;min-height:120px;margin-bottom:8px;display:grid}.color-pick__error{color:var(--error-fg,#9b1c1c);background:var(--error-bg,#fde8e8);border-radius:var(--radius-md);margin:0 0 10px;padding:8px 10px;font-size:13px}.color-pick__stage{aspect-ratio:4/3;background:var(--cream-200);touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair;overscroll-behavior:contain;border-radius:12px;width:100%;max-height:min(55vh,420px);position:relative;overflow:hidden}.color-pick__img{object-fit:contain;pointer-events:none;width:100%;height:100%;display:block}.color-pick__placeholder{height:100%;color:var(--ink-700);place-items:center;font-size:14px;display:grid}.color-pick__meta{color:var(--ink-700);text-overflow:ellipsis;white-space:nowrap;margin:8px 0 0;font-size:12px;overflow:hidden}.chroma-color-row{gap:var(--space-2);margin-bottom:var(--space-3);flex-direction:column;display:flex}.chroma-color-row__field{margin-bottom:0}.chroma-color-row__actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.chroma-swatch{border-radius:var(--radius-sm);border:1px solid var(--color-border);flex-shrink:0;width:28px;height:28px;box-shadow:inset 0 0 0 1px #0000000a}.settings{background:var(--cream-50);flex-direction:column;height:100%;min-height:0;display:flex}.settings--sheet{background:0 0;height:auto;min-height:100%}.settings--sheet .settings__body{flex:none;overflow:visible}.settings__header{padding:var(--space-4);border-bottom:1px solid var(--color-border-subtle)}.settings__title{color:var(--ink-900);font-size:15px;font-weight:600}.settings__body{padding:var(--space-4);flex:1;overflow:auto}.settings__empty p{color:var(--ink-700);margin-bottom:var(--space-4);font-size:14px}.settings__batch-meta h3{color:var(--ink-900);margin-bottom:var(--space-1);font-size:13px;font-weight:600}.settings__note{color:var(--ink-700);margin-top:var(--space-2);padding:var(--space-3);background:var(--apricot-100);border-radius:var(--radius-md);border:1px solid var(--apricot-200);font-size:12px}.settings__form{gap:var(--space-4);flex-direction:column;display:flex}.settings__op{text-transform:capitalize;color:var(--ink-900);font-size:14px;font-weight:600}.field{color:var(--ink-700);flex-direction:column;gap:6px;font-size:14px;display:flex}.field select,.field input[type=range]{width:100%}.field select{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--cream-50);min-height:40px;padding:8px 12px}.field--check,.field--row{align-items:center;gap:var(--space-2);flex-direction:row;min-height:44px}.field__hint{color:var(--sand-600);font-size:12px}.condition-form{gap:var(--space-3);padding:var(--space-3) var(--space-3) var(--space-4);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);background:var(--color-surface-raised,var(--cream-50));box-shadow:0 1px 0 color-mix(in srgb, var(--ink-900) 6%, transparent);flex-direction:column;display:flex}.condition-form__header{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.condition-form__label{color:var(--ink-900);letter-spacing:-.01em;font-size:13px;font-weight:600}.condition-form__help{color:var(--ink-700);margin:0;font-size:12px;font-weight:400;line-height:1.45}.condition-form__toggle-group{border:1px solid var(--color-border-subtle);background:var(--cream-100);border-radius:999px;flex-shrink:0;gap:2px;padding:2px;display:inline-flex}.condition-toggle{color:var(--ink-700);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:6px 14px;font-size:12px;font-weight:600;line-height:1.2;transition:background .12s,color .12s}.condition-toggle:hover:not(.condition-toggle--active){color:var(--ink-900);background:color-mix(in srgb, var(--color-surface) 75%, transparent)}.condition-toggle--active{background:var(--apricot-cta);color:#fff;box-shadow:0 1px 2px #00000014}.condition-form__fields{gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border-subtle);flex-direction:column;display:flex}.condition-form__rule-row{gap:var(--space-2);grid-template-columns:1fr;display:grid}@media (width>=280px){.condition-form__rule-row{grid-template-columns:minmax(0,1.15fr) minmax(4.5rem,.7fr) minmax(0,1.1fr);align-items:end}}.condition-form__field{flex-direction:column;gap:4px;min-width:0;display:flex}.condition-form__field-label{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-700);opacity:.9;font-size:11px;font-weight:600}.condition-form__field select,.condition-form__field input{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--cream-50);width:100%;min-height:38px;color:var(--ink-900);padding:7px 10px;font-size:13px}.condition-form__field select:focus,.condition-form__field input:focus{outline:2px solid var(--color-focus-ring);outline-offset:1px;background:var(--color-surface-raised,var(--cream-50))}.condition-preview{color:var(--ink-800);background:color-mix(in srgb, var(--apricot-cta) 8%, var(--cream-50));border-radius:var(--radius-md);border:1px solid color-mix(in srgb, var(--apricot-cta) 18%, var(--color-border-subtle));margin:0;padding:8px 10px;font-size:12px;line-height:1.4}.preview{background:var(--cream-200);flex-direction:column;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.preview__toolbar{background:var(--cream-50);border-bottom:1px solid var(--color-border-subtle);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:4px;padding:6px 10px;display:flex}.preview__recipe{margin-left:auto}.preview__recipe select{border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);background:var(--color-surface-raised,var(--cream-50));color:var(--ink-900);max-width:140px;min-height:32px;padding:4px 8px;font-size:12px}.preview__proof{background:var(--cream-50);border-bottom:1px solid var(--color-border-subtle);flex-shrink:0;gap:8px;padding:8px 10px;display:flex;overflow-x:auto}.preview__proof-card{border:1px solid var(--color-border-subtle);background:var(--color-surface-raised,var(--cream-50));cursor:pointer;text-align:left;border-radius:10px;flex-direction:column;flex:none;gap:4px;width:104px;padding:6px;display:flex}.preview__proof-card--on{border-color:var(--apricot-cta);box-shadow:0 0 0 1px var(--apricot-cta)}.preview__proof-card--off{min-height:88px;color:var(--ink-700);border-style:dashed;justify-content:center}.preview__proof-img{object-fit:cover;background:var(--cream-200);border-radius:6px;width:100%;height:64px}.preview__proof-name{color:var(--ink-900);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;overflow:hidden}.preview__proof-meta{color:var(--ink-700);font-size:10px}.preview__tab{color:var(--ink-700);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;min-height:32px;padding:6px 10px;font-size:12px;font-weight:500}.preview__tab:disabled{opacity:.4;cursor:not-allowed}.preview__tab--on{background:var(--apricot-100);color:var(--apricot-cta)}.preview__compare{flex-direction:column;align-items:stretch;gap:8px;width:100%;max-width:min(100%,720px);min-height:0;max-height:100%;margin:0 auto;display:flex}.preview__compare-stack{aspect-ratio:4/3;border-radius:var(--radius-md);background:var(--cream-50);width:100%;min-height:160px;max-height:100%;box-shadow:var(--shadow-sm);flex:auto;position:relative;overflow:hidden}.preview__img--base,.preview__img--overlay{object-fit:contain;object-position:center;width:100%;max-width:none;height:100%;max-height:none;box-shadow:none;pointer-events:none;-webkit-user-select:none;user-select:none;border-radius:0;position:absolute;inset:0}.preview__img--base{z-index:0}.preview__img--overlay{z-index:1}.preview__compare-line{background:var(--apricot-cta);pointer-events:none;z-index:2;width:2px;box-shadow:0 0 0 1px color-mix(in srgb, var(--ink-900) 25%, transparent);position:absolute;top:0;bottom:0;transform:translate(-1px)}.preview__slider-label{padding:0 4px;display:block}.preview__slider{width:100%;accent-color:var(--apricot-cta)}.preview__compare-legend{color:var(--ink-700);justify-content:space-between;padding:0 4px;font-size:11px;display:flex}.preview--empty{padding:var(--space-6);color:var(--ink-700);text-align:center;place-items:center;font-size:14px;display:grid}.preview__stage{min-width:0;min-height:0;padding:var(--space-3);background:color-mix(in srgb, var(--cream-200) 70%, var(--ink-900) 8%);flex:1 1 0;position:relative;overflow:hidden}.preview__stage>.preview__img{inset:var(--space-3);width:auto;height:auto;max-width:calc(100% - 2 * var(--space-3));max-height:calc(100% - 2 * var(--space-3));object-fit:contain;border-radius:var(--radius-md);box-shadow:var(--shadow-md);background:var(--cream-50);margin:auto;position:absolute}.preview__stage>.preview__compare{inset:var(--space-3);width:min(100%,720px);height:calc(100% - 2 * var(--space-3));max-width:calc(100% - 2 * var(--space-3));max-height:calc(100% - 2 * var(--space-3));flex-direction:column;margin:auto;display:flex;position:absolute}.preview__img{object-fit:contain;border-radius:var(--radius-md);max-width:100%;max-height:100%;box-shadow:var(--shadow-sm);background:var(--cream-50)}.preview__dual{inset:var(--space-3);grid-template-rows:1fr auto auto;grid-template-columns:1fr 1fr;gap:8px;min-height:0;max-height:100%;display:grid;position:absolute}.preview__dual-pane{background:var(--cream-50);border-radius:var(--radius-md);min-width:0;min-height:0;box-shadow:var(--shadow-sm);flex-direction:column;justify-content:center;align-items:center;padding:6px;display:flex;overflow:hidden}.preview__dual-img{object-fit:contain;border-radius:4px;flex:auto;width:auto;max-width:100%;height:auto;min-height:0;max-height:100%}.preview__dual-img--thumb{opacity:.9}.preview__dual-placeholder{color:var(--ink-700);text-align:center;padding:12px;font-size:12px}.preview__dual-caption{color:var(--ink-800);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;max-width:100%;margin-top:4px;font-size:11px;font-weight:600;overflow:hidden}.preview__dual-controls{flex-wrap:wrap;grid-column:1/-1;justify-content:center;gap:6px;display:flex}.preview__dual-hint{color:var(--ink-700);text-align:center;grid-column:1/-1;margin:0;font-size:11px}@media (width<=640px){.preview__dual{grid-template-rows:1fr 1fr auto auto;grid-template-columns:1fr;overflow-y:auto}}.preview__match-frame{inset:var(--space-3);z-index:2;pointer-events:none;place-items:center;display:grid;position:absolute}.preview__match-frame-box{width:var(--match-fill,72%);height:var(--match-fill,72%);border:1.5px dashed color-mix(in srgb, var(--apricot-cta) 80%, white);max-width:100%;max-height:100%;box-shadow:0 0 0 9999px color-mix(in srgb, var(--ink-900) 12%, transparent);border-radius:4px}.preview__match-frame-label{color:var(--cream-0,#fff);background:color-mix(in srgb, var(--ink-900) 70%, transparent);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;max-width:90%;padding:3px 8px;font-size:10px;font-weight:600;position:absolute;bottom:8px;left:50%;overflow:hidden;transform:translate(-50%)}.preview__img--thumb{opacity:.85}.preview__loading{top:var(--space-3);right:var(--space-3);z-index:2;position:absolute}.preview__error{z-index:2;color:var(--error-fg);background:var(--error-bg);border:1px solid var(--error-border);padding:var(--space-3);border-radius:var(--radius-md);text-align:center;max-width:min(32ch,90%);font-size:14px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.preview__meta{justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-top:1px solid var(--color-border-subtle);background:var(--cream-50);color:var(--ink-700);flex-wrap:wrap;flex-shrink:0;font-size:12px;display:flex}.presets{gap:var(--space-6);padding:var(--space-4);flex-direction:column;height:100%;display:flex;overflow:auto}.presets__section{gap:var(--space-2);flex-direction:column;display:flex}.presets__heading{align-items:center;gap:var(--space-2);color:var(--ink-900);font-size:14px;font-weight:600;display:flex}.presets__hint{color:var(--ink-700);font-size:12px}.presets__list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.presets__card{text-align:left;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--cream-50);width:100%;padding:var(--space-3);cursor:pointer;transition:border-color var(--motion-fast) ease-out, background var(--motion-fast) ease-out}.presets__card:hover{border-color:var(--apricot-400);background:var(--selection-bg)}.presets__name{color:var(--ink-900);margin-bottom:2px;font-size:14px;font-weight:600;display:block}.presets__desc{color:var(--ink-700);font-size:12px;display:block}.presets__empty{color:var(--ink-700);padding:var(--space-2) 0;font-size:13px}.presets__save-row{gap:var(--space-2);flex-direction:column;align-items:stretch;display:flex}.presets__user-row{gap:var(--space-1);grid-template-columns:1fr auto;align-items:stretch;display:grid}.presets__delete{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--cream-50);min-width:40px;min-height:40px;color:var(--ink-700);cursor:pointer;place-items:center;display:grid}.presets__delete:hover{background:var(--error-bg);color:var(--error-fg);border-color:var(--error-border)}.export-simple{flex-direction:column;gap:12px;display:flex}.export-simple__lead{color:var(--ink-900);margin:0;font-size:15px;line-height:1.45}.export-simple__blurb{color:var(--ink-800);margin:0;font-size:14px;line-height:1.4}.export-simple__note{color:var(--ink-700);margin:0;font-size:12px;line-height:1.4}.export-simple__help{color:var(--ink-700);margin:0 0 10px;font-size:12px;line-height:1.45}.export-disclosure{border:1px solid var(--color-border-subtle);background:var(--cream-50);border-radius:12px;overflow:hidden}.export-disclosure__toggle{cursor:pointer;text-align:left;width:100%;color:var(--ink-900);background:0 0;border:0;align-items:center;gap:8px;min-height:44px;padding:10px 12px;font-size:13px;font-weight:600;display:flex}.export-disclosure__toggle:hover{background:color-mix(in srgb, var(--apricot-100) 35%, transparent)}.export-disclosure__label{flex:1}.export-disclosure__hint{color:var(--ink-700);text-transform:lowercase;font-size:11px;font-weight:500}.export-disclosure__body{border-top:1px solid var(--color-border-subtle);padding:10px 12px 12px}.export-packs{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.export-packs__label{color:var(--ink-800);margin:0;font-size:12px;font-weight:600}.export-packs__row{flex-wrap:wrap;gap:8px;display:flex}.export-plan-tree,.export-plan-names{color:var(--ink-800);margin:0 0 10px;padding-left:1.1rem;font-size:12px;line-height:1.45}.export-plan-names{max-height:160px;padding-left:0;list-style:none;overflow:auto}.export-plan-names li{border-bottom:1px solid var(--color-border-subtle);word-break:break-word;padding:4px 0}.export-plan-names__src{color:var(--ink-700)}.export-size-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.export-size{border:1px solid var(--color-border-subtle);background:var(--color-surface-raised,var(--cream-50));border-radius:10px;padding:8px 10px}.export-size__row{align-items:center;gap:8px;display:flex}.export-size__name{flex:1;min-width:0}.export-size__name-input{width:100%;color:var(--ink-900);background:0 0;border:0;padding:2px 0;font-size:13px;font-weight:600}.export-size__name-input:focus{box-shadow:inset 0 -1px 0 var(--apricot-cta);outline:none}.export-size__customize{color:var(--apricot-cta);cursor:pointer;background:0 0;border:0;flex-shrink:0;padding:4px 6px;font-size:12px;font-weight:500}.export-size__customize:hover{text-decoration:underline}.export-size__summary{color:var(--ink-700);margin:4px 0 0 26px;font-size:11px;line-height:1.35}.export-size__fields{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin:10px 0 0 26px;display:grid}.export-size__tech{color:var(--sand-600,var(--ink-700));grid-column:1/-1;margin:0;font-size:10px}.export-size__add{margin-top:8px}.export-recipe__field{color:var(--ink-700);flex-direction:column;gap:2px;font-size:11px;display:flex}.export-recipe__field input,.export-recipe__field select{border:1px solid var(--color-border-subtle);background:var(--color-surface-raised,var(--cream-50));color:var(--ink-900);border-radius:8px;min-height:32px;padding:5px 6px;font-size:12px}.export-handoff-check{color:var(--ink-800);align-items:center;gap:8px;margin-bottom:8px;font-size:13px;display:flex}.export-handoff-actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.export-pack-checklist{background:var(--cream-100,#f5f2ea);border:1px solid var(--color-border-subtle);border-radius:8px;margin:8px 0 12px;padding:8px 10px}.export-pack-checklist__list{color:var(--ink-800);margin:0;padding-left:18px;font-size:12px;line-height:1.45}.export-profiles{border-top:1px dashed var(--color-border-subtle);margin-top:12px;padding-top:10px}.export-profiles__save{grid-template-columns:1fr auto;align-items:end;gap:8px;margin-bottom:8px;display:grid}.export-profiles__list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.export-profiles__row{align-items:stretch;gap:4px;display:flex}.export-profiles__apply{text-align:left;border:1px solid var(--color-border-subtle);background:var(--color-surface-raised,var(--cream-50));cursor:pointer;color:var(--ink-900);border-radius:8px;flex:1;justify-content:space-between;gap:8px;min-height:36px;padding:6px 10px;font-size:12px;display:flex}.export-profiles__apply span{color:var(--ink-700);font-size:11px}.export-profiles__delete{color:var(--ink-700);cursor:pointer;background:0 0;border:0;min-width:32px;font-size:16px}.export-print-guide__row{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;display:grid}.export-print-guide__result{flex-direction:column;gap:6px;display:flex}.export-print-guide__px{color:var(--ink-800);margin:0;font-size:13px}.export-print-guide__warn{color:var(--warning-fg,#8a5a00);background:var(--warning-bg,#fff6e5);border-radius:8px;margin:0;padding:8px 10px;font-size:12px}.export-print-guide__ok{color:var(--sage-800,#2f5d3a);background:var(--sage-100,#e8f3ea);border-radius:8px;margin:0;padding:8px 10px;font-size:12px}.export-success{background:var(--sage-100);color:var(--sage-800);border:1px solid var(--sage-300);border-radius:12px;margin-top:4px;padding:14px;font-size:14px}.export-success ul{margin:8px 0 0;padding-left:18px}.export-skip-note{background:var(--warning-bg);color:var(--warning-fg);border-radius:10px;margin:12px 0 0;padding:12px;font-size:14px}.upgrade-sheet__body{color:var(--ink-800);margin:0 0 12px;font-size:14px;line-height:1.45}.upgrade-sheet__lead{color:var(--ink-900);margin:0 0 6px;font-size:13px;font-weight:600}.upgrade-sheet__list{color:var(--ink-800);margin:0 0 14px;padding-left:18px;font-size:13px;line-height:1.45}.upgrade-sheet__note{color:var(--ink-700);margin:0 0 14px;font-size:12px;line-height:1.4}.upgrade-sheet__actions{justify-content:flex-end;display:flex}.cmdk-root{z-index:1100;place-items:start center;padding:12vh 16px 16px;display:grid;position:fixed;inset:0}.cmdk-scrim{background:var(--color-scrim);position:absolute;inset:0}.cmdk{z-index:1;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:min(520px,100%);max-height:min(70vh,480px);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:relative;overflow:hidden}.cmdk__input{border:0;border-bottom:1px solid var(--color-border-subtle);color:var(--color-text-strong);background:0 0;outline:none;padding:14px 16px;font-size:16px}.cmdk__list{flex:1;margin:0;padding:6px;list-style:none;overflow:auto}.cmdk__empty{color:var(--color-text-muted);padding:16px;font-size:14px}.cmdk__item{text-align:left;width:100%;color:var(--color-text);border-radius:var(--radius-md);cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;min-height:40px;padding:10px 12px;font-size:14px;display:flex}.cmdk__item--active,.cmdk__item:hover{background:var(--color-accent-soft);color:var(--color-text-strong)}.cmdk__label{font-weight:500}.cmdk__section{color:var(--color-text-muted);flex-shrink:0;font-size:11px}.cmdk__hint{color:var(--color-text-muted);border-top:1px solid var(--color-border-subtle);background:var(--color-bg);margin:0;padding:8px 12px;font-size:11px}.cmdk__hint kbd{font-family:var(--font-mono);border:1px solid var(--color-border);background:var(--color-surface);border-radius:4px;padding:1px 5px;font-size:10px}.onboard{z-index:50;right:16px;bottom:calc(16px + var(--safe-bottom) + var(--mobile-tab-height,0px));border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-surface);width:min(320px,100vw - 32px);box-shadow:var(--shadow-md);flex-direction:column;gap:12px;padding:14px;display:flex;position:fixed}@media (width>=1024px){.onboard{bottom:24px;right:24px}}.onboard__header{justify-content:space-between;align-items:center;gap:8px;display:flex}.onboard__title{color:var(--color-text-strong);font-size:15px;font-weight:600}.onboard__close{color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;place-items:center;min-width:36px;min-height:36px;display:grid}.onboard__close:hover{background:var(--color-bg);color:var(--color-text)}.onboard__list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.onboard__step{color:var(--color-text);align-items:flex-start;gap:10px;font-size:13px;display:flex}.onboard__num{background:var(--color-accent-soft);width:22px;height:22px;color:var(--color-accent);border-radius:50%;flex-shrink:0;place-items:center;font-size:12px;font-weight:600;display:grid}.onboard__body{color:var(--color-text-muted);margin-top:2px;font-weight:400;line-height:1.4;display:block}.onboard__step strong{color:var(--color-text-strong);font-weight:600}.mobile-add-op{padding:var(--space-4);gap:var(--space-3);flex-direction:column;display:flex}.mobile-add-op__label{color:var(--ink-700);align-items:center;gap:var(--space-2);margin:0;font-size:.8125rem;font-weight:600;display:flex}.mobile-add-op__grid{gap:var(--space-2);flex-wrap:wrap;display:flex}.editor{background:var(--color-bg);flex-direction:column;height:100%;display:flex;overflow:hidden}.editor__top{height:var(--nav-height);min-height:var(--nav-height);justify-content:space-between;align-items:center;gap:var(--space-3);padding:0 var(--space-4);padding-top:var(--safe-top);border-bottom:1px solid var(--color-border-subtle);background:color-mix(in srgb, var(--color-surface) 92%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;display:flex}.editor__top-left{align-items:center;gap:var(--space-3);flex:1;min-width:0;display:flex}.editor__logo{color:var(--ink-900);letter-spacing:-.02em;flex-shrink:0;font-weight:600;text-decoration:none}.editor__logo:hover{color:var(--apricot-cta)}.editor__batch-name{border-radius:var(--radius-sm);min-width:0;max-width:220px;color:var(--ink-800);background:0 0;border:1px solid #0000;padding:6px 8px;font-weight:500}.editor__batch-name:hover,.editor__batch-name:focus{border-color:var(--color-border);background:var(--cream-50);outline:none}.editor__top-actions{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.editor__panel-toggle{gap:6px}.editor__panel-toggle[aria-pressed=false]{opacity:.55}.editor__panel-toggle-label{display:none}.editor__desktop{flex:1;min-height:0;display:none}.editor__mobile{overscroll-behavior:none;flex-direction:column;flex:1;min-height:0;display:flex}.editor__mobile-body{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;flex:1;min-height:0;overflow:auto}.editor__mobile-pipeline{min-height:min-content;padding-bottom:var(--space-4);flex-direction:column;display:flex}.editor__mobile-pipeline .pipeline{background:0 0;flex:none;height:auto;min-height:0}.editor__mobile-pipeline .pipeline__list{flex:none;max-height:none;overflow:visible}.editor__mobile-pipeline .pipeline__palette{border-bottom:1px solid var(--color-border-subtle)}.editor__mobile-settings{border-top:1px solid var(--color-border-subtle);background:var(--cream-50);min-height:0}.editor__mobile-settings .settings{height:auto;min-height:0}.editor__mobile-settings .settings__body{flex:none;overflow:visible}.editor__mobile-empty-preview{height:100%;padding:var(--space-6);text-align:center;color:var(--ink-700);place-items:center;font-size:14px;display:grid}.editor__tabs{height:calc(var(--mobile-tab-height) + var(--safe-bottom));padding-bottom:var(--safe-bottom);border-top:1px solid var(--color-border-subtle);background:var(--cream-50);grid-template-columns:repeat(4,1fr);display:grid}.editor__tab{color:var(--ink-700);cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:44px;font-size:11px;font-weight:500;display:flex}.editor__tab--active{color:var(--apricot-cta)}.editor__more{padding:var(--space-6);gap:var(--space-3);flex-direction:column;max-width:420px;display:flex}.editor__more h2{color:var(--ink-900);font-size:20px}.editor__more-note{color:var(--ink-700);margin-bottom:var(--space-2);font-size:14px}.editor__more-link{margin-top:var(--space-2);font-weight:500}.editor__status{bottom:calc(var(--mobile-tab-height) + var(--safe-bottom) + 12px);background:var(--ink-900);color:var(--cream-50);border-radius:var(--radius-full);z-index:50;box-shadow:var(--shadow-md);padding:8px 14px;font-size:13px;position:fixed;left:50%;transform:translate(-50%)}.editor__toast{bottom:calc(var(--mobile-tab-height) + var(--safe-bottom) + 12px);background:var(--cream-50);max-width:min(420px,100% - 32px);color:var(--ink-900);border:1px solid var(--color-border);border-radius:var(--radius-lg);z-index:60;box-shadow:var(--shadow-md);padding:12px 16px;font-size:14px;position:fixed;left:50%;transform:translate(-50%)}@media (width>=1024px){.editor__mobile{display:none}.editor__panel-toggle-label{display:inline}.editor__desktop{flex-direction:row;align-items:stretch;min-height:0;display:flex;overflow:hidden}.editor__left,.editor__right{flex:none;min-height:0;transition:flex-basis .2s,max-width .2s,min-width .2s,opacity .18s,border-color .2s;overflow:hidden}.editor__left{flex-basis:var(--sidebar-left);max-width:var(--sidebar-left);min-width:var(--sidebar-left);border-right:1px solid var(--color-border-subtle);opacity:1}.editor__left--collapsed{opacity:0;pointer-events:none;border-right-color:#0000;flex-basis:0;min-width:0;max-width:0}.editor__left-inner{width:var(--sidebar-left);height:100%;overflow:hidden}.editor__right{flex-basis:var(--sidebar-right);max-width:var(--sidebar-right);min-width:var(--sidebar-right);border-left:1px solid var(--color-border-subtle);opacity:1;flex-direction:column;display:flex}.editor__right--collapsed{opacity:0;pointer-events:none;border-left-color:#0000;flex-basis:0;min-width:0;max-width:0}.editor__right-inner{width:var(--sidebar-right);flex-direction:column;height:100%;min-height:0;display:flex}.editor__right-tabs{border-bottom:1px solid var(--color-border-subtle);background:var(--cream-50);flex-shrink:0;gap:0;display:flex}.editor__right-tab{min-height:40px;color:var(--ink-700);cursor:pointer;background:0 0;border:0;flex:1;justify-content:center;align-items:center;gap:6px;font-size:13px;font-weight:500;display:inline-flex}.editor__right-tab--active{color:var(--apricot-cta);box-shadow:inset 0 -2px 0 var(--apricot-cta)}.editor__right-body{flex:1;min-height:0;overflow:hidden}.editor__right-body .settings,.editor__right-body .presets{height:100%}.editor__more-presets{margin-top:var(--space-4);border-top:1px solid var(--color-border-subtle);padding-top:var(--space-4)}.editor__more-presets h3{margin-bottom:var(--space-2);color:var(--ink-900);font-size:15px}.editor__center{flex-direction:column;flex:auto;min-width:0;min-height:0;display:flex;overflow:hidden}.editor__center--empty{display:flex}.editor__center--empty .editor__batch-pane{flex:auto;min-height:0;max-height:none}.editor__center--loaded{--batch-share:clamp(168px, 32%, 300px)}.editor__batch-pane{flex:0 0 var(--batch-share,auto);background:var(--cream-50);flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.editor__center--loaded .editor__batch-pane{flex:0 0 var(--batch-share);border-bottom:1px solid var(--color-border-subtle);min-height:168px;max-height:min(40vh,260px)}.editor__center--loaded .image-grid__scroll--filmstrip{flex:auto;min-height:96px}.editor__batch-pane .image-grid,.editor__batch-pane .image-grid-empty{flex:auto;height:100%;min-height:0}.editor__center--loaded .editor__batch-pane{--image-grid-tile-min:88px}.editor__center--loaded .image-grid__toolbar{padding:var(--space-2) var(--space-3);flex-shrink:0}.editor__center--loaded .image-tile__name{padding:2px 4px;font-size:10px}.editor__preview-pane{flex-direction:column;flex:1 1 0;min-width:0;min-height:0;animation:.22s ease-out both editor-preview-in;display:flex;overflow:hidden}.editor__preview-pane .preview{flex:1 1 0;min-width:0;min-height:0}@keyframes editor-preview-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.editor__left,.editor__right,.editor__preview-pane{transition:none;animation:none}}@media (height<=700px){.editor__center--loaded{--batch-share:clamp(100px, 26%, 180px)}.editor__center--loaded .editor__batch-pane{min-height:96px;max-height:min(28vh,200px)}}.editor__status,.editor__toast{bottom:24px}}@media (width<=1023px){.editor__panel-toggle{display:none}.editor__batch-name{max-width:120px}}.pwa-offline-banner{z-index:40;padding:var(--space-2) var(--space-4);padding-left:max(var(--space-4), env(safe-area-inset-left,0px));padding-right:max(var(--space-4), env(safe-area-inset-right,0px));background:color-mix(in srgb, var(--apricot-200) 70%, var(--color-surface));color:var(--ink-900);border-bottom:1px solid var(--color-border-subtle);text-align:center;font-size:.875rem;line-height:1.4;position:sticky;top:0}.pwa-update-prompt{z-index:60;left:50%;bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0px));width:min(420px, calc(100vw - 2 * var(--space-4)));gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--color-border-subtle);box-shadow:0 12px 40px color-mix(in srgb, var(--ink-950) 18%, transparent);color:var(--ink-900);flex-direction:column;display:flex;position:fixed;transform:translate(-50%)}.pwa-update-prompt__title{margin:0;font-size:.95rem;font-weight:600}.pwa-update-prompt__desc{margin:var(--space-2) 0 0;color:var(--ink-700);font-size:.8125rem;line-height:1.45}.pwa-update-prompt__warn{margin:var(--space-2) 0 0;color:var(--apricot-cta);font-size:.8125rem;font-weight:500}.pwa-update-prompt__actions{justify-content:flex-end;gap:var(--space-2);display:flex}@media (width<=640px){.pwa-update-prompt{bottom:calc(var(--mobile-tab-height) + var(--space-3) + env(safe-area-inset-bottom,0px))}}
