@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Noto+Sans+TC:wght@400;500;700&family=JetBrains+Mono:wght@500&display=swap";:root{color-scheme:light;font-family:Plus Jakarta Sans,Noto Sans TC,sans-serif;--text-primary: #1a2740;--text-secondary: #4c5d7f;--surface: rgba(255, 255, 255, .76);--surface-strong: rgba(255, 255, 255, .92);--surface-soft: rgba(248, 251, 255, .78);--border: rgba(95, 121, 176, .25);--shadow: 0 26px 48px rgba(22, 44, 88, .12);--shadow-soft: 0 14px 28px rgba(28, 46, 86, .08);--primary: #2d6bf2;--primary-strong: #1b4fc6;--danger: #cd2f4a;--ok: #1f8a55;--warning: #a76b13;--bg-gradient: radial-gradient(circle at 0% -10%, #d8efff 0%, #e9f2ff 32%, #f3f7ff 65%, #eaf1ff 100%)}:root[data-theme=dark]{color-scheme:dark;--text-primary: #ebf2ff;--text-secondary: #aab8d5;--surface: rgba(18, 30, 54, .74);--surface-strong: rgba(24, 36, 66, .95);--surface-soft: rgba(22, 34, 60, .84);--border: rgba(118, 148, 214, .32);--shadow: 0 24px 50px rgba(4, 9, 20, .6);--shadow-soft: 0 10px 22px rgba(4, 9, 20, .45);--primary: #6ea6ff;--primary-strong: #4a84eb;--danger: #f06a82;--ok: #5fd08e;--warning: #f0c15a;--bg-gradient: radial-gradient(circle at 14% -5%, #162948 0%, #0f1f38 35%, #0b1528 68%, #080f1d 100%)}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--text-primary);background:var(--bg-gradient)}a{color:inherit}code{font-family:JetBrains Mono,monospace;font-size:.79rem;border-radius:8px;padding:.12rem .4rem;background:color-mix(in srgb,var(--primary) 14%,transparent)}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;transition:transform .18s ease,background-color .18s ease,border-color .18s ease,opacity .18s ease}button:disabled{cursor:not-allowed;opacity:.58}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid color-mix(in srgb,var(--primary) 84%,#ffffff 16%);outline-offset:2px}.app-shell{width:min(1460px,96vw);margin:1.1rem auto 2.5rem;display:grid;gap:.95rem}.glass-panel{border-radius:18px;border:1px solid var(--border);background:linear-gradient(148deg,var(--surface-strong),var(--surface));backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:var(--shadow)}.app-header{display:flex;justify-content:space-between;gap:1rem;padding:1rem 1.15rem}.header-main{display:grid;gap:.4rem}.eyebrow{margin:0;font-size:.73rem;font-weight:700;letter-spacing:.12em;color:color-mix(in srgb,var(--primary) 65%,var(--text-secondary) 35%)}.app-header h1{margin:0;font-size:clamp(1.45rem,1.9vw,2.2rem);letter-spacing:.01em}.app-header p{margin:0;color:var(--text-secondary)}.meta-line{font-size:.83rem}.header-actions{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:flex-end;gap:.5rem;max-width:46%}.connection-chip{display:inline-flex;gap:.35rem;align-items:center;background:color-mix(in srgb,var(--ok) 14%,transparent);color:color-mix(in srgb,var(--ok) 72%,var(--text-primary) 28%);border:1px solid color-mix(in srgb,var(--ok) 45%,transparent);padding:.35rem .62rem;border-radius:999px;font-size:.8rem;font-weight:700}.btn-icon,.btn-primary,.btn-ghost{border-radius:12px;border:1px solid var(--border);background:var(--surface-soft);color:var(--text-primary);padding:.42rem .68rem;display:inline-flex;gap:.36rem;align-items:center;justify-content:center;min-height:36px}.btn-primary{border-color:color-mix(in srgb,var(--primary) 42%,transparent);color:#fff;background:linear-gradient(140deg,var(--primary),var(--primary-strong));box-shadow:0 8px 20px color-mix(in srgb,var(--primary) 35%,transparent)}.btn-primary:hover:not(:disabled),.btn-ghost:hover:not(:disabled),.btn-icon:hover:not(:disabled){transform:translateY(-1px)}.btn-ghost:hover:not(:disabled),.btn-icon:hover:not(:disabled){background:color-mix(in srgb,var(--surface-strong) 75%,var(--primary) 25%)}.error-banner,.error-text{border-radius:10px;border:1px solid color-mix(in srgb,var(--danger) 55%,transparent);background:color-mix(in srgb,var(--danger) 12%,transparent);color:color-mix(in srgb,var(--danger) 75%,var(--text-primary) 25%);padding:.64rem .72rem}.status-grid{display:grid;gap:.82rem;grid-template-columns:repeat(4,minmax(0,1fr))}.status-card{padding:.9rem;background:linear-gradient(160deg,var(--surface-strong),color-mix(in srgb,var(--surface) 86%,var(--primary) 14%))}.status-card header{display:flex;align-items:center;gap:.42rem;color:var(--text-secondary)}.status-card h3{margin:0;font-size:.84rem;font-weight:600}.status-card strong{display:block;margin-top:.5rem;font-size:clamp(1.06rem,1.4vw,1.32rem)}.status-card p{margin:.35rem 0 0;color:var(--text-secondary);font-size:.81rem}.status-card-wide{grid-column:span 2}.jobs-panel,.command-panel{padding:1rem}.panel-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.panel-header h2{margin:0;font-size:1.06rem}.panel-header p{margin:.32rem 0 0;color:var(--text-secondary);font-size:.87rem}.search-box{display:flex;align-items:center;gap:.45rem;border:1px solid var(--border);background:var(--surface-soft);border-radius:12px;padding:.46rem .58rem;min-width:min(420px,100%)}.panel-controls{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.search-box input{border:none;background:transparent;min-width:280px}.search-box input:focus{outline:none}.queue-strip{margin-top:.72rem;display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;font-size:.84rem;color:var(--text-secondary)}.queue-strip strong{color:var(--text-primary)}.queue-audio{width:min(620px,100%);margin-top:.5rem}.inline-audio{width:230px;max-width:100%}.muted{color:var(--text-secondary)}.table-scroll{margin-top:.82rem;overflow-x:auto;border-radius:14px;border:1px solid color-mix(in srgb,var(--border) 85%,transparent);background:color-mix(in srgb,var(--surface-soft) 80%,transparent)}table{width:100%;border-collapse:collapse;min-width:1040px}th,td{text-align:left;padding:.72rem .56rem;border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent);vertical-align:top;font-size:.9rem}th{color:var(--text-secondary);font-size:.77rem;text-transform:uppercase;letter-spacing:.07em;position:sticky;top:0;z-index:2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:color-mix(in srgb,var(--surface-strong) 85%,transparent)}tbody tr:hover{background:color-mix(in srgb,var(--primary) 8%,transparent)}.job-name-wrap{display:grid;gap:.22rem}.job-name-wrap small{color:var(--text-secondary);font-size:.74rem}.pill-on,.pill-off{width:fit-content;border-radius:999px;padding:.14rem .56rem;font-size:.71rem;font-weight:700}.pill-on{background:color-mix(in srgb,var(--ok) 18%,transparent);color:var(--ok)}.pill-off{background:color-mix(in srgb,var(--danger) 17%,transparent);color:var(--danger)}.job-message{max-width:350px;color:var(--text-secondary)}.action-row{display:flex;gap:.32rem}.status-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.16rem .54rem;font-size:.76rem;font-weight:700}.status-ok,.status-done{color:var(--ok);background:color-mix(in srgb,var(--ok) 18%,transparent)}.status-error,.status-failed{color:var(--danger);background:color-mix(in srgb,var(--danger) 16%,transparent)}.status-pending,.status-processing,.status-neutral{color:var(--warning);background:color-mix(in srgb,var(--warning) 16%,transparent)}.command-panel ul{list-style:none;margin:.8rem 0 0;padding:0;display:grid;gap:.52rem}.command-panel li{border:1px solid color-mix(in srgb,var(--border) 75%,transparent);border-radius:12px;padding:.64rem;background:color-mix(in srgb,var(--surface-soft) 82%,transparent);display:grid;gap:.35rem;box-shadow:var(--shadow-soft)}.command-panel li div{display:flex;justify-content:space-between;gap:.7rem;flex-wrap:wrap}.command-panel strong{text-transform:uppercase;font-size:.82rem;letter-spacing:.04em}.command-panel small,.command-meta{color:var(--text-secondary);font-size:.78rem;align-items:center}.token-gate{padding:1rem;display:grid;gap:.72rem;max-width:550px}.token-gate h2,.modal-card h3{margin:0}.token-gate p{margin:0;color:var(--text-secondary)}.token-gate label,.form-grid label{font-size:.85rem;font-weight:600;display:grid;gap:.35rem}.token-gate input,.modal-card input,.modal-card textarea,.modal-card select{border:1px solid var(--border);border-radius:10px;padding:.56rem .64rem;background:color-mix(in srgb,var(--surface-strong) 90%,transparent);color:var(--text-primary)}.modal-root{position:fixed;inset:0;background:color-mix(in srgb,#0a101f 56%,transparent);display:grid;place-items:center;padding:1rem;z-index:100}.modal-card{width:min(860px,96vw);max-height:92vh;overflow:auto;padding:.98rem;animation:modal-enter .22s ease}@keyframes modal-enter{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-card header,.modal-card footer{display:flex;justify-content:space-between;gap:.7rem;align-items:center}.modal-card header p{margin:.3rem 0 0;color:var(--text-secondary);font-size:.78rem}.form-grid{margin-top:.85rem;display:grid;gap:.7rem}.form-grid textarea{min-height:220px;resize:vertical;font-family:JetBrains Mono,monospace;font-size:.83rem}.empty-state{margin:.8rem 0 0;color:var(--text-secondary)}@media(max-width:1120px){.status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.status-card-wide{grid-column:span 2}.header-actions{max-width:52%}.search-box{min-width:260px}.search-box input{min-width:180px}}@media(max-width:760px){.app-shell{width:min(100%,100vw);margin:0;padding:.75rem;gap:.74rem}.app-header{display:grid}.header-actions{justify-content:flex-start;max-width:100%}.status-grid{grid-template-columns:1fr}.status-card-wide{grid-column:span 1}.panel-header{flex-direction:column}.panel-controls{width:100%;justify-content:flex-start}.search-box{width:100%;min-width:0}.search-box input{min-width:0;width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
