:root{--ink:#30251f;--muted:#5a4c42;--paper:#fffaf2;--card:#fff;--accent:#d7653b;--accent-dark:#a94120;--line:#eaded1;--ok:#26734d;--warn:#9a5c0a;color:var(--ink);background:var(--paper);font-family:Arial,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html{scroll-padding-top:88px}body{background:linear-gradient(#fff7ea 0,#fffdf9 420px);margin:0}a{color:inherit}.topbar{border-bottom:1px solid var(--line);z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffdf9dd;justify-content:space-between;align-items:center;min-height:68px;padding:12px max(18px,50% - 520px);display:flex;position:sticky;top:0}.brand{font-size:21px;font-weight:800;text-decoration:none}.topbar nav{gap:16px;display:flex}.topbar nav a{font-size:15px}.shell{width:min(100% - 28px,1040px);margin:0 auto;padding:28px 0 70px}.hero{text-align:center;padding:34px 12px 26px}.hero h1{margin:0 0 18px;font-size:clamp(32px,8vw,56px);line-height:1.12}.hero p{color:var(--muted);max-width:700px;margin:0 auto 28px;font-size:20px;line-height:1.7}.button,.button-secondary,button{min-height:54px;font:inherit;cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;padding:12px 24px;font-size:18px;font-weight:750;text-decoration:none;display:inline-flex}.button,button{background:var(--accent-dark);color:#fff}.button:hover,button:hover{background:#8a3418}.button-secondary{border:2px solid var(--line);background:#fff}button:disabled{opacity:.55;cursor:not-allowed}.stack{gap:18px;display:grid}.grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;display:grid}.card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:0 8px 28px #76533b0c}.card h2,.card h3{margin-top:0}.steps{counter-reset:step}.step{align-items:flex-start;gap:14px;display:flex}.step:before{counter-increment:step;content:counter(step);width:38px;height:38px;color:var(--accent-dark);background:#f9e0d2;border-radius:50%;flex:0 0 38px;place-items:center;font-weight:900;display:grid}.muted{color:var(--muted);line-height:1.6}.eyebrow{color:var(--accent-dark);font-weight:800}.field{gap:8px;display:grid}.field label,.label{font-size:17px;font-weight:800}.field input,.field textarea,.field select,input,textarea,select{border:2px solid var(--line);width:100%;min-height:52px;font:inherit;color:var(--ink);background:#fff;border-radius:12px;padding:12px 14px;font-size:17px}textarea{resize:vertical;min-height:94px}.form{gap:20px;max-width:680px;display:grid}.choice-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.choice{scroll-margin-top:88px;position:relative}.choice input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.choice span{border:2px solid var(--line);text-align:center;background:#fff;border-radius:14px;place-items:center;min-height:74px;padding:10px;font-size:18px;font-weight:750;display:grid}.choice input:checked+span{border-color:var(--accent);color:var(--accent-dark);background:#fff0e8}.notice{background:#fff4d9;border:1px solid #efd79e;border-radius:12px;padding:15px 17px;line-height:1.55}.error{color:#9b2d18;background:#fff0ed;border-radius:12px;padding:14px}.success{color:var(--ok);font-weight:800}.thumbs{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.thumbs img{aspect-ratio:1;object-fit:cover;border:1px solid var(--line);border-radius:12px;width:100%}.progress{background:#eee3d8;border-radius:999px;height:18px;overflow:hidden}.progress>span{background:linear-gradient(90deg,#dc744e,#efaa65);height:100%;transition:width .4s;display:block}.status-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.scene{border-left:6px solid #e8b28d}.scene video,.result-video{background:#201c19;border-radius:14px;width:100%;max-height:70vh}.pill{background:#f4ece5;border-radius:999px;padding:6px 10px;font-size:14px;display:inline-block}.actions{flex-wrap:wrap;gap:12px;display:flex}.price{color:var(--accent-dark);font-size:27px;font-weight:900}.center{text-align:center}.spinner{border:5px solid #efd9ca;border-top-color:var(--accent);border-radius:50%;width:42px;height:42px;margin:18px auto;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (min-width:720px){.choice-grid{grid-template-columns:repeat(4,1fr)}.shell{padding-top:42px}}@media (max-width:560px){.topbar{gap:10px;padding-inline:14px}.topbar nav{flex-wrap:wrap;justify-content:flex-end;gap:10px}.topbar nav a{white-space:nowrap;font-size:14px}.shell{width:min(100% - 20px,1040px)}.card{padding:18px}.button,.button-secondary,button{width:100%}.actions{display:grid}.thumbs{grid-template-columns:repeat(2,1fr)}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}a.button,a.button-secondary,.actions a{scroll-margin-top:88px}:focus-visible{outline-offset:3px;outline:3px solid #2f6fad}.skip-link{z-index:100;background:#fff;border:2px solid #2f6fad;border-radius:12px;padding:12px 16px;font-weight:800;text-decoration:none;position:absolute;top:-80px;left:12px}.skip-link:focus,.skip-link:focus-visible{outline:none;top:12px}input:focus-visible,textarea:focus-visible,select:focus-visible{border-color:#2f6fad}.choice input:focus-visible+span{outline-offset:2px;outline:3px solid #2f6fad}.topbar a:focus-visible{outline-offset:4px}.topbar a[aria-current=page]{text-underline-offset:4px;font-weight:900;text-decoration:underline}.library-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.library-actions .button-secondary{width:auto;min-height:44px;padding:8px 14px;font-size:15px}.library-actions .error{flex-basis:100%;margin:4px 0 0}.quality-issues{gap:12px;margin:16px 0 0;padding:0;list-style:none;display:grid}.quality-issues li{border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px 14px}.quality-issues .button-secondary{width:auto;min-height:44px;padding:8px 14px;font-size:15px;display:inline-flex}.site-footer{border-top:1px solid var(--line);width:min(100% - 28px,1040px);color:var(--muted);margin:0 auto 40px;padding-top:8px;font-size:14px}.site-footer nav{flex-wrap:wrap;gap:14px;margin-bottom:8px;display:flex}.site-footer a{text-underline-offset:3px;text-decoration:underline}.site-footer a:focus-visible{outline-offset:3px;outline:3px solid #2f6fad}.connection-banner{z-index:20;color:#fffaf2;text-align:center;background:#9a5c0a;padding:10px 16px;font-size:14px;font-weight:600;position:sticky;top:0}.state-block{padding:28px 18px}.state-block .spinner{margin:0 auto 12px}
.character-cover,.card>img{aspect-ratio:4/3;object-fit:cover;background:#f4ece5;border-radius:14px;width:100%;margin-bottom:14px}.thumbs figure{gap:8px;margin:0;display:grid}.thumbs figure button{min-height:44px;padding:8px;font-size:15px}
.workspace{grid-template-areas:"preview""scenes""editor";gap:16px;display:grid}.workspace-preview{grid-area:preview}.workspace-scenes{grid-area:scenes;align-content:start;gap:10px;display:grid}.workspace-editor{grid-area:editor}.workspace-scenes .choice{text-align:left;width:100%}.workspace-scenes .selected{background:#fff4ec;outline:3px solid #da8151}.workspace-scene:focus-visible,.dialogue-scenes button:focus-visible{outline-offset:2px;outline:3px solid #2f6fad}.workspace-scene{text-align:left;width:100%;color:inherit;background:#fff;border:1px solid #ead8ca;border-radius:14px;gap:4px;padding:14px;display:grid}.workspace-scene span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.candidate-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.candidate-header h3{margin:0}.candidate-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.candidate{background:#fff;border:1px solid #ead8ca;border-radius:14px;gap:8px;padding:8px;display:grid}.candidate.selected{background:#fff4ec;border:2px solid #da8151}.candidate video{aspect-ratio:9/16;object-fit:cover;background:#261e1a;border-radius:9px;width:100%}.candidate span{color:#62554d;font-size:13px}.upload-replacement{border:1px dashed #cfae98;border-radius:14px;gap:6px;padding:14px;display:grid}.upload-replacement input{width:100%}.upload-replacement small{color:#78685f}.dialogue-panel{gap:16px;display:grid}.dialogue-scenes{gap:8px;padding:3px;display:flex;overflow-x:auto}.dialogue-scenes .selected{outline:3px solid #da8151}.control-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.control-pair label{gap:7px;display:grid}.dialogue-panel audio{width:100%}.sound-panel,.sound-block{gap:14px;display:grid}.sound-block{border-top:1px solid #ead8ca;padding-top:12px}.sound-panel audio{width:100%}.upload-button{cursor:pointer;position:relative;overflow:hidden}.upload-button input{opacity:0;cursor:pointer;position:absolute;inset:0}@media (max-width:560px){.control-pair{grid-template-columns:1fr}}@media (min-width:900px){.workspace{grid-template-columns:minmax(0,1.2fr) minmax(220px,.55fr) minmax(300px,.8fr);grid-template-areas:"preview scenes editor";align-items:start}.workspace>*{max-height:calc(100vh - 100px);position:sticky;top:84px;overflow:auto}}
.example-list{flex-wrap:wrap;gap:8px;display:flex}.example-chip{border:1px solid var(--line);width:auto;min-height:40px;color:var(--ink);background:#fff;padding:8px 12px;font-size:14px;font-weight:600}.example-chip:hover{color:var(--accent-dark);background:#fff0e8}.choice-grid.compact .choice span{min-height:58px;font-size:16px}@media (max-width:560px){.example-chip{text-align:left;justify-content:flex-start;width:100%}}
