:root{color-scheme:light;--bg: #FBFAF8;--card: #FDFCFA;--ink: #23231F;--ink-2: #4A4941;--ink-3: #6B6A63;--ink-4: #8E8C84;--ink-5: #A3A199;--ink-6: #B5B2A9;--ink-7: #C9C6BC;--line: #E3E0D8;--line-2: #EEEBE3;--line-3: #E9E6DE;--line-4: #F1EEE7;--hover-1: #F2F0EA;--hover-2: #F5F3ED;--hover-3: #F4F2ED;--hover-4: #F0EEE7;--accent: #D6F24B;--select: #E9F79B;--warn: #C98A2B;--warn-bg: #FBF3E4;--warn-bg-2: #FBF7EF;--warn-border: #EFD9AE;--danger: #B4443A;--danger-bg: #FAEBE8;--sans: "Instrument Sans", system-ui, sans-serif;--serif: "Instrument Serif", serif;--editorial: Newsreader, serif;--mono: "JetBrains Mono", monospace;--tab-h: 58px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);height:100%}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;font-family:var(--sans);color:var(--ink);overflow:hidden}a{color:var(--ink);text-decoration-color:var(--line-7, #C9C6BC)}a:hover{color:var(--ink-3)}::selection{background:var(--select)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line);border-radius:10px;border:3px solid var(--bg)}@keyframes scribe-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}button{font:inherit;cursor:pointer}input{font:inherit}.gate{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;background:var(--bg)}.gate[hidden]{display:none}.gate-card{width:100%;max-width:360px;padding:0 24px}.gate-brand{display:flex;align-items:baseline;gap:8px}.gate-lede{font-family:var(--editorial);font-size:15.5px;color:var(--ink-3);margin:14px 0 22px;line-height:1.55}.gate-form{display:flex;gap:8px}.gate-form input{flex:1 1 auto;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);font-size:13.5px}.gate-form input:focus{outline:none;border-color:var(--ink)}.gate-form button{padding:10px 18px;border-radius:8px;border:none;background:var(--ink);color:var(--bg);font-size:13px;font-weight:500}.gate-form button:hover{background:#3b3a34}.gate-form.busy input,.gate-form.busy button{opacity:.55;cursor:default}.gate-form.busy button:hover{background:var(--ink)}.gate-error{font-size:12.5px;color:var(--danger);margin-top:12px;min-height:1em}.gate-status{display:flex;align-items:center;gap:8px;margin-top:12px;font-family:var(--mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3);min-height:1em}.gate-status:empty{display:none}.gate-status.working:before{content:"";width:11px;height:11px;border-radius:99px;flex:none;border:1.5px solid var(--line);border-top-color:var(--ink);animation:gate-spin .7s linear infinite}.gate-status.ok{color:var(--ink)}.gate-status.ok:before{content:"✓";font-size:12px}@keyframes gate-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.gate-status.working:before{animation:none}}.app{display:flex;height:100vh;height:100dvh;width:100%;overflow:hidden}.app[hidden]{display:none}.sidebar{width:232px;flex:none;border-right:1px solid var(--line);display:flex;flex-direction:column;background:var(--bg);overflow-y:auto}.sidebar-head{padding:26px 22px 20px}.brand{display:flex;align-items:baseline;gap:8px}.brand-mark{font-family:var(--serif);font-size:27px;letter-spacing:-.015em}.brand-version{font-family:var(--mono);font-size:9.5px;color:var(--ink-5);letter-spacing:.08em;text-transform:uppercase}.brand-infra{font-family:var(--mono);font-size:10px;color:var(--ink-5);margin-top:7px;letter-spacing:.02em}.nav{display:flex;flex-direction:column;gap:1px;padding:0 12px}.nav-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:7px;cursor:pointer;font-size:13.5px;letter-spacing:-.008em}.nav-item:hover{background:var(--hover-1)}.nav-dot{width:3px;height:15px;border-radius:3px;background:var(--ink);opacity:0;flex:none}.nav-item.active .nav-dot{opacity:1}.nav-count{margin-left:auto;font-family:var(--mono);font-size:10.5px;color:var(--ink-5)}.bands{margin-top:auto;padding:18px 22px 14px;border-top:1px solid var(--line)}.bands-head{font-family:var(--mono);font-size:9.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-5);margin-bottom:12px}.band-row{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--ink-3);margin-bottom:9px}.band-swatch{width:22px;height:3px;border-radius:2px;flex:none}.band-named{background:var(--ink)}.band-unverified{background:var(--warn)}.band-unknown{background:repeating-linear-gradient(90deg,#A9A6B4 0 3px,transparent 3px 6px)}.band-label{color:var(--ink)}.band-value{margin-left:auto;font-family:var(--mono);font-size:10.5px;color:var(--ink-5)}.sidebar-foot{padding:0 22px 22px}.sidebar-foot a{font-size:12px;color:var(--ink-3);text-decoration:none;border-bottom:1px solid var(--line)}.sidebar-foot a:hover{color:var(--ink);border-color:var(--ink)}.main{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.scroll{flex:1;min-height:0;overflow-y:auto}.screen{display:none}.screen.active{display:block}.page{max-width:1240px;margin:0 auto;padding:54px 56px 90px;animation:scribe-in .35s ease both}.page-title{font-family:var(--serif);font-size:clamp(31px,8vw,46px);font-weight:400;letter-spacing:-.02em;margin:0;line-height:1}.page-lede{font-family:var(--editorial);font-size:17px;color:var(--ink-3);margin:12px 0 0;max-width:52ch;line-height:1.55}.empty{color:var(--ink-4);font-style:italic;font-size:14px}.btn-primary{display:inline-block;cursor:pointer;font-size:13px;padding:10px 18px;border-radius:8px;background:var(--ink);color:var(--bg);border:none;letter-spacing:-.01em}.btn-primary:hover{background:#3b3a34}.btn-secondary{display:inline-block;cursor:pointer;font-size:13px;padding:10px 18px;border-radius:8px;border:1px solid var(--line);color:var(--ink-3);background:transparent}.btn-secondary:hover{border-color:var(--ink);color:var(--ink)}.section-divider{display:flex;align-items:center;gap:14px;margin:44px 0 0}.section-divider .btn-name{padding:5px 11px;font-size:11px;flex:none}.section-divider .label{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-5)}.section-divider .rule{flex:1;height:1px;background:var(--line)}.dropzone{margin-top:34px;border:1px dashed #CFCCC2;border-radius:14px;padding:26px 28px;display:flex;align-items:center;gap:22px;cursor:pointer;background:var(--card)}.dropzone:hover,.dropzone.over{border-color:var(--ink);background:#f7f5ef}.dropzone-icon{width:46px;height:46px;flex:none;border-radius:11px;background:var(--ink);display:flex;align-items:center;justify-content:center;color:var(--select);font-family:var(--mono);font-size:17px}.dropzone-body{min-width:0;flex:1 1 auto}.dropzone-text{font-size:15px;letter-spacing:-.01em;font-weight:500}.dropzone-hint{font-family:var(--mono);font-size:11.5px;color:var(--ink-4);margin-top:6px}.dropzone-cta{margin-left:auto;flex:none;font-size:12.5px;color:var(--ink-3);border:1px solid var(--line);border-radius:6px;padding:7px 13px;background:var(--bg)}.run-row{display:grid;grid-template-columns:1fr 132px 92px 84px 20px;align-items:center;gap:18px;padding:17px 12px 17px 14px;border-bottom:1px solid var(--line-2);cursor:pointer;border-radius:8px}.run-row:hover{background:var(--hover-2)}.run-row>div{min-width:0}.run-name-row{display:flex;align-items:center;gap:9px;min-width:0}.run-dot{width:6px;height:6px;border-radius:50%;flex:none}.run-name{font-family:var(--mono);font-size:13px;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.run-note{font-size:12px;color:var(--ink-4);margin-top:6px;margin-left:15px}.run-when{font-size:12.5px;color:var(--ink-3)}.run-dur{font-family:var(--mono);font-size:11.5px;color:var(--ink-4)}.run-code{font-family:var(--mono);font-size:11px;letter-spacing:.02em}.run-arrow{font-family:var(--mono);font-size:13px;color:var(--ink-7);text-align:right}.run-flight-label{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-5)}.run-flight-title{font-family:var(--serif);font-size:clamp(28px,7vw,40px);font-weight:400;letter-spacing:-.02em;margin:14px 0 0;line-height:1.05;overflow-wrap:anywhere}.run-flight-meta{font-family:var(--mono);font-size:12px;color:var(--ink-3);margin-top:12px}.stage-row{display:grid;grid-template-columns:26px 210px 1fr auto;align-items:center;gap:20px;padding:18px 0;border-bottom:1px solid var(--line-2)}.stage-mark{width:22px;height:22px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:10px;color:var(--ink-6)}.stage-mark.done{background:var(--ink);border-color:var(--ink);color:var(--bg)}.stage-mark.live{border-color:var(--ink);color:var(--ink)}.stage-title{font-size:14.5px;letter-spacing:-.01em;font-weight:500}.stage-lib{font-family:var(--mono);font-size:10.5px;color:var(--ink-5);margin-top:5px}.stage-detail{font-family:var(--editorial);font-size:15px;color:var(--ink-3)}.stage-bar{width:150px;height:3px;border-radius:3px;background:var(--line-2);overflow:hidden}.stage-bar-fill{height:100%;border-radius:3px;background:var(--ink);width:0;transition:width .4s ease}.flight-progress{margin-top:46px}.flight-progress-head{display:flex;align-items:baseline;justify-content:space-between}.flight-progress-title{font-size:14.5px;letter-spacing:-.01em;font-weight:500}.flight-progress-detail{font-family:var(--editorial);font-size:15px;color:var(--ink-3)}.flight-progress-track{margin-top:14px;height:4px;border-radius:4px;background:var(--line-2);overflow:hidden}.flight-progress-fill{height:100%;border-radius:4px;background:var(--ink);width:0;transition:width .5s linear}.flight-progress-caption{margin-top:10px;font-family:var(--mono);font-size:10.5px;color:var(--ink-6)}.run-flight-actions{margin-top:34px;display:flex;gap:12px}.fail-badge{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;padding:6px 11px;border-radius:6px;background:var(--danger-bg);color:var(--danger)}.fail-badge.retryable{background:var(--warn-bg);color:var(--warn)}.fail-title{font-family:var(--serif);font-size:clamp(28px,7vw,40px);font-weight:400;letter-spacing:-.02em;margin:20px 0 0;line-height:1.08}.fail-body{font-family:var(--editorial);font-size:18px;line-height:1.6;color:var(--ink-2);margin:16px 0 0;max-width:60ch;overflow-wrap:anywhere}.fail-log-card{margin-top:32px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--card)}.fail-log-head{padding:11px 16px;border-bottom:1px solid var(--line-2);font-family:var(--mono);font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-5)}.fail-log-card pre{margin:0;padding:16px;font-family:var(--mono);font-size:11.5px;line-height:1.9;color:var(--ink-2);white-space:pre-wrap;overflow-wrap:anywhere}.fail-actions{margin-top:22px;display:flex;gap:12px;align-items:center}.fail-hint{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--ink-5)}.review-header{position:sticky;top:0;z-index:5;background:var(--bg);border-bottom:1px solid var(--line);padding:22px 0 0}.review-header-inner{max-width:1240px;margin:0 auto;padding:0 56px}.review-top{display:flex;align-items:flex-start;gap:28px}.review-title{font-family:var(--serif);font-size:27px;letter-spacing:-.015em;line-height:1.1}.review-meta{font-family:var(--mono);font-size:11px;color:var(--ink-4);margin-top:7px}.mode-switch{margin-left:auto;display:flex;gap:3px;padding:3px;border:1px solid var(--line);border-radius:9px;background:#f4f2ed;flex:none}.mode-btn{cursor:pointer;font-size:12.5px;padding:7px 15px;border-radius:6px;letter-spacing:-.01em;color:var(--ink-4)}.mode-btn.active{background:var(--bg);color:var(--ink);box-shadow:0 1px 2px #23231f1a}.review-stats{display:flex;align-items:center;gap:18px;margin-top:16px;flex-wrap:wrap;font-family:var(--mono);font-size:10.5px;color:var(--ink-4)}.review-stats .flagged{color:var(--warn)}.review-stats .hint{color:var(--ink-6)}.review-alert{max-width:1240px;margin:0 auto;padding:16px 56px 0}.quality-alert{background:var(--warn-bg);color:var(--warn);border-radius:8px;padding:.7rem .9rem;font-size:13px;margin:0 0 .2rem;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.quality-alert .btn-primary{background:var(--warn);color:var(--bg);padding:7px 14px;font-size:12.5px}.quality-alert .btn-primary:hover{background:#b37a22}.chips-row{display:flex;gap:8px;margin-top:14px;padding-bottom:16px;flex-wrap:wrap}.chip-person{display:flex;align-items:center;gap:8px;padding:6px 12px 6px 8px;border-radius:999px;border:1px solid var(--line);background:var(--card)}.chip-person.unverified{border-color:var(--warn-border);background:var(--warn-bg)}.chip-avatar{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:9px;background:var(--ink);color:var(--bg)}.chip-avatar.unverified{background:var(--warn)}.chip-avatar.unknown{background:#edebf2;color:#8f8ca0}.chip-name{font-size:12.5px;letter-spacing:-.008em}.chip-score{font-family:var(--mono);font-size:10.5px;color:var(--ink-4)}.manuscript-layout{max-width:1240px;margin:0 auto;padding:0 56px;display:flex;align-items:flex-start;gap:40px}.turns-col{flex:1 1 auto;min-width:0;padding:34px 0 90px}.turn-row{display:grid;grid-template-columns:128px 1fr;gap:26px;padding:13px 16px 13px 12px;border-radius:9px;cursor:pointer}.turn-row:hover{background:var(--hover-3)}.turn-row.selected{background:#f0ede4}.turn-meta{text-align:right;padding-top:4px}.turn-name{font-size:13px;font-weight:500;letter-spacing:-.012em}.turn-name.unverified{font-style:italic;color:var(--warn)}.turn-name.unknown{font-family:var(--mono);color:#8f8ca0}.turn-time{font-family:var(--mono);font-size:10px;color:var(--ink-6);margin-top:4px}.turn-flag{font-family:var(--mono);font-size:9px;letter-spacing:.05em;text-transform:uppercase;margin-top:6px;color:var(--ink-6)}.turn-flag.unverified{color:var(--warn)}.turn-text{font-family:var(--editorial);font-size:18px;line-height:1.62;letter-spacing:-.002em}.turn-text.unverified{padding-left:16px;border-left:2px solid var(--warn-border);color:var(--ink-2)}.turn-text.unknown{padding-left:16px;border-left:2px dotted #CBC8D6;color:#6e6c7a}.turn-text.named{color:#2b2a25}.inspector{position:sticky;top:158px;width:318px;flex:0 0 318px;align-self:flex-start;z-index:6;padding:34px 0 60px 26px}.inspector-label{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-5)}.inspector-empty{font-family:var(--editorial);font-size:15.5px;line-height:1.6;color:var(--ink-3);margin:14px 0 0}.inspector-head{display:flex;align-items:center;gap:10px}.inspector-close{margin-left:auto;width:24px;height:24px;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink-5);font-size:13px;border:none;background:none}.inspector-close:hover{background:var(--hover-4);color:var(--ink)}.inspector-quote{font-family:var(--editorial);font-size:15px;line-height:1.55;color:var(--ink-2);margin-top:12px;padding:14px;background:var(--hover-3);border-radius:9px}.inspector-play{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--ink);color:var(--bg);font-size:8px;margin-right:8px;border:none;cursor:pointer;vertical-align:middle}.attribution-head{margin-top:24px;display:flex;align-items:baseline;justify-content:space-between}.attribution-spk{font-family:var(--mono);font-size:10.5px;color:var(--ink-5)}.candidates-list{margin-top:12px;display:flex;flex-direction:column;gap:2px}.candidate-row{display:grid;grid-template-columns:1fr 44px;align-items:center;gap:10px;padding:9px 11px;border-radius:8px;cursor:pointer}.candidate-row:hover{background:var(--hover-4)}.candidate-row.current{background:#f0ede4}.candidate-name{font-size:13px;letter-spacing:-.01em}.candidate-bar-track{height:3px;border-radius:3px;background:var(--line-3);margin-top:7px;overflow:hidden}.candidate-bar-fill{height:100%;border-radius:3px}.candidate-score{font-family:var(--mono);font-size:11.5px;text-align:right}.enrol-cta{margin-top:20px;padding:13px 14px;border-radius:10px;background:var(--ink);color:var(--bg);cursor:pointer}.enrol-cta:hover{background:#3b3a34}.enrol-cta.disabled{background:var(--line-4);color:var(--ink-3);cursor:default;border:1px solid var(--line)}.enrol-cta.disabled:hover{background:var(--line-4)}.enrol-cta.disabled .enrol-cta-sub{color:var(--ink-3)}.enrol-error{flex-basis:100%;font-size:12px;color:var(--danger);margin-top:8px;line-height:1.5}.enrol-error:empty{display:none}.enrol-cta-title{font-size:12.5px;letter-spacing:-.01em}.enrol-cta-sub{font-family:var(--mono);font-size:10px;color:#a9a79e;margin-top:5px}.enrol-note{font-family:var(--mono);font-size:10px;color:var(--ink-6);margin-top:10px;line-height:1.7}.enrol-inline-form{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px}.enrol-inline-form input{padding:8px 10px;border:1px solid var(--line);border-radius:7px;background:var(--bg);color:var(--ink);font-size:12.5px;flex:1 1 100px}.enrol-inline-form button{padding:8px 14px;border-radius:7px;border:none;background:var(--ink);color:var(--bg);font-size:12.5px}.name-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.btn-confirm{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:12.5px;padding:8px 14px;border-radius:7px;border:none;background:var(--ink);color:var(--bg);letter-spacing:-.01em}.btn-confirm:hover{background:#3b3a34}.btn-confirm .s{font-family:var(--mono);font-size:10.5px;opacity:.65}.btn-name{cursor:pointer;font-size:12.5px;padding:8px 14px;border-radius:7px;border:1px solid var(--line);color:var(--ink-3);background:transparent}.btn-name:hover{border-color:var(--ink);color:var(--ink)}.name-form{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;align-items:center}.name-form input{padding:8px 10px;border:1px solid var(--line);border-radius:7px;background:var(--bg);color:var(--ink);font-size:12.5px;flex:1 1 160px;min-width:0}.name-form input:focus{outline:none;border-color:var(--ink)}.name-form button[type=submit]{padding:8px 14px;border-radius:7px;border:none;background:var(--ink);color:var(--bg);font-size:12.5px}.name-form .btn-secondary{padding:8px 12px;font-size:12px}.name-error{flex-basis:100%;font-size:12px;color:var(--danger);line-height:1.5}.name-error:empty{display:none}.name-note{flex-basis:100%;font-family:var(--mono);font-size:10px;color:var(--ink-6);line-height:1.7}.order-why,.inspector-why{font-family:var(--mono);font-size:10.5px;color:var(--ink-4);line-height:1.6}.inspector-why{margin-top:8px}.chip-hint{font-size:12px;color:var(--ink-4);letter-spacing:-.008em}.signal-layout{max-width:1240px;margin:0 auto;padding:34px 56px 90px;display:flex;gap:40px;align-items:flex-start;flex-wrap:wrap}.signal-main{flex:1 1 520px;min-width:0}.signal-heading{display:flex;align-items:baseline;gap:14px}.signal-heading .title{font-family:var(--serif);font-size:24px;letter-spacing:-.015em}.signal-heading .sub{font-family:var(--mono);font-size:10.5px;color:var(--ink-5)}.matrix-card{margin-top:22px;border:1px solid var(--line);border-radius:13px;background:var(--card);overflow-x:auto;contain:inline-size}.matrix-row{display:grid;grid-template-columns:132px repeat(var(--cols, 5),minmax(56px,1fr));min-width:480px;border-bottom:1px solid var(--line-4)}.matrix-row.head{border-bottom:1px solid var(--line-2)}.matrix-head-cell{padding:13px 8px;text-align:center;border-left:1px solid var(--line-4)}.matrix-head-cell .first{font-size:11.5px;letter-spacing:-.01em;color:var(--ink-2)}.matrix-head-cell .last{font-family:var(--mono);font-size:9px;color:var(--ink-6);margin-top:3px}.matrix-row-label{padding:15px 14px;display:flex;flex-direction:column;gap:4px;justify-content:center}.matrix-row-label .spk{font-family:var(--mono);font-size:11px}.matrix-row-label .talk{font-size:10.5px;color:var(--ink-5)}.matrix-cell{border-left:1px solid var(--line-4);padding:8px;display:flex;align-items:center;justify-content:center;cursor:pointer}.matrix-cell:hover{background:var(--hover-3)}.matrix-cell-value{width:100%;max-width:74px;padding:9px 0;border-radius:8px;text-align:center;font-family:var(--mono);font-size:12px;border:1.5px solid transparent}.matrix-legend{margin-top:16px;display:flex;gap:22px;flex-wrap:wrap;font-family:var(--mono);font-size:10.5px;color:var(--ink-4)}.matrix-legend .flagged{color:var(--warn)}.order-list{margin-top:18px;display:flex;flex-direction:column;gap:10px}.order-row{display:grid;grid-template-columns:26px 1fr;gap:16px;align-items:start;padding:13px 16px;border-radius:10px;background:var(--card);border:1px solid var(--line-3)}.order-main{display:flex;flex-direction:column;gap:9px;min-width:0}.order-row.flagged{background:var(--warn-bg-2);border-color:var(--warn-border)}.order-n{font-family:var(--mono);font-size:10.5px;color:var(--ink-5);line-height:1.9}.order-body{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.order-spk{font-family:var(--mono);font-size:12px}.order-arrow{font-family:var(--mono);font-size:12px;color:var(--ink-7)}.order-person{font-size:13.5px;letter-spacing:-.01em}.order-score{font-family:var(--mono);font-size:11.5px}.order-tag{margin-left:auto;font-family:var(--mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase}.signal-side{flex:1 1 280px;min-width:260px;max-width:320px}.meta-card{margin-top:14px;border:1px solid var(--line);border-radius:13px;background:var(--card);padding:18px}.meta-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line-4);font-size:12.5px}.meta-row:last-child{border-bottom:none}.meta-row .k{color:var(--ink-4)}.meta-row .v{font-family:var(--mono);font-size:11.5px;text-align:right}.signal-side p{font-family:var(--editorial);font-size:14.5px;line-height:1.6;color:var(--ink-3);margin:18px 0 0}.signal-side code{font-family:var(--mono);font-size:12px;color:var(--ink)}.roster-card{border:1px solid var(--line-3);border-radius:12px;background:var(--card);overflow:hidden;margin-bottom:10px}.roster-card:hover{border-color:#d6d3c9}.roster-row{display:grid;grid-template-columns:minmax(150px,200px) 34px minmax(60px,1fr) minmax(0,140px) minmax(0,62px);align-items:center;gap:14px;padding:18px 20px;cursor:pointer}.roster-person{display:flex;align-items:center;gap:12px;min-width:0}.roster-avatar{width:30px;height:30px;flex:none;border-radius:50%;background:var(--hover-4);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:10px;color:var(--ink-3)}.roster-name{font-size:14px;letter-spacing:-.012em}.roster-role{font-size:11.5px;color:var(--ink-5);margin-top:3px}.roster-play{width:30px;height:30px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--ink-3);display:flex;align-items:center;justify-content:center;font-size:9px;cursor:pointer}.roster-play:hover{border-color:var(--ink)}.roster-play.live{background:var(--ink);color:var(--bg);border-color:var(--ink)}.roster-bars{display:flex;align-items:flex-end;gap:1px;height:30px;min-width:0;overflow:hidden}.roster-bars span{flex:1 1 2px;min-width:2px;border-radius:1px;background:#d8d5cb}.roster-enrolled{font-family:var(--mono);font-size:10.5px;color:var(--ink-4);line-height:1.7}.roster-enrolled .dim{color:var(--ink-6)}.roster-chev{text-align:right;font-family:var(--mono);font-size:10.5px;color:var(--ink-5)}.roster-detail{border-top:1px solid var(--line-2);background:var(--bg);padding:6px 20px 14px}.roster-sample-row{display:grid;grid-template-columns:30px 1fr 90px;align-items:center;gap:12px;padding:10px 8px;border-radius:8px;cursor:pointer}.roster-sample-row:hover{background:var(--hover-1)}.roster-sample-icon{width:26px;height:26px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--ink-3);display:flex;align-items:center;justify-content:center;font-size:8.5px;flex:none}.roster-sample-icon.live{border-color:var(--ink);background:var(--ink);color:var(--bg)}.roster-sample-title{font-size:11.5px;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roster-sample-when{font-family:var(--mono);font-size:10.5px;color:var(--ink-4);text-align:right}.roster-note{font-family:var(--mono);font-size:10px;color:var(--ink-6);padding:8px 8px 0}.enrol-banner{margin-top:30px;border:1px dashed #CFCCC2;border-radius:13px;padding:26px 28px;display:flex;align-items:center;gap:24px;background:var(--bg);flex-wrap:wrap}.enrol-banner-icon{width:46px;height:46px;flex:none;border-radius:11px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:16px;color:var(--ink-3)}.enrol-banner-title{font-size:15px;font-weight:500;letter-spacing:-.01em}.enrol-banner-sub{font-size:12.5px;color:var(--ink-4);margin-top:6px;max-width:46ch}.enrol-banner form{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap;align-items:center}.enrol-banner input{padding:9px 11px;border:1px solid var(--line);border-radius:7px;background:var(--bg);font-size:12.5px}.list-row{display:flex;align-items:center;gap:14px;padding:16px 14px;border-bottom:1px solid var(--line-2);cursor:pointer;border-radius:8px}.list-row:hover{background:var(--hover-2)}.list-row .file{font-family:var(--mono);font-size:13px}.list-row .dur{font-family:var(--mono);font-size:11px;color:var(--ink-5)}.list-tag{margin-left:auto;font-family:var(--mono);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-6)}.list-arrow{font-family:var(--mono);font-size:13px;color:var(--ink-7)}.output-toolbar{display:flex;align-items:center;gap:14px;margin:14px 0 0;flex-wrap:wrap}.output-toolbar .meta{font-family:var(--mono);font-size:11.5px;color:var(--ink-4)}.change-run{font-family:var(--mono);font-size:11px;color:var(--ink-5);cursor:pointer;border-bottom:1px solid var(--line)}.change-run:hover{color:var(--ink);border-color:var(--ink)}.output-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:30px;align-items:start}@media(max-width:900px){.output-grid{grid-template-columns:1fr}}.file-card{border:1px solid var(--line);border-radius:13px;overflow:hidden;background:var(--card)}.file-card-head{display:flex;align-items:center;gap:6px 10px;padding:12px 16px;border-bottom:1px solid var(--line-2);flex-wrap:wrap}.file-card-name{font-family:var(--mono);font-size:11.5px;overflow-wrap:anywhere;min-width:0}.file-card-size{font-family:var(--mono);font-size:10px;color:var(--ink-6)}.copy-btn{margin-left:auto;font-family:var(--mono);font-size:10.5px;color:var(--ink-5);cursor:pointer;border:none;background:none}.copy-btn:hover{color:var(--ink)}.file-card pre{margin:0;padding:20px;font-family:var(--mono);font-size:11.5px;line-height:1.85;color:var(--ink-2);white-space:pre-wrap;overflow-wrap:anywhere;max-height:460px;overflow:auto;overscroll-behavior:contain}.jobs:empty{display:none}.jobs{position:fixed;right:1rem;bottom:1rem;width:340px;z-index:9}.job{background:var(--card);border:1px solid var(--line);border-radius:9px;padding:.6rem .8rem;margin-top:.4rem;font-size:.85rem;position:relative;box-shadow:0 6px 22px #23231f24}.job.failed{border-color:var(--danger)}.job.done{border-color:var(--ink-3)}.job strong{font-size:13px}.job .sub{color:var(--ink-4);font-size:.8rem;margin-top:2px}.job-bar{height:4px;border-radius:99px;background:var(--line-2);overflow:hidden;margin:.45rem 0 .3rem}.job-bar>i{display:block;height:100%;background:var(--ink);width:0;transition:width .5s linear}.job.failed .job-bar>i{background:var(--danger)}.job.done .job-bar>i{background:var(--ink-3)}.job-dismiss{position:absolute;top:.3rem;right:.4rem;background:none;border:none;color:var(--ink-5);font-size:1.1rem;line-height:1;padding:.1rem .3rem;cursor:pointer}.rec-stage{margin-top:44px}.rec-start{display:inline-flex;align-items:center;gap:12px;font-size:15px;letter-spacing:-.01em;padding:14px 22px 14px 18px;border-radius:10px;border:none;background:var(--ink);color:var(--bg)}.rec-start:hover{background:#3b3a34}.rec-start-dot{width:10px;height:10px;border-radius:50%;background:var(--danger);flex:none}.rec-format{font-family:var(--mono);font-size:11px;color:var(--ink-5);margin-top:14px;overflow-wrap:anywhere}.rec-timer{font-family:var(--mono);font-size:clamp(44px,12vw,84px);font-weight:400;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.rec-timer.done{color:var(--ink-3)}.rec-meter{display:flex;align-items:flex-end;gap:3px;height:72px;margin-top:28px;max-width:560px}.rec-meter span{flex:1 1 0;min-width:2px;border-radius:2px;background:var(--ink);transition:height 80ms linear}.rec-live-row{display:flex;align-items:center;gap:10px;margin-top:28px}.rec-live-dot{width:9px;height:9px;border-radius:50%;background:var(--danger);animation:rec-pulse 1.4s ease-in-out infinite}.rec-live-label{font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--ink-3)}.rec-stop{margin-left:18px;font-size:13.5px;padding:10px 22px;border-radius:8px;border:1px solid var(--ink);background:var(--bg);color:var(--ink)}.rec-stop:hover{background:var(--ink);color:var(--bg)}@keyframes rec-pulse{50%{opacity:.25}}.rec-done-note{font-family:var(--editorial);font-size:15.5px;color:var(--ink-3);margin-top:14px;max-width:52ch}.rec-form{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;align-items:center;max-width:640px}.rec-form input{flex:1 1 220px;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);font-size:13.5px}.rec-form input:focus{outline:none;border-color:var(--ink)}.rec-form .btn-primary{border:none}.rec-error{font-size:13px;color:var(--danger);margin:14px 0 0;max-width:52ch;line-height:1.5}.rec-unsupported,.rec-waiting{font-family:var(--editorial);font-size:16px;color:var(--ink-3);margin:0;max-width:52ch;line-height:1.55}.rec-hint{font-family:var(--mono);font-size:10.5px;color:var(--ink-6);line-height:1.7;margin-top:44px;max-width:60ch}@media(prefers-reduced-motion:reduce){.rec-live-dot{animation:none}.rec-meter span{transition:none}}.dropzone-alt{font-size:12.5px;color:var(--ink-4);margin:12px 0 0 2px}.dropzone-alt .link{color:var(--ink-3);cursor:pointer;border-bottom:1px solid var(--line)}.dropzone-alt .link:hover{color:var(--ink);border-color:var(--ink)}.dup-alert{background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:8px;padding:.7rem .9rem;font-size:13px;color:var(--ink-2);display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between;margin:0 0 .2rem}.dup-alert-text{flex:1 1 320px;line-height:1.5}.dup-alert-text strong{font-weight:500;color:var(--ink)}.dup-alert-text code{font-family:var(--mono);font-size:11.5px}.dup-alert-actions{display:flex;flex-wrap:wrap;gap:8px}.dup-alert .btn-name{background:var(--bg)}@media(max-width:1100px){.page{padding:44px 32px 80px}.review-header-inner,.manuscript-layout,.signal-layout,.review-alert{padding-left:32px;padding-right:32px}.manuscript-layout{gap:28px}.inspector{width:284px;flex-basis:284px;padding-left:18px}}@media(max-width:860px){body{overflow:auto}.app{flex-direction:column;height:auto;min-height:100vh;min-height:100dvh;overflow:visible}.main{overflow:visible}.scroll{overflow-y:visible}.sidebar{width:auto;flex:none;overflow:visible;flex-direction:row;align-items:center;flex-wrap:wrap;gap:6px 16px;padding:10px 16px;border-right:none;border-bottom:1px solid var(--line)}.sidebar-head{padding:0;display:flex;align-items:baseline;gap:10px}.brand-infra{margin-top:0}.nav{flex-direction:row;flex-wrap:wrap;padding:0;gap:2px}.nav-item{padding:8px 12px}.bands{display:none}.sidebar-foot{margin-left:auto;padding:0}.page{padding:30px 20px 64px}.review-header{padding-top:16px}.review-header-inner,.manuscript-layout,.signal-layout,.review-alert{padding-left:20px;padding-right:20px}.review-top{flex-wrap:wrap;gap:14px}.mode-switch{margin-left:0}.manuscript-layout,.signal-layout{flex-direction:column;gap:0}.turns-col{width:100%;padding-bottom:32px}.signal-side{max-width:none;width:100%;margin-top:26px}.inspector{display:none}.inspector.open{display:block;position:fixed;inset:auto 0 0;z-index:12;width:auto;flex:none;max-height:60vh;max-height:60dvh;overflow-y:auto;overscroll-behavior:contain;background:var(--card);border-top:1px solid var(--line);border-radius:15px 15px 0 0;box-shadow:0 -12px 34px #23231f2b;padding:16px 20px calc(22px + env(safe-area-inset-bottom))}.jobs{width:auto;left:12px;right:12px;max-height:42vh;overflow-y:auto;overscroll-behavior:contain}}@media(max-width:720px){.app{padding-bottom:calc(var(--tab-h) + env(safe-area-inset-bottom))}.sidebar{padding:12px 16px}.nav{position:fixed;left:0;right:0;bottom:0;z-index:11;flex-wrap:nowrap;gap:4px;background:var(--bg);border-top:1px solid var(--line);padding:6px 6px calc(6px + env(safe-area-inset-bottom))}.nav-item{flex:1 1 0;min-width:0;justify-content:center;gap:6px;padding:11px 6px;font-size:12.5px;color:var(--ink-4)}.nav-item.active{color:var(--ink);background:var(--hover-1)}.nav-dot{display:none}.nav-count{margin-left:0}.page{padding:24px 16px 44px}.page-lede{font-size:15.5px}.review-header-inner,.manuscript-layout,.signal-layout,.review-alert{padding-left:16px;padding-right:16px}.gate-form input,.name-form input,.enrol-inline-form input,.enrol-banner input,.rec-form input{font-size:16px}.gate-card{padding:0 20px}.gate-form input{padding:12px 13px}.gate-form button{padding:12px 18px}.btn-primary,.btn-secondary,.btn-name,.btn-confirm,.name-form button[type=submit],.enrol-inline-form button,.rec-stop{padding:11px 16px}.inspector-close{width:34px;height:34px;font-size:15px}.roster-play{width:36px;height:36px}.copy-btn{padding:8px 6px}.job-dismiss{padding:.35rem .55rem}.dropzone{flex-wrap:wrap;gap:16px;padding:20px;margin-top:26px}.dropzone-body{flex:1 1 0}.dropzone-cta{margin-left:0;width:100%;text-align:center;padding:11px 13px}.run-row{grid-template-columns:auto auto 1fr;gap:7px 12px;padding:14px 10px}.run-row>div:first-child{grid-column:1 / -1}.run-note{margin-left:0}.run-code{text-align:right}.run-arrow{display:none}.list-row{flex-wrap:wrap;gap:6px 12px;padding:14px 10px}.list-row .file{flex:1 1 100%}.list-arrow{display:none}.review-title{font-size:21px}.review-meta{font-size:10px}.review-stats{gap:9px 14px;margin-top:12px}.mode-switch{width:100%}.mode-btn{flex:1 1 0;text-align:center;padding:9px 8px}.chips-row{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;margin-top:12px;padding-bottom:12px}.chip-person{flex:none}.turn-row{grid-template-columns:1fr;gap:5px;padding:12px 10px}.turn-meta{text-align:left;padding-top:0;display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px}.turn-time,.turn-flag{margin-top:0}.turn-text{font-size:16.5px}.turns-col{padding-top:20px}.inspector.open{bottom:calc(var(--tab-h) + env(safe-area-inset-bottom));max-height:58vh;max-height:58dvh;padding:15px 18px 20px}.matrix-row{grid-template-columns:104px repeat(var(--cols, 5),minmax(52px,1fr));min-width:420px}.matrix-row-label{padding:13px 10px}.order-row{padding:12px;gap:12px}.order-body{gap:8px 10px}.order-tag{margin-left:0}.roster-row{grid-template-columns:1fr auto auto;gap:8px 12px;padding:14px}.roster-person{grid-column:1;grid-row:1}.roster-play{grid-column:2;grid-row:1}.roster-chev{grid-column:3;grid-row:1}.roster-bars{display:none}.roster-enrolled{grid-column:1 / -1;grid-row:2}.roster-detail{padding:6px 12px 12px}.roster-sample-row{grid-template-columns:26px 1fr auto}.enrol-banner{padding:20px;gap:16px}.enrol-banner form{margin-left:0;width:100%}.enrol-banner input{flex:1 1 140px;min-width:0}.fail-body{font-size:16px}.fail-actions{flex-wrap:wrap}.fail-hint{margin-left:0}.output-grid{gap:16px;margin-top:22px}.file-card pre{max-height:320px;padding:14px}.jobs{left:10px;right:10px;bottom:calc(var(--tab-h) + 10px + env(safe-area-inset-bottom));max-height:38vh}.job{padding:.5rem .65rem}.job strong{font-size:12.5px;padding-right:18px}.job .sub{font-size:.75rem}}@media(hover:none){.run-row:hover,.list-row:hover,.roster-sample-row:hover,.matrix-cell:hover{background:transparent}.turn-row:hover:not(.selected),.candidate-row:hover:not(.current),.nav-item:hover:not(.active){background:transparent}.dropzone:hover{border-color:#cfccc2;background:var(--card)}.run-row:active,.list-row:active,.turn-row:active,.candidate-row:active,.roster-row:active,.roster-sample-row:active,.nav-item:active{background:var(--hover-2)}}
