:root{--yellow:#fdce00;--yellow-hover:#e6ba00;--yellow-light:#fffbe0;--yellow-glow:#fdce0026;--dark:#1a1a1a;--bg-dark:#111;--bg-card:#1e1e1e;--bg-alt:#262626;--bg:#fff;--border:#2e2e2e;--border-light:#e9ecef;--text:#ededed;--text-dim:#9ca3af;--text-light:#6c757d;--success:#3cb464;--error:#ff6450;--info:#60a5fa;--radius:2px;--shadow:0 2px 16px #00000059;--transition:.25s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-dark);color:var(--text);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--yellow);text-decoration:none}.icon{vertical-align:-.2em;flex-shrink:0}.btn{border-radius:var(--radius);cursor:pointer;background:var(--yellow);color:#111;transition:var(--transition);white-space:nowrap;text-overflow:ellipsis;border:none;align-items:center;gap:8px;max-width:100%;padding:13px 26px;font:600 15px/1.2 Inter,sans-serif;display:inline-flex;overflow:hidden}.btn:hover{background:var(--yellow-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-outline{color:var(--text);border:1px solid var(--border);background:0 0}.btn-outline:hover{border-color:var(--yellow);color:var(--yellow);background:0 0}.btn-sm{padding:13px 26px;font-size:15px}.btn-danger{background:var(--error);color:#fff}.btn-gold{background:var(--yellow);color:#111;border:1px solid #ffeb96b3;font-weight:700;position:relative;overflow:hidden}.btn-gold:after{content:"";background:linear-gradient(105deg,#0000 0%,#ffffffbf 50%,#0000 100%);width:45%;animation:2.4s ease-in-out infinite gold-sweep;position:absolute;top:-50%;bottom:-50%;left:-60%;transform:skew(-20deg)}@keyframes gold-sweep{0%{left:-60%}60%,to{left:130%}}.btn-gold:disabled{opacity:.6}.btn-gold:disabled:after{animation:none}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.card-hover{transition:var(--transition);cursor:pointer}.card-hover:hover{border-color:var(--yellow);transform:translateY(-1px)}.input,.textarea,.select{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-alt);width:100%;color:var(--text);padding:10px 14px;font:400 14px Inter,sans-serif}.input:focus,.textarea:focus,.select:focus{border-color:var(--yellow);outline:none}.textarea{resize:vertical;min-height:100px}.select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding:12px 34px 12px 14px}.select option{background:var(--bg-card);color:var(--text)}.label{color:var(--text-dim);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.label-row{justify-content:space-between;align-items:center;display:flex}.field{margin-bottom:16px}.ai-assist{display:inline-flex;position:relative}.ai-btn{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-alt);width:26px;height:26px;color:var(--yellow);cursor:pointer;transition:var(--transition);justify-content:center;align-items:center;display:inline-flex}.ai-btn:hover{border-color:var(--yellow)}.ai-overlay{z-index:90;position:fixed;inset:0}.ai-pop{z-index:100;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);width:min(420px,90vw);box-shadow:var(--shadow);flex-direction:column;max-height:min(70vh,560px);padding:14px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.ai-head{color:var(--yellow);margin-bottom:10px;font:600 13px Inter}.ai-head .row{color:var(--yellow)}.ai-close{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:2px;display:inline-flex}.ai-close:hover{color:var(--text)}.ai-msgs{flex:1;min-height:0;margin-bottom:10px;overflow-y:auto}.ai-msg{margin-bottom:10px}.ai-msg.user .ai-bubble{background:var(--bg-alt);color:var(--text);margin-left:40px}.ai-msg.ai .ai-bubble{color:#111;background:#edeae0;border-color:#0000;margin-right:40px}.ai-bubble{border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:9px 12px;font-size:13px;font-weight:400;line-height:1.55}.ai-bubble ul,.ai-bubble ol{margin:6px 0 6px 18px}.ai-bubble li{margin-bottom:2px}.ai-bubble h3,.ai-bubble h4{margin:8px 0 4px;font-size:14px}.ai-bubble code{background:#0000002e;border-radius:2px;padding:1px 5px;font-size:12px}.ai-bubble pre{background:#0000002e;margin:6px 0;padding:8px;overflow-x:auto}.ai-bubble pre code{background:0 0;padding:0}.ai-bubble a{color:inherit;text-decoration:underline}.ai-insert{justify-content:center;width:100%;margin-top:6px}.ai-proposal{cursor:pointer;border:1px dashed var(--yellow);border-radius:var(--radius);background:var(--yellow-glow);transition:var(--transition);margin-top:6px;padding:10px 12px}.ai-proposal:hover{background:#fdce0038;border-style:solid}.ai-proposal-label{text-transform:uppercase;letter-spacing:.05em;color:var(--yellow);align-items:center;gap:5px;margin-bottom:6px;font:600 11px Inter;display:flex}.ai-proposal-text{color:var(--text);white-space:pre-wrap;font-size:13px;line-height:1.55}.ai-quick{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.ai-quick-btn{border:1px solid var(--border);background:var(--bg-alt);color:var(--text-dim);cursor:pointer;transition:var(--transition);white-space:nowrap;border-radius:999px;padding:5px 12px;font:500 12px Inter}.ai-quick-btn:hover:not(:disabled){border-color:var(--yellow);color:var(--yellow)}.ai-quick-btn:disabled{opacity:.5;cursor:default}@property --flash-angle{syntax:"<angle>";inherits:false;initial-value:0deg}.card-flash{position:relative}.card-flash:after{content:"";border-radius:calc(var(--radius) + 2px);pointer-events:none;background:conic-gradient(from var(--flash-angle), transparent 0 65%, var(--yellow) 82%, #fff 88%, var(--yellow) 94%, transparent 100%);-webkit-mask-composite:xor;padding:2px;animation:1.4s linear infinite border-spin;position:absolute;inset:-2px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.card-flash{box-shadow:0 0 24px #fdce002e}@keyframes border-spin{to{--flash-angle:360deg}}.char-thumb{object-fit:cover;border-radius:var(--radius);flex-shrink:0;width:84px;height:104px}img.char-thumb,img.preview,img.pick-thumb,img.cast-thumb,img.cover-thumb{background:linear-gradient(100deg, var(--bg-alt) 40%, #ffffff14 50%, var(--bg-alt) 60%);background-size:200% 100%;animation:1.4s infinite skeleton-shimmer}.char-thumb-empty{background:var(--bg-alt);color:var(--text-dim);justify-content:center;align-items:center;display:flex}.cover-wrap{border-radius:var(--radius);max-width:220px;display:inline-block;position:relative;overflow:hidden}.cover-wrap img{width:100%;display:block}.cover-title{color:#fff;text-transform:uppercase;letter-spacing:.09em;text-shadow:0 2px 10px #000000b3;background:linear-gradient(#0000,#000000e0);padding:34px 14px 12px;font:800 17px/1.25 Inter;position:absolute;bottom:0;left:0;right:0}.cover-title-sm{letter-spacing:.05em;padding:16px 6px 5px;font-size:9px}.skel{border-radius:var(--radius);background:linear-gradient(100deg, var(--bg-alt) 40%, #ffffff14 50%, var(--bg-alt) 60%);background-size:200% 100%;animation:1.4s infinite skeleton-shimmer}.skeleton-img{border-radius:var(--radius);background:linear-gradient(100deg, var(--bg-alt) 40%, #ffffff14 50%, var(--bg-alt) 60%);background-size:200% 100%;width:200px;height:260px;animation:1.4s infinite skeleton-shimmer}@keyframes skeleton-shimmer{to{background-position:-200% 0}}.spin{animation:.9s linear infinite spin-rotate}@keyframes spin-rotate{to{transform:rotate(360deg)}}.pay-spinner{border:2px solid var(--border);border-top-color:var(--yellow);border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.8s linear infinite spin-rotate;display:inline-block}img{cursor:pointer;background:linear-gradient(100deg, var(--bg-alt) 40%, #ffffff14 50%, var(--bg-alt) 60%);background-size:200% 100%;animation:1.4s infinite skeleton-shimmer}img:not(.loaded){opacity:0}img.loaded{opacity:1;transition:opacity .25s}.logo img,.stalia-fab img,.landing-nav img,.auth-card img{cursor:default;opacity:1;background:0 0;animation:none}.cast-grid{scrollbar-width:thin;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;max-height:320px;padding-right:4px;display:grid;overflow-y:auto}.cast-card{border:1px solid var(--border);border-radius:var(--radius);padding:8px;transition:border-color .15s,box-shadow .15s}.cast-card:hover{border-color:#fdce0073}.cast-card.cast-on{border-color:var(--yellow);box-shadow:0 0 0 1px var(--yellow), 0 0 14px #fdce0026}.cast-head{cursor:pointer;align-items:center;gap:8px;min-width:0;display:flex}.cast-thumb{object-fit:cover;width:40px;height:50px;color:var(--text-dim);background:var(--bg-alt);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.cast-thumb-empty{border:1px dashed var(--border)}.cast-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;overflow:hidden}.cast-check{appearance:none;border:2px solid var(--border);cursor:pointer;border-radius:6px;flex-shrink:0;width:22px;height:22px;transition:background .15s,border-color .15s;position:relative}.cast-check:checked{background:var(--yellow);border-color:var(--yellow)}.cast-check:checked:after{content:"";border:3px solid #1a1a1a;border-width:0 3px 3px 0;width:6px;height:11px;position:absolute;top:2px;left:6px;transform:rotate(45deg)}.cast-outfit{margin-top:8px;padding:6px 8px;font-size:12px}.pick-row{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex-wrap:nowrap;gap:8px;margin-top:8px;padding-bottom:6px;display:flex;overflow-x:auto}.pick-row::-webkit-scrollbar{height:6px}.pick-row::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.pick-row::-webkit-scrollbar-track{background:0 0}.pick-chip{border:1px solid var(--border);background:var(--bg-alt);color:var(--text);cursor:pointer;border-radius:4px;flex-shrink:0;align-items:center;gap:6px;max-width:100%;padding:4px 10px 4px 4px;font:500 12px Inter;transition:border-color .15s,box-shadow .15s;display:inline-flex}.pick-chip:hover{border-color:#fdce0080}.pick-chip.pick-on{border-color:var(--yellow);box-shadow:0 0 0 1px var(--yellow);color:var(--yellow)}.pick-none{padding:4px 22px}.pick-thumb{object-fit:cover;cursor:pointer;border-radius:4px;flex-shrink:0;width:30px;height:30px}.pick-thumb-empty{background:var(--bg);color:var(--text-dim);border:1px dashed var(--border);border-radius:4px;justify-content:center;align-items:center;display:inline-flex}.pick-name{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.imgprev{z-index:300;cursor:zoom-out;background:#000000eb;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.imgprev-img{object-fit:contain;border-radius:var(--radius);-webkit-user-select:none;user-select:none;max-width:92vw;max-height:92vh;transition:transform .12s ease-out}.imgprev-img.draggable{cursor:grab}.imgprev-img.draggable:active{cursor:grabbing}.imgprev-tools{z-index:301;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:6px;padding:6px;display:flex;position:fixed;top:16px;right:16px}.imgprev-btn{background:var(--bg-alt);width:34px;height:34px;color:var(--text);cursor:pointer;transition:var(--transition);border:none;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.imgprev-btn:hover{background:var(--yellow-glow);color:var(--yellow)}.imgprev-pct{text-align:center;min-width:48px;color:var(--text-dim);font:600 12px Inter}.modal-overlay{z-index:200;background:#0000008c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-box{width:min(420px,100%);max-height:88vh;overflow-y:auto}.stalia-fab{z-index:120;cursor:pointer;background:var(--yellow);color:#000;width:56px;height:56px;box-shadow:var(--shadow);transition:var(--transition);border:1px solid #ffeb96b3;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;bottom:24px;right:24px;overflow:hidden}.stalia-fab:after{content:"";background:linear-gradient(105deg,#0000 0%,#ffffffbf 50%,#0000 100%);width:45%;animation:2.4s ease-in-out infinite gold-sweep;position:absolute;top:-50%;bottom:-50%;left:-60%;transform:skew(-20deg)}.stalia-fab:hover{transform:scale(1.05)}.app-shell.stalia-open .stalia-fab{display:none}.app-shell.stalia-open .main{max-width:none}@keyframes stalia-in{0%{opacity:0;transform:translate(40px)scale(.96)}to{opacity:1;transform:translate(0)scale(1)}}.stalia-panel{background:var(--dark);border-left:1px solid var(--border);flex-direction:column;flex-shrink:0;align-self:flex-start;width:360px;height:100vh;margin-left:auto;animation:.3s cubic-bezier(.2,.9,.3,1.2) stalia-in;display:flex;position:sticky;top:0}.stalia-head{border-bottom:1px solid var(--border);color:var(--yellow);justify-content:space-between;align-items:center;padding:16px;font-size:14px;display:flex}.stalia-msgs{flex:1;padding:16px;overflow-y:auto}.stalia-foot{border-top:1px solid var(--border);align-items:flex-end;gap:8px;padding:12px 16px;display:flex}.stalia-foot .textarea{min-height:44px;overflow-y:hidden}.typing{gap:5px;padding:4px 2px;display:inline-flex}.typing span{background:#111;border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite typing-bounce}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}@keyframes typing-bounce{0%,60%,to{opacity:.45;transform:translateY(0)}30%{opacity:1;transform:translateY(-5px)}}@media (width<=720px){.stalia-panel{z-index:110;width:100vw;position:fixed;top:0;right:0}.stalia-fab-open{right:24px}}.badge{border-radius:var(--radius);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;align-items:center;gap:6px;padding:10px 18px;font:600 14px/1 Inter,sans-serif;display:inline-flex}.badge-row{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex-wrap:nowrap;gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}.badge-row::-webkit-scrollbar{height:5px}.badge-row::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.badge-row .badge{flex-shrink:0}.badge-txt{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.v-tip{z-index:400;color:var(--text);border:1px solid var(--border);white-space:normal;word-wrap:break-word;pointer-events:none;background:#1c1c22;border-radius:6px;max-width:280px;padding:6px 10px;font:500 12px/1.4 Inter;position:fixed;box-shadow:0 8px 24px #00000080}.badge-pending,.badge-submitted,.badge-draft{color:#9ca3af;background:#9ca3af26}.badge-processing,.badge-generating{color:var(--info);background:#60a5fa26}.badge-completed,.badge-done,.badge-scripted{color:var(--success);background:#3cb46426}.badge-failed{color:var(--error);background:#ff645026}.badge-gold{background:var(--yellow-glow);color:var(--yellow)}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--dark);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;align-self:flex-start;gap:4px;width:220px;height:100vh;padding:24px 16px;transition:width .25s,padding .25s;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar .sb-head{justify-content:space-between;align-items:center;min-height:24px;padding:0 12px 24px;display:flex}.sidebar .logo{white-space:nowrap;align-items:center;line-height:0;display:flex;overflow:hidden}.sidebar .logo .logo-full{width:auto;height:42px;display:block}.sidebar .logo .logo-symbol{object-fit:contain;width:34px;height:34px;display:none}.sidebar .sb-toggle{border-radius:var(--radius);border:1px solid var(--border);width:28px;height:28px;color:var(--text-dim);cursor:pointer;transition:var(--transition);background:0 0;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.sidebar .sb-toggle:hover{border-color:var(--yellow);color:var(--yellow)}.sidebar .sb-label{white-space:nowrap;opacity:1;max-width:200px;transition:max-width .2s,opacity .15s;display:inline-block;overflow:hidden}.sidebar.collapsed{width:64px;padding:24px 8px}.sidebar.collapsed .sb-label{opacity:0;max-width:0}.sidebar.collapsed .sb-head{flex-direction:column;justify-content:center;gap:14px;padding:0 0 24px}.sidebar.collapsed .sb-head .logo .logo-full{display:none}.sidebar.collapsed .sb-head .logo .logo-symbol{display:block}.sidebar.collapsed a{justify-content:center;gap:0;padding:12px}.sidebar.collapsed .credits-chip{justify-content:center}.sidebar a{border-radius:var(--radius);color:var(--text-dim);transition:var(--transition);align-items:center;gap:10px;padding:10px 12px;font:500 14px Inter;display:flex}.sidebar a:hover{background:var(--bg-alt);color:var(--text)}.sidebar a.active,.sidebar a.router-link-active:not([to=\/app]),.sidebar a.router-link-exact-active{color:#111;background:#fff}.main{flex-direction:column;flex:1;max-width:1100px;padding:32px;display:flex}.app-footer{text-align:left;color:var(--text-dim);opacity:.7;margin-top:auto;padding-top:28px;font-size:12px}.topbar{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.topbar h1{font:700 24px Inter}.credits-chip{background:var(--yellow-glow);color:var(--yellow);border-radius:var(--radius);align-items:center;gap:6px;padding:6px 14px;font:600 13px Inter;display:inline-flex}.grid{gap:16px;display:grid}.grid-2{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.grid-3{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.muted{color:var(--text-dim);font-size:13px}.row{align-items:center;gap:10px;display:flex}.between{justify-content:space-between}.mt{margin-top:16px}.mb{margin-bottom:16px}.progress-bar{background:var(--bg-alt);border-radius:2px;height:4px;margin-top:10px;overflow:hidden}.progress-bar>div{background:var(--yellow);height:100%;transition:width .5s}video.preview{border-radius:var(--radius);background:#000;width:100%}img.preview{border-radius:var(--radius);object-fit:contain;object-position:center;width:100%;display:block}.card img{object-position:center}.card img.preview{margin-inline:auto}.error-text{color:var(--error);font-size:13px}.mono{font-family:ui-monospace,monospace;font-size:12px}.landing{background:var(--bg-dark);min-height:100vh}.landing-nav{justify-content:space-between;align-items:center;padding:20px 6vw;display:flex}.landing-nav .logo{color:var(--yellow);font:800 22px Inter}.hero{text-align:center;padding:12vh 6vw 10vh}.hero h1{letter-spacing:-.03em;font:800 clamp(36px,6vw,64px)/1.1 Inter}.hero h1 em{color:var(--yellow);font-style:normal}.hero p{max-width:560px;color:var(--text-dim);margin:24px auto 36px;font-size:18px;line-height:1.6}.steps{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;padding:4vh 6vw 8vh;display:grid}.step-num{color:var(--yellow);opacity:.35;font:800 40px Inter}.section{padding:8vh 6vw}.section h2{letter-spacing:-.02em;margin-bottom:14px;font:700 clamp(26px,4vw,40px) Inter}.section .sub{color:var(--text-dim);max-width:520px;line-height:1.6}.section-dark{background:var(--dark)}.section-yellow{background:var(--yellow);color:#111}.section-yellow .sub{color:#000000a6}.footer{border-top:1px solid var(--border);color:var(--text-dim);flex-wrap:wrap;justify-content:space-between;gap:12px;padding:40px 6vw;font-size:13px;display:flex}@media (width<=720px){.main{padding:20px}}.toast-wrap{z-index:9999;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:20px;right:20px}.toast{border:1px solid var(--border);color:#fff;border-radius:var(--radius);white-space:nowrap;background:#000;align-items:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:600;animation:.25s toast-in;display:flex;box-shadow:0 4px 16px #00000080}.toast-error{border-color:var(--error,#e05555);color:#fff}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.cast-modal .cast-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;max-height:60vh}.cast-modal .cast-card{padding:14px}.cast-modal .cast-thumb{width:56px;height:56px}.cast-modal .cast-name{font-size:15px}.cast-modal .cast-check{width:26px;height:26px}.cast-modal .pick-row{flex-wrap:wrap;gap:8px;padding-bottom:0;overflow-x:visible}.cast-modal .pick-chip{gap:8px;padding:8px 14px 8px 8px;font-size:13px}.cast-modal .pick-chip.pick-none{padding:8px 24px}.cast-modal .pick-thumb{width:40px;height:40px}.cast-modal .pick-name{max-width:180px}button.credits-chip{border:none;justify-content:center;width:100%}button.credits-chip:hover{background:var(--yellow);color:#111}.btn-text{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:3px;padding:2px 6px;font:500 12px Inter}.btn-text:hover{color:var(--error)}
