:root{color-scheme:dark;--drama-bg:var(--sws-canvas);--drama-panel:var(--sws-surface-strong);--drama-border:var(--sws-line);--drama-muted:var(--sws-text-muted);--drama-accent:var(--sws-accent);--drama-text:var(--sws-text)}

*{box-sizing:border-box}
body{margin:0;background:var(--drama-bg);color:var(--drama-text);font:14px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{outline-offset:4px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--drama-accent)}
button{cursor:pointer;color:var(--drama-text);background:var(--sws-surface-raised);border:1px solid var(--drama-border);border-radius:9px;padding:9px 13px;transition:background .18s,border-color .18s}
button:hover:not(:disabled){background:var(--sws-surface);border-color:#7c8a70}
button:disabled{opacity:.45;cursor:not-allowed}
a{color:inherit;text-decoration:none}
a:hover{color:var(--drama-accent)}
.primary{display:inline-block;background:var(--drama-accent);border:1px solid var(--drama-accent);color:#211c14;font-weight:650;border-radius:9px;padding:10px 16px}
.primary:hover:not(:disabled){background:#e9c795;color:#211c14}
.large{padding:13px 23px}
.muted{color:var(--drama-muted);font-size:13px}
.eyebrow{color:var(--drama-accent);font-size:11px;letter-spacing:.18em}
.drama-header{height:76px;display:flex;align-items:center;gap:28px;padding:0 28px;border-bottom:1px solid var(--drama-border);position:sticky;top:0;z-index:10;background:var(--drama-bg)}
.drama-brand{display:flex;align-items:center;gap:10px;white-space:nowrap}
.drama-mark{width:32px;height:32px;border:1px solid #756346;color:var(--drama-accent);border-radius:10px;text-align:center;font-size:20px;font-weight:700}
.drama-save-state{margin-left:auto;color:var(--drama-muted);font-size:13px}
.drama-banner{padding:12px 28px;border-bottom:1px solid #756346;background:#2a251d;color:#f2d5ae}
.drama-layout{display:grid;grid-template-columns:210px minmax(0,1fr) 292px;min-height:calc(100vh - 76px)}
.drama-projects{padding:24px 18px;border-right:1px solid var(--drama-border)}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.section-heading h2{font-size:15px;margin:0}
.section-heading button{padding:3px 10px;font-size:20px;background:none}
.project-list{display:grid;gap:8px}
.project-list button{text-align:left;background:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.project-list button[aria-current]{background:#2c3027;border-color:#737e64}
.project-note{margin-top:35px}
.drama-projects>select{display:none}
.drama-main{padding:30px 34px;min-width:0}
.drama-main h1{font-size:28px;line-height:1.3;margin:7px 0 12px;letter-spacing:-.02em}
.drama-title-row{display:flex;align-items:center;justify-content:space-between;gap:20px}
.drama-title-row>a{font-size:13px;color:var(--drama-muted)}
.drama-welcome{padding:45px 0;max-width:880px}
.drama-welcome h1{font-size:54px;font-weight:550;line-height:1.2;margin:22px 0}
.drama-welcome>p{color:var(--drama-muted);font-size:15px;max-width:480px;margin-bottom:28px}
.welcome-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:65px}
.welcome-steps article{display:grid;gap:9px;border-top:1px solid var(--drama-border);padding:20px 0}
.welcome-steps b{color:var(--drama-accent);font-weight:400;font-size:13px}
.welcome-steps strong{font-size:17px}
.welcome-steps span{font-size:13px;color:var(--drama-muted)}
.episode-bar{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:20px 0}
.episode-bar label{white-space:nowrap;display:flex;align-items:center;gap:10px;color:var(--drama-muted);font-size:13px}
.episode-bar select{min-width:140px}
.episode-bar .muted{margin-left:auto;padding-bottom:10px}
.drama-stages{display:flex;gap:5px;border-bottom:1px solid var(--drama-border);margin-bottom:24px}
.drama-stages button{flex:1;border:0;border-radius:0;background:none;color:var(--drama-muted);padding:14px 5px;border-bottom:2px solid transparent;white-space:nowrap}
.drama-stages button[aria-current]{border-bottom-color:var(--drama-accent);color:var(--drama-text)}
.drama-stages b{font-size:10px;border:1px solid var(--drama-border);border-radius:50%;margin-right:7px;padding:2px 6px;font-weight:400}
label{display:grid;gap:7px;color:var(--sws-text);font-size:13px}
input,select,textarea{color:var(--drama-text);background:var(--sws-canvas);border:1px solid var(--drama-border);border-radius:8px;padding:10px 11px;width:100%;min-width:0}
textarea{resize:vertical;line-height:1.8;min-height:70px}
input:disabled,select:disabled,textarea:disabled{opacity:.65}
.field-row{display:grid;grid-template-columns:minmax(0,1fr) 130px;gap:14px;margin-bottom:18px}
.story-input{min-height:300px}
.panel-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;flex-wrap:wrap}
.panel-toolbar h2{font-size:17px;margin:0}
.drama-assets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:28px}
.asset-card,.shot-card,.film-card{background:var(--drama-panel);border:1px solid var(--drama-border);border-radius:13px;padding:18px}
.asset-card{display:grid;gap:12px}
.asset-image{width:100%;height:180px;object-fit:contain;background:#121512;border-radius:7px}
.asset-placeholder{height:115px;border:1px dashed #454d3f;display:grid;place-items:center;color:var(--drama-muted);border-radius:7px}
.asset-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.asset-controls label{display:inline-block;cursor:pointer;border:1px solid var(--drama-border);border-radius:8px;padding:7px 12px;color:var(--drama-text)}
.asset-controls input{position:absolute;width:1px;height:1px;padding:0;border:0;opacity:0}
.asset-controls label:focus-within{outline:2px solid var(--drama-accent);outline-offset:3px}
.asset-controls button,.shot-heading button{min-height:36px}
.asset-card audio{width:100%;margin:10px 0}
.asset-controls button{font-size:13px;padding:7px 10px}
.asset-controls .danger{margin-left:auto;color:#dba9a1}
.shot-card{margin:0 0 16px;display:grid;gap:13px}
.shot-heading{display:flex;gap:10px;align-items:center}
.shot-heading>b{color:var(--drama-accent);font-size:13px;white-space:nowrap}
.shot-heading input{flex:1}
.shot-heading button{padding:5px 9px}
.shot-options{display:flex;gap:12px;flex-wrap:wrap;align-items:end}
.shot-options>label{flex:1;min-width:120px}
.shot-options>label:first-child{flex:0 0 105px}
.cast-checks{display:flex;gap:12px;flex-wrap:wrap}
.cast-checks label{display:flex;align-items:center;gap:5px}
.cast-checks input{width:16px}
.state-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.shot-result{display:flex;align-items:center;justify-content:space-between;gap:10px}
.shot-result video{max-width:220px;width:50%;max-height:125px;background:#080a08;border-radius:7px}
.shot-warning{color:#e9b2a3;font-size:13px}
.drama-production{border-left:1px solid var(--drama-border);padding:28px 20px;background:var(--sws-canvas);position:sticky;top:76px;height:calc(100vh - 76px);overflow:auto}
.drama-production label{margin-bottom:16px}
.status-dot{width:7px;height:7px;background:var(--drama-accent);border-radius:50%}
.production-actions{display:grid;gap:9px;border-top:1px solid var(--drama-border);padding-top:20px;margin-top:18px}
.production-actions button{width:100%;font-size:13px}
.model-description{font-size:13px;color:var(--drama-muted);line-height:1.8}
.job-card{border-top:1px solid var(--drama-border);padding-top:18px;margin-top:20px}
.job-card>div{display:flex;justify-content:space-between;gap:8px}
.job-card p{font-size:13px;color:var(--drama-muted);overflow-wrap:anywhere}
.job-card progress{width:100%;height:5px;accent-color:var(--drama-accent)}
.job-card button{font-size:13px;padding:6px 9px}
.job-actions{margin-top:12px}
.film-card video{width:100%;max-height:480px;background:#080a08;border-radius:8px}
.film-actions{display:flex;gap:10px;margin-top:15px;flex-wrap:wrap}
.drama-dialog{width:min(480px,calc(100vw - 30px));border:1px solid #525847;border-radius:16px;padding:25px;background:var(--sws-surface-strong);color:var(--drama-text)}
.drama-dialog::backdrop{background:#0009}
.drama-dialog label{margin:20px 0}
.drama-dialog .quote-points{font-size:36px;color:var(--drama-accent);line-height:1.3;margin:12px 0}
.dialog-actions{display:flex;justify-content:end;gap:10px;margin-top:25px}
.drama-empty{border:1px dashed #41493b;padding:35px 22px;border-radius:12px;text-align:center;color:var(--drama-muted)}
[hidden]{display:none!important}

@media(max-width:1200px){.drama-layout{grid-template-columns:175px minmax(0,1fr) 255px}
.drama-main{padding:25px 20px}
.drama-header{gap:18px;padding:0 20px}
.drama-save-state{display:none}
.drama-header>.primary{margin-left:auto}
.drama-assets{grid-template-columns:1fr}
}

@media(max-width:900px){.drama-layout{grid-template-columns:155px minmax(0,1fr)}
.drama-production{grid-column:2;position:static;height:auto;border-top:1px solid var(--drama-border);border-left:0}
.drama-header{gap:14px}
.drama-brand strong{display:none}
.drama-welcome h1{font-size:42px}
.welcome-steps{gap:10px;margin-top:40px}
}

@media(max-width:640px){.drama-header{height:auto;min-height:66px;padding:12px;gap:10px;flex-wrap:wrap}
.drama-header .sws-product-nav{order:3;width:100%;justify-content:space-between;overflow:auto}
.drama-header>.primary{padding:7px 11px;font-size:13px}
.drama-brand strong{display:block;font-size:14px}
.drama-layout{display:block}
.drama-projects{padding:14px;border-right:0;border-bottom:1px solid var(--drama-border);display:flex;align-items:center;gap:14px}
.drama-projects .section-heading{margin:0;white-space:nowrap}
.drama-projects>select{display:block}
.project-list,.project-note{display:none}
.drama-main{padding:22px 15px}
.drama-main h1{font-size:24px}
.drama-welcome{padding:20px 0}
.drama-welcome h1{font-size:40px}
.welcome-steps{grid-template-columns:1fr;gap:0;margin-top:32px}
.welcome-steps article{grid-template-columns:25px 70px 1fr;align-items:start}
.drama-title-row>a{font-size:11px}
.episode-bar .muted{margin:0}
.drama-stages button{font-size:13px}
.drama-stages b{display:none}
.field-row{grid-template-columns:minmax(0,1fr) 100px}
.state-fields{grid-template-columns:1fr}
.shot-card{padding:14px}
.drama-production{padding:24px 16px}
.drama-banner{padding:11px 15px}
.shot-heading{gap:6px}
.shot-heading button{padding:5px 7px}
.story-input{min-height:260px}
}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}


@media(pointer:coarse){body,.muted,label,.model-description,.shot-warning{font-size:13px}
.asset-controls label,.asset-controls button,.shot-heading button{min-height:40px;min-width:40px}
}


.drama-production-link{display:none;font-size:13px;color:var(--drama-accent);white-space:nowrap}
#drama-production{scroll-margin-top:130px}
@media(max-width:900px){.drama-production-link{display:block}
}
