:root{color:#27231f;background:#f5f0e8;font-family:Noto Sans SC,PingFang SC,system-ui,sans-serif;font-synthesis:none;--ink: #27231f;--muted: #746d64;--paper: #fffdf8;--line: #ddd3c5;--soft: #eee7dc;--red: #a63a2b;--red-dark: #812b20;--green: #39755f;--amber: #ad6d16;--shadow: 0 18px 55px rgba(67, 49, 31, .09)}#root{min-height:calc(100dvh - 64px)}.auth-screen{min-height:calc(100dvh - 64px);display:grid;place-items:center;padding:32px 20px;background:radial-gradient(circle at 20% 10%,#fff2cf 0,transparent 42%),#f7f2e9;color:#23312b}.auth-screen>p{color:#6b766f}.auth-loader{width:34px;height:34px;border:3px solid #d7ddd8;border-top-color:#3e7b67;border-radius:50%;animation:auth-spin .8s linear infinite}.auth-card{width:min(460px,100%);padding:36px;border:1px solid rgba(64,81,72,.14);border-radius:24px;background:#ffffffeb;box-shadow:0 24px 80px #35413a21}.auth-card h1{margin:8px 0 12px;font-family:var(--serif);font-size:clamp(28px,5vw,40px);line-height:1.15}.auth-card>p:not(.auth-eyebrow){color:#68736d;line-height:1.7}.auth-eyebrow{margin:0;color:#39715f;font-size:12px;font-weight:800;letter-spacing:.13em}.auth-card form{display:grid;gap:16px;margin-top:26px}.auth-card label{display:grid;gap:7px;color:#4d5b54;font-size:13px;font-weight:700}.auth-card input{height:46px;padding:0 13px;border:1px solid #d5ddd8;border-radius:10px;background:#fff;color:#23312b;font:inherit}.auth-card input:focus{outline:3px solid rgba(62,123,103,.18);border-color:#3e7b67}.auth-card button{height:48px;border:0;border-radius:11px;background:#326c59;color:#fff;font:inherit;font-weight:800;cursor:pointer}.auth-card button:disabled{opacity:.62;cursor:wait}.auth-error{margin:0;color:#a53d34;font-size:13px}@keyframes auth-spin{to{transform:rotate(360deg)}}:root{--ink: #16201d;--muted: #68726e;--paper: #ffffff;--line: #dfe5e2;--soft: #f3f6f4;--red: #0d6b59;--red-dark: #095244;--green: #0d6b59;--amber: #c37a0d;--shadow: 0 16px 44px rgba(21, 50, 42, .08)}body{background:#f6f8f7}.topbar{height:64px;padding:0 22px;gap:20px;background:#fffffff5;border-color:#e4e9e7}.brand-mark{min-width:168px}.brand-mark:before{content:"✶";width:34px;height:34px;color:#0d6b59;background:#f2d277;border-radius:9px;font-family:inherit;box-shadow:inset 0 0 0 1px #0d6b593d}.brand-mark span{color:#17201d;font-family:Songti SC,STSong,"Noto Serif SC",serif;font-size:21px;letter-spacing:.04em}.project-switcher{position:relative;padding:0;border:0}.project-switcher>summary{min-width:230px;height:42px;display:flex;align-items:center;gap:8px;padding:0 12px;border-left:1px solid var(--line);cursor:pointer;list-style:none;border-radius:8px}.project-switcher>summary::-webkit-details-marker{display:none}.project-switcher>summary:hover{background:#f4f7f5}.project-switcher__label{color:#84908b}.project-menu{position:absolute;top:48px;left:0;z-index:70;width:390px;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 24px 70px #0e2d2529}.project-menu__heading{display:flex;align-items:center;gap:7px;padding:7px 9px 11px;color:var(--muted);font-size:12px;font-weight:600}.project-menu button{width:100%;display:grid;grid-template-columns:54px 1fr 18px;gap:11px;align-items:center;padding:9px;border:0;border-radius:9px;background:transparent;text-align:left;cursor:pointer}.project-menu button:hover,.project-menu button.active{background:#eef6f3}.project-menu img{width:54px;height:40px;object-fit:cover;border-radius:5px}.project-menu button span,.project-menu button small{display:block}.project-menu button small{margin-top:3px;color:var(--muted);font-size:10px;font-weight:400}.save-status{color:#43816f}.provider-status,.provider-status--ready{color:#256654;background:#e6f1ed}.topbar__actions{gap:3px}.icon-button:hover,.icon-text-button:hover{background:#edf3f0}.app-body{grid-template-columns:224px minmax(0,1fr);min-height:calc(100vh - 64px)}.step-rail{padding:24px 0;background:#fff;border-color:#e2e7e5}.step-rail__line,.film-strip{display:none}.step-item{min-height:64px;margin:0;padding:8px 22px;grid-template-columns:28px 24px 1fr;gap:10px;border-radius:0;font-size:14px;color:#66716d}.step-item:hover:not(:disabled){background:#f4f7f6}.step-item--active{color:#135f51;background:linear-gradient(90deg,#edf6f2,#f9fbfa);box-shadow:inset -4px 0 #0d6b59}.step-item__number{width:28px;height:28px;color:#66716d;background:#eef1f0;font-size:12px}.step-item--active .step-item__number{color:#fff;background:#0d6b59}.workspace{background:#f7f9f8}.single-page{max-width:1280px;padding:42px 38px 88px}.page-heading{margin-bottom:22px}.page-heading h1{font-family:Songti SC,STSong,"Noto Serif SC",serif;font-size:clamp(26px,2vw,34px)}.page-heading p{color:#6e7874}.primary-button,.secondary-button{min-height:46px;border-radius:6px}.primary-button{border-color:#0d6b59;background:#0d6b59;box-shadow:0 7px 18px #0d6b5926}.primary-button:hover:not(:disabled){background:#095244}.secondary-button{border-color:#bfc9c5;background:#fff}input,textarea{border-color:#cfd8d4;border-radius:6px;background:#fff}.input-layout{grid-template-columns:minmax(560px,1.55fr) minmax(360px,.75fr);min-height:calc(100vh - 64px)}.input-canvas{padding:54px clamp(42px,6vw,86px);background:#fbfcfb}.story-editor textarea{min-height:410px;padding:25px 26px 44px;border:1px solid #ccd5d1;border-radius:7px;background:#fff;box-shadow:0 12px 35px #1c342d0f}.analysis-panel{padding:54px 38px;background:#f0f4f2;border-color:#dfe5e2}.panel-heading h2{font-family:Songti SC,STSong,"Noto Serif SC",serif}.analysis-list,.analysis-row{border-color:#d4dcd8}.source-row__mode{color:#12604f;background:#e4f1ec}.mode-picker{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 16px;padding:0;border:0}.mode-picker legend{margin-bottom:8px;color:#5f6b66;font-size:12px;font-weight:700}.mode-picker button,.template-picker button{padding:13px 14px;border:1px solid #cfd8d4;border-radius:7px;background:#fff;text-align:left;cursor:pointer}.mode-picker button strong,.mode-picker button span,.template-picker button span,.template-picker button small{display:block}.mode-picker button strong{margin-bottom:4px;font-size:13px}.mode-picker button span,.template-picker button small{color:var(--muted);font-size:11px;line-height:1.45}.mode-picker button.selected,.template-picker button.selected{border-color:#0d6b59;background:#edf7f3;box-shadow:inset 0 0 0 1px #0d6b59}.template-picker{display:grid;grid-template-columns:150px 1fr 1fr;gap:10px;align-items:stretch;margin:0 0 16px;padding:12px;border:1px solid #d7e1dd;border-radius:8px;background:#f3f7f5}.template-picker>strong{align-self:center;color:#35675a;font-size:12px}.template-picker button span{margin-bottom:4px;color:#23312c;font-size:12px;font-weight:700}.causal-chain>span{display:inline-flex;align-items:center;gap:7px;padding:0;border:0;background:transparent}.causal-chain>span>b{padding:6px 9px;border:1px solid #b9d8ce;border-radius:999px;background:#edf7f3;font-weight:500}.storyboard-row,.lock-section,.generation-stage,.export-summary{border-color:#dde4e1;border-radius:8px;background:#fff;box-shadow:0 8px 28px #1c342d0b}.storyboard-row__index span,.queue-row--selected .queue-row__number{background:#0d6b59}.causal-chain,.segmented-field button.selected{color:#0d6b59}.causal-chain span{border-color:#b9d8ce;background:#edf7f3}.sticky-action-bar{border-color:#d3ddda;background:#fffffff5}.queue-row{border-color:#dde4e1;background:#fff;border-radius:7px}.queue-row--selected{border-color:#0d6b59;background:#f0f8f5;box-shadow:inset 3px 0 #0d6b59}.review-page{grid-template-columns:minmax(0,1fr) 350px;min-height:calc(100vh - 64px)}.review-main{padding:32px 38px 72px;background:#fafcfb}.thumbnail-strip{gap:12px;margin-bottom:16px}.scene-thumb{border-color:#dce3e0;border-radius:7px;background:#fff}.scene-thumb>span{color:#1c2824;font-size:12px;font-weight:600}.scene-thumb small{min-height:30px;color:#426f61}.scene-thumb--selected{border-color:#0d6b59;box-shadow:0 0 0 2px #0d6b5921}.selected-image{border:1px solid #dbe3df;border-radius:7px;box-shadow:0 12px 34px #15322a14}.review-actions{justify-content:center;gap:28px;margin-top:18px}.review-actions button{min-width:190px}.version-rail{margin-top:28px;padding:18px;border:1px solid #dfe5e2;border-radius:8px;background:#fff}.version-item{min-width:280px;border-color:#dce3e0;background:#fff}.version-item--current{border-color:#0d6b59;background:#f0f8f5}.qa-panel{padding:40px 30px;background:#fff;border-color:#dfe5e2}.qa-row{min-height:52px;border-color:#e2e7e5;font-size:13px}.why-review{background:#fff8ed;border-color:#f0dfbd}.human-decision{color:#0d6b59;background:#edf6f3}.modal-backdrop{background:#11211c85}.case-library{width:min(920px,100%);padding:30px;border:1px solid rgba(255,255,255,.7);border-radius:12px;background:#f7f9f8}.case-library__heading h2{font-family:Songti SC,STSong,"Noto Serif SC",serif}.case-list{gap:12px}.case-row{grid-template-columns:150px 1fr auto;min-height:112px;padding:12px;border-color:#dce3e0;background:#fff}.case-row--active{border-color:#0d6b59;box-shadow:inset 3px 0 #0d6b59}.case-row img{width:150px;height:88px}.case-row div>span{color:#0d6b59}.case-row h3{font-size:15px}.case-row button{min-width:92px;border-color:#aebdb7;background:#fff;cursor:pointer}.case-row button:hover{color:#fff;border-color:#0d6b59;background:#0d6b59}.blind-case{background:#edf2f0}@media(max-width:1100px){.app-body{grid-template-columns:88px minmax(0,1fr)}.step-item{grid-template-columns:28px 24px;padding:8px 16px}.step-item>span:last-child{display:none}.input-layout,.review-page{grid-template-columns:1fr}}@media(max-width:720px){#root,.auth-screen{min-height:calc(100dvh - 56px)}.topbar{height:60px}.app-body{display:block}.step-rail{display:flex;position:sticky;top:60px;z-index:20;overflow-x:auto;padding:6px;border-bottom:1px solid var(--line)}.step-item{min-width:54px;min-height:44px;padding:5px 8px;box-shadow:none}.project-menu{position:fixed;left:10px;right:10px;top:58px;width:auto}.review-actions{gap:8px}.review-actions button{min-width:0}.mode-picker,.template-picker{grid-template-columns:1fr}}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#f5f0e8}button,input,textarea{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid rgba(166,58,43,.22);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.48}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{min-height:100vh}.topbar{height:68px;padding:0 28px;display:flex;align-items:center;gap:24px;background:#fffdf8f0;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand-mark{display:flex;align-items:center;min-width:150px}.brand-mark span{font-family:"Noto Serif SC",serif;font-size:20px;font-weight:700;letter-spacing:.06em}.brand-mark:before{content:"四";display:grid;place-items:center;width:32px;height:32px;margin-right:10px;color:#fff;background:var(--red);border-radius:8px 8px 8px 2px;font:700 16px "Noto Serif SC",serif;box-shadow:inset 0 0 0 1px #fff3}.project-switcher{display:flex;align-items:center;gap:8px;padding-left:24px;border-left:1px solid var(--line)}.project-switcher__label{color:var(--muted);font-size:12px}.project-switcher strong{font-size:14px}.save-status{margin-left:auto;display:flex;align-items:center;gap:7px;color:var(--green);font-size:12px}.provider-status{position:relative;padding:5px 9px;border-radius:999px;color:var(--red);background:#f4dfda;font-size:11px;white-space:nowrap}.provider-status summary{cursor:pointer;list-style:none}.provider-status summary::-webkit-details-marker{display:none}.provider-status--ready{color:var(--green);background:#dcebe5}.provider-popover{position:absolute;right:0;top:34px;width:380px;padding:16px;color:var(--ink);white-space:normal;background:var(--paper);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);z-index:60}.provider-popover>strong{display:block;margin-bottom:9px;font-size:13px}.provider-popover>div{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:9px 0;border-bottom:1px solid var(--line)}.provider-popover span,.provider-popover small{display:block}.provider-popover small{margin-top:3px;color:var(--muted);font-size:9px}.provider-popover b{color:var(--red);font-size:10px}.provider-popover b.ready{color:var(--green)}.provider-popover p{margin:11px 0 0;color:var(--muted);font-size:10px;line-height:1.5}.topbar__actions{display:flex;align-items:center;gap:8px}.icon-button,.icon-text-button{border:0;background:transparent;display:inline-flex;align-items:center;justify-content:center;gap:7px;height:38px;border-radius:8px;cursor:pointer}.icon-button{width:38px}.icon-text-button{padding:0 10px;font-size:13px}.icon-button:hover,.icon-text-button:hover{background:var(--soft)}.app-body{display:grid;grid-template-columns:126px minmax(0,1fr);min-height:calc(100vh - 68px)}.step-rail{background:#ede5d9;border-right:1px solid var(--line);padding:36px 12px;position:relative}.step-rail__line{position:absolute;left:34px;top:59px;height:340px;width:1px;background:#d1c5b5}.step-item{width:100%;min-height:58px;margin-bottom:10px;padding:8px 8px 8px 14px;border:0;background:transparent;border-radius:10px;display:grid;grid-template-columns:22px 20px 1fr;align-items:center;gap:7px;color:#776f65;font-size:12px;text-align:left;position:relative;cursor:pointer}.step-item:hover:not(:disabled){background:#fff9}.step-item--active{color:var(--red);background:var(--paper);box-shadow:0 5px 20px #462d1e0f}.step-item__number{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:10px;background:#dfd5c7;z-index:2}.step-item--active .step-item__number{color:#fff;background:var(--red)}.film-strip{display:grid;grid-template-columns:repeat(2,20px);gap:5px;margin:42px auto 0;width:45px;opacity:.45;transform:rotate(-4deg)}.film-strip span{aspect-ratio:1;border:2px solid #ad9d89;border-radius:3px}.workspace{min-width:0;background:radial-gradient(circle at 75% 20%,rgba(255,255,255,.84),transparent 33%),#f7f3ec}.single-page{max-width:1180px;margin:0 auto;padding:52px 52px 104px}.page-heading{margin-bottom:30px}.page-heading h1{margin-bottom:8px;font:700 clamp(26px,2.4vw,36px)/1.25 "Noto Serif SC",serif;letter-spacing:-.02em}.page-heading p{margin-bottom:0;color:var(--muted);line-height:1.7;font-size:14px}.page-heading--row{display:flex;align-items:end;justify-content:space-between;gap:24px}.primary-button,.secondary-button{min-height:44px;padding:0 20px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;font-size:14px;cursor:pointer;transition:.16s ease}.primary-button{color:#fff;border:1px solid var(--red);background:var(--red);box-shadow:0 6px 16px #a63a2b2e}.primary-button:hover:not(:disabled){background:var(--red-dark);transform:translateY(-1px)}.secondary-button{color:var(--ink);border:1px solid #cfc3b4;background:var(--paper)}.secondary-button:hover:not(:disabled){border-color:#a99783;background:#fff}.primary-button--wide,.secondary-button--wide{width:100%}input,textarea{width:100%;border:1px solid #d6ccbf;border-radius:7px;padding:10px 12px;color:var(--ink);background:#ffffffd1;resize:vertical;line-height:1.6}input:hover,textarea:hover{border-color:#bcae9c}label>span,legend{display:block;margin-bottom:7px;font-size:12px;font-weight:600;color:#6b6259}.input-layout{display:grid;grid-template-columns:minmax(500px,1.25fr) minmax(360px,.75fr);min-height:calc(100vh - 68px)}.input-canvas{padding:64px clamp(40px,6vw,96px)}.story-editor{display:block;position:relative}.story-editor textarea{min-height:405px;padding:24px 25px 44px;border-radius:3px;border:1px solid #d8cebf;background:#fffefa;box-shadow:var(--shadow);font-size:15px;line-height:2}.story-editor__count{position:absolute;right:17px;bottom:13px;margin:0;font-weight:400;color:#9a9187}.source-row{display:flex;align-items:center;gap:22px;padding:17px 0;color:var(--muted);font-size:12px}.source-row span{display:inline-flex;align-items:center;gap:6px}.source-row__mode{margin-left:auto;color:var(--amber);background:#f6ead6;padding:5px 9px;border-radius:999px}.privacy-note{display:flex;justify-content:center;align-items:center;gap:6px;margin:13px 0 0;color:var(--muted);font-size:11px}.form-error{color:var(--red);font-size:13px}.analysis-panel{padding:64px clamp(30px,4vw,56px);background:#eee7dd;border-left:1px solid var(--line)}.panel-heading{display:flex;justify-content:space-between;align-items:start;gap:18px}.panel-heading h2{margin-bottom:5px;font:700 20px "Noto Serif SC",serif}.panel-heading p{color:var(--muted);font-size:12px;line-height:1.5}.status-label{display:inline-flex;white-space:nowrap;border-radius:999px;padding:5px 9px;color:var(--amber);background:#f6e4c8;font-size:11px}.status-label--success{color:var(--green);background:#dcebe5}.analysis-list{margin-top:28px;border-top:1px solid #d3c7b8}.analysis-row{display:grid;grid-template-columns:80px 1fr;gap:16px;padding:18px 0;border-bottom:1px solid #d3c7b8}.analysis-row strong{font-size:12px}.analysis-row span{font-size:13px;line-height:1.6}.analysis-row__empty{color:#a69e94}.causal-chain{display:flex;align-items:center;gap:7px;color:var(--red);font-size:12px}.causal-chain span{padding:6px 9px;border:1px solid #dfc0ba;background:#fff6f3;border-radius:999px}.storyboard-list{display:grid;gap:14px}.storyboard-row{display:grid;grid-template-columns:52px 1.2fr .8fr;gap:20px;padding:22px;border:1px solid var(--line);border-radius:11px;background:var(--paper);box-shadow:0 7px 24px #4a36210b}.storyboard-row__index{display:flex;align-items:start;gap:7px;color:#958b7f}.storyboard-row__index span{display:grid;place-items:center;width:29px;height:29px;color:#fff;background:var(--red);border-radius:50%;font:700 14px "Noto Serif SC"}.storyboard-row__main,.storyboard-row__rules{display:grid;grid-template-columns:1fr 1fr;gap:13px}.storyboard-row__rules{grid-template-columns:1fr}.storyboard-row__wide{grid-column:1/-1}.sticky-action-bar{position:sticky;bottom:18px;margin-top:24px;padding:14px 16px 14px 22px;border:1px solid var(--line);background:#fffdf8f5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:11px;box-shadow:0 12px 34px #43311f21;display:flex;justify-content:space-between;align-items:center;gap:20px;z-index:10}.sticky-action-bar p{margin:0;color:var(--muted);font-size:12px}.completeness,.provider-indicator{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;color:var(--green);background:#e4f0eb;border-radius:7px;font-size:12px}.lock-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.lock-section{padding:24px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.lock-section h2{font:700 18px "Noto Serif SC",serif}.lock-section label{display:block;margin-top:16px}.lock-section--full{grid-column:1/-1}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field-grid--three{grid-template-columns:repeat(3,1fr)}.assumption-note{display:flex;gap:8px;margin-top:14px;padding:11px;color:#805b27;background:#faf0df;border-radius:7px;font-size:11px;line-height:1.55}.assumption-note svg{flex:0 0 auto}.segmented-field{border:0;padding:0;margin:15px 0}.segmented-field button{width:50%;height:39px;border:1px solid #d4c9ba;background:#fff;cursor:pointer}.segmented-field button:first-of-type{border-radius:7px 0 0 7px}.segmented-field button:last-of-type{border-radius:0 7px 7px 0;border-left:0}.segmented-field button.selected{color:var(--red);background:#fff2ef;box-shadow:inset 0 0 0 1px var(--red)}.toggle-row{display:flex!important;align-items:center;justify-content:space-between;padding:14px;background:#f6f1e9;border-radius:8px}.toggle-row span{margin:0}.toggle-row small{display:block;margin-top:4px;color:var(--muted);font-weight:400}.toggle-row input{width:36px;height:20px;accent-color:var(--red)}.hard-rules{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.hard-rules span{padding:5px 8px;border:1px solid #d8cec0;border-radius:999px;color:var(--muted);font-size:10px}.generation-grid{display:grid;grid-template-columns:360px 1fr;gap:20px}.scene-queue{display:flex;flex-direction:column;gap:9px}.queue-row{min-height:88px;display:grid;grid-template-columns:34px 1fr auto;gap:11px;align-items:center;padding:14px;text-align:left;border:1px solid var(--line);border-radius:9px;background:#fffdf8c7;cursor:pointer}.queue-row--selected{border-color:#be8378;background:#fff7f5;box-shadow:inset 3px 0 var(--red)}.queue-row__number{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;color:#fff;background:#7d7164;font-weight:700}.queue-row--selected .queue-row__number{background:var(--red)}.queue-row__copy{min-width:0}.queue-row__copy strong,.queue-row__copy small{display:block}.queue-row__copy strong{font-size:14px;margin-bottom:5px}.queue-row__copy small{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scene-state{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:var(--muted)}.scene-state--ready,.scene-state--candidate{color:var(--red)}.scene-state--approved{color:var(--green)}.generation-stage{padding:18px;border:1px solid var(--line);border-radius:11px;background:var(--paper);box-shadow:var(--shadow)}.generation-stage__preview{aspect-ratio:4/3;overflow:hidden;background:#eee8de;border-radius:7px}.generation-stage__preview img,.selected-image img{width:100%;height:100%;object-fit:cover}.empty-image{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#8c8174}.empty-image span{font-size:12px}.scene-brief{display:grid;grid-template-columns:1.4fr 1fr 1fr;margin-top:15px;border:1px solid var(--line);border-radius:7px;overflow:hidden}.scene-brief>div{padding:13px;border-right:1px solid var(--line)}.scene-brief>div:last-child{border:0}.scene-brief span{color:var(--muted);font-size:10px}.scene-brief p{margin:5px 0 0;font-size:12px;line-height:1.5}.generation-action{display:flex;justify-content:space-between;align-items:center;gap:18px;padding-top:16px}.generation-action>div{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px}.generation-error{color:var(--red);font-weight:600;line-height:1.5}.review-page{display:grid;grid-template-columns:minmax(0,1fr) 360px;min-height:calc(100vh - 68px)}.review-main{min-width:0;padding:42px clamp(30px,4vw,58px) 80px}.thumbnail-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.scene-thumb{padding:0;overflow:hidden;text-align:left;border:1px solid var(--line);border-radius:7px;background:var(--paper);cursor:pointer}.scene-thumb>span,.scene-thumb small{display:flex;align-items:center;gap:4px;padding:7px 9px;font-size:10px}.scene-thumb>div{aspect-ratio:4/3;position:relative;background:#e7dfd4}.scene-thumb img{width:100%;height:100%;object-fit:cover}.scene-thumb small{color:var(--muted)}.scene-thumb--selected{border-color:var(--red);box-shadow:0 0 0 2px #a63a2b1f}.scene-thumb--locked img{opacity:.25}.thumb-lock{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#675f56;font-size:11px}.selected-image{aspect-ratio:4/3;overflow:hidden;border-radius:8px;background:#e8e0d5;box-shadow:var(--shadow)}.review-actions{display:flex;gap:9px;margin-top:15px}.revision-box{margin-top:14px;padding:17px;border:1px solid #dec2bc;border-radius:9px;background:#fff8f6}.revision-box>div{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:10px}.revision-box p{margin:0;color:var(--muted);font-size:11px}.version-rail{margin-top:22px}.version-rail__heading{display:flex;justify-content:space-between;margin-bottom:10px;font-size:12px}.version-rail__heading span{color:var(--muted)}.version-list{display:flex;gap:9px;overflow-x:auto;padding-bottom:5px}.version-item{min-width:220px;padding:8px;display:grid;grid-template-columns:60px 1fr;gap:9px;border:1px solid var(--line);border-radius:7px;background:#faf7f1}.version-item--current{border-color:#bd7b70;background:#fff8f6}.version-item img{width:60px;height:52px;object-fit:cover;border-radius:4px}.version-item strong,.version-item span,.version-item small{display:block}.version-item strong{font-size:11px}.version-item span{margin-top:3px;color:var(--muted);font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.version-item small{margin-top:5px;color:#9e9387;font-size:9px}.qa-panel{padding:42px 30px;background:#eee7dd;border-left:1px solid var(--line)}.qa-list{margin-top:23px}.qa-row{min-height:47px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d6cbbc;font-size:12px}.qa-row>span:last-child{display:inline-flex;gap:6px;align-items:center}.qa-row--pass>span:last-child{color:var(--green)}.qa-row--review>span:last-child{color:var(--amber)}.qa-row--unknown>span:last-child{color:var(--muted)}.why-review,.human-decision{margin-top:20px;padding:14px;border-radius:8px;font-size:11px;line-height:1.65}.why-review{background:#f7eee0;border:1px solid #ead8bc}.why-review strong{display:flex;align-items:center;gap:6px}.why-review p{margin:9px 0 0;color:#685c50}.human-decision{display:flex;gap:8px;color:var(--green);background:#e2ede8}.human-decision svg{flex:0 0 auto}.export-preview{display:grid;grid-template-columns:minmax(0,1.4fr) 360px;gap:24px;align-items:start}.grid-preview{display:grid;grid-template-columns:1fr 1fr;gap:2px;overflow:hidden;padding:10px;background:#fff;box-shadow:var(--shadow)}.grid-preview img{width:100%;aspect-ratio:16/10;object-fit:cover}.export-summary{padding:24px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.delivery-ready{display:flex;gap:10px;color:var(--green)}.delivery-ready strong,.delivery-ready span{display:block}.delivery-ready span{margin-top:4px;color:var(--muted);font-size:11px}.export-summary dl{margin:24px 0;border-top:1px solid var(--line)}.export-summary dl div{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.export-summary dt{color:var(--muted)}.export-summary dd{margin:0;text-align:right}.export-summary button+button{margin-top:9px}.export-footnote{display:flex;align-items:center;justify-content:center;gap:5px;margin:12px 0 0;color:var(--muted);font-size:10px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:24px;background:#261f187a;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.case-library{width:min(820px,100%);max-height:86vh;overflow:auto;padding:28px;border-radius:13px;background:#f9f5ee;box-shadow:0 30px 90px #17110c47}.case-library__heading{display:flex;justify-content:space-between}.case-library__heading h2{margin-bottom:4px;font:700 25px "Noto Serif SC",serif}.case-library__heading p{color:var(--muted);font-size:12px}.case-list{display:grid;gap:10px}.case-row{display:grid;grid-template-columns:120px 1fr auto;gap:17px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--paper)}.case-row--active{border-color:#c0877d}.case-row img{width:120px;height:76px;object-fit:cover;border-radius:5px}.case-row div>span{color:var(--red);font-size:10px}.case-row h3{margin:4px 0;font-size:14px}.case-row p{margin:0;color:var(--muted);font-size:11px}.case-row button{padding:7px 10px;border:1px solid #d0c4b5;border-radius:6px;background:#fff;font-size:11px}.blind-case{margin-top:15px;padding:14px;color:#6a5948;background:#eee4d6;border-radius:8px}.blind-case p{margin:5px 0 0;font-size:11px}@media(max-width:1050px){.save-status{display:none}.input-layout,.review-page{grid-template-columns:1fr}.analysis-panel,.qa-panel{border-left:0;border-top:1px solid var(--line)}.input-canvas,.analysis-panel,.review-main{padding:42px}.qa-panel{padding:32px 42px}.generation-grid,.export-preview{grid-template-columns:1fr}.scene-queue{display:grid;grid-template-columns:1fr 1fr}}@media(max-width:720px){.topbar{height:60px;padding:0 14px;gap:10px}.brand-mark{min-width:0}.brand-mark span{font-size:16px}.brand-mark:before{width:28px;height:28px;margin-right:7px}.project-switcher,.topbar__actions .icon-text-button:first-child{display:none}.topbar__actions,.provider-status{margin-left:auto}.provider-popover{position:fixed;left:12px;right:12px;top:58px;width:auto}.app-body{display:block;min-height:calc(100vh - 60px)}.step-rail{position:sticky;top:60px;z-index:25;display:flex;gap:5px;padding:7px 9px;overflow-x:auto;border-right:0;border-bottom:1px solid var(--line)}.step-rail__line,.film-strip{display:none}.step-item{flex:0 0 auto;width:auto;min-height:40px;grid-template-columns:18px 16px;padding:5px 9px;margin:0}.step-item>span:last-child{display:none}.step-item svg{width:16px}.single-page,.input-canvas,.analysis-panel,.review-main,.qa-panel{padding:28px 18px 80px}.page-heading{margin-bottom:22px}.page-heading--row{display:block}.causal-chain,.completeness,.provider-indicator{margin-top:14px}.story-editor textarea{min-height:330px;padding:18px 18px 40px}.source-row{flex-wrap:wrap;gap:9px 15px}.source-row__mode{margin-left:0}.storyboard-row{grid-template-columns:1fr;padding:16px}.storyboard-row__main,.field-grid,.field-grid--three,.lock-columns{grid-template-columns:1fr}.lock-section--full{grid-column:auto}.sticky-action-bar{bottom:8px;align-items:stretch;flex-direction:column}.sticky-action-bar p{display:none}.scene-queue,.scene-brief{grid-template-columns:1fr}.scene-brief>div{border-right:0;border-bottom:1px solid var(--line)}.generation-action{align-items:stretch;flex-direction:column}.thumbnail-strip{grid-template-columns:1fr 1fr}.review-actions{display:grid;grid-template-columns:1fr 1fr}.review-actions .primary-button{grid-column:1/-1}.revision-box>div{align-items:stretch;flex-direction:column}.export-preview{gap:14px}.case-row{grid-template-columns:82px 1fr}.case-row img{width:82px;height:70px}.case-row button{grid-column:2;justify-self:start}}body .topbar{height:64px;padding:0 22px;background:#fffffff7;border-color:#e4e9e7}body .project-switcher{position:relative;padding:0;border:0}body .project-switcher>summary{min-width:230px;height:42px;display:flex;align-items:center;gap:8px;padding:0 12px;border-left:1px solid var(--line);cursor:pointer;list-style:none;border-radius:8px}body .project-switcher>summary:hover{background:#f4f7f5}body .project-switcher strong{font-size:14px}body .app-body{grid-template-columns:224px minmax(0,1fr);min-height:calc(100vh - 64px)}body .step-rail{padding:24px 0;background:#fff;border-color:#e2e7e5}body .step-item{min-height:64px;margin:0;padding:8px 22px;grid-template-columns:28px 24px 1fr;gap:10px;border-radius:0;font-size:14px}body .step-item--active{color:#135f51;background:linear-gradient(90deg,#edf6f2,#f9fbfa);box-shadow:inset -4px 0 #0d6b59}body .step-item__number{width:28px;height:28px}body .workspace{background:#f7f9f8}body .review-page{grid-template-columns:minmax(0,1fr) 350px;min-height:calc(100vh - 64px)}body .review-main{padding:32px 38px 72px;background:#fafcfb}body .qa-panel{padding:40px 30px;background:#fff;border-color:#dfe5e2}body .review-actions{justify-content:center;gap:28px;margin-top:18px}body .review-actions button{min-width:190px}body .version-rail{margin-top:28px;padding:18px;border:1px solid #dfe5e2;border-radius:8px;background:#fff}body .modal-backdrop{background:#11211c85}body .case-library{width:min(920px,100%);padding:30px;border:1px solid rgba(255,255,255,.7);border-radius:12px;background:#f7f9f8}body .case-list{gap:12px}body .case-row{grid-template-columns:150px 1fr auto;min-height:112px;padding:12px;border-color:#dce3e0;background:#fff}body .case-row--active{border-color:#0d6b59;box-shadow:inset 3px 0 #0d6b59}body .case-row img{width:150px;height:88px}body .case-row button{min-width:92px;border-color:#aebdb7;cursor:pointer}body .case-row button:hover{color:#fff;border-color:#0d6b59;background:#0d6b59}@media(max-width:1100px){body .app-body{grid-template-columns:88px minmax(0,1fr)}body .step-item{grid-template-columns:28px 24px;padding:8px 16px}body .step-item>span:last-child{display:none}body .input-layout,body .review-page{grid-template-columns:1fr}}@media(max-width:720px){body .app-body{display:block}body .step-rail{display:flex;padding:6px}body .step-item{min-width:54px;min-height:44px;padding:5px 8px}body .project-switcher{display:none}body .review-actions{gap:8px}body .review-actions button{min-width:0}body .case-row{grid-template-columns:82px 1fr}body .case-row img{width:82px;height:70px}}
