:root{color-scheme:light;--ink: #17150f;--ink-header: #1b1a17;--paper: #fffdf7;--paper-2: #f4f1e8;--paper-3: #e6e1d4;--page-bg: #e9e6e0;--canvas-bg: #e8e4d6;--canvas-well: #0a0c10;--paper-glass: rgba(255, 253, 247, .94);--scrim: rgba(0, 0, 0, .8);--hover-veil: rgba(0, 0, 0, .04);--scrollbar-thumb: rgba(23, 21, 15, .18);--scrollbar-thumb-hover: rgba(23, 21, 15, .32);--ink-menu: #211f1a;--ink-raised: #2c2a25;--ink-raised-hover: #33302a;--ink-raised-2: #3d3a33;--ink-raised-3: #4a463d;--ink-border: #3b3833;--ink-text: #c9c3b6;--ink-text-strong: #f0ece5;--ink-text-bright: #ffffff;--ink-danger: #ff8a65;--ink-danger-hover: #ffab86;--shell-edge: #17150f;--text-on-ink: #ffffff;--ink-hover: #000000;--accent-orange: #ff5c1f;--accent-orange-hover: #ff7139;--accent-lime: #d9f24a;--accent-blue: #1b3fd8;--accent-blue-hover: #2b4de0;--text-on-accent: #ffffff;--text-on-blue: #ffffff;--text-on-lime: #17150f;--text-body: #3a352c;--text-muted-warm: #6b6659;--text-on-dark: #8f887c;--border-card: #e2ddd0;--border-input: #cfc8ba;--warn-bg: #fff6e8;--warn-border: #f0cf9a;--warn-text: #6b4a12;--ok-bg: #eef7d8;--ok-border: #b9d16a;--ok-text: #3f5010;--danger-bg: #ffece4;--danger-border: #ffab86;--danger-text: #8a2c08;--font-ui: "Instrument Sans", system-ui, -apple-system, sans-serif;--font-wordmark: "Instrument Serif", serif;--font-mono: "DM Mono", monospace;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--bg-dark: #0a0c10;--bg-surface: #121620;--bg-panel: rgba(22, 28, 42, .85);--bg-panel-solid: #161c2a;--bg-hover: rgba(255, 255, 255, .07);--bg-active: rgba(99, 102, 241, .18);--border-subtle: rgba(255, 255, 255, .08);--border-glow: rgba(99, 102, 241, .4);--accent-primary: #6366f1;--accent-secondary: #ec4899;--accent-gradient: linear-gradient(135deg, #833ab4 0%, #fd1d1d 50%, #fcb045 100%);--accent-neon: linear-gradient(135deg, #6366f1 0%, #a855f7 50%, #ec4899 100%);--text-main: #f8fafc;--text-muted: #94a3b8;--text-dim: #64748b;--shadow-lg: 0 20px 30px -10px rgba(0, 0, 0, .5), 0 0 20px rgba(99, 102, 241, .15);--shadow-sm: 0 4px 12px rgba(0, 0, 0, .3);--font-main: "Inter", system-ui, -apple-system, sans-serif}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--ink: #f3eee2;--ink-header: #0f0e0b;--paper: #17150f;--paper-2: #1f1c15;--paper-3: #29251c;--page-bg: #131109;--canvas-bg: #221f17;--canvas-well: var(--canvas-bg);--paper-glass: rgba(31, 28, 21, .94);--scrim: rgba(0, 0, 0, .72);--hover-veil: rgba(255, 255, 255, .06);--scrollbar-thumb: rgba(243, 238, 226, .16);--scrollbar-thumb-hover: rgba(243, 238, 226, .3);--ink-menu: #1c1a14;--ink-raised: #26231c;--ink-raised-hover: #2e2b22;--ink-raised-2: #353126;--ink-raised-3: #423d30;--ink-border: #332f25;--ink-text: #c9c3b6;--ink-text-strong: #f0ece5;--ink-text-bright: #ffffff;--ink-danger: #ff8a65;--ink-danger-hover: #ffab86;--shell-edge: #443e30;--text-on-ink: #17150f;--ink-hover: #ffffff;--accent-orange: #ff7a47;--accent-orange-hover: #ff8f63;--accent-lime: #d9f24a;--accent-blue: #8fa3ff;--accent-blue-hover: #a6b6ff;--text-on-accent: #ffffff;--text-on-blue: #131109;--text-on-lime: #17150f;--text-body: #d6cfbf;--text-muted-warm: #a39c8c;--text-on-dark: #6f6959;--border-card: #2e2a20;--border-input: #443e30;--warn-bg: #2b2112;--warn-border: #6b4a12;--warn-text: #f0cf9a;--ok-bg: #1f2a10;--ok-border: #3f5010;--ok-text: #c9dd7a;--danger-bg: #33150b;--danger-border: #8a2c08;--danger-text: #ffab86}}:root[data-theme=dark]{color-scheme:dark;--ink: #f3eee2;--ink-header: #0f0e0b;--paper: #17150f;--paper-2: #1f1c15;--paper-3: #29251c;--page-bg: #131109;--canvas-bg: #221f17;--canvas-well: var(--canvas-bg);--paper-glass: rgba(31, 28, 21, .94);--scrim: rgba(0, 0, 0, .72);--hover-veil: rgba(255, 255, 255, .06);--scrollbar-thumb: rgba(243, 238, 226, .16);--scrollbar-thumb-hover: rgba(243, 238, 226, .3);--ink-menu: #1c1a14;--ink-raised: #26231c;--ink-raised-hover: #2e2b22;--ink-raised-2: #353126;--ink-raised-3: #423d30;--ink-border: #332f25;--ink-text: #c9c3b6;--ink-text-strong: #f0ece5;--ink-text-bright: #ffffff;--ink-danger: #ff8a65;--ink-danger-hover: #ffab86;--shell-edge: #443e30;--text-on-ink: #17150f;--ink-hover: #ffffff;--accent-orange: #ff7a47;--accent-orange-hover: #ff8f63;--accent-lime: #d9f24a;--accent-blue: #8fa3ff;--accent-blue-hover: #a6b6ff;--text-on-accent: #ffffff;--text-on-blue: #131109;--text-on-lime: #17150f;--text-body: #d6cfbf;--text-muted-warm: #a39c8c;--text-on-dark: #6f6959;--border-card: #2e2a20;--border-input: #443e30;--warn-bg: #2b2112;--warn-border: #6b4a12;--warn-text: #f0cf9a;--ok-bg: #1f2a10;--ok-border: #3f5010;--ok-text: #c9dd7a;--danger-bg: #33150b;--danger-border: #8a2c08;--danger-text: #ffab86}*{box-sizing:border-box;margin:0;padding:0;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}input,textarea{-webkit-user-select:text;user-select:text}body{font-family:var(--font-main);background-color:var(--canvas-well);color:var(--text-main);overflow:hidden;overflow-x:clip;height:100vh;height:100dvh;width:100vw;-webkit-font-smoothing:antialiased;touch-action:manipulation}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.app-container{display:flex;flex-direction:column;height:100vh;height:100dvh;width:100vw;background:radial-gradient(circle at 50% 0%,rgba(99,102,241,.08),transparent 70%),radial-gradient(circle at 100% 100%,rgba(236,72,153,.05),transparent 60%),var(--canvas-well)}.glass-panel{background:var(--bg-panel);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-subtle)}.app-header{position:relative;display:flex;flex-direction:column;padding:env(safe-area-inset-top) max(20px,env(safe-area-inset-right)) 0 max(20px,env(safe-area-inset-left));background:var(--ink-header);border-bottom:1px solid var(--shell-edge);z-index:50}.header-row{min-height:56px;display:flex;align-items:center;gap:10px;padding:8px 0}.header-left{display:flex;align-items:center;gap:12px;flex-shrink:0}.header-spacer{flex:1 1 auto}.header-menu-wrap{position:relative;display:flex;align-items:center}.header-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:250px;max-height:min(78vh,620px);overflow-y:auto;padding:6px;background:var(--ink-menu);border:1px solid var(--ink-border);border-radius:var(--radius-md);box-shadow:0 14px 36px #00000073;display:flex;flex-direction:column;gap:2px;z-index:120}.header-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--ink-text);font-size:.82rem;font-weight:500;text-align:left;cursor:pointer}.header-menu-item:hover:not(:disabled){background:var(--ink-raised-hover);color:var(--ink-text-bright)}.header-menu-item:disabled{opacity:.4;cursor:not-allowed}.header-menu-item.danger{color:var(--ink-danger)}.header-menu-item.danger:hover:not(:disabled){background:#ff5c1f29;color:var(--ink-danger-hover)}.header-menu-sep{height:1px;background:var(--ink-border);margin:4px 2px}.edit-sections{display:flex;flex-direction:column;gap:8px}.edit-section{border:1px solid var(--border-card);border-radius:var(--radius-md);background:var(--paper);overflow:hidden}.edit-section-head{display:flex;align-items:center;gap:8px;width:100%;padding:12px;background:transparent;border:none;color:var(--text-muted-warm);font-size:.82rem;font-weight:600;text-align:left;cursor:pointer}.edit-section-head:hover{color:var(--ink)}.edit-section-head.open{color:var(--ink);background:var(--paper-2)}.edit-section-chevron{transition:transform .15s ease;flex-shrink:0;color:var(--accent-orange)}.edit-section-head.open .edit-section-chevron{transform:rotate(90deg)}.edit-section-body{padding:12px;border-top:1px solid var(--border-card);background:var(--paper)}.edit-group+.edit-group{margin-top:16px;padding-top:14px;border-top:1px solid var(--border-card)}.edit-group-label{font-size:.7rem;font-weight:600;color:var(--text-muted-warm);margin-bottom:8px}.prop-value{font-family:monospace;color:var(--ink)}.color-field{display:flex;flex-direction:column;gap:6px}.color-field-label{font-size:.75rem;color:var(--text-muted-warm)}.color-field-controls{display:flex;align-items:center;gap:8px}.color-field-swatch{width:32px;height:32px;flex-shrink:0;padding:0;border:1px solid var(--border-input);border-radius:var(--radius-sm);background:transparent;cursor:pointer}.color-field-hex{flex:1 1 auto;min-width:0;padding:6px 8px;font-family:monospace;font-size:.78rem;text-transform:lowercase}.header-actions{display:flex;align-items:center;gap:10px}.header-center-tools{display:flex;align-items:center;gap:2px;background:#0000004d;padding:3px;height:38px;border-radius:var(--radius-md);border:1px solid var(--border-subtle)}.header-cluster{display:flex;align-items:center;gap:8px}.header-btn{background:transparent;border:none;color:var(--text-muted);padding:0 10px;height:30px;align-self:center;min-width:32px;border-radius:calc(var(--radius-md) - 4px);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;font-size:.85rem;font-weight:500;white-space:nowrap;transition:background .15s ease,color .15s ease}.header-btn.icon-only{padding:0;width:32px;min-width:32px}.header-btn.icon-only .header-btn-label{display:none}.header-zoom-value{font-family:var(--font-mono);font-size:.76rem;font-variant-numeric:tabular-nums;color:var(--ink-text-strong);min-width:40px;text-align:center}.header-btn:hover:not(:disabled){color:var(--text-main);background:var(--bg-hover)}.header-btn.active{background:var(--bg-active);color:var(--accent-primary);box-shadow:inset 0 0 0 1px #6366f173}.header-btn:disabled{opacity:.4;cursor:not-allowed}.app-header .header-center-tools{background:var(--ink-raised);border:1px solid var(--ink-border);border-radius:7px;height:34px}.app-header .header-btn{color:var(--ink-text)}.app-header .header-btn:hover:not(:disabled){color:var(--ink-text-bright);background:#ffffff12}.app-header .header-btn:disabled{color:var(--text-on-dark)}.app-header .header-btn.active{background:var(--accent-orange);color:var(--ink-header);box-shadow:none}.control-sidebar .header-btn{color:var(--text-muted-warm)}.control-sidebar .header-btn:hover:not(:disabled){color:var(--ink);background:var(--paper-2)}.control-sidebar .header-btn.active{background:var(--accent-lime);color:var(--text-on-lime);box-shadow:none}.control-sidebar .header-btn:disabled{color:var(--text-on-dark)}.control-sidebar .btn-primary{background:var(--accent-orange);color:var(--text-on-accent);box-shadow:none}.control-sidebar .btn-primary:hover{transform:none;box-shadow:none;background:var(--accent-orange-hover)}.header-fit-btn{background:var(--ink-raised-2);color:var(--ink-text-strong);font-size:.72rem;min-width:auto;height:24px;padding:0 8px;border-radius:5px}.app-header .header-fit-btn:hover:not(:disabled){background:var(--ink-raised-3);color:var(--ink-text-bright)}.header-file-btn,.header-preview-btn{background:var(--ink-raised);border:1px solid var(--ink-border);border-radius:7px;height:34px}.header-file-btn svg:last-child{transition:transform .15s ease}.header-file-btn.open svg:last-child{transform:rotate(180deg)}.header-export-btn{border:none;border-radius:7px;height:34px;color:var(--text-on-accent);font-weight:600;background:var(--accent-orange)}.app-header .header-export-btn:hover:not(:disabled){background:var(--accent-orange-hover);color:var(--text-on-accent)}.app-header .header-export-btn:disabled{color:#ffffffd9;opacity:.75}.canvas-strip{display:flex;align-items:center;gap:16px;padding:8px max(20px,env(safe-area-inset-right)) 8px max(20px,env(safe-area-inset-left));border-top:1px solid var(--shell-edge);overflow-x:auto;scrollbar-width:none}.canvas-strip::-webkit-scrollbar{display:none}.canvas-strip-label{font-family:var(--font-mono);font-size:.66rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-lime);flex-shrink:0}.slide-segments{display:flex;align-items:center;gap:3px;flex-shrink:0}.slide-segment{width:12px;height:18px;padding:0;border:none;border-radius:2px;background:var(--ink-raised-2);cursor:pointer;transition:background .15s ease}.slide-segment.filled{background:var(--accent-orange)}.slide-segment:disabled{cursor:default}.slide-segment:hover:not(:disabled){filter:brightness(1.2)}.canvas-strip-count{font-family:var(--font-mono);font-size:.76rem;color:var(--ink-text-strong);min-width:14px;flex-shrink:0}.frame-chip{flex-shrink:0;background:var(--ink-raised);border:1px solid var(--ink-border);color:var(--ink-text-strong);border-radius:999px;padding:5px 12px;font-size:.74rem;font-family:var(--font-ui);cursor:pointer;max-width:40vw}.frame-chip:hover{border-color:var(--ink-raised-3)}.frame-chip:focus-visible{outline:2px solid var(--accent-orange);outline-offset:2px}.toggle-row{display:flex;align-items:center;gap:7px;font-size:.74rem;color:var(--ink-text);cursor:pointer;flex-shrink:0;white-space:nowrap}.toggle-switch{position:relative;display:inline-flex;width:30px;height:18px;flex-shrink:0}.toggle-input{position:absolute;width:1px;height:1px;margin:0;opacity:0}.toggle-track{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--ink-raised-2);border-radius:999px;transition:background .15s ease}.toggle-knob{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--ink-text-bright);transition:transform .15s ease}.toggle-input:checked~.toggle-track{background:var(--accent-orange)}.toggle-input:checked~.toggle-track .toggle-knob{transform:translate(12px)}.toggle-input:focus-visible~.toggle-track{outline:2px solid var(--accent-orange);outline-offset:2px}.btn-primary{background:var(--accent-neon);color:#fff;border:none;padding:8px 18px;border-radius:var(--radius-md);font-weight:600;font-size:.9rem;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s ease;box-shadow:0 4px 15px #a855f759}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px #a855f780}.app-main{flex:1;display:flex;position:relative;overflow:hidden}.control-sidebar{width:380px;height:100%;display:flex;flex-direction:column;background:var(--paper);border-right:1px solid var(--shell-edge);z-index:20}.sidebar-tabs{display:flex;gap:4px;padding:6px;border-bottom:1px solid var(--border-card);background:var(--paper)}.tab-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px 6px;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-muted-warm);font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s ease}.tab-btn:hover{color:var(--ink);background:var(--paper-2)}.tab-btn.active{color:var(--text-on-lime);background:var(--accent-lime);border-color:var(--ink)}.sidebar-body{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.sidebar-content{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:24px;color:var(--text-body);overscroll-behavior:contain}.selection-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;flex-direction:column;background:var(--paper);box-shadow:0 -1px 0 var(--border-card) inset}.selection-overlay-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border-card);flex-shrink:0}.selection-overlay-title{font-family:var(--font-mono);font-size:.72rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--ink)}.selection-overlay-close{display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:none;border-radius:var(--radius-sm);background:var(--paper-2);color:var(--text-muted-warm);cursor:pointer;transition:background .15s ease,color .15s ease}.selection-overlay-close:hover{background:var(--accent-lime);color:var(--text-on-lime)}.selection-overlay-body{flex:1;min-height:0;overflow-y:auto;padding:16px;overscroll-behavior:contain}.selection-sheet-actions{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.selection-sheet-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px 4px;border:1px solid var(--border-card);border-radius:var(--radius-md);background:var(--paper);color:var(--accent-orange);font-size:.66rem;font-weight:600;cursor:pointer;transition:all .15s ease}.selection-sheet-btn span{color:var(--text-muted-warm)}.selection-sheet-btn:hover:not(:disabled){background:var(--paper-2);border-color:var(--accent-orange)}.selection-sheet-btn:disabled{opacity:.4;cursor:not-allowed}.selection-sheet-btn.neutral{color:var(--text-muted-warm)}@media(max-width:480px){.selection-overlay{position:fixed;inset:auto 0 0 0;max-height:50vh;max-height:50dvh;z-index:56;border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:0 -10px 24px #17150f2e;padding-bottom:max(env(safe-area-inset-bottom),10px);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.control-sidebar:has(.selection-overlay) .sidebar-tabs,.control-sidebar:has(.selection-overlay) .sidebar-content{display:none}}.control-group{display:flex;flex-direction:column;gap:12px}.control-label{font-size:.85rem;font-weight:600;color:var(--text-main);display:flex;align-items:center;justify-content:space-between}.control-val{font-size:.8rem;color:var(--accent-primary);font-family:monospace}.control-sidebar .control-label{color:var(--ink)}.control-sidebar .control-val{color:var(--accent-orange)}.custom-range{-webkit-appearance:none;width:100%;height:6px;border-radius:99px;background:var(--paper-2);border:1px solid var(--border-input);outline:none}.custom-range::-webkit-slider-thumb{-webkit-appearance:none;width:13px;height:13px;border-radius:50%;background:var(--accent-orange);box-shadow:none;cursor:pointer;transition:transform .1s ease}.custom-range::-webkit-slider-thumb:hover{transform:scale(1.15)}.grid-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.option-card{background:var(--paper);border:1px solid var(--border-card);border-radius:var(--radius-md);padding:12px 8px;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;transition:all .2s ease;color:var(--text-muted-warm)}.option-card:hover{border-color:var(--accent-orange);color:var(--ink);background:var(--paper-2)}.option-card.selected{border-color:var(--accent-orange);background:var(--paper-2);color:var(--ink);box-shadow:none}.option-card-title{font-size:.75rem;font-weight:600;text-align:center}.parametric-layout-list .option-card:first-child{border-color:var(--ink)}.dropzone{border:2px dashed var(--ink);border-radius:var(--radius-lg);padding:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;cursor:pointer;background:var(--paper-2);color:var(--text-body);transition:all .2s ease;text-align:center}.dropzone:hover{border-color:var(--accent-orange);background:var(--warn-bg)}.canvas-viewport{flex:1;position:relative;overflow:auto;display:flex;align-items:flex-start;justify-content:flex-start;padding:40px;background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1px);background-size:24px 24px;overscroll-behavior:contain}.canvas-container-outer{margin:auto;flex-shrink:0}.canvas-container-outer{position:relative;box-shadow:var(--shadow-lg);border-radius:4px;transition:transform .2s ease;display:inline-block}.frame-guides-overlay{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;display:flex;z-index:10}.frame-slice-guide{flex:1;border-right:1px dashed rgba(255,255,255,.4);position:relative;box-sizing:border-box}.frame-slice-guide:last-child{border-right:none}.frame-badge{position:absolute;top:10px;left:10px;background:#000000a6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font-size:.7rem;font-weight:700;padding:4px 8px;border-radius:99px;border:1px solid rgba(255,255,255,.2);letter-spacing:.5px}.canvas-empty-state{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none}.canvas-empty-slides{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;gap:1.5%;padding:3%;box-sizing:border-box}.canvas-empty-slide{flex:1;height:100%;border:1.5px dashed var(--border-input, #cfc8ba);border-radius:var(--radius-md);box-sizing:border-box}.canvas-empty-content{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:16px;box-sizing:border-box;pointer-events:none;z-index:6}.canvas-empty-card{display:flex;flex-direction:column;align-items:center;gap:10px;max-width:min(340px,100%);padding:18px 20px;background:var(--paper-glass);border-radius:var(--radius-lg);box-shadow:0 8px 28px #17150f38;pointer-events:auto}.canvas-empty-heading{font-family:var(--font-wordmark);font-style:normal;font-weight:400;font-size:1.05rem;line-height:1.25;color:var(--ink)}.canvas-empty-body{font-family:var(--font-ui);font-size:.78rem;color:var(--text-muted-warm);line-height:1.5}.canvas-empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:2px;font-size:.78rem}@media(max-height:520px){.canvas-empty-body{display:none}}.canvas-empty-btn{pointer-events:auto;cursor:pointer;font-family:var(--font-ui);font-size:inherit;font-weight:600;border-radius:var(--radius-md);padding:.65em 1.2em;white-space:nowrap}.canvas-empty-btn-primary{background:var(--accent-orange);border:1.5px solid var(--accent-orange);color:var(--text-on-accent)}.canvas-empty-btn-outline{background:transparent;border:1.5px solid var(--border-input, #cfc8ba);color:var(--ink)}.layer-props{display:flex;flex-direction:column;align-items:stretch;gap:10px}.prop-section-label{font-size:.62rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--text-dim);margin-top:2px}.prop-row{display:flex;flex-direction:column;gap:5px;font-size:.75rem;color:var(--text-muted)}.prop-row>.custom-range,.prop-row>.select-input,.prop-row>.text-input{width:100%}.prop-button-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.prop-button-row .header-btn{flex:1 1 auto;justify-content:center}.prop-divider{width:100%;height:1px;background:var(--border-subtle)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--scrim);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px;padding-bottom:max(20px,env(safe-area-inset-bottom))}.modal-card{width:100%;max-width:900px;max-height:90vh;max-height:85dvh;border-radius:var(--radius-xl);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 25px 50px -12px #000000b3;background:var(--paper);color:var(--text-body)}.modal-card .control-label,.modal-card .modal-title{color:var(--ink)}.modal-card .header-btn{color:var(--text-muted-warm)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-subtle)}.modal-body{padding:24px;overflow-y:auto;flex:1;overscroll-behavior:contain}.export-modal .modal-card{background:var(--paper);border:1px solid var(--border-card);backdrop-filter:none;-webkit-backdrop-filter:none}.export-modal .modal-header{background:var(--paper);border-bottom:1px solid var(--border-card)}.export-modal .modal-body{background:var(--paper);color:var(--text-body);display:flex;flex-direction:column;gap:20px}.export-modal .modal-title{color:var(--ink)}.export-modal .header-btn{color:var(--text-muted-warm)}.export-modal .header-btn:hover:not(:disabled){color:var(--ink);background:var(--paper-2)}.export-modal .header-btn:disabled{color:var(--text-on-dark)}.export-modal .header-btn.active{background:var(--ink);color:var(--text-on-ink);box-shadow:none}.export-modal .header-center-tools{background:var(--paper-3);border:1px solid var(--border-card)}.export-modal .btn-primary{background:var(--accent-orange);color:var(--text-on-accent);box-shadow:none}.export-modal .btn-primary:hover{transform:none;box-shadow:none;background:var(--accent-orange-hover)}.onboarding-modal .modal-card{background:var(--paper);border:1px solid var(--ink);border-radius:14px;backdrop-filter:none;-webkit-backdrop-filter:none}.onboarding-modal .modal-header{background:var(--paper);border-bottom:1px solid var(--border-card)}.onboarding-modal .modal-title{color:var(--ink)}.onboarding-modal .modal-body{background:var(--paper);color:var(--text-body)}.onboarding-modal .header-btn{color:var(--text-muted-warm)}.onboarding-modal .header-btn:hover:not(:disabled){color:var(--ink);background:var(--paper-2)}.onboarding-modal .btn-primary{background:var(--accent-orange);color:var(--text-on-accent);box-shadow:none}.onboarding-modal .btn-primary:hover{transform:none;box-shadow:none;background:var(--accent-orange-hover)}.onboarding-modal .btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.onboarding-modal .btn-primary.onboarding-btn-final{background:var(--ink);color:var(--text-on-ink);width:100%;justify-content:center;padding:12px}.onboarding-modal .btn-primary.onboarding-btn-final:hover{background:var(--ink-hover)}.projects-modal .modal-card{background:var(--paper);border:1px solid var(--border-card);backdrop-filter:none;-webkit-backdrop-filter:none}.projects-modal .modal-header{background:var(--paper);border-bottom:1px solid var(--border-card)}.projects-modal .modal-body{background:var(--paper);color:var(--text-body);display:flex;flex-direction:column;gap:18px}.projects-modal .modal-title{color:var(--ink)}.projects-modal .header-btn{color:var(--text-muted-warm)}.projects-modal .header-btn:hover:not(:disabled){color:var(--ink);background:var(--paper-2)}.projects-modal .header-btn:disabled{color:var(--text-on-dark)}.projects-modal .btn-primary{background:var(--accent-orange);color:var(--text-on-accent);box-shadow:none}.projects-modal .btn-primary:hover{transform:none;box-shadow:none;background:var(--accent-orange-hover)}.projects-modal .btn-primary.projects-new-btn{width:100%;justify-content:center;padding:12px;background:var(--ink);color:var(--text-on-ink)}.projects-modal .btn-primary.projects-new-btn:hover{background:var(--ink-hover)}.projects-modal .projects-outline-btn{flex:1;justify-content:center;cursor:pointer;border:1px solid var(--ink);background:var(--paper);color:var(--ink);font-size:.78rem}.projects-modal .projects-outline-btn:hover:not(:disabled){background:var(--paper-2);color:var(--ink)}.projects-modal .text-input{background:var(--paper);border:1px solid var(--border-input);color:var(--ink)}.projects-modal .text-input:focus{border-color:var(--accent-orange)}.feed-preview-modal .modal-card{background:var(--paper);border:1px solid var(--border-card);backdrop-filter:none;-webkit-backdrop-filter:none}.feed-preview-modal .modal-header{background:var(--ink-header);border-bottom:1px solid var(--shell-edge)}.feed-preview-modal .modal-body{background:var(--paper);color:var(--text-body)}.feed-preview-modal .modal-title{color:var(--ink-text-bright)}.feed-preview-modal .header-btn{color:var(--ink-text)}.feed-preview-modal .header-btn:hover:not(:disabled){color:var(--ink-text-bright);background:#ffffff12}.feed-preview-modal .control-label{color:var(--text-body)}.feed-preview-modal .text-input{background:var(--paper);border:1px solid var(--border-input);color:var(--ink)}.feed-preview-modal .text-input:focus{border-color:var(--accent-orange)}.feed-preview-modal .text-input::placeholder{color:var(--text-muted-warm)}.feed-preview-modal .btn-primary{background:var(--accent-orange);color:var(--text-on-accent);box-shadow:none}.feed-preview-modal .btn-primary:hover{transform:none;box-shadow:none;background:var(--accent-orange-hover)}.projects-warning{display:flex;flex-direction:column;gap:8px;padding:12px 14px;background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:var(--radius-md)}.projects-warning-head{display:flex;align-items:flex-start;gap:8px}.projects-warning-icon{flex-shrink:0;margin-top:1px;color:var(--warn-text)}.projects-warning-heading{font-weight:700;font-size:.81rem;line-height:1.4;color:var(--warn-text)}.projects-warning-body{font-size:.78rem;line-height:1.45;color:var(--warn-text)}.projects-warning-actions{display:flex;gap:8px;margin-top:2px}.projects-warning-btn-primary,.projects-warning-btn-outline{display:flex;align-items:center;justify-content:center;gap:6px;flex:1;padding:8px 10px;border-radius:var(--radius-sm);font-size:.76rem;font-weight:600;font-family:var(--font-ui);cursor:pointer;border:none}.projects-warning-btn-primary{background:var(--ink);color:var(--text-on-ink)}.projects-warning-btn-primary:hover{background:var(--ink-hover)}.projects-warning-btn-outline{background:transparent;border:1px solid var(--warn-border);color:var(--warn-text)}.projects-warning-btn-outline:hover{background:var(--hover-veil)}.projects-section{display:flex;flex-direction:column;gap:10px}.projects-section-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;font-weight:600;color:var(--text-muted-warm)}.projects-drafts-count{font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted-warm);margin-top:-4px}.projects-save-row,.projects-file-row{display:flex;gap:8px}.projects-helper{font-size:.72rem;color:var(--text-muted-warm)}.projects-empty{font-size:.8rem;color:var(--text-muted-warm);text-align:center;padding:20px}.projects-empty-wrap{display:flex;flex-direction:column;align-items:center;padding-top:8px}.projects-empty-glyph{display:flex;gap:6px;width:150px;height:64px;opacity:.55}.projects-empty-glyph-panel{flex:1;height:100%;border-radius:4px}.projects-empty-glyph-panel.lime{background:var(--accent-lime)}.projects-empty-glyph-panel.muted{background:var(--border-card)}.projects-empty-glyph-panel.orange{background:var(--accent-orange)}.projects-draft-list{display:flex;flex-direction:column;gap:6px;max-height:280px;overflow-y:auto}.projects-draft-row{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--paper-2);border:1px solid var(--border-card);border-radius:9px;cursor:pointer}.projects-draft-row:hover{background:var(--paper);border-color:var(--ink)}.projects-draft-info{overflow:hidden}.projects-draft-title{font-size:.81rem;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.projects-draft-meta{font-size:.72rem;color:var(--text-muted-warm);margin-top:2px}.projects-modal .projects-draft-delete{color:var(--danger-text);flex-shrink:0}.projects-modal .projects-draft-delete:hover:not(:disabled){background:var(--danger-bg);color:var(--danger-text)}.onboarding-illustration{position:relative;height:112px;border-radius:var(--radius-md);background:var(--accent-blue);overflow:hidden}.onboarding-illustration-band{position:absolute;left:-18px;right:-18px;top:22px;height:68px;border-radius:var(--radius-sm);background:var(--paper-2);box-shadow:0 1px #17150f2e,0 -1px #17150f2e}.onboarding-illustration-seam{position:absolute;top:0;bottom:0;width:0;border-left:2px dashed rgba(255,255,255,.55)}.onboarding-illustration-bar{position:absolute;top:14px;bottom:14px;width:14px;background:var(--accent-blue)}.onboarding-illustration-accent{position:absolute;right:14px;bottom:14px;width:26px;height:26px;border-radius:var(--radius-sm);background:var(--accent-lime);transform:rotate(8deg)}.onboarding-illustration-panel{position:absolute;top:22px;width:128px;height:68px;border-radius:var(--radius-sm)}.onboarding-body-text{font-size:.845rem;line-height:1.55;color:var(--text-muted-warm);margin:0}.onboarding-dots{display:flex;gap:6px;justify-content:center}.onboarding-dot{width:5px;height:5px;border-radius:99px;background:var(--border-input);transition:width .2s ease,background .2s ease}.onboarding-dot.is-active{width:18px;height:5px;background:var(--accent-orange)}.ig-device-frame{width:360px;background:#000;border-radius:36px;border:10px solid #1e293b;box-shadow:0 20px 50px #000c;overflow:hidden;margin:0 auto}.ig-feed-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:#000;color:#fff;border-bottom:1px solid #121212}.ig-feed-avatar{width:32px;height:32px;border-radius:50%;background:var(--accent-gradient);padding:2px}.ig-feed-avatar-inner{width:100%;height:100%;border-radius:50%;background:#222;overflow:hidden}.ig-swiper-container{width:100%;height:0;position:relative;overflow:hidden}.ig-slide-track{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;transition:transform .3s cubic-bezier(.25,1,.5,1)}.ig-slide-item{min-width:100%;width:100%;flex-shrink:0}.ig-dots{display:flex;justify-content:center;gap:4px;margin-top:10px}.ig-dot{width:6px;height:6px;border-radius:50%;background:#ffffff4d}.ig-dot.active{background:#38bdf8}.text-input,.select-input{width:100%;background:#0000004d;border:1px solid var(--border-subtle);color:#fff;padding:8px 12px;border-radius:var(--radius-md);font-size:.85rem;outline:none}.text-input:focus,.select-input:focus{border-color:var(--accent-primary)}.color-swatch-grid{display:flex;gap:8px;flex-wrap:wrap}.color-swatch{width:26px;height:26px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:transform .15s ease}.color-swatch:hover{transform:scale(1.15)}.color-swatch.selected{border-color:var(--ink);box-shadow:0 0 8px #ffffff80}@media(max-width:860px){body{overflow:hidden}.app-header{padding:max(8px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left));z-index:60}.header-row{min-height:42px;flex-wrap:nowrap;gap:6px}.header-left{gap:8px}.header-center-tools{flex-wrap:nowrap}.header-btn-label{display:none}.header-export-btn .header-btn-label{display:inline-block;max-width:32vw;overflow:hidden;text-overflow:ellipsis}.header-export-btn{padding:0 10px}.canvas-strip{gap:12px;padding-top:6px;padding-bottom:6px}}@media(max-width:480px){.text-input,.select-input,input[type=number],input[type=text],textarea,select{font-size:16px}.header-row-narrow{justify-content:space-between}.canvas-chip-row{display:flex;align-items:center;gap:6px;padding:6px max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left));border-top:1px solid var(--shell-edge)}.canvas-strip{gap:8px;padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.canvas-chip-wrap{position:relative;flex:1 1 auto;min-width:0}.canvas-chip-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;height:34px;background:var(--ink-raised);border:1px solid var(--ink-border);border-radius:8px;color:var(--ink-text-strong);font:600 .8rem var(--font-ui);cursor:pointer}.canvas-chip-btn:hover{background:var(--ink-raised-hover)}.canvas-sheet{position:absolute;left:0;right:0;top:calc(100% + 6px);display:flex;flex-direction:column;gap:12px;padding:14px;background:var(--ink-header);border:1px solid var(--ink-border);border-radius:12px;box-shadow:0 14px 36px #00000073;z-index:70;overflow-x:clip}.canvas-sheet-section{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.canvas-sheet-toggles{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.canvas-sheet .frame-chip{width:100%}.canvas-sheet .header-zoom-group{flex-wrap:nowrap;height:auto}.app-main{flex-direction:column;overflow:hidden}.canvas-viewport{order:1;flex:1 1 auto;height:auto;padding:16px 16px 76px}.control-sidebar{order:2;position:fixed;left:0;right:0;bottom:0;width:100%;height:auto;max-height:50vh;max-height:50dvh;border-right:none;border-top:1px solid var(--shell-edge);box-shadow:0 -10px 24px #17150f24;flex-direction:column-reverse;z-index:55;padding-bottom:max(env(safe-area-inset-bottom),10px);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.sidebar-tabs{border-bottom:none;border-top:1px solid var(--border-card);flex-shrink:0}.sidebar-content{display:none}.control-sidebar.mobile-open .sidebar-content{display:flex;max-height:46vh;max-height:46dvh;overflow-y:auto}.app-main:has(.control-sidebar.mobile-open) .canvas-viewport{flex:0 1 50vh;flex:0 1 50dvh;max-height:50vh;max-height:50dvh}.modal-overlay{padding:10px;padding-bottom:max(10px,env(safe-area-inset-bottom))}.modal-body{grid-template-columns:1fr!important}.export-slides-grid{grid-template-columns:repeat(2,1fr)!important}.ig-device-frame{width:100%;max-width:320px}}.header-share-note{position:absolute;top:calc(100% + 6px);left:12px;max-width:min(70vw,340px);padding:8px 12px;border-radius:var(--radius-sm);background:var(--ink-menu);border:1px solid var(--ink-border);color:var(--ink-text);font-size:.76rem;z-index:130}@media(hover:none)and (pointer:coarse){.header-btn,.header-menu-item,.edit-section-head,.selection-sheet-btn{min-height:44px}.header-btn.icon-only{min-width:44px}.selection-overlay-close{width:44px;height:44px}.custom-range{padding:19px 0;background-clip:content-box}.slide-segment{min-width:24px;min-height:32px}.slide-segments{flex-wrap:wrap;flex-shrink:1;min-width:0}.toggle-switch{height:28px}.color-swatch,.color-field-swatch{width:40px;height:40px}.layer-picker-btn{min-width:36px;min-height:36px;width:36px;height:36px}.app-header .header-btn{min-height:0;height:34px;position:relative}.app-header .header-btn:after{content:"";position:absolute;left:0;right:0;top:50%;height:44px;transform:translateY(-50%)}.app-header .header-center-tools{height:38px}.tab-btn{min-height:40px;padding:7px 6px;gap:2px;font-size:.68rem;margin-inline:14px}.prop-button-row .header-btn{min-width:44px}.color-field-swatch{width:38px;height:38px}}.header-btn:focus-visible,.header-menu-item:focus-visible,.tab-btn:focus-visible,.edit-section-head:focus-visible,.option-card:focus-visible,.btn-primary:focus-visible,.text-input:focus-visible,.select-input:focus-visible,.custom-range:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}@media(max-width:860px){.sidebar-tabs{padding-bottom:0}}.layer-picker-head{font-size:.62rem;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:var(--text-dim);padding:4px 8px 6px}.layer-picker-row{display:flex;align-items:center;gap:8px;padding:5px 6px 5px 8px;border-radius:6px;cursor:pointer;font-size:.8rem;color:#fff}.layer-picker-row:hover{background:var(--bg-active)}.layer-picker-thumb{width:26px;height:26px;border-radius:4px;object-fit:cover;flex-shrink:0}.layer-picker-thumb-blank{background:var(--bg-active)}.layer-picker-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-picker-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.layer-picker-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:none;border-radius:5px;background:#ffffff0f;color:var(--text-muted);cursor:pointer}.layer-picker-btn:hover:not(:disabled){background:var(--accent-primary);color:#fff}.layer-picker-btn:disabled{opacity:.25;cursor:not-allowed}.modal-title{display:flex;align-items:center;gap:10px;min-width:0;font-weight:800;font-size:1.05rem;line-height:1.25;color:#fff}.export-platform-row{display:flex;flex-direction:column;gap:8px}.export-platform-label{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted-warm)}.export-platform-chips{display:flex;flex-wrap:wrap;gap:6px}.platform-chip{display:flex;align-items:center;gap:6px;padding:5px 10px;border-radius:99px;font-size:.72rem;border:1px solid transparent}.platform-chip-name{font-weight:700}.platform-chip-note{opacity:.8}.platform-chip--ok{background:var(--ok-bg);border-color:var(--ok-border);color:var(--ok-text)}.platform-chip--warn{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn-text)}.platform-chip--danger{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}.export-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:var(--paper-2);padding:12px 16px;border-radius:var(--radius-md);border:1px solid var(--border-card)}.export-summary-text{min-width:0}.export-summary-title{font-size:.85rem;font-weight:700;color:var(--ink)}.export-summary-note{font-size:.75rem;color:var(--text-muted-warm)}.export-format{display:flex;align-items:center;gap:10px;flex-shrink:0}.export-format-label{font-size:.8rem;color:var(--text-muted-warm)}@media(max-width:620px){.modal-title{font-size:.95rem}.export-summary{flex-direction:column;align-items:stretch;gap:10px}.export-format{justify-content:space-between}.export-format .header-center-tools{flex:1 1 auto;min-width:0}.export-format .header-btn{flex:1 1 0;min-width:0;justify-content:center}.export-format-note{display:none}}.export-slides-grid{display:grid;gap:14px;max-height:340px;overflow-y:auto;padding:4px}.export-slide-card{background:var(--paper-2);border-radius:var(--radius-md);border:1px solid var(--border-card);overflow:hidden;display:flex;flex-direction:column}.export-slide-thumb{position:relative;overflow:hidden}.export-slide-thumb img{width:100%;height:100%;object-fit:cover;display:block}.export-slide-badge{position:absolute;top:6px;left:6px;background:var(--ink);color:var(--accent-lime);padding:2px 8px;border-radius:99px;font-family:var(--font-mono);font-size:.65rem;font-weight:700;text-transform:uppercase}.export-slide-download{width:100%;border-radius:0;justify-content:center;padding:6px;font-size:.75rem;border-top:1px solid var(--border-card)}.export-watermark-notice{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--warn-bg);border:1px solid var(--warn-border);color:var(--warn-text);font-size:.78rem}.export-watermark-notice svg{flex-shrink:0}.export-watermark-notice span{flex:1 1 14rem;min-width:0}.export-unlock-btn{flex-shrink:0;white-space:nowrap;font-weight:700;border:none;background:var(--accent-orange);color:var(--text-on-accent);padding:6px 14px;box-shadow:0 2px 8px #ff5c1f59}.export-unlock-btn:hover:not(:disabled){background:var(--accent-orange-hover)}.add-photos-auto-row{display:flex;align-items:center;gap:10px}.add-photos-auto-row input[type=number]{width:72px;flex-shrink:0}.add-photos-auto-row .btn-primary{flex:1;justify-content:center;white-space:nowrap}.add-photos-hint{display:block;font-size:.7rem;color:var(--text-muted-warm);line-height:1.45}.export-video{background:var(--paper-2);padding:14px 16px;border-radius:var(--radius-md);border:1px solid var(--border-card)}.export-mode-row{display:flex;gap:8px;margin-bottom:10px}.export-mode-card{flex:1 1 0;text-align:left;padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--border-card);background:var(--paper-2);cursor:pointer;font-family:var(--font-ui)}.export-mode-card-name{display:block;font-size:.82rem;font-weight:700;color:var(--ink)}.export-mode-card-blurb{display:block;font-size:.7rem;color:var(--text-muted-warm);margin-top:2px}.export-mode-card.active{background:var(--paper);border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.export-video-row{display:flex;flex-wrap:wrap;gap:4px;padding:3px;margin-bottom:10px;background:var(--paper-3);border:1px solid var(--border-card);border-radius:var(--radius-md)}.export-video-row .header-btn{flex:1 1 auto;min-width:0;height:34px;font-size:.74rem;justify-content:center}.export-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.export-chip{display:flex;align-items:center;gap:5px;padding:4px 9px;border-radius:99px;font-size:.7rem;border:1px solid transparent}.export-chip.fits{background:var(--ok-bg);border-color:var(--ok-border);color:var(--ok-text)}.export-chip.fits svg{color:var(--ok-text)}.export-chip.nope{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}.export-chip.nope svg{color:var(--danger-text)}.export-modal .export-video-go{width:100%;height:auto;padding:10px;justify-content:center;border:none;background:var(--accent-blue);color:var(--text-on-blue);font-weight:600}.export-modal .export-video-go:hover:not(:disabled){background:var(--accent-blue-hover);color:var(--text-on-blue)}.export-modal .export-video-go:disabled{opacity:.5;color:var(--text-on-blue)}.export-speed-warning{display:flex;align-items:center;gap:6px;width:100%;margin-bottom:10px;padding:7px 10px;border-radius:var(--radius-sm);background:var(--warn-bg);border:1px solid var(--warn-border);color:var(--warn-text);font-size:.72rem;text-align:left;cursor:pointer}.export-speed-warning svg{color:var(--warn-text);flex-shrink:0}.export-derived{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-bottom:10px;font-size:.75rem;color:var(--text-muted-warm)}.export-derived strong{font-family:var(--font-mono);font-weight:700;color:var(--ink);font-size:.95rem}.export-derived-note{font-size:.7rem;color:var(--text-on-dark);display:block}.export-loop{display:flex;align-items:flex-start;gap:9px;margin-bottom:10px;padding:9px 10px;border-radius:var(--radius-sm);background:var(--paper);border:1px solid var(--border-card);cursor:pointer;font-size:.75rem;color:var(--text-muted-warm)}.export-loop input{margin-top:2px;cursor:pointer;flex-shrink:0}.export-loop strong{color:var(--ink);display:block}.export-actions{display:flex;flex-direction:column;gap:10px}.export-share-note{font-size:.75rem;color:var(--text-muted-warm);text-align:center}.export-modal .export-btn-outline{border:1px solid var(--ink);background:var(--paper);color:var(--ink)}.export-modal .export-btn-outline:hover:not(:disabled){background:var(--paper-2);color:var(--ink)}.transfer-modal .export-btn-outline{border:1px solid var(--ink);background:var(--paper);color:var(--ink)}.transfer-modal .export-btn-outline:hover:not(:disabled){background:var(--paper-2);color:var(--ink)}.header-menu-theme{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 10px;color:var(--ink-text);font-size:.82rem;font-weight:500}.header-menu-theme-label{display:flex;align-items:center;gap:10px}.header-menu-theme-seg{display:flex;gap:2px;padding:2px;background:var(--ink-raised);border:1px solid var(--ink-border);border-radius:7px}.header-menu-theme-seg button{display:flex;align-items:center;justify-content:center;gap:4px;height:24px;min-width:28px;padding:0 7px;border:none;border-radius:5px;background:transparent;color:var(--ink-text);font-family:var(--font-ui);font-size:.72rem;font-weight:600;cursor:pointer}.header-menu-theme-seg button:hover{color:var(--ink-text-bright);background:#ffffff12}.header-menu-theme-seg button.active{background:var(--accent-lime);color:var(--text-on-lime)}.header-menu-theme-seg button:focus-visible{outline:2px solid var(--accent-orange);outline-offset:1px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(max-width:480px){.app-header .header-btn{height:30px;min-width:26px;padding:0 8px}.app-header .header-btn.icon-only{width:30px;padding:0}.app-header .header-center-tools{height:34px;gap:0;padding:2px}.header-file-btn,.header-export-btn{height:30px}.header-row{min-height:0;padding-top:6px;padding-bottom:6px;gap:8px}.canvas-chip-row{gap:8px}.canvas-chip-btn{height:30px}}.start-screen-body{display:flex;flex-direction:column;gap:10px}.start-card{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:14px 16px;border-radius:12px;cursor:pointer;font:inherit;background:var(--paper-2, #f5f2ea);color:inherit;border:1px solid var(--border-card, rgba(23, 21, 15, .12));transition:border-color .15s ease,transform .15s ease}.start-card>svg:first-child{color:var(--accent-orange);flex-shrink:0}.start-card>div{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.start-card strong{font-size:15px}.start-card span{font-size:13px;color:var(--text-muted-warm, #6b6659);line-height:1.35}.start-card:hover:not(.start-card-disabled){border-color:var(--accent-orange);transform:translateY(-1px)}.start-card-arrow{color:var(--text-muted-warm, #6b6659);flex-shrink:0}.start-card-continue{border-color:var(--accent-orange)}.start-card-disabled{cursor:default;opacity:.55}.start-screen-pref{display:flex;align-items:center;gap:8px;margin-top:6px;font-size:13px;color:var(--text-muted-warm, #6b6659);cursor:pointer}.start-screen .modal-header{padding-bottom:12px;border-bottom:none}.start-screen .modal-body{padding-top:8px}.start-screen-pref{margin-top:2px}.album-curation-modal .modal-header{padding-bottom:12px;border-bottom:none}.album-curation-modal .modal-body{padding-top:8px}.album-curation-modal .control-group+.control-label{margin-top:18px}.book-order-options{display:flex;flex-direction:column;gap:10px}.book-summary{display:flex;align-items:center;gap:10px;margin-bottom:12px}.book-summary>svg{color:var(--accent-orange);flex-shrink:0}.book-summary>div{display:flex;flex-direction:column}.book-summary span{font-size:13px;color:var(--text-muted-warm, #6b6659)}.book-preview{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;max-height:50vh;overflow-y:auto;padding:4px;overscroll-behavior:contain}.book-page{position:relative;aspect-ratio:2480 / 3507;background:#fff;container-type:inline-size;border:1px solid var(--border-card, rgba(23,21,15,.12));border-radius:4px;overflow:hidden;box-shadow:0 1px 3px #0000001f}.book-page-cover{grid-column:1 / -1;width:60%;justify-self:center;box-shadow:0 4px 14px #00000040}.book-page-blank,.book-page-back{background:#f3f0e8}.book-page-label{position:absolute;bottom:4px;right:6px;font-size:10px;color:var(--text-muted-warm, #6b6659);background:#fffc;padding:0 4px;border-radius:3px}.book-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.book-actions .btn-primary{flex:1 1 100%}.btn-secondary{background:transparent;color:inherit;font:inherit;font-weight:600;border:1px solid var(--border-card, rgba(23,21,15,.2));padding:8px 14px;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;align-items:center;gap:6px}.btn-secondary:hover{border-color:var(--accent-orange)}.book-editor{position:fixed;top:0;right:0;bottom:0;left:0;z-index:140;display:flex;flex-direction:column;background:var(--paper, #f7f4ec);color:var(--ink, #17150f);padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.book-editor-header{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border-subtle, rgba(23,21,15,.1))}.book-editor-header-top{display:flex;align-items:center;gap:10px}.book-editor-title{flex:1;display:flex;flex-direction:column;min-width:0}.book-editor-title strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.book-editor-title span{font-size:12px;color:var(--text-muted-warm, #6b6659);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.book-editor-density-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding:0 10px}.book-format-anchor{position:relative;display:flex}.book-editor-format{display:flex;align-items:center;gap:7px;max-width:100%;padding:6px 10px;font:inherit;font-size:12px;font-weight:600;border:1px solid var(--border-card, rgba(23,21,15,.12));border-radius:10px;background:var(--paper-2, #f5f2ea);color:var(--ink, #17150f);cursor:pointer}.book-format-mini{display:block;height:15px;background:#fff;border:1px solid rgba(23,21,15,.35);border-radius:1px;flex:0 0 auto}.book-format-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.book-format-size{color:var(--text-muted-warm, #6b6659);font-weight:500;white-space:nowrap}.book-format-pop{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);z-index:6;width:min(360px,calc(100vw - 24px));max-height:70vh;overflow-y:auto;padding:12px;background:#fff;border:1px solid var(--border-card, rgba(23,21,15,.15));border-radius:14px;box-shadow:0 10px 30px #0003}.book-format-pop .book-picker{margin-bottom:0}.book-editor-stage{flex:1;display:flex;align-items:center;justify-content:center;padding:10px;min-height:0;background:#e9e5da;position:relative;container-type:size}.book-editor-page{width:min(100cqw,calc(100cqh * var(--page-ar, .707)));height:auto;position:relative}.book-editor-page .book-page{width:100%;height:100%;box-shadow:0 6px 24px #00000040}.book-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;background:#ffffffd9;border:1px solid var(--border-card, rgba(23,21,15,.15));border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;color:inherit}.book-nav-prev{left:6px}.book-nav-next{right:6px}.book-nav:disabled{opacity:.3;cursor:default}.book-cell{position:absolute;overflow:hidden;background:#ddd;cursor:pointer}.book-cell img{width:100%;height:100%;object-fit:cover;display:block;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.book-cell.is-selected:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:inset 0 0 0 4px var(--accent-orange);pointer-events:none}.book-crop-surface{position:absolute;top:0;right:0;bottom:0;left:0;cursor:grab;touch-action:none}.book-free-surface{position:absolute;top:0;right:0;bottom:0;left:0;touch-action:none}.book-free-safe{position:absolute;border:1px dashed rgba(23,21,15,.28);pointer-events:none;border-radius:2px}.book-free-guide{position:absolute;background:var(--accent-orange);pointer-events:none}.book-free-guide-x{top:0;bottom:0;width:1px}.book-free-guide-y{left:0;right:0;height:1px}.book-free-frame{position:absolute;cursor:grab;touch-action:none}.book-free-frame.is-selected{box-shadow:0 0 0 2px var(--accent-orange)}.book-free-handle{position:absolute;width:18px;height:18px;padding:0;border-radius:50%;border:2px solid var(--accent-orange);background:#fff;cursor:pointer;touch-action:none}.book-free-handle-nw{left:-9px;top:-9px;cursor:nwse-resize}.book-free-handle-ne{right:-9px;top:-9px;cursor:nesw-resize}.book-free-handle-sw{left:-9px;bottom:-9px;cursor:nesw-resize}.book-free-handle-se{right:-9px;bottom:-9px;cursor:nwse-resize}.book-free-rotate{left:50%;top:8px;margin-left:-9px;background:var(--accent-orange)}.book-cell-shape{position:absolute;left:0;top:0;transform-origin:top left}.book-text-box{position:absolute;color:#17150f;white-space:pre;overflow:hidden}.book-text-panel{position:absolute;background:#fff}.book-library-actions{display:flex;justify-content:flex-end;margin-bottom:8px}.book-library-list{display:flex;flex-direction:column;gap:6px;max-height:50vh;overflow-y:auto}.book-library-row{display:flex;align-items:center;gap:6px}.book-library-open{flex:1;display:flex;flex-direction:column;gap:2px;align-items:flex-start;text-align:left;padding:10px 12px;border:1px solid var(--border-card, rgba(23,21,15,.12));border-radius:var(--radius-md, 8px);background:var(--paper-2, #f5f2ea);color:inherit;cursor:pointer;font:inherit}.book-library-open strong{font-size:14px}.book-library-open span{font-size:12px;color:var(--text-muted-warm, #6b6659)}.book-template-list{display:flex;flex-direction:column;gap:4px;max-height:34vh;overflow-y:auto}.book-template-option{display:flex;flex-direction:column;gap:2px;align-items:flex-start;text-align:left;padding:8px 10px;border:1px solid var(--border-card, rgba(23,21,15,.12));border-radius:var(--radius-md, 8px);background:#fff;color:#17150f;cursor:pointer;font:inherit}.book-template-option.is-active{border-color:var(--accent-orange);box-shadow:inset 0 0 0 1px var(--accent-orange)}.book-template-name{display:flex;align-items:center;gap:4px;font-weight:600;font-size:13px}.book-template-hint{font-size:11px;color:var(--text-muted-warm, #6b6659)}.book-text-field{font:inherit;font-size:13px;padding:8px 10px;border:1px solid var(--border-card, rgba(23,21,15,.2));border-radius:var(--radius-md, 8px);background:#fff;color:#17150f;resize:none;overflow-y:auto}.book-cell-photo{position:absolute;overflow:hidden}.book-cell-photo img{width:100%;height:100%;object-fit:cover;display:block}.book-page-size-thumb .book-cell{cursor:default}.book-cover-text{position:absolute;display:flex;flex-direction:column;gap:2px;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.6);padding:6% 5% 5%;background:linear-gradient(to top,#0000008c,#0000);pointer-events:none}.book-cover-text strong{font-size:2.2em;line-height:1.1;font-weight:700}.book-cover-text span{font-size:1em;opacity:.9}.book-page-size-thumb .book-cover-text{font-size:4px}.book-page-size-large .book-cover-text{font-size:clamp(10px,2.4vmin,22px)}.book-cover-text-top{background:linear-gradient(to bottom,#0000008c,#0000)}.book-cover-text-center{background:linear-gradient(#0000,#00000080,#0000)}.book-title-page{position:absolute;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:.5em;text-align:center;align-items:center;color:#17150f}.book-title-page strong{font-size:1.8em;font-weight:700}.book-title-page span{font-size:.8em;opacity:.75}.book-page-size-thumb .book-title-page{font-size:5px}.book-page-size-large .book-title-page{font-size:clamp(11px,3vmin,26px)}.book-page-caption{position:absolute;bottom:0;text-align:center;color:#17150f;font-style:italic}.book-page-size-thumb .book-page-caption{font-size:3.5px}.book-page-size-large .book-page-caption{font-size:clamp(9px,1.6vmin,15px)}.book-empty-page-target{position:absolute;top:8%;right:8%;bottom:8%;left:8%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:2px dashed var(--border-card, rgba(23,21,15,.25));border-radius:var(--radius-md, 8px);background:#fff6;color:var(--text-muted-warm, #6b6659);font:inherit;font-size:clamp(11px,2vmin,16px);cursor:pointer}.book-back-text{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;text-align:center;gap:8px;color:#17150f;pointer-events:none}.book-back-text span{font-size:1.2em}.book-mark{font-size:.7em;opacity:.5;font-style:normal;font-family:Inter,system-ui,sans-serif}.book-page-size-thumb .book-back-text{font-size:4px}.book-page-size-large .book-back-text{font-size:clamp(10px,2vmin,18px)}.book-editor-tools{padding:10px 12px;border-top:1px solid var(--border-subtle, rgba(23,21,15,.1));display:flex;flex-direction:column;gap:8px;min-height:64px;position:relative}.book-hint{font-size:13px;color:var(--text-muted-warm, #6b6659);margin:0;padding-right:44px}.book-slot-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-right:44px}.book-slot-actions::-webkit-scrollbar{display:none}.book-slot-actions>*{flex:0 0 auto}.book-cover-fields{display:flex;flex-direction:column;gap:6px;padding-right:44px}.book-cover-fields input,.book-cover-fields select{font:inherit;padding:8px 10px;border:1px solid var(--border-card, rgba(23,21,15,.2));border-radius:var(--radius-md, 8px);background:#fff;color:#17150f}.book-cover-style-row{display:flex;gap:6px}.book-cover-style-row select{flex:1}.book-caption-field{margin-right:44px;font:inherit;font-size:13px;padding:8px 10px;border:1px solid var(--border-card, rgba(23,21,15,.2));border-radius:var(--radius-md, 8px);background:#fff;color:#17150f}.book-pool{display:flex;flex-direction:column;gap:8px}.book-pool-header{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--text-muted-warm, #6b6659)}.book-pool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px;max-height:26vh;overflow-y:auto}.book-pool-item{position:relative;display:block;padding:0;border:none;background:none;cursor:pointer}.book-pool-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px;cursor:pointer;border:1px solid var(--border-card, rgba(23,21,15,.12));display:block}.book-pool-item.is-picked img{border:2px solid var(--accent-orange)}.book-pool-tick{position:absolute;right:3px;top:3px;width:20px;height:20px;border-radius:50%;background:var(--accent-orange);color:#fff;display:grid;place-items:center}.book-pool-star{position:absolute;left:3px;bottom:3px;width:18px;height:18px;border-radius:50%;background:#17150fb8;color:#ffd54a;display:grid;place-items:center}.book-favorites-note{display:inline-flex;align-items:center;gap:4px;margin-top:2px;color:var(--accent-orange);font-weight:600}.book-photo-sheet-confirm{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 0 6px}.book-free-tools{flex-direction:column;align-items:stretch;gap:8px}.book-shape-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.book-shape-row::-webkit-scrollbar{display:none}.book-shape-row>*{flex:0 0 auto}.book-shape-row select{color:#17150f;background:#fff;border:1px solid var(--border-card, rgba(23,21,15,.12));border-radius:8px;padding:6px 8px;font:inherit;font-size:12px}.book-shape-slider{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--text-muted-warm, #6b6659)}.book-shape-slider input{width:92px}.link-btn{border:none;background:none;padding:0;font:inherit;color:var(--accent-orange);text-decoration:underline;cursor:pointer}.book-density{display:flex;background:var(--paper-2, #f5f2ea);border:1px solid var(--border-card, rgba(23,21,15,.12));border-radius:10px;padding:3px;gap:2px;flex-shrink:0}.book-density button{border:none;background:transparent;font:inherit;font-weight:600;font-size:12px;padding:6px 8px;border-radius:7px;color:var(--text-muted-warm, #6b6659);cursor:pointer}.book-density button.is-active{background:#fff;color:#17150f;box-shadow:0 1px 2px #17150f1f}.book-page-menu-anchor{position:absolute;top:8px;right:10px;z-index:3}.book-page-menu{position:absolute;bottom:calc(100% + 6px);right:0;z-index:5;display:flex;flex-direction:column;background:#fff;border:1px solid var(--border-card, rgba(23,21,15,.15));border-radius:var(--radius-md, 8px);box-shadow:0 8px 24px #0000002e;min-width:200px;overflow:hidden;padding:4px}.book-page-menu button{display:flex;align-items:center;gap:8px;padding:9px 10px;border:none;background:none;font:inherit;font-size:13px;text-align:left;color:#17150f;cursor:pointer;border-radius:6px;white-space:nowrap}.book-page-menu button:hover:not(:disabled){background:var(--paper-2, #f5f2ea)}.book-page-menu button:disabled{opacity:.35;cursor:default}.book-page-menu button.is-danger{color:#c0392b}.book-photo-sheet{display:flex;flex-direction:column;gap:8px}.book-photo-sheet-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.book-photo-sheet-tabs{display:flex;flex-wrap:wrap;gap:4px}.book-photo-sheet-tabs button{display:flex;align-items:center;gap:5px;white-space:nowrap;font:inherit;font-size:12px;font-weight:600;padding:6px 10px;border:1px solid var(--border-card, rgba(23,21,15,.15));border-radius:999px;background:#fff;color:var(--text-muted-warm, #6b6659);cursor:pointer}.book-photo-sheet-tabs button.is-active{background:var(--accent-orange);border-color:var(--accent-orange);color:#fff}.book-strip{display:flex;gap:8px;overflow-x:auto;padding:8px 12px;border-top:1px solid var(--border-subtle, rgba(23,21,15,.1));flex-shrink:0;scroll-snap-type:x proximity}.book-strip-item{flex:0 0 auto;width:44px;background:none;border:none;padding:2px;display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;color:inherit;scroll-snap-align:center}.book-strip-item .book-page{width:40px;border-width:1px}.book-strip-item span{font-size:9px;color:var(--text-muted-warm, #6b6659)}.book-strip-item.is-current .book-page{outline:2px solid var(--accent-orange)}.book-editor-footer{padding:8px 12px 10px}.book-editor-footer .btn-primary{width:100%}.book-formats{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;padding:2px 0 8px}.book-format-chip{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 6px;background:var(--paper-2, #f5f2ea);border:1px solid var(--border-card, rgba(23,21,15,.12));border-radius:10px;font:inherit;color:inherit;cursor:pointer}.book-format-chip strong{font-size:12px}.book-format-chip>span:last-child{font-size:11px;color:var(--text-muted-warm, #6b6659)}.book-format-shape{display:block;height:30px;background:#fff;border:1px solid rgba(23,21,15,.3);border-radius:2px}.book-format-chip.is-active{border-color:var(--accent-orange);box-shadow:inset 0 0 0 1px var(--accent-orange)}.book-picker{display:flex;flex-direction:column;gap:10px}.book-bindings{display:flex;background:var(--paper-2, #f5f2ea);border:1px solid var(--border-card, rgba(23,21,15,.12));border-radius:10px;padding:3px}.book-binding{flex:1;border:none;background:transparent;font:inherit;font-weight:600;font-size:13px;padding:8px 6px;border-radius:8px;color:var(--text-muted-warm, #6b6659);cursor:pointer}.book-binding.is-active{background:#fff;color:inherit;box-shadow:0 1px 2px #17150f1f}.book-formats{padding-bottom:4px}.book-format-chip{padding:10px 6px 8px;gap:4px}.book-format-shape{height:34px;box-shadow:0 1px 2px #00000026}.book-format-chip.is-active .book-format-shape{border-color:var(--accent-orange)}.book-picker-note{margin:0;font-size:12px;line-height:1.4;color:var(--text-muted-warm, #6b6659)}.book-summary{align-items:center;padding:10px 12px;background:var(--paper-2, #f5f2ea);border-radius:12px}.book-summary>div{flex:1;min-width:0}.book-summary-change{padding:6px 10px;font-size:12px;flex-shrink:0}.book-actions{margin-top:12px}.book-actions .btn-secondary{flex:1;justify-content:center}.book-page-cover{width:56%;margin:4px 0 8px}.book-picker{margin-bottom:18px}.order-body{display:flex;flex-direction:column;gap:12px}.order-line{display:flex;justify-content:space-between;gap:12px;font-size:14px}.order-field{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--text-muted-warm, #6b6659)}.order-field select{font:inherit;padding:9px 10px;border:1px solid var(--border-card, rgba(23,21,15,.2));border-radius:var(--radius-md, 8px);background:#fff;color:var(--ink, #17150f)}.order-price{display:flex;flex-direction:column;gap:6px;padding:10px 12px;background:var(--paper-2, #f5f2ea);border-radius:12px;font-size:14px}.order-price>div{display:flex;justify-content:space-between}.order-total{font-weight:700;border-top:1px solid var(--border-card, rgba(23,21,15,.12));padding-top:6px;margin-top:2px}.order-error{color:#b42318;font-size:13px;display:flex;gap:6px;align-items:center;margin:0}.spin{animation:order-spin 1s linear infinite;vertical-align:-2px}@keyframes order-spin{to{transform:rotate(360deg)}}
