@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.12tyk43_3sh9u.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.0jzbimsg8vl84.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.0-wfv7uh4i7h9.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0nx0ww8fni_q3.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.09~u27dqhyhd6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.0zgw-jeven.3w.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.0wkzw~je483f-.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.0rhz0arwfsn~5.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.0l76wvqk9d84w.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.0k4k9394f2q-k.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.08e28id.o-okb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.grid{display:grid}.border{border-style:var(--tw-border-style);border-width:1px}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--paper:#e9e7df;--paper-light:#f7f5ee;--ink:#10110f;--muted:#6d6d66;--line:#b8b6ae;--signal:#e14a2b;--acid:#d9ff43;--panel-width:376px}*{box-sizing:border-box}html{background:var(--paper)}body{background:linear-gradient(#10110f09 1px, transparent 1px), linear-gradient(90deg, #10110f09 1px, transparent 1px), var(--paper);min-width:1180px;color:var(--ink);font-family:var(--font-geist-sans), "PingFang SC", "Microsoft YaHei", sans-serif;-webkit-font-smoothing:antialiased;background-size:24px 24px;margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--signal);outline-offset:3px}.studio-shell{min-height:100vh}.topbar{z-index:20;background:var(--ink);height:76px;color:var(--paper-light);border-bottom:1px solid #292a27;justify-content:space-between;align-items:center;padding:0 32px;display:flex;position:sticky;top:0}.brand-lockup,.topbar-meta,.source-card>div,.export-complete{align-items:center;display:flex}.brand-lockup{gap:14px}.back-to-effects{color:#aaa99f;font-family:var(--font-geist-mono), monospace;letter-spacing:.05em;align-items:center;gap:7px;font-size:9px;text-decoration:none;transition:color .14s;display:flex}.back-to-effects:hover{color:var(--paper-light)}.brand-divider{background:#3f403c;width:1px;height:30px}.topbar.is-tile-mode .privacy-dot{background:#ff5ca8;box-shadow:0 0 12px #ff5ca880}.brand-mark{width:42px;height:42px;font-family:var(--font-geist-mono), monospace;letter-spacing:-.05em;border:1px solid #f7f5eea6;border-radius:50%;place-items:center;font-size:12px;font-weight:700;display:grid}.brand-name,.brand-subtitle,.empty-kicker,.empty-copy,.drop-copy,.export-note,.source-card p,.preset-card span,.export-complete span,.export-error{margin:0}.brand-name{font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;font-size:13px;font-weight:700}.brand-subtitle{color:#a7a79e;margin-top:3px;font-size:11px}.topbar-meta{color:#aaa99f;font-family:var(--font-geist-mono), monospace;letter-spacing:.06em;gap:13px;font-size:10px}.privacy-dot{background:var(--acid);border-radius:50%;width:6px;height:6px;box-shadow:0 0 12px #d9ff4380}.header-import{color:var(--paper-light);cursor:pointer;background:0 0;border:1px solid #4c4d48;margin-left:10px;padding:9px 13px;font-size:11px}.header-import:hover{border-color:var(--paper-light)}.workspace{grid-template-columns:minmax(720px, 1fr) var(--panel-width);gap:28px;width:min(1500px,100% - 64px);min-height:calc(100vh - 76px);margin:0 auto;padding:28px 0 38px;display:grid}.stage-column{flex-direction:column;min-width:0;display:flex}.stage-label-row{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:flex-end;min-height:57px;padding-bottom:14px;display:flex}.eyebrow{color:var(--muted);font-family:var(--font-geist-mono), monospace;letter-spacing:.15em;margin-bottom:6px;font-size:9px;font-weight:650;display:block}.stage-label-row h1,.panel-heading h2,.empty-state h2{letter-spacing:-.04em;margin:0}.stage-label-row h1{font-size:23px;font-weight:620}.frame-spec{font-family:var(--font-geist-mono), monospace;align-items:baseline;gap:10px;display:flex}.frame-spec strong{font-size:14px}.frame-spec span{color:var(--muted);font-size:10px}.preview-frame{border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-left:1px solid var(--line);background:radial-gradient(circle,#ffffffb3,#0000 65%),#ffffff3d;flex:1;place-items:center;min-height:720px;display:grid;position:relative;overflow:hidden}.preview-frame:before,.preview-frame:after{z-index:0;content:"";pointer-events:none;position:absolute}.preview-frame:before{border:1px solid #10110f14;inset:18px}.preview-frame:after{background:#10110f0f;width:1px;top:18px;bottom:18px;left:50%}.preview-canvas{z-index:2;aspect-ratio:9/16;background:var(--paper-light);cursor:grab;touch-action:none;border:1px solid #10110fa6;width:auto;height:min(67vh,720px);max-height:calc(100vh - 245px);display:none;position:relative;box-shadow:0 18px 60px #10110f2b}.preview-canvas.is-visible{display:block}.preview-frame.is-dragging .preview-canvas{cursor:grabbing}.empty-state{z-index:3;text-align:center;flex-direction:column;align-items:center;width:min(520px,72%);display:flex;position:relative}.halftone-orbit{border:1px solid #10110f33;border-radius:50%;width:138px;height:138px;margin-bottom:27px;position:relative}.halftone-orbit:before,.halftone-orbit:after{content:"";border-radius:50%;position:absolute}.halftone-orbit:before{border:1px dashed #10110f61;inset:21px}.halftone-orbit:after{background:var(--ink);inset:51px}.halftone-orbit span{background:var(--ink);border-radius:50%;position:absolute}.halftone-orbit span:first-child{width:13px;height:13px;top:7px;left:62px}.halftone-orbit span:nth-child(2){width:9px;height:9px;top:34px;right:10px}.halftone-orbit span:nth-child(3){width:6px;height:6px;bottom:19px;right:23px}.halftone-orbit span:nth-child(4){width:4px;height:4px;bottom:9px;left:46px}.halftone-orbit span:nth-child(5){width:2px;height:2px;top:43px;left:8px}.empty-kicker{color:var(--muted);font-family:var(--font-geist-mono), monospace;letter-spacing:.16em;font-size:9px;font-weight:650}.empty-state h2{margin-top:11px;font-size:clamp(30px,3vw,45px);font-weight:620}.empty-copy{max-width:400px;color:var(--muted);margin-top:15px;font-size:13px;line-height:1.7}.primary-import{border:1px solid var(--ink);background:var(--ink);width:260px;color:var(--paper-light);cursor:pointer;justify-content:space-between;align-items:center;margin-top:28px;padding:16px 18px;transition:background .16s,color .16s;display:flex}.primary-import:hover{background:var(--signal);border-color:var(--signal)}.drop-copy{color:#85857c;font-family:var(--font-geist-mono), monospace;margin-top:10px;font-size:9px}.drop-overlay{z-index:10;border:1px solid var(--ink);letter-spacing:-.03em;background:#d9ff43f0;place-items:center;font-size:20px;display:grid;position:absolute;inset:12px}.crop-hint{z-index:5;color:var(--paper-light);font-family:var(--font-geist-mono), monospace;opacity:0;pointer-events:none;background:#10110fd6;padding:7px 10px;font-size:9px;transition:opacity .16s;position:absolute;bottom:15px;left:50%;transform:translate(-50%)}.preview-frame:hover .crop-hint{opacity:1}.transport{border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-left:1px solid var(--line);background:#f7f5ee8f;grid-template-columns:38px 46px minmax(160px,1fr) 46px auto;align-items:center;gap:12px;min-height:58px;padding:0 12px;display:grid}.play-button{border:1px solid var(--ink);background:var(--ink);width:34px;height:34px;color:var(--paper-light);cursor:pointer;font-family:var(--font-geist-mono), monospace;border-radius:50%;place-items:center;font-size:10px;display:grid}.timecode{font-family:var(--font-geist-mono), monospace;font-size:10px}.timeline,.range-control input{appearance:none;background:linear-gradient(to right, var(--ink) 0 var(--timeline-progress,var(--range-progress,0%)), var(--line) var(--timeline-progress,var(--range-progress,0%)) 100%);cursor:pointer;height:3px;margin:0}.timeline::-webkit-slider-thumb{appearance:none;border:1px solid var(--ink);background:var(--paper-light);border-radius:50%;width:11px;height:11px}.range-control input::-webkit-slider-thumb{appearance:none;border:1px solid var(--ink);background:var(--paper-light);border-radius:50%;width:11px;height:11px}.timeline::-moz-range-thumb{border:1px solid var(--ink);background:var(--paper-light);border-radius:50%;width:10px;height:10px}.range-control input::-moz-range-thumb{border:1px solid var(--ink);background:var(--paper-light);border-radius:50%;width:10px;height:10px}.compare-button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:0 0;padding:8px 10px;font-size:10px}.compare-button:hover,.compare-button.is-active{border-color:var(--ink);background:var(--ink);color:var(--paper-light)}.error-banner{border-left:3px solid var(--signal);color:#7e2615;background:#e14a2b1a;margin-top:10px;padding:12px 14px;font-size:12px}.control-panel{border:1px solid var(--ink);scrollbar-width:thin;background:#f7f5eee8;align-self:start;max-height:calc(100vh - 128px);position:sticky;top:104px;overflow-y:auto;box-shadow:8px 8px #10110f1a}.panel-heading{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:flex-end;padding:20px;display:flex}.panel-heading h2{font-size:20px;font-weight:640}.reset-button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:1px solid;padding:0;font-size:10px}.reset-button:disabled{opacity:.35;cursor:not-allowed}.preset-card{border:1px solid var(--line);background:#efede5;grid-template-columns:48px 1fr auto;align-items:center;gap:12px;margin:16px;padding:12px;display:grid}.preset-swatch{border:1px solid var(--ink);background:radial-gradient(circle at center, var(--ink) 0 48%, transparent 50%) 0 0 / 9px 9px, var(--paper-light);width:48px;height:48px}.preset-card strong{font-family:var(--font-geist-mono), monospace;font-size:11px;display:block}.preset-card span{color:var(--muted);margin-top:4px;font-size:9px;display:block}.preset-card .preset-status{background:var(--ink);color:var(--acid);font-family:var(--font-geist-mono), monospace;margin:0;padding:4px 5px;font-size:8px}.control-stack{border-top:1px solid var(--line)}.range-control{border-bottom:1px solid var(--line);padding:15px 20px 17px;display:block}.control-label-row{justify-content:space-between;align-items:center;margin-bottom:14px;font-size:11px;display:flex}.control-label-row output{color:var(--muted);font-family:var(--font-geist-mono), monospace;font-size:9px}.range-control input{--timeline-progress:var(--range-progress);width:100%}.range-control input:disabled{opacity:.35;cursor:not-allowed}.toggle-control{border-bottom:1px solid var(--line);cursor:pointer;justify-content:space-between;align-items:center;min-height:64px;padding:12px 20px;display:flex;position:relative}.toggle-control strong,.toggle-control small{display:block}.toggle-control strong{font-size:11px;font-weight:500}.toggle-control small{color:var(--muted);margin-top:4px;font-size:9px}.toggle-control input{opacity:0;pointer-events:none;position:absolute}.toggle-track{border:1px solid var(--ink);background:0 0;width:34px;height:18px;position:relative}.toggle-track:after{background:var(--ink);content:"";width:12px;height:12px;transition:transform .14s;position:absolute;top:2px;left:2px}.toggle-control input:checked+.toggle-track{background:var(--acid)}.toggle-control input:checked+.toggle-track:after{transform:translate(16px)}.toggle-control.is-disabled{opacity:.38;cursor:not-allowed}.duotone-controls{border-top:1px solid var(--ink);background:#e9e7df}.duotone-heading{padding:16px 20px 0}.duotone-heading>div:first-child>strong{margin-top:3px;font-size:14px;font-weight:650;display:block}.duotone-toggle{min-height:56px;margin-top:8px;padding:8px 0 12px}.duotone-color-grid{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.duotone-color-control{cursor:pointer;grid-template-columns:1fr auto;gap:7px;min-width:0;padding:12px 20px 14px;display:grid;position:relative}.duotone-color-control+.duotone-color-control{border-left:1px solid var(--line)}.duotone-color-control>span:first-child{font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;font-size:9px}.duotone-color-value{color:var(--muted);font-family:var(--font-geist-mono), monospace;font-size:8px}.duotone-color-control input{border:1px solid var(--ink);cursor:pointer;background:0 0;grid-column:1/-1;width:100%;height:34px;padding:0}.duotone-color-control input::-webkit-color-swatch-wrapper{padding:3px}.duotone-color-control input::-webkit-color-swatch{border:0}.duotone-color-control input:disabled{cursor:not-allowed;opacity:.35}.duotone-presets{grid-template-columns:repeat(6,1fr);gap:7px;padding:12px 20px 16px;display:grid}.duotone-preset{cursor:pointer;background:0 0;border:1px solid #0000;grid-template-columns:1fr 1fr;gap:1px;height:28px;padding:2px;display:grid}.duotone-preset span{min-width:0;display:block}.duotone-preset:hover,.duotone-preset.is-active{border-color:var(--ink)}.duotone-preset:disabled{cursor:not-allowed;opacity:.35}.face-frame-controls{border-top:1px solid var(--ink);background:#efede5}.face-frame-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:12px;padding:16px 20px 14px;display:flex}.face-frame-heading strong{margin-top:3px;font-size:14px;font-weight:650;display:block}.tracker-state{max-width:144px;color:var(--muted);font-family:var(--font-geist-mono), monospace;text-align:right;justify-content:flex-end;align-items:center;gap:5px;font-size:8px;line-height:1.35;display:inline-flex}.tracker-state i{border:1px solid var(--ink);background:#b7b7af;border-radius:50%;flex:0 0 7px;width:7px;height:7px}.tracker-state.is-loading i{background:#ffd84a;animation:1.4s ease-in-out infinite livePulse}.tracker-state.is-tracking i{background:var(--acid)}.tracker-state.is-error i{background:var(--signal)}.face-feature-toggle{min-height:54px;padding-top:9px;padding-bottom:9px}.face-size-control{padding-top:13px;padding-bottom:15px}.tracker-retry{border:1px solid var(--ink);background:var(--paper-light);width:calc(100% - 40px);color:var(--ink);cursor:pointer;margin:12px 20px 16px;padding:10px 12px;font-size:9px}.tracker-retry:hover{background:var(--ink);color:var(--paper-light)}.source-card{border:1px dashed #9a9990;margin:16px;padding:13px}.source-card strong{text-overflow:ellipsis;white-space:nowrap;margin:3px 0 10px;font-size:11px;font-weight:570;display:block;overflow:hidden}.source-card>div{flex-wrap:wrap;gap:6px}.source-card>div span{color:var(--muted);font-family:var(--font-geist-mono), monospace;background:#dedcd4;padding:3px 5px;font-size:8px}.source-card p{color:var(--muted);font-size:10px}.export-zone{border-top:1px solid var(--ink);background:var(--ink);color:var(--paper-light);padding:16px}.export-button{border:1px solid var(--acid);background:var(--acid);width:100%;min-height:49px;color:var(--ink);cursor:pointer;justify-content:space-between;align-items:center;padding:0 16px;font-size:12px;font-weight:650;text-decoration:none;display:flex}.export-button:hover:not(:disabled){background:var(--paper-light);border-color:var(--paper-light)}.export-button:disabled{color:#73746e;cursor:not-allowed;background:#292a27;border-color:#3e3f3b}.export-note{color:#7f8079;margin-top:9px;font-size:8px;line-height:1.5}.export-progress{margin-bottom:14px}.export-progress-copy,.export-progress-meta{font-family:var(--font-geist-mono), monospace;justify-content:space-between;align-items:center;font-size:9px;display:flex}.export-progress-copy strong{color:var(--acid);font-size:11px}.progress-track{background:#3f403c;height:3px;margin:9px 0 8px;overflow:hidden}.progress-track span{background:var(--acid);height:100%;transition:width .12s linear;display:block}.export-progress-meta{color:#888981}.export-progress-meta button{color:var(--paper-light);cursor:pointer;background:0 0;border:0;border-bottom:1px solid;padding:0}.export-complete{gap:10px;margin-bottom:13px}.complete-mark{border:1px solid var(--acid);width:30px;height:30px;color:var(--acid);border-radius:50%;place-items:center;display:grid}.export-complete strong{font-size:11px;display:block}.export-complete span{color:#888981;margin-top:3px;font-size:8px;display:block}.export-error{color:#ff9b84;margin-bottom:12px;font-size:10px;line-height:1.5}.source-video,.visually-hidden{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:fixed;overflow:hidden}.effect-hub{background:linear-gradient(#10110f09 1px, transparent 1px), linear-gradient(90deg, #10110f09 1px, transparent 1px), var(--paper);background-size:24px 24px;min-height:100vh;padding:0 32px}.hub-header{border-bottom:1px solid var(--ink);height:76px;font-family:var(--font-geist-mono), monospace;justify-content:space-between;align-items:center;display:flex}.hub-brand{align-items:center;gap:13px;display:flex}.hub-brand span{border:1px solid var(--ink);border-radius:50%;place-items:center;width:48px;height:48px;font-size:9px;display:grid}.hub-brand strong{letter-spacing:.1em;font-size:11px}.hub-header-meta{color:var(--muted);letter-spacing:.04em;align-items:center;gap:10px;font-size:9px;display:flex}.hub-intro{justify-content:space-between;align-items:flex-end;width:min(1436px,100%);margin:0 auto;padding:62px 0 32px;display:flex}.hub-intro h1{letter-spacing:-.065em;margin:0;font-size:clamp(46px,5vw,74px);font-weight:630;line-height:.95}.hub-intro p{max-width:400px;color:var(--muted);margin:0 0 5px;font-size:12px;line-height:1.75}.effect-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;width:min(1436px,100%);margin:0 auto;display:grid}.effect-card{border:1px solid var(--ink);min-height:600px;color:var(--ink);background:#f7f5eebf;grid-template-rows:minmax(330px,1fr) auto auto;text-decoration:none;transition:transform .18s,box-shadow .18s;display:grid;position:relative;overflow:hidden;box-shadow:8px 8px #10110f14}.effect-card:hover{transform:translate(-3px,-3px);box-shadow:13px 13px #10110f1f}.effect-card-index{z-index:5;background:var(--paper-light);width:34px;height:34px;font-family:var(--font-geist-mono), monospace;border:1px solid;border-radius:50%;place-items:center;font-size:9px;display:grid;position:absolute;top:15px;left:15px}.effect-card-visual{border-bottom:1px solid var(--ink);min-height:330px;position:relative;overflow:hidden}.halftone-card-visual{background:radial-gradient(circle at 67% 43%,#10110f14,#0000 19%),linear-gradient(135deg,#f8f5eb,#dad7ce)}.halftone-figure{filter:grayscale()contrast(1.35);opacity:.78;background:radial-gradient(circle at 61% 30%,#0000 0 5%,#141512 5.5% 7%,#0000 7.5%),radial-gradient(circle at 36% 31%,#0000 0 4%,#141512 4.5% 6%,#0000 6.5%),radial-gradient(at 48% 56%,#141512 0 12%,#0000 12.5%),linear-gradient(105deg,#11120f 0 18%,#b9b7ae 18% 76%,#11120f 76%);border-radius:48% 48% 10% 10%;width:55%;position:absolute;top:10%;bottom:-16%;right:15%}.halftone-card-visual>span{z-index:2;background:var(--ink);border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.tile-card-visual{background:linear-gradient(130deg,#0000 0 47%,#00000038 48% 49%,#0000 50%),linear-gradient(32deg,#263b3d,#89d9d1 46%,#ff8abd 47% 62%,#141512 63%)}.tile-portrait-base{opacity:.92;background:radial-gradient(circle at 35% 34%,#141512 0 4%,#0000 4.5%),radial-gradient(circle at 66% 34%,#141512 0 4%,#0000 4.5%),radial-gradient(at 50% 59%,#e95696 0 11%,#0000 11.5%),linear-gradient(95deg,#10110f 0 19%,#bfe3d7 19% 77%,#10110f 77%);border-radius:44% 44% 14% 14%;position:absolute;inset:8% 21% -20% 22%}.tile-preview-grid{grid-template-rows:repeat(9,1fr);grid-template-columns:repeat(8,1fr);display:grid;position:absolute;inset:0}.tile-preview-grid span{background-size:160% 160%;border:1px solid #f7f5eeb8}.tile-preview-grid .tone-pink{background:linear-gradient(140deg,#ffffff2e,#0000),#ff5ca8}.tile-preview-grid .tone-cyan{background:linear-gradient(35deg,#10110f59,#0000),#5ad8d0}.tile-preview-grid .tone-ink{background:#10110f}.tile-preview-grid .tone-paper{background:#f3e5dc}.effect-card-copy{grid-template-columns:1fr minmax(210px,.72fr);gap:28px;padding:24px;display:grid}.effect-card-copy h2{letter-spacing:-.065em;margin:0;font-size:clamp(34px,3vw,52px);font-weight:680}.effect-card-copy p{color:var(--muted);align-self:end;margin:0 0 5px;font-size:11px;line-height:1.65}.effect-card-footer{border-top:1px solid var(--line);font-family:var(--font-geist-mono), monospace;justify-content:space-between;align-items:center;padding:15px 24px;font-size:9px;display:flex}.effect-card-footer span{color:var(--muted)}.tile-effect-card .effect-card-footer strong{color:#cc2d76}.hub-footer{width:min(1436px,100%);color:var(--muted);font-family:var(--font-geist-mono), monospace;letter-spacing:.06em;justify-content:space-between;align-items:center;margin:28px auto 0;padding:19px 0 28px;font-size:8px;display:flex}.tile-empty-state .empty-copy{max-width:430px}.tile-empty-mark{grid-template-rows:repeat(4,1fr);grid-template-columns:repeat(5,1fr);gap:2px;width:148px;height:148px;margin-bottom:27px;display:grid;transform:rotate(-4deg)}.tile-empty-mark span{background:0 0;border:1px solid #10110f38}.tile-empty-mark span:nth-child(3n+1){background:#10110f}.tile-empty-mark span:nth-child(5n+2){background:#ff5ca8}.tile-empty-mark span:nth-child(7n+3){background:#5ad8d0}.tile-primary-import{background:#10110f;border-color:#10110f}.tile-primary-import:hover{background:#ff5ca8;border-color:#ff5ca8}.tile-preview-frame{background:linear-gradient(135deg,#5ad8d012,#0000 45%),linear-gradient(315deg,#ff5ca814,#0000 50%),#ffffff3d}.crop-source-switch{z-index:6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#10110fd1;border:1px solid #f7f5ee5c;padding:3px;display:flex;position:absolute;top:15px;left:50%;transform:translate(-50%)}.crop-source-switch button{color:#aaa99f;cursor:pointer;background:0 0;border:0;min-width:68px;padding:6px 9px;font-size:9px}.crop-source-switch button.is-active{color:#10110f;background:#ff5ca8}.crop-source-switch button:disabled{opacity:.35;cursor:not-allowed}.tile-drop-overlay{background:#ff5ca8f0}.tile-play-button{background:#10110f;border-color:#10110f}.tile-timeline{--ink:#d52c77}.tile-control-panel{scrollbar-color:#8d8d84 transparent;scrollbar-width:thin;max-height:calc(100vh - 124px);overflow-y:auto}.tile-control-panel .panel-heading{z-index:4;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f7f5eef7;position:sticky;top:0}.tile-control-panel .panel-heading h2{font-family:var(--font-geist-mono), monospace;letter-spacing:-.03em;font-size:15px}.tile-source-deck{border-bottom:1px solid var(--line);background:linear-gradient(135deg,#5ad8d014,#0000),linear-gradient(315deg,#ff5ca81a,#0000);grid-template-columns:1fr 1fr;gap:8px;padding:12px;display:grid}.tile-source-slot{border:1px solid var(--line);background:#f7f5eeb8;min-width:0;min-height:122px;padding:10px;position:relative}.tile-source-slot.is-loaded{border-color:var(--ink)}.source-slot-label{align-items:center;gap:7px;margin-bottom:11px;display:flex}.source-slot-label>span{border:1px solid var(--ink);width:22px;height:22px;font-family:var(--font-geist-mono), monospace;border-radius:50%;place-items:center;font-size:8px;font-weight:700;display:grid}.source-b-slot .source-slot-label>span{background:#ff5ca8;border-color:#d52c77}.source-slot-label strong{font-size:8px;font-weight:580}.tile-source-slot p{text-overflow:ellipsis;white-space:nowrap;margin:0 0 5px;font-size:9px;overflow:hidden}.tile-source-slot small{color:var(--muted);font-family:var(--font-geist-mono), monospace;margin-bottom:9px;font-size:7px;display:block}.tile-source-slot>button:not(.source-add-button),.source-slot-actions button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:1px solid;padding:0;font-size:8px}.source-slot-actions{gap:10px;display:flex}.source-add-button{width:100%;color:var(--muted);cursor:pointer;background:0 0;border:1px dashed #8b8b82;padding:11px 6px;font-size:8px}.source-add-button:disabled{opacity:.35;cursor:not-allowed}.tile-control-stack{border-top:0}.tile-control-stack .range-control{padding-top:12px;padding-bottom:14px}.tile-control-stack .range-control input{--ink:#d52c77}.bpm-control{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:70px;padding:12px 20px;display:flex}.bpm-control>span:first-child strong,.bpm-control>span:first-child small{display:block}.bpm-control>span:first-child strong{font-size:11px;font-weight:500}.bpm-control>span:first-child small{color:var(--muted);margin-top:4px;font-size:9px}.bpm-input-wrap{border:1px solid var(--ink);background:var(--paper);align-items:stretch;height:34px;display:flex}.bpm-input-wrap input{width:67px;min-width:0;color:var(--ink);font-family:var(--font-geist-mono), monospace;text-align:right;background:0 0;border:0;outline:0;padding:0 8px;font-size:14px;font-weight:650}.bpm-input-wrap input:focus{box-shadow:inset 0 -3px #ff5ca8}.bpm-input-wrap>span{border-left:1px solid var(--ink);color:#171717;min-width:36px;font-family:var(--font-geist-mono), monospace;background:#ff5ca8;place-items:center;font-size:8px;font-weight:700;display:grid}.bpm-control.is-disabled{opacity:.35}.tile-export-zone .export-button,.tile-export-zone .progress-track span{background:#ff5ca8;border-color:#ff5ca8}.tile-export-zone .export-progress-copy strong,.tile-export-zone .complete-mark{color:#ff8fc3}.tile-export-zone .complete-mark{border-color:#ff5ca8}.recording-panel{border-top:1px solid var(--ink);color:#f5f2e9;background:#171717}.recording-heading{justify-content:space-between;align-items:flex-start;gap:12px;padding:17px 20px 14px;display:flex}.recording-heading .eyebrow{color:#9d9b93}.recording-heading strong{margin-top:4px;font-size:13px;display:block}.recording-status{color:#aaa79e;font-family:var(--font-geist-mono), monospace;align-items:center;gap:5px;font-size:8px;display:inline-flex}.recording-status i{background:#77756f;border:1px solid;border-radius:50%;width:7px;height:7px}.recording-status.is-recording{color:#ff654d}.recording-status.is-recording i{background:currentColor;animation:1s ease-in-out infinite livePulse}.recording-status.is-paused{color:#ffd44d}.recording-status.is-recorded,.recording-status.is-replaying{color:var(--acid)}.recording-status.is-exporting{color:#72c8ff}.recording-metrics{border-top:1px solid #3e3e3a;border-bottom:1px solid #3e3e3a;grid-template-columns:repeat(3,1fr);display:grid}.recording-metrics span{min-width:0;padding:10px 12px}.recording-metrics span+span{border-left:1px solid #3e3e3a}.recording-metrics small,.recording-metrics strong{font-family:var(--font-geist-mono), monospace;display:block}.recording-metrics small{color:#898780;margin-bottom:4px;font-size:7px}.recording-metrics strong{text-overflow:ellipsis;font-size:10px;overflow:hidden}.recording-actions{gap:7px;padding:13px 20px;display:flex}.recording-actions button,.recorded-export-progress button,.recorded-export-error button{color:#f5f2e9;cursor:pointer;background:0 0;border:1px solid #77756f;flex:1;padding:10px 8px;font-size:8px}.recording-actions button:hover,.recorded-export-progress button:hover,.recorded-export-error button:hover{border-color:var(--acid);color:var(--acid)}.recording-actions button:disabled{cursor:not-allowed;opacity:.35}.recording-actions .recording-primary{border-color:var(--acid);background:var(--acid);color:#171717}.recorded-export-progress,.recorded-export-error{border:1px solid #4e4d48;margin:0 20px 14px;padding:12px}.recorded-export-progress>div:first-child{justify-content:space-between;gap:12px;font-size:9px;display:flex}.recorded-export-progress p,.recorded-export-error p{color:#aaa79e;font-family:var(--font-geist-mono), monospace;margin:8px 0;font-size:8px}.recorded-export-progress .export-progress-track{background:#3f3e3a;height:4px;margin-top:9px}.recorded-export-progress .export-progress-track span{background:#72c8ff;height:100%;display:block}.recorded-export-download{border:1px solid var(--acid);color:var(--acid);justify-content:space-between;margin:0 20px 14px;padding:12px;font-size:9px;text-decoration:none;display:flex}.recorded-export-saved{border:1px solid var(--acid);color:var(--acid);gap:4px;margin:0 20px 14px;padding:12px;display:grid}.recorded-export-saved strong{font-size:9px}.recorded-export-saved span{color:#aaa79e;font-family:var(--font-geist-mono), monospace;text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.recording-note{color:#85837c;margin:0;padding:0 20px 16px;font-size:8px;line-height:1.45}@media (max-height:820px){.workspace{padding-top:18px}.preview-frame{min-height:620px}.preview-canvas{height:min(62vh,620px)}.range-control{padding-top:11px;padding-bottom:13px}.preset-card,.source-card{margin-top:12px;margin-bottom:12px}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
