@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/da8a9dd0d68e512b-s.5851b7c1.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/94b4a5dc1fe84361-s.79468464.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/ff5be760267bb4bc-s.4ba8127f.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/99596c30eb072d3c-s.ef30866c.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/e5864b32625b6bc3-s.4f3f63ac.woff2)format("woff2");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:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/e285ad1a914469f0-s.2df16460.woff2)format("woff2");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:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/47df9ba1c7236d3b-s.p.7bbb93ea.woff2)format("woff2");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:"Source Sans 3 Fallback";src:local(Arial);ascent-override:109.21%;descent-override:42.66%;line-gap-override:0.0%;size-adjust:93.76%}.source_sans_3_bea4f34c-module__k9Mn2W__className{font-family:"Source Sans 3","Source Sans 3 Fallback";font-style:normal}.source_sans_3_bea4f34c-module__k9Mn2W__variable{--font-source-sans:"Source Sans 3","Source Sans 3 Fallback"}
@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9cc5c0547f229dea-s.6c4275d8.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b0947914c9718a1e-s.dfd36b11.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d0b60be57f16ee32-s.7a65e2c2.woff2)format("woff2");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:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1f9e983605289f29-s.ef9233b7.woff2)format("woff2");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:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(../media/01e4147cff8141ee-s.p.7787e134.woff2)format("woff2");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:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../media/9cc5c0547f229dea-s.6c4275d8.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b0947914c9718a1e-s.dfd36b11.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../media/d0b60be57f16ee32-s.7a65e2c2.woff2)format("woff2");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:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1f9e983605289f29-s.ef9233b7.woff2)format("woff2");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:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(../media/01e4147cff8141ee-s.p.7787e134.woff2)format("woff2");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:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9cc5c0547f229dea-s.6c4275d8.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(../media/b0947914c9718a1e-s.dfd36b11.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(../media/d0b60be57f16ee32-s.7a65e2c2.woff2)format("woff2");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:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1f9e983605289f29-s.ef9233b7.woff2)format("woff2");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:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(../media/01e4147cff8141ee-s.p.7787e134.woff2)format("woff2");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:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(../media/9cc5c0547f229dea-s.6c4275d8.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(../media/b0947914c9718a1e-s.dfd36b11.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(../media/d0b60be57f16ee32-s.7a65e2c2.woff2)format("woff2");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:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1f9e983605289f29-s.ef9233b7.woff2)format("woff2");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:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(../media/01e4147cff8141ee-s.p.7787e134.woff2)format("woff2");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:Cormorant Garamond Fallback;src:local(Times New Roman);ascent-override:95.27%;descent-override:29.59%;line-gap-override:0.0%;size-adjust:96.98%}.cormorant_garamond_e92caeb5-module__6Kgt5q__className{font-family:Cormorant Garamond,Cormorant Garamond Fallback;font-style:normal}.cormorant_garamond_e92caeb5-module__6Kgt5q__variable{--font-logo:"Cormorant Garamond","Cormorant Garamond Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.relative{position:relative}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--bg-primary:#fafbfc;--bg-secondary:#f4f6f8;--bg-tertiary:#fff;--bg-elevated:#fff;--text-primary:#1a2332;--text-secondary:#4a5568;--text-tertiary:#718096;--text-muted:#a0aec0;--accent-blue:#3b82f6;--accent-blue-soft:#3b82f61a;--accent-green:#10b981;--accent-green-soft:#10b9811a;--accent-orange:#f59e0b;--accent-orange-soft:#f59e0b1a;--accent-red:#ef4444;--accent-red-soft:#ef44441a;--accent-violet:#8b5cf6;--accent-violet-soft:#8b5cf61a;--color-correct:var(--text-secondary);--color-correct-bg:#00000008;--color-incorrect:var(--text-secondary);--color-incorrect-bg:#00000008;--color-new:var(--accent-blue);--color-due:var(--accent-orange);--heat-none:transparent;--heat-future:#f8fafc;--heat-missed:#e2e8f0;--heat-started:#cbd5e1;--heat-completed:#94a3b8;--border-color:#0000000f;--border-subtle:#0000000a;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 4px 12px #0000000f;--shadow-lg:0 8px 24px #00000014;--sidebar-width:280px;--sidebar-bg:#f8fafc;--transition-fast:.12s ease;--transition-normal:.2s ease;--transition-slow:.3s ease;--font-sans:var(--font-source-sans),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-logo:var(--font-logo),Georgia,serif}.dark{--bg-primary:#0f1419;--bg-secondary:#151b23;--bg-tertiary:#1a222d;--bg-elevated:#1e2732;--text-primary:#f0f4f8;--text-secondary:#9ca3af;--text-tertiary:#6b7280;--text-muted:#4b5563;--accent-blue:#60a5fa;--accent-blue-soft:#60a5fa26;--accent-green:#34d399;--accent-green-soft:#34d39926;--accent-orange:#fbbf24;--accent-orange-soft:#fbbf2426;--accent-red:#f87171;--accent-red-soft:#f8717126;--accent-violet:#a78bfa;--accent-violet-soft:#a78bfa26;--color-correct:var(--text-secondary);--color-correct-bg:#ffffff0a;--color-incorrect:var(--text-secondary);--color-incorrect-bg:#ffffff0a;--heat-none:transparent;--heat-future:#1e293b;--heat-missed:#334155;--heat-started:#475569;--heat-completed:#64748b;--border-color:#ffffff14;--border-subtle:#ffffff0a;--shadow-sm:0 1px 2px #0003;--shadow-md:0 4px 12px #0000004d;--shadow-lg:0 8px 24px #0006;--sidebar-bg:#151b23}*{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}.app-container{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--sidebar-bg);border-right:1px solid var(--border-color);z-index:50;transition:transform var(--transition-slow);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar.closed{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:20px 16px;display:flex}.sidebar-close{cursor:pointer;width:28px;height:28px;color:var(--text-muted);transition:all var(--transition-fast);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:flex}.sidebar-close:hover{background:var(--bg-tertiary);color:var(--text-secondary)}.sidebar-toggle{border:1px solid var(--border-color);background:var(--bg-elevated);cursor:pointer;width:36px;height:36px;color:var(--text-secondary);transition:all var(--transition-fast);z-index:100;border-radius:8px;justify-content:center;align-items:center;display:flex;position:fixed;top:16px;left:16px}.sidebar-toggle:hover{background:var(--bg-secondary);color:var(--text-primary)}.logo{align-items:center;gap:10px;display:flex}.logo-icon{color:var(--text-tertiary)}.logo-text{font-family:var(--font-logo);color:var(--text-primary);letter-spacing:.05em;text-transform:lowercase;font-size:22px;font-weight:500}.sidebar-nav{flex:1;padding:8px;overflow-y:auto}.sidebar-nav-link{width:100%;color:var(--text-secondary);transition:background var(--transition-fast),color var(--transition-fast);border-radius:6px;align-items:center;gap:12px;padding:10px 16px;text-decoration:none;display:flex}.sidebar-nav-link:hover{background:var(--bg-tertiary);color:var(--text-primary)}.sidebar-nav-link.active{background:var(--bg-secondary);color:var(--text-primary)}.sidebar-nav-icon{color:var(--text-muted);flex-shrink:0}.sidebar-nav-link:hover .sidebar-nav-icon,.sidebar-nav-link.active .sidebar-nav-icon{color:var(--text-secondary)}.sidebar-nav-text{font-size:14px;font-weight:400}.nav-section{margin-bottom:24px}.nav-section-title{letter-spacing:.02em;color:var(--text-muted);margin-bottom:4px;padding:8px 16px;font-size:12px;font-weight:500}.nav-section-label{letter-spacing:.02em;color:var(--text-muted);margin-bottom:0;padding:12px 16px 8px;font-size:12px;font-weight:500;display:block}.exam-selector{border-bottom:1px solid var(--border-subtle);padding:12px;position:relative}.exam-selector-button{cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;width:100%;padding:8px 4px;display:flex}.exam-name{color:var(--text-primary);text-align:left;flex:1;font-size:14px;font-weight:500}.exam-chevron{color:var(--text-muted)}.exam-dropdown{background:var(--bg-elevated);border:1px solid var(--border-color);box-shadow:var(--shadow-md);z-index:100;border-radius:8px;position:absolute;top:calc(100% + 4px);left:12px;right:12px;overflow:hidden}.exam-option{width:100%;color:var(--text-secondary);text-align:left;cursor:pointer;transition:background var(--transition-fast);background:0 0;border:none;padding:10px 12px;font-size:13px}.exam-option:hover{background:var(--bg-secondary)}.exam-option.selected{background:var(--bg-secondary);color:var(--text-primary);font-weight:500}.sequence-group{margin-bottom:4px}.sequence-button{cursor:pointer;width:100%;transition:background var(--transition-fast);text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;display:flex}.sequence-button:hover{background:var(--bg-tertiary)}.sequence-chevron{color:var(--text-muted);align-items:center;display:flex}.sequence-icon{color:var(--text-tertiary)}.sequence-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;font-weight:500;overflow:hidden}.sequence-badge{gap:4px;display:flex}.badge-new,.badge-due{border-radius:4px;padding:2px 5px;font-size:10px;font-weight:600}.badge-new{background:var(--accent-blue-soft);color:var(--accent-blue)}.badge-due{background:var(--accent-orange-soft);color:var(--accent-orange)}.deck-list{border-left:1px solid var(--border-subtle);margin-left:20px;padding-left:12px}.deck-button{cursor:pointer;width:100%;transition:all var(--transition-fast);text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:8px 10px;display:flex;position:relative}.deck-button:hover{background:var(--bg-tertiary)}.deck-button.selected{background:var(--accent-blue-soft)}.deck-button.selected .deck-name{color:var(--accent-blue)}.deck-icon{color:var(--text-muted);flex-shrink:0}.deck-name{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;overflow:hidden}.deck-stats{gap:6px;margin-right:4px;display:flex}.stat-new,.stat-due,.stat-total{text-align:center;min-width:16px;font-size:10px;font-weight:600}.stat-new{color:var(--color-new)}.stat-due{color:var(--color-due)}.stat-total{color:var(--text-muted)}.status-icon{color:var(--text-muted);flex-shrink:0;align-items:center;display:flex}.status-icon.status-good{color:var(--text-tertiary)}.status-icon.status-on-track,.status-icon.status-behind{color:var(--text-muted)}.mastery-bar{background:var(--border-color);border-radius:1px;height:2px;position:absolute;bottom:2px;left:10px;right:10px;overflow:hidden}.mastery-fill{background:var(--accent-green);height:100%;transition:width var(--transition-normal);border-radius:1px}.sidebar-footer{border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;display:flex}.user-info{align-items:center;gap:8px;display:flex}.user-icon{color:var(--text-tertiary)}.user-name{color:var(--text-primary);font-size:13px;font-weight:500}.logout-button{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:500}.main-content{margin-left:var(--sidebar-width);background:radial-gradient(ellipse at 50% 0%,var(--accent-blue-soft)0%,transparent 50%),var(--bg-primary);min-height:100vh;transition:margin-left var(--transition-slow);flex-direction:column;flex:1;justify-content:center;align-items:center;padding:64px 24px 100px;display:flex;position:relative;overflow:hidden}.main-content.home-view{justify-content:center;padding:48px 24px;overflow-y:auto}.sidebar-closed .main-content{margin-left:0}.theme-toggle{border:1px solid var(--border-color);background:var(--bg-elevated);cursor:pointer;width:36px;height:36px;color:var(--text-secondary);transition:all var(--transition-fast);z-index:100;border-radius:8px;justify-content:center;align-items:center;display:flex;position:fixed;top:16px;right:16px}.theme-toggle:hover{background:var(--bg-secondary);color:var(--text-primary)}.theme-toggle-placeholder{width:36px;height:36px}.welcome-screen{text-align:center;max-width:480px}.welcome-content{background:var(--bg-elevated);border:1px solid var(--border-color);box-shadow:var(--shadow-lg);border-radius:16px;padding:48px 40px}.welcome-logo{flex-direction:row;justify-content:center;align-items:center;gap:14px;margin-bottom:40px;display:flex}.welcome-icon{color:var(--text-primary);filter:drop-shadow(0 2px 4px #0000000d)}.dark .welcome-icon{filter:drop-shadow(0 2px 4px #0003)}.welcome-title{font-family:var(--font-logo);color:var(--text-primary);letter-spacing:.02em;text-transform:lowercase;margin:0;font-size:44px;font-weight:500;line-height:1}.welcome-subtitle{color:var(--text-secondary);margin-bottom:32px;font-size:16px}.welcome-features{text-align:left;flex-direction:column;gap:16px;margin-bottom:32px;display:flex}.feature-item{align-items:flex-start;gap:12px;display:flex}.feature-icon{color:var(--accent-blue);flex-shrink:0;margin-top:2px}.feature-text{flex-direction:column;display:flex}.feature-title{color:var(--text-primary);font-size:14px;font-weight:600}.feature-desc{color:var(--text-tertiary);font-size:13px}.keyboard-guide{background:var(--bg-secondary);border-radius:8px;padding:16px}.guide-row{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.guide-item{color:var(--text-tertiary);align-items:center;gap:6px;font-size:12px;display:flex}.guide-item kbd{background:var(--bg-elevated);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:4px;padding:4px 8px;font-family:inherit;font-size:11px;font-weight:600}.question-layout{align-items:flex-start;gap:32px;width:100%;margin:0 auto;display:flex}.question-layout.no-passage{justify-content:center;max-width:720px}.question-layout.has-passage{justify-content:center;max-width:1400px}.passage-panel{flex:1;max-width:680px;max-height:calc(100vh - 200px);overflow-y:auto}.passage-container{background:var(--bg-elevated);border:1px solid var(--border-color);box-shadow:var(--shadow-md);border-radius:12px;overflow:hidden}.passage-header{border-bottom:1px solid var(--border-subtle);padding:20px 24px 16px}.passage-label{color:var(--text-tertiary);margin-bottom:6px;font-size:12px;font-weight:500;display:block}.passage-title{color:var(--text-primary);margin:0;font-size:16px;font-weight:500;line-height:1.4}.passage-content{color:var(--text-primary);padding:24px;font-size:15px;line-height:1.7}.passage-content p{margin:0 0 16px}.passage-content p:last-child{margin-bottom:0}.passage-caption{color:var(--text-secondary);font-weight:600;margin:20px 0 8px!important}.passage-table{margin:16px 0;overflow-x:auto}.passage-table table{border-collapse:collapse;width:100%;font-size:14px}.passage-table th,.passage-table td{text-align:left;border:1px solid var(--border-color);padding:10px 12px}.passage-table th{background:var(--bg-secondary);color:var(--text-primary);font-weight:600}.passage-table td{color:var(--text-primary)}.passage-table tr:hover{background:var(--bg-secondary)}.question-panel{flex:1;max-width:680px;max-height:calc(100vh - 200px);overflow-y:auto}.question-layout.no-passage .question-panel{max-width:640px;padding:24px}.question-container{width:100%;max-width:640px}.question-card{background:var(--bg-elevated);border:1px solid var(--border-color);box-shadow:var(--shadow-md);border-radius:12px;padding:0;overflow:hidden}.question-card-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:flex-start;padding:20px 24px 16px;display:flex}.header-left{flex-direction:column;gap:6px;display:flex}.header-label{color:var(--text-tertiary);font-size:12px;font-weight:500}.header-title{color:var(--text-primary);font-size:16px;font-weight:500;line-height:1.4}.header-right{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.question-counter{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:12px;font-weight:500}.progress-bar-mini{background:var(--border-color);border-radius:2px;width:48px;height:3px;overflow:hidden}.progress-bar-fill{background:var(--text-muted);height:100%;transition:width var(--transition-slow)cubic-bezier(.4,0,.2,1);border-radius:2px}.question-card-body{padding:24px}.question-text{color:var(--text-primary);margin:0 0 24px;font-size:18px;font-weight:500;line-height:1.5}.options-container{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.option-button{border:1px solid var(--border-color);background:var(--bg-tertiary);cursor:pointer;transition:all var(--transition-fast);text-align:left;border-radius:8px;align-items:center;gap:12px;max-height:200px;padding:14px 16px;display:flex;overflow:hidden}.option-button:hover:not(:disabled){border-color:var(--accent-blue);background:var(--accent-blue-soft)}.option-button:disabled{cursor:default}.option-button.correct{border-color:var(--text-muted);background:var(--bg-secondary);box-shadow:inset 0 0 0 1px var(--text-muted)}.option-button.incorrect{border-color:var(--border-color);background:var(--bg-primary);border-style:dashed}.option-button.collapsing{animation:.4s ease-out forwards collapseOption}@keyframes collapseOption{0%{opacity:1;max-height:200px;margin-bottom:0;padding:14px 16px;transform:translate(0)}50%{opacity:.3;transform:translate(-8px)}to{opacity:0;border-width:0;max-height:0;margin-bottom:-10px;padding:0 16px;transform:translate(-16px)}}.option-key{background:var(--bg-primary);border:1px solid var(--border-color);width:24px;height:24px;color:var(--text-secondary);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}.option-button.correct .option-key{background:var(--text-secondary);border-color:var(--text-secondary);color:var(--bg-primary)}.option-button.incorrect .option-key{border-color:var(--border-color);color:var(--text-muted);background:0 0}.option-text{color:var(--text-primary);flex:1;font-size:15px}.result-feedback{border-top:1px solid var(--border-subtle);margin-top:24px;padding-top:24px;animation:.3s ease-out fadeSlideIn}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.result-feedback.correct .reinforcement{background:var(--bg-secondary);border-left:3px solid var(--text-muted);color:var(--text-primary);border-radius:0 8px 8px 0;margin-bottom:20px;padding:16px;font-size:15px;animation:.3s ease-out fadeSlideIn}.result-feedback.incorrect .explanation{background:var(--bg-secondary);border-left:3px solid var(--text-muted);border-radius:0 8px 8px 0;margin-bottom:20px;padding:16px;animation:.3s ease-out fadeSlideIn}.explanation h3{text-transform:uppercase;letter-spacing:.03em;color:var(--text-tertiary);margin:0 0 8px;font-size:13px;font-weight:600}.explanation p{color:var(--text-primary);margin:0;font-size:14px;line-height:1.6}.difficulty-section{text-align:center;animation:.3s ease-out .1s both fadeSlideIn}.bottom-action-bar{bottom:0;left:var(--sidebar-width);background:var(--bg-elevated);border-top:1px solid var(--border-color);z-index:40;transition:left var(--transition-slow);justify-content:center;align-items:center;gap:24px;padding:16px 24px;display:flex;position:fixed;right:0}.sidebar-closed .bottom-action-bar{left:0}.skip-bar-button{border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;display:flex}.skip-bar-button:hover{background:var(--bg-secondary);color:var(--text-primary)}.skip-bar-button .skip-key{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;padding:2px 8px;font-size:12px;font-weight:600}.continue-bar-button{border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);border-radius:8px;align-items:center;gap:10px;padding:10px 24px;font-size:14px;font-weight:500;display:flex}.continue-bar-button:hover{background:var(--bg-secondary)}.continue-bar-button .continue-key{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:4px;padding:2px 8px;font-size:12px;font-weight:600}.difficulty-prompt{color:var(--text-secondary);white-space:nowrap;margin:0;font-size:14px}.difficulty-options{gap:10px;display:flex}.difficulty-button{border:1px solid var(--border-color);background:var(--bg-tertiary);cursor:pointer;transition:all var(--transition-fast);border-radius:8px;align-items:center;gap:8px;padding:10px 16px;display:flex}.difficulty-button:hover:not(:disabled){border-color:var(--accent-blue);background:var(--accent-blue-soft)}.difficulty-button.disabled{opacity:.4;cursor:not-allowed}.difficulty-key{background:var(--bg-primary);border:1px solid var(--border-color);width:24px;height:24px;color:var(--text-secondary);border-radius:5px;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}.difficulty-button.rating-1 .difficulty-key,.difficulty-button.rating-2 .difficulty-key,.difficulty-button.rating-3 .difficulty-key,.difficulty-button.rating-4 .difficulty-key{border-color:var(--border-color);color:var(--text-secondary)}.difficulty-label{color:var(--text-secondary);font-size:13px;font-weight:500}.chat-interface{border-top:1px solid var(--border-subtle);margin-top:24px;padding-top:24px;animation:.4s ease-out .2s both fadeSlideIn}.chat-header{color:var(--text-primary);justify-content:space-between;align-items:center;padding:0 0 12px;font-size:13px;font-weight:600;display:flex}.chat-ai-badge{background:var(--accent-violet-soft);text-transform:uppercase;letter-spacing:.05em;color:var(--accent-violet);border-radius:12px;align-items:center;gap:4px;margin-left:auto;padding:3px 8px;font-size:10px;font-weight:700;display:flex}.model-selector{margin-left:auto;position:relative}.model-selector-trigger{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);border-radius:6px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:500;display:flex}.model-selector-trigger:hover{background:var(--bg-tertiary);border-color:var(--accent-blue);color:var(--text-primary)}.model-name{text-overflow:ellipsis;white-space:nowrap;max-width:120px;overflow:hidden}.model-chevron{transition:transform var(--transition-fast);color:var(--text-muted)}.model-chevron.open{transform:rotate(180deg)}.model-dropdown{background:var(--bg-elevated);border:1px solid var(--border-color);min-width:200px;box-shadow:var(--shadow-lg);z-index:100;border-radius:8px;flex-direction:column;animation:.15s ease-out dropdownFadeIn;display:flex;position:absolute;top:calc(100% + 4px);right:0;overflow:hidden}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.model-option{cursor:pointer;width:100%;transition:background var(--transition-fast);text-align:left;background:0 0;border:none;flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.model-option:hover{background:var(--bg-secondary)}.model-option.selected{background:var(--accent-blue-soft)}.model-option-name{color:var(--text-primary);font-size:13px;font-weight:500}.model-option.selected .model-option-name{color:var(--accent-blue)}.model-option-provider{color:var(--text-muted);font-size:11px}.chat-presets{gap:8px;margin-bottom:12px;display:flex}.chat-preset-button{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);text-align:left;border-radius:6px;flex:1;padding:8px 12px;font-size:12px}.chat-preset-button:hover{background:var(--accent-blue-soft);border-color:var(--accent-blue);color:var(--accent-blue)}.chat-messages{border-bottom:1px solid var(--border-subtle);max-height:200px;margin-bottom:12px;padding-bottom:12px;overflow-y:auto}.chat-message{margin-bottom:12px;display:flex}.chat-message.user{justify-content:flex-end}.chat-message.assistant{justify-content:flex-start}.chat-message-content{border-radius:16px;max-width:85%;padding:10px 14px;font-size:14px;line-height:1.5}.chat-message.user .chat-message-content{background:var(--accent-blue);color:#fff;border-bottom-right-radius:4px}.chat-message.assistant .chat-message-content{background:var(--bg-secondary);color:var(--text-primary);border-bottom-left-radius:4px}.chat-input-form{padding:0}.chat-input-container{align-items:flex-end;gap:8px;display:flex}.chat-input{background:var(--bg-elevated);border:1px solid var(--border-color);color:var(--text-primary);resize:none;border-radius:20px;flex:1;min-height:40px;max-height:120px;padding:10px 14px;font-family:inherit;font-size:14px;line-height:1.4}.chat-input:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px var(--accent-blue-soft);outline:none}.chat-input::placeholder{color:var(--text-muted)}.chat-send-button{background:var(--accent-blue);color:#fff;cursor:pointer;width:40px;height:40px;transition:all var(--transition-fast);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-send-button:hover:not(:disabled){background:var(--accent-violet);transform:scale(1.05)}.chat-send-button:disabled{opacity:.5;cursor:not-allowed}.chat-disclaimer{color:var(--text-muted);text-align:center;margin:8px 0 0;font-size:11px}.session-complete{text-align:center}.complete-card{background:var(--bg-elevated);border:1px solid var(--border-color);box-shadow:var(--shadow-lg);border-radius:16px;max-width:400px;padding:48px 40px}.complete-icon{color:var(--text-tertiary);margin-bottom:16px}.complete-title{color:var(--text-primary);margin:0 0 8px;font-size:24px;font-weight:700}.complete-message{color:var(--text-secondary);margin-bottom:28px;font-size:14px}.complete-stats{justify-content:center;gap:32px;margin-bottom:20px;display:flex}.stat-item{flex-direction:column;gap:4px;display:flex}.stat-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:11px}.stat-value{color:var(--text-primary);font-size:28px;font-weight:700}.complete-mastery-bar{background:var(--border-color);border-radius:4px;height:8px;margin-bottom:28px;overflow:hidden}.complete-mastery-fill{background:var(--text-tertiary);height:100%;transition:width var(--transition-slow);border-radius:4px}.back-button{border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);border-radius:8px;align-items:center;padding:12px 24px;font-size:14px;font-weight:500;display:inline-flex}.back-button:hover{background:var(--bg-secondary);border-color:var(--accent-blue)}@media (max-width:1024px){.question-layout.has-passage{flex-direction:column}.passage-panel{border-right:none;border-bottom:1px solid var(--border-color);flex:none;max-width:100%;height:auto;max-height:40vh;padding:16px}.question-panel{flex:1;max-width:100%;padding:16px}}@media (max-width:768px){.sidebar{transform:translate(-100%)}.main-content{margin-left:0;padding:16px}.question-card{padding:24px}.difficulty-options{flex-wrap:wrap;justify-content:center}.bottom-action-bar{flex-wrap:wrap;gap:12px;padding:12px 16px;left:0}.difficulty-prompt{text-align:center;width:100%}}.home-calendar{width:100%;max-width:900px}.home-card{background:var(--bg-elevated);border:1px solid var(--border-color);box-shadow:var(--shadow-md);border-radius:16px;padding:32px 40px}.home-card-header{border-bottom:1px solid var(--border-subtle);justify-content:center;align-items:center;gap:12px;margin-bottom:28px;padding-bottom:24px;display:flex}.home-card-header .welcome-icon{color:var(--text-primary)}.welcome-heading{font-family:var(--font-logo);color:var(--text-primary);margin:0;font-size:32px;font-weight:500}.home-card-content{align-items:flex-start;gap:48px;display:flex}.calendar-panel{flex:1;max-width:300px}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.calendar-month{color:var(--text-primary);letter-spacing:-.01em;margin:0;font-size:16px;font-weight:600}.calendar-nav{gap:6px;display:flex}.nav-btn{background:var(--bg-secondary);border:1px solid var(--border-subtle);width:32px;height:32px;color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast);border-radius:6px;justify-content:center;align-items:center;display:flex}.nav-btn:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-color);transform:scale(1.05)}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.day-label{text-align:center;color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em;padding:8px 0;font-size:11px;font-weight:600}.day-cell{aspect-ratio:1;color:var(--text-primary);cursor:pointer;transition:all var(--transition-normal);border:1px solid var(--border-subtle);border-radius:6px;flex-direction:column;justify-content:center;align-items:center;font-size:13px;font-weight:500;display:flex;position:relative}.day-cell:hover{box-shadow:var(--shadow-sm);border-color:var(--border-color);z-index:1;transform:scale(1.08)}.day-cell.muted{color:var(--text-muted);opacity:.4}.day-cell.today{box-shadow:inset 0 0 0 2px var(--text-primary);border-color:#0000;font-weight:700}.day-cell.today:hover{box-shadow:inset 0 0 0 2px var(--text-primary),var(--shadow-sm);transform:scale(1.08)}.day-cell.heat-none{background:var(--heat-none)}.day-cell.heat-future{background:var(--heat-future)}.day-cell.heat-missed{background:var(--heat-missed)}.day-cell.heat-started{background:var(--heat-started)}.day-cell.heat-completed{background:var(--heat-completed)}.heatmap-legend{border-top:1px solid var(--border-subtle);justify-content:center;align-items:center;gap:16px;margin-top:16px;padding-top:14px;display:flex}.legend-item{align-items:center;gap:7px;display:flex}.legend-label{color:var(--text-secondary);font-size:11px;font-weight:500}.legend-square{border:1px solid var(--border-subtle);width:14px;height:14px;transition:all var(--transition-fast);border-radius:3px}.legend-item:hover .legend-square{border-color:var(--border-color);transform:scale(1.2)}.legend-square.heat-none{background:var(--heat-none);border:1px solid var(--border-color)}.legend-square.heat-future{background:var(--heat-future)}.legend-square.heat-missed{background:var(--heat-missed)}.legend-square.heat-started{background:var(--heat-started)}.legend-square.heat-completed{background:var(--heat-completed)}.today-panel{border-left:1px solid var(--border-subtle);flex:1;max-width:360px;padding-left:48px}.today-header{align-items:baseline;gap:12px;margin-bottom:20px;display:flex}.today-header h2{color:var(--text-primary);margin:0;font-size:16px;font-weight:600}.today-date{color:var(--text-tertiary);font-size:13px}.task-list{flex-direction:column;gap:8px;display:flex}.task-item{background:var(--bg-secondary);border:1px solid var(--border-subtle);cursor:pointer;transition:all var(--transition-fast);border-radius:8px;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.task-item:hover{border-color:var(--text-muted)}.task-item.done{opacity:.5}.task-item.done .task-title{text-decoration:line-through}.task-check{color:var(--text-muted);flex-shrink:0;margin-top:1px}.task-item.done .task-check{color:var(--text-tertiary)}.task-icon{color:var(--text-tertiary);flex-shrink:0;margin-top:1px}.task-text{flex-direction:column;gap:2px;min-width:0;display:flex}.task-title{color:var(--text-primary);font-size:14px;font-weight:500}.task-subtitle{color:var(--text-tertiary);font-size:12px}@media (max-width:768px){.home-card{padding:24px}.home-card-content{flex-direction:column;gap:32px}.calendar-panel,.today-panel{max-width:100%}.today-panel{border-left:none;border-top:1px solid var(--border-subtle);padding-top:32px;padding-left:0}}.subject-back-link{color:var(--text-tertiary);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;align-items:center;gap:6px;margin-bottom:24px;padding:0;font-size:13px;display:inline-flex}.subject-back-link:hover{color:var(--text-primary)}.subject-hero-section{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:flex-end;margin-bottom:20px;padding-bottom:18px;display:flex}.subject-hero-title{color:var(--text-primary);letter-spacing:-.01em;margin:0;font-size:20px;font-weight:600}.subject-hero-progress{align-items:baseline;gap:8px;display:flex}.subject-hero-value{color:var(--text-primary);font-size:24px;font-weight:600;line-height:1}.subject-hero-label{color:var(--text-muted);font-size:12px}.subject-analytics{margin-bottom:28px}.subject-analytics-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.subject-analytics-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);font-size:11px;font-weight:600}.subject-analytics-badge{color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:999px;padding:3px 7px;font-size:11px;font-weight:600}.subject-analytics-chart{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:12px;padding:10px 12px 8px}.subject-line-chart{display:block;overflow:visible}.subject-section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);margin:0 0 16px;font-size:11px;font-weight:600}@media (max-width:600px){.subject-hero-section{flex-direction:column;align-items:flex-start;gap:12px}.subject-hero-title{font-size:20px}.subject-hero-value{font-size:28px}}.progress-page{width:100%;max-width:1000px}.progress-card{background:var(--bg-elevated);border:1px solid var(--border-color);box-shadow:var(--shadow-md);border-radius:16px;padding:32px 36px}.step1-score-section{text-align:center;border-bottom:1px solid var(--border-subtle);flex-direction:column;align-items:center;gap:8px;margin-bottom:28px;padding-bottom:28px;display:flex}.step1-score-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);font-size:14px;font-weight:500}.step1-score-value{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:64px;font-weight:700;line-height:1}.step1-score-subtitle{color:var(--text-muted);margin-top:4px;font-size:13px}.progress-grid{flex-direction:column;gap:0;display:flex}.progress-topic-header-row{border-bottom:2px solid var(--border-color);justify-content:space-between;align-items:center;gap:16px;margin-bottom:4px;padding:10px 0 12px;display:flex}.progress-topic-header-row .progress-topic-meta{flex-shrink:0;align-items:center;gap:20px;display:flex}.progress-header-topic{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;flex:1;min-width:0;font-size:11px;font-weight:600}.progress-header-weight{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;text-align:right;min-width:60px;font-size:11px;font-weight:600}.progress-header-proficiency{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;text-align:center;min-width:140px;font-size:11px;font-weight:600}.progress-topic-item{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.progress-topic-item:last-child{border-bottom:none}.progress-topic-name{color:var(--text-primary);flex:1;min-width:0;font-size:14px;font-weight:600;line-height:1.3}.progress-topic-meta{flex-shrink:0;align-items:center;gap:20px;display:flex}.progress-meta-value{color:var(--text-muted);font-variant-numeric:tabular-nums;text-align:right;min-width:60px;font-size:12px;font-weight:500}.progress-proficiency-badge{border:1px solid var(--border-color);background:var(--bg-elevated);border-radius:6px;align-items:center;gap:6px;padding:3px 10px;display:inline-flex}.proficiency-score{color:var(--text-primary);font-variant-numeric:tabular-nums;border-right:1px solid var(--border-subtle);padding-right:6px;font-size:13px;font-weight:700}.proficiency-label{text-transform:uppercase;letter-spacing:.05em;padding-left:2px;font-size:9px;font-weight:600}.progress-proficiency-badge.critical .proficiency-label{color:var(--text-tertiary)}.progress-proficiency-badge.needs-work .proficiency-label{color:var(--text-muted)}.progress-proficiency-badge.acceptable .proficiency-label{color:var(--text-secondary)}.progress-proficiency-badge.proficient .proficiency-label{color:var(--text-primary)}@media (max-width:768px){.progress-card{padding:24px}.step1-score-section{margin-bottom:20px;padding-bottom:20px}.step1-score-value{font-size:48px}}.resources-page{width:100%;max-width:900px}.resources-card{background:var(--bg-elevated);border:1px solid var(--border-color);box-shadow:var(--shadow-md);border-radius:16px;padding:40px}.resources-header{text-align:center;border-bottom:1px solid var(--border-subtle);margin-bottom:40px;padding-bottom:32px}.resources-icon{color:var(--text-primary);margin:0 auto 16px}.resources-title{font-family:var(--font-logo);color:var(--text-primary);margin:0 0 8px;font-size:32px;font-weight:500}.resources-subtitle{color:var(--text-secondary);margin:0;font-size:14px}.resources-content{flex-direction:column;gap:36px;display:flex}.resource-section{flex-direction:column;gap:12px;display:flex}.resource-category{text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);margin:0 0 8px;font-size:13px;font-weight:600}.resource-list{flex-direction:column;gap:8px;display:flex}.resource-item{background:var(--bg-secondary);border:1px solid var(--border-subtle);transition:all var(--transition-fast);border-radius:10px;align-items:flex-start;gap:14px;padding:16px;text-decoration:none;display:flex}.resource-item:hover{border-color:var(--text-muted);background:var(--bg-tertiary)}.resource-icon-wrapper{background:var(--bg-elevated);border:1px solid var(--border-color);width:40px;height:40px;color:var(--text-tertiary);transition:all var(--transition-fast);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.resource-item:hover .resource-icon-wrapper{background:var(--bg-elevated);color:var(--accent-blue);border-color:var(--accent-blue)}.resource-text{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.resource-name-row{align-items:center;gap:8px;display:flex}.resource-name{color:var(--text-primary);font-size:15px;font-weight:600}.resource-external{color:var(--text-muted);transition:color var(--transition-fast);flex-shrink:0}.resource-item:hover .resource-external{color:var(--accent-blue)}.resource-description{color:var(--text-secondary);font-size:13px;line-height:1.5}@media (max-width:768px){.resources-card{padding:24px}.resources-header{margin-bottom:28px;padding-bottom:24px}.resources-title{font-size:26px}.resources-content{gap:28px}.resource-item{padding:14px}}.landing-page{background:var(--bg-primary);flex-direction:column;min-height:100vh;display:flex}.landing-hero{background-color:var(--bg-primary);background-image:linear-gradient(var(--graph-line)1px,transparent 1px),linear-gradient(90deg,var(--graph-line)1px,transparent 1px);background-position:-1px -1px;background-size:24px 24px;justify-content:center;align-items:center;min-height:100vh;padding:48px 24px;display:flex;position:relative}:root{--graph-line:#00000008}.dark{--graph-line:#ffffff06}.landing-hero-content{justify-content:center;align-items:center;gap:80px;width:100%;max-width:1100px;display:flex}.landing-hero-text{flex:1;max-width:480px}.landing-logo{align-items:center;gap:16px;margin-bottom:32px;display:flex}.landing-logo-icon{filter:drop-shadow(0 2px 4px #0000000d)}.dark .landing-logo-icon{filter:drop-shadow(0 2px 4px #0003)}.landing-logo-text{font-family:var(--font-logo);color:var(--text-primary);letter-spacing:.02em;margin:0;font-size:56px;font-weight:500;line-height:1}.landing-headline{display:none}.landing-tagline{color:var(--text-secondary);margin:0 0 32px;font-size:18px;line-height:1.7}.landing-features-list{flex-direction:column;gap:12px;margin-bottom:32px;display:flex}.landing-feature-row{color:var(--text-secondary);align-items:center;gap:10px;font-size:14px;display:flex}.landing-feature-row svg{color:var(--text-tertiary);flex-shrink:0}.landing-scroll-btn{color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;align-items:center;gap:6px;padding:0;font-size:13px;display:inline-flex}.landing-scroll-btn:hover{color:var(--text-secondary)}.hero-shapes{display:none}.landing-auth-card{background:var(--bg-elevated);border:1px solid var(--border-color);box-shadow:var(--shadow-lg);border-radius:16px;flex-shrink:0;width:100%;max-width:400px;padding:40px}.landing-auth-card h2{color:var(--text-primary);text-align:center;margin:0 0 8px;font-size:24px;font-weight:600}.landing-auth-subtitle{color:var(--text-secondary);text-align:center;margin:0 0 28px;font-size:14px}.landing-error{background:var(--accent-red-soft);border:1px solid var(--accent-red);color:var(--accent-red);text-align:center;border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:13px}.landing-auth-form{flex-direction:column;gap:12px;margin-bottom:16px;display:flex}.landing-input{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);transition:all var(--transition-fast);border-radius:8px;padding:12px 16px;font-family:inherit;font-size:14px}.landing-input:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px var(--accent-blue-soft);outline:none}.landing-input::placeholder{color:var(--text-muted)}.landing-btn-primary{background:var(--text-primary);color:var(--bg-primary);cursor:pointer;transition:all var(--transition-fast);border:none;border-radius:8px;padding:12px 20px;font-size:14px;font-weight:600}.landing-btn-primary:hover:not(:disabled){opacity:.9}.landing-btn-primary:disabled{opacity:.5;cursor:not-allowed}.landing-divider{color:var(--text-muted);align-items:center;gap:16px;margin:20px 0;font-size:12px;display:flex}.landing-divider:before,.landing-divider:after{content:"";background:var(--border-color);flex:1;height:1px}.landing-btn-google{background:var(--bg-tertiary);width:100%;color:var(--text-primary);border:1px solid var(--border-color);cursor:pointer;transition:all var(--transition-fast);border-radius:8px;justify-content:center;align-items:center;gap:10px;padding:12px 20px;font-size:14px;font-weight:500;display:flex}.landing-btn-google:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--text-muted)}.landing-btn-google:disabled{opacity:.5;cursor:not-allowed}.landing-auth-toggle{text-align:center;color:var(--text-secondary);margin:20px 0 0;font-size:13px}.landing-auth-toggle button{color:var(--accent-blue);cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;font-weight:600}.landing-auth-toggle button:hover{text-decoration:underline}.landing-section{background:var(--bg-primary);padding:80px 24px}.landing-section-alt{background:var(--bg-secondary)}.landing-section-inner{max-width:900px;margin:0 auto}.landing-section-header{text-align:center;margin-bottom:48px}.landing-section-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:12px;font-size:11px;font-weight:600;display:block}.landing-section-title{font-family:var(--font-logo);color:var(--text-primary);margin:0;font-size:32px;font-weight:500}.landing-features-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.landing-card{background:var(--bg-elevated);border:1px solid var(--border-color);transition:all var(--transition-normal);border-radius:12px;padding:28px}.landing-card:hover{border-color:var(--text-muted)}.landing-card-icon{background:var(--bg-secondary);width:44px;height:44px;color:var(--text-tertiary);border-radius:10px;justify-content:center;align-items:center;margin-bottom:16px;display:flex}.landing-card h3{color:var(--text-primary);margin:0 0 8px;font-size:15px;font-weight:600}.landing-card p{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.6}.landing-science-card{background:var(--bg-elevated);border:1px solid var(--border-color);box-shadow:var(--shadow-md);border-radius:16px;grid-template-columns:1.2fr .8fr;align-items:center;gap:48px;padding:40px;display:grid}.landing-science-content{flex-direction:column;gap:28px;display:flex}.landing-science-point{gap:16px;display:flex}.landing-science-number{background:var(--bg-secondary);border:1px solid var(--border-color);width:28px;height:28px;color:var(--text-secondary);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}.landing-science-point h4{color:var(--text-primary);margin:0 0 6px;font-size:14px;font-weight:600}.landing-science-point p{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.6}.landing-science-visual{justify-content:center;align-items:center;display:flex}.landing-retention-demo{text-align:center;width:100%;max-width:200px}.retention-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:20px;font-size:11px;font-weight:600}.retention-bars{justify-content:center;align-items:flex-end;gap:24px;height:120px;margin-bottom:12px;display:flex}.retention-bar-group{flex-direction:column;align-items:center;gap:8px;display:flex}.retention-bar{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:4px;width:40px}.retention-bar.active{background:var(--text-tertiary);border-color:var(--text-tertiary)}.retention-bar-group span{color:var(--text-muted);font-size:11px}.retention-caption{color:var(--text-muted);margin-top:8px;font-size:11px}.landing-content-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.landing-content-card{background:var(--bg-elevated);border:1px solid var(--border-color);transition:all var(--transition-normal);border-radius:12px;padding:24px}.landing-content-card:hover{border-color:var(--text-muted)}.landing-content-card h3{color:var(--text-primary);margin:0 0 8px;font-size:14px;font-weight:600}.landing-content-card>p{color:var(--text-secondary);margin:0 0 16px;font-size:13px;line-height:1.6}.landing-content-topics{flex-wrap:wrap;gap:6px;display:flex}.landing-content-topics span{background:var(--bg-secondary);color:var(--text-tertiary);border-radius:4px;padding:4px 10px;font-size:11px;font-weight:500}.landing-faq-list{flex-direction:column;gap:8px;display:flex}.landing-faq-item{background:var(--bg-elevated);border:1px solid var(--border-color);transition:border-color var(--transition-fast);border-radius:10px;overflow:hidden}.landing-faq-item:hover{border-color:var(--text-muted)}.landing-faq-question{text-align:left;width:100%;color:var(--text-primary);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;font-size:14px;font-weight:500;display:flex}.landing-faq-chevron{color:var(--text-muted);transition:transform var(--transition-fast);flex-shrink:0}.landing-faq-item.open .landing-faq-chevron{transform:rotate(180deg)}.landing-faq-answer{max-height:0;transition:max-height var(--transition-slow);overflow:hidden}.landing-faq-item.open .landing-faq-answer{max-height:200px}.landing-faq-answer p{color:var(--text-secondary);margin:0;padding:0 20px 18px;font-size:13px;line-height:1.7}.landing-cta-card{background:var(--bg-elevated);border:1px solid var(--border-color);box-shadow:var(--shadow-md);text-align:center;border-radius:16px;padding:48px}.landing-cta-icon{filter:drop-shadow(0 2px 4px #0000000d);margin:0 auto 20px;display:block}.dark .landing-cta-icon{filter:drop-shadow(0 2px 4px #0003)}.landing-cta-card h2{font-family:var(--font-logo);color:var(--text-primary);margin:0 0 8px;font-size:28px;font-weight:500}.landing-cta-card p{color:var(--text-secondary);margin:0 0 28px;font-size:14px}.landing-cta-btn{background:var(--text-primary);color:var(--bg-primary);cursor:pointer;transition:opacity var(--transition-fast);border:none;border-radius:8px;align-items:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:600;display:inline-flex}.landing-cta-btn:hover{opacity:.9}.landing-footer{border-top:1px solid var(--border-color);background:var(--bg-primary);padding:32px 24px}.landing-footer-content{text-align:center;max-width:900px;margin:0 auto}.landing-footer-brand{align-items:center;gap:8px;margin-bottom:12px;display:inline-flex}.landing-footer-brand span{font-family:var(--font-logo);color:var(--text-primary);font-size:20px;font-weight:500}.landing-footer-content>p{color:var(--text-secondary);margin:0 0 8px;font-size:13px}.landing-footer-copy{color:var(--text-muted);font-size:12px}@media (max-width:968px){.landing-hero-content{text-align:center;flex-direction:column;gap:48px}.landing-hero-text{max-width:100%}.landing-logo{justify-content:center}.landing-features-list{align-items:center}.landing-scroll-btn{display:none}.landing-auth-card{max-width:100%}.landing-features-grid{grid-template-columns:1fr}.landing-science-card{grid-template-columns:1fr;gap:32px}.landing-content-grid{grid-template-columns:1fr}}@media (max-width:640px){.landing-hero{padding:32px 20px}.landing-logo-text{font-size:42px}.landing-tagline{font-size:16px}.landing-auth-card{padding:28px 24px}.landing-section{padding:56px 20px}.landing-section-title{font-size:26px}.landing-card{padding:20px}.landing-science-card{padding:28px}.landing-cta-card{padding:32px 24px}.landing-faq-question{padding:16px;font-size:13px}.landing-faq-answer p{padding:0 16px 16px;font-size:12px}}.loading-screen{flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:100vh;display:flex}.loading-spinner{border:4px solid var(--border-color);border-top-color:var(--accent-blue);border-radius:50%;width:48px;height:48px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-screen p{color:var(--text-secondary);font-size:14px}.typeform-page{width:100%;max-width:680px}.typeform-card{background:var(--bg-elevated);border:1px solid var(--border-color);box-shadow:var(--shadow-md);border-radius:16px;flex-direction:column;min-height:420px;padding:48px;display:flex}.typeform-loading{flex:1;justify-content:center;align-items:center;display:flex}.typeform-question{flex-direction:column;flex:1;display:flex}.typeform-header{align-items:baseline;gap:10px;margin-bottom:32px;display:flex}.typeform-number{color:var(--text-tertiary);font-size:16px;font-weight:600}.typeform-arrow{color:var(--text-tertiary);flex-shrink:0}.typeform-header h2{color:var(--text-primary);margin:0;font-size:22px;font-weight:600;line-height:1.4}.typeform-input-area{flex:1;margin-bottom:24px}.typeform-text-input{background:var(--bg-secondary);border:1px solid var(--border-color);width:100%;color:var(--text-primary);transition:all var(--transition-fast);border-radius:8px;padding:14px 16px;font-family:inherit;font-size:16px}.typeform-text-input:focus{border-color:var(--text-primary);box-shadow:0 0 0 3px var(--accent-blue-soft);outline:none}.typeform-text-input::placeholder{color:var(--text-muted)}.typeform-text-input.typeform-date{max-width:220px}.typeform-hint{color:var(--text-muted);margin-top:10px;font-size:12px;display:block}.typeform-slider-container{max-width:100%}.typeform-score-display{margin-bottom:20px}.score-value{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:56px;font-weight:700;line-height:1}.typeform-slider{appearance:none;background:var(--bg-secondary);border:1px solid var(--border-color);cursor:pointer;border-radius:3px;outline:none;width:100%;height:6px}.typeform-slider::-webkit-slider-thumb{appearance:none;background:var(--text-primary);cursor:grab;width:24px;height:24px;box-shadow:var(--shadow-md);transition:transform var(--transition-fast);border-radius:50%}.typeform-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.typeform-slider::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.15)}.typeform-slider::-moz-range-thumb{background:var(--text-primary);cursor:grab;width:24px;height:24px;box-shadow:var(--shadow-md);border:none;border-radius:50%}.typeform-slider::-moz-range-thumb:hover{transform:scale(1.1)}.typeform-slider::-moz-range-track{background:var(--bg-secondary);border-radius:3px;height:6px}.typeform-slider-labels{color:var(--text-muted);font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:10px;font-size:12px;display:flex}.typeform-select-wrapper{max-width:280px;position:relative}.typeform-select{background:var(--bg-secondary);border:1px solid var(--border-color);width:100%;color:var(--text-primary);appearance:none;cursor:pointer;transition:all var(--transition-fast);border-radius:8px;padding:14px 40px 14px 16px;font-family:inherit;font-size:16px}.typeform-select:focus{border-color:var(--text-primary);box-shadow:0 0 0 3px var(--accent-blue-soft);outline:none}.typeform-select-icon{color:var(--text-muted);pointer-events:none;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.typeform-choices{flex-direction:column;gap:8px;display:flex}.typeform-choices.two-columns{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}@media (max-width:640px){.typeform-choices.two-columns{grid-template-columns:1fr}}.typeform-choice{background:var(--bg-secondary);border:1px solid var(--border-color);cursor:pointer;transition:all var(--transition-fast);text-align:left;border-radius:8px;align-items:center;gap:12px;padding:12px 14px;display:flex}.typeform-choice:hover{border-color:var(--text-muted)}.typeform-choice.selected{border-color:var(--text-primary);background:var(--bg-tertiary)}.choice-letter{background:var(--bg-elevated);border:1px solid var(--border-color);width:22px;height:22px;color:var(--text-tertiary);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:flex}.typeform-choice.selected .choice-letter{background:var(--text-primary);border-color:var(--text-primary);color:var(--bg-primary)}.choice-checkbox{background:var(--bg-elevated);border:1px solid var(--border-color);color:#0000;width:18px;height:18px;transition:all var(--transition-fast);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.typeform-choice.selected .choice-checkbox{background:var(--text-primary);border-color:var(--text-primary);color:var(--bg-primary)}.choice-content{flex-direction:column;flex:1;gap:2px;display:flex}.choice-text{color:var(--text-primary);flex:1;font-size:14px;font-weight:500}.choice-desc{color:var(--text-secondary);font-size:12px}.choice-check{color:var(--text-primary);flex-shrink:0}.typeform-action{border-top:1px solid var(--border-subtle);align-items:center;gap:16px;margin-top:24px;padding-top:24px;display:flex}.typeform-done-btn{background:var(--text-primary);color:var(--bg-primary);cursor:pointer;transition:all var(--transition-fast);border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;display:flex}.typeform-done-btn:hover:not(:disabled){opacity:.9}.typeform-done-btn:disabled{opacity:.4;cursor:not-allowed}.typeform-enter-hint{color:var(--text-muted);font-size:12px}.typeform-enter-hint strong{color:var(--text-secondary);font-weight:600}@media (max-width:640px){.typeform-card{min-height:380px;padding:32px 24px}.typeform-header h2{font-size:18px}.score-value{font-size:42px}}.top-bar{z-index:100;align-items:center;gap:12px;display:flex;position:fixed;top:16px;right:16px}.logout-button{background:var(--bg-elevated);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);border-radius:8px;align-items:center;gap:8px;padding:8px 16px;font-size:14px;font-weight:500;display:flex}.logout-button:hover{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--accent-red)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
