:root{color-scheme:light;--bg:#f7f7f2;--ink:#18212f;--muted:#667085;--line:#d9ded6;--panel:#fff;--green:#147d64;--red:#d14343;--blue:#2251a4;--yellow:#f1b928}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-family-main,"Be Vietnam Pro","Segoe UI","Noto Sans",Arial,Helvetica,sans-serif);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{min-height:100vh;padding:24px}.actions,.layout,.play-header,.section-title,.signup-prompt,.timer,.topbar{display:flex;gap:12px}.topbar{align-items:end;justify-content:space-between;margin:0 auto 20px;max-width:1320px}.play-header h2,.result-panel h2,.section-title h2,.topbar h1{margin:0}.topbar h1{font-size:clamp(32px,5vw,56px);line-height:1;max-width:760px}.eyebrow{color:var(--muted);font-size:13px;font-weight:700;letter-spacing:0;margin:0 0 8px;text-transform:uppercase}.timer{align-items:center;background:var(--ink);border-radius:8px;color:#fff;font-weight:800;padding:12px 16px;white-space:nowrap}.layout{align-items:stretch;margin:0 auto;max-width:1320px}.leaderboard,.play-area,.sidebar{background:var(--panel);border:1px solid var(--line);border-radius:8px}.leaderboard,.sidebar{flex:0 0 280px;padding:16px}.play-area{flex:1 1;min-width:0;padding:18px}.section-title{align-items:center;margin-bottom:12px}.section-title h2{font-size:18px}.topic-list{display:grid;grid-gap:8px;gap:8px}.topic{background:#fbfcf8;border:1px solid var(--line);border-left:5px solid;border-radius:8px;color:var(--ink);display:grid;grid-gap:4px;gap:4px;padding:12px;text-align:left}.topic.active{border-color:var(--ink)}.topic span{font-weight:800}.empty,.flashcard small,.progress,.question small,.topic small{color:var(--muted)}.play-header{align-items:start;justify-content:space-between;margin-bottom:18px}.name-input{border:1px solid var(--line);border-radius:8px;min-width:150px;padding:10px 12px}.quiz-panel,.result-panel,.study-panel{display:grid;grid-gap:16px;gap:16px}.flashcard{align-items:center;aspect-ratio:16/8;background:#fff7df;border:2px solid #f2c94c;border-radius:8px;color:var(--ink);display:grid;justify-items:center;min-height:260px;padding:24px;text-align:center;width:100%}.flashcard.flipped{background:#e8f7f1;border-color:#43b88a}.flashcard span{font-size:clamp(34px,6vw,80px);font-weight:900;line-height:1}.flashcard small{font-size:18px}.actions{flex-wrap:wrap}.choices button,.finish,.primary,.secondary{align-items:center;border-radius:8px;display:inline-flex;font-weight:800;gap:8px;justify-content:center;min-height:46px;padding:11px 16px}.primary{background:var(--green);border:1px solid var(--green);color:#fff}.secondary{background:#fff;border:1px solid var(--line);color:var(--ink)}.progress{margin:0}.question{background:#eef4ff;border:1px solid #bdd2ff;border-radius:8px;padding:18px}.question h3{font-size:clamp(28px,4vw,54px);margin:0 0 10px}.choices{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.choices button{background:#fff;border:1px solid var(--line);color:var(--ink);min-height:72px}.choices button:hover,.secondary:hover,.topic:hover{border-color:var(--blue)}.finish{width:-moz-fit-content;width:fit-content}.result-panel{align-content:center;justify-items:center;min-height:420px;text-align:center}.result-panel h2{color:var(--green);font-size:clamp(46px,7vw,88px);line-height:1}.result-panel p{margin:0}.signup-prompt{align-items:center;background:#fff7df;border:1px solid #f1c232;border-radius:8px;max-width:560px;padding:12px;text-align:left}.leaderboard ol{display:grid;grid-gap:8px;gap:8px;list-style:none;margin:0;padding:0}.leaderboard li{align-items:center;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:10px 0}.leaderboard strong{color:var(--red)}@media (max-width:980px){.layout,.topbar{flex-direction:column}.leaderboard,.sidebar{flex:auto}.topic-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.shell{padding:14px}.play-header{flex-direction:column}.name-input{width:100%}.choices,.topic-list{grid-template-columns:1fr}.flashcard{aspect-ratio:auto}}.stem-content{color:#0b1b4d;min-width:0;overflow-wrap:anywhere}.stem-content p{line-height:1.65;margin:0 0 10px}.stem-rich-legacy.multiline{white-space:pre-wrap}.stem-formula{max-width:100%;overflow-x:auto;overflow-y:hidden}.stem-formula.inline{display:inline-flex;vertical-align:middle}.stem-formula.block{display:block;margin:14px 0;padding:12px 4px;text-align:center}.stem-formula-error{color:#c2410c}.stem-table-wrap{max-width:100%;overflow-x:auto}.stem-table-wrap table{border-collapse:collapse;width:100%}.stem-table-wrap td{border:1px solid #d9e4f2;padding:9px 12px}.stem-media img{display:block;height:auto;max-width:100%}.stem-diagram figcaption,.stem-media figcaption{color:#64748b;font-size:12px;margin-top:6px}.stem-diagram{margin:12px 0;min-width:0}.stem-diagram svg{aspect-ratio:2/1;background:#fbfdff;border:1px solid #d9e4f2;display:block;max-height:360px;width:100%}.stem-diagram text{fill:#10204f;font:600 14px Be Vietnam Pro,sans-serif}.stem-edge{color:#334155}.stem-grid path:first-child{stroke:#64748b;stroke-width:2}.stem-grid path:last-child{fill:none;stroke:#e7edf5;stroke-width:1}.stem-document-editor{border:1px solid #cfe0f5;border-radius:8px;margin:10px 0;overflow:hidden}.stem-answer-editor>header,.stem-document-editor>header{align-items:center;background:#f7faff;display:flex;justify-content:space-between;padding:12px 14px}.stem-answer-editor>header,.stem-document-editor>header>div:first-child{display:flex;flex-direction:column;gap:2px}.stem-answer-editor>header span,.stem-document-editor>header span{color:#64748b;font-size:12px}.stem-answer-editor button,.stem-document-editor button{align-items:center;background:#fff;border:1px solid #cfe0f5;border-radius:6px;color:#0b1b4d;display:inline-flex;gap:6px;justify-content:center;min-height:36px;padding:7px 10px}.stem-answer-editor button:hover,.stem-document-editor button:hover{border-color:#1677ff;color:#0964dc}.stem-document-editor>header>div:last-child{display:flex;gap:8px}.stem-block-toolbar{display:flex;gap:6px;overflow-x:auto;padding:10px 12px;scrollbar-width:thin}.stem-block-toolbar button{flex:0 0 auto}.stem-editor-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.72fr)}.stem-document-editor.is-full-width .stem-editor-columns{grid-template-columns:minmax(0,1fr)}.stem-document-editor.is-full-width .stem-preview{border-left:0;border-top:1px solid #dbe4ef}.stem-block-list{border-right:1px solid #d9e4f2;min-width:0;padding:12px}.stem-block-editor{border:1px solid #dbe7f5;border-radius:8px;margin-bottom:10px;overflow:hidden}.stem-block-editor>header{align-items:center;background:#f8fafc;display:flex;justify-content:space-between;padding:7px 10px}.stem-block-editor>header span{color:#475569;font-size:12px;font-weight:700;text-transform:uppercase}.stem-block-editor>header button{border:0;min-height:30px;padding:4px}.stem-preview{background:#fbfdff;min-width:0;padding:14px}.stem-preview>span{color:#64748b;display:block;font-size:12px;font-weight:700;margin-bottom:12px;text-transform:uppercase}.stem-rich-toolbar{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;gap:5px;padding:7px}.stem-rich-toolbar button{min-height:31px;padding:4px 8px}.stem-rich-toolbar button.active{background:#e8f1ff;border-color:#1677ff}.stem-rich-toolbar .stem-symbol-trigger{color:#2563eb;font-weight:700;margin-left:auto}.stem-symbol-trigger>span{font-family:Georgia,serif;font-size:18px;line-height:1}.stem-rich-editor .tiptap{min-height:104px;outline:0;padding:12px}.stem-rich-editor .tiptap p{margin:0 0 8px}.stem-rich-editor .tiptap-mathematics-render--editable{border-radius:4px;cursor:pointer;padding:1px 3px}.stem-rich-editor .tiptap-mathematics-render--editable:hover{background:#e6f0ff;outline:1px solid #93c5fd}.stem-symbol-backdrop{background:transparent;inset:0;position:fixed;z-index:12000}.stem-symbol-picker{background:#fff;border:1px solid #cfe0f5;border-radius:14px;box-shadow:0 18px 45px rgba(15,23,42,.18);display:flex;flex-direction:column;max-height:min(680px,calc(100vh - 24px));overflow:hidden;position:fixed}.stem-symbol-picker button{align-items:center;background:#fff;border:1px solid #dbe7f5;border-radius:8px;color:#0f172a;cursor:pointer;display:inline-flex;font:inherit;justify-content:center}.stem-symbol-picker button:hover{border-color:#2563eb;color:#2563eb}.stem-symbol-picker>header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:12px 14px}.stem-symbol-picker>header>div{display:flex;flex-direction:column;gap:2px}.stem-symbol-picker>header strong{color:#0f172a;font-size:16px}.stem-symbol-picker>header small{color:#64748b;font-size:12px}.stem-symbol-picker>header button{border:0;height:34px;width:34px}.stem-symbol-search{align-items:center;border:1px solid #cfe0f5;border-radius:9px;display:flex;gap:7px;margin:10px 12px 7px;padding:0 10px}.stem-symbol-search:focus-within{border-color:#2563eb;box-shadow:0 0 0 2px #e6f0ff}.stem-symbol-search svg{color:#64748b;flex:0 0 auto}.stem-symbol-search input{border:0;font:inherit;min-height:38px;min-width:0;outline:0;width:100%}.stem-symbol-picker>nav{display:flex;gap:5px;overflow-x:auto;padding:0 12px 8px;scrollbar-width:thin}.stem-symbol-picker>nav button{flex:0 0 auto;min-height:32px;padding:5px 10px}.stem-symbol-picker>nav button.active{background:#e6f0ff;border-color:#2563eb;color:#1d4ed8;font-weight:700}.stem-symbol-list{border-bottom:1px solid #e5e7eb;border-top:1px solid #e5e7eb;min-height:150px;overflow-y:auto;padding:5px 12px 10px}.stem-symbol-list section h4{color:#64748b;font-size:11px;letter-spacing:.03em;margin:9px 0 6px;text-transform:uppercase}.stem-symbol-list section>div{display:grid;grid-gap:6px;gap:6px;grid-template-columns:repeat(6,minmax(0,1fr))}.stem-symbol-list section button{flex-direction:column;gap:2px;min-height:58px;min-width:0;padding:5px 3px}.stem-symbol-list section button>span{align-items:center;display:flex;font-size:15px;justify-content:center;max-width:100%;min-height:24px;overflow:hidden}.stem-symbol-list section button small{color:#64748b;font-size:10px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stem-symbol-empty{color:#64748b;margin:48px 0;text-align:center}.stem-symbol-custom{align-self:flex-start;margin:8px 12px;min-height:34px;padding:5px 11px}.stem-symbol-composer{background:#f8fbff;border-top:1px solid #dbe7f5;display:grid;grid-gap:9px;gap:9px;padding:11px 12px 12px}.stem-symbol-composer>label{color:#475569;display:grid;font-size:12px;font-weight:700;grid-gap:5px;gap:5px}.stem-symbol-composer textarea{border:1px solid #cbd5e1;border-radius:8px;font:14px Consolas,monospace;min-height:54px;padding:8px;resize:vertical;width:100%}.stem-symbol-composer textarea:focus{border-color:#2563eb;outline:2px solid #e6f0ff}.stem-symbol-mode{align-items:center;display:flex;gap:6px}.stem-symbol-mode span{color:#64748b;font-size:12px;margin-right:auto}.stem-symbol-mode button{min-height:30px;padding:4px 9px}.stem-symbol-mode button.active{background:#e6f0ff;border-color:#2563eb;color:#1d4ed8;font-weight:700}.stem-symbol-preview{align-items:center;background:#fff;border:1px dashed #bfdbfe;border-radius:8px;color:#64748b;display:flex;justify-content:center;min-height:50px;overflow-x:auto;padding:7px}.stem-symbol-preview.invalid{background:#fff7ed;border-color:#fdba74;color:#c2410c}.stem-symbol-composer footer{align-items:center;display:flex;justify-content:space-between}.stem-symbol-composer footer>div{display:flex;gap:7px}.stem-symbol-composer footer button{min-height:34px;padding:5px 11px}.stem-symbol-composer footer button.primary{background:#2563eb;border-color:#2563eb;color:#fff;font-weight:700}.stem-symbol-composer footer button.danger{color:#ef4444}.stem-symbol-composer footer button:disabled{cursor:not-allowed;opacity:.5}.stem-math-field{padding:10px}.stem-math-field math-field{background:#fff;border:1px solid #c9daf0;border-radius:6px;display:block;font-size:21px;min-height:48px;padding:8px 10px;width:100%}.stem-image-editor{display:grid;grid-gap:9px;gap:9px;padding:10px}.stem-image-editor label{color:#475569;display:grid;font-size:12px;font-weight:700;grid-gap:5px;gap:5px}.stem-image-editor input{min-width:0;width:100%}.stem-image-editor>button{justify-self:start}.stem-image-editor figure{background:#f8fafc;border:1px solid #dbe7f5;border-radius:8px;margin:0;overflow:auto;padding:8px}.stem-image-editor figure img{display:block;height:auto;margin:auto;max-height:420px;max-width:100%}.stem-image-empty{color:#64748b;font-size:12px;margin:0}.stem-image-error{color:#dc2626;font-size:12px;font-weight:700;margin:0}.stem-alt-field{display:block;padding:10px 10px 0}.stem-alt-field input{margin-top:5px;width:100%}.stem-diagram-editor{padding:10px}.stem-diagram-actions{display:flex;gap:7px}.stem-edge-list,.stem-object-list{display:grid;grid-gap:6px;gap:6px;margin-top:9px}.stem-object-list article{display:grid;grid-gap:6px;gap:6px;grid-template-columns:120px minmax(120px,1fr) 78px 78px 36px}.stem-edge-list article{display:grid;grid-gap:6px;gap:6px;grid-template-columns:1fr 1fr 1fr 36px}.stem-edge-list select,.stem-object-list input,.stem-object-list select{min-width:0}.stem-source-editor{padding:12px}.stem-source-editor textarea{font-family:Consolas,monospace;min-height:300px;width:100%}.stem-source-editor button{margin-top:8px}.stem-answer-editor{border:1px solid #cfe0f5;border-radius:8px;margin-top:12px;overflow:hidden;padding-bottom:12px}.stem-answer-editor>label,.stem-answer-grid{margin:10px 12px 0}.stem-answer-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.stem-answer-grid label{display:grid;grid-gap:5px;gap:5px}.stem-answer-grid .wide{grid-column:1/-1}.admin-choice-stem{flex-basis:100%;grid-column:1/-1;margin:4px 0 2px 46px}.admin-choice-stem summary{color:#1677ff;cursor:pointer;font-size:12px;font-weight:700}.admin-choice-stem .stem-document-editor{background:#fff}.admin-exam-choice-rich-row{align-items:stretch;display:grid;grid-gap:10px;gap:10px;grid-template-columns:54px minmax(0,1fr);min-width:0}.admin-exam-choice-rich-row>span{align-items:center;background:#eff6ff;border-radius:10px;color:#2563eb;display:flex;font-weight:900;justify-content:center;min-height:42px}.admin-exam-choice-rich-row .stem-rich-editor{border:1px solid #dbe7f5;border-radius:8px;min-width:0;overflow:hidden}.admin-exam-tf-row{align-items:center;display:grid;grid-gap:10px;gap:10px;grid-template-columns:minmax(0,1fr) 110px}.school-runner-stem-prompt{font-size:20px;font-weight:700;margin:18px 0}.school-runner-stem-prompt .stem-rich-legacy.multiline{font-size:17px;font-weight:500;line-height:1.7}.school-runner-stem-prompt .stem-rich-legacy.multiline p{margin-bottom:18px}.school-runner-diagram-answer{border:1px solid #d9e4f2;border-radius:8px;padding:12px}.school-runner-diagram-answer>p{color:#64748b;font-size:13px;margin:0 0 8px}.school-diagram-review{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.school-diagram-review>section{border:1px solid #d9e4f2;border-radius:8px;padding:10px}@media (max-width:900px){.stem-editor-columns{grid-template-columns:1fr}.stem-block-list{border-bottom:1px solid #d9e4f2;border-right:0}.stem-preview{min-height:180px}}@media (max-width:600px){.stem-document-editor>header{align-items:flex-start;gap:8px}.stem-document-editor>header>div:last-child{flex-wrap:wrap;justify-content:flex-end}.stem-object-list article{grid-template-columns:1fr 1fr 60px 60px 36px}.stem-object-list article input:first-of-type,.stem-object-list article select{grid-column:span 2}.stem-edge-list article{grid-template-columns:1fr 1fr}.admin-exam-tf-row,.school-diagram-review,.stem-answer-grid{grid-template-columns:1fr}}@media (max-width:640px){.stem-symbol-backdrop{background:rgba(15,23,42,.28)}.stem-symbol-picker{border-radius:18px 18px 0 0;bottom:0!important;left:0!important;max-height:90dvh;right:0;top:auto!important;width:auto!important}.stem-symbol-list section>div{grid-template-columns:repeat(4,minmax(0,1fr))}.stem-symbol-list{min-height:180px}}:root{--font-body:var(--font-family-main,"Be Vietnam Pro",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);--font-heading:var(--font-family-main,"Be Vietnam Pro",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif)}body{color:#0f172a;font-family:var(--font-body);font-weight:400}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading)}a,button,input,label,p,select,span{letter-spacing:0}.app-header-auth-link,.app-login-link,.app-start-link,.app-user-menu a,.app-user-menu button{font-weight:600}.auth-card p,.auth-field,.pd-panel p,.pd-panel span,.pd-user-info p,.signup-card p,.signup-field{font-weight:400}.auth-message.success{background:#ecfdf5;border-color:#bbf7d0;color:#047857}.app-header{color:#0f172a;font-family:var(--font-family-main,"Be Vietnam Pro","Segoe UI",Arial,sans-serif);letter-spacing:0}.app-header,.app-header *,.app-header :after,.app-header :before,.app-mobile-bottom-nav,.app-mobile-bottom-nav *{box-sizing:border-box}.app-header-learning,.app-header-main,.app-header-minimal{align-items:center;background:hsla(0,0%,100%,.96);border-bottom:1px solid #e5edf8;display:flex;gap:18px;min-height:72px;padding:12px clamp(18px,4vw,56px);position:-webkit-sticky;position:sticky;top:0;z-index:50}.app-header-main{justify-content:space-between}.app-avatar-link,.app-header-actions a,.app-header-auth-link,.app-learning-back,.app-logo,.app-main-nav a,.app-mobile-back-link,.app-mobile-bottom-nav a{align-items:center;color:#0f172a;display:inline-flex;text-decoration:none}.app-logo{flex:0 0 auto;min-width:0}.app-mobile-back-link{display:none}.uclass-logo{align-items:center;display:inline-flex;flex:0 0 auto;height:var(--uclass-logo-height);position:relative;width:var(--uclass-logo-width)}.uclass-logo-image{object-fit:contain;object-position:left center}.app-logo-mobile{display:none}.app-main-nav{align-items:center;display:flex;gap:8px;justify-content:center}.app-main-nav a{border-radius:0;font-size:15px;font-weight:700;gap:8px;line-height:1;min-height:72px;padding:0 16px;position:relative;transition:background-color .18s ease,color .18s ease}.app-main-nav a,.app-main-nav a span{white-space:nowrap}.app-main-nav a:focus-visible,.app-main-nav a:hover{background:transparent;color:#2563eb}.app-main-nav a.active{background:transparent;box-shadow:none;color:#2563eb}.app-main-nav a.active:after{background:#2563eb;border-radius:999px;bottom:0;content:"";height:3px;left:14px;position:absolute;right:14px}.app-mobile-bottom-nav a.active{background:#e6f0ff;color:#2563eb}.app-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.app-header-auth-link,.app-login-link,.app-start-link{border-radius:999px;font-size:14px;font-weight:800;gap:8px;padding:11px 15px}.app-header-auth-link,.app-login-link{background:#f8fafc;border:1px solid #dbe7f5}.app-start-link{background:#2563eb;color:#fff!important}.app-user-cluster{align-items:center;display:flex;gap:16px}.app-point-pill{align-items:center;background:#fff;border:1px solid #dbeafe;border-radius:999px;color:#2563eb;display:inline-flex;font-size:15px;font-weight:900;gap:8px;height:40px;padding:0 14px;white-space:nowrap}.app-point-pill svg{color:#f59e0b;fill:#f59e0b}.app-notification-button{align-items:center;background:transparent;border:0;cursor:pointer;display:inline-flex;height:44px;justify-content:center;padding:0;position:relative;width:44px}.app-notification-button:after{background:#ef4444;border:2px solid #fff;border-radius:999px;content:"";height:10px;position:absolute;right:9px;top:8px;width:10px}.app-avatar-link{border:0;border-radius:999px;gap:10px;max-width:46px;padding:3px}.app-avatar-link img,.app-avatar-link>span{border-radius:999px;height:38px;width:38px}.app-avatar-link img{object-fit:cover}.app-avatar-link span{align-items:center;background:#e6f0ff;color:#2563eb;display:inline-flex;font-size:13px;font-weight:900;justify-content:center}.app-avatar-link b{display:none;font-size:14px;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-header-minimal{justify-content:space-between}.app-header-learning{align-items:stretch;flex-direction:column;gap:8px}.app-learning-row{align-items:center;display:flex;gap:16px;width:100%}.app-learning-back{background:#fff;border:1px solid #dbe7f5;border-radius:999px;color:#0f172a;cursor:pointer;flex:0 0 auto;font-size:14px;font-weight:800;gap:8px;padding:10px 13px}.app-learning-back:hover{background:#f7faff}.app-learning-title{display:grid;grid-gap:3px;gap:3px;min-width:0}.app-learning-title strong{font-size:18px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-learning-title span{color:#64748b;font-size:13px;font-weight:700}.app-learning-mobile-meta,.app-learning-tools{align-items:center;display:flex;gap:10px;margin-left:auto}.app-learning-progress,.app-learning-timer{align-items:center;border-radius:999px;display:inline-flex;font-size:14px;font-weight:900;gap:7px;min-height:38px;padding:9px 13px}.app-learning-progress{background:#e6f0ff;color:#2563eb}.app-learning-timer{background:#fff7ed;color:#c2410c}.app-learning-action{align-items:center;display:flex;gap:8px}.app-learning-action-mobile{display:none}.app-learning-mobile-meta{display:none;margin-left:0}.app-mobile-bottom-nav{background:hsla(0,0%,100%,.98);border-top:1px solid #dbe7f5;bottom:0;display:none;gap:8px;left:0;padding:8px 12px calc(8px + env(safe-area-inset-bottom));position:fixed;right:0;z-index:60}.app-mobile-bottom-nav a{border-radius:999px;flex:1 1;flex-direction:column;font-size:12px;font-weight:900;gap:4px;min-height:52px;justify-content:center}.app-mobile-bottom-nav a:focus-visible,.app-mobile-bottom-nav a:hover{background:#f7faff}@media (max-width:1180px){body:has(.app-mobile-bottom-nav){padding-bottom:74px}.app-header-learning,.app-header-main,.app-header-minimal{min-height:62px;padding:9px 14px}.app-avatar-link b,.app-header-actions,.app-main-nav{display:none}.app-mobile-back-link{background:transparent;border:0;border-radius:999px;display:inline-flex;height:40px;justify-content:center;order:-1;width:40px}.app-logo-desktop{display:none}.app-logo-mobile{display:inline-flex}.app-header-main .app-avatar-link{display:inline-flex;padding:4px}.app-user-cluster{gap:8px}.app-point-pill{font-size:12px;gap:5px;height:32px;padding:0 9px}.app-point-pill svg{height:14px;width:14px}.app-notification-button{display:none}.app-header-main:after{content:"";display:none}.app-mobile-bottom-nav{display:flex}.app-learning-row{gap:10px}.app-learning-back{border-radius:12px;padding:9px}.app-learning-back span{display:none}.app-learning-title strong{font-size:16px}.app-learning-row>.app-learning-tools,.app-learning-title span{display:none}.app-learning-mobile-meta{display:flex;flex-wrap:wrap}.app-learning-action-mobile{display:flex;flex-basis:100%}}@media (min-width:1181px) and (max-width:1280px){.app-header-main,.app-header-minimal{gap:12px;min-height:68px;padding:10px 18px}.app-main-nav{flex:1 1 auto;gap:2px;min-width:0}.app-main-nav a{font-size:14px;gap:6px;min-height:68px;padding:0 9px}.app-main-nav a svg{height:17px;width:17px}.app-header-actions,.app-user-cluster{flex:0 0 auto;gap:8px}.app-header-auth-link,.app-login-link,.app-start-link{font-size:13px;padding:10px 12px}}.app-mobile-menu-wrap{display:none;position:relative}.notification-bell-wrap.mobile{display:none}.app-mobile-notification-button{align-items:center;background:#fff;border:1px solid #dbe5f2;border-radius:12px;color:#1766d2;cursor:pointer;display:inline-flex;height:44px;justify-content:center;width:44px}.app-mobile-notification-button:focus-visible,.app-mobile-notification-button:hover{background:#f3f8ff;border-color:#b8d2f4;outline:none}.app-mobile-menu-button{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;color:#0f172a;cursor:pointer;display:inline-flex;height:44px;justify-content:center;width:44px}.app-mobile-menu-panel{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 18px 40px rgba(15,23,42,.14);display:grid;grid-gap:4px;gap:4px;padding:8px;position:absolute;right:0;top:calc(100% + 10px);width:230px;z-index:120}.app-mobile-menu-panel a{align-items:center;border-radius:10px;color:#0f172a;display:flex;font-weight:600;justify-content:space-between;min-height:42px;padding:11px 12px;text-decoration:none}.app-mobile-menu-panel a.active,.app-mobile-menu-panel a:hover{background:#f7faff;color:#2563eb}.app-mobile-menu-panel span{border-top:1px solid #e5e7eb;margin:4px 0}.app-mobile-menu-panel a span{border:0;margin:0}.app-mobile-menu-panel .plan-badge{flex:0 0 auto}.app-mobile-menu-logout{align-items:center;background:#fff;border:0;border-radius:10px;color:#ef4444;cursor:pointer;display:flex;font:inherit;font-weight:700;gap:8px;min-height:42px;padding:11px 12px;text-align:left;width:100%}.app-mobile-menu-logout:focus-visible,.app-mobile-menu-logout:hover{background:#fff1f2;outline:none}@media (max-width:1180px){.notification-bell-wrap.mobile{display:flex;margin-left:auto}.app-mobile-menu-wrap{display:block;margin-left:0}}.app-user-menu-wrap{position:relative}.app-avatar-button{align-items:center;background:transparent;border:0;border-radius:999px;color:#0f172a;cursor:pointer;display:inline-flex;gap:10px;max-width:220px;min-height:54px;padding:6px 10px 6px 6px}.app-avatar-button:focus-visible,.app-avatar-button:hover{background:#f7faff;outline:0}.app-avatar-button .uclass-user-avatar{border-radius:999px;flex:0 0 38px;height:38px;width:38px;object-fit:cover}.app-user-button-text{display:grid;grid-gap:2px;gap:2px;justify-items:start;min-width:0}.app-avatar-button b{font-size:14px}.app-avatar-button b,.app-avatar-button small{display:block;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-avatar-button small{color:#64748b;font-size:12px;font-weight:700;line-height:1.1}.app-user-menu{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 18px 36px rgba(15,23,42,.12);display:grid;grid-gap:2px;gap:2px;padding:8px;position:absolute;right:0;top:calc(100% + 10px);width:240px;z-index:100}.app-user-menu a,.app-user-menu button{align-items:center;background:transparent;border:0;border-radius:10px;color:#0f172a;cursor:pointer;display:flex;font:inherit;font-size:14px;font-weight:600;gap:10px;min-height:42px;padding:10px 12px;text-align:left;text-decoration:none;width:100%}.app-user-menu a:focus-visible,.app-user-menu a:hover,.app-user-menu button:focus-visible,.app-user-menu button:hover{background:#f7faff;outline:0}.app-user-menu a .plan-badge{margin-left:auto}.app-user-menu-logout{border-top:1px solid #e5e7eb;margin-top:4px;padding-top:6px}.app-user-menu .app-user-menu-danger{color:#ef4444}.app-user-menu-error{color:#ef4444;font-size:12px;font-weight:700;margin:4px 8px 2px}@media (max-width:1180px){.app-avatar-button{display:inline-flex;max-width:46px;min-height:46px;padding:4px}.app-user-button-text{display:none}.app-user-menu{position:fixed;right:12px;top:58px;width:min(260px,calc(100vw - 24px))}}.teacher-page{min-height:100vh;background:#f6f7fc;color:#172033;padding-bottom:90px}.teacher-shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:28px 0}.teacher-nav{display:flex;gap:8px;overflow:auto;margin-bottom:20px}.teacher-nav a,.teacher-tabs button{border:1px solid #e3e5ef;background:#fff;border-radius:12px;padding:10px 16px;color:#5a6478;font-weight:700;white-space:nowrap}.teacher-nav a:hover,.teacher-tabs button.active{background:#6d3df5;color:#fff;border-color:#6d3df5}.teacher-class-hero,.teacher-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px;border-radius:24px;background:linear-gradient(135deg,#4020a8,#7549f8);color:#fff;margin-bottom:22px;box-shadow:0 18px 40px #4d2caa26}.teacher-class-hero h1,.teacher-hero h1{font-size:clamp(28px,4vw,44px);margin:5px 0}.teacher-class-hero p,.teacher-hero p{margin:0;opacity:.86}.teacher-status{display:flex;flex-direction:column;gap:3px;background:#ffffff1f;border:1px solid #ffffff38;border-radius:16px;padding:14px 18px;min-width:160px}.teacher-status.approved{background:#2ca56f}.teacher-status.rejected{background:#c34a5b}.teacher-status small{opacity:.8}.teacher-card{background:#fff;border:1px solid #e6e7f0;border-radius:20px;padding:22px;margin-bottom:18px;box-shadow:0 8px 25px #1e24450b}.teacher-card h2,.teacher-card h3{margin-top:0}.teacher-alert{padding:12px 16px;border-radius:12px;background:#fff3d2;border:1px solid #f2d47c;color:#765716}.teacher-section-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:24px 0 16px}.teacher-section-head h2,.teacher-section-head p{margin:0}.teacher-section-head p{color:#778096;margin-top:4px}.teacher-button,.teacher-page button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:11px;background:#6d3df5;color:#fff;padding:10px 16px;font-weight:800;cursor:pointer;text-decoration:none}.teacher-page button:disabled{opacity:.5;cursor:not-allowed}.teacher-page button.danger{background:#fbe4e7;color:#b32d43}.teacher-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px}.teacher-class-card{display:flex;flex-direction:column;min-height:190px;background:#fff;border:1px solid #e5e6ef;border-radius:20px;padding:20px;color:inherit;text-decoration:none;box-shadow:0 7px 24px #2428490c;transition:.2s}.teacher-class-card:hover{transform:translateY(-3px);border-color:#8a6bf2}.teacher-card>span,.teacher-class-card span{color:#7452e9;font-size:13px;font-weight:800}.teacher-class-card h3{font-size:21px;margin:10px 0 5px}.teacher-class-card p{color:#71798c;flex:1 1}.teacher-class-card footer{display:flex;justify-content:space-between;border-top:1px solid #eee;padding-top:12px}.teacher-empty{grid-column:1/-1;text-align:center;padding:50px 20px;border:2px dashed #dfe1ea;border-radius:20px;color:#7a8296}.teacher-form{display:grid;grid-gap:14px;gap:14px}.teacher-form label{display:grid;grid-gap:6px;gap:6px;font-weight:700;color:#555f74}.teacher-form input,.teacher-form select,.teacher-form textarea,.teacher-inline input,.teacher-member select,.teacher-row input{width:100%;box-sizing:border-box;border:1px solid #dcdfea;border-radius:10px;padding:11px 12px;background:#fff;color:#1e2636}.teacher-form textarea{min-height:92px;resize:vertical}.teacher-form-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.teacher-inline{display:flex;align-items:center;gap:9px}.teacher-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px;margin-bottom:20px}.teacher-stat{background:#fff;border:1px solid #e5e6ef;border-radius:18px;padding:19px}.teacher-stat span{display:block;color:#788096}.teacher-stat strong{display:block;font-size:26px;margin-top:8px}.teacher-breadcrumb{display:flex;gap:8px;margin-bottom:16px}.teacher-breadcrumb a{color:#6740d6}.teacher-tabs{display:flex;gap:8px;overflow:auto;margin-bottom:20px}.teacher-list{display:grid;grid-gap:12px;gap:12px}.teacher-assessment,.teacher-assignment-row{display:flex;justify-content:space-between;align-items:center;color:inherit;text-decoration:none}.teacher-assessment span,.teacher-assignment-row span{color:#7650e8;font-size:13px;font-weight:800}.teacher-member{display:grid;grid-template-columns:auto minmax(130px,1fr) minmax(130px,1fr) auto;align-items:center;grid-gap:12px;gap:12px;border-top:1px solid #ececf3;padding:14px 0}.teacher-member:first-of-type{border-top:0}.teacher-member div{display:flex;flex-direction:column}.teacher-member small{color:#7b8294}.teacher-avatar{width:42px;height:42px;border-radius:50%;background:#eee8ff!important;color:#6740da;align-items:center!important;justify-content:center;font-weight:900}.teacher-row{display:grid;grid-template-columns:minmax(140px,1fr) auto auto;grid-gap:14px;gap:14px;align-items:center;border-top:1px solid #eee;padding:12px 0}.teacher-row small{color:#7d8495}.teacher-invite{display:grid;grid-gap:8px;gap:8px;min-width:220px}.teacher-invite input{border:0;border-radius:8px;padding:8px}.teacher-builder-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px}.teacher-question-list{display:grid;grid-gap:8px;gap:8px;max-height:440px;overflow:auto;margin-top:14px}.teacher-question-list button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;background:#f7f5ff;color:#26304a}.teacher-question-list small{opacity:.7}.join-class-card{width:min(560px,calc(100% - 32px));margin:70px auto;text-align:center;padding:38px}.join-class-card h1{font-size:34px}.student-assessment-shell{width:min(820px,calc(100% - 30px));margin:35px auto}.student-question h2{font-size:24px;line-height:1.45}.student-question footer{display:flex;justify-content:space-between;margin-top:25px}.student-options{display:grid;grid-gap:10px;gap:10px}.student-options button{justify-content:flex-start;background:#f7f7fb;color:#30394d;border:1px solid #e0e2eb}.student-options button.selected{background:#eee8ff;border-color:#6d3df5;color:#5930cd}.student-answer{width:100%;box-sizing:border-box;min-height:52px;border:1px solid #dadde8;border-radius:12px;padding:13px}.student-question textarea.student-answer{min-height:180px}.teacher-assignment-row{padding:16px;border-top:1px solid #eee}.teacher-assignment-row a{background:#6d3df5;color:#fff;border-radius:10px;padding:10px 15px;text-decoration:none}.teacher-result-answer{display:grid;grid-gap:5px;gap:5px;border-left:4px solid #c8ccd7;padding:12px;margin-top:10px;background:#f8f9fc}.teacher-result-answer.correct{border-color:#20a76b}.teacher-result-answer.wrong{border-color:#dc4d60}@media(max-width:850px){.teacher-grid,.teacher-stat-grid{grid-template-columns:1fr 1fr}.teacher-builder-grid{grid-template-columns:1fr}.teacher-member{grid-template-columns:auto 1fr}.teacher-member>.teacher-inline,.teacher-member>select,.teacher-member>span,.teacher-member>strong{grid-column:2}.teacher-form-row{grid-template-columns:1fr 1fr}}@media(max-width:600px){.teacher-shell{width:min(100% - 20px,1180px);padding-top:16px}.teacher-class-hero,.teacher-hero{align-items:flex-start;flex-direction:column;padding:22px}.teacher-status{width:100%;box-sizing:border-box}.teacher-form-row,.teacher-grid,.teacher-stat-grid{grid-template-columns:1fr}.teacher-section-head{align-items:flex-start;flex-direction:column}.teacher-inline{align-items:stretch;flex-direction:column}.teacher-assessment,.teacher-assignment-row{align-items:flex-start;flex-direction:column;gap:12px}.teacher-row{grid-template-columns:1fr}.teacher-invite{width:100%}}.teacher-catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;margin-bottom:12px}.teacher-catalog-grid select,.teacher-share-result input{min-width:0;width:100%}.teacher-choice-editor{display:grid!important;grid-template-columns:22px 24px 1fr!important;align-items:center;grid-gap:8px;gap:8px}.teacher-choice-editor>input[type=radio]{width:18px;height:18px}.teacher-choice-editor>span{font-weight:800;color:#1677ff}.teacher-check{display:flex!important;align-items:center;gap:8px}.teacher-check input{width:18px;height:18px}.teacher-share-result{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.teacher-share-result input{flex:1 1 420px}.shared-assessment-card{max-width:680px;margin:50px auto;text-align:center}.shared-assessment-card small{display:block;margin-top:14px}.student-countdown{color:#d14343;margin-left:8px}.teacher-recipient-list{display:flex;gap:12px;flex-wrap:wrap;padding:10px 0}.teacher-recipient-list label{display:flex!important;align-items:center;gap:6px}.teacher-recipient-list input{width:17px;height:17px}.teacher-activity-row{display:grid;width:100%;grid-template-columns:minmax(180px,1fr) repeat(3,auto);align-items:center;grid-gap:18px;gap:18px;padding:14px;border:0;border-bottom:1px solid #e8edf5;background:transparent;text-align:left}.teacher-activity-row span:first-child{display:flex;flex-direction:column}.teacher-activity-detail>div{display:grid;grid-template-columns:100px minmax(0,1fr) auto;grid-gap:14px;gap:14px;padding:10px 0;border-bottom:1px solid #edf1f7}@media(max-width:700px){.teacher-catalog-grid{grid-template-columns:1fr}.teacher-activity-row{grid-template-columns:1fr 1fr;gap:8px}.teacher-activity-detail>div{grid-template-columns:1fr}.teacher-row{flex-wrap:wrap}.teacher-share-result input{flex-basis:100%}}.teacher-school-exams{margin-bottom:18px}.teacher-kicker{color:#1769ff;font-size:12px;font-weight:900;text-transform:uppercase}.teacher-school-exam-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:15px}.teacher-school-exam-grid>button{display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:10px;gap:10px;padding:14px;border:1px solid #d8e3f0;border-radius:8px;background:#fff;color:#12204b;text-align:left}.teacher-school-exam-grid>button.active{border-color:#1769ff;background:#f0f6ff;box-shadow:0 0 0 1px #1769ff}.teacher-school-exam-grid>button>svg:first-child{color:#1769ff}.teacher-school-exam-grid span{display:grid;grid-gap:2px;gap:2px}.teacher-school-exam-grid small{color:#1769ff;font-weight:850}.teacher-school-exam-grid em{color:#697791;font-size:12px;font-style:normal}.teacher-school-exam-settings{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;grid-gap:10px;gap:10px;margin-top:14px;padding:14px;border-radius:8px;background:#f4f7fc}.teacher-school-exam-settings label{display:grid;grid-gap:6px;gap:6px;font-size:13px;font-weight:800}.teacher-school-exam-settings input,.teacher-school-exam-settings select{height:42px;padding:0 10px;border:1px solid #cdd9e8;border-radius:7px;background:#fff}.teacher-school-exam-settings button{height:42px;padding:0 16px;border:0;border-radius:7px;background:#1769ff;color:#fff;font-weight:900}.teacher-school-exam-empty{padding:18px;border:1px dashed #cbd8e8;border-radius:8px;color:#687690;text-align:center}@media(max-width:720px){.teacher-school-exam-grid,.teacher-school-exam-settings{grid-template-columns:1fr}.teacher-school-exam-settings button{width:100%}}.teacher-assessment-stats{margin:16px 0}.teacher-assessment-stats article{display:grid;grid-gap:4px;gap:4px}.teacher-assessment-stats small,.teacher-assessment-stats span{color:#687690}.teacher-assessment-stats strong{font-size:25px;color:#1769ff}.teacher-assessment-skills{margin-bottom:16px}.teacher-assessment-skills>div{margin:12px 0}.teacher-assessment-skills header{display:flex;justify-content:space-between;margin-bottom:5px}.teacher-assessment-skills header b{color:#1769ff}.teacher-assessment-skills i{display:block;height:8px;border-radius:8px;background:#e5ecf5;overflow:hidden}.teacher-assessment-skills em{display:block;height:100%;background:#16ad5a}@media(max-width:720px){.teacher-assessment-stats{grid-template-columns:1fr 1fr}}.app-footer{background:#f7faff;border-top:1px solid #e5e7eb;color:#0f172a}.app-footer-inner{display:grid;grid-gap:clamp(32px,4vw,64px);gap:clamp(32px,4vw,64px);grid-template-columns:1.1fr 1fr 1fr;margin:0 auto;max-width:1440px;padding:56px clamp(18px,4vw,56px) 44px}.app-footer-brand,.app-footer-column,.app-footer-links{display:grid;grid-gap:14px;gap:14px}.app-footer-logo{align-items:center;color:#0f172a;display:inline-flex;text-decoration:none}.app-footer-slogan{font-size:20px;font-weight:900;line-height:1.35;margin:4px 0 0}.app-footer-bottom,.app-footer-description,.app-footer-social-block span{color:#64748b}.app-footer-description{font-size:15px;line-height:1.7;margin:0;max-width:430px}.app-footer-social-block{display:grid;grid-gap:10px;gap:10px;margin-top:4px}.app-footer-social-block span{font-size:13px;font-weight:800}.app-footer-social-links{display:flex;gap:10px}.app-footer-social{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;display:inline-flex;height:42px;justify-content:center;transition:background-color .18s ease,border-color .18s ease;width:42px}.app-footer-social:focus-visible,.app-footer-social:hover{background:#e6f0ff;border-color:#bfdbfe;outline:0}.app-footer-column h2{font-size:18px;font-weight:900;margin:0 0 2px}.app-footer-hotline,.app-footer-zalo{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:18px;color:#0f172a;display:flex;gap:14px;min-height:100px;padding:15px 16px;text-decoration:none;width:100%}.app-footer-hotline:focus-visible,.app-footer-hotline:hover,.app-footer-zalo:focus-visible,.app-footer-zalo:hover{border-color:#bfdbfe;outline:0}.app-footer-contact-icon{align-items:center;background:#e6f0ff;border-radius:999px;display:inline-flex;flex:0 0 auto;height:44px;justify-content:center;width:44px}.app-footer-hotline span:last-child,.app-footer-zalo span:last-child{display:grid;grid-gap:3px;gap:3px;min-width:0}.app-footer-hotline em,.app-footer-zalo em{color:#64748b;font-size:13px;font-style:normal;font-weight:800}.app-footer-hotline strong,.app-footer-zalo strong{color:#2563eb;font-size:22px;font-weight:900;line-height:1.1}.app-footer-zalo strong{font-size:20px}.app-footer-hotline small,.app-footer-zalo small{color:#64748b;font-size:12px;font-weight:700;line-height:1.35}.app-footer-links a{align-items:center;border-radius:12px;color:#0f172a;display:grid;font-size:14px;font-weight:800;grid-gap:10px;gap:10px;grid-template-columns:20px 1fr 16px;min-height:44px;padding:8px 10px;text-decoration:none}.app-footer-links a:focus-visible,.app-footer-links a:hover{background:#fff;color:#2563eb;outline:0}.app-footer-bottom{border-top:1px solid #e5e7eb;font-size:14px;font-weight:700;margin:0 auto;max-width:1440px;padding:18px clamp(18px,4vw,56px) 22px;text-align:center}@media (max-width:820px){.app-footer-inner{grid-template-columns:1fr;padding:32px 24px 28px}.app-footer-description{max-width:none}.app-footer-hotline,.app-footer-zalo{min-height:auto;width:100%}.app-footer-bottom{padding-bottom:calc(22px + env(safe-area-inset-bottom))}}.uclass-user-avatar{align-items:center;aspect-ratio:1;background:linear-gradient(135deg,#e6f0ff,#f7faff);border:1px solid #dbeafe;border-radius:999px;color:#2563eb;display:inline-flex;flex:0 0 auto;font-weight:800;justify-content:center;object-fit:cover;overflow:hidden}.uclass-user-avatar-sm{font-size:12px;width:32px}.uclass-user-avatar-md{font-size:14px;width:40px}.uclass-user-avatar-lg{font-size:22px;width:72px}.uclass-user-avatar-xl{font-size:28px;width:96px}.plan-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:800;gap:6px;line-height:1;padding:7px 11px}.plan-badge.free{background:#eef6ff;color:#2563eb}.plan-badge.premium{background:#fff7d6;color:#b45309}.premium-lock-card{align-items:center;background:linear-gradient(135deg,#fff,#f7faff);border:1px solid #dbeafe;border-radius:18px;box-shadow:0 12px 34px rgba(37,99,235,.08);display:grid;grid-gap:14px;gap:14px;grid-template-columns:auto 1fr auto;padding:18px}.premium-lock-card>span{align-items:center;background:#e6f0ff;border-radius:16px;color:#2563eb;display:inline-flex;height:48px;justify-content:center;width:48px}.premium-lock-card h3{color:#0f172a;font-size:18px;margin:0 0 5px}.premium-lock-card p{color:#64748b;font-size:14px;line-height:1.55;margin:0}.premium-lock-card a,.upgrade-modal a{align-items:center;background:#2563eb;border-radius:12px;color:#fff;display:inline-flex;font-weight:800;justify-content:center;min-height:42px;padding:0 16px;text-decoration:none}.upgrade-modal-backdrop{align-items:center;background:rgba(15,23,42,.42);display:flex;inset:0;justify-content:center;padding:18px;position:fixed;z-index:80}.upgrade-modal{background:#fff;border:1px solid #e5e7eb;border-radius:22px;box-shadow:0 24px 70px rgba(15,23,42,.2);max-width:440px;padding:26px;position:relative;width:100%}.upgrade-modal-close{background:#f7faff;border:1px solid #e5e7eb;border-radius:999px;color:#0f172a;height:34px;position:absolute;right:16px;top:16px;width:34px}.upgrade-modal-close,.upgrade-modal>span{align-items:center;display:inline-flex;justify-content:center}.upgrade-modal>span{background:#fff7d6;border-radius:16px;color:#f59e0b;height:48px;width:48px}.upgrade-modal h2{color:#0f172a;font-size:24px;margin:18px 0 10px}.upgrade-modal p{color:#475569;line-height:1.65;margin:0}.upgrade-modal div{display:flex;gap:12px;margin-top:22px}.upgrade-modal div button{background:#fff;border:1px solid #dbeafe;border-radius:12px;color:#2563eb;font-weight:800;padding:0 16px}@media (max-width:640px){.premium-lock-card{grid-template-columns:1fr}.premium-lock-card a,.upgrade-modal a,.upgrade-modal div,.upgrade-modal div button{width:100%}.upgrade-modal div{flex-direction:column}}.uclass-placeholder-page{background:#f7faff;color:#0f172a;min-height:100vh}.uclass-placeholder{background:#fff;border:1px solid #e5e7eb;border-radius:18px;margin:48px auto;max-width:760px;padding:36px;text-align:center}.uclass-placeholder h1{font-size:32px;line-height:1.2;margin:0 0 12px}.uclass-placeholder p{color:#64748b;font-size:17px;line-height:1.6;margin:0}@media (max-width:820px){.uclass-placeholder{margin:24px 14px;padding:28px 18px}.uclass-placeholder h1{font-size:26px}}.billing-page{background:#f7faff;color:#0f172a;min-height:100vh}.billing-hero{align-items:stretch;background:linear-gradient(135deg,#fff,#e6f0ff);border-bottom:1px solid #e5e7eb;display:grid;grid-gap:24px;gap:24px;grid-template-columns:minmax(0,1fr) 340px;padding:58px max(28px,calc((100vw - 1180px) / 2)) 44px}.billing-hero>div:first-child>span{color:#2563eb;font-size:13px;font-weight:800;text-transform:uppercase}.billing-hero h1{font-size:clamp(34px,4vw,52px);line-height:1.05;margin:12px 0 14px}.billing-hero p{color:#475569;font-size:17px;line-height:1.7;margin:0;max-width:660px}.billing-hero strong{align-items:center;display:flex;gap:10px;margin-top:22px}.billing-hero-card{background:#fff;border:1px solid #dbeafe;border-radius:24px;box-shadow:0 18px 45px rgba(37,99,235,.12);padding:28px}.billing-hero-card svg{color:#f59e0b}.billing-hero-card h2{font-size:26px;margin:18px 0 8px}.billing-entitlements,.billing-faq,.billing-grid{margin:0 auto;max-width:1180px;padding:28px}.billing-grid{display:grid;grid-gap:22px;gap:22px;grid-template-columns:repeat(2,minmax(0,1fr))}.billing-card{background:#fff;border:1px solid #e5e7eb;border-radius:24px;box-shadow:0 14px 36px rgba(15,23,42,.06);color:inherit;display:flex;flex-direction:column;gap:22px;min-height:100%;padding:26px;position:relative;text-decoration:none;text-align:left}.billing-card:is(button){cursor:pointer;font:inherit}.billing-card:is(button):hover{transform:translateY(-2px)}.billing-card.premium{border-color:#bfdbfe;box-shadow:0 18px 46px rgba(37,99,235,.12)}.billing-card h2{font-size:28px;margin:18px 0 8px}.billing-card header>strong{display:block;font-size:36px;line-height:1}.billing-card header>small{color:#2563eb;display:block;font-weight:800;margin-top:8px}.billing-card li,.billing-card p{color:#475569;line-height:1.6}.billing-card ul{display:grid;grid-gap:12px;gap:12px;list-style:none;margin:0;padding:0}.billing-card li{align-items:flex-start;display:flex;gap:10px}.billing-card li svg{color:#10b981;flex:0 0 auto;margin-top:3px}.billing-card>span:last-child{align-items:center;background:#2563eb;border-radius:14px;color:#fff;display:flex;font-weight:800;justify-content:center;margin-top:auto;min-height:48px}.billing-card>span.disabled{background:#eef6ff;color:#2563eb}.billing-checkout{margin:0 auto;max-width:1180px;padding:0 28px 28px}.billing-checkout article{align-items:center;background:#fff;border:1px solid #bfdbfe;border-radius:18px;display:grid;grid-gap:20px;gap:20px;grid-template-columns:minmax(0,1fr) 260px;padding:22px}.billing-checkout h2{font-size:24px;margin:0 0 12px}.billing-checkout p{color:#475569;margin:8px 0}.billing-checkout button{background:#0f172a;border:0;border-radius:12px;color:#fff;cursor:pointer;font-weight:800;margin-top:12px;min-height:42px;padding:0 16px}.billing-checkout img{border:1px solid #e5e7eb;border-radius:14px;max-width:100%;width:260px}.billing-error{background:#fef2f2;border:1px solid #fecaca;border-radius:12px;color:#b91c1c;font-weight:700;padding:12px 14px}.billing-entitlements h2,.billing-faq h2{font-size:24px;margin:0 0 18px}.billing-entitlements>div{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.billing-entitlements article,.billing-faq details{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:18px}.billing-entitlements h3{margin:0 0 12px}.billing-entitlements p{align-items:flex-start;color:#475569;display:flex;gap:8px;line-height:1.55;margin:10px 0 0}.billing-entitlements svg{color:#2563eb;flex:0 0 auto;margin-top:3px}.billing-faq{display:grid;grid-gap:12px;gap:12px;padding-bottom:52px}.billing-faq summary{align-items:center;color:#0f172a;cursor:pointer;display:flex;font-weight:800;justify-content:space-between}.billing-faq p{color:#475569;line-height:1.6;margin:12px 0 0}@media (max-width:820px){.billing-checkout article,.billing-entitlements>div,.billing-grid,.billing-hero{grid-template-columns:1fr}.billing-hero{padding:32px 20px 24px}.billing-checkout,.billing-entitlements,.billing-faq,.billing-grid{padding:20px}}.premium-page{--bg-page:#f4f8ff;--card:#fff;--text-main:#07123a;--text-secondary:#3c4a69;--text-muted:#7c8aa5;--primary:#0b72ff;--primary-dark:#005bea;--purple:#7c4dff;--green:#18b66e;--border:#dde7f5;--border-soft:#e8eef7;background:var(--bg-page);color:var(--text-main);font-family:Be Vietnam Pro,Inter,system-ui,sans-serif;min-height:100vh}.premium-header{background:#fff;border-bottom:1px solid var(--border-soft);height:76px;position:-webkit-sticky;position:sticky;top:0;z-index:50}.premium-header-inner{height:76px;justify-content:space-between;margin:0 auto;max-width:1360px;padding:0 24px}.premium-header nav,.premium-header-inner,.premium-header-left,.premium-user,.premium-user span{align-items:center;display:flex}.premium-header-left{gap:34px}.premium-header nav{gap:30px}.premium-header a{align-items:center;color:var(--text-main);display:flex;font-size:15px;font-weight:800;gap:8px;height:76px;position:relative;text-decoration:none}.premium-header a.active{color:var(--primary)}.premium-header a.active:after{background:var(--primary);border-radius:999px;bottom:0;content:"";height:3px;left:0;position:absolute;right:0}.premium-user{gap:12px}.premium-user span:not(.premium-coins){align-items:flex-start;flex-direction:column}.premium-user strong{font-size:16px;line-height:20px}.premium-user small{color:var(--text-muted);font-size:12px;font-weight:600}.premium-coins{background:#fff6da;border:1px solid #f4d98b;border-radius:999px;color:#8c6510;font-size:18px;font-weight:800;gap:6px;height:40px;justify-content:center;min-width:84px}.premium-mobile-header{display:none}.premium-shell{margin:0 auto;max-width:1360px;padding:16px 24px 28px}.premium-hero{align-items:center;background:radial-gradient(circle at 12% 15%,#fff 0 8%,transparent 18%),linear-gradient(180deg,#f6faff,#eef5ff);border:1px solid var(--border);border-radius:24px;display:grid;grid-template-columns:180px 1fr 160px;min-height:176px;overflow:hidden;padding:0 28px;position:relative}.premium-hero:after{background:rgba(214,231,255,.45);border-radius:50% 50% 0 0;bottom:-78px;content:"";height:126px;left:-5%;position:absolute;right:-5%}.premium-hero>div,.premium-robot{position:relative;z-index:1}.premium-hero h1{font-size:clamp(34px,4vw,52px);font-weight:900;letter-spacing:0;line-height:1.18;margin:0;text-align:center}.premium-hero h1 span{background:linear-gradient(90deg,#5d5fef,#a855f7);-webkit-background-clip:text;background-clip:text;color:transparent;font-style:italic}.premium-hero p{color:var(--text-secondary);font-size:18px;font-weight:600;line-height:28px;margin:10px auto 0;text-align:center}.premium-gift{align-items:center;background:linear-gradient(180deg,#2e80ff,#0b5ff0);border-radius:24px;color:#fff;display:flex;height:110px;justify-content:center;justify-self:end;position:relative;width:110px}.premium-crown{color:#f6b800;position:absolute;right:-8px;top:-18px}.premium-tabs{background:#fff;border:1px solid var(--border);border-radius:20px;display:grid;grid-gap:10px;gap:10px;grid-template-columns:1fr 1fr;margin:18px auto 0;max-width:980px;padding:8px}.premium-tabs button{align-items:center;background:#f8fbff;border:1px solid #e5ecf7;border-radius:14px;color:#6b7280;cursor:pointer;display:flex;gap:12px;min-height:54px;padding:0 18px}.premium-tabs button.active{background:var(--primary);border-color:var(--primary);box-shadow:0 10px 24px rgba(11,114,255,.18);color:#fff}.premium-tabs small,.premium-tabs strong{display:block;text-align:left}.premium-tabs strong{font-size:18px;font-weight:800;line-height:24px}.premium-tabs small{font-size:13px;font-weight:600;line-height:18px}.premium-panel{background:#fff;border:1px solid var(--border);border-radius:24px;margin:18px auto 0;max-width:1180px;padding:18px 28px}.premium-section-head h2{color:var(--primary);font-size:24px;font-weight:900;line-height:32px;margin:0}.premium-section-head p{color:var(--text-secondary);font-size:14px;font-weight:600;margin:0}.premium-plan-grid{display:grid;grid-gap:36px;gap:36px;grid-template-columns:repeat(3,1fr);margin:18px 28px 0}.premium-plan-card{background:#fff;border:1.5px solid var(--border);border-radius:20px;display:flex;flex-direction:column;min-height:214px;padding:22px 20px 18px;position:relative;text-align:center}.premium-plan-card.selected{border:2px solid var(--primary);box-shadow:0 18px 38px rgba(11,114,255,.11)}.premium-plan-badge{border-radius:8px;color:#fff;font-size:13px;font-weight:800;left:50%;padding:5px 16px;position:absolute;top:-14px;transform:translateX(-50%)}.premium-plan-badge.blue{background:var(--primary)}.premium-plan-badge.green{background:var(--green)}.premium-plan-medal{color:var(--primary);position:absolute;right:16px;top:16px}.premium-radio{display:none}.premium-plan-card h3{font-size:18px;font-weight:800;margin:0 0 6px}.premium-plan-card p{margin:0}.premium-plan-card p strong{color:#065cf5;font-size:28px;font-weight:900;line-height:34px}.premium-plan-card p span{font-size:16px;font-weight:700}.premium-plan-card del{color:#98a2b3;display:block;font-size:14px;font-weight:600;margin-top:8px}.premium-plan-card small{background:#f8fbff;border-radius:10px;display:inline-flex;font-size:15px;font-weight:800;justify-content:center;margin-top:8px;padding:8px 22px}.premium-cross-sell button,.premium-mobile-checkout button,.premium-plan-cta{border-radius:14px;cursor:pointer;font-weight:800}.premium-plan-cta{background:#fff;border:2px solid var(--primary);color:var(--primary);font-size:16px;height:44px;margin-top:auto}.premium-mobile-checkout button,.premium-plan-card.selected .premium-plan-cta{background:var(--primary);color:#fff}.premium-desktop-checkout{align-items:center;background:linear-gradient(90deg,#eef6ff,#f8fbff);border:1px solid #d6e7ff;border-radius:18px;display:flex;gap:18px;justify-content:space-between;margin:18px 28px 0;padding:14px 16px 14px 22px}.premium-desktop-checkout span{color:var(--text-secondary);font-size:15px;font-weight:700}.premium-desktop-checkout strong{color:var(--primary);font-weight:900}.premium-desktop-checkout button{align-items:center;background:var(--primary);border:0;border-radius:14px;color:#fff;cursor:pointer;display:flex;font-size:18px;font-weight:900;gap:10px;height:50px;justify-content:center;min-width:220px;padding:0 22px}.premium-desktop-checkout button:disabled,.premium-mobile-checkout button:disabled{cursor:wait;opacity:.72}.premium-checkout-panel{margin:18px 28px 0}.premium-checkout-panel article{align-items:center;background:#fff;border:1px solid #bfdbfe;border-radius:18px;display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(0,1fr) 220px;padding:18px}.premium-checkout-panel article.paid{background:#f0fdf4;border-color:#86efac;grid-template-columns:1fr}.premium-checkout-error,.premium-checkout-panel article>div>span{align-items:center;display:flex;gap:8px;font-weight:900}.premium-checkout-panel article>div>span{color:var(--primary)}.premium-checkout-panel h3{font-size:22px;margin:8px 0 10px}.premium-checkout-panel p{color:var(--text-secondary);font-weight:650;margin:7px 0}.premium-checkout-panel strong{color:var(--text-main);font-weight:900}.premium-checkout-panel img{border:1px solid var(--border-soft);border-radius:14px;justify-self:end;max-width:100%;width:220px}.premium-checkout-error{background:#fef2f2;border:1px solid #fecaca;border-radius:12px;color:#b91c1c;margin:0 0 10px;padding:12px 14px}.premium-comparison{border:1px solid var(--border);border-radius:20px;margin-top:18px;overflow:hidden}.premium-table-head,.premium-table-row{display:grid;grid-template-columns:42% 29% 29%}.premium-table-head>*,.premium-table-row>*{align-items:center;display:flex;justify-content:center;margin:0;min-height:42px;padding:0 14px}.premium-table-head strong{color:var(--primary);justify-content:flex-start}.premium-table-head{font-size:16px;font-weight:800}.premium-table-row{border-top:1px solid #eef2f7;color:var(--text-secondary);font-size:14px;font-weight:600}.premium-table-row p{gap:9px;justify-content:flex-start}.premium-table-row p svg{color:var(--purple)}.premium-table-row strong{color:var(--primary);font-weight:800}.premium-benefit-card{display:none}.premium-cross-sell{align-items:center;background:#f8f4ff;border:1px solid #d9ccff;border-radius:20px;display:grid;grid-template-columns:1fr 220px;margin:20px auto 0;max-width:1180px;min-height:108px;padding:0 24px}.premium-cross-sell button,.premium-cross-sell>div,.premium-trust article{align-items:center;display:flex}.premium-cross-sell>div{gap:24px}.premium-cross-sell span{align-items:center;background:#f3edff;border:1px solid #d9ccff;border-radius:16px;color:var(--purple);display:flex;height:64px;justify-content:center;width:64px}.premium-cross-sell h2{color:var(--purple);font-size:22px;font-weight:900;margin:0 0 6px}.premium-cross-sell p{color:var(--text-secondary);font-size:15px;font-weight:600;line-height:22px;margin:0}.premium-cross-sell button{background:transparent;border:2px solid var(--purple);color:var(--purple);font-size:18px;gap:12px;height:48px;justify-content:center}.premium-trust{background:#fff;border:1px solid var(--border);border-radius:18px;display:grid;grid-template-columns:repeat(4,1fr);margin:18px auto 0;max-width:1228px;min-height:102px}.premium-trust article{gap:14px;padding:0 24px}.premium-trust article+article{border-left:1px solid var(--border-soft)}.premium-trust svg{color:#10b981}.premium-trust h3,.premium-trust p{margin:0}.premium-trust h3{font-size:16px;font-weight:800}.premium-trust p{color:var(--text-muted);font-size:13px;font-weight:600;margin-top:3px}.premium-payments{gap:16px;margin-top:14px}.premium-payments,.premium-payments span{align-items:center;display:flex;justify-content:center}.premium-payments span{background:#fff;border:1px solid var(--border-soft);border-radius:14px;box-shadow:0 8px 24px rgba(18,54,114,.06);font-size:18px;font-weight:900;height:44px;min-width:88px;padding:0 18px}.pay-visa{color:#123c9c}.pay-mastercard{color:#e64a19}.pay-momo{color:#c2187a}.pay-zalopay{color:#0786ff}.premium-terms{color:var(--text-muted);font-size:12px;font-weight:600;line-height:18px;margin:14px auto 0;max-width:1180px}.premium-terms a{color:var(--primary);text-decoration:none}.premium-mobile-checkout{display:none}@media (max-width:1023px){.premium-header{display:none}.premium-mobile-header{align-items:center;background:#fff;border-bottom:1px solid var(--border-soft);display:grid;grid-template-columns:40px 1fr 40px;height:56px;padding:0 16px;position:-webkit-sticky;position:sticky;top:0;z-index:60}.premium-mobile-header a{color:var(--text-main)}.premium-mobile-header strong{font-size:18px;font-weight:900;text-align:center}.premium-shell{padding:12px 16px 112px}.premium-hero{grid-template-columns:72px 1fr 72px;min-height:178px;padding:18px 16px 14px}.premium-gift,.premium-robot{height:64px;width:64px}.premium-gift{border-radius:18px}.premium-gift svg:first-child{height:42px;width:42px}.premium-crown{height:24px;right:-4px;top:-10px;width:24px}.premium-hero h1{font-size:28px;line-height:34px}.premium-hero p{font-size:13px;line-height:20px}.premium-tabs{border-radius:18px;gap:8px;margin-top:12px;padding:6px}.premium-tabs button{justify-content:center;min-height:58px;padding:8px 10px;text-align:center}.premium-tabs small,.premium-tabs svg{display:none}.premium-tabs strong{font-size:12px;line-height:16px;text-align:center}.premium-panel{border:0;background:transparent;margin-top:16px;padding:0}.premium-section-head{text-align:center}.premium-section-head h2{font-size:16px;line-height:22px}.premium-section-head p{font-size:13px;line-height:18px;margin-top:4px}.premium-plan-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:1fr;margin:14px 0 0}.premium-plan-card{min-height:118px;padding:16px 44px 16px 16px;text-align:left}.premium-plan-card h3{font-size:16px;line-height:22px}.premium-plan-card p strong{font-size:22px;line-height:28px}.premium-plan-card p span{font-size:14px}.premium-plan-card small{background:transparent;display:block;font-size:14px;padding:0}.premium-plan-cta,.premium-plan-medal{display:none}.premium-radio{background:#fff;border:2px solid #c8d2e4;border-radius:999px;display:block;height:22px;padding:0;position:absolute;right:16px;top:42px;width:22px}.premium-plan-card.selected .premium-radio{background:radial-gradient(circle,#fff 0 28%,var(--primary) 32% 100%);border-color:var(--primary)}.premium-desktop-checkout{display:none}.premium-checkout-panel{margin:14px 0 0}.premium-checkout-panel article{grid-template-columns:1fr}.premium-checkout-panel img{justify-self:center;width:min(240px,100%)}.premium-comparison{display:none}.premium-benefit-card{background:#fff;border:1px solid var(--border);border-radius:18px;display:block;margin-top:18px;padding:16px}.premium-benefit-card h3{font-size:16px;font-weight:900;margin:0 0 12px}.premium-benefit-card p{align-items:center;color:var(--text-secondary);display:flex;font-size:13px;font-weight:700;justify-content:space-between;line-height:22px;margin:10px 0 0}.premium-benefit-card svg{color:var(--primary)}.premium-cross-sell{display:grid;grid-template-columns:1fr;grid-gap:12px;gap:12px;min-height:0;padding:16px}.premium-cross-sell>div{gap:12px}.premium-cross-sell span{height:48px;width:48px}.premium-cross-sell h2{font-size:18px}.premium-cross-sell p{font-size:13px;line-height:20px}.premium-cross-sell button{width:100%}.premium-trust{gap:12px;grid-template-columns:1fr 1fr;min-height:0;padding:0}.premium-trust article{border:1px solid var(--border-soft);border-radius:16px;min-height:82px;padding:14px}.premium-trust article+article{border-left:1px solid var(--border-soft)}.premium-trust h3{font-size:13px}.premium-trust p{font-size:11px}.premium-payments{flex-wrap:wrap;gap:10px}.premium-payments span{height:40px;min-width:80px}.premium-terms{font-size:11px;line-height:16px;text-align:center}.premium-mobile-checkout{background:#fff;border-top:1px solid var(--border-soft);bottom:68px;display:block;left:0;padding:10px 16px 14px;position:fixed;right:0;z-index:70}.premium-mobile-checkout button{border:0;font-size:20px;height:54px;width:100%}.premium-mobile-checkout p{align-items:center;color:var(--text-muted);display:flex;font-size:12px;font-weight:600;gap:6px;justify-content:center;margin:10px 0 0}}@media (max-width:680px){.premium-hero{align-items:start;grid-template-columns:64px 1fr 64px}.premium-hero div:nth-child(2){grid-column:1/-1;grid-row:2;margin-top:6px}}.guest-signup-backdrop{align-items:center;background:rgba(15,23,42,.28);display:flex;inset:0;justify-content:center;padding:18px;position:fixed;z-index:200}.guest-signup-modal{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 24px 70px rgba(15,23,42,.2);color:#0f172a;max-width:420px;padding:24px;position:relative;width:100%}.guest-signup-close{background:transparent;border:0;color:#64748b;cursor:pointer;position:absolute;right:14px;top:14px}.guest-signup-icon{align-items:center;background:#eef5ff;border-radius:14px;color:#2563eb;display:inline-flex;height:52px;justify-content:center;width:52px}.guest-signup-modal h2{font-family:var(--font-heading);font-size:24px;margin:16px 0 8px}.guest-signup-modal p{color:#64748b;line-height:1.6;margin:0}.guest-signup-actions{display:flex;gap:10px;margin-top:20px}.guest-signup-actions a,.guest-signup-actions button{border-radius:12px;cursor:pointer;flex:1 1;font-weight:700;padding:12px 16px;text-align:center;text-decoration:none}.guest-signup-actions a{background:#2563eb;color:#fff}.guest-signup-actions button{background:#fff;border:1px solid #e5e7eb;color:#0f172a}.policy-page{background:#f7faff;color:#0f172a;min-height:100vh}.policy-hero{align-items:center;background:radial-gradient(circle at 82% 28%,rgba(37,99,235,.16),transparent 30%),linear-gradient(105deg,#f8fbff,#edf5ff);border-bottom:1px solid #e5e7eb;display:grid;grid-gap:24px;gap:24px;grid-template-columns:1fr 320px;min-height:218px;overflow:hidden;padding:38px clamp(24px,5vw,72px)}.policy-hero h1{font-size:clamp(36px,4vw,48px);line-height:1.05;margin:8px 0 12px}.policy-hero p{color:#334155;font-size:18px;line-height:1.6;margin:0;max-width:720px}.policy-breadcrumb,.policy-breadcrumb a,.policy-hero small,.policy-hero-kicker{align-items:center;display:inline-flex;gap:8px}.policy-hero small{color:#64748b;font-size:15px;margin-top:20px}.policy-hero-kicker{color:#2563eb;font-weight:700}.policy-hero-art{display:flex;height:170px;position:relative}.policy-hero-art,.policy-hero-art span{align-items:center;justify-content:center}.policy-hero-art span{background:#fff;border-radius:30px;box-shadow:0 24px 60px rgba(37,99,235,.18);color:#2563eb;display:inline-flex;height:128px;transform:rotate(4deg);width:128px;z-index:1}.policy-hero-art b,.policy-hero-art i{background:#dbeafe;border-radius:999px;display:block;position:absolute}.policy-hero-art i{height:72px;right:54px;top:12px;width:72px}.policy-hero-art b{bottom:16px;height:44px;left:58px;width:44px}.policy-shell{margin:0 auto;max-width:1280px;padding:22px 28px 48px}.policy-breadcrumb{color:#64748b;font-size:14px;margin-bottom:18px}.policy-breadcrumb a,.policy-breadcrumb strong{color:#2563eb;text-decoration:none}.policy-grid{align-items:start;display:grid;grid-gap:24px;gap:24px;grid-template-columns:290px 1fr}.policy-sidebar{display:grid;grid-gap:14px;gap:14px;position:-webkit-sticky;position:sticky;top:86px}.billing-plan-grid article,.contact-faq,.contact-form-card,.contact-info-card,.policy-article-card,.policy-nav-card,.policy-related,.policy-support-card{background:#fff;border:1px solid #e5e7eb;border-radius:22px;box-shadow:0 16px 36px rgba(15,23,42,.05)}.policy-nav-card{display:grid;grid-gap:18px;gap:18px;padding:20px}.policy-nav-card section{display:grid;grid-gap:6px;gap:6px}.policy-nav-card section+section{border-top:1px solid #e5e7eb;padding-top:16px}.policy-nav-card h2{align-items:center;display:flex;font-size:20px;gap:10px;margin:0 0 6px}.policy-nav-card a{align-items:center;border-radius:12px;color:#0f172a;display:grid;font-size:15px;font-weight:500;grid-gap:10px;gap:10px;grid-template-columns:20px 1fr;min-height:42px;padding:9px 10px;text-decoration:none}.policy-nav-card a.active,.policy-nav-card a:hover{background:#e6f0ff;color:#2563eb}.policy-content{display:grid;grid-gap:18px;gap:18px}.policy-article-card{padding:28px}.policy-article-card header h2{font-size:30px;margin:0 0 10px}.policy-article-card header span{align-items:center;color:#64748b;display:inline-flex;gap:8px;margin-bottom:12px}.policy-article-card header p,.policy-mobile-accordion p,.policy-section li,.policy-section p{color:#334155;font-size:15px;line-height:1.75}.policy-section{padding:8px 0}.policy-section h3{font-size:19px;margin:0 0 8px}.policy-section p,.policy-section ul{margin:0}.policy-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.contact-submit,.policy-ctas a,.policy-support-card>a{align-items:center;background:#2563eb;border:1px solid #2563eb;border-radius:14px;color:#fff;display:inline-flex;font-weight:700;justify-content:center;min-height:46px;padding:0 18px;text-decoration:none}.policy-ctas a.secondary{background:#fff;color:#2563eb}.policy-mobile-accordion{display:none}.policy-support-card{align-items:center;display:grid;grid-gap:18px;gap:18px;grid-template-columns:auto 1fr auto;padding:22px}.policy-support-card.compact{grid-template-columns:auto 1fr}.policy-support-card.compact>a{grid-column:1/-1;width:100%}.policy-support-icon{align-items:center;background:#e6f0ff;border-radius:999px;color:#2563eb;display:inline-flex;height:72px;justify-content:center;width:72px}.policy-support-card h2,.policy-support-card p{margin:0}.policy-support-card p,.policy-support-card span{color:#64748b}.policy-support-card a[href^=tel]{color:#2563eb;display:block;font-size:24px;font-weight:800;text-decoration:none}.policy-support-card.compact a[href^=tel]{font-size:21px}.policy-related{padding:22px}.contact-faq h2,.policy-related h2{font-size:22px;margin:0 0 14px}.policy-related>div{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.policy-related a{align-items:center;border:1px solid #e5e7eb;border-radius:16px;color:#0f172a;display:grid;grid-gap:12px;gap:12px;grid-template-columns:36px 1fr 20px;padding:16px;text-decoration:none}.policy-related small{color:#64748b;display:block;margin-top:4px}.billing-plan-grid,.contact-layout{display:grid;grid-gap:20px;gap:20px;grid-template-columns:repeat(2,minmax(0,1fr))}.billing-plan-grid article{padding:22px}.billing-plan-grid span{color:#2563eb;font-weight:800}.billing-plan-grid h2{margin:8px 0}.billing-plan-grid p{color:#64748b;line-height:1.7;margin:0}.contact-faq,.contact-form-card,.contact-info-card{padding:24px}.contact-form-card h2,.contact-info-card h2{font-size:24px;margin:0 0 12px}.contact-info-card p{color:#334155;line-height:1.7}.contact-hotline,.contact-socials a{align-items:center;border:1px solid #e5e7eb;border-radius:16px;color:#0f172a;display:grid;grid-gap:12px;gap:12px;grid-template-columns:42px 1fr 18px;padding:14px;text-decoration:none}.contact-hotline{background:#f7faff;grid-template-columns:42px 1fr}.contact-hotline strong{color:#2563eb;display:block;font-size:24px}.contact-hotline small,.contact-note,.contact-socials small{color:#64748b}.contact-socials{display:grid;grid-gap:10px;gap:10px}.contact-socials img{height:34px;width:34px}.contact-socials span{display:grid;grid-gap:2px;gap:2px}.contact-socials small,.contact-socials strong{display:block}.contact-form-card,.contact-form-grid{display:grid;grid-gap:16px;gap:16px}.contact-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-form-card label{color:#0f172a;display:grid;font-weight:600;grid-gap:8px;gap:8px}.contact-form-card input,.contact-form-card select,.contact-form-card textarea{border:1px solid #dbe3ef;border-radius:12px;color:#0f172a;font:inherit;min-height:48px;padding:0 14px}.contact-form-card textarea{min-height:150px;padding-top:14px;resize:vertical}.contact-form-card label small{color:#64748b;justify-self:end}.contact-submit{cursor:pointer;gap:8px}.contact-note,.contact-success{align-items:center;display:flex;gap:8px;margin:0}.contact-success{display:none;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:12px;color:#047857;padding:12px}.contact-success:target{display:flex}.contact-faq>div{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.contact-faq details{border:1px solid #e5e7eb;border-radius:12px;padding:12px 14px}.contact-faq summary{align-items:center;cursor:pointer;display:flex;font-weight:700;justify-content:space-between}@media (max-width:900px){.policy-hero{grid-template-columns:1fr;padding:28px 24px 34px}.policy-hero-art{display:none}.policy-shell{padding:18px 18px 34px}.billing-plan-grid,.contact-faq>div,.contact-form-grid,.contact-layout,.policy-grid,.policy-related>div{grid-template-columns:1fr}.policy-desktop-sections,.policy-sidebar{display:none}.policy-mobile-accordion{display:grid;grid-gap:14px;gap:14px}.policy-mobile-accordion article{border:1px solid #e5e7eb;border-radius:18px;overflow:hidden}.policy-mobile-accordion button{background:#fff;border:0;color:#0f172a;cursor:pointer;display:grid;grid-gap:8px;gap:8px;grid-template-columns:42px 1fr 24px;padding:18px;text-align:left;width:100%}.policy-mobile-accordion button span{align-items:center;background:#2563eb;border-radius:999px;color:#fff;display:inline-flex;font-weight:800;height:36px;justify-content:center;width:36px}.policy-mobile-accordion button p{grid-column:2/3;margin:0}.policy-mobile-accordion article>div{border-top:1px solid #e5e7eb;padding:0 18px 18px 60px}.contact-faq,.contact-form-card,.contact-info-card,.policy-article-card{padding:20px}.policy-support-card{grid-template-columns:auto 1fr}.policy-support-card>a{grid-column:1/-1;width:100%}}.account-panel,.progress-panel{background:#fbfcf8;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:12px;gap:12px;margin-top:16px;padding:14px}.account-panel h2,.history-list h3,.progress-panel h2{margin:0}.account-row{align-items:center;display:flex;gap:10px;justify-content:space-between}.icon-button{align-items:center;background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--ink);display:inline-flex;height:38px;justify-content:center;width:38px}.auth-grid{display:grid;grid-gap:8px;gap:8px}.auth-grid input,.auth-grid select{background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--ink);min-height:42px;padding:10px 12px;width:100%}.stats-grid{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.stat{background:#fff;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:4px;gap:4px;min-width:0;padding:10px}.stat span{color:var(--muted);font-size:12px}.stat strong{color:var(--green);font-size:18px}.retention-note{background:#eef4ff;border:1px solid #bdd2ff;border-radius:8px;color:var(--ink);margin:0;padding:10px}.progress-panel{margin-bottom:16px;margin-top:0}.section-title.compact{margin:8px 0}.section-title.compact h3{font-size:15px}.history-list{display:grid;grid-gap:8px;gap:8px}.history-item{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:8px;justify-content:space-between;padding-bottom:8px}.history-item span{color:var(--muted);min-width:0}.history-item strong{color:var(--red)}.board-tabs{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:12px}.board-tabs button{background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--ink);font-weight:800;min-height:38px}.board-tabs button.active{background:var(--ink);border-color:var(--ink);color:#fff}.empty svg{vertical-align:text-bottom}@media (max-width:980px){.account-panel{margin-top:12px}}@media (max-width:640px){.stats-grid{grid-template-columns:1fr}}.home{background:linear-gradient(180deg,#f8fbff,#fff 52%,#f6f9ff);color:var(--ink);min-height:100vh}.home-nav{align-items:center;background:hsla(0,0%,100%,.9);border-bottom:1px solid #e6ebf5;display:grid;grid-gap:20px;gap:20px;grid-template-columns:auto auto minmax(260px,580px) auto;min-height:64px;padding:0 34px;position:-webkit-sticky;position:sticky;top:0;z-index:5}.brand{color:#1455f4;font-size:28px;font-weight:900;text-decoration:none}.bottom-cta,.hero-actions,.home-nav nav,.nav-actions,.trust-row{align-items:center;display:flex}.home-nav nav{gap:28px}.home-nav a{color:var(--ink);font-weight:800;text-decoration:none}.searchbox{align-items:center;background:#f7f9fd;border:1px solid #dfe6f3;border-radius:8px;color:#718096;display:flex;gap:10px;height:40px;padding:0 14px}.searchbox input{background:transparent;border:0;color:var(--ink);outline:0;width:100%}.nav-actions{gap:18px;justify-content:end}.home-user-name{color:#071433;font-weight:800;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-avatar-link{align-items:center;background:linear-gradient(135deg,#ffd6cc,#ffd6ee);border-radius:999px;color:#9a3412!important;display:inline-flex;font-weight:900;height:42px;justify-content:center;width:42px}.cta-primary,.login-button{background:#1455f4;border-radius:8px;color:#fff!important;box-shadow:0 12px 28px rgba(20,85,244,.25);padding:12px 22px}.home-hero{margin:0 auto;max-width:850px;padding:48px 20px 24px;text-align:center}.home-hero h1{font-size:clamp(36px,5vw,52px);line-height:1.05;margin:0 0 16px}.home-hero p{color:#334155;font-size:18px;line-height:1.55;margin:0 auto;max-width:700px}.hero-actions{flex-direction:column;gap:12px;justify-content:center;margin-top:20px}.cta-link{color:#1455f4;font-weight:900;text-decoration:none}.module-grid{display:grid;grid-gap:28px;gap:28px;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 auto;max-width:1350px;padding:0 28px 34px}.module-card{border-radius:18px;color:var(--ink);display:grid;grid-gap:10px;gap:10px;min-height:330px;padding:16px;text-align:center;text-decoration:none}.module-card h2{font-size:23px;margin:0}.module-card p{margin:0 0 8px}.module-card.blue{background:#cfe3ff}.module-card.violet{background:#d9d1ff}.module-card.yellow{background:#ffe08a}.module-card.pink{background:#ffd4de}.result-tile,.route-tile{border-radius:18px;box-shadow:0 18px 40px rgba(15,23,42,.08);color:var(--ink);display:grid;grid-gap:14px;gap:14px;min-height:330px;padding:22px 20px;text-align:left}.result-tile{align-content:start;border:1px solid #e4e9f4;background:#fff;gap:12px;min-height:168px;padding:20px}.result-tile-head,.route-tile-head{align-items:center;display:flex;gap:12px}.result-tile-head h2{font-size:18px;margin:0}.route-tile-head h2{font-size:20px;margin:0}.route-tile-head div{display:grid;grid-gap:4px;gap:4px}.result-tile-body{display:grid;grid-gap:5px;gap:5px}.result-value{font-size:34px;font-weight:900;line-height:1}.result-note{color:#64748b;font-size:14px}.result-tile.tone-blue{background:#eef4ff;border-color:#d4e3ff}.result-tile.tone-green{background:#ecfdf3;border-color:#c7f0d4}.result-tile.tone-orange{background:#fff5ec;border-color:#ffd9b8}.result-tile.tone-purple{background:#f4efff;border-color:#e0d4ff}.route-tile{border:1px solid transparent;text-decoration:none}.route-badge{background:rgba(15,23,42,.06);border-radius:999px;color:#475569;font-size:11px;font-weight:700;letter-spacing:.04em;padding:3px 10px;text-transform:uppercase;width:max-content}.route-progress{display:grid;grid-gap:8px;gap:8px}.route-progress-meta{align-items:center;display:flex;justify-content:space-between}.route-progress-meta strong{font-size:15px}.route-progress-meta span:last-child{color:#64748b;font-size:14px;font-weight:700}.route-cta{align-items:center;background:#0f172a;border-radius:12px;color:#fff;display:inline-flex;font-weight:700;gap:6px;justify-content:center;padding:12px 16px;width:max-content}.route-tile.tone-blue{background:#d4e3ff}.route-tile.tone-green{background:#c7f0d4}.preview{background:#fff;border:1px solid #e4e9f4;border-radius:14px;box-shadow:0 18px 40px rgba(15,23,42,.08);display:grid;grid-gap:9px;gap:9px;min-height:210px;padding:18px;text-align:left}.choice{border:1px solid #dbe3ef;border-radius:7px;padding:7px 10px}.choice.selected{background:#5b9df5;color:#fff}.battle-preview,.score-preview{justify-items:center;text-align:center}.battle-preview button,.class-preview button,.score-preview button{background:#f8faff;border:1px solid #dfe6f3;border-radius:8px;color:#1455f4;font-weight:900;min-height:38px}.podium{align-items:end;display:grid;grid-gap:8px;gap:8px;grid-template-columns:1fr auto 1fr;width:100%}.podium strong{background:#fff0bf;border-radius:10px 10px 4px 4px;padding:28px 16px 12px}.score-preview strong{align-items:center;border:10px solid #45c28b;border-left-color:#dce6f2;border-radius:999px;display:flex;font-size:32px;height:104px;justify-content:center;width:104px}.class-grid{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.class-grid span{background:#f9fbff;border:1px solid #e4e9f4;border-radius:8px;padding:12px 8px}.platform-section{align-items:center;border-top:1px solid #e6ebf5;display:grid;grid-gap:34px;gap:34px;grid-template-columns:.85fr 1.15fr;margin:0 auto;max-width:1120px;padding:34px 24px 26px}.platform-copy h2{font-size:34px;line-height:1.15;margin:0 0 16px}.platform-copy p{color:#334155;line-height:1.55;margin:0 0 20px}.trust-row{flex-wrap:wrap;gap:12px}.trust-row span{align-items:center;border:1px solid #dfe6f3;border-radius:8px;display:inline-flex;gap:8px;padding:12px}.dashboard-preview{background:#fff;border:1px solid #dfe6f3;border-radius:18px;box-shadow:0 22px 52px rgba(15,23,42,.12);display:grid;grid-gap:18px;gap:18px;grid-template-columns:140px 1fr 1.4fr;min-height:230px;padding:16px}.dashboard-preview aside,.progress-card,.subject-progress-card{background:#fbfcff;border:1px solid #e6ebf5;border-radius:12px;display:grid;grid-gap:10px;gap:10px;padding:14px}.dashboard-preview aside span.active{background:#eaf1ff;border-radius:8px;color:#1455f4;font-weight:900;padding:8px}.subject-progress-card{align-content:center;gap:12px}.subject-progress-card strong{font-size:18px}.subject-progress-card span{align-items:center;display:flex;justify-content:space-between}.subject-progress-card b{color:#0f172a}.subject-progress-card i{color:#64748b;font-style:normal;font-weight:700}.progress-card strong{color:#1455f4;font-size:34px}.audience-row{border-top:1px solid #e6ebf5;display:grid;grid-gap:0;gap:0;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 auto;max-width:1350px;padding:28px}.audience-item{align-items:center;border-right:1px solid #e6ebf5;display:flex;gap:16px;padding:0 22px}.audience-item:last-child{border-right:0}.audience-icon{align-items:center;background:#eaf1ff;border-radius:999px;color:#1455f4;display:flex;flex:0 0 58px;height:58px;justify-content:center}.audience-item h3,.audience-item p,.bottom-cta h2,.bottom-cta p{margin:0}.audience-item p,.bottom-cta p{color:#475569}.bottom-cta{background:#eef4ff;border-radius:20px;gap:24px;justify-content:center;margin:0 auto 28px;max-width:1160px;padding:18px 26px}@media (max-width:1100px){.home-nav{grid-template-columns:1fr auto}.home-nav nav,.searchbox{display:none}.audience-row,.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-preview,.platform-section{grid-template-columns:1fr}}@media (max-width:680px){.home-nav{padding:0 16px}.audience-row,.module-grid{grid-template-columns:1fr}.module-grid:has(.result-tile){gap:14px;padding-bottom:24px}.result-tile{gap:10px;min-height:128px;padding:18px 20px}.result-tile-head{gap:10px}.result-tile-head h2{font-size:17px}.result-value{font-size:32px}.result-note{font-size:13px;line-height:1.35}.audience-item{border-right:0;border-bottom:1px solid #e6ebf5;padding:18px 0}.bottom-cta{align-items:stretch;flex-direction:column;margin:0 16px 24px}}