:root{--font-sans: "Montserrat", "Segoe UI", system-ui, -apple-system, sans-serif;--font-size-base: 14px;--radius: 14px;--radius-sm: 10px;--page-max: 1120px;--brand: #f97316;--brand-hover: #fb923c;--bg: #ffffff;--surface: #ffffff;--surface-2: #f3f4f6;--surface-3: #eceff3;--text: #0b0b0d;--muted: rgba(11, 11, 13, .62);--border: rgba(0, 0, 0, .1);--accent-glow: rgba(249, 115, 22, .15);--color-success-bg: #dcfce7;--color-success-fg: #16a34a;--color-info-bg: #dbeafe;--color-info-fg: #2563eb;--color-warning-bg: #fef9c3;--color-warning-fg: #a16207;--color-error-bg: #fee2e2;--color-error-fg: #dc2626}:root[data-theme=light]{--bg: #f6f7f9;--surface: #ffffff;--surface-2: #f0f2f5;--surface-3: #e8edf3;--text: #0b0b0d;--muted: rgba(11, 11, 13, .62);--border: rgba(0, 0, 0, .1);--color-success-bg: #dcfce7;--color-success-fg: #16a34a;--color-info-bg: #dbeafe;--color-info-fg: #2563eb;--color-warning-bg: #fef9c3;--color-warning-fg: #a16207;--color-error-bg: #fee2e2;--color-error-fg: #dc2626}:root[data-theme=dark]{--bg: #0d1117;--surface: #161b22;--surface-2: #1c2333;--surface-3: #0d1117;--text: #e6edf3;--muted: rgba(139, 148, 158, .85);--border: rgba(56, 68, 91, .6);--brand: #f97316;--brand-hover: #fb923c;--accent-glow: rgba(249, 115, 22, .15);--color-success-bg: #14532d;--color-success-fg: #4ade80;--color-info-bg: #1e3a5f;--color-info-fg: #60a5fa;--color-warning-bg: #713f12;--color-warning-fg: #fde047;--color-error-bg: #7f1d1d;--color-error-fg: #f87171}html,body{height:100%}body{margin:0;font-family:var(--font-sans);font-size:var(--font-size-base);line-height:1.5;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}.ui-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 0 12px var(--accent-glow)}.ui-muted{color:var(--muted)}.ui-pill{display:inline-block;padding:4px 10px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);font-size:12px;font-weight:600;color:var(--text)}.ui-button{border-radius:var(--radius-sm);padding:8px 14px;font-size:13px;font-weight:600;border:1px solid var(--border);background:var(--surface-2);color:var(--text);text-decoration:none;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .05s ease}.ui-button:hover{background:color-mix(in srgb,var(--surface-2) 80%,var(--text) 8%)}.ui-button:active{transform:translateY(1px)}.ui-button-primary{background:var(--brand);border-color:var(--brand);color:#fff}.ui-button-primary:hover{background:var(--brand-hover);border-color:var(--brand-hover);color:#fff}.ui-button-danger-ghost{background:transparent;border-color:transparent;color:#ef4444}.ui-button-danger-ghost:hover{background:color-mix(in srgb,#ef4444 10%,transparent);color:#dc2626}input,select,textarea{font-family:inherit;font-size:inherit;border-radius:var(--radius-sm);padding:8px 12px;border:1px solid var(--border);background:var(--surface-2);color:var(--text)}input::placeholder{color:var(--muted)}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.ui-backdrop{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;padding:16px;z-index:1200}.ui-dialog{width:min(520px,100%);border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);padding:20px;box-shadow:0 18px 60px #0000008c,0 0 20px var(--accent-glow);display:flex;flex-direction:column;gap:14px}.ui-chip{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);font-size:12px;font-weight:600;color:var(--muted);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease;white-space:nowrap}.ui-chip:hover{background:color-mix(in srgb,var(--surface-2) 70%,var(--text) 10%);color:var(--text)}.ui-chip-active{background:var(--brand);border-color:var(--brand);color:#fff}.ui-chip-active:hover{background:var(--brand-hover);border-color:var(--brand-hover);color:#fff}.asset-row{transition:background .15s ease,box-shadow .15s ease}.asset-row:hover{background:color-mix(in srgb,var(--surface) 92%,var(--brand) 8%);box-shadow:0 0 0 1px color-mix(in srgb,var(--brand) 25%,transparent)}.asset-actions-menu-item{transition:background .1s ease,box-shadow .1s ease}.asset-actions-menu-item:hover:not(:disabled){background:color-mix(in srgb,var(--brand) 10%,var(--surface));box-shadow:inset 3px 0 0 var(--brand)}.asset-actions-menu-item--danger:hover:not(:disabled){background:color-mix(in srgb,var(--color-error-fg) 8%,var(--surface));box-shadow:inset 3px 0 0 var(--color-error-fg)}.asset-thumbnail{transition:transform .15s ease}.asset-thumbnail:hover{transform:scale(1.05)}@keyframes mx-spin{to{transform:rotate(360deg)}}@keyframes assetFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.asset-row{animation:assetFadeIn .25s ease both}@keyframes explorerPageIn{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes dragPulse{0%,to{opacity:.7}50%{opacity:1}}@keyframes uploadProgress{0%{width:0}to{width:100%}}.section-label{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding:8px 0 4px}.ac2{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;position:relative;transition:border-color .2s ease,box-shadow .2s ease,transform .18s ease}.ac2:hover{border-color:color-mix(in srgb,var(--brand) 40%,var(--border));box-shadow:0 8px 28px #0000001f,0 0 0 1px color-mix(in srgb,var(--brand) 18%,transparent);transform:translateY(-2px)}.ac2--selected{border-color:var(--brand)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 25%,transparent)!important}.ac2__thumb{position:relative;width:100%;aspect-ratio:1;background:var(--surface-3);overflow:hidden}.ac2__thumb-img{width:100%;height:100%;object-fit:cover;object-position:center 15%;transition:transform .32s ease;display:block}.ac2:hover .ac2__thumb-img{transform:scale(1.05)}.ac2__placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:repeating-linear-gradient(-45deg,transparent,transparent 9px,color-mix(in srgb,var(--text) 3%,transparent) 9px,color-mix(in srgb,var(--text) 3%,transparent) 18px)}.ac2__placeholder-letter{font-size:36px;font-weight:800;color:var(--muted);opacity:.4;line-height:1}.ac2__placeholder-label{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);opacity:.5}.ac2__type-chip{position:absolute;top:8px;left:8px;z-index:2;font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 7px;border-radius:6px;background:#0009;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#ffffffe0;border:1px solid rgba(255,255,255,.1);pointer-events:none;transition:opacity .15s ease}.ac2:hover .ac2__type-chip{opacity:0}.ac2__checkbox-wrap{position:absolute;top:7px;right:7px;z-index:6;opacity:0;transition:opacity .15s ease}.ac2:hover .ac2__checkbox-wrap,.ac2--selected .ac2__checkbox-wrap{opacity:1}.ac2__checkbox{width:18px;height:18px;accent-color:var(--brand);cursor:pointer;display:block}.ac2__status-dot{position:absolute;bottom:9px;left:9px;z-index:2;width:8px;height:8px;border-radius:50%;border:1.5px solid rgba(0,0,0,.5);pointer-events:none}.ac2__status-dot--ok{background:#22c55e}.ac2__status-dot--processing{background:#f59e0b;animation:ac2StatusPulse 1.6s ease-in-out infinite}.ac2__status-dot--error{background:#ef4444}@keyframes ac2StatusPulse{0%,to{opacity:1}50%{opacity:.3}}.ac2__overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.76) 0%,rgba(0,0,0,.18) 45%,transparent 72%);display:flex;align-items:flex-end;padding:10px 9px;gap:5px;opacity:0;transition:opacity .2s ease;z-index:4;pointer-events:none}.ac2:hover .ac2__overlay{opacity:1;pointer-events:auto}.ac2__overlay-btn{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700;letter-spacing:.03em;padding:5px 10px;border-radius:8px;cursor:pointer;transition:background .12s ease,border-color .12s ease;font-family:var(--font-sans);text-decoration:none;background:#ffffff21;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.18);color:#ffffffe6;white-space:nowrap}.ac2__overlay-btn:hover{background:#ffffff40;border-color:#ffffff47;color:#fff}.ac2__overlay-btn--primary{background:color-mix(in srgb,var(--brand) 80%,rgba(0,0,0,.2));border-color:transparent;color:#fff}.ac2__overlay-btn--primary:hover{background:var(--brand)}.ac2__overlay-spacer{flex:1}.ac2__generating-overlay{position:absolute;inset:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:3}.ac2__journey-strip{position:absolute;left:0;top:0;bottom:0;width:3px;z-index:6;pointer-events:none}.ac2__journey-strip--live{background:var(--color-success-fg)}.ac2__journey-strip--draft{background:var(--color-info-fg)}.ac2__gen-status-chip{position:absolute;top:8px;left:8px;z-index:2;font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 7px;border-radius:6px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);pointer-events:none;transition:opacity .15s ease}.ac2:hover .ac2__gen-status-chip{opacity:0}.ac2__gen-status-chip--ready{background:#f97316cc;color:#fff;border:1px solid rgba(255,200,100,.2)}.ac2__gen-status-chip--approved{background:#22c55ebf;color:#fff;border:1px solid rgba(100,255,150,.2)}.ac2__gen-status-chip--pending{background:#0009;color:#ffffffbf;border:1px solid rgba(255,255,255,.12)}.ac2__gen-status-chip--failed{background:#ef4444bf;color:#fff;border:1px solid rgba(255,120,120,.2)}.ac2__gen-status-chip--generating{background:#60a5fabf;color:#fff;border:1px solid rgba(150,200,255,.2)}.ac2__info{padding:10px 12px 11px;display:flex;flex-direction:column;gap:5px}.ac2__name-row{display:flex;align-items:center;gap:5px;min-width:0}.ac2__name{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;color:var(--text);line-height:1.3}.ac2__version-badge{font-size:10px;font-weight:700;padding:1px 6px;border-radius:5px;flex-shrink:0;line-height:1.4}.ac2__version-badge--muted{background:var(--surface-2);color:var(--muted);border:1px solid var(--border)}.ac2__version-badge--active{background:var(--color-info-bg);color:var(--color-info-fg);border:none;cursor:pointer;transition:opacity .1s}.ac2__version-badge--active:hover{opacity:.8}.ac2__actions-wrap{opacity:0;transition:opacity .15s ease;flex-shrink:0}.ac2:hover .ac2__actions-wrap{opacity:1}.ac2__meta{display:flex;align-items:center;gap:4px;font-size:10.5px;color:var(--muted);line-height:1.4;min-width:0}.ac2__meta>span,.ac2__meta>a,.ac2__meta>button{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.ac2__meta-sep{opacity:.35;flex-shrink:0}.ac2__meta-journey-btn{background:none;border:none;padding:0;cursor:pointer;font-size:inherit;font-family:inherit;color:var(--brand);font-weight:600;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:opacity .1s}.ac2__meta-journey-btn:hover{opacity:.75}.ac2__meta-live-dot{width:5px;height:5px;border-radius:50%;background:var(--color-success-fg);flex-shrink:0;display:inline-block}.ac2__tags{display:flex;gap:4px;flex-wrap:wrap;align-items:center;margin-top:1px}.ac2__tag{display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:600;padding:2px 7px;border-radius:999px;background:color-mix(in srgb,var(--brand) 12%,var(--surface-2));color:var(--text)}.ac2__tag-remove{background:none;border:none;padding:0;cursor:pointer;font-size:11px;line-height:1;color:inherit;opacity:.45;transition:opacity .1s}.ac2__tag-remove:hover{opacity:1}.ac2__tag-add{font-size:10px;padding:2px 7px;border:1px dashed var(--border);border-radius:999px;background:none;color:var(--muted);cursor:pointer;transition:border-color .1s,color .1s;font-family:var(--font-sans)}.ac2__tag-add:hover{border-color:var(--brand);color:var(--brand)}.ac2__tag-input{font-size:10px;padding:2px 7px;border:1px solid var(--brand);border-radius:999px;background:var(--surface);color:var(--text);width:82px;outline:none;font-family:var(--font-sans)}.journey-card{border:1px solid var(--border);box-shadow:0 0 12px var(--accent-glow);transition:border-color .2s ease,box-shadow .2s ease}.journey-card:hover{border-color:color-mix(in srgb,var(--brand) 30%,var(--border));box-shadow:0 6px 24px var(--accent-glow)}.journey-card-enter{animation:assetFadeIn .3s ease backwards}.journey-expand{animation:journeyExpand .22s ease backwards}@keyframes journeyExpand{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.ui-tab{appearance:none;padding:8px 14px;border:none;border-bottom:2px solid transparent;border-radius:8px 8px 0 0;margin-bottom:-1px;background:transparent;color:var(--muted);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:color .15s ease,background .15s ease,border-color .15s ease}.ui-tab:hover{color:var(--text);background:color-mix(in srgb,var(--text) 5%,transparent)}.ui-tab-active,.ui-tab-active:hover{color:var(--brand);border-bottom-color:var(--brand);background:transparent}.journey-tabbar{scrollbar-width:none}.journey-tabbar::-webkit-scrollbar{display:none}.exp-row{border:1px solid var(--border);background:var(--surface);animation:assetFadeIn .25s ease backwards;transition:border-color .15s ease,background .15s ease}.exp-row:hover{border-color:color-mix(in srgb,var(--brand) 30%,var(--border));background:color-mix(in srgb,var(--surface) 96%,var(--brand) 4%)}.exp-add-btn{border-style:dashed;background:transparent;color:var(--muted);width:100%}.exp-add-btn:hover:not(:disabled){border-color:var(--brand);color:var(--brand);background:color-mix(in srgb,var(--brand) 6%,transparent)}.drag-handle{border:none;background:transparent;color:var(--muted);cursor:grab;transition:color .15s ease,background .15s ease}.drag-handle:hover{color:var(--text);background:var(--surface-2)}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:currentColor;margin-right:6px;flex-shrink:0}.status-dot--live{animation:statusPulse 2.2s ease-out infinite}@keyframes statusPulse{0%{box-shadow:0 0 color-mix(in srgb,currentColor 45%,transparent)}70%{box-shadow:0 0 0 5px transparent}to{box-shadow:0 0 0 0 transparent}}.launcher-card{position:relative;overflow:hidden;animation:explorerPageIn .35s cubic-bezier(.16,1,.3,1) backwards}.launcher-accent-bar{position:absolute;top:0;left:0;right:0;height:4px;pointer-events:none}.launcher-btn-primary{transition:transform .12s ease,filter .15s ease,box-shadow .2s ease}.launcher-btn-primary:hover{filter:brightness(1.07)}.launcher-btn-primary:active{transform:scale(.98)}.launcher-btn-ghost{background:transparent;transition:background .15s ease,border-color .15s ease}.launcher-btn-ghost:hover{background:color-mix(in srgb,var(--text) 6%,transparent)}.launcher-wait-ring{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;margin:2px auto 0;border-radius:50%;animation:launcherHalo 1.8s ease-out infinite}@keyframes launcherHalo{0%{box-shadow:0 0 0 0 var(--launcher-halo, var(--accent-glow))}70%{box-shadow:0 0 0 14px transparent}to{box-shadow:0 0 0 0 transparent}}.launcher-check{margin:2px auto 0;animation:checkPop .45s cubic-bezier(.34,1.56,.64,1) backwards}.launcher-check path{stroke-dasharray:40;stroke-dashoffset:40;animation:checkDraw .35s ease-out .25s forwards}@keyframes checkPop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@keyframes checkDraw{to{stroke-dashoffset:0}}*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--text) 18%,transparent) transparent}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--text) 18%,transparent);border-radius:99px;transition:background .2s ease}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--brand) 65%,var(--text) 35%)}::-webkit-scrollbar-corner{background:transparent}@media(prefers-reduced-motion:reduce){.launcher-card,.launcher-check,.launcher-check path,.launcher-wait-ring,.status-dot--live,.journey-card-enter,.journey-expand,.exp-row,.asset-row{animation:none}.launcher-check path{stroke-dashoffset:0}}
