@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAa0ABQAAAAADOwAAAZHAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbbhwoP0hWQVJtP01WQVJGBmA/U1RBVIEcAGQvXBEICoMkgmcLFgAwhEwBNgIkAyYEIAWGXAdiDAcbOgtRlHLSRcD8TEzkdoghPRuspKefbVnJIM5yRfA8vZv9uTNJSCZY21Scrigr6qyJ/C3sE1OFKuVP3e+lxUTbYio1zb/kFdk2bufY2BlhWERRBrcDUBhB5GEpd2Cy+MDxqf9zLPX+XVsk5r+s50d6IpWLatqbdT6f2MAikiOKQocbjya2QT0DqPDX4R0jQBgAUAiCRhDA0EkvYeLk9X3I2bEWI8jBAihIANm+kUWQBgggWChcBBdFhXlAUgOCAgBA0AgKjUJ8HKvjddFCKSgAVklEBYAeEJgCQJH0qB3B+neDg4sAA4hAD0AVIEAA0IACJGeaUjMIIIhBUE/zNABjTQMBwEVRcwcYBUCObLERABAgjAA1M/ZSa9hSi4OlpsnZ2KBOVUsAZlRGl1W0NZ6gSwhQPIAFs7YFL0QS91vRQgdgx2VDAnIegKpQvwAJIoLgooBAGtCJcHizg0TDiz8vhPgIcVXaDJu37ZyDAIjFy4AAiC1JAA0olJwN6nFAACQk/zfQVUuA3t5ELKMT9hpBSRj+HBSggYCIAIEkUoC4PCIQIWHGA8+IStxf0PW15ntP22gc+Wo+BLyQAHECQiAVd+c3Ba8gZ4NOACBaLOhsbIMkAXEmuHsSAvkf4oJaAogH6nEQAzoBIEihUAwAA0AACAObAGcANYAAABaqgMmpWAhiiVyrvNyqFV8tMQ5Iyq6r9Lf7W82i8ILl2cv8zbfdJ5lnPzSnvt/XXPfRR/5pH3xA+u5uS0798EPJ3Fft33w36Wc+8E/7aIB/9fvvb1pE9erNXLB9mkw//cSg8Cnx03VGXDvZnRzKqV9Xkhn7eRHb3wVjHpg19nkZpX9bBU+vnHegrsuQcbW9Bi7oO33h+8SU0Tly/MbeYUuG1cftVz6oNxrW0qH1iezq446fkDFo/rgvTkqt7zmteFzncZ0uxXti09FFF2z+C7CODpjUudOE5NSeb3bv/mbPKcmOEzpWQ3VBgBAuj/AOY3qMm7UvgA8qo3+qvAUBBAX0wADQG4AG+jCKaSxkBe/zvcTG8jRpRZgqhCog4sd++cOo7J+/RdvaaMoc78Ri/PNPSclx6fDvG1Kt3qQFi1rq+5EaavTtt9TVvfvucYsA5wc4oESU+E1ikF9TkrOkIsIH5Fawx7SBNLnMcWlM3skBluCmQNs7GeyFvYVDamsqwhxx18n/+WdxzDgOLU1AqbUlb3m+KOT9+ONvY/7XlrdLS//5v7nN97XHj0VzJpJvz4spq0V7ioXDuv2YrSxtF/KZmvbWfKtorXSh8dfvgGu+ev/nFSaXM6jyuCE/f/EpmuP7Rqu8R98vP/+tXUdrOgKlZP9Q/s+fRF9+3CHZd4EugfPv158me9X7v/6aSMCxMJmIr//65bNXngl7+uiPP5oKx+y27D8trp+psUzMacpm80XlnYeMAct0LynxhNYgaP3dtn8/LBAi+ksr+7NvjjtJV+UXrz0uLXV1x08AZRN1S2A8EaVE5afk/dfGjz//+fdHn36Xdttz2d9/z+bawZ8/slNN1aYtq+ZPGzNuPGdwOsfYflwmHCkPgs5DcKizvdpS/3gEUMW9/lvQvWp1bGTW1fpngC/uSVYAfH3TeSusL8TtlHUD4KAAEHjahk4YpuffGwEBN/dUmpHqdHyJ3Ap8O3UlQ4gCNrMRwLBBKiskL6a+RoBi/9XGlgc8L4/CUejQxaiIyqmomdhktOhfgDbDfaNDb4+yKIPd6IgmzDa0CByijWFmL2dlSRKagTIWXeIU9HDphoZiJeBTjAefHMxDhVSRFUgVcOkW3EGMahYVMFjWHhMluB2wAcbHYqF1LpsDF9C6s+CI2fDgh4wSuFEyGadjXAmIk3CugIRibLIti9ZtC8S4VSqfikGqPaoI122XyRYLBmsOmdiiTpqK1OklUQzpMcZmQRQV4M4oJCMkfRQXK+qvjifUcQd1bRdetW/LWjacYxvcttnVjWg5h0q4xw6rZyejSpZVZ78LzC4uyDNRQ4bymHSTMyM+SZ7D75mg/7YTlmNz7W8T00h0VEiGKB+F7iWYZFvSTiA4LVxttm2ATt5EoUWLJbY4EnLGrfsvEROlHtzlKn3H9VUT5tU/2dt3/EBv7foYzV/W4upyj04woO/gh6Vwwt3WGQAA)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-vietnamese-wght-normal-qRpaaN48.woff2)format("woff2-variations");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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-ext-wght-normal-DmpS2jIq.woff2)format("woff2-variations");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:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.woff2)format("woff2-variations");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{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f8fafc;--color-surface:#fff;--color-surface-subtle:#f1f5f9;--color-surface-accent:#eff6ff;--color-text:#0f172a;--color-text-secondary:#475569;--color-text-muted:#64748b;--color-border:#e2e8f0;--color-border-strong:#cbd5e1;--color-primary:#1e3a8a;--color-primary-hover:#172554;--color-primary-text:#fff;--color-primary-soft:#dbeafe;--color-overdue:#b91c1c;--color-overdue-hover:#991b1b;--color-overdue-soft:#fef2f2;--color-success:#15803d;--color-success-soft:#f0fdf4;--color-auth-intro:#172554;--color-auth-intro-text:#eff6ff;--color-auth-intro-muted:#bfdbfe;--color-overlay:#0f172a85;--shadow-overlay:0 20px 50px #0f172a2e;--shadow-timer:0 10px 30px #0f172a24;--radius-surface:12px;--radius-control:10px;--focus-ring:0 0 0 3px #93c5fdb3;background:var(--color-bg);color:var(--color-text);font-synthesis:none;text-rendering:optimizelegibility;font-family:Plus Jakarta Sans Variable,Plus Jakarta Sans,system-ui,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#0b1220;--color-surface:#111827;--color-surface-subtle:#1e293b;--color-surface-accent:#172554;--color-text:#f8fafc;--color-text-secondary:#cbd5e1;--color-text-muted:#94a3b8;--color-border:#334155;--color-border-strong:#475569;--color-primary:#93c5fd;--color-primary-hover:#bfdbfe;--color-primary-text:#020617;--color-primary-soft:#1e3a8a;--color-overdue:#fca5a5;--color-overdue-hover:#fecaca;--color-overdue-soft:#450a0a;--color-success:#86efac;--color-success-soft:#052e16;--color-auth-intro:#0f172a;--color-auth-intro-text:#f8fafc;--color-auth-intro-muted:#cbd5e1;--color-overlay:#020617c2;--shadow-overlay:0 20px 50px #0206178c;--shadow-timer:0 10px 30px #0206176b}@media (prefers-color-scheme:dark){:root[data-theme=system]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#0b1220;--color-surface:#111827;--color-surface-subtle:#1e293b;--color-surface-accent:#172554;--color-text:#f8fafc;--color-text-secondary:#cbd5e1;--color-text-muted:#94a3b8;--color-border:#334155;--color-border-strong:#475569;--color-primary:#93c5fd;--color-primary-hover:#bfdbfe;--color-primary-text:#020617;--color-primary-soft:#1e3a8a;--color-overdue:#fca5a5;--color-overdue-hover:#fecaca;--color-overdue-soft:#450a0a;--color-success:#86efac;--color-success-soft:#052e16;--color-auth-intro:#0f172a;--color-auth-intro-text:#f8fafc;--color-auth-intro-muted:#cbd5e1;--color-overlay:#020617c2;--shadow-overlay:0 20px 50px #0206178c;--shadow-timer:0 10px 30px #0206176b}}*{box-sizing:border-box}html{background:var(--color-bg);min-width:320px;min-height:100%}body{background:var(--color-bg);min-width:320px;min-height:100%;color:var(--color-text);margin:0}button,input,select,textarea{font:inherit}button{color:inherit}button,[role=button],a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,[role=radio]:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;box-shadow:var(--focus-ring)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;border-radius:var(--radius-control);background:var(--color-primary);color:var(--color-primary-text);padding:10px 14px;text-decoration:none;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.auth-page{background:var(--color-surface);grid-template-columns:minmax(320px,.9fr) minmax(520px,1.1fr);min-height:100dvh;display:grid}.auth-intro{background:var(--color-auth-intro);min-height:100dvh;color:var(--color-auth-intro-text);flex-direction:column;justify-content:space-between;padding:clamp(32px,5vw,72px);display:flex}.auth-brand,.auth-mobile-brand{letter-spacing:-.02em;align-items:center;gap:12px;font-size:18px;font-weight:750;display:flex}.auth-intro .brand-mark__top,.auth-intro .brand-mark__bottom{border-color:var(--color-auth-intro-text)}.auth-intro h2{letter-spacing:-.045em;text-wrap:balance;max-width:560px;margin:10px 0 16px;font-size:clamp(34px,4vw,58px);line-height:1.08}.auth-intro p{max-width:48ch;color:var(--color-auth-intro-muted);margin:0;font-size:16px;line-height:1.65}.auth-intro .auth-kicker{color:var(--color-auth-intro-text);font-size:13px;font-weight:750}.auth-benefits{gap:14px;margin:0;padding:0;list-style:none;display:grid}.auth-benefits li{color:var(--color-auth-intro-muted);align-items:center;gap:12px;font-size:14px;line-height:1.45;display:flex}.auth-benefits svg{color:var(--color-auth-intro-text);flex:none}.auth-form-region,.auth-recovery-page,.auth-loading{background:var(--color-bg);place-items:center;min-height:100dvh;padding:32px;display:grid}.auth-form-wrap{border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px;width:min(100%,460px);padding:clamp(24px,4vw,38px);box-shadow:0 18px 50px #0f172a14}.auth-mobile-brand{color:var(--color-text);display:none}.auth-switch{border-radius:var(--radius-control);background:var(--color-surface-subtle);grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.auth-switch button{min-height:42px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;border-radius:7px;font-size:13px;font-weight:700}.auth-switch button[aria-pressed=true]{background:var(--color-surface);color:var(--color-primary);box-shadow:0 1px 3px #0f172a1a}.auth-heading{margin:30px 0 24px}.auth-heading h1,.auth-setup-error h1{letter-spacing:-.035em;text-wrap:balance;margin:0;font-size:clamp(25px,3vw,30px);line-height:1.2}.auth-heading p,.auth-setup-error p{color:var(--color-text-secondary);margin:8px 0 0;font-size:14px;line-height:1.55}.auth-form{gap:18px;display:grid}.auth-field{gap:7px;display:grid}.auth-field label{color:var(--color-text);font-size:13px;font-weight:700}.auth-field input{border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);width:100%;min-height:48px;color:var(--color-text);padding:0 13px}.auth-field input:hover{border-color:var(--color-text-muted)}.auth-field input[aria-invalid=true]{border-color:var(--color-overdue)}.password-input{position:relative}.password-input input{padding-right:52px}.password-toggle{width:44px;height:44px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;display:grid;position:absolute;top:2px;right:2px}.password-toggle:hover{background:var(--color-surface-subtle);color:var(--color-text)}.field-hint,.field-error{margin:0;font-size:12px;line-height:1.45}.field-hint{color:var(--color-text-muted)}.field-error{color:var(--color-overdue);font-weight:600}.form-error-summary,.form-success{border-radius:var(--radius-control);margin-bottom:18px;padding:12px 14px;font-size:13px;line-height:1.5}.form-error-summary{border:1px solid var(--color-overdue);background:var(--color-overdue-soft);color:var(--color-overdue);align-items:flex-start;gap:10px;display:flex}.form-error-summary svg{flex:none;margin-top:1px}.form-error-summary strong,.form-error-summary p{margin:0}.form-error-summary p{margin-top:2px}.form-success{border:1px solid var(--color-success);background:var(--color-success-soft);color:var(--color-success)}.auth-submit{width:100%;min-height:48px;margin-top:2px}.auth-text-button{min-height:44px;color:var(--color-primary);cursor:pointer;background:0 0;border:0;margin:14px auto -10px;font-size:13px;font-weight:700;display:block}.auth-loading{align-content:center;gap:28px}.auth-loading .auth-mobile-brand{display:flex}.auth-loading__surface{border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px;gap:14px;width:min(100vw - 32px,420px);padding:30px;display:grid}.auth-loading__surface span{border-radius:var(--radius-control);background:var(--color-surface-subtle);height:46px;display:block}.auth-loading__surface span:first-child{width:58%;height:28px}.auth-setup-error{text-align:left}.auth-setup-actions{gap:8px;margin-top:24px;display:flex}.profile-identity{border-radius:var(--radius-control);background:var(--color-surface-subtle);gap:3px;padding:14px;display:grid}.profile-identity span{overflow-wrap:anywhere;color:var(--color-text-secondary);font-size:12px}.profile-sign-out{color:var(--color-overdue)}.app-shell{min-height:100dvh}.sidebar{z-index:20;border-right:1px solid var(--color-border);background:var(--color-surface);flex-direction:column;width:224px;padding:28px 16px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand{min-height:48px;color:var(--color-text);letter-spacing:-.02em;align-items:center;gap:12px;padding:0 12px;font-size:19px;font-weight:750;display:flex}.brand-mark{width:32px;height:32px;display:inline-block;position:relative;transform:rotate(45deg)}.brand-mark__top,.brand-mark__bottom{border:7px solid var(--color-primary);display:block;position:absolute}.brand-mark__top{border-bottom:0;border-left:0;inset:0 0 10px 10px}.brand-mark__bottom{border-top:0;border-right:0;inset:10px 10px 0 0}.sidebar__nav{gap:6px;margin-top:54px;display:grid}.nav-item,.profile-button,.bottom-nav__item,.mobile-profile-button{cursor:pointer;background:0 0;border:0}.nav-item{border-radius:var(--radius-control);min-height:48px;color:var(--color-text-secondary);text-align:left;align-items:center;gap:13px;padding:0 14px;font-size:15px;font-weight:600;text-decoration:none;display:flex;position:relative}.nav-item:before{background:var(--color-primary);content:"";opacity:0;border-radius:0 3px 3px 0;width:3px;position:absolute;inset:8px auto 8px -16px}.nav-item:hover{background:var(--color-surface-subtle);color:var(--color-text)}.nav-item[data-active=true]{background:var(--color-surface-accent);color:var(--color-primary)}.nav-item[data-active=true]:before{opacity:1}.profile-button{border-top:1px solid var(--color-border);min-height:56px;color:var(--color-text);text-align:left;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;margin-top:auto;padding:18px 10px 0;display:grid}.profile-button>span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.avatar{background:var(--color-primary);width:38px;height:38px;color:var(--color-primary-text);border-radius:50%;place-items:center;font-weight:700;display:grid}.main-content{min-height:100dvh;margin-left:224px;padding:36px 32px 150px}.today-page,.coming-soon{width:min(100%,1200px);margin-inline:auto}.page-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px;display:flex}.page-header h1,.coming-soon h1{letter-spacing:-.035em;text-wrap:balance;margin:2px 0 0;font-size:clamp(26px,2.4vw,32px);line-height:1.2}.page-kicker{color:var(--color-text-secondary);margin:6px 0 0;font-size:14px;font-weight:600}.button{border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);min-height:44px;color:var(--color-primary);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:8px;padding:0 15px;font-size:14px;font-weight:700;transition:background-color .14s,border-color .14s,color .14s;display:inline-flex}.button:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-surface-accent)}.button:active:not(:disabled){background:var(--color-primary-soft)}.button:disabled{cursor:not-allowed;opacity:.5}.button--primary{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-primary-text)}.button--primary:hover:not(:disabled){border-color:var(--color-primary-hover);background:var(--color-primary-hover)}.button--ghost{color:var(--color-text-secondary);background:0 0;border-color:#0000}.button--danger{border-color:var(--color-overdue);color:var(--color-overdue)}.button__icon{place-items:center;display:inline-grid}.summary-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:16px;display:grid}.summary-surface{border:1px solid var(--color-border-strong);border-radius:var(--radius-surface);background:var(--color-surface);min-height:150px;padding:24px}.countdown-surface{align-items:center;gap:18px;display:flex}.summary-icon,.task-icon,.timer-bar__icon,.choice-card__icon{background:var(--color-surface-accent);color:var(--color-primary);flex:none;place-items:center;display:grid}.summary-icon{border-radius:var(--radius-surface);width:58px;height:58px}.countdown-surface h2,.study-summary h2{margin:0;font-size:16px;line-height:1.4}.countdown-surface h2 strong{color:var(--color-primary);font-variant-numeric:tabular-nums;font-size:28px}.countdown-surface p,.study-summary p{color:var(--color-text-secondary);margin:6px 0 0;font-size:14px}.study-summary{align-content:center;gap:16px;display:grid}.study-summary__heading{color:var(--color-primary);justify-content:space-between;align-items:center;display:flex}.study-summary__heading h2,.study-summary__heading p{color:var(--color-text)}.study-summary__heading p strong{font-variant-numeric:tabular-nums;font-size:24px}.progress{background:var(--color-surface-subtle);border-radius:99px;height:8px;overflow:hidden}.progress span{border-radius:inherit;background:var(--color-primary);height:100%;display:block}.study-breakdown{color:var(--color-text-secondary);flex-wrap:wrap;gap:12px 22px;font-size:13px;font-weight:600;display:flex}.study-breakdown span,.task-type,.due-label,.overdue-badge{align-items:center;gap:6px;display:inline-flex}.task-sections{gap:16px;margin-top:28px;display:grid}.section-heading{align-items:center;gap:8px;margin-bottom:8px;display:flex}.section-heading>div{align-items:center;gap:8px;min-width:0;display:flex}.section-heading>div+span{flex:none;margin-left:auto}.section-heading h2{letter-spacing:-.02em;margin:0;font-size:18px;line-height:1.45}.section-count{background:var(--color-surface-subtle);min-width:26px;height:26px;color:var(--color-text-secondary);border-radius:99px;place-items:center;font-size:13px;font-weight:700;display:inline-grid}.section-count[data-tone=overdue]{background:var(--color-overdue-soft);color:var(--color-overdue)}.task-list{border-top:1px solid var(--color-border)}.task-row{border-bottom:1px solid var(--color-border);background:var(--color-surface);grid-template-columns:minmax(260px,1.2fr) minmax(170px,.75fr) auto;align-items:center;gap:16px;min-height:64px;padding:8px 14px;display:grid;position:relative}.task-row[data-overdue=true]:before{background:var(--color-overdue);content:"";width:3px;position:absolute;inset:0 auto 0 0}.task-row__identity{align-items:center;gap:12px;min-width:0;display:flex}.task-icon{border-radius:10px;width:42px;height:42px}.task-icon[data-overdue=true]{background:var(--color-overdue-soft);color:var(--color-overdue)}.task-icon--review{background:var(--color-surface-accent)}.task-copy{gap:2px;min-width:0;display:grid}.task-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.task-copy span{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.task-row__meta{color:var(--color-text-secondary);flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:13px;font-weight:600;display:flex}.overdue-badge{background:var(--color-overdue-soft);color:var(--color-overdue);border-radius:99px;padding:5px 9px}.task-row__actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.icon-button{border-radius:var(--radius-control);width:44px;height:44px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;flex:none;place-items:center;display:inline-grid}.icon-button:hover{border-color:var(--color-border);background:var(--color-surface-subtle);color:var(--color-text)}.empty-section{border-bottom:1px solid var(--color-border);color:var(--color-text-secondary);gap:4px;margin:0;padding:20px 14px;font-size:14px;display:grid}.empty-section span{color:var(--color-text-muted)}.timer-bar{z-index:30;border:1px solid var(--color-border);border-radius:var(--radius-surface);background:var(--color-surface);min-height:78px;box-shadow:var(--shadow-timer);grid-template-columns:auto minmax(180px,1fr) auto auto;align-items:center;gap:16px;padding:12px 16px;display:grid;position:fixed;bottom:20px;left:248px;right:24px}.timer-bar__icon{border-radius:50%;width:46px;height:46px}.timer-bar__label{gap:2px;min-width:0;display:grid}.timer-bar__label small{color:var(--color-text-muted);font-size:12px}.timer-bar__label strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.timer-bar__time{font-variant-numeric:tabular-nums;letter-spacing:.06em;font-size:clamp(24px,3vw,32px);font-weight:750}.timer-bar__actions{gap:8px;display:flex}.bottom-nav,.mobile-profile-button,.mobile-heading{display:none}.dialog-overlay{z-index:60;background:var(--color-overlay);animation:.16s ease-out fade-in;position:fixed;inset:0}.dialog-content{z-index:70;overscroll-behavior:contain;border:1px solid var(--color-border);background:var(--color-surface);width:min(100vw - 32px,520px);max-height:min(720px,100dvh - 32px);box-shadow:var(--shadow-overlay);border-radius:16px;padding:24px;animation:.19s cubic-bezier(.16,1,.3,1) dialog-in;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.dialog-content--small{width:min(100vw - 32px,440px)}.dialog-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.dialog-heading h2{letter-spacing:-.025em;text-wrap:balance;margin:0;font-size:21px}.dialog-heading p{color:var(--color-text-secondary);margin:6px 0 0;font-size:14px;line-height:1.5}.choice-list,.recall-options{gap:10px;margin-top:22px;display:grid}.choice-card,.recall-option,.theme-option{border:1px solid var(--color-border);border-radius:var(--radius-surface);background:var(--color-surface);width:100%;min-height:64px;color:var(--color-text);cursor:pointer;text-align:left;align-items:center;gap:14px;padding:12px;display:flex}.choice-card:hover,.recall-option:hover,.theme-option:hover,.recall-option[data-selected=true],.theme-option[data-selected=true]{border-color:var(--color-primary);background:var(--color-surface-accent)}.choice-card__icon{border-radius:10px;width:44px;height:44px}.choice-card>span:last-child,.recall-option>span{gap:4px;display:grid}.recall-option input{width:20px;height:20px;accent-color:var(--color-primary);flex:none}.choice-card small,.recall-option small{color:var(--color-text-secondary);font-size:13px;line-height:1.45}.study-form{gap:8px;margin-top:22px;display:grid}.review-form{display:grid}.form-intro{color:var(--color-text-secondary);margin:0 0 4px;font-size:13px;line-height:1.5}.study-details-fields{gap:8px;display:grid}.question-fieldset,.confidence-fieldset{border:0;gap:8px;margin:8px 0 0;padding:0;display:grid}.question-fieldset legend,.confidence-fieldset legend{margin-bottom:2px;font-size:13px;font-weight:700}.question-grid,.review-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.number-field{gap:6px;min-width:0;display:grid}.number-field label{margin-top:0}.confidence-scale{grid-template-columns:repeat(5,minmax(44px,1fr));gap:8px;display:grid}.confidence-scale label{border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);cursor:pointer;place-items:center;min-height:44px;margin:0;display:grid;position:relative}.confidence-scale label:hover,.confidence-scale label[data-selected=true]{border-color:var(--color-primary);background:var(--color-surface-accent);color:var(--color-primary)}.confidence-scale input{opacity:0;width:1px;min-height:1px;position:absolute}.confidence-scale label:focus-within{box-shadow:var(--focus-ring)}.confidence-scale span{font-size:14px;font-weight:750}.confidence-hints{color:var(--color-text-secondary);justify-content:space-between;font-size:11px;display:flex}.clear-field-button{width:max-content;min-height:32px;color:var(--color-primary);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;font-size:12px;font-weight:700}.field-error,.form-error{color:var(--color-overdue);margin:2px 0 0;font-size:12px;line-height:1.5}.optional-details{border-top:1px solid var(--color-border);margin-top:14px;padding-top:14px}.optional-details summary{width:max-content;min-height:44px;color:var(--color-primary);cursor:pointer;font-size:13px;font-weight:750;line-height:44px}.optional-details[open] summary{margin-bottom:10px}.reschedule-form{gap:18px;margin-top:22px;display:grid}.date-fieldset{border:0;gap:10px;margin:0;padding:0;display:grid}.date-fieldset legend,.custom-date-field label{margin-bottom:8px;font-size:13px;font-weight:700}.date-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.date-option{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);cursor:pointer;align-items:flex-start;gap:9px;min-height:76px;padding:11px;display:flex}.date-option:hover,.date-option[data-selected=true]{border-color:var(--color-primary);background:var(--color-surface-accent)}.date-option input{width:18px;height:18px;accent-color:var(--color-primary);flex:none;margin:2px 0 0}.date-option>span{gap:4px;min-width:0;display:grid}.date-option strong{font-size:13px;line-height:1.35}.date-option small{color:var(--color-text-secondary);font-size:11px;line-height:1.35}.custom-date-field{display:grid}.date-input-wrap{border:1px solid var(--color-border-strong);border-radius:var(--radius-control);min-height:46px;color:var(--color-text-secondary);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:0 12px;display:grid}.date-input-wrap:focus-within{border-color:var(--color-primary);box-shadow:var(--focus-ring)}.date-input-wrap input{width:100%;min-height:44px;color:var(--color-text);font:inherit;background:0 0;border:0;outline:0}.study-form label,.theme-fieldset legend{margin-top:8px;font-size:13px;font-weight:700}.study-form input{border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);width:100%;min-height:46px;color:var(--color-text);padding:0 12px}.study-form textarea,.study-details-fields--review textarea{resize:vertical;border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);width:100%;min-height:84px;color:var(--color-text);font:inherit;padding:10px 12px}.study-details-fields--review>label{margin-top:8px;font-size:13px;font-weight:700}.study-details-fields input[type=number]{border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);width:100%;min-height:46px;color:var(--color-text);padding:0 12px}.study-details-fields .input-suffix input[type=number]{border:0}.optional-label{color:var(--color-text-secondary);font-weight:500}.input-suffix{border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);grid-template-columns:minmax(0,1fr) auto;align-items:center;padding-right:12px;display:grid}.input-suffix input{border:0}.input-suffix span{color:var(--color-text-secondary);font-size:13px}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:22px;display:flex}.theme-fieldset{border:0;gap:8px;margin:0;padding:0;display:grid}.settings-dialog{width:min(100vw - 32px,620px)}.settings-loading{min-height:180px;color:var(--color-text-secondary);place-items:center;display:grid}.settings-form{margin-top:22px;display:grid}.settings-section{border-top:1px solid var(--color-border);gap:10px;padding:18px 0;display:grid}.settings-section:first-child{border-top:0;padding-top:0}.settings-section h3,.settings-section p{margin:0}.settings-section h3{font-size:15px}.settings-section p,.permission-status{color:var(--color-text-secondary);font-size:13px;line-height:1.5}.theme-fieldset legend,.settings-section>label:not(.switch-row,.time-field){margin-bottom:8px;font-size:13px;font-weight:700}.theme-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.theme-option{justify-content:space-between;width:auto;min-height:48px}.settings-target-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.settings-target-row input,.time-field input{border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);width:100%;min-height:46px;color:var(--color-text);font:inherit;padding:0 12px}.settings-target-row .input-suffix input{border:0}.switch-row,.time-field{justify-content:space-between;align-items:center;gap:18px;min-height:52px;display:flex}.switch-row>span{gap:3px;display:grid}.switch-row small{color:var(--color-text-secondary);font-size:12px;line-height:1.45}.switch-row input{width:44px;height:24px;accent-color:var(--color-primary);cursor:pointer;flex:none}.time-field span{font-size:13px;font-weight:700}.time-field input{width:132px}.permission-status{border-radius:var(--radius-control);background:var(--color-surface-subtle);margin:0;padding:10px 12px}.permission-status--success,.form-success{color:var(--color-success)!important}.permission-status--denied{color:var(--color-overdue)!important}.form-success{margin:0;font-size:13px;font-weight:700}.settings-actions{justify-content:space-between;align-items:center;gap:8px;margin-top:8px;display:flex}.dropdown-content{z-index:80;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);min-width:180px;box-shadow:var(--shadow-overlay);padding:6px}.dropdown-item{min-height:40px;color:var(--color-text);cursor:pointer;border-radius:7px;outline:2px solid #0000;padding:10px;font-size:13px}.dropdown-item[data-highlighted]{background:var(--color-surface-accent)}.dropdown-item[data-danger=true]{color:var(--color-overdue)}.dropdown-item[data-disabled]{cursor:not-allowed;opacity:.5}.install-prompt{z-index:85;border:1px solid var(--color-border-strong);border-radius:var(--radius-surface);background:var(--color-surface);width:min(100vw - 48px,440px);box-shadow:var(--shadow-overlay);grid-template-columns:46px minmax(0,1fr) 40px;gap:12px;padding:16px;animation:.18s ease-out install-prompt-in;display:grid;position:fixed;bottom:116px;right:24px}.install-prompt[data-raised=true]{bottom:184px}.install-prompt__icon{border-radius:var(--radius-control);background:var(--color-surface-accent);width:46px;height:46px;color:var(--color-primary);place-items:center;display:grid}.install-prompt__content{gap:6px;min-width:0;display:grid}.install-prompt__content>h2{color:var(--color-text);text-wrap:balance;margin:0;font-size:15px;line-height:1.4}.install-prompt__content>p{color:var(--color-text-secondary);margin:0;font-size:13px;line-height:1.5}.install-prompt__content>.install-prompt__error{color:var(--color-overdue)}.install-prompt__actions{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.install-prompt__close{width:44px;height:44px}.toast{z-index:90;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);box-shadow:var(--shadow-overlay);align-items:center;gap:12px;padding:12px 14px;font-size:13px;font-weight:600;display:flex;position:fixed;bottom:116px;right:24px}.toast button{color:var(--color-primary);cursor:pointer;background:0 0;border:0;font-weight:750}.toast__close{min-width:32px;min-height:32px;font-size:20px;color:var(--color-text-secondary)!important}.coming-soon{max-width:720px;padding-top:30px}.coming-soon p:last-child{max-width:56ch;color:var(--color-text-secondary);line-height:1.65}@keyframes fade-in{0%{opacity:0}}@keyframes dialog-in{0%{opacity:0;transform:translate(-50%,calc(12px - 50%))}}@keyframes install-prompt-in{0%{opacity:0;transform:translateY(10px)}}@media (width<=1040px){.task-row{grid-template-columns:minmax(220px,1fr) auto}.task-row__meta{grid-area:2/1;padding-left:54px}.task-row__actions{grid-area:1/2/span 2}.task-row__actions .button span:last-child{display:none}.task-row__actions .button{width:44px;padding:0}}.resources-page{max-width:1120px;margin:0 auto}.resources-header{margin-bottom:24px}.resource-summary{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:28px;display:grid}.resource-summary__metric{border:1px solid var(--color-border);background:var(--color-surface);border-radius:14px;flex-direction:column;gap:5px;padding:16px;display:flex}.resource-summary__metric span{color:var(--color-text-secondary);font-size:13px}.resource-summary__metric strong{color:var(--color-text);font-size:24px}.resource-list{gap:12px;display:grid}.resource-list>.section-heading{margin-bottom:2px}.resource-list>.section-heading>span{color:var(--color-text-secondary);font-size:13px;font-weight:700}.resource-row{border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px;padding:18px}.resource-row__top,.resource-row__meta{justify-content:space-between;align-items:center;gap:12px;display:flex}.resource-row__title{align-items:center;gap:10px;min-width:0;display:flex}.resource-row__title>div{min-width:0}.resource-row__title p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.resource-list>*{min-width:0}.resource-row__title h3{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:16px;overflow:hidden}.resource-row__title p,.resource-row__hint{color:var(--color-text-secondary);margin:4px 0 0;font-size:13px}.resource-row__top>strong{color:var(--color-primary);font-size:18px}.resource-progress{background:var(--color-surface-subtle);border-radius:999px;height:8px;margin:16px 0 9px;overflow:hidden}.resource-progress span{border-radius:inherit;background:var(--color-primary);height:100%;transition:width .22s;display:block}.resource-row__meta{color:var(--color-text-secondary);font-size:13px}.resource-row__meta .button{min-height:34px;padding:7px 10px}.resource-topic-list{border-top:1px solid var(--color-border);gap:6px;margin:13px 0 0;padding:12px 0 0;list-style:none;display:grid}.resource-topic-list li{color:var(--color-text-secondary);justify-content:space-between;gap:12px;font-size:13px;display:flex}.resource-topic-list b{color:var(--color-text);font-weight:700}.resource-empty{border:1px dashed var(--color-border);text-align:center;border-radius:16px;justify-items:center;gap:8px;padding:42px 18px;display:grid}.resource-empty h2{margin:0;font-size:18px}.resource-empty p{max-width:420px;color:var(--color-text-secondary);margin:0 0 8px}.resource-dialog{gap:16px;display:grid}.resource-dialog label{color:var(--color-text-secondary);gap:7px;font-size:13px;font-weight:700;display:grid}.resource-dialog input,.resource-dialog select{border:1px solid var(--color-border);background:var(--color-bg);width:100%;min-height:44px;color:var(--color-text);font:inherit;border-radius:10px;padding:10px 12px}.resource-dialog__grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.resource-dialog__section-heading{justify-content:space-between;align-items:center;gap:12px;padding-top:4px;display:flex}.resource-dialog__section-heading div{gap:3px;display:grid}.resource-dialog__section-heading span{color:var(--color-text-secondary);font-size:12px;font-weight:500}.resource-dialog__rows{gap:10px;display:grid}.resource-dialog__row{border:1px solid var(--color-border);border-radius:12px;grid-template-columns:minmax(0,2fr) .8fr .8fr auto;align-items:end;gap:8px;padding:10px;display:grid}.resource-dialog__row .icon-button{width:42px;height:42px}.resource-dialog__empty{color:var(--color-text-secondary);margin:-2px 0 0;font-size:13px}@media (width<=767px){.auth-page{background:var(--color-bg);display:block}.auth-intro{display:none}.auth-form-region,.auth-recovery-page{min-height:100dvh;padding:max(28px, env(safe-area-inset-top)) 16px max(28px, env(safe-area-inset-bottom));place-items:start center}.auth-form-wrap{box-shadow:none;border:0;padding:20px}.auth-mobile-brand{margin-bottom:34px;display:flex}.auth-heading{margin-top:26px}.auth-field input,.auth-submit{min-height:50px}.auth-setup-actions{display:grid}.sidebar{display:none}.main-content{padding:24px 16px calc(220px + env(safe-area-inset-bottom));margin-left:0}.mobile-profile-button{z-index:18;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);width:48px;height:48px;color:var(--color-text-secondary);place-items:center;display:grid;position:fixed;top:22px;right:16px}.page-header,.topics-header{align-items:flex-start;margin-bottom:24px;padding-right:76px}.page-header h1{max-width:150px;font-size:24px}.page-header .page-kicker{margin-top:6px}.desktop-heading{display:none}.mobile-heading{display:inline}.page-header .button{min-height:48px;padding-inline:14px}.summary-grid{grid-template-columns:1fr;gap:14px}.summary-surface{min-height:0;padding:20px}.countdown-surface{gap:14px}.summary-icon{width:50px;height:50px}.countdown-surface h2 strong{font-size:24px}.study-summary__heading p strong{font-size:22px}.study-breakdown{grid-template-columns:1fr 1fr;gap:10px;display:grid}.study-breakdown span:last-child{grid-column:1/-1}.task-sections{gap:26px}.task-list{border-top:0;gap:10px;display:grid}.task-row{border:1px solid var(--color-border);border-radius:var(--radius-surface);grid-template-columns:1fr auto;gap:12px;min-height:0;padding:14px;display:grid}.task-row[data-overdue=true]:before{border-radius:0 3px 3px 0;inset:12px auto 12px 0}.task-row__identity{grid-area:1/1}.task-row__meta{grid-area:2/1/auto/-1;padding-left:0}.task-row__actions{border-top:1px solid var(--color-border);grid-area:3/1/auto/-1;grid-template-columns:1fr 1fr 48px;padding-top:12px;display:grid}.task-row__actions .button{width:100%;min-height:48px;padding:0 10px}.task-row__actions .button span:last-child{display:inline}.task-row__actions .icon-button{width:48px;height:48px}.task-copy strong,.task-copy span{white-space:normal}.timer-bar{right:0;bottom:calc(76px + env(safe-area-inset-bottom));border-bottom:0;border-left:0;border-right:0;border-radius:14px 14px 0 0;grid-template-columns:auto minmax(0,1fr) auto auto;gap:8px;min-height:82px;padding:10px 12px;left:0}.timer-bar__icon{width:42px;height:42px}.timer-bar__label small{display:none}.timer-bar__label strong{font-size:13px}.timer-bar__time{letter-spacing:0;font-size:clamp(17px,5.3vw,23px)}.timer-bar__actions{gap:6px}.timer-bar__actions .button{width:48px;min-height:48px;padding:0}.timer-bar__actions .button span:last-child{display:none}.bottom-nav{z-index:25;min-height:calc(76px + env(safe-area-inset-bottom));border-top:1px solid var(--color-border);background:var(--color-surface);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav__item{min-height:76px;color:var(--color-text-secondary);place-content:center;gap:4px;font-size:11px;font-weight:650;text-decoration:none;display:grid;position:relative}.bottom-nav__item:before{background:var(--color-primary);content:"";opacity:0;border-radius:0 0 3px 3px;height:3px;position:absolute;inset:0 10% auto}.bottom-nav__item[data-active=true]{color:var(--color-primary)}.bottom-nav__item[data-active=true]:before{opacity:1}@media (width<=640px){.resource-summary{grid-template-columns:repeat(3,1fr);gap:8px}.resource-summary__metric{padding:12px 10px}.resource-summary__metric span{font-size:11px}.resource-summary__metric strong{font-size:20px}.resource-row{padding:15px}.resource-dialog__grid,.resource-dialog__row{grid-template-columns:1fr 1fr}.resource-dialog__row label:first-child{grid-column:1/-1}.resource-dialog__row .icon-button{grid-column:1/-1;justify-self:end}}.dialog-content{width:100%;max-height:calc(100dvh - 24px);padding:20px 16px calc(20px + env(safe-area-inset-bottom));border-bottom:0;border-left:0;border-right:0;border-radius:18px 18px 0 0;animation-name:sheet-in;top:auto;bottom:0;left:0;transform:none}.choice-card,.recall-option,.theme-option{min-height:56px}.toast{right:12px;bottom:calc(172px + env(safe-area-inset-bottom));flex-wrap:wrap;left:12px}.install-prompt{right:12px;bottom:calc(172px + env(safe-area-inset-bottom));grid-template-columns:42px minmax(0,1fr) 44px;width:auto;padding:14px;left:12px}.install-prompt[data-raised=true]{bottom:calc(288px + env(safe-area-inset-bottom))}.install-prompt__icon{width:42px;height:42px}}@media (width<=380px){.page-header .button{padding-inline:11px}.task-row__actions{grid-template-columns:1fr 1fr 44px;gap:6px}.task-row__actions .button{font-size:12px}.timer-bar{grid-template-columns:minmax(0,1fr) auto auto}.timer-bar__icon{display:none}.timer-bar__label strong{font-size:12px}}.route-loading{min-height:240px;color:var(--color-text-secondary);place-items:center;display:grid}.exams-page{width:min(100%,1100px);margin-inline:auto}.exams-header>div{min-width:0}.exams-header p{color:var(--color-text-secondary);margin:5px 0 0}.exam-summary{border:1px solid var(--color-border);border-radius:var(--radius-surface);background:var(--color-surface);grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:28px;display:grid}.exam-summary>div{gap:5px;padding:18px 20px;display:grid}.exam-summary>div+div{border-left:1px solid var(--color-border)}.exam-summary span,.exam-row__net span{color:var(--color-text-secondary);font-size:12px}.exam-summary strong{font-variant-numeric:tabular-nums;font-size:22px}.exam-history{gap:0;display:grid}.exam-list{border-top:1px solid var(--color-border)}.exam-row{border-bottom:1px solid var(--color-border);content-visibility:auto;contain-intrinsic-size:96px;grid-template-columns:44px minmax(0,1fr) auto;align-items:start;gap:14px;padding:17px 12px;display:grid}.exam-row__icon{border-radius:var(--radius-control);background:var(--color-surface-accent);width:44px;height:44px;color:var(--color-primary);place-items:center;display:grid}.exam-row__main{gap:4px;min-width:0;display:grid}.exam-row__main>strong{overflow-wrap:anywhere;font-size:15px}.exam-row__main>span{color:var(--color-text-secondary);font-size:12px}.exam-result-chips{flex-wrap:wrap;gap:5px;margin-top:6px;display:flex}.exam-result-chips span{background:var(--color-surface-subtle);color:var(--color-text-secondary);font-variant-numeric:tabular-nums;border-radius:999px;padding:4px 7px;font-size:11px}.exam-row__net{justify-items:end;gap:3px;min-width:92px;display:grid}.exam-row__net strong{color:var(--color-primary);font-variant-numeric:tabular-nums;font-size:22px}.exam-empty,.exam-error{min-height:280px;color:var(--color-text-secondary);text-align:center;align-content:center;place-items:center;gap:8px;display:grid}.exam-empty h2,.exam-empty p,.exam-error h2,.exam-error p{margin:0}.exam-empty h2,.exam-error h2{color:var(--color-text);text-wrap:balance;font-size:17px}.exam-empty p,.exam-error p{max-width:48ch;line-height:1.55}.exam-empty .button,.exam-error .button{margin-top:8px}.exam-trend{border:1px solid var(--color-border);border-radius:var(--radius-surface);background:var(--color-surface);gap:12px;margin-bottom:30px;padding:18px 20px 16px;display:grid}.exam-trend .section-heading{margin:0}.exam-trend .section-heading>span{color:var(--color-text-secondary);font-variant-numeric:tabular-nums;font-size:12px}.exam-trend__summary,.exam-trend__insufficient>p{color:var(--color-text-secondary);margin:0;font-size:13px;line-height:1.5}.exam-trend__legend{color:var(--color-text-secondary);flex-wrap:wrap;gap:14px;font-size:12px;display:flex}.exam-trend__legend-item{align-items:center;gap:7px;display:inline-flex}.exam-trend__legend-item i{background:var(--color-primary);border-radius:999px;width:22px;height:3px;display:block}.exam-trend__legend-item--ayt i{background:var(--color-overdue)}.exam-trend__legend-item--ayt i,.exam-trend__line--ayt{stroke-dasharray:7 5}.exam-trend__chart-wrap{overscroll-behavior:contain;overflow-x:auto}.exam-trend__chart{width:100%;min-width:540px;height:auto;display:block;overflow:visible}.exam-trend__grid{stroke:var(--color-border);stroke-width:1px}.exam-trend__axis-label{fill:var(--color-text-secondary);font-variant-numeric:tabular-nums;font-size:11px}.exam-trend__line{fill:none;stroke:var(--color-primary);stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.exam-trend__line--ayt{stroke:var(--color-overdue)}.exam-trend__points circle{fill:var(--color-surface);stroke:var(--color-primary);stroke-width:3px}.exam-trend__points--ayt circle{stroke:var(--color-overdue)}.exam-trend__table-wrap{border-top:1px solid var(--color-border);padding-top:10px;overflow-x:auto}.exam-trend__table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:12px}.exam-trend__table caption{color:var(--color-text-secondary);text-align:left;margin-bottom:7px}.exam-trend__table th,.exam-trend__table td{border-bottom:1px solid var(--color-border);text-align:right;white-space:nowrap;padding:7px 10px}.exam-trend__table th:first-child,.exam-trend__table td:first-child{text-align:left}.exam-trend__table tbody th{color:var(--color-text-secondary);font-weight:600}.exam-trend__highlights{flex-wrap:wrap;gap:8px;display:flex}.exam-trend__highlights span{background:var(--color-surface-subtle);color:var(--color-text-secondary);font-variant-numeric:tabular-nums;border-radius:999px;padding:7px 10px;font-size:12px}.exam-trend__highlights strong{color:var(--color-text)}.exam-insights{border:1px solid var(--color-border);border-radius:var(--radius-surface);background:var(--color-surface);gap:10px;margin-bottom:30px;padding:18px 20px 12px;display:grid}.exam-insights .section-heading{margin:0}.exam-insights .section-heading>span{color:var(--color-text-secondary);font-size:12px}.exam-insights__intro{color:var(--color-text-secondary);margin:0;font-size:13px;line-height:1.5}.exam-insights__list{gap:0;margin:0;padding:0;list-style:none;display:grid}.exam-insights__list li{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:10px 0;display:flex}.exam-insights__list li>div{gap:2px;min-width:0;display:grid}.exam-insights__list strong{overflow-wrap:anywhere;font-size:13px}.exam-insights__list span{color:var(--color-text-secondary);font-size:11px}.exam-insights__list b{color:var(--color-overdue);font-variant-numeric:tabular-nums;flex:none;font-size:12px}.exam-loading{gap:10px;display:grid}.exam-loading span{border-radius:var(--radius-surface);background:var(--color-surface-subtle);height:96px;animation:1.2s ease-in-out infinite alternate auth-pulse}.exam-dialog{width:min(100vw - 32px,780px)}.exam-form{gap:16px;margin-top:22px;display:grid}.exam-form>label,.exam-field>span,.exam-results-fieldset legend{font-size:13px;font-weight:700}.exam-form select,.exam-form input{border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);width:100%;min-height:44px;color:var(--color-text);font:inherit;padding:0 11px}.exam-form>label:first-of-type{gap:8px;display:grid}.exam-field{gap:8px;min-width:0;display:grid}.exam-field small{color:var(--color-text-secondary);font-weight:500}.exam-meta-fields{grid-template-columns:minmax(0,1.5fr) minmax(150px,.8fr) minmax(130px,.6fr);gap:10px;display:grid}.exam-results-fieldset{border:0;gap:8px;margin:0;padding:0;display:grid}.exam-results-fieldset>p{color:var(--color-text-secondary);margin:0 0 5px;font-size:12px}.exam-score-header,.exam-score-row{grid-template-columns:minmax(150px,1.7fr) repeat(3,minmax(66px,.65fr)) minmax(66px,.65fr);align-items:center;gap:8px;display:grid}.exam-score-header{color:var(--color-text-secondary);font-size:11px;font-weight:700}.exam-score-header span:not(:first-child){text-align:center}.exam-score-list{border-top:1px solid var(--color-border);display:grid}.exam-score-row{border-bottom:1px solid var(--color-border);min-height:58px;padding:7px 0}.exam-score-row strong{overflow-wrap:anywhere;font-size:13px}.exam-score-field{min-width:0;display:grid}.exam-score-field>span{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.exam-score-row input{text-align:center;font-variant-numeric:tabular-nums;min-width:0}.exam-score-row output{color:var(--color-primary);text-align:center;font-variant-numeric:tabular-nums;font-size:13px;font-weight:750}.exam-topic-error-area{grid-column:1/-1;gap:8px;padding:4px 0 2px;display:grid}.exam-topic-toggle,.exam-topic-add-another,.exam-topic-remove{min-height:44px;color:var(--color-primary);cursor:pointer;font:inherit;text-underline-offset:3px;background:0 0;border:0;justify-self:start;padding:4px 0;font-size:12px;font-weight:700;text-decoration:underline}.exam-topic-toggle:disabled,.exam-topic-add-another:disabled{color:var(--color-text-muted);cursor:not-allowed}.exam-topic-error-list{border-left:2px solid var(--color-primary-soft);gap:8px;padding-left:10px;display:grid}.exam-topic-error-row{grid-template-columns:minmax(0,1fr) 74px 74px auto;align-items:end;gap:7px;display:grid}.exam-topic-error-row label{gap:4px;min-width:0;display:grid}.exam-topic-error-row label span{color:var(--color-text-secondary);font-size:10px;font-weight:700}.exam-topic-error-row select,.exam-topic-error-row input{border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);width:100%;min-height:44px;color:var(--color-text);font:inherit;padding:0 8px;font-size:12px}.exam-topic-error-row input{text-align:center;font-variant-numeric:tabular-nums}.exam-topic-remove{color:var(--color-overdue);white-space:nowrap;font-size:11px}.exam-total{justify-content:flex-end;align-items:baseline;gap:12px;display:flex}.exam-total span{color:var(--color-text-secondary);font-size:13px;font-weight:700}.exam-total output{color:var(--color-primary);font-variant-numeric:tabular-nums;font-size:24px;font-weight:750}@media (width<=767px){.exams-header{align-items:flex-start;gap:12px}.exams-header h1{font-size:24px}.exams-header .button,.resources-header .button{width:48px;min-height:48px;padding:0}.exams-header .button>span:last-child,.resources-header .button>span:last-child{display:none}.exam-summary{margin-bottom:22px}.exam-trend{margin-bottom:22px;padding:15px 12px 12px}.exam-trend__chart{min-width:500px}.exam-summary>div{padding:14px 10px}.exam-summary strong{font-size:17px}.exam-row{grid-template-columns:42px minmax(0,1fr);padding-inline:4px}.exam-row__net{grid-column:2;justify-items:start}.exam-row__net strong{font-size:19px}.exam-meta-fields{grid-template-columns:1fr}.exam-score-header{display:none}.exam-score-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:12px 0}.exam-score-row strong{grid-column:1/-1}.exam-score-row input{min-height:48px;padding-inline:5px}.exam-topic-error-row{grid-template-columns:minmax(0,1fr) 58px 58px}.exam-topic-error-row .exam-topic-remove{grid-column:1/-1;min-height:48px}.exam-topic-error-row select,.exam-topic-error-row input{min-height:48px}.exam-score-field{gap:4px}.exam-score-field>span{clip:auto;width:auto;height:auto;color:var(--color-text-secondary);text-align:center;white-space:normal;font-size:10px;position:static;overflow:visible}}@media (width<=380px){.exam-summary{grid-template-columns:1fr}.exam-summary>div+div{border-top:1px solid var(--color-border);border-left:0}.exam-result-chips{display:none}}@media (width<=520px){.theme-options,.settings-target-row{grid-template-columns:1fr}.settings-target-row .button,.settings-actions .button{width:100%}.settings-actions{flex-direction:column-reverse;align-items:stretch}.install-prompt__actions .button{width:100%}}@keyframes sheet-in{0%{opacity:0;transform:translateY(18px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.topics-page{width:min(100%,1100px);margin-inline:auto}.topics-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:22px;display:flex}.topics-header h1,.topics-error h1{letter-spacing:-.035em;margin:4px 0 0;font-size:clamp(26px,2.4vw,32px);line-height:1.2}.topics-header p{color:var(--color-text-secondary);align-items:center;gap:8px;margin:7px 0 0;font-size:13px;display:flex}.draft-badge{border:1px solid var(--color-border-strong);background:var(--color-surface-subtle);color:var(--color-text-secondary);border-radius:99px;padding:3px 8px;font-size:11px;font-weight:750}.back-button{min-height:44px;color:var(--color-primary);cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:0;font-size:13px;font-weight:700;display:inline-flex}.topic-tabs{border-radius:var(--radius-control);background:var(--color-surface-subtle);grid-template-columns:repeat(2,minmax(96px,1fr));gap:4px;padding:4px;display:inline-grid}.topic-tabs button{min-height:40px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;padding-inline:20px;font-size:13px;font-weight:750}.topic-tabs button[aria-pressed=true]{border-color:var(--color-border);background:var(--color-surface);color:var(--color-primary)}.topics-toolbar{align-items:center;gap:12px;margin:18px 0 26px;display:flex}.search-field{border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);width:min(100%,440px);min-height:46px;color:var(--color-text-muted);align-items:center;gap:10px;padding:0 13px;display:flex}.search-field:focus-within{border-color:var(--color-primary);box-shadow:var(--focus-ring)}.search-field input{width:100%;min-width:0;height:44px;color:var(--color-text);background:0 0;border:0;outline:2px solid #0000}.status-filter select,.topic-status select,.study-form select{border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);min-height:44px;color:var(--color-text);padding:0 38px 0 12px}.list-title{letter-spacing:-.02em;margin:0 0 8px;font-size:18px}.course-list,.topic-list{border-top:1px solid var(--color-border)}.course-row{border:0;border-bottom:1px solid var(--color-border);width:100%;min-height:76px;color:var(--color-text);cursor:pointer;text-align:left;background:0 0;grid-template-columns:44px minmax(200px,1fr) minmax(120px,260px) 50px 44px;align-items:center;gap:14px;padding:10px 12px;display:grid}.course-row:hover{background:var(--color-surface)}.course-row__icon{background:var(--color-surface-accent);width:42px;height:42px;color:var(--color-primary);border-radius:10px;place-items:center;display:grid}.course-row__name{gap:3px;min-width:0;display:grid}.course-row__name strong{font-size:15px}.course-row__name small{color:var(--color-text-secondary);font-size:12px}.course-row__progress{background:var(--color-surface-subtle);border-radius:99px;height:7px;overflow:hidden}.course-row__progress span{border-radius:inherit;background:var(--color-primary);height:100%;display:block}.course-row__percent{color:var(--color-text-secondary);font-variant-numeric:tabular-nums;text-align:right;font-size:13px}.course-row__action{color:var(--color-primary);text-align:right;font-size:13px;font-weight:700}.topic-groups{gap:28px;display:grid}.topic-group__heading{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:8px;display:flex}.topic-group__heading h2{margin:0;font-size:17px}.topic-group__heading span{color:var(--color-text-secondary);font-variant-numeric:tabular-nums;font-size:12px}.topic-row{border-bottom:1px solid var(--color-border);background:var(--color-surface);grid-template-columns:28px minmax(0,1fr) minmax(150px,auto);align-items:center;gap:12px;min-height:64px;padding:9px 12px;display:grid}.topic-row__state{color:var(--color-success);place-items:center;display:grid}.topic-row__state>span{border:2px solid var(--color-border-strong);border-radius:50%;width:10px;height:10px}.topic-row__identity{align-items:center;gap:9px;min-width:0;display:flex}.topic-row__identity strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.topic-row__identity small{background:var(--color-surface-accent);color:var(--color-primary);border-radius:99px;flex:none;padding:3px 7px;font-size:10px;font-weight:750}.topic-status{justify-self:end}.topic-status select{min-width:148px;font-size:13px}.topic-status select:disabled{cursor:wait;opacity:.65}.curriculum-note{max-width:78ch;color:var(--color-text-muted);margin:28px 0 0;font-size:12px;line-height:1.6}.inline-alert{border:1px solid var(--color-overdue);border-radius:var(--radius-control);background:var(--color-overdue-soft);color:var(--color-overdue);align-items:flex-start;gap:10px;margin-bottom:16px;padding:12px 14px;font-size:13px;display:flex}.topics-empty,.topics-error{border:1px solid var(--color-border);border-radius:var(--radius-surface);background:var(--color-surface);max-width:640px;color:var(--color-text-secondary);justify-items:start;gap:8px;padding:28px;display:grid}.topics-empty h2,.topics-empty p,.topics-error p{margin:0}.topics-empty h2{color:var(--color-text);font-size:17px}.topics-loading{gap:14px;display:grid}.topics-loading span{border-radius:var(--radius-surface);background:var(--color-surface-subtle);height:72px;animation:1.2s ease-in-out infinite alternate auth-pulse;display:block}.today-error{border:1px solid color-mix(in srgb, var(--color-overdue) 30%, var(--color-border));border-radius:var(--radius-surface);background:var(--color-overdue-soft);color:var(--color-overdue);justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.today-error p{margin:0}.today-loading{gap:12px;display:grid}.today-loading span{border-radius:var(--radius-surface);background:var(--color-surface-subtle);height:76px;animation:1.2s ease-in-out infinite alternate auth-pulse;display:block}.calendar-page{gap:24px;display:grid}.calendar-header h1,.calendar-header p{margin:0}.calendar-layout{grid-template-columns:minmax(0,1.55fr) minmax(300px,.85fr);align-items:start;gap:20px;min-width:0;display:grid}.calendar-surface,.calendar-agenda{border:1px solid var(--color-border);border-radius:var(--radius-surface);background:var(--color-surface);min-width:0}.calendar-surface{padding:20px}.calendar-month-heading{justify-content:center;align-items:center;gap:16px;margin-bottom:18px;display:flex}.calendar-month-heading h2{text-align:center;text-transform:capitalize;min-width:190px;margin:0;font-size:18px}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.calendar-weekday{color:var(--color-text-secondary);text-align:center;padding:6px;font-size:12px;font-weight:700}.calendar-day{background:var(--color-surface-subtle);min-width:0;min-height:78px;color:var(--color-text);text-align:left;cursor:pointer;border:1px solid #0000;border-radius:10px;align-content:space-between;justify-items:start;padding:10px;display:grid}.calendar-day:hover{border-color:var(--color-border-strong)}.calendar-day[data-selected=true]{border-color:var(--color-primary);background:var(--color-surface-accent)}.calendar-day[data-today=true]>span{background:var(--color-primary);width:28px;height:28px;color:var(--color-primary-text);border-radius:999px;place-items:center;display:grid}.calendar-day small{color:var(--color-text-secondary);font-size:11px}.calendar-day--blank{cursor:default;background:0 0}.calendar-agenda{min-height:440px;padding:22px}.calendar-agenda__heading{margin-bottom:20px}.calendar-agenda__heading h2,.calendar-agenda__heading p{margin:0}.calendar-agenda__heading h2{margin-top:4px;font-size:20px}.calendar-items{gap:10px;display:grid}.calendar-item{border:1px solid var(--color-border);border-radius:var(--radius-control);grid-template-columns:40px minmax(0,1fr) auto;align-items:start;gap:12px;padding:13px;display:grid}.calendar-item>.button{white-space:nowrap;align-self:center}.calendar-item__icon{background:var(--color-surface-accent);width:40px;height:40px;color:var(--color-primary);border-radius:9px;place-items:center;display:grid}.calendar-item__icon[data-kind=review]{background:var(--color-primary-soft);color:var(--color-primary)}.calendar-item__icon[data-kind=study]{background:var(--color-success-soft);color:var(--color-success)}.calendar-item>div{gap:3px;min-width:0;display:grid}.calendar-item span,.calendar-item small{color:var(--color-text-secondary);font-size:12px}.calendar-item strong{overflow-wrap:anywhere;font-size:14px}.calendar-message{color:var(--color-text-secondary);justify-items:start;gap:8px;display:grid}.calendar-message h2,.calendar-message p{margin:0}.calendar-message h2{color:var(--color-text);font-size:16px}.calendar-loading{gap:10px;display:grid}.calendar-loading span{border-radius:var(--radius-control);background:var(--color-surface-subtle);height:70px;animation:1.2s ease-in-out infinite alternate auth-pulse}.calendar-week-strip{display:none}@media (width<=900px){.calendar-layout{grid-template-columns:1fr}.calendar-agenda{min-height:260px}}@media (width<=767px){.calendar-page{gap:16px}.calendar-surface,.calendar-agenda{border-radius:14px}.calendar-surface{padding:14px}.calendar-month-heading{margin-bottom:12px}.calendar-month-heading h2{min-width:150px;font-size:16px}.calendar-grid{display:none}.calendar-week-strip{scrollbar-width:thin;grid-template-columns:repeat(7,minmax(44px,1fr));gap:4px;max-width:100%;display:grid;overflow-x:auto}.week-date{min-width:0;min-height:64px;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;place-items:center;gap:2px;padding:6px 2px;display:grid}.week-date span,.week-date small{font-size:10px}.week-date strong{color:var(--color-text);font-size:15px}.week-date[data-selected=true]{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-primary-text)}.week-date[data-selected=true] strong{color:inherit}.calendar-agenda{min-height:240px;padding:18px}.calendar-agenda__heading h2{font-size:18px}.calendar-item{grid-template-columns:40px minmax(0,1fr)}.calendar-item>.button{grid-column:2;justify-self:start}}@media (width<=380px){.date-options{grid-template-columns:1fr}.date-option{min-height:58px}}.form-helper{border-radius:var(--radius-control);background:var(--color-surface-subtle);color:var(--color-text-secondary);margin:0;padding:12px;font-size:12px;line-height:1.55}@media (width<=767px){.topics-header{align-items:flex-start;gap:12px}.topics-header h1{font-size:24px}.topics-header .button{padding-inline:12px;width:48px;min-height:48px;padding:0}.topics-header .button>span:last-child{display:none}.topic-tabs{width:100%;display:grid}.topic-tabs button{min-height:48px}.topics-toolbar{grid-template-columns:minmax(0,1fr) auto;margin-bottom:20px;display:grid}.search-field{width:100%;min-height:48px}.status-filter select{max-width:148px;min-height:48px}.course-list{border-top:0;gap:10px;display:grid}.course-row{border:1px solid var(--color-border);border-radius:var(--radius-surface);background:var(--color-surface);grid-template-columns:42px minmax(0,1fr) 42px;gap:10px;min-height:88px;padding:12px}.course-row__progress{grid-column:1/-1;width:100%}.course-row__percent{grid-area:1/3}.course-row__action{display:none}.topic-groups{gap:24px}.topic-list{border-top:0;gap:9px;display:grid}.topic-row{border:1px solid var(--color-border);border-radius:var(--radius-surface);grid-template-columns:24px minmax(0,1fr);gap:8px 10px;min-height:86px;padding:12px}.topic-row__identity{flex-direction:column;align-items:flex-start;gap:4px}.topic-row__identity strong{white-space:normal}.topic-status{grid-column:1/-1;width:100%}.topic-status select{width:100%;min-height:48px}}@media (width<=380px){.topics-header{margin-right:52px;display:grid}.topics-header .button{justify-self:start}.topics-toolbar{grid-template-columns:1fr}.status-filter select{width:100%;max-width:none}}.insights-page{display:block}.insights-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:16px;display:grid}.insights-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:16px;flex-direction:column;gap:12px;padding:18px;display:flex}.insights-card>.section-heading{margin:0}.insights-card>.section-heading>span{color:var(--color-text-secondary);text-align:right;font-size:13px;font-weight:700}.insights-card__lead{color:var(--color-text-secondary);margin:0;font-size:14px}.insights-card__hint{color:var(--color-text-muted);margin:0;font-size:13px}.insights-card__subheading{align-items:center;gap:7px;margin:6px 0 0;font-size:15px;display:flex}.insights-card>.button{place-self:start;margin-top:auto}.insights-progress{background:var(--color-surface-subtle);border-radius:999px;height:8px;overflow:hidden}.insights-progress span{border-radius:inherit;background:var(--color-primary);height:100%;transition:width .22s;display:block}.insights-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.insights-metric{border:1px solid var(--color-border);background:var(--color-bg);border-radius:12px;flex-direction:column;gap:3px;padding:12px;display:flex}.insights-metric span{color:var(--color-text-secondary);font-size:13px}.insights-metric strong{color:var(--color-text);font-variant-numeric:tabular-nums;font-size:20px}.insights-metric small{color:var(--color-text-muted);font-size:12px}.insights-course-list,.insights-share-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.insights-course-list li{grid-template-columns:minmax(0,1fr) minmax(80px,130px) auto;align-items:center;gap:12px;display:grid}.insights-course-list__label{align-items:baseline;gap:7px;min-width:0;display:flex}.insights-course-list__label strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.insights-course-list__label span{color:var(--color-text-muted);font-size:12px;font-weight:700}.insights-course-list b,.insights-share-list b{color:var(--color-text);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px}.insights-share-list li{grid-template-columns:minmax(0,1fr) minmax(80px,130px) auto;align-items:center;gap:12px;display:grid}.insights-share-list li>span{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.insights-mistake-list{gap:8px;margin:0;padding:0 0 0 20px;display:grid}.insights-mistake-list li{justify-content:space-between;align-items:center;gap:12px;display:flex}.insights-mistake-list strong{font-size:14px;display:block}.insights-mistake-list span{color:var(--color-text-muted);font-size:12px}.insights-mistake-list b{color:var(--color-text);white-space:nowrap;font-size:13px}.insights-review-load{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.insights-review-load li{border:1px solid var(--color-border);background:var(--color-bg);border-radius:12px;flex-direction:column;gap:3px;padding:10px 12px;display:flex}.insights-review-load li span{color:var(--color-text-secondary);font-size:12px}.insights-review-load li b{color:var(--color-text);font-variant-numeric:tabular-nums;font-size:18px}.insights-review-load li.is-overdue{border-color:var(--color-overdue);background:var(--color-overdue-soft)}.insights-review-load li.is-overdue span,.insights-review-load li.is-overdue b{color:var(--color-overdue)}.insights-empty{border:1px dashed var(--color-border);text-align:center;border-radius:16px;justify-items:center;gap:8px;padding:42px 18px;display:grid}.insights-empty h2{margin:0;font-size:18px}.insights-empty p{max-width:460px;color:var(--color-text-secondary);margin:0 0 8px}.insights-empty__actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.insights-strip{border:1px solid var(--color-border);background:var(--color-surface);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;padding:12px 14px;display:flex}.insights-strip__metrics{flex-wrap:wrap;flex:auto;gap:10px 22px;min-width:0;display:flex}.insights-strip__metric{flex-direction:column;gap:2px;min-width:0;display:flex}.insights-strip__metric span{color:var(--color-text-secondary);font-size:12px}.insights-strip__metric strong{color:var(--color-text);font-variant-numeric:tabular-nums;font-size:17px}.insights-strip__metric.is-emphasis strong{color:var(--color-overdue)}.insights-strip__link{border:1px solid var(--color-border);border-radius:var(--radius-control);min-height:44px;color:var(--color-primary);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:6px;padding:8px 12px;font-size:14px;font-weight:700;display:inline-flex}.insights-strip__link:hover{background:var(--color-surface-accent)}.insights-strip__link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;box-shadow:var(--focus-ring)}.insights-strip--failed{color:var(--color-text-secondary);font-size:14px}.insights-strip--failed p{margin:0}@media (width<=900px){.insights-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=520px){.insights-metrics{grid-template-columns:minmax(0,1fr)}.insights-course-list li,.insights-share-list li{grid-template-columns:minmax(0,1fr) auto}.insights-course-list li .insights-progress,.insights-share-list li .insights-progress{order:3;grid-column:1/-1}.insights-strip{flex-direction:column;align-items:stretch}.insights-strip__metrics{justify-content:space-between;gap:10px 14px}.insights-strip__link{justify-content:center}}.timer-bar--exam{border-color:var(--color-border-strong)}.timer-bar--exam .timer-bar__time{font-variant-numeric:tabular-nums}.timer-bar--overtime{border-color:var(--color-overdue)}.timer-bar--overtime .timer-bar__icon,.timer-bar--overtime .timer-bar__time{color:var(--color-overdue)}.exams-header__actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}@media (width<=720px){.exams-header__actions{width:100%}.exams-header__actions .button{flex:auto;justify-content:center}}
