:root{--font-heading:"Lexend", "Segoe UI", sans-serif;--font-body:"Source Sans 3", "Segoe UI", sans-serif;--bg-app:#f0fdfa;--bg-app-deep:#d6fbf5;--surface:#ffffffdb;--surface-strong:#fffffff5;--surface-muted:#f0fdfaeb;--surface-contrast:#07202deb;--border:#0f766e2e;--border-strong:#0f766e47;--text-strong:#0f172a;--text-body:#183642;--text-muted:#4d6b74;--accent:#0f766e;--accent-strong:#0d9488;--accent-soft:#2dd4bf2e;--accent-warm:#ea580c;--accent-warm-soft:#ea580c24;--shadow-soft:0 24px 52px #0f172a24;--shadow-card:0 14px 36px #0d948824, inset 0 1px 0 #ffffffb8;--radius-xl:28px;--radius-lg:20px;--radius-md:16px;--panel-width:clamp(21rem, 27vw, 26rem);--transition-fast:.18s ease;--transition-med:.24s ease}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;font-family:var(--font-body);color:var(--text-body);background:radial-gradient(circle at top left, #2dd4bf5c, transparent 28rem), radial-gradient(circle at top right, #ea580c29, transparent 24rem), linear-gradient(180deg, #f8fffe 0%, var(--bg-app) 38%, var(--bg-app-deep) 100%);transition:padding-right var(--transition-med), padding-bottom var(--transition-med);grid-template-columns:minmax(17rem,21rem) minmax(4.5rem,5.5rem) minmax(0,1fr);grid-template-areas:"context pages content";align-items:start;gap:1.25rem;margin:0;padding:1.5rem;display:grid}body:before,body:after{content:"";pointer-events:none;z-index:-1;filter:blur(48px);opacity:.75;border-radius:999px;position:fixed;inset:auto}body:before{background:#2dd4bf3d;width:18rem;height:18rem;top:4rem;left:-5rem}body:after{background:#0ea5e929;width:14rem;height:14rem;bottom:5rem;right:-3rem}body.panel-open{padding-right:calc(var(--panel-width) + 3rem)}a{color:inherit}.clear,.clear15{display:none!important}#noidung,#stt,#tab,.page,.transcript-panel,body .auth-modal{border:1px solid var(--border);box-shadow:var(--shadow-card)}#noidung{border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(#fffffffa,#f0fdfaf0);flex-direction:column;grid-area:context;gap:1rem;padding:1.25rem;display:flex;position:sticky;top:1.5rem}#noidung:before{content:"Audio workspace";font-family:var(--font-heading);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-size:.78rem;font-weight:700}.audio-workspace-head{flex-direction:column;gap:.55rem;display:flex}.audio-workspace-status{min-height:2rem;color:var(--accent);font-family:var(--font-heading);letter-spacing:.08em;text-transform:uppercase;background:#0f766e1a;border-radius:999px;align-self:start;align-items:center;padding:.3rem .75rem;font-size:.78rem;font-weight:700;display:inline-flex}.audio-workspace-status[data-state=preview]{color:#0369a1;background:#0ea5e91f}.audio-workspace-status[data-state=loading]{color:#b45309;background:#f59e0b24}.audio-workspace-status[data-state=playing]{color:#166534;background:#16a34a24}.audio-workspace-status[data-state=paused],.audio-workspace-status[data-state=ended]{color:#334155;background:#4755691f}.audio-workspace-status[data-state=error]{color:#c2410c;background:#ea580c24}.audio-workspace-title{font-family:var(--font-heading);color:var(--text-strong);margin:0;font-size:clamp(1.3rem,2vw,1.75rem);line-height:1.12}.audio-workspace-meta{color:var(--text-muted);margin:0;font-size:.94rem;line-height:1.55}.audio-workspace-actions{flex-wrap:wrap;gap:.65rem;display:flex}.audio-workspace-action-btn{min-height:2.65rem;color:var(--text-strong);font:inherit;cursor:pointer;transition:transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast), background-color var(--transition-fast), color var(--transition-fast);background:#fffffff0;border:1px solid #0f766e29;border-radius:999px;justify-content:center;align-items:center;padding:.7rem 1rem;font-weight:600;display:inline-flex;box-shadow:0 10px 20px #0f766e1a,inset 0 1px #ffffffc7}.audio-workspace-action-btn:hover,.audio-workspace-action-btn:focus-visible{border-color:#0f766e47;transform:translateY(-1px);box-shadow:0 14px 24px #0f766e24,inset 0 1px #ffffffd6}.audio-workspace-action-btn:disabled{cursor:not-allowed;opacity:.56;box-shadow:none;transform:none}#noidung audio{filter:drop-shadow(0 10px 20px #0f766e29);width:100%;accent-color:var(--accent);border-radius:999px}#noidung span{border-radius:var(--radius-lg);min-height:15rem;max-height:calc(100vh - 15rem);color:var(--text-body);background:linear-gradient(#fffffff5,#e2faf5eb);border:1px solid #2dd4bf38;padding:1rem 1.1rem;font-size:1rem;line-height:1.7;display:block;overflow:auto;box-shadow:inset 0 1px #ffffffc7}#noidung span:empty:before{content:"Pick any phrase tile to preview the meaning, notes, and speaking context here.";color:var(--text-muted);display:block}#stt{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffd6;border-radius:999px;grid-area:pages;justify-items:center;gap:.55rem;padding:.85rem;display:grid;position:sticky;top:1.5rem}#stt:before{content:"Sections";writing-mode:vertical-rl;font-family:var(--font-heading);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-size:.72rem;font-weight:700;transform:rotate(180deg)}#stt a{width:2.7rem;min-height:2.7rem;color:var(--text-body);font-family:var(--font-heading);cursor:pointer;transition:transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast), color var(--transition-fast);background:#f0fdfaeb;border:1px solid #0f766e1f;border-radius:999px;justify-content:center;align-items:center;font-size:.95rem;font-weight:600;display:flex;box-shadow:inset 0 1px #ffffffa6}#stt a:hover,#stt a:focus-visible{border-color:#0f766e47;transform:translateY(-1px);box-shadow:0 10px 18px #0f766e1f,inset 0 1px #ffffffb8}#stt a.act{color:#f8fffe;background:linear-gradient(135deg, var(--accent-strong), var(--accent));border-color:#0000;box-shadow:0 14px 24px #0f766e3d,inset 0 1px #fff3}#button{flex-direction:column;grid-area:content;gap:1rem;min-width:0;display:flex}#tab{z-index:10;border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(#fffffff5,#edfcf9eb);flex-wrap:wrap;align-items:center;gap:.75rem;padding:1.1rem;display:flex;position:sticky;top:1.5rem}#tab:before{content:"DGT audio practice";font-family:var(--font-heading);color:var(--text-strong);flex-basis:100%;font-size:1.32rem;font-weight:700;line-height:1.1}#tab>a[href^=\#a]{min-height:2.9rem;font-family:var(--font-heading);transition:transform var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast);background:#fffffff0;border:1px solid #0f766e24;border-radius:999px;justify-content:center;align-items:center;padding:.75rem 1.05rem;font-size:.94rem;font-weight:600;line-height:1;text-decoration:none;display:inline-flex;box-shadow:0 8px 18px #0f766e1a,inset 0 1px #ffffffb8}#tab>a[href^=\#a]:hover,#tab>a[href^=\#a]:focus-visible{border-color:#0f766e4d;transform:translateY(-1px);box-shadow:0 12px 24px #0f766e24,inset 0 1px #fffc}#tab>a[href^=\#a].act{color:#f8fffe;background:linear-gradient(135deg, var(--accent-strong), var(--accent));border-color:#0000;box-shadow:0 14px 28px #0f766e3d,inset 0 1px #ffffff3d}#rtcAudioPath,#search-input{min-height:2.9rem;font:inherit;color:var(--text-body);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);background:#ffffffeb;border:1px solid #0f766e29;border-radius:999px;padding:.78rem 1rem;box-shadow:inset 0 1px #ffffffb8}#rtcAudioPath{min-width:8.75rem}#search-input{width:100%;min-width:0;padding-right:4.9rem}.search-control{flex:16rem;align-items:center;min-width:14rem;display:flex;position:relative}#rtcAudioPath:focus,#search-input:focus{border-color:#0d94886b;outline:none;box-shadow:0 0 0 4px #2dd4bf29,inset 0 1px #ffffffd1}#search-input::placeholder{color:#72919b}#voice-selection-status,.voice-selection-status{color:#155e75;min-height:2.4rem;font-family:var(--font-heading);white-space:nowrap;background:#0e74901a;border-radius:999px;align-items:center;padding:.35rem .85rem;font-size:.88rem;font-weight:600;display:inline-flex}.translabuddy-sync-status,.translabuddy-launch-status{color:#155e75;min-height:2.4rem;font-family:var(--font-heading);background:#0e74901a;border-radius:999px;align-items:center;padding:.35rem .85rem;font-size:.84rem;font-weight:600;line-height:1.25;display:inline-flex}.translabuddy-sync-status[hidden],.translabuddy-launch-status[hidden]{display:none}.translabuddy-sync-status.loading,.translabuddy-launch-status.loading{color:#0c4a6e;background:#38bdf829}.translabuddy-sync-status.ready,.translabuddy-launch-status.ready{color:#166534;background:#22c55e29}.translabuddy-sync-status.warning,.translabuddy-launch-status.warning{color:#9a3412;background:#fb923c29}#search-clear-btn{min-height:2.1rem;color:var(--text-strong);font:inherit;letter-spacing:.01em;cursor:pointer;transition:transform var(--transition-fast), box-shadow var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast);background:#f4fbfaf5;border:1px solid #0f766e24;border-radius:999px;justify-content:center;align-items:center;padding:.35rem .72rem;font-size:.82rem;font-weight:700;display:inline-flex;position:absolute;top:50%;right:.4rem;transform:translateY(-50%)}#search-clear-btn:hover,#search-clear-btn:focus-visible{background:#ecfdf5fa;border-color:#0f766e47;transform:translateY(calc(-50% - 1px));box-shadow:0 10px 18px #0f766e1f,inset 0 1px #ffffffd6}#search-clear-btn[hidden]{display:none}#search-count,.search-count{min-height:2.4rem;color:var(--accent);font-family:var(--font-heading);background:#0f766e14;border-radius:999px;align-items:center;padding:.35rem .85rem;font-size:.9rem;font-weight:600;display:inline-flex}#search-count:empty{display:none}.search-count.no-results{color:#b45309;background:#ea580c1f}.shortcut-help-panel{border-radius:var(--radius-lg);background:linear-gradient(#f8fdfcfa,#e8faf6f0);border:1px solid #0f766e24;flex:100%;gap:.95rem;padding:1rem 1.05rem;display:grid;box-shadow:0 16px 30px #0f766e14,inset 0 1px #ffffffc7}.shortcut-help-panel[hidden]{display:none}.shortcut-help-head{justify-content:space-between;align-items:flex-start;gap:.85rem;display:flex}.shortcut-help-kicker{font-family:var(--font-heading);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 .35rem;font-size:.76rem;font-weight:700}.shortcut-help-title{font-family:var(--font-heading);color:var(--text-strong);margin:0;font-size:1.08rem;line-height:1.1}.shortcut-help-copy{max-width:56rem;color:var(--text-muted);margin:0;font-size:.95rem;line-height:1.55}.shortcut-help-grid{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.75rem;display:grid}.shortcut-help-item{background:#ffffffe0;border:1px solid #0f766e1a;border-radius:1rem;align-items:center;gap:.55rem;min-height:3rem;padding:.75rem .85rem;display:flex;box-shadow:inset 0 1px #ffffffd1}.shortcut-help-item span{color:var(--text-body);font-size:.92rem;line-height:1.45}.shortcut-help-item kbd{min-width:2rem;min-height:2rem;color:var(--accent-strong);font-family:var(--font-heading);background:#ecfdf5fa;border:1px solid #0f766e1f;border-radius:.8rem;justify-content:center;align-items:center;padding:0 .5rem;font-size:.86rem;font-weight:700;display:inline-flex;box-shadow:0 6px 12px #0f766e14,inset 0 1px #ffffffe6}.shortcut-help-close{min-height:2.5rem;color:var(--text-strong);font:inherit;cursor:pointer;transition:transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast), background-color var(--transition-fast);background:#ffffffeb;border:1px solid #0f766e1f;border-radius:999px;justify-content:center;align-items:center;padding:.55rem .9rem;font-weight:700;display:inline-flex}.shortcut-help-close:hover,.shortcut-help-close:focus-visible{background:#ecfdf5fa;border-color:#0f766e47;transform:translateY(-1px);box-shadow:0 10px 18px #0f766e1f,inset 0 1px #ffffffd6}#btn-shortcuts-help,#btn-profile,#pwa-install-btn,#btn-translabuddy,#btn-translabuddy-sync,#tab .auth-header-btn{min-height:2.9rem;font-family:var(--font-heading);letter-spacing:.02em;transition:transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);border-radius:999px;justify-content:center;align-items:center;padding:.75rem 1rem;font-size:.94rem;font-weight:700;text-decoration:none;display:inline-flex}#btn-shortcuts-help,#btn-profile,#btn-translabuddy-sync,#tab .auth-header-btn{color:var(--text-strong);background:#fffffff0;border:1px solid #0f766e29;box-shadow:0 10px 20px #0f766e1a,inset 0 1px #ffffffb3}#btn-shortcuts-help[aria-expanded=true]{color:#f8fffe;background:linear-gradient(135deg, var(--accent-strong), var(--accent));border-color:#0000;box-shadow:0 14px 28px #0f766e3d,inset 0 1px #fff3}#btn-translabuddy,#pwa-install-btn{color:#9a3412;background:linear-gradient(135deg,#fb923c33,#fffffff5);border:1px solid #ea580c2e;box-shadow:0 12px 24px #ea580c1f,inset 0 1px #fffc}#btn-translabuddy-sync{color:#115e59;background:linear-gradient(135deg,#2dd4bf2e,#fffffff5);border:1px solid #0d948833;box-shadow:0 12px 24px #0d94881f,inset 0 1px #fffc}#btn-translabuddy-sync.active{color:#ecfeff;background:linear-gradient(135deg,#0d9488eb,#0ea5e9e0);border-color:#0000;box-shadow:0 16px 30px #0d948842,inset 0 1px #fff3}#btn-shortcuts-help:hover,#btn-shortcuts-help:focus-visible,#btn-profile:hover,#btn-profile:focus-visible,#btn-translabuddy:hover,#btn-translabuddy:focus-visible,#btn-translabuddy-sync:hover,#btn-translabuddy-sync:focus-visible,#pwa-install-btn:hover,#pwa-install-btn:focus-visible,#tab .auth-header-btn:hover,#tab .auth-header-btn:focus-visible{transform:translateY(-1px)}#tab .auth-header-btn{color:var(--accent);background:linear-gradient(135deg,#0f766e1f,#fffffffa);margin-left:0;padding-inline:1rem}#btn-profile:focus-visible,#btn-shortcuts-help:focus-visible,#btn-translabuddy:focus-visible,#btn-translabuddy-sync:focus-visible,#pwa-install-btn:focus-visible,#tab .auth-header-btn:focus-visible,#rtcAudioPath:focus-visible,#search-input:focus-visible,#search-clear-btn:focus-visible,#shortcut-help-close:focus-visible,#tab>a[href^=\#a]:focus-visible,.page a:focus-visible,.stt-btn:focus-visible,.tb-history-session:focus-visible,.tb-history-action-btn:focus-visible,.auth-tab:focus-visible,.auth-btn-primary:focus-visible,.auth-btn-google:focus-visible,.auth-form input:focus-visible,.auth-btn-reset:focus-visible,.audio-workspace-action-btn:focus-visible{outline:none;box-shadow:0 0 0 4px #0ea5e92e}.page{border-radius:var(--radius-xl);background:linear-gradient(#fffffff5,#f0fdfae6);flex-wrap:wrap;align-content:flex-start;gap:.8rem;width:100%;min-height:calc(100vh - 8rem);padding:1.15rem}.page:before{font-family:var(--font-heading);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);flex-basis:100%;font-size:.8rem;font-weight:700}#a1:before{content:"Page 1 library"}#a2:before{content:"Page 2 library"}#a4:before{content:"Page 4 library"}.page a{--tile-accent:var(--accent);min-height:4.35rem;color:var(--text-strong);font-family:var(--font-heading);white-space:normal;cursor:pointer;transition:transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast), background var(--transition-fast);background:linear-gradient(#fffffffa,#f8fafceb);border:1px solid #0f766e1f;border-radius:1.2rem;flex:clamp(9.25rem,15vw,12.5rem);justify-content:flex-start;align-items:flex-start;padding:.95rem .95rem .95rem 1.1rem;font-size:.95rem;font-weight:600;line-height:1.35;text-decoration:none;display:flex;position:relative;box-shadow:0 12px 24px #0f766e14,inset 0 1px #ffffffc7}.page a:before{content:"";background:linear-gradient(180deg, var(--tile-accent), #ffffff47);border-radius:1.2rem 0 0 1.2rem;width:.35rem;position:absolute;inset:0 auto 0 0}.page a:hover{border-color:#0f766e38;transform:translateY(-2px);box-shadow:0 16px 28px #0f766e1f,inset 0 1px #ffffffd1}.page a.act{background:linear-gradient(#ccfbf1f5,#fffffffa);border-color:#0d948852;box-shadow:0 18px 30px #0d94882e,inset 0 1px #fffc}.page a.mastery-0,.page a.mastery-1,.page a.mastery-2{padding-right:2.45rem}.page a.mastery-0:after,.page a.mastery-1:after,.page a.mastery-2:after{content:"";border:2px solid #ffffffeb;border-radius:999px;width:.78rem;height:.78rem;position:absolute;top:.82rem;right:.82rem;box-shadow:0 0 0 1px #0f766e2e,0 8px 14px #0f172a1f}.page a.mastery-0:after{background:#38bdf8}.page a.mastery-1:after{background:#f59e0b}.page a.mastery-2:after{background:#22c55e}.page a.mastery-2{border-color:#22c55e47;box-shadow:0 16px 28px #22c55e1f,inset 0 1px #ffffffd1}.page a.search-match{background:linear-gradient(#f0fdfafa,#ecfdf5eb)}.page a.search-match-primary{border-color:#0ea5e957;box-shadow:0 18px 30px #0ea5e929,inset 0 1px #ffffffd6}.t1{--tile-accent:#0d9488}.t2{--tile-accent:#0891b2}.t3{--tile-accent:#2563eb}.t4{--tile-accent:#7c3aed}.t5{--tile-accent:#b45309}.t6{--tile-accent:#ea580c}.t7{--tile-accent:#db2777}.t8{--tile-accent:#15803d}.t9{--tile-accent:#0284c7}.t10{--tile-accent:#9333ea}#v-tooltip{z-index:40;max-width:min(26rem,100vw - 2rem);box-shadow:var(--shadow-soft);color:#eff6ff;pointer-events:none;background:#07202df0;border:1px solid #7dd3fc2e;border-radius:1rem;padding:.85rem .95rem;font-size:.95rem;line-height:1.6;display:none;position:absolute}.transcript-panel{width:var(--panel-width);border-radius:var(--radius-xl);color:#eff6ff;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:30;transition:width var(--transition-med), height var(--transition-med), transform var(--transition-med);background:linear-gradient(#07202df5,#0c3545eb);flex-direction:column;gap:.8rem;padding:1rem;display:flex;position:fixed;top:1.5rem;bottom:1.5rem;right:1.5rem}.transcript-panel.collapsed{width:min(17rem,100vw - 3rem);padding:.9rem}.transcript-panel.collapsed .transcript-content,.transcript-panel.collapsed #btn-stt-toggle,.transcript-panel.collapsed #btn-stt-clear,.transcript-panel.collapsed #btn-stt-history,.transcript-panel.collapsed #btn-stt-tb-live,.transcript-panel.collapsed #stt-status,.transcript-panel.collapsed #translabuddy-history-status{display:none}.transcript-panel.collapsed .transcript-header{justify-content:space-between}.transcript-header{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.stt-btn,.tb-history-action-btn,.tb-history-session{appearance:none;color:#eff6ff;font:inherit;cursor:pointer;transition:transform var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast), opacity var(--transition-fast);background:#ffffff14;border:1px solid #7dd3fc29;border-radius:999px}.stt-btn{min-height:2.65rem;font-family:var(--font-heading);padding:.7rem .95rem;font-size:.9rem;font-weight:600}.stt-btn:hover,.tb-history-action-btn:hover,.tb-history-session:hover{background:#ffffff24;border-color:#7dd3fc4d;transform:translateY(-1px)}.stt-btn.active,.tb-history-session.active{background:linear-gradient(135deg,#2dd4bf4d,#0ea5e942);border-color:#2dd4bf75}.stt-btn.pending{background:linear-gradient(135deg,#facc1538,#0ea5e929);border-color:#facc1561}.stt-btn:disabled,.tb-history-action-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.stt-btn-clear{border-color:#f8717138}.stt-btn-history{border-color:#fdba743d}.stt-btn-translabuddy{border-color:#2dd4bf47}.stt-btn-collapse{text-align:center;min-width:4.75rem;margin-left:auto;padding-inline:.95rem}.transcript-collapsed-summary{color:#e2e8f0;min-height:2.45rem;font-family:var(--font-heading);white-space:nowrap;text-overflow:ellipsis;background:#ffffff14;border-radius:999px;flex:auto;align-items:center;padding:.45rem .85rem;font-size:.82rem;font-weight:600;line-height:1.2;display:none;overflow:hidden}.transcript-panel.collapsed .transcript-collapsed-summary{display:inline-flex}.stt-status,.tb-history-status{min-height:2.45rem;font-family:var(--font-heading);border-radius:999px;align-items:center;padding:.45rem .85rem;font-size:.84rem;font-weight:600;line-height:1.2;display:inline-flex}.stt-status{color:#dbeafe;background:#7dd3fc1f}.stt-status.connecting{color:#fde68a;background:#facc152e}.stt-status.error{color:#fecaca;background:#f871712e}.stt-status.listening{color:#a7f3d0;background:#34d3992e}.tb-history-status{color:#cbd5f5;background:#ffffff14}.tb-history-status.ready{color:#bbf7d0;background:#22c55e2e}.tb-history-status.empty{color:#fde68a;background:#facc1529}.tb-history-status.unavailable{color:#fecaca;background:#f871712e}.tb-history-status.loading{color:#bae6fd;background:#38bdf829}.transcript-content{flex-direction:column;flex:1;gap:.8rem;padding-right:.15rem;display:flex;overflow:auto}.transcript-content:empty:before{content:"Start the web voice session to translate microphone input and play the translated audio here.";color:#eff6ffbd;background:#ffffff0f;border-radius:1rem;padding:1rem;line-height:1.6;display:block}.voice-session-card{background:#ffffff12;border:1px solid #7dd3fc24;border-radius:1rem;flex-direction:column;gap:.7rem;padding:.95rem;display:flex;box-shadow:inset 0 1px #ffffff14}.voice-session-card.error{background:#7f1d1d47;border-color:#f8717147}.voice-session-card.warn{background:#713f123d;border-color:#facc153d}.voice-session-kicker{font-family:var(--font-heading);letter-spacing:.08em;text-transform:uppercase;color:#7dd3fc;margin:0;font-size:.78rem;font-weight:700}.voice-session-value{color:#f8fafc;font-family:var(--font-heading);margin:0;font-size:1rem;font-weight:600;line-height:1.55}.voice-session-meta{flex-wrap:wrap;gap:.55rem;display:flex}.voice-session-setup-form{flex-direction:column;gap:.7rem;display:flex}.voice-session-setup-actions{flex-wrap:wrap;gap:.55rem;display:flex}.voice-session-setup-input{color:#f8fafc;width:100%;min-height:2.85rem;font:inherit;background:#0f172a73;border:1px solid #7dd3fc2e;border-radius:.9rem;padding:.75rem .9rem}.voice-session-setup-input::placeholder{color:#cbd5e18c}.voice-session-setup-input:focus-visible{outline-offset:2px;outline:3px solid #7dd3fc3d}.voice-session-setup-note{color:#cbd5e1;margin:0;font-size:.9rem;line-height:1.55}.voice-session-setup-note.ready{color:#bbf7d0}.voice-session-setup-note.error{color:#fecaca}.voice-session-pill{color:#cbd5e1;background:#7dd3fc1c;border-radius:999px;align-items:center;min-height:2rem;padding:.35rem .7rem;font-size:.82rem;line-height:1.25;display:inline-flex}.transcript-entry,.tb-history-card,.tb-history-summary,.tb-history-detail{background:#ffffff12;border:1px solid #7dd3fc24;border-radius:1rem;box-shadow:inset 0 1px #ffffff14}.transcript-entry{flex-direction:column;gap:.55rem;padding:.9rem;display:flex}.transcript-entry.history{background:#0ea5e914}.transcript-line,.tb-history-detail-title,.tb-history-session-title,.tb-history-summary-title,.tb-history-card-title{font-family:var(--font-heading);color:#f8fafc}.transcript-line{font-size:1rem;font-weight:600;line-height:1.5}.transcript-translation,.tb-history-detail-meta,.tb-history-session-meta,.tb-history-summary-meta,.tb-history-card-body,.tb-history-detail-summary,.tb-history-line-meta,.transcript-status{color:#cbd5e1;font-size:.92rem;line-height:1.55}.transcript-tentative{color:#e2e8f0;background:#ffffff0d;border:1px dashed #7dd3fc47;border-radius:1rem;padding:.9rem}.transcript-status{background:#ffffff0d;border-radius:1rem;padding:.8rem .9rem}.transcript-status.error,.tb-history-card.error{background:#7f1d1d47;border-color:#f8717147}.tb-history-view,.tb-history-sessions{flex-direction:column;gap:.75rem;display:flex}.tb-history-card,.tb-history-summary,.tb-history-detail{padding:.9rem}.tb-history-summary-header,.tb-history-detail-header{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:.75rem;display:flex}.tb-history-actions{flex-wrap:wrap;gap:.55rem;display:flex}.tb-history-action-btn{min-height:2.45rem;font-family:var(--font-heading);padding:.65rem .9rem;font-size:.85rem;font-weight:600}.tb-history-session{text-align:left;border-radius:1rem;width:100%;padding:.85rem .9rem}.tb-history-detail{flex-direction:column;gap:.75rem;display:flex}.tb-history-detail-summary{background:#ffffff0d;border-radius:.9rem;padding:.75rem}.tb-history-line-meta{flex-wrap:wrap;gap:.45rem;display:flex}.tb-history-speaker,.tb-history-timestamp{color:#dbeafe;background:#ffffff14;border-radius:999px;align-items:center;min-height:1.95rem;padding:.2rem .65rem;font-size:.82rem;font-weight:600;display:inline-flex}body .auth-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}body .auth-modal{background:linear-gradient(#fffffffa,#f0fdfaf0);border-radius:1.5rem;max-width:24rem;padding:2rem 1.65rem 1.4rem}body .auth-close{color:var(--text-muted);top:.9rem;right:1rem}body .auth-tabs{border-bottom-color:#0f766e1f;margin-bottom:1rem}body .auth-tab{color:var(--text-muted);font-family:var(--font-heading);font-size:.94rem}body .auth-tab.active{color:var(--accent);border-bottom-color:var(--accent)}body .auth-form input,body .auth-btn-google,body .auth-btn-primary{border-radius:.95rem}body .auth-form input{background:#ffffffe6;border-color:#0f766e29}body .auth-form input:focus{border-color:#0d94886b;box-shadow:0 0 0 4px #2dd4bf24}body .auth-btn-primary{background:linear-gradient(135deg, var(--accent-strong), var(--accent))}body .auth-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#0f766e,#115e59)}body .auth-btn-google:hover:not(:disabled){background:#f0fdfaeb}body .auth-btn-reset,body .auth-message{color:var(--accent)}::-webkit-scrollbar{width:.78rem;height:.78rem}::-webkit-scrollbar-track{background:#94a3b814}::-webkit-scrollbar-thumb{background:#0f766e47 padding-box padding-box;border:.18rem solid #0000;border-radius:999px}@media (width<=88rem){.page a{flex-basis:clamp(8.75rem,18vw,11rem)}}@media (width<=74rem){body{grid-template-columns:minmax(0,1fr) minmax(4.5rem,5rem);grid-template-areas:"context pages""content content";padding-inline:1.1rem}body.panel-open{padding-right:1.1rem}#noidung,#stt{position:relative;top:auto}#stt{align-self:start}#tab{top:1.1rem}.page{min-height:auto}.transcript-panel{width:auto;height:min(24rem,46vh);inset:auto 1.1rem 1.1rem}.transcript-panel.collapsed{width:auto;height:4.8rem}}@media (width<=48rem){body{padding:1rem .9rem 1.15rem;display:block}body.panel-open{padding-bottom:min(53vh,24rem)}.audio-workspace-title{font-size:1.18rem}#noidung,#stt,#button{margin-bottom:.95rem}#noidung span{min-height:11rem;max-height:none}#stt{border-radius:var(--radius-xl);justify-content:flex-start;align-items:center;gap:.5rem;padding:.8rem .9rem;display:flex;overflow:auto}#stt:before{writing-mode:initial;flex:none;transform:none}#stt a{flex:none}#tab{padding:.95rem;top:.8rem}#tab:before{font-size:1.08rem}#tab>a[href^=\#a],#btn-shortcuts-help,#btn-profile,#pwa-install-btn,#btn-translabuddy,#btn-translabuddy-sync,#tab .auth-header-btn{flex:calc(33.333% - .55rem)}#rtcAudioPath,#voice-selection-status,#translabuddy-launch-status,#translabuddy-sync-status,.search-control{width:100%;min-width:0}.shortcut-help-head{flex-direction:column}.shortcut-help-close{width:100%}.shortcut-help-grid{grid-template-columns:1fr}.page{gap:.7rem;padding:.95rem}.page a{flex-basis:calc(50% - .35rem);min-height:4rem}.transcript-panel{height:min(25rem,54vh);padding:.85rem;bottom:.9rem;left:.9rem;right:.9rem}.stt-btn{flex:calc(50% - .35rem)}.stt-btn-collapse{flex:none;margin-left:0}.stt-status,.tb-history-status{flex:100%}}@media (width<=34rem){#tab>a[href^=\#a],#btn-shortcuts-help,#btn-profile,#pwa-install-btn,#btn-translabuddy,#btn-translabuddy-sync,#tab .auth-header-btn,.page a{flex-basis:100%}#tab{gap:.6rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}
