.eula-mask[data-v-6f030248]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;background:var(--overlay-mask)}.eula-card[data-v-6f030248]{display:flex;flex-direction:column;width:min(560px,calc(100vw - var(--sp-5)));max-height:80vh;padding:var(--sp-3) var(--sp-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-raised);box-shadow:var(--shadow-raised)}.eula-card h2[data-v-6f030248]{margin-top:0}.eula-text[data-v-6f030248]{flex:1;overflow-y:auto;margin:var(--sp-2) 0 var(--sp-3);padding:var(--sp-2) var(--sp-3);border:1px solid var(--border-subtle);border-radius:var(--radius);background:var(--bg-card);white-space:pre-wrap;line-height:1.7;color:var(--text-secondary)}.eula-actions[data-v-6f030248]{display:flex;justify-content:flex-end;gap:var(--sp-2)}.login-card[data-v-1c80bd40]{width:min(420px,92vw);text-align:left}.login-title[data-v-1c80bd40]{margin:0 0 var(--sp-2);font-size:var(--fs-lg)}.login-lead[data-v-1c80bd40]{margin:0 0 var(--sp-3);font-size:var(--fs-sm)}.login-form[data-v-1c80bd40]{display:grid;gap:var(--sp-3)}.login-form label[data-v-1c80bd40]{display:grid;gap:var(--sp-1)}.password-field[data-v-1c80bd40]{position:relative;display:block}.password-field .password-input[data-v-1c80bd40]{width:100%;padding-right:2.6rem;box-sizing:border-box}.password-field .password-input[data-v-1c80bd40]::-ms-reveal,.password-field .password-input[data-v-1c80bd40]::-ms-clear{display:none}.password-toggle[data-v-1c80bd40]{position:absolute;right:.4rem;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;margin:0;padding:0;border:none;border-radius:var(--radius);background:transparent;color:var(--text-muted);cursor:pointer}.password-toggle[data-v-1c80bd40]:hover{color:var(--text);background:#ffffff0f}.remember-row[data-v-1c80bd40]{display:flex!important;flex-direction:row!important;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.remember-row input[data-v-1c80bd40]{width:auto;margin:0}.login-actions[data-v-1c80bd40]{justify-content:flex-start}.login-links[data-v-1c80bd40]{display:grid;gap:var(--sp-2)}.linkish[data-v-1c80bd40]{border:none;background:none;color:var(--accent);padding:0;text-align:left;cursor:pointer}.linkish[data-v-1c80bd40]:disabled{opacity:.5;cursor:not-allowed}.info[data-v-1c80bd40]{margin:0;padding:var(--sp-2) var(--sp-3);border-radius:var(--radius);background:#f0a9451f;border:1px solid rgba(240,169,69,.35);color:var(--accent);font-size:var(--fs-sm);line-height:1.5}.topbar[data-v-f76f1406]{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.brand[data-v-f76f1406]{display:inline-flex;align-items:center;gap:var(--sp-2)}.brand-mark[data-v-f76f1406]{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9px;background:var(--accent-grad);box-shadow:0 4px 14px -4px var(--accent-glow);font-size:17px}.brand-name[data-v-f76f1406]{background:linear-gradient(120deg,#f7f7f2 30%,#d8cba8);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.topbar-links[data-v-f76f1406]{display:flex;align-items:center;gap:2px;flex:1}.account-chip[data-v-f76f1406]{display:flex;align-items:center;gap:var(--sp-2);margin-left:auto}.topbar-settings[data-v-f76f1406]{padding:6px 12px;border-radius:var(--radius-pill);color:var(--text-secondary);text-decoration:none;font-size:var(--fs-base);cursor:pointer;transition:color .15s,background .15s}.topbar-settings[data-v-f76f1406]:hover{color:var(--text-primary);background:#ffffff0d;text-decoration:none}.topbar-settings.router-link-active[data-v-f76f1406]{color:var(--accent);background:#f0a9451f;font-weight:600}.chip-text[data-v-f76f1406]{font-size:var(--fs-sm);color:var(--text-secondary)}.points-pill[data-v-f76f1406]{padding:3px 12px;border-radius:var(--radius-pill);border:1px solid rgba(240,169,69,.4);background:#f0a9451a;color:var(--accent);font-size:var(--fs-sm);font-weight:600}.chip-btn[data-v-f76f1406]{min-height:28px;padding:2px 10px;font-size:var(--fs-sm)}.update-banner[data-v-f76f1406]{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-2) var(--sp-4);background:color-mix(in srgb,var(--accent) 18%,transparent);border-bottom:1px solid var(--border)}.update-card[data-v-f76f1406]{width:min(440px,92vw);text-align:left}.update-title[data-v-f76f1406]{margin:0 0 var(--sp-2);font-size:var(--fs-lg)}.update-notes[data-v-f76f1406]{margin:0 0 var(--sp-2);white-space:pre-line;line-height:1.6}.update-cur[data-v-f76f1406]{margin:0 0 var(--sp-3);font-size:var(--fs-sm)}.update-progress[data-v-f76f1406]{display:flex;flex-direction:column;gap:var(--sp-2);color:var(--text-secondary);font-size:var(--fs-sm)}.update-progress-text[data-v-f76f1406]{display:flex;align-items:center;gap:var(--sp-2)}.update-bar[data-v-f76f1406]{height:6px;border-radius:999px;background:var(--border);overflow:hidden}.update-bar-fill[data-v-f76f1406]{height:100%;border-radius:999px;background:var(--accent);transition:width .3s ease}.update-slow-hint[data-v-f76f1406]{margin:0;font-size:var(--fs-sm)}.update-error[data-v-f76f1406]{margin:var(--sp-2) 0 0;color:var(--danger, #f66);font-size:var(--fs-sm)}.update-spin[data-v-f76f1406]{width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:update-rotate-f76f1406 .8s linear infinite}@keyframes update-rotate-f76f1406{to{transform:rotate(360deg)}}.update-actions[data-v-f76f1406]{justify-content:flex-end}.update-force[data-v-f76f1406]{margin:var(--sp-2) 0 0;font-size:var(--fs-sm)}.announcement-modal[data-v-f76f1406]{width:min(520px,calc(100vw - 32px))}.announcement-title[data-v-f76f1406]{margin:0 0 var(--sp-3);font-size:20px}.announcement-content[data-v-f76f1406]{margin:0;white-space:pre-wrap;line-height:1.7;color:var(--text-secondary);overflow-wrap:anywhere}.announcement-actions[data-v-f76f1406]{justify-content:flex-end;margin-top:var(--sp-5)}.upload-wizard[data-v-cf8734bf]{max-width:560px;margin-top:var(--sp-4)}.upload-wizard h2[data-v-cf8734bf]{margin-top:0;border-bottom:none}.wizard-name[data-v-cf8734bf]{width:100%;box-sizing:border-box}.pick-row[data-v-cf8734bf]{display:flex;align-items:center;gap:var(--sp-2);margin:var(--sp-2) 0;flex-wrap:wrap}.pick-hint[data-v-cf8734bf]{font-size:var(--fs-sm)}.file-list[data-v-cf8734bf]{margin:0 0 var(--sp-2);padding:var(--sp-2) var(--sp-3);max-height:220px;overflow-y:auto;list-style:none;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.file-list li[data-v-cf8734bf]{display:flex;align-items:center;gap:var(--sp-2);padding:4px 0;font-size:var(--fs-sm);border-bottom:1px solid var(--border-subtle)}.file-list li[data-v-cf8734bf]:last-child{border-bottom:none}.file-name[data-v-cf8734bf]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size[data-v-cf8734bf]{flex-shrink:0}.file-ok[data-v-cf8734bf]{color:var(--ok, #34d399);flex-shrink:0}.upload-progress-text[data-v-cf8734bf]{margin:var(--sp-1) 0 var(--sp-2);font-size:var(--fs-sm)}.wizard-submit[data-v-cf8734bf]{align-self:flex-start;margin-top:var(--sp-2);min-height:36px;padding:6px 20px}.list-hero[data-v-873b5948]{display:flex;align-items:baseline;gap:var(--sp-3);flex-wrap:wrap}.list-hero h1[data-v-873b5948]{margin-bottom:var(--sp-2)}.list-hero p[data-v-873b5948]{margin:0}.project-section[data-v-873b5948]{margin-top:var(--sp-4)}.project-section-heading[data-v-873b5948]{display:flex;align-items:baseline;gap:var(--sp-2);margin-bottom:var(--sp-2)}.project-section-heading h2[data-v-873b5948]{margin:0;padding:0;border:0}.cloud-project-card[data-v-873b5948]{border-color:#62beff52}.new-project-card[data-v-873b5948]{max-width:480px;margin-top:var(--sp-4)}.new-project-card h2[data-v-873b5948]{margin-top:0;border-bottom:none}.new-project-card form[data-v-873b5948]{display:flex;flex-direction:column;gap:var(--sp-1)}.folder-input-row[data-v-873b5948]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--sp-1)}.folder-input-row input[data-v-873b5948]{min-width:0}.folder-picker-button[data-v-873b5948]{min-height:38px;white-space:nowrap}.new-project-card button[type=submit][data-v-873b5948]{align-self:flex-start;margin-top:var(--sp-2);min-height:36px;padding:6px 20px}.project-card[data-v-873b5948]{position:relative;margin:0;padding:0;width:100%;overflow:hidden}.project-card-open[data-v-873b5948]{display:block;margin:0;padding:0;width:100%;height:100%;text-align:left;cursor:pointer;font:inherit;color:inherit;background:transparent;border:0}.project-actions[data-v-873b5948]{position:absolute;top:var(--sp-2);right:var(--sp-2);display:flex;gap:4px;opacity:0;transition:opacity .15s}.project-card:hover .project-actions[data-v-873b5948],.project-card:focus-within .project-actions[data-v-873b5948]{opacity:1}.project-action-btn[data-v-873b5948]{min-height:26px;padding:2px 7px;font-size:var(--fs-sm);color:var(--text-secondary);background:#00000052;border:1px solid rgba(255,255,255,.16);border-radius:4px;cursor:pointer;white-space:nowrap}.project-action-btn[data-v-873b5948]:hover,.project-action-btn[data-v-873b5948]:focus-visible{color:#fff;background:#ffffff1f;border-color:#ffffff52}.project-action-btn.project-delete[data-v-873b5948]:hover,.project-action-btn.project-delete[data-v-873b5948]:focus-visible{background:#b74444;border-color:#d65b5b}.archived-toggle-row[data-v-873b5948]{margin-top:var(--sp-4)}.archived-toggle-btn[data-v-873b5948]{display:inline-flex;align-items:center;gap:var(--sp-2);padding:4px 12px;font-size:var(--fs-sm);color:var(--text-secondary);background:transparent;border:1px solid rgba(255,255,255,.12);border-radius:6px;cursor:pointer}.archived-toggle-btn[data-v-873b5948]:hover{color:var(--text-primary);border-color:#ffffff3d}.archived-count[data-v-873b5948]{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;line-height:1;background:#ffffff1f;border-radius:9px}.archived-projects[data-v-873b5948]{opacity:.7}.archived-sub-heading[data-v-873b5948]{margin-bottom:var(--sp-2)}.archived-sub-heading h3[data-v-873b5948]{margin:0;padding:0;border:0;font-size:var(--fs-base);font-weight:600;color:var(--text-secondary)}.archived-sub-heading--spaced[data-v-873b5948]{margin-top:var(--sp-4)}.archived-card[data-v-873b5948]{filter:saturate(.4)}.new-project-tile[data-v-873b5948]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-2);margin:0;padding:0;cursor:pointer;width:100%}.new-project-tile[data-v-873b5948]:hover{border-color:var(--text-secondary);background:#ffffff08;color:var(--text-primary);transform:none;box-shadow:none}.new-project-tile .tile-plus[data-v-873b5948]{font-size:40px;line-height:1;color:var(--text-secondary)}.new-project-tile .tile-label[data-v-873b5948]{font-size:var(--fs-base);color:var(--text-secondary)}:root{--bg-page: #0b0b10;--bg-card: #14141b;--bg-raised: #1c1c26;--accent: #f0a945;--accent-hover: #f7bd63;--accent-active: #dd9530;--accent-grad: linear-gradient(135deg, #f6c153 0%, #ec8f3a 100%);--accent-glow: rgba(240, 169, 69, .32);--success: #46c164;--danger: #f2635c;--warning: #e0a63b;--info: #5ea4f7;--text-primary: #f4f4f0;--text-secondary: #a3a3ab;--text-disabled: #5c5c66;--border: #2b2b36;--border-subtle: #20202a;--overlay-mask: rgba(5, 5, 10, .7);--font-ui: system-ui, "Microsoft YaHei", sans-serif;--font-script: "Noto Serif SC", Georgia, "SFMono-Regular", Consolas, "Microsoft YaHei", serif;--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;--fs-sm: 12px;--fs-base: 14px;--fs-lg: 16px;--fs-h2: 18px;--fs-h1: 22px;--sp-1: 4px;--sp-2: 8px;--sp-3: 16px;--sp-4: 24px;--sp-5: 32px;--sp-6: 48px;--radius: 8px;--radius-lg: 12px;--radius-pill: 999px;--shadow-card: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 24px -12px rgba(0, 0, 0, .55);--shadow-raised: 0 24px 64px -16px rgba(0, 0, 0, .65);--shadow-poster: 0 16px 40px -12px rgba(0, 0, 0, .65);--focus-ring: 0 0 0 3px rgba(240, 169, 69, .26);--ease-out: cubic-bezier(.22, .8, .32, 1);color-scheme:dark}body{margin:0;background:radial-gradient(1100px 480px at 85% -8%,rgba(240,169,69,.07),transparent 60%),radial-gradient(900px 420px at 8% -4%,rgba(94,164,247,.05),transparent 60%),var(--bg-page);background-attachment:fixed;color:var(--text-primary);font-family:var(--font-ui);font-size:var(--fs-base);-webkit-font-smoothing:antialiased}::selection{background:#f0a94552;color:#fff}main{max-width:1480px;margin:0 auto;padding:var(--sp-3) var(--sp-4) 64px}h1{font-size:var(--fs-h1);font-weight:700;margin:var(--sp-3) 0 var(--sp-3);letter-spacing:.02em}h2{font-size:var(--fs-h2);font-weight:600;margin:var(--sp-4) 0 var(--sp-2);padding-bottom:var(--sp-1);border-bottom:1px solid var(--border-subtle)}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline}hr{border:none;border-top:1px solid var(--border);margin:var(--sp-3) 0}.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:var(--sp-2) var(--sp-4);background:#0b0b10b8;backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);border-bottom:1px solid var(--border-subtle)}.topbar .brand{color:var(--text-primary);font-weight:700;font-size:var(--fs-lg);text-decoration:none;letter-spacing:.02em}.topbar .brand:hover{color:var(--accent);text-decoration:none}.topbar .topbar-settings{color:var(--text-secondary);font-size:var(--fs-base);text-decoration:none}.topbar .topbar-settings:hover{color:var(--accent);text-decoration:none}button{margin:2px var(--sp-1) 2px 0;padding:var(--sp-1) calc(var(--sp-1) + var(--sp-2));font-family:var(--font-ui);font-size:var(--fs-base);line-height:1.5;cursor:pointer;border-radius:var(--radius);border:1px solid var(--border);background:#ffffff05;color:var(--text-primary);transition:background .15s,border-color .15s,color .15s,transform .15s var(--ease-out),box-shadow .15s}button:hover{border-color:var(--text-disabled);background:#ffffff0f;color:#fff}button:active{transform:scale(.97)}button:disabled{cursor:not-allowed;opacity:.4;border-color:var(--border);color:var(--text-disabled);background:transparent;transform:none}button.primary{background:var(--accent-grad);border-color:transparent;color:#1d1204;font-weight:600;box-shadow:0 2px 10px -2px var(--accent-glow)}button.primary:hover{background:var(--accent-grad);border-color:transparent;color:#1d1204;filter:brightness(1.08);box-shadow:0 6px 20px -4px var(--accent-glow);transform:translateY(-1px)}button.primary:active{filter:brightness(.96);transform:scale(.97)}button.primary:disabled{background:var(--accent-grad);border-color:transparent;color:#1d1204;box-shadow:none;filter:none}button.danger{background:transparent;border-color:#f2635c80;color:var(--danger)}button.danger:hover{background:#f2635c24;border-color:var(--danger);color:#ff8a84}button.danger:active{background:#f2635c38;border-color:var(--danger);color:#ff8a84}input,textarea,select{width:100%;box-sizing:border-box;padding:var(--sp-2) var(--sp-3);margin:var(--sp-1) 0;background:#101017;color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-ui);font-size:var(--fs-base);transition:border-color .15s,box-shadow .15s,background .15s}input:hover,textarea:hover,select:hover{border-color:var(--text-disabled)}input::placeholder,textarea::placeholder{color:var(--text-disabled)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:var(--focus-ring)}input:disabled,textarea:disabled,select:disabled{color:var(--text-disabled);cursor:not-allowed}textarea{font-family:var(--font-script);line-height:1.7}input.pill{border-radius:var(--radius-pill);padding:var(--sp-2) var(--sp-3);background:var(--bg-raised);border-color:transparent}input.pill:focus{border-color:var(--accent)}table.episodes{width:100%;border-collapse:separate;border-spacing:0;margin-top:var(--sp-3);background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}table.episodes th,table.episodes td{border:none;border-bottom:1px solid var(--border-subtle);padding:10px var(--sp-3);text-align:left}table.episodes th{background:var(--bg-raised);color:var(--text-secondary);font-weight:600;font-size:var(--fs-sm);letter-spacing:.08em}table.episodes tbody tr{transition:background .15s}table.episodes tbody tr:hover{background:#f0a9450d}table.episodes tbody tr:last-child td{border-bottom:none}table.episodes td button{min-height:30px;padding:3px 12px;font-size:var(--fs-sm)}.card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--sp-3)}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--sp-3);margin:var(--sp-3) 0}.grad-0{background:linear-gradient(160deg,#3d2317,#1a0f0a)}.grad-1{background:linear-gradient(160deg,#17293d,#0a121a)}.grad-2{background:linear-gradient(160deg,#2d1730,#140a16)}.grad-3{background:linear-gradient(160deg,#173d2a,#0a1a12)}.grad-4{background:linear-gradient(160deg,#3d3517,#1a160a)}.grad-5{background:linear-gradient(160deg,#173a3d,#0a181a)}.project-card{position:relative;display:block;aspect-ratio:16 / 9;overflow:hidden;border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-lg);background:var(--bg-card);box-shadow:var(--shadow-card);color:var(--text-primary);transition:transform .18s var(--ease-out),box-shadow .18s,border-color .18s}.project-card:hover{color:var(--text-primary);text-decoration:none;border-color:#ffffff24;box-shadow:var(--shadow-poster);transform:translateY(-3px) scale(1.02)}.project-card .cover{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;height:auto;font-size:64px;font-weight:800;color:#ffffff1f;border-bottom:none;background:none}.project-card .project-card-body{position:absolute;inset:auto 0 0 0;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);padding:28px var(--sp-3) var(--sp-2);background:linear-gradient(180deg,transparent,rgba(0,0,0,.85))}.project-card .project-name{font-size:var(--fs-lg);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-card .ep-badge{flex:none;padding:2px var(--sp-2);border-radius:999px;border:1px solid rgba(255,255,255,.25);background:#0006;color:var(--text-secondary);font-size:var(--fs-sm)}.project-card.new-project-tile{display:grid;place-content:center;gap:var(--sp-1);border:2px dashed var(--border);background:none;box-shadow:none;color:var(--text-secondary);text-align:center}.badge{display:inline-flex;align-items:center;gap:var(--sp-1);padding:2px 10px;border-radius:999px;border:1px solid var(--border);font-size:var(--fs-sm);line-height:1.5;background:var(--bg-raised);transition:color .2s,background .2s,border-color .2s}.badge.done{color:var(--success);border-color:#46c16466;background:#46c1641a}.badge.failed{color:var(--danger);border-color:#f2635c66;background:#f2635c1a}.badge.running{color:var(--warning);border-color:#e0a63b66;background:#e0a63b1a}.badge.pending{color:var(--text-secondary);border-color:var(--border)}.badge.running:before{content:"";width:10px;height:10px;flex:none;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:badge-spin .8s linear infinite}@keyframes badge-spin{to{transform:rotate(360deg)}}button.loading{position:relative;pointer-events:none}button.loading:before{content:"";display:inline-block;vertical-align:-2px;width:12px;height:12px;margin-right:var(--sp-1);border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:badge-spin .8s linear infinite}.error{color:var(--danger)}.muted{color:var(--text-secondary)}.status-done{color:var(--success)}.status-failed{color:var(--danger)}.status-analyzing,.status-uploading{color:var(--warning)}.markdown{line-height:1.8;font-family:var(--font-script);font-size:var(--fs-lg);color:var(--text-primary)}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown p{margin:.6em 0 .9em}.markdown h1,.markdown h2,.markdown h3,.markdown h4{margin:1.4em 0 .6em;line-height:1.4;font-weight:700;color:var(--text-primary)}.markdown h1{font-size:1.35em}.markdown h2{font-size:1.2em;padding-bottom:.35em;border-bottom:1px solid var(--border-subtle)}.markdown h3{font-size:1.08em;padding-left:10px;border-left:3px solid var(--accent)}.markdown h4{font-size:1em;color:var(--accent)}.markdown ul,.markdown ol{margin:.5em 0 1em;padding-left:1.6em}.markdown li{margin:.3em 0}.markdown li::marker{color:var(--accent)}.markdown strong{color:var(--accent);font-weight:600}.markdown blockquote{margin:.8em 0;padding:8px 14px;border-left:3px solid var(--accent);border-radius:0 var(--radius) var(--radius) 0;background:var(--bg-card);color:var(--text-secondary)}.markdown blockquote p{margin:.3em 0}.markdown hr{margin:1.4em 0;border:0;border-top:1px solid var(--border-subtle)}.markdown table{display:block;width:fit-content;max-width:100%;overflow-x:auto;margin:.8em 0 1.2em;border-collapse:collapse;font-size:var(--fs-base)}.markdown th,.markdown td{padding:8px 14px;border:1px solid var(--border);text-align:left;vertical-align:top;line-height:1.6}.markdown th{background:var(--bg-raised);color:var(--accent);font-weight:600;white-space:nowrap}.markdown tbody tr:nth-child(2n){background:#ffffff08}.markdown code,.markdown pre{font-family:var(--font-mono);background:var(--bg-card);border-radius:var(--radius)}.markdown code{padding:1px 6px;font-size:.92em}.markdown pre{padding:12px 14px;overflow-x:auto;border:1px solid var(--border-subtle)}.markdown pre code{padding:0;background:none}.progress-bar{display:flex;align-items:center;gap:var(--sp-2);margin:var(--sp-2) 0}.progress-bar .progress-track{flex:1;height:8px;border-radius:999px;background:var(--bg-raised);border:1px solid var(--border-subtle);overflow:hidden}.progress-bar .progress-fill{height:100%;border-radius:999px;background:var(--accent-grad);box-shadow:0 0 10px var(--accent-glow);transition:width .3s ease}.progress-bar .progress-text{flex:none;color:var(--text-secondary);font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.progress-bar.indeterminate .progress-fill{width:30%;animation:progress-slide 1.2s ease-in-out infinite}@keyframes progress-slide{0%{transform:translate(-100%)}to{transform:translate(333%)}}.toast-container{position:fixed;top:var(--sp-3);right:var(--sp-3);z-index:100;display:flex;flex-direction:column;gap:var(--sp-2);pointer-events:none}.toast{pointer-events:auto;cursor:pointer;display:flex;align-items:flex-start;gap:var(--sp-2);min-width:200px;max-width:360px;padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-lg);border:1px solid var(--border);background:#1c1c26eb;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text-primary);box-shadow:var(--shadow-raised);animation:toast-in .22s var(--ease-out)}.toast.clickable{border-color:var(--accent, var(--success))}.toast-body{display:flex;flex-direction:column;gap:2px;min-width:0}.toast-msg{word-break:break-all;line-height:1.4}.toast-hint{font-size:var(--fs-sm);color:var(--text-muted)}.toast.success{border-color:var(--success)}.toast.success .toast-icon{color:var(--success)}.toast.error{border-color:var(--danger)}.toast.error .toast-icon{color:var(--danger)}.toast .toast-icon{font-weight:700}@keyframes toast-in{0%{opacity:0;transform:translate(var(--sp-3))}to{opacity:1;transform:translate(0)}}.skeleton{display:flex;flex-direction:column;gap:var(--sp-2);margin:var(--sp-3) 0}.skeleton-block{height:20px;border-radius:var(--radius);background:linear-gradient(90deg,var(--bg-card) 25%,var(--bg-raised) 50%,var(--bg-card) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite}.skeleton-block:nth-child(1){width:40%;height:28px}.skeleton-block:nth-child(3){width:80%}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.stage-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap;margin:0 0 var(--sp-3);padding:12px 14px;background:linear-gradient(180deg,#191922,#14141b);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:visible;position:relative;z-index:40}.stage-toolbar .model-bar{margin:0;padding:0;background:transparent;border:none;border-radius:0;flex:1 1 auto;min-width:200px}.stage-toolbar-actions{display:flex;align-items:center;gap:var(--sp-2);flex:0 0 auto;flex-wrap:wrap}.stage-toolbar-actions button{margin:0;min-height:34px;padding:6px 14px}.stage-toolbar-actions a.toolbar-link,.stage-toolbar-actions button.toolbar-link{display:inline-flex;align-items:center;min-height:34px;padding:6px 12px;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);text-decoration:none;font-size:var(--fs-base);background:transparent;cursor:pointer}.stage-toolbar-actions a.toolbar-link:hover,.stage-toolbar-actions button.toolbar-link:hover{color:var(--accent);border-color:var(--accent)}.stage-toolbar-end{justify-content:flex-end}.stage-meta{margin:0 0 var(--sp-3);color:var(--text-secondary);font-size:var(--fs-sm);display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.stage-panel{margin:0 0 var(--sp-4);padding:var(--sp-3) var(--sp-4);background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:inset 0 1px #ffffff08}.stage-panel>h2{margin-top:0;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);flex-wrap:wrap;border-bottom:none;padding-bottom:0}.stage-panel-actions{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.stage-panel-actions button{margin:0}@media (max-width: 640px){.stage-toolbar{flex-direction:column;align-items:stretch}.stage-toolbar-actions{width:100%}.stage-toolbar-actions button,.stage-toolbar-actions a.toolbar-link,.stage-toolbar-actions button.toolbar-link{flex:1 1 auto;justify-content:center}}.empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);padding:var(--sp-5) var(--sp-3);margin:var(--sp-3) 0;border:1px dashed var(--border);border-radius:var(--radius-lg);background:transparent;color:var(--text-secondary);text-align:center}.empty-state .empty-icon{display:none}.empty-state .empty-title{color:var(--text-primary);font-size:var(--fs-lg);font-weight:600;margin:0}.empty-state p{margin:0}.confirm-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:flex;align-items:center;justify-content:center;background:var(--overlay-mask);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:mask-in .18s ease-out}.confirm-card{min-width:280px;max-width:420px;padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-raised);box-shadow:var(--shadow-raised);animation:pop-in .2s var(--ease-out)}.confirm-card .confirm-message{margin:var(--sp-2) 0 var(--sp-3);line-height:1.6;white-space:pre-line}.confirm-card .confirm-actions{display:flex;justify-content:flex-end;gap:var(--sp-2)}html{scrollbar-color:var(--border) var(--bg-page)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-page)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:5px;border:2px solid var(--bg-page)}::-webkit-scrollbar-thumb:hover{background:var(--text-disabled)}.fade-enter-active,.fade-leave-active{transition:opacity .15s}.fade-enter-from,.fade-leave-to{opacity:0}@keyframes mask-in{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:scale(.96) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.stage-toolbar,.stage-panel{animation:rise-in .25s var(--ease-out) both}.table-scroll{overflow-x:auto}@media (max-width: 768px){.project-grid{grid-template-columns:1fr}.topbar{padding:var(--sp-2) var(--sp-3)}main{padding:var(--sp-2) var(--sp-3) var(--sp-6)}}@media (prefers-reduced-motion: reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
