:root{--color-primary:#2563eb;--color-primary-dark:#1d4ed8;--color-primary-light:#dbeafe;--color-bg:#f8fafc;--color-surface:#fff;--color-border:#e2e8f0;--color-text:#1e293b;--color-text-muted:#64748b;--color-success:#16a34a;--color-success-bg:#dcfce7;--color-danger:#dc2626;--color-danger-bg:#fee2e2;--color-warning:#d97706;--color-warning-bg:#fef3c7;--color-success-strong:#15803d;--color-success-text:#14532d;--color-danger-text:#7f1d1d;--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-8:48px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--shadow-sm:0 1px 2px #0f172a0f;--shadow-md:0 4px 12px #0f172a14;--shadow-lg:0 10px 24px #0f172a1f;--max-width:960px}.btn{font:inherit;cursor:pointer;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);padding:var(--space-3) var(--space-4);box-sizing:border-box;min-height:44px;transition:background .15s,border-color .15s,box-shadow .15s}.btn:hover:not(:disabled){border-color:var(--color-primary)}.btn-primary{background:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm);font-weight:600}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark);border-color:var(--color-primary-dark);box-shadow:var(--shadow-md)}.btn-primary:disabled{opacity:.6;cursor:default;box-shadow:none}.btn-link{background:var(--color-primary-light);border:1px solid var(--color-primary-light);color:var(--color-primary-dark);cursor:pointer;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font:inherit;text-align:center;box-sizing:border-box;font-size:14px;font-weight:600;transition:background .15s,border-color .15s}.btn-link:hover{border-color:var(--color-primary);background:#fff}.status-text{padding:var(--space-2) var(--space-3);text-align:center;border-radius:var(--radius-sm);font-size:14px}.error-text{color:var(--color-danger);background:var(--color-danger-bg)}.success-text{color:var(--color-success);background:var(--color-success-bg)}*{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:16px;line-height:1.5}#root{flex-direction:column;min-height:100svh;display:flex}h1,h2,h3{font-family:var(--font-sans);color:var(--color-text);margin:0 0 var(--space-2);font-weight:600}h1{letter-spacing:-.3px;font-size:28px}h2{font-size:20px}h3{font-size:17px}p{margin:0}button{font-family:var(--font-sans)}a{color:var(--color-primary)}.login-page{width:100%;min-height:100svh;padding:var(--space-5) var(--space-4);background:radial-gradient(circle at 12% 18%, #2563eb1f, transparent 40%), radial-gradient(circle at 88% 82%, #60a5fa29, transparent 45%), var(--color-bg);box-sizing:border-box;justify-content:center;align-items:center;display:flex}.login-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:400px;box-shadow:var(--shadow-md);padding:var(--space-6) var(--space-5);box-sizing:border-box}.login-form{gap:var(--space-2);flex-direction:column;display:flex}.login-label{color:var(--color-text-muted);margin-top:var(--space-2);font-size:14px;font-weight:500}.login-input{font:inherit;padding:var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);box-sizing:border-box;transition:border-color .15s,box-shadow .15s}.login-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);background:var(--color-surface);outline:none}.login-form .btn-primary{width:100%;margin-top:var(--space-2);font-size:15px}.login-password-wrap{position:relative}.login-password-wrap .login-input{width:100%;padding-right:40px}.login-password-toggle{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.login-password-toggle:hover{color:var(--color-primary)}.login-logo-full{width:220px;max-width:100%;height:auto;margin:0 auto var(--space-4);display:block}.login-input-wrap{position:relative}.login-input-icon{color:var(--color-text-muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.login-input-wrap .login-input{width:100%;padding-left:40px}.login-input-wrap:focus-within .login-input-icon{color:var(--color-primary)}.login-tabs{margin-bottom:var(--space-4);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);gap:4px;padding:4px;display:flex}.login-tab{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font:inherit;color:var(--color-text-muted);cursor:pointer;background:0 0;border:1px solid #0000;flex:1;font-size:15px;font-weight:500;transition:background .15s,color .15s,box-shadow .15s}.login-tab:hover:not(.active){color:var(--color-text)}.login-tab.active{background:var(--color-surface);border-color:var(--color-border);box-shadow:var(--shadow-sm);color:var(--color-primary);font-weight:600}.login-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.login-input::-ms-reveal{display:none}.login-input::-ms-clear{display:none}.part1-practice{gap:var(--space-4);padding:var(--space-5) var(--space-4) var(--space-8);box-sizing:border-box;flex-direction:column;width:100%;max-width:480px;margin:0 auto;display:flex}@media (width>=768px){.part1-summary-view{max-width:720px}}@media (width>=1024px){.part1-summary-view{max-width:860px}}.part1-practice .btn-primary{width:100%}.part1-practice .btn-link{align-self:flex-start;width:auto}.part1-top-bar{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.part1-top-bar .btn-link{background:0 0;border:none;flex-shrink:0;padding:0}.part1-progress-track{background:var(--color-border);border-radius:999px;flex:1;height:6px;overflow:hidden}.part1-progress-fill{background:var(--color-primary);border-radius:999px;height:100%;transition:width .2s}.question-counter{color:var(--color-text-muted);white-space:nowrap;flex-shrink:0;font-size:13px;font-weight:600}.question-image{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-lg);border:1px solid var(--color-border);width:100%;height:auto;display:block}.audio-panel{gap:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);box-sizing:border-box;flex-direction:column;display:flex}.audio-progress-track{background:var(--color-border);border-radius:999px;height:4px;position:relative}.audio-progress-fill{background:var(--color-primary);border-radius:999px;height:100%}.audio-progress-thumb{background:var(--color-primary);border:3px solid var(--color-surface);width:14px;height:14px;box-shadow:var(--shadow-sm);border-radius:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.audio-time-row{color:var(--color-text-muted);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;font-size:12px;display:flex}.audio-controls-row{justify-content:center;align-items:center;gap:var(--space-5);display:flex}.audio-btn-seek{background:var(--color-bg);border:1px solid var(--color-border);width:auto;height:36px;color:var(--color-text-muted);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:3px;padding:0 12px;font-size:13px;font-weight:700;display:inline-flex}.audio-btn-seek:hover{border-color:var(--color-primary);color:var(--color-primary)}.audio-btn-play{background:var(--color-primary);color:#fff;width:60px;height:60px;box-shadow:var(--shadow-md);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;gap:4px;font-size:22px;transition:background .15s;display:inline-flex}.audio-btn-play:hover{background:var(--color-primary-dark)}.choice-grid{grid-template-columns:repeat(var(--choice-count,4), 1fr);gap:10px;width:100%;display:grid}.btn-choice{height:52px;font-size:18px;font-weight:700;transition:background-color .3s,border-color .3s,color .3s,box-shadow .3s,transform .15s}.btn-choice.selected{border-color:var(--color-primary);background:var(--color-primary-light);color:var(--color-primary-dark)}.btn-choice.correct,.btn-choice.incorrect{animation:.35s p1-choice-pop}.btn-choice.correct{background:var(--color-success);border-color:var(--color-success);color:#fff;box-shadow:0 6px 16px #16a34a59}.btn-choice.incorrect{background:var(--color-danger);border-color:var(--color-danger);color:#fff;box-shadow:0 6px 16px #dc262659}.btn-choice.reveal-correct{border-color:var(--color-success);color:var(--color-success);box-shadow:0 0 0 3px var(--color-success-bg)}@keyframes p1-choice-pop{0%{transform:scale(.94)}55%{transform:scale(1.06)}to{transform:scale(1)}}.btn-choice:disabled{cursor:default;opacity:1}.btn-next{margin-top:8px}.summary-card{text-align:center;padding:var(--space-8) var(--space-4);width:100%}.summary-score{margin:16px 0 24px;font-size:20px}.summary-header-row{justify-content:center;align-items:center;gap:var(--space-3);margin:16px 0 var(--space-5);flex-wrap:wrap;display:flex}.summary-header-row .summary-score{margin:0}.summary-list{text-align:left;margin:0 0 24px;padding:0;list-style:none}.summary-list li{padding:var(--space-4);margin-bottom:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.summary-list li:last-child{margin-bottom:0}.summary-item-media{align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);padding:var(--space-2);background:var(--color-bg);border-radius:var(--radius-md);flex-wrap:wrap;display:flex}.summary-item-image{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--color-border);flex-shrink:0;width:96px;height:72px}.summary-item-audio{flex:1;min-width:200px;height:32px}.summary-item-result{margin:0;font-weight:600}.summary-result-badge{vertical-align:middle;border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:13px;font-weight:700;display:inline-flex}.summary-result-badge.correct{background:var(--color-success-bg);color:var(--color-success)}.summary-result-badge.incorrect{background:var(--color-danger-bg);color:var(--color-danger)}.summary-item-selected{color:var(--color-danger);font-weight:400}.summary-item-blocked{color:var(--color-warning);margin:0;font-weight:600}.summary-transcript-block{margin-top:var(--space-2);padding:var(--space-3);background:var(--color-bg);border-radius:var(--radius-md)}.summary-transcript-block-vi{margin-top:var(--space-1)}.summary-transcript{color:var(--color-text);margin:2px 0;font-size:15px;font-style:normal;font-weight:600}.summary-transcript-vi{color:var(--color-text-muted);font-size:13px;font-style:normal;font-weight:400}.mode-select-screen{gap:var(--space-4);flex-direction:column;max-width:640px;margin:0 auto;display:flex}.mode-select-titleblock{margin-top:var(--space-2);flex-direction:column;gap:4px;display:flex}.mode-select-title-small{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);margin:0;font-size:12px;font-weight:700}.mode-select-title-big{color:var(--color-text);margin:0;font-size:26px;font-weight:800}.mode-select-pills{flex-wrap:wrap;gap:8px;display:flex}.mode-select-pill{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:999px;align-items:center;padding:6px 14px;font-size:13px;font-weight:600;display:inline-flex}.mode-select-pill-last.is-high{background:var(--color-success-bg);color:var(--color-success-text);border-color:#86efac}.mode-select-pill-last.is-mid{color:#92400e;background:#fef3c7;border-color:#fcd34d}.mode-select-pill-last.is-low{background:var(--color-danger-bg);color:var(--color-danger-text);border-color:#fca5a5}.mode-select-cards{grid-template-columns:1fr;gap:14px;display:grid}.mode-card{text-align:left;width:100%;min-height:108px;padding:var(--space-4);background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);cursor:pointer;box-sizing:border-box;font:inherit;color:var(--color-text);align-items:flex-start;gap:14px;transition:border-color .15s,box-shadow .15s,opacity .15s;display:flex}.mode-card:hover{border-color:var(--color-primary)}.mode-card:disabled{opacity:.55;cursor:default}.mode-card-icon{border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.mode-card-icon-support{background:var(--color-primary-light);color:var(--color-primary-dark)}.mode-card-icon-test{color:#c2410c;background:#ffedd5}.mode-card-body{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.mode-card-title{align-items:center;gap:6px;font-size:18px;font-weight:700;display:flex}.mode-card-arrow{color:var(--color-text-muted)}.mode-card-desc{color:var(--color-text-muted);font-size:13px;font-weight:400}.mode-card-tags{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.mode-card-tags span{background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:999px;padding:3px 9px;font-size:11px;font-weight:600}.mode-card-starting{color:var(--color-primary-dark);align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.mode-select-footnote{color:var(--color-text-muted);text-align:center;margin:4px 0 0;font-size:12px}@media (width>=1024px){.mode-select-screen{max-width:880px}.mode-select-titleblock{flex-direction:row;justify-content:space-between;align-items:baseline;gap:16px}.mode-select-title-big{font-size:32px}.mode-select-cards{grid-template-columns:1fr 1fr;gap:20px}.mode-card{min-height:200px;padding:var(--space-5);flex-direction:column;align-items:flex-start}.mode-card-title{font-size:21px}}.support-feedback{width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);box-sizing:border-box}.support-feedback.correct{background:var(--color-success-bg)}.support-feedback.incorrect{background:var(--color-danger-bg)}.support-feedback-text{margin:0;font-weight:600}@media (width<=400px){.choice-grid{gap:8px}.btn-choice{font-size:17px}.audio-controls-row{gap:var(--space-4)}}.desktop-only{display:none}@media (width>=1024px){.mobile-only{display:none}.desktop-only{display:flex}}.p1-desktop{gap:var(--space-6);width:100%;max-width:1080px;padding:var(--space-6) var(--space-7,40px) 140px;box-sizing:border-box;flex-direction:column;margin:0 auto}.p1-desktop-header{align-items:center;gap:var(--space-5);flex-wrap:wrap;display:flex}.p1-chip-row{flex-wrap:wrap;flex:1;gap:10px;display:flex}.p1-chip{border:2px solid var(--color-border);background:var(--color-surface);width:42px;height:42px;color:var(--color-text-muted);cursor:pointer;font-size:15px;font-weight:700;font:inherit;box-sizing:border-box;border-radius:50%;transition:transform .1s}.p1-chip:hover{border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-1px)}.p1-chip.answered{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary-dark)}.p1-chip.current{background:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:var(--shadow-md)}.p1-submit-btn{flex-shrink:0;width:auto;padding:13px 28px;font-size:15px}.p1-desktop-body{gap:var(--space-7,40px);align-items:flex-start;display:flex}.p1-image-col{flex:1.1;min-width:0}.p1-image-col .question-image{border-radius:var(--radius-lg);max-width:100%;box-shadow:var(--shadow-md)}.p1-answers-col{gap:var(--space-3);flex-direction:column;flex:1;min-width:0;display:flex}.p1-answers-label{color:var(--color-text);margin:0 0 4px;font-size:17px;font-weight:700}.btn-choice-row{width:100%;padding:var(--space-5) var(--space-5);aspect-ratio:auto;text-align:left;border-width:2px;justify-content:flex-start;align-items:center;font-size:18px;font-weight:700;transition:background-color .3s,border-color .3s,color .3s,box-shadow .3s,transform .15s;display:flex}.btn-choice-row-letter{width:34px;height:34px;font-size:16px}.btn-choice-row-transcript{font-size:16px}.p1-audio-bar{background:var(--color-surface);border-top:2px solid var(--color-primary-light);padding:var(--space-4) var(--space-5) var(--space-5);box-sizing:border-box;z-index:20;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 20px #0f172a1a}.p1-audio-bar-inner{gap:var(--space-3);flex-direction:column;max-width:1080px;margin:0 auto;display:flex}.p1-audio-bar-progress-row{align-items:center;gap:var(--space-4);display:flex}.p1-audio-bar-progress-row .audio-progress-track{cursor:pointer;background:var(--color-border);flex:1;height:8px}.p1-audio-bar-progress-row .audio-progress-fill{background:linear-gradient(90deg, var(--color-primary), var(--color-primary-dark))}.p1-audio-bar-progress-row .audio-progress-thumb{border-width:4px;width:18px;height:18px;box-shadow:0 2px 8px #2563eb73}.p1-audio-bar-time{color:var(--color-text-muted);font-variant-numeric:tabular-nums;flex-shrink:0;min-width:38px;font-size:13px;font-weight:600}.p1-audio-bar-controls-row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.p1-navpill{font:inherit;cursor:pointer;box-sizing:border-box;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:11px 18px;font-size:14px;font-weight:600;display:inline-flex}.p1-navpill:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.p1-navpill:disabled{opacity:.4;cursor:default}.p1-navpill-next{background:var(--color-text);border-color:var(--color-text);color:#fff;margin-left:auto}.p1-navpill-next:hover:not(:disabled){background:var(--color-primary);border-color:var(--color-primary);color:#fff}.p1-question-pill{background:var(--color-primary-light);color:var(--color-primary-dark);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:11px 18px;font-size:14px;font-weight:700}.p1-audio-bar-cluster{flex-shrink:0;align-items:center;gap:10px;display:flex}.p1-ctrl-btn{font:inherit;cursor:pointer;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-muted);box-sizing:border-box;white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:10px 14px;font-size:13px;font-weight:600;display:inline-flex}.p1-ctrl-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.p1-ctrl-icon{font-size:15px}.p1-play-btn{background:var(--color-primary);color:#fff;width:56px;height:56px;box-shadow:var(--shadow-md);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;font-size:20px;transition:background .15s}.p1-play-btn:hover{background:var(--color-primary-dark)}.p1-replay-pill{font:inherit;cursor:pointer;border:1px solid var(--color-primary);background:var(--color-primary-light);color:var(--color-primary-dark);box-sizing:border-box;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:10px 16px;font-size:13px;font-weight:700;display:inline-flex}.p1-replay-pill:hover{background:var(--color-primary);color:#fff}.p1-mute-btn{border:1px solid var(--color-border);background:var(--color-bg);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:16px;display:inline-flex}.p1-mute-btn:hover{border-color:var(--color-primary)}.p1-speed-stepper{color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:999px;flex-shrink:0;align-items:center;gap:8px;padding:6px 10px;font-size:14px;font-weight:700;display:flex}.p1-speed-stepper button{border:1px solid var(--color-border);background:var(--color-surface);width:26px;height:26px;color:var(--color-text);cursor:pointer;font-size:15px;line-height:1;font:inherit;box-sizing:border-box;border-radius:50%}.p1-speed-stepper button:hover{border-color:var(--color-primary);color:var(--color-primary)}.p1-speed-stepper span{text-align:center;font-variant-numeric:tabular-nums;min-width:38px}.audio-btn-seek:disabled,.audio-btn-play:disabled{opacity:.4;cursor:default}@media (width>=1200px){.p1-desktop,.p1-audio-bar-inner{max-width:1180px}}.p1-support-toolbar{gap:var(--space-2);flex-wrap:wrap;width:100%;display:flex}.p1-toolbar-btn{font:inherit;cursor:pointer;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);box-sizing:border-box;white-space:nowrap;border-radius:999px;padding:8px 16px;font-size:13px;font-weight:600}.p1-toolbar-btn:disabled{opacity:.45;cursor:default}.p1-toolbar-btn-transcript,.p1-toolbar-btn-translation,.p1-toolbar-btn-answer{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-surface)}.p1-toolbar-btn-transcript.active,.p1-toolbar-btn-translation.active,.p1-toolbar-btn-answer.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.p1-toolbar-btn-transcript:hover:not(:disabled):not(.active),.p1-toolbar-btn-translation:hover:not(:disabled):not(.active),.p1-toolbar-btn-answer:hover:not(:disabled):not(.active){background:var(--color-primary-light);color:var(--color-primary);border-color:var(--color-primary)}.p1-toolbar-btn-transcript.active:hover:not(:disabled),.p1-toolbar-btn-translation.active:hover:not(:disabled),.p1-toolbar-btn-answer.active:hover:not(:disabled){background:var(--color-primary-dark);color:#fff;border-color:var(--color-primary-dark)}.p1-autoplay-btn{font:inherit;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;white-space:nowrap;box-sizing:border-box;border-radius:999px;flex-shrink:0;padding:6px 12px;font-size:12px;font-weight:600}.p1-autoplay-btn.active{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-light)}.p1-shortcuts-btn{font:inherit;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;white-space:nowrap;box-sizing:border-box;border-radius:999px;flex-shrink:0;align-items:center;gap:4px;padding:8px 14px;font-size:13px;font-weight:600;display:inline-flex}.p1-shortcuts-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.p1-overlay{padding:var(--space-4);box-sizing:border-box;z-index:50;background:#0f172a73;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.p1-overlay-card{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-6);box-sizing:border-box;text-align:center;width:100%;max-width:420px}.p1-overlay-card h2{margin:0 0 8px;font-size:18px}.p1-overlay-card p{margin:0 0 var(--space-5);color:var(--color-text-muted)}.p1-overlay-actions{gap:var(--space-3);flex-wrap:wrap;justify-content:center;display:flex}.p1-shortcuts-card{text-align:left;max-width:480px}.p1-shortcuts-card h2{text-align:center}.p1-shortcuts-table{border-collapse:collapse;width:100%;margin:var(--space-4) 0 var(--space-5)}.p1-shortcuts-table td{border-bottom:1px solid var(--color-border);color:var(--color-text);padding:8px 4px;font-size:14px}.p1-shortcuts-table td:first-child{white-space:nowrap;width:1%}.p1-shortcuts-table kbd{border:1px solid var(--color-border);background:var(--color-bg);min-width:20px;color:var(--color-text);text-align:center;border-radius:5px;margin-right:2px;padding:3px 7px;font-family:inherit;font-size:12px;font-weight:600;display:inline-block}.p1-shortcuts-card .btn{width:100%}.p1-transcript-panel{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;padding:var(--space-3) var(--space-4);box-sizing:border-box;flex-direction:column;gap:6px;display:flex}.p1-transcript-line{color:var(--color-text);margin:0;font-size:16px;font-weight:500;line-height:1.6}.p1-transcript-line strong{color:var(--color-primary);margin-right:4px}.p1-translation-panel{border-color:#b8860b}.p1-translation-panel .p1-transcript-line{color:var(--color-text-muted);font-size:14px;font-style:italic;font-weight:400}.p1-translation-panel .p1-transcript-line strong{color:#b8860b}.p1-toolbar-row{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.p1-toolbar-row .p1-answers-label{margin:0}.btn-choice-row{align-items:baseline;gap:var(--space-3);flex-wrap:wrap;display:flex}.btn-choice-row-letter{background:var(--color-bg);border:1px solid var(--color-border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.btn-choice-row.correct .btn-choice-row-letter,.btn-choice-row.incorrect .btn-choice-row-letter{color:inherit;background:#ffffff40;border-color:#0000}.btn-choice-row-transcript{text-align:left;min-width:200px;color:var(--color-text);white-space:normal;flex:1 1 0;font-weight:600}.btn-choice-row-translation{color:var(--color-text-muted);opacity:1;font-size:14px;font-style:normal;font-weight:400}.btn-choice-row.correct .btn-choice-row-transcript,.btn-choice-row.incorrect .btn-choice-row-transcript{color:inherit;opacity:.9}.btn-choice-row.selected{border-color:var(--color-primary);background:var(--color-primary-light);color:var(--color-primary-dark)}.btn-choice-row.correct{background:var(--color-success);border-color:var(--color-success);color:#fff;box-shadow:0 6px 16px #16a34a4d}.btn-choice-row.incorrect{background:var(--color-danger);border-color:var(--color-danger);color:#fff;box-shadow:0 6px 16px #dc26264d}.btn-choice-row.reveal-correct{border-color:var(--color-success);color:var(--color-success);box-shadow:0 0 0 3px var(--color-success-bg)}.btn-choice-row:disabled{cursor:default;opacity:1}.mode-option-title{align-items:center;gap:8px;display:flex}.p1-overlay-warning-icon{color:var(--color-warning);margin:0 auto 8px;display:block}.summary-score-value{border-radius:999px;padding:2px 10px;font-size:24px;animation:.4s summary-score-pop;display:inline-block}.summary-score-value.score-high{color:var(--color-success);background:var(--color-success-bg)}.summary-score-value.score-mid{color:var(--color-warning);background:var(--color-warning-bg)}.summary-score-value.score-low{color:var(--color-danger);background:var(--color-danger-bg)}@keyframes summary-score-pop{0%{opacity:0;transform:scale(.7)}60%{opacity:1;transform:scale(1.15)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.summary-score-value{animation:none}}.p2-spin{animation:.8s linear infinite p2-spin}@keyframes p2-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.p2-spin{animation:none}}.p2-waveform{justify-content:space-between;align-items:flex-end;width:100%;display:flex}.p2-waveform-bar{transform-origin:bottom;background:#cbd5e1;border-radius:2px;display:block}.p2-waveform-bar.played{background:var(--color-primary)}.p2-waveform-mobile{height:46px}.p2-waveform-mobile .p2-waveform-bar{width:4px}.p2-waveform-desktop{height:50px}.p2-waveform-desktop .p2-waveform-bar{width:5px}.p2-waveform-bar.playing{animation:.9s ease-in-out infinite alternate p2-waveform-bounce}@keyframes p2-waveform-bounce{0%{transform:scaleY(.45)}to{transform:scaleY(1)}}@media (prefers-reduced-motion:reduce){.p2-waveform-bar.playing{animation:none}}.p2-audio-strip{align-items:center;gap:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-sm);padding:var(--space-4) var(--space-5);box-sizing:border-box;cursor:pointer;font:inherit;text-align:left;display:flex}.p2-audio-strip:hover{border-color:var(--color-primary)}.p2-audio-strip-icon{background:var(--color-primary-light);width:44px;height:44px;color:var(--color-primary-dark);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.p2-audio-strip .p2-waveform{flex:1;min-width:0}.p2-audio-strip-time{color:var(--color-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;font-size:13px;font-weight:600}.p2-conversation{gap:var(--space-3);flex-direction:column;width:100%;display:flex}.p2-bubble{box-sizing:border-box;font:inherit}.p2-bubble-q{background:var(--color-surface);border:1px solid var(--color-border);max-width:86%;padding:var(--space-3) var(--space-4);border-radius:4px 16px 16px;flex-direction:column;align-self:flex-start;gap:6px;display:flex}.p2-bubble-q-desktop{max-width:70%}.p2-bubble-q.is-skeleton{width:220px}.p2-bubble-q-desktop.is-skeleton{width:300px}.p2-bubble-q-label{color:var(--color-primary-dark);letter-spacing:.02em;align-items:center;gap:5px;font-size:12px;font-weight:700;display:inline-flex}.p2-bubble-q-en{color:var(--color-text);margin:0;font-size:15px;font-weight:600;line-height:1.5}.p2-bubble-q-desktop .p2-bubble-q-en{font-size:16px}.p2-bubble-q-vi{color:var(--color-text-muted);margin:0;font-size:13px;font-weight:400;line-height:1.5}.p2-bubble-q-desktop .p2-bubble-q-vi{font-size:14px}.p2-skeleton-wrap{flex-direction:column;gap:6px;display:flex}.p2-skeleton{background:var(--color-border);border-radius:999px;height:10px;display:block}.p2-bubble-a{align-self:flex-end;align-items:center;gap:var(--space-3);background:var(--color-surface);border:1.5px solid var(--color-border);width:88%;min-height:56px;padding:var(--space-3) var(--space-4);cursor:pointer;text-align:left;color:var(--color-text);border-radius:16px 4px 16px 16px;transition:background-color .2s,border-color .2s,box-shadow .2s;display:flex}.p2-bubble-a-desktop{width:84%;min-height:62px}.p2-bubble-a:disabled{cursor:default}.p2-bubble-a-circle{color:#334155;background:#f1f5f9;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:14px;font-weight:700;display:inline-flex}.p2-bubble-a-desktop .p2-bubble-a-circle{width:38px;height:38px;font-size:15px}.p2-bubble-a-content{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.p2-bubble-a-en{color:inherit;font-size:15px;font-weight:600}.p2-bubble-a-desktop .p2-bubble-a-en{font-size:16px}.p2-bubble-a-vi{color:var(--color-text-muted);font-size:13px;font-weight:400}.p2-bubble-a-desktop .p2-bubble-a-vi{font-size:14px}.p2-bubble-a-key{width:22px;height:22px;color:var(--color-text-muted);border:1px solid #cbd5e1;border-bottom-width:2px;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;display:inline-flex}.p2-bubble-a-icon{flex-shrink:0;display:inline-flex}.p2-bubble-a-icon-correct{color:var(--color-success-strong)}.p2-bubble-a-icon-incorrect{color:#b91c1c}.p2-bubble-a.state-selecting{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary-dark)}.p2-bubble-a.state-selecting .p2-bubble-a-circle{background:var(--color-primary);color:#fff}.p2-bubble-a.state-chosen-correct{background:var(--color-success-bg);border-color:var(--color-success);color:var(--color-success-text)}.p2-bubble-a.state-chosen-correct .p2-bubble-a-circle{background:var(--color-success-strong);color:#fff}.p2-bubble-a.state-chosen-incorrect{background:var(--color-danger-bg);border-color:var(--color-danger);color:var(--color-danger-text)}.p2-bubble-a.state-chosen-incorrect .p2-bubble-a-circle{background:var(--color-danger);color:#fff}.p2-bubble-a.state-correct-unchosen{background:var(--color-surface);border:2px solid var(--color-success);box-shadow:0 0 0 3px var(--color-success-bg);color:var(--color-success-text)}.p2-bubble-a.state-correct-unchosen .p2-bubble-a-circle{background:var(--color-success-strong);color:#fff}.p2-bubble-a.state-dim{opacity:.55}.p2-bubble-a.state-selecting .p2-skeleton{background:#2563eb38}.p2-bubble-a.state-chosen-correct .p2-skeleton,.p2-bubble-a.state-correct-unchosen .p2-skeleton{background:#15803d40}.p2-bubble-a.state-chosen-incorrect .p2-skeleton{background:#dc262640}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.summary-transcript.summary-transcript-question{margin-bottom:6px;font-weight:700}.summary-transcript-vi.summary-transcript-question{color:var(--color-text);font-weight:500}.p2-mobile{gap:var(--space-3)}.p2-mobile-strip{top:calc(var(--app-header-h,64px) / var(--text-scale,1) + 12px);z-index:15;background:var(--color-surface);height:60px;box-shadow:var(--shadow-md);box-sizing:border-box;border-radius:14px;align-items:center;gap:10px;padding:0 12px;display:flex;position:sticky}.p2-mobile-strip-seek{width:36px;height:36px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.p2-mobile-strip-seek:hover{color:var(--color-primary)}.p2-mobile-strip-play{background:var(--color-primary);color:#fff;cursor:pointer;width:46px;height:46px;box-shadow:var(--shadow-sm);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s;display:inline-flex}.p2-mobile-strip-play:hover{background:var(--color-primary-dark)}.p2-mobile-strip-middle{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.p2-mobile-strip-time{color:var(--color-text-muted);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;font-size:11px;display:flex}.p2-mobile-strip.is-two-row{flex-wrap:wrap;justify-content:center;gap:6px 16px;height:auto;padding:8px 12px 10px}.p2-mobile-strip.is-two-row .p2-mobile-strip-middle{flex-direction:row;flex:100%;order:10;align-items:center;gap:10px}.p2-mobile-strip.is-two-row .p2-waveform-strip{flex:1;min-width:0}.p2-mobile-strip.is-two-row .p2-mobile-strip-time{white-space:nowrap;flex-shrink:0}.p2-waveform-strip{height:28px}.p2-waveform-strip .p2-waveform-bar{width:3px}.p2-mobile-instruction{color:var(--color-text-muted);text-align:center;margin:0;font-size:13px}.p2-conversation-mobile-v2{padding-bottom:16px}.p2-bubble-q-mobile-v2{max-width:86%}.p2-bubble-a-mobile-v2{width:90%;min-height:64px}.p2-bubble-a-mobile-v2 .p2-bubble-a-circle{width:36px;height:36px}.p2-bubble-a-mobile-v2 .p2-bubble-a-en{font-size:16px}.p2-bubble-a-mobile-v2 .p2-bubble-a-vi{font-size:14px}.p2-mobile-pinned-bar{z-index:15;border-top:1px solid var(--color-border);padding:10px var(--space-4) calc(14px + env(safe-area-inset-bottom));box-sizing:border-box;background:#fff;flex-direction:column;align-items:center;gap:10px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 20px #0f172a14}.p2-mobile-pinned-bar>*{width:100%;max-width:640px}.p2-top-bar .part1-progress-track{min-width:60px}.p2-top-bar.is-stacked .part1-progress-track{flex-basis:100%;order:10}.p2-top-bar.is-stacked .question-counter{margin-left:auto}.p2-mobile-function-row{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.p2-func-btn{border:1px solid var(--color-border);background:var(--color-surface);height:52px;color:var(--color-text-muted);font:inherit;cursor:pointer;box-sizing:border-box;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:12px;font-weight:600;display:flex}.p2-func-btn:disabled{opacity:.45;cursor:default}.p2-func-btn.active{border-color:var(--color-primary);background:var(--color-primary-light);color:var(--color-primary-dark)}.p2-func-btn.is-revealed{border-color:var(--color-success);background:var(--color-success-bg);color:var(--color-success)}.p2-mobile-next-btn{width:100%;height:50px}.p2-desktop{box-sizing:border-box;padding:var(--space-6) var(--space-5) 170px}.p2-grid{grid-template-columns:minmax(200px,240px) minmax(0,680px);align-items:start;gap:32px;max-width:952px;margin:0 auto;display:grid}.p2-col-left,.p2-col-right{top:calc(var(--app-header-h,64px) / var(--text-scale,1) + 24px);overscroll-behavior:contain;box-sizing:border-box;position:sticky;overflow-y:auto}.p2-col-left{flex-direction:column;gap:16px;display:flex}.p2-col-right{display:none}.p2-col-middle{flex-direction:column;gap:16px;min-width:0;padding-top:38px;display:flex}.p2-back-link{font:inherit;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;align-self:flex-start;align-items:center;gap:6px;padding:0;font-size:13px;font-weight:600;display:inline-flex}.p2-back-link:hover{color:var(--color-primary)}.p2-question-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-sizing:border-box;flex-direction:column;gap:16px;padding:18px;display:flex}.p2-panel-title{flex-direction:column;gap:4px;display:flex}.p2-panel-title-small{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);margin:0;font-size:11px;font-weight:700}.p2-panel-title-big{color:var(--color-text);margin:0;font-size:18px;font-weight:700}.p2-mode-pill{background:var(--color-primary-light);color:var(--color-primary-dark);border-radius:999px;align-self:flex-start;align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:700;display:inline-flex}.p2-progress-block{flex-direction:column;gap:6px;display:flex}.p2-progress-label{color:var(--color-text);margin:0;font-size:13px;font-weight:600}.p2-progress-track{background:var(--color-border);border-radius:999px;height:6px;overflow:hidden}.p2-progress-fill{background:var(--color-primary);border-radius:999px;height:100%;transition:width .2s}.p2-qgrid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.p2-qgrid-btn{border:1px solid var(--color-border);height:36px;color:var(--color-text);cursor:pointer;font-size:12px;font-weight:700;font:inherit;box-sizing:border-box;background:#fff;border-radius:8px}.p2-qgrid-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.p2-qgrid-btn.is-answered{background:var(--color-primary-light);color:var(--color-primary-dark);border-color:#93c5fd}.p2-qgrid-btn.is-current{background:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm)}.p2-qgrid-legend{color:var(--color-text-muted);flex-wrap:wrap;gap:12px;font-size:11px;display:flex}.p2-qgrid-legend span{align-items:center;gap:5px;display:inline-flex}.p2-legend-dot{border:1px solid var(--color-border);background:#fff;border-radius:3px;width:10px;height:10px;display:inline-block}.p2-legend-dot.is-answered{background:var(--color-primary-light);border-color:#93c5fd}.p2-legend-dot.is-current{background:var(--color-primary);border-color:var(--color-primary)}.p2-submit-btn{justify-content:center;align-items:center;gap:8px;width:100%;display:inline-flex}.p2-middle-heading-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.p2-middle-heading{align-items:baseline;gap:6px;display:flex}.p2-middle-question{color:var(--color-text);font-size:20px;font-weight:700}.p2-middle-counter{color:var(--color-text-muted);font-size:15px}.p2-segmented{background:#f1f5f9;border-radius:12px;gap:2px;padding:4px;display:flex}.p2-segmented button{font:inherit;color:var(--color-text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:9px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;display:inline-flex}.p2-segmented button.active{color:var(--color-primary-dark);box-shadow:var(--shadow-sm);background:#fff}.p2-segmented button:disabled{color:#94a3b8;cursor:default}.p2-middle-compact-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.p2-compact-autoplay{font:inherit;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;white-space:nowrap;box-sizing:border-box;border-radius:999px;align-items:center;gap:5px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}.p2-compact-autoplay.active{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-light)}.p2-compact-speed{color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:999px;align-items:center;gap:6px;padding:4px 8px;font-size:13px;font-weight:700;display:flex}.p2-compact-speed button{border:1px solid var(--color-border);background:var(--color-surface);width:22px;height:22px;color:var(--color-text);cursor:pointer;font-size:13px;line-height:1;font:inherit;box-sizing:border-box;border-radius:50%}.p2-compact-speed span{text-align:center;font-variant-numeric:tabular-nums;min-width:32px}.p2-compact-icon-btn{border:1px solid var(--color-border);background:var(--color-surface);width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.p2-compact-icon-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.p2-compact-icon-btn.is-muted{background:var(--color-primary-light);color:var(--color-primary-dark);border-color:var(--color-primary)}.p2-instruction{color:var(--color-text-muted);margin:0;font-size:13px}.p2-side-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-sizing:border-box;flex-direction:column;gap:14px;padding:16px;display:flex}.p2-side-heading{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);margin:0;font-size:12px;font-weight:700}.p2-autoplay-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.p2-autoplay-title{color:var(--color-text);margin:0;font-size:14px;font-weight:700}.p2-autoplay-sub{color:var(--color-text-muted);margin:2px 0 0;font-size:12px}.p2-switch{background:var(--color-border);cursor:pointer;box-sizing:border-box;border:none;border-radius:999px;flex-shrink:0;width:44px;height:26px;padding:0;transition:background .15s;position:relative}.p2-switch.is-on{background:var(--color-primary)}.p2-switch-knob{width:20px;height:20px;box-shadow:var(--shadow-sm);background:#fff;border-radius:50%;transition:left .15s;position:absolute;top:3px;left:3px}.p2-switch.is-on .p2-switch-knob{left:21px}.p2-speed-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.p2-speed-label{color:var(--color-text);font-size:13px;font-weight:600}.p2-speed-stepper{color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:999px;align-items:center;gap:8px;padding:6px 10px;font-size:14px;font-weight:700;display:flex}.p2-speed-stepper button{border:1px solid var(--color-border);background:var(--color-surface);width:26px;height:26px;color:var(--color-text);cursor:pointer;font-size:15px;line-height:1;font:inherit;box-sizing:border-box;border-radius:50%}.p2-speed-stepper span{text-align:center;font-variant-numeric:tabular-nums;min-width:38px}.p2-side-actions-row{gap:8px;display:flex}.p2-side-action-btn{font:inherit;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-muted);cursor:pointer;box-sizing:border-box;white-space:nowrap;border-radius:999px;flex:1;justify-content:center;align-items:center;gap:6px;padding:9px 10px;font-size:13px;font-weight:600;display:inline-flex}.p2-side-action-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.p2-side-action-btn.is-muted{background:var(--color-primary-light);color:var(--color-primary-dark);border-color:var(--color-primary)}.p2-shortcuts-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.p2-shortcuts-list li{color:var(--color-text);justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.p2-shortcuts-keys{gap:4px;display:flex}.p2-shortcuts-list kbd{border:1px solid var(--color-border);background:var(--color-bg);min-width:20px;color:var(--color-text);text-align:center;border-radius:5px;justify-content:center;align-items:center;padding:3px 7px;font-family:inherit;font-size:11px;font-weight:600;display:inline-flex}.p2-bottom-bar{background:var(--color-surface);border-top:2px solid var(--color-primary-light);padding:14px var(--space-5) 18px;box-sizing:border-box;z-index:20;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 20px #0f172a1a}.p2-bottom-bar-grid{grid-template-columns:minmax(200px,240px) minmax(0,680px);gap:32px;max-width:952px;margin:0 auto;display:grid}.p2-bottom-bar-mid{flex-wrap:wrap;grid-column:2;justify-content:space-between;align-items:center;gap:12px;display:flex}.p2-bottom-cluster{flex-shrink:0;align-items:center;gap:10px;display:flex}.p2-navpill{width:132px;height:44px;font:inherit;cursor:pointer;box-sizing:border-box;white-space:nowrap;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;font-size:14px;font-weight:600;display:inline-flex}.p2-navpill-prev{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text)}.p2-navpill-prev:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.p2-navpill-next{background:var(--color-primary);color:#fff;border:none}.p2-navpill-next:hover:not(:disabled){background:var(--color-primary-dark)}.p2-navpill:disabled{opacity:.4;cursor:default}.p2-bottom-seek{border:1px solid var(--color-border);background:var(--color-bg);width:40px;height:40px;color:var(--color-text-muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.p2-bottom-seek:hover{border-color:var(--color-primary);color:var(--color-primary)}.p2-bottom-play{background:var(--color-primary);color:#fff;width:56px;height:56px;box-shadow:var(--shadow-md);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;transition:background .15s;display:inline-flex}.p2-bottom-play:hover{background:var(--color-primary-dark)}.p2-desktop.is-wide .p2-grid,.p2-desktop.is-wide .p2-bottom-bar-grid{grid-template-columns:minmax(220px,260px) minmax(0,680px) minmax(220px,260px);gap:40px;max-width:1280px}.p2-desktop.is-wide .p2-col-right{flex-direction:column;gap:20px;display:flex}.p2-desktop.is-wide .p2-middle-compact-row{display:none}.p2-confirm-backdrop{z-index:60;background:#0f172a73;display:flex;position:fixed;inset:0}.p2-confirm-backdrop.is-mobile{align-items:flex-end}.p2-confirm-backdrop.is-dialog{box-sizing:border-box;justify-content:center;align-items:center;padding:16px}.p2-confirm-sheet{background:var(--color-surface);box-sizing:border-box;overscroll-behavior:contain;flex-direction:column;gap:14px;width:100%;max-height:88vh;display:flex;overflow-y:auto}.p2-confirm-sheet.is-sheet{padding:10px 18px calc(18px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;animation:.22s ease-out p2-confirm-sheet-up}.p2-confirm-sheet.is-dialog{border-radius:20px;width:520px;max-width:100%;padding:22px;animation:.18s ease-out p2-confirm-dialog-in;position:relative}@keyframes p2-confirm-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes p2-confirm-dialog-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.p2-confirm-sheet.is-sheet,.p2-confirm-sheet.is-dialog{animation:none}}.p2-confirm-grabber{background:#cbd5e1;border-radius:999px;align-self:center;width:40px;height:4px;margin-bottom:2px}.p2-confirm-close{border:1px solid var(--color-border);background:var(--color-surface);width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:16px;right:16px}.p2-confirm-close:hover{border-color:var(--color-primary);color:var(--color-primary)}.p2-confirm-head{align-items:center;gap:14px;display:flex}.p2-confirm-ring-wrap{flex-shrink:0;width:76px;height:76px;position:relative}.p2-confirm-ring{width:100%;height:100%;transform:rotate(-90deg)}.p2-confirm-ring-track{fill:none;stroke:var(--color-border);stroke-width:8px}.p2-confirm-ring-fill{fill:none;stroke-width:8px;stroke-linecap:round;transition:stroke-dashoffset .3s,stroke .3s}.p2-confirm-ring-text{flex-direction:column;justify-content:center;align-items:center;line-height:1.1;display:flex;position:absolute;inset:0}.p2-confirm-ring-text strong{color:var(--color-text);font-size:20px;font-weight:800}.p2-confirm-ring-text span{color:var(--color-text-muted);font-size:11px;font-weight:600}.p2-confirm-head-text h2{color:var(--color-text);margin:0;font-size:18px;font-weight:800}.p2-confirm-status{margin:4px 0 0;font-size:13px;font-weight:600}.p2-confirm-status.is-pending{color:#9a3412}.p2-confirm-status.is-done{color:var(--color-primary-dark)}.p2-confirm-grid{grid-template-columns:repeat(9,minmax(0,1fr));gap:6px;display:grid}.p2-confirm-grid-btn{aspect-ratio:1;border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;font-size:11px;font-weight:700;font:inherit;box-sizing:border-box;background:#fff;border-radius:8px}.p2-confirm-grid-btn.is-done{background:var(--color-primary-light);color:var(--color-primary-dark);border-color:#93c5fd}.p2-confirm-grid-btn.is-pending{color:#9a3412;background:#ffedd5;border:1.5px solid #fb923c}.p2-confirm-legend{color:var(--color-text-muted);flex-wrap:wrap;gap:14px;font-size:11px;display:flex}.p2-confirm-legend span{align-items:center;gap:5px;display:inline-flex}.p2-confirm-dot{border:1px solid var(--color-border);border-radius:3px;width:10px;height:10px;display:inline-block}.p2-confirm-dot.is-done{background:var(--color-primary-light);border-color:#93c5fd}.p2-confirm-dot.is-pending{background:#ffedd5;border-color:#fb923c}.p2-confirm-note{color:var(--color-text-muted);background:#f1f5f9;border-radius:10px;margin:0;padding:10px 12px;font-size:12.5px;line-height:1.5}.p2-confirm-error{margin:0}.p2-confirm-actions{flex-direction:column;gap:10px;display:flex}.p2-confirm-btn-secondary,.p2-confirm-btn-primary{justify-content:center;align-items:center;gap:8px;width:100%;height:50px;display:inline-flex}.p2-confirm-sheet.is-dialog .p2-confirm-ring-wrap{width:88px;height:88px}.p2-confirm-sheet.is-dialog .p2-confirm-actions{flex-direction:row;justify-content:flex-end}.p2-confirm-sheet.is-dialog .p2-confirm-btn-secondary,.p2-confirm-sheet.is-dialog .p2-confirm-btn-primary{width:auto;height:44px;padding:0 20px}.p2-result-screen{max-width:1040px}.p2-result-back{align-self:flex-start}.p2-result-layout{gap:var(--space-5);flex-direction:column;display:flex}.p2-result-main{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.p2-result-score-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-4);box-sizing:border-box;gap:var(--space-4);flex-direction:column;display:flex}.p2-result-score-head{align-items:center;gap:16px;display:flex}.p2-result-ring-wrap{flex-shrink:0;width:96px;height:96px;position:relative}.p2-result-ring-wrap.is-large{width:132px;height:132px}.p2-result-ring{width:100%;height:100%;transform:rotate(-90deg)}.p2-result-ring-track{fill:none;stroke:var(--color-border);stroke-width:9px}.p2-result-ring-fill{fill:none;stroke-width:9px;stroke-linecap:round;transition:stroke-dashoffset .4s}.p2-result-ring-text{flex-direction:column;justify-content:center;align-items:center;line-height:1.05;display:flex;position:absolute;inset:0}.p2-result-ring-text strong{font-size:26px;font-weight:800}.p2-result-ring-text span{color:var(--color-text-muted);font-size:11px;font-weight:600}.p2-result-score-info{flex-direction:column;gap:3px;min-width:0;display:flex}.p2-result-score-title-small{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);margin:0;font-size:11px;font-weight:700}.p2-result-encouragement{margin:0;font-size:16px;font-weight:800}.p2-result-encouragement.tier-high{color:var(--color-success-text)}.p2-result-encouragement.tier-mid{color:#92400e}.p2-result-encouragement.tier-low{color:var(--color-danger-text)}.p2-result-delta{border-radius:999px;align-self:flex-start;align-items:center;gap:5px;margin-top:2px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-flex}.p2-result-delta.is-up{background:var(--color-success-bg);color:var(--color-success-text)}.p2-result-delta.is-down,.p2-result-delta.is-flat{color:#475569;background:#f1f5f9}.p2-result-mode-time{color:var(--color-text-muted);margin:2px 0 0;font-size:12.5px}.p2-result-stat-row{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.p2-result-stat{text-align:center;border-radius:12px;flex-direction:column;gap:2px;padding:10px 8px;display:flex}.p2-result-stat strong{font-size:20px;font-weight:800}.p2-result-stat span{color:var(--color-text-muted);font-size:11px;font-weight:600}.p2-result-stat.is-correct{background:var(--color-success-bg)}.p2-result-stat.is-correct strong{color:var(--color-success-text)}.p2-result-stat.is-wrong{background:var(--color-danger-bg)}.p2-result-stat.is-wrong strong{color:var(--color-danger-text)}.p2-result-stat.is-blank{background:#f1f5f9}.p2-result-stat.is-blank strong{color:#475569}.p2-result-score-card.is-side{box-shadow:none;gap:16px;padding:18px}.p2-result-score-card.is-side .p2-result-score-head{text-align:center;flex-direction:column;gap:10px}.p2-result-score-card.is-side .p2-result-score-info{align-items:center}.p2-result-score-card.is-side .p2-result-delta{align-self:center}.p2-result-score-card.is-side .p2-result-stat-row{gap:6px}.p2-result-score-card.is-side .p2-result-stat{padding:8px 4px}.p2-result-score-card.is-side .p2-result-stat strong{font-size:18px}.p2-result-qgrid{grid-template-columns:repeat(9,minmax(0,1fr));gap:6px;display:grid}.p2-result-qgrid-btn{cursor:pointer;height:36px;font-size:11px;font-weight:700;font:inherit;box-sizing:border-box;border:1px solid var(--color-border);color:var(--color-text);background:#fff;border-radius:8px}.p2-result-qgrid-btn.status-correct{background:var(--color-success-bg);color:var(--color-success-text);border-color:#86efac}.p2-result-qgrid-btn.status-wrong{background:var(--color-danger-bg);color:var(--color-danger-text);border-color:#fca5a5}.p2-result-qgrid-btn.status-blank{color:#475569;background:#f1f5f9;border:1.5px dashed #94a3b8}.p2-result-qgrid-hint{color:var(--color-text-muted);margin:0;font-size:11.5px}.p2-result-list-controls{flex-direction:column;gap:10px;display:flex}.p2-result-segmented{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}.p2-result-segmented button{flex-shrink:0}.p2-result-toggle-row{flex-wrap:wrap;gap:8px;display:flex}.p2-result-toggle-pill{font:inherit;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;border-radius:999px;padding:7px 14px;font-size:12.5px;font-weight:600}.p2-result-toggle-pill.active{border-color:var(--color-primary);background:var(--color-primary-light);color:var(--color-primary-dark)}.p2-result-empty{text-align:center;padding:var(--space-5) 0}.p2-result-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.p2-result-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-sizing:border-box;overflow:hidden}.p2-result-card.status-wrong{border-color:#fca5a5}.p2-result-card.status-blank{border-color:var(--color-border)}.p2-result-card-head{cursor:pointer;width:100%;font:inherit;color:var(--color-text);text-align:left;box-sizing:border-box;background:0 0;border:none;align-items:center;gap:12px;padding:12px 14px;display:flex}.p2-result-num{color:#475569;background:#f1f5f9;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:13px;font-weight:700;display:inline-flex}.p2-result-num.status-correct{background:var(--color-success-bg);color:var(--color-success-text)}.p2-result-num.status-wrong{background:var(--color-danger-bg);color:var(--color-danger-text)}.p2-result-head-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.p2-result-status-label{align-items:center;gap:5px;font-size:13.5px;font-weight:700;display:inline-flex}.p2-result-status-label.status-correct{color:var(--color-success-text)}.p2-result-status-label.status-wrong{color:var(--color-danger-text)}.p2-result-status-label.status-blank{color:#475569}.p2-result-head-sub{color:var(--color-text-muted);font-size:12px}.p2-result-chevron{color:var(--color-text-muted);flex-shrink:0;transition:transform .15s}.p2-result-chevron.is-open{transform:rotate(90deg)}.p2-result-card-body{box-sizing:border-box;flex-direction:column;gap:10px;padding:0 14px 16px;display:flex}.p2-result-audio-strip{gap:10px;padding:8px 12px}.p2-result-audio-strip .p2-audio-strip-icon{width:32px;height:32px}.p2-result-audio-strip .p2-waveform-strip{height:22px}.p2-bubble-q-result,.p2-bubble-a-result{width:100%;max-width:100%}.p2-result-you-picked{text-transform:uppercase;letter-spacing:.03em;opacity:.75;margin-bottom:2px;font-size:10px;font-weight:700;display:block}.p2-result-inline-actions{flex-wrap:wrap;align-items:center;gap:10px;padding-top:6px;display:flex}.p2-result-restart-btn{flex:1;justify-content:center;align-items:center;gap:8px;width:auto;min-width:130px;display:inline-flex}.p2-result-next-btn{flex:2;width:auto;min-width:180px}.p2-result-inline-back{text-align:center;flex-basis:100%}.p2-result-next-card{gap:10px}.p2-result-next-main{text-align:left;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:60px;padding:12px 12px 12px 16px;display:flex}.p2-result-next-text{flex-direction:column;gap:2px;min-width:0;display:flex}.p2-result-next-small{letter-spacing:.04em;text-transform:uppercase;opacity:.8;font-size:11px;font-weight:700}.p2-result-next-big{align-items:center;gap:6px;font-size:16px;font-weight:800;line-height:1.25;display:inline-flex}.p2-result-next-arrow{background:#fff3;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;transition:transform .15s;display:inline-flex}.p2-result-next-main:hover:not(:disabled) .p2-result-next-arrow{transform:translate(3px)}.p2-result-restart-side{width:100%;color:var(--color-text);border-radius:12px;justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:600;display:inline-flex}.p2-result-restart-side:hover:not(:disabled){color:var(--color-primary);background:var(--color-primary-light)}.p2-result-back-side{font:inherit;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;align-self:center;align-items:center;gap:6px;padding:4px 8px;font-size:13px;font-weight:600;display:inline-flex}.p2-result-back-side:hover{color:var(--color-primary)}.p2-result-history-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.p2-result-history-row{color:var(--color-text-muted);align-items:center;gap:8px;font-size:12.5px;display:flex}.p2-result-history-row.is-latest{color:var(--color-text);font-weight:700}.p2-result-history-date{flex-shrink:0;width:46px}.p2-result-history-mode{flex:1;min-width:0}.p2-result-history-score{background:#f1f5f9;border-radius:999px;flex-shrink:0;padding:2px 8px;font-weight:700}.p2-result-history-score.tier-high{background:var(--color-success-bg);color:var(--color-success-text)}.p2-result-history-score.tier-mid{color:#92400e;background:#fef3c7}.p2-result-history-score.tier-low{background:var(--color-danger-bg);color:var(--color-danger-text)}.p2-result-ring-wrap.is-large .p2-result-ring-text strong{font-size:32px}.p2-result-pinned-row{gap:10px;width:100%;display:flex}.p2-result-pinned-restart{flex:1;justify-content:center;align-items:center;gap:6px;height:50px;display:inline-flex}.p2-result-pinned-next{flex:2;height:50px}.p2-result-next-btn:disabled,.p2-result-next-main:disabled,.p2-result-restart-side:disabled,.p2-result-pinned-next:disabled{opacity:.6;cursor:default}.p2-p1-body{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.p2-p1-body.is-mobile{gap:var(--space-3);grid-template-columns:1fr}.p2-p1-image{aspect-ratio:4/3;object-fit:contain;border:1px solid var(--color-border);box-sizing:border-box;background:#f8fafc;border-radius:16px;width:100%;height:auto;display:block}.p2-p1-answers{flex-direction:column;gap:10px;min-width:0;display:flex}.p2-p1-answers .p2-bubble-a,.p2-result-card-body .p2-result-p1-image~.p2-bubble-a{border-radius:14px;align-self:stretch;width:100%}.p2-result-p1-image{max-width:420px}.skeleton-list{gap:var(--space-3);flex-direction:column;display:flex}.skeleton-block{border-radius:var(--radius-lg);background-image:linear-gradient(90deg, var(--color-border), var(--color-bg), var(--color-border));background-size:200% 100%;animation:1.4s infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton-block{animation:none}}.error-state{text-align:center;align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);border:1px solid var(--color-danger-bg);border-radius:var(--radius-lg);background:var(--color-surface);flex-direction:column;display:flex}.error-state-icon{color:var(--color-danger)}.error-state-title{margin:0;font-size:16px;font-weight:700}.error-state-hint{color:var(--color-text-muted);margin:0;font-size:14px}.error-state-detail{color:var(--color-text-muted);word-break:break-word;margin:0;font-size:12px}.error-state-btn{margin-top:var(--space-2);align-items:center;gap:6px;width:auto;display:inline-flex}.toast-container{bottom:var(--space-4);right:var(--space-4);z-index:100;gap:var(--space-2);flex-direction:column;width:340px;max-width:calc(100vw - 32px);display:flex;position:fixed}.toast-item{background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-3) var(--space-4);align-items:center;gap:var(--space-2);border-left:4px solid var(--color-primary);animation:.25s ease-out toast-slide-in;display:flex}.toast-success{border-left-color:var(--color-success)}.toast-error{border-left-color:var(--color-danger)}.toast-info{border-left-color:var(--color-primary)}.toast-message{word-break:break-word;flex:1;min-width:0}.toast-close{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:2px;display:inline-flex}.toast-close:hover{color:var(--color-text)}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.teacher-classes{gap:var(--space-4);padding:var(--space-4) var(--space-2) var(--space-8);box-sizing:border-box;text-align:left;flex-direction:column;width:100%;display:flex}.tc-title-row{justify-content:space-between;align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.tc-title{margin:0;font-size:26px;font-weight:800}.tc-subtitle{color:var(--color-text-muted);margin:4px 0 0;font-size:14px}.tc-new-btn{border-radius:10px;align-items:center;gap:6px;width:auto;display:inline-flex}.tc-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-sizing:border-box;flex-direction:column;gap:14px;min-width:0;padding:18px;display:flex}.tc-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.tc-eyebrow{letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted);align-items:center;gap:8px;margin:0;font-size:11px;font-weight:700;display:inline-flex}.tc-icon-btn{border:1px solid var(--color-border);background:var(--color-surface);width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;border-radius:9px;flex-shrink:0;place-items:center;display:grid}.tc-icon-btn:hover:not(:disabled){color:var(--color-primary);border-color:var(--color-primary)}.tc-icon-btn.is-danger:hover:not(:disabled){color:var(--color-danger);border-color:var(--color-danger);background:var(--color-danger-bg)}.teacher-input{min-width:0;font:inherit;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);box-sizing:border-box;border-radius:10px;flex:1;padding:10px 12px;font-size:14px}.teacher-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.tc-form-row{gap:8px;display:flex}.tc-create-card{box-shadow:var(--shadow-sm);border-color:#bfdbfe}.tc-schedule-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.tc-schedule-field{flex-direction:column;gap:4px;min-width:0;display:flex}.tc-schedule-label{color:var(--color-text-muted);font-size:12.5px;font-weight:700}.tc-schedule-field .teacher-input{width:100%}.tc-create-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.tc-name-preview{color:var(--color-text-muted);overflow-wrap:anywhere;margin:0;font-size:13.5px}.tc-name-preview strong{color:var(--color-text)}.tc-create-btn{border-radius:10px;width:auto}.tc-requests{background:#fffbeb;border-color:#fde68a}.tc-count-dot{background:var(--color-danger);color:#fff;letter-spacing:0;box-sizing:border-box;border-radius:999px;place-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;display:inline-grid}.tc-request-list,.tc-member-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tc-request{background:var(--color-surface);border:1px solid #fde68a;border-radius:12px;align-items:center;gap:12px;padding:10px 12px;display:flex}.tc-request-body,.tc-member-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.tc-request-body b,.tc-member-text b{font-size:14px}.tc-request-body small,.tc-member-text small{color:var(--color-text-muted);overflow-wrap:anywhere;font-size:12.5px}.tc-request-body strong{color:var(--color-text)}.tc-move-note{color:#9a3412;background:#ffedd5;border-radius:8px;flex-wrap:wrap;align-self:flex-start;align-items:center;gap:4px;margin-top:2px;padding:2px 8px;font-size:11.5px;font-weight:600;display:inline-flex}.tc-request-actions{flex-shrink:0;gap:8px;display:flex}.tc-reject-btn,.tc-approve-btn{border-radius:10px;width:auto;min-height:38px;padding:7px 14px;font-weight:600}.tc-reject-btn{color:var(--color-text-muted)}.tc-avatar{border-radius:50%;flex-shrink:0;place-items:center;width:36px;height:36px;font-size:14px;font-weight:700;display:grid}.tc-avatar.tone-1{color:#1d4ed8;background:#dbeafe}.tc-avatar.tone-2{color:#9d174d;background:#fce7f3}.tc-avatar.tone-3{color:#166534;background:#dcfce7}.tc-avatar.tone-4{color:#92400e;background:#fef3c7}.tc-avatar.tone-5{color:#5b21b6;background:#ede9fe}.tc-list-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.tc-list-head h2{margin:0;font-size:15px;font-weight:700}.tc-list-head h2 span{color:var(--color-text-muted);font-weight:600}.tc-seg{background:#eef2f7;border-radius:12px;gap:2px;padding:4px;display:inline-flex}.tc-seg button{font:inherit;color:var(--color-text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:9px;padding:6px 12px;font-size:13px;font-weight:600}.tc-seg button.active{background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-sm)}.tc-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.tc-class{display:flex;position:relative}.tc-class-card{width:100%;font:inherit;text-align:left;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-top:4px solid var(--shift-fg,var(--color-border));border-radius:var(--radius-lg);cursor:pointer;box-sizing:border-box;flex-direction:column;gap:12px;padding:16px;transition:box-shadow .15s,transform .1s;display:flex}.tc-class-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.tc-class-top{align-items:center;gap:12px;padding-right:72px;display:flex}.tc-class-badge{background:var(--shift-bg,#f1f5f9);width:48px;height:48px;color:var(--shift-fg,#64748b);border-radius:12px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;font-weight:800;line-height:1;display:flex}.tc-class-badge small{letter-spacing:.04em;text-transform:uppercase;opacity:.8;margin-bottom:3px;font-size:9px;font-weight:700}.tc-class-badge.is-large{border-radius:16px;width:64px;height:64px;font-size:24px}.tc-class-name{flex-direction:column;gap:2px;min-width:0;display:flex}.tc-class-name b{overflow-wrap:anywhere;font-size:17px;font-weight:800}.tc-class-name small{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.tc-chips{flex-wrap:wrap;gap:6px;display:flex}.tc-chip{color:#475569;white-space:nowrap;background:#f1f5f9;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:12px;font-weight:600;display:inline-flex}.tc-chip.is-legacy{background:var(--color-warning-bg);color:#92400e}.tc-chip.is-count{background:var(--color-primary-light);color:var(--color-primary-dark)}.tc-class-foot{border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:10px;display:flex}.tc-class-count{align-items:center;gap:6px;font-size:13.5px;font-weight:700;display:inline-flex}.tc-class-date{color:var(--color-text-muted);font-size:12px}.tc-class-actions{gap:6px;display:flex;position:absolute;top:16px;right:14px}.tc-back-link{font:inherit;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;align-self:flex-start;align-items:center;gap:6px;padding:0;font-size:13px;font-weight:600;display:inline-flex}.tc-back-link:hover{color:var(--color-primary)}.tc-class-hero{border-top:4px solid var(--shift-fg,var(--color-border));background:linear-gradient(180deg, var(--shift-bg,#f8fafc) -60%, var(--color-surface) 70%);flex-direction:row;align-items:center;gap:16px}.tc-hero-text{flex-direction:column;gap:6px;min-width:0;display:flex}.tc-hero-full{color:var(--color-text-muted);overflow-wrap:anywhere;margin:0;font-size:13px}.tc-add-btn{border-radius:10px;flex-shrink:0;align-items:center;gap:6px;width:auto;display:inline-flex}.tc-search{border:1px solid var(--color-border);color:var(--color-text-muted);background:var(--color-surface);border-radius:10px;align-items:center;gap:6px;padding:0 10px;display:flex}.tc-search:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.tc-search input{width:160px;min-width:0;font:inherit;color:var(--color-text);background:0 0;border:none;outline:none;padding:7px 0;font-size:13px}.tc-member{border-radius:12px;align-items:center;gap:12px;padding:8px 10px;display:flex}.tc-member:hover{background:#f8fafc}.tc-member+.tc-member{border-top:1px solid #f1f5f9}.tc-member-actions{flex-shrink:0;gap:6px;display:flex}.tc-text-btn{font:inherit;color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;border-radius:9px;align-items:center;gap:6px;padding:7px 10px;font-size:13px;font-weight:600;display:inline-flex}.tc-text-btn:hover:not(:disabled){color:var(--color-primary);border-color:var(--color-primary)}.tc-text-btn.is-danger:hover:not(:disabled){color:var(--color-danger);border-color:var(--color-danger);background:var(--color-danger-bg)}.tc-text-btn:disabled{opacity:.6;cursor:default}.tc-empty{text-align:center;color:var(--color-text-muted);align-items:center;gap:6px;padding:28px 18px}.tc-empty p{color:var(--color-text);margin:0;font-weight:700}.tc-empty small{font-size:13px}.tc-overlay{z-index:50;padding:var(--space-4);box-sizing:border-box;background:#0f172a73;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.tc-overlay-card{text-align:left;background:var(--color-surface);border-radius:var(--radius-lg);width:100%;max-width:460px;max-height:100%;box-shadow:var(--shadow-lg);box-sizing:border-box;padding:22px;overflow-y:auto}.tc-overlay-card h2{margin:0 0 var(--space-3);font-size:18px}.tc-overlay-body p{margin:0 0 var(--space-3);color:var(--color-text-muted)}.tc-overlay-body p:last-child{margin-bottom:var(--space-4)}.tc-overlay-body strong{color:var(--color-text)}.tc-overlay-body .tc-schedule-grid{margin-bottom:var(--space-3)}.tc-class-select{width:100%;margin-bottom:var(--space-4);flex:none}.tc-overlay-card .status-text{margin:0 0 var(--space-3)}.tc-overlay-actions{gap:var(--space-3);flex-wrap:wrap;justify-content:flex-end;display:flex}.tc-overlay-actions .btn{border-radius:10px;width:auto}.tc-danger-btn{color:var(--color-danger);border-color:var(--color-danger);font-weight:600}.btn.tc-danger-btn:hover:not(:disabled){background:var(--color-danger-bg);border-color:var(--color-danger)}.tc-danger-btn:disabled{opacity:.6;cursor:default}.tc-new-btn,.tc-create-btn,.tc-add-btn,.tc-reject-btn,.tc-approve-btn,.tc-overlay-actions .btn{font-size:14px}@media (width<=900px){.tc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.teacher-classes{padding:var(--space-2) 0 var(--space-6);gap:var(--space-3)}.tc-title{font-size:22px}.tc-new-btn{justify-content:center;width:100%}.tc-card{gap:12px;padding:14px}.tc-grid{grid-template-columns:1fr;gap:10px}.tc-class-card{gap:10px;padding:14px}.tc-class-badge{width:44px;height:44px;font-size:16px}.tc-class-badge.is-large{width:52px;height:52px;font-size:20px}.tc-class-actions{top:14px;right:12px}.tc-schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tc-create-btn{width:100%}.tc-request{flex-wrap:wrap}.tc-request-actions{justify-content:flex-end;width:100%}.tc-class-hero{gap:12px;padding:14px}.tc-form-row{flex-wrap:wrap}.tc-add-btn{justify-content:center;width:100%}.tc-search{flex:1}.tc-search input{width:100%}.tc-text-btn span{display:none}.tc-text-btn{padding:8px}.tc-member{padding:8px 4px}}.student-assignments{gap:var(--space-4);padding:var(--space-4) var(--space-2) var(--space-8);box-sizing:border-box;text-align:left;flex-direction:column;width:100%;display:flex}.sa-title-row{justify-content:space-between;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;display:flex}.sa-title{margin:0;font-size:26px;font-weight:800}.sa-subtitle{color:var(--color-text-muted);margin:4px 0 0;font-size:14px}.sa-filters{gap:var(--space-3);flex-wrap:wrap;display:flex}.sa-seg{box-sizing:border-box;background:#eef2f7;border-radius:12px;gap:2px;max-width:100%;padding:4px;display:inline-flex;overflow-x:auto}.sa-seg button{font:inherit;color:var(--color-text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:9px;flex-shrink:0;padding:8px 16px;font-size:14px;font-weight:600;transition:color .15s,background .15s,box-shadow .15s}.sa-seg button:hover{color:var(--color-primary)}.sa-seg button.active{background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-sm)}.sa-seg.is-small button{padding:6px 12px;font-size:13px}.sa-overview{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"ring info next""ring stats next";align-items:center;gap:8px 22px;padding:18px 22px;display:grid}.sa-ring{grid-area:ring;width:92px;height:92px;position:relative}.sa-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.sa-ring-track{fill:none;stroke:var(--color-border);stroke-width:9px}.sa-ring-fill{fill:none;stroke:var(--color-primary);stroke-width:9px;stroke-linecap:round;transition:stroke-dashoffset .4s}.sa-ring-text{flex-direction:column;justify-content:center;align-items:center;line-height:1.05;display:flex;position:absolute;inset:0}.sa-ring-text b{color:var(--color-primary-dark);font-size:26px;font-weight:800}.sa-ring-text small{color:var(--color-text-muted);font-size:11px;font-weight:600}.sa-ov-info{flex-direction:column;grid-area:info;align-self:end;gap:7px;min-width:0;display:flex}.sa-eyebrow{letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted);margin:0;font-size:11px;font-weight:700}.sa-ov-title{margin:0;font-size:18px;font-weight:800}.sa-ov-stats{flex-wrap:wrap;grid-area:stats;align-self:start;gap:8px;display:flex}.sa-stat{color:var(--color-text-muted);white-space:nowrap;background:#f1f5f9;border-radius:999px;align-items:baseline;gap:6px;padding:4px 12px;font-size:12.5px;font-weight:600;display:inline-flex}.sa-stat b{color:var(--color-text);font-variant-numeric:tabular-nums;font-size:13.5px}.sa-stat.tier-high{background:var(--color-success-bg);color:var(--color-success-text)}.sa-stat.tier-mid{background:var(--color-warning-bg);color:#92400e}.sa-stat.tier-low{background:var(--color-danger-bg);color:var(--color-danger-text)}.sa-stat.tier-high b,.sa-stat.tier-mid b,.sa-stat.tier-low b{color:inherit}.sa-next-btn{min-width:240px;font:inherit;text-align:left;color:#fff;background:var(--color-primary);cursor:pointer;border:none;border-radius:12px;grid-area:next;justify-content:space-between;align-items:center;gap:14px;padding:12px 12px 12px 18px;transition:background .15s;display:flex;box-shadow:0 4px 12px #2563eb40}.sa-next-btn:hover{background:var(--color-primary-dark)}.sa-next-text{flex-direction:column;gap:2px;min-width:0;display:flex}.sa-next-text small{letter-spacing:.05em;text-transform:uppercase;opacity:.82;font-size:11px;font-weight:700}.sa-next-text b{font-size:17px;font-weight:800}.sa-next-arrow{background:#fff3;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;transition:transform .15s;display:inline-flex}.sa-next-btn:hover .sa-next-arrow{transform:translate(3px)}.sa-list-head{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.sa-list-head h2{margin:0;font-size:15px;font-weight:700}.sa-list-head h2 span{color:var(--color-text-muted);font-weight:600}.sa-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.sa-grid li{display:flex}.sa-card{width:100%;min-height:112px;font:inherit;text-align:left;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);box-sizing:border-box;cursor:pointer;border-radius:14px;flex-direction:column;gap:10px;padding:14px;transition:border-color .15s,box-shadow .15s,transform .1s;display:flex;position:relative}.sa-card:hover{box-shadow:var(--shadow-md);border-color:#93c5fd;transform:translateY(-2px)}.sa-card-top{justify-content:space-between;align-items:flex-start;gap:6px;display:flex}.sa-card-name{flex-direction:column;min-width:0;display:flex}.sa-card-label{letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted);font-size:10.5px;font-weight:700}.sa-card-name b{overflow-wrap:anywhere;font-size:20px;font-weight:800;line-height:1.2}.sa-card-name b:only-child{overflow-wrap:anywhere}.sa-chip{white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:999px;flex-shrink:0;padding:3px 8px;font-size:12px;font-weight:700}.sa-chip.tier-high{background:var(--color-success-bg);color:var(--color-success-text)}.sa-chip.tier-mid{background:var(--color-warning-bg);color:#92400e}.sa-chip.tier-low{background:var(--color-danger-bg);color:var(--color-danger-text)}.sa-bar{background:#eef2f7;border-radius:999px;height:6px;display:block;overflow:hidden}.sa-bar i{border-radius:999px;height:100%;display:block}.sa-bar i.tier-high{background:var(--color-success)}.sa-bar i.tier-mid{background:var(--color-warning)}.sa-bar i.tier-low{background:var(--color-danger)}.sa-card-meta{color:var(--color-text-muted);justify-content:space-between;gap:6px;margin-top:auto;font-size:12px;display:flex}.sa-card.is-todo{background:#fbfdff;border-style:dashed;border-color:#cbd5e1}.sa-card.is-todo .sa-card-name b{color:#475569}.sa-card-todo-meta{color:var(--color-text-muted);font-size:12px}.sa-card-go{color:var(--color-primary);margin-top:auto;font-size:13px;font-weight:700}.sa-card.is-next{border:2px solid var(--color-primary);background:#f5f9ff;box-shadow:0 4px 12px #2563eb1f}.sa-card.is-next .sa-card-name b{color:var(--color-text)}.sa-card-tag{background:var(--color-primary);color:#fff;border-radius:999px;padding:2px 8px;font-size:10.5px;font-weight:700;position:absolute;top:-9px;right:10px}@media (width<=860px){.sa-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=640px){.student-assignments{padding:var(--space-2) 0 var(--space-6);gap:var(--space-3)}.sa-title{font-size:22px}.sa-filters{flex-direction:column;gap:8px;width:100%}.sa-filters .sa-seg{display:flex}.sa-filters .sa-seg button{flex:1;padding:8px 6px}.sa-overview{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"ring info""stats stats""next next";gap:12px 14px;padding:14px}.sa-ov-info{align-self:center}.sa-ring{width:72px;height:72px}.sa-ring-text b{font-size:20px}.sa-ov-title{font-size:15px}.sa-stat{padding:3px 9px;font-size:11.5px}.sa-stat b{font-size:12.5px}.sa-next-btn{min-width:0;padding:10px 10px 10px 16px}.sa-next-text b{font-size:16px}.sa-list-head .sa-seg{width:100%;display:flex}.sa-seg.is-small button{flex:1;padding:5px 4px;font-size:12px}.sa-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sa-card{border-radius:12px;gap:6px;min-height:0;padding:10px 12px}.sa-card-top{flex-wrap:wrap;row-gap:4px}.sa-card-name{white-space:nowrap;text-overflow:ellipsis;flex-direction:row;align-items:baseline;gap:4px;max-width:100%;overflow:hidden}.sa-card-name b{overflow-wrap:normal}.sa-card-label{letter-spacing:0;text-transform:none;color:inherit;font-size:15px;font-weight:800}.sa-card.is-todo .sa-card-label{color:#475569}.sa-card-name b{font-size:15px}.sa-chip{padding:2px 7px;font-size:11px}.sa-bar{height:5px}.sa-card-meta,.sa-card-todo-meta{font-size:11px}.sa-card-go{display:none}.sa-card-tag{font-size:10px;top:-8px}}.teacher-tracking{gap:var(--space-4);padding:var(--space-4) var(--space-2) var(--space-8);box-sizing:border-box;text-align:left;flex-direction:column;width:100%;display:flex}.tt-title-row{justify-content:space-between;align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.tt-title{margin:0;font-size:26px;font-weight:800}.tt-subtitle{color:var(--color-text-muted);margin:4px 0 0;font-size:14px}.tt-title-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tt-export-btn{border-radius:10px;align-items:center;gap:6px;width:auto;font-weight:600;display:inline-flex}.tt-seg{box-sizing:border-box;background:#eef2f7;border-radius:12px;gap:2px;max-width:100%;padding:4px;display:inline-flex;overflow-x:auto}.tt-seg button{font:inherit;color:var(--color-text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:9px;flex-shrink:0;padding:7px 14px;font-size:13.5px;font-weight:600}.tt-seg button:hover{color:var(--color-primary)}.tt-seg button.active{background:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-sm)}.tt-seg.is-small button{padding:5px 10px;font-size:12.5px}.tt-picker{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-direction:column;gap:12px;padding:14px 16px;display:flex}.tt-picker-top{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tt-picker-label,.tt-eyebrow{letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted);margin:0;font-size:11px;font-weight:700}.tt-test-chips{grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px;display:grid}.tt-tchip{font:inherit;text-align:center;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;border-radius:10px;flex-direction:column;gap:5px;padding:7px 6px 8px;transition:border-color .15s,background .15s;display:flex}.tt-tchip:hover{border-color:#93c5fd}.tt-tchip b{font-size:14px}.tt-tchip-bar{background:#eef2f7;border-radius:999px;height:4px;display:block;overflow:hidden}.tt-tchip-bar i{background:#93c5fd;height:100%;display:block}.tt-tchip small{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:10.5px}.tt-tchip.active{border:2px solid var(--color-primary);background:#f5f9ff;padding:6px 5px 7px}.tt-tchip.active b{color:var(--color-primary-dark)}.tt-tchip.active .tt-tchip-bar i{background:var(--color-primary)}.tt-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.tt-kpi{font:inherit;text-align:left;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-sizing:border-box;align-items:center;gap:12px;min-width:0;padding:14px 16px;display:flex}button.tt-kpi{cursor:pointer;transition:box-shadow .15s,border-color .15s}button.tt-kpi:hover{box-shadow:var(--shadow-md)}.tt-kpi.is-active{box-shadow:inset 0 0 0 2px}.tt-kpi-ring{flex-shrink:0;width:54px;height:54px;position:relative}.tt-kpi-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.tt-kpi-track{fill:none;stroke:var(--color-border);stroke-width:11px}.tt-kpi-fill{fill:none;stroke:var(--color-primary);stroke-width:11px;stroke-linecap:round;transition:stroke-dashoffset .4s}.tt-kpi-ring span{color:var(--color-primary-dark);place-items:center;font-size:12px;font-weight:800;display:grid;position:absolute;inset:0}.tt-kpi-text{flex-direction:column;gap:2px;min-width:0;display:flex}.tt-kpi-text small{letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted);font-size:11px;font-weight:700}.tt-kpi-text b{font-variant-numeric:tabular-nums;font-size:22px;font-weight:800}.tt-kpi-text b em{color:var(--color-text-muted);font-size:14px;font-style:normal;font-weight:700}.tt-kpi-text>span{color:var(--color-text-muted);font-size:12px}.tt-kpi-icon{border-radius:12px;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.tt-kpi.is-warn{color:#9a3412;background:#fff7ed;border-color:#fed7aa}.tt-kpi.is-warn .tt-kpi-icon{background:#ffedd5}.tt-kpi.is-warn .tt-kpi-text b{color:#9a3412}.tt-kpi.is-bad{color:var(--color-danger-text);background:#fef2f2;border-color:#fecaca}.tt-kpi.is-bad .tt-kpi-icon{background:var(--color-danger-bg)}.tt-kpi.is-bad .tt-kpi-text b{color:var(--color-danger-text)}.tt-kpi.is-avg .tt-kpi-icon{background:var(--color-warning-bg);color:#92400e}.tt-filters{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tt-search{background:var(--color-surface);border:1px solid var(--color-border);min-width:200px;color:var(--color-text-muted);box-sizing:border-box;border-radius:10px;flex:1;align-items:center;gap:8px;padding:0 12px;display:flex}.tt-search:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.tt-search input{min-width:0;font:inherit;color:var(--color-text);background:0 0;border:none;outline:none;flex:1;padding:9px 0;font-size:14px}.tt-select{font:inherit;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:10px;max-width:260px;padding:9px 12px;font-size:14px}.tt-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.tt-clear{width:auto;padding:6px 12px}.tt-count{color:var(--color-text-muted);margin:0;font-size:12.5px}.tt-chip{white-space:nowrap;font-variant-numeric:tabular-nums;color:#475569;background:#f1f5f9;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700;display:inline-block}.tt-chip.tier-high{background:var(--color-success-bg);color:var(--color-success-text)}.tt-chip.tier-mid{background:var(--color-warning-bg);color:#92400e}.tt-chip.tier-low{background:var(--color-danger-bg);color:var(--color-danger-text)}.tt-chip.is-todo{color:var(--color-text-muted);font-weight:600}.tt-score{align-items:center;gap:10px;display:inline-flex}.tt-bar{background:#eef2f7;border-radius:999px;width:64px;height:5px;display:block;overflow:hidden}.tt-bar i{border-radius:999px;height:100%;display:block}.tt-bar i.tier-high{background:var(--color-success)}.tt-bar i.tier-mid{background:var(--color-warning)}.tt-bar i.tier-low{background:var(--color-danger)}.tt-avatar{border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:13px;font-weight:700;display:inline-grid}.tt-avatar.is-large{width:44px;height:44px;font-size:17px}.tt-avatar.tone-1{color:#1d4ed8;background:#dbeafe}.tt-avatar.tone-2{color:#9d174d;background:#fce7f3}.tt-avatar.tone-3{color:#166534;background:#dcfce7}.tt-avatar.tone-4{color:#92400e;background:#fef3c7}.tt-avatar.tone-5{color:#5b21b6;background:#ede9fe}.tt-student{align-items:center;gap:10px;font-weight:600;display:flex}.tt-table-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);max-height:calc(100vh / var(--text-scale,1) - 180px);min-height:240px;overflow:auto}.tt-table{border-collapse:separate;border-spacing:0;width:100%;font-size:14px}.tt-table th{z-index:1;border-bottom:1px solid var(--color-border);text-align:left;white-space:nowrap;background:#f8fafc;padding:0;position:sticky;top:0}.tt-sort{width:100%;font:inherit;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:11px 14px;font-size:11.5px;font-weight:700}.tt-sort:hover{color:var(--color-primary)}.tt-table td{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:10px 14px}.tt-table tr.is-clickable{cursor:pointer}.tt-table tr.is-clickable:hover td{background:#f8fafc}.tt-table tr.is-clickable:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.tt-table tr.is-open td{background:#eff6ff}.tt-table tr.is-open td:first-child{box-shadow:inset 3px 0 0 var(--color-primary)}.tt-table tr[data-todo] td{color:var(--color-text-muted)}.tt-table tr[data-todo] .tt-avatar{color:#94a3b8;background:#f1f5f9}.tt-class-cell{font-size:13px}.tt-class-stack{flex-direction:column;gap:1px;display:flex}.tt-class-stack+.tt-class-stack{margin-top:4px}.tt-class-stack small{color:var(--color-text-muted);font-size:11.5px}.tt-num{font-variant-numeric:tabular-nums}.tt-time{color:var(--color-text-muted);white-space:nowrap;font-size:13px}.tt-chev{color:#94a3b8;text-align:right;width:20px}.tt-panel{top:calc(var(--app-header-h,64px) / var(--text-scale,1) + 12px);z-index:40;width:340px;max-width:calc(100vw / var(--text-scale,1) - 32px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);box-sizing:border-box;flex-direction:column;gap:14px;padding:16px;display:flex;position:fixed;bottom:16px;right:16px;overflow-y:auto}.tt-panel.is-sheet{width:auto;max-width:none;max-height:calc(82vh / var(--text-scale,1));padding:10px 16px calc(18px + env(safe-area-inset-bottom,0px));border-radius:22px 22px 0 0;inset:auto 0 0}.tt-sheet-backdrop{z-index:39;background:#0f172a73;position:fixed;inset:0}.tt-grab{background:#cbd5e1;border-radius:999px;align-self:center;width:40px;height:4px}.tt-panel-head{align-items:center;gap:12px;display:flex}.tt-panel-name{flex-direction:column;flex:1;min-width:0;display:flex}.tt-panel-name b{font-size:16px}.tt-panel-name small{color:var(--color-text-muted);font-size:12.5px}.tt-close{border:1px solid var(--color-border);background:var(--color-surface);width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.tt-close:hover{color:var(--color-primary);border-color:var(--color-primary)}.tt-spark{background:#f8fafc;border:1px solid #eef2f7;border-radius:12px;padding:8px 10px}.tt-spark svg{width:100%;height:70px;display:block}.tt-spark-grid{stroke:#e2e8f0;stroke-width:1px}.tt-spark-line{fill:none;stroke:var(--color-primary);stroke-width:2.5px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.tt-spark-dot{fill:var(--color-primary);stroke:#fff;stroke-width:1.5px}.tt-attempts{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.tt-attempts li{background:#f8fafc;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;font-size:13px;display:flex}.tt-attempts li>span:first-child{color:var(--color-text-muted)}.tt-mini-heat{grid-template-columns:repeat(auto-fill,minmax(26px,1fr));gap:4px;display:grid}.tt-mh{font:inherit;cursor:pointer;font-variant-numeric:tabular-nums;border:none;border-radius:6px;padding:6px 0;font-size:11px;font-weight:700}.tt-mh.tier-high{background:var(--color-success-bg);color:var(--color-success-text)}.tt-mh.tier-mid{background:var(--color-warning-bg);color:#92400e}.tt-mh.tier-low{background:var(--color-danger-bg);color:var(--color-danger-text)}.tt-mh.is-done{background:var(--color-primary-light);color:var(--color-primary-dark)}.tt-mh.is-none{color:#94a3b8;background:#fff;border:1px dashed #cbd5e1}.tt-mh.is-current{outline:2px solid var(--color-primary);outline-offset:1px}.tt-heat-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);max-height:calc(100vh / var(--text-scale,1) - 180px);overflow:auto}.tt-heat{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}.tt-heat th{z-index:2;border-bottom:1px solid var(--color-border);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);text-align:center;white-space:nowrap;background:#f8fafc;padding:10px 6px;font-size:11.5px;font-weight:700;position:sticky;top:0}.tt-heat td{text-align:center;border-bottom:1px solid #f1f5f9;padding:4px}.tt-heat th:first-child,.tt-heat td:first-child{z-index:1;background:var(--color-surface);text-align:left;white-space:nowrap;padding:7px 12px;position:sticky;left:0}.tt-heat th:first-child{z-index:3;background:#f8fafc}.tt-cell{width:100%;min-width:36px;font:inherit;font-variant-numeric:tabular-nums;box-sizing:border-box;border:none;border-radius:8px;padding:7px 0;font-size:12px;font-weight:700;display:block}button.tt-cell{cursor:pointer}button.tt-cell:hover{filter:brightness(.95)}.tt-cell.tier-high{background:var(--color-success-bg);color:var(--color-success-text)}.tt-cell.tier-mid{background:var(--color-warning-bg);color:#92400e}.tt-cell.tier-low{background:var(--color-danger-bg);color:var(--color-danger-text)}.tt-cell.is-done{background:var(--color-primary-light);color:var(--color-primary-dark)}.tt-cell.is-none{color:#cbd5e1;border:1px dashed #e2e8f0}.tt-rowsum{color:var(--color-text-muted);white-space:nowrap;font-size:12.5px;font-weight:700;padding:0 12px!important}.tt-heat tfoot td{border-top:1px solid var(--color-border);color:var(--color-text-muted);white-space:nowrap;background:#f8fafc;padding:8px 4px;font-size:11px;font-weight:600;position:sticky;bottom:0}.tt-heat tfoot td:first-child{z-index:2;background:#f8fafc}.tt-heat tfoot td b{color:var(--color-text);font-size:12px;display:block}.tt-legend{color:var(--color-text-muted);flex-wrap:wrap;gap:12px;font-size:12px;display:flex}.tt-legend i{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:5px;display:inline-block}.tt-legend i.tier-high{background:var(--color-success-bg)}.tt-legend i.tier-mid{background:var(--color-warning-bg)}.tt-legend i.tier-low{background:var(--color-danger-bg)}.tt-legend i.is-none{border:1px dashed #cbd5e1}.tt-phone-filter-row{gap:8px;display:flex}.tt-phone-filter-row .tt-search{min-width:0}.tt-filter-btn{font:inherit;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;border-radius:10px;flex-shrink:0;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:600;display:inline-flex}.tt-filter-btn.active{border-color:var(--color-primary);color:var(--color-primary)}.tt-filter-btn i{background:var(--color-primary);color:#fff;border-radius:999px;padding:1px 6px;font-size:10.5px;font-style:normal}.tt-phone-filters{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;flex-direction:column;gap:8px;padding:12px;display:flex}.tt-phone-filters .tt-seg{display:flex}.tt-phone-filters .tt-seg button{flex:1}.tt-cards{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.tt-card{width:100%;font:inherit;text-align:left;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);cursor:pointer;border-radius:14px;align-items:center;gap:10px;padding:10px 12px;display:flex}.tt-card:disabled{cursor:default;opacity:1}.tt-card.is-todo{background:#fbfdff;border-style:dashed}.tt-card.is-todo .tt-avatar{color:#94a3b8;background:#f1f5f9}.tt-card.is-todo b{color:var(--color-text-muted)}.tt-card-mid{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.tt-card-mid b{font-size:14px}.tt-card-mid small{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.tt-card-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:3px;display:flex}.tt-card-right small{color:var(--color-text-muted);font-size:10.5px}@media (width<=900px){.tt-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.teacher-tracking{padding:var(--space-2) 0 var(--space-6);gap:var(--space-3)}.tt-title{font-size:22px}.tt-title-actions,.tt-title-actions .tt-seg{width:100%}.tt-title-actions .tt-seg button{flex:1}.tt-picker{gap:10px;padding:12px}.tt-picker-top{flex-direction:column;align-items:stretch;gap:8px}.tt-picker-top .tt-seg{display:flex}.tt-picker-top .tt-seg button{flex:1}.tt-test-chips{gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.tt-test-chips .tt-tchip{flex:0 0 56px}.tt-test-chips .tt-tchip-bar{display:none}.tt-kpis{gap:8px}.tt-kpi{border-radius:14px;gap:8px;padding:10px 12px}.tt-kpi-ring{width:40px;height:40px}.tt-kpi-ring span{font-size:10px}.tt-kpi-icon{border-radius:10px;width:32px;height:32px}.tt-kpi-text small{font-size:9.5px}.tt-kpi-text b{font-size:17px}.tt-kpi-text b em{font-size:11.5px}.tt-heat-wrap{max-height:none}.tt-filters .tt-search,.tt-filters .tt-select,.tt-phone-filters .tt-select{flex-basis:100%;max-width:none}.tt-heat tfoot td{position:static}}.student-account{gap:var(--space-4);padding:var(--space-4) var(--space-2) var(--space-8);box-sizing:border-box;text-align:left;flex-direction:column;width:100%;display:flex}.student-account.is-teacher{max-width:520px;margin:0 auto}.acc-title{margin:0;font-size:26px;font-weight:800}.acc-cols{grid-template-columns:minmax(280px,340px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.acc-col{flex-direction:column;gap:14px;min-width:0;display:flex}.acc-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-sizing:border-box;flex-direction:column;gap:14px;min-width:0;padding:18px;display:flex}.acc-eyebrow{letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted);margin:0;font-size:11px;font-weight:700}.acc-profile{text-align:center;background:linear-gradient(180deg, #eff6ff 0, var(--color-surface) 110px);align-items:center;padding:24px 18px 20px}.acc-big-avatar{color:#9d174d;width:76px;height:76px;box-shadow:var(--shadow-md);background:#fce7f3;border:4px solid #fff;border-radius:50%;flex-shrink:0;place-items:center;font-size:30px;font-weight:800;display:grid}.acc-profile-text{flex-direction:column;align-items:center;gap:8px;min-width:0;display:flex}.acc-name{overflow-wrap:anywhere;margin:0;font-size:20px;font-weight:800}.acc-pills{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.acc-pill{white-space:nowrap;color:#475569;background:#f1f5f9;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.acc-pill.is-class{background:var(--color-success-bg);color:var(--color-success-text)}.acc-pill.is-pending{background:var(--color-warning-bg);color:#92400e}.acc-pill.is-target{background:var(--color-primary-light);color:var(--color-primary-dark)}.acc-field{flex-direction:column;gap:6px;display:flex}.acc-label{color:var(--color-text-muted);font-size:12.5px;font-weight:700}.acc-field-row{gap:8px;display:flex}.acc-input{min-width:0;font:inherit;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);box-sizing:border-box;border-radius:10px;flex:1;padding:10px 12px;font-size:14px}.acc-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.acc-save-btn{border-radius:10px;flex-shrink:0;width:auto}.acc-divider{background:#f1f5f9;height:1px}.acc-class-box{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;align-items:center;gap:12px;padding:12px;display:flex}.acc-class-box.is-pending{background:#fffbeb;border-color:#fde68a}.acc-class-icon{background:var(--color-success-bg);width:38px;height:38px;color:var(--color-success-text);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.acc-class-box.is-pending .acc-class-icon{background:var(--color-warning-bg);color:#92400e}.acc-class-text{flex-direction:column;gap:1px;min-width:0;display:flex}.acc-class-text b{overflow-wrap:anywhere;font-size:14px}.acc-class-text small{color:var(--color-text-muted);font-size:12px}.acc-cancel-btn{width:auto;color:var(--color-text-muted);border-radius:10px;align-self:flex-start}.acc-hint{color:var(--color-text-muted);margin:0;font-size:12px}.acc-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.acc-stat{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-direction:column;gap:4px;min-width:0;padding:14px;display:flex}.acc-stat small{letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-muted);font-size:11px;font-weight:700}.acc-stat b{font-variant-numeric:tabular-nums;white-space:nowrap;align-items:baseline;gap:4px;font-size:24px;font-weight:800;display:inline-flex}.acc-stat b svg{align-self:center}.acc-stat b em{color:var(--color-text-muted);font-size:14px;font-style:normal;font-weight:700}.acc-stat>span{color:var(--color-text-muted);font-size:12px}.acc-stat.is-streak{background:linear-gradient(135deg,#fff7ed,#ffedd5);border-color:#fed7aa}.acc-stat.is-streak b{color:#c2410c}.acc-stat.tier-high b{color:var(--color-success-text)}.acc-stat.tier-mid b{color:#92400e}.acc-stat.tier-low b{color:var(--color-danger-text)}.acc-act-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.acc-act-head>span{color:var(--color-text-muted);font-size:12.5px}.acc-cal-wrap{overflow-x:auto}.acc-cal{grid-template-columns:26px repeat(8,28px);align-items:center;gap:6px;display:grid}.acc-cal-wk,.acc-cal-dl{color:var(--color-text-muted);white-space:nowrap;font-size:10.5px}.acc-day{aspect-ratio:1;background:#eef2f7;border-radius:5px;display:block}.acc-day.lv1{background:#bfdbfe}.acc-day.lv2{background:#60a5fa}.acc-day.lv3{background:var(--color-primary)}.acc-day.is-future{border:1px dashed var(--color-border);box-sizing:border-box;background:0 0}.acc-day.is-today{outline:2px solid var(--color-text);outline-offset:1px}.acc-cal-legend{color:var(--color-text-muted);justify-content:flex-end;align-items:center;gap:4px;font-size:11px;display:flex}.acc-cal-legend i{border-radius:3px;width:11px;height:11px;display:inline-block}.acc-cal-legend .lv0{background:#eef2f7}.acc-cal-legend .lv1{background:#bfdbfe}.acc-cal-legend .lv2{background:#60a5fa}.acc-cal-legend .lv3{background:var(--color-primary)}.acc-prog{flex-direction:column;gap:12px;display:flex}.acc-prog-row{grid-template-columns:150px minmax(0,1fr) 62px;align-items:center;gap:12px;font-size:13px;display:grid}.acc-prog-bar{background:#eef2f7;border-radius:999px;height:8px;display:block;overflow:hidden}.acc-prog-bar i{background:var(--color-primary);border-radius:999px;height:100%;display:block}.acc-prog-row>span:last-child{text-align:right;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.acc-recent{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.acc-recent-btn{width:100%;font:inherit;text-align:left;color:var(--color-text);cursor:pointer;background:#f8fafc;border:1px solid #0000;border-radius:10px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:8px 10px;font-size:13px;display:grid}.acc-recent-btn:hover:not(:disabled){background:#f5f9ff;border-color:#93c5fd}.acc-recent-btn:disabled{cursor:default}.acc-recent-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.acc-recent-btn small{color:var(--color-text-muted);white-space:nowrap;font-size:12px}.acc-chip{white-space:nowrap;font-variant-numeric:tabular-nums;color:#475569;background:#f1f5f9;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700}.acc-chip.tier-high{background:var(--color-success-bg);color:var(--color-success-text)}.acc-chip.tier-mid{background:var(--color-warning-bg);color:#92400e}.acc-chip.tier-low{background:var(--color-danger-bg);color:var(--color-danger-text)}@media (width<=820px){.acc-cols{flex-direction:column;align-items:stretch;display:flex}.acc-col{display:contents}.acc-profile{order:1}.acc-stats{order:2}.acc-col:last-child>.acc-card{order:3}.acc-col:first-child>.acc-card:not(.acc-profile){order:4}}@media (width<=640px){.student-account{padding:var(--space-2) 0 var(--space-6);gap:var(--space-3)}.acc-title{font-size:22px}.acc-cols{gap:12px}.acc-card{gap:12px;padding:14px}.acc-profile{text-align:left;flex-direction:row;gap:14px;padding:16px}.acc-big-avatar{width:58px;height:58px;font-size:23px}.acc-profile-text{align-items:flex-start}.acc-name{font-size:17px}.acc-pills{justify-content:flex-start}.acc-pill{padding:3px 8px;font-size:11px}.acc-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.acc-stat{border-radius:14px;padding:11px 12px}.acc-stat small{font-size:10px}.acc-stat b{font-size:21px}.acc-stat>span{font-size:11px}.acc-act-head>span{display:none}.acc-cal{grid-template-columns:22px repeat(8,minmax(0,26px));gap:5px}.acc-prog-row{grid-template-columns:minmax(0,1fr) auto;gap:6px 8px;font-size:12.5px}.acc-prog-bar{grid-area:2/1/auto/-1}.acc-recent-btn{grid-template-columns:minmax(0,1fr) auto;row-gap:2px}.acc-recent-btn small{grid-area:2/1}.acc-recent-btn .acc-chip{grid-area:1/2/span 2}}.app-header{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:10;display:flex;position:sticky;top:0}.app-brand-wrap{align-items:center;gap:var(--space-2);min-width:0;display:flex}.app-brand-logo{object-fit:contain;flex-shrink:0;width:28px;height:28px}.app-header .app-brand{white-space:nowrap;background-image:linear-gradient(90deg, var(--color-primary), #60a5fa, var(--color-primary-dark), var(--color-primary));color:#0000;background-size:300% 100%;-webkit-background-clip:text;background-clip:text;font-size:16px;font-weight:700;animation:8s ease-in-out infinite alternate app-brand-gradient-move}@keyframes app-brand-gradient-move{0%{background-position:0%}to{background-position:100%}}@media (prefers-reduced-motion:reduce){.app-header .app-brand{animation:none}}.app-tabs{margin-left:var(--space-5);flex:1;gap:4px;display:flex}.app-tabs button{padding:var(--space-2) var(--space-3);color:var(--color-text-muted);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;font-size:14px;font-weight:500;transition:color .15s,border-color .15s}.app-tabs button:hover{color:var(--color-primary-dark)}.app-tabs button.active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:600}.app-header-menu{position:relative}.app-menu-checkbox{display:none}.app-menu-toggle{cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:7px;width:30px;height:30px;transition-duration:.65s;display:flex;position:relative}.app-menu-bar{background-color:var(--color-primary);border-radius:4px;width:100%;height:3px;transition-duration:.65s}.app-menu-bar:nth-child(2){transition-duration:1s}.app-menu-bar:first-child,.app-menu-bar:nth-child(3){width:70%}.app-menu-checkbox:checked+.app-menu-toggle .app-menu-bar{transition-duration:.65s;position:absolute}.app-menu-checkbox:checked+.app-menu-toggle .app-menu-bar:nth-child(2){transition-duration:.65s;transform:scaleX(0)}.app-menu-checkbox:checked+.app-menu-toggle .app-menu-bar:first-child{width:100%;transition-duration:.65s;transform:rotate(45deg)}.app-menu-checkbox:checked+.app-menu-toggle .app-menu-bar:nth-child(3){width:100%;transition-duration:.65s;transform:rotate(-45deg)}.app-menu-checkbox:checked+.app-menu-toggle{transition-duration:.65s;transform:rotate(180deg)}.app-menu-panel{top:calc(100% + var(--space-2));gap:var(--space-1);width:260px;max-width:calc(100vw - var(--space-5) * 2);padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);box-sizing:border-box;z-index:20;flex-direction:column;display:flex;position:absolute;right:0}.app-menu-panel nav{gap:var(--space-1);flex-direction:column;display:flex}.app-menu-panel nav button{text-align:left;width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;background:0 0;border:1px solid #0000;font-size:14px;font-weight:500;transition:background .15s,color .15s}.app-menu-panel nav button:hover{background:var(--color-primary-light);color:var(--color-primary-dark)}.app-menu-panel nav button.active{background:var(--color-primary);color:#fff}.app-menu-divider{border-top:1px solid var(--color-border);margin:var(--space-2) 0;opacity:.6}.text-scale-control{border-radius:var(--radius-md);background:var(--color-bg);border:1px solid var(--color-border);align-items:center;gap:8px;padding:6px 10px;display:flex}.text-scale-icon{color:var(--color-text-muted);flex-shrink:0;font-weight:700;line-height:1}.text-scale-icon-sm{font-size:12px}.text-scale-icon-lg{font-size:20px}.text-scale-slider{appearance:none;cursor:pointer;border-radius:999px;flex:1;width:90px;height:4px}.text-scale-slider::-webkit-slider-thumb{appearance:none;background:var(--color-primary);border:2px solid var(--color-surface);width:16px;height:16px;box-shadow:var(--shadow-sm);cursor:pointer;border-radius:50%}.text-scale-slider::-moz-range-thumb{background:var(--color-primary);border:2px solid var(--color-surface);width:16px;height:16px;box-shadow:var(--shadow-sm);cursor:pointer;border-radius:50%}.text-scale-slider:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.text-scale-value{text-align:center;min-width:40px;color:var(--color-text-muted);flex-shrink:0;font-size:12px;font-weight:600}.app-menu-panel .logout-btn{width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-danger);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;font-size:14px;font-weight:500}.app-menu-panel .logout-btn:hover{background:var(--color-danger-bg)}.app-main{width:100%;max-width:var(--max-width);padding:var(--space-5) var(--space-5);box-sizing:border-box;flex:1;margin:0 auto}@media (width<=640px){.app-main{padding:var(--space-4) var(--space-3)}}@media (width<=767px){.app-header{row-gap:var(--space-2);flex-wrap:wrap;padding-bottom:0}.app-tabs{scrollbar-width:none;flex-basis:100%;order:3;margin-left:0;overflow-x:auto}.app-tabs::-webkit-scrollbar{display:none}.app-tabs button{flex-shrink:0}}
