:root{--color-primary: #2563eb;--color-primary-light: #3b82f6;--color-primary-dark: #1d4ed8;--color-primary-soft: #edf2fd;--color-accent-gold: #f59e0b;--color-ink: #1e293b;--color-muted: #64748b;--color-border: #e2e8f0;--color-bg: #f5f7fb;--shadow-xs: 0 1px 2px rgba(15, 23, 42, .06);--shadow-sm: 0 2px 6px rgba(15, 23, 42, .07), 0 1px 2px rgba(15, 23, 42, .05);--shadow-md: 0 8px 20px rgba(15, 23, 42, .09);--shadow-primary: 0 4px 14px rgba(37, 99, 235, .28)}.seo-pillar-page .page-hero{padding-bottom:1.5rem}.seo-primary-cta{display:inline-flex;align-items:center;gap:.35rem;color:#fff;background:linear-gradient(135deg,#2563eb,#4f46e5);border-radius:.75rem;padding:.75rem 1rem;font-weight:700;text-decoration:none;box-shadow:0 8px 18px #2563eb33}.seo-cluster-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.seo-cluster-card{position:relative;transition:transform .16s ease,box-shadow .16s ease}.seo-cluster-card{display:grid;grid-template-columns:1fr auto;gap:.25rem .65rem;padding:1rem;color:#172554;background:#fff;border:1px solid #dbeafe;border-radius:.9rem;text-decoration:none}.seo-cluster-card span{grid-column:1;color:#64748b;font-size:.9rem}.seo-cluster-card svg{grid-column:2;grid-row:1 / span 2;align-self:center;color:#2563eb}.seo-cluster-card:hover,.seo-primary-cta:hover{transform:translateY(-2px)}.seo-cluster-grid{display:block}.seo-cluster-card{display:grid;grid-template-columns:1fr auto;gap:.25rem .65rem;padding:.8rem 0;color:#24292f;background:transparent;border:0;border-bottom:1px solid #d0d7de;border-radius:0;box-shadow:none;text-decoration:none}.seo-cluster-card:hover{color:#0969da;transform:none}.cms-markdown-renderer{width:100%;max-width:none;box-sizing:border-box;color:#24292f;font-size:1rem;line-height:1.7}.cms-article-detail-card{width:100%;box-sizing:border-box;margin:0 0 1.5rem;padding:28px 32px;background:#fff;border:1px solid var(--color-border);border-radius:14px;box-shadow:var(--shadow-xs)}.cms-article-detail-hero{margin-top:24px}.static-article-content>h1{margin-top:24px}.cms-markdown-renderer h1,.cms-markdown-renderer h2,.cms-markdown-renderer h3,.cms-markdown-renderer h4,.cms-markdown-renderer h5,.cms-markdown-renderer h6{margin:1.5rem 0 .75rem;color:#1f2328;line-height:1.3}.cms-markdown-renderer h1{font-size:2rem}.cms-markdown-renderer h2{padding-bottom:.35rem;border-bottom:1px solid #d0d7de;font-size:1.45rem}.cms-markdown-renderer h3{font-size:1.2rem}.cms-markdown-renderer p{margin:0 0 1rem}.cms-markdown-renderer ul,.cms-markdown-renderer ol{padding-left:1.5rem}.cms-markdown-renderer li+li{margin-top:.35rem}.cms-markdown-renderer a{color:#0969da}.cms-markdown-renderer blockquote{margin:1rem 0;padding:.1rem 1rem;color:#57606a;border-left:3px solid #d0d7de}.cms-markdown-renderer hr{margin:1.5rem 0;border:0;border-top:1px solid #d8dee4}.cms-markdown-renderer code{padding:.15rem .3rem;background:#f6f8fa;border-radius:.3rem;font-size:.9em}.cms-markdown-renderer pre{overflow-x:auto;padding:1rem;background:#f6f8fa;border:1px solid #d0d7de;border-radius:.4rem}.cms-markdown-renderer pre code{padding:0;background:transparent}.cms-markdown-table-wrap{overflow-x:auto;margin:1rem 0}.cms-markdown-renderer table{width:100%;border-collapse:collapse}.cms-markdown-renderer th,.cms-markdown-renderer td{padding:.55rem .7rem;text-align:left;vertical-align:top;border:1px solid #d0d7de}.cms-markdown-renderer th{background:#f6f8fa;font-weight:700}.cms-markdown-renderer img{max-width:100%;height:auto}.cms-related-articles{width:100%;max-width:none;margin-top:2.5rem;padding-top:1.35rem;border-top:1px solid #d0d7de}.cms-related-articles h2{margin:0 0 .7rem;color:#1f2328;font-size:1.08rem}.cms-related-articles ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem .7rem}.cms-related-articles li{min-width:0}.cms-related-articles a{display:flex;align-items:center;gap:.45rem;padding:.35rem 0 .35rem .7rem;border-left:2px solid #bfd5ff;color:#245fcf;font-size:.94rem;font-weight:650;line-height:1.35;text-decoration:none;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.cms-related-articles a:before{content:"›";font-size:1.22rem;line-height:.8;color:#2563eb}.cms-related-articles a:hover{border-color:#2563eb;color:#123d94}.cms-related-articles a:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.cms-related-articles-directory{display:inline-flex;width:auto;margin-top:.85rem;padding-left:0!important;border-left:0!important;color:#475569!important;font-size:.88rem!important;font-weight:650!important}.cms-related-articles-directory:before{content:none!important}.cms-related-articles-directory:hover{color:#1d4ed8!important;text-decoration:underline}@media(max-width:640px){.cms-related-articles ul{grid-template-columns:1fr;gap:.25rem}}.cms-article-directory{width:100%}.cms-directory-search-external{display:flex;justify-content:flex-end;margin:0 0 .55rem}.seo-pillar-page>.cms-directory-search-external{margin-top:-8px}.seo-pillar-page>.page-hero{margin-top:16px;margin-bottom:0}.seo-pillar-page>.cms-article-detail-hero{margin-top:24px}.cms-article-directory-toolbar{display:flex;align-items:end;justify-content:flex-end;gap:.75rem;margin:0 0 1rem}.cms-article-directory-topic-filter{display:grid;gap:.3rem;width:min(220px,100%)}.cms-article-directory-field-label{color:#526581;font-size:.76rem;font-weight:700;letter-spacing:.01em}.cms-article-directory-topic-filter select{width:100%;min-height:38px;box-sizing:border-box;padding:0 .65rem;color:#243b5a;background:#fff;border:1px solid #d8e2f0;border-radius:9px;outline:0;font:inherit}.cms-article-directory-topic-filter select:focus{border-color:#4d82e8;box-shadow:0 0 0 3px #4d82e824}.cms-article-directory-search{width:min(330px,100%);background:#fff;border:1px solid #d8e2f0;border-radius:9px;box-shadow:0 4px 14px #2c56910f;transition:border-color .16s ease,box-shadow .16s ease}.cms-article-directory-search:focus-within{border-color:#4d82e8;box-shadow:0 0 0 3px #4d82e824}.cms-article-directory-search table{width:100%;border-collapse:collapse}.cms-article-directory-search td{padding:0}.cms-article-directory-search .gsib_a{display:flex;align-items:center;gap:.5rem;min-height:38px;padding:0 .7rem;color:#6b83a6}.cms-article-directory-search .gsc-input{width:100%;min-height:36px;box-sizing:border-box;color:#243b5a;background:transparent;border:0;outline:0;font:inherit;font-weight:400}.cms-article-directory-search .gsc-input::placeholder{color:#9aabc2}.cms-article-directory-search .gsib_b{width:34px}.cms-article-directory-search .gsst_b{display:flex;align-items:center;justify-content:center;min-height:38px}.cms-article-directory-search .gsst_a{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;color:#7890ad;background:transparent;border:0;border-radius:50%;cursor:pointer;font:inherit}.cms-article-directory-search .gsst_a:hover{color:#2457b8;background:#edf4ff}.cms-article-directory-search .gscb_a{font-size:1.35rem;line-height:1}.cms-article-directory-count{margin:.85rem 0 0;color:#57606a;font-size:.85rem}.cms-article-directory-list{margin:0;padding:0;list-style:none}.cms-article-directory-list li{display:grid;grid-template-columns:220px minmax(0,1fr);align-items:center;gap:1.1rem;border-bottom:1px solid #d0d7de}.cms-article-directory-list li.without-thumbnail .cms-article-directory-body{grid-column:1 / -1}.cms-article-directory-image-link{display:block;width:220px}.cms-article-directory-body{min-width:0;padding:1rem 0}.cms-article-directory-thumbnail{display:block;width:220px;aspect-ratio:16 / 9;height:auto;border-radius:8px;object-fit:cover}.cms-article-directory-title-link{display:block;color:#24292f;text-decoration:none}.cms-article-directory-title-link strong{display:block;color:#1f4f96;font-size:1.05rem;line-height:1.4}.cms-article-directory-title-link:hover strong{color:#0969da}.cms-article-directory-body time{display:block;margin-top:.3rem;color:#8c959f;font-size:.78rem}.cms-article-directory-body span{display:-webkit-box;overflow:hidden;margin-top:.45rem;color:#57606a;font-size:.9rem;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:3}.cms-article-directory-pagination{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:1rem;color:#57606a;font-size:.85rem}.cms-article-directory-pagination button{padding:.4rem .7rem;color:#0969da;background:#fff;border:1px solid #d0d7de;border-radius:.4rem;cursor:pointer}.cms-article-directory-pagination button:disabled{color:#8c959f;cursor:not-allowed;opacity:.7}.cms-block-renderer{display:grid;gap:1rem}.cms-block{margin:0}.cms-block-cta{display:flex;justify-content:flex-start}.cms-block-cta .seo-primary-cta{margin-top:0}.cms-faq-list{display:grid;gap:.65rem}.cms-faq-list details{padding:.9rem 1rem;background:#fff;border:1px solid #dbeafe;border-radius:.8rem}.cms-faq-list summary{color:#172554;font-weight:700;cursor:pointer}.cms-faq-list p{margin:.7rem 0 0;color:#475569}.cms-block-editor{margin:1.25rem 0;padding:1rem;background:#f8fafc;border:1px solid #dbeafe;border-radius:.9rem}.cms-block-editor--legacy{display:none}.cms-markdown-editor{margin:1.25rem 0;padding:0;background:transparent;border:0;border-radius:0}.cms-markdown-editor .cms-block-editor-heading span{color:#64748b;font-size:.82rem}.cms-markdown-textarea{width:100%!important;max-width:none!important;min-height:300px;box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;line-height:1.6;resize:vertical}.cms-markdown-preview{margin-top:1rem;padding-top:1rem;border-top:1px solid #dbeafe}.cms-convert-markdown-button{display:block;margin:.5rem 0 .75rem;padding:.5rem .75rem;color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:.55rem;cursor:pointer}.cms-block-editor-heading,.cms-block-editor-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.cms-block-editor-heading{margin-bottom:.75rem}.cms-block-editor-card{margin-top:.75rem;padding:.85rem;background:#fff;border:1px solid #e2e8f0;border-radius:.75rem}.cms-block-editor-card input,.cms-block-editor-card textarea,.cms-block-editor-card select{max-width:none}.cms-block-editor-card button{white-space:nowrap}@media(max-width:640px){.seo-cluster-grid{grid-template-columns:1fr}.cms-block-editor-row{align-items:stretch;flex-direction:column}}body{font-family:Be Vietnam Pro,system-ui,sans-serif;margin:0;background:var(--color-bg);color:var(--color-ink)}html{scrollbar-width:thin;scrollbar-color:#ccc transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}*::-webkit-scrollbar-button,*::-webkit-scrollbar-button:single-button,*::-webkit-scrollbar-button:double-button,*::-webkit-scrollbar-button:vertical:start,*::-webkit-scrollbar-button:vertical:end,*::-webkit-scrollbar-button:vertical:increment,*::-webkit-scrollbar-button:vertical:decrement,*::-webkit-scrollbar-button:horizontal:start,*::-webkit-scrollbar-button:horizontal:end{display:none!important;width:0!important;height:0!important;background:transparent!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button,input,select,textarea{font-family:inherit}h1,h2,h3,h4,h5,h6{font-family:Be Vietnam Pro,system-ui,sans-serif;font-weight:700}.page{max-width:720px;margin:0 auto;padding:24px 16px 64px}.maintenance-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--color-bg)}.maintenance-gate-loading{min-height:100vh;min-height:100dvh;background:var(--color-bg)}#root[data-prerendered=landing]{visibility:hidden}.maintenance-card{max-width:460px;width:100%;text-align:center;background:#fff;border:1px solid var(--color-border);border-radius:20px;padding:44px 36px;box-shadow:var(--shadow-md)}.maintenance-illustration{width:120px;height:120px;margin-bottom:20px;animation:maintenance-gear-spin 6s linear infinite}@keyframes maintenance-gear-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.maintenance-card h1{margin:0 0 8px;font-size:1.4rem}.maintenance-subtitle{margin:0 0 20px;color:var(--color-muted)}.maintenance-message{background:var(--color-primary-soft);color:var(--color-primary-dark);border-radius:10px;padding:14px 16px;margin:0 0 24px;font-weight:600;line-height:1.5}.maintenance-contact{margin:20px 0 0;color:var(--color-muted);font-size:.88rem}.app-shell{display:flex;height:100vh;height:100dvh}.sidebar{width:240px;flex-shrink:0;background:#fff;color:#444;border-right:1px solid var(--color-border);display:flex;flex-direction:column;padding:20px 0;min-height:0;overflow-y:auto;position:sticky;top:0}.sidebar-brand{display:flex;align-items:center;gap:8px;font-family:Be Vietnam Pro,system-ui,sans-serif;font-weight:800;font-size:1.1rem;color:var(--color-primary);text-decoration:none;padding:0 20px 16px;border-bottom:1px solid var(--color-border)}.sidebar-brand:hover{color:var(--color-primary-dark)}.sidebar-brand-logo{width:26px;height:26px;flex-shrink:0;border-radius:7px}.sidebar-user{padding:16px 20px;border-bottom:1px solid var(--color-border)}.sidebar-user-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.sidebar-user-info{min-width:0}.sidebar-user-name{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;color:#222}.sidebar-user-badges{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.sidebar-user-coin{display:inline-flex;align-items:center;gap:4px;margin-top:8px;background:#fff3cd;color:#8a6300;font-weight:700;font-size:.85rem;padding:3px 10px;border-radius:999px}.sidebar-user-coin--balance{background:#e0f2fe;color:#075985}.sidebar-topup-btn{display:inline-flex;align-items:center;gap:4px;margin-top:8px;padding:3px 10px;border:1px solid #f59e0b;border-radius:999px;background:#fffbeb;color:#b45309;font-family:inherit;font-weight:700;font-size:.85rem;line-height:1;cursor:pointer;transition:background .15s,box-shadow .15s}.sidebar-topup-btn:hover{background:#fef3c7;box-shadow:0 2px 8px #f59e0b4d}.sidebar-user-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.sidebar-icon-btn{width:30px;height:30px;flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--color-border);border-radius:50%;background:#fff;font-size:.95rem;line-height:1}.sidebar-icon-btn:hover{background:var(--color-primary-soft);border-color:var(--color-primary-soft)}.sidebar-lang-popover{position:relative}.sidebar-lang-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:25;background:#fff;border:1px solid var(--color-border);border-radius:10px;box-shadow:0 8px 24px #0000001a;padding:6px;width:max-content;min-width:130px;display:flex;flex-direction:column}.sidebar-lang-option{display:flex;align-items:center;gap:6px;border:none;background:transparent;text-align:left;padding:7px 10px;border-radius:6px;font-size:.85rem;color:#444}.sidebar-lang-option:hover{background:var(--color-primary-soft)}.sidebar-lang-option.active{color:var(--color-primary);font-weight:600}.sidebar-lang-check{display:inline-block;width:12px;flex-shrink:0;font-size:.75rem}.sidebar-nav{flex:1;display:flex;flex-direction:column;padding:12px 0}.sidebar-link{display:flex;align-items:center;gap:10px;margin:2px 12px;padding:10px 14px;border-radius:10px;color:#55606e;text-decoration:none;font-size:.95rem;font-weight:600;transition:background .15s,color .15s}.sidebar-link-icon{width:20px;flex-shrink:0;text-align:center;font-size:1rem;line-height:1}.sidebar-link:hover{background:var(--color-primary-soft);color:var(--color-primary)}.sidebar-link.active{background:var(--color-primary);color:#fff;font-weight:700;box-shadow:var(--shadow-primary)}.sidebar-link--attention{box-shadow:inset 0 0 0 1.5px #f59e0b99;color:#8a6300}.sidebar-link--attention:hover{background:#fffbeb;color:#b45309}.sidebar-link-badge{display:inline-flex;align-items:center;gap:4px;margin-left:auto;padding:2px 8px;border-radius:999px;background:#f59e0b;color:#fff;font-size:.72rem;font-weight:700;white-space:nowrap}.sidebar-footer{padding:16px 20px 0;border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:10px}.app-content{flex:1;display:flex;flex-direction:column;padding:28px 32px;min-height:0;overflow-y:auto;box-sizing:border-box}.app-content-inner{flex:1 0 auto;width:100%;max-width:960px;margin:0 auto;box-sizing:border-box}.admin-content-inner{width:100%;max-width:none;margin-left:0;margin-right:0;box-sizing:border-box}.dashboard-hero{position:relative;overflow:hidden;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(135deg,var(--color-primary-light) 0%,var(--color-primary-dark) 100%);border-radius:20px;padding:32px 32px 44px;color:#fff;box-shadow:var(--shadow-md)}.dashboard-hero:before,.dashboard-hero:after{content:"";position:absolute;border-radius:50%;background:#ffffff1a;pointer-events:none}.dashboard-hero:before{width:280px;height:280px;top:-140px;right:-60px}.dashboard-hero:after{width:160px;height:160px;bottom:-90px;right:140px;background:#ffffff12}.dashboard-hero-text{position:relative;max-width:480px}.dashboard-hero-text h1{color:#fff;margin:0 0 6px}.dashboard-hero-sub{margin:0;color:#ffffffd9;font-size:.98rem}.dashboard-hero-cta{position:relative;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.dashboard-hero-btn{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--color-primary-dark);border:none;font-size:1.05rem;font-weight:700;padding:13px 30px;border-radius:10px;white-space:nowrap;box-shadow:0 4px 14px #0000002e}.dashboard-hero-btn:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 6px 18px #00000038}.dashboard-cards{display:flex;flex-wrap:wrap;gap:16px;margin:16px 0}.admin-dashboard .admin-stat-grid,.admin-exam-feedback .admin-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0 28px}.admin-dashboard .admin-stat-card,.admin-exam-feedback .admin-stat-card{position:relative;min-height:132px;box-sizing:border-box;overflow:hidden;padding:18px 18px 16px;border:1px solid #dce5f2;border-left:0;border-radius:16px;background:#fff;box-shadow:0 8px 22px #16345f12;text-align:left}.admin-dashboard .admin-stat-card:after,.admin-exam-feedback .admin-stat-card:after{position:absolute;right:-28px;bottom:-34px;width:104px;height:104px;border-radius:50%;background:var(--admin-stat-soft, #eef4ff);content:"";opacity:.8}.admin-dashboard .admin-stat-card--blue,.admin-exam-feedback .admin-stat-card--blue{--admin-stat-accent: #2563eb;--admin-stat-soft: #eaf1ff}.admin-dashboard .admin-stat-card--violet,.admin-exam-feedback .admin-stat-card--violet{--admin-stat-accent: #7c3aed;--admin-stat-soft: #f1eaff}.admin-dashboard .admin-stat-card--slate,.admin-exam-feedback .admin-stat-card--slate{--admin-stat-accent: #64748b;--admin-stat-soft: #eef2f7}.admin-dashboard .admin-stat-card--amber,.admin-exam-feedback .admin-stat-card--amber{--admin-stat-accent: #d97706;--admin-stat-soft: #fff4dc}.admin-dashboard .admin-stat-card--green,.admin-exam-feedback .admin-stat-card--green{--admin-stat-accent: #16a34a;--admin-stat-soft: #e9f8ef}.admin-dashboard .admin-stat-card--indigo,.admin-exam-feedback .admin-stat-card--indigo{--admin-stat-accent: #4f46e5;--admin-stat-soft: #eef0ff}.admin-dashboard .admin-stat-card--gold,.admin-exam-feedback .admin-stat-card--gold{--admin-stat-accent: #b7791f;--admin-stat-soft: #fff5d9}.admin-dashboard .admin-stat-card--cyan,.admin-exam-feedback .admin-stat-card--cyan{--admin-stat-accent: #0891b2;--admin-stat-soft: #e5f8fc}.admin-dashboard .admin-stat-icon,.admin-exam-feedback .admin-stat-icon{position:relative;z-index:1;display:grid;width:34px;height:34px;margin-bottom:10px;place-items:center;border-radius:10px;background:var(--admin-stat-soft);color:var(--admin-stat-accent)}.admin-dashboard .admin-stat-card .dash-card-label,.admin-dashboard .admin-stat-card .dash-card-value,.admin-dashboard .admin-stat-card .dash-card-sub,.admin-exam-feedback .admin-stat-card .dash-card-label,.admin-exam-feedback .admin-stat-card .dash-card-value,.admin-exam-feedback .admin-stat-card .dash-card-sub{position:relative;z-index:1}.admin-dashboard .admin-stat-card .dash-card-label,.admin-exam-feedback .admin-stat-card .dash-card-label{color:#60708a;font-size:.79rem;font-weight:700}.admin-dashboard .admin-stat-card .dash-card-value,.admin-exam-feedback .admin-stat-card .dash-card-value{margin-top:3px;color:#152b4b;font-size:clamp(1.65rem,2.4vw,2.15rem);line-height:1.05}.admin-dashboard .admin-stat-card .dash-card-sub,.admin-exam-feedback .admin-stat-card .dash-card-sub{margin-top:5px;color:#7b8ba4;font-size:.77rem}.admin-dashboard .admin-stat-card--cyan,.admin-exam-feedback .admin-stat-card--cyan{border-color:#bdebf3;background:linear-gradient(145deg,#fff,#f4fcfe)}@media(max-width:1020px){.admin-dashboard .admin-stat-grid,.admin-exam-feedback .admin-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:640px){.admin-dashboard .admin-stat-grid,.admin-exam-feedback .admin-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:16px}.admin-dashboard .admin-stat-card,.admin-exam-feedback .admin-stat-card{min-height:128px;padding:14px 13px;border-radius:14px}.admin-dashboard .admin-stat-icon,.admin-exam-feedback .admin-stat-icon{width:30px;height:30px;margin-bottom:8px}.admin-dashboard .admin-stat-card .dash-card-label,.admin-exam-feedback .admin-stat-card .dash-card-label{font-size:.72rem;line-height:1.25}.admin-dashboard .admin-stat-card .dash-card-value,.admin-exam-feedback .admin-stat-card .dash-card-value{font-size:1.65rem}.admin-dashboard .admin-stat-card .dash-card-sub,.admin-exam-feedback .admin-stat-card .dash-card-sub{font-size:.68rem;line-height:1.25}}.dashboard-stats-overlap{margin-top:-24px;position:relative;z-index:1}.dash-card{background:#fff;border:1px solid var(--color-border);border-radius:14px;padding:18px 22px;min-width:170px;box-shadow:var(--shadow-xs);text-align:center}.dash-card--accent-gold,.dash-card--accent-blue{display:flex;align-items:center;justify-content:center;gap:14px;min-width:200px;flex:1;transition:box-shadow .15s,transform .15s}.dash-card--accent-gold:hover,.dash-card--accent-blue:hover{box-shadow:var(--shadow-sm);transform:translateY(-1px)}.dash-card-icon{width:44px;height:44px;flex-shrink:0;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.3rem}.dash-card--accent-gold .dash-card-icon{background:#fff3cd}.dash-card--accent-blue .dash-card-icon{background:var(--color-primary-soft)}.dash-card-body{min-width:0}.dash-card-label{display:flex;align-items:center;gap:6px;color:var(--color-muted);font-size:.85rem;font-weight:600}.dash-card-value{font-family:Be Vietnam Pro,system-ui,sans-serif;font-size:1.8rem;font-weight:700;margin:4px 0}.dash-card-sub{color:var(--color-muted);font-size:.8rem}.dashboard-history-card{background:#fff;border:1px solid var(--color-border);border-radius:14px;padding:24px 28px;margin:20px 0;box-shadow:var(--shadow-xs)}.dashboard-history-card h2{display:flex;align-items:center;gap:8px;margin:0 0 16px;font-size:1.15rem}@media(max-width:640px){.dashboard-hero{flex-direction:column;align-items:flex-start;padding:24px 24px 40px}.dashboard-hero-cta{align-items:flex-start;width:100%}}.table-scroll{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:12px;box-shadow:var(--shadow-xs)}.history-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--color-border);border-radius:12px}.history-table th,.history-table td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--color-border);font-size:.9rem}.dashboard-history-card .history-table th,.dashboard-history-card .history-table td{text-align:center}.dashboard-history-card .dashboard-history-row{cursor:pointer;transition:background-color .16s ease,color .16s ease}.dashboard-history-card .dashboard-history-row:hover td,.dashboard-history-card .dashboard-history-row:focus-visible td{background:#eff6ff}.dashboard-history-card .dashboard-history-row:active td{background:#dbeafe}.dashboard-history-card .dashboard-history-row:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.dashboard-history-card .dashboard-history-row td:first-child{font-weight:600}.admin-contact-messages .history-table{table-layout:fixed}.admin-contact-messages .history-table th:nth-child(1),.admin-contact-messages .history-table td:nth-child(1){width:22%}.admin-contact-messages .history-table th:nth-child(2),.admin-contact-messages .history-table td:nth-child(2){width:18%}.admin-contact-messages .history-table th:nth-child(3),.admin-contact-messages .history-table td:nth-child(3){width:60%;white-space:normal;word-break:break-word}.history-table thead th{background:#f8fafc;color:var(--color-muted);font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700}.history-table tbody tr:last-child td{border-bottom:none}.history-table tbody tr:hover{background:#f8fafc}.muted{color:var(--color-muted)}.package-grid{display:flex;flex-wrap:nowrap;gap:16px}@media(max-width:640px){.package-grid{flex-wrap:wrap}.package-card{box-sizing:border-box;flex:1 1 calc(50% - 8px);min-width:calc(50% - 8px)}}.payos-modal-card{max-width:700px;position:relative;max-height:90vh;overflow-y:auto}.payos-payment-header{padding:0 34px 18px 0;border-bottom:1px solid #e7edf7}.payos-payment-brand{display:flex;align-items:center;gap:8px;color:var(--color-primary);font-size:.95rem}.payos-payment-brand-mark{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--color-primary-soft)}.payos-payment-state{display:inline-block;margin-top:13px;padding:4px 9px;border-radius:999px;background:#fff4d6;color:#9a6700;font-size:.72rem;font-weight:700}.payos-payment-header h2{margin:12px 0 2px;color:var(--color-ink);font-size:1.18rem}.payos-payment-header p{margin:0;color:var(--color-muted);font-size:.78rem}.payos-payment-layout{display:grid;grid-template-columns:minmax(210px,.85fr) minmax(0,1.15fr);gap:22px;padding-top:20px}.payos-qr-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px;border-radius:14px;background:#f7faff;border:1px solid #e2ebfb}.payos-payment-branding{width:100%;display:flex;flex-direction:column;align-items:center;margin-bottom:7px}.payos-vietqr-logo{display:block;width:min(100%,232px);height:auto}.payos-trust-logos{display:flex;align-items:center;justify-content:center;gap:12px;min-height:28px;margin-top:3px}.payos-trust-logos img{display:block;width:auto;height:24px}.payos-trust-logos span{width:1px;height:25px;background:#a9b8ca}.payos-bank-info{display:flex;align-items:center;margin:2px 0 8px;padding:2px 0 7px;border-bottom:1px solid #eef2f7}.payos-bank-info-logo{display:flex;justify-content:center;flex:0 0 30px;margin-right:11px}.payos-bank-info-logo img{display:block;width:30px;height:30px;border-radius:999px;object-fit:cover}.payos-bank-info p{margin:0;color:var(--color-muted);font-size:.76rem;line-height:1.35}.payos-bank-info p.font-bold{color:#111827;font-weight:800}.payos-qr-label{align-self:flex-start;color:var(--color-muted);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.payos-details-heading{padding:0 0 8px;color:var(--color-ink);font-size:.88rem;font-weight:800}.payos-modal-close-x{position:absolute;top:12px;right:12px;background:none;border:none;font-size:1.1rem;line-height:1;cursor:pointer;color:var(--color-muted);padding:4px}.payos-modal-close-x:hover{color:var(--color-ink)}.payos-panel-status{margin:0 0 12px;font-weight:600}.payos-panel-status--success{color:#16a34a}.payos-panel-status--error{color:#dc2626}.payos-transfer-heading{display:flex;align-items:flex-start;gap:10px;padding:4px 30px 14px 0;color:var(--color-ink)}.payos-transfer-heading svg{flex:0 0 auto;color:var(--color-primary);margin-top:2px}.payos-transfer-heading strong{display:block;font-size:1rem}.payos-transfer-heading p{margin:3px 0 0;color:var(--color-muted);font-size:.84rem;font-weight:500}.payos-transfer-qr{display:grid;place-items:center;padding:12px;margin:0 auto 14px;width:min(100%,238px);background:linear-gradient(145deg,#fff,#f4f8ff);border:1px solid #d9e6ff;border-radius:18px}.payos-transfer-qr svg{width:100%;height:auto}.payos-download-qr{display:flex;align-items:center;justify-content:center;gap:7px;width:min(100%,238px);margin:-3px auto 16px;padding:8px 12px;border:1px solid #cfe0ff;border-radius:10px;background:#f7faff;color:var(--color-primary);font:inherit;font-size:.82rem;font-weight:700;cursor:pointer}.payos-download-qr:hover{border-color:#9fc0ff;background:#edf4ff}.payos-download-qr:focus-visible{outline:3px solid rgba(37,99,235,.28);outline-offset:2px}.payos-transfer-details{min-width:0;padding:12px 14px 4px;border:1px solid #e7edf7;border-radius:14px;background:#fff}.payos-transfer-detail{display:grid;grid-template-columns:minmax(106px,.75fr) minmax(0,1.25fr);gap:12px;padding:10px 0;border-bottom:1px solid #eef2f7}.payos-transfer-detail>div{display:flex;align-items:center;gap:7px;min-width:0}.payos-bank-mark{width:27px;height:27px;flex:0 0 27px;object-fit:contain}.payos-transfer-detail>span{color:var(--color-muted);font-size:.82rem}.payos-transfer-detail>div{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.payos-transfer-detail strong{overflow-wrap:anywhere;color:var(--color-ink);font-size:.9rem;text-align:right}.payos-transfer-detail--emphasize strong{color:var(--color-primary);font-weight:800}.payos-transfer-detail button{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;padding:5px 7px;border:0;border-radius:7px;background:#e9f7f0;color:#147a4a;font:inherit;font-size:.72rem;font-weight:700;cursor:pointer}.payos-transfer-detail button:hover{background:#d8f1e4}.payos-transfer-note{display:flex;align-items:flex-start;gap:7px;margin:14px 0 0;padding:10px 11px;border-radius:10px;background:#fff4f3;color:#a83b35;font-size:.78rem;line-height:1.45}.payos-transfer-note svg{flex:0 0 auto;margin-top:1px}.payos-open-checkout-btn{display:inline-block;padding:10px 20px;border-radius:8px;background:var(--color-primary);color:#fff;font-weight:600;text-decoration:none;text-align:center}.payos-open-checkout-btn:hover{filter:brightness(.95)}.payos-panel-hint{margin:12px 0 0;font-size:.85rem;color:var(--color-muted)}.payos-panel-close{display:block;width:auto;min-width:92px;margin:14px auto 0;padding:9px 18px;border:1px solid #d7e0ee;border-radius:9px;background:#fff;color:#25324a;font-weight:700;line-height:1.2;cursor:pointer;transition:border-color .16s ease,background-color .16s ease,transform .16s ease}.payos-panel-close:hover{border-color:#8fb2ee;background:#f5f8ff;transform:translateY(-1px)}.payos-panel-close:focus-visible{outline:3px solid rgba(37,99,235,.24);outline-offset:2px}.payos-success-state{display:flex;align-items:center;gap:12px;min-height:72px;padding:14px 16px;border:1px solid #ccebd8;border-radius:13px;background:#f1fbf5}.payos-success-icon{display:grid;flex:0 0 44px;width:44px;height:44px;place-items:center;border-radius:50%;background:#d6f4df;color:#168044}.payos-success-state .payos-panel-status{margin:0;color:#176b3c;font-size:.94rem;line-height:1.45}@media(max-width:640px){.payos-modal-card{max-width:min(94vw,380px);max-height:calc(100dvh - 20px);padding:14px 14px 12px;border-radius:16px}.payos-payment-header{padding-bottom:10px}.payos-payment-state{margin-top:8px}.payos-payment-header h2{margin-top:8px;font-size:1rem}.payos-payment-layout{grid-template-columns:1fr;gap:12px;padding-top:12px}.payos-qr-panel{padding:9px}.payos-vietqr-logo{width:min(100%,190px)}.payos-trust-logos{gap:9px;margin-top:1px}.payos-trust-logos img{height:20px}.payos-trust-logos span{height:21px}.payos-bank-info{margin-bottom:5px;padding-bottom:5px}.payos-bank-info p{font-size:.7rem}.payos-qr-label{align-self:center}.payos-transfer-details{padding:8px 11px 2px}.payos-transfer-heading{gap:7px;padding:0 26px 8px 0}.payos-transfer-heading strong{font-size:.9rem}.payos-transfer-heading p{margin-top:1px;font-size:.74rem;line-height:1.35}.payos-transfer-qr{width:154px;padding:7px;margin-bottom:8px;border-radius:13px}.payos-download-qr{width:154px;gap:5px;margin:-2px auto 9px;padding:6px 8px;font-size:.72rem}.payos-transfer-detail{grid-template-columns:92px minmax(0,1fr);gap:8px;padding:6px 0}.payos-transfer-detail>span{align-self:center;font-size:.75rem}.payos-transfer-detail>div{gap:6px;justify-content:flex-end}.payos-transfer-detail strong{font-size:.8rem;text-align:right}.payos-transfer-detail button{padding:4px 6px;font-size:.66rem}.payos-transfer-note{gap:5px;margin-top:8px;padding:7px 8px;border-radius:8px;font-size:.69rem;line-height:1.35}}@media(max-width:640px)and (max-height:640px){.payos-modal-card{padding:10px 12px}.payos-transfer-heading{padding-bottom:5px}.payos-transfer-qr{width:126px;padding:5px;margin-bottom:6px}.payos-download-qr{width:126px;margin-bottom:6px}.payos-transfer-detail{padding:4px 0}.payos-transfer-note{display:none}}.exam-feedback-modal-card{max-width:520px;position:relative;max-height:90vh;overflow-y:auto}.exam-feedback-question{margin-bottom:16px}.exam-feedback-subfield{margin-top:-8px}.contribute-exam-date-input{max-width:220px}.exam-feedback-text-input{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--color-border);border-radius:8px;font-family:inherit;font-size:.95rem}.exam-feedback-textarea{width:100%;min-height:80px;box-sizing:border-box;padding:10px 12px;border:1px solid var(--color-border);border-radius:8px;font-family:inherit;font-size:.95rem;resize:vertical}.exam-feedback-actions{margin-top:8px;text-align:center}.package-card{position:relative;overflow:hidden;background:#fff;border:1px solid var(--color-border);border-radius:14px;padding:22px 22px 18px;flex:1 1 190px;min-width:0;text-align:center;box-shadow:var(--shadow-xs);transition:box-shadow .15s,transform .15s,border-color .15s}.package-card:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:var(--card-accent, var(--color-primary))}.package-card:hover{border-color:var(--card-accent, var(--color-primary-light));box-shadow:var(--shadow-md);transform:translateY(-2px)}.package-card button{width:100%;white-space:normal}.package-name{font-size:1rem;font-weight:700;color:var(--color-ink)}.package-coin{display:inline-block;font-family:Be Vietnam Pro,system-ui,sans-serif;font-size:1.4rem;font-weight:700;color:var(--card-accent, var(--color-ink));background:var(--card-accent-soft, transparent);padding:2px 12px;border-radius:999px;margin:8px 0 4px}.package-price{color:#444;font-size:.95rem;font-weight:600;margin-bottom:12px}.payment-packages-heading{font-size:1.2rem;margin:24px 0 12px}.no-copy{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.no-copy input,.no-copy textarea,.no-copy [contenteditable=true],.no-copy .copy-ok,.no-copy .copy-ok *{-webkit-user-select:text;user-select:text}audio{-webkit-user-select:none;user-select:none}.coin-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:20px 0}.coin-info-card{background:#fff;border:1px solid var(--color-border);border-radius:14px;padding:22px 20px;text-align:center;box-shadow:var(--shadow-xs)}.coin-info-value{font-family:Be Vietnam Pro,system-ui,sans-serif;font-size:1.6rem;font-weight:800;color:var(--color-primary-dark)}.coin-info-label{margin:6px 0 0;color:var(--color-muted);font-size:.9rem;line-height:1.4}.coin-pricing-section{padding-bottom:18px}.coin-pricing-section .coin-info-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:900px;margin:18px auto}.coin-pricing-section .coin-info-card{min-height:112px;padding:16px 18px;display:flex;flex-direction:column;align-items:center;justify-content:center}.coin-pricing-section .wizard-info-banner{margin:14px auto 0;padding:10px 18px}@media(max-width:760px){.coin-pricing-section .coin-info-grid{grid-template-columns:1fr;max-width:420px}}@media(max-width:640px){.app-shell{flex-direction:column;height:auto;min-height:100dvh}.sidebar{width:100%;height:auto;overflow-y:visible;position:relative}.app-content{height:auto;overflow-y:visible}.sidebar-icon-btn,.replay-icon-btn{width:40px;height:40px}.sidebar-user-row .sidebar-lang-popover{position:absolute;top:14px;right:16px}.sidebar-user-actions{justify-content:flex-end}}fieldset{margin-bottom:16px;border:1px solid #ddd;border-radius:8px;padding:12px}fieldset label{display:block;padding:4px 0}.pretest-settings-card{background:#fff;border:1px solid var(--wizard-card-border);border-radius:14px;padding:20px 24px 8px;margin:16px 0 24px;box-shadow:var(--shadow-xs)}.pretest-settings-title{margin:0 0 16px;font-size:1.05rem}.pretest-option-row{margin-bottom:20px}.pretest-option-title{font-weight:700;margin-bottom:10px}.welcome-lang-picker{max-width:360px;margin:20px auto;text-align:center}.welcome-language-emphasis{display:inline-block;margin:0 3px;padding:2px 8px;border-radius:999px;background:var(--color-primary-soft);color:var(--color-primary-dark);font-weight:800}.pretest-lang-options{display:flex;flex-wrap:wrap;gap:10px}.pretest-lang-chip{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:12px 16px;border:1px solid var(--wizard-card-border);border-radius:10px;font-weight:600;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.pretest-lang-chip:hover{border-color:var(--wizard-accent)}.pretest-lang-chip.selected{border-color:var(--wizard-accent);background:var(--color-primary-soft);color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-soft)}.pretest-lang-chip.disabled{opacity:.55;cursor:not-allowed}.pretest-lang-chip.disabled:hover{border-color:var(--wizard-card-border)}.pretest-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;margin:0 0 10px;border-radius:10px;cursor:pointer;transition:background .15s}.pretest-toggle-row:hover{background:var(--color-bg)}.pretest-toggle-row.active{background:var(--color-primary-soft)}.pretest-toggle-row-text{font-size:.95rem;color:#333}.pretest-addon-cost{font-weight:600;color:var(--color-primary)}.toggle-switch{position:relative;display:inline-block;width:40px;height:22px;flex-shrink:0}.toggle-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.toggle-switch-track{position:absolute;top:0;right:0;bottom:0;left:0;background:#ccc;border-radius:999px;transition:background .2s;pointer-events:none}.toggle-switch-track:before{content:"";position:absolute;width:18px;height:18px;left:2px;top:2px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #00000040;transition:transform .2s}.toggle-switch input:checked+.toggle-switch-track{background:var(--wizard-accent)}.toggle-switch input:checked+.toggle-switch-track:before{transform:translate(18px)}.toggle-switch input:disabled+.toggle-switch-track{opacity:.5;cursor:not-allowed}.survey-nav{display:flex;gap:8px;margin-top:16px}.level-list{display:flex;flex-direction:column;gap:12px}.level-option{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--wizard-card-border);border-radius:10px;padding:11px 18px;box-sizing:border-box;cursor:pointer;transition:box-shadow .15s,border-color .15s;position:relative}.level-option:hover{box-shadow:0 2px 8px #00000014;border-color:var(--level-color, var(--wizard-accent))}.level-option.selected{border-color:var(--level-color, var(--wizard-accent));box-shadow:0 0 0 2px var(--level-color-soft, var(--color-primary-soft))}.level-option-num{width:26px;height:26px;flex-shrink:0;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--color-primary-soft);color:var(--color-primary);font-weight:700;font-size:.85rem;margin-top:1px;transition:background .15s,color .15s}.level-option.selected .level-option-num{background:var(--level-color, var(--wizard-accent));color:#fff}.level-option-desc{line-height:1.65;font-size:.92rem;color:#333}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;padding:20px;z-index:100}.modal-card{background:#fff;border-radius:14px;padding:28px 26px;max-width:420px;width:100%;box-shadow:0 20px 60px #00000040}.modal-card h3{margin:0 0 12px}.modal-card p{margin:0 0 20px;line-height:1.6;color:#444}:root{--wizard-accent: var(--color-primary);--wizard-accent-soft: var(--color-primary-soft);--wizard-cta: var(--color-primary);--wizard-cta-hover: var(--color-primary-dark);--wizard-card-border: var(--color-border)}.wizard-page{max-width:720px;margin:0 auto;height:100vh;height:100dvh;display:flex;flex-direction:column;padding:0 16px;box-sizing:border-box}.wizard-page--wide{max-width:none;width:70%;margin:0 auto}@media(max-width:700px){.wizard-page--wide{width:auto;margin:0}}.wizard-sticky-header{flex-shrink:0;padding-top:20px;background:var(--color-bg)}.wizard-header-info{padding-bottom:16px;margin-top:8px}.wizard-header-info h1{margin:0 0 8px}.wizard-header-info p{margin:0}.wizard-header-info .option-group-part-label{margin-top:12px}.wizard-scroll-content{flex:1;min-height:0;overflow-y:auto;padding-bottom:24px}.wizard-content-card{background:#fff;border:1px solid var(--wizard-card-border);border-radius:14px;padding:24px 28px;margin:16px 0;box-shadow:var(--shadow-xs)}.steps-bar{margin-bottom:20px}.steps-bar-track{display:grid;grid-template-columns:repeat(5,1fr);align-items:center}.steps-bar-track-cell{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.steps-bar-circle{width:40px;height:40px;flex-shrink:0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;background:#e9ecef;color:#868e96}.steps-bar-circle.current,.steps-bar-circle.done{background:var(--wizard-accent);color:#fff}.steps-bar-circle.current{box-shadow:0 0 0 5px var(--color-primary-soft)}.steps-bar-connector-half{height:3px;background:#e9ecef}.steps-bar-connector-half.done{background:var(--wizard-accent)}.steps-bar-connector-half.edge{background:transparent}.steps-bar-labels{display:grid;grid-template-columns:repeat(5,1fr);margin-top:10px}.steps-bar-label{font-size:.9rem;color:#868e96;text-align:center;padding:0 6px;line-height:1.3}.steps-bar-label.current{color:var(--wizard-accent);font-weight:700}@media(max-width:420px){.steps-bar-circle{width:32px;height:32px;font-size:.95rem}.steps-bar-label{display:none}.steps-bar-label.current{display:block;font-size:.85rem}}@media(max-width:640px){.app-content,.app-content-inner,.page{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.result-summary-card{grid-template-columns:minmax(0,1fr);gap:16px;padding:18px 16px}.result-summary-main,.result-summary-bars{min-width:0}.result-summary-bar-row{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) auto;gap:8px}.result-summary-bar-row>span:first-child{white-space:normal;overflow-wrap:anywhere}.csv-format-table{display:block;max-width:100%;overflow-x:auto}.sidebar-icon-btn,.replay-icon-btn{width:44px;height:44px}.public-content-cta{min-height:44px}.app-content input:not([type=checkbox]):not([type=radio]),.app-content select,.app-content textarea{box-sizing:border-box;max-width:100%;font-size:16px}.app-content input:not([type=checkbox]):not([type=radio]),.app-content select{min-height:44px}.app-content button,.app-content a.button,.app-content [role=button]{min-height:44px}}.payos-modal-card{width:min(100% - 28px,390px);max-width:390px;padding:18px 16px 12px;background:#fff}.payos-modal-card .payos-modal-close-x,.payos-modal-card .payos-payment-header,.payos-modal-card .payos-payment-branding,.payos-modal-card .payos-qr-label,.payos-modal-card .payos-trust-logos{display:none}.payos-modal-card .payos-payment-layout{display:block;padding-top:0}.payos-modal-card .payos-qr-panel{display:block;padding:0;border:0;border-radius:0;background:transparent}.payos-modal-card .payos-transfer-qr{display:block;width:250px;margin:0 auto 12px;padding:0;border:0;border-radius:0;background:transparent}.payos-modal-card .payos-vietqr-template{display:block;width:100%;height:auto}.payos-modal-card .payos-transfer-qr svg{display:block;width:100%;height:auto}.payos-modal-card .payos-download-qr{width:auto;margin:0 auto 15px;padding:7px 11px;border-radius:7px;font-size:.76rem}.payos-modal-card .payos-transfer-details{padding:0;border:0;border-radius:0;background:transparent}.payos-modal-card .payos-details-heading{display:none}.payos-modal-card .payos-bank-info{margin:0 0 2px;padding:0;border-bottom:0}.payos-modal-card .payos-bank-info p{font-size:.77rem}.payos-modal-card .payos-bank-info p.font-bold{font-size:.8rem}.payos-modal-card .payos-bank-info-logo{margin-right:8px}.payos-modal-card .payos-bank-info>div:last-child{display:flex;flex-direction:column;justify-content:center;gap:2px}.payos-modal-card .payos-bank-info p,.payos-modal-card .payos-bank-info p.font-bold{margin:0!important;line-height:1.15}.payos-modal-card .payos-transfer-detail{display:block;padding:4px 0;border-bottom:0}.payos-modal-card .payos-bank-info+.payos-transfer-detail{padding-top:2px}.payos-modal-card .payos-transfer-detail>span{display:block;margin-bottom:1px;color:#6b7280;font-size:.76rem}.payos-modal-card .payos-transfer-detail>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.payos-modal-card .payos-transfer-detail strong{color:#111827;font-size:.82rem;text-align:left}.payos-modal-card .payos-transfer-detail--emphasize strong{color:#111827}.payos-modal-card .payos-transfer-detail button{flex:0 0 auto;padding:5px 8px;border-radius:7px;background:#e9f7f0;color:#3f6557;font-size:.7rem}.payos-modal-card .payos-transfer-note{margin:13px 0 0;padding:0;border-radius:0;background:transparent;color:#111827;font-size:.74rem}.payos-modal-card .payos-transfer-note svg{display:none}.payos-modal-card .payos-transfer-note p{margin:0}.payos-pending-cancel{display:block;min-width:72px;margin:10px auto 0;padding:7px 16px;border:1px solid #aeb8c6;border-radius:5px;background:#fff;color:#344054;font:inherit;font-size:.76rem;cursor:pointer}.payos-pending-cancel:hover{background:#f8fafc}@media(max-width:640px){.payos-modal-card{width:min(100% - 20px,360px);max-width:360px;max-height:calc(100dvh - 16px);padding:14px 12px 10px}.payos-modal-card .payos-transfer-qr{width:min(238px,74vw);margin-bottom:9px}.payos-modal-card .payos-download-qr{margin-bottom:10px}}.sidebar-mobile-header,.sidebar-mobile-nav-panel,.sidebar-mobile-header-actions,.sidebar-mobile-lang-popover{display:contents}.sidebar-mobile-menu-btn{display:none}@media(max-width:640px){.sidebar{padding:0;overflow:visible}.sidebar-mobile-header{display:flex;align-items:center;justify-content:space-between;min-height:58px;padding-right:16px;border-bottom:1px solid var(--color-border);background:#fff}.sidebar-mobile-header .sidebar-brand{flex:1;padding:16px;border-bottom:0}.sidebar-mobile-header-actions{display:flex;align-items:center;gap:4px}.sidebar-mobile-lang-popover{display:block}.sidebar-mobile-header-actions .landing-lang-btn{min-width:42px;min-height:42px;padding:8px 10px;border-radius:12px;font-size:.76rem}.sidebar-user-actions .sidebar-lang-popover{display:none}.sidebar-mobile-menu-btn{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;padding:8px;border:0;border-radius:10px;background:transparent;color:var(--color-ink);cursor:pointer}.sidebar-mobile-menu-btn:hover,.sidebar-mobile-menu-btn:focus-visible{background:var(--color-primary-soft);color:var(--color-primary);outline:none}.sidebar-mobile-nav-panel{display:none;padding:8px 12px 14px;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:#fff;box-shadow:0 12px 24px #1b448c14}.sidebar-mobile-nav-panel.is-open{display:block}.sidebar-mobile-nav-panel .sidebar-nav{display:flex;flex-direction:column;gap:2px;padding:0;overflow:visible}.sidebar-mobile-nav-panel .sidebar-nav .sidebar-link{width:100%;box-sizing:border-box;margin:0;padding:11px 12px;white-space:normal}.sidebar-mobile-nav-panel .sidebar-footer{padding:10px 0 0;margin-top:10px}}@media(max-width:640px){.cms-article-detail-card{padding:20px 16px;border-radius:12px}.cms-article-directory-toolbar{flex-direction:column;align-items:stretch}.cms-article-directory-topic-filter,.cms-article-directory-search,.cms-directory-search-external .cms-article-directory-search{width:100%}.cms-markdown-renderer h1{font-size:1.65rem}.cms-markdown-renderer h2{font-size:1.3rem}.cms-article-directory-list li{grid-template-columns:128px minmax(0,1fr);gap:.75rem}.cms-article-directory-image-link,.cms-article-directory-thumbnail{width:128px}}.dashboard-user-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.public-content-shell{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;background:#f7f9fc}.public-content-header{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:30;max-width:none;margin:0;padding:14px max(24px,calc((100% - 1180px)/2 + 24px));background:#f7f9fcf0;border-bottom:1px solid rgba(148,163,184,.22);box-shadow:0 6px 18px #1e40af12;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.public-content-brand{display:inline-flex;align-items:center;gap:9px;color:#163b7a;font-size:1.1rem;font-weight:800;text-decoration:none}.public-content-brand img{width:30px;height:30px}.public-content-cta{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 18px;border-radius:999px;background:linear-gradient(135deg,#3977ec,#2457dc);box-shadow:0 8px 18px #2563eb33;color:#fff;font-size:.86rem;font-weight:800;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.public-content-cta:hover{background:linear-gradient(135deg,#4b86f2,#1d4ed8);box-shadow:0 11px 22px #2563eb47;transform:translateY(-1px)}.public-content-cta:focus-visible{outline:3px solid rgba(59,130,246,.35);outline-offset:3px}.public-content-main{flex:1 0 auto;width:100%;box-sizing:border-box;max-width:1180px;margin:0 auto;padding:72px 24px 48px}.public-content-main:has(.cms-related-articles){padding-bottom:20px}.public-landing-header .landing-nav-inner{max-width:1160px}.public-content-footer{flex:0 0 auto;border-top:1px solid rgba(148,163,184,.22);background:#fff;color:#64748b}.public-content-footer-inner{max-width:1180px;margin:0 auto;padding:18px 24px 22px;text-align:center;font-size:.84rem;line-height:1.5}.app-content-footer{margin:28px 24px 0}.dashboard-user-stat-card{position:relative;min-width:0;min-height:132px;box-sizing:border-box;overflow:hidden;padding:18px;border:1px solid #dce5f2;border-radius:16px;background:#fff;box-shadow:0 8px 22px #16345f12;text-align:left;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.dashboard-user-stat-card:after{position:absolute;right:-28px;bottom:-34px;width:104px;height:104px;border-radius:50%;background:var(--user-stat-soft);content:"";opacity:.8}.dashboard-user-stat-card:hover{border-color:color-mix(in srgb,var(--user-stat-accent) 38%,#dce5f2);box-shadow:0 11px 26px #16345f1f;transform:translateY(-2px)}.dashboard-user-stat-card--gold{--user-stat-accent: #b7791f;--user-stat-soft: #fff5d9}.dashboard-user-stat-card--blue{--user-stat-accent: #2563eb;--user-stat-soft: #eaf1ff}.dashboard-user-stat-card--violet{--user-stat-accent: #7c3aed;--user-stat-soft: #f1eaff}.dashboard-user-stat-card--green{--user-stat-accent: #16a34a;--user-stat-soft: #e9f8ef}.dashboard-user-stat-card>.dashboard-user-stat-icon,.dashboard-user-stat-card>.dash-card-label,.dashboard-user-stat-card>.dash-card-value{position:relative;z-index:1}.dashboard-user-stat-icon{display:grid;width:36px;height:36px;margin-bottom:10px;place-items:center;border-radius:11px;background:var(--user-stat-soft);color:var(--user-stat-accent)}.dashboard-user-stat-card .dash-card-label{color:#60708a;font-size:.79rem;font-weight:700}.dashboard-user-stat-card .dash-card-value{margin-top:3px;color:#152b4b;font-size:clamp(1.65rem,2.4vw,2.15rem);line-height:1.05}.progress-chart-stats .dashboard-user-stat-card{flex:1;min-width:0;min-height:122px}@media(max-width:640px){.public-content-header{padding:14px 16px}.public-content-cta{min-height:34px;padding:0 14px;font-size:.8rem}.public-content-main{padding:72px 14px 32px}.experience-sharing-content{min-width:0}.experience-sharing-table-scroll{margin:14px 0;border-radius:10px;box-shadow:0 6px 16px #1c437b12}.experience-sharing-table-scroll table{min-width:540px;font-size:.84rem}.experience-sharing-table-scroll th,.experience-sharing-table-scroll td{padding:9px 10px}.dashboard-user-stat-grid{gap:11px}.dashboard-user-stat-card{min-height:124px;padding:14px 13px;border-radius:14px}.dashboard-user-stat-icon{width:30px;height:30px;margin-bottom:8px}.dashboard-user-stat-card .dash-card-label{font-size:.72rem;line-height:1.25}.dashboard-user-stat-card .dash-card-value{font-size:1.65rem}.progress-chart-stats .dashboard-user-stat-card{min-height:112px;padding:12px 10px}}.dashboard-stats-overlap .dash-card--accent-gold,.dashboard-stats-overlap .dash-card--accent-blue{position:relative;overflow:hidden;border-color:transparent;border-radius:20px;padding:20px 24px;box-shadow:0 8px 22px #1e40af1a}.dashboard-stats-overlap .dash-card--accent-gold{background:linear-gradient(135deg,#fffdf3,#fff8d8)}.dashboard-stats-overlap .dash-card--accent-blue{background:linear-gradient(135deg,#f5f8ff,#e9f0ff)}.dashboard-stats-overlap .dash-card--accent-gold:before,.dashboard-stats-overlap .dash-card--accent-blue:before{position:absolute;inset:0 auto 0 0;width:5px;content:""}.dashboard-stats-overlap .dash-card--accent-gold:before{background:linear-gradient(180deg,#f5c542,#e9a915)}.dashboard-stats-overlap .dash-card--accent-blue:before{background:linear-gradient(180deg,#60a5fa,#2563eb)}.dashboard-stats-overlap .dash-card--accent-gold .dash-card-icon,.dashboard-stats-overlap .dash-card--accent-blue .dash-card-icon{border:1px solid rgba(255,255,255,.8);box-shadow:0 5px 12px #1e40af14}.dashboard-stats-overlap .dash-card-label{color:#53627a;letter-spacing:.01em}.dashboard-stats-overlap .dash-card-value{color:#172554;font-size:2rem;line-height:1.05}.progress-chart-card{border-color:#d8e6ff;border-radius:24px;background:linear-gradient(145deg,#f7faff,#fff 58%,#eef5ff);box-shadow:0 12px 30px #1e40af17}.progress-chart-title{color:#163b7a;font-size:1.25rem;letter-spacing:-.01em}.progress-chart-subtitle{color:#5d7190}.progress-chart-range{border:1px solid #dce7fb;background:#e2eaf9cc;box-shadow:inset 0 1px 2px #1e40af0d}.progress-chart-range-btn{transition:color .16s ease,background-color .16s ease,box-shadow .16s ease}.progress-chart-range-btn:hover:not(.active){color:var(--color-primary-dark);background:#ffffffb3}.progress-chart-range-btn.active{background:linear-gradient(135deg,#3b82f6,#1d4ed8);box-shadow:0 4px 10px #2563eb47}.progress-chart-stats .dash-card{border-color:#dce7f7;border-top:3px solid #60a5fa;border-radius:18px;background:#ffffffe6;box-shadow:0 5px 14px #1e40af0f;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.progress-chart-stats .dash-card:hover{border-color:#b9d1f7;box-shadow:0 8px 18px #1e40af1c;transform:translateY(-2px)}.progress-chart-stats .dash-card:nth-child(1){border-top-color:#60a5fa}.progress-chart-stats .dash-card:nth-child(2){border-top-color:#8b5cf6}.progress-chart-stats .dash-card:nth-child(3){border-top-color:#f5b83d}.progress-chart-stats .dash-card:nth-child(4){border-top-color:#22c55e}.progress-chart-stats .dash-card:nth-child(1) svg{color:#3b82f6}.progress-chart-stats .dash-card:nth-child(2) svg{color:#7c3aed}.progress-chart-stats .dash-card:nth-child(3) svg{color:#d18b00}.progress-chart-stats .dash-card:nth-child(4) svg{color:#16a34a}.progress-chart-stats .dash-card-value{color:#172554;font-size:1.95rem}.progress-chart-upsell{border:1px solid #c9dcff;border-radius:18px;background:linear-gradient(135deg,#eaf2ff,#dbeafe);color:#1e40af;box-shadow:0 6px 16px #2563eb14}.progress-chart-upsell .wizard-next-btn{border-radius:999px;box-shadow:0 7px 15px #2563eb38}.progress-chart-gridline{stroke:#dce8fb}.progress-chart-line{stroke:#2563eb;stroke-width:2.6}.progress-chart-dot{fill:#2563eb;stroke:#fff;stroke-width:2.5}@media(prefers-reduced-motion:reduce){.dashboard-stats-overlap .dash-card,.progress-chart-stats .dash-card,.progress-chart-range-btn{transition:none}}.admin-async-state{display:flex;align-items:center;gap:14px;max-width:620px;min-height:82px;margin:18px 0;padding:17px 19px;border:1px solid #dbe5f4;border-left:4px solid #3974e8;border-radius:14px;background:linear-gradient(110deg,#fff,#f5f8ff);color:#1c2c48;box-shadow:0 8px 20px #1f488c0f}.admin-async-state strong{display:block;font-size:.98rem}.admin-async-state p{margin:4px 0 0;color:#667792;font-size:.88rem}.admin-async-spinner{width:22px;height:22px;flex:0 0 auto;border:3px solid #d5e2ff;border-top-color:#2e66de;border-radius:50%;animation:admin-spin .8s linear infinite}.admin-async-state--error{align-items:flex-start;justify-content:space-between;border-left-color:#d92d20;background:linear-gradient(110deg,snow,#fff3f2)}.admin-async-state--error p{color:#8c352e}.admin-async-retry{flex:0 0 auto;min-width:88px;margin:0;padding:9px 14px;border:0;border-radius:9px;background:#2e66de;color:#fff;font-weight:700;box-shadow:0 5px 12px #2e66de38}.admin-async-retry:hover{background:#2255c5}.admin-dashboard-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 20px}.admin-dashboard-toolbar small{color:#71809a}.admin-dashboard-toolbar button{flex:0 0 auto}@keyframes admin-spin{to{transform:rotate(360deg)}}@media(max-width:560px){.admin-async-state,.admin-async-state--error,.admin-dashboard-toolbar{align-items:stretch;flex-direction:column}.admin-async-retry,.admin-dashboard-toolbar button{width:100%}}@media(max-width:640px){.reference-page .page-hero{align-items:flex-start;gap:8px;margin-bottom:16px}.reference-page .page-hero h1{align-items:flex-start;gap:7px;font-size:1.3rem;line-height:1.28}.reference-page .page-hero h1 svg{flex:0 0 auto;margin-top:2px}.reference-page .page-tagline{font-size:.88rem;line-height:1.45}.reference-page .guide-section{padding:16px 14px;margin:14px 0;border-radius:12px}.reference-page .guide-section-title{align-items:flex-start;gap:7px;font-size:1.08rem;line-height:1.35}.reference-page .guide-section-title svg{flex:0 0 auto;margin-top:2px}.reference-page .guide-section-sub,.reference-page .guide-body-text{font-size:.88rem;line-height:1.5;margin-bottom:12px}.reference-page .guide-tip-list{margin-top:4px}.reference-page .guide-tip-item{align-items:stretch;flex-direction:column;gap:7px;padding:11px 0}.reference-page .guide-tip-badge,.reference-page .guide-tip-list--xs .guide-tip-badge,.reference-page .guide-tip-list--sm .guide-tip-badge,.reference-page .guide-tip-list--lg .guide-tip-badge{width:fit-content;max-width:100%;padding:5px 9px;font-size:.76rem;line-height:1.3;text-align:left}.reference-page .guide-tip-item p{font-size:.92rem;line-height:1.55}.reference-page .guide-subheading{margin:18px 0 4px;font-size:.98rem;line-height:1.35}.reference-page .wizard-info-banner{margin:12px 0;padding:10px 12px;font-size:.86rem;line-height:1.5}.reference-page .history-table{min-width:0}.reference-page .history-table tr,.reference-page .history-table td{display:block;width:100%;box-sizing:border-box}.reference-page .history-table td:first-child{padding-bottom:4px;border-bottom:0}.reference-page .history-table td+td{padding-top:4px}.reference-page .real-exam-questions{gap:0}.reference-page .real-exam-question-item{align-items:stretch;padding:11px 0}.reference-page .real-exam-question-order{width:fit-content;padding:4px 8px;border-radius:7px;background:var(--color-primary-soft);color:var(--color-primary);font-size:.8rem}.reference-page .real-exam-question-item p{font-size:.9rem;line-height:1.5}}.option-card{display:flex;align-items:flex-start;gap:10px;background:#fff;border:1px solid var(--wizard-card-border);border-radius:10px;padding:10px 14px;margin-bottom:6px;font-size:.95rem;line-height:1.5;cursor:pointer;transition:box-shadow .15s,border-color .15s;position:relative}.option-card:hover{box-shadow:0 2px 8px #00000014;border-color:var(--wizard-accent)}.option-card input[type=radio],.option-card input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;position:relative;width:18px;height:18px;margin:1px 0 0;flex-shrink:0;border:2px solid #b8c2d1;background:#fff;display:grid;place-content:center;transition:background .15s,border-color .15s,box-shadow .15s}.option-card input[type=checkbox]{border-radius:5px}.option-card input[type=radio]{border-radius:50%}.option-card input[type=radio]:before,.option-card input[type=checkbox]:before{content:"";display:block;transform:scale(0);transition:transform .12s ease-out}.option-card input[type=checkbox]:before{width:9px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:translateY(-1px) rotate(-45deg) scale(0)}.option-card input[type=radio]:before{width:8px;height:8px;border-radius:50%;background:#fff}.option-card input[type=radio]:checked,.option-card input[type=checkbox]:checked{border-color:var(--wizard-accent);background:var(--wizard-accent)}.option-card input[type=radio]:checked:before{transform:scale(1)}.option-card input[type=checkbox]:checked:before{transform:translateY(-1px) rotate(-45deg) scale(1)}.option-card input:focus-visible{outline:none;box-shadow:0 0 0 3px var(--color-primary-soft)}.option-card input:disabled{opacity:.45;cursor:not-allowed}.wizard-next-btn{border-radius:999px;background:linear-gradient(180deg,var(--color-primary-light),var(--wizard-cta));color:#fff;border:none;padding:12px 28px;font-size:1rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:var(--shadow-primary);text-decoration:none}.wizard-next-btn:hover:not(:disabled){background:linear-gradient(180deg,var(--wizard-cta),var(--wizard-cta-hover));transform:translateY(-1px)}.wizard-next-btn:disabled{background:#ccc;cursor:default}.wizard-next-btn.modal-cta-btn{display:block;margin:16px auto 0}.wizard-nav{flex-shrink:0;display:flex;justify-content:center;gap:12px;padding:16px 0;background:var(--color-bg)}.wizard-nav button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:12px 28px;min-width:150px;font-size:1rem;font-weight:700;text-align:center;border:1px solid var(--wizard-card-border);background:#fff;color:#333;box-shadow:0 1px 4px #00000014}.wizard-nav .wizard-next-btn{border:none;background:var(--wizard-cta);color:#fff}.wizard-nav .wizard-next-btn:hover:not(:disabled){background:var(--wizard-cta-hover)}.wizard-home-btn{position:fixed;top:16px;left:16px;z-index:20;width:36px;height:36px;border-radius:50%;background:#fff;border:1px solid var(--wizard-card-border);display:flex;align-items:center;justify-content:center;font-size:1.1rem;text-decoration:none;color:inherit;box-shadow:0 1px 4px #0000001a}.wizard-home-btn:hover{box-shadow:0 2px 8px #00000026}.option-group-part-label{font-weight:700;color:#495057;margin-top:20px}.option-group{margin-bottom:20px}.option-group-heading{font-size:1.05rem;font-weight:600;margin:0 0 12px;color:#212529}.option-group--2col{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 16px}.option-group--2col .option-group-heading{grid-column:1 / -1}.option-group--2col .option-card{margin-bottom:0}@media(max-width:640px){.option-group--2col{grid-template-columns:1fr}}.wizard-warning-box{display:flex;align-items:flex-start;gap:10px;background:#fff8e6;border:1px solid #ffe1a8;border-radius:8px;padding:14px 16px;color:#7a5b00;font-size:.9rem}.wizard-info-banner{display:flex;align-items:center;justify-content:center;gap:10px;width:fit-content;max-width:100%;background:var(--wizard-accent-soft);color:var(--wizard-accent);border-radius:8px;padding:14px 20px;margin:24px auto;font-weight:600}.start-test-ready-heading{text-align:center}.wizard-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:20px 0}.wizard-info-card{background:#fff;border:1px solid var(--wizard-card-border);border-radius:10px;padding:18px 20px}.wizard-info-card-icon{display:flex;align-items:center;justify-content:center;margin-bottom:8px;color:var(--color-primary)}.wizard-info-card h3{font-size:.95rem;margin:0 0 6px}.wizard-info-card p{font-size:.85rem;color:#666;margin:0}.guide-page{padding-bottom:40px}.page-hero{display:flex;align-items:center;gap:20px;margin-bottom:24px}.page-hero-avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;border:2px solid var(--color-primary-soft);flex-shrink:0}.page-hero h1{display:flex;align-items:center;gap:10px;margin:0 0 4px}.guide-page .page-hero h1>svg.lucide-book-open{flex:0 0 25px;width:25px;height:25px;min-width:25px}.guide-hero p{margin:0;color:var(--color-muted)}.guide-section{background:#fff;border:1px solid var(--color-border);border-radius:14px;padding:24px 28px;margin:20px 0;box-shadow:var(--shadow-xs)}.guide-section-title{display:flex;align-items:center;gap:8px;margin:0 0 4px;font-size:1.2rem}.guide-section-sub{margin:0 0 18px;color:var(--color-muted);font-size:.9rem}.guide-subheading{margin:24px 0 4px;font-size:1rem}.guide-question-type-label{font-weight:700;font-size:.95rem;margin:0 0 4px}.guide-timeline{position:relative;display:flex;flex-direction:column;gap:20px;margin:20px 0}.guide-timeline:before{content:"";position:absolute;top:20px;bottom:20px;left:20px;width:2px;background:var(--color-border)}.guide-timeline-item{display:flex;gap:16px;position:relative}.guide-timeline-marker{width:40px;height:40px;flex-shrink:0;border-radius:50%;background:var(--color-primary-soft);display:flex;align-items:center;justify-content:center;font-size:1.1rem;position:relative;z-index:1}.guide-timeline-content{flex:1;min-width:0;background:var(--color-bg);border:1px solid var(--color-border);border-radius:12px;padding:14px 18px}.guide-timeline-content h3{margin:0 0 6px;font-size:1rem}.guide-timeline-content p{margin:0 0 4px;font-size:.95rem;color:#444;line-height:1.6}.guide-timeline-content p:last-child{margin-bottom:0}.guide-timeline-content ul{margin:6px 0;padding-left:20px;font-size:.95rem;color:#444;line-height:1.7}.guide-avatar-note{display:flex;align-items:center;gap:10px;margin-top:10px;padding-top:10px;border-top:1px dashed var(--color-border);font-size:.88rem;color:var(--color-muted)}.guide-avatar-note img{width:36px;height:36px;border-radius:50%;object-fit:cover;flex-shrink:0}.guide-criteria-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin:8px 0 20px}.guide-criteria-card{background:#fff;border:1px solid var(--wizard-card-border);border-radius:12px;padding:18px 16px;text-align:center}.guide-criteria-pct{font-family:Be Vietnam Pro,system-ui,sans-serif;font-size:1.9rem;font-weight:800;color:var(--color-primary)}.guide-criteria-card h4{margin:4px 0 6px;font-size:.95rem}.guide-criteria-card p{margin:0;font-size:.85rem;color:var(--color-muted);line-height:1.5}.experience-sharing-list{display:flex;flex-direction:column;margin:8px 0 20px}.experience-sharing-list-loading{display:grid;gap:16px;margin:8px 0 20px}.experience-sharing-loading-card{min-height:142px;border-radius:16px;background:linear-gradient(100deg,#eef3fb 30%,#f8faff,#eef3fb 60%);background-size:200% 100%;animation:experience-sharing-skeleton 1.2s ease-in-out infinite}@keyframes experience-sharing-skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}.experience-sharing-item{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--color-border)}.experience-sharing-item:first-child{padding-top:0}.experience-sharing-thumb-link{flex:0 0 auto}.experience-sharing-thumb{width:120px;height:120px;border-radius:10px;object-fit:cover;display:block}.experience-sharing-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.experience-sharing-title-link{text-decoration:none;color:inherit}.experience-sharing-title-link:hover h3{color:var(--color-primary)}.experience-sharing-body h3{margin:0;font-size:1.02rem}.experience-sharing-excerpt{margin:0;font-size:.86rem;color:var(--color-muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.experience-sharing-meta{display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--color-muted)}.experience-sharing-avatar{width:22px;height:22px;border-radius:50%;object-fit:cover}.experience-sharing-author{font-weight:600;color:var(--color-ink)}.experience-sharing-detail-cover{width:100%;max-height:360px;object-fit:cover;border-radius:12px;margin-top:16px}.experience-sharing-content{margin-top:16px;line-height:1.7}.experience-sharing-content img{max-width:100%}.experience-sharing-table-scroll{max-width:100%;margin:18px 0;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;border:1px solid #dbe5f2;border-radius:12px;background:#fff;box-shadow:inset 0 0 0 1px #fffc}.experience-sharing-table-scroll table{width:max-content;min-width:100%;margin:0;border-collapse:collapse}.experience-sharing-table-scroll th,.experience-sharing-table-scroll td{padding:10px 12px;border:1px solid #e4ebf4;text-align:left;vertical-align:top}.experience-sharing-table-scroll th{background:#f3f7ff;color:#173c7d;font-weight:750}.admin-cms-image-preview{display:block;max-width:200px;max-height:140px;object-fit:cover;border-radius:8px;margin:6px 0}.admin-cms-image-preview--thumbnail{width:96px;height:64px;max-width:none;max-height:none}.admin-cms-image-preview--round{max-width:80px;max-height:80px;border-radius:50%}.guide-tip-list{margin-top:8px}.guide-tip-item{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--color-border)}.guide-tip-item:last-child{border-bottom:none}.guide-tip-badge{flex-shrink:0;width:100px;background:var(--color-primary-soft);color:var(--color-primary);font-weight:700;font-size:.78rem;line-height:1.35;padding:6px 8px;border-radius:8px;text-align:center}.guide-tip-list--xs .guide-tip-badge{width:56px}.guide-tip-list--sm .guide-tip-badge{width:84px}.guide-tip-list--lg .guide-tip-badge{width:150px}.guide-tip-item p{margin:0;font-size:.95rem;color:#444;line-height:1.6}@media(max-width:640px){.guide-hero{flex-direction:column;align-items:flex-start;text-align:left}}.recording-panel{background:#fff;border:1px solid var(--wizard-card-border);border-radius:10px;padding:16px 20px;margin-top:16px}.recording-panel-title{font-weight:700;margin:0 0 10px}button{cursor:pointer;padding:8px 16px;border-radius:8px;border:1px solid #d7dee9;background:#fff;color:var(--color-ink);font-weight:600;font-size:.9rem;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s}button:hover:not(:disabled){border-color:#b9c4d4;box-shadow:var(--shadow-xs)}button:disabled{opacity:.5;cursor:not-allowed}.btn-link{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;border-radius:8px;border:1px solid #d7dee9;background:#fff;color:var(--color-ink);font-weight:600;font-size:.9rem;text-decoration:none;white-space:nowrap;transition:background .15s,border-color .15s,box-shadow .15s}.btn-link:hover{border-color:#b9c4d4;box-shadow:var(--shadow-xs);color:var(--color-ink)}.admin-page-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.btn-primary-link{display:inline-flex;align-items:center;justify-content:center;padding:9px 18px;border-radius:8px;background:var(--color-primary);color:#fff;font-weight:600;font-size:.9rem;text-decoration:none;white-space:nowrap;flex-shrink:0}.btn-primary-link:hover{filter:brightness(.95)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-primary-light);outline-offset:2px}.question-text{font-size:1.1rem;white-space:pre-wrap;background:#fff;padding:16px;border-radius:8px;box-sizing:border-box;max-width:100%}.question-text,.feedback,.real-exam-question-item p,.exam-feedback-question,.experience-sharing-content{overflow-wrap:break-word}.question-text--vi{margin-top:-8px;font-style:italic;color:var(--color-muted);background:transparent;padding:0 16px}.question-meta{color:#666;font-size:.9rem}.response-row{border-bottom:1px solid #ddd;padding:12px 0}.result-back-link{display:inline-flex;align-items:center;gap:4px;color:var(--color-muted);font-size:.9rem;font-weight:600;text-decoration:none}.result-back-link:hover{color:var(--color-primary)}.text-link{color:var(--color-primary);font-weight:600;text-decoration:none}.text-link:hover{color:var(--color-primary-dark)}.result-title{margin:12px 0 20px}.result-loading,.result-scoring-progress{color:var(--color-muted)}.result-summary-card{background:#fff;border:1px solid var(--color-border);border-radius:16px;padding:28px 32px;box-shadow:var(--shadow-sm);display:grid;grid-template-columns:auto 1fr;gap:32px;margin-bottom:28px}.result-summary-main{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:140px;padding:12px 20px;border-radius:14px}.result-summary-card--novice .result-summary-main{background:#fff3cd}.result-summary-card--intermediate .result-summary-main{background:var(--color-primary-soft)}.result-summary-card--advanced .result-summary-main{background:#d7f5d7}.result-summary-label{font-size:.78rem;color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em}.result-summary-band{font-family:Be Vietnam Pro,system-ui,sans-serif;font-size:2.6rem;font-weight:800;line-height:1.15}.result-summary-card--novice .result-summary-band{color:#8a6300}.result-summary-card--intermediate .result-summary-band{color:var(--color-primary)}.result-summary-card--advanced .result-summary-band{color:#1a6b1a}.result-summary-score{color:var(--color-muted);font-weight:600;font-size:.95rem}.result-summary-bars{display:flex;flex-direction:column;justify-content:center;gap:10px}.result-summary-bar-row{display:grid;grid-template-columns:160px 1fr 34px;align-items:center;gap:10px;font-size:.85rem;color:var(--color-ink)}.result-summary-bar-row>span:first-child{white-space:nowrap}.result-summary-bar-track{height:8px;background:#eef1f6;border-radius:4px;overflow:hidden}.result-summary-bar-fill{height:100%;background:var(--color-accent-gold);border-radius:4px}.result-summary-bar-value{text-align:right;font-weight:700;color:var(--color-muted)}.result-chip-group{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.result-chip-group-label{font-size:.85rem;font-weight:700;color:var(--color-muted);margin-right:4px}.result-chip{display:inline-block;padding:4px 12px;border-radius:999px;font-size:.82rem;font-weight:600}.result-chip--strength{background:#d7f5d7;color:#1a6b1a}.result-detail-title{margin:0 0 14px}.result-question-list{display:flex;flex-direction:column;gap:16px}.result-question-card{background:#fff;border:1px solid var(--color-border);border-radius:14px;padding:20px 24px;box-shadow:var(--shadow-xs)}.result-question-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.result-question-order{font-weight:700;font-family:Be Vietnam Pro,system-ui,sans-serif}.band-pill{display:inline-block;padding:4px 12px;border-radius:999px;font-size:.85rem;font-weight:700;white-space:nowrap}.band-pill--novice{background:#fff3cd;color:#8a6300}.band-pill--intermediate{background:var(--color-primary-soft);color:var(--color-primary-dark)}.band-pill--advanced{background:#d7f5d7;color:#1a6b1a}.band-pill--pending{background:#eee;color:#777}.result-question-criteria{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 16px}.result-question-criteria-item{min-width:0;padding:10px 12px;border:1px solid #dbe7ff;border-radius:10px;background:#f6f9ff}.result-question-criteria-label{display:block;overflow:hidden;color:var(--color-muted);font-size:.72rem;font-weight:700;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.result-question-criteria-value{display:block;margin-top:3px;color:var(--color-primary-dark);font-family:Be Vietnam Pro,system-ui,sans-serif;font-size:1.05rem;font-variant-numeric:tabular-nums}.result-question-criteria-value small{margin-left:2px;color:var(--color-muted);font-size:.72em;font-weight:600}@media(max-width:640px){.result-question-criteria{grid-template-columns:repeat(2,minmax(0,1fr))}.result-question-criteria-label{overflow:visible;text-overflow:clip;white-space:normal}}.result-question-audio{margin-bottom:12px}.result-question-prompt{margin:0 0 12px;padding:10px 14px;background:var(--color-primary-soft, #f5f8ff);border-left:3px solid var(--color-primary);border-radius:8px}.result-question-prompt p{margin:0;color:var(--color-ink);line-height:1.5}.result-question-audio audio{width:100%;height:36px}.result-audio-loading,.result-audio-expired{color:var(--color-muted);font-size:.85rem;font-style:italic}.result-audio-retry{display:flex;align-items:center;gap:12px}.result-audio-retry .result-audio-expired{margin:0}.result-audio-retry-btn{font-size:.8rem;padding:4px 12px;border-radius:8px;border:1px solid var(--color-border);background:#fff;color:var(--color-primary);cursor:pointer;white-space:nowrap}.result-audio-retry-btn:hover{background:var(--color-primary-soft)}.result-transcript{background:var(--color-bg);border-left:3px solid var(--color-primary-light);border-radius:8px;padding:10px 14px;margin-bottom:12px}.result-transcript-error{display:flex;align-items:center;gap:8px;color:#926c00;background:#fff6e0;padding:8px 12px;border-radius:8px;font-size:.85rem;margin:8px 0}.result-transcript-label{font-size:.75rem;font-weight:700;color:var(--color-muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:4px}.result-transcript-text{margin:0;color:var(--color-ink);line-height:1.5}.result-feedback{color:#444;font-style:italic;margin-bottom:4px}.result-model-answer{margin:12px 0;padding:12px 14px;border-left:3px solid var(--color-primary);background:var(--color-primary-soft, #f5f8ff);border-radius:6px}.result-model-answer-text{margin:6px 0 0;white-space:pre-wrap;line-height:1.6}.announcement-popup-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;display:grid;place-items:center;padding:20px;background:#0f172a7a}.announcement-popup{position:relative;width:min(560px,100%);max-height:min(80vh,680px);overflow:auto;padding:28px;background:#fff;border:1px solid var(--color-border);border-radius:16px;box-shadow:0 24px 70px #0f172a3d}.announcement-popup h2{margin:0 36px 14px 0;color:var(--color-ink)}.announcement-popup-body{color:var(--color-ink);line-height:1.65;white-space:pre-wrap}.announcement-popup-close{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:36px;height:36px;padding:0;color:var(--color-muted);background:transparent;border:0;border-radius:50%}.announcement-popup-close:hover{color:var(--color-ink);background:var(--color-surface)}.announcement-popup-dismiss{display:flex;gap:8px;align-items:center;margin-top:22px;color:var(--color-muted);font-size:14px}.announcement-popup-confirm{width:auto;min-width:132px;display:block;margin-left:auto;margin-right:auto;padding-left:28px;padding-right:28px;margin-top:18px}.announcement-popup{isolation:isolate;display:flex;flex-direction:column;overflow:hidden;padding:34px 34px 30px;border:2px solid #60a5fa;border-radius:22px;background:radial-gradient(circle at 100% 0%,rgba(96,165,250,.16),transparent 34%),linear-gradient(180deg,#fff,#f8fbff);box-shadow:0 0 0 5px #60a5fa24,0 28px 80px #1e40af3d}.announcement-popup:before{content:"";position:absolute;z-index:-1;top:-2px;left:28px;right:28px;height:5px;border-radius:0 0 10px 10px;background:linear-gradient(90deg,#38bdf8,#2563eb,#6366f1)}.announcement-popup h2{margin:2px 42px 16px 0;color:#174ea6;font-size:clamp(1.25rem,2vw,1.55rem);letter-spacing:-.02em}.announcement-popup-body{min-height:0;flex:1 1 auto;overflow-y:auto;padding:16px 18px;color:#253858;background:#eff6ffc7;border:1px solid #dbeafe;border-radius:12px;line-height:1.7;white-space:pre-wrap}.announcement-popup-body a{color:#2563eb;font-weight:700;text-decoration:underline;text-underline-offset:2px}.announcement-popup-close{top:15px;right:15px;color:#2563eb;background:#dbeafeb3;border:1px solid #bfdbfe;transition:transform .18s ease,background .18s ease,color .18s ease}.announcement-popup-close:hover{color:#fff;background:#2563eb;transform:rotate(6deg) scale(1.04)}.announcement-popup-dismiss{position:relative;gap:10px;margin-top:20px;color:#526581;cursor:pointer;-webkit-user-select:none;user-select:none}.announcement-popup-dismiss input{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:0 0 auto;width:20px;height:20px;margin:0;border:2px solid #93c5fd;border-radius:6px;background:#fff;cursor:pointer;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease}.announcement-popup-dismiss input:hover{border-color:#2563eb;box-shadow:0 0 0 4px #2563eb1a}.announcement-popup-dismiss input:checked{border-color:#2563eb;background:#2563eb;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='m5 10 3 3 7-7' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;background-size:15px 15px;box-shadow:0 0 0 4px #2563eb1a}.announcement-popup-dismiss input:checked:after{content:"";display:block;width:5px;height:10px;margin:2px 0 0 6px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.announcement-popup-dismiss input:focus-visible,.announcement-popup-close:focus-visible,.announcement-popup-confirm:focus-visible{outline:3px solid rgba(14,165,233,.35);outline-offset:3px}.announcement-popup-confirm{min-height:46px;margin-top:22px;border:0;border-radius:11px;background:linear-gradient(135deg,#38bdf8,#2563eb 58%,#4f46e5);color:#fff;font-weight:800;letter-spacing:.01em;box-shadow:0 10px 22px #2563eb40;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.announcement-popup-confirm:hover{filter:saturate(1.12) brightness(1.04);transform:translateY(-2px);box-shadow:0 14px 28px #2563eb52}@media(max-width:520px){.announcement-popup-backdrop{padding:16px}.announcement-popup{width:min(390px,84vw);box-sizing:border-box;max-height:min(68vh,560px);padding:24px 18px 18px;border-radius:18px}.announcement-popup h2{margin-right:34px;margin-bottom:10px;font-size:1.2rem}.announcement-popup-body{padding:12px 14px;line-height:1.55}.announcement-popup-dismiss{margin-top:14px;font-size:13px}.announcement-popup-confirm{min-height:42px;margin-top:14px}.announcement-popup:before{left:18px;right:18px}}@media(prefers-reduced-motion:reduce){.announcement-popup-close,.announcement-popup-dismiss input,.announcement-popup-confirm{transition:none}}.teacher-comments{background:var(--color-bg);border-left:3px solid var(--color-accent-gold);border-radius:8px;padding:10px 14px;margin-bottom:12px}.teacher-comments-label{font-size:.75rem;font-weight:700;color:var(--color-muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:4px}.teacher-comment-item{margin:4px 0;font-size:.9rem}.teacher-comment-form{display:flex;flex-direction:column;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--color-border)}.teacher-comment-textarea{width:100%;box-sizing:border-box;min-height:64px;padding:8px 10px;border-radius:8px;border:1px solid var(--color-border);font-family:inherit;font-size:.95rem;resize:vertical}.teacher-comment-textarea:focus-visible{outline:2px solid var(--color-primary-light);outline-offset:1px}.teacher-comment-submit-btn{align-self:flex-start}.teacher-complete-review-btn{margin-top:20px}.teacher-review-done{margin-top:20px;color:#1a6b1a;font-weight:700}@media(max-width:640px){.result-summary-card{grid-template-columns:1fr;overflow:hidden}.result-summary-main{width:100%;max-width:100%;min-width:0;box-sizing:border-box}}.feedback{color:#444;font-style:italic}.report-score-btn{display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-size:.85rem;background:none;border:1px solid #ddd;color:#a15c00}.report-score-form{margin-top:8px;display:flex;flex-direction:column;gap:8px}.report-score-form textarea{min-height:60px;padding:8px;border-radius:6px;border:1px solid #ccc}.report-score-done{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:.85rem;color:#2a7a2a}.error-text{color:#b00020;background:#fdecea;padding:12px 16px;border-radius:8px}.wizard-load-error{display:flex;flex-direction:column;align-items:center;gap:14px;padding:24px 0;text-align:center}.result-abandoned-message{color:#926c00;background:#fff6e0;padding:12px 16px;border-radius:8px;margin:12px 0}.success-text{color:#1a6b1a;background:#d7f5d7;padding:12px 16px;border-radius:8px}.admin-create-account-form label{display:block;margin:10px 0}.admin-create-account-form input{display:block;width:100%;margin-top:4px;padding:9px 12px;border:1px solid #d7dee9;border-radius:8px;box-sizing:border-box}.admin-create-account-hint{margin-top:10px;font-size:.8rem}.modal-card{position:relative}.modal-close-btn{position:absolute;top:14px;right:14px;background:none;border:none;font-size:1rem;line-height:1;color:#999;cursor:pointer;padding:4px}.modal-close-btn:hover{color:#333}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.wizard-feedback-notice{display:flex;align-items:flex-start;gap:10px;margin:0 auto 18px;max-width:720px;padding:13px 16px;border:1px solid #bfdbfe;border-radius:14px;background:#eff6ff;color:#1e3a8a;font-size:.9rem;line-height:1.45}.session-action-modal-card{width:min(100%,460px);padding:30px;border-radius:24px}.session-action-modal-card h3{color:#12295b;font-size:1.35rem;line-height:1.25}.session-action-actions{display:grid;grid-template-columns:1fr 1.2fr;gap:12px;margin-top:26px}.session-action-actions button{min-height:48px;justify-content:center;border-radius:14px;font-weight:700}.session-action-actions .wizard-back-btn{border:1px solid #cbd5e1;background:#f8fafc;color:#334155}.session-action-actions .wizard-back-btn:hover:not(:disabled){background:#eef2f7}@media(max-width:640px){.session-action-modal-card{width:min(100% - 24px,390px);padding:24px 20px 20px;border-radius:22px}.session-action-actions{grid-template-columns:1fr;margin-top:22px}}.consent-card{background:#fff;border:1px solid var(--wizard-card-border);border-radius:14px;padding:24px 28px;margin-top:16px;box-shadow:var(--shadow-xs)}.contact-info-card{background:#fff;border:1px solid var(--color-border);border-radius:14px;padding:24px 28px;margin-top:16px;box-shadow:var(--shadow-xs)}.contact-info-card>p:first-child{margin-top:0;font-size:.95rem;line-height:1.6}.contact-info-list{display:flex;flex-direction:column;gap:10px;margin:16px 0}.contact-info-item{display:flex;align-items:center;gap:10px;background:var(--color-primary-soft);border-radius:8px;padding:10px 14px}.contact-info-icon{font-size:1.1rem}.contact-info-value{font-weight:700;color:var(--color-primary-dark)}.contact-info-value a{color:inherit;text-decoration:none}.contact-info-value a:hover{text-decoration:none}.contact-feedback-form{background:#fff;border:1px solid var(--color-border);border-radius:14px;padding:24px 28px;margin-top:24px;box-shadow:var(--shadow-xs);display:flex;flex-direction:column;gap:10px}.contact-feedback-form h2{margin:0 0 4px;font-size:1.1rem}.contact-feedback-form label{font-weight:600;font-size:.9rem}.contact-feedback-form textarea{padding:10px 12px;border-radius:8px;border:1px solid var(--color-border);resize:vertical;font-size:.95rem}.contact-feedback-form textarea:focus-visible{outline:2px solid var(--color-primary-light);outline-offset:1px}.contact-feedback-form button{align-self:flex-start;background:var(--color-primary);border-color:var(--color-primary);color:#fff}.contact-feedback-form button:hover:not(:disabled){background:var(--color-primary-dark);border-color:var(--color-primary-dark);box-shadow:var(--shadow-primary)}.contact-feedback-form button:disabled{opacity:.6;cursor:not-allowed}.page-tagline{display:inline-block;margin:0 0 20px;padding:4px 10px;background:#f59e0b2e;color:#92400e;font-size:.85rem;font-weight:700;border-radius:6px}.contact-contribute-form{background:#fff;border:1px solid var(--color-border);border-radius:14px;padding:24px 28px;margin-top:24px;box-shadow:var(--shadow-xs)}.contact-contribute-form h2{margin:0 0 4px;font-size:1.1rem}.contact-contribute-form>p.muted{margin:0 0 20px;font-size:.95rem;line-height:1.6}.contact-contribute-form>button{background:var(--color-primary);border-color:var(--color-primary);color:#fff;margin-top:4px}.contact-contribute-form>button:hover:not(:disabled){background:var(--color-primary-dark);border-color:var(--color-primary-dark);box-shadow:var(--shadow-primary)}.contact-contribute-form>button:disabled{opacity:.5;cursor:not-allowed}.contribute-section{margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid var(--color-border)}.contribute-section:last-of-type{border-bottom:none;padding-bottom:0}.contribute-level-row{display:flex;gap:12px;max-width:480px}.contribute-level-card{flex:1;justify-content:center;font-weight:600;font-size:.95rem}.contribute-level-card.selected{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary-dark)}.contact-contribute-form .option-card{border:0;border-radius:0;background:transparent;box-shadow:none;padding:6px 0;margin-bottom:0}.contact-contribute-form .option-card:hover{border-color:transparent;background:var(--color-primary-soft);box-shadow:none}.contact-contribute-form .contribute-level-row{gap:4px}.contact-contribute-form .contribute-level-card{justify-content:flex-start;padding-left:4px}.contact-contribute-form .contribute-level-card.selected{border:0;background:var(--color-primary-soft);color:var(--color-primary-dark);box-shadow:inset 3px 0 0 var(--color-primary);padding-left:12px}.contribute-question-list{display:flex;flex-direction:column;gap:12px}.contribute-question-item{display:flex;align-items:flex-start;gap:12px}.contribute-question-order{flex-shrink:0;width:84px;background:var(--color-primary-soft);color:var(--color-primary);font-weight:700;font-size:.85rem;line-height:1.35;text-align:center;padding:8px;border-radius:8px}.contribute-question-item textarea{flex:1;padding:10px 12px;border-radius:8px;border:1px solid var(--color-border);resize:vertical;font-size:.95rem;font-family:inherit}.contribute-question-item textarea:focus-visible{outline:2px solid var(--color-primary-light);outline-offset:1px}@media(max-width:640px){.contribute-level-row{flex-direction:column}.contribute-question-item{flex-direction:column;gap:6px;width:100%}.contribute-question-order{width:fit-content;padding:4px 9px;border-radius:7px;font-size:.82rem;line-height:1.25}.contribute-question-item textarea{width:100%;min-height:82px;box-sizing:border-box;padding:11px 13px;border-radius:10px;font-size:.95rem;line-height:1.45}.contribute-question-item textarea:disabled,.contribute-question-item textarea[readonly]{color:var(--color-muted);background:#f8fafc}}.consent-policy-text{white-space:pre-wrap;background:var(--color-bg);border:1px solid var(--wizard-card-border);border-radius:8px;padding:16px;margin:0 0 20px;line-height:1.7;color:#333;max-height:360px;overflow-y:auto}.consent-checkbox{display:flex;align-items:flex-start;gap:10px;background:var(--color-primary-soft);border-radius:8px;padding:14px 16px;margin-bottom:20px;cursor:pointer;font-size:.95rem;line-height:1.5;color:#333}.consent-checkbox input[type=checkbox]{accent-color:var(--color-primary);width:18px;height:18px;flex-shrink:0;margin-top:2px}.consent-agree-btn{width:100%}.admin-link{color:#a67c00!important;font-weight:600}.admin-quicklinks{display:flex;flex-direction:column;gap:8px;margin-top:20px}.filter-bar{display:flex;gap:10px;margin:12px 0 16px;flex-wrap:wrap}.import-csv-panel{margin:16px 0 20px;padding:14px 16px;border:1px solid #d7dee9;border-radius:10px;background:#fafbfc}.import-csv-panel legend{padding:0 6px;font-weight:600}.import-csv-panel details{margin-bottom:10px;font-size:.9rem}.import-csv-panel summary{cursor:pointer;color:var(--color-primary)}.csv-format-table{width:100%;border-collapse:collapse;margin:10px 0;font-size:.85rem}.csv-format-table th,.csv-format-table td{border:1px solid #e3e8ef;padding:6px 10px;text-align:left;vertical-align:top}.csv-format-table th{background:#f1f4f8}.import-csv-actions{display:flex;align-items:center;gap:12px}.file-upload-btn{display:inline-block;padding:8px 16px;border-radius:8px;background:var(--color-primary);color:#fff;cursor:pointer;font-size:.9rem}.file-upload-btn:has(input:disabled){opacity:.6;cursor:not-allowed}.csv-file-name{color:#555;font-size:.85rem}.import-error{color:#b3261e;font-weight:600}.import-result{margin-top:10px;font-size:.9rem}.import-result ul{max-height:220px;overflow-y:auto;margin:6px 0;padding-left:20px}.filter-bar select,.filter-bar input,.filter-search{padding:7px 12px;border:1px solid #d7dee9;border-radius:8px;background:#fff;transition:border-color .15s,box-shadow .15s}.filter-bar select:focus,.filter-bar input:focus,.filter-search:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft);outline:none}.mono-cell{font-family:ui-monospace,monospace;font-size:.8rem;color:#555}.status-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:.78rem;background:#eee}.status-published,.status-scored,.status-approved{background:#d7f5d7;color:#1a6b1a}.status-draft_no_audio,.status-draft_incomplete,.status-in_progress,.status-scoring,.status-completed,.status-draft,.status-pending{background:#fff3cd;color:#8a6300}.status-archived,.status-abandoned{background:#eee;color:#777}.nested-table{margin:8px 0;background:#fafafa}.teacher-request-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:.78rem;white-space:nowrap}.teacher-request-yes{background:#fff3cd;color:#8a6300}.teacher-request-no{background:#eee;color:#999}.tier-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:.78rem;font-weight:600;white-space:nowrap}.tier-badge--member{background:#eee;color:#777}.tier-badge--vipmember{background:#fff3cd;color:#8a6300}.assigned-teacher-names{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.teacher-chip{display:inline-block;padding:2px 8px;border-radius:12px;font-size:.78rem;background:#d7e9f5;color:#1a4b6b;white-space:nowrap}.assigned-teacher-empty{font-size:.85rem;color:#999}.no-teachers-hint{margin:4px 0 0;font-size:.8rem;color:#999;max-width:220px}.assign-teacher-list{display:flex;flex-direction:column;gap:2px;max-height:260px;overflow-y:auto;margin-bottom:8px;border:1px solid var(--color-border);border-radius:8px;padding:6px}.assign-teacher-option{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:6px;font-size:.92rem;cursor:pointer}.assign-teacher-option:hover{background:var(--color-bg)}.assign-teacher-option input{width:16px;height:16px;flex-shrink:0}.admin-cms-form label,.admin-pricing fieldset label,.admin-login-page label{display:block;margin:10px 0}.admin-cms-form input,.admin-cms-form select,.admin-cms-form textarea,.admin-pricing input,.admin-login-page input{display:block;width:100%;max-width:480px;margin-top:4px;padding:9px 12px;border:1px solid #d7dee9;border-radius:8px;box-sizing:border-box;transition:border-color .15s,box-shadow .15s}.admin-cms-quill .ql-container{height:auto}.admin-cms-quill .ql-editor{height:500px;overflow-y:auto}.admin-cms-form input:focus,.admin-cms-form select:focus,.admin-cms-form textarea:focus,.admin-pricing input:focus,.admin-login-page input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft);outline:none}.admin-back-link{display:inline-flex;align-items:center;gap:4px;color:var(--color-muted);font-size:.9rem;font-weight:600;text-decoration:none}.admin-back-link:hover{color:var(--color-primary)}.admin-session-detail-title{margin:12px 0 20px}.admin-session-detail-subtitle{margin:0 0 14px}.admin-session-summary-card{margin:12px 0 24px}.admin-session-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px}.admin-session-summary-item{display:flex;flex-direction:column;gap:4px}.admin-session-summary-chips{display:flex;flex-wrap:wrap;gap:24px;margin-top:20px;padding-top:20px;border-top:1px solid var(--color-border)}.admin-contribution-edit-textarea{width:100%;box-sizing:border-box;padding:8px 10px;border-radius:8px;border:1px solid var(--color-border);font-family:inherit;font-size:.95rem;resize:vertical}.admin-contribution-edit-textarea:focus-visible{outline:2px solid var(--color-primary-light);outline-offset:1px}.admin-contribution-actions{display:flex;gap:12px;margin-top:20px}.admin-contribution-approve-btn{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.admin-contribution-approve-btn:hover:not(:disabled){background:var(--color-primary-dark);border-color:var(--color-primary-dark)}.admin-contribution-approve-btn:disabled{opacity:.7;cursor:default}.admin-reported-flag{background:#fdecea;color:#b00020;border-radius:8px;padding:8px 12px;font-size:.85rem;margin-bottom:12px}.admin-config-card{background:#fff;border:1px solid var(--color-border);border-radius:14px;padding:24px 28px;margin:20px 0;box-shadow:var(--shadow-xs)}.admin-config-card-header{margin-bottom:18px}.admin-config-card-header h2{margin:0 0 4px;font-size:1.15rem}.admin-config-card-desc{margin:0;color:var(--color-muted);font-size:.85rem}.admin-config-field-label{display:block;font-weight:600;font-size:.85rem;color:#334155}.admin-config-toggle-row{margin-bottom:16px}.admin-config-grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:4px 20px}.admin-config-time-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px 16px}.admin-config-time-field{display:flex;flex-direction:column;gap:6px}.admin-config-time-input{width:100%;box-sizing:border-box;padding:6px 10px;border-radius:8px;border:1px solid var(--color-border);font-family:SFMono-Regular,Consolas,monospace;font-size:.95rem;text-align:center;letter-spacing:.5px}.admin-config-time-input:focus-visible{outline:2px solid var(--color-primary-light);outline-offset:1px}.admin-config-weights-title{margin-top:18px}.admin-config-weights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:8px 0 6px}.admin-config-weights-grid .admin-config-weight-item{display:flex;flex-direction:column;gap:6px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:10px;padding:10px 14px;margin:0}.admin-config-weight-label{font-size:.78rem;font-weight:700;color:var(--color-muted)}.admin-config-weight-sum{font-size:.85rem;color:var(--color-muted);margin:0 0 18px}.admin-config-weight-sum.off{color:#b45309;font-weight:700}.admin-config-prompt-textarea{font-family:ui-monospace,monospace;font-size:.85rem}.api-health-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:2px 0 10px;color:#1e293b;font-size:.92rem;font-weight:750}.api-health-header-note{color:var(--color-muted);font-size:.76rem;font-weight:500}.api-health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-bottom:12px}.api-health-card{border:1px solid #dbe5f1;border-left:4px solid #16a34a;border-radius:10px;background:linear-gradient(120deg,#f8fffa,#fff 72%);padding:13px 15px}.api-health-card.critical{border-color:#fecaca;border-left-color:#dc2626;background:linear-gradient(120deg,#fff6f6,#fff 72%)}.api-health-card-topline{display:flex;align-items:center;gap:7px;color:#64748b;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.api-health-dot{width:8px;height:8px;border-radius:50%;background:#16a34a;box-shadow:0 0 0 3px #dcfce7}.api-health-dot.critical{background:#dc2626;box-shadow:0 0 0 3px #fee2e2}.api-health-card strong,.api-health-card p,.api-health-card small,.api-health-model{display:block}.api-health-card strong{margin-top:8px;color:#172554;font-size:1rem}.api-health-model{margin-top:2px;color:#64748b;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.73rem}.api-health-card p{margin:10px 0 2px;color:#334155;font-size:.84rem;font-weight:650}.api-health-card small{color:#b91c1c;font-size:.74rem}.api-health-alert{margin:0 0 16px;padding:10px 13px;border:1px solid #fecaca;border-radius:9px;background:#fff1f2;color:#b91c1c;font-size:.85rem;line-height:1.45}.api-key-test-status{margin-top:4px;font-size:.72rem;white-space:nowrap}.api-key-test-status.ok{color:#15803d}.api-key-test-status.error{color:#b91c1c}.admin-system-config .api-key-table{table-layout:fixed;font-size:.78rem}.admin-app-shell{--admin-ink: #13213a;--admin-muted: #62728a;--admin-canvas: #f4f7fb;--admin-line: #dce5f0;--admin-primary: #2563eb;--admin-primary-dark: #1d4ed8;--admin-soft: #eaf1ff;background:var(--admin-canvas)}.admin-app-shell .app-content{padding:32px 36px 48px;background:var(--admin-canvas)}.admin-content-inner{color:var(--admin-ink)}.admin-content-inner>:is(.admin-dashboard,.admin-sessions,.admin-students,.admin-system-config,.admin-exam-feedback,.admin-question-bank,.admin-audio-upload,.admin-coverage,.admin-pricing,.admin-cms,.admin-qa-sampling,.admin-teacher-kpi,.admin-contact-messages,.admin-question-contributions,.admin-session-detail){animation:admin-enter .18s ease-out both}@keyframes admin-enter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.admin-content-inner h1{color:var(--admin-ink);letter-spacing:-.025em}.admin-content-inner h2{color:#1c3151}.admin-content-inner>[class^=admin-]>h1:first-child{margin:0 0 8px;font-size:clamp(1.55rem,2vw,2rem);line-height:1.2}.admin-content-inner>[class^=admin-]>h1:first-child+.muted{max-width:760px;margin:0 0 22px;color:var(--admin-muted);line-height:1.55}.admin-app-shell .filter-bar,.admin-app-shell .admin-dashboard-toolbar,.admin-app-shell .admin-page-header-row{padding:14px;border:1px solid var(--admin-line);border-radius:12px;background:#fff;box-shadow:0 3px 10px #19305509}.admin-app-shell .table-scroll{border:1px solid var(--admin-line);border-radius:12px;background:#fff;box-shadow:0 4px 14px #1930550a}.admin-app-shell .history-table th{background:#f7f9fc;color:#52647e}.admin-app-shell .history-table th{font-size:.76rem;letter-spacing:.025em;text-transform:uppercase}.admin-app-shell .history-table td{border-bottom-color:#e8eef6}.admin-app-shell .history-table tr:hover td{background:#f8fbff}.admin-app-shell .admin-config-card,.admin-app-shell .admin-cms-form,.admin-app-shell .admin-session-summary-card{border-color:var(--admin-line);box-shadow:0 4px 14px #1930550b}.admin-app-shell .admin-config-card{border-radius:14px}.admin-app-shell .admin-config-card-header{border-bottom-color:var(--admin-line)}.admin-app-shell input:not([type=checkbox]):not([type=radio]),.admin-app-shell textarea,.admin-app-shell select{border-color:#cbd7e6;border-radius:8px}.admin-app-shell input:not([type=checkbox]):not([type=radio]):focus,.admin-app-shell textarea:focus,.admin-app-shell select:focus{border-color:var(--admin-primary);box-shadow:0 0 0 3px #2563eb21}.admin-app-shell .admin-back-link{color:var(--admin-primary-dark);font-weight:700}.admin-app-shell .admin-async-state{border-radius:14px}.admin-app-shell .admin-dashboard-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:20px 0}.admin-app-shell .admin-dashboard .admin-stat-grid{gap:14px;margin-bottom:30px}.admin-app-shell .admin-dashboard .dash-card{border:1px solid var(--admin-line);border-radius:14px;box-shadow:0 5px 16px #1930550b}.admin-app-shell .admin-dashboard>h2{margin:28px 0 11px;font-size:1.08rem}.admin-app-shell :is(.admin-students,.admin-sessions,.admin-question-bank,.admin-cms,.admin-qa-sampling,.admin-exam-feedback,.admin-contact-messages,.admin-question-contributions,.admin-audio-upload,.admin-coverage,.admin-teacher-kpi)>.filter-bar,.admin-app-shell .admin-cms>button{margin-bottom:18px}.admin-app-shell .admin-cms>button+button{margin-left:8px}.admin-app-shell .filter-bar{gap:10px}.admin-app-shell .filter-bar .filter-search{min-height:40px}.admin-app-shell .table-pagination{margin:4px 0 12px}.admin-app-shell .admin-cms-form{border:1px solid var(--admin-line);border-radius:14px;background:#fff}.admin-app-shell .admin-cms-form>label,.admin-app-shell .admin-cms-form .admin-config-field{gap:7px}.admin-app-shell .admin-system-config{display:grid;gap:18px}.admin-app-shell .admin-system-config>h1{margin-bottom:2px}.admin-app-shell .admin-system-config .admin-config-card{margin:0;overflow:hidden}.admin-app-shell .admin-config-card-header{padding-bottom:14px}.admin-app-shell .admin-config-card-header h2{margin:0;font-size:1.05rem}.admin-app-shell .admin-config-card-desc{color:var(--admin-muted);line-height:1.55}.admin-app-shell .admin-session-detail-title{margin:16px 0 20px}.admin-app-shell .admin-session-summary-item{border-color:var(--admin-line);background:#f8fbff}.admin-app-shell .admin-session-detail-section-header{margin-top:28px}.admin-login-page{position:relative;display:grid;box-sizing:border-box;width:100%;max-width:none;margin:0;min-height:100dvh;place-items:center;overflow:hidden;padding:28px;background:#eef4ff}.admin-login-page:before,.admin-login-page:after{content:"";position:absolute;border-radius:999px;pointer-events:none}.admin-login-page:before{width:520px;height:520px;right:-180px;top:-220px;background:#2563eb26}.admin-login-page:after{width:360px;height:360px;left:-180px;bottom:-170px;background:#38bdf826}.admin-login-card{position:relative;z-index:1;width:min(100%,440px);padding:36px;border:1px solid rgba(192,209,234,.82);border-radius:20px;background:#fffffff0;box-shadow:0 24px 60px #1e407c29}.admin-login-mark{display:grid;width:42px;height:42px;place-items:center;margin-bottom:20px;border-radius:12px;background:linear-gradient(135deg,#1d4ed8,#38bdf8);color:#fff;font-weight:800;font-size:1.2rem;box-shadow:0 8px 18px #2563eb3d}.admin-login-eyebrow{margin:0 0 7px;color:#3970d7;font-size:.72rem;font-weight:800;letter-spacing:.12em}.admin-login-card h1{margin:0;color:#13213a;font-size:1.72rem;letter-spacing:-.03em}.admin-login-intro{margin:8px 0 26px;color:#66768d}.admin-login-page form{display:grid;gap:17px}.admin-login-page label{margin:0;color:#263b5b;font-size:.87rem;font-weight:700}.admin-login-page input{margin-top:7px;padding:11px 12px;border:1px solid #cbd7e6;border-radius:9px;background:#fff}.admin-login-page input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb21}.admin-login-submit{width:100%;margin-top:3px;padding:12px 16px;border-radius:9px;background:#2563eb;box-shadow:0 8px 16px #2563eb33}.admin-login-submit:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px)}@media(max-width:720px){.admin-app-shell .app-content{padding:22px 16px 36px}.admin-app-shell .admin-dashboard-toolbar{align-items:stretch;flex-direction:column}.admin-app-shell .admin-dashboard-toolbar button{width:100%}.admin-login-page{padding:18px}.admin-login-card{padding:28px 22px;border-radius:16px}}.admin-retry-score-panel{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:12px 14px;border:1px solid #fecaca;border-radius:10px;background:#fff7f7;color:#991b1b}.admin-session-detail-section-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.admin-retry-score-panel p{margin:4px 0 0;font-size:13px;color:#b91c1c;white-space:pre-wrap}.admin-retry-score-btn{flex:0 0 auto;border:0;border-radius:8px;padding:9px 13px;font:inherit;font-weight:700;color:#fff;background:#b91c1c;cursor:pointer}.admin-retry-score-btn:hover:not(:disabled){background:#991b1b}.admin-retry-score-btn:disabled{opacity:.6;cursor:not-allowed}.admin-system-config .api-key-table-wrap{overflow-x:hidden}.admin-system-config .api-key-table th,.admin-system-config .api-key-table td{min-width:0;padding:8px 7px;overflow-wrap:anywhere;vertical-align:top}.admin-system-config .api-key-table th:nth-child(1),.admin-system-config .api-key-table td:nth-child(1){width:8%}.admin-system-config .api-key-table th:nth-child(2),.admin-system-config .api-key-table td:nth-child(2){width:9%}.admin-system-config .api-key-table th:nth-child(3),.admin-system-config .api-key-table td:nth-child(3){width:12%}.admin-system-config .api-key-table th:nth-child(4),.admin-system-config .api-key-table td:nth-child(4){width:8%}.admin-system-config .api-key-table th:nth-child(5),.admin-system-config .api-key-table td:nth-child(5){width:7%}.admin-system-config .api-key-table th:nth-child(6),.admin-system-config .api-key-table td:nth-child(6){width:6%}.admin-system-config .api-key-table th:nth-child(7),.admin-system-config .api-key-table td:nth-child(7){width:15%}.admin-system-config .api-key-table th:nth-child(8),.admin-system-config .api-key-table td:nth-child(8){width:12%}.admin-system-config .api-key-table th:nth-child(9),.admin-system-config .api-key-table td:nth-child(9){width:8%}.admin-system-config .api-key-table th:nth-child(10),.admin-system-config .api-key-table td:nth-child(10){width:15%}.admin-system-config .api-key-table .api-key-test-status{white-space:normal}.admin-system-config .api-key-table td:last-child{display:flex;flex-wrap:wrap;gap:4px}.admin-system-config .api-key-table td:last-child button{flex:1 1 100%;min-width:0;padding:5px 6px;font-size:.72rem;white-space:normal}@media(max-width:640px){.api-health-header{align-items:flex-start;flex-direction:column;gap:3px}.api-health-grid{grid-template-columns:1fr}}.speed-btn{padding:4px 10px;font-size:.85rem}.speed-btn.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.test-speed-control{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;flex-shrink:0}.audio-countdown{color:#666;font-size:.9rem}.mic-level-meter{width:14px;background:#e9ecef;border-radius:999px;display:flex;align-items:flex-end;overflow:hidden;padding:2px}.mic-level-fill{width:100%;background:linear-gradient(to top,#2ecc71,#2ecc71 60%,#ffd479,#ff5b5b);border-radius:4px;transition:height 50ms linear}.test-session-page{max-width:920px}.test-header{display:flex;align-items:baseline;justify-content:space-between}.test-header h1{color:var(--color-primary);margin:0}.exam-countdown{color:var(--color-primary);font-weight:700;font-size:1.3rem;font-variant-numeric:tabular-nums}.test-body{display:flex;gap:20px;margin:16px 0;align-items:flex-start}.test-left-panel{width:220px;flex-shrink:0;display:flex;flex-direction:column;gap:10px}.avatar-mic-row{display:flex;align-items:stretch;gap:10px;flex:1}.avatar-col{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:space-between;gap:10px}.avatar-col .avatar-box{flex:none;width:100%}.avatar-box{flex:1;min-width:0;aspect-ratio:1 / 1;border:1px solid #333;border-radius:4px;background:#f0f0f0;display:flex;align-items:center;justify-content:center;font-size:4rem;overflow:hidden}.avatar-box img,.avatar-box video{width:100%;height:100%;object-fit:cover}.replay-progress-row{display:flex;align-items:center;gap:8px}.replay-icon-btn{width:36px;height:36px;border-radius:50%;font-size:1.1rem;line-height:1;padding:0;display:flex;align-items:center;justify-content:center;flex-shrink:0}.audio-progress-bar{flex:1;height:8px;background:#e3e6ea;border-radius:4px;overflow:hidden}.audio-progress-fill{height:100%;background:var(--color-primary)}.audio-progress-label{display:inline-flex;align-items:center;gap:4px;font-size:.8rem;color:#666;white-space:nowrap}.test-right-panel{flex:1;min-width:0;background:#fff;border:1px solid #e3e6ea;border-radius:10px;padding:16px 20px;display:flex;flex-direction:column;gap:10px}.test-right-panel>p{margin:0;line-height:1.5}.test-right-panel--tinted{background:var(--color-primary-soft)}@media(max-width:640px){.test-body{flex-direction:column}.test-left-panel,.test-right-panel{width:100%;box-sizing:border-box}}.question-progress-block p,.answer-time-block p{margin:0 0 8px;font-weight:600;color:#444}.progress-pills{display:flex;flex-wrap:wrap;gap:6px}.progress-pill{width:30px;height:30px;border-radius:8px;background:#eceff2;color:var(--color-muted);display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:600}.progress-pill.current{background:var(--color-primary);color:#fff}.progress-pill.done{background:var(--color-primary-soft);color:var(--color-primary-dark)}.time-badge{display:inline-block;background:var(--color-primary-soft);color:var(--color-primary);font-weight:700;padding:2px 10px;border-radius:10px;font-variant-numeric:tabular-nums}.answer-progress-bar{height:10px;background:#e3e6ea;border-radius:5px;overflow:hidden}.answer-progress-fill{height:100%;background:var(--color-primary);transition:width .9s linear}.record-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;font-size:1rem;font-weight:700;border-radius:10px;border:none;background:linear-gradient(180deg,var(--color-primary-light),var(--color-primary));color:#fff;box-shadow:var(--shadow-primary)}.record-action-btn:disabled{background:#a3aeac}.record-action-btn--equal{flex:0 0 180px;width:180px;min-width:180px;height:48px;padding:10px 8px;box-sizing:border-box}.pretest-recording-actions{display:flex;gap:8px;flex-wrap:wrap}.record-action-btn--compact{padding:8px;font-size:.9rem}.record-action-btn.recording{background:var(--color-primary-dark);animation:recording-pulse 1.6s ease-in-out infinite}@keyframes recording-pulse{0%,to{box-shadow:0 0 #2563eb66}50%{box-shadow:0 0 0 8px #2563eb00}}.landing-page{background:#fff;color:var(--color-ink);font-family:Be Vietnam Pro,system-ui,sans-serif;overflow-x:hidden;padding-top:72px}.landing-page [id]{scroll-margin-top:86px}.landing-container{box-sizing:border-box;width:100%;max-width:1160px;margin:0 auto;padding:0 24px}.landing-nav{position:fixed;top:0;left:0;right:0;z-index:100;background:#ffffffb8;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(226,232,240,.8)}.landing-nav-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;height:72px}.landing-logo{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:1.25rem;color:var(--color-ink);background:none;border:none;padding:0;cursor:pointer;text-decoration:none}.landing-logo-img{width:38px;height:38px;border-radius:12px;display:block}.landing-logo-text{color:var(--color-primary)}.landing-nav-links{display:flex;align-items:center;justify-content:center;gap:28px;flex:1}.landing-nav-links a{background:none;border:none;padding:6px 2px;font-family:inherit;font-size:.95rem;font-weight:600;color:var(--color-ink);cursor:pointer;text-decoration:none;transition:color .2s}.landing-nav-links a:hover,.landing-nav-links a:focus-visible{color:var(--color-primary)}.landing-nav-actions{display:flex;align-items:center;gap:14px}.landing-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:inherit;font-weight:700;font-size:.95rem;padding:12px 24px;border-radius:999px;border:none;cursor:pointer;transition:all .25s}.landing-btn-primary{background:var(--color-primary);color:#fff;box-shadow:0 8px 20px #2563eb59}.landing-btn-primary:hover:not(:disabled){background:var(--color-primary-dark);transform:translateY(-2px);box-shadow:0 12px 26px #2563eb66}.landing-btn-primary:disabled{opacity:.6;cursor:not-allowed}.landing-btn-ghost{background:transparent;color:var(--color-ink);border:1.5px solid var(--color-border)}.landing-btn-ghost:hover{border-color:var(--color-primary);color:var(--color-primary)}.landing-nav-cta{padding:10px 20px}.landing-lang-popover{position:relative}.landing-lang-btn{display:inline-flex;align-items:center;gap:6px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:999px;padding:8px 14px;font-family:inherit;font-size:.85rem;font-weight:700;color:var(--color-ink);cursor:pointer;transition:border-color .2s}.landing-lang-btn:hover{border-color:var(--color-primary)}.landing-lang-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:180px;background:#fff;border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-md);padding:6px;z-index:110}.landing-lang-option{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;border-radius:8px;padding:10px 12px;font-family:inherit;font-size:.9rem;font-weight:600;color:var(--color-ink);cursor:pointer;text-align:left}.landing-lang-option:hover{background:var(--color-primary-soft)}.landing-lang-option.active{color:var(--color-primary)}.landing-lang-check{color:var(--color-primary);font-weight:800}.landing-menu-btn{display:none;align-items:center;background:none;border:none;padding:8px;color:var(--color-ink);cursor:pointer}.landing-mobile-menu{display:none;flex-direction:column;padding:12px 24px 20px;gap:4px;border-top:1px solid var(--color-border)}.landing-mobile-menu a{background:none;border:none;padding:12px 4px;font-family:inherit;font-size:1rem;font-weight:600;color:var(--color-ink);text-align:left;cursor:pointer;text-decoration:none}.landing-mobile-menu a:hover,.landing-mobile-menu a:focus-visible{color:var(--color-primary)}.landing-mobile-menu .landing-btn{margin-top:10px}.landing-section{padding:90px 0}.landing-section--soft{background:var(--color-bg)}#danh-gia,#faq{padding-top:48px}.landing-text-center{text-align:center}.landing-reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}.landing-reveal.landing-reveal-visible,#root[data-prerendered=landing] .landing-reveal{opacity:1;transform:none}.landing-hero-visual.landing-reveal{transition-delay:.15s}.landing-steps-grid .landing-reveal:nth-child(2),.landing-features-grid .landing-reveal:nth-child(2),.landing-testimonials-grid .landing-reveal:nth-child(2),.landing-pricing-grid .landing-reveal:nth-child(2){transition-delay:.08s}.landing-steps-grid .landing-reveal:nth-child(3),.landing-features-grid .landing-reveal:nth-child(3),.landing-testimonials-grid .landing-reveal:nth-child(3),.landing-pricing-grid .landing-reveal:nth-child(3){transition-delay:.16s}.landing-steps-grid .landing-reveal:nth-child(4),.landing-features-grid .landing-reveal:nth-child(4),.landing-testimonials-grid .landing-reveal:nth-child(4),.landing-pricing-grid .landing-reveal:nth-child(4){transition-delay:.24s}.landing-features-grid .landing-reveal:nth-child(5){transition-delay:.32s}.landing-features-grid .landing-reveal:nth-child(6){transition-delay:.4s}@media(prefers-reduced-motion:reduce){.landing-reveal{opacity:1;transform:none;transition:none}}.landing-section-tag{display:inline-flex;align-items:center;gap:8px;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary);background:var(--color-primary-soft);padding:6px 16px;border-radius:999px;margin-bottom:14px}.landing-hero-grid .landing-section-tag{font-size:1rem}.landing-section-title{font-size:clamp(1.7rem,3.5vw,2.5rem);font-weight:800;line-height:1.25;margin:0 0 14px;text-align:center}.landing-section-sub{color:var(--color-muted);font-size:1.05rem;max-width:640px;margin:0 auto;text-align:center;line-height:1.6}.landing-hero{position:relative;background:linear-gradient(180deg,#eef2ff,#fff);padding:80px 0 90px;overflow:hidden}.landing-hero:before{content:"";position:absolute;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(37,99,235,.12),transparent 70%);top:-180px;right:-120px}.landing-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center;position:relative;z-index:1}.landing-hero-grid h1{font-size:clamp(2rem,4.5vw,3.1rem);font-weight:800;line-height:1.18;margin:0 0 20px}.landing-gradient{background:linear-gradient(90deg,var(--color-primary),#8a5cf6);-webkit-background-clip:text;background-clip:text;color:transparent}.landing-lead{font-size:1.12rem;color:var(--color-muted);margin:0 0 10px;max-width:520px;line-height:1.7}.landing-lead-sub{font-size:1.12rem;color:var(--color-muted);margin:0 0 30px;max-width:520px;line-height:1.7}.landing-hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:34px}.landing-hero-stats{display:flex;gap:36px;flex-wrap:wrap}.landing-hero-stat b{display:block;font-size:1.6rem;font-weight:800;color:var(--color-primary)}.landing-hero-stat span{color:var(--color-muted);font-size:.9rem}.landing-hero-visual{position:relative}.landing-hero-card{background:#fff;border-radius:24px;box-shadow:0 16px 40px #2563eb1f;padding:26px;border:1px solid var(--color-border)}.landing-hero-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.landing-card-label{font-size:.8rem;color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:700}.landing-card-band{font-family:Be Vietnam Pro,system-ui,sans-serif;font-size:2rem;font-weight:800;color:var(--color-primary);line-height:1}.landing-card-score{color:var(--color-muted);font-weight:600;font-size:.95rem}.landing-score-lines{display:flex;flex-direction:column;gap:12px}.landing-score-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px;font-size:.85rem}.landing-score-label{color:#475569;font-weight:600}.landing-score-value{color:var(--color-muted);font-weight:700}.landing-score-track{height:8px;background:#eef2f7;border-radius:4px;overflow:hidden}.landing-score-fill{height:100%;background:linear-gradient(90deg,var(--color-primary-light),var(--color-primary));border-radius:4px}.landing-steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:26px;margin-top:50px}.landing-step-card{text-align:center;padding:30px 20px;border-radius:18px;background:#fff;border:1px solid var(--color-border);box-shadow:var(--shadow-xs);transition:transform .25s,box-shadow .25s}.landing-step-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}.landing-step-num{width:52px;height:52px;margin:0 auto 16px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),#8a5cf6);color:#fff;font-weight:800;font-size:1.2rem;display:grid;place-items:center;box-shadow:0 8px 18px #2563eb4d}.landing-step-card h3{font-size:1.05rem;font-weight:700;margin:0 0 8px}.landing-step-card p{color:var(--color-muted);font-size:.9rem;margin:0;line-height:1.6}.landing-features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:50px}.landing-feature-card{background:#fff;border-radius:18px;padding:30px 26px;border:1px solid var(--color-border);box-shadow:var(--shadow-xs);transition:transform .25s,box-shadow .25s}.landing-feature-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}.landing-feature-icon{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;color:var(--color-primary);margin-bottom:18px}.landing-feature-icon.fi-1{background:#eef1ff}.landing-feature-icon.fi-2{background:#fff3e6;color:#d97706}.landing-feature-icon.fi-3{background:#e6f9ee;color:#15803d}.landing-feature-icon.fi-4{background:#fdeef3;color:#be185d}.landing-feature-icon.fi-5{background:#e8f7ff;color:#0369a1}.landing-feature-icon.fi-6{background:#f4eefe;color:#7c3aed}.landing-feature-heading{display:flex;align-items:center;gap:14px;margin-bottom:18px}.landing-feature-heading .landing-feature-icon{flex-shrink:0;margin-bottom:0}.landing-feature-card h3{font-size:1.15rem;font-weight:700;margin:0 0 8px}.landing-feature-card p{color:var(--color-muted);font-size:.95rem;margin:0;line-height:1.6}.landing-testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:50px}.landing-testimonial-card{background:#fff;border-radius:18px;padding:30px 26px;border:1px solid var(--color-border);box-shadow:0 4px 14px #0000000a;display:flex;flex-direction:column}.landing-testimonial-stars{display:flex;gap:2px;color:var(--color-accent-gold);margin-bottom:14px}.landing-testimonial-card blockquote{color:#374151;font-size:.98rem;margin:0 0 20px;font-style:italic;line-height:1.65;flex:1}.landing-testimonial-user{display:flex;align-items:center;gap:12px}.landing-testimonial-avatar{width:46px;height:46px;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid var(--color-border)}.landing-testimonial-user b{display:block;font-size:.98rem}.landing-testimonial-user span{color:var(--color-muted);font-size:.85rem}.landing-pricing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:50px}.landing-pricing-card{position:relative;background:#fff;border:1px solid var(--color-border);border-radius:18px;padding:24px 20px 20px;box-shadow:var(--shadow-xs);display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}.landing-pricing-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}.landing-pricing-card--featured{border-color:var(--color-primary);background:linear-gradient(180deg,#f4f7ff,#fff 45%);box-shadow:0 12px 28px #2563eb24}.landing-pricing-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--color-primary);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.03em;padding:4px 12px;border-radius:999px;box-shadow:0 4px 10px #2563eb4d;white-space:nowrap}.landing-pricing-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.landing-pricing-icon{width:44px;height:44px;border-radius:12px;background:var(--color-primary-soft);color:var(--color-primary);display:grid;place-items:center;flex-shrink:0}.landing-pricing-head h3{font-size:1.05rem;font-weight:700;margin:0}.landing-pricing-amount{display:flex;align-items:baseline;gap:8px;margin-bottom:4px}.landing-pricing-amount strong{font-size:2.4rem;font-weight:800;color:var(--color-primary);line-height:1}.landing-pricing-amount span{color:var(--color-muted);font-weight:700;font-size:.95rem}.landing-pricing-price{margin:0 0 14px;font-size:1.05rem;font-weight:800;color:var(--color-ink)}.landing-pricing-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;flex:1}.landing-pricing-list li{display:flex;align-items:flex-start;gap:8px;font-size:.9rem;color:#475569;line-height:1.5}.landing-pricing-list li>span{flex:1;min-width:0}.landing-pricing-note{margin:14px 0 0;color:var(--color-muted);font-size:.82rem;line-height:1.45;font-weight:600}.landing-pricing-list svg{color:var(--color-primary);flex-shrink:0;margin-top:2px}.landing-pricing-card .landing-btn{width:100%}.package-card{border-radius:18px;padding:24px 20px 20px;text-align:left;display:flex;flex-direction:column;transition:box-shadow .25s,transform .25s,border-color .25s}.package-card:before{display:none}.package-card:hover{transform:translateY(-6px)}.package-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.package-icon{width:44px;height:44px;border-radius:12px;background:var(--card-accent-soft, var(--color-primary-soft));color:var(--card-accent, var(--color-primary));display:grid;place-items:center;flex-shrink:0}.package-name{font-size:1.05rem;font-weight:700;color:var(--color-ink)}.package-coin{display:flex;align-items:baseline;gap:8px;margin:0 0 4px;padding:0;background:transparent;color:var(--card-accent, var(--color-primary))}.package-coin strong{font-size:2.4rem;font-weight:800;line-height:1}.package-coin span{color:var(--color-muted);font-size:.95rem;font-weight:700}.package-price{color:var(--color-ink);font-size:1.05rem;font-weight:800;margin:0 0 14px}.package-card .package-select-button{width:100%;margin-top:auto;border-radius:999px;background:var(--color-primary);border-color:var(--color-primary);color:#fff;font-weight:700;padding:11px 18px;box-shadow:var(--shadow-primary);white-space:normal}.package-card .package-select-button:hover:not(:disabled){background:var(--color-primary-dark);border-color:var(--color-primary-dark);transform:translateY(-1px)}@media(min-width:641px){.payment-page .payment-packages-heading,.payment-page .package-grid{width:min(100%,960px);margin-left:auto;margin-right:auto}.payment-page .payment-packages-heading{margin-top:26px;margin-bottom:14px}.payment-page .package-grid{gap:18px;align-items:stretch}.payment-page .package-card{min-height:188px;padding:22px 20px 18px;border-radius:18px;background:linear-gradient(180deg,#fff,#fbfdff)}.payment-page .package-name{margin-bottom:14px;padding-bottom:11px;border-bottom:1px solid #edf2fa;font-size:1.03rem}.payment-page .package-coin{margin-bottom:3px}.payment-page .package-price{margin-bottom:16px}.payment-page .package-card .package-select-button{min-height:42px;padding:10px 16px;border-radius:999px}}.landing-faq-list{max-width:760px;margin:40px auto 0;display:flex;flex-direction:column;gap:12px}.landing-faq-item{background:#fff;border:1px solid var(--color-border);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-xs)}.landing-faq-item.open{border-color:var(--color-primary-light)}.landing-faq-question{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;background:none;border:none;border-radius:0;padding:16px 20px;text-align:left;font-family:inherit;font-weight:700;font-size:1rem;color:var(--color-ink);cursor:pointer}.landing-faq-question:hover{background:var(--color-primary-soft)}.landing-faq-icon{flex-shrink:0;color:var(--color-primary);display:grid;place-items:center;transition:transform .2s}.landing-faq-icon.open{transform:rotate(180deg)}.landing-faq-answer{max-height:0;overflow:hidden;padding:0 20px;color:var(--color-muted);line-height:1.6;font-size:.95rem;transition:max-height .25s ease,padding .25s ease}.landing-faq-answer.open{max-height:500px;padding:0 20px 16px}.landing-footer{background:#111827;color:#d1d5db;padding:36px 0 0;margin-top:60px;font-family:Be Vietnam Pro,system-ui,sans-serif}.landing-footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;padding-bottom:24px}.landing-footer-brand p{margin:14px 0 0;font-size:.92rem;max-width:320px;color:#9ca3af;line-height:1.6}.landing-logo--footer{color:#fff}.landing-footer h4{color:#fff;font-size:.95rem;font-weight:700;margin:0 0 16px}.landing-footer-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.landing-footer-links a{display:inline-flex;align-items:center;gap:8px;font-size:.92rem;color:#9ca3af;text-decoration:none;transition:color .2s}.landing-footer-links a:hover{color:#fff}.landing-footer-bottom{border-top:1px solid #1f2937;padding:16px 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;font-size:.88rem;color:#9ca3af}.landing-footer-bottom svg{color:#ef4444;vertical-align:-2px}.back-to-top-btn{position:fixed;right:20px;bottom:20px;z-index:50;width:44px;height:44px;border-radius:50%;border:none;background:var(--color-primary);color:#fff;font-size:1.2rem;line-height:1;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);animation:back-to-top-in .25s ease-out}.back-to-top-btn:hover:not(:disabled){background:var(--color-primary-dark);border:none;box-shadow:var(--shadow-md);transform:translateY(-2px)}@keyframes back-to-top-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media(max-width:640px){.back-to-top-btn{right:14px;bottom:14px}}@media(max-width:920px){.landing-hero-grid{grid-template-columns:1fr}.landing-hero-visual{max-width:520px;margin:0 auto}.landing-features-grid,.landing-testimonials-grid,.landing-pricing-grid,.landing-footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:700px){.landing-nav-links{display:none}.landing-menu-btn{display:inline-flex}.landing-mobile-menu{display:flex}.landing-nav-cta{display:none}}@media(max-width:640px){.landing-hero,.landing-section{padding:60px 0}.landing-features-grid,.landing-testimonials-grid,.landing-pricing-grid,.landing-footer-grid{grid-template-columns:1fr}.landing-hero-stats{gap:22px}.landing-footer-bottom{flex-direction:column;text-align:center}}@media(max-width:700px){.landing-container{padding-inline:16px}.landing-nav-inner{gap:4px}.landing-nav-actions{margin-left:auto;gap:4px}.landing-nav-actions .landing-lang-btn,.landing-menu-btn{min-height:42px;justify-content:center}.landing-nav-actions .landing-lang-btn{width:60px;min-width:60px;padding:8px 10px}.landing-menu-btn{min-width:42px;border-radius:12px}}.progress-chart-card{background:#fff;border:1px solid var(--color-border);border-radius:14px;padding:24px 28px;margin:20px 0;box-shadow:var(--shadow-xs)}.progress-chart-upsell{box-sizing:border-box;width:100%;max-width:none;margin:20px 0 0;flex-wrap:wrap;justify-content:space-between}.progress-chart-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:20px}.progress-chart-title{margin:0 0 4px;font-size:1.15rem}.progress-chart-subtitle{margin:0;color:var(--color-muted);font-size:.85rem}.progress-chart-range{display:flex;gap:4px;background:#f2f2f6;border-radius:999px;padding:4px;flex-shrink:0}.progress-chart-range-btn{border:none;background:transparent;padding:6px 14px;border-radius:999px;font-size:.82rem;font-weight:600;color:#666}.progress-chart-range-btn.active{background:var(--color-primary);color:#fff}.progress-chart-stats{margin:0 0 20px;flex-wrap:nowrap}.progress-chart-stats .dash-card{flex:1;min-width:0}.progress-chart-svg{width:100%;height:auto;overflow:visible}.progress-chart-gridline{stroke:#eee;stroke-width:1}.progress-chart-axis-label{fill:#999;font-size:11px;font-family:Be Vietnam Pro,system-ui,sans-serif}.progress-chart-line{stroke:var(--color-primary);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.progress-chart-dot{fill:var(--color-primary);stroke:#fff;stroke-width:2;transition:r .1s ease}.progress-chart-hit{fill:transparent;cursor:pointer}.progress-chart-hit:focus{outline:none}.progress-chart-hit:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.progress-chart-tooltip rect{fill:#fff;stroke:#e3e6ea;stroke-width:1;filter:drop-shadow(0 2px 6px rgba(0,0,0,.12))}.progress-chart-tooltip-date{fill:#999;font-size:10px;font-family:Be Vietnam Pro,system-ui,sans-serif}.progress-chart-tooltip-value{fill:#1a1a1a;font-size:12px;font-weight:700;font-family:Be Vietnam Pro,system-ui,sans-serif}.progress-chart-empty{color:var(--color-muted);text-align:center;padding:40px 0;margin:0}@media(max-width:640px){.progress-chart-header{flex-direction:column}}.real-exam-list{display:flex;flex-direction:column;gap:20px;margin-top:20px}.real-exam-card{background:#fff;border:1px solid var(--color-border);border-radius:14px;padding:24px 28px;box-shadow:var(--shadow-sm)}.real-exam-level{display:inline-block;padding:6px 16px;border-radius:999px;font-family:Be Vietnam Pro,system-ui,sans-serif;font-weight:800;font-size:1.05rem;background:var(--level-color-soft);color:var(--level-color);margin-bottom:16px}.real-exam-number{margin-left:8px;font-weight:600;opacity:.75}.real-exam-date{font-size:.9rem;color:var(--color-muted);margin:0 0 16px}.real-exams-locked-hint{margin-top:16px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}.real-exams-upgrade-btn{text-decoration:none}.real-exam-hashtag-card{display:flex;flex-wrap:wrap;gap:8px;background:var(--color-primary-soft);border-radius:10px;padding:14px 16px;margin-bottom:20px}.hashtag-chip{display:inline-block;padding:4px 12px;border-radius:999px;background:#fff;color:var(--color-primary-dark);font-size:.82rem;font-weight:700}.real-exam-questions{display:flex;flex-direction:column;gap:10px}.real-exam-question-item{display:flex;align-items:baseline;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--color-bg)}.real-exam-question-item:last-child{border-bottom:none;padding-bottom:0}.real-exam-question-order{flex-shrink:0;width:92px;font-weight:700;color:var(--color-muted);font-size:.9rem}.real-exam-question-item p{margin:0;font-size:.95rem;line-height:1.5}.real-exam-static-html{max-width:860px;background:#fff;border:1px solid var(--color-border, #e2e8f0);border-radius:18px;padding:clamp(20px,4vw,36px)}.real-exam-static-html h1{margin:0;font-size:1.45rem}.real-exam-static-html header p{color:var(--color-muted);margin:8px 0 24px}.real-exam-static-html ol{display:grid;gap:14px;margin:0;padding-left:28px}.real-exam-static-html li{padding-left:6px;line-height:1.6}.guide-body-text{margin:0 0 14px;font-size:.95rem;color:#444;line-height:1.6}.pagination-bar{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:28px}.pagination-bar button{padding:8px 18px;border-radius:8px;border:1px solid var(--color-border);background:#fff;cursor:pointer}.pagination-bar button:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.pagination-bar button:disabled{opacity:.4;cursor:not-allowed}.pagination-indicator{font-weight:700;color:var(--color-muted);font-size:.9rem}.admin-table-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;padding:10px 14px;background:#fff;border:1px solid var(--color-border);border-radius:10px}.admin-page-size-select{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--color-muted)}.admin-page-size-select select{padding:4px 8px;border-radius:6px;border:1px solid var(--color-border)}.admin-table-total{font-size:.85rem;color:var(--color-muted);margin-right:auto}.admin-pagination-bar{margin-top:0;gap:12px}.admin-pagination-bar button{padding:6px 14px;font-size:.85rem}@media(max-width:640px){.real-exam-question-item{flex-direction:column;gap:2px}.real-exam-question-order{width:auto}}@media(max-width:640px){.app-content{padding:20px 14px}.sidebar-nav{flex-direction:row;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:8px 10px;gap:4px}.sidebar-nav .sidebar-link{flex-shrink:0;white-space:nowrap;margin:0;padding:8px 12px}.dashboard-history-card,.progress-chart-card,.guide-section,.real-exam-card,.wizard-content-card{padding:18px 16px}.payment-packages-heading{max-width:420px;margin:24px auto 12px;font-size:1.2rem}.package-grid{flex-direction:column;align-items:center;gap:12px}.package-card{width:100%;max-width:420px;flex:0 1 auto;padding:16px 16px 14px;border-radius:16px}.package-head{gap:10px;margin-bottom:8px}.package-icon{width:40px;height:40px;border-radius:11px}.package-name{font-size:1rem}.package-coin{margin-bottom:2px}.package-coin strong{font-size:2.15rem}.package-coin span,.package-price{font-size:.9rem}.package-price{margin-bottom:10px}.package-card .package-select-button{padding:10px 16px}.payment-page .package-grid{gap:12px}.payment-page .coin-pricing-section{padding:14px 12px 12px}.payment-page .coin-pricing-section .guide-section-title{font-size:1.05rem}.payment-page .coin-pricing-section .guide-section-sub{margin-bottom:10px;font-size:.84rem;line-height:1.4}.payment-page .coin-pricing-section .coin-info-grid{gap:10px;margin:10px 0}.payment-page .coin-pricing-section .coin-info-card{min-height:84px;padding:11px 12px;border-radius:12px}.payment-page .coin-pricing-section .coin-info-value{font-size:1.35rem;line-height:1.1}.payment-page .coin-pricing-section .coin-info-label{margin-top:3px;font-size:.84rem;line-height:1.3}.payment-page .coin-pricing-section .wizard-info-banner{margin-top:10px;padding:8px 11px;font-size:.82rem;line-height:1.35}.payment-page .package-card{display:flex;flex-direction:column;align-items:stretch;padding:16px 14px 13px;border:1px solid #dce5f4;border-radius:16px;background:linear-gradient(135deg,#fff,#f8fbff);box-shadow:0 5px 16px #2563eb14;text-align:center}.payment-page .package-card:before{display:block;top:16px;right:auto;bottom:auto;width:4px;height:42px;border-radius:0 4px 4px 0;background:var(--card-accent, var(--color-primary))}.payment-page .package-name{margin:0 0 9px;font-size:1rem;line-height:1.25}.payment-page .package-coin{justify-content:center;gap:6px;margin:0}.payment-page .package-coin strong{font-size:2.25rem;line-height:.95}.payment-page .package-coin span{font-size:.86rem}.payment-page .package-price{margin:3px 0 0;text-align:center;font-size:.9rem;line-height:1.2}.payment-page .package-card .package-select-button{margin-top:13px;min-height:40px;padding:9px 14px;border-radius:12px;font-size:.92rem;box-shadow:0 6px 14px #2563eb33}.dashboard-hero{border-radius:16px;padding:26px 20px 34px;gap:14px}.dashboard-hero-text h1{font-size:1.7rem;line-height:1.2}.dashboard-hero-sub{font-size:.9rem;line-height:1.45}.dashboard-hero-btn{width:100%;justify-content:center;padding:12px 18px;font-size:1rem}.dashboard-stats-overlap{gap:10px;margin-top:-18px}.dash-card--accent-gold,.dash-card--accent-blue{min-width:0;padding:14px 10px;gap:10px}.dash-card-label{font-size:.76rem}.dash-card-value{font-size:1.55rem}.progress-chart-header{gap:12px}.progress-chart-range{width:100%}.progress-chart-range-btn{flex:1;padding:7px 8px}.progress-chart-stats{flex-wrap:wrap;gap:10px}.progress-chart-stats .dash-card{box-sizing:border-box;flex:1 1 calc(50% - 5px);padding:12px 8px}.progress-chart-stats .dash-card-label{justify-content:center;text-align:center;line-height:1.25}.dashboard-history-card .history-table{table-layout:fixed}.dashboard-history-card .history-table th,.dashboard-history-card .history-table td{padding:10px 4px;font-size:.72rem;overflow-wrap:anywhere}.dashboard-history-card .history-table th:nth-child(1),.dashboard-history-card .history-table td:nth-child(1){width:27%}.dashboard-history-card .history-table th:nth-child(2),.dashboard-history-card .history-table td:nth-child(2){width:14%}.dashboard-history-card .history-table th:nth-child(3),.dashboard-history-card .history-table td:nth-child(3){width:31%}.dashboard-history-card .history-table th:nth-child(4),.dashboard-history-card .history-table td:nth-child(4){width:28%}.avatar-mic-row{max-width:280px;margin:0 auto;width:100%}.test-header{flex-wrap:wrap;gap:4px 12px}.test-header h1{font-size:1.45rem}.page-hero-avatar{width:52px;height:52px}}@media(max-width:420px){.wizard-nav button{min-width:0;flex:1;padding:12px 16px}}.platform-badge{display:inline-flex;align-items:center;gap:6px;width:fit-content;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.platform-web{color:#1d4ed8;background:#eff6ff}.platform-mobile{color:#047857;background:#ecfdf5}.session-kind-badge{display:inline-flex;align-items:center;width:fit-content;padding:4px 9px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.session-kind-full{color:#1d4ed8;background:#eff6ff}.session-kind-quick{color:#9a3412;background:#fff7ed}.session-kind-topic{color:#6d28d9;background:#f5f3ff}.topic-session-meta{display:inline-flex;flex-direction:column;gap:2px;color:#334155;font-size:12px;font-weight:700}.topic-session-meta small{color:#64748b;font-size:11px;font-weight:600;text-transform:capitalize}
