@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2)format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2)format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2)format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2)format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2)format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-cyrillic-500-normal-BasfLYem.woff2)format("woff2"),url(/assets/inter-cyrillic-500-normal-CxZf_p3X.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-ext-500-normal-C4iEst2y.woff2)format("woff2"),url(/assets/inter-greek-ext-500-normal-2j5mBUwD.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-greek-500-normal-BIZE56-Y.woff2)format("woff2"),url(/assets/inter-greek-500-normal-Xzm54t5V.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-vietnamese-500-normal-DOriooB6.woff2)format("woff2"),url(/assets/inter-vietnamese-500-normal-mJboJaSs.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2)format("woff2"),url(/assets/inter-latin-ext-500-normal-BxGbmqWO.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2)format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2)format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2)format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2)format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2)format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-700-normal-CjBOestx.woff2)format("woff2"),url(/assets/inter-cyrillic-700-normal-DrXBdSj3.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2)format("woff2"),url(/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-700-normal-C3JjAnD8.woff2)format("woff2"),url(/assets/inter-greek-700-normal-BUv2fZ6O.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2)format("woff2"),url(/assets/inter-vietnamese-700-normal-BZaoP0fm.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2)format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2)format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-black:#111;--color-gray-800:#333;--color-gray-600:#666;--color-gray-200:#e5e5e5;--color-gray-100:#f5f5f5;--color-white:#fff;--color-gray-900:#1a1a1a;--color-gray-400:#999;--font-sans:"Inter", system-ui, sans-serif;--text-h1:2rem;--text-h2:1.5rem;--text-h3:1.125rem;--text-body:1rem;--text-caption:.8125rem;--radius-sm:8px;--radius-md:12px;--header-height:68px;font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.5}:root,.light-surface{--color-text:var(--color-gray-800);--color-text-muted:var(--color-gray-600);--color-heading:var(--color-black);--color-bg:var(--color-white);--color-surface:#f6f3ff;--color-border:#e6e0fb;--color-primary:#6d4aff;--color-primary-hover:#5a38e8;--color-on-primary:var(--color-white);--color-primary-soft:#ece7ff;--color-success-soft-bg:#e3f7f0;--color-error:#ff6b6b;--color-error-bg:#ffecec;--color-error-text:#c93c3c;--color-success-text:#0b7f5e;--color-success:#19b88a;--color-success-soft:#19b88a40;--color-accent:#ffb547;--color-accent-soft:#ffb5472e;--color-on-accent:var(--color-black);--ncert-yellow:#fbf4d5;--ncert-yellow-edge:#e3cf7a;--ncert-green:#e3ebc8;--ncert-green-edge:#a9bf6c;--ncert-blue:#24679c;--ncert-blue-soft:#e5f0f9;--highlight-yellow:#ffe45c;--highlight-green:#b5ee9a;--highlight-blue:#a8dbff;--highlight-pink:#ffc2dc;--source-1:#24679c;--source-2:#7b4fb8;--source-3:#127a6c;--source-4:#b85a0b;--source-5:#b8336f;--source-6:#5f7210;--color-youtube:#e62117;--shadow-card:0 4px 16px #0000000f;--shadow-float:0 8px 32px #00000014;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.light-surface{color:var(--color-text);background:var(--color-bg)}:root[data-theme=dark]{--color-text:var(--color-gray-200);--color-text-muted:var(--color-gray-400);--color-heading:var(--color-gray-100);--color-bg:var(--color-black);--color-surface:#1a1628;--color-border:#2e2846;--color-primary:#9b82ff;--color-primary-hover:#b3a0ff;--color-on-primary:var(--color-black);--color-primary-soft:#9b82ff29;--color-success-soft-bg:#19b88a29;--color-error:#ff6b6b;--color-error-bg:#ff6b6b26;--color-error-text:#ff6b6b;--color-success-text:#19b88a;--color-success:#19b88a;--color-success-soft:#19b88a40;--color-accent:#ffb547;--color-accent-soft:#ffb54726;--color-on-accent:var(--color-black);--ncert-yellow:#1e1c15;--ncert-yellow-edge:#c9ad4e;--ncert-green:#181d15;--ncert-green-edge:#8fae55;--ncert-blue:#7cb8e6;--ncert-blue-soft:#131c24;--source-1:#7cb8e6;--source-2:#b393e8;--source-3:#4fc7b3;--source-4:#f0a050;--source-5:#ec7fb0;--source-6:#b6cc55;--shadow-card:0 4px 16px #0006;--shadow-float:0 8px 32px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (width<=600px){:root{--text-h1:1.625rem;--text-h2:1.25rem}}*,:before,:after{box-sizing:border-box}body{background:var(--color-bg);min-height:100vh;color:var(--color-text);margin:0}.page-content{min-height:calc(100vh - var(--header-height));min-height:calc(100dvh - var(--header-height));flex-direction:column;display:flex}.page-content--focus{min-height:100dvh}.page-content>*{flex:1}section[id]{scroll-margin-top:calc(var(--header-height) + 16px)}h1,h2,h3{color:var(--color-heading);margin:0;line-height:1.25}h1{font-size:var(--text-h1);font-weight:700}h2{font-size:var(--text-h2);font-weight:600}h3{font-size:var(--text-h3);font-weight:600}p{margin:0}a{color:var(--color-primary);text-decoration:none}button,input{font:inherit}:focus-visible{outline:2px solid var(--color-gray-600);outline-offset:2px}.btn{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-size:.875rem;font-weight:500;text-decoration:none;transition:background-color .15s;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:var(--color-on-primary)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-outline{background:var(--color-bg);border-color:var(--color-border);color:var(--color-text)}.btn-outline:hover:not(:disabled){background:var(--color-surface)}.btn-lg{padding:12px 22px;font-size:1rem}[data-subject]{--subject-color:var(--color-primary);--subject-on:var(--color-on-primary)}[data-subject=chemistry]{--subject-color:var(--color-success);--subject-on:var(--color-black)}[data-subject=biology]{--subject-color:var(--color-accent);--subject-on:var(--color-on-accent)}:root[data-theme=dark] .brand-logo--light,:root:not([data-theme=dark]) .brand-logo--dark{display:none}.error-text{color:var(--color-error-text);font-size:.875rem}.caption{font-size:var(--text-caption);color:var(--color-text-muted);font-weight:500}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.pricing-plans{max-width:1200px;margin:0 auto}.pricing-plans__grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:16px;display:grid}.plan-card{border:1px solid var(--color-border);background:var(--color-bg);box-shadow:var(--shadow-card);border-radius:18px;flex-direction:column;gap:12px;padding:24px 20px;display:flex}.plan-card.is-highlight{border:2px solid var(--color-primary);background:var(--color-surface);box-shadow:var(--shadow-float)}.plan-card.is-current{border-color:var(--color-success)}.plan-card__top{justify-content:space-between;align-items:center;gap:8px;display:flex}.plan-card__top h3{font-size:var(--text-h3);color:var(--color-heading);font-weight:700}.plan-card__badge{background:var(--color-accent);font-size:var(--text-caption);color:var(--color-on-accent);white-space:nowrap;border-radius:999px;padding:3px 10px;font-weight:700}.plan-card__badge--current{background:var(--color-success-soft-bg);color:var(--color-success-text)}.plan-card__price{align-items:baseline;gap:6px;display:flex}.plan-card__price strong{letter-spacing:-.03em;color:var(--color-heading);font-size:2.25rem;font-weight:700}.plan-card__price span{font-size:var(--text-caption);color:var(--color-text-muted)}.plan-card__tagline{color:var(--color-text-muted);font-size:.9375rem}.plan-card__features{border-top:1px solid var(--color-border);flex-direction:column;flex:1;gap:10px;margin:4px 0 0;padding:16px 0 0;list-style:none;display:flex}.plan-card__features li{align-items:flex-start;gap:10px;font-size:.9375rem;line-height:1.4;display:flex}.plan-card__features li.is-locked{color:var(--color-text-muted)}.plan-card__mark{background:var(--color-success-soft-bg);width:20px;height:20px;color:var(--color-success-text);border-radius:999px;flex-shrink:0;place-items:center;margin-top:1px;display:grid}.is-locked .plan-card__mark{background:var(--color-gray-100);color:var(--color-gray-600)}:root[data-theme=dark] .is-locked .plan-card__mark{background:var(--color-gray-900);color:var(--color-gray-400)}.plan-card__action{flex-direction:column;margin-top:8px;display:flex}.plan-card__action .btn{justify-content:center;width:100%}.plan-card__note{font-size:var(--text-caption);color:var(--color-text-muted);text-align:center}.plan-card__pending{border-radius:var(--radius-sm);background:var(--color-accent-soft);font-size:var(--text-caption);color:var(--color-heading);text-align:center;flex-direction:column;align-items:center;gap:6px;padding:10px;font-weight:600;display:flex}.plan-card__cancel{font:inherit;color:var(--color-primary);cursor:pointer;background:0 0;border:none;padding:0;font-weight:500;text-decoration:underline}.pricing-plans__sent{color:var(--color-success-text);text-align:center;margin-top:16px;font-weight:600}.pricing-plans>.error-text{text-align:center;margin-top:16px}.pricing-plans__note{font-size:var(--text-caption);color:var(--color-text-muted);text-align:center;margin-top:20px}.pricing-section{max-width:1280px;scroll-margin-top:calc(var(--header-height) + 16px);margin:0 auto;padding:32px 32px 96px}.pricing-section__header,.pricing-page__header{text-align:center;flex-direction:column;align-items:center;gap:12px;max-width:680px;margin:0 auto 40px;display:flex}.pricing-section__eyebrow{background:var(--color-primary-soft);font-size:var(--text-caption);color:var(--color-primary);border-radius:999px;padding:4px 12px;font-weight:600}.pricing-section__header h2,.pricing-page__header h1{letter-spacing:-.03em;text-wrap:balance;font-size:clamp(1.75rem,3.6vw,2.5rem);font-weight:700}.pricing-section__muted{color:var(--color-text-muted)}.pricing-section__header p,.pricing-page__header p{color:var(--color-text-muted);text-wrap:balance}.pricing-page__header .pricing-page__current{color:var(--color-text)}.pricing-page{max-width:1280px;margin:0 auto;padding:48px 32px 96px}.pricing-notes{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:1200px;margin:56px auto 0;display:grid}.pricing-notes__item{border-radius:var(--radius-md);background:var(--color-surface);padding:20px}.pricing-notes__item h2{font-size:var(--text-body);color:var(--color-heading);margin-bottom:6px;font-weight:600}.pricing-notes__item p{color:var(--color-text-muted);font-size:.9375rem}.locked-panel{border:1px solid var(--color-border);background:var(--color-surface);text-align:center;border-radius:18px;flex-direction:column;align-items:center;gap:12px;max-width:520px;margin:48px auto;padding:32px 24px;display:flex}.locked-panel__icon{background:var(--color-primary-soft);width:48px;height:48px;color:var(--color-primary);border-radius:999px;place-items:center;display:grid}.locked-panel h2{font-size:var(--text-h2);color:var(--color-heading);font-weight:700}.locked-panel p{color:var(--color-text)}.locked-panel__actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:8px;display:flex}.quiz-dialog .locked-panel{background:0 0;border:none;margin:0 auto}.locked-page{padding:32px 16px}@media (width<=1100px){.pricing-plans__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=768px){.pricing-notes{grid-template-columns:1fr}}@media (width<=600px){.pricing-plans__grid{grid-template-columns:1fr}.pricing-section{padding:24px 16px 72px}.pricing-page{padding:32px 16px 72px}.locked-panel{margin:24px auto;padding:24px 16px}}.modal__backdrop{z-index:100;background:#00000073;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{border-radius:var(--radius-md);background:var(--color-bg);width:100%;max-width:480px;max-height:calc(100dvh - 32px);box-shadow:var(--shadow-float);overflow-y:auto}.modal:focus{outline:none}.modal__head{justify-content:space-between;align-items:center;gap:12px;padding:18px 20px 0;display:flex}.modal__head h2{font-size:var(--text-h3)}.modal__close{background:var(--color-surface);width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;border:none;border-radius:50%;place-items:center;font-size:.875rem;display:grid}.modal__close:hover{color:var(--color-heading)}.modal__body{padding:16px 20px 20px}@media (width<=600px){.modal__backdrop{align-items:end;padding:0}.modal{border-radius:var(--radius-md) var(--radius-md) 0 0;max-width:none;max-height:92dvh}}.feedback-card{z-index:90;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);width:min(360px,100vw - 32px);box-shadow:var(--shadow-float);padding:18px 18px 16px;animation:.25s ease-out feedback-in;position:fixed;bottom:20px;right:20px}@keyframes feedback-in{0%{opacity:0;transform:translateY(12px)}}.feedback-card__close{background:var(--color-surface);width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;border:none;border-radius:50%;place-items:center;font-size:.75rem;display:grid;position:absolute;top:10px;right:10px}.feedback-card__close:hover{color:var(--color-heading)}.feedback-card__never{font:inherit;font-size:var(--text-caption);color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;margin-right:auto;padding:0;text-decoration:underline}.feedback-card__never:hover{color:var(--color-heading)}.feedback-form{flex-direction:column;gap:14px;display:flex}.feedback-form fieldset{border:none;margin:0;padding:0}.feedback-form legend{color:var(--color-heading);margin-bottom:10px;padding-right:28px;font-size:.9375rem;font-weight:700}.feedback-form__areas legend{font-size:.875rem;font-weight:600}.feedback-form__optional{color:var(--color-text-muted);font-weight:400}.feedback-faces{justify-content:space-between;gap:6px;display:flex}.feedback-face{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;filter:grayscale(.6);flex:1;place-items:center;height:46px;font-size:1.5rem;transition:transform .12s,filter .12s;display:grid;position:relative}.feedback-face:hover{filter:none;transform:translateY(-2px)}.feedback-face input{opacity:0;pointer-events:none;position:absolute}.feedback-face.is-selected{border-color:var(--color-primary);background:var(--color-primary-soft);box-shadow:inset 0 0 0 1px var(--color-primary);filter:none}.feedback-face:has(input:focus-visible){outline:2px solid var(--color-primary);outline-offset:2px}.feedback-form__chosen{text-align:center;margin-top:6px}.feedback-chips{flex-wrap:wrap;gap:6px;display:flex}.feedback-chip{border:1px solid var(--color-border);background:var(--color-bg);font:inherit;color:var(--color-text);cursor:pointer;border-radius:999px;padding:5px 12px;font-size:.8125rem}.feedback-chip[aria-pressed=true]{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.feedback-chip:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.feedback-form__comment{color:var(--color-heading);flex-direction:column;gap:6px;font-size:.875rem;font-weight:600;display:flex}.feedback-form__comment textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);font:inherit;color:var(--color-text);resize:vertical;padding:8px 10px;font-size:.875rem;font-weight:400}.feedback-form__comment textarea:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.feedback-form__actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.feedback-thanks{align-items:center;gap:12px;padding-right:28px;display:flex}.feedback-thanks__icon{background:var(--color-success);width:36px;height:36px;color:var(--color-black);border-radius:50%;flex-shrink:0;place-items:center;font-weight:700;display:grid}.feedback-thanks strong{color:var(--color-heading)}.feedback-dialog__done{text-align:center;flex-direction:column;align-items:center;gap:16px;display:flex}.feedback-dialog__done .feedback-thanks{padding-right:0}@media (width<=600px){.feedback-card{width:auto;bottom:16px;left:16px;right:16px}}@media (prefers-reduced-motion:reduce){.feedback-card{animation:none}.feedback-face{transition:none}}.footer{border-top:1px solid var(--color-border);background:var(--color-surface);overflow:hidden}.footer__inner{max-width:1280px;margin:0 auto;padding:64px 32px 0}.footer__top{justify-content:space-between;gap:48px;padding-bottom:48px;display:flex}.footer__brand{flex-direction:column;gap:16px;max-width:340px;display:flex}.footer__brand p{color:var(--color-text-muted);font-size:.9375rem;line-height:1.6}.footer__logo{width:auto;height:32px;display:block}.footer__links{flex-wrap:wrap;gap:32px 72px;display:flex}.footer__column-title{font-size:var(--text-caption);letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:14px;font-weight:600}.footer__column ul{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.footer__column a{color:var(--color-text);font-size:.9375rem;transition:color .15s}.footer__column a:hover{color:var(--color-heading);text-underline-offset:3px;text-decoration:underline}.footer__bottom{border-top:1px solid var(--color-border);font-size:var(--text-caption);color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:8px 24px;padding:20px 0;display:flex}.footer__made{margin-right:auto}.footer__top-btn{border:1px solid var(--color-border);background:var(--color-bg);font:inherit;color:var(--color-heading);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-weight:600;transition:border-color .15s;display:inline-flex}.footer__top-btn:hover{border-color:var(--color-gray-400)}.footer__wordmark{letter-spacing:-.06em;text-align:center;white-space:nowrap;color:var(--color-border);-webkit-user-select:none;user-select:none;margin-bottom:-.22em;font-size:clamp(4.5rem,19vw,17rem);font-weight:800;line-height:1}@media (width<=760px){.footer__top{flex-direction:column;gap:40px}.footer__links{gap:48px}}@media (width<=600px){.footer__inner{padding:48px 16px 0}.footer__bottom{flex-direction:column;align-items:flex-start}.footer__made{margin-right:0}}.form-field{flex-direction:column;gap:4px;display:flex}.form-field label{font-size:var(--text-caption);color:var(--color-text);font-weight:500}.form-field__control{position:relative}.form-field input{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;color:var(--color-text);background:var(--color-bg);padding:8px 12px;font-size:.875rem;transition:border-color .15s}.form-field input::placeholder{color:var(--color-gray-400)}.form-field input:focus,.form-field input:focus-visible{border-color:var(--color-gray-600);outline:none}.form-field input[aria-invalid=true]{border-color:var(--color-error)}.form-field__control:has(.form-field__toggle) input{padding-right:40px}.form-field__toggle{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.form-field__toggle:hover{color:var(--color-heading)}.form-field__error{color:var(--color-error-text);font-size:.75rem}.goal-form{flex-direction:column;gap:18px;display:flex}.goal-form__group{border:none;margin:0;padding:0}.goal-form__group legend{color:var(--color-heading);margin-bottom:8px;font-size:.875rem;font-weight:600}.goal-form__days{flex-wrap:wrap;gap:6px;display:flex}.goal-form__day{border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:.8125rem;font-weight:600;display:inline-flex}.goal-form__day:hover{background:var(--color-surface)}.goal-form__day:has(input:checked){border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-heading)}.goal-form__day:has(input:focus-visible){outline:2px solid var(--color-primary);outline-offset:2px}.goal-form__day-dot{background:var(--color-primary);border-radius:50%;width:6px;height:6px}.goal-form__select{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;font:inherit;color:var(--color-text);background:var(--color-bg);padding:8px 12px;font-size:.875rem}.goal-form__select:focus-visible{border-color:var(--color-gray-600);outline:none}.goal-form__targets{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.goal-form__check{color:var(--color-text);cursor:pointer;align-items:center;gap:8px;font-size:.875rem;display:flex}.goal-form__check input{width:16px;height:16px;accent-color:var(--color-primary)}.goal-form__actions{gap:8px;display:flex}@media (width<=360px){.goal-form__targets{grid-template-columns:minmax(0,1fr)}}.goal-minimum{border-left:3px solid var(--color-accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--color-accent-soft);color:var(--color-heading);padding:8px 12px;font-size:.875rem;font-weight:600}.goal-dialog__intro{margin:6px 0 16px}.avatar{object-fit:cover;border-radius:50%;flex-shrink:0;display:block}.avatar--fallback{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-muted);place-items:center;display:grid}.user-menu{position:relative}.user-menu__trigger{cursor:pointer;background:0 0;border:none;border-radius:50%;place-items:center;padding:0;display:grid}.user-menu__trigger:hover .avatar{box-shadow:0 0 0 3px var(--color-border)}.user-menu__dropdown{z-index:20;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);width:240px;box-shadow:var(--shadow-card);padding:8px;position:absolute;top:calc(100% + 8px);right:0}.user-menu__profile{border-bottom:1px solid var(--color-border);flex-direction:column;align-items:center;gap:8px;padding:12px 8px 16px;display:flex}.user-menu__identity{text-align:center;width:100%}.user-menu__email{text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-muted);margin-top:2px;font-size:.8125rem;overflow:hidden}.user-menu__name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--color-heading);font-size:.9375rem;font-weight:600;overflow:hidden}.user-menu__items{flex-direction:column;padding-top:8px;display:flex}.user-menu__item{border-radius:var(--radius-sm);width:100%;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;padding:8px 10px;font-size:.875rem;text-decoration:none;display:flex}.user-menu__item:hover:not(:disabled){background:var(--color-surface)}.user-menu__item:disabled{cursor:not-allowed;color:var(--color-text-muted)}.user-menu__item--group-end{border-bottom:1px solid var(--color-border);border-radius:var(--radius-sm) var(--radius-sm) 0 0;margin-bottom:4px;padding-bottom:10px}.user-menu__item--signout{border-top:1px solid var(--color-border);border-radius:0 0 var(--radius-sm) var(--radius-sm);margin-top:4px;padding-top:10px}.site-header{z-index:10;height:var(--header-height);background:var(--color-surface);box-shadow:inset 0 -1px 0 var(--color-border);padding:0;transition:padding .25s,background-color .25s,box-shadow .25s;position:sticky;top:0}.site-header__inner{border:1px solid #0000;border-radius:0;justify-content:space-between;align-items:center;gap:16px;max-width:1280px;height:100%;margin:0 auto;padding:0 32px;transition:max-width .25s,padding .25s,border-radius .25s,background-color .25s,box-shadow .25s;display:flex}.site-header.is-floating{box-shadow:none;background:0 0;padding:8px 24px}.site-header.is-floating .site-header__inner{border-color:var(--color-border);background:color-mix(in srgb, var(--color-surface) 92%, transparent);max-width:1120px;box-shadow:var(--shadow-float);-webkit-backdrop-filter:blur(14px);border-radius:16px;padding:0 12px 0 20px}.brand{align-items:center;gap:10px;text-decoration:none;display:flex}.brand__logo{width:auto;height:32px;display:block}.site-header__actions{align-items:center;gap:20px;min-width:0;display:flex}.site-header__link{color:var(--color-text);font-size:.875rem;font-weight:500;text-decoration:none}.site-header__link:hover{color:var(--color-heading)}.site-header__pill{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-heading);border-radius:999px;align-items:center;gap:6px;padding:7px 14px;font-size:.875rem;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.site-header__pill svg{color:var(--color-primary)}.site-header__pill:hover{border-color:var(--color-primary);background:var(--color-primary-soft)}.site-header__pill.active{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.site-header__pill.active svg{color:currentColor}.site-header__pill-lock{color:var(--color-text-muted)}.site-header__pill.active .site-header__pill-lock{color:currentColor}.site-header__pill:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.icon-btn{border-radius:var(--radius-sm);width:40px;height:40px;color:var(--color-text);cursor:pointer;background:0 0;border:none;place-items:center;padding:0;display:grid}.icon-btn:hover{background:var(--color-surface)}@media (prefers-reduced-motion:reduce){.site-header,.site-header__inner,.site-header__pill{transition:none}}@media (width<=600px){.site-header__inner{padding:0 16px}.site-header.is-floating{padding:8px 12px}.site-header.is-floating .site-header__inner{padding:0 8px 0 14px}.site-header__actions{gap:4px}.site-header .btn{padding:8px 14px}.site-header__pill{padding:8px;position:relative}.site-header__pill .site-header__pill-lock{box-sizing:content-box;background:var(--color-bg);color:var(--color-text-muted);border-radius:999px;padding:2px;position:absolute;top:-3px;right:-3px}.site-header__pill-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.quiz-dialog__backdrop{z-index:100;background:#00000073;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.quiz-dialog{border-radius:var(--radius-md);background:var(--color-bg);width:100%;max-width:520px;max-height:calc(100dvh - 32px);box-shadow:var(--shadow-float);overflow-y:auto}.quiz-dialog:focus{outline:none}.quiz-setup{flex-direction:column;display:flex}.quiz-setup__head{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.quiz-setup__head h2{font-size:var(--text-h3)}.quiz-setup__close{width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;font-size:1rem}.quiz-setup__close:hover{background:var(--color-surface);color:var(--color-heading)}.quiz-setup>.caption,.quiz-setup>.error-text{padding:12px 18px 0}.quiz-setup__body{flex-direction:column;gap:14px;padding:16px 18px;display:flex}.setup-row{grid-template-columns:84px minmax(0,1fr);align-items:start;gap:12px;display:grid}.setup-row__label{font-size:var(--text-caption);color:var(--color-text-muted);padding-top:6px;font-weight:600}.setup-row__note{font-size:var(--text-caption);color:var(--color-text-muted);margin-top:6px}.segmented{background:var(--color-surface);border-radius:999px;flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.segmented--loose{background:0 0;gap:6px;padding:0}.segmented__option{color:var(--color-text-muted);cursor:pointer;border-radius:999px;padding:5px 12px;font-size:.8125rem;font-weight:500;position:relative}.segmented--loose .segmented__option{border:1px solid var(--color-border);color:var(--color-text)}.segmented__option input{opacity:0;pointer-events:none;position:absolute}.segmented__option.is-selected{background:var(--color-bg);color:var(--color-heading);box-shadow:var(--shadow-card);font-weight:600}.segmented--loose .segmented__option.is-selected{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary);box-shadow:none}.segmented__option:has(input:focus-visible){outline:2px solid var(--color-gray-600);outline-offset:1px}.setup-block{flex-direction:column;gap:8px;display:flex}.setup-block>.setup-row__label{padding-top:0}.chapter-picker{border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.chapter-picker__head{justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.chapter-picker__summary{color:var(--color-heading);font-size:.8125rem;font-weight:600}.subject-tabs{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);display:flex}.subject-tabs__tab{background:var(--color-bg);font:inherit;color:var(--color-text-muted);cursor:pointer;border:none;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 6px;font-size:.8125rem;font-weight:500;display:inline-flex}.subject-tabs__tab+.subject-tabs__tab{border-left:1px solid var(--color-border)}.subject-tabs__tab[aria-selected=true]{border-bottom-color:var(--color-heading);color:var(--color-heading);font-weight:600}.subject-tabs__count{background:var(--color-primary);min-width:18px;color:var(--color-on-primary);border-radius:999px;padding:0 5px;font-size:.6875rem;font-weight:700;line-height:18px}.chapter-list{max-height:260px;margin:0;padding:0 0 4px;list-style:none;overflow-y:auto}.chapter-list ul{margin:0;padding:0;list-style:none}.chapter-list__group-head{z-index:1;background:var(--color-surface);font-size:var(--text-caption);color:var(--color-heading);justify-content:space-between;align-items:center;padding:6px 12px;font-weight:600;display:flex;position:sticky;top:0}.link-button{font:inherit;font-size:var(--text-caption);color:var(--color-heading);cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.chapter-list__item{cursor:pointer;align-items:center;gap:8px;padding:6px 12px;font-size:.8125rem;display:flex}.chapter-list__item:hover{background:var(--color-surface)}.chapter-list__item.is-checked{color:var(--color-heading);font-weight:500}.chapter-list__item input{accent-color:var(--color-primary);flex-shrink:0}.chapter-list__name{flex:1;min-width:0}.chapter-list__count{font-variant-numeric:tabular-nums;color:var(--color-text-muted);font-size:.75rem}.chapter-list__item.is-empty{color:var(--color-text-muted);cursor:not-allowed}.quiz-setup__foot{border-top:1px solid var(--color-border);background:var(--color-surface);border-radius:0 0 var(--radius-md) var(--radius-md);justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;display:flex}.quiz-setup__summary{color:var(--color-text);font-size:.8125rem;font-weight:500}@media (width<=600px){.quiz-dialog__backdrop{align-items:end;padding:0}.quiz-dialog{border-radius:var(--radius-md) var(--radius-md) 0 0;max-width:none;max-height:92dvh}.setup-row{grid-template-columns:1fr;gap:6px}.setup-row__label{padding-top:0}.quiz-setup__foot{border-radius:0}}.admin-page{flex-direction:column;gap:24px;width:100%;max-width:1080px;margin:0 auto;padding:32px 32px 80px;display:flex}.admin-page__header p{color:var(--color-text-muted);margin-top:6px;font-size:.875rem}.admin-denied{flex-direction:column;align-items:center;gap:16px;padding:80px 16px;display:flex}.admin-tiles{grid-template-columns:repeat(4,1fr);gap:12px;margin:0;display:grid}.admin-tile{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);padding:14px 16px}.admin-tile dt{font-size:var(--text-caption);color:var(--color-text-muted)}.admin-tile dd{color:var(--color-heading);flex-direction:column;margin:4px 0 0;font-size:1.75rem;font-weight:700;line-height:1.2;display:flex}.admin-tile__note{color:var(--color-text-muted);margin-top:2px;font-size:.75rem;font-weight:400}.admin-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);padding:18px 20px}.admin-card__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.admin-card__head h2{font-size:var(--text-h3)}.admin-chart{margin:0}.admin-chart__plot{padding-top:18px;position:relative}.admin-chart__max{color:var(--color-text-muted);font-size:.75rem;position:absolute;top:0;left:0}.admin-chart__plot ol{border-bottom:1px solid var(--color-border);border-top:1px dashed var(--color-border);grid-auto-columns:1fr;grid-auto-flow:column;align-items:end;gap:2px;height:160px;margin:0;padding:0;list-style:none;display:grid}.admin-chart__plot li{align-items:flex-end;height:100%;display:flex}.admin-chart__plot li span{background:var(--color-primary);border-radius:4px 4px 0 0;width:100%;display:block}.admin-chart__plot li:hover span{background:var(--color-primary-hover)}.admin-chart__axis{color:var(--color-text-muted);justify-content:space-between;margin-top:6px;font-size:.75rem;display:flex}.admin-search input{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);width:260px;max-width:100%;font:inherit;color:var(--color-text);padding:8px 12px;font-size:.875rem}.admin-search input:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;min-width:640px;font-size:.875rem}.admin-table th,.admin-table td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top;padding:10px 8px}.admin-table th{color:var(--color-text-muted);font-size:.75rem;font-weight:600}.admin-table .is-number{text-align:right;white-space:nowrap}.admin-table__name{color:var(--color-heading);font-weight:600;display:block}.admin-table__email{color:var(--color-text-muted);word-break:break-all;font-size:.8125rem;display:block}.admin-pager{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.admin-pager__buttons{gap:8px;display:flex}.admin-reports{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.admin-reports__empty{text-align:center;color:var(--color-text-muted);padding:24px 0}.admin-report{border-bottom:1px solid var(--color-border);flex-direction:column;gap:6px;padding:14px 0;display:flex}.admin-report__tags{flex-wrap:wrap;align-items:center;gap:6px;font-size:.75rem;display:flex}.admin-report__kind,.admin-report__reason,.admin-report__count,.admin-report__status{border-radius:999px;padding:2px 8px;font-weight:600}.admin-report__kind{background:var(--color-surface);color:var(--color-text)}.admin-report__reason{background:var(--color-primary-soft);color:var(--color-heading)}.admin-report__count{background:var(--color-accent-soft);color:var(--color-heading)}.admin-report__status{border:1px solid var(--color-border);color:var(--color-text-muted);text-transform:capitalize}.admin-report__date{color:var(--color-text-muted);margin-left:auto}.admin-report__item{color:var(--color-heading);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-weight:600;display:-webkit-box;overflow:hidden}.admin-report__meta,.admin-report__by{font-size:var(--text-caption);color:var(--color-text-muted)}.admin-report__details{border-left:3px solid var(--color-primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--color-surface);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--color-text);margin:0;padding:8px 10px;font-size:.875rem}.admin-tiles--3{grid-template-columns:repeat(3,1fr)}.admin-tile dd.admin-tile__text{font-size:1.125rem}.admin-feedback-summary{border-bottom:1px solid var(--color-border);flex-direction:column;gap:16px;margin-bottom:18px;padding-bottom:18px;display:flex}.admin-feedback-split{grid-template-columns:1.3fr 1fr;gap:24px;display:grid}.admin-feedback-split h3{margin-bottom:10px;font-size:.875rem}.admin-bars{gap:6px;margin:0;padding:0;list-style:none;display:grid}.admin-bars li{grid-template-columns:120px 1fr 32px;align-items:center;gap:10px;font-size:.8125rem;display:grid}.admin-bars__track{background:var(--color-surface);border-radius:4px;height:8px}.admin-bars__track span{background:var(--color-primary);border-radius:4px;height:100%;display:block}.admin-bars__count{text-align:right;color:var(--color-heading);font-weight:600}.admin-area-chips{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.admin-area-chips li{background:var(--color-surface);border-radius:999px;padding:4px 10px;font-size:.8125rem}.admin-area-chips strong{color:var(--color-heading)}.admin-feedback__rating{color:var(--color-heading);font-size:.8125rem;font-weight:700}@media (width<=900px){.admin-tiles{grid-template-columns:repeat(2,1fr)}}@media (width<=700px){.admin-feedback-split,.admin-tiles--3{grid-template-columns:1fr}}.admin-tests{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.admin-test{border-bottom:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;padding:14px 0;display:flex}.admin-test__text{flex-direction:column;flex:320px;gap:6px;min-width:0;display:flex}.admin-test__text h3{color:var(--color-heading);font-size:1rem}.admin-test__status{border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:999px;padding:2px 8px;font-weight:600}.admin-test__status.is-published{border-color:var(--color-success);background:var(--color-success-soft-bg);color:var(--color-success-text)}.admin-test__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-test__confirm{color:var(--color-heading);font-size:.875rem;font-weight:600}@media (width<=600px){.admin-page{padding:24px 16px 64px}.admin-card{padding:14px}.admin-search,.admin-search input,.admin-test__actions,.admin-test__actions .btn{width:100%}}.admin-plan-request{border-bottom:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.admin-plan-request__text{flex-direction:column;flex:280px;gap:4px;min-width:0;display:flex}.admin-plan-request__text h3{font-size:var(--text-body);color:var(--color-heading);font-weight:600}.admin-plan-request__text h3 .admin-table__email{margin-left:4px;font-weight:400;display:inline}.admin-plan-status{border-radius:999px;padding:2px 8px;font-size:.75rem;font-weight:600}.admin-plan-status.is-pending{background:var(--color-accent-soft);color:var(--color-heading)}.admin-plan-status.is-approved{background:var(--color-success-soft-bg);color:var(--color-success-text)}.admin-plan-status.is-rejected{background:var(--color-surface);color:var(--color-text-muted)}.admin-table--plans{min-width:480px}.admin-plan-select select{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);font:inherit;color:var(--color-heading);padding:6px 10px}.admin-plan-select select:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.admin-test__free{background:var(--color-success-soft-bg);color:var(--color-success-text);border-radius:999px;padding:2px 8px;font-size:.75rem;font-weight:600}.legal{width:100%;max-width:1080px;margin:0 auto;padding:40px 32px 80px}.legal__header{flex-direction:column;gap:8px;max-width:760px;margin-bottom:32px;display:flex}.legal__eyebrow{font-size:var(--text-caption);letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary);font-weight:700}.legal__lead{color:var(--color-text);font-size:1.0625rem;line-height:1.6}.legal__body{grid-template-columns:240px minmax(0,1fr);align-items:start;gap:48px;display:grid}.legal__toc{top:calc(var(--header-height) + 24px);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:16px;position:sticky}.legal__toc-title{font-size:var(--text-caption);color:var(--color-heading);margin-bottom:8px;font-weight:700}.legal__toc ol{gap:6px;margin:0;padding-left:18px;font-size:.8125rem;display:grid}.legal__toc a{color:var(--color-text-muted);text-decoration:none}.legal__toc a:hover{color:var(--color-primary)}.legal__body:not(:has(.legal__toc)){grid-template-columns:minmax(0,760px)}.legal__content{flex-direction:column;gap:28px;max-width:760px;display:flex}.legal__section{scroll-margin-top:calc(var(--header-height) + 16px)}.legal__section h2{font-size:var(--text-h3);margin-bottom:10px}.legal__number{color:var(--color-primary)}.legal__section p,.legal__section li{color:var(--color-text);line-height:1.7}.legal__section p+p,.legal__section p+ul,.legal__section ul+p{margin-top:10px}.legal__section ul{gap:6px;padding-left:20px;display:grid}.legal__section strong{color:var(--color-heading)}.legal__section a{color:var(--color-primary)}.legal__callout{border-left:4px solid var(--color-primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--color-primary-soft);padding:14px 16px}.legal__related{border-top:1px solid var(--color-border);flex-wrap:wrap;gap:8px;padding-top:24px;display:flex}.legal__related a{border:1px solid var(--color-border);color:var(--color-text);border-radius:999px;padding:6px 12px;font-size:.8125rem;text-decoration:none}.legal__related a:hover{border-color:var(--color-primary);color:var(--color-primary)}@media (width<=900px){.legal__body{grid-template-columns:1fr;gap:24px}.legal__toc{position:static}}@media (width<=600px){.legal{padding:28px 16px 64px}}.neet-goal{flex-direction:column;gap:20px;display:flex}.neet-goal__years{border:none;margin:0;padding:0}.neet-goal__years legend{color:var(--color-heading);margin-bottom:8px;font-size:.875rem;font-weight:600}.neet-goal__chips{flex-wrap:wrap;gap:8px;display:flex}.neet-goal__chip{border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;border-radius:999px;padding:8px 16px;font-weight:600}.neet-goal__chip:hover{background:var(--color-surface)}.neet-goal__chip:has(input:checked){border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-heading)}.neet-goal__chip:has(input:focus-visible){outline:2px solid var(--color-primary);outline-offset:2px}.neet-goal__hint{margin-top:6px}.neet-goal__actions{gap:8px;display:flex}.account-page{max-width:1040px;margin:0 auto;padding:40px 32px}.account-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);grid-template-columns:240px 1fr;min-height:480px;display:grid;overflow:hidden}.account-sidebar{border-right:1px solid var(--color-border);background:var(--color-surface);padding:28px 16px}.account-sidebar__header{margin-bottom:20px;padding:0 8px}.account-sidebar__header h1{font-size:1.5rem}.account-sidebar__header p{color:var(--color-text-muted);margin-top:4px;font-size:.875rem}.account-nav{flex-direction:column;gap:4px;display:flex}.account-nav__link{border-radius:var(--radius-sm);color:var(--color-text-muted);align-items:center;gap:10px;padding:8px 10px;font-size:.875rem;font-weight:500;display:flex}.account-nav__link:hover{color:var(--color-heading)}.account-nav__link.active{background:var(--color-bg);color:var(--color-primary);box-shadow:0 0 0 1px var(--color-border)}.account-content{min-width:0;padding:28px 32px}.account-content>h2{border-bottom:1px solid var(--color-border);padding-bottom:16px;font-size:1.125rem}.account-row{border-bottom:1px solid var(--color-border);grid-template-columns:180px 1fr;gap:16px;padding:20px 0;display:grid}.account-row:last-child{border-bottom:none}.account-row__label{color:var(--color-text);font-size:.875rem;font-weight:500}.account-row__body{min-width:0}.account-row__line{justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.account-row__main{align-items:center;gap:12px;min-width:0;font-size:.875rem;display:flex}.account-row__text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-list{flex-direction:column;gap:10px;min-width:0;margin:0;padding:0;list-style:none;display:flex}.account-row__muted{color:var(--color-text-muted)}.account-name{color:var(--color-heading);font-weight:600}.text-btn{color:var(--color-heading);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:.875rem;font-weight:600}.text-btn:hover{color:var(--color-gray-600)}.tag{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);border-radius:4px;flex-shrink:0;padding:1px 8px;font-size:.75rem;font-weight:500}.account-form{flex-direction:column;gap:12px;max-width:360px;display:flex}.account-form__photo{align-items:center;gap:12px;display:flex}.account-form__actions{gap:8px;display:flex}.account-hint{color:var(--color-text-muted);font-size:.75rem}.account-alert{border-radius:var(--radius-sm);padding:8px 12px;font-size:.8125rem}.account-alert--error{background:var(--color-error-bg);color:var(--color-error-text)}.account-alert--success{background:var(--color-surface);color:var(--color-heading);margin-bottom:12px}@media (width<=768px){.account-page{padding:20px 16px}.account-card{grid-template-columns:1fr;min-height:0}.account-sidebar{border-right:none;border-bottom:1px solid var(--color-border);padding:20px 16px 0}.account-sidebar__header{margin-bottom:12px}.account-nav{flex-direction:row}.account-nav__link{border-radius:var(--radius-sm) var(--radius-sm) 0 0}.account-nav__link.active{box-shadow:0 0 0 1px var(--color-border)}.account-content{padding:20px 16px}.account-row{grid-template-columns:1fr;gap:10px}}.avatar-picker{border:none;margin:0;padding:0}.avatar-picker legend{color:var(--color-heading);margin-bottom:8px;font-size:.875rem;font-weight:600}.avatar-picker__grid{grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:8px;display:grid}.avatar-picker__option{cursor:pointer;border:2px solid #0000;border-radius:50%;justify-content:center;padding:4px;transition:transform .15s;display:flex}.avatar-picker__option:hover{transform:scale(1.06)}.avatar-picker__option:has(input:checked){border-color:var(--color-primary)}.avatar-picker__option:has(input:focus-visible){outline:2px solid var(--color-primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){.avatar-picker__option{transition:none}}.auth-page{justify-content:center;align-items:center;padding:32px 16px;display:flex}.auth-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);width:100%;max-width:380px;padding:28px}.auth-card__header{margin-bottom:20px}.auth-card__header h1{font-size:1.5rem}.auth-card__header p{color:var(--color-text-muted);margin-top:4px;font-size:.875rem}.auth-form{flex-direction:column;gap:12px;display:flex}.auth-alert{border-radius:var(--radius-sm);padding:8px 12px;font-size:.8125rem}.auth-alert--error{background:var(--color-error-bg);color:var(--color-error-text)}.auth-submit,.auth-google{width:100%}.auth-submit{margin-top:4px}.auth-divider{color:var(--color-text-muted);align-items:center;gap:12px;margin:16px 0;font-size:.75rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--color-border);flex:1;height:1px}.auth-switch{text-align:center;color:var(--color-text-muted);margin-top:16px;font-size:.8125rem}.auth-switch a{font-weight:600}.auth-switch a:hover{color:var(--color-gray-600)}.auth-note{border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-muted);margin-top:16px;padding:10px 12px;font-size:.8125rem}.auth-switch--tight{margin-top:6px}.auth-link-btn{color:var(--color-heading);cursor:pointer;background:0 0;border:none;padding:0;font-weight:600}.auth-link-btn:hover:not(:disabled){color:var(--color-gray-600)}.auth-link-btn:disabled{color:var(--color-text-muted);cursor:default;font-weight:500}.auth-forgot{color:var(--color-text-muted);align-self:flex-end;margin-top:-4px;font-size:.8125rem;font-weight:500}.auth-forgot:hover{color:var(--color-heading)}@media (width<=600px){.auth-page{padding:20px 16px}.auth-card{padding:20px}}.announcement-spacer{height:96px}.announcement{z-index:20;background:var(--color-primary);max-width:1120px;color:var(--color-on-primary);box-shadow:var(--shadow-float), 0 2px 6px #0000001f;border-radius:999px;align-items:center;gap:16px;margin:0 auto;padding:10px 10px 10px 24px;transition:transform .35s,opacity .35s;animation:.4s ease-out backwards announcement-in;display:flex;position:fixed;bottom:16px;left:24px;right:24px}.announcement.is-away{opacity:0;pointer-events:none;transform:translateY(calc(100% + 24px))}.announcement__dot{opacity:.7;background:currentColor;border-radius:50%;flex-shrink:0;width:8px;height:8px;position:relative}.announcement__dot:after{content:"";border-radius:inherit;background:currentColor;animation:2s ease-out infinite announcement-pulse;position:absolute;inset:0}.announcement__text{flex:1;min-width:0;font-size:.9375rem;font-weight:500}.announcement__text strong{font-weight:700}.announcement__time{white-space:nowrap}.announcement__action{background:var(--color-on-primary);color:var(--color-primary);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:10px 20px;font-size:.875rem;font-weight:600;transition:opacity .15s}.announcement__action:hover{opacity:.9}.announcement__close{width:36px;height:36px;color:inherit;cursor:pointer;opacity:.75;background:0 0;border:none;border-radius:50%;flex-shrink:0;place-items:center;padding:0;display:grid}.announcement__close:hover{opacity:1;background:color-mix(in srgb, var(--color-on-primary) 12%, transparent)}.announcement__close:focus-visible,.announcement__action:focus-visible{outline-color:var(--color-on-primary)}@keyframes announcement-in{0%{opacity:0;transform:translateY(24px)}}@keyframes announcement-pulse{to{opacity:0;transform:scale(2.6)}}@media (prefers-reduced-motion:reduce){.announcement,.announcement__dot:after{transition:none;animation:none}}@media (width<=600px){.announcement-spacer{height:120px}.announcement{border-radius:20px;gap:10px;padding:10px 6px 10px 16px;bottom:12px;left:12px;right:12px}.announcement__text{font-size:.8125rem;line-height:1.4}.announcement__text strong{display:block}.announcement__sep{display:none}.announcement__action{padding:8px 14px;font-size:.8125rem}}.books{max-width:1280px;margin:0 auto;padding:32px 32px 104px}.books__header{text-align:center;flex-direction:column;align-items:center;gap:12px;max-width:680px;margin:0 auto 48px;display:flex}.books__eyebrow{background:var(--color-primary-soft);font-size:var(--text-caption);color:var(--color-primary);border:1px solid #0000;border-radius:999px;padding:4px 12px;font-weight:600}.books__header h2{letter-spacing:-.03em;text-wrap:balance;font-size:clamp(1.75rem,3.6vw,2.5rem);font-weight:700}.books__header p{color:var(--color-text-muted);text-wrap:balance}.books__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.subject-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:24px;flex-direction:column;gap:20px;padding:24px;display:flex}.subject-card__head{align-items:center;gap:14px;display:flex}.subject-card__icon{background:var(--color-primary);width:48px;height:48px;color:var(--color-on-primary);border-radius:14px;place-items:center;display:grid}.subject-card:nth-child(3n+2) .subject-card__icon{background:var(--color-success);color:var(--color-black)}.subject-card:nth-child(3n+3) .subject-card__icon{background:var(--color-accent);color:var(--color-on-accent)}.subject-card__head h3{letter-spacing:-.01em;font-size:1.25rem;font-weight:700}.subject-card__meta{font-size:var(--text-caption);color:var(--color-text-muted)}.subject-card__books{border:1px solid var(--color-border);background:var(--color-bg);border-radius:16px;flex-direction:column;margin:0;padding:4px;list-style:none;display:flex}.book-row{width:100%;font:inherit;text-align:left;color:var(--color-heading);cursor:pointer;background:0 0;border:none;border-radius:12px;align-items:center;gap:12px;padding:12px 14px;font-size:.9375rem;text-decoration:none;transition:background-color .15s;display:flex}.subject-card__books li+li{border-top:1px solid var(--color-border)}.book-row__label{flex:1;font-weight:500}.book-row__chapters{font-size:var(--text-caption);color:var(--color-text-muted)}.book-row svg{color:var(--color-text-muted);transition:transform .15s}.book-row:hover:not(:disabled){background:var(--color-surface)}.book-row:hover:not(:disabled) svg{color:var(--color-heading);transform:translate(3px)}.subject-card__actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:auto;display:grid}.subject-card__btn{border:1px solid var(--color-border);background:var(--color-bg);min-height:42px;font:inherit;color:var(--color-heading);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;padding:8px 12px;font-size:.875rem;font-weight:600;text-decoration:none;transition:border-color .15s;display:inline-flex}.subject-card__btn:hover:not(:disabled){border-color:var(--color-gray-400)}.book-row:disabled,.subject-card__btn:disabled{cursor:not-allowed;opacity:.55}@media (prefers-reduced-motion:reduce){.book-row svg{transition:none}}@media (width<=960px){.books__grid{grid-template-columns:minmax(0,1fr);max-width:560px;margin:0 auto}}@media (width<=600px){.books{padding:16px 16px 80px}.books__header{margin-bottom:32px}.subject-card{padding:18px}}.faq{max-width:1280px;margin:0 auto;padding:32px 32px 104px}.faq__header{text-align:center;flex-direction:column;align-items:center;gap:12px;max-width:680px;margin:0 auto 48px;display:flex}.faq__eyebrow{background:var(--color-primary-soft);font-size:var(--text-caption);color:var(--color-primary);border:1px solid #0000;border-radius:999px;padding:4px 12px;font-weight:600}.faq__header h2{letter-spacing:-.03em;text-wrap:balance;font-size:clamp(1.75rem,3.6vw,2.5rem);font-weight:700}.faq__title-muted{color:var(--color-text-muted)}.faq__header p{color:var(--color-text-muted);text-wrap:balance}.faq__columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:1080px;margin:0 auto;display:grid}.faq__column{flex-direction:column;gap:12px;display:flex}.faq-item{border:1px solid var(--color-border);background:var(--color-bg);border-radius:18px;transition:border-color .2s,box-shadow .2s}.faq-item:hover,.faq-item.is-open{border-color:var(--color-gray-400)}.faq-item.is-open{box-shadow:var(--shadow-card)}.faq-item__heading{font-size:inherit;margin:0}.faq-item__question{border-radius:inherit;width:100%;font:inherit;text-align:left;color:var(--color-heading);cursor:pointer;background:0 0;border:none;align-items:center;gap:16px;padding:20px 20px 20px 24px;font-size:1rem;font-weight:600;line-height:1.45;display:flex}.faq-item__question>span:first-child{flex:1}.faq-item__icon{background:var(--color-surface);width:34px;height:34px;color:var(--color-heading);border-radius:50%;flex-shrink:0;place-items:center;transition:transform .3s,background-color .3s,color .3s;display:grid}.faq-item.is-open .faq-item__icon{background:var(--color-primary);color:var(--color-on-primary);transform:rotate(45deg)}.faq-item__answer{grid-template-rows:0fr;transition:grid-template-rows .3s;display:grid}.faq-item.is-open .faq-item__answer{grid-template-rows:1fr}.faq-item__answer>div{min-height:0;overflow:hidden}.faq-item__answer p{color:var(--color-text-muted);padding:0 24px 22px;font-size:.9375rem;line-height:1.65}@media (prefers-reduced-motion:reduce){.faq-item__icon,.faq-item__answer{transition:none}}@media (width<=760px){.faq__columns{grid-template-columns:minmax(0,1fr);gap:12px}}@media (width<=600px){.faq{padding:16px 16px 80px}.faq__header{margin-bottom:32px}.faq-item__question{padding:16px 16px 16px 18px;font-size:.9375rem}.faq-item__answer p{padding:0 18px 18px}}.features{max-width:1280px;margin:0 auto;padding:32px 32px 104px}.features__header{text-align:center;flex-direction:column;align-items:center;gap:12px;max-width:680px;margin:0 auto 48px;display:flex}.features__eyebrow{background:var(--color-primary-soft);font-size:var(--text-caption);color:var(--color-primary);border:1px solid #0000;border-radius:999px;padding:4px 12px;font-weight:600}.features__header h2{letter-spacing:-.03em;text-wrap:balance;font-size:clamp(1.75rem,3.6vw,2.5rem);font-weight:700}.features__header p{color:var(--color-text-muted);text-wrap:balance}.features__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.feature-card{border:1px solid var(--color-border);background:var(--color-bg);border-radius:24px;flex-direction:column;gap:8px;padding:16px 16px 24px;transition:border-color .25s,box-shadow .25s,transform .25s;display:flex}.feature-card:hover{border-color:var(--color-gray-400);box-shadow:var(--shadow-float);transform:translateY(-2px)}.feature-card--wide{grid-column:span 2}.feature-card__visual{background:var(--color-surface);border-radius:16px;flex:1;justify-content:center;align-items:center;min-height:200px;margin-bottom:12px;padding:20px;display:flex}.feature-card h3{padding:0 8px;font-size:1.125rem;font-weight:600}.feature-card p{color:var(--color-text-muted);padding:0 8px;font-size:.9375rem;line-height:1.55}.fv-chip{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);white-space:nowrap;border-radius:999px;align-self:flex-start;padding:3px 10px;font-size:.6875rem;font-weight:600;display:inline-flex}.fv-caption{font-size:var(--text-caption);color:var(--color-text-muted)}.fv-caption strong{color:var(--color-heading)}.fv-mcq{flex-direction:column;gap:12px;width:100%;max-width:460px;display:flex}.fv-mcq__question{color:var(--color-heading);font-size:.9375rem;font-weight:600}.fv-mcq__options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.fv-mcq__option{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);border-radius:12px;align-items:center;gap:10px;padding:10px 12px;font-size:.875rem;display:flex}.fv-mcq__option svg{margin-left:auto}.fv-mcq__option.is-correct{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.fv-mcq__letter{background:var(--color-surface);width:22px;height:22px;color:var(--color-heading);border-radius:6px;place-items:center;font-size:.75rem;font-weight:600;display:grid}.is-correct .fv-mcq__letter{background:var(--color-on-primary);color:var(--color-primary)}.fv-mock{flex-direction:column;gap:10px;width:100%;max-width:260px;display:flex}.fv-mock__timer{letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--color-heading);font-size:2.5rem;font-weight:700;line-height:1}.fv-mock__bar,.fv-bars__track{background:var(--color-border);border-radius:999px;height:6px;overflow:hidden}.fv-mock__bar span,.fv-bars__track span{border-radius:inherit;background:var(--color-success);height:100%;display:block}.fv-mock__meta{font-size:var(--text-caption);color:var(--color-text-muted);justify-content:space-between;display:flex}.fv-bars{flex-direction:column;gap:14px;width:100%;margin:0;padding:0;list-style:none;display:flex}.fv-bars li{flex-direction:column;gap:6px;display:flex}.fv-bars__label{font-size:var(--text-caption);color:var(--color-text);justify-content:space-between;display:flex}.fv-bars__label strong{color:var(--color-heading)}.fv-bars li.is-weak .fv-bars__label strong{color:var(--color-error-text)}.fv-bars li.is-weak .fv-bars__track span{background:var(--color-error)}.fv-stack{flex-direction:column;gap:8px;width:100%;display:flex}.fv-stack__card{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);border-radius:12px;justify-content:space-between;padding:12px 14px;font-size:.875rem;display:flex}.fv-stack__card:nth-child(2){opacity:.8;margin:0 8px}.fv-stack__card:nth-child(3){opacity:.6;margin:0 16px}.fv-stack__card strong{color:var(--color-heading)}.fv-week{flex-direction:column;align-items:center;gap:16px;width:100%;display:flex}.fv-week__days{justify-content:space-between;width:100%;max-width:280px;display:flex}.fv-week__day{color:var(--color-text-muted);flex-direction:column;align-items:center;gap:6px;font-size:.75rem;font-weight:500;display:flex}.fv-week__day i{border:2px solid var(--color-border);border-radius:50%;width:26px;height:26px}.fv-week__day i.is-done{border-color:var(--color-success);background:var(--color-success)}.fv-week__day i.is-today{border-color:var(--color-heading);border-style:dashed}.fv-solution{border:1px solid var(--color-border);background:var(--color-bg);width:100%;max-width:520px;color:var(--color-text);border-radius:14px;flex-direction:column;gap:10px;padding:16px;font-size:.875rem;line-height:1.55;display:flex}.fv-solution__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.fv-solution__answer{color:var(--color-heading);align-items:center;gap:6px;font-weight:600;display:inline-flex}.fv-solution mark{background:var(--color-primary);color:var(--color-on-primary);border-radius:4px;padding:0 4px}.fv-solution__tip{border-top:1px dashed var(--color-border);font-size:var(--text-caption);color:var(--color-text-muted);padding-top:10px}.fv-hot{flex-direction:column;width:100%;margin:0;padding:0;list-style:none;display:flex}.fv-hot li{border-bottom:1px solid var(--color-border);color:var(--color-heading);justify-content:space-between;align-items:center;gap:8px;padding:12px 0;font-size:.875rem;font-weight:500;display:flex}.fv-hot li:last-child{border-bottom:none}@media (prefers-reduced-motion:reduce){.feature-card{transition:none}.feature-card:hover{transform:none}}@media (width<=960px){.features__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-card:last-child{grid-column:span 2}}@media (width<=600px){.features{padding:16px 16px 80px}.features__header{margin-bottom:32px}.features__grid{grid-template-columns:minmax(0,1fr)}.feature-card--wide,.feature-card:last-child{grid-column:auto}.feature-card__visual{min-height:0;padding:16px}.fv-mcq__options{grid-template-columns:minmax(0,1fr)}}.goal-progress{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.goal-progress__item{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px;font-size:.875rem;display:grid}.goal-progress__label{color:var(--color-text);align-items:center;gap:8px;display:inline-flex}.goal-progress__mark{text-align:center;width:1em;color:var(--color-text-muted)}.goal-progress__item.is-met .goal-progress__mark{color:var(--color-success-text);font-weight:700}.goal-progress__count{font-variant-numeric:tabular-nums;color:var(--color-heading);font-weight:600}.goal-progress__bar{background:var(--color-border);border-radius:999px;grid-column:1/-1;height:4px;overflow:hidden}.goal-progress__bar span{border-radius:inherit;background:var(--color-primary);height:100%;display:block}.goal-progress__item.is-met .goal-progress__bar span{background:var(--color-success)}.goal-progress--compact{gap:6px}.goal-progress--compact .goal-progress__item{font-size:.8125rem}.goal-note{z-index:2;background:linear-gradient(315deg, transparent 14px, var(--ncert-yellow) 14px);border-radius:2px 2px 4px;width:290px;padding:22px 18px 18px;transition:rotate .2s,box-shadow .2s,scale .2s;position:absolute;rotate:-5deg;box-shadow:0 1px 2px #00000014,0 14px 28px -10px #00000047}.goal-note:after{content:"";background:linear-gradient(315deg, transparent 50%, var(--ncert-yellow-edge) 50%);border-top-left-radius:4px;width:20px;height:20px;position:absolute;bottom:0;right:0;box-shadow:-2px -2px 4px #0000000f}.goal-note:before{content:"";background:color-mix(in srgb, var(--color-white) 55%, transparent);width:96px;height:22px;position:absolute;top:-10px;left:50%;translate:-50%;rotate:2deg;box-shadow:0 1px 2px #0000001a}.goal-note:hover,.goal-note:focus-within,.goal-note.is-dragging{rotate:0deg;box-shadow:0 1px 2px #00000014,0 22px 40px -12px #00000052}.goal-note.is-dragging{scale:1.03}.goal-note__bar{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.goal-note__handle{font:inherit;color:var(--color-heading);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:none;flex:1;align-items:center;gap:8px;padding:2px 0;font-size:1.0625rem;font-weight:700;display:inline-flex}.goal-note.is-dragging .goal-note__handle{cursor:grabbing}.goal-note__grip{color:var(--color-text-muted);font-size:.875rem}.goal-note__handle:focus-visible,.goal-note__close:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.goal-note__close{width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;place-items:center;padding:0;font-size:.8125rem;display:grid}.goal-note__close:hover{background:var(--ncert-yellow-edge);color:var(--color-heading)}.goal-note__overall{align-items:baseline;gap:8px;margin-bottom:6px;display:flex}.goal-note__percent{font-variant-numeric:tabular-nums;color:var(--color-heading);font-size:1.75rem;font-weight:800;line-height:1.1}.goal-note__state{font-size:var(--text-caption);color:var(--color-text-muted);font-weight:600}.goal-note__state.is-done{color:var(--color-success-text)}.goal-note__meter{background:var(--ncert-yellow-edge);border-radius:999px;height:6px;margin-bottom:14px;overflow:hidden}.goal-note__meter span{border-radius:inherit;background:var(--color-success);height:100%;transition:width .4s;display:block}.goal-note__minimum{color:var(--color-text);margin:-6px 0 12px;font-size:.75rem;font-style:italic}.goal-note__chapter{border-bottom:1px dashed var(--ncert-yellow-edge);font-size:var(--text-caption);color:var(--color-text);margin-bottom:12px;padding-bottom:10px}.goal-note .goal-progress__bar{background:var(--ncert-yellow-edge)}.goal-note__foot{justify-content:flex-end;align-items:center;margin-top:14px;font-size:.8125rem;display:flex}.goal-note__foot a{color:var(--color-primary);font-weight:600}.goal-note-tip{z-index:2;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);max-width:calc(100% - 48px);box-shadow:var(--shadow-float);color:var(--color-text);padding:10px 14px;font-size:.875rem;position:absolute;bottom:24px;right:24px}.goal-note-tip a{color:var(--color-primary);font-weight:600}@media (prefers-reduced-motion:reduce){.goal-note,.goal-note__meter span{transition:none}}@media (width<=600px){.goal-note{width:240px;padding:20px 14px 14px}.goal-note__percent{font-size:1.5rem}}.dash{padding:22px 0 0;position:relative}.dash__window{border:1px solid var(--color-border);background:var(--color-bg);box-shadow:var(--shadow-float);border-radius:20px;flex-direction:column;gap:14px;padding:16px;display:flex}.dash__toolbar{align-items:center;gap:12px;padding:0 4px;display:flex}.dash__dots{gap:6px;margin-right:auto;display:flex}.dash__dots i{background:var(--color-border);border-radius:50%;width:10px;height:10px}.dash__dots i:first-child{background:var(--color-error)}.dash__dots i:nth-child(2){background:var(--color-accent)}.dash__dots i:nth-child(3){background:var(--color-success)}.dash__progress-label{font-size:var(--text-caption);color:var(--color-text-muted);white-space:nowrap}.dash__progress{background:var(--color-surface);border-radius:999px;width:120px;height:6px;overflow:hidden}.dash__progress span{border-radius:inherit;background:linear-gradient(90deg, var(--color-primary), var(--color-success));height:100%;display:block}.dash-stats{border:1px solid var(--color-border);background:var(--color-bg);border-radius:16px;grid-template-columns:1fr 1.4fr .8fr;padding:20px 4px;display:grid}.dash-stats__item{flex-direction:column;gap:6px;padding:0 16px;display:flex}.dash-stats__item+.dash-stats__item{border-left:1px solid var(--color-border)}.dash-stats__value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--color-heading);align-items:center;gap:10px;font-size:1.625rem;font-weight:700;line-height:1.1;display:inline-flex}.dash-stats__label{letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-muted);font-size:.6875rem;font-weight:500;line-height:1.5}.live-dot{background:var(--color-success);width:12px;height:12px;box-shadow:0 0 0 4px var(--color-success-soft);border-radius:50%;position:relative}.live-dot:after{content:"";border-radius:inherit;background:var(--color-success);animation:2s ease-out infinite live-pulse;position:absolute;inset:0}@keyframes live-pulse{to{opacity:0;transform:scale(2.4)}}.dash-features{border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px;flex-direction:column;gap:12px;padding:16px;display:flex}.dash-features__heading{font-size:var(--text-caption);color:var(--color-text-muted);font-weight:500}.dash-features__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;margin:0;padding:0;list-style:none;display:grid}.dash-feature{align-items:flex-start;gap:10px;display:flex}.dash-feature__icon{background:var(--color-primary-soft);width:34px;height:34px;color:var(--color-primary);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.dash-feature__title{color:var(--color-heading);font-size:.875rem;font-weight:600;display:block}.dash-feature__text{color:var(--color-text-muted);font-size:.75rem;line-height:1.45;display:block}.dash-float{z-index:1;border:1px solid var(--color-accent);background:var(--color-bg);box-shadow:var(--shadow-float);color:var(--color-text);white-space:nowrap;border-radius:12px;align-items:center;gap:10px;padding:8px 14px;font-size:.8125rem;animation:6s ease-in-out infinite dash-float;display:inline-flex;position:absolute}.dash-float strong{color:var(--color-heading)}.dash-float--top{top:0;left:32px}.streak__label{font-weight:500}.streak__dots{gap:4px;display:flex}.streak__dot{border-radius:50%;width:9px;height:9px}.streak__dot--idle{background:var(--color-gray-400)}.streak__dot--absent{background:var(--color-error)}.streak__dot--present{background:var(--color-success)}.streak__dot--pending{border:2px solid var(--color-gray-400)}@keyframes dash-float{50%{transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.dash-float,.live-dot:after{animation:none}}@media (width<=600px){.dash{padding-top:36px}.dash__window{border-radius:16px;padding:12px}.dash__progress{width:64px}.dash-float--top{gap:8px;padding:8px 12px;left:12px}.streak__dots{gap:3px}.streak__dot{width:8px;height:8px}.dash-stats{grid-template-columns:1fr;padding:4px 16px}.dash-stats__item{padding:14px 0}.dash-stats__item+.dash-stats__item{border-left:none;border-top:1px solid var(--color-border)}.dash-features__grid{grid-template-columns:1fr}}.hero{isolation:isolate;position:relative;overflow:hidden}.hero:before{content:"";z-index:-1;background-image:linear-gradient(var(--color-border) 1px, transparent 1px), linear-gradient(90deg, var(--color-border) 1px, transparent 1px);opacity:.8;background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(at 70% 40%,#000,#0000 70%);mask-image:radial-gradient(at 70% 40%,#000,#0000 70%)}.hero:after{content:"";z-index:-2;background:radial-gradient(circle at 15% 20%, var(--color-primary-soft), transparent 45%), radial-gradient(circle at 85% 70%, var(--color-success-soft-bg), transparent 40%);position:absolute;inset:0}.hero__inner{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:56px;max-width:1280px;margin:0 auto;padding:64px 32px;display:grid}.hero__content{flex-direction:column;align-items:flex-start;gap:24px;display:flex}.hero__badge{border:1px solid var(--color-border);background:var(--color-primary-soft);font-size:var(--text-caption);color:var(--color-primary);border-radius:999px;align-items:center;gap:8px;padding:6px 14px;font-weight:600;display:inline-flex}.hero__badge-dot{background:var(--color-success);border-radius:50%;width:8px;height:8px}.hero__title{letter-spacing:-.035em;text-wrap:balance;font-size:clamp(2.5rem,5.2vw,4.5rem);font-weight:700;line-height:1.04}.hero__title-muted{color:var(--color-primary)}.hero__subtitle{max-width:34rem;color:var(--color-text-muted);font-size:1.125rem;line-height:1.6}.hero__actions{flex-wrap:wrap;gap:12px;display:flex}.hero__subjects{letter-spacing:.04em}@media (width<=960px){.hero__inner{grid-template-columns:minmax(0,1fr);gap:48px;padding:48px 32px 56px}.hero__visual{width:100%;max-width:620px;margin:0 auto}}@media (width<=600px){.hero__inner{padding:32px 16px 56px}.hero__content{gap:18px}.hero__subtitle{font-size:1rem}.hero__actions,.hero__actions .btn{width:100%}}.how{max-width:1280px;margin:0 auto;padding:32px 32px 104px}.how__header{text-align:center;flex-direction:column;align-items:center;gap:12px;max-width:680px;margin:0 auto 56px;display:flex}.how__eyebrow{font-size:var(--text-caption);letter-spacing:.18em;text-transform:uppercase;color:var(--color-primary);font-weight:600}.how__header h2{letter-spacing:-.03em;text-wrap:balance;font-size:clamp(1.75rem,3.6vw,2.5rem);font-weight:700}.how__header p{color:var(--color-text-muted);text-wrap:balance}.how__steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid;position:relative}.how__steps:before{content:"";border-top:2px dashed var(--color-primary-soft);position:absolute;top:22px;left:12.5%;right:12.5%}.how-step{flex-direction:column;align-items:center;gap:20px;display:flex;position:relative}.how-step__marker{border:1px solid var(--color-primary);background:var(--color-bg);border-radius:50%;place-items:center;width:46px;height:46px;display:grid}.how-step__number{font-variant-numeric:tabular-nums;color:var(--color-primary);font-size:.875rem;font-weight:700}.how-step:last-child .how-step__marker{border-color:var(--color-primary);background:var(--color-primary)}.how-step:last-child .how-step__number{color:var(--color-on-primary)}.how-step__card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:20px;flex-direction:column;flex:1;gap:8px;width:100%;padding:20px;transition:border-color .2s;display:flex}.how-step__card:hover{border-color:var(--color-primary)}.how-step__top{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.how-step__icon{background:var(--color-primary-soft);width:40px;height:40px;color:var(--color-primary);border-radius:12px;place-items:center;display:grid}.how-step__time{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:.75rem;font-weight:600}.how-step__card h3{font-size:1.0625rem;font-weight:600}.how-step__card p{color:var(--color-text-muted);font-size:.9375rem;line-height:1.55}.how__cta{flex-direction:column;align-items:center;gap:10px;margin-top:48px;display:flex}@media (width<=960px){.how__steps{grid-template-columns:minmax(0,1fr);gap:20px;max-width:600px;margin:0 auto}.how__steps:before{display:none}.how-step:not(:last-child):after{content:"";border-left:2px dashed var(--color-border);position:absolute;top:46px;bottom:-20px;left:22px}.how-step{flex-direction:row;align-items:flex-start;gap:16px}.how-step__marker{flex-shrink:0}}@media (width<=600px){.how{padding:16px 16px 80px}.how__header{margin-bottom:36px}.how-step__card{padding:16px}.how__cta .btn{width:100%}}.testimonials{--card-width:320px;--card-expanded-width:380px;--card-gap:14px;padding:32px 0 104px;overflow-x:clip}.testimonials__header{text-align:center;flex-direction:column;gap:12px;max-width:640px;margin:0 auto 48px;padding:0 32px;display:flex}.testimonials__header h2{letter-spacing:-.03em;text-wrap:balance;font-size:clamp(1.75rem,3.6vw,2.5rem);font-weight:700}.testimonials__header p{color:var(--color-text-muted)}.testimonials__rows{gap:var(--card-gap);flex-direction:column;display:flex;position:relative}.testimonials__rows:before,.testimonials__rows:after{content:"";z-index:3;pointer-events:none;width:min(160px,15vw);position:absolute;top:0;bottom:0}.testimonials__rows:before{background:linear-gradient(to right, var(--color-bg), transparent);left:0}.testimonials__rows:after{background:linear-gradient(to left, var(--color-bg), transparent);right:0}.t-row{z-index:1;position:relative}.t-row.is-paused{z-index:4}.t-row:has(.t-card:focus-visible){z-index:4}.t-mover{width:max-content;animation:t-scroll var(--duration) linear infinite;display:flex}.t-row.is-paused .t-mover{animation-play-state:paused}.t-row:has(.t-card:focus-visible) .t-mover{animation-play-state:paused}@media (hover:hover){.t-row:hover{z-index:5}.t-row:hover .t-mover{animation-play-state:paused}}@keyframes t-scroll{0%{transform:translate(-50%)}to{transform:translate(0)}}.t-group{gap:var(--card-gap);padding-right:var(--card-gap);display:flex}.t-card{width:var(--card-width);height:60px;font:inherit;text-align:left;color:inherit;cursor:default;background:0 0;border:none;flex:none;padding:0;position:relative}.t-card:focus-visible{outline:none}.t-card__inner{z-index:1;border:1px solid var(--color-border);background:var(--color-surface);border-radius:30px;grid-template-rows:auto 0fr;width:100%;padding:18px 20px;transition:width .35s cubic-bezier(.2,.8,.2,1),border-radius .35s cubic-bezier(.2,.8,.2,1),grid-template-rows .35s cubic-bezier(.2,.8,.2,1),transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s,background-color .35s;display:grid;position:absolute;top:0;left:0}.t-card__quote{-webkit-line-clamp:1;color:var(--color-text);-webkit-box-orient:vertical;font-size:.9375rem;line-height:1.45;display:-webkit-box;overflow:hidden}.t-card__meta{min-height:0;overflow:hidden}.t-card__meta>span{flex-direction:column;padding-top:14px;display:flex}.t-card__name{color:var(--color-heading);font-size:.875rem;font-weight:600}.t-card__tag{font-size:var(--text-caption);color:var(--color-text-muted)}.t-card:focus-visible .t-card__inner,.t-card.is-active .t-card__inner{z-index:2;width:var(--card-expanded-width);border-color:var(--color-gray-400);background:var(--color-bg);box-shadow:var(--shadow-float);border-radius:14px;grid-template-rows:auto 1fr;transform:translateY(-4px)}.t-card.is-active .t-card__inner{transform:translate(var(--shift,0px), -4px)}.t-ruler{width:var(--card-expanded-width);visibility:hidden;pointer-events:none;height:0;position:absolute;top:0;left:0}.t-card:focus-visible .t-card__quote,.t-card.is-active .t-card__quote{-webkit-line-clamp:unset;color:var(--color-heading)}@media (hover:hover){.t-card:hover .t-card__inner{z-index:2;width:var(--card-expanded-width);border-color:var(--color-gray-400);background:var(--color-bg);box-shadow:var(--shadow-float);border-radius:14px;grid-template-rows:auto 1fr;transform:translateY(-4px)}.t-card:hover .t-card__quote{-webkit-line-clamp:unset;color:var(--color-heading)}}@media (prefers-reduced-motion:reduce){.t-mover{animation:none}.t-row{overflow-x:auto}.t-group[aria-hidden=true]{display:none}.t-card__inner{transition:none}}@media (width<=600px){.testimonials{--card-width:260px;--card-expanded-width:min(300px, calc(100vw - 48px));--card-gap:12px;padding:16px 0 80px}.testimonials__header{margin-bottom:32px;padding:0 16px}.t-card{height:56px}.t-card__inner{border-radius:28px;padding:16px 18px}.t-card__quote{font-size:.875rem}}.pyq-lead{color:var(--color-text-muted);margin-top:-8px;font-size:.875rem}.pyq-controls{flex-direction:column;align-items:flex-start;gap:10px;margin:14px 0 16px;display:flex}.pyq-select{width:100%}.pyq-select select{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);width:100%;font:inherit;color:var(--color-heading);padding:9px 12px;font-size:.9375rem}.pyq-select select:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.pyq-summary{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px;display:grid}.pyq-summary div{border-radius:var(--radius-sm);background:var(--color-surface);padding:8px 10px}.pyq-summary dt{color:var(--color-text-muted);font-size:.75rem}.pyq-summary dd{color:var(--color-heading);margin:2px 0 0;font-size:1.125rem;font-weight:700}.pyq-chart{margin:0}.pyq-chart__plot{grid-auto-columns:1fr;grid-auto-flow:column;gap:6px;margin:0;padding:0;list-style:none;display:grid}.pyq-chart__col{cursor:default;flex-direction:column;align-items:center;min-width:0;display:flex}.pyq-chart__value{color:var(--color-heading);font-size:.8125rem;font-weight:600}.pyq-chart__value.is-missing{color:var(--color-text-muted);font-weight:400}.pyq-chart__bar{border-bottom:1px solid var(--color-border);flex-direction:column;justify-content:flex-end;gap:2px;width:100%;max-width:36px;height:124px;margin-top:4px;display:flex}.pyq-chart__own,.pyq-chart__shared{width:100%;display:block}.pyq-chart__own{background:var(--color-primary);border-radius:4px 4px 0 0}.pyq-chart__shared,.pyq-notes__swatch{background:repeating-linear-gradient(45deg, var(--color-primary-soft) 0 3px, var(--color-primary) 3px 4px);opacity:.75;border-radius:4px 4px 0 0}.pyq-chart__shared+.pyq-chart__own{border-radius:0}.pyq-chart__col:hover .pyq-chart__own{background:var(--color-primary-hover)}.pyq-chart__label{color:var(--color-text-muted);white-space:nowrap;margin-top:6px;font-size:.75rem}.pyq-notes{font-size:var(--text-caption);color:var(--color-text-muted);gap:4px;margin:14px 0 0;padding:0;list-style:none;display:grid}.pyq-notes__swatch{vertical-align:-1px;width:10px;height:10px;display:inline-block}.pyq-ranking{margin-top:20px}.pyq-ranking h3{margin-bottom:6px;font-size:.9375rem}.pyq-ranking ol{margin:0;padding:0;list-style:none}.pyq-ranking__row{border:none;border-bottom:1px solid var(--color-border);width:100%;font:inherit;text-align:left;color:var(--color-text);cursor:pointer;background:0 0;grid-template-columns:24px 1fr 64px 24px;align-items:center;gap:10px;padding:7px 4px;display:grid}.pyq-ranking__row:hover{background:var(--color-surface)}.pyq-ranking__row--plain{grid-template-columns:1fr 64px 24px}.pyq-ranking__number{color:var(--color-text-muted);font-size:.75rem;font-weight:600}.pyq-ranking__title{text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;overflow:hidden}.pyq-ranking__tag{color:var(--color-text-muted);font-size:.75rem}.pyq-ranking__more{font:inherit;color:var(--color-primary);cursor:pointer;background:0 0;border:none;margin-top:6px;padding:4px 0;font-size:.8125rem;font-weight:600}.pyq-topics{margin-top:8px}.pyq-ranking__bar{background:var(--color-surface);border-radius:3px;height:6px}.pyq-ranking__bar span{background:var(--color-primary);border-radius:3px;height:100%;display:block}.pyq-ranking__total{text-align:right;color:var(--color-heading);font-size:.875rem;font-weight:600}.pyq-practise{width:100%;margin-top:20px}@media (width<=400px){.pyq-chart__plot{gap:3px}.pyq-chart__label{font-size:.6875rem}}.book-page{width:100%;max-width:1280px;margin:0 auto;padding:40px 32px 104px}.book-page--message{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.book-hero{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:48px;margin-bottom:56px;display:grid}.book-hero__intro{flex-direction:column;align-items:flex-start;gap:16px;display:flex}.book-hero__eyebrow{border:1px solid var(--color-border);background:var(--color-surface);font-size:var(--text-caption);color:var(--color-text);border-radius:999px;align-items:center;gap:8px;padding:4px 12px 4px 6px;font-weight:500;display:inline-flex}.book-hero__eyebrow svg{background:var(--color-primary);width:22px;height:22px;color:var(--color-on-primary);border-radius:50%;padding:4px}.book-hero h1{letter-spacing:-.04em;font-size:clamp(2.25rem,5vw,3.5rem);font-weight:700;line-height:1.05}.book-hero__class{color:var(--color-text-muted);display:block}.book-hero__lead{max-width:460px;color:var(--color-text-muted);text-wrap:balance}.book-hero__stats{gap:32px;margin:8px 0 0;display:flex}.book-hero__stats div{flex-direction:column-reverse;gap:2px;display:flex}.book-hero__stats dt{font-size:var(--text-caption);color:var(--color-text-muted)}.book-hero__stats dd{font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--color-heading);margin:0;font-size:1.75rem;font-weight:700}.book-practice{border:1px solid var(--color-border);background:var(--color-surface);border-radius:24px;flex-direction:column;gap:14px;padding:20px;display:flex}.book-practice h2{padding:0 4px;font-size:1rem}.book-practice__list{border:1px solid var(--color-border);background:var(--color-bg);border-radius:16px;flex-direction:column;margin:0;padding:4px;list-style:none;display:flex}.book-practice__list li+li{border-top:1px solid var(--color-border)}.book-practice__row{width:100%;font:inherit;text-align:left;background:0 0;border:none;align-items:center;gap:12px;padding:12px 14px;display:flex}.book-practice__row:disabled{cursor:not-allowed}button.book-practice__row:not(:disabled){cursor:pointer}a.book-practice__row{color:inherit;text-decoration:none}button.book-practice__row:not(:disabled):hover,a.book-practice__row:hover{background:var(--color-surface)}.book-practice__go{color:var(--color-heading);font-weight:600}.book-practice__text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.book-practice__label{color:var(--color-heading);font-size:.9375rem;font-weight:600}.book-practice__hint{font-size:var(--text-caption);color:var(--color-text-muted)}.soon-badge{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);border-radius:999px;flex-shrink:0;padding:1px 8px;font-size:.6875rem;font-weight:600}.book-chapters__head{justify-content:space-between;align-items:baseline;margin-bottom:14px;display:flex}.book-chapters__head h2{font-size:var(--text-h2);letter-spacing:-.02em;font-weight:700}.book-chapters__list{border:1px solid var(--color-border);border-radius:20px;margin:0;padding:0;list-style:none;overflow:hidden}.chapter-row+.chapter-row{border-top:1px solid var(--color-border)}.chapter-row.is-open{background:var(--color-surface)}.chapter-row__head{width:100%;font:inherit;text-align:left;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:16px;padding:16px 20px;transition:background-color .15s;display:flex}.chapter-row__head:hover{background:var(--color-surface)}.chapter-row__number{background:var(--color-primary);font-variant-numeric:tabular-nums;width:40px;height:40px;color:var(--color-on-primary);border-radius:12px;flex-shrink:0;place-items:center;font-size:.875rem;font-weight:700;display:grid}.chapter-row__title{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.chapter-row__name{color:var(--color-heading);font-size:1rem;font-weight:600}.chapter-row__meta{font-size:var(--text-caption);color:var(--color-text-muted)}.chapter-row__progress{background:var(--color-border);border-radius:999px;flex-shrink:0;width:96px;height:4px;overflow:hidden}.chapter-row__progress span{border-radius:inherit;background:var(--color-success);height:100%;display:block}.chapter-row__head svg{flex-shrink:0;transition:transform .2s}.chapter-row__head[aria-expanded=true] svg{transform:rotate(180deg)}.chapter-row__panel{flex-direction:column;gap:16px;padding:4px 20px 20px 76px;display:flex}.chapter-row__empty{color:var(--color-text-muted);font-size:.875rem}.page-chips{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.page-chip{border:1px solid var(--color-heading);background:var(--color-bg);font-variant-numeric:tabular-nums;width:38px;height:38px;color:var(--color-heading);border-radius:50%;place-items:center;font-size:.8125rem;font-weight:600;transition:background-color .15s,color .15s;display:grid}a.page-chip:hover{background:var(--color-primary);color:var(--color-on-primary)}.page-chip.is-read{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}a.page-chip.is-read:hover{background:var(--color-primary-hover)}.page-chip.is-current{border-color:var(--color-success);background:var(--color-success);color:var(--color-black)}a.page-chip.is-current:hover{border-color:var(--color-primary)}.page-chip.is-locked{border:1px dashed var(--color-border);color:var(--color-text-muted);background:0 0;font-weight:500}.page-chip.is-plan-locked{border-color:var(--color-border);color:var(--color-text-muted);position:relative}.page-chip__lock{box-sizing:content-box;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-muted);border-radius:999px;padding:2px;position:absolute;top:-4px;right:-4px}.chapter-row__done{color:var(--color-heading);font-weight:600}.chapter-row__actions{flex-wrap:wrap;gap:8px;display:flex}.chapter-row__actions .btn:disabled{opacity:1;color:var(--color-text-muted)}@media (prefers-reduced-motion:reduce){.chapter-row__head,.chapter-row__head svg,.page-chip{transition:none}}@media (width<=960px){.book-hero{grid-template-columns:minmax(0,1fr);gap:32px}}@media (width<=600px){.book-page{padding:24px 16px 72px}.book-hero{margin-bottom:40px}.book-practice{padding:14px}.chapter-row__head{gap:12px;padding:14px}.chapter-row__progress{display:none}.chapter-row__panel{padding:4px 14px 16px}}.buddies{flex-direction:column;gap:24px;width:100%;max-width:820px;margin:0 auto;padding:32px 32px 80px;display:flex}.buddies__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.buddies__header p{color:var(--color-text-muted);margin-top:6px}.buddies__add{gap:8px}.buddies__slots{background:color-mix(in srgb, var(--color-on-primary) 22%, transparent);border-radius:999px;padding:1px 8px;font-size:.75rem;font-weight:700}.buddies__privacy{font-size:var(--text-caption);text-align:center;color:var(--color-text-muted)}.buddies__privacy button{font:inherit;color:var(--color-primary);cursor:pointer;background:0 0;border:none;padding:0;font-weight:600}.buddies__privacy button:hover{text-decoration:underline}.buddies__section-title{font-size:var(--text-h3)}.sharing-info{flex-direction:column;gap:12px;font-size:.875rem;display:flex}.sharing-info__why{color:var(--color-text)}.sharing-info__lists{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.sharing-info__title{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:6px;font-size:.75rem;font-weight:700}.sharing-info__list{color:var(--color-text);flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.sharing-info__list--shared span{color:var(--color-success-text);font-weight:700}.sharing-info__list--private span{color:var(--color-error-text);font-weight:700}.sharing-info__note{font-size:var(--text-caption);color:var(--color-text-muted)}.request-strip__list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.request-row{border:1px solid var(--color-border);border-left:4px solid var(--color-primary);border-radius:var(--radius-md);background:var(--color-primary-soft);align-items:center;gap:12px;padding:10px 12px 10px 14px;display:flex}.request-row__text{min-width:0;color:var(--color-text);flex:1;font-size:.9375rem}.request-row__text strong{color:var(--color-heading)}.request-row__review{padding:8px 18px}.review-request{flex-direction:column;gap:18px;display:flex}.review-request__who{color:var(--color-text);align-items:center;gap:12px;display:flex}.review-request__who strong{color:var(--color-heading)}.review-request__actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.review-request__actions .btn{justify-content:center}.add-buddy{flex-direction:column;gap:12px;display:flex}.add-buddy>.btn{justify-content:center}.add-buddy__sent{border-radius:var(--radius-sm);background:var(--color-success-soft-bg);color:var(--color-heading);padding:10px 12px;font-size:.875rem}.add-buddy__details{font-size:.875rem}.add-buddy__details summary{color:var(--color-primary);cursor:pointer;font-weight:600}.add-buddy__details[open] summary{margin-bottom:12px}.add-buddy__slots,.add-buddy__full{font-size:var(--text-caption);color:var(--color-text-muted)}.add-buddy__full{font-size:.9375rem}.sent{flex-wrap:wrap;align-items:center;gap:8px 10px;display:flex}.sent__title{font-size:var(--text-caption);color:var(--color-text-muted);font-weight:600}.sent__list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.sent-chip{border:1px dashed var(--color-border);background:var(--color-bg);border-radius:999px;align-items:center;gap:6px;padding:3px 4px 3px 3px;display:inline-flex}.sent-chip__name{white-space:nowrap;text-overflow:ellipsis;max-width:140px;color:var(--color-heading);font-size:.8125rem;font-weight:600;overflow:hidden}.sent-chip__cancel{background:var(--color-surface);width:22px;height:22px;color:var(--color-text-muted);cursor:pointer;border:none;border-radius:50%;place-items:center;font-size:.6875rem;display:grid}.sent-chip__cancel:hover{background:var(--color-error-bg);color:var(--color-error-text)}.board{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);box-shadow:var(--shadow-card);flex-direction:column;gap:14px;padding:20px;display:flex}.board__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.board__periods{background:var(--color-surface);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.board__periods button{font:inherit;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:6px 14px;font-size:.8125rem;font-weight:600}.board__periods button[aria-pressed=true]{background:var(--color-primary);color:var(--color-on-primary)}.board__motivation{border-left:4px solid var(--color-accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--color-accent-soft);color:var(--color-heading);padding:12px 14px;font-size:.9375rem;font-weight:600}.board__motivation--lead{border-left-color:var(--color-success);background:var(--color-success-soft-bg)}.board__motivation--tie{border-left-color:var(--color-primary);background:var(--color-primary-soft)}.board__list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.board-row{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);grid-template-columns:28px 40px minmax(0,1fr) 84px 84px;align-items:center;gap:12px;padding:10px 14px;display:grid}.board-row--me{border-color:var(--color-primary);background:var(--color-primary-soft)}.board-row__rank{text-align:center;font-variant-numeric:tabular-nums;color:var(--color-text-muted);font-size:1rem;font-weight:700}.board-row--first .board-row__rank{font-size:1.25rem}.board-row__who{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.board-row__name{white-space:nowrap;text-overflow:ellipsis;max-width:100%;color:var(--color-heading);align-items:center;gap:8px;font-weight:600;display:flex;overflow:hidden}.board-row__you{background:var(--color-primary);color:var(--color-on-primary);border-radius:999px;flex-shrink:0;padding:1px 8px;font-size:.6875rem;font-weight:700}.board-row__confirm{gap:10px;display:inline-flex}.board-row__remove{font:inherit;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:.75rem;font-weight:600}.board-row__remove:hover{text-decoration:underline}.board-row__remove--confirm{color:var(--color-error-text)}.board-row__stat{color:var(--color-text-muted);flex-direction:column;align-items:flex-end;font-size:.6875rem;display:flex}.board-row__stat strong{font-variant-numeric:tabular-nums;color:var(--color-heading);font-size:1.25rem;line-height:1.2}.board-row__stat--questions strong{color:var(--color-success-text)}.board__empty{border:1px dashed var(--color-border);border-radius:var(--radius-md);text-align:center;color:var(--color-text-muted);flex-direction:column;align-items:center;gap:12px;padding:20px 16px;font-size:.875rem;display:flex}@media (width<=600px){.buddies{padding:24px 16px 64px}.board{padding:14px}.board-row{grid-template-columns:22px 36px minmax(0,1fr) auto auto;gap:10px;padding:10px}.board-row__stat strong{font-size:1.0625rem}.sharing-info__lists{grid-template-columns:minmax(0,1fr)}.buddies__add{justify-content:center;width:100%}.request-row{flex-wrap:wrap}.request-row__review{justify-content:center;width:100%}}.fc-bar{background:var(--color-surface);border-radius:999px;height:6px;overflow:hidden}.fc-bar span{border-radius:inherit;background:var(--color-success);height:100%;transition:width .3s;display:block}.fc-subjects{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.fc-subject{border:1px solid var(--color-border);border-top:4px solid var(--subject-color);border-radius:var(--radius-md);background:var(--color-bg);width:100%;box-shadow:var(--shadow-card);font:inherit;text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:6px;padding:20px;transition:transform .2s,box-shadow .2s;display:flex}.fc-subject:hover{box-shadow:var(--shadow-float);transform:translateY(-2px)}.fc-subject__icon{background:var(--subject-color);width:44px;height:44px;color:var(--subject-on);border-radius:12px;place-items:center;margin-bottom:6px;display:grid}.fc-subject__name{font-size:var(--text-h3);color:var(--color-heading);font-weight:700}.fc-subject__meta{font-size:var(--text-caption);color:var(--color-text-muted)}.fc-subject .fc-bar{width:100%;margin-top:8px}.fc-chapters{flex-direction:column;gap:20px;max-width:760px;display:flex}.fc-chapters__head{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.fc-chapters__head h2{font-size:var(--text-h2);align-items:center;gap:10px;display:flex}.fc-chapters__icon{background:var(--subject-color);width:36px;height:36px;color:var(--subject-on);border-radius:10px;place-items:center;display:grid}.fc-chapters__icon svg{width:20px;height:20px}.fc-back{font:inherit;color:var(--color-primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0;font-size:.875rem;font-weight:600;display:inline-flex}.fc-back:hover{text-decoration:underline}.fc-book{flex-direction:column;gap:8px;display:flex}.fc-book__label{letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted);font-size:.75rem;font-weight:700}.fc-book__list{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);flex-direction:column;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.fc-book__list>li+li{border-top:1px solid var(--color-border)}.fc-chapter{color:var(--color-text);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px 14px;padding:14px 16px;transition:background-color .15s;display:grid}a.fc-chapter:hover{background:var(--color-surface)}.fc-chapter__number{background:var(--color-surface);font-variant-numeric:tabular-nums;width:34px;height:34px;color:var(--color-heading);border-radius:10px;place-items:center;font-size:.8125rem;font-weight:700;display:grid}a.fc-chapter .fc-chapter__number{background:var(--subject-color);color:var(--subject-on)}.fc-chapter__title{color:var(--color-heading);font-size:.9375rem;font-weight:600}.fc-chapter--soon .fc-chapter__title{color:var(--color-text-muted);font-weight:500}.fc-chapter__status{font-size:var(--text-caption);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.fc-chapter__status--soon{color:var(--color-text-muted);font-weight:500}.fc-chapter__status--new{background:var(--color-primary);color:var(--color-on-primary);border-radius:999px;padding:4px 12px}.fc-chapter__status--started{color:var(--color-heading)}.fc-chapter__status--done{color:var(--color-success-text)}.fc-chapter .fc-bar{grid-column:2/-1}.fc-stack{isolation:isolate;padding:8px 6px;position:relative}.fc-stack:before,.fc-stack:after{content:"";z-index:-1;background:var(--subject-color);border-radius:28px;position:absolute;inset:8px 6px}.fc-stack:before{opacity:.25;transform:rotate(-7deg)translate(-10px)}.fc-stack:after{opacity:.45;transform:rotate(4deg)translate(8px)}.flashcard{width:100%;font:inherit;text-align:center;cursor:pointer;perspective:1400px;background:0 0;border:none;padding:0;transition:transform .3s;display:block;transform:rotate(-1.5deg)}.flashcard:hover{transform:rotate(0)}.flashcard:focus-visible{outline:none}.flashcard:focus-visible .flashcard__face{box-shadow:0 0 0 3px var(--color-bg), 0 0 0 5px var(--color-primary)}.flashcard__inner{transform-style:preserve-3d;transition:transform .5s cubic-bezier(.2,.7,.2,1);display:grid}.flashcard.is-flipped .flashcard__inner{transform:rotateY(180deg)}.flashcard__face{aspect-ratio:4/5;overflow-wrap:anywhere;backface-visibility:hidden;box-shadow:var(--shadow-float);border-radius:28px;flex-direction:column;grid-area:1/1;justify-content:center;align-items:center;gap:18px;padding:32px 26px;display:flex}.flashcard__face--front{background:var(--subject-color);color:var(--subject-on)}.flashcard__face--back{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-heading);transform:rotateY(180deg)}.flashcard__type{letter-spacing:.08em;text-transform:uppercase;border:1px solid;border-radius:999px;padding:4px 12px;font-size:.6875rem;font-weight:700}.flashcard__type--answer{background:var(--color-primary);color:var(--color-on-primary);border-color:#0000}.flashcard__text{letter-spacing:-.015em;font-size:clamp(1.375rem,3vw,1.625rem);font-weight:700;line-height:1.25}.flashcard__answer{font-size:clamp(1.125rem,2.4vw,1.3125rem);font-weight:600;line-height:1.45}.flashcard__extra{border-left:3px solid var(--color-accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--color-accent-soft);text-align:left;color:var(--color-text);padding:10px 14px;font-size:.875rem;font-weight:400}.flashcard__hint{font-size:var(--text-caption);align-items:center;gap:6px;font-weight:600;display:inline-flex}@media (prefers-reduced-motion:reduce){.flashcard,.flashcard__inner,.fc-subject{transition:none}}@media (width<=760px){.fc-subjects{grid-template-columns:minmax(0,1fr);gap:12px}.fc-subject{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2px 14px;display:grid}.fc-subject__icon{grid-row:span 2;margin-bottom:0}.fc-subject .fc-bar{grid-column:1/-1}}.fc-tools{z-index:2;gap:6px;display:flex;position:absolute;top:22px;right:22px}.fc-tool{border:1px solid var(--color-border);background:var(--color-bg);width:34px;height:34px;color:var(--color-text-muted);box-shadow:var(--shadow-card);cursor:pointer;border-radius:50%;place-items:center;padding:0;display:grid;position:relative}.fc-tool:hover{color:var(--color-heading)}.fc-tool[aria-pressed=true],.fc-tool.has-note{color:var(--color-primary)}.fc-tool.has-note:after{content:"";border:2px solid var(--color-bg);background:var(--color-primary);border-radius:50%;width:8px;height:8px;position:absolute;top:2px;right:2px}.fc-tool:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.fc-note-form{flex-direction:column;gap:10px;display:flex;position:relative}.fc-note-form__card{border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);padding:10px 12px;font-size:.875rem}.fc-note-form textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);font:inherit;color:var(--color-text);resize:vertical;padding:10px 12px 22px;font-size:.9375rem}.fc-note-form textarea:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.fc-note-form__count{color:var(--color-text-muted);align-self:flex-end;margin-top:-32px;margin-right:10px;font-size:.6875rem}.fc-note-form__actions{justify-content:flex-end;gap:8px;margin-top:6px;display:flex}.fc-note-form__delete{margin-right:auto}.fc-index{grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.fc-index__card{aspect-ratio:1;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);width:100%;font:inherit;font-variant-numeric:tabular-nums;color:var(--color-heading);cursor:pointer;place-items:center;padding:0;font-size:.9375rem;font-weight:600;display:grid;position:relative}.fc-index__card:hover{background:var(--color-surface)}.fc-index__card:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.fc-index__card[data-mark=known]{border-color:var(--color-success)}.fc-index__card[data-mark=learning]{border-color:var(--color-error)}.fc-index__card.is-current{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.fc-index__mark{font-size:.6875rem;font-weight:700;position:absolute;top:2px;right:5px}.fc-index__card[data-mark=known] .fc-index__mark{color:var(--color-success-text)}.fc-index__card[data-mark=learning] .fc-index__mark{color:var(--color-error-text)}.fc-index__card.is-current .fc-index__mark{color:inherit}.flashcards-page{width:100%;max-width:1080px;margin:0 auto;padding:32px 32px 80px}.flashcards-page__header{flex-direction:column;gap:6px;margin-bottom:24px;display:flex}.flashcards-page__header p{color:var(--color-text-muted)}@media (width<=600px){.flashcards-page{padding:24px 16px 64px}}.goal-calendar{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);padding:16px}.goal-calendar__nav{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.goal-calendar__nav h2{font-size:var(--text-h3)}.goal-calendar__arrow{border:1px solid var(--color-border);background:var(--color-bg);width:32px;height:32px;color:var(--color-heading);cursor:pointer;border-radius:50%;place-items:center;font-size:1.125rem;display:grid}.goal-calendar__arrow:hover{background:var(--color-surface)}.goal-calendar__grid{flex-direction:column;gap:4px;display:flex}.goal-calendar__row{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.goal-calendar__weekday{text-align:center;color:var(--color-text-muted);padding-bottom:4px;font-size:.75rem;font-weight:600}.goal-calendar__day{aspect-ratio:1;border-radius:var(--radius-sm);width:100%;max-height:64px;font:inherit;font-variant-numeric:tabular-nums;color:var(--color-text);cursor:pointer;background:0 0;border:1px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:0;font-size:.875rem;display:flex;position:relative}.goal-calendar__day:hover{background:var(--color-surface)}.goal-calendar__day:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.goal-calendar__mark{font-size:.75rem;font-weight:700;line-height:1}.goal-calendar__day.is-done{background:var(--color-success-soft-bg)}.goal-calendar__day.is-done .goal-calendar__mark{color:var(--color-success-text)}.goal-calendar__day.is-partial{background:var(--color-accent-soft)}.goal-calendar__day.is-partial .goal-calendar__mark{color:var(--color-heading)}.goal-calendar__day.is-missed{background:var(--color-error-bg)}.goal-calendar__day.is-missed .goal-calendar__mark{color:var(--color-error-text)}.goal-calendar__day.is-pending{border-color:var(--color-primary);border-style:dashed}.goal-calendar__day.is-pending .goal-calendar__mark{color:var(--color-primary)}.goal-calendar__day.is-today{color:var(--color-heading);box-shadow:inset 0 0 0 2px var(--color-heading);font-weight:700}.goal-calendar__day.is-selected{border-style:solid;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary)}.goal-calendar__legend{color:var(--color-text-muted);flex-wrap:wrap;gap:8px 16px;margin:14px 0 0;padding:0;font-size:.75rem;list-style:none;display:flex}.goal-calendar__legend span{border-radius:4px;place-items:center;width:18px;height:18px;margin-right:4px;font-weight:700;display:inline-grid}.goal-calendar__legend .is-done span{background:var(--color-success-soft-bg);color:var(--color-success-text)}.goal-calendar__legend .is-partial span{background:var(--color-accent-soft);color:var(--color-heading)}.goal-calendar__legend .is-missed span{background:var(--color-error-bg);color:var(--color-error-text)}.goal-calendar__legend .is-pending span{border:1px dashed var(--color-primary);color:var(--color-primary)}@media (width<=600px){.goal-calendar{padding:12px}.goal-calendar__row{gap:2px}.goal-calendar__day{font-size:.8125rem}}.goal-day{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);flex-direction:column;gap:12px;padding:16px;display:flex}.goal-day__head{justify-content:space-between;align-items:center;gap:8px;display:flex}.goal-day__head h3{font-size:var(--text-h3)}.goal-day--compact .goal-day__head h3{font-size:1rem}.goal-day__status{background:var(--color-surface);color:var(--color-text);border-radius:999px;flex-shrink:0;padding:2px 10px;font-size:.75rem;font-weight:600}.goal-day__status.is-done{background:var(--color-success-soft-bg);color:var(--color-success-text)}.goal-day__status.is-partial{background:var(--color-accent-soft);color:var(--color-heading)}.goal-day__status.is-missed{background:var(--color-error-bg);color:var(--color-error-text)}.goal-day__status.is-pending{background:var(--color-primary-soft);color:var(--color-heading)}.goal-day__chapter{font-size:var(--text-caption)}.goal-day__chapter a{color:var(--color-primary)}.goal-day__actions{flex-wrap:wrap;gap:8px 16px;margin-top:auto;display:flex}.goal-day__actions:empty{display:none}.goal-day__edit{font:inherit;color:var(--color-primary);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:.875rem;font-weight:600}.goal-day__edit:disabled{opacity:.6;cursor:default}.goal-day__edit:hover:not(:disabled){text-decoration:underline}.home-note-toggle{border-top:1px solid var(--color-border);flex-direction:column;gap:4px;width:100%;padding-top:10px;display:flex}.home-note-toggle__switch{font:inherit;color:var(--color-heading);cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:0;font-size:.875rem;font-weight:600;display:inline-flex}.home-note-toggle__switch:disabled{opacity:.6;cursor:default}.home-note-toggle__switch:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;border-radius:var(--radius-sm)}.home-note-toggle__track{background:var(--color-gray-600);border-radius:999px;flex-shrink:0;width:38px;height:22px;transition:background .2s;position:relative}.home-note-toggle__thumb{background:var(--color-white);border-radius:50%;width:16px;height:16px;transition:translate .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0003}.home-note-toggle__switch[aria-checked=true] .home-note-toggle__track{background:var(--color-primary)}.home-note-toggle__switch[aria-checked=true] .home-note-toggle__thumb{translate:16px}@media (prefers-reduced-motion:reduce){.home-note-toggle__track,.home-note-toggle__thumb{transition:none}}.goals{width:100%;max-width:1040px;margin:0 auto;padding:32px 32px 80px}.goals__header{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}.goals__header p{color:var(--color-text-muted);margin-top:6px}.goals__header .goal-minimum.goals__minimum{color:var(--color-heading);margin-top:12px}.goals__header .btn{flex-shrink:0}.goals__message{border-radius:var(--radius-sm);background:var(--color-success-soft-bg);color:var(--color-success-text);margin-bottom:16px;padding:8px 12px;font-size:.875rem}.goals__summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:24px;display:grid}.goals__upcoming{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.goals__upcoming button{border-radius:var(--radius-sm);background:var(--color-surface);width:100%;font:inherit;text-align:left;color:var(--color-heading);cursor:pointer;border:none;justify-content:space-between;gap:8px;padding:6px 8px;font-size:.875rem;font-weight:600;display:flex}.goals__upcoming button .caption{text-overflow:ellipsis;white-space:nowrap;font-weight:400;overflow:hidden}.goals__calendar{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;gap:16px;display:grid}@media (width<=900px){.goals__summary,.goals__calendar{grid-template-columns:minmax(0,1fr)}}@media (width<=600px){.goals{padding:24px 16px 64px}.goals__header{flex-direction:column;align-items:stretch}}.report-form fieldset{border:none;margin:0;padding:0}.report-form legend{color:var(--color-text);margin-bottom:12px;font-size:.9375rem}.report-reasons{grid-template-columns:1fr 1fr;gap:10px;display:grid}.report-reason{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;flex-direction:column;gap:4px;padding:12px 14px;display:flex;position:relative}.report-reason:hover{border-color:var(--color-primary)}.report-reason input{opacity:0;pointer-events:none;position:absolute}.report-reason.is-selected{border-color:var(--color-primary);background:var(--color-primary-soft);box-shadow:inset 0 0 0 1px var(--color-primary)}.report-reason:has(input:focus-visible){outline:2px solid var(--color-primary);outline-offset:2px}.report-reason__label{color:var(--color-heading);font-size:.9375rem;font-weight:700}.report-reason__hint{font-size:var(--text-caption);color:var(--color-text-muted);line-height:1.45}.report-details{color:var(--color-heading);flex-direction:column;gap:6px;margin-top:16px;font-size:.875rem;font-weight:600;display:flex;position:relative}.report-details__optional{color:var(--color-text-muted);font-weight:400}.report-details textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);font:inherit;color:var(--color-text);resize:vertical;padding:10px 12px 22px;font-size:.9375rem;font-weight:400}.report-details textarea:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.report-details__count{color:var(--color-text-muted);font-size:.6875rem;font-weight:400;position:absolute;bottom:6px;right:10px}.report-form .error-text{margin-top:10px}.report-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.report-done{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:8px 0;display:flex}.report-done__icon{background:var(--color-success);width:44px;height:44px;color:var(--color-black);border-radius:50%;place-items:center;font-size:1.25rem;font-weight:700;display:grid}.is-reported{color:var(--color-primary)}@media (width<=480px){.report-reasons{grid-template-columns:1fr}}.study{flex-direction:column;gap:14px;width:100%;max-width:460px;margin:0 auto;padding:20px 32px 80px;display:flex;overflow-x:clip}.study__header{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.study__crumbs{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.study__back{color:var(--color-primary);align-items:center;gap:6px;font-size:.875rem;font-weight:600;display:inline-flex}.study__back:hover{text-decoration:underline}.study__header h1{font-size:var(--text-h3);line-height:1.25}.study__book{color:var(--color-text-muted)}.study__book:before{content:"·";margin-right:8px}.study__empty{border:1px dashed var(--color-border);border-radius:var(--radius-md);text-align:center;color:var(--color-text-muted);padding:24px 16px;font-size:.875rem}.study__progress{align-items:center;gap:12px;display:flex}.study__progress .caption{color:var(--color-text-muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-weight:600}.study__bar{background:var(--color-surface);border-radius:999px;flex:1;height:8px;overflow:hidden}.study__bar span{border-radius:inherit;background:var(--color-primary);height:100%;transition:width .3s;display:block}.study__index{border:1px solid var(--color-border);background:var(--color-bg);font:inherit;font-size:var(--text-caption);color:var(--color-heading);cursor:pointer;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:6px 12px;font-weight:600;display:inline-flex}.study__index:hover{background:var(--color-surface)}.study__index:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.study__controls{grid-template-columns:1fr 1fr;gap:12px;display:grid}.study__show{grid-column:1/-1;justify-content:center;padding:14px 20px}.study__mark{justify-content:center;gap:8px;padding:14px 20px;font-weight:600}.study__mark--learning{border-color:var(--color-error);background:var(--color-error-bg);color:var(--color-error-text)}.study__mark--learning:hover{background:color-mix(in srgb, var(--color-error) 22%, var(--color-bg))}.study__mark--known{border-color:var(--color-success);background:var(--color-success);color:var(--color-black)}.study__mark--known:hover{background:color-mix(in srgb, var(--color-success) 85%, var(--color-black))}.study__keys{text-align:center;color:var(--color-text-muted)}.study-summary{border:1px solid var(--color-border);background:var(--color-surface);text-align:center;border-radius:24px;flex-direction:column;align-items:center;gap:20px;padding:40px 24px;display:flex}.study-summary__stats{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.study-summary__stat{border-radius:var(--radius-md);background:var(--color-bg);min-width:140px;font-size:var(--text-caption);color:var(--color-text-muted);flex-direction:column;padding:16px 20px;display:flex}.study-summary__stat strong{font-size:1.75rem;line-height:1.2}.study-summary__stat--known strong{color:var(--color-success-text)}.study-summary__stat--learning strong{color:var(--color-error-text)}.study-summary__actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}@media (hover:none){.study__keys{display:none}}@media (width<=600px){.study{padding:16px 16px 64px}.study__show,.study-summary__actions,.study-summary__actions .btn{width:100%}.study-summary__actions .btn{justify-content:center}}.book-cover{border:1px solid var(--color-border);background:var(--color-bg);height:100%;box-shadow:var(--shadow-card);color:var(--color-text);border-radius:6px 18px 18px 6px;flex-direction:column;gap:4px;padding:20px 20px 18px 34px;text-decoration:none;transition:transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.book-cover:before{content:"";background:var(--subject-color);width:14px;box-shadow:3px 0 0 color-mix(in srgb, var(--subject-color) 35%, transparent);position:absolute;inset:0 auto 0 0}.book-cover:hover{box-shadow:var(--shadow-float);transform:translateY(-3px)}.book-cover:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.book-cover__subject{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);align-items:center;gap:8px;margin-bottom:10px;font-size:.75rem;font-weight:700;display:inline-flex}.book-cover__icon{background:var(--subject-color);width:32px;height:32px;color:var(--subject-on);border-radius:10px;place-items:center;display:grid}.book-cover__icon svg{width:18px;height:18px}.book-cover__title{font-size:var(--text-h3);letter-spacing:-.01em;color:var(--color-heading);font-weight:700}.book-cover__chapters{font-size:var(--text-caption);color:var(--color-text-muted)}.book-cover__progress{flex-direction:column;gap:6px;margin-top:14px;display:flex}.book-cover__bar,.continue-reading__bar{background:var(--color-surface);border-radius:999px;height:6px;display:block;overflow:hidden}.book-cover__bar span,.continue-reading__bar span{border-radius:inherit;background:var(--color-success);height:100%;display:block}.book-cover__status{font-size:var(--text-caption);color:var(--color-text);font-weight:600}.book-cover__open{color:var(--color-primary);margin-top:auto;padding-top:16px;font-size:.875rem;font-weight:600}.continue-reading{border:1px solid var(--color-border);border-left:6px solid var(--subject-color);border-radius:var(--radius-md);background:var(--color-surface);justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;display:flex}.continue-reading__text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.continue-reading__eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);font-size:.75rem;font-weight:700}.continue-reading__book{font-size:var(--text-caption);color:var(--color-text-muted)}.continue-reading__chapter{color:var(--color-heading);font-size:1.0625rem;font-weight:700}.continue-reading__progress{align-items:center;gap:10px;max-width:320px;margin-top:8px;display:flex}.continue-reading__progress .continue-reading__bar{flex:1}.continue-reading__progress .caption{color:var(--color-text-muted);flex-shrink:0}.continue-reading__btn{flex-shrink:0;padding:12px 20px;font-weight:600}@media (prefers-reduced-motion:reduce){.book-cover{transition:none}}@media (width<=600px){.continue-reading{flex-direction:column;align-items:stretch;padding:18px}.continue-reading__progress{max-width:none}}.library{flex-direction:column;gap:28px;width:100%;max-width:1080px;margin:0 auto;padding:40px 32px 96px;display:flex}.library__hero{flex-direction:column;align-items:flex-start;gap:10px;max-width:680px;display:flex}.library__eyebrow{background:var(--color-primary-soft);font-size:var(--text-caption);color:var(--color-primary);border-radius:999px;padding:4px 12px;font-weight:600}.library__hero h1{letter-spacing:-.03em;font-size:clamp(1.75rem,3.6vw,2.5rem)}.library__hero p{color:var(--color-text-muted);text-wrap:balance}.library__highlights{flex-wrap:wrap;gap:8px;margin:6px 0 0;padding:0;list-style:none;display:flex}.library__highlights li{border:1px solid var(--color-border);background:var(--color-bg);font-size:var(--text-caption);color:var(--color-heading);border-radius:999px;padding:6px 12px;font-weight:600}.library__filters{flex-wrap:wrap;gap:8px;display:flex}.library__filter{border:1px solid var(--color-border);background:var(--color-bg);font:inherit;color:var(--color-text);cursor:pointer;border-radius:999px;padding:8px 16px;font-size:.875rem;font-weight:600}.library__filter:hover{background:var(--color-surface)}.library__filter[aria-pressed=true]{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.library__filter:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.library__shelf{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0;padding:0;list-style:none;display:grid}.library__practice{flex-direction:column;gap:12px;display:flex}.library__practice h2{font-size:var(--text-h3)}.library__practice ul{border:1px solid var(--color-border);border-radius:var(--radius-md);margin:0;padding:0;list-style:none;overflow:hidden}.library__practice-row{border-left:4px solid var(--subject-color);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.library__practice-row+.library__practice-row{border-top:1px solid var(--color-border)}.library__practice-name{color:var(--color-heading);font-weight:600}.library__practice-actions{gap:8px;display:flex}@media (width<=960px){.library__shelf{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.library{gap:22px;padding:24px 16px 64px}.library__shelf{grid-template-columns:minmax(0,1fr);gap:14px}}.study-add{gap:6px;display:inline-flex;position:relative}.study-add__btn{border-radius:var(--radius-sm);cursor:pointer;border:none;place-items:center;width:30px;height:30px;padding:0;transition:transform .15s;display:grid}.study-add__btn:hover,.study-add__btn[aria-expanded=true]{transform:scale(1.08)}.study-add__btn--video{background:var(--color-youtube);color:var(--color-white)}.study-add__btn--note{background:var(--ncert-yellow-edge);color:var(--color-black)}.add-popover{z-index:15;border:1px solid var(--color-border);background:var(--color-bg);width:min(320px,100vw - 32px);box-shadow:var(--shadow-float);transform-origin:0 0;border-radius:16px;flex-direction:column;gap:10px;padding:14px;animation:.18s ease-out chip-pop;display:flex;position:absolute;top:calc(100% + 8px);left:0}.add-popover__title{color:var(--color-heading);font-size:.875rem;font-weight:700}.add-popover input,.add-popover textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);width:100%;font:inherit;color:var(--color-text);resize:vertical;padding:8px 12px;font-size:.875rem}.add-popover__actions{justify-content:flex-end;gap:8px;display:flex}.study-chip{cursor:grab;vertical-align:middle;border:none;place-items:center;padding:0;transition:transform .15s;animation:.22s ease-out chip-pop;display:inline-grid}.study-chip:hover{transform:scale(1.15)}.study-chip:active{cursor:grabbing}.study-chip--video{background:var(--color-youtube);width:24px;height:17px;color:var(--color-white);border-radius:5px}.study-chip--note{background:var(--ncert-yellow-edge);width:18px;height:18px;color:var(--color-black);border-radius:3px;transform:rotate(-5deg);box-shadow:1px 1px #00000026}.study-chip--note:hover{transform:rotate(-5deg)scale(1.15)}.line-chips{vertical-align:middle;gap:4px;margin-left:6px;display:inline-flex}[data-drop]{outline:1.5px dashed var(--ncert-blue);outline-offset:2px;cursor:copy;border-radius:4px}[data-drop=hover]{background:var(--ncert-blue-soft)}.study-tray{border:1px dashed var(--color-border);border-radius:var(--radius-md);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;display:flex}.study-tray__hint{color:var(--color-text-muted);font-size:.75rem}.study-tray__cancel{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);cursor:pointer;border-radius:999px;margin-left:auto;padding:2px 10px;font-size:.75rem;font-weight:600}.study-tray .error-text{flex-basis:100%}.item-viewer__backdrop{z-index:30;background:#00000073;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.item-viewer{background:var(--color-bg);width:min(640px,100%);box-shadow:var(--shadow-float);border-radius:18px;flex-direction:column;gap:12px;padding:16px;animation:.2s ease-out chip-pop;display:flex}.item-viewer--note{width:min(420px,100%)}.item-viewer__head{justify-content:space-between;align-items:center;display:flex}.item-viewer__title{color:var(--color-heading);font-size:.875rem;font-weight:700}.item-viewer iframe{aspect-ratio:16/9;border-radius:var(--radius-sm);background:var(--color-surface);border:none;width:100%;display:block}.item-viewer__note{border-left:4px solid var(--ncert-yellow-edge);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--ncert-yellow);max-height:50vh;color:var(--color-heading);white-space:pre-line;overflow-wrap:anywhere;padding:14px 16px;font-size:.9375rem;overflow-y:auto}.item-viewer__actions{flex-wrap:wrap;gap:8px;display:flex}.item-viewer__delete{color:var(--color-error-text);margin-left:auto}@keyframes chip-pop{0%{opacity:0;transform:scale(.85)}}@media (prefers-reduced-motion:reduce){.add-popover,.study-chip,.item-viewer{animation:none}.study-add__btn,.study-chip{transition:none}}.question-stem{flex-direction:column;gap:10px;display:flex}.question-stem__intro,.question-stem__outro{margin:0}.match-table__wrap{overflow-x:auto}.match-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:280px;color:var(--color-text);white-space:normal;font-size:.875rem;font-weight:400;line-height:1.45}.match-table th,.match-table td{border:1px solid var(--color-border);text-align:left;vertical-align:top;overflow-wrap:anywhere;padding:8px 10px}.match-table th{background:var(--color-surface);color:var(--color-heading);font-size:.8125rem;font-weight:600}.match-table__label{color:var(--color-heading);font-weight:700}@media (width>=768px){.match-table{font-size:.9375rem}.match-table th,.match-table td{padding:10px 14px}}.question-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);flex-direction:column;gap:10px;padding:14px 16px;display:flex}.question-card.is-focused{border-color:var(--source-color,var(--ncert-blue))}.question-card__top{justify-content:space-between;align-items:center;gap:8px;display:flex}.question-card__tags{flex-wrap:wrap;align-items:center;gap:4px 6px;display:flex}.tag{border:1px solid var(--color-border);color:var(--color-text);border-radius:999px;padding:1px 8px;font-size:.6875rem;font-weight:600}.tag--medium{background:var(--color-surface)}.tag--hard{border-color:var(--color-gray-600);background:var(--color-surface);color:var(--color-heading)}.question-card__marks{color:var(--color-text-muted);font-size:.6875rem}.question-card__tools{flex-shrink:0;gap:4px;display:flex}.tool-btn{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;place-items:center;padding:0;display:grid}.tool-btn:hover:not(:disabled){background:var(--color-surface);color:var(--color-heading)}.tool-btn:disabled{opacity:.45;cursor:not-allowed}.tool-btn[aria-pressed=true]{color:var(--color-heading)}.tool-btn--pyq{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.tool-btn--pyq:hover{background:var(--color-primary-hover)}.tool-pyq{position:relative}.tool-pyq__popover{z-index:2;border-radius:var(--radius-sm);background:var(--color-primary);box-shadow:var(--shadow-card);color:var(--color-on-primary);white-space:nowrap;padding:6px 10px;font-size:.75rem;font-weight:600;position:absolute;top:calc(100% + 6px);right:0}.question-card__text{color:var(--color-heading);white-space:pre-line;font-size:.9375rem;font-weight:500}.question-card__number{font-weight:700}.question-card__image{border-radius:var(--radius-sm);max-width:min(100%,520px)}.question-card__options{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.option{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);text-align:left;width:100%;color:var(--color-text);cursor:pointer;align-items:center;gap:10px;padding:7px 12px;font-size:.875rem;transition:border-color .15s;display:flex}.option:hover:not(:disabled){border-color:var(--color-gray-600)}.option:disabled{cursor:default}.option__letter{border:1px solid var(--color-border);background:var(--color-bg);width:24px;height:24px;color:var(--color-heading);border-radius:50%;flex-shrink:0;place-items:center;font-size:.75rem;font-weight:700;display:grid}.option__text{flex:1}.option__mark{font-weight:700}.option--correct{border-color:var(--color-success);box-shadow:inset 0 0 0 1px var(--color-success);color:var(--color-heading)}.option--correct .option__mark{color:var(--color-success-text)}.option--wrong{border-color:var(--color-error);box-shadow:inset 0 0 0 1px var(--color-error)}.option--wrong .option__mark{color:var(--color-error-text)}.option--dim{opacity:.6}.question-card__result{font-size:.875rem;font-weight:600}.question-card__result.is-correct{color:var(--color-success-text)}.question-card__result.is-wrong{color:var(--color-error-text)}.question-card__actions{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.question-card__actions:empty{display:none}.question-card__hint{flex:1;min-width:0;font-size:.875rem}.question-card__hint summary{color:var(--color-text-muted);cursor:pointer;font-weight:600}.question-card__hint p{margin-top:4px}.question-card__reveal{margin-left:auto;padding:5px 12px;font-size:.8125rem}.question-card__solution{border-radius:var(--radius-sm);background:var(--color-surface);flex-direction:column;gap:4px;padding:10px 14px;font-size:.875rem;display:flex}.question-card__answer{color:var(--color-heading);font-weight:700}@media (prefers-reduced-motion:reduce){.option{transition:none}}.reader{--reader-bar-height:52px;--reader-gutter:24px;--reader-bottom:48px;width:100%;max-width:1440px;padding:0 var(--reader-gutter) var(--reader-bottom);margin:0 auto}.reader-bar{z-index:10;height:var(--reader-bar-height);border-bottom:1px solid var(--color-border);background:var(--color-bg);align-items:center;gap:16px;display:flex;position:sticky;top:0}.reader-bar__left,.reader-bar__right{flex-shrink:0;align-items:center;gap:12px;display:flex}.reader-bar__right{margin-left:auto}.reader-bar__logo img{object-fit:contain;width:28px;height:28px;display:block}.reader-bar__back{border:1px solid var(--color-border);font-size:var(--text-caption);color:var(--color-text);border-radius:999px;padding:4px 10px;font-weight:600}.reader-bar__back:hover{background:var(--color-surface)}.reader-bar__title{min-width:0;color:var(--color-heading);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:600;overflow:hidden}.reader-bar__book{color:var(--ncert-blue)}.reader__message{text-align:center;flex-direction:column;align-items:center;gap:16px;max-width:420px;margin:20vh auto 0;display:flex}.reader__message p{color:var(--color-text-muted)}.reader__tabs{display:none}.reader__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;padding-top:16px;display:grid}.reader__notes{flex-direction:column;gap:16px;min-width:0;display:flex}.reader__questions{top:calc(var(--reader-bar-height) + 16px);max-height:calc(100dvh - var(--reader-bar-height) - 32px);border-left:1px solid var(--color-border);align-self:start;padding:0 4px 0 24px;position:sticky;overflow-y:auto}:root[data-theme=dark] .reader__notes{min-height:calc(100dvh - var(--reader-bar-height));margin:-16px calc(-1 * var(--reader-gutter)) calc(-1 * var(--reader-bottom));padding:16px var(--reader-gutter) var(--reader-bottom)}:root[data-theme=dark] .reader__grid[data-view=both] .reader__notes{box-shadow:-50vw 0 0 var(--color-bg)}.reader__grid[data-view=theory],.reader__grid[data-view=questions]{grid-template-columns:minmax(0,860px);justify-content:center}.reader__grid[data-view=theory]{grid-template-columns:minmax(0,720px)}.reader__grid[data-view=theory] .reader__questions,.reader__grid[data-view=questions] .reader__notes{display:none}.reader__grid[data-view=questions] .reader__questions{border-left:none;max-height:none;padding:0;position:static;overflow:visible}.view-switch{background:var(--color-surface);border-radius:999px;flex-shrink:0;gap:2px;margin-left:auto;padding:3px;display:flex}.view-switch button{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:4px 12px;font-size:.8125rem;font-weight:600}.view-switch button[aria-pressed=true]{background:var(--color-bg);color:var(--color-heading);box-shadow:var(--shadow-card)}.smart-menu{flex-shrink:0;position:relative}.smart-menu__trigger{border:1px solid var(--color-border);background:var(--color-bg);font-size:var(--text-caption);color:var(--color-text);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-weight:600;display:inline-flex}.smart-menu__trigger:hover,.smart-menu__trigger[aria-expanded=true]{background:var(--color-surface)}.smart-menu__trigger[data-active]{border-color:var(--color-primary);color:var(--color-primary)}.smart-menu__label-short{display:none}.smart-menu__count{background:var(--color-primary);min-width:16px;height:16px;color:var(--color-on-primary);border-radius:999px;justify-content:center;align-items:center;padding:0 4px;font-size:.6875rem;display:inline-flex}.smart-menu__chevron{font-size:.625rem}.smart-menu__dropdown{z-index:20;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);width:min(280px,100vw - 32px);box-shadow:var(--shadow-card);flex-direction:column;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.smart-menu__item{border-radius:var(--radius-sm);text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;padding:10px;display:flex}.smart-menu__item:hover{background:var(--color-surface)}.smart-menu__text{flex-direction:column;gap:2px;display:flex}.smart-menu__item-label{color:var(--color-heading);font-size:.875rem;font-weight:600}.smart-menu__hint{font-size:var(--text-caption);color:var(--color-text-muted)}.smart-switch__track{background:var(--color-gray-400);border-radius:999px;flex-shrink:0;width:30px;height:18px;transition:background .15s;position:relative}.smart-switch__thumb{background:var(--color-white);width:14px;height:14px;box-shadow:var(--shadow-card);border-radius:50%;transition:transform .15s;position:absolute;top:2px;left:2px}.smart-menu__item[aria-checked=true] .smart-switch__track{background:var(--color-primary)}.smart-menu__item[aria-checked=true] .smart-switch__thumb{transform:translate(12px)}.page-nav{align-items:center;gap:8px;display:flex}.page-nav__spacer{flex:1}.page-nav__label{min-width:0;font-size:var(--text-caption);color:var(--color-text-muted);font-weight:600}.page-nav__btn{border:1px solid var(--color-border);border-radius:var(--radius-sm);min-width:34px;height:34px;color:var(--color-heading);white-space:nowrap;flex-shrink:0;justify-content:center;align-items:center;padding:0 12px;font-size:.875rem;font-weight:600;display:inline-flex}.page-nav__btn:hover:not(.is-disabled){background:var(--color-surface)}.page-nav__btn--next:not(.is-disabled){border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.page-nav__btn--next:hover:not(.is-disabled){background:var(--color-primary-hover)}.page-nav__btn.is-disabled{opacity:.4}.notes{flex-direction:column;gap:16px;font-size:1rem;line-height:1.65;display:flex}.notes__header{border-bottom:3px solid var(--ncert-blue);flex-direction:column;gap:4px;padding-bottom:12px;display:flex}.notes__header h1{font-size:var(--text-caption);color:var(--ncert-blue);font-weight:600;line-height:1.4}.notes__header h2{letter-spacing:-.02em;color:var(--color-heading);font-size:clamp(1.375rem,2.4vw,1.75rem);font-weight:700;line-height:1.25}.notes__intro{border-left:4px solid var(--ncert-yellow-edge);border-radius:var(--radius-sm);background:var(--ncert-yellow);color:var(--color-heading);padding:16px 20px}.notes__section{border-radius:var(--radius-sm);border-left:4px solid #0000;padding:16px 20px}.notes__section--green{border-left-color:var(--ncert-green-edge);background:var(--ncert-green)}.notes__section--yellow{border-left-color:var(--ncert-yellow-edge);background:var(--ncert-yellow)}.notes__section h3{margin-bottom:10px;font-size:1.125rem;font-weight:700}.notes__section-number{color:var(--ncert-blue)}.notes__section ul{flex-direction:column;gap:10px;margin:0;padding-left:18px;list-style:square;display:flex}.notes__section li::marker{color:var(--ncert-blue)}.notes__tip{border-left:4px solid var(--ncert-blue);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--ncert-blue-soft);flex-direction:column;gap:4px;padding:14px 18px;display:flex}.notes__tip-label{letter-spacing:.08em;text-transform:uppercase;color:var(--ncert-blue);font-size:.6875rem;font-weight:700}.notes__figure{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);flex-direction:column;align-items:center;gap:12px;margin:0;padding:16px;display:flex}.notes__figure img{object-fit:contain;max-width:100%;height:auto;max-height:480px;display:block}.notes__figure figcaption,.notes__table figcaption{color:var(--color-text);text-align:center;font-size:.875rem;line-height:1.5}.notes__figure figcaption strong{color:var(--color-heading)}.notes__table{flex-direction:column;gap:8px;margin:0;display:flex}.notes__table figcaption{color:var(--color-heading);font-weight:600}.notes__table-scroll{border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow-x:auto}.notes__table table{border-collapse:collapse;width:100%;font-size:.875rem;line-height:1.5}.notes__table th,.notes__table td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top;min-width:7rem;padding:8px 10px}.notes__table th{background:var(--ncert-blue-soft);color:var(--ncert-blue);font-weight:700}.notes__table tbody tr:nth-child(2n){background:var(--ncert-yellow)}.notes__table tbody tr:last-child td{border-bottom:none}.line-dots{vertical-align:middle;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:2px;margin:0 -3px 0 3px;padding:4px 3px;display:inline-flex}.line-dots:hover,.line-dots[aria-pressed=true]{background:var(--color-primary-soft)}.line-dots__dot{border-radius:50%;width:5px;height:5px}.line-dots__dot--pyq{background:var(--color-success)}.line-dots__dot--practice{background:var(--color-primary)}.line-hidden-btn{cursor:pointer;background:0 0;border:none;border-radius:4px;width:calc(100% + 18px);height:1.65em;margin-left:-18px;padding:0;display:block}.line-hidden-btn:hover{background:var(--color-primary-soft)}.line-reveal-btn{color:var(--color-heading);cursor:pointer;background:0 0;border:none;margin-top:8px;padding:0;font-size:.6875rem;font-weight:600}.line-reveal-btn:hover{text-decoration:underline}.notes--focus [data-hl-line]>span,.notes--focus .notes__figure img,.notes--focus .notes__table figcaption,.notes--focus .notes__table th,.notes--focus .notes__tip-label{opacity:.1}.notes--focus .notes__section li::marker{color:var(--color-border)}.notes__focus-empty{border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-muted);padding:10px 14px;font-size:.875rem}.notes .is-line-selected{box-shadow:0 0 0 3px var(--color-primary-soft);background-color:var(--color-primary-soft);border-radius:6px}.notes .is-highlighted{outline:1.5px solid var(--hl-color,var(--ncert-blue));outline-offset:3px;border-radius:6px}.focus-connector{z-index:5;pointer-events:none;width:100%;height:100%;position:fixed;inset:0;overflow:visible}.focus-connector path{fill:none;stroke-width:1.5px;stroke-linecap:round}.source-toggle{align-items:center;gap:6px;margin-left:auto;display:inline-flex}.source-toggle__dots{display:inline-flex}.source-toggle__dots span{border:1px solid var(--color-bg);border-radius:50%;width:8px;height:8px;margin-left:-2px}.text-mark{color:var(--color-black);cursor:pointer;-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:2px;padding:.1em 0}.text-mark:focus-visible{outline:2px solid var(--ncert-blue);outline-offset:1px}.text-mark--yellow{background:var(--highlight-yellow)}.text-mark--green{background:var(--highlight-green)}.text-mark--blue{background:var(--highlight-blue)}.text-mark--pink{background:var(--highlight-pink)}.save-selection__toolbar{z-index:20;border:1px solid var(--color-border);background:var(--color-bg);box-shadow:var(--shadow-float);-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:6px;padding:6px;display:flex;position:fixed;transform:translate(-50%,calc(-100% - 8px))}.save-selection__toolbar.is-below{transform:translate(-50%,8px)}.save-selection__dot{border:1px solid var(--color-border);cursor:pointer;border-radius:50%;flex-shrink:0;width:26px;height:26px;padding:0}.save-selection__dot[aria-pressed=true]{outline:2px solid var(--color-heading);outline-offset:1px}.save-selection__dot--clear{background:var(--color-bg);color:var(--color-text);font-size:.75rem;line-height:1}.save-selection__dot--clear:hover{background:var(--color-surface)}.save-selection__btn{background:var(--color-primary);color:var(--color-on-primary);white-space:nowrap;cursor:pointer;border:none;border-radius:999px;padding:5px 12px;font-size:.8125rem;font-weight:600}.save-selection__btn--plain{color:var(--color-text);background:0 0}.save-selection__btn--plain:hover{background:var(--color-surface)}@media (pointer:coarse){.save-selection__toolbar,.save-selection__toolbar.is-below{bottom:calc(16px + env(safe-area-inset-bottom));transform:translate(-50%);top:auto!important;left:50%!important}.save-selection__dot{width:32px;height:32px}.save-selection__toast{bottom:calc(72px + env(safe-area-inset-bottom))}}.save-selection__toast{z-index:20;background:var(--color-primary);box-shadow:var(--shadow-float);color:var(--color-on-primary);border-radius:999px;padding:8px 16px;font-size:.875rem;font-weight:600;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.question-panel__head{z-index:1;background:var(--color-bg);flex-direction:column;gap:8px;padding-bottom:12px;display:flex;position:sticky;top:0}.question-panel__title{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.question-panel__title h2{font-size:1rem}.question-panel__progress{background:var(--color-surface);border-radius:999px;height:4px;overflow:hidden}.question-panel__progress span{border-radius:inherit;background:var(--color-success);height:100%;transition:width .2s;display:block}.question-panel__filters{gap:6px;display:flex}.filter-chip{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);cursor:pointer;border-radius:999px;padding:2px 12px;font-size:.75rem;font-weight:600}.filter-chip[aria-pressed=true]{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.question-panel__focus{color:var(--ncert-blue);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:.8125rem;font-weight:600;display:flex}.question-panel__list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.question-panel__empty{border:1px dashed var(--color-border);border-radius:var(--radius-md);text-align:center;color:var(--color-text-muted);padding:24px 16px;font-size:.875rem}@media (prefers-reduced-motion:reduce){.question-panel__progress span,.smart-switch__track,.smart-switch__thumb{transition:none}}@media (width<=960px){.reader{--reader-gutter:20px;--reader-bottom:40px}.reader__tabs{border-radius:var(--radius-md);background:var(--color-surface);grid-template-columns:1fr 1fr;gap:4px;margin-top:12px;padding:4px;display:grid}.reader__tabs button{border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:6px;font-size:.875rem;font-weight:600}.reader__tabs button[aria-pressed=true]{background:var(--color-bg);color:var(--color-heading);box-shadow:var(--shadow-card)}.reader__grid{grid-template-columns:minmax(0,1fr);padding-top:12px}.view-switch{display:none}.reader__grid[data-view]{grid-template-columns:minmax(0,1fr)}.reader__grid[data-view] .reader__notes,.reader__grid[data-view] .reader__questions{display:flex}.reader__grid[data-view] .reader__questions{border-left:none;max-height:none;padding:0;display:block;position:static;overflow:visible}.question-panel__head{position:static}.reader__grid[data-tab=notes] .reader__questions,.reader__grid[data-tab=questions] .reader__notes{display:none}.reader-bar__title{margin-right:auto}}@media (width<=600px){.reader{--reader-gutter:16px;--reader-bottom:32px}.smart-menu{position:static}.smart-menu__label{display:none}.smart-menu__label-short{display:inline}.reader-bar{gap:10px}.reader-bar__book,.reader-bar__book+span{display:none}.notes__intro,.notes__section{padding:14px 16px}.question-card{padding:12px}}.notes__ncert-page{border-top:1px solid var(--color-border);color:var(--color-text-muted);text-align:right;margin:1.5rem 0 0;padding-top:.5rem;font-size:.8125rem}.heatmap__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.heatmap__title{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text);font-size:.875rem;font-weight:600}.heatmap__ranges{border:1px solid var(--color-border);background:var(--color-surface);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.heatmap__ranges button{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:6px 14px;font-size:.875rem;font-weight:500}.heatmap__ranges button[aria-pressed=true]{background:var(--color-bg);color:var(--color-heading);box-shadow:var(--shadow-card);font-weight:600}.heatmap__card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);padding:20px 24px}.heatmap__scroll{padding:2px 2px 4px 0;overflow-x:auto}.heatmap__corner{z-index:1;margin-right:calc(-1 * var(--gap));background:var(--color-bg);grid-area:1/1;position:sticky;left:0}.heatmap__grid{--cell:12px;--gap:3px;grid-template-columns:auto repeat(var(--weeks), var(--cell));grid-template-rows:auto repeat(7, var(--cell));gap:var(--gap);width:max-content;display:grid}.heatmap__month{white-space:nowrap;color:var(--color-text-muted);grid-row:1;font-size:.75rem}.heatmap__weekday{z-index:1;margin-right:calc(-1 * var(--gap));padding-right:calc(8px + var(--gap));background:var(--color-bg);color:var(--color-text-muted);grid-column:1;align-self:stretch;align-items:center;font-size:.75rem;line-height:1;display:flex;position:sticky;left:0}.heatmap__day{width:var(--cell,12px);height:var(--cell,12px);border:none;border-radius:3px;padding:0;display:block}button.heatmap__day{cursor:pointer}.heatmap__day--0{background:var(--color-surface);box-shadow:inset 0 0 0 1px var(--color-border)}.heatmap__day--1{background:color-mix(in srgb, var(--color-success) 30%, transparent)}.heatmap__day--2{background:color-mix(in srgb, var(--color-success) 55%, transparent)}.heatmap__day--3{background:color-mix(in srgb, var(--color-success) 80%, transparent)}.heatmap__day--4{background:var(--color-success)}.heatmap__day[aria-pressed=true]{outline:2px solid var(--color-heading);outline-offset:-2px}.heatmap__foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;margin-top:16px;display:flex}.heatmap__detail{color:var(--color-text-muted);font-size:.875rem}.heatmap__detail strong{color:var(--color-heading)}.heatmap__legend{font-size:var(--text-caption);color:var(--color-text-muted);align-items:center;gap:4px;display:flex}.heatmap__legend .heatmap__day{--cell:12px}.heatmap__legend .heatmap__day:first-of-type{margin-left:4px}.heatmap__legend .heatmap__day:last-of-type{margin-right:4px}@media (width<=600px){.heatmap__card{padding:16px}}.chapter-progress{margin-top:32px}.chapter-progress__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;margin-bottom:12px;display:flex}.chapter-progress__title{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text);font-size:.875rem;font-weight:600}.chapter-progress__list{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);margin:0;padding:0;list-style:none}.chapter-progress__item{justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.chapter-progress__item+.chapter-progress__item{border-top:1px solid var(--color-border)}.chapter-progress__info{flex-direction:column;gap:4px;min-width:0;display:flex}.chapter-progress__book{font-size:var(--text-caption);color:var(--color-text-muted);font-weight:500}.chapter-progress__name{color:var(--color-heading);font-weight:600}.chapter-progress__meter{align-items:center;gap:10px;margin-top:2px;display:flex}.chapter-progress__bar{background:var(--color-surface);border-radius:999px;width:140px;height:6px;overflow:hidden}.chapter-progress__bar span{border-radius:inherit;background:var(--color-success);height:100%;display:block}.chapter-progress__item .btn{flex-shrink:0}.chapter-progress__done{color:var(--color-heading);flex-shrink:0;font-size:.875rem;font-weight:600}.chapter-progress__empty{border:1px dashed var(--color-border);border-radius:var(--radius-md);text-align:center;color:var(--color-text-muted);padding:24px 16px;font-size:.875rem}.chapter-progress__empty a{font-weight:600;text-decoration:underline}@media (width<=600px){.chapter-progress__item{flex-direction:column;align-items:stretch;gap:12px;padding:14px 16px}.chapter-progress__bar{flex:1;width:auto}}.study-time{margin-top:32px}.study-time__title{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text);margin-bottom:12px;font-size:.875rem;font-weight:600}.study-time__card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);padding:20px 24px}.study-time__stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;display:grid}.study-time__stat dt{font-size:var(--text-caption);color:var(--color-text-muted);font-weight:500}.study-time__stat dd{font-size:var(--text-h2);color:var(--color-heading);margin:4px 0 0;font-weight:700}.study-time__note{font-size:var(--text-caption);color:var(--color-text-muted);margin-top:2px;font-weight:500;display:block}.study-time__goal{color:var(--color-heading);margin-top:16px;font-size:.9375rem;font-weight:500}.study-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:20px 0 0;padding:0;list-style:none;display:grid}.study-week__day{flex-direction:column;align-items:center;gap:6px;min-width:0;display:flex}.study-week__value{color:var(--color-text-muted);white-space:nowrap;font-size:.75rem;font-weight:500}.study-week__track{background:var(--color-surface);border-radius:6px;align-items:flex-end;width:100%;max-width:48px;height:120px;display:flex}.study-week__bar{background:var(--color-gray-400);border-radius:6px;width:100%;min-height:0;display:block}.study-week__label{color:var(--color-text-muted);font-size:.75rem}.study-week__day--today .study-week__label{color:var(--color-heading);font-weight:700}.study-week__day--best .study-week__bar{background:var(--color-accent)}.study-week__day--best .study-week__value{color:var(--color-heading);font-weight:700}.study-time__hint{margin-top:16px}@media (width<=600px){.study-time__card{padding:16px}.study-time__stat dd{font-size:var(--text-h3)}.study-week{gap:4px}.study-week__value{font-size:.6875rem}.study-week__track{height:96px}}.progress{width:100%;max-width:960px;margin:0 auto;padding:32px 32px 80px}.progress__header{flex-direction:column;gap:6px;margin-bottom:24px;display:flex}.progress__header p{color:var(--color-text-muted)}.progress-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 16px;display:grid}.progress-stat{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);flex-direction:column;gap:6px;padding:16px 18px;display:flex}.progress-stat--highlight{border-color:var(--color-accent);background:var(--color-accent-soft)}.progress-stat--highlight dt svg{color:var(--color-accent)}.progress-stat dt{font-size:var(--text-caption);color:var(--color-text-muted);align-items:center;gap:6px;font-weight:500;display:flex}.progress-stat dt svg{width:16px;height:16px}.progress-stat dd{font-size:var(--text-h2);color:var(--color-heading);margin:0;font-weight:700}.progress-stat__note{font-size:var(--text-caption);color:var(--color-text-muted);margin-top:2px;font-weight:500;display:block}.progress-today{margin-bottom:24px;font-size:.9375rem}.progress-today__link{font-weight:600;text-decoration:underline}.progress-section-error{margin-top:32px}@media (width<=600px){.progress{padding:24px 16px 64px}.progress-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.progress-stat{padding:12px}.progress-stat dd{font-size:var(--text-h3)}}.quiz-page{width:100%;max-width:1080px;margin:0 auto;padding:24px 32px 80px}.quiz-page--message{flex-direction:column;align-items:flex-start;gap:12px;padding-top:48px;display:flex}.quiz-bar{top:calc(var(--header-height) + 8px);z-index:2;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);box-shadow:var(--shadow-card);flex-wrap:wrap;align-items:center;gap:8px 16px;margin-bottom:16px;padding:10px 14px;display:flex;position:sticky}.quiz-bar__title{color:var(--color-heading);font-weight:600}.quiz-bar__focus{font-weight:400;display:block}.quiz-bar__progress{flex:1}.quiz-timer{background:var(--color-surface);font-variant-numeric:tabular-nums;color:var(--color-heading);border-radius:999px;padding:4px 12px;font-size:1rem;font-weight:700}.quiz-timer.is-low{background:var(--color-primary);color:var(--color-on-primary)}.quiz-finish{border:1px solid var(--color-heading);border-radius:var(--radius-md);background:var(--color-surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:14px 16px;display:flex}.quiz-finish__title{color:var(--color-heading);font-weight:600}.quiz-finish__actions{gap:8px;display:flex}.quiz-layout{grid-template-columns:minmax(0,1fr) 240px;align-items:start;gap:20px;display:grid}.quiz-main{flex-direction:column;gap:16px;display:flex}.quiz-question__source{margin:-4px 0 8px}.option.option--chosen{border-color:var(--color-heading);background:var(--color-surface);box-shadow:inset 0 0 0 1px var(--color-heading)}.option.option--chosen .option__letter{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.question-card__result.is-skipped{color:var(--color-text-muted)}.quiz-question__clear{align-self:flex-start;margin-top:8px}.quiz-nav{flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.quiz-palette{top:calc(var(--header-height) + 76px);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:14px;position:sticky}.quiz-palette ol{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.quiz-palette__item{aspect-ratio:1;border:1px solid var(--color-border);background:var(--color-bg);font-variant-numeric:tabular-nums;width:100%;color:var(--color-text);cursor:pointer;border-radius:8px;place-items:center;padding:0;font-size:.8125rem;font-weight:600;display:grid}.quiz-palette__item.is-answered{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.quiz-palette__item.is-marked{border:2px dashed var(--color-heading)}.quiz-palette__item[aria-current=step]{outline:2px solid var(--color-gray-600);outline-offset:2px}.quiz-palette__legend{font-size:var(--text-caption);color:var(--color-text-muted);flex-direction:column;gap:6px;margin:12px 0 0;padding:0;list-style:none;display:flex}.quiz-palette__legend li{align-items:center;gap:8px;display:flex}.quiz-palette__legend .quiz-palette__item{cursor:default;border-radius:4px;width:16px}.quiz-result__header{flex-direction:column;gap:4px;margin-bottom:16px;display:flex}.quiz-section-title{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text);margin-bottom:12px;font-size:.875rem;font-weight:600}.quiz-score{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);flex-wrap:wrap;align-items:center;gap:16px 32px;margin-bottom:28px;padding:20px 24px;display:flex}.quiz-score__total{color:var(--color-text-muted);font-size:1.25rem}.quiz-score__total strong{color:var(--color-heading);font-size:2.5rem}.quiz-score__stats{flex-wrap:wrap;gap:12px 28px;margin:0;display:flex}.quiz-score__stats dt{font-size:var(--text-caption);color:var(--color-text-muted)}.quiz-score__stats dd{color:var(--color-heading);margin:2px 0 0;font-size:1.125rem;font-weight:700}.quiz-chapters{margin-bottom:28px}.quiz-chapters__list{border:1px solid var(--color-border);border-radius:var(--radius-md);margin:0;padding:0;list-style:none}.quiz-chapters__row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:12px 16px;display:flex}.quiz-chapters__row+.quiz-chapters__row{border-top:1px solid var(--color-border)}.quiz-chapters__name{color:var(--color-heading);flex-direction:column;font-weight:600;display:flex}.quiz-chapters__meter{align-items:center;gap:10px;display:flex}.quiz-chapters__bar{background:var(--color-surface);border-radius:999px;width:120px;height:6px;overflow:hidden}.quiz-chapters__bar span{background:var(--color-success);height:100%;display:block}.quiz-review__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.quiz-review__filters{gap:6px;display:flex}.review-chip{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);cursor:pointer;border-radius:999px;padding:4px 12px;font-size:.8125rem;font-weight:600}.review-chip[aria-pressed=true]{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.quiz-review__list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.quiz-review__empty{border:1px dashed var(--color-border);border-radius:var(--radius-md);text-align:center;color:var(--color-text-muted);padding:20px}.quiz-result__actions{flex-wrap:wrap;gap:8px;margin-top:28px;display:flex}@media (width<=900px){.quiz-layout{grid-template-columns:1fr}.quiz-palette{position:static}.quiz-palette ol{grid-template-columns:repeat(auto-fill,minmax(36px,1fr))}}@media (width<=600px){.quiz-page{padding:16px 16px 64px}.quiz-bar{top:calc(var(--header-height) + 4px)}.quiz-bar__progress{flex-basis:100%;order:3}.quiz-score__total strong{font-size:2rem}.quiz-chapters__bar{width:80px}}.question-card__image.quiz-question__image{object-fit:contain;max-width:min(100%,360px);max-height:320px;display:block}.quiz-main .quiz-finish{margin:16px 0 0}.bank{flex-direction:column;gap:16px;width:100%;max-width:1200px;margin:0 auto;padding:0 24px 48px;display:flex}.bank-bar{border-bottom:1px solid var(--color-border);align-items:center;gap:16px;min-height:52px;display:flex}.bank-bar .reader-bar__title{flex:1}.bank__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:8px 16px;display:flex}.bank__head h1{font-size:var(--text-h2,1.5rem);margin:0}.bank__head .caption{margin:2px 0 0}.bank__count{color:var(--color-heading);font-variant-numeric:tabular-nums;margin:0;font-size:.875rem;font-weight:600}.bank__upgrade{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);margin:0;padding:10px 12px;font-size:.875rem}.bank__layout{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:24px;display:grid}.bank__question{flex-direction:column;gap:16px;min-width:0;display:flex}.bank__nav{justify-content:space-between;gap:12px;display:flex}.bank-index{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:14px;position:sticky;top:16px}.bank-index ol{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;max-height:60vh;margin:0;padding:3px;list-style:none;display:grid;overflow-y:auto}.bank-index__item{aspect-ratio:1;border:1px solid var(--color-border);background:var(--color-bg);font-variant-numeric:tabular-nums;width:100%;color:var(--color-text);cursor:pointer;border-radius:8px;place-items:center;padding:0;font-size:.75rem;font-weight:600;display:grid}.bank-index__item.is-solved{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.bank-index__item[aria-current=step]{outline:2px solid var(--color-heading);outline-offset:1px}.bank-index__legend{font-size:var(--text-caption);color:var(--color-text-muted);gap:16px;margin:12px 0 0;padding:0;list-style:none;display:flex}.bank-index__legend li{align-items:center;gap:6px;display:flex}.bank-index__legend .bank-index__item{cursor:default;border-radius:4px;width:14px}@media (width<=960px){.bank{padding:0 20px 40px}.bank__layout{grid-template-columns:minmax(0,1fr)}.bank-index{order:-1;position:static}.bank-index ol{grid-template-columns:repeat(auto-fill,minmax(38px,1fr));max-height:132px}}@media (width<=600px){.bank{padding:0 16px 32px}}.topic-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);flex-direction:column;gap:8px;padding:16px 20px;display:flex}.topic-card--weak{border-left:4px solid var(--color-error)}.topic-card--improving{border-left:4px solid var(--color-primary)}.topic-card--strong{border-left:4px solid var(--color-success)}.topic-card__head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.topic-card__title{font-size:var(--text-body);color:var(--color-heading);font-weight:600}.topic-card__old{border:1px dashed var(--color-border);color:var(--color-text-muted);white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:.6875rem;font-weight:600}.topic-card__source{margin-top:-4px}.topic-card__tag{border:1px solid var(--color-border);color:var(--color-text-muted);white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:.6875rem;font-weight:700}.topic-card__tag--weak{border-color:var(--color-error);background:var(--color-error-bg);color:var(--color-error-text)}.topic-card__tag--improving{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-primary)}.topic-card__tag--strong{border-color:var(--color-success);background:var(--color-success-soft-bg);color:var(--color-success-text)}.topic-card__tag--needs-work{color:var(--color-text)}.topic-card__solved,.topic-card__recent{flex-wrap:wrap;align-items:center;gap:4px 10px;display:flex}.topic-card__bar{background:var(--color-surface);border-radius:999px;width:120px;height:6px;overflow:hidden}.topic-card__bar span{background:var(--color-primary);height:100%;display:block}.topic-card__dots{flex-wrap:wrap;gap:3px;display:inline-flex}.topic-card__dot{width:16px;height:16px;color:var(--color-black);border-radius:50%;place-items:center;font-size:.5625rem;font-weight:700;line-height:1;display:inline-grid}.topic-card__dot.is-right{background:var(--color-success)}.topic-card__dot.is-wrong{background:var(--color-error)}.topic-card__slips{font-size:var(--text-caption);color:var(--color-text)}.topic-card__label{color:var(--color-error-text);font-weight:600}.topic-card__advice{color:var(--color-heading);font-size:.875rem;font-weight:500}.topic-card__actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.topic-card__mistakes{border-top:1px solid var(--color-border);padding-top:8px}.topic-card__mistakes-toggle{font:inherit;color:var(--color-heading);cursor:pointer;background:0 0;border:none;padding:4px 0;font-size:.875rem;font-weight:600}.topic-mistakes{flex-direction:column;gap:12px;margin:8px 0 0;padding:0;list-style:none;display:flex}@media (width<=600px){.topic-card{padding:14px 16px}.topic-card__actions .btn{flex:1}}.topics-page{width:100%;max-width:960px;margin:0 auto;padding:32px 24px 64px}.topics-page__header{flex-direction:column;gap:4px;margin-bottom:24px;display:flex}.topics-page__header h1{font-size:var(--text-h1);color:var(--color-heading)}.topics-page__header p{color:var(--color-text-muted)}.topics-page__section{margin-top:28px}.topics-page__section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin-bottom:12px;display:flex}.topics-page__section-title{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text);font-size:.875rem;font-weight:600}.topics-page__cards{gap:12px;display:grid}.topics-page__more{font:inherit;color:var(--color-heading);cursor:pointer;background:0 0;border:none;margin-top:10px;padding:0;font-weight:600;text-decoration:underline}.topics-page__subjects{border:1px solid var(--color-border);background:var(--color-surface);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.topics-page__subjects button{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:6px 14px;font-size:.875rem;font-weight:500}.topics-page__subjects button[aria-pressed=true]{background:var(--color-bg);color:var(--color-heading);box-shadow:var(--shadow-card);font-weight:600}.topics-page__search input{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);width:100%;max-width:320px;font:inherit;color:var(--color-text);padding:8px 12px;font-size:.875rem}.topics-page__search input:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.topics-page__group{margin-top:16px}.topics-page__group-title{font-size:var(--text-caption);color:var(--color-text-muted);margin-bottom:8px;font-weight:600}.topics-page__chapters{border:1px solid var(--color-border);border-radius:var(--radius-md);margin:0;padding:0;list-style:none}.topics-page__chapters li+li{border-top:1px solid var(--color-border)}.topics-chapter{color:inherit;align-items:center;gap:12px;padding:14px 20px;text-decoration:none;display:flex}.topics-chapter:hover{background:var(--color-surface)}.topics-chapter:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.topics-chapter--compact{padding:10px 20px}.topics-chapter__info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.topics-chapter__name{color:var(--color-heading);font-weight:600}.topics-chapter__summary{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.topics-chapter__weak{border:1px solid var(--color-error);background:var(--color-error-bg);color:var(--color-error-text);border-radius:999px;padding:1px 8px;font-size:.6875rem;font-weight:700}.topics-chapter__chevron{color:var(--color-text-muted);font-size:1.25rem}.topics-page__soon{margin-top:12px}.topics-page__empty{border:1px dashed var(--color-border);border-radius:var(--radius-md);text-align:center;color:var(--color-text-muted);padding:24px}.topics-page__empty-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:12px;display:flex}.chapter-topics__back{color:var(--color-primary);margin-bottom:12px;font-size:.875rem;font-weight:600;display:inline-block}.chapter-topics__stats{grid-template-columns:repeat(4,1fr);gap:12px;margin:0;display:grid}.chapter-topics__stats div{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:12px 16px}.chapter-topics__stats dt{font-size:var(--text-caption);color:var(--color-text-muted)}.chapter-topics__stats dd{font-size:var(--text-h3);font-variant-numeric:tabular-nums;color:var(--color-heading);margin:2px 0 0;font-weight:700}.chapter-topics__stats .is-weak{border-color:var(--color-error)}.chapter-topics__stats .is-weak dd{color:var(--color-error-text)}.chapter-topics__actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}@media (width<=600px){.topics-page{padding:24px 16px 48px}.topics-chapter{padding:12px 16px}.chapter-topics__stats{grid-template-columns:repeat(2,1fr)}.topics-page__search input{max-width:none}}.chapter-rounds{flex-direction:column;gap:16px;display:flex}.chapter-rounds__intro{color:var(--color-text);font-size:.9375rem}.chapter-rounds__row{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.chapter-rounds__row.is-due{border-color:var(--color-primary);box-shadow:inset 4px 0 0 var(--color-primary)}.chapter-rounds__main{flex-direction:column;gap:6px;min-width:0;display:flex}.chapter-rounds__book{color:var(--color-text-muted);font-size:.75rem;font-weight:600}.chapter-rounds__main h3{font-size:1rem}.chapter-rounds__dots{flex-wrap:wrap;gap:6px;margin:2px 0 0;padding:0;list-style:none;display:flex}.chapter-rounds__dots li{border:1px dashed var(--color-border);color:var(--color-text-muted);border-radius:999px;padding:2px 10px;font-size:.75rem;font-weight:600}.chapter-rounds__dots li.is-done{border:1px solid var(--color-success);background:var(--color-success-soft-bg);color:var(--color-success-text)}.chapter-rounds__side{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.chapter-rounds__status{color:var(--color-text);font-size:.875rem;font-weight:700}.chapter-rounds__status.is-due{color:var(--color-primary)}.chapter-rounds__actions{align-items:center;gap:12px;display:flex}.chapter-rounds__mark{font:inherit;color:var(--color-primary);cursor:pointer;background:0 0;border:none;padding:0;font-size:.875rem;font-weight:600}.chapter-rounds__mark:disabled{color:var(--color-success-text);cursor:default}@media (width<=600px){.chapter-rounds__side{align-items:flex-start;width:100%}}.due-today{border:1px solid var(--color-border);border-radius:var(--radius-md);background:linear-gradient(135deg, var(--color-primary-soft), var(--color-bg) 70%);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:24px;display:flex}.due-today h2{font-size:var(--text-h2)}.due-today__hint{max-width:560px;color:var(--color-text-muted);margin-top:6px;font-size:.875rem}.due-today__kinds{flex-wrap:wrap;gap:8px;margin:14px 0 0;padding:0;list-style:none;display:flex}.due-today__kinds li{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);border-radius:999px;padding:4px 10px;font-size:.8125rem}.due-today--clear{text-align:center;background:var(--color-bg);flex-direction:column;align-items:center}.due-today--clear p:last-child{max-width:460px;color:var(--color-text-muted)}.due-today__mark{background:var(--color-success-soft-bg);width:48px;height:48px;color:var(--color-success-text);border-radius:50%;place-items:center;font-size:1.5rem;font-weight:700;display:grid}@media (width<=600px){.due-today{padding:18px}.due-today .btn-lg{width:100%}}.due-today__more{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:12px;display:grid}.due-today__way{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);font:inherit;text-align:left;cursor:pointer;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.due-today__way:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-surface)}.due-today__way:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.due-today__way:disabled{opacity:.6;cursor:default}.due-today__way strong{color:var(--color-heading);font-size:.9375rem}.due-today__way span{color:var(--color-text-muted);font-size:.8125rem}.exam-countdown{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:24px;margin-bottom:20px;padding:18px 20px;display:grid}.exam-countdown.is-soon{border-color:var(--color-accent);background:var(--color-accent-soft)}.exam-countdown__count{flex-direction:column;min-width:150px;display:flex}.exam-countdown__days{font-variant-numeric:tabular-nums;color:var(--color-heading);font-size:2.5rem;font-weight:800;line-height:1}.exam-countdown__unit{color:var(--color-heading);margin:4px 0 6px;font-weight:700}.exam-countdown__plan{color:var(--color-text);flex-direction:column;gap:10px;font-size:.9375rem;display:flex}.exam-countdown__actions{flex-wrap:wrap;gap:8px;display:flex}.exam-countdown__done{color:var(--color-success-text);font-size:.875rem}.exam-countdown a{color:var(--color-primary);font-weight:600}.exam-countdown--empty{font-size:.9375rem;display:block}@media (width<=700px){.exam-countdown{grid-template-columns:minmax(0,1fr);gap:14px}.exam-countdown__actions .btn{flex:1}}.mistake-reason{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.mistake-reason__label{color:var(--color-text-muted);font-size:.8125rem;font-weight:600}.mistake-reason__chips{flex-wrap:wrap;gap:6px;display:flex}.mistake-reason__chip{border:1px solid var(--color-border);background:var(--color-bg);font:inherit;color:var(--color-text);cursor:pointer;border-radius:999px;padding:4px 12px;font-size:.8125rem}.mistake-reason__chip:hover{background:var(--color-surface)}.mistake-reason__chip[aria-pressed=true]{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-heading);font-weight:600}.mistake-reason__chip:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.mistake-book{flex-direction:column;gap:16px;display:flex}.mistake-book__intro{color:var(--color-text);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:.9375rem;display:flex}.mistake-row{border:1px solid var(--color-border);border-left:4px solid var(--color-error);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--color-bg);flex-direction:column;gap:8px;padding:14px 16px;display:flex}.mistake-row__head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.mistake-row__remove{margin-left:auto}.mistake-row__text{-webkit-line-clamp:3;color:var(--color-heading);-webkit-box-orient:vertical;font-size:.9375rem;display:-webkit-box;overflow:hidden}.mistake-book__mastered{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:12px 16px}.mistake-book__mastered summary{color:var(--color-success-text);cursor:pointer;font-weight:600}.mistake-book__mastered ul{color:var(--color-text);flex-direction:column;gap:6px;margin:12px 0 0;padding:0;font-size:.875rem;list-style:none;display:flex}.mistake-book__mastered span{color:var(--color-success-text);font-weight:700}.revision-session{flex-direction:column;gap:14px;max-width:760px;margin:0 auto;display:flex}.revision-session__bar{align-items:center;gap:12px;display:flex}.revision-session__count{font-variant-numeric:tabular-nums;color:var(--color-heading);font-size:.875rem;font-weight:700}.revision-session__progress{background:var(--color-border);border-radius:999px;flex:1;height:6px;overflow:hidden}.revision-session__progress span{border-radius:inherit;background:var(--color-primary);height:100%;transition:width .3s;display:block}.revision-session__exit{font:inherit;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:4px 10px;font-size:.875rem;font-weight:600}.revision-session__exit:hover{color:var(--color-heading)}.revision-session__meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.revision-session__mistake-tag{background:var(--color-error-bg);color:var(--color-error-text)}.revision-session__outcome{border-radius:var(--radius-sm);padding:10px 14px;font-size:.9375rem;font-weight:600}.revision-session__outcome.is-remembered{background:var(--color-success-soft-bg);color:var(--color-success-text)}.revision-session__outcome.is-forgotten{background:var(--color-error-bg);color:var(--color-error-text)}.revision-session__next{align-self:flex-end;min-width:140px}.revision-session--done{text-align:center;align-items:center;padding:40px 16px}.revision-session__done-mark{background:var(--color-success-soft-bg);width:56px;height:56px;color:var(--color-success-text);border-radius:50%;place-items:center;font-size:1.75rem;font-weight:700;display:grid}.revision-recall{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);flex-direction:column;gap:14px;padding:20px;display:flex}.revision-recall__prompt{color:var(--color-text-muted);font-size:.8125rem;font-weight:600}.revision-recall__line{border-left:4px solid var(--ncert-yellow-edge);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--ncert-yellow);color:var(--color-heading);margin:0;padding:14px 16px;font-size:1rem;line-height:1.6}.revision-recall__blank{border-bottom:2px solid var(--color-primary);color:#0000;letter-spacing:1px;padding:0 4px;display:inline-block}.revision-recall__line mark{background:var(--color-primary-soft);color:var(--color-heading);border-radius:3px;padding:0 2px;font-weight:700}.revision-recall__hidden{color:var(--color-text-muted);font-style:italic}.revision-recall__front{color:var(--color-heading);font-size:1.125rem;font-weight:700}.revision-recall__back{border-top:1px dashed var(--color-border);color:var(--color-text);flex-direction:column;gap:6px;padding-top:12px;display:flex}.revision-recall__show{align-self:flex-start}.revision-recall__buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.revision-recall__forgot,.revision-recall__remembered{border:1px solid;justify-content:center;font-weight:700}.revision-recall__forgot{border-color:var(--color-error);background:var(--color-error-bg);color:var(--color-error-text)}.revision-recall__remembered{border-color:var(--color-success);background:var(--color-success-soft-bg);color:var(--color-success-text)}@media (prefers-reduced-motion:reduce){.revision-session__progress span{transition:none}}.revision{width:100%;max-width:1280px;margin:0 auto;padding:32px 32px 80px}.revision__header{flex-direction:column;gap:6px;margin-bottom:24px;display:flex}.revision__header p{color:var(--color-text-muted)}.revision__toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.revision__filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.revision__filters select{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);max-width:100%;font:inherit;color:var(--color-text);cursor:pointer;padding:7px 12px;font-size:.875rem}.revision__clear{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:6px 12px;font-size:.875rem;font-weight:600;text-decoration:underline}.revision__tabs{background:var(--color-surface);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.revision__tabs button{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:6px 16px;font-size:.875rem;font-weight:600}.revision__tabs button[aria-selected=true]{background:var(--color-bg);color:var(--color-heading);box-shadow:var(--shadow-card)}.revision__list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.revision__empty{border:1px dashed var(--color-border);border-radius:var(--radius-md);text-align:center;color:var(--color-text-muted);padding:24px 16px;font-size:.875rem}.revision__source{color:var(--ncert-blue);font-size:.75rem;font-weight:600}.revision__source:hover{text-decoration:underline}.revision__question{flex-direction:column;gap:6px;display:flex}.saved-line{border-left:4px solid var(--ncert-yellow-edge);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--ncert-yellow);flex-direction:column;gap:8px;padding:12px 16px;display:flex}.saved-line blockquote{color:var(--color-heading);margin:0;font-size:.9375rem}.saved-line__meta{justify-content:space-between;align-items:center;gap:8px;display:flex}.saved-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);flex-direction:column;gap:6px;padding:16px;display:flex}.saved-card__head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.saved-card__front{color:var(--color-heading);font-weight:600}.saved-card__back{color:var(--color-text)}.saved-card__extra{font-size:var(--text-caption);color:var(--color-text-muted)}.saved-card__note{border-left:3px solid var(--color-primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--color-primary-soft);color:var(--color-text);margin-top:4px;padding:8px 10px;font-size:.875rem}.saved-card__note strong{color:var(--color-heading)}@media (width<=600px){.revision{padding:20px 16px 56px}.revision__filters,.revision__filters label,.revision__filters select{width:100%}}.revision__stats{flex-wrap:wrap;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.revision__stats li{background:var(--color-surface);color:var(--color-text);border-radius:999px;padding:4px 12px;font-size:.8125rem}.revision__stats strong{color:var(--color-heading)}@media (width<=700px){.revision__tabs{scrollbar-width:none;max-width:100%;overflow-x:auto}.revision__tabs button{white-space:nowrap;flex-shrink:0}}.exam{background:var(--color-bg);flex-direction:column;flex:none;height:100dvh;display:flex}.exam-message{flex-direction:column;align-items:center;gap:16px;padding:80px 16px;display:flex}.exam-top{border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 20px;display:flex}.exam-top__title{align-items:center;gap:12px;min-width:0;display:flex}.exam-top__title h1{font-size:1.0625rem;line-height:1.3}.exam-top__logo{border-radius:var(--radius-sm);background:var(--color-primary);width:32px;height:32px;color:var(--color-on-primary);flex-shrink:0;place-items:center;font-weight:800;display:grid}.exam-top__right{align-items:center;gap:8px;display:flex}.exam-clock{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);font-size:var(--text-caption);color:var(--color-text-muted);align-items:baseline;gap:8px;padding:6px 12px;display:flex}.exam-clock strong{font-variant-numeric:tabular-nums;color:var(--color-heading);font-size:1.25rem}.exam-clock.is-low{border-color:var(--color-heading);background:var(--color-heading);color:var(--color-bg)}.exam-clock.is-low strong{color:var(--color-bg)}.exam-body{flex:1;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) 320px;min-height:0;display:grid;overflow:hidden}.exam-main{border-right:1px solid var(--color-border);flex-direction:column;min-width:0;min-height:0;display:flex}.exam-tabs{border-bottom:1px solid var(--color-border);gap:4px;padding:10px 20px 0;display:flex;overflow-x:auto}.exam-tabs button{border:1px solid var(--color-border);border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:var(--color-surface);font:inherit;white-space:nowrap;color:var(--color-text);cursor:pointer;border-bottom:none;padding:8px 16px;font-size:.875rem;font-weight:600}.exam-tabs button[aria-selected=true]{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.exam-qhead{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.exam-qhead h2{font-size:var(--text-h3)}.exam-palette-toggle{display:none}.exam-save-error{margin:10px 20px 0}.exam-question{flex:1;padding:20px;overflow-y:auto}.exam-question__text{max-width:760px;color:var(--color-heading);white-space:pre-line;font-size:1rem;line-height:1.6}.exam-question__image{max-width:min(100%,520px);margin-top:14px;display:block}.exam-options{gap:8px;max-width:760px;margin-top:18px;display:grid}.exam-option{border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:12px;padding:10px 14px;display:flex}.exam-option:hover{background:var(--color-surface)}.exam-option.is-selected{border-color:var(--color-primary);background:var(--color-primary-soft)}.exam-option input{accent-color:var(--color-primary)}.exam-option:has(input:focus-visible){outline:2px solid var(--color-primary);outline-offset:1px}.exam-option__letter{color:var(--color-heading);font-weight:700}.exam-actions{border-top:1px solid var(--color-border);background:var(--color-bg);flex-wrap:wrap;justify-content:space-between;gap:10px;padding:12px 20px;display:flex}.exam-actions__left,.exam-actions__right{flex-wrap:wrap;gap:8px;display:flex}.exam-btn-mark{border-color:var(--color-primary);color:var(--color-primary)}.exam-btn-savemark{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-heading)}.exam-side{background:var(--color-surface);flex-direction:column;gap:16px;min-height:0;padding:16px;display:flex;overflow:hidden}.exam-side__close{display:none}.candidate{align-items:center;gap:12px;display:flex}.candidate__name{color:var(--color-heading);font-weight:700}.candidate__roll{font-size:var(--text-caption);color:var(--color-text-muted)}.status-chip{border:1px solid var(--color-border);background:var(--color-bg);min-width:34px;height:30px;font:inherit;color:var(--color-heading);border-radius:4px;place-items:center;padding:0 4px;font-size:.8125rem;font-weight:600;display:inline-grid;position:relative}button.status-chip{cursor:pointer}.status-chip--answered{border-color:var(--color-success);background:var(--color-success);color:var(--color-black);border-radius:4px 4px 14px 14px}.status-chip--not_answered{border-color:var(--color-error);background:var(--color-error);color:var(--color-black);border-radius:14px 14px 4px 4px}.status-chip--marked,.status-chip--answered_marked{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary);border-radius:50%}.status-chip--answered_marked:after{content:"";border:2px solid var(--color-surface);background:var(--color-success);border-radius:50%;width:10px;height:10px;position:absolute;bottom:-2px;right:-2px}.status-chip.is-current{outline:2px solid var(--color-heading);outline-offset:2px}.status-chip:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.status-summary{color:var(--color-text);grid-template-columns:1fr 1fr;gap:10px 12px;margin:0;padding:0;font-size:.75rem;list-style:none;display:grid}.status-summary li{align-items:center;gap:8px;display:flex}.status-summary li:last-child{grid-column:1/-1}.status-summary__note{color:var(--color-text-muted)}.test-palette{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex}.test-palette__groups{flex-direction:column;flex:1;gap:14px;min-height:0;padding:4px;display:flex;overflow-y:auto}.test-palette h3{margin-bottom:8px;font-size:.875rem}.test-palette h3 span{color:var(--color-text-muted);font-weight:400}.test-palette ol{grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.exam-submit{border-color:var(--color-success);background:var(--color-success);color:var(--color-black);flex-shrink:0}.exam-submit:hover{filter:brightness(.95)}.exam-submit__lead{color:var(--color-text-muted);margin-bottom:14px}.exam-submit__actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}@media (width<=900px){.exam-body{grid-template-columns:1fr}.exam-main{border-right:none}.exam-palette-toggle{display:inline-flex}.exam-side{z-index:50;width:min(340px,100%);box-shadow:var(--shadow-float);visibility:hidden;transition:transform .2s,visibility .2s;position:fixed;inset:0 0 0 auto;transform:translate(100%)}.exam-side.is-open{visibility:visible;transform:none}.exam-side__close{background:var(--color-bg);width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;border:none;border-radius:50%;align-self:flex-end;place-items:center;display:grid}}@media (width<=600px){.exam-top,.exam-tabs,.exam-qhead,.exam-question,.exam-actions{padding-left:16px;padding-right:16px}.exam-actions,.exam-actions__left,.exam-actions__right{width:100%}.exam-actions__left .btn,.exam-actions__right .btn{flex:auto}}@media (prefers-reduced-motion:reduce){.exam-side{transition:none}}.exam-switch{color:var(--color-text);flex-direction:column;gap:12px;font-size:.9375rem;display:flex}.exam-switch__count{border-left:3px solid var(--color-error);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--color-error-bg);color:var(--color-error-text);padding:8px 12px;font-weight:700}.exam-switch .btn{align-self:flex-end}.tests-page{flex-direction:column;gap:16px;width:100%;max-width:960px;margin:0 auto;padding:32px 32px 80px;display:flex}.tests-page__header p{color:var(--color-text-muted);margin-top:6px}.tests-page__empty{text-align:center;color:var(--color-text-muted);padding:32px 0}.tests-page__list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.test-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.test-card__free{background:var(--color-success-soft-bg);color:var(--color-success-text);border-radius:999px;margin-bottom:6px;padding:2px 10px;font-size:.75rem;font-weight:700;display:inline-block}.test-card__unlock{align-items:center;gap:6px;display:inline-flex}.tests-page__plan-note{border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);flex-wrap:wrap;align-items:center;gap:6px;padding:10px 14px;font-size:.875rem;display:flex}.tests-page__plan-note a{color:var(--color-primary);font-weight:600}.test-card__hidden{border:1px dashed var(--color-border);color:var(--color-text-muted);border-radius:999px;margin-bottom:6px;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-block}.test-card h3{font-size:var(--text-h3)}.test-card__desc{color:var(--color-text-muted);margin-top:4px;font-size:.875rem}.test-card__meta{font-size:var(--text-caption);color:var(--color-text);margin-top:8px;font-weight:600}.test-card__last{font-size:var(--text-caption);color:var(--color-text-muted);margin-top:4px}.test-card__last strong{color:var(--color-heading)}.test-card__actions{flex-wrap:wrap;gap:8px;display:flex}.instructions{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:32px;max-width:1080px;display:grid}.instructions__main h1{margin-top:6px}.instructions__main h2{font-size:var(--text-h3);margin-top:18px}.instructions__list{gap:12px;margin-top:12px;padding-left:20px;line-height:1.6;display:grid}.instructions__states{gap:8px;margin-top:10px;padding:0;list-style:none;display:grid}.instructions__states li{align-items:center;gap:10px;font-size:.875rem;display:flex}.instructions__side{top:calc(var(--header-height) + 16px);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);flex-direction:column;gap:16px;padding:18px;display:flex;position:sticky}.instructions__agree{cursor:pointer;align-items:flex-start;gap:10px;font-size:.875rem;display:flex}.instructions__agree input{accent-color:var(--color-primary);margin-top:3px}.test-score{border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:center;background:var(--color-surface);padding:24px}.test-score__total{color:var(--color-text-muted);font-size:1.5rem}.test-score__total strong{color:var(--color-primary);font-size:3rem;line-height:1}.test-score__tiles{grid-template-columns:repeat(5,1fr);gap:10px;margin:18px 0 0;display:grid}.test-score__tiles div{border-radius:var(--radius-sm);background:var(--color-bg);flex-direction:column-reverse;gap:2px;padding:12px;display:flex}.test-score__tiles dt{font-size:var(--text-caption);color:var(--color-text-muted)}.test-score__tiles dd{color:var(--color-heading);margin:0;font-size:1.75rem;font-weight:700}.test-score__tiles dd.is-good{color:var(--color-success-text)}.test-score__tiles dd.is-bad{color:var(--color-error-text)}.test-sections__wrap{overflow-x:auto}.test-sections table{border-collapse:collapse;width:100%;min-width:480px;font-size:.875rem}.test-sections th,.test-sections td{border-bottom:1px solid var(--color-border);text-align:right;padding:10px 8px}.test-sections th:first-child{text-align:left}.test-sections thead th{color:var(--color-text-muted);font-size:.75rem;font-weight:600}.test-sections tr.is-part th,.test-sections tr.is-part td{color:var(--color-text-muted);font-size:.8125rem}.test-sections tr.is-part th{padding-left:20px;font-weight:400}.test-result .segmented{margin-bottom:12px}@media (width<=900px){.instructions{grid-template-columns:1fr}.instructions__side{position:static}}@media (width<=600px){.tests-page{padding:24px 16px 64px}.test-score__tiles{grid-template-columns:repeat(2,1fr)}.test-card__actions,.test-card__actions .btn{width:100%}}
