@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.3p2_lha1f2xer.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.1qq4vpdcun5oj.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.390ncx5urfkfu.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.21jp631_3pja2.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.0wgildi0cnwt9.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.31988l_ccedte.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.2tuy5pz7dlieh.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.2dbetqa9o8jxf.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.1uyisp29ctx0d.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.1rgnod-3esatf.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.0r6juujl39pe6.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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-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-mono:var(--font-geist-mono);--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-geist-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}.fixed{position:fixed}.relative{position:relative}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.h-full{height:100%}.min-h-full{min-height:100%}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-col{flex-direction:column}.border{border-style:var(--tw-border-style);border-width:1px}.lowercase{text-transform:lowercase}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.grayscale{--tw-grayscale:grayscale(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,)}}:root{--bg:#090b0a;--panel:#0e110f;--panel-raised:#141815;--surface:#191d1a;--surface-hover:#202521;--line:#292f2a;--line-strong:#3a433b;--text:#f0f3ef;--muted:#8b958d;--dim:#626b64;--accent:#b6f36b;--accent-strong:#92d449;--accent-ink:#11170c;--warning:#f0bf63;--danger:#ee7a69;--blue:#78b7f5;--checker-a:#111613;--checker-b:#1b231e;--header-height:60px;--mono:var(--font-geist-mono), "SFMono-Regular", Consolas, monospace;--sans:var(--font-geist-sans), Arial, Helvetica, sans-serif}*{box-sizing:border-box}html,body{min-height:100%;margin:0}html{background:var(--bg)}body{background-color:var(--bg);color:var(--text);font-family:var(--sans);letter-spacing:0;-webkit-font-smoothing:antialiased;background-image:linear-gradient(#ffffff05 1px,#0000 1px),linear-gradient(90deg,#ffffff03 1px,#0000 1px);background-size:32px 32px;overflow-x:hidden}button,input{color:inherit;font:inherit;letter-spacing:0}button{border:0}button:not(:disabled){cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}button,input,summary{transition:background-color .16s cubic-bezier(.2,0,0,1),border-color .16s cubic-bezier(.2,0,0,1),color .16s cubic-bezier(.2,0,0,1),opacity .16s cubic-bezier(.2,0,0,1),transform .16s cubic-bezier(.2,0,0,1)}button:not(:disabled):active{transform:scale(.98)}button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,p,pre{margin:0}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mono{font-family:var(--mono)}.checkerboard{background-color:var(--checker-a);background-image:linear-gradient(45deg, var(--checker-b) 25%, transparent 25%), linear-gradient(-45deg, var(--checker-b) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--checker-b) 75%), linear-gradient(-45deg, transparent 75%, var(--checker-b) 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px}.compiler-app{flex-direction:column;height:100dvh;min-height:640px;display:flex;overflow:hidden}.app-header{border-bottom:1px solid var(--line);flex:0 0 var(--header-height);height:var(--header-height);z-index:10;background:#090b0af0;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:20px;padding:0 16px;display:grid;position:relative}.brand{color:inherit;align-items:center;gap:11px;min-width:0;text-decoration:none;display:flex}.brand>div{flex-direction:column;min-width:0;display:flex}.brand strong{font-family:var(--mono);font-size:13px;font-weight:700;line-height:1.3}.brand span:not(.brand-mark){color:var(--muted);font-size:11px;line-height:1.35}.brand-mark{flex:0 0 24px;grid-template-rows:repeat(3,6px);grid-template-columns:repeat(3,6px);place-content:center;width:24px;height:24px;display:grid}.brand-mark i{background:var(--accent);width:6px;height:6px;display:block}.brand-mark i:first-child{grid-area:1/1}.brand-mark i:nth-child(2){grid-area:2/2}.brand-mark i:nth-child(3){grid-area:3/3}.header-status{justify-self:center;align-items:center;gap:7px;display:flex}.header-status>span,.header-status>button,.status-pill{background:var(--panel-raised);border:1px solid var(--line);color:var(--muted);font-family:var(--mono);text-transform:uppercase;border-radius:4px;align-items:center;gap:6px;height:28px;padding:0 9px;font-size:10px;display:inline-flex}.header-status>span:first-child{color:var(--accent)}.core-status-button{cursor:pointer;transition:border-color .14s,color .14s,background-color .14s}.core-status-button:hover,.core-status-button:focus-visible{background:var(--surface-hover);border-color:var(--line-strong);color:var(--text);outline:none}.header-actions{justify-self:end;align-items:center;gap:8px;display:flex}.button,.icon-button{border:1px solid #0000;border-radius:5px;justify-content:center;align-items:center;display:inline-flex}.button{gap:8px;height:36px;padding:0 13px;font-size:12px;font-weight:650}.button.compact{height:32px;padding:0 10px;font-size:11px}.button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.button.primary:not(:disabled):hover{background:#c5fa83;border-color:#c5fa83}.button.secondary{background:var(--surface);border-color:var(--line-strong);color:var(--text)}.button.secondary:not(:disabled):hover,.icon-button:not(:disabled):hover{background:var(--surface-hover);border-color:var(--line-strong)}.button.ghost{color:var(--muted);background:0 0;border-color:#0000}.button.ghost:not(:disabled):hover{color:var(--text)}.icon-button{background:var(--panel-raised);border-color:var(--line);flex:0 0 34px;width:34px;height:34px;padding:0}.icon-button.small{flex-basis:27px;width:27px;height:27px}.compiler-grid{flex:1;grid-template-columns:minmax(292px,324px) minmax(420px,1fr) minmax(282px,310px);min-height:0;display:grid;overflow:hidden}.source-rail,.quality-rail{background:var(--panel);scrollbar-color:var(--line-strong) transparent;scrollbar-width:thin;min-height:0;padding:14px;overflow:hidden auto}.source-rail{border-right:1px solid var(--line)}.quality-rail{border-left:1px solid var(--line)}.rail-heading{justify-content:space-between;align-items:center;min-height:28px;margin-bottom:18px;display:flex}.rail-heading>div,.preview-title{align-items:center;gap:9px;display:flex}.rail-heading>div>span,.preview-title>span{color:var(--accent);font-family:var(--mono);font-size:10px;font-weight:700}.rail-heading h2,.preview-title h2{font-size:13px;font-weight:700;line-height:1.2}.rail-count,.rail-heading small{color:var(--dim);font-family:var(--mono);font-size:10px}.field-group,.input-section{margin-bottom:17px}.field-group>label,.options-body>label{color:var(--muted);text-transform:uppercase;margin-bottom:7px;font-size:10px;font-weight:650;display:block}.text-input{border:1px solid var(--line);color:var(--text);background:#0a0d0b;border-radius:4px;width:100%;min-width:0;height:34px;padding:0 9px}.text-input:hover{border-color:var(--line-strong)}.text-input::placeholder{color:var(--dim)}.section-label{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.section-label span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:700}.section-label small{color:var(--dim);font-family:var(--mono);text-transform:uppercase;font-size:9px}.drop-target{border:1px dashed var(--line-strong);color:var(--muted);text-align:center;background:#0b0e0c;border-radius:6px;place-content:center;align-items:center;gap:4px;width:100%;min-height:112px;display:grid}.drop-target svg{color:var(--accent);justify-self:center;margin-bottom:3px}.drop-target span{color:var(--text);font-size:12px;font-weight:650}.drop-target small{color:var(--dim);font-size:10px}.drop-target:hover{background:var(--panel-raised);border-color:var(--accent-strong)}.reference-file{border-bottom:1px solid var(--line);border-top:1px solid var(--line);grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 0;display:grid}.reference-thumb{border:1px solid var(--line);border-radius:4px;justify-content:center;align-items:center;width:52px;height:52px;padding:0;display:flex;overflow:hidden}.reference-thumb canvas{image-rendering:pixelated;max-width:50px;max-height:50px;width:auto!important;height:auto!important}.file-meta{flex-direction:column;min-width:0;display:flex}.file-meta strong{font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;overflow:hidden}.file-meta span{color:var(--dim);font-family:var(--mono);margin-top:4px;font-size:9px}.file-actions{align-items:center;gap:3px;display:flex}.action-inputs{gap:8px;display:grid}.action-input{background:var(--panel-raised);border:1px solid var(--line);border-radius:6px;padding:9px}.action-input:focus-within{border-color:var(--line-strong)}.action-input-head{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;margin-bottom:9px;display:grid}.action-index{color:var(--accent);font-family:var(--mono);font-size:9px}.action-file-name{color:var(--muted);cursor:pointer;font-family:var(--mono);text-align:left;background:0 0;border:0;align-items:center;gap:5px;min-width:0;padding:0;font-size:9px;display:flex}.action-file-name:hover{color:var(--text)}.action-file-name span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.action-fields{grid-template-columns:minmax(80px,1fr) 48px 58px 38px;align-items:end;gap:6px;display:grid}.action-fields label{min-width:0}.action-fields label>span{color:var(--dim);text-transform:uppercase;margin-bottom:4px;font-size:8px;display:block}.action-fields .text-input{height:29px;padding:0 6px;font-size:10px}.loop-control input{accent-color:var(--accent);width:18px;height:18px;margin:5px auto 6px;display:block}.add-action-button{border:1px dashed var(--line);color:var(--muted);background:0 0;border-radius:5px;justify-content:center;align-items:center;gap:7px;width:100%;height:36px;margin-top:8px;font-size:11px;display:flex}.add-action-button:hover{border-color:var(--line-strong);color:var(--text)}.processing-options{border-bottom:1px solid var(--line);border-top:1px solid var(--line);margin:4px 0 12px}.processing-options summary{color:var(--muted);justify-content:space-between;align-items:center;padding:11px 0;font-size:11px;list-style:none;display:flex}.processing-options summary::-webkit-details-marker{display:none}.processing-options summary span{align-items:center;gap:7px;display:flex}.processing-options[open] summary>svg{transform:rotate(180deg)}.options-body{padding:2px 0 12px}.options-body>label:not(:first-child){margin-top:12px}.segmented-control{border:1px solid var(--line);background:#090b0a;border-radius:5px;padding:2px;display:inline-flex}.segmented-control button{color:var(--muted);background:0 0;border-radius:3px;justify-content:center;align-items:center;gap:5px;height:27px;padding:0 9px;font-size:10px;display:inline-flex}.segmented-control button.active{background:var(--surface-hover);color:var(--text)}.segmented-control button small{color:var(--muted);font-family:var(--font-mono);text-transform:uppercase;font-size:8px;font-weight:700;line-height:1}.segmented-control button.active small{color:var(--accent)}.inline-error{color:#ffc4ba;background:#ee7a6914;border:1px solid #ee7a6952;border-radius:5px;align-items:flex-start;gap:8px;margin-bottom:10px;padding:9px;font-size:10px;line-height:1.45;display:flex}.inline-error svg{flex:none;margin-top:1px}.source-actions{background:var(--panel);z-index:2;align-items:center;gap:4px;margin-top:auto;padding:12px 0 14px;display:flex;position:sticky;bottom:-14px}.compile-button{flex:1}.preview-workspace{grid-template-rows:56px minmax(0,1fr) 162px;min-width:0;min-height:0;display:grid;overflow:hidden}.preview-toolbar{background:var(--panel);border-bottom:1px solid var(--line);grid-template-columns:minmax(150px,1fr) auto auto auto;align-items:center;gap:12px;min-width:0;padding:0 12px;display:grid}.preview-title>div{flex-direction:column;min-width:0;display:flex}.preview-title small{color:var(--dim);font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:9px;overflow:hidden}.canvas-metrics{align-items:center;gap:10px;display:flex}.canvas-metrics span{color:var(--muted);font-family:var(--mono);white-space:nowrap;font-size:9px}.canvas-metrics span+span{border-left:1px solid var(--line);padding-left:10px}.palette-strip{align-items:center;gap:3px;display:flex}.palette-strip i{border:1px solid #ffffff29;border-radius:2px;width:15px;height:15px}.preview-tools{justify-content:flex-end;align-items:center;gap:5px;display:flex}.view-switch{margin-right:3px}.zoom-value{color:var(--muted);font-family:var(--mono);text-align:center;width:28px;font-size:9px}.canvas-area{justify-content:center;align-items:center;min-height:0;display:flex;position:relative;overflow:hidden}.canvas-area.has-content{cursor:grab;overscroll-behavior:none;touch-action:none;-webkit-user-select:none;user-select:none}.canvas-area.has-content.is-panning{cursor:grabbing}.canvas-area.has-content canvas{pointer-events:none}.canvas-area canvas,.frame-image canvas{image-rendering:pixelated;display:block}.empty-preview,.compile-progress{text-align:center;flex-direction:column;align-items:center;padding:28px;display:flex}.empty-mark{background:var(--panel-raised);border:1px solid var(--line-strong);color:var(--accent);border-radius:6px;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:16px;display:flex}.empty-preview h1{font-size:25px;font-weight:720;line-height:1.15}.empty-preview p,.compile-progress span{color:var(--muted);margin:7px 0 16px;font-size:12px}.compile-progress svg{color:var(--accent);margin-bottom:12px}.compile-progress strong{font-size:13px}.source-stage,.animation-stage,.sheet-stage{transform-origin:50%;will-change:transform;flex:none;position:absolute;top:50%;left:50%}.source-stage canvas,.animation-stage canvas,.sheet-stage canvas{filter:drop-shadow(0 10px 18px #00000047)}.ground-line{pointer-events:none;border-top:1px dashed #b6f36b80;width:100%;position:absolute;left:0}.timeline-panel{background:var(--panel);border-top:1px solid var(--line);min-width:0;padding:10px 12px;overflow:hidden}.timeline-head{justify-content:space-between;align-items:center;gap:8px;min-height:30px;margin-bottom:9px;display:flex}.action-tabs{scrollbar-width:none;gap:4px;min-width:0;display:flex;overflow-x:auto}.action-tabs::-webkit-scrollbar{display:none}.action-tabs button{color:var(--muted);background:0 0;border:1px solid #0000;border-radius:4px;flex:none;align-items:center;gap:7px;height:29px;padding:0 8px;font-size:10px;display:flex}.action-tabs button span{color:var(--dim);font-family:var(--mono);font-size:8px}.action-tabs button.active{background:var(--surface);border-color:var(--line-strong);color:var(--text)}.action-tabs button.active span{color:var(--accent)}.frame-strip{scrollbar-color:var(--line-strong) transparent;scrollbar-width:thin;gap:7px;min-height:92px;padding-bottom:4px;display:flex;overflow-x:auto}.frame-thumb{border:1px solid var(--line);background:#0a0d0b;border-radius:5px;flex:0 0 88px;grid-template-rows:66px 17px;width:88px;height:89px;padding:4px;display:grid;overflow:hidden}.frame-thumb.active{border-color:var(--accent-strong);box-shadow:inset 0 -2px 0 var(--accent)}.frame-thumb>span:last-child{color:var(--dim);font-family:var(--mono);text-align:left;align-self:end;font-size:8px}.frame-image{justify-content:center;align-items:center;width:78px;height:66px;display:flex;overflow:hidden}.frame-image canvas{max-width:76px;max-height:62px;width:auto!important;height:auto!important}.timeline-empty{color:var(--dim);align-self:center;font-size:10px}.status-pill{height:24px;padding:0 8px}.status-pill.passed{color:var(--accent);border-color:#b6f36b59}.status-pill.failed{color:var(--warning);border-color:#f0bf6359}.status-pill.pending{color:var(--blue);border-color:#78b7f559}.pipeline-state{gap:0;margin-top:2px;display:grid}.pipeline-state>div{grid-template-columns:28px 1fr;align-items:center;gap:10px;min-height:52px;display:grid;position:relative}.pipeline-state>div:not(:last-child):after{background:var(--line);content:"";width:1px;height:19px;position:absolute;top:43px;left:13px}.pipeline-state>div>span{background:var(--panel-raised);border:1px solid var(--line);color:var(--dim);font-family:var(--mono);border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;font-size:9px;display:flex}.pipeline-state>div.current>span{border-color:var(--accent-strong);color:var(--accent)}.pipeline-state>div.complete>span{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.pipeline-state>div.failed>span{border-color:var(--danger);color:var(--danger)}.pipeline-state>div>div{flex-direction:column;display:flex}.pipeline-state strong{font-size:11px}.pipeline-state small{color:var(--dim);margin-top:3px;font-size:9px}.quality-summary{border:1px solid var(--line);border-radius:6px;align-items:flex-start;gap:9px;margin-bottom:14px;padding:11px;display:flex}.quality-summary.passed{color:var(--accent);background:#b6f36b0e;border-color:#b6f36b40}.quality-summary.failed{color:var(--warning);background:#f0bf630e;border-color:#f0bf6347}.quality-summary.pending{color:var(--blue);background:#78b7f50e;border-color:#78b7f547}.quality-summary svg{flex:none}.quality-summary>div{flex-direction:column;display:flex}.quality-summary strong{color:var(--text);font-size:11px}.quality-summary span{color:var(--muted);margin-top:3px;font-size:9px;line-height:1.4}.metric-table{border-bottom:1px solid var(--line);border-top:1px solid var(--line);margin-bottom:17px}.metric-table>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:34px;display:flex}.metric-table>div:last-child{border-bottom:0}.metric-table span{color:var(--muted);font-size:10px}.metric-table strong{font-family:var(--mono);font-size:10px;font-weight:600}.issue-section,.repair-section,.export-section{margin-bottom:17px}.clean-audit{color:var(--accent);align-items:center;gap:7px;padding:8px 0;font-size:10px;display:flex}.issue-list{border-top:1px solid var(--line)}.issue-row{border-bottom:1px solid var(--line);color:var(--warning);align-items:flex-start;gap:8px;padding:9px 0;display:flex}.issue-row svg{flex:none;margin-top:1px}.issue-row>div{flex-direction:column;min-width:0;display:flex}.issue-row strong{color:var(--text);text-transform:capitalize;font-size:9px;font-weight:650}.issue-row span{color:var(--dim);font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:8px;overflow:hidden}.repair-section .button{width:100%}.export-section{border-top:1px solid var(--line);padding-top:15px}.export-button{background:var(--panel-raised);border:1px solid var(--line);text-align:left;border-radius:5px;justify-content:space-between;align-items:center;width:100%;height:52px;margin-top:7px;padding:0 11px;display:flex}.export-button>span{align-items:center;gap:9px;display:flex}.export-button>span>span{flex-direction:column;display:flex}.export-button strong{font-size:10px;font-weight:650}.export-button small{color:var(--dim);margin-top:2px;font-size:8px}.export-button:not(:disabled):hover{background:var(--surface-hover);border-color:var(--line-strong)}.export-button.primary-export{border-color:#b6f36b61}.export-button.primary-export>span>svg{color:var(--accent)}.workflow-dialog{background:var(--panel);border:1px solid var(--line-strong);color:var(--text);border-radius:7px;width:680px;max-width:min(680px,100vw - 28px);max-height:min(760px,100dvh - 40px);margin:auto;padding:0}.workflow-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#000000b8}.dialog-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:60px;padding:0 14px;display:flex}.dialog-head>div{align-items:center;gap:10px;display:flex}.dialog-head>div>div{flex-direction:column;display:flex}.dialog-head strong{font-size:13px}.dialog-head small{color:var(--muted);margin-top:2px;font-size:9px}.dialog-icon{background:var(--accent);color:var(--accent-ink);border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.dialog-body{gap:18px;max-height:calc(100dvh - 102px);padding:16px;display:grid;overflow-y:auto}.dialog-body section:not(.skill-callout){border-bottom:1px solid var(--line);padding-bottom:17px}.dialog-body pre{border:1px solid var(--line);color:#c9d2cb;font-family:var(--mono);white-space:pre-wrap;background:#080a09;border-radius:5px;margin-bottom:9px;padding:12px;font-size:10px;line-height:1.65;overflow-x:auto}.skill-callout{color:var(--blue);background:#78b7f50f;border:1px solid #78b7f533;border-radius:5px;align-items:center;gap:10px;padding:11px;display:flex}.skill-callout>div{flex-direction:column;display:flex}.skill-callout>.integration-downloads{flex-direction:row;gap:6px;margin-left:auto}.skill-callout strong{color:var(--text);font-family:var(--mono);font-size:10px}.skill-callout span{color:var(--muted);margin-top:2px;font-size:9px}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:1220px){.compiler-grid{grid-template-columns:292px minmax(400px,1fr) 282px}.canvas-metrics span:nth-child(2),.canvas-metrics span:nth-child(3),.palette-strip{display:none}}@media (max-width:980px){body{overflow:auto}.compiler-app{height:auto;min-height:100dvh;overflow:visible}.compiler-grid{grid-template-columns:300px minmax(0,1fr);overflow:visible}.source-rail,.quality-rail{overflow:visible}.preview-workspace{min-height:calc(100dvh - var(--header-height))}.quality-rail{border-left:0;border-top:1px solid var(--line);grid-column:1/-1}}@media (max-width:720px){.app-header{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:0 10px}.brand span:not(.brand-mark),.header-status,.desktop-only{display:none!important}.header-actions .button{flex:0 0 34px;width:34px;height:34px;padding:0;font-size:0}.compiler-grid{flex-direction:column;display:flex}.source-rail,.quality-rail{border-left:0;border-right:0;padding:14px 12px}.preview-workspace{order:2;grid-template-rows:54px minmax(420px,58dvh) 158px;min-height:632px}.source-rail{order:1}.quality-rail{order:3}.preview-toolbar{grid-template-columns:minmax(100px,1fr) auto;gap:6px;padding:0 8px}.preview-tools .view-switch,.zoom-value{display:none}.empty-preview h1{font-size:21px}.source-actions{position:static}.workflow-dialog{max-width:calc(100vw - 18px);max-height:calc(100dvh - 18px)}.skill-callout{flex-wrap:wrap;align-items:flex-start}.skill-callout>.integration-downloads{margin-left:28px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}.spin{animation-duration:1.6s}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-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}
