:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}:root{--bg:#f9f9f8;--surface-lowest:#fff;--surface-highest:#e0e3e1;--primary:#0f766e;--primary-dark:#0c5d57;--on-surface:#181c1c;--on-surface-variant:#3e4947;--outline:#6e7977;--warn:#d97706;--danger:#b91c1c;--info:#1d4ed8;--ok:#0f766e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--on-surface);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang TC,Microsoft JhengHei,Noto Sans TC,sans-serif}html,body,#root{background:var(--bg);height:100%;margin:0}#root{flex-direction:column;min-height:100%;display:flex}*{box-sizing:border-box}button{cursor:pointer;font-family:inherit}.centered{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1rem;padding:2rem;display:flex}.redeem-wrap{flex:1;justify-content:center;align-items:center;padding:1.5rem;display:flex}.redeem-card{background:var(--surface-lowest);text-align:center;border-radius:24px;width:100%;max-width:420px;padding:2.25rem 1.75rem;box-shadow:0 6px 24px #0000000d}.redeem-card .hero-icon{width:56px;height:56px;color:var(--primary);background:#0f766e1a;border-radius:18px;place-items:center;margin:0 auto 1rem;display:grid}.redeem-card h1{margin:0 0 .15rem;font-size:1.4rem;font-weight:700}.redeem-card .bilingual-sub{color:var(--outline);letter-spacing:.02em;margin:0 0 .85rem;font-size:.85rem;font-weight:500}.redeem-card .hint{color:var(--on-surface-variant);margin:0 0 .6rem;font-size:.9rem;line-height:1.55}.redeem-card .hint-en{color:var(--outline);font-size:.82rem}.redeem-card .host-hint{color:var(--primary);background:#0f766e14;border-radius:999px;margin:0 0 1.5rem;padding:.5rem .85rem;font-size:.85rem;font-weight:500;display:inline-block}.error-en{color:var(--outline);font-size:.78rem}.redeem-card .divider{color:var(--outline);align-items:center;gap:.5rem;margin:1.25rem 0 .75rem;font-size:.78rem;display:flex}.redeem-card .divider:before,.redeem-card .divider:after{content:"";background:var(--surface-highest);flex:1;height:1px}.btn.google-btn{background:var(--surface-lowest);color:var(--on-surface);border:1.5px solid var(--surface-highest);padding:.85rem 1.2rem;font-weight:600}.btn.google-btn:hover:not(:disabled){background:var(--bg);border-color:var(--outline)}.btn.google-btn:disabled{background:var(--surface-highest);color:var(--outline);cursor:not-allowed}.sso-hint{color:var(--outline);margin:.6rem 0 0;font-size:.75rem;line-height:1.5}.sso-hint-en{opacity:.8;font-size:.7rem}.redeem-card form{flex-direction:column;gap:.75rem;display:flex}.redeem-card input{background:var(--bg);border:1.5px solid var(--surface-highest);color:var(--on-surface);text-align:center;letter-spacing:.04em;border-radius:12px;outline:none;padding:.9rem 1rem;font-family:inherit;font-size:1.2rem;transition:border-color .15s,background .15s}.redeem-card input:focus{border-color:var(--primary);background:#fff}.btn{cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.85rem 1.2rem;font-size:.95rem;font-weight:600;transition:transform 50ms,background .15s;display:inline-flex}.btn:active{transform:scale(.985)}.btn.primary{background:var(--primary);color:#fff}.btn.primary:hover:not(:disabled){background:var(--primary-dark)}.btn.primary:disabled{background:var(--surface-highest);color:var(--outline);cursor:not-allowed}.btn.danger{background:var(--danger);color:#fff}.btn.danger:disabled{background:var(--surface-highest);color:var(--outline)}.btn.full{width:100%}.error{color:var(--danger);margin:1rem 0 0;font-size:.85rem}.redeem-card .footer-note{color:var(--outline);margin:1.25rem 0 0;font-size:.72rem}.redeem-success{background:var(--surface-lowest);text-align:center;border-radius:24px;width:100%;max-width:420px;padding:2.75rem 1.75rem;box-shadow:0 6px 24px #0000000d}.redeem-success .badge{width:64px;height:64px;color:var(--primary);background:#0f766e1a;border-radius:20px;place-items:center;margin:0 auto 1rem;display:grid}.redeem-success h1{margin:0;font-size:1.4rem}.redeem-success p{color:var(--on-surface-variant);margin-top:.5rem}.interpreter{flex-direction:column;gap:.75rem;width:100%;max-width:560px;min-height:100vh;margin:0 auto;padding:1rem 1.25rem 1.5rem;display:flex}.hud{justify-content:space-between;align-items:center;padding:.5rem 0;display:flex}.bt-chip{background:var(--surface-lowest);color:var(--on-surface);border-radius:999px;align-items:center;gap:.4rem;padding:.4rem .8rem;font-size:.75rem;font-weight:500;display:inline-flex;box-shadow:0 2px 6px #0000000a}.bt-chip .icon{color:var(--outline)}.credit-chip{color:var(--primary);background:#0f766e1a;border-radius:999px;align-items:center;gap:.4rem;padding:.4rem .8rem;font-size:.78rem;font-weight:600;display:inline-flex}.mode-pill-group{background:#e0e3e166;border-radius:999px;padding:4px;display:flex}.mode-pill{color:var(--on-surface-variant);cursor:pointer;background:0 0;border:none;border-radius:999px;flex:1;justify-content:center;align-items:center;gap:.35rem;padding:.55rem .85rem;font-size:.8rem;font-weight:500;transition:background .18s,color .18s,box-shadow .18s;display:inline-flex}.mode-pill.active{background:var(--surface-lowest);color:var(--primary);font-weight:600;box-shadow:0 2px 6px #0000000f}.lang-row{background:var(--surface-lowest);border-radius:16px;align-items:center;gap:.5rem;padding:.6rem .8rem;display:flex;box-shadow:0 2px 6px #0000000a}.lang-row select{color:var(--on-surface);appearance:none;cursor:pointer;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236E7977' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>") right .25rem center no-repeat;border:none;flex:1;padding:.35rem 1.4rem .35rem .5rem;font-family:inherit;font-size:.9rem;font-weight:500}.lang-row select:disabled{color:var(--outline);cursor:not-allowed}.lang-row .arrow{color:var(--outline);font-size:1rem}.captions-card{background:var(--surface-lowest);border-radius:20px;flex-direction:column;flex:1;gap:.75rem;min-height:240px;padding:1rem;display:flex;overflow-y:auto;box-shadow:0 2px 8px #00000008}.captions-card .placeholder{color:var(--outline);text-align:center;white-space:pre-line;margin:auto 0;padding:2rem 1rem;font-size:.92rem;line-height:1.6}.caption{background:var(--bg);border-radius:12px;padding:.75rem .9rem}.caption .dir-tag{color:var(--primary);background:#0f766e14;border-radius:999px;margin-bottom:.4rem;padding:.15rem .55rem;font-size:.7rem;font-weight:600;display:inline-block}.caption .source{color:var(--on-surface-variant);font-size:.82rem;line-height:1.5}.caption .translation{color:var(--on-surface);margin-top:.3rem;font-size:1.05rem;font-weight:500;line-height:1.5}.caption.live{border-left:3px solid var(--warn);padding-left:calc(.9rem - 3px)}.caption.done{border-left:3px solid var(--primary);padding-left:calc(.9rem - 3px)}.timer-row{color:var(--on-surface-variant);justify-content:center;align-items:center;gap:.4rem;font-size:.85rem;display:flex}.timer-row .timer{color:var(--on-surface);font-variant-numeric:tabular-nums;font-weight:600}.timer-row .dot{background:var(--outline);border-radius:50%;width:8px;height:8px}.timer-row .dot.live{background:var(--primary);box-shadow:0 0 0 3px #0f766e2e}.timer-row .dot.connecting,.timer-row .dot.closing{background:var(--warn);box-shadow:0 0 0 3px #d977062e}.info-banner{color:var(--info);border-left:3px solid var(--info);background:#1d4ed814;border-radius:12px;padding:.7rem .9rem;font-size:.88rem;line-height:1.5}.error-banner{color:var(--danger);border-left:3px solid var(--danger);background:#b91c1c14;border-radius:12px;padding:.7rem .9rem;font-size:.88rem}.actions{flex-direction:column;gap:.4rem;display:flex}.big-mic{color:#fff;background:var(--primary);cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;gap:.6rem;width:100%;height:72px;font-size:1.05rem;font-weight:600;transition:transform 50ms,background .15s,box-shadow .15s;display:inline-flex;box-shadow:0 6px 20px #0f766e47}.big-mic:hover:not(:disabled){background:var(--primary-dark)}.big-mic:active{transform:scale(.985)}.big-mic:disabled{background:var(--surface-highest);color:var(--outline);box-shadow:none;cursor:not-allowed}.big-mic.stop{background:var(--danger);box-shadow:0 6px 20px #b91c1c47}.big-mic.stop:hover{background:#991b1b}.fee-hint{text-align:center;color:var(--outline);font-size:.75rem}
