:root{--ink:#10110f;--paper:#f2efe7;--panel:#e8e4d9;--acid:#d8ff3e;--orange:#ff5b35;--muted:#74746c;--line:#c9c5b8;--green:#3c8b2c;--red:#a63321}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,"Noto Sans TC","Noto Sans JP",sans-serif}.grain{position:fixed;inset:0;pointer-events:none;opacity:.045;z-index:20;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitchTiles'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.topbar{height:72px;border-bottom:1px solid var(--ink);display:flex;align-items:center;justify-content:space-between;padding:0 4vw;background:var(--paper);position:relative;z-index:3}.brand{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none;font-weight:800;letter-spacing:.08em}.brand-mark{width:32px;height:32px;background:var(--ink);display:flex;align-items:center;justify-content:center;gap:2px;padding:7px}.brand-mark i{display:block;width:3px;background:var(--acid)}.brand-mark i:nth-child(1){height:8px}.brand-mark i:nth-child(2){height:18px}.brand-mark i:nth-child(3){height:13px}.brand-mark i:nth-child(4){height:6px}.brand small{font:500 8px DM Mono;background:var(--acid);padding:4px 6px}.system-status{font:500 10px DM Mono;display:flex;align-items:center;gap:8px}.dot{width:7px;height:7px;border-radius:50%;background:#aaa}.dot.ready{background:#67bb35;box-shadow:0 0 0 4px #67bb3520}.dot.warn{background:var(--orange)}
main{max-width:1500px;margin:auto;padding:0 4vw 90px}.hero{padding:68px 0 50px}.eyebrow,.kicker,.block-label{font:500 9px DM Mono;letter-spacing:.14em;color:var(--orange)}.hero h1{font-size:clamp(50px,7.2vw,108px);line-height:.88;letter-spacing:-.065em;margin:20px 0 0;max-width:1200px}.hero h1 em{font-style:normal;color:var(--orange)}.hero p{max-width:760px;margin:28px 0 0;color:#535149;line-height:1.75}
.creator-shell,.studio,.results{border:1px solid var(--ink);background:#ece8de;box-shadow:9px 9px 0 var(--ink)}.creator-shell{padding:38px 44px}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:22px}.section-heading.compact{padding-bottom:17px}.section-heading h2{font-size:28px;letter-spacing:-.045em;margin:6px 0 0}.section-heading>strong{font:600 30px DM Mono;color:var(--orange)}.index-mark,.counter,.readiness{font:500 9px DM Mono;border:1px solid var(--line);padding:8px 10px}.project-form{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:25px}.wide{grid-column:1/-1}label{display:flex;flex-direction:column;gap:8px;font:500 9px DM Mono;letter-spacing:.11em}input,textarea,select{border:1px solid var(--line);background:#f7f4ed;color:var(--ink);padding:13px 14px;font:500 13px Manrope,"Noto Sans TC","Noto Sans JP";outline:0;border-radius:0}input:focus,textarea:focus,select:focus{border-color:var(--ink);box-shadow:inset 3px 0 var(--acid)}textarea{min-height:110px;resize:vertical;line-height:1.6}.primary-action,.secondary-action,.download{border:0;background:var(--acid);height:50px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;font:700 10px DM Mono;letter-spacing:.08em;color:var(--ink);cursor:pointer;text-decoration:none}.primary-action{grid-column:1/-1}.primary-action b,.secondary-action b,.download b{font-size:18px}.primary-action:hover,.secondary-action:hover,.download:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ink)}button:disabled{filter:grayscale(.8);opacity:.58;cursor:not-allowed;transform:none!important;box-shadow:none!important}.error{font:500 10px/1.5 DM Mono;color:var(--red);background:#ffe1d9;padding:11px;margin:12px 0 0}
.studio{margin-top:65px}.studio-header{display:flex;justify-content:space-between;align-items:flex-start;padding:30px 34px;border-bottom:1px solid var(--ink)}.studio-header h2{font-size:33px;margin:5px 0 4px}.studio-header p{max-width:760px;margin:0;color:var(--muted);font-size:12px;line-height:1.5}.project-badge{display:flex;flex-direction:column;gap:5px;border:1px solid var(--line);padding:10px 13px}.project-badge span{font:500 8px DM Mono;color:var(--muted)}.project-badge strong{font:500 11px DM Mono}.studio-layout{display:grid;grid-template-columns:260px minmax(0,1fr)}.agent-rail{background:var(--ink);color:white;padding:25px 23px;display:flex;flex-direction:column}.rail-title{font:500 9px DM Mono;color:var(--acid);padding-bottom:15px;border-bottom:1px solid #333}.agent-rail ol{list-style:none;padding:0;margin:0}.agent-rail li{display:flex;gap:14px;padding:17px 0;border-bottom:1px solid #31312e;color:#77776f}.agent-rail li>b{font:400 9px DM Mono}.agent-rail li>span{display:flex;flex-direction:column;font-size:12px;font-weight:600}.agent-rail li small{font:400 8px/1.5 DM Mono;margin-top:3px}.agent-rail li.active{color:white}.agent-rail li.active>b{color:var(--acid)}.agent-rail li.done{color:#aaa}.agent-rail li.done>b{color:#65b74b}.rail-note{margin-top:auto;border:1px solid #373733;color:#92928a;padding:12px;font:400 8px/1.6 DM Mono}.studio-main{padding:28px 34px;min-width:0}.panel{padding:24px;border:1px solid var(--line);background:#f0ede5}.panel+.panel{margin-top:22px}.section-copy{font-size:11px;line-height:1.65;color:var(--muted);max-width:760px}.character-form{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:20px;padding:16px;background:var(--panel);border:1px solid var(--line)}.character-form .secondary-action{grid-column:1/-1}.character-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:20px}.empty-card{grid-column:1/-1;border:1px dashed var(--line);padding:35px;text-align:center;font:500 9px DM Mono;color:var(--muted)}
.character-card{border:1px solid var(--ink);background:#f7f4ed;display:grid;grid-template-columns:145px minmax(0,1fr);cursor:pointer;transition:.18s;min-height:320px}.character-card:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--ink)}.character-card.locked{box-shadow:inset 0 -4px var(--acid)}.character-image{position:relative;background:#d9d5ca;overflow:hidden;min-height:100%}.character-image img{width:100%;height:100%;object-fit:cover}.character-image>span{position:absolute;inset:0;display:grid;place-items:center;text-align:center;font:500 9px/1.7 DM Mono;color:var(--muted)}.confidence{position:absolute;left:7px;right:7px;bottom:7px;background:var(--ink);color:var(--acid);padding:6px;text-align:center;font:500 8px DM Mono}.character-body{padding:14px;display:flex;flex-direction:column;min-width:0}.card-title{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line);padding-bottom:10px}.card-title small,.visual-result>span,.identity-preview>span{font:500 7px DM Mono;color:var(--muted);letter-spacing:.1em}.card-title h3{margin:3px 0 0;font-size:18px}.voice-chip{font:500 8px DM Mono;background:var(--ink);color:white;padding:6px 8px;height:max-content}.visual-result{padding:10px 0}.visual-result dl,.detail-list{margin:7px 0 0}.visual-result dl div,.detail-list div{display:grid;grid-template-columns:90px 1fr;gap:7px;padding:4px 0}.visual-result dt,.detail-list dt{font:400 7px DM Mono;color:var(--muted)}.visual-result dd,.detail-list dd{margin:0;font-size:9px;font-weight:600;overflow-wrap:anywhere}.identity-preview{border-top:1px solid var(--line);padding-top:9px}.identity-preview strong{display:block;font-size:11px;margin-top:4px}.identity-preview small{display:block;font:400 8px/1.45 DM Mono;color:var(--muted);margin-top:3px}.card-footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;padding-top:10px}.card-footer>span{font:500 8px DM Mono}.lock-button{border:1px solid var(--ink);background:transparent;padding:7px 8px;font:600 8px DM Mono;cursor:pointer}.lock-button.is-locked{background:var(--acid)}
.language-picker,.mode-picker{border:0;padding:0;margin:23px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.language-picker legend,.mode-picker legend{width:100%;padding:0 0 9px;font:500 9px DM Mono;letter-spacing:.11em}.language-picker legend span{float:right;color:var(--muted);letter-spacing:0}.language-picker label,.mode-picker label{position:relative;display:flex;flex-direction:row;align-items:center;justify-content:space-between;min-height:68px;padding:12px;border:1px solid var(--line);background:#f7f4ed;cursor:pointer}.language-picker input,.mode-picker input{position:absolute;opacity:0}.language-picker label:has(input:checked),.mode-picker label:has(input:checked){border-color:var(--ink);background:var(--acid);box-shadow:3px 3px 0 var(--ink);transform:translate(-2px,-2px)}.language-picker label span,.mode-picker label span{display:flex;flex-direction:column;gap:3px}.language-picker label b,.mode-picker label b{font-size:13px;letter-spacing:0}.language-picker label small,.mode-picker label small{font:400 8px DM Mono;color:var(--muted);letter-spacing:0}.language-picker label i{font:500 9px DM Mono;font-style:normal}.revision-control{display:flex;justify-content:space-between;align-items:center;margin:22px 0;padding:16px;border:1px solid var(--line);background:var(--panel)}.revision-control strong{display:block;font-size:14px;margin-top:4px}.revision-control p{font-size:9px;color:var(--muted);margin:4px 0 0}.revision-control select{min-width:150px}.full{width:100%}.readiness.ready{background:var(--acid);border-color:var(--ink)}
.run-panel .section-heading strong{font:600 30px DM Mono;color:var(--orange)}.progress{height:5px;background:var(--line);margin:18px 0}.progress i{display:block;height:100%;background:var(--orange);width:0;transition:.4s}.event-log{max-height:280px;overflow:auto}.event{display:grid;grid-template-columns:78px 135px 1fr;gap:12px;border-top:1px solid var(--line);padding:9px 2px;font:400 9px/1.5 DM Mono}.event p{margin:0}.event p b{color:var(--muted)}.event.retry p b{color:var(--orange)}.event.passed p b{color:var(--green)}.event.failed p b{color:var(--red)}
.results{margin-top:70px;padding:34px}.download{width:260px}.summary-grid{display:grid;grid-template-columns:repeat(6,1fr);margin:22px 0;border-left:1px solid var(--line)}.summary-grid article{padding:7px 14px;border-right:1px solid var(--line)}.summary-grid small{font:500 7px DM Mono;color:var(--muted)}.summary-grid strong{display:block;font-size:19px;margin-top:5px}.line-result{border-top:1px solid var(--ink);padding:25px 0}.line-heading{display:flex;justify-content:space-between;gap:20px}.line-heading>div:first-child>span,.line-heading>div:last-child>span{font:500 8px DM Mono;color:var(--orange)}.line-heading h3{font-size:19px;margin:7px 0 4px}.line-heading p,.line-heading small{font:400 9px/1.5 DM Mono;color:var(--muted)}.line-heading p{margin:0 0 4px}.line-heading>div:last-child{text-align:right}.line-heading>div:last-child strong{display:block;font:600 30px DM Mono}.takes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-top:18px}.take{border:1px solid var(--line);background:#f7f4ed;padding:15px}.take.approved{border-color:var(--green);box-shadow:inset 0 -4px #6bc653}.take.retry{border-color:var(--orange)}.take header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:10px}.take header>div{display:flex;flex-direction:column;gap:3px}.take header span{font:500 8px DM Mono}.take header strong{font:600 9px DM Mono;color:var(--green)}.take.retry header strong{color:var(--orange)}.overall{font:600 28px DM Mono}.metric-grid{display:grid;grid-template-columns:1fr 1fr;margin:10px 0}.metric-grid div{display:flex;justify-content:space-between;padding:6px;border-bottom:1px solid #ddd8cc}.metric-grid span{font:400 8px DM Mono;color:var(--muted)}.metric-grid strong{font:600 11px DM Mono}.take blockquote{margin:10px 0;padding:9px;border-left:3px solid var(--orange);font-size:10px;line-height:1.5}.take audio{width:100%;height:32px}.auto-revision{border:1px solid var(--orange);background:#fff0e9;margin-top:8px}.revision-title{display:flex;justify-content:space-between;padding:9px;background:var(--orange);color:white;font:500 8px DM Mono}.revision-grid{display:grid;grid-template-columns:1fr 1fr;padding:8px}.revision-grid div{padding:6px;display:flex;justify-content:space-between}.revision-grid span{font:400 8px DM Mono;color:var(--muted)}.revision-grid b{font:600 9px DM Mono}
dialog{width:min(1050px,94vw);max-height:92vh;border:1px solid var(--ink);padding:28px;background:var(--paper);box-shadow:10px 10px 0 var(--ink);overflow:auto}dialog::backdrop{background:#11110fbb}.dialog-close{position:absolute;right:15px;top:12px;border:0;background:transparent;font-size:27px;cursor:pointer}.dialog-header{display:grid;grid-template-columns:95px 1fr auto;gap:18px;align-items:center;border-bottom:1px solid var(--ink);padding-bottom:18px}.dialog-portrait{height:95px;background:var(--ink);display:grid;place-items:center;color:var(--acid);font-weight:800;overflow:hidden}.dialog-portrait img{width:100%;height:100%;object-fit:cover}.dialog-header h2{font-size:32px;margin:4px 0}.dialog-header p{font-size:10px;color:var(--muted);margin:0;max-width:600px}.dialog-lock{font:600 9px DM Mono;border:1px solid var(--line);padding:9px}.dialog-lock.locked{background:var(--acid);border-color:var(--ink)}.dialog-columns{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding:24px 0;border-bottom:1px solid var(--line)}.reasoning-callout{margin-top:9px;padding:13px;background:var(--ink);color:white}.reasoning-callout strong{font-size:15px}.reasoning-callout p{font-size:9px;line-height:1.6;color:#bdbdb5}.reasoning-callout small{font:500 7px DM Mono;color:var(--acid)}.detail-list div{grid-template-columns:130px 1fr;padding:7px 0;border-bottom:1px solid var(--line)}.detail-list dt{font-size:8px}.detail-list dd{font-size:11px}.lock-large{width:100%;margin-top:15px;background:transparent;border:1px solid var(--ink);height:43px;font:700 9px DM Mono;cursor:pointer}.lock-large.locked{background:var(--acid)}.dialogue-editor{padding-top:23px}.dialogue-editor form{display:grid;grid-template-columns:260px 1fr 180px;gap:12px;align-items:end;margin-top:16px}.dialogue-editor textarea{min-height:72px}.dialogue-list{margin-top:14px;border-top:1px solid var(--line)}.dialogue-list article{display:grid;grid-template-columns:45px 1fr 30px;gap:10px;padding:10px 3px;border-bottom:1px solid var(--line)}.dialogue-list article>span{font:500 8px DM Mono;color:var(--muted)}.dialogue-list strong{font:600 9px DM Mono;color:var(--orange)}.dialogue-list p{font-size:11px;margin:4px 0}.delete-line{border:0;background:transparent;font-size:18px;cursor:pointer}.empty-dialogue{text-align:center;padding:18px;font:500 8px DM Mono;color:var(--muted)}
footer{border-top:1px solid var(--ink);padding:22px 4vw;display:flex;justify-content:space-between;background:var(--ink);color:#aaa;font:500 8px DM Mono}footer span:last-child{color:var(--acid)}
@media(max-width:1100px){.studio-layout{grid-template-columns:1fr}.agent-rail{display:none}.character-grid{grid-template-columns:1fr}.summary-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){main{padding:0 18px 60px}.topbar{padding:0 18px}.system-status{display:none}.hero{padding:45px 0 35px}.creator-shell,.results{padding:22px}.project-form,.character-form{grid-template-columns:1fr}.wide{grid-column:auto}.studio-main{padding:18px}.studio-header{padding:22px;flex-direction:column;gap:14px}.character-card{grid-template-columns:105px 1fr}.language-picker,.mode-picker{grid-template-columns:1fr}.language-picker legend span{display:none}.revision-control{align-items:flex-start;flex-direction:column;gap:12px}.revision-control select{width:100%}.summary-grid{grid-template-columns:1fr 1fr}.dialog-header{grid-template-columns:70px 1fr}.dialog-lock{grid-column:1/-1}.dialog-columns{grid-template-columns:1fr}.dialogue-editor form{grid-template-columns:1fr}.event{grid-template-columns:65px 1fr}.event p{grid-column:1/-1}.results .section-heading{flex-direction:column;gap:14px}.download{width:100%}}
