:root{--bg-base: #0d0f15;--bg-surface: #141821;--bg-raised: #1a1f2b;--bg-inset: #0f1117;--line: #262d3d;--line-strong: #333c52;--txt-hi: #eef1f7;--txt-mid: #c3cad8;--txt-dim: #8b94a7;--txt-faint: #5d6779;--accent: #e8442e;--accent-soft: rgba(232, 68, 46, .12);--amber: #ef9f27;--info: #4d8ef7;--ok: #52c41a;--r-sm: 6px;--r-md: 10px;--r-lg: 14px;--shadow-1: 0 1px 2px rgba(0,0,0,.25);--shadow-2: 0 6px 20px rgba(0,0,0,.35);--shadow-3: -10px 0 28px rgba(0,0,0,.4);--ease-out: cubic-bezier(.16, 1, .3, 1);--t-fast: .15s;--t-med: .28s;--surface-2: var(--bg-raised);--surface-1: var(--bg-surface);--border: var(--line);--border-strong: var(--line-strong)}body{background:radial-gradient(1200px 500px at 80% -10%,rgba(232,68,46,.05),transparent 60%),radial-gradient(900px 420px at -10% 110%,rgba(77,142,247,.045),transparent 55%),var(--bg-base);color:var(--txt-hi);font-family:-apple-system,PingFang SC,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#2a3142;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#3a4256}::-webkit-scrollbar-track{background:transparent}.tabular,.ant-table{font-variant-numeric:tabular-nums}.app-nav{display:flex;align-items:center;gap:20px;padding:0 24px;height:52px;background:#141821e0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:100}.brand{display:flex;align-items:center;gap:9px;-webkit-user-select:none;user-select:none}.brand-dot{width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px #e8442ea6;animation:brandBreath 3s ease-in-out infinite}@keyframes brandBreath{0%,to{box-shadow:0 0 4px #e8442e66}50%{box-shadow:0 0 10px #e8442ecc}}.brand-name{font-size:15px;font-weight:700;letter-spacing:.01em;color:var(--txt-hi)}.brand-sub{font-size:10px;color:var(--txt-faint);letter-spacing:.14em;text-transform:uppercase;margin-left:2px}.navlink{padding:6px 14px;border-radius:8px;color:var(--txt-dim);font-size:13px;transition:color var(--t-fast),background var(--t-fast);position:relative}.navlink:hover{color:var(--txt-hi);background:#ffffff0a}.navlink.active{background:var(--bg-raised);color:var(--txt-hi)}.navlink.active:after{content:"";position:absolute;left:14px;right:14px;bottom:2px;height:2px;border-radius:2px;background:var(--accent);opacity:.85}.page-in{animation:pageIn var(--t-med) var(--ease-out) both}.page-in>*{animation:pageIn var(--t-med) var(--ease-out) both}.page-in>*:nth-child(2){animation-delay:60ms}.page-in>*:nth-child(3){animation-delay:.12s}.page-in>*:nth-child(4){animation-delay:.18s}@keyframes pageIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.page-in,.page-in>*{animation:none}.brand-dot{animation:none}}.page-head{display:flex;align-items:flex-end;gap:14px;margin:4px 0 18px}.page-title{font-size:21px;font-weight:700;letter-spacing:-.01em;margin:0;line-height:1.2}.page-sub{font-size:12px;color:var(--txt-dim);margin-top:3px}.ant-card{border:1px solid var(--line);transition:border-color var(--t-fast),box-shadow var(--t-fast)}.ant-card:hover{border-color:var(--line-strong)}.ant-table-wrapper .ant-table{background:transparent}.ant-table-wrapper .ant-table-tbody>tr>td{border-color:#1e2432}.ant-table-wrapper .ant-table-tbody>tr:hover>td{background:#ffffff07!important}.ant-modal .ant-modal-content{border:1px solid var(--line);box-shadow:var(--shadow-3)}.img-ph{display:flex;align-items:center;justify-content:center;color:var(--txt-dim);font-size:10px;background:var(--bg-raised);border-radius:6px}.studio{display:flex;gap:14px;align-items:flex-start}.slist{width:300px;flex-shrink:0;background:var(--bg-surface);border:1px solid var(--line);border-radius:var(--r-md)}.slist .items{overflow-y:auto;padding:10px;max-height:calc(66vh + 46px)}.sitem{display:flex;gap:10px;align-items:center;padding:8px;border-radius:8px;cursor:pointer;border:1px solid transparent;margin-bottom:6px;transition:background var(--t-fast),border-color var(--t-fast),transform var(--t-fast)}.sitem:hover{background:var(--bg-raised);transform:translate(2px)}.sitem.cur{background:var(--accent-soft);border-color:#e8442e80}.sitem.live{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 0 12px #e8442e59;background:#e8442e14}.sitem.live .no{background:var(--accent);color:#fff;animation:livePulse 1.6s ease-in-out infinite}@keyframes livePulse{0%,to{box-shadow:0 0 #e8442e80}50%{box-shadow:0 0 0 5px #e8442e00}}.sitem.done{opacity:.45}.sitem .no{width:22px;height:22px;border-radius:50%;background:var(--bg-raised);font-size:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sitem.cur .no{background:var(--accent);color:#fff}.sitem img,.sitem .img-ph{width:40px;height:40px;object-fit:cover;flex-shrink:0}.sitem .n{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sitem .meta{display:flex;align-items:center;gap:5px;margin-top:1px;min-width:0}.sitem .s{font-size:11px;color:var(--txt-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sitem .reason{font-size:11px;color:var(--info);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scol{flex:1;min-width:0;display:flex;flex-direction:column;gap:14px}.dm-drawer{position:fixed;right:0;display:flex;align-items:stretch;z-index:1000}.dm-panel{width:340px;height:100%;background:var(--bg-surface);border-left:1px solid var(--line);box-shadow:var(--shadow-3);overflow:hidden}.dm-rail{width:32px;height:100%;background:var(--bg-surface);border-left:1px solid var(--line);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--txt-dim);transition:color var(--t-fast),background var(--t-fast)}.dm-rail:hover{color:var(--txt-hi);background:var(--bg-raised)}.dm-rail .rail-text{writing-mode:vertical-rl;font-size:12px;letter-spacing:3px;-webkit-user-select:none;user-select:none}.script-box{background:var(--bg-inset);border:1px solid var(--line);border-radius:8px;padding:14px;max-height:240px;overflow-y:auto;font-size:13.5px;line-height:1.9;white-space:pre-wrap}.script-box .seg-label{color:var(--info);font-weight:600}.script-box .seg-mark{color:var(--accent);font-weight:600}.dm-body{height:110px;overflow-y:auto;padding:8px 14px;font-size:13px}.dm-msg{margin:3px 0}.dm-msg .u{color:var(--info);margin-right:6px}.dm-msg.dan .u{color:var(--accent)}.dm-reply{margin:3px 0 2px 10px;padding:3px 0 3px 8px;border-left:2px solid rgba(56,180,120,.65);color:var(--txt, #d6dbe6);font-size:12.5px;line-height:1.6;word-break:break-word}.dm-reply .rk{color:#52c41a;font-size:11px;margin-right:4px}.dm-pending{margin:2px 0 2px 10px;color:var(--warn, #ef9f27);font-size:11.5px}.kb-pre{white-space:pre-wrap;font-size:13px;color:var(--txt-dim);line-height:1.9}.imggrid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.imggrid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;border:1px solid var(--line)}.plist-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;margin-bottom:8px;background:var(--bg-inset);cursor:grab;transition:border-color var(--t-fast)}.plist-item:hover{border-color:var(--line-strong)}.plist-item.dragging{opacity:.4}.empty-hint{display:flex;flex-direction:column;align-items:center;gap:8px;padding:42px 20px;color:var(--txt-faint);font-size:12.5px;text-align:center}.empty-hint .big{font-size:30px;opacity:.5;line-height:1}.dot-on{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 6px #e8442e99;margin-right:5px;vertical-align:1px}.print-sheet{display:none}@media print{@page{size:A4 landscape;margin:10mm}body{background:#fff!important}body *{visibility:hidden!important}.print-sheet,.print-sheet *{visibility:visible!important}.print-sheet{display:block!important;position:absolute;left:0;top:0;width:100%;box-sizing:border-box;background:#fff;color:#111;padding:0}.print-sheet table{width:100%;table-layout:fixed}.print-sheet th,.print-sheet td{word-break:break-word}body:has(.print-all){margin:0!important;padding:0!important}body:has(.print-all) #root,body:has(.print-all) #root>*{height:auto!important;min-height:0!important;margin:0!important;padding:0!important}body:has(.print-all) .print-sheet{display:none!important;visibility:hidden!important}body:has(.print-sheet) .print-all{display:none!important;visibility:hidden!important}}.print-all{display:none}@media print{.print-all,.print-all *{visibility:visible!important}body:has(.print-all){position:relative!important}.print-all{display:block!important;position:absolute;left:0;top:0;right:0;box-sizing:border-box;background:#fff;color:#111;padding:0;font-size:10.5pt;line-height:1.55;font-family:-apple-system,PingFang SC,Microsoft YaHei,sans-serif}.print-all .pa-head{border-bottom:2px solid #111;padding-bottom:6px;margin-bottom:10px}.print-all .pa-title{font-size:15pt;font-weight:700}.print-all .pa-sub{font-size:8.5pt;color:#444;margin-top:3px}.print-all .pg{break-inside:auto;page-break-inside:auto;padding-bottom:6px}.print-all .pg+.pg{break-before:page;page-break-before:always}.print-all .pg-h,.print-all .pg-body,.print-all .pg-line{break-inside:avoid;page-break-inside:avoid}.print-all .pg-stitle{break-after:avoid;page-break-after:avoid}.print-all .pg-round{break-inside:auto;page-break-inside:auto}.print-all .pg-round-h{break-after:avoid;page-break-after:avoid}.print-all .pg-h{display:flex;align-items:center;gap:8px;border-left:4px solid #111;padding:3px 0 3px 8px;margin-bottom:8px}.print-all .pg-no{display:inline-block;min-width:22px;height:18px;line-height:18px;text-align:center;background:#111;color:#fff;border-radius:3px;font-size:9pt;font-weight:700}.print-all .pg-name{font-size:13pt;font-weight:700}.print-all .pg-code{font-size:8.5pt;color:#666}.print-all .pg-chip{font-size:8.5pt;border:1px solid #555;border-radius:3px;padding:0 4px;color:#333;margin-left:auto}.print-all .pg-chip.role{margin-left:0;border-color:#111;font-weight:600}.print-all .pg-body{display:flex;gap:12px;align-items:flex-start}.print-all .pg-left{width:210px;flex-shrink:0}.print-all .pg-right{flex:1;min-width:0}.print-all .pg-img{width:100px;height:100px;object-fit:cover;border:1px solid #999;border-radius:4px;display:block;margin-bottom:6px}.print-all .pg-img.ph{display:flex;align-items:center;justify-content:center;color:#888;font-size:8pt}.print-all .pg-kv{width:100%;border-collapse:collapse;table-layout:fixed}.print-all .pg-kv th{width:68px;text-align:left;font-weight:400;color:#555;border:1px solid #bbb;padding:2px 5px;background:#f5f5f5;font-size:8.5pt}.print-all .pg-kv td{border:1px solid #bbb;padding:2px 5px;font-size:9.5pt;word-break:break-word}.print-all .pg-promo{margin-top:6px;font-size:8.5pt;background:#fff7e6;border:1px solid #ffd591;border-radius:3px;padding:3px 6px;color:#7a4b00}.print-all .pg-line{margin:8px 0;font-size:9.5pt;border:1px dashed #999;border-radius:3px;padding:4px 6px;background:#fafafa}.print-all .pg-dim{color:#555}.print-all .pg-script{border-top:1px solid #999;padding-top:6px}.print-all .pg-stitle{font-size:10.5pt;font-weight:700;margin-bottom:4px}.print-all .pg-seg{margin-bottom:6px;white-space:pre-wrap;font-size:10pt}.print-all .seg-t{font-weight:700;margin-right:4px}.print-all .pg-empty{color:#888;font-size:9pt}.print-all .pg-round{margin-bottom:10px;break-inside:avoid;page-break-inside:avoid}.print-all .pg-round+.pg-round{border-top:1px dashed #ccc;padding-top:8px}.print-all .pg-round-h{font-size:9.5pt;font-weight:700;color:#111;border-left:3px solid #888;padding-left:6px;margin-bottom:5px}.print-all .pg-round-meta{margin-left:6px;font-weight:400;color:#666;font-size:8.5pt}}.ustate-list{display:flex;flex-direction:column;gap:6px}.ustate-row{padding:8px 10px;border:1px solid #2a3040;border-radius:8px;background:#171b26;transition:border-color .15s,box-shadow .15s}.ustate-row:hover{border-color:#3a4256}.ustate-row.open{border-color:#3d5a8a;box-shadow:0 0 0 1px #4d79b640}.ustate-row.err{border-color:#e8442e8c;background:#e8442e0f}.ustate-main{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:6px;cursor:pointer}.ustate-row:hover .ustate-main{filter:brightness(1.15)}.ustate-idx{width:20px;height:20px;border-radius:50%;background:#232936;font-size:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ustate-idx.live{background:var(--accent);color:#fff;animation:livePulse 1.6s ease-in-out infinite}.ustate-name{font-size:13px;font-weight:500;flex:1 1 220px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ustate-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;letter-spacing:.2px;flex:0 0 auto;padding:1px 6px;border-radius:4px;color:var(--txt-mid, #c3cad8);background:var(--bg-inset, #0f1117);border:1px solid var(--line, #262d3d);cursor:pointer;-webkit-user-select:all;user-select:all;transition:color .15s,border-color .15s,background .15s}.ustate-code:hover{color:var(--txt-hi, #eef1f7);border-color:var(--accent, #e8442e);background:#1a1f2a}.ustate-note{font-size:11.5px;color:#d9a441;margin-top:4px;white-space:pre-wrap;word-break:break-word}.ustate-row.err .ustate-note{color:#e8442e}.ustate-detail{margin-top:8px;padding-top:8px;border-top:1px dashed #2a3040}.rcard{padding:9px 11px;border-radius:var(--r-md);background:var(--bg-raised);border:1px solid var(--line)}.rcard-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rcard-body{margin-top:8px}.rcard-text{font-size:13px;line-height:1.85;color:var(--txt-hi);white-space:pre-wrap;word-break:break-word;cursor:pointer}.rcard-text.clamped{display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden;position:relative}.rcard-text.clamped:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2.2em;background:linear-gradient(transparent,var(--bg-raised))}.rcard-more{margin-top:4px;padding:2px 6px;background:none;border:none;cursor:pointer;color:var(--accent, #6ea8ff);font-size:12px}.rcard-more:hover{text-decoration:underline}.rcard-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.vtab{padding:6px 12px;background:none;border:none;cursor:pointer;font-size:13px;color:var(--txt-dim, #8a93a8);border-bottom:2px solid transparent;margin-bottom:-1px}.vtab[data-active=true]{color:var(--accent, #6ea8ff);border-bottom-color:var(--accent, #6ea8ff);font-weight:600}.vrow{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;cursor:pointer;border:1px solid transparent;transition:background .12s,border-color .12s}.vrow:hover{background:#ffffff08}.vrow.picked{background:#6ea8ff14;border-color:var(--accent, #6ea8ff)}.vrow-avatar{width:34px;height:34px;border-radius:50%;flex-shrink:0;background:#232936;display:flex;align-items:center;justify-content:center;font-size:16px}.dual-preview{flex-wrap:nowrap!important}.dual-preview>div{min-width:0}.m-root{min-height:100vh;min-height:100dvh;background:#0b0d12;color:#e6e9f0;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0px)}.m-content{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.m-topbar{height:44px;display:flex;align-items:center;justify-content:space-between;padding:0 10px;border-bottom:1px solid #1e2430;background:#0b0d12eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-shrink:0}.m-topbar-btn{width:56px;height:32px;background:transparent;border:0;color:#7ea6ff;font-size:15px;text-align:left;cursor:pointer}.m-topbar-title{font-size:15px;font-weight:600;color:#e6e9f0}.m-list{padding:14px 12px calc(24px + env(safe-area-inset-bottom,0px))}.m-list-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px}.m-list-title{font-size:19px;font-weight:700;letter-spacing:.2px}.m-list-sub{font-size:11.5px;color:#6b7488;margin-top:3px}.m-link-btn{background:transparent;border:0;color:#7ea6ff;font-size:12px;padding:2px 0;cursor:pointer}.m-session-card{width:100%;display:flex;align-items:center;gap:10px;padding:13px 12px;margin-bottom:8px;background:#141821;border:1px solid #202634;border-radius:12px;text-align:left;cursor:pointer;min-height:60px;transition:background .12s,border-color .12s}.m-session-card:active{background:#1a2030;border-color:#2e3a52}.m-session-main{flex:1;min-width:0}.m-session-name{font-size:14.5px;font-weight:600;color:#e6e9f0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-session-meta{font-size:11px;color:#6b7488;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-session-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.m-status-pill{font-size:10.5px;padding:3px 8px;border-radius:20px;white-space:nowrap;font-weight:600}.m-chevron{color:#4a5266;font-size:17px;line-height:1}.m-empty{display:flex;align-items:center;justify-content:center;padding:60px 20px;color:#6b7488;font-size:13px}
