:root{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI Variable,Segoe UI,system-ui,sans-serif;color:#f2f1eb;background:#121212;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;color-scheme:dark;--bg: #121212;--bg-deep: #0c0d0c;--surface: rgba(255, 255, 255, .055);--surface-strong: rgba(28, 30, 28, .9);--surface-hover: rgba(255, 255, 255, .09);--text: #f2f1eb;--text-secondary: #b9bbb4;--text-muted: #969990;--accent: #cbea55;--accent-ink: #15170c;--focus: #78c6c5;--danger: #ef887b;--shadow: 0 24px 70px rgba(0, 0, 0, .28);--glass-blur: blur(22px) saturate(118%);letter-spacing:0}*,*:before,*:after{box-sizing:border-box;letter-spacing:0}html,body,#app{width:100%;min-width:320px;min-height:100%;margin:0}body{min-height:100vh;overflow:hidden;background:var(--bg);color:var(--text)}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 78% 62% at 50% 46%,#ffffff09,#fff0 72%)}button,input,select{font:inherit}button{border:0;color:inherit}button:not(:disabled){cursor:pointer}button:disabled{cursor:not-allowed;opacity:.38}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--focus);outline-offset:3px}h1,h2,h3,p,dl,dd{margin:0}img{display:block}.spin{animation:spin 1s linear infinite}.glass-surface{background:var(--surface);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:inset 0 1px #ffffff12,var(--shadow)}.effects-paused .glass-surface{backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:inset 0 1px #ffffff0e,0 12px 40px #0003}.app-shell{height:100dvh;min-height:0;display:flex;flex-direction:column;background:transparent}.topbar{z-index:30;height:72px;flex:0 0 72px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;background:#121212a8;box-shadow:inset 0 -1px #ffffff0b,0 12px 36px #00000029}.brand{min-width:0;display:inline-flex;align-items:center;gap:12px;color:var(--text);text-decoration:none}.brand>span:last-child{min-width:0;display:grid;gap:2px}.brand strong{font-size:18px;line-height:1.15;font-weight:700}.brand small{color:var(--text-secondary);font-size:12px;line-height:1.2;font-weight:500}.brand-mark{width:34px;height:34px;flex:0 0 34px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:4px;transform:rotate(-8deg)}.brand-mark i{border-radius:3px;background:var(--text)}.brand-mark i:nth-child(2){background:var(--accent)}.brand-mark i:nth-child(3){grid-column:span 2;width:64%}.header-actions,.tool-actions{display:flex;align-items:center;gap:8px}.header-action,.icon-action,.stage-action{min-width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;background:transparent;color:var(--text-secondary);transition:color .15s ease,background .15s ease,transform .15s ease}.header-action:hover,.icon-action:hover,.stage-action:hover{background:var(--surface-hover);color:var(--text)}.header-action:active,.icon-action:active,.stage-action:active{transform:scale(.96)}.header-action span{min-width:18px;font-size:13px;font-weight:650}.emphasized{background:var(--text);color:var(--bg)}.emphasized:hover{background:var(--accent);color:var(--accent-ink)}.destructive:hover{color:var(--danger)}.workspace-shell{min-height:0;flex:1;display:grid;grid-template-columns:120px minmax(0,1fr) 296px;gap:16px;padding:16px;position:relative}.asset-dock,.control-dock{min-height:0;overflow:auto;border-radius:8px;background:#ffffff0d}.asset-dock{padding:16px 12px}.control-dock{padding:24px;display:flex;flex-direction:column;gap:32px}.main-stage{min-width:0;min-height:0}.tool-heading{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:8px}.tool-heading>div:first-child{min-width:0;display:flex;align-items:center;gap:8px}.tool-heading h2{font-size:16px;line-height:1.25;font-weight:650}.tool-heading>div:first-child>span{color:var(--text-muted);font-size:13px;font-weight:600}.asset-panel{min-height:100%}.asset-dock .tool-heading h2,.asset-dock .tool-heading>div:first-child>span{display:none}.asset-dock .tool-heading{justify-content:center}.asset-dock .tool-actions{flex-wrap:wrap;justify-content:center}.asset-grid{margin-top:16px;display:grid;gap:12px}.asset-tile{position:relative;min-width:0;display:grid;justify-items:center;gap:6px}.asset-tile>img{width:72px;height:72px;border-radius:8px;object-fit:cover;background:var(--bg-deep);box-shadow:0 8px 24px #0000003d;transition:opacity .15s ease,transform .18s ease}.asset-tile:hover>img{transform:translateY(-2px)}.asset-tile.excluded>img{opacity:.28;filter:grayscale(.65)}.asset-tile>span{width:80px;overflow:hidden;color:var(--text-secondary);font-size:12px;line-height:1.25;font-weight:550;text-align:center;text-overflow:ellipsis;white-space:nowrap}.asset-tile .asset-state,.asset-tile .asset-remove{position:absolute;top:4px;width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:#0d0e0dd1;color:var(--text-secondary);opacity:0;transform:scale(.9);transition:opacity .14s ease,transform .14s ease,background .14s ease}.asset-state{left:4px}.asset-remove{right:4px}.asset-state.active{color:var(--accent)}.asset-tile:hover .asset-state,.asset-tile:hover .asset-remove,.asset-state:focus-visible,.asset-remove:focus-visible{opacity:1;transform:scale(1)}.asset-remove:hover{background:#ef887b2e;color:var(--danger)}.asset-add{min-height:72px;border-radius:8px;display:grid;place-items:center;align-content:center;gap:8px;background:#ffffff0b;color:var(--text-secondary);transition:background .15s ease,color .15s ease,transform .15s ease}.asset-add span{font-size:13px;font-weight:600}.asset-add:hover{background:var(--surface-hover);color:var(--text)}.asset-add:active{transform:scale(.98)}.layout-stage{position:relative;overflow:hidden;contain:layout paint;display:grid;place-items:center;border-radius:8px;background:#ffffff05;box-shadow:inset 0 1px #ffffff09;isolation:isolate}.stage-ambient{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 70% 62% at 50% 50%,rgba(255,255,255,.035),transparent 72%)}.empty-stage{width:100%;height:100%;min-height:320px;display:grid;place-items:center;align-content:center;gap:12px;background:transparent;color:var(--text-secondary)}.selection-empty{width:100%;height:100%;display:grid;place-items:center;align-content:center;gap:12px;color:var(--text-secondary);text-align:center}.empty-stage strong,.selection-empty strong,.drop-overlay strong{font-size:17px;line-height:1.35;font-weight:650}.empty-stage small{color:var(--text-muted);font-size:13px;font-weight:500}.upload-glyph{width:64px;height:64px;margin-bottom:4px;display:grid;place-items:center;border-radius:50%;background:#ffffff12;color:var(--text);box-shadow:inset 0 1px #ffffff1a,0 18px 50px #00000040;transition:transform .18s ease,background .18s ease}.empty-stage:hover .upload-glyph{transform:translateY(-3px);background:#ffffff1c}.stage-primary{min-height:44px;padding:0 16px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--text);color:var(--bg);font-size:14px;font-weight:700;transition:background .15s ease,color .15s ease,transform .15s ease}.stage-primary:hover{background:var(--accent);color:var(--accent-ink)}.stage-primary:active{transform:scale(.98)}.single-stage{width:min(720px,calc(100% - 80px));height:min(520px,calc(100% - 96px));display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:16px}.single-stage>img{width:100%;height:100%;min-width:0;object-fit:contain;border-radius:8px;background:var(--bg-deep);box-shadow:var(--shadow)}.single-stage>button{min-height:160px;border-radius:8px;display:grid;place-items:center;align-content:center;gap:12px;background:#ffffff0b;color:var(--text-secondary)}.single-stage>button:hover{background:var(--surface-hover);color:var(--text)}.single-stage>button span{max-width:120px;font-size:14px;line-height:1.35;font-weight:600}.layout-frame{position:relative;overflow:hidden;border-radius:3px;background:#0b0c0b;box-shadow:0 34px 90px #0000006b,0 0 0 1px #ffffff0b;transition:width .42s cubic-bezier(.22,.75,.18,1),height .42s cubic-bezier(.22,.75,.18,1),opacity .18s ease}.layout-photo{position:absolute;top:0;left:0;transform-origin:top left;object-fit:contain;-webkit-user-select:none;user-select:none;backface-visibility:hidden;transition:transform .52s cubic-bezier(.2,.78,.18,1),opacity .18s ease}.layout-photo.compositing{will-change:transform}.is-arranging .layout-photo,.is-pending .layout-photo{opacity:.82}.pending-outline{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px #cbea553d;animation:pendingPulse 1.4s ease-in-out infinite}.stage-tools{position:absolute;top:16px;right:16px;min-height:48px;display:flex;align-items:center;gap:4px;padding:2px 4px 2px 12px;border-radius:8px;background:#151615b3;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:inset 0 1px #ffffff14,0 12px 35px #00000040}.search-state{min-width:24px;height:44px;display:grid;place-items:center}.search-state>span{width:8px;height:8px;border-radius:50%;background:var(--text-muted);transition:background .15s ease,box-shadow .15s ease}.search-state.active>span{background:var(--accent);box-shadow:0 0 0 6px #cbea551f;animation:statePulse 1.1s ease-in-out infinite}.stage-action{width:44px}.drop-overlay,.decode-overlay{position:absolute;inset:0;z-index:20;display:grid;place-items:center;align-content:center;gap:12px;background:#1212129e;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.drop-overlay{color:var(--text)}.drop-overlay .upload-glyph{background:var(--accent);color:var(--accent-ink);transform:scale(1.06)}.decode-overlay span,.stage-loading span{width:36px;height:36px;border-radius:50%;border:3px solid rgba(255,255,255,.12);border-top-color:var(--accent);animation:spin .8s linear infinite}.stage-loading{display:grid;place-items:center}.control-panel,.export-panel{min-width:0}.control-fields{margin-top:24px;display:grid;gap:24px}.scrubber{display:grid;grid-template-columns:1fr auto;align-items:center;gap:16px}.scrubber-label,.select-field>span{color:var(--text-secondary);font-size:15px;line-height:1.35;font-weight:600}.scrubber-value,.scrubber-input{width:92px;min-height:44px;border-radius:8px;background:#ffffff0e;color:var(--text);text-align:right}.scrubber-value{padding:0 12px;cursor:ew-resize;touch-action:none}.scrubber-value:hover{background:var(--surface-hover)}.scrubber-value strong{font-size:16px;font-weight:650}.scrubber-value small{margin-left:4px;color:var(--text-muted);font-size:12px;font-weight:600}.scrubber-input{border:0;padding:0 12px;font-size:16px;font-weight:650}.scrubber-mobile{display:none}.select-field{display:grid;gap:10px}.select-trigger{width:100%;min-height:44px;padding:0 12px;border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#ffffff0e;color:var(--text);font-size:15px;font-weight:600;text-align:left;transition:background .15s ease,box-shadow .15s ease}.select-trigger:hover{background:var(--surface-hover)}.select-trigger.open{background:#ffffff14;box-shadow:inset 0 0 0 1px var(--focus),0 0 0 3px #78c6c51f}.select-trigger svg{flex:0 0 auto;color:var(--text-muted);transition:color .15s ease,transform .18s ease}.select-trigger.open svg{color:var(--text);transform:rotate(180deg)}.select-listbox{position:fixed;z-index:200;max-height:min(320px,calc(100dvh - 16px));overflow:auto;padding:6px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#1e201efa;color:var(--text);box-shadow:inset 0 1px #ffffff14,0 18px 48px #0000006b;backdrop-filter:blur(20px) saturate(118%);-webkit-backdrop-filter:blur(20px) saturate(118%)}.select-listbox:focus{outline:none}.select-option{width:100%;min-height:40px;padding:0 10px;border-radius:6px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:transparent;color:var(--text-secondary);font-size:14px;line-height:1.3;font-weight:600;text-align:left}.select-option:hover,.select-option.active{background:#ffffff13;color:var(--text)}.select-option.selected{color:var(--text)}.select-option.selected svg{flex:0 0 auto;color:var(--accent)}.advanced-control{color:var(--text-secondary)}.advanced-control summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-size:14px;font-weight:600}.advanced-control summary span{color:var(--text-muted);font-size:13px}.advanced-control input{width:100%;margin:12px 0 0;accent-color:var(--accent)}.export-panel{margin-top:auto;padding-top:8px}.format-control{margin-top:20px;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:4px;border-radius:8px;background:#ffffff0a}.format-control button{min-width:0;height:40px;border-radius:5px;background:transparent;color:var(--text-secondary);font-size:12px;font-weight:650}.format-control button:hover{color:var(--text)}.format-control button.selected{background:#ffffff1a;color:var(--text);box-shadow:inset 0 1px #ffffff14}.export-resolution{margin-top:16px}.export-resolution .select-trigger{font-size:13px;font-variant-numeric:tabular-nums}.export-actions{margin-top:12px;display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:8px}.download-action{width:100%;min-height:48px;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);color:var(--accent-ink);font-size:15px;font-weight:700;transition:filter .15s ease,transform .15s ease}.download-action:hover{filter:brightness(1.06)}.download-action:active{transform:scale(.985)}.copy-action{width:48px;min-height:48px;display:grid;place-items:center;border-radius:8px;background:#ffffff13;color:var(--text);transition:background .15s ease,transform .15s ease}.copy-action:hover{background:#ffffff21}.copy-action:active{transform:scale(.96)}.inspector-panel{position:absolute;z-index:25;top:16px;right:328px;width:304px;padding:20px;border-radius:8px;background:#1b1d1bd1;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:inset 0 1px #ffffff14,var(--shadow)}.metric-list{margin-top:16px;display:grid;gap:4px}.metric-list div{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:16px}.metric-list dt{color:var(--text-secondary);font-size:14px;font-weight:550}.metric-list dd{font-variant-numeric:tabular-nums;font-size:15px;font-weight:650}.inspector-enter-active,.inspector-leave-active{transition:opacity .16s ease,transform .18s ease}.inspector-enter-from,.inspector-leave-to{opacity:0;transform:translateY(-8px)}.mobile-toolbar{position:fixed;z-index:30;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));left:8px;min-height:64px;display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;border-radius:8px;background:#1b1d1bc7}.mobile-toolbar button{min-height:56px;border-radius:6px;display:grid;place-items:center;align-content:center;gap:3px;background:transparent;color:var(--text-secondary)}.mobile-toolbar button.active{background:#ffffff14;color:var(--text)}.mobile-toolbar button span{font-size:12px;font-weight:650}.mobile-sheet{width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;border:0;background:transparent;color:var(--text)}.mobile-sheet::backdrop{background:#0506059e;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.sheet-surface{position:absolute;right:0;bottom:0;left:0;max-height:min(74dvh,680px);overflow:auto;padding:8px 20px calc(24px + env(safe-area-inset-bottom));border-radius:8px 8px 0 0;background:#1b1d1bf0;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:inset 0 1px #ffffff14,0 -24px 70px #00000057}.sheet-handle{width:40px;height:4px;margin:0 auto 12px;border-radius:2px;background:#fff3}.sheet-surface>header{min-height:48px;display:flex;align-items:center;justify-content:space-between}.sheet-surface>header h2{font-size:18px;font-weight:700}.sheet-surface>header button{width:44px;height:44px;display:grid;place-items:center;border-radius:8px;background:transparent;color:var(--text-secondary)}.sheet-surface>header button:hover{background:var(--surface-hover);color:var(--text)}.toast-stack{position:fixed;z-index:50;top:88px;right:16px;display:grid;gap:8px;pointer-events:none}.toast{max-width:340px;min-height:44px;padding:11px 16px;border-radius:8px;display:flex;align-items:center;background:#1e201ee6;color:var(--text);font-size:14px;line-height:1.4;font-weight:600}.toast.error{color:#ffd2cc;box-shadow:inset 3px 0 var(--danger),var(--shadow)}.app-tooltip{--tooltip-arrow-x: 50%;position:fixed;z-index:220;width:max-content;max-width:min(240px,calc(100vw - 16px));padding:7px 10px;border:1px solid rgba(255,255,255,.08);border-radius:6px;background:#292b28;color:var(--text);box-shadow:0 9px 28px #00000061;font-size:12px;line-height:1.35;font-weight:600;text-align:center;pointer-events:none;opacity:0;transform:translateY(3px);transition:opacity .12s ease,transform .12s ease}.app-tooltip.is-visible{opacity:1;transform:translateY(0)}.app-tooltip:after{content:"";position:absolute;left:var(--tooltip-arrow-x);width:8px;height:8px;margin-left:-4px;background:#292b28;transform:rotate(45deg)}.app-tooltip[data-placement=top]:after{bottom:-4px;border-right:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}.app-tooltip[data-placement=bottom]:after{top:-4px;border-top:1px solid rgba(255,255,255,.08);border-left:1px solid rgba(255,255,255,.08)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.glass-surface,.inspector-panel,.stage-tools,.sheet-surface{background:var(--surface-strong)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes statePulse{50%{box-shadow:0 0 0 2px #cbea550a}}@keyframes pendingPulse{50%{box-shadow:inset 0 0 0 1px #cbea550f}}@media(max-width:1120px)and (min-width:761px){.workspace-shell{grid-template-columns:104px minmax(0,1fr) 272px;gap:12px;padding:12px}.asset-dock{padding:12px 8px}.asset-tile>img{width:64px;height:64px}.control-dock{padding:20px 16px}.inspector-panel{right:300px}}@media(max-width:760px){body{font-size:16px}.app-shell{min-height:0}.topbar{height:64px;flex-basis:64px;padding:0 16px}.brand small{display:none}.brand strong{font-size:19px}.brand-mark{width:32px;height:32px;flex-basis:32px}.header-action{min-width:44px}.header-action span{font-size:14px}.workspace-shell{min-height:0;display:block;padding:8px 8px calc(80px + env(safe-area-inset-bottom))}.layout-stage{width:100%;height:100%;min-height:0}.empty-stage{min-height:0}.empty-stage strong{font-size:17px}.empty-stage small{font-size:13px}.single-stage{width:calc(100% - 32px);height:min(54dvh,460px);grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) 88px;gap:8px}.single-stage>button{min-height:88px;display:flex;justify-content:center}.single-stage>button span{max-width:none;font-size:15px}.stage-tools{top:12px;right:12px}.layout-frame{max-width:100%}.inspector-panel{position:fixed;z-index:35;top:auto;right:8px;bottom:calc(80px + env(safe-area-inset-bottom));left:8px;width:auto;max-height:62dvh;overflow:auto}.asset-panel{min-height:0}.asset-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 8px}.asset-tile>img{width:min(24vw,96px);height:min(24vw,96px)}.asset-tile>span{width:min(25vw,104px);font-size:13px}.asset-tile .asset-state,.asset-tile .asset-remove{opacity:1;transform:scale(1)}.sheet-surface>.asset-panel>.tool-heading{justify-content:flex-end}.sheet-surface>.asset-panel>.tool-heading>div:first-child,.sheet-surface>.control-panel>.tool-heading,.sheet-surface>.export-panel>.tool-heading{display:none}.sheet-surface>.control-panel .control-fields{margin-top:8px}.sheet-surface>.export-panel{margin-top:0;padding-top:0}.sheet-surface>.export-panel .format-control{margin-top:8px}.tool-heading h2{font-size:17px}.control-fields{margin-top:20px}.scrubber{display:block}.scrubber-desktop{display:none}.scrubber-mobile{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:16px;margin-top:10px}.scrubber-mobile strong{min-width:64px;color:var(--text);font-size:16px;font-weight:650}.scrubber-mobile input{width:100%;min-height:44px;margin:0;accent-color:var(--accent)}.scrubber-label,.select-field>span{font-size:16px}.select-trigger{min-height:48px;font-size:16px}.select-option{min-height:44px;font-size:15px}.advanced-control summary{min-height:48px;font-size:15px}.export-panel{margin-top:24px}.format-control button{height:44px;font-size:13px}.download-action,.copy-action{min-height:52px}.download-action{font-size:16px}.copy-action{width:52px}.export-actions{grid-template-columns:minmax(0,1fr) 52px}.toast-stack{top:72px;right:8px;left:8px}.toast{max-width:none;font-size:15px}.app-tooltip{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
