:root{--ink:#18181b;--muted:#71717a;--line:#e4e4e7;--paper:#fafafa;--accent:#18181b;--white:#fff}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}button,input,textarea,select{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}a{text-decoration:none;color:inherit}button:disabled{opacity:.45;cursor:default}[hidden]{display:none!important}header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 48px;border-bottom:1px solid var(--line)}.brand{font-size:24px;letter-spacing:2px;font-weight:600}.brand span{font-size:12px;color:var(--muted);letter-spacing:0;margin-left:16px}nav{display:flex;gap:14px;align-items:center}.quiet{border:1px solid var(--line);background:transparent;color:var(--ink);padding:11px 17px;border-radius:8px;white-space:nowrap}.quiet:hover,.icon-button:hover{background:#f4f4f5}.icon-button{background:transparent;border:0;color:var(--muted);padding:9px;font-size:17px}i{display:inline-block;width:5px;height:5px;margin:0 0 2px 5px;background:#a1a1aa;border-radius:50%}i.connected{background:#18181b}main{max-width:1000px;padding:0 32px;margin:0 auto}.composer{padding-top:88px;min-height:calc(100vh - 155px)}.intro{text-align:center;margin-bottom:40px}.eyebrow{color:var(--muted);font-size:12px;letter-spacing:1px;margin:0 0 14px}h1{font-size:38px;letter-spacing:-1px;font-weight:550;margin:0 0 16px}.intro>p:last-child{color:var(--muted);line-height:1.8}.compose-surface{display:grid;grid-template-columns:190px minmax(0,1fr);gap:28px;background:var(--white);padding:28px;border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 28px #09090b08}.dropzone{background:#f7f7f8;border:1px dashed #d4d4d8;border-radius:10px;min-height:216px;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden}.dropzone.drag{background:#f0f0f2;border-color:var(--accent)}.dropzone img{width:100%;height:216px;object-fit:contain;padding:8px}#uploadHint{display:flex;align-items:center;flex-direction:column;gap:13px;padding:16px;text-align:center}.upload-icon{font-size:25px;color:#71717a}#uploadHint strong{font-weight:500}#uploadHint span:last-child{font-size:11px;color:var(--muted)}.compose-input>label,.revision>label{font-size:14px;font-weight:500}textarea,input{width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);padding:12px;line-height:1.7;outline:none}textarea{resize:vertical}textarea:focus,input:focus{border-color:#a1a1aa;box-shadow:0 0 0 2px #f4f4f5}#description{border:0;background:transparent;padding:14px 0;margin:6px 0 10px;min-height:115px;resize:none;box-shadow:none}textarea::placeholder,input::placeholder{color:#a1a1aa}.compose-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px}.style-options{display:flex;gap:7px;flex-wrap:wrap}.style{font-size:12px;padding:8px 11px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--muted)}.style:hover{background:#f7f7f8}.style.selected{color:var(--accent);background:#f0f0f2}select{border:0;background:#f4f4f5;border-radius:6px;padding:9px;font-size:12px;color:#52525b}.compose-action{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;align-items:center;gap:14px}.compose-action>p{font-size:11px;color:var(--muted);margin:0}.primary{display:inline-flex;align-items:center;justify-content:center;gap:24px;border:0;border-radius:8px;background:var(--accent);color:#fff;padding:13px 22px;font-weight:500;font-size:13px;white-space:nowrap}.primary:hover{background:#09090b}.compose-note{text-align:center;font-size:11px;color:var(--muted);margin:20px 0}.project{padding-top:45px}.project-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}.project-heading h1{font-size:27px;letter-spacing:0;margin:0}.badge{font-size:11px;color:#52525b;background:#f0f0f2;padding:8px 13px;border-radius:20px}.plan-box{border-top:1px solid var(--line);padding-top:26px}.plan-overview{display:flex;gap:24px;align-items:center}.plan-overview>img{width:94px;height:126px;object-fit:contain;background:#f4f4f5;border-radius:8px}.plan-overview>div{flex:1;min-width:0}h2{font-size:17px;font-weight:550;margin:0 0 12px}#planSummary{color:var(--muted);font-size:13px;line-height:1.8;margin:0 0 16px}.shot-outline{display:flex;flex-wrap:wrap;gap:10px}.shot-outline span{font-size:12px;color:#52525b}.shot-outline span:not(:last-child)::after{content:'→';margin-left:10px;color:#a1a1aa}.plan-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:28px 0}.hint{font-size:11px;color:var(--muted);line-height:1.8}.plan-actions .hint{margin:0 0 0 4px}.board-preview{display:block;max-width:100%;max-height:600px;object-fit:contain;margin:28px auto}.optional{border-top:1px solid var(--line);padding:17px 0;color:var(--muted);font-size:12px}.optional summary{width:fit-content}.shot-list{margin:20px 0}.shot-card{display:grid;grid-template-columns:145px minmax(0,1fr) 85px;gap:16px;align-items:center;border-bottom:1px solid var(--line);padding:15px 0}.shot-card strong{font-size:12px;font-weight:500}.shot-card textarea{font-size:12px;resize:vertical}.shot-card input{padding:8px;font-size:12px}.compare{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:620px;margin:0 auto}figure{margin:0;min-width:0}figure>img,video{width:100%;aspect-ratio:9/16;object-fit:contain;background:#f4f4f5;border-radius:10px;display:block}figcaption{color:var(--muted);font-size:11px;text-align:center;margin-top:12px}.waiting{aspect-ratio:9/16;background:#f4f4f5;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:22px;text-align:center}.waiting strong{font-size:14px;font-weight:500;margin:20px 0 0}.waiting p{font-size:11px;line-height:1.8;color:var(--muted)}.spinner{width:24px;height:24px;border:2px solid #e4e4e7;border-top-color:#71717a;border-radius:50%;animation:spin 1.5s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.result-actions{display:flex;align-items:center;gap:12px;justify-content:center;margin:26px 0 12px}#reviewHelp{text-align:center}.revision{border-top:1px solid var(--line);padding-top:25px;margin-top:25px}.revision-input{display:flex;align-items:center;gap:12px;margin-top:12px}.revision textarea{flex:1;resize:none;background:#fff}.error{background:#fff0e9;border-radius:8px;padding:14px;font-size:12px;line-height:1.8;color:#956240;margin:20px 0;overflow-wrap:anywhere}footer{display:flex;justify-content:space-between;color:#a1a1aa;font-size:11px;padding:28px 0;margin-top:20px}dialog{border:1px solid var(--line);border-radius:14px;padding:28px;max-width:620px;width:calc(100% - 32px);max-height:80vh;color:var(--ink)}dialog::backdrop{background:#18181b55}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.dialog-head h2{margin:0}.field{display:block;font-size:12px;margin:20px 0 12px}.field input{margin-top:9px}.job-row{display:flex;align-items:center;gap:13px;background:transparent;border:0;border-top:1px solid var(--line);padding:14px 0;width:100%;text-align:left;color:var(--ink)}.job-row:hover{background:#f7f7f8}.job-row img{width:42px;height:48px;object-fit:cover;border-radius:5px}.job-label{flex:1;min-width:0}.job-label b{font-size:12px;font-weight:500;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.job-label small{display:block;margin-top:6px;font-size:10px;color:var(--muted)}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#18181b;color:white;padding:12px 20px;border-radius:8px;font-size:12px;max-width:90%;z-index:20}button:focus-visible,summary:focus-visible,a:focus-visible{outline:2px solid #71717a;outline-offset:4px}@media(max-width:700px){header{height:66px;padding:0 20px}nav{gap:5px}.brand span{display:none}.quiet{padding:10px 12px}main{padding:0 20px}.composer{padding-top:48px}h1{font-size:28px}.intro{margin-bottom:26px}.intro>p:last-child{font-size:12px}.compose-surface{grid-template-columns:1fr;padding:20px;gap:22px}.dropzone{min-height:145px}.dropzone img{height:180px}.compose-input>label{font-size:13px}.compose-action>p{font-size:10px;max-width:150px;line-height:1.7}.primary{padding:13px 17px}.style{padding:8px;font-size:11px}.compose-bottom{gap:6px;flex-wrap:wrap}.project-heading h1{font-size:22px}.plan-overview{align-items:flex-start;gap:16px}.plan-overview>img{width:72px;height:100px}.plan-actions .hint{width:100%;margin:0}.shot-card{grid-template-columns:1fr 75px;gap:10px}.shot-card strong{grid-column:1/-1}.compare{gap:12px}.revision-input{align-items:flex-end}.result-actions{flex-wrap:wrap}footer{margin-top:32px}}@media(prefers-reduced-motion:reduce){.spinner{animation:none}}

/* Neutral studio theme: typography and spacing provide the hierarchy. */
header{background:#ffffffcc;border-bottom-color:#eeeeef}.brand{letter-spacing:0;font-weight:650}.brand span{color:#a1a1aa}.intro h1{font-weight:650;letter-spacing:-1.6px}.eyebrow{letter-spacing:1.5px}.compose-surface{border-color:#e7e7e9;box-shadow:0 4px 6px #09090b02,0 16px 48px #09090b04;border-radius:20px}.dropzone{background:#fafafa;border-color:#d4d4d8;border-radius:12px}.dropzone:hover{background:#f5f5f6;border-color:#a1a1aa}.upload-icon{width:38px;height:38px;display:grid;place-items:center;border:1px solid #e4e4e7;border-radius:12px;background:#fff;color:#52525b;font-size:24px}.style.selected{background:#f4f4f5;border-color:#e4e4e7;color:#18181b;font-weight:550}.primary{border-radius:10px;box-shadow:0 1px 2px #09090b18}.quiet{background:#fff;border-color:#e4e4e7}.icon-button{display:inline-flex;align-items:center;gap:3px}.icon-button svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.5}.icon-button i{margin-left:2px}.compose-note{color:#8b8b94}@media(max-width:700px){.intro h1{letter-spacing:-1px}.compose-surface{border-radius:18px}}
/* Reference media remains one input, with progressive detail after selection. */
.photo-gallery{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap;padding:0 20px 16px}.photo-item{position:relative;width:76px}.photo-select{width:76px;padding:4px;border:1px solid var(--line);border-radius:9px;background:white}.photo-select img{display:block;width:66px;height:66px;object-fit:contain;background:#fafafa;border-radius:5px}.photo-select span{display:block;font-size:11px;padding:4px 0;color:var(--muted)}.photo-remove{position:absolute;top:-6px;right:-6px;border:1px solid var(--line);background:white;border-radius:50%;width:24px;height:24px;cursor:pointer;font-size:18px;line-height:18px;color:var(--ink)}.photo-add{border:1px dashed #d4d4d8;border-radius:9px;background:white;color:var(--muted);padding:12px;cursor:pointer;font-size:12px;min-height:96px}.photo-add:disabled{opacity:.4;cursor:default}.project-sources{display:flex;gap:12px;overflow-x:auto;padding:0 0 20px}.project-sources figure{margin:0;flex-shrink:0}.project-sources img{width:62px;height:74px;object-fit:contain;background:#fafafa;border-radius:7px}.project-sources figcaption{font-size:11px;margin-top:5px;color:var(--muted);text-align:center}.storyboard-shots{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:24px 0}.storyboard-shot{display:flex;align-items:flex-start;gap:16px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff;min-width:0}.storyboard-frame{position:relative;overflow:hidden;aspect-ratio:1.1;flex:0 0 40%;border-radius:7px;background:#f4f4f5}.storyboard-frame img{position:absolute;max-width:none;object-fit:fill}.storyboard-copy{min-width:0}.storyboard-copy small{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.storyboard-copy h3{font-size:15px;margin:6px 0 8px}.storyboard-copy p{font-size:13px;line-height:1.65;margin:0;color:#52525b;overflow-wrap:anywhere}.storyboard-copy .shot-light{font-size:12px;color:var(--muted);margin-top:8px}.storyboard-shot:not(:has(.storyboard-frame)){border:0;border-top:1px solid var(--line);border-radius:0;padding:16px 0}.shot-outline{display:none}button:focus-visible,select:focus-visible{outline:2px solid #52525b;outline-offset:3px}@media(max-width:850px){.storyboard-shots{grid-template-columns:1fr}.storyboard-frame{flex-basis:38%;max-width:200px}}@media(max-width:400px){.storyboard-shot{padding:12px;gap:12px}.storyboard-frame{flex-basis:35%}.photo-gallery{padding:0 16px 16px}}
.media-input{min-width:0}.media-input .dropzone.has-photos{min-height:66px}.dropzone.has-photos #uploadHint{flex-direction:row;padding:12px;gap:12px}.dropzone.has-photos .upload-icon{width:28px;height:28px;font-size:20px}.media-input .photo-gallery{padding:14px 4px 4px;max-height:255px;overflow-y:auto;gap:12px}.photo-select{cursor:default}.photo-add{display:none}@media(max-width:700px){.media-input .photo-gallery{max-height:160px}.media-input .dropzone.has-photos{min-height:60px}}
.description-label{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:22px}.description-label label{font-size:14px;font-weight:500}.text-button{background:none;border:0;padding:0;font-size:11px;color:var(--muted);white-space:nowrap}.text-button:hover{color:var(--ink);text-decoration:underline}.duration-control{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0}.custom-duration{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--muted)}.custom-duration input{width:62px;min-width:0;padding:6px 7px;line-height:1.4;font-size:12px;background:#fff}.compose-bottom{flex-wrap:wrap;row-gap:12px}#description{resize:none;overflow-y:auto;line-height:1.8}.style{cursor:pointer}@media(max-width:700px){.description-label label{font-size:13px}.duration-control{margin-left:0}}

#settingsButton,#settings{display:none} header nav{padding-right:100px}.cloud-account{position:absolute;right:48px;top:24px;display:flex;gap:16px;align-items:center}.cloud-account a{color:#666;text-decoration:none;font-size:13px}.login{max-width:400px;margin:12vh auto;padding:32px;background:white;border:1px solid #eee;border-radius:20px}.login input{width:100%;padding:14px;margin:8px 0;border:1px solid #ddd;border-radius:10px}.login button{width:100%;margin:12px 0}.login h1{font-size:28px}.login p{color:#777}.login .error{color:#9b2828}.team{max-width:700px;margin:70px auto;padding:24px}.team input,.team select{padding:12px;margin:8px;border:1px solid #ddd;border-radius:8px}@media(max-width:600px){.cloud-account{right:22px;top:24px}header nav{padding-right:75px}.login{margin:10vh 20px}}
