@font-face{font-family:Geist;src:url(./Geist-Latin-BNK-hTUD.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{--font-ui:"Geist", "Microsoft YaHei UI", "PingFang SC", sans-serif;--accent:#b154f9;--accent-strong:#8e3dc2;--accent-hover:#9940df;--accent-wash:#f5ebfe;--ink:#19171d;--muted:#706b78;--blue:var(--accent-strong);--blue-hover:var(--accent-hover);--mint:#cfa7ed;--line:#e9e5ed;--ice:var(--accent-wash);--paper:#fff;--surface:#f6f4f8;--s0:0px;--s2:2px;--s4:4px;--s8:8px;--s12:12px;--s16:16px;--s24:24px;--s32:32px;--s40:40px;--s48:48px;--s64:64px;--s80:80px;--s96:96px;--r4:4px;--r6:6px;--r8:8px;--r12:12px;--r16:16px;--r24:24px;--pill:9999px;--motion:cubic-bezier(.22, 1, .36, 1);--heading-1:600 60px/60px var(--font-ui);--heading-2:600 48px/48px var(--font-ui);--heading-3:600 36px/40px var(--font-ui);--heading-4:600 30px/36px var(--font-ui);--heading-5:600 24px/32px var(--font-ui);--heading-6:600 20px/28px var(--font-ui);--title-1:500 20px/28px var(--font-ui);--title-2:500 18px/28px var(--font-ui);--title-3:500 16px/24px var(--font-ui);--title-4:500 14px/20px var(--font-ui);--title-5:500 12px/16px var(--font-ui);--body-1:600 16px/24px var(--font-ui);--body-2:500 16px/24px var(--font-ui);--body-3:400 16px/24px var(--font-ui);--body-4:600 14px/20px var(--font-ui);--body-5:500 14px/20px var(--font-ui);--body-6:400 14px/20px var(--font-ui);--button-lg:600 18px/28px var(--font-ui);--button-md:600 16px/24px var(--font-ui);--button-sm:600 14px/20px var(--font-ui);--button-xsm:600 12px/16px var(--font-ui);--caption-1:500 14px/20px var(--font-ui);--caption-2:400 14px/20px var(--font-ui);--caption-3:600 12px/16px var(--font-ui);--caption-4:500 12px/16px var(--font-ui);--caption-5:400 12px/16px var(--font-ui);font-family:var(--font-ui);color:var(--ink);background:var(--paper);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}.heading-1{font:var(--heading-1)}.heading-2{font:var(--heading-2)}.heading-3{font:var(--heading-3)}.heading-4{font:var(--heading-4)}.heading-5{font:var(--heading-5)}.heading-6{font:var(--heading-6)}.title-1{font:var(--title-1)}.title-2{font:var(--title-2)}.title-3{font:var(--title-3)}.title-4{font:var(--title-4)}.title-5{font:var(--title-5)}.body-1{font:var(--body-1)}.body-2{font:var(--body-2)}.body-3{font:var(--body-3)}.body-4{font:var(--body-4)}.body-5{font:var(--body-5)}.body-6{font:var(--body-6)}.button-lg{font:var(--button-lg)}.button-md{font:var(--button-md)}.button-sm{font:var(--button-sm)}.button-xsm{font:var(--button-xsm)}.caption-1{font:var(--caption-1)}.caption-2{font:var(--caption-2)}.caption-3{font:var(--caption-3)}.caption-4{font:var(--caption-4)}.caption-5{font:var(--caption-5)}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0}body{font:var(--body-6)}button,input,select,textarea{font:inherit}button{color:inherit;cursor:pointer;background:0 0;border:0}button,select,summary{-webkit-user-select:none;user-select:none}button,a,input,select,summary{-webkit-tap-highlight-color:transparent;outline-offset:var(--s4)}button,a{touch-action:manipulation}button svg,.button svg{flex-shrink:0}button,.button,summary{transition:transform .5s var(--motion), color .3s var(--motion), background-color .3s var(--motion), border-color .3s var(--motion), opacity .3s var(--motion)}button:active:not(:disabled),.button:active,summary:active{transform:scale(.98)}button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:.45}:focus-visible{outline:2px solid var(--blue)}a{color:var(--blue);text-underline-offset:var(--s4)}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}::selection{color:var(--ink);background:#ead4fb}.skip-link{z-index:40;top:var(--s12);left:var(--s24);padding:var(--s12) var(--s16);border:1px solid var(--line);border-radius:var(--r8);color:var(--blue);background:var(--paper);font:var(--button-sm);transition:transform .5s var(--motion);position:fixed;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.app-shell{background:var(--paper);grid-template-rows:96px minmax(0,1fr);width:100%;height:100dvh;min-height:480px;display:grid;overflow:hidden}.topbar{justify-content:space-between;align-items:center;gap:var(--s24);min-width:0;padding:0 var(--s32);display:flex}.brand{align-items:center;gap:var(--s12);min-width:0;display:flex}.brand-mark{width:var(--s40);height:var(--s40);border-radius:var(--r12);color:var(--paper);background:var(--accent);flex-shrink:0;place-items:center;display:grid}.brand-copy{gap:var(--s2);flex-direction:column;min-width:0;display:flex}.brand-title{font:var(--title-2);letter-spacing:-.03em;white-space:nowrap;margin:0}.brand-title>span{font-weight:500}.brand-subtitle{color:var(--muted);font:var(--caption-2)}.top-actions{align-items:center;gap:var(--s16);flex-shrink:0;display:flex}.save-state{align-items:center;gap:var(--s8);color:var(--muted);font:var(--caption-5);display:inline-flex}.save-dot{width:var(--s8);height:var(--s8);border-radius:var(--pill);background:var(--mint);border:1px solid #b154f9;flex-shrink:0;display:inline-block;box-shadow:0 0 0 4px #b154f914}.save-dot.is-unsaved{box-shadow:none;background:#ddd6e5;border-color:#b9adbf}.utility-menu{z-index:30;position:relative}.utility-menu>summary{width:var(--s40);height:var(--s40);border:1px solid var(--line);border-radius:var(--r12);color:var(--muted);background:var(--paper);cursor:pointer;place-items:center;list-style:none;display:grid}.utility-menu>summary::-webkit-details-marker{display:none}.utility-menu>summary:hover,.utility-menu[open]>summary{color:var(--blue);background:var(--surface);border-color:#d9c4e9}.utility-menu-panel{top:calc(100% + var(--s8));width:192px;padding:var(--s8);border:1px solid var(--line);border-radius:var(--r16);background:var(--paper);position:absolute;right:0;box-shadow:0 8px 32px #52266f14}.utility-menu-panel>button{align-items:center;gap:var(--s12);width:100%;min-height:var(--s40);padding:var(--s8) var(--s12);border-radius:var(--r8);color:var(--muted);font:var(--button-sm);text-align:left;display:flex}.utility-menu-panel>button:hover:not(:disabled){color:var(--blue);background:var(--ice)}.workspace{gap:var(--s32);min-width:0;height:100%;min-height:0;padding:0 var(--s32) var(--s32);grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(304px,336px) minmax(0,1fr);display:grid;overflow:hidden}.morph-nav{align-items:center;gap:var(--s12);flex-direction:column;width:100%;min-width:0;height:100%;min-height:0;display:flex;position:relative;overflow:visible}.morph-shell{max-width:100%;color:var(--ink);background:0 0;flex-shrink:0;position:relative;overflow:visible}.morph-surface{z-index:0;border:1px solid var(--line);border-radius:var(--r16);background:var(--paper);pointer-events:none;position:absolute;inset:0;box-shadow:0 16px 48px #29153b06}.morph-nav-bar{z-index:2;align-items:center;gap:var(--s4);width:100%;height:56px;padding:var(--s8);display:flex;position:relative}.morph-active-pill{z-index:0;top:var(--s8);width:100px;height:var(--s40);border-radius:var(--pill);background:var(--blue);pointer-events:none;position:absolute;left:0}.morph-trigger{z-index:1;justify-content:center;align-items:center;gap:var(--s8);min-width:0;height:var(--s40);padding:var(--s8);border-radius:var(--pill);color:var(--muted);font:var(--button-sm);white-space:nowrap;flex:1;display:inline-flex;position:relative}.morph-trigger:hover:not(.is-active):not(:disabled){color:var(--blue);background:var(--ice)}.morph-trigger.is-active{color:var(--paper)}.morph-open-button{width:var(--s32);height:var(--s40);border-radius:var(--pill);color:var(--muted);flex-shrink:0;place-items:center;display:grid;position:relative}.morph-open-button:hover:not(:disabled){color:var(--blue);background:var(--ice)}.morph-toggle-icon{transition:transform .5s var(--motion), opacity .3s var(--motion);place-items:center;display:grid;position:absolute;inset:0}.morph-open-button[aria-expanded=true] .is-close,.morph-open-button[aria-expanded=false] .is-expand{opacity:1;transform:rotate(0)}.morph-open-button[aria-expanded=false] .is-close{opacity:0;transform:rotate(-90deg)}.morph-open-button[aria-expanded=true] .is-expand{opacity:0;transform:rotate(90deg)}.nav-busy-dot{width:var(--s4);height:var(--s4);border-radius:var(--pill);background:var(--mint);flex-shrink:0}.morph-body{z-index:1;border-radius:0 0 var(--r16) var(--r16);background:var(--surface);position:absolute;inset:56px 0 0;overflow:hidden}.morph-body[aria-hidden=true]{visibility:hidden}.morph-panel-current{scrollbar-width:thin;scrollbar-color:#d6cedf transparent;overscroll-behavior:contain;width:100%;height:100%;position:relative;overflow:hidden auto}.morph-panel-current::-webkit-scrollbar{width:var(--s4)}.morph-panel-current::-webkit-scrollbar-thumb{border-radius:var(--pill);background:#d6cedf}.morph-panel-measure{width:100%;display:flow-root}.morph-panel-exit{z-index:3;border-radius:0 0 var(--r16) var(--r16);pointer-events:none;position:absolute;left:0;overflow:hidden}.inspector-fields{border:0;width:100%;min-width:0;margin:0;padding:0;display:block}.inspector-fields:disabled{opacity:.6}.inspector-fields:disabled label{cursor:not-allowed}.inspector-top{padding:var(--s16) var(--s24) 0}.compact-mode>.toggle-row{margin:0}.panel-section{padding:var(--s24)}.inspector-cards{gap:var(--s8);padding:var(--s12);grid-template-columns:minmax(0,1fr);display:grid}.setting-card{min-width:0;padding:var(--s12);border:1px solid var(--line);border-radius:var(--r12);background:var(--paper)}.setting-card .panel-section{padding:0}.setting-card .section-heading{margin-bottom:var(--s8)}.setting-card .toggle-row{min-height:var(--s32);margin:0}.setting-card .range-field,.setting-card .color-row{margin:0}.setting-card .panel-person-picker{padding:0}.setting-card-people .person-tabs{margin:0}.setting-card .advanced-grid{gap:var(--s8);grid-template-columns:minmax(0,1fr)}.setting-card-audio .audio-attach{min-height:var(--s40);border:0;margin:0;padding:0}.section-heading{align-items:center;gap:var(--s8);margin:0 0 var(--s16);color:var(--ink);font:var(--body-1);display:flex}.section-heading>svg{color:var(--blue)}.field{gap:var(--s8);flex-direction:column;min-width:0;margin:0;display:flex}.field-label{color:var(--muted);font:var(--caption-1)}.name-input,.field select{width:100%;min-width:0;min-height:var(--s48);padding:var(--s8) var(--s12);border:1px solid var(--line);border-radius:var(--r8);outline-offset:var(--s4);color:var(--ink);background:var(--paper);font:var(--title-3);display:block}.name-input:focus-visible,.field select:focus-visible{border-color:var(--blue);outline:2px solid var(--blue)}.name-input::placeholder{color:var(--muted);font:var(--body-6)}.name-input[aria-invalid=true]{background:#fff6f8;border-color:#aa6276}.field-error{margin:var(--s8) 0 0;color:#8c3d56}.basic-signature-controls{gap:var(--s16);margin-top:var(--s24);flex-direction:column;display:flex}.person-tabs{gap:var(--s8);margin-top:var(--s16);display:flex}.person-tab{justify-content:center;align-items:center;gap:var(--s4);min-width:0;min-height:var(--s48);padding:var(--s8);border:1px solid var(--line);border-radius:var(--r8);color:var(--muted);background:var(--paper);font:var(--button-xsm);flex:1;display:inline-flex}.person-tab:hover:not(:disabled){color:var(--blue);border-color:#d9c4e9}.person-tab.active,.person-tab[aria-pressed=true]{color:var(--blue);background:var(--ice);border-color:#cba5e5}.person-dot{width:var(--s8);height:var(--s8);border:1px solid var(--line);border-radius:var(--pill);flex-shrink:0;display:inline-block}.mini-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;font:var(--caption-4);overflow:hidden}.panel-person-picker{padding:0 var(--s24)}.panel-person-picker .person-tabs{margin-top:var(--s16)}.hint{margin:var(--s8) 0 0;color:var(--muted);font:var(--caption-5)}.range-field{min-width:0;margin:0 0 var(--s16);display:block}.range-field:last-child,.basic-signature-controls .range-field{margin-bottom:0}.range-title{cursor:pointer;min-width:0}.range-value-box{justify-content:flex-end;align-items:center;gap:var(--s4);min-height:var(--s24);padding:0 var(--s4);border:1px solid var(--line);border-radius:var(--r6);background:#faf7fd;flex-shrink:0;display:inline-flex}.range-value-box:focus-within{box-shadow:0 0 0 2px var(--accent-wash);border-color:#bd89e3}.range-value-input{width:var(--s48);border-radius:var(--r4);min-width:0;height:20px;color:var(--ink);font:var(--caption-4);font-variant-numeric:tabular-nums;text-align:right;background:0 0;border:0;outline:none;margin:0;padding:0}.range-value-input:focus-visible{outline:none}.range-value-suffix{color:var(--muted);font:var(--caption-5)}.range-value-box:has(input:disabled){background:var(--surface)}.range-header{justify-content:space-between;align-items:center;gap:var(--s12);margin-bottom:var(--s4);color:var(--muted);font:var(--caption-1);display:flex}.range-header output{color:var(--blue);font:var(--caption-4);font-variant-numeric:tabular-nums;flex-shrink:0}.range-control,.timeline-control{width:100%;height:var(--s32);min-width:0;display:block;position:relative}.range-rail{height:var(--s8);border-radius:var(--pill);pointer-events:none;background:#eee4f6;position:absolute;top:50%;left:6px;right:6px;overflow:hidden;transform:translateY(-50%)}.range-fill{border-radius:inherit;width:100%;height:100%;transform:scaleX(clamp(0, var(--range-progress,0), 1));transform-origin:0;background:#b154f9;display:block}.range-control input[type=range],.timeline{z-index:1;width:100%;height:var(--s32);appearance:none;border-radius:var(--r6);color:var(--blue);cursor:ew-resize;touch-action:pan-y;background:0 0;border:0;margin:0;padding:0;display:block;position:relative}.range-control input[type=range]::-webkit-slider-runnable-track{height:var(--s12);background:0 0;border:0}.timeline::-webkit-slider-runnable-track{height:var(--s12);background:0 0;border:0}.range-control input[type=range]::-webkit-slider-thumb{box-sizing:border-box;width:var(--s12);height:20px;margin-top:calc(-1 * var(--s4));appearance:none;border-radius:var(--pill);background:var(--paper);transition:transform .5s var(--motion), border-color .3s var(--motion);border:1px solid #b58bd2;box-shadow:0 2px 4px #6f3a8f24}.timeline::-webkit-slider-thumb{box-sizing:border-box;width:var(--s12);height:20px;margin-top:calc(-1 * var(--s4));appearance:none;border-radius:var(--pill);background:var(--paper);transition:transform .5s var(--motion), border-color .3s var(--motion);border:1px solid #b58bd2;box-shadow:0 2px 4px #6f3a8f24}.range-control input[type=range]::-moz-range-track{height:var(--s8);background:0 0;border:0}.timeline::-moz-range-track{height:var(--s8);background:0 0;border:0}.range-control input[type=range]::-moz-range-progress{background:0 0}.timeline::-moz-range-progress{background:0 0}.range-control input[type=range]::-moz-range-thumb{box-sizing:border-box;width:var(--s12);border-radius:var(--pill);background:var(--paper);height:20px;transition:transform .5s var(--motion), border-color .3s var(--motion);border:1px solid #b58bd2;box-shadow:0 2px 4px #6f3a8f24}.timeline::-moz-range-thumb{box-sizing:border-box;width:var(--s12);border-radius:var(--pill);background:var(--paper);height:20px;transition:transform .5s var(--motion), border-color .3s var(--motion);border:1px solid #b58bd2;box-shadow:0 2px 4px #6f3a8f24}.range-control:hover input:not(:disabled)::-webkit-slider-thumb{border-color:var(--accent-strong);transform:scale(1.08)}.timeline-control:hover input:not(:disabled)::-webkit-slider-thumb{border-color:var(--accent-strong);transform:scale(1.08)}.range-control:hover input:not(:disabled)::-moz-range-thumb{border-color:var(--accent-strong);transform:scale(1.08)}.timeline-control:hover input:not(:disabled)::-moz-range-thumb{border-color:var(--accent-strong);transform:scale(1.08)}.range-control input:active:not(:disabled)::-webkit-slider-thumb{border-color:var(--accent-strong);transform:scale(.98)}.timeline:active:not(:disabled)::-webkit-slider-thumb{border-color:var(--accent-strong);transform:scale(.98)}.range-control input:active:not(:disabled)::-moz-range-thumb{border-color:var(--accent-strong);transform:scale(.98)}.timeline:active:not(:disabled)::-moz-range-thumb{border-color:var(--accent-strong);transform:scale(.98)}.range-control:focus-within .range-rail,.timeline-control:focus-within .range-rail{box-shadow:0 0 0 2px #b154f922}.range-control input:disabled::-webkit-slider-thumb{box-shadow:none;border-color:#d0c7d7}.timeline:disabled::-webkit-slider-thumb{box-shadow:none;border-color:#d0c7d7}.range-control input:disabled::-moz-range-thumb{box-shadow:none;border-color:#d0c7d7}.timeline:disabled::-moz-range-thumb{box-shadow:none;border-color:#d0c7d7}:is(.range-control:has(input:disabled),.timeline-control:has(input:disabled)){opacity:.45}.toggle-row{justify-content:space-between;align-items:center;gap:var(--s16);min-height:var(--s40);color:var(--muted);font:var(--caption-1);cursor:pointer;margin:0;display:flex}.toggle-row input[type=checkbox],input.toggle,input[role=switch]{width:var(--s40);height:var(--s24);appearance:none;border-radius:var(--pill);background:var(--line);cursor:pointer;transition:background-color .3s var(--motion), border-color .3s var(--motion);border:1px solid #ddd5e4;flex-shrink:0;margin:0;position:relative}.toggle-row input[type=checkbox]:after,input.toggle:after,input[role=switch]:after{width:var(--s16);height:var(--s16);border-radius:var(--pill);background:var(--paper);content:"";transition:transform .5s var(--motion);position:absolute;top:50%;left:3px;transform:translateY(-50%);box-shadow:0 2px 4px #52266f12}.toggle-row input[type=checkbox]:checked,input.toggle:checked,input[role=switch]:checked{border-color:var(--blue);background:var(--blue)}.toggle-row input[type=checkbox]:checked:after,input.toggle:checked:after,input[role=switch]:checked:after{transform:translate(16px,-50%)}.color-row{align-items:center;gap:var(--s8);min-height:var(--s48);margin-bottom:var(--s16);color:var(--muted);font:var(--caption-1);display:flex}.color-row>span:first-child{flex:1;min-width:0}.color-field>.color-row{margin-bottom:0}.color-row>label:first-child{flex:1;min-width:0}.color-hex{width:96px;min-width:0;min-height:var(--s40);padding:var(--s8);border:1px solid var(--line);border-radius:var(--r8);color:var(--ink);background:var(--surface);font:var(--caption-4);font-variant-numeric:tabular-nums;text-align:center}.color-hex[aria-invalid=true]{border-color:#aa6276}.color-row>code{min-width:64px;color:var(--muted);font:var(--caption-4);font-variant-numeric:tabular-nums;text-align:right}.color-swatch{width:var(--s32);height:var(--s32);border-radius:var(--r8);border:1px solid #ddd5e4;flex-shrink:0;display:inline-block;position:relative;overflow:hidden}.color-swatch input[type=color]{opacity:0;cursor:pointer;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.color-swatch:focus-within{outline:2px solid var(--blue);outline-offset:var(--s4)}.decoration-library-head{justify-content:space-between;align-items:center;gap:var(--s8);margin-bottom:var(--s12);display:flex}.decoration-library-head .section-heading{min-width:0;margin:0}.decoration-clear{justify-content:center;align-items:center;gap:var(--s4);min-height:var(--s32);padding:var(--s4) var(--s8);border:1px solid var(--line);border-radius:var(--r8);color:var(--muted);background:var(--paper);font:var(--button-xsm);flex-shrink:0;display:inline-flex}.decoration-clear:hover:not(:disabled){color:var(--blue);background:var(--surface);border-color:#d9c4e9}.decoration-clear[aria-pressed=true]{color:var(--blue);background:var(--accent-wash);border-color:#cba5e5}.decoration-categories{gap:var(--s4);margin-bottom:var(--s12);padding:var(--s4);border:1px solid var(--line);border-radius:var(--r12);background:var(--surface);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.decoration-category{min-width:0;min-height:var(--s32);padding:var(--s4);border-radius:var(--r8);color:var(--muted);font:var(--button-xsm);white-space:nowrap;background:0 0;border:1px solid #0000}.decoration-category:hover:not(:disabled){color:var(--blue);background:var(--accent-wash)}.decoration-category[aria-pressed=true]{color:var(--blue);background:var(--paper);border-color:#dfcbed}.decoration-grid{gap:var(--s8);grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:0;display:grid}.decoration-choice{justify-content:flex-start;align-items:center;gap:var(--s8);min-width:0;padding:var(--s8);border:1px solid var(--line);border-radius:var(--r12);color:var(--muted);background:var(--paper);font:var(--button-xsm);flex-direction:column;display:flex;position:relative;overflow:hidden}.decoration-thumbnail{width:100%;height:var(--s64);border-radius:var(--r8);object-fit:contain;pointer-events:none;flex-shrink:0;display:block}.decoration-choice>span{min-width:0;min-height:var(--s16);font:var(--caption-4);text-wrap:pretty}.decoration-choice>svg{width:var(--s24);height:var(--s24)}.decoration-choice:hover:not(:disabled){color:var(--blue);background:var(--surface);border-color:#d9c4e9;transform:translateY(-2px)}.decoration-choice.selected{color:var(--blue);background:var(--ice);border-color:#cba5e5}.decoration-choice.selected:after{top:var(--s8);right:var(--s8);width:var(--s4);height:var(--s4);border-radius:var(--pill);background:var(--blue);content:"";position:absolute}.details-group{margin-top:var(--s16)}.details-group>summary,.section-accordion>summary{justify-content:space-between;align-items:center;gap:var(--s8);padding:var(--s12) 0;color:var(--blue);font:var(--title-4);cursor:pointer;list-style:none;display:flex}.details-group>summary::-webkit-details-marker{display:none}.section-accordion>summary::-webkit-details-marker{display:none}.details-group>summary>svg,.section-accordion>summary>svg{transition:transform .5s var(--motion)}.details-group[open]>summary>svg,.section-accordion[open]>summary>svg:last-child{transform:rotate(90deg)}.details-body{padding-top:var(--s16)}.advanced-grid{gap:var(--s16);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.format-card-row{gap:var(--s8);margin-bottom:var(--s24);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.format-card{place-items:center;gap:var(--s8);min-width:0;padding:var(--s12) var(--s8);border:1px solid var(--line);border-radius:var(--r12);color:var(--muted);background:var(--paper);font:var(--caption-5);grid-template-rows:48px 20px 16px;display:grid;position:relative}.format-card strong{font:var(--button-sm)}.format-card:hover:not(:disabled){color:var(--blue);background:var(--surface);border-color:#d9c4e9;transform:translateY(-2px)}.format-card.is-selected{color:var(--blue);background:var(--ice);border-color:#cba5e5}.format-card-shape{border-radius:var(--r4);color:#82768b;background:var(--surface);border:1px solid #d6cedf;align-self:center;place-items:center;display:grid}.format-card-shape.landscape{width:var(--s48);aspect-ratio:16/9}.format-card-shape.portrait{width:var(--s24);aspect-ratio:9/16}.format-card-shape.square{width:var(--s32);aspect-ratio:1}.audio-attach{align-items:center;gap:var(--s8);width:100%;min-height:var(--s48);padding:var(--s12);border-radius:var(--r12);color:var(--blue);background:var(--surface);font:var(--title-4);cursor:pointer;transition:transform .5s var(--motion), border-color .3s var(--motion);border:1px dashed #ddd5e4;display:flex;position:relative}.audio-attach:hover{border-color:var(--blue)}.audio-attach:active{transform:scale(.98)}.audio-attach:focus-within{outline:2px solid var(--blue);outline-offset:var(--s4)}.audio-attach>span{flex:1}.audio-attach small{margin-left:var(--s8);color:var(--muted);font:var(--caption-5)}.audio-card{align-items:center;gap:var(--s8);margin-top:var(--s12);padding:var(--s12);border:1px solid var(--line);border-radius:var(--r12);background:var(--paper);grid-template-columns:minmax(0,1fr) auto;display:grid}.audio-card strong{font:var(--caption-1);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.audio-card audio{width:100%;height:var(--s40);grid-column:1/-1}.export-inline-summary{margin-top:var(--s24);color:var(--muted);font:var(--caption-5)}.export-inline-actions{padding:0 var(--s24) var(--s24)}.export-actions{gap:var(--s12);flex-wrap:wrap;display:flex}.export-actions>.button{flex:1;min-width:0}.button{justify-content:center;align-items:center;gap:var(--s8);min-height:var(--s48);padding:var(--s8) var(--s12);border-radius:var(--r12);font:var(--button-md);text-align:center;white-space:nowrap;border:1px solid #0000;text-decoration:none;display:inline-flex}.button.primary{color:var(--paper);border-color:var(--blue);background:var(--blue);box-shadow:0 4px 12px #52266f12}.button.primary:hover:not(:disabled){border-color:var(--blue-hover);background:var(--blue-hover);transform:translateY(-2px)}.button.secondary{color:var(--blue);border-color:var(--line);background:var(--surface)}.button.secondary:hover:not(:disabled){background:var(--ice);border-color:#d9c4e9}.export-progress{gap:var(--s12);margin-bottom:var(--s16);color:var(--muted);font:var(--caption-2);display:grid}.progress-track{height:var(--s4);border-radius:var(--pill);background:var(--line);position:relative;overflow:hidden}.progress-track>span{border-radius:inherit;background:var(--blue);transform-origin:0;width:100%;height:100%;transition:transform .3s var(--motion);display:block}.export-progress[data-status=checking] .progress-track:after{background:var(--blue);content:"";animation:progress-sweep 1.6s var(--motion) infinite;position:absolute;inset:0}@keyframes progress-sweep{0%{transform:translate(-100%)scaleX(.35)}to{transform:translate(100%)scaleX(.35)}}.export-result-video{width:100%;max-height:192px;margin:var(--s16) 0;border:1px solid var(--line);border-radius:var(--r12);background:#000;display:block}.file-input,.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.canvas-column{border-radius:var(--r16);background:var(--paper);border:1px solid #e1d9e8;flex-direction:column;width:100%;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden;box-shadow:0 4px 16px #29153b06}.canvas-stage{isolation:isolate;contain:size;min-width:0;min-height:144px;padding:var(--s40);border-radius:var(--r16);background:var(--surface);flex:1 1 0;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.canvas-stage:before,.canvas-stage:after{content:none;display:none}.canvas-surface{z-index:1;border-radius:var(--r8);background:#000;border:1px solid #e9e5ed66;max-width:100%;max-height:100%;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 8px 24px #25182e12}.canvas-surface canvas{touch-action:pan-y;width:100%;height:100%;display:block}.canvas-surface.is-draggable,.canvas-surface.is-draggable canvas{cursor:grab;touch-action:none}.canvas-surface.is-draggable canvas:active{cursor:grabbing}.canvas-empty{place-content:center;justify-items:center;gap:var(--s16);min-height:240px;padding:var(--s32);color:var(--muted);text-align:center;flex:1;display:grid}.canvas-empty>svg{color:var(--blue)}.canvas-empty h2,.canvas-empty p{max-width:32ch;margin:0}.canvas-empty h2{color:var(--ink)}.canvas-caption{justify-content:space-between;align-items:center;gap:var(--s12);min-height:var(--s40);padding:var(--s8) var(--s16);color:var(--muted);background:var(--paper);font:var(--caption-5);flex-shrink:0;display:flex}.canvas-tools{justify-content:flex-end;align-items:center;gap:var(--s8);flex-wrap:wrap;max-width:100%;margin-left:auto;display:flex}.complete-preview-button{justify-content:center;align-items:center;gap:var(--s8);min-height:var(--s40);padding:var(--s8) var(--s12);border:1px solid var(--line);border-radius:var(--r8);color:var(--muted);background:var(--paper);font:var(--button-xsm);white-space:nowrap;display:inline-flex}.complete-preview-button:hover:not(:disabled){color:var(--blue);background:var(--surface);border-color:#d9c4e9}.complete-preview-button[aria-pressed=true]{color:var(--blue);background:var(--ice);border-color:#cba5e5}.canvas-meta{align-items:center;gap:var(--s8);color:var(--muted);font:var(--caption-5);font-variant-numeric:tabular-nums;white-space:nowrap;display:inline-flex}.canvas-meta>span:before{margin-right:var(--s8);color:#aaa0b2;content:"·"}.free-drag{align-items:center;gap:var(--s8);min-height:var(--s40);padding:var(--s8);border-radius:var(--r8);color:var(--muted);font:var(--caption-4);cursor:pointer;border:1px solid #0000;display:inline-flex}.free-drag:hover{color:var(--blue);background:var(--surface)}.free-drag:has(input:checked){border-color:var(--line);color:var(--blue);background:var(--ice)}.free-drag input{width:var(--s16);height:var(--s16);accent-color:var(--blue);margin:0}.morph-footer{flex-shrink:0;width:100%;min-width:0}.inspector-view-tools{width:100%;min-width:0}.morph-footer .canvas-tools{justify-content:stretch;align-items:stretch;gap:var(--s8);width:100%;max-width:none;padding:var(--s12);border:1px solid var(--line);border-radius:var(--r12);background:#f8f3fc;flex-wrap:nowrap;margin:0;display:flex}.morph-footer .complete-preview-button,.morph-footer .free-drag{min-width:0;min-height:var(--s40);padding:var(--s8);flex:1 1 0;justify-content:center}.morph-footer .free-drag{background:var(--paper);white-space:nowrap;border-color:#e2d7eb}.morph-footer .free-drag:hover{background:var(--accent-wash);border-color:#d0b6e3}.morph-footer .free-drag:has(input:checked){color:var(--blue);background:var(--accent-wash);border-color:#cba5e5}.morph-footer .free-drag input{width:var(--s16);height:var(--s16);appearance:none;border-radius:var(--r4);background:var(--paper);cursor:pointer;border:1px solid #cdb6dd;flex-shrink:0;margin:0;position:relative}.morph-footer .free-drag input:after{top:var(--s2);left:var(--s4);width:var(--s4);height:var(--s8);border-right:2px solid var(--paper);border-bottom:2px solid var(--paper);opacity:0;transition:transform .5s var(--motion), opacity .3s var(--motion);content:"";position:absolute;transform:rotate(45deg)scale(.8)}.morph-footer .free-drag input:checked{border-color:var(--accent-strong);background:var(--accent-strong)}.morph-footer .free-drag input:checked:after{opacity:1;transform:rotate(45deg)scale(1)}.morph-footer .free-drag:has(input:focus-visible){outline:2px solid var(--blue);outline-offset:var(--s2)}.morph-footer .free-drag input:focus-visible{outline:none}.morph-footer .free-drag:has(input:disabled){cursor:not-allowed;opacity:.6}.playbar{align-items:center;gap:var(--s12);min-height:var(--s64);padding:var(--s12) var(--s24);border-top:1px solid var(--line);background:#faf8fc;flex-shrink:0;display:flex}.play-actions{flex-shrink:0;align-items:center;display:inline-flex}.play-button{width:var(--s40);height:var(--s40);padding:var(--s8);border-radius:var(--pill);color:var(--blue);background:var(--ice);border:1px solid #e0d5e8;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.play-button:hover:not(:disabled){background:#f0e1fc;border-color:#cba5e5;transform:translateY(-2px)}.icon-button{width:var(--s32);height:var(--s32);padding:var(--s8);border-radius:var(--r8);color:var(--muted);border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover:not(:disabled){color:var(--blue);border-color:var(--line);background:var(--ice)}.playbar .timeline-control{min-width:var(--s48);flex:1}.time-label{min-width:var(--s32);color:var(--muted);font:var(--caption-4);font-variant-numeric:tabular-nums;text-align:center;flex-shrink:0}.shortcut{color:var(--muted);font:var(--caption-5);white-space:nowrap}.canvas-help{padding:0 var(--s24) var(--s16);color:var(--muted);background:var(--paper);font:var(--caption-5);flex-shrink:0;margin:0}.notice{justify-content:space-between;align-items:flex-start;gap:var(--s12);margin:var(--s12) 0;padding:var(--s12);border:1px solid var(--line);border-radius:var(--r12);color:var(--muted);background:var(--surface);font:var(--caption-2);display:flex}.notice>span,.notice>div{overflow-wrap:anywhere;min-width:0}.notice>span:first-child{flex:1}.notice>button:not(.notice-close){min-height:var(--s24);color:var(--blue);font:var(--button-xsm);white-space:nowrap;text-underline-offset:var(--s4);text-decoration:underline}.notice.error{color:#8c3d56;background:#fff6f8;border-color:#edcbd4}.notice.warning{border-color:var(--line);background:var(--surface)}.notice-close{width:var(--s24);height:var(--s24);color:currentColor;opacity:.7;flex-shrink:0;place-items:center;display:grid}.notice-close:hover{opacity:1}.canvas-column>.notice{margin:var(--s16) var(--s16) 0}.export-inline-actions .notice{margin:0 0 var(--s16)}.button.primary:active:not(:disabled),.button.secondary:active:not(:disabled),.decoration-choice:active:not(:disabled),.format-card:active:not(:disabled),.play-button:active:not(:disabled){transform:translateY(1px)scale(.98)}@media (min-width:1500px){.workspace{gap:var(--s40);grid-template-columns:344px minmax(0,1fr)}.canvas-stage{padding:var(--s48)}}@media (max-width:1100px) and (min-width:761px){.workspace{gap:var(--s16);padding-right:var(--s16);padding-left:var(--s16);grid-template-columns:320px minmax(0,1fr)}.topbar{padding-right:var(--s16);padding-left:var(--s16)}.canvas-stage{padding:var(--s24)}.canvas-caption,.playbar,.canvas-help{padding-right:var(--s16);padding-left:var(--s16)}.shortcut{display:none}}@media (max-width:760px){html,body,#root{height:auto;min-height:100%}.app-shell{flex-direction:column;height:auto;min-height:100dvh;display:flex;overflow:visible}.topbar{min-height:var(--s80);gap:var(--s16);padding:var(--s16)}.top-actions{gap:var(--s12)}.save-state-label{display:none}.workspace{gap:var(--s16);height:auto;padding:0 var(--s16) var(--s24);flex-direction:column;display:flex;overflow:visible}.canvas-column{order:-1;width:100%;height:clamp(432px,72dvh,640px);min-height:432px}.canvas-stage{min-height:144px;padding:var(--s16)}.canvas-stage:before,.canvas-stage:after{display:none}.canvas-surface{border-radius:var(--r6)}.canvas-caption{gap:var(--s8);padding:var(--s8) var(--s12)}.canvas-tools{gap:var(--s8)}.complete-preview-button,.free-drag{min-height:var(--s40)}.playbar{gap:var(--s8);padding:var(--s12)}.canvas-help{padding:0 var(--s12) var(--s16)}.shortcut{display:none}.morph-nav{width:100%;height:auto;min-height:0;overflow:visible}.morph-shell{max-width:100%}.name-input,.name-input::placeholder{font:var(--title-3)}.toggle-row{min-height:var(--s48)}.range-control,.range-control input[type=range]{height:var(--s40)}.canvas-column>.notice{margin:var(--s12) var(--s12) 0}}@media (max-width:380px){.topbar,.workspace{padding-right:var(--s12);padding-left:var(--s12)}.panel-section,.inspector-top,.panel-person-picker,.export-inline-actions{padding-right:var(--s16);padding-left:var(--s16)}}@media (max-height:650px) and (min-width:761px){.app-shell{grid-template-rows:64px minmax(0,1fr);min-height:432px}.workspace{padding-bottom:var(--s16)}.canvas-stage{padding:var(--s16)}.playbar{min-height:56px;padding:var(--s8) var(--s16)}.canvas-help{padding:0 var(--s16) var(--s12)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}button,.button,summary,.audio-attach{transform:none!important}.export-progress[data-status=checking] .progress-track:after{transform-origin:0;transform:scaleX(.35)}}
