:root{color:#f7f8fb;background-color:#0f1115;font-family:Noto Sans TC,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body,html{height:100%;margin:0;padding:0}body{background:radial-gradient(circle at top,#1f2330 0%,#0f1115 60%)}#app{height:100%}.app-root{box-sizing:border-box;flex-direction:column;gap:16px;min-height:100%;padding:24px;display:flex}.app-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.kicker{letter-spacing:.08em;text-transform:uppercase;color:#9aa5c0;margin:0 0 4px;font-size:14px}.view-tabs{gap:8px;display:flex}.auth-header-actions{align-items:center;gap:10px;display:flex}.auth-user{color:#c3cbe2;font-size:14px}.view-tabs .view-tab{color:inherit;cursor:pointer;text-align:left;background:0 0;border:1px solid #ffffff1f;border-radius:12px;flex-direction:column;gap:4px;min-width:180px;padding:12px 18px;text-decoration:none;transition:border .2s,background .2s;display:flex}.view-tabs .view-tab.active{background:#32d4ff14;border-color:#32d4ffb3}.tab-label{font-weight:600}.tab-desc{color:#9aa5c0;font-size:13px}.view-container{flex:1;width:100%;display:flex}.view-container>*{flex:1;width:100%}.app-shell{box-sizing:border-box;flex-direction:column;height:100%;padding:24px;display:flex}.app-shell.single-button-layout{text-align:center;justify-content:center;align-items:center;gap:24px}header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.panel{background:#121826de;border:1px solid #ffffff0a;border-radius:16px;padding:16px;box-shadow:0 20px 45px #00000059}footer{color:#9aa5c0;justify-content:space-between;align-items:center;margin-top:16px;display:flex}.transcript{text-align:left;width:100%;max-width:520px;margin:0 auto}.transcript__header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.transcript-list{flex-direction:column;gap:12px;display:flex}.transcript-item{background:#ffffff0a;border-radius:12px;padding:12px 14px}.transcript-item.user{border:1px solid #4871ff59}.transcript-item.assistant{border:1px solid #ffffff14}.transcript-meta{color:#8e98ad;margin-bottom:4px;font-size:12px}.transcript-placeholder{color:#8e98ad}.live-indicator{color:#22d3ee;text-transform:uppercase;letter-spacing:1px;font-size:12px}.single-button-card{flex-direction:column;align-items:center;gap:20px;width:100%;max-width:420px;margin:0 auto;padding:32px 28px 40px;display:flex}.single-button-card__status{color:#9aa5c0;align-self:flex-end;font-size:14px}.tagline{color:#9aa5c0;margin:4px 0 0}.language-selector{gap:10px;display:flex}.language-selector__btn{color:#e4e9f8;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff2e;border-radius:999px;min-width:90px;padding:8px 14px;font-size:14px;transition:border-color .2s,background .2s,color .2s}.language-selector__btn.active{color:#f8fcff;background:#32d4ff2e;border-color:#32d4ffe6}.language-selector__btn:disabled{opacity:.65;cursor:not-allowed}.helper-text{color:#c3cbe2;margin:0}.helper-text.error{color:#f87171}.single-button-card__action{color:#fff;cursor:pointer;background:linear-gradient(145deg,#32d4ff,#4871ff);border:none;border-radius:50%;width:220px;height:220px;font-size:22px;font-weight:600;transition:transform .2s,box-shadow .2s,background .2s;box-shadow:0 25px 50px #4871ff59}.single-button-card__action.recording{background:linear-gradient(145deg,#ff6b6b,#f43f5e);box-shadow:0 25px 50px #f43f5e66}.single-button-card__action:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.single-button-card__action:not(:disabled):hover{transform:scale(1.04)}.notify-stack{z-index:9999;flex-direction:column;gap:10px;display:flex;position:fixed;top:20px;right:20px}.notify-item{color:#f8fafc;border:1px solid #0000;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;min-width:260px;max-width:360px;padding:10px 12px;display:flex;box-shadow:0 12px 30px #00000059}.notify-item.info{background:#0f172af2;border-color:#94a3b873}.notify-item.error{background:#7f1d1df2;border-color:#fca5a599}.notify-item button{color:inherit;cursor:pointer;background:0 0;border:none;font-size:18px;line-height:1}.toast-fade-enter-active,.toast-fade-leave-active{transition:opacity .2s,transform .2s}.toast-fade-enter-from,.toast-fade-leave-to{opacity:0;transform:translateY(-8px)}.footnote{color:#7d87a4;margin:0;font-size:14px}button.primary{color:#fff;cursor:pointer;background:linear-gradient(145deg,#32d4ff,#4871ff);border:none;border-radius:999px;padding:12px 24px;font-size:16px;box-shadow:0 10px 25px #4871ff73}button.secondary{color:#d7dff5;cursor:pointer;background:0 0;border:1px solid #ffffff40;border-radius:999px;padding:10px 22px}input.text-input{width:100%;color:inherit;box-sizing:border-box;background:#ffffff05;border:1px solid #ffffff1f;border-radius:12px;padding:12px 14px;font-size:16px}.message-list{flex-direction:column;gap:12px;height:60vh;display:flex;overflow-y:auto}.message-item{background:#ffffff0a;border-radius:12px;flex-direction:column;gap:4px;padding:12px;display:flex}.message-item.user{background:#4871ff26;align-self:flex-end}.message-meta{color:#8e98ad;font-size:12px}.status-dot{border-radius:50%;width:10px;height:10px;margin-right:6px;display:inline-block}.status-dot.online{background:#4ade80}.status-dot.offline{background:#f87171}.promotion-item{border-bottom:1px solid #ffffff0d;padding:12px}.promotion-item:last-child{border-bottom:none}.conversation-layout,.upload-layout{grid-template-columns:minmax(320px,420px) minmax(360px,1fr);gap:24px;width:100%;display:grid}.auth-layout{place-items:center;width:100%;min-height:calc(100vh - 180px);display:grid}.auth-card{flex-direction:column;gap:16px;width:min(460px,100%);padding:28px;display:flex}.auth-title{margin:0}.auth-form{flex-direction:column;gap:10px;display:flex}.auth-label{color:#c3cbe2;font-size:14px}.auth-submit{width:100%;margin-top:6px}.upload-panel{flex-direction:column;gap:16px;display:flex}.concurrency-picker{flex-direction:column;gap:8px;display:flex}.concurrency-buttons{flex-wrap:wrap;gap:8px;display:flex}.concurrency-buttons button{color:#f7f8fb;cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:999px;padding:8px 18px;transition:border .2s,background .2s}.concurrency-buttons button.active{background:#32d4ff24;border-color:#32d4ffb3}.concurrency-buttons button:disabled{opacity:.6;cursor:not-allowed}.conversation-panel{z-index:20;justify-content:center;align-items:center;display:flex;position:sticky;top:0}.conversation-panel .single-button-card{width:100%;max-width:420px}.upload-panel__header{justify-content:space-between;align-items:center;gap:16px;display:flex}.upload-dropzone{cursor:pointer;border:1px dashed #ffffff40;border-radius:16px;flex-direction:column;gap:12px;padding:20px;transition:border .2s,background .2s;display:flex}.upload-dropzone.disabled{opacity:.6;cursor:not-allowed}.dropzone-title{margin:0;font-size:18px;font-weight:600}.dropzone-subtitle{color:#9aa5c0;margin:4px 0 0;font-size:14px}.upload-status{color:#c3cbe2;flex-direction:column;gap:6px;font-size:14px;display:flex}.turn-sequence{border:1px solid #ffffff14;border-radius:12px;flex-direction:column;gap:8px;padding:12px 16px;display:flex}.turn-sequence ol{color:#d4dcf5;flex-direction:column;gap:6px;margin:0;padding-left:18px;display:flex}.turn-sequence li{justify-content:space-between;align-items:center;gap:8px;font-size:14px;display:flex}.turn-info{flex-direction:column;flex:1;gap:2px;display:flex}.turn-order-buttons{gap:6px;display:flex}.turn-order-button{color:#f7f8fb;cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:8px;padding:4px 10px;font-size:13px;transition:border .2s,background .2s}.turn-order-button:hover:not(:disabled){background:#38bdf81a;border-color:#38bdf8b3}.turn-order-button:disabled{opacity:.5;cursor:not-allowed}.multi-turn-actions{flex-direction:column;gap:8px;display:flex}.result-summary{color:#d4dcf5;margin-top:6px}.status-message{margin:0}.progress-text{color:#38bdf8}.error-text{color:#f87171}.filename{color:#9aa5c0}.stress-results{flex-direction:column;gap:12px;display:flex}.stress-results__header{justify-content:space-between;align-items:center;display:flex}.summary{color:#9aa5c0;font-size:14px}.latency-summary{color:#c3cbe2;gap:12px;margin-bottom:8px;font-size:13px;display:flex}.result-list{flex-direction:column;gap:12px;max-height:70vh;display:flex;overflow-y:auto}.result-item{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:12px;padding:12px 14px}.result-meta{justify-content:space-between;align-items:center;margin-bottom:6px;font-size:14px;display:flex}.result-text{color:#cdd4ec;margin:0;font-size:14px;line-height:1.5}.result-latency{color:#9aa5c0;margin:4px 0 0;font-size:13px}.turn-history{color:#cdd4ec;flex-direction:column;gap:4px;margin:8px 0 0;padding-left:18px;font-size:13px;list-style:decimal;display:flex}.turn-response{color:#f7f8fb;margin-left:4px}.latency-text{color:#8e98ad;margin-left:4px;font-size:12px}.result-actions{margin-top:8px}.status-pill{text-transform:uppercase;letter-spacing:.08em;border:1px solid #0000;border-radius:999px;padding:4px 10px;font-size:12px}.status-pill.pending{color:#d4dae9;border-color:#ffffff2e}.status-pill.running{color:#38bdf8;border-color:#38bdf899}.status-pill.success{color:#4ade80;border-color:#4ade8099}.status-pill.error{color:#f87171;border-color:#f8717199}.status-pill.neutral{color:#9aa5c0;border-color:#94a3b899}.helper-text.small{font-size:14px}button.text-button{color:#38bdf8;cursor:pointer;background:0 0;border:none;padding:0;font-size:14px;text-decoration:underline}button.text-button:hover{color:#7dd3fc}.face-check-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:16px;display:grid}.face-check-main,.face-check-side{min-width:0}.face-check-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.face-check-header h2,.face-check-side h2{margin:0}.face-check-status{color:#cbd5e1;white-space:nowrap;border:1px solid #94a3b873;border-radius:999px;padding:6px 12px;font-size:13px}.face-check-status.good{color:#4ade80;border-color:#4ade80a6}.face-check-status.warn{color:#facc15;border-color:#facc15a6}.face-check-status.bad{color:#f87171;border-color:#f87171a6}.face-check-preview{aspect-ratio:16/9;background:#05070c;border:1px solid #ffffff14;border-radius:8px;width:100%;position:relative;overflow:hidden}.face-check-canvas{object-fit:contain;width:100%;height:100%;display:block}.face-check-placeholder{color:#9aa5c0;background:#05070cd1;place-items:center;display:grid;position:absolute;inset:0}.face-check-actions{gap:10px;margin-top:14px;display:flex}.face-check-stats{flex-direction:column;gap:10px;margin:16px 0 0;display:flex}.face-check-stats div{border-bottom:1px solid #ffffff12;grid-template-columns:96px minmax(0,1fr);gap:10px;padding-bottom:10px;display:grid}.face-check-stats dt{color:#8e98ad}.face-check-stats dd{color:#f7f8fb;overflow-wrap:anywhere;margin:0}.visually-hidden{clip:rect(0 0 0 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=900px){.conversation-layout,.upload-layout,.face-check-layout{grid-template-columns:1fr}}
