:root{--ink:#18243a;--muted:#667389;--subtle:#95a0b2;--purple:#6357e8;--purple2:#5549d6;--line:#e5e9f2;--bg:#f6f7fb;--panel:#fff;--side:#172034;--green:#18a783;--shadow:0 6px 28px rgba(22,38,80,.035)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.58 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",Arial,sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid #b1aaff;outline-offset:2px}button:disabled{opacity:.6;cursor:wait}[hidden]{display:none!important}
.app{display:flex;min-height:100vh}.sidebar{width:264px;min-width:264px;height:100vh;position:sticky;top:0;padding:31px 15px 20px;background:var(--side);display:flex;flex-direction:column;color:#b4c0d4}.brand{display:flex;gap:13px;align-items:center;color:#fff;font-size:20px;line-height:1.1;font-weight:800;padding:0 13px 41px}.brand small{display:block;font-size:13px;font-weight:500;letter-spacing:1px;color:#899cbb;margin-top:10px}.brand-icon{background:linear-gradient(135deg,#9c88ff,#6357e8,#22c9c9);height:47px;width:47px;border-radius:15px;display:grid;place-items:center;color:#fff;font-size:22px;box-shadow:0 8px 22px #0003}.nav-caption{font-size:13px;font-weight:700;letter-spacing:1.3px;color:#8694af;padding:12px 17px}.nav-link{width:100%;display:flex;gap:14px;align-items:center;border:0;border-radius:11px;text-align:left;background:transparent;color:#a8b7ce;padding:14px 16px;font-size:16px;font-weight:650;margin:3px 0}.nav-link span:first-child{font-size:23px;width:25px;line-height:1}.nav-link.selected{background:#31375a;color:white}.nav-link:not(.disabled):hover{background:#2b3550;color:white}.nav-link.disabled{opacity:.5;cursor:default}.nav-count{margin-left:auto;background:#343f5d;padding:0 7px;border-radius:9px;font-size:14px}.sidebar-card{margin-top:auto;background:#242f49;border:1px solid #3a4764;border-radius:14px;padding:21px 18px}.sidebar-card strong{display:block;color:#fff;font-size:16px}.sidebar-card p{font-size:14px;color:#abb8cf;margin:8px 0 11px}.sidebar-card span{font-size:13px;color:#c8c1ff}.profile{display:flex;align-items:center;gap:11px;padding:20px 7px 0}.profile-avatar{height:40px;width:40px;border-radius:50%;background:#41517b;display:grid;place-items:center;color:white;font-size:18px;font-weight:700}.profile div:nth-child(2){min-width:0;flex:1}.profile strong{display:block;font-size:15px;color:#fff}.profile span{display:block;color:#93a3c1;font-size:13px}.mini-logout{border:0;background:#2e3955;color:#fff;border-radius:9px;padding:6px 10px;font-size:17px}
.main{min-width:0;flex:1}.topbar{height:86px;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 40px}.crumb{display:flex;align-items:center;gap:13px;color:#8591a6;font-size:15px}.crumb strong{color:#25324d}.toolbar{display:flex;align-items:center;gap:18px}.mode-chip{color:#6156d1;background:#f1efff;font-size:13px;font-weight:800;padding:8px 13px;border-radius:100px}.top-avatar{height:38px;width:38px;display:grid;place-items:center;color:#6a5ee8;background:#f3f1ff;border-radius:50%;font-weight:800;font-size:13px}.content{max-width:1470px;margin:auto;padding:40px 43px 90px}.heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:31px}.eyebrow{font-size:13px;letter-spacing:1.6px;font-weight:850;color:var(--purple);margin:0 0 6px}.heading h1{font-size:37px;line-height:1.25;letter-spacing:-.8px;margin:0 0 9px}.heading-sub{margin:0;color:var(--muted);font-size:16px}.heading-help{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:13px;padding:16px 20px;background:#fff;flex-shrink:0}.heading-help strong{display:block;font-size:15px}.heading-help small{font-size:13px;color:var(--muted)}.help-icon{font-size:28px;color:var(--purple)}.stepper{border:1px solid var(--line);border-radius:16px;padding:20px 25px;background:#fff;display:flex;align-items:center;gap:16px;margin-bottom:22px;box-shadow:var(--shadow)}.step{display:flex;align-items:center;gap:10px;min-width:0;font-size:15px;font-weight:750;color:#a1aabb;white-space:nowrap}.step i{font-style:normal;height:32px;width:32px;border-radius:50%;background:#f3f4f9;display:grid;place-items:center;font-size:15px}.step.active{color:#343c64}.step.active i{background:var(--purple);color:white}.step.done{color:#2e8672}.step.done i{background:#e7f7f2}.stepper em{height:1px;background:#e7e9f0;flex:1}.choice-strip{display:flex;align-items:center;gap:14px;border:1px solid #e3e0ff;border-radius:16px;background:#f3f1ff;padding:16px 20px;margin-bottom:23px}.choice-icon{width:48px;height:48px;background:#e7e2ff;display:grid;place-items:center;border-radius:14px;color:#6759eb;font-size:27px}.choice-strip strong{font-size:17px;display:block}.choice-strip span:not(.choice-tag){font-size:14px;color:#655e94}.choice-tag{font-size:13px;margin-left:auto;font-weight:800;background:white;color:#655ad9;padding:7px 10px;border-radius:7px}.editor-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);align-items:start;gap:23px}.stack{display:grid;gap:23px}.panel{background:#fff;border:1px solid var(--line);border-radius:17px;overflow:hidden;box-shadow:var(--shadow)}.panel-title{padding:24px 26px 20px;border-bottom:1px solid #eff0f5;display:flex;align-items:start;gap:12px;justify-content:space-between}.panel-title h2{font-size:20px;margin:0;font-weight:850}.panel-title p{margin:7px 0 0;color:var(--muted);font-size:14px}.count-badge{font-size:14px;color:#6a5fe2;background:#f0edff;padding:7px 11px;border-radius:9px;white-space:nowrap}.panel-body{padding:25px 26px}.dropzone{border:2px dashed #beb7fa;background:linear-gradient(145deg,#fbfaff,#f9fbff);padding:32px 15px;border-radius:15px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;min-height:258px;transition:.2s}.dropzone.drag{background:#eeebff;border-color:#655ae8}.upload-symbol{height:56px;width:56px;border:1px solid #e7e2ff;border-radius:17px;display:grid;place-items:center;font-weight:700;color:#6357e8;background:white;font-size:29px;margin-bottom:12px;box-shadow:0 7px 22px #554dca18}.dropzone strong{font-size:18px}.dropzone p{font-size:14px;color:var(--subtle);margin:6px 0 16px}.upload-buttons,.bottom-buttons{display:flex;gap:12px;align-items:center}.button{border:1px solid #dce2ec;background:#fff;border-radius:10px;padding:12px 18px;font-size:16px;font-weight:750;color:#283452;min-height:46px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;white-space:nowrap}.button.primary{background:var(--purple);border-color:var(--purple);color:white;box-shadow:0 6px 13px #6256e329}.button.primary:hover{background:var(--purple2)}.button.neutral:hover{background:#f5f3ff;border-color:#ada4f3}.files-row{display:flex;align-items:center;justify-content:space-between;margin:21px 0 12px}.files-row strong{font-size:15px}.files-row strong span{color:var(--subtle)}.link{border:0;background:transparent;color:#685ce6;font-size:14px}.asset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.asset{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff}.asset figure{margin:0;height:130px;background:#f1edf2;display:grid;place-items:center;overflow:hidden}.asset figure img,.asset figure video{width:100%;height:100%;object-fit:cover}.asset figure span{font-size:35px;color:#adacc1}.asset > p{font-size:13px;font-weight:650;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin:8px 9px 0}.asset > small{display:block;margin:0 9px 10px;color:var(--muted);font-size:12px}.asset button{position:absolute;right:6px;top:6px;border:0;border-radius:9px;color:#fff;background:#1a2339b8;font-size:16px;width:29px;height:29px}.empty{grid-column:1/-1;text-align:center;border:1px solid var(--line);padding:36px 8px;border-radius:11px;color:#9ba5b5;background:#fcfcfd;font-size:15px}.info-note{background:#faf9ff;color:#706f86;padding:13px 16px;border-radius:9px;font-size:14px;line-height:1.7;margin-top:21px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:10px}.field.full{grid-column:1/-1}.field label{font-size:16px;font-weight:780}.field input,.field textarea{width:100%;background:#fff;color:#1e2940;border-radius:10px;border:1px solid #dbe0ec;padding:12px 14px;font-size:16px;min-height:49px;outline:none}.field input:focus,.field textarea:focus{border-color:#7165ec;box-shadow:0 0 0 3px #6255ec19}.field textarea{resize:vertical;line-height:1.8}.group{margin-bottom:24px}.tile-picker,.style-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.tile,.style-grid button{border:1px solid #e3e6ee;border-radius:10px;background:#fff;color:#556174;padding:12px 10px;font-size:15px;font-weight:750}.tile.active,.style-grid button.active{border-color:#a59cfb;background:#f4f2ff;color:#6355e7}.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.segmented button{background:#f8f9fc;border:1px solid #e7e9f1;color:#657088;border-radius:9px;padding:11px 6px;font-size:15px;font-weight:750}.segmented button.active{color:#fff;border-color:#6a5ce5;background:#6a5ce5}.tags{display:flex;flex-wrap:wrap;gap:9px}.tag{padding:8px 12px;background:#f1f2f7;color:#65708a;border-radius:9px;font-size:14px;font-weight:600}.divider{border-top:1px solid #eef0f5;margin:9px 0 22px}.checkline{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:650}.checkline input{accent-color:#6154e8;width:19px;height:19px}.setting-note{border-radius:11px;padding:16px;background:#f9fafc;border:1px solid #e9ecf3;margin-top:22px}.setting-note strong{font-size:14px}.setting-note p{color:var(--muted);font-size:14px;margin:4px 0 0}.bottom-action{margin-top:22px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-radius:15px;border:1px solid var(--line);padding:22px 26px;background:white}.bottom-action strong{font-size:18px}.bottom-action p{font-size:14px;color:var(--muted);margin:4px 0 0}.plan-grid{display:grid;grid-template-columns:1.3fr .7fr;align-items:start;gap:23px}.shots{display:grid;gap:12px}.shot{display:grid;grid-template-columns:42px 1fr auto;gap:15px;align-items:start;background:#f8f9fc;border:1px solid #edeef3;border-radius:12px;padding:14px}.shot-index{background:#eeeaff;color:#655ae8;border-radius:9px;text-align:center;font-weight:850;padding:8px}.shot strong{font-size:16px}.shot p{margin:5px 0 0;color:var(--muted);font-size:14px}.shot-time{color:#6357d5;font-weight:800;font-size:14px}.left{justify-content:start;margin-top:20px}.summary-kv{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid #f0f1f6;padding:15px 0;font-size:15px}.summary-kv span{color:var(--muted)}.summary-kv strong{text-align:right}.render-panel{text-align:center;padding:40px;max-width:760px;margin:25px auto}.render-icon{width:80px;height:80px;border-radius:25px;background:#f1edff;color:#675be6;display:grid;place-items:center;font-size:33px;margin:0 auto 16px}.render-panel h2{font-size:27px;margin:0}.render-panel p{font-size:16px;color:var(--muted);margin:9px 0 25px}.progress-track{height:13px;background:#ebeef5;border-radius:50px;overflow:hidden}.progress-bar{background:#6758e9;width:0%;height:100%;transition:width .3s}.progress-caption{display:flex;justify-content:space-between;color:var(--muted);font-size:14px;margin:8px 0 20px}.progress-caption strong{color:#6558e2}.render-panel video{max-width:100%;max-height:650px;border-radius:14px;background:#111827;margin:0 auto 24px;display:block}.centered{justify-content:center}.project-list{display:grid;gap:14px}.project-item{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;display:flex;justify-content:space-between;gap:20px;align-items:center}.project-item strong{font-size:18px}.project-item p{font-size:14px;color:var(--muted);margin:6px 0 0}.project-item button{flex:none}.auth-overlay{position:fixed;inset:0;background:#151c2dd9;display:grid;place-items:center;z-index:100;padding:20px}.auth-card{width:min(100%,460px);padding:42px;background:#fff;border-radius:23px;box-shadow:0 20px 80px #0003}.login-logo{width:60px;height:60px;display:grid;place-items:center;background:linear-gradient(135deg,#9584ff,#6151e8);border-radius:16px;color:white;font-size:28px}.auth-card h2{font-size:26px;margin:22px 0 7px}.auth-card p{font-size:16px;color:var(--muted);margin:0 0 23px}.auth-card label{display:block;font-weight:750;font-size:15px;margin-bottom:17px}.auth-card input{width:100%;margin-top:8px;border:1px solid var(--line);border-radius:9px;padding:12px;font-size:17px}.auth-card .button{width:100%}.login-hint{font-size:14px;color:#7a8497;margin-top:14px;text-align:center}.toast{position:fixed;right:25px;bottom:25px;max-width:min(440px,90vw);background:#1d2940;color:white;padding:15px 21px;border-radius:12px;box-shadow:0 10px 35px #12203940;font-size:15px;z-index:110;opacity:0;transform:translateY(12px);transition:.18s;pointer-events:none}.toast.show{opacity:1;transform:none}
@media(max-width:1200px){.editor-grid{grid-template-columns:1fr}.heading-help{display:none}.content{padding:35px 28px 75px}.plan-grid{grid-template-columns:1fr}.stepper{gap:7px}.stepper em{min-width:6px}}
@media(max-width:780px){.app{display:block}.sidebar{position:relative;height:auto;width:auto;min-width:0;padding:16px;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px}.brand{padding:0 16px 0 0;font-size:17px}.brand small,.nav-caption,.sidebar-card,.profile{display:none}.brand-icon{width:38px;height:38px}.nav-link{width:auto;margin:0;padding:9px 11px;font-size:14px}.topbar{height:58px;padding:0 16px}.top-avatar{display:none}.content{padding:24px 15px 55px}.heading h1{font-size:27px}.heading-sub{font-size:15px}.stepper{padding:14px 11px;gap:4px}.step{font-size:12px;gap:5px}.step i{height:25px;width:25px}.stepper em{min-width:4px}.step span{display:none}.editor-grid{display:block}.stack{margin-bottom:17px}.panel-title,.panel-body{padding:20px 17px}.form-grid{grid-template-columns:1fr}.bottom-action{flex-direction:column;align-items:stretch;padding:17px}.bottom-buttons .button{flex:1}.heading-help{display:none}.asset-grid{grid-template-columns:repeat(2,1fr)}.choice-tag{display:none}.shot{grid-template-columns:33px 1fr}.shot-time{grid-column:2}.project-item{align-items:stretch;flex-direction:column}}
/* V0.3: customer-facing cross-industry template catalogue */
.type-section{margin-bottom:22px}.type-counter{font-size:13px;color:#7d81a0;font-weight:650;margin-left:9px}.type-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;padding:23px}.type-card{display:flex;flex-direction:column;border:1.5px solid #e1e6f0;border-radius:14px;padding:9px;text-align:left;background:#fff;cursor:pointer;color:#293247;transition:transform .12s,border-color .12s,box-shadow .12s;min-width:0}.type-card:hover{transform:translateY(-2px);border-color:#978def;box-shadow:0 12px 20px #28315211}.type-card.active{border:2px solid #6f61e7;padding:8.5px;box-shadow:0 0 0 4px #6757ec12}.type-card:focus-visible{outline:3px solid #afa9ff;outline-offset:3px}.type-art{min-height:128px;display:flex;flex-direction:column;justify-content:center;padding:14px 16px;gap:7px;border-radius:9px;color:#fff;overflow:hidden}.type-art i{font-size:22px;font-style:normal;font-weight:900;opacity:.75}.type-art b{font-size:20px;line-height:1.15;white-space:normal}.type-art em{font-size:11px;letter-spacing:1px;font-style:normal;opacity:.72;line-height:1.15}.type-art.food{background:radial-gradient(circle at 105% 20%,#c6a47d 0,#8c6242 19%,transparent 53%),linear-gradient(155deg,#34362f,#a06547)}.type-art.info{background:radial-gradient(circle at 108% 0,#21bac7 0,transparent 55%),linear-gradient(145deg,#0d2349,#284d78)}.type-art.person{background:radial-gradient(circle at 87% 83%,#ffc17b 0,transparent 40%),linear-gradient(150deg,#484263,#8d6a91)}.type-art.process{background:radial-gradient(circle at 100% 0,#b4cfff 0,transparent 48%),linear-gradient(150deg,#223d5b,#3658a5)}.type-art.creative{background:radial-gradient(circle at 100% 50%,#f0adff 0,transparent 50%),linear-gradient(150deg,#37225d,#7863ac)}.type-info{padding:14px 6px 6px;display:flex;flex-direction:column;flex:1;gap:8px}.type-info strong{font-size:16px;line-height:1.4}.type-info small{font-size:13px;color:#78849b;line-height:1.4}.type-status{display:block;margin-top:auto;color:#407967;font-weight:800;font-size:12px;padding-top:5px}.type-status.coming{color:#bd8231}.limit-text{font-size:13px!important;font-weight:760;color:#5d5891!important;margin-top:-4px!important}.template-settings{margin-top:23px}.theme-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.theme-picker button{border:1.5px solid #e0e5ee;background:#fff;color:#43506b;min-height:47px;border-radius:11px;font-size:15px;font-weight:750;cursor:pointer}.theme-picker button.active{border-color:#7569ed;background:#f3f0ff;color:#5747c2}.button:disabled,.segmented button:disabled{opacity:.55;cursor:not-allowed}.type-art:not(.food){position:relative}.type-art.info:after{content:'✦';font-size:50px;opacity:.1;position:absolute;right:12px;top:8px}
@media(max-width:1380px){.type-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1000px){.type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.type-art{min-height:115px}.type-art b{font-size:19px}}@media(max-width:580px){.type-grid{padding:13px;gap:9px}.type-art{min-height:100px;padding:12px}.type-art b{font-size:16px}.type-art em{font-size:10px}.type-info{padding:8px 3px 3px;gap:5px}.type-info strong{font-size:14px}.type-info small{font-size:12px}.type-status{font-size:11px}.template-settings .form-grid{gap:14px}.theme-picker{grid-template-columns:1fr}.heading h1{font-size:30px}.content{padding-top:25px}}

/* V0.3: storyboard editing inherits the same customer-friendly large type scale. */
.shot-edit{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}
.shot-edit label{font-size:16px;font-weight:750;color:#223b56}
.shot-edit textarea{display:block;width:100%;min-height:64px;border:1px solid #d5dfea;border-radius:10px;padding:12px 14px;background:#fff;color:#243b54;font-family:inherit;font-size:16px;line-height:1.6;font-weight:500;resize:vertical;box-sizing:border-box;outline:none}
.shot-edit textarea:focus{border-color:#536fe6;box-shadow:0 0 0 3px rgba(83,111,230,.13)}
@media(max-width:660px){.shot{flex-wrap:wrap}.shot-time{min-width:86px}.shot-edit textarea{min-height:84px}}

/* V0.4: Accessible AI production controls */
.avf-options{display:grid;gap:12px;margin:8px 0 16px}.avf-switch{display:flex;align-items:flex-start;gap:14px;font-size:16px;line-height:1.5;cursor:pointer;border:1px solid var(--border,#dedfe6);border-radius:12px;padding:14px;background:var(--surface,#fff)}
.avf-switch input{width:21px;height:21px;flex:none;accent-color:#4f70f1;margin-top:2px}.avf-switch span{font-weight:650}.avf-switch small{display:block;font-weight:400;color:#7c8595;font-size:14px;margin-top:3px}.avf-options input:focus-visible{outline:3px solid #819fff;outline-offset:3px}
#providerStatus{font-size:14px;line-height:1.6}#aiPromptContainer textarea{font-size:16px}
