@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:600 800;font-display:optional;src:url("../fonts/plus-jakarta-sans-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}@font-face{font-family:"Plus Jakarta Sans Fallback";src:local("Segoe UI"),local("Arial");size-adjust:105.5%;ascent-override:92%;descent-override:18%;line-gap-override:0%;}@font-face{font-family:"Roboto";font-style:normal;font-weight:500;font-display:optional;src:url("../fonts/roboto-latin-500.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}:root{color-scheme:light;--paper:#f3f6fb;--ink:#12233f;--heading:#0b2244;--navy:#0b2244;--navy-dark:#07101c;--muted:#3a4d63;--line:#c5d0e0;--brand:#0b2244;--brand-bright:#1a73e8;--brand-bright-hover:#1558c0;--link:#0b57d0;--link-hover:#0842a0;--mark:#c4451c;--mark-fill:#c4451c;--white:#ffffff;--on-accent:#ffffff;--pass:#0a6e62;--pass-fill:#0a6e62;--pass-dark:#08574e;--pass-bg:#e7f7f4;--fail-bg:#fff0eb;--hover:#eaf2ff;--hover-border:#9ec2f5;--hero-1:#f7fbff;--hero-2:#eef4ff;--lilac:#f1edff;--lilac-border:#d4c9f0;--card-bg:#ffffff;--card-border:#d9e2ee;--header:#0b2244;--header-ink:#0b2244;--header-bg:rgb(255 255 255 / 0.94);--header-border:#e4eaf3;--cta-bg:#0b2244;--footer-bg:#0b2244;--footer-text:#f3f6fb;--footer-link:#ffffff;--footer-copy:#d7e2f0;--footer-social-bg:#1a73e8;--site-gutter:1rem;--content-gutter:2rem;--flash-bg:#fff6ee;--flash-line:#c48a12;--flash-ink:#6b4500;--gold-text:#6b4500;--neutral-bar:#dce3ef;--neutral-muted:#3a4d63;--neutral-border:#b7c4d6;--tap:48px;--radius-lg:1.375rem;--radius-md:0.875rem;--shadow-sm:0 8px 24px rgb(11 34 68 / 0.06);--shadow:0 18px 50px rgb(11 34 68 / 0.08);--ub-navy:#0b2244;--ub-ink:#12233f;--ub-blue:#1a73e8;--ub-teal:#0a6e62;--ub-muted:#3a4d63;--ub-line:#c5d0e0;--ub-bg:#f3f6fb;--ub-white:#ffffff;--ub-card:#ffffff;--ub-nav-bg:rgb(255 255 255 / 0.94);--ub-sky:#eaf2ff;--ub-cta-bg:#0b2244;--ub-footer-bg:#0b2244;--ub-footer-text:#f3f6fb;--ub-footer-heading:#ffffff;--ub-footer-link:#ffffff;--ub-footer-social-bg:#1a73e8;--ub-shadow:0 18px 50px rgb(11 34 68 / 0.08);--class-box-bg:#0b2244;--class-box-ink:#ffffff;--class-box-border:#0b2244;--class-box-hover-bg:#123056;--class-box-hover-border:#123056;--class-box-on-bg:#0842a0;--class-box-on-border:#ffffff;--class-box-on-ink:#ffffff;--subject-mock-bg:linear-gradient(135deg,#0b2244 0%,#1558c0 58%,#1a73e8 100%);--subject-mock-bg-hover:linear-gradient(135deg,#123056 0%,#1a73e8 62%,#3d8bff 100%);--subject-mock-ink:#ffffff;--subject-mock-muted:#d7e2f0;--subject-mock-border:#1558c0;--subject-mock-chip-bg:rgb(255 255 255 / 0.14);--subject-mock-chip-line:rgb(255 255 255 / 0.3);--tone-accent:#1a73e8;--tone-tint:#eef5ff;--tone-tint-hover:#e3eeff;--tone-line:#c5daf8;--start-bg:#ea580c;--start-hover:#c2410c;--start-shadow:0 6px 14px rgb(234 88 12 / 0.35);}html[data-ub-theme="night"]{color-scheme:dark;--paper:#0b1220;--ink:#eaf0fa;--heading:#ffffff;--navy:#eaf0fa;--navy-dark:#07101c;--muted:#b8c7dc;--line:#4a6280;--brand:#7db3ff;--brand-bright:#7db3ff;--brand-bright-hover:#9cc4ff;--link:#8ab4ff;--link-hover:#c2d6ff;--mark:#ffb199;--mark-fill:#c4451c;--pass:#4ad4c0;--pass-fill:#0a6e62;--pass-dark:#08574e;--pass-bg:#12332e;--fail-bg:#3a2018;--hover:#1a2d4a;--hover-border:#7db3ff;--hero-1:#0e1829;--hero-2:#102038;--lilac:#241e3a;--lilac-border:#4c3d78;--card-bg:#121c2e;--card-border:#3a5068;--header:#ffffff;--header-ink:#eaf0fa;--header-bg:rgb(11 18 32 / 0.94);--header-border:#2c3f5c;--cta-bg:#1a73e8;--footer-bg:#07101c;--footer-text:#e8eef8;--footer-link:#d5e4ff;--footer-copy:#c5d4ea;--footer-social-bg:#1560c4;--flash-bg:#2d2418;--flash-line:#f5b942;--flash-ink:#ffe08a;--gold-text:#ffe08a;--neutral-bar:#24364f;--neutral-muted:#b8c7dc;--neutral-border:#4a6280;--shadow-sm:0 8px 24px rgb(0 0 0 / 0.28);--shadow:0 18px 50px rgb(0 0 0 / 0.4);--ub-navy:#eaf0fa;--ub-ink:#f4f7fc;--ub-blue:#7db3ff;--ub-teal:#4ad4c0;--ub-muted:#b8c7dc;--ub-line:#4a6280;--ub-bg:#0b1220;--ub-white:#121c2e;--ub-card:#121c2e;--ub-nav-bg:rgb(11 18 32 / 0.94);--ub-sky:#1a2d4a;--ub-cta-bg:#1a73e8;--ub-footer-bg:#07101c;--ub-footer-text:#e8eef8;--ub-footer-heading:#ffffff;--ub-footer-link:#d5e4ff;--ub-footer-social-bg:#1560c4;--ub-shadow:0 18px 50px rgb(0 0 0 / 0.4);--class-box-bg:#7db3ff;--class-box-ink:#07101c;--class-box-border:#9cc4ff;--class-box-hover-bg:#9cc4ff;--class-box-hover-border:#c2d6ff;--class-box-on-bg:#c2d6ff;--class-box-on-border:#eaf0fa;--class-box-on-ink:#07101c;--subject-mock-bg:linear-gradient(135deg,#0e3a78 0%,#1560c4 55%,#4ad4c0 140%);--subject-mock-bg-hover:linear-gradient(135deg,#1558c0 0%,#1a73e8 60%,#4ad4c0 140%);--subject-mock-ink:#ffffff;--subject-mock-muted:#d7e2f0;--subject-mock-border:#7db3ff;--subject-mock-chip-bg:rgb(255 255 255 / 0.12);--subject-mock-chip-line:rgb(255 255 255 / 0.28);--tone-accent:#3d8bff;--tone-tint:#15263d;--tone-tint-hover:#1b3252;--tone-line:#3d5a82;--start-bg:#ea580c;--start-hover:#fb923c;--start-shadow:0 6px 14px rgb(251 146 60 / 0.4);}*{box-sizing:border-box;}html{scroll-behavior:smooth;font-size:100%;background:var(--paper);}body{margin:0;min-height:100vh;font-family:"Plus Jakarta Sans","Plus Jakarta Sans Fallback","Noto Sans Devanagari",system-ui,"Segoe UI",sans-serif;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;}body.ub-nav-open,body.modal-open{overflow:hidden;}a{color:inherit;text-decoration:none;}.link,.login-back{color:var(--link);text-underline-offset:0.18em;}.link:hover,.login-back:hover{color:var(--link-hover);text-decoration:underline;}button,input,select{font:inherit;}:focus-visible{outline:3px solid var(--brand-bright);outline-offset:2px;}h1,h2,h3,p,dl,dd,dt,ul{margin:0;}h1,h2,h3{color:var(--heading);}input[type="radio"],input[type="checkbox"]{accent-color:var(--brand-bright);}.site{min-height:100vh;display:flex;flex-direction:column;background:var(--paper);}.wrap{width:min(1152px,calc(100% - (var(--site-gutter) * 2)));margin-inline:auto;}.wrap-narrow{width:min(768px,calc(100% - (var(--site-gutter) * 2)));margin-inline:auto;}.dashboard-band .wrap,.main .wrap{width:min(1152px,calc(100% - (var(--content-gutter) * 2)));}.main .wrap-narrow{width:min(768px,calc(100% - (var(--content-gutter) * 2)));}.main{flex:1;background:var(--paper);}.page{padding:1.25rem 0;}.ub-skip{position:absolute;left:-999px;top:0;background:var(--cta-bg);color:var(--on-accent);padding:8px 12px;z-index:100;}.ub-skip:focus{left:12px;top:12px;}.ub-svg-sprite{position:absolute;width:0;height:0;overflow:hidden;}.ub-nav{--ub-muted:#5b6b82;--ub-line:#e4eaf3;position:sticky;top:0;z-index:50;width:100%;min-height:58px;background:var(--ub-nav-bg);border-bottom:1px solid var(--ub-line);padding-top:env(safe-area-inset-top,0);}html[data-ub-theme="night"] .ub-nav{--ub-muted:#9aabc2;--ub-line:#2c3f5c;}.ub-nav-inner{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:64px;width:100%;max-width:none;padding:0 20px;flex-wrap:nowrap;}.ub-brand{display:flex;align-items:center;gap:8px;text-decoration:none !important;color:var(--ub-navy) !important;font-weight:800;font-size:1rem;letter-spacing:-0.03em;flex-shrink:0;}.ub-brand img{width:36px;height:36px;border-radius:10px;object-fit:contain;background:var(--ub-card);}.ub-nav-links{display:flex;align-items:center;flex-wrap:nowrap;justify-content:flex-end;gap:0;list-style:none;margin:0;padding:0;flex:1 1 auto;min-width:0;}.ub-nav-links li{flex-shrink:0;}.ub-nav-links a{display:block;padding:6px 8px;border-radius:999px;text-decoration:none !important;color:var(--ub-muted) !important;font-size:0.82rem;font-weight:600;white-space:nowrap;}.ub-nav-links a:hover,.ub-nav-links a.is-active{background:var(--ub-sky);color:var(--ub-blue) !important;}.ub-nav-cta{display:inline-flex;align-items:center;gap:6px;background:var(--ub-cta-bg);color:#fff !important;text-decoration:none !important;font-weight:700;font-size:0.82rem;padding:8px 12px;border-radius:999px;white-space:nowrap;flex-shrink:0;}.ub-nav-cta:hover{filter:brightness(1.08);color:#fff !important;text-decoration:none !important;}.ub-nav-login{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--ub-line);background:var(--ub-card);color:var(--ub-navy) !important;text-decoration:none !important;font-weight:700;font-size:0.82rem;padding:8px 12px;border-radius:999px;white-space:nowrap;flex-shrink:0;}.ub-nav-login:hover{border-color:var(--ub-blue);background:var(--ub-sky);color:var(--ub-blue) !important;text-decoration:none !important;}.ub-nav-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;}.ub-theme-toggle{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--ub-line);background:var(--ub-card);color:var(--ub-navy);font-family:inherit;font-size:0.82rem;font-weight:700;padding:8px 12px;border-radius:999px;cursor:pointer;white-space:nowrap;}.ub-theme-toggle:hover{border-color:var(--ub-blue);background:var(--ub-sky);}.ub-theme-ico::before{content:"☾";font-size:1rem;line-height:1;}html[data-ub-theme="night"] .ub-theme-ico::before{content:"☀";}.ub-nav-toggle{display:none;place-items:center;flex-shrink:0;border:1px solid var(--ub-line);background:var(--ub-card);width:42px;height:42px;border-radius:12px;cursor:pointer;color:var(--ub-navy);}.ub-burger,.ub-burger::before,.ub-burger::after{display:block;width:18px;height:2px;background:currentColor;border-radius:2px;}.ub-burger{position:relative;}.ub-burger::before,.ub-burger::after{content:"";position:absolute;left:0;}.ub-burger::before{top:-6px;}.ub-burger::after{top:6px;}.mobile-bottom-nav{display:none;}.ub-kicker{display:inline-flex;align-items:center;gap:8px;width:fit-content;background:var(--card-bg);border:1px solid var(--line);color:var(--pass);font-size:0.78rem;font-weight:800;letter-spacing:0.06em;text-transform:uppercase;padding:6px 12px;border-radius:999px;margin:0 0 12px;}.ub-kicker span{width:8px;height:8px;border-radius:50%;background:var(--pass-fill);box-shadow:0 0 0 4px rgb(10 110 98 / 0.16);}.hero-title{font-size:clamp(1.55rem,3.4vw,2.35rem);line-height:1.18;letter-spacing:-0.04em;color:var(--heading);font-weight:800;margin:0 0 8px;}.hero-lead{max-width:42rem;margin-bottom:1rem;}.seo-band{border-top:1px solid var(--line);background:var(--paper);padding:1.5rem 0 2.25rem;}.seo-copy{max-width:none;}.seo-copy .section-title{margin-top:2rem;margin-bottom:0.35rem;}.seo-copy .section-title:first-child{margin-top:0;}.seo-copy p,.seo-copy li{margin-top:0.5rem;font-size:1rem;line-height:1.7;color:var(--muted);max-width:none;}.seo-subject-pills{display:flex;flex-wrap:wrap;gap:0.45rem;margin:0 0 1.35rem;padding:0;list-style:none;}.seo-subject-pills li{margin:0;padding:0.3rem 0.75rem;border-radius:999px;border:1px solid var(--line);background:var(--card-bg);color:var(--navy);font-size:0.82rem;font-weight:700;}.class-followup{padding-top:0.35rem;}.class-followup .seo-subject-pills{margin-bottom:0.5rem;}.seo-h3,.seo-faq h3{margin:1.35rem 0 0;font-size:1.12rem;font-weight:800;letter-spacing:-0.03em;line-height:1.35;color:var(--heading);}.seo-h4{margin:1rem 0 0;font-size:1.02rem;font-weight:800;letter-spacing:-0.02em;line-height:1.35;color:var(--heading);}.seo-h5{margin:0.85rem 0 0;font-size:0.95rem;font-weight:700;letter-spacing:-0.02em;line-height:1.35;color:var(--navy);}.seo-h6{margin:0.75rem 0 0;font-size:0.78rem;font-weight:800;letter-spacing:0.06em;text-transform:uppercase;color:var(--pass);}.seo-list{margin:0.75rem 0 0;padding:0.85rem 1rem 0.85rem 1.6rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--card-bg);color:var(--ink);}.seo-list li{margin-top:0.4rem;color:var(--ink);}.seo-list li:first-child{margin-top:0;}.seo-faq{margin-top:0.5rem;}.seo-faq-card{margin-top:1rem;padding:1rem 1.15rem 1.15rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--card-bg);box-shadow:var(--shadow-sm);}.seo-faq-card h3{margin-top:0;}.ub-footer{background:var(--ub-footer-bg);color:var(--ub-footer-text);padding-top:0;margin-top:16px;padding-bottom:env(safe-area-inset-bottom,0);}.ub-footer-social{background:var(--ub-footer-social-bg);color:var(--on-accent);padding:16px 0;}.ub-footer-social-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;}.ub-footer-social a{display:inline-flex;align-items:center;color:var(--on-accent) !important;margin-right:16px;font-size:1.35rem;text-decoration:none !important;}.ub-footer-social a svg{width:1.35em;height:1.35em;display:block;fill:currentColor;}.ub-footer-mail{display:inline-flex;align-items:center;gap:0.4rem;}.ub-footer-mail svg{width:1em;height:1em;flex-shrink:0;}.ub-footer-grid{display:grid;align-items:start;grid-template-columns:1.4fr repeat(4,minmax(0,1fr));gap:28px;padding-top:48px;}.ub-footer p,.ub-footer li{margin:0 0 8px;font-size:0.95rem;line-height:1.55;}.ub-footer ul{list-style:none;padding:0;margin:0;}.ub-footer h6{color:var(--ub-footer-heading);font-weight:800;letter-spacing:0.04em;text-transform:uppercase;font-size:0.82rem;margin:0 0 14px;}.ub-footer a{color:var(--ub-footer-link) !important;text-decoration:none !important;font-weight:600;}.ub-footer a:hover{color:var(--ub-footer-heading) !important;text-decoration:underline !important;}.ub-footer-copy{border-top:1px solid rgb(255 255 255 / 0.16);margin-top:28px;padding:16px 0;font-size:0.9rem;color:var(--ub-footer-text);}.site-header{position:sticky;top:0;z-index:30;border-bottom:1px solid var(--header-border);background:var(--header-bg);color:var(--header-ink);backdrop-filter:blur(12px);}.header-inner,.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:0.75rem;min-height:4rem;flex-wrap:wrap;}.header-brand{display:flex;align-items:center;gap:0.5rem;min-width:0;}.header-logo{width:36px;height:36px;border-radius:10px;object-fit:contain;flex-shrink:0;background:var(--card-bg);}.header-app-title{font-size:clamp(0.95rem,2.5vw,1.05rem);font-weight:800;letter-spacing:-0.03em;color:var(--header-ink);white-space:nowrap;}.header-actions{display:flex;align-items:center;gap:0.35rem;margin-left:auto;flex-wrap:wrap;justify-content:flex-end;}.nav-student{color:var(--header-ink);font-weight:700;font-size:0.9rem;max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.header-user{display:inline-flex;align-items:center;gap:0.45rem;max-width:14rem;min-width:0;}.header-avatar{position:relative;z-index:1;display:block;width:28px;height:28px;border-radius:50%;object-fit:cover;flex-shrink:0;border:1px solid var(--line);background:var(--ub-card);}.header-avatar-frame{position:relative;display:inline-grid;width:28px;height:28px;flex:0 0 28px;place-items:center;overflow:hidden;border-radius:50%;}.header-avatar-frame .header-avatar-fallback{position:absolute;inset:0;}.header-account{position:relative;flex-shrink:0;}.header-account-toggle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;min-height:36px;padding:0;border:1px solid var(--ub-line);border-radius:50%;background:var(--ub-card);color:var(--header-ink);cursor:pointer;list-style:none;}.header-account-toggle::-webkit-details-marker{display:none;}.header-account-toggle:hover,.header-account[open] .header-account-toggle{border-color:var(--ub-blue);background:var(--ub-sky);}.header-account-toggle:focus-visible{outline:3px solid rgb(37 99 235 / 0.28);outline-offset:2px;}.header-avatar-fallback{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--ub-sky);color:var(--ub-blue);font-size:0.78rem;font-weight:800;line-height:1;letter-spacing:0;}.header-account-menu{position:absolute;top:calc(100% + 0.5rem);right:0;z-index:80;min-width:10rem;padding:0.4rem;border:1px solid var(--ub-line);border-radius:12px;background:var(--ub-card);box-shadow:var(--ub-shadow);display:grid;gap:0.25rem;}.header-account-name{display:flex;align-items:center;min-height:var(--tap);max-width:14rem;padding:0.6rem 0.75rem;overflow:hidden;color:var(--header-ink);font-size:0.9rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap;}.header-account-dashboard,.header-account-logout{display:flex;align-items:center;width:100%;min-height:var(--tap);padding:0.6rem 0.75rem;border:0;border-radius:8px;background:transparent;color:var(--header-ink);font:inherit;font-weight:700;text-align:left;cursor:pointer;text-decoration:none;}.header-account-dashboard:hover,.header-account-dashboard:focus-visible,.header-account-logout:hover,.header-account-logout:focus-visible{background:var(--ub-sky);color:var(--ub-blue);}.header-logout-form{display:block;margin:0;}.header-theme-toggle{display:inline-flex;align-items:center;gap:0.35rem;border:1px solid var(--line);border-radius:999px;padding:0.4rem 0.7rem;background:var(--card-bg);color:var(--header-ink);font-size:0.82rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:border-color 0.15s ease,background 0.15s ease,color 0.15s ease;}.header-theme-toggle:hover{border-color:var(--brand-bright);background:var(--hover);color:var(--brand-bright);}.header-theme-icon::before{content:"🌙";font-size:0.95rem;line-height:1;}html[data-ub-theme="night"] .header-theme-icon::before{content:"☀️";}.header-class-picker select{min-width:6.25rem;min-height:0;border:1px solid var(--ub-line);border-radius:999px;padding:8px 28px 8px 12px;background:var(--ub-card);color:var(--ub-navy);font-family:inherit;font-size:0.82rem;font-weight:700;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%230b2244' d='M1.41 0 6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 0.55rem center;background-size:0.7rem auto;}html[data-ub-theme="night"] .header-class-picker select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23dce6f5' d='M1.41 0 6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E");}.header-class-picker select:focus{outline:2px solid rgb(26 115 232 / 0.45);outline-offset:1px;border-color:var(--brand-bright);}.header-class-picker select option{color:var(--ink);background:var(--card-bg);}.header-class-label{border:1px solid var(--line);border-radius:999px;padding:0.4rem 0.75rem;color:var(--header-ink);font-size:0.85rem;font-weight:700;white-space:nowrap;background:var(--card-bg);}.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;}.brand{display:flex;align-items:center;}.brand-logo{display:block;width:auto;max-width:140px;height:36px;object-fit:contain;}.nav{display:none;gap:1.25rem;font-size:0.92rem;font-weight:600;}.nav a{color:var(--muted);}.nav a:hover,.nav a.is-active{color:var(--brand-bright);}.header-actions{display:flex;align-items:center;gap:0.35rem;}.site-footer{border-top:1px solid rgb(255 255 255 / 0.08);background:var(--footer-bg);color:var(--white);font-size:0.9rem;}.footer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem;padding:2rem 0 1.25rem;}.footer-col{display:grid;gap:0.45rem;align-content:start;}.footer-name{font-weight:800;font-size:0.95rem;color:var(--white);margin:0;}.footer-heading{font-weight:700;color:var(--white);margin:0 0 0.15rem;font-size:0.85rem;text-transform:uppercase;letter-spacing:0.05em;}.footer-text{margin:0;line-height:1.55;color:var(--footer-text);}.footer-col a{color:var(--footer-link);font-size:0.88rem;}.footer-col a:hover{color:var(--white);}.footer-copy{border-top:1px solid rgb(255 255 255 / 0.12);padding:0.85rem 0 1.1rem;text-align:center;font-size:0.82rem;color:var(--footer-copy);}.footer-copy p{margin:0;}.flash{border-bottom:1px solid var(--flash-line);background:var(--flash-bg);color:var(--flash-ink);text-align:center;padding:0.75rem var(--content-gutter);font-size:0.9rem;font-weight:500;}.dashboard-band{border-bottom:1px solid var(--line);background:var(--paper);padding:0.55rem 0 0.65rem;}.mocktest-page-head{border-bottom:1px solid var(--line);background:var(--paper);padding:1.15rem 0 0.85rem;}.mocktest-page-title{margin:0;font-size:clamp(1.5rem,3vw,2rem);font-weight:800;color:var(--heading);letter-spacing:-0.03em;}.page-intro{padding:1.25rem 0 0.5rem;background:linear-gradient(180deg,var(--hero-1) 0%,var(--paper) 100%);}.dashboard-head{display:flex;align-items:baseline;justify-content:space-between;gap:0.5rem;flex-wrap:wrap;margin-bottom:0.35rem;}.dashboard-title{margin:0.1rem 0 0;font-size:1.1rem;font-weight:800;}.dashboard-welcome{display:flex;align-items:center;gap:0.75rem;}.dashboard-profile-avatar{position:relative;display:grid;width:48px;height:48px;flex:0 0 48px;place-items:center;overflow:hidden;border:2px solid var(--card-bg);border-radius:50%;background:radial-gradient(circle at 50% 35%,var(--ub-muted) 0 20%,transparent 21%),radial-gradient(circle at 50% 105%,var(--ub-muted) 0 43%,transparent 44%),var(--hover);box-shadow:0 0 0 1px var(--line),var(--shadow-sm);}.dashboard-profile-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}.dashboard-welcome-message{margin:0;color:var(--heading);font-size:clamp(1.15rem,2.4vw,1.5rem);font-weight:700;line-height:1.2;letter-spacing:-0.02em;}.dashboard-welcome-message strong{color:var(--heading);font-weight:800;}.dashboard-kicker{margin:0;font-size:0.85rem;}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius-md);min-height:var(--tap);padding:0.75rem 1.25rem;font-size:1rem;font-weight:700;cursor:pointer;background:transparent;color:var(--ink);transition:transform 0.18s ease,box-shadow 0.18s ease,background 0.18s ease;}.btn:disabled{opacity:0.4;cursor:not-allowed;}.btn-primary{background:#1a73e8;color:var(--on-accent);box-shadow:0 10px 24px rgb(26 115 232 / 0.28);}.btn-primary:hover{background:#1558c0;color:var(--on-accent);transform:translateY(-1px);}.btn-ink{background:var(--cta-bg);color:var(--on-accent);}.btn-ink:hover{filter:brightness(1.08);color:var(--on-accent);}.btn-mark{background:var(--mark-fill);color:var(--on-accent);}.btn-mark:hover{filter:brightness(0.95);color:var(--on-accent);}.palette .btn-mark{width:100%;}.btn-ghost{color:var(--ink);}.btn-ghost:hover{color:var(--heading);background:var(--hover);}.btn-outline{border:2px solid var(--line);background:var(--card-bg);color:var(--ink);}.btn-back-subjects{gap:0.45rem;background:var(--navy);color:var(--class-box-ink);box-shadow:0 8px 20px rgb(11 34 68 / 0.2);}.btn-back-subjects:hover{background:#123056;color:#ffffff;transform:translateY(-1px);box-shadow:0 10px 24px rgb(11 34 68 / 0.28);}.btn-back-subjects-icon{width:1.15rem;height:1.15rem;flex-shrink:0;}.actions{display:flex;flex-wrap:wrap;gap:0.75rem;margin-top:1rem;}.class-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:1fr;gap:0.4rem;width:100%;max-width:none;margin-top:0.85rem;}.class-box{display:flex;flex-direction:column;align-items:stretch;justify-content:center;height:100%;min-width:0;width:100%;min-height:5.5rem;padding:0;border:2px solid var(--class-box-border);background:var(--class-box-bg);color:var(--class-box-ink);border-radius:0.75rem;text-align:center;box-shadow:none;overflow:hidden;transition:transform 0.18s ease,border-color 0.18s ease,background 0.18s ease,color 0.18s ease;}.class-box-visual{position:relative;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.22rem;padding:0.45rem 0.2rem 0.4rem;}.class-box-book{display:block;width:auto;height:auto;flex:1 1 auto;max-width:2.15rem;max-height:2.5rem;color:inherit;opacity:1;filter:none;transition:transform 0.18s ease;}.class-box-label{position:static;transform:none;font-size:clamp(0.58rem,0.72vw,0.72rem);font-weight:900;line-height:1.1;letter-spacing:-0.02em;color:inherit;text-align:center;white-space:nowrap;pointer-events:none;text-shadow:none;}.class-box:hover .class-box-book{transform:scale(1.02);}.class-box:hover{border-color:var(--class-box-hover-border);background:var(--class-box-hover-bg);color:var(--class-box-ink);box-shadow:none;transform:translateY(-1px);}.class-box.is-on{border-color:var(--class-box-on-border);background:var(--class-box-on-bg);color:var(--class-box-on-ink);box-shadow:none;transform:none;}.class-box.is-on .class-box-book,.class-box.is-on .class-box-label{color:inherit;}.kicker{font-size:0.72rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--pass);}.kicker-muted{color:var(--muted);}.subject-kicker{text-transform:none;letter-spacing:0.02em;font-size:0.82rem;}.page-title{font-size:1.2rem;font-weight:800;letter-spacing:-0.03em;color:var(--heading);}.subject-page .page-title{font-size:clamp(1.28rem,2.3vw,1.85rem);line-height:1.25;max-width:48rem;}.section-title{font-size:1.3rem;font-weight:800;letter-spacing:-0.03em;color:var(--heading);}.lead{margin-top:0.4rem;font-size:0.95rem;line-height:1.5;color:var(--muted);max-width:40rem;}.muted{color:var(--muted);}.subtle{margin-top:0.5rem;color:var(--muted);}.link{font-weight:600;color:var(--brand-bright);}.hero{padding:1.25rem 0 1.5rem;background:radial-gradient(circle at 12% 18%,rgb(26 115 232 / 0.22),transparent 32%),radial-gradient(circle at 88% 0%,rgb(74 212 192 / 0.14),transparent 28%),linear-gradient(180deg,var(--hero-1) 0%,var(--hero-2) 48%,var(--paper) 100%);}.hero-grid{display:grid;gap:0.35rem;padding:0.25rem 0 0.5rem;}.hero h1{font-size:clamp(1.65rem,4vw,2.5rem);font-weight:800;letter-spacing:-0.04em;line-height:1.1;}.hero .lead{font-size:1rem;}.hero.is-compact{padding-bottom:0.75rem;}.hero .actions{margin-top:0.65rem;}.meta dt{font-size:0.7rem;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--muted);}.meta dd{margin-top:0.25rem;font-size:1.25rem;font-weight:800;}.option-list{list-style:none;padding:0;margin:1.25rem 0 0;display:grid;gap:0.5rem;}.option-list li,.choice{border:2px solid var(--line);border-radius:var(--radius-md);padding:0.9rem 1rem;min-height:var(--tap);background:var(--card-bg);color:var(--ink);}.grid-2{display:grid;gap:0.85rem;margin-top:1rem;}.card{display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--line);background:var(--card-bg);border-radius:var(--radius-lg);padding:0.9rem 1.1rem;box-shadow:var(--shadow-sm);transition:transform 0.18s ease,box-shadow 0.18s ease,border-color 0.18s ease;}.card:hover{border-color:var(--hover-border);background:var(--hover);box-shadow:var(--shadow);transform:translateY(-2px);}.card h2{margin-top:0.5rem;font-size:1rem;color:var(--heading);}.card p{margin-top:0.5rem;font-size:0.85rem;line-height:1.55;color:var(--muted);}.card-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0.75rem;align-items:center;margin-top:1.25rem;}.filters{display:flex;flex-wrap:wrap;gap:0.5rem;margin:2rem 0;}.chip{border-radius:999px;padding:0.5rem 1rem;font-size:0.875rem;font-weight:600;border:1px solid var(--line);background:var(--card-bg);color:var(--muted);}.chip.is-on,.chip:hover{background:#1a73e8;color:var(--on-accent);border-color:#1a73e8;}.empty{border:1px dashed var(--line);background:var(--card-bg);border-radius:1rem;padding:1.25rem 1rem;text-align:center;color:var(--muted);}.empty.is-loading{color:var(--brand-bright);font-weight:600;}.lost-page{max-width:40rem;margin:2.5rem auto;padding:2.5rem 1.5rem;}.lost-page .page-title{font-size:1.35rem;line-height:1.45;}.lost-page .actions{justify-content:center;}.subject-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1fr;gap:0.85rem;margin-top:0.85rem;}.subject-grid .subject-card,.chapter-grid .chapter-card:not(.card-disabled){position:relative;overflow:hidden;isolation:isolate;background:var(--tone-tint);border:1px solid var(--tone-line);box-shadow:var(--shadow-sm);transition:transform 0.2s ease,box-shadow 0.2s ease,border-color 0.2s ease,background 0.2s ease;}.subject-grid .subject-card::before,.chapter-grid .chapter-card:not(.card-disabled)::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--tone-accent);z-index:1;}.subject-grid .subject-card::after,.chapter-grid .chapter-card:not(.card-disabled)::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 100% 0%,color-mix(in srgb,var(--tone-accent) 16%,transparent),transparent 58%);opacity:0;transition:opacity 0.2s ease;pointer-events:none;z-index:0;}.subject-grid .card{width:100%;height:100%;border-radius:var(--radius-lg);}.subject-grid .card .kicker{color:var(--tone-accent);opacity:1;}.subject-grid .card h2{color:var(--ink);}.subject-grid .card p{color:var(--muted);}.subject-grid .subject-card > *{position:relative;z-index:1;}.subject-grid .card:hover,.subject-grid .card.is-on{border-color:var(--tone-accent);background:var(--tone-tint-hover);box-shadow:0 16px 36px color-mix(in srgb,var(--tone-accent) 22%,transparent);}.subject-grid .card:hover::after,.subject-grid .card.is-on::after{opacity:1;}.subject-card-title{display:flex;align-items:center;justify-content:space-between;gap:0.75rem;margin-top:0.5rem;}.subject-card-title h2{margin-top:0;flex:1;min-width:0;}.subject-explore-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;gap:0.2rem;position:relative;z-index:2;min-height:2.1rem;padding:0.28rem 0.75rem;font-size:0.8rem;font-weight:800;color:var(--on-accent);background:var(--start-bg);border-radius:0.4rem;white-space:nowrap;cursor:pointer;transition:background 0.15s ease,transform 0.15s ease,box-shadow 0.15s ease,filter 0.15s ease;}.subject-explore-arrow{color:var(--white);font-size:1.25em;font-weight:900;line-height:1;-webkit-text-stroke:0.75px var(--white);text-shadow:0 0 0 var(--white);}.subject-explore-btn:hover,.subject-explore-btn:focus-visible{background:var(--start-hover);color:var(--on-accent);box-shadow:var(--start-shadow);transform:translateY(-2px) scale(1.06);filter:brightness(1.08);}.subjects-band{border-top:1px solid var(--line);background:var(--paper);padding:1rem 0 1.15rem;}.subjects-band + .subjects-band{padding-top:0.75rem;}.subjects-band.is-hidden{display:none;}.subjects-mock-panel{width:100%;}.subjects-mock-wrap{margin-top:2.5rem;}.recent-activity-title{margin-top:1.5rem;margin-bottom:0.75rem;}.subjects-mock-wrap .mock-history-grid{margin-top:0;}.dashboard-take-test{display:flex;align-items:center;gap:1rem;width:100%;margin-top:0.85rem;min-height:var(--tap);padding:1rem 1.2rem;border:1px solid var(--subject-mock-border);border-radius:var(--radius-lg);background:var(--subject-mock-bg);color:var(--subject-mock-ink);font-weight:800;text-decoration:none;box-shadow:var(--shadow-sm);transition:transform 0.18s ease,box-shadow 0.18s ease,background 0.18s ease;}.dashboard-take-test-icon{flex-shrink:0;display:grid;place-items:center;width:3rem;height:3rem;border-radius:0.9rem;background:var(--subject-mock-chip-bg);color:var(--subject-mock-ink);}.dashboard-take-test-icon svg{display:block;width:1.45rem;height:1.45rem;}.dashboard-take-test-main{display:flex;flex:1 1 auto;flex-direction:column;align-items:flex-start;gap:0.22rem;min-width:0;text-align:left;}.dashboard-take-test-heading{display:inline-flex;align-items:center;gap:0.5rem;flex-wrap:wrap;}.dashboard-take-test-title{font-size:1.15rem;font-weight:800;letter-spacing:-0.02em;line-height:1.2;color:var(--subject-mock-ink);}.dashboard-take-test-free{display:inline-flex;align-items:center;border-radius:999px;padding:0.12rem 0.5rem;background:var(--pass-fill);color:var(--on-accent);font-size:0.68rem;font-weight:800;letter-spacing:0.04em;text-transform:uppercase;line-height:1.2;}.dashboard-take-test-copy{font-size:0.88rem;font-weight:600;line-height:1.45;color:var(--subject-mock-muted);}.dashboard-take-test-meta{display:flex;flex-wrap:wrap;gap:0.35rem;margin-top:0.28rem;}.dashboard-take-test-meta > span{display:inline-flex;align-items:center;border:1px solid var(--subject-mock-chip-line);border-radius:999px;padding:0.22rem 0.6rem;background:var(--subject-mock-chip-bg);color:var(--subject-mock-ink);font-size:0.72rem;font-weight:700;line-height:1.2;}.dashboard-take-test-go{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;gap:0.2rem;min-height:2.1rem;padding:0.28rem 0.75rem;border-radius:0.45rem;background:var(--start-bg);color:var(--on-accent);font-size:0.8rem;font-weight:800;white-space:nowrap;cursor:pointer;transition:background 0.15s ease,transform 0.15s ease,box-shadow 0.15s ease,filter 0.15s ease;}.dashboard-take-test:hover,.dashboard-take-test:focus-visible{background:var(--subject-mock-bg-hover);color:var(--subject-mock-ink);box-shadow:var(--shadow);}.dashboard-take-test-go:hover,.dashboard-take-test-go:focus-visible{background:var(--start-hover);color:var(--on-accent);box-shadow:var(--start-shadow);transform:translateY(-2px) scale(1.06);filter:brightness(1.08);}.mock-history-empty{flex:1 1 100%;grid-column:1 / -1;border-radius:1rem;}.dashboard-band.is-hidden{display:none;}.chapters-panel{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--line);}.chapters-panel.is-hidden{display:none;}.chapter-book{margin-top:1.35rem;scroll-margin-top:5.5rem;}.chapter-book:first-of-type{margin-top:0.35rem;}.chapter-book-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:0.35rem 0.85rem;}.chapter-book-head .kicker{width:100%;margin:0;}.chapter-book-title{margin:0;font-size:1.12rem;font-weight:800;letter-spacing:-0.03em;color:var(--heading);line-height:1.3;}.chapter-book-meta{margin:0;color:var(--muted);font-size:0.82rem;font-weight:650;}.chapter-book-nav{display:flex;flex-wrap:wrap;gap:0.45rem;margin:0.15rem 0 0.35rem;}.chapter-book-nav a{display:inline-flex;align-items:center;max-width:100%;border:1px solid var(--line);border-radius:999px;padding:0.32rem 0.7rem;background:var(--card-bg);color:var(--ink);font-size:0.8rem;font-weight:700;line-height:1.25;overflow-wrap:anywhere;}.chapter-book-nav a:hover,.chapter-book-nav a:focus-visible{border-color:var(--tone-accent);background:var(--tone-tint-hover);color:var(--heading);}.chapter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1fr;gap:0.85rem;margin-top:0.85rem;width:100%;}.chapter-grid .card{width:100%;height:100%;min-height:7.5rem;border-radius:var(--radius-lg);}.chapter-grid .chapter-card{display:flex;flex-direction:row;align-items:center;gap:0.75rem;}.chapter-card-main{flex:1;min-width:0;position:relative;z-index:1;}.chapter-card-stats{display:flex;flex-wrap:wrap;gap:0.35rem;margin-top:0.5rem;}.chapter-card-stats span{display:inline-flex;align-items:center;border:1px solid var(--tone-line);border-radius:999px;padding:0.18rem 0.5rem;background:var(--card-bg);color:var(--ink);font-size:0.72rem;font-weight:700;line-height:1.2;}.chapter-card-action{flex-shrink:0;display:flex;align-items:center;justify-content:center;position:relative;z-index:1;}.chapter-card-unavailable{margin-top:0.35rem;margin-bottom:0;font-size:0.78rem;color:var(--muted);}.chapter-grid .chapter-card-start-btn{padding:0.22rem 0.65rem;font-size:0.76rem;border-radius:0.35rem;min-width:3.35rem;min-height:2rem;justify-content:center;background:var(--start-bg);color:var(--on-accent);}.chapter-grid a.chapter-card:hover{border-color:var(--tone-accent);background:var(--tone-tint-hover);box-shadow:0 16px 36px color-mix(in srgb,var(--tone-accent) 22%,transparent);}.chapter-grid a.chapter-card:hover::after{opacity:1;}.chapter-grid .card .kicker{color:var(--tone-accent);opacity:1;}.chapter-grid .card h2{font-size:1rem;line-height:1.35;overflow-wrap:anywhere;word-break:normal;margin-top:0;color:var(--ink);}.chapter-grid .card p{color:var(--muted);}.chapter-card-foot{display:flex;align-items:center;justify-content:space-between;gap:0.75rem;margin-top:auto;padding-top:0.5rem;min-height:2rem;}.chapter-card-foot p{margin-top:0;flex:1;min-width:0;}.chapter-start-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;position:relative;z-index:2;min-height:2rem;min-width:3.5rem;padding:0.22rem 0.7rem;font-size:0.78rem;font-weight:800;border-radius:0.4rem;background:var(--start-bg);color:var(--on-accent);line-height:1.2;cursor:pointer;transition:background 0.15s ease,box-shadow 0.15s ease,transform 0.15s ease,filter 0.15s ease;}.chapter-start-btn:not(.is-disabled):hover,.chapter-start-btn:not(.is-disabled):focus-visible{background:var(--start-hover);color:var(--on-accent);box-shadow:var(--start-shadow);transform:translateY(-2px) scale(1.06);filter:brightness(1.08);}.chapter-start-btn.is-disabled{background:var(--neutral-bar);color:var(--muted);opacity:1;}.chapter-grid .card-disabled{background:var(--paper);border-color:var(--line);box-shadow:none;opacity:1;cursor:not-allowed;}.chapter-grid .card-disabled:hover{transform:none;border-color:var(--line);background:var(--paper);box-shadow:none;}.chapter-grid .card-disabled::before,.chapter-grid .card-disabled::after{display:none;}.subject-mock-card{display:flex;flex-direction:row;align-items:center;gap:1.5rem;width:100%;max-width:none;margin-bottom:1.25rem;padding:1.5rem 1.65rem;border:1px solid var(--subject-mock-border);border-radius:var(--radius-lg);background:var(--subject-mock-bg);color:var(--subject-mock-ink);box-shadow:var(--shadow-sm);transition:transform 0.18s ease,box-shadow 0.18s ease,border-color 0.18s ease,background 0.18s ease;}.subject-mock-main{flex:1;min-width:0;}.subject-mock-action{flex-shrink:0;display:flex;align-items:center;justify-content:center;align-self:center;}.subject-mock-start-btn{padding:0.78rem 1.7rem;font-size:1.05rem;border-radius:0.55rem;min-width:7.25rem;min-height:3.15rem;justify-content:center;background:var(--start-bg);color:var(--on-accent);}.subject-mock-start-btn:hover,.subject-mock-start-btn:focus-visible{background:var(--start-hover);color:var(--on-accent);box-shadow:var(--start-shadow);transform:translateY(-2px) scale(1.06);filter:brightness(1.08);}.subject-mock-card:hover{background:var(--subject-mock-bg-hover);border-color:var(--subject-mock-border);box-shadow:var(--shadow);}.subject-mock-card .kicker{color:var(--subject-mock-muted);}.subject-mock-card h2{margin-top:0.45rem;font-size:1.25rem;line-height:1.35;color:var(--subject-mock-ink);}.subject-mock-copy{margin-top:0.45rem;color:var(--subject-mock-muted);font-size:0.9rem;line-height:1.5;}.subject-mock-card p{color:var(--subject-mock-muted);}.subject-mock-stats{display:flex;flex-wrap:wrap;gap:0.45rem;margin-top:0.75rem;}.subject-mock-stats span{display:inline-flex;align-items:center;border:1px solid var(--subject-mock-chip-line);border-radius:999px;padding:0.28rem 0.65rem;background:var(--subject-mock-chip-bg);color:var(--subject-mock-ink);font-size:0.75rem;font-weight:700;}.subject-mock-note{margin-top:0.75rem;margin-bottom:0;color:var(--subject-mock-muted);font-size:0.85rem;}.subject-chapters-title{margin-bottom:0.85rem;}.card-disabled{opacity:0.72;cursor:not-allowed;}.desk-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0.75rem;margin-top:0.5rem;align-items:stretch;}.desk-overview.is-hidden{display:none;}.desk-overview-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.25rem;min-width:0;}.desk-mock-panel{display:flex;align-items:center;justify-content:space-between;gap:0.4rem;width:100%;padding:0.55rem 0.65rem;border:1px solid var(--line);border-radius:0.75rem;background:var(--card-bg);cursor:pointer;text-align:left;color:inherit;text-decoration:none;}.desk-mock-panel .desk-mock-stat{flex:1;min-width:0;}.desk-mock-arrow{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:1.65rem;height:1.65rem;border-radius:999px;background:var(--hover);border:1px solid var(--line);font-size:1.15rem;font-weight:800;line-height:1;color:var(--heading);transition:transform 0.2s ease,background 0.2s ease;}.desk-mock-panel:hover .desk-mock-arrow{background:var(--hover-border);transform:translateX(2px);}.desk-mock-panel.is-on .desk-mock-arrow,.desk-mock-panel.is-on:hover .desk-mock-arrow{transform:rotate(90deg);}.desk-mock-panel[data-tone="previous"]{background:var(--hover);border-color:var(--brand-bright);}.desk-mock-panel.is-on{box-shadow:0 0 0 2px rgb(26 115 232 / 0.35);filter:brightness(1.03);}.desk-panel-inline{margin-top:0;padding:0.55rem 0.65rem;border-radius:0.75rem;min-height:4.35rem;}.desk-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0.6rem;margin-top:0.5rem;}.desk-nav-single{grid-template-columns:minmax(0,1fr);max-width:20rem;}.desk-tab{border:1px solid transparent;border-radius:0.9rem;padding:0.65rem 0.5rem;font-weight:700;cursor:pointer;color:var(--white);}.desk-tab[data-desk="score"]{background:var(--pass);border-color:var(--pass);}.desk-tab[data-desk="ranking"]{background:var(--brand-bright);border-color:var(--brand-bright);}.desk-tab[data-desk="previous"]{background:var(--navy);border-color:var(--navy);}.desk-tab:hover,.desk-tab.is-on{color:var(--white);filter:brightness(1.12);box-shadow:0 0 0 2px rgb(26 115 232 / 0.35);}.desk-panel{margin-top:1rem;border:1px solid var(--line);background:var(--card-bg);border-radius:1rem;padding:1.15rem 1.25rem;}.desk-panel[data-tone="score"]{background:var(--pass-bg);border-color:var(--pass);}.desk-panel[data-tone="ranking"]{background:var(--hover);border-color:var(--brand-bright);}.desk-panel[data-tone="previous"]{background:var(--lilac);border-color:var(--lilac-border);}.desk-mock-panel[data-tone="previous"]{background:var(--hover);border-color:var(--brand-bright);}.desk-panel.is-hidden{display:none;}.desk-panel h3{font-size:1rem;}.desk-panel-title{margin-bottom:0.65rem;font-size:1rem;font-weight:800;}.desk-stats{display:contents;}.desk-stat{min-width:0;display:flex;min-height:4.6rem;flex-direction:column;align-items:center;justify-content:center;padding:0.65rem 0.75rem;border:1px solid var(--line);border-radius:0.8rem;background:var(--card-bg);box-shadow:var(--shadow-sm);text-align:center;}.desk-stat + .desk-stat{border-left:1px solid var(--line);}.desk-panel[data-tone="score"].desk-panel-inline{display:contents;}.desk-panel[data-tone="ranking"].desk-panel-inline{display:flex;min-height:4.6rem;flex-direction:column;align-items:center;justify-content:center;padding:0.65rem 0.75rem;border-radius:0.8rem;box-shadow:var(--shadow-sm);text-align:center;}.desk-panel-label{display:block;font-size:0.7rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--muted);margin-bottom:0.25rem;}.desk-empty-note{margin-top:0.5rem;font-size:0.88rem;}.desk-stat span{display:block;font-size:0.7rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--muted);}.desk-stat strong{display:block;margin-top:0.2rem;color:var(--heading);font-size:1.1rem;}.desk-rank{margin-top:0;}.desk-rank li.is-you{background:var(--hover);font-weight:700;text-align:center;}.mock-history-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;gap:0.85rem;margin-top:0.85rem;}.mock-history-card{position:relative;overflow:hidden;isolation:isolate;width:100%;height:100%;display:flex;flex-direction:column;gap:0.45rem;border:1px solid var(--line);border-radius:1rem;background:var(--card-bg);padding:1rem 1.05rem 0.95rem;color:inherit;text-decoration:none;box-shadow:var(--shadow-sm);transition:background 0.18s ease,box-shadow 0.18s ease,border-color 0.18s ease;}.mock-history-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;z-index:1;}.mock-history-card > *{position:relative;z-index:1;}.mock-history-card.is-pass{background:linear-gradient(180deg,var(--pass-bg) 0%,var(--card-bg) 62%);border-color:rgb(10 110 98 / 0.22);}.mock-history-card.is-pass::before{background:var(--pass);}.mock-history-card.is-fail{background:linear-gradient(180deg,var(--fail-bg) 0%,var(--card-bg) 62%);border-color:rgb(196 69 28 / 0.22);}.mock-history-card.is-fail::before{background:var(--mark-fill);}.mock-history-card.is-progress{background:linear-gradient(180deg,var(--hover) 0%,var(--card-bg) 62%);border-color:var(--hover-border);}.mock-history-card.is-progress::before{background:var(--brand-bright);}.mock-history-card:hover{box-shadow:var(--shadow);}.mock-history-card.is-pass:hover{border-color:var(--pass);}.mock-history-card.is-fail:hover{border-color:var(--mark-fill);}.mock-history-card.is-progress:hover{border-color:var(--brand-bright);}.mock-history-head{display:flex;align-items:center;justify-content:space-between;gap:0.5rem;}.mock-history-head .kicker{margin:0;}.mock-history-card.is-pass .kicker{color:var(--pass);}.mock-history-card.is-fail .kicker{color:var(--mark);}.mock-history-card.is-progress .kicker{color:var(--brand-bright);}.mock-history-card h4,.mock-history-card h2{margin:0;font-size:1.02rem;line-height:1.35;letter-spacing:-0.02em;color:var(--heading);overflow-wrap:anywhere;}.mock-history-meta{display:flex;flex-direction:column;gap:0.55rem;margin:auto 0 0;padding-top:0.2rem;font-size:0.82rem;line-height:1.45;color:var(--muted);}.mock-history-details{display:flex;flex-wrap:wrap;gap:0.35rem;}.mock-history-details > span{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:0.18rem 0.5rem;background:var(--card-bg);color:var(--ink);font-size:0.72rem;font-weight:700;line-height:1.2;}.mock-history-action-row{display:flex;align-items:center;justify-content:space-between;gap:0.5rem;width:100%;}.mock-history-cta{display:inline-flex;align-items:center;gap:0.2rem;min-height:1.85rem;padding:0.2rem 0.7rem;border-radius:999px;background:var(--brand-bright);color:var(--on-accent);font-size:0.72rem;font-weight:800;white-space:nowrap;transition:background 0.15s ease,transform 0.15s ease,box-shadow 0.15s ease;}.mock-history-card.is-progress .mock-history-cta{background:var(--start-bg);}.mock-history-cta:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgb(26 115 232 / 0.28);filter:brightness(1.08);}.mock-history-card.is-progress .mock-history-cta:hover{background:var(--start-hover);box-shadow:var(--start-shadow);}.mock-history-status{flex-shrink:0;border-radius:999px;padding:0.2rem 0.55rem;font-size:0.68rem;font-weight:800;letter-spacing:0.02em;}.mock-history-status.is-progress{background:var(--hover);color:var(--brand-bright);}.mock-history-status.is-completed{background:var(--pass-bg);color:var(--pass);}.mock-history-card.is-fail .mock-history-status.is-completed{background:var(--fail-bg);color:var(--mark);}.mock-history-score{flex-shrink:0;min-width:2.7rem;padding:0.22rem 0.5rem;border-radius:999px;font-size:0.75rem;font-weight:800;letter-spacing:0.02em;text-align:center;color:var(--on-accent);}.mock-history-score.is-pass{background:var(--pass-fill);}.mock-history-score.is-fail{background:var(--mark-fill);}.mock-history-score.is-progress{background:var(--brand-bright);color:var(--on-accent);}.previous-list{display:grid;gap:0.85rem;margin-top:0.85rem;}.previous-card{border:1px solid var(--line);border-radius:0.9rem;background:var(--pass-bg);padding:0.9rem 1rem;}.previous-top{display:flex;justify-content:space-between;gap:0.75rem;align-items:flex-start;}.previous-stats{margin-top:0.45rem;font-size:0.9rem;font-weight:600;}.previous-questions{margin:0.75rem 0 0;padding:0;list-style:none;display:grid;gap:0.35rem;max-height:14rem;overflow:auto;}.previous-questions li{display:grid;grid-template-columns:1.1rem minmax(0,1fr);gap:0.45rem;font-size:0.82rem;line-height:1.4;color:var(--muted);}.previous-mark{font-weight:800;}.previous-questions li.is-correct .previous-mark,.previous-questions li.is-correct{color:var(--pass);}.previous-questions li.is-wrong .previous-mark,.previous-questions li.is-wrong{color:var(--mark);}.meta.box{display:grid;grid-template-columns:repeat(3,1fr);gap:0.85rem;margin-top:1rem;padding:1rem;}.rules{margin-top:1rem;}.rules h2{font-size:1rem;}.rules ul{margin:0.75rem 0 0;padding-left:1.25rem;color:var(--muted);font-size:0.9rem;line-height:1.6;}.exam-ready-page{padding-bottom:2rem;}.exam-brief{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--card-bg);box-shadow:var(--shadow-sm);padding:1.25rem 1.35rem 1.35rem;}.exam-brief-title{margin-top:0;font-size:clamp(1.05rem,2.4vw,1.4rem);font-weight:800;letter-spacing:-0.03em;line-height:1.3;color:var(--heading);}.exam-brief-head{margin-bottom:1.15rem;}.exam-brief-meta{margin-top:0.45rem;color:var(--muted);font-size:0.95rem;font-weight:600;}.exam-brief-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0.75rem;}.exam-stat{display:grid;gap:0.2rem;justify-items:center;text-align:center;border:1px solid var(--line);border-radius:0.85rem;padding:0.85rem 0.55rem;background:var(--card-bg);}.exam-stat-icon{display:grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:999px;margin-bottom:0.15rem;}.exam-stat-icon svg{width:1.15rem;height:1.15rem;}.exam-stat[data-tone="duration"] .exam-stat-icon{background:var(--pass-bg);color:var(--pass);}.exam-stat[data-tone="questions"] .exam-stat-icon{background:var(--hover);color:var(--brand-bright);}.exam-stat[data-tone="marks"] .exam-stat-icon{background:var(--lilac);color:var(--heading);}.exam-stat[data-tone="cost"] .exam-stat-icon{background:var(--pass-bg);color:var(--pass);}.exam-stat strong{font-size:0.95rem;font-weight:800;line-height:1.25;color:var(--ink);}.exam-stat > span:last-child{font-size:0.72rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:var(--muted);}.exam-brief-subjects,.exam-brief-instructions{margin-top:1.15rem;}.exam-brief-label{display:flex;align-items:center;gap:0.4rem;margin:0 0 0.65rem;font-size:0.95rem;font-weight:800;color:var(--ink);}.exam-brief-label-icon{font-size:1rem;line-height:1;}.exam-brief-chips{display:flex;flex-wrap:wrap;gap:0.5rem;}.exam-chip{display:inline-flex;align-items:center;border-radius:999px;padding:0.45rem 0.85rem;background:var(--hover);border:1px solid var(--line);font-size:0.88rem;font-weight:600;color:var(--ink);}.exam-brief-instructions{border-radius:0.85rem;background:var(--paper);border:1px solid var(--line);padding:1rem 1.1rem;}.exam-brief-instructions ul{margin:0;padding-left:1.15rem;color:var(--muted);font-size:0.92rem;line-height:1.65;}.exam-brief-instructions li + li{margin-top:0.45rem;}.exam-brief-instructions strong{color:var(--ink);font-weight:700;}.exam-brief-actions{display:flex;flex-wrap:wrap;gap:0.5rem;margin-top:1.15rem;align-items:center;}.exam-brief-actions form{margin:0;}.btn-start-exam{display:inline-flex;align-items:center;gap:0.35rem;border:0;border-radius:0.5rem;min-height:2.4rem;padding:0.45rem 0.95rem;background:var(--start-bg);color:var(--on-accent);font-size:0.9rem;font-weight:800;cursor:pointer;transition:background 0.15s ease,transform 0.15s ease,box-shadow 0.15s ease;}.btn-start-exam:hover{background:var(--start-hover);color:var(--on-accent);box-shadow:var(--start-shadow);transform:translateY(-2px) scale(1.04);filter:brightness(1.08);}.btn-start-arrow{font-size:0.95rem;font-weight:900;line-height:1;}.exam-brief-back{min-height:2.4rem;width:auto;padding-inline:0.75rem;white-space:nowrap;}.exam-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.5rem;}.exam-feature{border:1px solid var(--line);border-radius:1rem;background:var(--card-bg);padding:1.35rem 1.1rem 1.2rem;text-align:center;box-shadow:var(--shadow-sm);}.exam-feature-icon{display:grid;place-items:center;width:3.25rem;height:3.25rem;margin:0 auto 0.85rem;border-radius:999px;color:var(--white);}.exam-feature-icon svg{width:1.45rem;height:1.45rem;}.exam-feature[data-tone="pattern"] .exam-feature-icon{background:var(--mark);}.exam-feature[data-tone="timed"] .exam-feature-icon{background:var(--pass);}.exam-feature[data-tone="results"] .exam-feature-icon{background:var(--brand-bright);}.exam-feature h3{margin:0;font-size:0.95rem;font-weight:800;color:var(--heading);}.exam-feature p{margin:0.55rem 0 0;font-size:0.82rem;line-height:1.55;color:var(--muted);}.exam-signup-card{margin-top:1.15rem;}.exam-signup-card .btn-start-exam{width:100%;justify-content:center;margin-top:0.5rem;}.signup-modal .signup-card{position:relative;width:min(36rem,100%);max-height:calc(100dvh - 2rem);overflow:auto;}.signup-modal .student-fields{grid-template-columns:1fr;margin-top:1rem;}.signup-modal .signup-submit{width:100%;justify-content:center;margin-top:0.85rem;}.signup-close{position:absolute;top:0.85rem;right:0.85rem;border:0;background:transparent;color:var(--muted);font-size:1.75rem;line-height:1;cursor:pointer;padding:0.15rem 0.35rem;}.signup-close:hover{color:var(--ink);}.list{list-style:none;padding:0;margin:0.75rem 0 0;border:1px solid var(--line);border-radius:1rem;background:var(--card-bg);overflow:hidden;}.list li{display:flex;justify-content:space-between;gap:0.75rem;padding:0.85rem 1.25rem;border-top:1px solid var(--line);}.list li:first-child{border-top:0;}.exam-bar,.exam-paper,.palette{border:1px solid var(--line);background:var(--card-bg);border-radius:1rem;}.exam-bar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0.75rem 1rem;padding:1rem 1.25rem 0.9rem;margin-bottom:1.5rem;}.exam-timeline{flex:1 0 100%;height:0.42rem;border-radius:999px;background:color-mix(in srgb,var(--brand-bright) 18%,var(--line));overflow:hidden;}.exam-timeline-fill{display:block;height:100%;width:100%;border-radius:inherit;background:var(--brand-bright);transform-origin:left center;transition:width 0.35s linear,background 0.2s ease;}.exam-timeline.is-urgent .exam-timeline-fill{background:var(--mark);}.exam-layout{display:grid;gap:1.5rem;}.exam-paper{position:relative;padding:1.5rem;}.question .kicker{min-height:1.85rem;padding-right:4.25rem;display:flex;align-items:center;}.question.is-hidden{display:none;}.question h2{margin-top:0.75rem;font-size:1.1rem;}.choice-list{display:grid;gap:0.5rem;margin-top:1.5rem;}.choice{display:flex;align-items:flex-start;gap:0.75rem;cursor:pointer;background:var(--card-bg);}.choice:has(input:checked){border-color:var(--brand-bright);background:var(--hover);}.question-hint{margin-top:1.25rem;padding:0.85rem 1rem;border:1px solid var(--flash-line);border-radius:0.75rem;background:var(--flash-bg);color:var(--flash-ink);}.question-hint.is-hidden{display:none;}.question-hint .kicker{margin-bottom:0.35rem;}.exam-nav{display:flex;justify-content:space-between;align-items:center;gap:0.75rem;margin-top:2rem;}.exam-nav .btn{min-width:7.5rem;}#hint-btn:not(.is-hidden){position:absolute;top:1.25rem;right:1.25rem;z-index:2;}#hint-btn{min-width:0;min-height:1.85rem;padding:0.18rem 0.58rem;border-radius:999px;border:1px solid rgb(196 138 18 / 0.5);background:var(--flash-bg);color:var(--flash-ink);font-size:0.72rem;font-weight:800;letter-spacing:0.03em;line-height:1.2;box-shadow:none;}#hint-btn:hover,#hint-btn:focus-visible{background:#ffe3b8;border-color:var(--flash-line);color:var(--flash-ink);transform:translateY(-1px);box-shadow:0 4px 10px rgb(196 138 18 / 0.22);}#hint-btn.is-on{border-color:var(--flash-line);background:#f5b942;color:#6b4500;}.palette{padding:0.85rem;height:fit-content;display:grid;gap:0.75rem;}.palette-head{display:flex;align-items:center;justify-content:space-between;gap:0.5rem;}.palette-q-meta{display:flex;align-items:center;gap:0.45rem;flex-wrap:wrap;}.palette-q-meta strong{font-size:1rem;font-weight:800;color:var(--ink);}.palette-badge{display:inline-flex;align-items:center;border-radius:0.3rem;padding:0.12rem 0.45rem;background:rgb(26 115 232 / 0.12);color:var(--brand-bright);font-size:0.68rem;font-weight:800;letter-spacing:0.04em;text-transform:uppercase;}.palette-actions{display:grid;grid-template-columns:1fr 1fr;gap:0.45rem;}.palette-action-btn{border-radius:999px;min-height:1.85rem;padding:0.18rem 0.55rem;font-size:0.72rem;font-weight:800;letter-spacing:0.02em;line-height:1.2;cursor:pointer;transition:background 0.15s ease,border-color 0.15s ease,color 0.15s ease,transform 0.15s ease,box-shadow 0.15s ease;}#mark-review-btn{border:1px solid rgb(26 115 232 / 0.4);background:var(--hover);color:var(--brand-bright);}#mark-review-btn:hover,#mark-review-btn:focus-visible{background:#d6e8ff;border-color:var(--brand-bright);color:var(--brand-bright);transform:translateY(-1px);box-shadow:0 4px 10px rgb(26 115 232 / 0.22);}#mark-review-btn.is-on{background:var(--brand-bright);border-color:var(--brand-bright);color:var(--on-accent);}#clear-answer-btn{border:1px solid rgb(196 69 28 / 0.4);background:var(--fail-bg);color:var(--mark);}#clear-answer-btn:hover,#clear-answer-btn:focus-visible{background:#ffd8cc;border-color:var(--mark);color:var(--mark);transform:translateY(-1px);box-shadow:0 4px 10px rgb(196 69 28 / 0.22);}.palette-stats{display:flex;align-items:center;gap:0.55rem;flex-wrap:wrap;padding:0.55rem 0.65rem;border:1px solid var(--line);border-radius:0.55rem;background:var(--paper);}.palette-stat{display:inline-flex;align-items:center;gap:0.25rem;padding:0.18rem 0.45rem;border-radius:0.35rem;font-size:0.78rem;font-weight:800;line-height:1.2;}.palette-stat.is-answered{color:var(--white);background:var(--pass);}.palette-stat.is-marked{color:var(--white);background:var(--brand-bright);}.palette-stat.is-unanswered{color:var(--white);background:var(--mark);}.palette-progress{margin-left:auto;font-size:0.72rem;font-weight:700;color:var(--muted);white-space:nowrap;}.palette-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0.4rem;}.palette-btn{min-height:var(--tap);min-width:44px;border:2px solid var(--neutral-border);border-radius:0.5rem;background:var(--card-bg);color:var(--ink);font-weight:800;font-size:0.9rem;cursor:pointer;transition:transform 0.12s ease,box-shadow 0.12s ease,background 0.12s ease,border-color 0.12s ease,color 0.12s ease;}.palette-btn.is-unvisited{background:var(--card-bg);border-color:var(--neutral-border);color:var(--ink);}.palette-btn.is-unanswered{background:var(--mark);border-color:var(--mark);color:var(--white);}.palette-btn.is-answered{background:var(--pass);border-color:var(--pass);color:var(--white);}.palette-btn.is-marked{background:var(--brand-bright);border-color:var(--brand-bright);color:var(--white);}.palette-btn.is-marked-answered{background:var(--brand-bright-hover);border-color:var(--brand-bright-hover);color:var(--white);}.palette-btn.is-current{background:var(--muted);border-color:var(--muted);color:var(--white);box-shadow:none;}.palette-btn:hover{transform:translateY(-1px);}.palette-legend{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0.35rem 0.55rem;}.palette-legend li{display:flex;align-items:center;gap:0.35rem;font-size:0.68rem;color:var(--muted);line-height:1.25;}.palette-legend-box{width:0.85rem;height:0.85rem;border-radius:0.2rem;flex-shrink:0;border:1px solid var(--neutral-border);background:var(--card-bg);}.palette-legend-box.is-unanswered{background:var(--mark);border-color:var(--mark);}.palette-legend-box.is-answered{background:var(--pass);border-color:var(--pass);}.palette-legend-box.is-marked{background:var(--brand-bright);border-color:var(--brand-bright);}.palette-legend-box.is-marked-answered{background:var(--brand-bright-hover);border-color:var(--brand-bright-hover);}.palette-legend-box.is-current{background:var(--muted);border-color:var(--muted);}.palette-legend-review{grid-column:2;}.btn-submit-exam{width:100%;border:0;border-radius:0.75rem;min-height:var(--tap);padding:0.85rem 1rem;background:var(--mark-fill);color:var(--on-accent);font-size:1rem;font-weight:800;cursor:pointer;transition:filter 0.15s ease,transform 0.15s ease;}.btn-submit-exam:hover{filter:brightness(0.95);transform:translateY(-1px);}.submit-modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:1rem;background:rgb(7 16 28 / 0.58);backdrop-filter:blur(6px);}.submit-modal.is-hidden{display:none;}.submit-card{position:relative;width:min(26.5rem,100%);overflow:hidden;border:1px solid var(--card-border);border-radius:1.25rem;background:var(--card-bg);padding:1.45rem 1.35rem 1.3rem;box-shadow:0 24px 64px rgb(11 34 68 / 0.28);animation:exam-dialog-in 0.22s ease;}.submit-card h2{margin-top:0.2rem;font-size:1.35rem;letter-spacing:-0.03em;color:var(--heading);}.submit-card .lead{margin-top:0.4rem;font-size:0.92rem;line-height:1.55;}.exam-dialog{background:radial-gradient(circle at 100% 0%,rgb(26 115 232 / 0.1),transparent 42%),var(--card-bg);}.exam-dialog::before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,var(--start-bg),#f97316 70%,#fb923c);}.exam-dialog--leave{background:radial-gradient(circle at 0% 0%,rgb(26 115 232 / 0.14),transparent 44%),var(--card-bg);}.exam-dialog--leave::before{background:linear-gradient(90deg,var(--brand-bright),#60a5fa 72%,#93c5fd);}.exam-dialog--saving{width:min(35rem,100%);padding:clamp(1.5rem,4vw,2.25rem);text-align:center;background:radial-gradient(circle at 50% 0%,rgb(26 115 232 / 0.14),transparent 48%),var(--card-bg);}.exam-dialog--saving::before{background:linear-gradient(90deg,var(--brand-bright),#38bdf8 52%,var(--pass));}.result-save-spinner{position:relative;display:grid;width:5rem;height:5rem;margin:0 auto 1rem;place-items:center;border-radius:50%;background:rgb(26 115 232 / 0.1);}.result-save-spinner::before,.result-save-spinner span{content:"";position:absolute;border-radius:50%;}.result-save-spinner::before{inset:0.55rem;border:4px solid rgb(26 115 232 / 0.18);border-top-color:var(--brand-bright);animation:result-save-spin 0.9s linear infinite;}.result-save-spinner span{width:0.75rem;height:0.75rem;background:var(--brand-bright);box-shadow:0 0 0 0 rgb(26 115 232 / 0.35);animation:result-save-pulse 1.25s ease-out infinite;}.result-save-modal.is-error .result-save-spinner::before{border-color:rgb(196 54 54 / 0.2);border-top-color:var(--mark);animation:none;}.result-save-modal.is-error .result-save-spinner span{background:var(--mark);animation:none;}.result-save-track{height:0.65rem;margin-top:1.2rem;overflow:hidden;border-radius:999px;background:var(--hover);box-shadow:inset 0 0 0 1px var(--line);}.result-save-track > span{display:block;width:15%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--brand-bright),#38bdf8,var(--pass));transition:width 0.45s ease;}.result-save-modal.is-error .result-save-track > span{background:var(--mark);}.result-save-percent{margin-top:0.45rem;color:var(--muted);font-size:0.78rem;}.result-save-percent strong{color:var(--heading);font-size:0.95rem;}.result-save-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0.65rem;margin:1.25rem 0 0;padding:0;list-style:none;}.result-save-steps li{position:relative;padding-top:1.8rem;color:var(--muted);font-size:0.72rem;font-weight:700;line-height:1.3;}.result-save-steps li::before{content:"";position:absolute;top:0;left:50%;width:1.25rem;height:1.25rem;border:2px solid var(--line);border-radius:50%;background:var(--card-bg);transform:translateX(-50%);}.result-save-steps li.is-active{color:var(--brand-bright);}.result-save-steps li.is-active::before{border-color:var(--brand-bright);box-shadow:0 0 0 5px rgb(26 115 232 / 0.1);}.result-save-steps li.is-complete::before{content:"✓";display:grid;place-items:center;border-color:var(--pass);background:var(--pass);color:var(--on-accent);font-size:0.7rem;}.result-save-note{margin:1.25rem 0 0;color:var(--muted);font-size:0.78rem;line-height:1.5;}.result-save-retry{margin:1rem auto 0;}.result-save-retry.is-hidden{display:none;}@keyframes result-save-spin{to{transform:rotate(360deg);}}@keyframes result-save-pulse{70%,100%{box-shadow:0 0 0 1rem rgb(26 115 232 / 0);}}.exam-dialog-icon{display:grid;place-items:center;width:3rem;height:3rem;margin-bottom:0.85rem;border-radius:0.95rem;box-shadow:0 8px 18px rgb(11 34 68 / 0.1);}.exam-dialog-icon svg{width:1.45rem;height:1.45rem;}.exam-dialog--submit .exam-dialog-icon{background:var(--fail-bg);color:var(--mark-fill);}.exam-dialog--leave .exam-dialog-icon{background:var(--hover);color:var(--brand-bright);}.exam-dialog--submit .exam-dialog-kicker{color:var(--mark);}.exam-dialog--leave .exam-dialog-kicker{color:var(--brand-bright);}.exam-dialog-note{display:inline-flex;align-items:center;margin:0.9rem 0 0;padding:0.32rem 0.7rem;border-radius:999px;background:var(--pass-bg);color:var(--pass);font-size:0.75rem;font-weight:800;letter-spacing:0.01em;}.submit-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.7rem;margin-top:1.15rem;}.submit-stat{border:1px solid transparent;border-radius:0.95rem;padding:0.8rem 0.85rem;}.submit-stat.is-answered{background:var(--pass-bg);border-color:rgb(10 110 98 / 0.2);}.submit-stat.is-unanswered{background:var(--fail-bg);border-color:rgb(196 69 28 / 0.2);}.submit-stats dt{font-size:0.68rem;font-weight:800;letter-spacing:0.07em;text-transform:uppercase;}.submit-stat.is-answered dt{color:var(--pass);}.submit-stat.is-unanswered dt{color:var(--mark);}.submit-stats dd{margin:0.28rem 0 0;font-size:1.55rem;font-weight:800;line-height:1;letter-spacing:-0.04em;}.submit-stat.is-answered dd{color:var(--pass-fill);}.submit-stat.is-unanswered dd{color:var(--mark-fill);}.submit-actions{display:flex;flex-direction:column;gap:0.55rem;margin-top:1.2rem;}.submit-actions .btn{width:100%;flex:1 1 auto;border-radius:999px;font-weight:800;}.exam-dialog-secondary.btn-outline{border-color:var(--hover-border);background:var(--card-bg);color:var(--brand-bright);}.exam-dialog-secondary.btn-outline:hover{background:var(--hover);border-color:var(--brand-bright);color:var(--brand-bright);}.exam-dialog-primary.btn-mark{background:var(--start-bg);box-shadow:var(--start-shadow);}.exam-dialog-primary.btn-mark:hover{background:var(--start-hover);filter:none;transform:translateY(-1px);}@keyframes exam-dialog-in{from{opacity:0;transform:translateY(10px) scale(0.98);}to{opacity:1;transform:none;}}#timer{border-radius:999px;background:var(--brand-bright);color:var(--white);padding:0.35rem 1rem;min-width:5.5rem;text-align:center;font-family:ui-monospace,Consolas,monospace;font-variant-numeric:tabular-nums;font-weight:700;font-size:0.9rem;}#timer.is-urgent{background:var(--mark);}.score-grid{display:grid;gap:1rem;margin-top:1rem;align-items:stretch;}.score-ring{display:grid;place-items:center;aspect-ratio:1;border:1px solid var(--line);background:var(--card-bg);border-radius:1.5rem;min-height:10rem;text-align:center;}.score-ring.score-breakdown{aspect-ratio:unset;min-height:10rem;padding:1.35rem 1rem;}.score-breakdown-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem 0.75rem;width:100%;margin:0;}.score-breakdown-grid > div:nth-child(4){grid-column:1;}.score-breakdown-grid > div:nth-child(5){grid-column:3;}.score-breakdown-grid dt{font-size:0.65rem;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;color:var(--muted);}.score-breakdown-grid dd{margin:0.25rem 0 0;font-size:1.35rem;font-weight:800;line-height:1.2;}.score-ring strong{font-size:2.5rem;font-weight:800;}.result-summary-card{margin-top:1.25rem;border:1px solid var(--line);border-radius:1rem;background:var(--card-bg);overflow:hidden;box-shadow:var(--shadow-sm);}.result-summary-card::before{content:'';display:block;height:3px;background:var(--pass);}.result-summary-grid{display:grid;gap:1.35rem;padding:1.35rem 1.15rem;}.result-summary-score{display:flex;flex-direction:column;align-items:center;text-align:center;gap:0.55rem;}.result-donut{--score-pct:0;--donut-color:var(--pass);position:relative;width:9.25rem;height:9.25rem;border-radius:50%;background:conic-gradient( var(--donut-color) 0 calc(var(--score-pct) * 1%),var(--neutral-bar) calc(var(--score-pct) * 1%) 100% );}.result-donut-hole{position:absolute;inset:0.8rem;display:grid;place-content:center;gap:0.15rem;border-radius:50%;background:var(--card-bg);text-align:center;}.result-donut-hole strong{font-size:1.35rem;font-weight:800;line-height:1.15;color:var(--ink);}.result-donut-hole span{font-size:0.95rem;font-weight:700;color:var(--muted);}.result-net-score{margin:0;font-size:0.78rem;color:var(--muted);}.result-cutoff{margin:0;font-size:0.78rem;font-weight:600;color:var(--gold-text);}.result-summary-accuracy{display:flex;flex-direction:column;justify-content:center;gap:0.75rem;min-width:0;}.result-accuracy-head{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:0.45rem;line-height:1.35;}.result-accuracy-head strong{font-size:2rem;font-weight:800;color:var(--ink);}.result-accuracy-head span{font-size:0.82rem;color:var(--muted);}.result-accuracy-bar{display:flex;width:100%;height:0.45rem;overflow:hidden;border-radius:999px;background:var(--neutral-bar);}.result-accuracy-bar > span{display:block;height:100%;}.result-accuracy-bar .is-correct{background:var(--pass);}.result-accuracy-bar .is-wrong{background:var(--mark);}.result-accuracy-bar .is-skipped{background:var(--mark);}.result-accuracy-legend{display:flex;flex-wrap:wrap;gap:0.85rem 1.1rem;margin:0;padding:0;list-style:none;font-size:0.78rem;color:var(--muted);}.result-accuracy-legend li{display:inline-flex;align-items:center;gap:0.4rem;}.result-accuracy-legend .dot{width:0.55rem;height:0.55rem;border-radius:50%;flex-shrink:0;}.result-accuracy-legend .dot.is-correct{background:var(--pass);}.result-accuracy-legend .dot.is-wrong{background:var(--mark);}.result-accuracy-legend .dot.is-skipped{background:var(--mark);}.result-summary-rank{display:flex;flex-direction:column;gap:0.85rem;min-width:0;}.result-rank-box{border-radius:0.75rem;padding:0.95rem 1rem;background:linear-gradient(180deg,var(--hero-1) 0%,var(--paper) 100%);border:1px solid var(--card-border);}.result-rank-box--muted{background:var(--card-bg);}.result-rank-kicker{display:block;font-size:0.62rem;font-weight:800;letter-spacing:0.08em;text-transform:uppercase;color:var(--pass);}.result-rank-line{margin:0.45rem 0 0;display:flex;flex-wrap:wrap;align-items:baseline;gap:0.45rem 0.65rem;}.result-rank-line strong{font-size:1.65rem;font-weight:800;line-height:1.1;color:var(--heading);}.result-rank-line span{font-size:0.82rem;color:var(--muted);}.result-rank-meta{margin:0.4rem 0 0;font-size:0.78rem;color:var(--muted);line-height:1.45;}.result-review-skipped,.result-review-all{width:100%;justify-content:center;text-align:center;font-size:0.88rem;}.pass{color:var(--pass);}.fail{color:var(--mark);}.badge{border-radius:999px;padding:0.2rem 0.65rem;font-size:0.7rem;font-weight:700;white-space:nowrap;}.badge-ok{background:var(--pass-bg);color:var(--pass);}.badge-no{background:var(--fail-bg);color:var(--mark);}.key-block{margin-top:1.25rem;}.review-jump{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:0.5rem;margin-top:0.85rem;}.review-jump-btn{display:grid;place-items:center;min-height:2.25rem;border:1px solid var(--line);border-radius:0.5rem;background:var(--paper);font-weight:700;font-size:0.85rem;color:var(--ink);text-decoration:none;}.review-jump-btn:hover{border-color:var(--brand);background:var(--hover);}.review-jump-btn.is-correct{background:var(--pass-bg);border-color:var(--pass);color:var(--pass);}.review-jump-btn.is-wrong{background:var(--fail-bg);border-color:var(--mark);color:var(--mark);}.review-jump-btn.is-skipped{background:var(--fail-bg);border-color:var(--mark);color:var(--mark);}.key-item{margin-top:1rem;scroll-margin-top:5rem;}.key-head{display:flex;justify-content:space-between;gap:0.75rem;align-items:flex-start;}.key-option{border-radius:0.5rem;padding:0.5rem 0.75rem;font-size:0.9rem;color:var(--muted);}.key-option.is-key{background:var(--pass-bg);color:var(--pass);font-weight:500;}.key-option.is-pick{background:var(--fail-bg);color:var(--mark);}@media (min-width:900px){.result-summary-grid{grid-template-columns:minmax(0,0.95fr) minmax(0,1.25fr) minmax(0,1fr);align-items:center;gap:1.75rem;padding:1.5rem 1.75rem;}}.result-page{display:flex;flex-direction:column;}.result-summary-block{order:1;}.result-review-band{order:2;margin-top:1.25rem;border-top:1px solid var(--line);background:var(--paper);padding:1rem 0 1.5rem;}.ub-footer{content-visibility:auto;contain-intrinsic-size:420px;}.result-review{margin-top:0;}.result-review-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0.85rem;margin-bottom:1rem;}.result-review-head .section-title{margin:0;}.result-review-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:0.45rem;margin-left:auto;}.result-more-tests{white-space:nowrap;border-radius:999px;min-height:44px;padding:0.5rem 1rem;font-size:0.88rem;font-weight:800;}.result-filters{display:flex;flex-wrap:wrap;gap:0.45rem;}.result-filter{border:2px solid var(--line);border-radius:999px;min-height:44px;padding:0.5rem 1rem;background:var(--card-bg);color:var(--ink);font-size:0.88rem;font-weight:800;cursor:pointer;transition:background 0.15s ease,border-color 0.15s ease,color 0.15s ease;}.result-filter:hover,.result-filter.is-on[data-filter="all"]{border-color:var(--brand-bright);background:var(--hover);color:var(--brand-bright);}.result-filter.is-on[data-filter="correct"],.result-filter[data-filter="correct"]:hover{border-color:var(--pass);background:var(--pass-bg);color:var(--pass);}.result-filter.is-on[data-filter="wrong"],.result-filter[data-filter="wrong"]:hover{border-color:var(--mark);background:var(--fail-bg);color:var(--mark);}.result-filter.is-on[data-filter="skipped"],.result-filter[data-filter="skipped"]:hover{border-color:var(--muted);background:var(--paper);color:var(--muted);}.result-layout{margin-top:0.25rem;}.result-paper{min-height:24rem;}.result-question.is-hidden{display:none;}.result-q-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0.75rem;margin-bottom:1rem;}.result-q-label{margin:0;font-size:0.95rem;font-weight:800;color:var(--ink);}.result-q-meta{display:flex;flex-wrap:wrap;align-items:center;gap:0.55rem;}.result-subject-tag{display:inline-flex;align-items:center;border-radius:0.35rem;padding:0.22rem 0.55rem;background:var(--pass-bg);color:var(--pass);font-size:0.68rem;font-weight:800;letter-spacing:0.04em;text-transform:uppercase;}.result-status{font-size:0.82rem;font-weight:800;}.result-status.is-correct{color:var(--pass);}.result-status.is-wrong{color:var(--mark);}.result-status.is-skipped{color:var(--muted);}.result-q-text{margin-top:0;font-size:1.05rem;line-height:1.55;}.result-options{list-style:none;margin:1.25rem 0 0;padding:0;display:grid;gap:0.65rem;}.result-option{display:flex;align-items:center;gap:0.85rem;padding:0.9rem 1rem;border:1px solid var(--line);border-radius:0.75rem;background:var(--card-bg);color:var(--ink);font-size:0.95rem;line-height:1.45;}.result-option-letter{flex-shrink:0;display:grid;place-items:center;width:1.85rem;height:1.85rem;border:1px solid var(--line);border-radius:999px;font-size:0.82rem;font-weight:800;color:var(--muted);background:var(--card-bg);}.result-option.is-correct{border-color:rgb(15 157 138 / 0.45);background:var(--pass-bg);}.result-option.is-correct .result-option-letter{border-color:var(--pass);background:var(--pass);color:var(--white);}.result-option.is-wrong{border-color:rgb(255 106 61 / 0.45);background:var(--fail-bg);}.result-option.is-wrong .result-option-letter{border-color:var(--mark);background:var(--mark);color:var(--white);}.result-explanation{margin-top:1.25rem;}.result-explanation-label{margin:0 0 0.5rem;font-size:0.72rem;font-weight:800;letter-spacing:0.06em;text-transform:uppercase;color:var(--brand-bright);}.result-explanation-body{padding:0.9rem 1rem;border:1px solid var(--line);border-radius:0.75rem;background:var(--paper);color:var(--ink);font-size:0.92rem;line-height:1.55;}.result-explanation-body p{margin:0;}.result-nav{margin-top:1.75rem;}.result-palette{position:sticky;top:calc(4rem + env(safe-area-inset-top,0));}.result-jump-label{margin:0;font-size:0.72rem;font-weight:800;letter-spacing:0.06em;text-transform:uppercase;color:var(--muted);}.result-jump-btn{min-height:var(--tap);border:2px solid var(--neutral-border);border-radius:0.5rem;background:var(--card-bg);color:var(--ink);font-weight:800;font-size:0.9rem;cursor:pointer;transition:transform 0.12s ease,box-shadow 0.12s ease,background 0.12s ease,border-color 0.12s ease,color 0.12s ease;}.result-jump-btn:hover:not(:disabled):not(.is-filtered-out){transform:translateY(-1px);}.result-jump-btn[data-status="correct"],.result-jump-btn.is-correct{background:var(--pass);border-color:var(--pass);color:var(--white);}.result-jump-btn[data-status="wrong"],.result-jump-btn.is-wrong{background:var(--mark);border-color:var(--mark);color:var(--white);}.result-jump-btn[data-status="skipped"],.result-jump-btn.is-skipped{background:var(--muted);border-color:var(--muted);color:var(--white);}.result-jump-btn.is-current{box-shadow:inset 0 0 0 2px var(--white),0 0 0 2px var(--brand-bright);}.result-jump-btn.is-current[data-status="correct"],.result-jump-btn.is-current.is-correct{background:var(--pass);border-color:var(--pass);color:var(--white);}.result-jump-btn.is-current[data-status="wrong"],.result-jump-btn.is-current.is-wrong{background:var(--mark);border-color:var(--mark);color:var(--white);}.result-jump-btn.is-current[data-status="skipped"],.result-jump-btn.is-current.is-skipped{background:var(--muted);border-color:var(--muted);color:var(--white);}.result-jump-btn.is-filtered-out{opacity:0.35;cursor:not-allowed;}.palette-legend-box.is-correct{background:var(--pass);border-color:var(--pass);}.palette-legend-box.is-wrong{background:var(--mark);border-color:var(--mark);}.palette-legend-box.is-skipped{background:var(--muted);border-color:var(--muted);}.palette-legend.result-legend{display:flex;flex-wrap:nowrap;align-items:center;gap:0.55rem 0.75rem;}.result-legend li{white-space:nowrap;}.result-legend{margin-top:0.15rem;}.tag{margin-left:0.5rem;font-size:0.7rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;}.meta .note{grid-column:1 / -1;}.correct-line{margin-top:0.75rem;padding:0.65rem 0.8rem;border-radius:0.65rem;background:var(--pass-bg);color:var(--pass);font-size:0.92rem;}.student-gate{margin-top:1rem;}.student-gate > p{margin-top:0.5rem;color:var(--muted);}.student-gate form{margin-top:0;}.btn-google{display:inline-flex;align-items:center;justify-content:center;width:100%;margin-top:0.75rem;border:1px solid var(--line);background:var(--card-bg);color:var(--ink);font-weight:700;}.btn-google:hover{background:var(--hover);border-color:var(--brand);}.google-sign-in-btn{display:inline-flex;align-items:center;justify-content:center;gap:0.65rem;min-height:var(--tap);padding:0 1rem;border:2px solid #5f6368;border-radius:0.5rem;background:#ffffff;color:#1f1f1f;font-family:"Roboto","Plus Jakarta Sans","Plus Jakarta Sans Fallback",sans-serif;font-size:1rem;font-weight:500;line-height:1;text-decoration:none;cursor:pointer;transition:background 0.15s ease,box-shadow 0.15s ease,border-color 0.15s ease,transform 0.18s ease;box-shadow:0 1px 2px rgb(60 64 67 / 0.08);}.google-sign-in-btn:hover{background:#f7f8f8;border-color:#747775;box-shadow:0 1px 3px rgb(60 64 67 / 0.15);}.google-sign-in-btn--block{width:100%;min-height:52px;}.google-sign-in-btn__icon{display:inline-flex;width:1.125rem;height:1.125rem;flex-shrink:0;}.google-sign-in-btn__icon svg{display:block;width:100%;height:100%;}html[data-ub-theme="night"] .google-sign-in-btn{background:#131314;border-color:#8e918f;color:#e3e3e3;box-shadow:none;}html[data-ub-theme="night"] .google-sign-in-btn:hover{background:#1f1f1f;border-color:#8e918f;}.login-page .ub-footer,.login-page .site-footer{display:none;}.login-page .login-screen{min-height:calc(100vh - 5rem);}.login-page .main{position:relative;overflow:hidden;}.login-page .main::before,.login-page .main::after{content:"";position:absolute;border-radius:50%;pointer-events:none;filter:blur(0.5px);}.login-page .main::before{top:-8rem;right:-6rem;width:22rem;height:22rem;background:radial-gradient(circle,rgb(26 115 232 / 0.14),transparent 68%);}.login-page .main::after{bottom:-10rem;left:-8rem;width:26rem;height:26rem;background:radial-gradient(circle,rgb(15 157 138 / 0.12),transparent 70%);}html[data-ub-theme="night"] .login-page .main::before{background:radial-gradient(circle,rgb(26 115 232 / 0.22),transparent 68%);}html[data-ub-theme="night"] .login-page .main::after{background:radial-gradient(circle,rgb(74 212 192 / 0.14),transparent 70%);}.login-screen--polished{position:relative;z-index:1;gap:1.35rem;min-height:calc(100vh - 6.5rem);padding:2.5rem 0 3rem;}.login-card--signin{width:min(100%,28rem);box-shadow:0 24px 60px rgb(11 34 68 / 0.1);}html[data-ub-theme="night"] .login-card--signin{box-shadow:0 28px 70px rgb(0 0 0 / 0.38);border-color:var(--card-border);}.login-card-body--signin{padding:1.5rem 1.75rem 0.25rem;}.google-sign-in-btn--prominent{min-height:3rem;border-radius:var(--radius-md);font-size:0.92rem;box-shadow:0 4px 14px rgb(60 64 67 / 0.12);}.google-sign-in-btn--prominent:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgb(60 64 67 / 0.16);}html[data-ub-theme="night"] .google-sign-in-btn--prominent{box-shadow:0 6px 18px rgb(0 0 0 / 0.28);}html[data-ub-theme="night"] .google-sign-in-btn--prominent:hover{box-shadow:0 10px 26px rgb(0 0 0 / 0.36);}.login-screen--google{gap:1rem;}.login-card--google{width:min(100%,24rem);padding:2rem 2rem 1.75rem;text-align:center;border-radius:0.5rem;border:1px solid #dadce0;box-shadow:0 1px 3px rgb(60 64 67 / 0.12),0 4px 8px rgb(60 64 67 / 0.06);background:var(--card-bg);}.login-google-head{margin-bottom:1.35rem;}.login-google-logo{margin:0 auto 1rem;border-radius:50%;}.login-google-title{margin:0;font-size:1.5rem;font-weight:500;letter-spacing:-0.01em;color:var(--heading);}.login-google-subtitle{margin:0.35rem 0 0;font-size:0.95rem;color:var(--muted);}.login-google-subtitle strong{color:var(--heading);font-weight:600;}.login-google-status{margin:0 0 1rem;font-size:0.85rem;line-height:1.45;color:var(--mark);}.login-auth-progress{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:1.25rem;background:rgb(7 16 28 / 0.58);backdrop-filter:blur(5px);}.login-auth-progress-dialog{width:min(100%,25rem);padding:1.15rem 1.2rem;border:1px solid rgb(26 115 232 / 0.24);border-radius:1rem;background:var(--card-bg);box-shadow:0 24px 70px rgb(7 16 28 / 0.3);animation:login-auth-enter 0.24s ease-out both;}.login-auth-progress.is-hidden,.login-auth-retry.is-hidden{display:none;}.login-auth-progress.is-error .login-auth-progress-dialog{border-color:rgb(196 54 54 / 0.28);}.login-auth-progress.is-success .login-auth-progress-dialog{border-color:rgb(20 128 86 / 0.28);}.login-auth-progress-head{display:grid;grid-template-columns:2rem minmax(0,1fr);align-items:center;gap:0.7rem;}.login-auth-progress-head strong,.login-auth-progress-head span span{display:block;}.login-auth-progress-head strong{color:var(--heading);font-size:0.88rem;line-height:1.3;}.login-auth-progress-head span span{margin-top:0.12rem;color:var(--muted);font-size:0.76rem;line-height:1.4;}.login-auth-progress-icon{width:2rem;height:2rem;display:grid;place-items:center;border-radius:50%;background:rgb(26 115 232 / 0.12);color:var(--brand-bright);}.login-auth-progress.is-error .login-auth-progress-icon{background:rgb(196 54 54 / 0.12);color:#b42318;}.login-auth-progress.is-success .login-auth-progress-icon{background:rgb(20 128 86 / 0.12);color:#087a4f;}.login-auth-spinner{width:0.92rem;height:0.92rem;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:login-auth-spin 0.75s linear infinite;}.login-auth-progress-track{height:0.28rem;margin-top:0.75rem;overflow:hidden;border-radius:999px;background:rgb(26 115 232 / 0.13);}.login-auth-progress-track > span{display:block;width:10%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1a73e8,#36a3ff);transition:width 0.38s ease;}.login-auth-progress.is-error .login-auth-progress-track > span{background:#b42318;}.login-auth-progress.is-success .login-auth-progress-track > span{background:#087a4f;}.login-auth-progress-help{margin:0.55rem 0 0;color:var(--muted);font-size:0.72rem;line-height:1.4;}.login-auth-retry{margin-top:0.65rem;padding:0.42rem 0.75rem;border:1px solid currentColor;border-radius:999px;background:transparent;color:var(--brand-bright);font:inherit;font-size:0.75rem;font-weight:800;cursor:pointer;}.login-auth-retry:hover,.login-auth-retry:focus-visible{background:rgb(26 115 232 / 0.09);}html[data-ub-theme="night"] .login-auth-progress-dialog{background:#111c2e;border-color:rgb(125 179 255 / 0.3);}html[data-ub-theme="night"] .login-auth-progress.is-error .login-auth-progress-dialog{border-color:rgb(255 125 125 / 0.35);}html[data-ub-theme="night"] .login-auth-progress.is-success .login-auth-progress-dialog{border-color:rgb(92 220 164 / 0.35);}@keyframes login-auth-spin{to{transform:rotate(360deg);}}@keyframes login-auth-enter{from{opacity:0;transform:translateY(0.45rem) scale(0.98);}to{opacity:1;transform:translateY(0) scale(1);}}@media (prefers-reduced-motion:reduce){.result-save-spinner::before,.result-save-spinner span,.login-auth-progress-dialog,.login-auth-spinner{animation:none;}}.login-google-note{margin:1.15rem 0 0;font-size:0.78rem;line-height:1.5;color:var(--muted);}.signup-card--google{text-align:center;}.signup-card--google .lead{margin-bottom:1.25rem;}.login-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.25rem;min-height:calc(100vh - 12rem);padding:2rem 0 3rem;}.login-card{width:min(100%,26rem);border:1px solid var(--line);border-radius:calc(var(--radius-lg) + 0.25rem);background:linear-gradient(180deg,rgb(255 255 255 / 0.04),transparent 40%),var(--card-bg);box-shadow:var(--shadow);overflow:hidden;}html[data-ub-theme="night"] .login-card{background:linear-gradient(180deg,rgb(255 255 255 / 0.03),transparent 42%),var(--card-bg);}.login-card-top{padding:2rem 1.75rem 1.25rem;text-align:center;background:linear-gradient(180deg,var(--hero-1),transparent);border-bottom:1px solid var(--line);}.login-brand{display:inline-flex;align-items:center;gap:0.65rem;margin-bottom:1.35rem;}.login-brand-logo{width:2.75rem;height:2.75rem;border-radius:0.85rem;box-shadow:0 8px 20px rgb(11 34 68 / 0.12);}.login-brand-name{font-size:1rem;font-weight:800;letter-spacing:-0.02em;color:var(--heading);}.login-title{font-size:clamp(1.45rem,4vw,1.75rem);font-weight:800;letter-spacing:-0.03em;line-height:1.15;}.login-lead{margin-top:0.65rem;font-size:0.92rem;line-height:1.6;color:var(--muted);}.login-class-chip{display:inline-flex;margin-top:0.85rem;padding:0.35rem 0.75rem;border-radius:999px;background:var(--hover);border:1px solid var(--hover-border);color:var(--brand-bright);font-size:0.78rem;font-weight:700;}.login-card-body{padding:1.35rem 1.75rem 0.5rem;}.login-google-btn{display:flex;align-items:center;justify-content:center;gap:0.75rem;width:100%;min-height:3.1rem;padding:0.75rem 1rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--card-bg);color:var(--heading);font-size:0.95rem;font-weight:700;box-shadow:0 2px 8px rgb(11 34 68 / 0.06);transition:transform 0.18s ease,box-shadow 0.18s ease,border-color 0.18s ease,background 0.18s ease;}.login-google-btn:hover{transform:translateY(-1px);border-color:var(--hover-border);background:var(--hover);box-shadow:0 10px 24px rgb(11 34 68 / 0.1);}html[data-ub-theme="night"] .login-google-btn{box-shadow:0 2px 10px rgb(0 0 0 / 0.22);}html[data-ub-theme="night"] .login-google-btn:hover{box-shadow:0 12px 28px rgb(0 0 0 / 0.32);}.login-google-icon{display:inline-flex;flex-shrink:0;width:1.25rem;height:1.25rem;}.login-google-icon svg{display:block;width:100%;height:100%;}.login-perks{display:grid;gap:0.75rem;margin:1.35rem 0 0;padding:0;list-style:none;}.login-perks li{display:flex;align-items:flex-start;gap:0.65rem;font-size:0.84rem;line-height:1.45;color:var(--muted);}.login-perk-icon{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;margin-top:0.05rem;border-radius:999px;background:var(--pass-bg);color:var(--pass);}.login-perk-icon svg{width:0.75rem;height:0.75rem;}.login-footnote{margin:0;padding:1rem 1.75rem 1.35rem;border-top:1px solid var(--line);font-size:0.78rem;line-height:1.5;text-align:center;color:var(--muted);}.onboarding-screen{min-height:calc(100vh - 10rem);}.onboarding-card{width:min(100%,32rem);}.onboarding-profile{display:grid;gap:0.65rem;margin:0;padding:1.1rem 1.75rem;border-bottom:1px solid var(--line);background:var(--hero-1);}.onboarding-profile-row{display:grid;gap:0.15rem;}.onboarding-label{font-size:0.72rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--muted);}.onboarding-profile-row strong{font-size:0.95rem;color:var(--heading);word-break:break-word;}.onboarding-form{padding:1.25rem 1.75rem 1.5rem;display:grid;gap:1.1rem;}.onboarding-field{margin:0;}.onboarding-class-fieldset{margin:0;padding:0;border:0;}.onboarding-class-legend{margin-bottom:0.85rem;font-size:0.92rem;font-weight:800;color:var(--heading);}.onboarding-class-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0.55rem;}.onboarding-class-option{position:relative;cursor:pointer;}.onboarding-class-option input{position:absolute;opacity:0;pointer-events:none;}.onboarding-class-option span{display:flex;align-items:center;justify-content:center;min-height:var(--tap);padding:0.55rem 0.35rem;border:2px solid var(--line);border-radius:0.75rem;background:var(--card-bg);color:var(--ink);font-size:0.88rem;font-weight:700;transition:border-color 0.18s ease,background 0.18s ease,color 0.18s ease,box-shadow 0.18s ease;}.onboarding-class-option input:focus-visible + span{outline:2px solid var(--brand-bright);outline-offset:2px;}.onboarding-class-option input:checked + span{border-color:var(--brand-bright);background:var(--hover);color:var(--brand-bright);box-shadow:0 8px 20px rgb(26 115 232 / 0.16);}.onboarding-class-option:hover span{border-color:var(--hover-border);background:var(--hover);}.onboarding-submit{margin-top:1.15rem;min-height:var(--tap);border-color:#1a73e8;background:#1a73e8;color:var(--on-accent);box-shadow:0 10px 24px rgb(26 115 232 / 0.28);}.onboarding-submit:hover{background:var(--brand-bright-hover);border-color:var(--brand-bright-hover);color:var(--white);}.onboarding-error{margin-top:0.75rem;}.login-back{display:inline-flex;align-items:center;gap:0.35rem;min-height:var(--tap);padding:0.55rem 1rem;border-radius:999px;color:var(--link);font-size:0.95rem;font-weight:700;transition:color 0.18s ease,background 0.18s ease;}.login-back:hover{color:var(--ink);background:var(--hover);}.or-line{display:flex;align-items:center;gap:0.75rem;margin:0.75rem 0;color:var(--muted);font-size:0.8rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;}.or-line::before,.or-line::after{content:"";flex:1;height:1px;background:var(--line);}.student-fields{display:grid;gap:1rem;}.field{display:grid;gap:0.4rem;font-size:0.85rem;font-weight:600;color:var(--ink);}.field input,.field select{width:100%;min-height:var(--tap);border:2px solid var(--line);border-radius:0.75rem;padding:0.75rem 0.9rem;background:var(--card-bg);color:var(--ink);}.field input:focus,.field select:focus{outline:2px solid var(--brand-bright);outline-offset:1px;}.field-error{color:var(--mark);font-weight:600;}.student-gate .btn-primary{width:100%;margin-top:0.5rem;}@media (min-width:1024px){.class-grid{gap:0.5rem;}.class-box{min-height:5.85rem;}.class-box-visual{padding:0.5rem 0.25rem 0.45rem;gap:0.25rem;}.class-box-label{font-size:0.74rem;}.class-box-book{max-width:2.35rem;max-height:2.75rem;}}@media (max-width:960px){.exam-layout{grid-template-columns:1fr;}.subject-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.chapter-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.mock-history-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.subject-mock-card{width:100%;}}@media (max-width:920px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;}.desk-stats{grid-template-columns:repeat(3,minmax(0,1fr));}.score-grid{grid-template-columns:1fr;}.class-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:0.5rem;overflow:visible;}.class-box{min-height:5.25rem;flex-shrink:0;}.class-box-book{max-width:1.85rem;max-height:2.15rem;}.exam-brief-stats{grid-template-columns:repeat(2,minmax(0,1fr));}}@media (max-width:920px){:root{--site-gutter:0.75rem;--content-gutter:1.25rem;}.site{overflow-x:clip;padding-bottom:calc(4.6rem + env(safe-area-inset-bottom,0));}body{overflow-x:clip;}.mobile-bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:90;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));min-height:4.6rem;padding:0.35rem max(0.5rem,env(safe-area-inset-right,0)) calc(0.35rem + env(safe-area-inset-bottom,0)) max(0.5rem,env(safe-area-inset-left,0));border-top:1px solid var(--ub-line);background:var(--ub-card);box-shadow:0 -8px 24px rgb(15 23 42 / 0.1);}.mobile-bottom-nav-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.15rem;min-width:0;min-height:3.75rem;padding:0.3rem 0.4rem;border:0;border-radius:0.75rem;background:transparent;color:var(--muted);font-size:0.72rem;font-weight:800;line-height:1.1;text-align:center;cursor:pointer;list-style:none;}.mobile-bottom-nav-link.is-active{background:var(--ub-sky);color:var(--ub-blue);}.mobile-bottom-nav-icon{font-size:1.7rem;line-height:1;}.mobile-bottom-account{position:relative;min-width:0;}.mobile-bottom-account > summary{width:100%;height:100%;}.mobile-bottom-account > summary::-webkit-details-marker{display:none;}.mobile-bottom-avatar-frame{width:1.75rem;height:1.75rem;flex:0 0 1.75rem;}.mobile-bottom-avatar{position:relative;z-index:1;width:1.75rem;height:1.75rem;border-radius:50%;object-fit:cover;}.mobile-bottom-avatar-frame .header-avatar-fallback{width:1.75rem;height:1.75rem;font-size:0.72rem;}.mobile-bottom-user-name{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:0.72rem;font-weight:800;line-height:1.1;}.mobile-bottom-account-menu{position:absolute;right:0.25rem;bottom:calc(100% + 0.75rem);z-index:95;display:grid;gap:0.25rem;width:min(17rem,calc(100vw - 1.5rem));padding:0.4rem;border:1px solid var(--ub-line);border-radius:0.8rem;background:var(--ub-card);box-shadow:var(--ub-shadow);}.submit-modal{z-index:120;}.ub-nav-actions > .header-account,.ub-nav-actions > .header-login{display:none;}.login-screen{min-height:calc(100vh - 10rem);padding:1.25rem var(--site-gutter) 2rem;}.login-card-top,.login-card-body{padding-inline:1.25rem;}.login-footnote{padding-inline:1.25rem;}.onboarding-profile,.onboarding-form{padding-inline:1.25rem;}.onboarding-class-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.ub-nav-inner{padding:0 12px;gap:6px;}.ub-nav-actions{gap:6px;}.nav-student{max-width:7rem;font-size:0.85rem;}.ub-channels-slot:not(.is-mobile-home-page),.ub-quick--after:not(.is-mobile-home-page),.ub-footer:not(.is-mobile-home-page){display:none;}.ub-footer{padding-bottom:env(safe-area-inset-bottom,0);}.header-user{max-width:7.5rem;}.header-avatar{width:24px;height:24px;}.header-theme-toggle{padding:0.32rem 0.55rem;font-size:0.72rem;gap:0.28rem;}.header-class-picker select{min-width:5.75rem;max-width:7.5rem;font-size:0.82rem;}.flash{padding:0.65rem 0.75rem;font-size:0.9rem;}.dashboard-band{padding:0.65rem 0 0.75rem;}.dashboard-head{gap:0.35rem;margin-bottom:0.45rem;}.dashboard-title{font-size:1.05rem;}.dashboard-take-test{display:flex;width:100%;gap:0.7rem;padding:0.85rem 0.9rem;align-items:flex-start;}.dashboard-take-test-icon{width:2.45rem;height:2.45rem;border-radius:0.75rem;}.dashboard-take-test-icon svg{width:1.2rem;height:1.2rem;}.dashboard-take-test-title{font-size:1.02rem;}.dashboard-take-test-free{font-size:0.6rem;padding:0.1rem 0.42rem;}.dashboard-take-test-copy{font-size:0.8rem;line-height:1.4;}.dashboard-take-test-meta{gap:0.28rem;}.dashboard-take-test-meta > span{padding:0.18rem 0.48rem;font-size:0.66rem;}.dashboard-take-test-go{align-self:center;min-height:2rem;padding:0.22rem 0.6rem;font-size:0.74rem;}.dashboard-band.is-mobile-recent-only .dashboard-head,.dashboard-band.is-mobile-recent-only .desk-overview,.dashboard-band.is-mobile-recent-only .dashboard-take-test{display:none;}.dashboard-band.is-mobile-recent-only .subjects-mock-wrap,.dashboard-band.is-mobile-recent-only .recent-activity-title{margin-top:0;}.hero{padding:0.85rem 0 1rem;}.hero-grid{padding:0.2rem 0 0.35rem;}.seo-band{padding:1.1rem 0 1.4rem;}.seo-copy .section-title{margin-top:1.35rem;}.seo-faq h3{font-size:1rem;}.section-title{font-size:1.2rem;line-height:1.25;}.class-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0.45rem;}.class-box{min-height:5.5rem;}.class-box-visual{padding:0.45rem 0.2rem 0.4rem;gap:0.2rem;}.class-box-label{font-size:clamp(0.72rem,3vw,0.85rem);line-height:1.1;white-space:normal;}.class-box-book{max-width:1.9rem;max-height:2.2rem;}.subjects-band{padding:0.75rem 0 0.9rem;}.subject-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0.6rem;margin-top:0.65rem;}.subject-card-title{flex-direction:column;align-items:stretch;gap:0.45rem;}.subject-card-title h2{overflow-wrap:anywhere;font-size:1rem;}.subject-explore-btn{width:100%;margin-left:0;min-height:1.85rem;padding:0.2rem 0.55rem;font-size:0.72rem;justify-content:center;align-self:stretch;}.chapter-book{margin-top:1.1rem;scroll-margin-top:4.75rem;}.chapter-book-title{font-size:1.02rem;}.chapter-book-nav a{font-size:0.74rem;padding:0.28rem 0.58rem;}.chapter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0.6rem;}.chapter-grid .card{width:100%;min-height:0;}.chapter-grid .chapter-card{flex-direction:column;align-items:stretch;gap:0.55rem;}.chapter-card-action{align-self:stretch;width:100%;}.chapter-grid .chapter-card-start-btn{width:100%;min-width:0;min-height:1.9rem;padding:0.22rem 0.55rem;font-size:0.72rem;}.chapter-card-stats{gap:0.28rem;margin-top:0.4rem;}.chapter-card-stats span{padding:0.14rem 0.4rem;font-size:0.66rem;}.chapter-card-foot{flex-wrap:wrap;gap:0.35rem;}.subject-kicker,.exam-brief-title,.mock-history-card h2,.result-q-text,.result-option span,.desk-stat strong{max-width:100%;overflow-wrap:anywhere;word-break:normal;}.subject-mock-card{flex-direction:row;align-items:center;gap:0.75rem;max-width:none;padding:1.15rem 1.1rem;}.subject-mock-action{align-self:center;margin-top:0;}.subject-mock-start-btn{min-width:5.75rem;min-height:2.85rem;padding:0.62rem 1.25rem;font-size:0.98rem;}.desk-overview{grid-template-columns:1fr;gap:0.35rem;}.desk-overview-split{grid-template-columns:1fr 1fr;gap:0.35rem;}.desk-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;}.desk-stat span{font-size:0.62rem;letter-spacing:0.04em;}.desk-stat strong{font-size:0.92rem;overflow-wrap:break-word;word-break:normal;line-height:1.25;}.desk-panel-inline{padding:0.65rem 0.75rem;}.desk-mock-panel{padding:0.65rem 0.75rem;}.mock-history-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0.55rem;}.mock-history-card{width:100%;padding:0.8rem 0.8rem 0.75rem;gap:0.35rem;border-radius:0.9rem;}.mock-history-card h2{font-size:0.9rem;line-height:1.3;}.mock-history-meta{font-size:0.74rem;gap:0.45rem;}.mock-history-details{gap:0.28rem;}.mock-history-details > span{padding:0.14rem 0.42rem;font-size:0.66rem;}.mock-history-action-row{flex-wrap:wrap;gap:0.3rem 0.4rem;}.mock-history-cta{min-height:1.7rem;padding:0.16rem 0.55rem;font-size:0.68rem;}.mock-history-status{font-size:0.64rem;padding:0.16rem 0.45rem;}.mock-history-score{font-size:0.7rem;min-width:2.4rem;}.page{padding:0.75rem 0 1rem;}.page-title{font-size:1.15rem;line-height:1.3;}.lead{font-size:0.92rem;line-height:1.45;}.card{padding:0.85rem 0.95rem;}.btn{min-height:var(--tap);padding:0.75rem 1.15rem;font-size:1rem;}.actions{flex-direction:column;gap:0.5rem;}.actions .btn,.actions form,.actions form .btn{width:100%;}.exam-brief{padding:1rem;}.exam-brief-actions{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:0.45rem;}.exam-brief-actions form,.exam-brief-actions > .btn{flex:0 0 auto;width:auto;min-width:0;}.exam-brief-actions form{display:inline-flex;}.exam-brief-actions form .btn,.exam-brief-actions > .btn{width:auto;flex:0 0 auto;min-height:2.25rem;justify-content:center;padding:0.32rem 0.7rem;font-size:0.82rem;white-space:nowrap;}.btn-start-exam{justify-content:center;min-height:2.25rem;padding:0.32rem 0.8rem;font-size:0.84rem;}.exam-brief-back{min-height:2.25rem;padding-inline:0.65rem;}.exam-features{grid-template-columns:1fr;gap:0.75rem;}.student-fields{grid-template-columns:1fr !important;gap:0.85rem;}.field input,.field select{padding:0.7rem 0.85rem;font-size:1rem;}.meta.box{grid-template-columns:1fr 1fr;gap:0.6rem;padding:0.85rem;}.meta.box .note{grid-column:1 / -1;}.exam-bar{flex-direction:column;align-items:stretch;padding:0.85rem;margin-bottom:0.85rem;gap:0.65rem;}.exam-bar h1{font-size:1.05rem;line-height:1.35;word-break:break-word;}.exam-bar .header-actions{width:100%;margin-left:0;justify-content:space-between;flex-wrap:wrap;}.exam-paper{padding:0.85rem;}.question .kicker{min-height:1.85rem;padding-right:3.6rem;display:flex;align-items:center;}.question h2{font-size:1.05rem;line-height:1.45;overflow-wrap:anywhere;word-break:normal;}.choice{padding:0.85rem 0.9rem;min-height:var(--tap);}.choice span{line-height:1.4;overflow-wrap:anywhere;word-break:normal;}.exam-nav{flex-direction:row;align-items:stretch;gap:0.5rem;margin-top:1.25rem;}.exam-nav .btn{width:100%;min-height:var(--tap);min-width:0;}#prev-btn,#next-btn{flex:1 1 0;}#hint-btn:not(.is-hidden){top:0.75rem;right:0.75rem;width:auto;min-width:0;min-height:1.65rem;padding:0.14rem 0.48rem;font-size:0.68rem;}#prev-btn{background:var(--brand-bright);border-color:var(--brand-bright);color:var(--on-accent);}.btn-submit-exam{width:auto;min-width:9.5rem;max-width:12.5rem;margin-inline:auto;padding-inline:1.15rem;justify-self:center;}.palette{order:0;padding:0.85rem;position:static;z-index:5;}.palette-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:0.35rem;max-height:14rem;overflow-y:auto;overscroll-behavior:contain;}.palette-btn{min-height:var(--tap);font-size:0.88rem;}.palette-progress{flex:1 1 100%;margin-left:0;text-align:center;white-space:normal;}.palette-legend{grid-template-columns:repeat(2,minmax(0,1fr));}.palette-legend-review{grid-column:1;}.palette-legend.result-legend{flex-wrap:wrap;gap:0.45rem 0.55rem;}.result-legend li{font-size:0.68rem;white-space:normal;}.submit-card{padding:1.15rem 1.05rem 1rem;max-height:calc(100dvh - 2rem);overflow:auto;}.submit-card h2{font-size:1.2rem;}.exam-dialog-icon{width:2.65rem;height:2.65rem;margin-bottom:0.7rem;}.submit-stats{grid-template-columns:1fr 1fr;}.submit-stats dd{font-size:1.4rem;}.submit-actions{flex-direction:column;}.submit-actions .btn{width:100%;flex:1 1 auto;}.score-grid{gap:0.75rem;}.score-ring{min-height:8rem;border-radius:1rem;}.score-ring.score-breakdown{padding:1rem 0.85rem;}.score-breakdown-grid{gap:0.75rem 0.5rem;}.score-breakdown-grid dd{font-size:1.15rem;}.result-accuracy-head strong{font-size:1.65rem;}.result-donut{width:8rem;height:8rem;}.result-donut-hole strong{font-size:1.15rem;}.result-rank-line strong{font-size:1.4rem;}.result-review-head{flex-direction:column;align-items:stretch;}.result-review-toolbar{flex-wrap:nowrap;align-items:stretch;width:100%;margin-left:0;gap:0.35rem;overflow-x:auto;overscroll-behavior-x:contain;}.result-more-tests{flex:0 1 auto;width:auto;min-width:0;padding-inline:0.55rem;font-size:0.7rem;justify-content:center;}.result-filters{display:flex;flex:1 1 auto;flex-wrap:nowrap;min-width:0;gap:0.3rem;}.result-filter{flex:1 1 0;width:auto;min-width:0;min-height:var(--tap);padding-inline:0.3rem;font-size:0.68rem;text-align:center;white-space:nowrap;}.result-palette{position:static;order:-1;}.result-jump-grid{grid-template-columns:repeat(5,minmax(0,1fr));max-height:14rem;overflow-y:auto;overscroll-behavior:contain;}.result-nav{flex-direction:row;flex-wrap:nowrap;align-items:stretch;gap:0.5rem;}.result-nav .btn{flex:1 1 0;width:auto;min-width:0;justify-content:center;padding-inline:0.65rem;font-size:0.92rem;white-space:nowrap;}.review-jump{grid-template-columns:repeat(5,minmax(0,1fr));gap:0.4rem;}.review-jump-btn{min-height:var(--tap);font-size:0.85rem;}.key-head{flex-direction:column;align-items:flex-start;gap:0.35rem;}.key-item{scroll-margin-top:4.5rem;}.list li{flex-direction:column;align-items:flex-start;gap:0.25rem;padding:0.75rem 1rem;}.previous-top{flex-direction:column;gap:0.35rem;}.previous-questions{max-height:10rem;}.footer-grid{grid-template-columns:1fr;gap:1.1rem;padding:1.5rem 0 1rem;}.footer-copy{padding:0.75rem 0 calc(0.85rem + env(safe-area-inset-bottom,0));}}@media (max-width:991px){.ub-nav{position:relative;top:auto;}.ub-nav-toggle{display:none;}.ub-nav-desktop-only{display:none !important;}.ub-nav-inner{min-height:0;padding:8px 16px 12px;flex-wrap:wrap;column-gap:8px;row-gap:10px;}.ub-nav-cta{display:inline-flex;padding:8px 10px;}.ub-nav-links{display:grid;order:5;grid-template-columns:repeat(3,minmax(0,1fr));flex:1 0 100%;gap:6px;width:100%;}.ub-nav-links a,.ub-nav.is-open .ub-nav-links a{display:flex;align-items:center;justify-content:center;min-height:40px;padding:7px 8px;border:1.5px solid var(--ub-line);border-radius:10px;background:var(--ub-card);color:var(--ub-navy) !important;font-size:0.74rem;font-weight:700;line-height:1.25;text-align:center;white-space:normal;}.ub-nav-links a:hover,.ub-nav-links a.is-active{border-color:var(--ub-blue);background:var(--ub-blue);color:#fff !important;}.ub-footer-grid{grid-template-columns:1fr 1fr;padding-top:32px;}}@media (max-width:767px){.ub-theme-toggle{padding:8px 10px;}.ub-nav-cta{padding:8px 10px;font-size:0.78rem;}.ub-nav-links{grid-template-columns:repeat(2,minmax(0,1fr));}.ub-nav-links .ub-nav-mobile-bottom-link{grid-column:1 / -1;}}@media (max-width:480px){.ub-nav-inner{padding:8px 16px 12px;gap:10px 8px;}.ub-nav-actions{gap:4px;}.ub-nav-login.header-login{padding:8px 10px;font-size:0.78rem;}.header-class-picker select{width:4.9rem;min-width:4.9rem;max-width:4.9rem;padding-inline:0.55rem 1.25rem;font-size:0.78rem;}.class-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0.45rem;}.class-box{min-height:5.75rem;}.class-box-label{font-size:0.82rem;}.login-perks li{font-size:0.9rem;line-height:1.5;}.seo-copy p,.seo-copy li{font-size:0.94rem;line-height:1.65;}.seo-faq-card{padding:0.85rem 0.9rem;}.ub-footer-social-inner{flex-direction:column;align-items:flex-start;gap:8px;}.ub-footer-grid{grid-template-columns:1fr;}}@media (max-width:400px){.class-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:0.4rem;}.class-box{min-height:5.5rem;}.meta.box{grid-template-columns:1fr;}.desk-overview-split{grid-template-columns:1fr;}.submit-stats{grid-template-columns:1fr;}.review-jump{grid-template-columns:repeat(4,minmax(0,1fr));}}@media (min-width:641px){.student-fields{grid-template-columns:1fr 8rem 10rem;}}@media (min-width:640px){.grid-2{grid-template-columns:1fr 1fr;}.footer-inner{flex-direction:row;align-items:center;}.score-grid{grid-template-columns:1fr 1fr;}.score-grid .score-ring{aspect-ratio:unset;height:100%;}.score-breakdown-grid > div:nth-child(4),.score-breakdown-grid > div:nth-child(5){grid-column:auto;}}@media (min-width:768px){.nav{display:flex;}}@media (min-width:960px){.exam-layout{grid-template-columns:minmax(0,1fr) minmax(240px,280px);}.palette{position:static;}}html[data-ub-theme="night"] .btn-ghost{color:var(--ink);}html[data-ub-theme="night"] .btn-back-subjects{background:var(--brand-bright);color:#07101c;}html[data-ub-theme="night"] .btn-back-subjects:hover{background:#9cc4ff;color:#07101c;}html[data-ub-theme="night"] .btn-outline{border-color:var(--hover-border);color:var(--ink);background:var(--card-bg);}@media (max-width:920px){html[data-ub-theme="night"] #prev-btn{background:var(--brand-bright);border-color:var(--brand-bright);color:var(--on-accent);}}html[data-ub-theme="night"] .link,html[data-ub-theme="night"] .login-back{color:var(--link);}html[data-ub-theme="night"] a.ub-nav-cta,html[data-ub-theme="night"] .header-logout,html[data-ub-theme="night"] .btn-primary,html[data-ub-theme="night"] .btn-ink,html[data-ub-theme="night"] .btn-mark,html[data-ub-theme="night"] .btn-start-exam,html[data-ub-theme="night"] .btn-submit-exam,html[data-ub-theme="night"] .chapter-start-btn:not(.is-disabled),html[data-ub-theme="night"] .subject-explore-btn,html[data-ub-theme="night"] .mock-history-cta,html[data-ub-theme="night"] .mock-history-score,html[data-ub-theme="night"] .app-open-btn-primary,html[data-ub-theme="night"] .onboarding-submit{color:var(--on-accent) !important;}html[data-ub-theme="night"] #hint-btn:hover,html[data-ub-theme="night"] #hint-btn:focus-visible{background:#3a2e18;border-color:var(--flash-line);color:var(--flash-ink);}html[data-ub-theme="night"] #hint-btn.is-on{background:#f5b942;color:#07101c;}html[data-ub-theme="night"] #mark-review-btn{background:#1a2d4a;border-color:rgb(125 179 255 / 0.45);color:var(--brand-bright);}html[data-ub-theme="night"] #mark-review-btn:hover,html[data-ub-theme="night"] #mark-review-btn:focus-visible{background:#243a5c;color:var(--brand-bright);}html[data-ub-theme="night"] #mark-review-btn.is-on{background:var(--brand-bright);border-color:var(--brand-bright);color:#07101c;}html[data-ub-theme="night"] #clear-answer-btn{background:#3a2018;border-color:rgb(255 177 153 / 0.45);color:var(--mark);}html[data-ub-theme="night"] #clear-answer-btn:hover,html[data-ub-theme="night"] #clear-answer-btn:focus-visible{background:#4a2a20;color:var(--mark);}html[data-ub-theme="night"] .exam-dialog{background:radial-gradient(circle at 100% 0%,rgb(125 179 255 / 0.16),transparent 42%),var(--card-bg);box-shadow:0 24px 64px rgb(0 0 0 / 0.5);}html[data-ub-theme="night"] .exam-dialog--leave{background:radial-gradient(circle at 0% 0%,rgb(125 179 255 / 0.2),transparent 44%),var(--card-bg);}html[data-ub-theme="night"] .exam-dialog--submit .exam-dialog-icon{color:var(--mark);}html[data-ub-theme="night"] .submit-stat.is-answered dd{color:var(--pass);}html[data-ub-theme="night"] .submit-stat.is-unanswered dd{color:var(--mark);}html[data-ub-theme="night"] .exam-dialog-secondary.btn-outline{background:transparent;color:var(--brand-bright);}html[data-ub-theme="night"] .exam-dialog-primary.btn-mark{background:var(--start-bg);color:var(--on-accent);}html[data-ub-theme="night"] .exam-dialog-primary.btn-mark:hover{background:var(--start-hover);color:#07101c;}.ub-channels-slot{padding:1rem 0 0.35rem;}.ub-social-grid{display:grid;gap:0.75rem;}.ub-social-grid--3{grid-template-columns:repeat(3,minmax(0,1fr));}@media (max-width:920px){.is-mobile-home-page .ub-social-grid--3{grid-template-columns:1fr;}}.ub-social{display:flex;align-items:center;justify-content:space-between;gap:0.75rem;border-radius:1rem;padding:0.85rem 1rem;text-decoration:none !important;border:1px solid var(--line);color:var(--ink);transition:transform 0.16s ease,box-shadow 0.16s ease;}.ub-social:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);}.ub-social span{display:flex;align-items:center;gap:0.6rem;font-weight:700;color:var(--heading);}.ub-social span svg{flex-shrink:0;display:block;}.ub-social--wa span svg{color:#25d366;}.ub-social--tg span svg{color:#229ed9;}.ub-social--fb span svg{color:#0866ff;}.ub-social em{font-style:normal;font-size:0.82rem;font-weight:700;background:var(--navy);color:#fff;padding:0.45rem 0.75rem;border-radius:999px;white-space:nowrap;}.ub-social--wa{background:#f1fff6;}.ub-social--tg{background:#eef7ff;}.ub-social--fb{background:#eef3ff;}html[data-ub-theme="night"] .ub-social--wa{background:#143126;border-color:#1f4a38;}html[data-ub-theme="night"] .ub-social--tg{background:#12283c;border-color:#1c3d5c;}html[data-ub-theme="night"] .ub-social--fb{background:#152238;border-color:#27406a;}html[data-ub-theme="night"] .ub-social span{color:#eaf0fa;}html[data-ub-theme="night"] .ub-social em{background:#1a73e8;color:#ffffff;}.ub-quick--after{padding:0.65rem 0 1.5rem;}.hero + .ub-channels-slot,.subjects-band + .ub-channels-slot,.dashboard-band + .ub-channels-slot{padding-top:0.35rem;}.subject-page .ub-channels-slot{padding:1.25rem 0 0.35rem;}.subject-page .ub-quick--after{padding:0.5rem 0 1.25rem;}.exam-ready-page .ub-channels-slot{padding:1.25rem 0 0.35rem;}.exam-ready-page .ub-quick--after{padding:0.5rem 0 1.35rem;}.ub-quick-kicker{font-size:0.78rem;font-weight:800;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);margin:0 0 12px;}.ub-quick-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:14px;}.ub-quick-card{background:var(--card-bg);border-radius:20px;padding:18px 14px 16px;text-align:center;text-decoration:none !important;box-shadow:var(--shadow-sm);border:1px solid transparent;color:inherit;min-width:0;transition:transform 0.18s ease,box-shadow 0.18s ease,border-color 0.18s ease;}.ub-quick-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--hover-border);}.ub-quick-card .ub-qicon{width:62px;height:62px;margin:0 auto 12px;border-radius:18px;display:grid;place-items:center;font-size:1.5rem;color:#fff;}.ub-quick-card .ub-qicon svg{display:block;width:28px;height:28px;}.ub-quick-card h3{font-size:0.95rem;font-weight:800;color:var(--heading);margin:0 0 4px;line-height:1.2;}.ub-quick-card p{margin:0;font-size:0.78rem;line-height:1.25;color:var(--muted);}.ub-c-blue{background:linear-gradient(180deg,#3b8cff,#1a73e8);}.ub-c-teal{background:linear-gradient(180deg,#22c3af,#0f9d8a);}.ub-c-coral{background:linear-gradient(180deg,#ff8a62,#ff6a3d);}.ub-c-gold{background:linear-gradient(180deg,#ffd36a,#f0b429);}.ub-c-purple{background:linear-gradient(180deg,#8b7cff,#635bff);}.ub-c-navy{background:linear-gradient(180deg,#2b4d7a,#0b2244);}.ub-c-rose{background:linear-gradient(180deg,#ff6b9d,#e11d74);}.ub-c-indigo{background:linear-gradient(180deg,#818cf8,#4f46e5);}@media (max-width:1199px){.ub-quick-grid{grid-template-columns:repeat(4,minmax(0,1fr));}}@media (max-width:767px){.ub-quick-grid{grid-template-columns:1fr 1fr;}.ub-quick-card{padding:0.95rem 0.7rem 0.85rem;}.ub-quick-card .ub-qicon{width:3.25rem;height:3.25rem;margin-bottom:0.6rem;border-radius:0.9rem;}.ub-quick-card .ub-qicon svg{width:1.4rem;height:1.4rem;}.ub-quick-card h3{font-size:0.88rem;}.ub-quick-card p{font-size:0.72rem;}}body.app-open-sheet-lock{overflow:hidden;}.app-open-sheet{display:none;}.app-open-sheet.is-open{position:fixed;inset:0;z-index:140;display:flex;align-items:flex-end;justify-content:center;}.app-open-backdrop{position:absolute;inset:0;border:0;padding:0;background:rgb(7 16 28 / 0.48);cursor:pointer;}.app-open-card{position:relative;width:min(28rem,100%);border-radius:1.35rem 1.35rem 0 0;background:var(--card-bg);padding:1.15rem 1.2rem calc(1.2rem + env(safe-area-inset-bottom,0px));box-shadow:0 -12px 40px rgb(11 34 68 / 0.18);animation:app-open-up 0.22s ease;}.app-open-heading{margin:0 0 1rem;text-align:center;font-size:1.15rem;font-weight:800;letter-spacing:-0.03em;color:var(--heading);}.app-open-row{display:grid;grid-template-columns:2.75rem minmax(0,1fr) auto;align-items:center;gap:0.85rem;min-height:3.5rem;}.app-open-row + .app-open-row{margin-top:0.35rem;padding-top:0.75rem;border-top:1px solid var(--line);}.app-open-icon{width:2.75rem;height:2.75rem;border-radius:0.7rem;object-fit:cover;background:var(--card-bg);}.app-open-browser-icon{display:grid;place-items:center;border-radius:999px;overflow:hidden;box-shadow:0 0 0 1px var(--line);}.app-open-browser-icon svg{width:2.75rem;height:2.75rem;}.app-open-name{font-size:1.02rem;font-weight:800;color:var(--heading);}.app-open-btn{display:inline-flex;align-items:center;justify-content:center;min-width:5.6rem;min-height:2.35rem;padding:0.4rem 1.05rem;border:0;border-radius:999px;font-size:0.92rem;font-weight:800;text-decoration:none;cursor:pointer;}.app-open-btn-primary{background:#1a73e8;color:var(--on-accent);box-shadow:0 8px 18px rgb(26 115 232 / 0.28);}.app-open-btn-primary:hover{background:#1558c0;color:var(--on-accent);}.app-open-btn-muted{background:#e8edf4;color:#3a4d63;}.app-open-btn-muted:hover{background:#dce3ef;}@keyframes app-open-up{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:none;}}@media (min-width:921px){.app-open-sheet.is-open{display:none;}}html[data-ub-theme="night"] .app-open-btn-primary{color:var(--on-accent);}html[data-ub-theme="night"] .app-open-btn-muted{background:#24364f;color:var(--ink);}@media (max-width:920px){.desk-overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:0.35rem;}.desk-panel[data-tone="ranking"].desk-panel-inline{grid-column:1 / -1;}.desk-stat,.desk-panel[data-tone="ranking"].desk-panel-inline{min-height:4.4rem;padding:0.45rem 0.3rem;border-radius:0.65rem;}.desk-stat span,.desk-panel[data-tone="ranking"] .desk-panel-label{font-size:0.58rem;line-height:1.2;letter-spacing:0.025em;}.desk-stat strong{font-size:0.92rem;line-height:1.2;}.desk-rank li.is-you{padding:0.25rem;font-size:0.64rem;line-height:1.25;}}@media (max-width:520px){.result-save-steps{grid-template-columns:1fr;gap:0.55rem;text-align:left;}.result-save-steps li{min-height:1.5rem;padding:0.15rem 0 0 2rem;}.result-save-steps li::before{top:0;left:0;transform:none;}.dashboard-profile-avatar{width:42px;height:42px;flex-basis:42px;}}