*{box-sizing:border-box}body{margin:0;background:#f5f6f8;color:#1d2430;font:14px/1.6 "Segoe UI","Microsoft YaHei",sans-serif}button,input,select,textarea{font:inherit}button,.button{border:1px solid #e0e4eb;background:white;border-radius:10px;padding:9px 14px;color:inherit;cursor:pointer;text-decoration:none;display:inline-block}button:hover,.button:hover{border-color:#83aef1;background:#f4f8ff}button:disabled{cursor:not-allowed;opacity:.55}a{color:#246bd1;text-decoration:none}input,select,textarea{border:1px solid #e2e6ee;border-radius:10px;padding:10px 12px;background:#fff;color:inherit;max-width:100%;width:100%}textarea{resize:vertical;min-height:100px}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:2px solid #609bed;outline-offset:2px}h1,h2,h3,p{margin-top:0}h1{font-size:30px;letter-spacing:-1px}h2{font-size:18px}h3{font-size:15px}.muted{color:#7e8795;font-size:12px}.announcement{height:38px;background:linear-gradient(110deg,#a293eb,#468ef0,#0fa8c5);color:white;display:flex;justify-content:center;align-items:center;gap:22px;font-size:12px;position:fixed;inset:0 0 auto;z-index:5}.pilot{border:1px solid #ffffff70;border-radius:20px;padding:1px 10px}.rail{position:fixed;top:38px;bottom:0;width:84px;display:flex;flex-direction:column;align-items:center;background:#f5f6f8;border-right:1px solid #e9ecf1;z-index:4}.brand{padding:20px 0}.brand img{width:33px;height:33px}.rail nav{display:flex;flex-direction:column;width:100%;gap:5px}.rail a:not(.brand){display:flex;align-items:center;flex-direction:column;color:#78808c;font-size:23px;padding:8px;border-radius:12px;margin:0 8px}.rail a.active{color:#1b70e3;background:#e6effc}.rail small{font-size:11px}.rail-bottom{margin-top:auto;text-align:center;font-size:9px;color:#949dac;padding-bottom:15px}main{margin:38px 0 0 84px;padding:28px;min-height:calc(100vh - 38px)}.home{max-width:1150px;margin:42px auto}.home h1{text-align:center;margin-bottom:38px}.accent{color:#2777db}.composer{border:1px solid #e7eaf0;background:white;border-radius:22px;padding:24px;box-shadow:0 12px 30px #253e6810}.composer textarea{border:0;min-height:70px;font-size:16px}.row{display:flex;gap:12px;align-items:center;justify-content:space-between}.row>*{min-width:0}.row input{flex:1}.primary{background:#2577e6;color:white;border-color:#2577e6}.primary:hover{background:#1866ce;color:white}.quick-tools{display:flex;justify-content:space-around;margin:30px 0 42px;gap:14px}.quick-tools a,.quick-tools button{display:flex;flex-direction:column;align-items:center;gap:8px;border:0;background:none;color:#4d596d;font-size:12px}.quick-tools b{font-size:24px;border:1px solid #e4e8ef;border-radius:14px;background:#edf0f5;padding:8px 18px}.scene-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.scene-card{text-align:left;padding:0;overflow:hidden;border-radius:15px}.scene-art{height:110px;background:linear-gradient(140deg,#e0e9f4,#f8fbff);display:flex;align-items:center;justify-content:center;color:#82a2c5;font-size:45px;letter-spacing:10px}.scene-card:nth-child(3n+2) .scene-art{background:linear-gradient(140deg,#eee4e0,#fff9f1);color:#c6a085}.scene-card:nth-child(3n) .scene-art{background:linear-gradient(140deg,#e2e4f7,#f8f6ff);color:#a297cd}.scene-copy{padding:14px 18px}.scene-copy strong{display:block;font-size:15px}.section-title{margin:28px 0 15px}.workbench{display:grid;grid-template-columns:minmax(300px,370px) minmax(260px,1fr) 240px;gap:18px;align-items:start;max-width:1800px;margin:auto}.panel{background:white;border:1px solid #e5e9f0;border-radius:16px;padding:20px}.panel-title{padding-bottom:14px;border-bottom:1px solid #eef0f4;margin-bottom:18px}.panel label.field{display:block;margin:16px 0 6px;color:#5f6b7d;font-size:12px}.upload-box{border:1px dashed #cbd6e7;width:100%;padding:22px;background:#fafcff;margin:15px 0}.selected-assets{display:flex;gap:7px;flex-wrap:wrap}.chip{font-size:11px;background:#eef4fc;border-radius:6px;padding:4px 8px;max-width:100%;overflow-wrap:anywhere}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.settings-grid label{font-size:11px;color:#798396}.settings-grid select,.settings-grid input{margin-top:4px}.settings-grid .wide{grid-column:1/-1}details{border:1px solid #e5e9ef;border-radius:10px;padding:12px;margin:16px 0}summary{cursor:pointer;color:#4c5970}.full{width:100%;margin-top:12px}.status{display:inline-block;font-size:11px;border-radius:20px;padding:3px 10px;background:#eff3f8;color:#6c7c94}.preview-empty{min-height:320px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:linear-gradient(145deg,#f8fafc,#edf2fa);border-radius:12px;padding:25px}.preview-empty b{font-size:45px;color:#b0c3df}.steps{display:flex;gap:7px;flex-wrap:wrap;margin:20px 0}.step{padding:7px 10px;background:#f1f5fb;border-radius:8px;font-size:12px}.blockers{padding:12px 18px;background:#fff8e9;border-radius:10px;color:#9b7436;font-size:12px}.blockers li{margin:7px 0}.queue{max-height:70vh;overflow:auto}.task{width:100%;text-align:left;margin:7px 0;padding:12px;font-size:12px}.task.selected{border-color:#78a9f2;background:#f2f7ff}.task strong{display:block}.task small{color:#8190a5}.asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin:18px 0}.asset-tile{padding:12px;border:1px solid #e1e7ef;border-radius:12px;overflow:hidden;overflow-wrap:anywhere}.asset-tile img,.asset-tile video{width:100%;height:100px;object-fit:contain;background:#eef1f7}.asset-tile input{width:auto}.asset-tile audio{max-width:100%}dialog{width:min(850px,95vw);max-height:90vh;overflow:auto;border:1px solid #dce4ef;border-radius:20px;padding:24px}dialog::backdrop{background:#14233c65}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#253d5e;color:white;box-shadow:0 4px 20px #0003;border-radius:12px;padding:12px 22px;max-width:80vw;z-index:20}.model-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.canvas{display:flex;gap:24px;overflow:auto;padding:35px 0}.node{min-width:200px;border:1px solid #d6e0ee;border-radius:14px;background:white;padding:22px}.node:not(:last-child):after{content:'→';float:right;color:#6e9fdd;margin-right:-40px}.preview-media{width:100%;max-height:480px;object-fit:contain;border-radius:12px;background:#edf1f5}pre{white-space:pre-wrap;word-break:break-word;font:12px/1.7 Consolas,monospace;max-height:400px;overflow:auto}.catalog-note{margin-top:20px}.counts{display:flex;gap:12px;font-size:11px;color:#7d8a9a}.home-recent{margin-top:35px}table{border-collapse:collapse;width:100%;font-size:12px}td,th{padding:10px;text-align:left;border-bottom:1px solid #e9edf4}[hidden]{display:none!important}@media(min-width:1450px){main{padding:32px 42px}.workbench{grid-template-columns:400px minmax(400px,1fr) 270px}}@media(max-width:1100px){.workbench{grid-template-columns:320px minmax(200px,1fr)}.queue-panel{grid-column:1/-1}.queue{display:flex;gap:10px;max-height:200px}.queue .task{min-width:190px}.model-grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.rail{width:64px}.rail a:not(.brand){margin:0 3px}.rail small{font-size:10px}main{margin-left:64px;padding:14px}.announcement{font-size:10px;gap:8px}.announcement>span:not(.pilot){display:none}.home{margin:22px auto}.home h1{font-size:23px}.scene-grid,.model-grid{grid-template-columns:1fr 1fr}.workbench{grid-template-columns:1fr}.queue-panel{grid-column:auto}.quick-tools{flex-wrap:wrap}.panel{padding:15px}.scene-art{height:80px}.row{flex-wrap:wrap}}
@media(min-width:901px){.workbench{grid-template-columns:minmax(270px,350px) minmax(230px,1fr) 200px;height:calc(100vh - 100px)}.workbench>.panel{max-height:100%;overflow:auto}.workbench .queue-panel{grid-column:auto}.workbench .queue{display:block;max-height:none}.workbench .queue .task{min-width:0}.workbench .queue a{display:block}.workbench .panel{padding:16px}}
.language-toggle{position:fixed;right:12px;top:4px;z-index:6;padding:2px 12px;font-size:12px;background:#ffffffed}.announcement{padding-right:100px}.rail small{max-width:68px;text-align:center;line-height:1.3}.rail nav a{font-size:20px}.rail-bottom{padding-bottom:5px}@media(max-height:760px){.rail nav{gap:0}.rail a:not(.brand){padding:5px}.brand{padding:12px 0}}
#script-review{border-top:1px solid #dfe4ea;margin-top:24px;padding-top:18px}#script-text{width:100%;min-height:270px}.review-check{display:flex;gap:8px;align-items:flex-start;margin:16px 0}.review-check input{width:auto;margin-top:4px}

.director-brief-summary,.quality-summary{padding:14px;border:1px solid #dfe6ef;border-radius:12px;background:#f7faff;margin:14px 0}.director-brief-summary p,.quality-summary p{margin:8px 0 0}.quality-summary.needs-attention{background:#fff8ea;border-color:#f0d29a}.quality-summary.checks-pass{background:#eff9f4;border-color:#b9ddcc}.spoken-section{padding:16px 0;border-bottom:1px solid #e4eaf1}.spoken-section label{display:block;margin-top:10px;color:#526177}.spoken-section textarea{min-height:76px;margin-top:5px;line-height:1.65}.spoken-section input{margin-top:5px}.history-version{display:block;width:100%;text-align:left;margin:8px 0}.shot-diagnostic{border-bottom:1px solid #dfe6ef;margin-bottom:16px;padding-bottom:8px}#script-history,#script-advanced,#script-budget{margin:16px 0}#spoken-editor+.row{margin-top:16px}#script-save-state{color:#355d82}#script-history pre{max-height:450px}#review-quality li{margin:8px 0}

.shot-reference{width:76px;height:90px;object-fit:contain;float:right;margin:0 0 10px 12px;background:#f2f5f9;border-radius:8px}

.director-progress{position:sticky;top:0;z-index:2;display:flex;gap:12px;padding:16px;margin:12px 0;border:1px solid #a5c7f4;border-radius:12px;background:#edf5ff;box-shadow:0 3px 10px #243b5312}.director-progress p{margin:6px 0;font-size:13px}.director-progress.complete{background:#eff9f4;border-color:#a7d5bc}.director-progress.failed{background:#fff5ec;border-color:#ebc09c}.director-indicator{flex:0 0 24px;width:24px;height:24px;text-align:center;font-weight:bold;color:#2472cd}.running .director-indicator{border:3px solid #bfd7f5;border-top-color:#2472cd;border-radius:50%;animation:director-spin 1s linear infinite}#director-elapsed{font-weight:600;color:#225e9e}@keyframes director-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.running .director-indicator{animation:none}}

.task-open{padding:0;border:0;text-align:left;background:transparent}.task [data-task-progress]{font-size:12px;padding:6px 10px;margin:8px 0}.task small{display:block}#task-progress-dialog li{margin:12px 0}

.login-page .login-card{box-sizing:border-box;width:min(480px,calc(100% - 32px));margin:10vh auto;padding:32px;background:white;border:1px solid #dce4f0;border-radius:20px}.login-card h1{font-size:26px;line-height:1.4}.login-card form{display:grid;gap:20px;margin-top:28px}.login-card label{display:grid;gap:8px}.login-card button{width:100%;min-height:46px}
