@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Plus+Jakarta+Sans:wght@500;600;700;800&family=Space+Grotesk:wght@500;600;700&display=swap";
@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;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:var(--font-sans);--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-400:#ff6568;--color-red-500:#fb2c36;--color-orange-400:#ff8b1a;--color-orange-500:#fe6e00;--color-amber-400:#fcbb00;--color-amber-500:#f99c00;--color-yellow-400:#fac800;--color-yellow-500:#edb200;--color-green-400:#05df72;--color-green-500:#00c758;--color-blue-400:#54a2ff;--color-blue-500:#3080ff;--color-purple-400:#c07eff;--color-purple-500:#ac4bff;--color-gray-400:#99a1af;--color-gray-500:#6a7282;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-4xl:56rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-tight:-.025em;--tracking-wide:.025em;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--shadow-xs:0 1px 2px 0 #0000000d;--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;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)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);--color-primary:var(--color-primary);--color-primary-light:var(--color-primary-light);--color-primary-dark:var(--color-primary-dark);--color-secondary:var(--color-secondary);--color-secondary-light:var(--color-secondary-light);--color-secondary-dark:var(--color-secondary-dark);--color-accent:var(--color-accent);--color-accent-light:var(--color-accent-light);--color-correct:var(--color-correct);--color-incorrect:var(--color-incorrect);--font-display:var(--font-display)}@supports (color:lab(0% 0 0)){:root,:host{--color-red-400:lab(63.7053% 60.745 31.3109);--color-red-500:lab(55.4814% 75.0732 48.8528);--color-orange-400:lab(70.0429% 42.5156 75.8207);--color-orange-500:lab(64.272% 57.1788 90.3583);--color-amber-400:lab(80.1641% 16.6016 99.2089);--color-amber-500:lab(72.7183% 31.8672 97.9407);--color-yellow-400:lab(83.2664% 8.65132 106.895);--color-yellow-500:lab(76.3898% 14.5258 98.4589);--color-green-400:lab(78.503% -64.9265 39.7492);--color-green-500:lab(70.5521% -66.5147 45.8073);--color-blue-400:lab(65.0361% -1.42065 -56.9802);--color-blue-500:lab(54.1736% 13.3369 -74.6839);--color-purple-400:lab(63.6946% 47.6127 -59.2066);--color-purple-500:lab(52.0183% 66.11 -78.2316);--color-gray-400:lab(65.9269% -.832707 -8.17473);--color-gray-500:lab(47.7841% -.393182 -10.0268)}}}@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{.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.top-2{top:calc(var(--spacing)*2)}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.z-50{z-index:50}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-8{margin-top:calc(var(--spacing)*8)}.mb-0{margin-bottom:calc(var(--spacing)*0)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.ml-2{margin-left:calc(var(--spacing)*2)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.h-5{height:calc(var(--spacing)*5)}.h-8{height:calc(var(--spacing)*8)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-14{height:calc(var(--spacing)*14)}.h-16{height:calc(var(--spacing)*16)}.h-32{height:calc(var(--spacing)*32)}.min-h-\[60vh\]{min-height:60vh}.min-h-screen{min-height:100vh}.w-5{width:calc(var(--spacing)*5)}.w-8{width:calc(var(--spacing)*8)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-14{width:calc(var(--spacing)*14)}.w-16{width:calc(var(--spacing)*16)}.w-48{width:calc(var(--spacing)*48)}.w-64{width:calc(var(--spacing)*64)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-\[var\(--container-lg\)\],.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\[20px\]{min-width:20px}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-not-allowed{cursor:not-allowed}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-\[var\(--color-border\)\]{border-color:var(--color-border)}.border-\[var\(--color-incorrect\)\]{border-color:var(--color-incorrect)}.border-\[var\(--color-primary\)\]{border-color:var(--color-primary)}.border-red-500\/30{border-color:#fb2c364d}@supports (color:color-mix(in lab, red, red)){.border-red-500\/30{border-color:color-mix(in oklab,var(--color-red-500)30%,transparent)}}.border-t-transparent{border-top-color:#0000}.bg-\[var\(--color-band-building\)\]{background-color:var(--color-band-building)}.bg-\[var\(--color-bg-card\)\]{background-color:var(--color-bg-card)}.bg-\[var\(--color-bg-primary\)\]{background-color:var(--color-bg-primary)}.bg-\[var\(--color-bg-secondary\)\]{background-color:var(--color-bg-secondary)}.bg-\[var\(--color-correct-bg\)\]{background-color:var(--color-correct-bg)}.bg-\[var\(--color-incorrect-bg\)\]{background-color:var(--color-incorrect-bg)}.bg-\[var\(--color-primary\)\]{background-color:var(--color-primary)}.bg-\[var\(--color-surface-elevated\)\]{background-color:var(--color-surface-elevated)}.bg-amber-500\/20{background-color:#f99c0033}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\/20{background-color:color-mix(in oklab,var(--color-amber-500)20%,transparent)}}.bg-blue-500\/20{background-color:#3080ff33}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\/20{background-color:color-mix(in oklab,var(--color-blue-500)20%,transparent)}}.bg-gray-500\/20{background-color:#6a728233}@supports (color:color-mix(in lab, red, red)){.bg-gray-500\/20{background-color:color-mix(in oklab,var(--color-gray-500)20%,transparent)}}.bg-green-500\/20{background-color:#00c75833}@supports (color:color-mix(in lab, red, red)){.bg-green-500\/20{background-color:color-mix(in oklab,var(--color-green-500)20%,transparent)}}.bg-orange-500\/20{background-color:#fe6e0033}@supports (color:color-mix(in lab, red, red)){.bg-orange-500\/20{background-color:color-mix(in oklab,var(--color-orange-500)20%,transparent)}}.bg-purple-500\/20{background-color:#ac4bff33}@supports (color:color-mix(in lab, red, red)){.bg-purple-500\/20{background-color:color-mix(in oklab,var(--color-purple-500)20%,transparent)}}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500)10%,transparent)}}.bg-red-500\/20{background-color:#fb2c3633}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/20{background-color:color-mix(in oklab,var(--color-red-500)20%,transparent)}}.bg-yellow-500\/20{background-color:#edb20033}@supports (color:color-mix(in lab, red, red)){.bg-yellow-500\/20{background-color:color-mix(in oklab,var(--color-yellow-500)20%,transparent)}}.p-1{padding:calc(var(--spacing)*1)}.p-4{padding:calc(var(--spacing)*4)}.p-12{padding:calc(var(--spacing)*12)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-5{padding-block:calc(var(--spacing)*5)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.py-16{padding-block:calc(var(--spacing)*16)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-6{padding-top:calc(var(--spacing)*6)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.text-\[var\(--color-correct\)\]{color:var(--color-correct)}.text-\[var\(--color-incorrect\)\]{color:var(--color-incorrect)}.text-\[var\(--color-primary\)\]{color:var(--color-primary)}.text-\[var\(--color-text-muted\)\]{color:var(--color-text-muted)}.text-\[var\(--color-text-primary\)\]{color:var(--color-text-primary)}.text-\[var\(--color-text-secondary\)\]{color:var(--color-text-secondary)}.text-amber-400{color:var(--color-amber-400)}.text-blue-400{color:var(--color-blue-400)}.text-gray-400{color:var(--color-gray-400)}.text-green-400{color:var(--color-green-400)}.text-orange-400{color:var(--color-orange-400)}.text-purple-400{color:var(--color-purple-400)}.text-red-400{color:var(--color-red-400)}.text-white{color:var(--color-white)}.text-yellow-400{color:var(--color-yellow-400)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.opacity-75{opacity:.75}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.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))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.hover\:bg-\[var\(--color-bg-secondary\)\]:hover{background-color:var(--color-bg-secondary)}.hover\:bg-\[var\(--color-incorrect-bg\)\]:hover{background-color:var(--color-incorrect-bg)}.hover\:bg-gray-500\/30:hover{background-color:#6a72824d}@supports (color:color-mix(in lab, red, red)){.hover\:bg-gray-500\/30:hover{background-color:color-mix(in oklab,var(--color-gray-500)30%,transparent)}}.hover\:bg-green-500\/30:hover{background-color:#00c7584d}@supports (color:color-mix(in lab, red, red)){.hover\:bg-green-500\/30:hover{background-color:color-mix(in oklab,var(--color-green-500)30%,transparent)}}.hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.hover\:text-\[var\(--color-text\)\]:hover{color:var(--color-text)}.hover\:underline:hover{text-decoration-line:underline}}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}@media (min-width:40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-start{align-items:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:gap-4{gap:calc(var(--spacing)*4)}.sm\:p-6{padding:calc(var(--spacing)*6)}.sm\:py-6{padding-block:calc(var(--spacing)*6)}.sm\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}}@media (min-width:64rem){.lg\:p-8{padding:calc(var(--spacing)*8)}}}:root{--color-primary:#7c3aed;--color-primary-light:#a78bfa;--color-primary-dark:#5b21b6;--color-primary-subtle:#7c3aed14;--color-secondary:#14b8a6;--color-secondary-light:#5eead4;--color-secondary-dark:#0d9488;--color-accent:#f97316;--color-accent-light:#fb923c;--color-accent-subtle:#f973161a;--color-correct:#22c55e;--color-correct-bg:#22c55e1f;--color-incorrect:#f87171;--color-incorrect-bg:#f871711f;--color-neutral:#94a3b8;--color-bg:#fafaf9;--color-bg-card:#fff;--color-bg-hover:#f5f5f4;--color-bg-active:#e7e5e4;--color-bg-elevated:#fff;--color-text:#1c1917;--color-text-secondary:#44403c;--color-text-muted:#78716c;--color-text-inverse:#fff;--color-border:#e7e5e4;--color-border-hover:#d6d3d1;--color-border-focus:var(--color-primary);--color-band-not-started:#e7e5e4;--color-band-building:#fbbf24;--color-band-growing:#38bdf8;--color-band-consistent:#4ade80;--color-band-ready:#a78bfa;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--font-display:"Space Grotesk","Inter",-apple-system,sans-serif;--font-brand:"Plus Jakarta Sans","Inter",-apple-system,sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-md:1.125rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--font-size-2xl:2rem;--font-size-3xl:2.5rem;--font-size-4xl:3rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--line-height-tight:1.2;--line-height-snug:1.375;--line-height-normal:1.5;--line-height-relaxed:1.625;--tracking-tight:-.025em;--tracking-normal:0;--tracking-wide:.025em;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--spacing-3xl:4rem;--gap-responsive-sm:clamp(.25rem,1vw,.5rem);--gap-responsive-md:clamp(.5rem,2vw,1rem);--gap-responsive-lg:clamp(.75rem,3vw,1.5rem);--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.25rem;--radius-full:9999px;--shadow-xs:0 1px 2px #1c19170a;--shadow-sm:0 1px 3px #1c19170f,0 1px 2px #1c19170a;--shadow-md:0 4px 6px #1c19170d,0 2px 4px #1c191708;--shadow-lg:0 10px 15px #1c191714,0 4px 6px #1c19170a;--shadow-xl:0 20px 25px #1c19171a,0 8px 10px #1c19170a;--shadow-glow:0 0 20px #7c3aed26;--transition-fast:.15s cubic-bezier(.4,0,.2,1);--transition-normal:.2s cubic-bezier(.4,0,.2,1);--transition-slow:.3s cubic-bezier(.4,0,.2,1);--transition-bounce:.5s cubic-bezier(.34,1.56,.64,1);--z-base:0;--z-elevated:10;--z-sticky:50;--z-modal:100;--z-toast:200;--touch-target:44px;--container-sm:640px;--container-md:768px;--container-lg:1024px}.dark{--color-bg:#1c1917;--color-bg-card:#292524;--color-bg-hover:#3f3a36;--color-bg-active:#57534e;--color-bg-elevated:#44403c;--color-surface-elevated:#3f3a36;--color-text:#fafaf9;--color-text-secondary:#d6d3d1;--color-text-muted:#a8a29e;--color-text-inverse:#fff;--color-border:#44403c;--color-border-hover:#57534e;--shadow-xs:0 1px 2px #0003;--shadow-sm:0 1px 3px #0000004d,0 1px 2px #0003;--shadow-md:0 4px 6px #00000040,0 2px 4px #00000026;--shadow-lg:0 10px 15px #0000004d,0 4px 6px #0003;--shadow-xl:0 20px 25px #00000059,0 8px 10px #0003}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-sans);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-bg);min-height:100vh}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}:focus:not(:focus-visible){outline:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:var(--tracking-tight);color:var(--color-text)}h1{font-size:var(--font-size-3xl);font-weight:var(--font-weight-extrabold)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}@media (max-width:480px){h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1.125rem}}@media (max-width:360px){h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.125rem}h4{font-size:1rem}}.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}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html{scroll-behavior:auto}}@media (prefers-contrast:high){:root{--color-border:#000;--color-text:#000;--color-bg:#fff}}.app-header{padding:var(--spacing-md)var(--spacing-lg);z-index:var(--z-sticky);background:linear-gradient(135deg,#1c1917 0%,#292524 100%);border-bottom:1px solid #ffffff0f;position:sticky;top:0}.header-content{max-width:var(--container-lg);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.app-logo{align-items:center;gap:var(--spacing-sm);color:var(--color-text-inverse);text-decoration:none;display:flex}.app-logo-icon{flex-shrink:0;width:38px;height:38px}.app-logo-icon img{border-radius:var(--radius-lg);width:100%;height:100%}.app-title{font-family:var(--font-brand);color:var(--color-text-inverse);letter-spacing:-.3px;font-size:1.75rem;font-weight:700}@media (max-width:640px){.app-title{font-size:1.5rem}}@media (max-width:480px){.app-title{font-size:1.25rem}}.app-title .title-highlight{color:#fb923c;font-weight:800}.header-actions{gap:var(--spacing-sm);display:flex}.btn{justify-content:center;align-items:center;gap:var(--spacing-sm);min-height:var(--touch-target);padding:var(--spacing-sm)var(--spacing-lg);font-family:var(--font-sans);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;border:none;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--color-primary)0%,var(--color-primary-dark)100%);color:var(--color-text-inverse);box-shadow:0 2px 8px #7c3aed40}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #7c3aed59}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:var(--color-bg-card);color:var(--color-text);border:1px solid var(--color-border);box-shadow:var(--shadow-xs)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-border-hover)}.btn-ghost{color:var(--color-text-secondary);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text)}.btn-ghost-light{color:#ffffffe6;background:#ffffff14}.btn-ghost-light:hover:not(:disabled){color:var(--color-text-inverse);background:#ffffff1f}.btn-lg{min-height:52px;padding:var(--spacing-md)var(--spacing-xl);font-size:var(--font-size-md);border-radius:var(--radius-xl)}.btn-sm{min-height:36px;padding:var(--spacing-xs)var(--spacing-md);font-size:var(--font-size-sm)}.btn-icon{padding:var(--spacing-sm);min-width:var(--touch-target)}.btn-block{width:100%}.card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-lg);box-shadow:var(--shadow-sm)}.card-interactive{cursor:pointer;transition:all var(--transition-fast)}.card-interactive:hover{border-color:var(--color-primary-light);box-shadow:var(--shadow-md),var(--shadow-glow);transform:translateY(-2px)}.browse-grid{gap:var(--gap-responsive-md);grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));display:grid}.browse-grid-classes{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.browse-card{text-align:center;padding:var(--spacing-xl)}.browse-card-icon{font-family:var(--font-display);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-md)}.browse-card-icon-wrapper{border-radius:var(--radius-lg);width:64px;height:64px;color:var(--color-text-inverse);font-family:var(--font-display);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin:0 auto var(--spacing-md);justify-content:center;align-items:center;display:flex}.browse-card-title{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs);color:var(--color-text)}.browse-card-subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted)}.breadcrumb{align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--spacing-lg);flex-wrap:wrap;margin-top:0;padding:0;list-style:none;display:flex}.breadcrumb-item{align-items:center;gap:var(--spacing-sm);display:flex}.breadcrumb-link{min-height:var(--touch-target);padding:var(--spacing-xs)var(--spacing-sm);color:var(--color-text-secondary);transition:color var(--transition-fast);align-items:center;text-decoration:none;display:inline-flex}.breadcrumb-separator{color:var(--color-text-muted)}.breadcrumb-current{color:var(--color-text);font-weight:var(--font-weight-medium)}.theme-list{gap:var(--spacing-md);padding-bottom:var(--spacing-2xl);flex-direction:column;display:flex}.theme-section{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);transition:all var(--transition-normal);overflow:hidden}.theme-section:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-sm)}.theme-header{padding:var(--spacing-md)var(--spacing-lg);cursor:pointer;transition:background var(--transition-fast);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;font-family:inherit;display:flex}.theme-header:hover{background:var(--color-bg-hover)}.theme-info{align-items:center;gap:var(--spacing-md);display:flex}.theme-icon{border-radius:var(--radius-lg);width:44px;height:44px;color:var(--color-text-inverse);font-family:var(--font-display);font-weight:var(--font-weight-bold);font-size:var(--font-size-lg);box-shadow:var(--shadow-sm);flex-shrink:0;justify-content:center;align-items:center;display:flex}.theme-section:nth-child(10n+1) .theme-icon{background:linear-gradient(135deg,#7c3aed 0%,#5b21b6 100%)}.theme-section:nth-child(10n+2) .theme-icon{background:linear-gradient(135deg,#14b8a6 0%,#0d9488 100%)}.theme-section:nth-child(10n+3) .theme-icon{background:linear-gradient(135deg,#f97316 0%,#ea580c 100%)}.theme-section:nth-child(10n+4) .theme-icon{background:linear-gradient(135deg,#ec4899 0%,#db2777 100%)}.theme-section:nth-child(10n+5) .theme-icon{background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%)}.theme-section:nth-child(10n+6) .theme-icon{background:linear-gradient(135deg,#22c55e 0%,#16a34a 100%)}.theme-section:nth-child(10n+7) .theme-icon{background:linear-gradient(135deg,#eab308 0%,#ca8a04 100%)}.theme-section:nth-child(10n+8) .theme-icon{background:linear-gradient(135deg,#8b5cf6 0%,#7c3aed 100%)}.theme-section:nth-child(10n+9) .theme-icon{background:linear-gradient(135deg,#06b6d4 0%,#0891b2 100%)}.theme-section:nth-child(10n+10) .theme-icon{background:linear-gradient(135deg,#f43f5e 0%,#e11d48 100%)}.theme-text{flex-direction:column;gap:2px;display:flex}.theme-name{font-family:var(--font-display);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-tight);padding:var(--spacing-xs)var(--spacing-sm);border-radius:var(--radius-md);display:inline-block}.theme-section:nth-child(10n+1) .theme-name{color:#5b21b6;background:#7c3aed1f}.theme-section:nth-child(10n+2) .theme-name{color:#0d9488;background:#14b8a61f}.theme-section:nth-child(10n+3) .theme-name{color:#ea580c;background:#f973161f}.theme-section:nth-child(10n+4) .theme-name{color:#db2777;background:#ec48991f}.theme-section:nth-child(10n+5) .theme-name{color:#2563eb;background:#3b82f61f}.theme-section:nth-child(10n+6) .theme-name{color:#16a34a;background:#22c55e1f}.theme-section:nth-child(10n+7) .theme-name{color:#a16207;background:#eab3081f}.theme-section:nth-child(10n+8) .theme-name{color:#6d28d9;background:#8b5cf61f}.theme-section:nth-child(10n+9) .theme-name{color:#0891b2;background:#06b6d41f}.theme-section:nth-child(10n+10) .theme-name{color:#e11d48;background:#f43f5e1f}.theme-count{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:var(--font-weight-normal)}.theme-toggle-icon{width:20px;height:20px;color:var(--color-text-muted);transition:transform var(--transition-normal);flex-shrink:0}.theme-section.expanded .theme-toggle-icon{transform:rotate(180deg)}.topic-list{padding:var(--spacing-sm)var(--spacing-md)var(--spacing-md);gap:var(--spacing-sm);border-top:1px solid var(--color-border);background:var(--color-bg);flex-direction:column;display:none}.theme-section.expanded .topic-list{animation:topicListReveal var(--transition-slow);display:flex}@keyframes topicListReveal{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.topic-card{padding:var(--spacing-md);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);justify-content:space-between;align-items:center;display:flex}.topic-card:hover{border-color:var(--color-primary-light);background:var(--color-bg-card);box-shadow:var(--shadow-sm);transform:translate(4px)}.topic-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.topic-info{flex:1;min-width:0}.topic-name{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);margin-bottom:var(--spacing-xs);padding:var(--spacing-xs)var(--spacing-sm);border-radius:var(--radius-md);white-space:nowrap;text-overflow:ellipsis;background:#78716c1a;max-width:100%;display:inline-block;overflow:hidden}.theme-section:nth-child(10n+1) .topic-name{color:#7c3aed}.theme-section:nth-child(10n+2) .topic-name{color:#0d9488}.theme-section:nth-child(10n+3) .topic-name{color:#ea580c}.theme-section:nth-child(10n+4) .topic-name{color:#db2777}.theme-section:nth-child(10n+5) .topic-name{color:#2563eb}.theme-section:nth-child(10n+6) .topic-name{color:#16a34a}.theme-section:nth-child(10n+7) .topic-name{color:#ca8a04}.theme-section:nth-child(10n+8) .topic-name{color:#7c3aed}.theme-section:nth-child(10n+9) .topic-name{color:#0891b2}.theme-section:nth-child(10n+10) .topic-name{color:#e11d48}.topic-concepts{font-size:var(--font-size-sm);color:var(--color-text-muted)}.topic-proficiency{align-items:center;gap:var(--spacing-sm);flex-shrink:0;display:flex}.topic-arrow{color:var(--color-text-muted);transition:transform var(--transition-fast)}.topic-card:hover .topic-arrow{transform:translate(2px)}.proficiency-badge{padding:var(--spacing-xs)var(--spacing-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-full);white-space:nowrap;align-items:center;display:inline-flex}.proficiency-badge-sm{padding:2px var(--spacing-xs);font-size:.6875rem}.proficiency-badge.not-started{background:var(--color-band-not-started);color:var(--color-text-muted)}.proficiency-badge.building-familiarity{background:var(--color-band-building);color:#78350f}.proficiency-badge.growing-confidence{background:var(--color-band-growing);color:#0c4a6e}.proficiency-badge.consistent-understanding{background:var(--color-band-consistent);color:#14532d}.proficiency-badge.exam-ready{background:var(--color-band-ready);color:#3b0764}.proficiency-band-large{padding:var(--spacing-sm)var(--spacing-md);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);border-radius:var(--radius-lg);align-items:center;display:inline-flex}.proficiency-band-large.not-started{background:var(--color-band-not-started);color:var(--color-text-muted)}.proficiency-band-large.building-familiarity{background:var(--color-band-building);color:#78350f}.proficiency-band-large.growing-confidence{background:var(--color-band-growing);color:#0c4a6e}.proficiency-band-large.consistent-understanding{background:var(--color-band-consistent);color:#14532d}.proficiency-band-large.exam-ready{background:var(--color-band-ready);color:#3b0764}@media (max-width:480px){.header-content{gap:var(--spacing-sm);flex-wrap:wrap}.app-title{font-size:1.25rem}.app-logo-icon{width:36px;height:36px;font-size:1.25rem}.theme-header{padding:var(--spacing-sm)var(--spacing-md)}.theme-icon{width:36px;height:36px;font-size:var(--font-size-base)}.theme-name{font-size:var(--font-size-sm)}.topic-card{padding:var(--spacing-sm)var(--spacing-md)}.topic-name,.topic-concepts{font-size:var(--font-size-xs)}}.quiz-header{color:var(--color-text-inverse);padding:var(--spacing-lg)var(--spacing-lg);margin:calc(-1*var(--spacing-lg));margin-bottom:var(--spacing-xl);border-radius:0 0 var(--radius-2xl)var(--radius-2xl);box-shadow:var(--shadow-md);background:linear-gradient(135deg,#1c1917 0%,#292524 100%)}.quiz-header-content{justify-content:space-between;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.quiz-topic-name{font-family:var(--font-display);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);color:var(--color-text-inverse);padding:var(--spacing-xs)var(--spacing-sm);border-radius:var(--radius-md);background:#7c3aed4d}.quiz-meta{align-items:center;gap:var(--spacing-md);font-size:var(--font-size-sm);color:#fffc;display:flex}.quiz-timer{align-items:center;gap:var(--spacing-xs);font-variant-numeric:tabular-nums;font-weight:var(--font-weight-medium);padding:var(--spacing-xs)var(--spacing-sm);border-radius:var(--radius-md);background:#ffffff1a;display:flex}.quiz-timer.warning{color:#fbbf24;font-weight:var(--font-weight-semibold);background:#f973164d}.quiz-progress-bar{border-radius:var(--radius-full);width:100%;height:6px;margin-top:var(--spacing-md);background:#fff3;overflow:hidden}.quiz-progress-fill{border-radius:var(--radius-full);height:100%;transition:width var(--transition-normal);background:linear-gradient(90deg,#a78bfa 0%,#5eead4 100%);box-shadow:0 0 10px #a78bfa80}.quiz-question-count{font-variant-numeric:tabular-nums;align-items:center;gap:2px;display:flex}.question-container{max-width:var(--container-sm);width:100%;padding:var(--spacing-md);flex-direction:column;flex:1;margin:0 auto;display:flex}@media (min-width:480px){.question-container{padding:var(--spacing-lg)}}.question-number{font-size:var(--font-size-xs);color:var(--color-primary);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-md);text-transform:uppercase;letter-spacing:var(--tracking-wide);padding:var(--spacing-xs)var(--spacing-sm);background:var(--color-primary-subtle);border-radius:var(--radius-md);width:fit-content;display:inline-block}.question-text{font-size:clamp(1.125rem,4vw,1.5rem);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-xl);color:var(--color-text);font-weight:var(--font-weight-medium);padding:var(--spacing-lg);background:var(--color-bg-card);border-radius:var(--radius-xl);border-left:4px solid var(--color-primary);box-shadow:var(--shadow-sm)}.answer-options{gap:var(--spacing-sm);margin-bottom:var(--spacing-xl);flex-direction:column;display:flex}.answer-option{padding:var(--spacing-md);border:2px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);min-height:var(--touch-target);background:var(--color-bg-card);align-items:flex-start;display:flex}.answer-option:hover:not(.disabled){border-color:var(--color-primary-light);background:var(--color-primary-subtle)}.answer-option.selected{border-color:var(--color-primary);background:var(--color-primary-subtle)}.answer-option.correct{border-color:var(--color-correct);background:var(--color-correct-bg)}.answer-option.incorrect{border-color:var(--color-incorrect);background:var(--color-incorrect-bg)}.answer-option.disabled{cursor:default}.answer-option-marker{border:2px solid var(--color-border);border-radius:var(--radius-lg);width:32px;height:32px;font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);margin-right:var(--spacing-md);transition:all var(--transition-fast);background:var(--color-bg-hover);color:var(--color-text-muted);flex-shrink:0;justify-content:center;align-items:center;display:flex}.answer-option:hover:not(.disabled) .answer-option-marker{border-color:var(--color-primary-light);background:var(--color-primary-subtle);color:var(--color-primary)}.answer-option.selected .answer-option-marker{border-color:var(--color-primary);background:linear-gradient(135deg,var(--color-primary)0%,var(--color-primary-dark)100%);color:var(--color-text-inverse);box-shadow:0 2px 8px #7c3aed4d}.answer-option.correct .answer-option-marker{border-color:var(--color-correct);color:var(--color-text-inverse);background:linear-gradient(135deg,#22c55e 0%,#16a34a 100%);box-shadow:0 2px 8px #22c55e4d}.answer-option.incorrect .answer-option-marker{border-color:var(--color-incorrect);color:var(--color-text-inverse);background:linear-gradient(135deg,#f87171 0%,#ef4444 100%);box-shadow:0 2px 8px #f871714d}.answer-option-text{line-height:var(--line-height-normal);flex:1;padding-top:3px}.answer-input-container{margin-bottom:var(--spacing-xl)}.fill-blank-input{width:100%;padding:var(--spacing-md);font-size:var(--font-size-md);border:2px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-card);color:var(--color-text);transition:all var(--transition-fast);font-family:inherit}.fill-blank-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-subtle);outline:none}.fill-blank-input.correct{border-color:var(--color-correct);background:var(--color-correct-bg)}.fill-blank-input.incorrect{border-color:var(--color-incorrect);background:var(--color-incorrect-bg)}.fill-blank-input:disabled{opacity:.7;cursor:not-allowed}.true-false-options{gap:var(--spacing-md);grid-template-columns:1fr 1fr;display:grid}@media (max-width:360px){.true-false-options{grid-template-columns:1fr}}.ordering-container{margin-bottom:var(--spacing-xl)}.ordering-items{gap:var(--spacing-sm);flex-direction:column;display:flex}.ordering-item{padding:var(--spacing-md);background:var(--color-bg-card);border:2px solid var(--color-border);border-radius:var(--radius-lg);cursor:grab;transition:all var(--transition-fast);align-items:center;display:flex}.ordering-item:active{cursor:grabbing}.ordering-item.dragging{opacity:.5;border-style:dashed}.ordering-item.disabled{cursor:default}.ordering-item-handle{width:24px;margin-right:var(--spacing-md);color:var(--color-text-muted);justify-content:center;align-items:center;display:flex}.ordering-item-number{background:var(--color-bg-hover);border-radius:var(--radius-md);width:28px;height:28px;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);margin-right:var(--spacing-md);flex-shrink:0;justify-content:center;align-items:center;display:flex}.ordering-item-text{flex:1}.ordering-btn{min-width:32px;min-height:32px}@media (max-width:360px){.ordering-item-handle{display:none}.ordering-item-buttons{flex-direction:row;gap:4px}.ordering-btn{width:28px;height:28px}}@media (max-width:400px){.ordering-item-number{width:24px;height:24px;font-size:var(--font-size-xs)}}.feedback-section{padding:var(--spacing-lg);border-radius:var(--radius-xl);margin-bottom:var(--spacing-lg);animation:feedbackSlideIn var(--transition-normal);display:none}@keyframes feedbackSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.feedback-section.visible{display:block}.feedback-section.correct{border:2px solid var(--color-correct);background:linear-gradient(135deg,#22c55e1a 0%,#22c55e0d 100%);border-left-width:4px}.feedback-section.incorrect{border:2px solid var(--color-incorrect);background:linear-gradient(135deg,#f871711a 0%,#f871710d 100%);border-left-width:4px}.feedback-header{align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);display:flex}.feedback-icon{justify-content:center;align-items:center;width:24px;height:24px;display:flex}.feedback-section.correct .feedback-header{color:var(--color-correct)}.feedback-section.incorrect .feedback-header{color:var(--color-incorrect)}.feedback-explanation{color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.feedback-explanation strong{color:var(--color-text)}.feedback-explanation p{margin:0;margin-bottom:var(--spacing-sm)}.feedback-explanation p:last-child{margin-bottom:0}.quiz-actions{gap:var(--gap-responsive-sm);padding-top:var(--spacing-lg);margin-top:auto;display:flex}.quiz-actions .btn{flex:1}@media (max-width:480px){.quiz-header{margin-left:calc(-1*var(--spacing-md));margin-right:calc(-1*var(--spacing-md));padding:var(--spacing-md)}.quiz-topic-name{font-size:var(--font-size-sm)}.quiz-meta{gap:var(--spacing-sm)}.question-text{font-size:var(--font-size-lg);padding:var(--spacing-md)}.answer-option{padding:var(--spacing-sm)var(--spacing-md)}.answer-option-marker{width:28px;height:28px;font-size:var(--font-size-xs)}}@media (max-width:360px){.answer-option-marker{width:26px;height:26px;font-size:var(--font-size-xs)}}@media (max-width:400px){.match-prompt-row{align-items:stretch;gap:var(--spacing-sm);flex-direction:column}.match-prompt-text{text-align:left}.match-slot{width:100%}}.match-word-bank-chips{gap:var(--spacing-sm)}@media (max-width:480px){.match-word-bank-chips{gap:var(--spacing-md)}}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;padding:var(--spacing-lg);animation:fadeIn var(--transition-fast);background:#1c191799;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.modal-overlay.active{display:flex}.modal{background:var(--color-bg-card);border-radius:var(--radius-2xl);width:100%;max-width:min(90vw,420px);padding:var(--spacing-xl);animation:modalSlideIn var(--transition-normal);box-shadow:var(--shadow-lg),0 0 40px #00000026;position:relative}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-header{text-align:center;margin-bottom:var(--spacing-lg);position:relative}.modal-title{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-xs)}.modal-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.modal-actions{gap:var(--spacing-sm);display:flex}.modal-actions .btn{flex:1}.time-mode-options{gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);flex-direction:column;display:flex}.time-mode-option{padding:var(--spacing-md);border:2px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);background:var(--color-bg-card);align-items:center;display:flex}.time-mode-option:hover{border-color:var(--color-primary-light);background:var(--color-primary-subtle)}.time-mode-option.selected{border-color:var(--color-primary);background:var(--color-primary-subtle)}.time-mode-icon{border-radius:var(--radius-md);width:40px;height:40px;font-weight:var(--font-weight-bold);font-size:var(--font-size-lg);margin-right:var(--spacing-md);background:var(--color-bg-hover);color:var(--color-text-muted);font-family:var(--font-display);flex-shrink:0;justify-content:center;align-items:center;display:flex}.time-mode-option:hover .time-mode-icon{background:var(--color-primary-subtle);color:var(--color-primary)}.time-mode-option.selected .time-mode-icon{background:linear-gradient(135deg,var(--color-primary)0%,var(--color-primary-dark)100%);color:var(--color-text-inverse);box-shadow:0 2px 8px #7c3aed4d}.time-mode-info{flex:1}.time-mode-label{font-weight:var(--font-weight-medium);color:var(--color-text);margin-bottom:2px}.time-mode-description{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.time-mode-check{color:var(--color-primary);margin-left:var(--spacing-md)}.summary-container{max-width:var(--container-sm);padding:var(--spacing-xl);text-align:center;margin:0 auto}.summary-header{margin-bottom:var(--spacing-xl)}.summary-title{font-family:var(--font-display);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-sm)}.summary-topic{color:var(--color-text-secondary);font-size:var(--font-size-md)}.summary-stats{gap:var(--spacing-md);margin-bottom:var(--spacing-xl);grid-template-columns:repeat(2,1fr);display:grid}.summary-stat{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-lg);text-align:center}.summary-stat-value{font-family:var(--font-display);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-primary);margin-bottom:var(--spacing-xs)}.summary-stat-label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.summary-proficiency{margin-bottom:var(--spacing-xl);padding:var(--spacing-lg);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl)}.summary-proficiency-title{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--spacing-md);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.summary-proficiency-message{color:var(--color-text-secondary);margin-top:var(--spacing-md);font-size:var(--font-size-sm)}.summary-actions{gap:var(--spacing-sm);flex-direction:column;display:flex}@media (min-width:480px){.summary-actions{flex-direction:row;justify-content:center}.summary-actions .btn{min-width:160px}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.dashboard-page{background:var(--color-bg);min-height:calc(100vh - 80px);padding:var(--spacing-xl)var(--spacing-lg)}.dashboard-container{max-width:var(--container-lg);margin:0 auto}.dashboard-loading,.dashboard-error{justify-content:center;align-items:center;gap:var(--spacing-md);text-align:center;min-height:400px;color:var(--color-text-muted);flex-direction:column;display:flex}.dashboard-loading-spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.dashboard-header{justify-content:space-between;align-items:flex-start;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);flex-wrap:wrap;display:flex}.dashboard-header-content{flex:1;min-width:200px}.dashboard-title{font-family:var(--font-display);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-xs)}.dashboard-subtitle{color:var(--color-text-muted);font-size:var(--font-size-md)}.dashboard-header-actions{gap:var(--spacing-sm);display:flex}.dashboard-section{margin-bottom:var(--spacing-xl)}.dashboard-section-title{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-md)}.dashboard-grid{gap:var(--gap-responsive-lg);grid-template-columns:1fr;display:grid}@media (min-width:768px){.dashboard-grid{grid-template-columns:1fr 1fr}}.progress-overview{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-lg)}.progress-overview-title{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-lg)}.progress-overview-grid{gap:var(--spacing-md);grid-template-columns:repeat(2,1fr);display:grid}@media (min-width:640px){.progress-overview-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:480px){.progress-overview-grid{gap:var(--spacing-sm);grid-template-columns:1fr}}.stat-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-md);text-align:center;transition:all var(--transition-fast)}.stat-card:hover{border-color:var(--color-primary-light);box-shadow:var(--shadow-sm)}.stat-card-header{justify-content:center;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm);display:flex}.stat-card-icon{color:var(--color-primary)}.stat-card-label{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.stat-card-value{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text)}.stat-card-trend{justify-content:center;align-items:center;gap:var(--spacing-xs);margin-top:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--color-text-muted);display:flex}.stat-card-trend.positive{color:var(--color-correct)}.stat-card-trend-label{color:var(--color-text-muted)}.session-history{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-lg)}.session-history-header{margin-bottom:var(--spacing-md);justify-content:space-between;align-items:center;display:flex}.session-history-title{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.session-history-empty{align-items:center;gap:var(--spacing-md);padding:var(--spacing-xl);text-align:center;color:var(--color-text-muted);flex-direction:column;display:flex}.session-history-list{gap:var(--spacing-sm);flex-direction:column;display:flex}.session-history-item{padding:var(--spacing-md);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);justify-content:space-between;align-items:center;gap:var(--spacing-md);display:flex}.session-history-item-main{flex:1;min-width:0}.session-history-item-topic{font-weight:var(--font-weight-medium);white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;overflow:hidden}.session-history-item-meta{align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--color-text-muted);display:flex}.session-history-item-separator{color:var(--color-border)}.session-history-item-stats{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.session-history-item-score{font-weight:var(--font-weight-semibold)}.session-history-item-correct{color:var(--color-correct)}.session-history-item-total{color:var(--color-text-muted)}.session-history-item-xp{font-size:var(--font-size-xs);color:var(--color-primary);font-weight:var(--font-weight-medium)}@media (max-width:480px){.session-history-item{align-items:flex-start;gap:var(--spacing-sm);flex-direction:column}.session-history-stats{flex-direction:row;justify-content:space-between;align-self:stretch}}.topic-progress-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-md);transition:all var(--transition-fast)}.topic-progress-card:hover{border-color:var(--color-primary-light);box-shadow:var(--shadow-sm)}.topic-progress-card-header{justify-content:space-between;align-items:flex-start;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);display:flex}.topic-progress-card-info{flex:1;min-width:0}.topic-progress-card-theme{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.topic-progress-card-name{font-family:var(--font-display);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;overflow:hidden}.topic-progress-card-progress{margin-bottom:var(--spacing-md)}.topic-progress-card-progress-bar{background:var(--color-bg-hover);border-radius:var(--radius-full);height:6px;margin-bottom:var(--spacing-xs);overflow:hidden}.topic-progress-card-progress-fill{background:linear-gradient(90deg,var(--color-primary)0%,var(--color-secondary)100%);border-radius:var(--radius-full);height:100%;transition:width var(--transition-normal)}.topic-progress-card-progress-label{font-size:var(--font-size-xs);color:var(--color-text-muted)}.topic-progress-card-stats{gap:var(--spacing-lg);margin-bottom:var(--spacing-md);display:flex}@media (max-width:480px){.topic-progress-card-stats{gap:var(--spacing-sm);flex-wrap:wrap}}@media (max-width:360px){.topic-progress-card-stats{flex-direction:column;align-items:flex-start}}.topic-progress-card-stat{flex-direction:column;display:flex}.topic-progress-card-stat-value{font-weight:var(--font-weight-semibold);color:var(--color-text)}.topic-progress-card-stat-label{font-size:var(--font-size-xs);color:var(--color-text-muted)}.topic-progress-card-footer{padding-top:var(--spacing-md);border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.topic-progress-card-last-attempt{font-size:var(--font-size-xs);color:var(--color-text-muted)}.dashboard-topics-header{margin-bottom:var(--spacing-md);justify-content:space-between;align-items:center;display:flex}.dashboard-topics-list{gap:var(--spacing-md);grid-template-columns:1fr;display:grid}@media (min-width:640px){.dashboard-topics-list{grid-template-columns:repeat(2,1fr)}}.dashboard-topics-empty{align-items:center;gap:var(--spacing-md);padding:var(--spacing-2xl);text-align:center;color:var(--color-text-muted);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);flex-direction:column;display:flex}.dashboard-quick-actions{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-lg)}.dashboard-actions-grid{gap:var(--spacing-md);grid-template-columns:1fr;display:grid}@media (min-width:480px){.dashboard-actions-grid{grid-template-columns:repeat(2,1fr)}}.dashboard-action-card{align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:inherit;transition:all var(--transition-fast);text-decoration:none;display:flex}.dashboard-action-card:hover{border-color:var(--color-primary-light);background:var(--color-primary-subtle)}.dashboard-action-icon{background:var(--color-primary-subtle);border-radius:var(--radius-lg);width:44px;height:44px;color:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.dashboard-action-content{flex:1;min-width:0}.dashboard-action-title{font-weight:var(--font-weight-medium);margin-bottom:2px}.dashboard-action-description{font-size:var(--font-size-sm);color:var(--color-text-muted)}.settings-page{background:var(--color-bg);min-height:calc(100vh - 80px);padding:var(--spacing-xl)var(--spacing-lg)}.settings-container{max-width:640px;padding-left:var(--spacing-md);padding-right:var(--spacing-md);margin:0 auto}.settings-header{margin-bottom:var(--spacing-xl)}.settings-back{align-items:center;gap:var(--spacing-xs);color:var(--color-text-muted);font-size:var(--font-size-sm);margin-bottom:var(--spacing-md);transition:color var(--transition-fast);text-decoration:none;display:inline-flex}.settings-back:hover{color:var(--color-primary)}.settings-title{font-family:var(--font-display);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold)}.settings-section{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.settings-section-title{font-family:var(--font-display);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.settings-profile{align-items:center;gap:var(--spacing-md);display:flex}.settings-profile-avatar{flex-shrink:0}.settings-profile-image{border-radius:var(--radius-full);object-fit:cover;width:64px;height:64px}.settings-profile-initials{border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-primary)0%,var(--color-primary-dark)100%);width:64px;height:64px;color:var(--color-text-inverse);font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);justify-content:center;align-items:center;display:flex}.settings-profile-info{flex:1}.settings-profile-name{font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);margin-bottom:2px}.settings-profile-email{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-bottom:var(--spacing-xs)}.settings-profile-role{padding:2px var(--spacing-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-full);text-transform:capitalize;display:inline-block}.settings-profile-role.role-child{color:var(--color-band-building);background:#fbbf2433}.settings-profile-role.role-parent{color:var(--color-band-growing);background:#38bdf833}.settings-profile-role.role-admin{color:var(--color-band-ready);background:#a78bfa33}.settings-preferences{gap:var(--spacing-lg);flex-direction:column;display:flex}.settings-divider{background:var(--color-border);height:1px}.theme-toggle{gap:var(--spacing-md);flex-direction:column;display:flex}.theme-toggle-label{font-weight:var(--font-weight-medium)}.theme-toggle-options{gap:var(--spacing-sm);display:flex}.theme-toggle-option{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-md);background:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);font-family:inherit;font-size:inherit;color:inherit;flex-direction:column;flex:1;display:flex}.theme-toggle-option:hover{border-color:var(--color-primary-light)}.theme-toggle-option.selected{border-color:var(--color-primary);background:var(--color-primary-subtle)}.theme-toggle-option-icon{color:var(--color-text-muted)}.theme-toggle-option.selected .theme-toggle-option-icon{color:var(--color-primary)}.theme-toggle-option-label{font-size:var(--font-size-sm)}.theme-toggle-btn{min-width:var(--touch-target);min-height:var(--touch-target)}.sound-toggle{justify-content:space-between;align-items:center;gap:var(--spacing-md);display:flex}.sound-toggle-info{flex:1}.sound-toggle-label{font-weight:var(--font-weight-medium);margin-bottom:2px}.sound-toggle-description{font-size:var(--font-size-sm);color:var(--color-text-muted)}.toggle-switch{background:var(--color-bg-active);border-radius:var(--radius-full);cursor:pointer;width:52px;height:28px;transition:background var(--transition-fast);border:none;flex-shrink:0;padding:0;position:relative}.toggle-switch.enabled{background:var(--color-primary)}.toggle-switch-thumb{background:var(--color-bg-card);border-radius:var(--radius-full);width:24px;height:24px;box-shadow:var(--shadow-sm);transition:transform var(--transition-fast);position:absolute;top:2px;left:2px}.toggle-switch.enabled .toggle-switch-thumb{transform:translate(24px)}.data-management{gap:var(--spacing-lg);flex-direction:column;display:flex}.data-management-title{font-family:var(--font-display);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.data-management-stats{gap:var(--spacing-lg);padding:var(--spacing-md);background:var(--color-bg);border-radius:var(--radius-lg);display:flex}.data-management-stat{flex-direction:column;flex:1;align-items:center;display:flex}.data-management-stat-value{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-primary)}.data-management-stat-label{font-size:var(--font-size-xs);color:var(--color-text-muted)}.data-management-actions{gap:var(--spacing-md);flex-direction:column;display:flex}.data-management-action{justify-content:space-between;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-bg);border-radius:var(--radius-lg);display:flex}.data-management-action-danger{background:#f8717114}.data-management-action-info{flex:1}.data-management-action-title{font-weight:var(--font-weight-medium);margin-bottom:2px}.data-management-action-description{font-size:var(--font-size-sm);color:var(--color-text-muted)}.btn-danger{color:var(--color-incorrect)}.btn-danger:hover:not(:disabled){background:#f871711f}.reset-modal-content{gap:var(--spacing-lg);flex-direction:column;display:flex}.reset-modal-warning{color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.reset-modal-stats{padding:var(--spacing-md);border-radius:var(--radius-lg);font-size:var(--font-size-sm);background:#f8717114}.reset-modal-stats ul{margin:var(--spacing-sm)0 0;padding-left:var(--spacing-lg)}.reset-modal-stats li{margin-bottom:var(--spacing-xs)}.reset-modal-actions{gap:var(--spacing-sm);justify-content:flex-end;display:flex}.settings-about{gap:var(--spacing-sm);flex-direction:column;display:flex}.settings-about-item{padding:var(--spacing-sm)0;justify-content:space-between;display:flex}.settings-about-item:not(:last-child){border-bottom:1px solid var(--color-border)}.settings-about-label{color:var(--color-text-muted)}.settings-about-value{font-weight:var(--font-weight-medium)}@media (max-width:480px){.dashboard-page,.settings-page{padding:var(--spacing-md)}.dashboard-title,.settings-title{font-size:var(--font-size-xl)}.dashboard-header{flex-direction:column;align-items:stretch}.dashboard-header-actions,.dashboard-header-actions .btn{width:100%}.progress-overview-grid{grid-template-columns:repeat(2,1fr)}.stat-card-value{font-size:var(--font-size-lg)}.data-management-stats{gap:var(--spacing-sm);flex-direction:column}.data-management-action{align-items:stretch;gap:var(--spacing-sm);flex-direction:column}.data-management-action .btn{width:100%}.theme-toggle-options{flex-direction:column}}@media (max-width:400px){.theme-toggle-options{flex-direction:column}.theme-toggle-option{width:100%}}.parent-dashboard-page,.child-progress-page{min-height:100vh;padding:var(--spacing-xl)var(--spacing-lg);background-color:var(--color-bg-secondary)}.parent-dashboard-container,.child-progress-container{max-width:1200px;margin:0 auto}.parent-dashboard-loading,.parent-dashboard-error,.child-progress-loading,.child-progress-error{padding:var(--spacing-2xl);text-align:center;justify-content:center;align-items:center;gap:var(--spacing-md);flex-direction:column;display:flex}.parent-dashboard-loading-spinner,.child-progress-loading-spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}.parent-dashboard-error svg,.child-progress-error svg{color:var(--color-error)}.parent-dashboard-header{justify-content:space-between;align-items:flex-start;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);display:flex}.parent-dashboard-header-content{flex:1}.parent-dashboard-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--spacing-xs)0}.parent-dashboard-subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0}.parent-dashboard-header-actions{gap:var(--spacing-sm);display:flex}.parent-dashboard-section{margin-bottom:var(--spacing-xl)}.parent-dashboard-section-header{margin-bottom:var(--spacing-md);justify-content:space-between;align-items:center;display:flex}.parent-dashboard-section-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.parent-dashboard-section-count{font-size:var(--font-size-sm);color:var(--color-text-muted);background-color:var(--color-bg-tertiary);padding:var(--spacing-xs)var(--spacing-sm);border-radius:var(--radius-full)}.child-list{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));display:grid}.child-list-loading{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fill,minmax(340px,1fr));display:grid}.child-card-skeleton{background:linear-gradient(90deg,var(--color-bg-tertiary)25%,var(--color-bg-secondary)50%,var(--color-bg-tertiary)75%);border-radius:var(--radius-lg);background-size:200% 100%;height:280px;animation:1.5s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.child-list-empty{padding:var(--spacing-2xl);text-align:center;background-color:var(--color-bg-primary);border:2px dashed var(--color-border);border-radius:var(--radius-lg);flex-direction:column;justify-content:center;align-items:center;display:flex}.child-list-empty-icon{color:var(--color-text-muted);margin-bottom:var(--spacing-md)}.child-list-empty-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-xs)0}.child-list-empty-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--spacing-lg)0;max-width:300px}.child-card{background-color:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);transition:box-shadow .2s,border-color .2s}.child-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.child-card-header{align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);display:flex}.child-card-avatar{border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-primary)0%,var(--color-primary-dark)100%);flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex;overflow:hidden}.child-card-avatar img{object-fit:cover;width:100%;height:100%}.child-card-avatar-initials{color:#fff;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.child-card-info{flex:1;min-width:0}.child-card-name{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.child-card-last-active{font-size:var(--font-size-sm);color:var(--color-text-muted)}.child-card-streak{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs)var(--spacing-sm);background-color:var(--color-warning-light);color:var(--color-warning-dark);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);display:flex}.child-card-streak svg{color:var(--color-warning)}.child-card-stats{gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);padding:var(--spacing-md);background-color:var(--color-bg-secondary);border-radius:var(--radius-md);grid-template-columns:repeat(4,1fr);display:grid}@media (max-width:480px){.child-card-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width:320px){.child-card-stats{grid-template-columns:1fr}}.child-card-stat{text-align:center}.child-card-stat-value{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);display:block}.child-card-stat-label{font-size:var(--font-size-xs);color:var(--color-text-muted)}.child-card-progress{margin-bottom:var(--spacing-lg)}.child-card-progress-header{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-xs);justify-content:space-between;display:flex}.child-card-progress-bar{background-color:var(--color-bg-tertiary);border-radius:var(--radius-full);height:8px;display:flex;overflow:hidden}.child-card-progress-fill{height:100%;transition:width .3s}.child-card-progress-fill.mastered{background-color:var(--color-success)}.child-card-progress-fill.started{background-color:var(--color-primary)}.child-card-actions{gap:var(--spacing-sm);display:flex}.child-card-view-btn{justify-content:center;align-items:center;gap:var(--spacing-xs);flex:1;display:flex}.activity-feed{background-color:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.activity-feed-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-md)0}.activity-feed-empty{padding:var(--spacing-xl);color:var(--color-text-muted);text-align:center;flex-direction:column;align-items:center;display:flex}.activity-feed-empty svg{margin-bottom:var(--spacing-sm)}.activity-feed-list{gap:var(--spacing-sm);flex-direction:column;display:flex}.activity-item{align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--color-bg-secondary);border-radius:var(--radius-md);transition:background-color .2s;display:flex}.activity-item:hover{background-color:var(--color-bg-tertiary)}.activity-item-icon{border-radius:var(--radius-full);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.activity-type-session .activity-item-icon{background-color:var(--color-primary-light);color:var(--color-primary)}.activity-type-mastered .activity-item-icon{background-color:var(--color-success-light);color:var(--color-success)}.activity-type-achievement .activity-item-icon{background-color:var(--color-warning-light);color:var(--color-warning)}.activity-type-streak .activity-item-icon{background-color:var(--color-error-light);color:var(--color-error)}.activity-item-content{flex:1;min-width:0}.activity-item-header{align-items:center;gap:var(--spacing-xs);flex-wrap:wrap;display:flex}.activity-item-child{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.activity-item-title{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.activity-item-description{font-size:var(--font-size-sm);color:var(--color-text-primary);margin:var(--spacing-xs)0 0 0}.activity-item-meta{gap:var(--spacing-md);margin-top:var(--spacing-xs);display:flex}.activity-meta-xp,.activity-meta-score,.activity-meta-streak{font-size:var(--font-size-xs);color:var(--color-text-muted)}.activity-meta-xp{color:var(--color-success)}.activity-item-time{font-size:var(--font-size-xs);color:var(--color-text-muted);white-space:nowrap}.activity-item-skeleton{background:linear-gradient(90deg,var(--color-bg-tertiary)25%,var(--color-bg-secondary)50%,var(--color-bg-tertiary)75%);border-radius:var(--radius-md);background-size:200% 100%;height:72px;animation:1.5s infinite shimmer}@media (max-width:400px){.activity-item{flex-wrap:wrap}.activity-item-meta{width:100%;margin-top:var(--spacing-xs);text-align:left}}.parent-tips-grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));display:grid}.parent-tip-card{align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-lg);background-color:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex}.parent-tip-icon{background-color:var(--color-primary-light);width:44px;height:44px;color:var(--color-primary);border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;display:flex}.parent-tip-content h3{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-xs)0}.parent-tip-content p{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.child-progress-breadcrumb{margin-bottom:var(--spacing-lg)}.breadcrumb-link{min-height:var(--touch-target);padding:var(--spacing-xs)var(--spacing-sm);align-items:center;gap:var(--spacing-xs);color:var(--color-text-secondary);font-size:var(--font-size-sm);text-decoration:none;transition:color .2s;display:inline-flex}.breadcrumb-link:hover{color:var(--color-primary)}.child-progress-header{align-items:center;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl);padding:var(--spacing-lg);background-color:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex}.child-progress-avatar{border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-primary)0%,var(--color-primary-dark)100%);flex-shrink:0;justify-content:center;align-items:center;width:80px;height:80px;display:flex;overflow:hidden}.child-progress-avatar img{object-fit:cover;width:100%;height:100%}.child-progress-avatar-initials{color:#fff;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold)}.child-progress-info{flex:1}.child-progress-name{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0 0 var(--spacing-xs)0}.child-progress-last-active{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.child-progress-streak{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm)var(--spacing-md);background-color:var(--color-warning-light);border-radius:var(--radius-lg);display:flex}.child-progress-streak svg{color:var(--color-warning)}.child-progress-streak-count{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-warning-dark)}.child-progress-streak-label{font-size:var(--font-size-sm);color:var(--color-warning-dark)}.child-progress-section{margin-bottom:var(--spacing-xl)}.child-progress-section-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-md)0}.child-progress-stats-grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.child-progress-grid{gap:var(--spacing-xl);grid-template-columns:1fr 380px;display:grid}.child-progress-main{min-width:0}.child-progress-sidebar{gap:var(--spacing-xl);flex-direction:column;display:flex}.child-progress-topics-list{gap:var(--spacing-md);flex-direction:column;display:flex}.child-progress-topics-empty{padding:var(--spacing-xl);text-align:center;color:var(--color-text-muted);background-color:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.progress-charts{background-color:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.progress-charts-overview{justify-content:space-around;align-items:center;gap:var(--spacing-xl);padding:var(--spacing-lg)0;border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-lg);display:flex}.progress-charts-section-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-md)0}.progress-charts-subjects{margin-bottom:var(--spacing-lg)}.accuracy-gauge{align-items:center;gap:var(--spacing-sm);flex-direction:column;display:flex}.accuracy-gauge-svg{width:120px;height:120px}.accuracy-gauge-progress{transition:stroke-dashoffset .5s}.accuracy-gauge-text{font-size:24px;font-weight:var(--font-weight-bold);fill:var(--color-text-primary)}.accuracy-gauge-label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.time-spent-chart{align-items:center;gap:var(--spacing-sm);flex-direction:column;display:flex}.time-spent-value{align-items:baseline;gap:var(--spacing-xs);display:flex}.time-spent-hours{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.time-spent-minutes{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.time-spent-label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.subject-progress-chart{gap:var(--spacing-md);flex-direction:column;display:flex}.subject-progress-row{align-items:center;gap:var(--spacing-md);display:flex}.subject-progress-label{flex-shrink:0;width:140px}.subject-progress-name{font-weight:var(--font-weight-medium);color:var(--color-text-primary);font-size:var(--font-size-sm);display:block}.subject-progress-stats{font-size:var(--font-size-xs);color:var(--color-text-muted)}.subject-progress-bar{background-color:var(--color-bg-tertiary);border-radius:var(--radius-full);flex:1;height:12px;display:flex;overflow:hidden}.subject-progress-fill{height:100%;transition:width .3s}.subject-progress-fill.mastered{background-color:var(--color-success)}.subject-progress-fill.started{background-color:var(--color-primary)}.subject-progress-percent{text-align:right;width:40px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.progress-chart-empty{padding:var(--spacing-lg);text-align:center;color:var(--color-text-muted)}.proficiency-distribution{padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.proficiency-distribution-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-md)0}.proficiency-distribution-bar{background-color:var(--color-bg-tertiary);border-radius:var(--radius-md);height:24px;margin-bottom:var(--spacing-md);display:flex;overflow:hidden}.proficiency-segment{height:100%;transition:width .3s}.proficiency-segment.exam-ready{background-color:#22c55e}.proficiency-segment.consistent-understanding{background-color:#3b82f6}.proficiency-segment.growing-confidence{background-color:#f59e0b}.proficiency-segment.building-familiarity{background-color:#f97316}.proficiency-distribution-legend{gap:var(--spacing-md);flex-wrap:wrap;display:flex}.proficiency-legend-item{align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--color-text-secondary);display:flex}.proficiency-legend-color{border-radius:var(--radius-sm);width:12px;height:12px}.proficiency-legend-color.exam-ready{background-color:#22c55e}.proficiency-legend-color.consistent-understanding{background-color:#3b82f6}.proficiency-legend-color.growing-confidence{background-color:#f59e0b}.proficiency-legend-color.building-familiarity{background-color:#f97316}.child-progress-insights-grid{gap:var(--spacing-md);grid-template-columns:repeat(2,1fr);display:grid}.insight-card{padding:var(--spacing-lg);background-color:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.insight-card.strengths{border-left:4px solid var(--color-success)}.insight-card.improvements{border-left:4px solid var(--color-warning)}.insight-card-title{align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-md)0;display:flex}.insight-card.strengths .insight-card-title svg{color:var(--color-success)}.insight-card.improvements .insight-card-title svg{color:var(--color-warning)}.insight-list{gap:var(--spacing-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.insight-list li{font-size:var(--font-size-sm);color:var(--color-text-secondary);padding-left:var(--spacing-md);position:relative}.insight-list li:before{content:"";border-radius:var(--radius-full);background-color:var(--color-text-muted);width:6px;height:6px;position:absolute;top:.5em;left:0}.insight-card.strengths .insight-list li:before{background-color:var(--color-success)}.insight-card.improvements .insight-list li:before{background-color:var(--color-warning)}@media (max-width:1024px){.child-progress-grid{grid-template-columns:1fr}.child-progress-sidebar{grid-template-columns:repeat(2,1fr);display:grid}}@media (max-width:768px){.parent-dashboard-page,.child-progress-page{padding:var(--spacing-md)}.parent-dashboard-header{flex-direction:column;align-items:stretch}.parent-dashboard-header-actions,.parent-dashboard-header-actions .btn{width:100%}.child-list{grid-template-columns:1fr}.child-card-stats{grid-template-columns:repeat(2,1fr)}.child-progress-header{text-align:center;flex-direction:column}.child-progress-stats-grid{grid-template-columns:repeat(2,1fr)}.child-progress-sidebar,.child-progress-insights-grid{grid-template-columns:1fr}.progress-charts-overview{flex-direction:column}.subject-progress-row{flex-direction:column;align-items:stretch}.subject-progress-label{width:100%;margin-bottom:var(--spacing-xs)}.subject-progress-percent{display:none}}@media (max-width:480px){.parent-dashboard-title,.child-progress-name{font-size:var(--font-size-xl)}.parent-tips-grid{grid-template-columns:1fr}.proficiency-distribution-legend{gap:var(--spacing-xs);flex-direction:column}}.topic-sample-badge{align-items:center;gap:var(--spacing-xs);margin-top:var(--spacing-xs);padding:2px var(--spacing-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-full);transition:all var(--transition-fast);display:inline-flex}.topic-sample-badge.available{color:#16a34a;background:#22c55e1f}.topic-sample-badge.exhausted{color:#dc2626;background:#f871711f}.topic-sample-badge svg{flex-shrink:0}.topic-card.samples-exhausted{opacity:.7}.topic-card.samples-exhausted:hover{border-color:var(--color-border);box-shadow:none;transform:none}.topic-arrow.topic-locked{color:var(--color-text-muted)}.topic-browser-banner{justify-content:space-between;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm)var(--spacing-md);margin-bottom:var(--spacing-md);border-radius:var(--radius-lg);animation:fadeIn var(--transition-normal);background:linear-gradient(135deg,#7c3aed14 0%,#14b8a614 100%);border:1px solid #7c3aed33;display:flex}.topic-browser-banner-content{align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary);flex:1;display:flex}.topic-browser-banner-icon{color:var(--color-primary);flex-shrink:0}.topic-browser-banner-link{color:var(--color-primary);font-weight:var(--font-weight-medium);white-space:nowrap;transition:color var(--transition-fast);text-decoration:none}.topic-browser-banner-link:hover{color:var(--color-primary-dark);text-decoration:underline}.topic-browser-banner-dismiss{padding:var(--spacing-xs);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.topic-browser-banner-dismiss:hover{color:var(--color-text);background:#0000000d}@media (max-width:480px){.topic-browser-banner-content{flex-wrap:wrap}.topic-browser-banner-content span{margin-bottom:var(--spacing-xs);flex:100%}}.summary-signin-prompt{align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md);margin-bottom:var(--spacing-lg);border-radius:var(--radius-xl);animation:feedbackSlideIn var(--transition-normal);background:linear-gradient(135deg,#7c3aed0f 0%,#14b8a60f 100%);border:1px solid #7c3aed26;display:flex}.summary-signin-prompt-icon{border-radius:var(--radius-lg);width:40px;height:40px;color:var(--color-primary);background:#7c3aed1a;flex-shrink:0;justify-content:center;align-items:center;display:flex}.summary-signin-prompt-content{gap:var(--spacing-xs);flex-direction:column;flex:1;display:flex}.summary-signin-prompt-text{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal);margin:0}.summary-signin-prompt-link{align-items:center;gap:var(--spacing-xs);color:var(--color-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);transition:color var(--transition-fast);text-decoration:none;display:inline-flex}.summary-signin-prompt-link:hover{color:var(--color-primary-dark);text-decoration:underline}.login-prompt{justify-content:center;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-2xl);text-align:center;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.login-prompt-icon{background:linear-gradient(135deg,var(--color-primary-subtle)0%,#14b8a61a 100%);border-radius:var(--radius-xl);width:64px;height:64px;color:var(--color-primary);justify-content:center;align-items:center;display:flex}.login-prompt-title{font-family:var(--font-display);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0}.login-prompt-description{font-size:var(--font-size-sm);color:var(--color-text-muted);max-width:320px;margin:0}.login-prompt-actions{gap:var(--spacing-sm);flex-wrap:wrap;justify-content:center;display:flex}.curriculum-selector{align-items:center;gap:var(--spacing-sm);display:flex}.curriculum-selector-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted)}.curriculum-selector-select{padding:var(--spacing-sm)var(--spacing-md);padding-right:calc(var(--spacing-md) + 20px);font-size:var(--font-size-sm);border:2px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-card);color:var(--color-text);cursor:pointer;transition:all var(--transition-fast);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpolyline points='6,9 12,15 18,9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--spacing-sm)center;min-width:200px;font-family:inherit}.curriculum-selector-select:hover{border-color:var(--color-primary-light)}.curriculum-selector-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-subtle);outline:none}.curriculum-selector-single{align-items:center;display:flex}.curriculum-badge{padding:var(--spacing-xs)var(--spacing-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-primary);background:var(--color-primary-subtle);border-radius:var(--radius-md);align-items:center;display:inline-flex}.curriculum-selector-loading,.curriculum-selector-error{align-items:center;display:flex}@media (max-width:360px){.quiz-actions{gap:var(--spacing-xs)}.feedback-section{padding:var(--spacing-md)}.app-logo-icon{width:32px;height:32px}.breadcrumb{font-size:var(--font-size-xs)}.quiz-timer{font-size:var(--font-size-xs);padding:var(--spacing-xs)var(--spacing-sm)}}@media (max-width:375px){.answer-option,.ordering-item,.match-word-bank{padding:var(--spacing-sm)}}.speaker-btn{cursor:pointer;width:36px;height:36px;color:var(--color-text-muted);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:inline-flex}.speaker-btn:hover{background:var(--color-bg-hover);color:var(--color-primary)}.speaker-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.speaker-btn.speaking{color:var(--color-primary)}@keyframes pulse-speak{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.speaker-btn.speaking{animation:1s ease-in-out infinite pulse-speak}.speaker-btn:disabled{opacity:.4;cursor:not-allowed}@keyframes sound-wave{0%,to{opacity:.3}50%{opacity:1}}.speaker-btn .sound-wave-1,.speaker-btn .sound-wave-2{opacity:.3}.speaker-btn.speaking .sound-wave-1{animation:.6s ease-in-out infinite sound-wave}.speaker-btn.speaking .sound-wave-2{animation:.6s ease-in-out .2s infinite sound-wave}@media (max-width:480px){.speaker-btn{width:40px;height:40px}}.speaker-btn-wrapper{display:inline-flex;position:relative}.speaker-btn.unsupported{opacity:.5;cursor:help}.speaker-btn.unsupported:hover{background:var(--color-bg-hover);color:var(--color-text-muted)}.speaker-btn .speaker-x{opacity:.8}.speaker-tooltip{margin-top:var(--spacing-xs);padding:var(--spacing-xs)var(--spacing-sm);background:var(--color-text);color:var(--color-bg);font-size:var(--font-size-xs);border-radius:var(--radius-md);white-space:nowrap;z-index:var(--z-toast);box-shadow:var(--shadow-md);animation:.2s tooltip-fade-in;position:absolute;top:100%;left:50%;transform:translate(-50%)}.speaker-tooltip:before{content:"";border:6px solid #0000;border-bottom-color:var(--color-text);position:absolute;bottom:100%;left:50%;transform:translate(-50%)}@keyframes tooltip-fade-in{0%{opacity:0;transform:translate(-50%)translateY(-4px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@media (max-width:480px){.speaker-tooltip{font-size:var(--font-size-xs);padding:var(--spacing-sm)var(--spacing-md)}}@media (max-width:768px){.match-columns{gap:var(--spacing-md)}.match-question-item,.match-slot-row{min-height:44px}.match-word-bank{padding:var(--spacing-sm)var(--spacing-md)}}@media (max-width:640px){.match-columns{gap:var(--spacing-md);grid-template-columns:1fr}.match-column-questions{order:1}.match-column-slots{order:2}.match-column-header{font-size:var(--font-size-xs)}.match-question-item{padding:var(--spacing-xs)var(--spacing-sm);min-height:40px}.match-question-number,.match-slot-number{width:20px;height:20px;font-size:var(--font-size-xs)}.match-slot{min-height:40px;padding:var(--spacing-xs)var(--spacing-sm)}.match-word-bank-chips{gap:var(--spacing-xs)}.match-chip{padding:var(--spacing-xs)var(--spacing-sm);font-size:var(--font-size-sm)}}@media (max-width:400px){.match-word-bank-chips{flex-direction:column;align-items:stretch}.match-chip{text-align:center;border-radius:var(--radius-lg);width:100%}.match-prompt-text,.match-slot-chip{font-size:var(--font-size-sm)}}.profile-page{background:var(--color-bg);min-height:calc(100vh - 80px);padding:var(--spacing-xl)var(--spacing-lg)}.profile-container{max-width:640px;padding-left:var(--spacing-md);padding-right:var(--spacing-md);margin:0 auto}.profile-header{margin-bottom:var(--spacing-xl)}.profile-back{align-items:center;gap:var(--spacing-xs);color:var(--color-text-muted);font-size:var(--font-size-sm);margin-bottom:var(--spacing-md);transition:color var(--transition-fast);text-decoration:none;display:inline-flex}.profile-back:hover{color:var(--color-primary)}.profile-title{font-family:var(--font-display);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold)}.profile-loading{justify-content:center;align-items:center;gap:var(--spacing-md);padding:var(--spacing-3xl)0;color:var(--color-text-muted);flex-direction:column;display:flex}.profile-form{gap:var(--spacing-lg);flex-direction:column;display:flex}.profile-section{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-lg)}.profile-section-title{font-family:var(--font-display);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.profile-field-grid{gap:var(--spacing-md);grid-template-columns:repeat(2,1fr);display:grid}.profile-field-grid-3{grid-template-columns:repeat(3,1fr)}.profile-field{gap:var(--spacing-xs);flex-direction:column;display:flex}.profile-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted)}.profile-input{width:100%;padding:var(--spacing-sm)var(--spacing-md);font-size:var(--font-size-base);color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);outline:none;font-family:inherit}.profile-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-subtle)}.profile-input::placeholder{color:var(--color-text-muted);opacity:.6}.profile-input-disabled{opacity:.6;cursor:not-allowed;background:var(--color-bg-hover)}.profile-textarea{resize:vertical;min-height:100px}.profile-char-count{font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:right}.profile-subjects{gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.profile-subject-tag{padding:var(--spacing-xs)var(--spacing-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none}.profile-subject-tag:hover{border-color:var(--color-primary-light);color:var(--color-primary)}.profile-subject-tag-active{background:var(--color-primary-subtle);border-color:var(--color-primary);color:var(--color-primary)}.profile-subject-tag-active:hover{background:var(--color-primary-subtle);border-color:var(--color-primary-dark);color:var(--color-primary-dark)}.profile-message{padding:var(--spacing-sm)var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.profile-message-success{background:var(--color-correct-bg);color:var(--color-correct);border:1px solid var(--color-correct)}.profile-message-error{background:var(--color-incorrect-bg);color:var(--color-incorrect);border:1px solid var(--color-incorrect)}.profile-actions{padding-top:var(--spacing-md);justify-content:flex-end;display:flex}.profile-completion{margin-bottom:var(--spacing-xl);flex-direction:column;align-items:center;display:flex}.profile-completion-circle{justify-content:center;align-items:center;display:flex;position:relative}.profile-completion-text{font-size:var(--font-size-xl);font-weight:700;position:absolute}.profile-completion-label{margin-top:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-muted)}.profile-required{color:#ef4444;margin-left:2px}.profile-input-error{box-shadow:0 0 0 1px #ef444433;border-color:#ef4444!important}@media (max-width:480px){.profile-page{padding:var(--spacing-md)}.profile-title{font-size:var(--font-size-xl)}.profile-field-grid,.profile-field-grid-3{grid-template-columns:1fr}}.streak-badge{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs)var(--spacing-md);border-radius:var(--radius-full,9999px);background:linear-gradient(135deg,#f973161a,#ef44441a);border:1px solid #f9731633;display:flex}.streak-badge-icon{font-size:var(--font-size-lg)}.streak-badge-info{flex-direction:column;line-height:1.2;display:flex}.streak-badge-count{font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);color:var(--color-accent)}.streak-badge-label{font-size:var(--font-size-xs);color:var(--color-text-muted)}.streak-badge-best{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-left:var(--spacing-xs)}.activity-chart{background:var(--color-bg-card);border-radius:var(--radius-xl);padding:var(--spacing-lg);border:1px solid var(--color-border)}.activity-chart-title,.subject-breakdown-title,.weak-areas-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-md);color:var(--color-text)}.activity-chart-container{width:100%;min-height:280px}.activity-chart-empty,.subject-breakdown-empty{min-height:200px;color:var(--color-text-muted);font-size:var(--font-size-sm);justify-content:center;align-items:center;display:flex}.subject-breakdown{background:var(--color-bg-card);border-radius:var(--radius-xl);padding:var(--spacing-lg);border:1px solid var(--color-border)}.subject-breakdown-container{width:100%}.weak-areas{background:var(--color-bg-card);border-radius:var(--radius-xl);padding:var(--spacing-lg);border:1px solid var(--color-border)}.weak-areas-list{gap:var(--spacing-sm);flex-direction:column;display:flex}.weak-area-item{padding:var(--spacing-sm)var(--spacing-md);background:var(--color-bg-hover);border-radius:var(--radius-lg);justify-content:space-between;align-items:center;gap:var(--spacing-md);display:flex}.weak-area-info{flex-direction:column;gap:2px;min-width:0;display:flex}.weak-area-subject{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.weak-area-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.weak-area-stats{gap:var(--spacing-sm);font-size:var(--font-size-xs);color:var(--color-text-muted);display:flex}.weak-area-accuracy{color:var(--color-incorrect);font-weight:var(--font-weight-medium)}.dashboard-analytics-row{gap:var(--spacing-lg);margin-bottom:var(--spacing-lg);grid-template-columns:1fr 1fr;display:grid}@media (max-width:768px){.dashboard-analytics-row{grid-template-columns:1fr}}.flag-button{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs)var(--spacing-sm);font-size:var(--font-size-xs);color:var(--color-text-muted);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:1px solid #0000;display:inline-flex}.flag-button:hover{color:var(--color-accent);background:var(--color-accent-subtle);border-color:#f9731633}.flag-button.flagged{color:var(--color-accent);cursor:default}.flag-button:disabled{opacity:.5;cursor:not-allowed}.flag-modal-reasons{gap:var(--spacing-xs);margin-bottom:var(--spacing-md);flex-direction:column;display:flex}.flag-reason-option{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm)var(--spacing-md);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);font-size:var(--font-size-sm);display:flex}.flag-reason-option:hover{border-color:var(--color-primary);background:var(--color-primary-subtle)}.flag-reason-option.selected{border-color:var(--color-primary);background:var(--color-primary-subtle);color:var(--color-primary);font-weight:var(--font-weight-medium)}.flag-comment-input{width:100%;min-height:80px;padding:var(--spacing-sm);font-size:var(--font-size-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);resize:vertical;font-family:inherit}.flag-comment-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-subtle);outline:none}.question-image{margin-bottom:var(--spacing-md);border-radius:var(--radius-xl);background:var(--color-bg-card);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);position:relative;overflow:hidden}.question-image img{object-fit:contain;border-radius:var(--radius-xl);width:100%;max-height:400px;padding:var(--spacing-sm);display:block}.question-image-loading{background:linear-gradient(90deg,var(--color-bg-hover)25%,var(--color-bg-card)50%,var(--color-bg-hover)75%);border-radius:var(--radius-xl);background-size:200% 100%;width:100%;height:200px;animation:1.5s ease-in-out infinite shimmer}.question-image-zoom{z-index:1000;padding:var(--spacing-lg);cursor:zoom-out;background:#000000d9;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.question-image-zoom img{object-fit:contain;border-radius:var(--radius-lg);max-width:90vw;max-height:90vh;box-shadow:0 8px 32px #0006}.question-image-zoom-close{top:var(--spacing-md);right:var(--spacing-md);border-radius:var(--radius-full,50%);color:#fff;cursor:pointer;width:40px;height:40px;transition:background var(--transition-fast);background:#ffffff26;border:none;justify-content:center;align-items:center;display:flex;position:absolute}.question-image-zoom-close:hover{background:#ffffff4d}.option-image{object-fit:contain;border-radius:var(--radius-md);border:1px solid var(--color-border);width:48px;height:48px;margin-right:var(--spacing-sm);background:var(--color-bg);flex-shrink:0}.options-grid-images{gap:var(--spacing-sm);grid-template-columns:1fr 1fr;display:grid}.options-grid-images .answer-option{text-align:center;padding:var(--spacing-md);flex-direction:column;align-items:center}.options-grid-images .answer-option-marker{margin-right:0;margin-bottom:var(--spacing-xs)}.options-grid-images .option-image{width:80px;height:80px;margin-right:0;margin-bottom:var(--spacing-xs)}.options-grid-images .answer-option-text{font-size:var(--font-size-sm);padding-top:0}@media (max-width:480px){.question-image img{max-height:250px}.options-grid-images{gap:var(--spacing-xs);grid-template-columns:1fr 1fr}.options-grid-images .option-image{width:60px;height:60px}}.landing-page{padding:var(--spacing-xl)var(--spacing-md);align-items:center;gap:var(--spacing-3xl);flex-direction:column;display:flex}.landing-hero{text-align:center;max-width:720px;padding-top:var(--spacing-xl);margin:0 auto}.landing-hero-title{font-family:var(--font-display);font-size:var(--font-size-3xl);font-weight:var(--font-weight-extrabold);line-height:var(--line-height-tight);letter-spacing:var(--tracking-tight);margin-bottom:var(--spacing-md)}.landing-hero-subtitle{font-size:var(--font-size-md);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);max-width:560px;margin:0 auto var(--spacing-xl)}.landing-hero-cta{gap:var(--spacing-sm);flex-direction:column;align-items:center;display:flex}.landing-cta-primary{padding:var(--spacing-md)var(--spacing-2xl);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}.landing-section-title{text-align:center;font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-xl)}.landing-boards{width:100%;max-width:640px}.stats-banner{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:100%;max-width:700px;padding:var(--spacing-lg)var(--spacing-xl);box-shadow:var(--shadow-sm)}.stats-banner-inner{justify-content:center;align-items:center;gap:var(--spacing-lg);flex-wrap:wrap;display:flex}.stats-banner-item{flex-direction:column;align-items:center;gap:2px;min-width:80px;display:flex}.stats-banner-number{font-family:var(--font-display);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-primary)}.stats-banner-label{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.stats-banner-divider{background:var(--color-border);width:1px;height:32px}.landing-features{width:100%;max-width:900px}.feature-cards-grid{gap:var(--spacing-lg);grid-template-columns:repeat(3,1fr);display:grid}.feature-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-xl);text-align:center;transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.feature-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.feature-card-icon{border-radius:var(--radius-lg);width:64px;height:64px;margin:0 auto var(--spacing-md);justify-content:center;align-items:center;display:flex}.feature-card-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-sm)}.feature-card-desc{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:var(--line-height-relaxed)}.landing-trust{width:100%;max-width:700px}.landing-trust-inner{align-items:center;gap:var(--spacing-sm);flex-direction:column;display:flex}.landing-trust-item{align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary);display:flex}.bottom-nav{z-index:var(--z-sticky);background:var(--color-bg-card);border-top:1px solid var(--color-border);padding:var(--spacing-xs)0;padding-bottom:env(safe-area-inset-bottom,var(--spacing-xs));display:none;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 8px #0000000f}.bottom-nav-item{padding:var(--spacing-xs)var(--spacing-sm);color:var(--color-text-muted);transition:color var(--transition-fast);min-height:var(--touch-target);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;text-decoration:none;display:flex}.bottom-nav-item.active{color:var(--color-primary)}.bottom-nav-item:hover{color:var(--color-text)}.bottom-nav-icon{justify-content:center;align-items:center;display:flex}.bottom-nav-label{font-size:10px;font-weight:var(--font-weight-medium);line-height:1}.skeleton{background:linear-gradient(90deg,var(--color-bg-hover)25%,var(--color-bg-card)50%,var(--color-bg-hover)75%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.5s ease-in-out infinite shimmer}.skeleton-text{width:100%;height:16px}.skeleton-circle{border-radius:var(--radius-full)}.skeleton-group{gap:var(--spacing-sm);flex-direction:column;display:flex}.skeleton-card-wrapper{align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex}.skeleton-topic-browser{gap:var(--spacing-xl);flex-direction:column;display:flex}.skeleton-theme-section{padding:var(--spacing-md)0}.skeleton-topic-grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.skeleton-topic-card{padding:var(--spacing-lg);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.skeleton-stat-card{padding:var(--spacing-md);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-direction:column;align-items:center;display:flex}.dashboard-skeleton-header{padding:var(--spacing-lg)0}.empty-state{text-align:center;padding:var(--spacing-3xl)var(--spacing-lg);justify-content:center;align-items:center;gap:var(--spacing-sm);flex-direction:column;display:flex}.empty-state-icon{border-radius:var(--radius-full);background:var(--color-bg-hover);width:72px;height:72px;color:var(--color-text-muted);margin-bottom:var(--spacing-sm);justify-content:center;align-items:center;display:flex}.empty-state-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text)}.empty-state-message{font-size:var(--font-size-sm);color:var(--color-text-muted);max-width:320px;line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-md)}.breadcrumb{align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);margin-bottom:var(--spacing-lg);padding:var(--spacing-sm)var(--spacing-md);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-wrap:wrap;display:flex}.breadcrumb-link{color:var(--color-text-muted);transition:color var(--transition-fast);border-radius:var(--radius-sm);min-height:var(--touch-target);align-items:center;gap:4px;padding:2px 4px;text-decoration:none;display:flex}.breadcrumb-link:hover{color:var(--color-primary);background:var(--color-primary-subtle)}.breadcrumb-sep{color:var(--color-border-hover);-webkit-user-select:none;user-select:none}.breadcrumb-current{color:var(--color-text);font-weight:var(--font-weight-medium);padding:2px 4px}@keyframes pageEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-enter{animation:.3s ease-out pageEnter}.toast-container{top:var(--spacing-lg);right:var(--spacing-lg);z-index:var(--z-toast);gap:var(--spacing-sm);pointer-events:none;flex-direction:column;max-width:360px;display:flex;position:fixed}.toast{padding:var(--spacing-sm)var(--spacing-md);background:var(--color-text);color:var(--color-text-inverse);border-radius:var(--radius-lg);font-size:var(--font-size-sm);box-shadow:var(--shadow-lg);pointer-events:auto;animation:.25s ease-out toastSlideIn}@keyframes toastSlideIn{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.summary-key-concepts-toggle{cursor:pointer;width:100%;color:inherit;font:inherit;background:0 0;border:none;justify-content:space-between;align-items:center;padding:0;display:flex}@media (max-width:768px){.bottom-nav{display:flex}body{padding-bottom:72px}.app-footer{display:none}.landing-hero-title{font-size:var(--font-size-2xl)}.landing-hero-cta{width:100%}.landing-hero-cta .btn{text-align:center;justify-content:center;width:100%}.feature-cards-grid{gap:var(--spacing-md);grid-template-columns:1fr}.stats-banner{padding:var(--spacing-md)}.stats-banner-inner{gap:var(--spacing-md)}.stats-banner-divider{display:none}.stats-banner-item{min-width:60px}.toast-container{top:auto;bottom:80px;right:var(--spacing-md);left:var(--spacing-md);align-items:center;max-width:none}.toast{text-align:center;width:100%}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.summary-stats{flex-wrap:wrap}.summary-stat{flex:1;min-width:45%}.breadcrumb{font-size:var(--font-size-xs);padding:var(--spacing-xs)var(--spacing-sm)}.skeleton-topic-grid{grid-template-columns:1fr}}@media (min-width:640px){.landing-hero-cta{flex-direction:row;justify-content:center}}.weekly-summary-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.25rem 1.5rem}.weekly-summary-title{color:var(--color-text);align-items:center;gap:.5rem;margin:0 0 1rem;font-size:1rem;font-weight:600;display:flex}.weekly-summary-grid{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.weekly-summary-stat{background:var(--color-bg);border-radius:var(--radius-md);flex-direction:column;align-items:center;gap:.25rem;padding:.75rem .5rem;display:flex}.weekly-summary-stat.skeleton{height:80px;animation:1.5s ease-in-out infinite pulse}.weekly-summary-stat-value{color:var(--color-text);font-size:1.5rem;font-weight:700}.weekly-summary-stat-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.weekly-summary-time{border-top:1px solid var(--color-border);color:var(--color-text-muted);align-items:center;gap:.5rem;margin-top:.75rem;padding-top:.75rem;font-size:.875rem;display:flex}.weekly-summary-time-value{color:var(--color-text);font-weight:600}.delta-badge{border-radius:9999px;align-items:center;padding:.125rem .375rem;font-size:.7rem;font-weight:600;display:inline-flex}.delta-positive{color:var(--color-success);background:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.delta-positive{background:color-mix(in srgb,var(--color-success)12%,transparent)}}.delta-negative{color:var(--color-error);background:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.delta-negative{background:color-mix(in srgb,var(--color-error)12%,transparent)}}.delta-neutral{color:var(--color-text-muted);background:var(--color-bg)}@media (max-width:640px){.weekly-summary-grid{grid-template-columns:repeat(2,1fr)}}.subject-comparison-chart{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.25rem 1.5rem}.subject-comparison-title{color:var(--color-text);align-items:center;gap:.5rem;margin:0 0 1rem;font-size:1rem;font-weight:600;display:flex}.subject-comparison-container{min-height:200px}.subject-comparison-loading,.subject-comparison-empty{min-height:200px;color:var(--color-text-muted);justify-content:center;align-items:center;display:flex}.subject-comparison-skeleton{background:var(--color-bg);border-radius:var(--radius-md);height:200px;animation:1.5s ease-in-out infinite pulse}.subject-comparison-details{border-top:1px solid var(--color-border);flex-wrap:wrap;gap:.75rem;margin-top:1rem;padding-top:.75rem;display:flex}.subject-comparison-detail-row{align-items:center;gap:.5rem;font-size:.813rem;display:flex}.subject-comparison-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.subject-comparison-name{color:var(--color-text);font-weight:500}.subject-comparison-meta{color:var(--color-text-muted)}.areas-of-concern{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.25rem 1.5rem}.areas-of-concern-title{color:var(--color-text);align-items:center;gap:.5rem;margin:0 0 1rem;font-size:1rem;font-weight:600;display:flex}.areas-of-concern-empty{color:var(--color-success);text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:2rem 1rem;display:flex}.areas-of-concern-empty p{color:var(--color-text-muted)}.areas-of-concern-list{flex-direction:column;gap:.75rem;display:flex}.concern-item{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg);padding:.75rem 1rem}.concern-item.concern-declining{border-left:3px solid var(--color-error)}.concern-item.concern-consistently_low{border-left:3px solid var(--color-warning)}.concern-item-skeleton{background:var(--color-bg);border-radius:var(--radius-md);height:64px;animation:1.5s ease-in-out infinite pulse}.concern-item-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.concern-item-topic{color:var(--color-text);font-size:.875rem;font-weight:600}.concern-trend{border-radius:9999px;align-items:center;gap:.25rem;padding:.125rem .5rem;font-size:.75rem;font-weight:500;display:inline-flex}.concern-trend-declining{color:var(--color-error);background:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.concern-trend-declining{background:color-mix(in srgb,var(--color-error)12%,transparent)}}.concern-trend-low{color:var(--color-warning);background:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.concern-trend-low{background:color-mix(in srgb,var(--color-warning)12%,transparent)}}.concern-item-details{justify-content:space-between;align-items:center;gap:1rem;display:flex}.concern-item-subject{color:var(--color-text-muted);text-transform:capitalize;font-size:.75rem}.concern-item-accuracy{flex:1;align-items:center;gap:.5rem;max-width:200px;display:flex}.concern-accuracy-bar{background:var(--color-border);border-radius:3px;flex:1;height:6px;overflow:hidden}.concern-accuracy-fill{background:var(--color-warning);border-radius:3px;height:100%;transition:width .3s}.concern-accuracy-value{color:var(--color-text);text-align:right;min-width:2.5rem;font-size:.75rem;font-weight:600}.concern-item-comparison{color:var(--color-text-muted);gap:1rem;margin-top:.375rem;font-size:.7rem;display:flex}.session-timeline{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.25rem 1.5rem}.session-timeline-title{color:var(--color-text);align-items:center;gap:.5rem;margin:0 0 1rem;font-size:1rem;font-weight:600;display:flex}.session-timeline-empty{text-align:center;color:var(--color-text-muted);padding:2rem 1rem}.session-timeline-list{flex-direction:column;gap:.25rem;display:flex}.session-timeline-skeleton{background:var(--color-bg);border-radius:var(--radius-md);height:52px;animation:1.5s ease-in-out infinite pulse}.session-timeline-header{background:var(--color-bg);border-radius:var(--radius-md);cursor:pointer;text-align:left;border:none;justify-content:space-between;align-items:center;width:100%;padding:.625rem .75rem;transition:background .15s;display:flex}.session-timeline-header:hover{background:var(--color-primary)}@supports (color:color-mix(in lab, red, red)){.session-timeline-header:hover{background:color-mix(in srgb,var(--color-primary)6%,var(--color-bg))}}.session-timeline-left{flex:1;align-items:center;gap:.625rem;min-width:0;display:flex}.session-timeline-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.dot-good{background:var(--color-success)}.dot-fair{background:var(--color-warning)}.dot-poor{background:var(--color-error)}.session-timeline-info{flex-direction:column;gap:.125rem;min-width:0;display:flex}.session-timeline-topic{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-size:.813rem;font-weight:500;overflow:hidden}.session-timeline-date{color:var(--color-text-muted);font-size:.7rem}.session-timeline-right{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.session-timeline-score{color:var(--color-text-muted);font-size:.75rem}.session-timeline-accuracy{font-size:.813rem;font-weight:600}.acc-good{color:var(--color-success)}.acc-fair{color:var(--color-warning)}.acc-poor{color:var(--color-error)}.session-timeline-xp{color:var(--color-primary);font-size:.7rem;font-weight:500}.session-timeline-chevron{color:var(--color-text-muted);transition:transform .2s}.session-timeline-chevron.rotated{transform:rotate(180deg)}.session-timeline-detail{border:1px solid var(--color-border);border-radius:0 0 var(--radius-md)var(--radius-md);background:var(--color-bg);margin-top:-2px;padding:.75rem}.session-timeline-meta{color:var(--color-text-muted);border-bottom:1px solid var(--color-border);gap:1rem;margin-bottom:.75rem;padding-bottom:.75rem;font-size:.75rem;display:flex}.session-detail-loading{color:var(--color-text-muted);align-items:center;gap:.5rem;padding:1rem;font-size:.813rem;display:flex}.session-detail-spinner{border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin}.session-detail-empty{text-align:center;color:var(--color-text-muted);padding:1rem;font-size:.813rem}.session-detail-answers{flex-direction:column;gap:.5rem;display:flex}.session-answer{border-radius:var(--radius-sm);border-left:3px solid;padding:.625rem .75rem}.session-answer-correct{border-left-color:var(--color-success);background:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.session-answer-correct{background:color-mix(in srgb,var(--color-success)5%,var(--color-bg-card))}}.session-answer-incorrect{border-left-color:var(--color-error);background:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.session-answer-incorrect{background:color-mix(in srgb,var(--color-error)5%,var(--color-bg-card))}}.session-answer-header{justify-content:space-between;align-items:center;margin-bottom:.25rem;display:flex}.session-answer-number{color:var(--color-text-muted);font-size:.7rem;font-weight:600}.session-answer-badge{border-radius:9999px;padding:.063rem .375rem;font-size:.65rem;font-weight:600}.badge-correct{color:var(--color-success);background:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.badge-correct{background:color-mix(in srgb,var(--color-success)12%,transparent)}}.badge-incorrect{color:var(--color-error);background:var(--color-error)}@supports (color:color-mix(in lab, red, red)){.badge-incorrect{background:color-mix(in srgb,var(--color-error)12%,transparent)}}.session-answer-question{color:var(--color-text);margin:.25rem 0;font-size:.813rem;line-height:1.4}.session-answer-options{flex-direction:column;gap:.125rem;margin-top:.25rem;font-size:.75rem;display:flex}.session-answer-selected{color:var(--color-error)}.session-answer-correct-option{color:var(--color-success)}.session-answer-explanation{color:var(--color-text-muted);border-top:1px solid var(--color-border);margin-top:.375rem;padding-top:.375rem;font-size:.75rem;font-style:italic}.notification-settings-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.notification-settings-panel{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #0003}.notification-settings-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.notification-settings-title{color:var(--color-text);align-items:center;gap:.5rem;margin:0;font-size:1.125rem;font-weight:600;display:flex}.notification-settings-close{cursor:pointer;color:var(--color-text-muted);border-radius:var(--radius-sm);background:0 0;border:none;padding:.25rem;transition:color .15s}.notification-settings-close:hover{color:var(--color-text)}.notification-settings-loading{text-align:center;color:var(--color-text-muted);padding:2rem}.notification-settings-body{flex-direction:column;gap:1.5rem;padding:1.5rem;display:flex}.notification-setting-group{flex-direction:column;gap:.5rem;display:flex}.notification-setting-label{color:var(--color-text);font-size:.875rem;font-weight:600}.notification-setting-description{color:var(--color-text-muted);margin:0;font-size:.813rem}.notification-setting-radios{gap:1rem;margin-top:.25rem;display:flex}.notification-radio{cursor:pointer;align-items:center;gap:.375rem;display:flex}.notification-radio input[type=radio]{accent-color:var(--color-primary)}.notification-radio-label{color:var(--color-text);font-size:.813rem}.notification-setting-toggle-row{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.notification-toggle{cursor:pointer;border:none;border-radius:12px;flex-shrink:0;width:44px;height:24px;transition:background .2s;position:relative}.toggle-on{background:var(--color-primary)}.toggle-off{background:var(--color-border)}.notification-toggle-thumb{background:#fff;border-radius:50%;width:20px;height:20px;transition:left .2s;position:absolute;top:2px}.toggle-on .notification-toggle-thumb{left:22px}.toggle-off .notification-toggle-thumb{left:2px}.notification-setting-sub{margin-top:.25rem;padding-left:.5rem}.notification-setting-sublabel{color:var(--color-text);align-items:center;gap:.375rem;font-size:.813rem;display:flex}.notification-threshold-select{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);padding:.25rem .5rem;font-size:.813rem}.notification-settings-footer{border-top:1px solid var(--color-border);justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}.btn-icon{min-width:auto;padding:.5rem}.level-progress{background:var(--color-primary-subtle);border-radius:var(--radius-full);align-items:center;gap:.5rem;min-width:160px;padding:.375rem .75rem;display:flex}.level-progress-badge{background:var(--color-primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.75rem;font-weight:700;display:flex}.level-progress-info{flex:1;min-width:0}.level-progress-bar-container{background:var(--color-border);border-radius:var(--radius-full);height:6px;overflow:hidden}.level-progress-bar-fill{background:var(--color-primary);border-radius:var(--radius-full);height:100%;transition:width .5s}.level-progress-text{color:var(--color-text-muted);white-space:nowrap;font-size:.688rem}.achievement-showcase{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);flex-direction:column;gap:.75rem;padding:1.25rem;display:flex}.achievement-showcase-header{justify-content:space-between;align-items:center;display:flex}.achievement-showcase-title{color:var(--color-text);font-size:.938rem;font-weight:600}.achievement-showcase-count{color:var(--color-primary);font-size:.813rem;font-weight:600}.achievement-showcase-progress{background:var(--color-border);border-radius:var(--radius-full);height:6px;overflow:hidden}.achievement-showcase-progress-fill{background:linear-gradient(90deg,var(--color-primary),var(--color-accent));border-radius:var(--radius-full);height:100%;transition:width .5s}.achievement-showcase-recent{flex-direction:column;gap:.5rem;display:flex}.achievement-showcase-item{align-items:center;gap:.5rem;padding:.375rem 0;display:flex}.achievement-showcase-icon{flex-shrink:0;font-size:1.25rem}.achievement-showcase-item-info{flex:1;min-width:0}.achievement-showcase-item-name{color:var(--color-text);font-size:.813rem;font-weight:500;display:block}.achievement-showcase-item-xp{color:var(--color-primary);font-size:.75rem;font-weight:500}.achievement-showcase-empty{color:var(--color-text-muted);text-align:center;padding:.5rem 0;font-size:.813rem}.achievement-showcase-link{text-align:center;color:var(--color-primary);font-size:.813rem;font-weight:500;text-decoration:none}.achievement-showcase-link:hover{text-decoration:underline}.daily-challenge-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:1.25rem}.daily-challenge-card.daily-challenge-correct{border-color:var(--color-correct);background:var(--color-correct-bg)}.daily-challenge-card.daily-challenge-incorrect{border-color:var(--color-incorrect);background:var(--color-incorrect-bg)}.daily-challenge-header{align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.daily-challenge-icon{font-size:1.25rem}.daily-challenge-title{color:var(--color-text);flex:1;font-size:1rem;font-weight:600}.daily-challenge-bonus{color:var(--color-primary);background:var(--color-primary-subtle);border-radius:var(--radius-full);padding:.125rem .5rem;font-size:.75rem;font-weight:600}.daily-challenge-question{color:var(--color-text);margin-bottom:.75rem;font-size:.938rem;line-height:1.5}.daily-challenge-options{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.daily-challenge-option{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;text-align:left;align-items:center;gap:.625rem;padding:.625rem .875rem;font-size:.875rem;transition:all .15s;display:flex}.daily-challenge-option:hover:not(.disabled){border-color:var(--color-primary-light);background:var(--color-primary-subtle)}.daily-challenge-option.selected{border-color:var(--color-primary);background:var(--color-primary-subtle)}.daily-challenge-option.disabled{cursor:default;opacity:.7}.daily-challenge-option.correct{border-color:var(--color-correct);background:var(--color-correct-bg)}.daily-challenge-option.incorrect{border-color:var(--color-incorrect);background:var(--color-incorrect-bg)}.daily-challenge-option-id{background:var(--color-border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.75rem;font-weight:600;display:flex}.daily-challenge-option.selected .daily-challenge-option-id{background:var(--color-primary);color:#fff}.daily-challenge-option-text{flex:1}.daily-challenge-result{padding:.75rem 0 0}.daily-challenge-result-text{font-size:.938rem;font-weight:600}.daily-challenge-result-text.correct{color:var(--color-correct)}.daily-challenge-result-text.incorrect{color:var(--color-incorrect)}.daily-challenge-explanation{color:var(--color-text-muted);margin-top:.375rem;font-size:.813rem;line-height:1.5}.daily-challenge-submit{width:100%}.daily-challenge-message{color:var(--color-text-muted);text-align:center;padding:1rem 0;font-size:.875rem}.achievement-toast-container{z-index:1000;pointer-events:none;flex-direction:column;gap:.5rem;display:flex;position:fixed;top:1rem;right:1rem}.achievement-toast-container.visible{animation:.4s ease-out forwards achievement-toast-in}.achievement-toast-container.hidden{animation:.3s ease-in forwards achievement-toast-out}.achievement-toast{background:var(--color-surface);border:1.5px solid var(--color-primary);border-radius:var(--radius-xl);pointer-events:auto;align-items:center;gap:.75rem;min-width:260px;max-width:340px;padding:.75rem 1rem;display:flex;box-shadow:0 8px 24px #00000026}.achievement-toast-icon{flex-shrink:0;font-size:1.5rem}.achievement-toast-content{flex-direction:column;flex:1;min-width:0;display:flex}.achievement-toast-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-primary);font-size:.688rem;font-weight:600}.achievement-toast-name{color:var(--color-text);font-size:.875rem;font-weight:600}.achievement-toast-xp{color:var(--color-accent);font-size:.75rem;font-weight:500}.achievement-toast-close{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;flex-shrink:0;padding:.25rem}.achievement-toast-close:hover{color:var(--color-text)}@keyframes achievement-toast-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes achievement-toast-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.achievements-page{padding:var(--spacing-lg)var(--spacing-md)}.achievements-container{max-width:900px;margin:0 auto}.achievements-header{margin-bottom:var(--spacing-xl);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.achievements-title{color:var(--color-text);font-size:1.5rem;font-weight:700}.achievements-subtitle{color:var(--color-text-muted);margin-top:.25rem;font-size:.875rem}.achievements-category{margin-bottom:var(--spacing-xl)}.achievements-category-title{color:var(--color-text);margin-bottom:var(--spacing-md);border-bottom:2px solid var(--color-border);padding-bottom:.375rem;font-size:1.125rem;font-weight:600}.achievements-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.75rem;display:grid}.achievement-card{border-radius:var(--radius-xl);border:1.5px solid var(--color-border);background:var(--color-surface);align-items:flex-start;gap:.75rem;padding:1rem;transition:all .15s;display:flex;position:relative}.achievement-card.earned{border-color:var(--color-primary-light);background:var(--color-primary-subtle)}.achievement-card.locked{opacity:.5;filter:grayscale(.5)}.achievement-card-icon{flex-shrink:0;font-size:1.75rem}.achievement-card-info{flex:1;min-width:0}.achievement-card-name{color:var(--color-text);margin:0;font-size:.875rem;font-weight:600}.achievement-card-desc{color:var(--color-text-muted);margin:.125rem 0 .25rem;font-size:.75rem;line-height:1.4}.achievement-card-xp{color:var(--color-primary);font-size:.688rem;font-weight:600}.achievement-card-date{color:var(--color-text-muted);font-size:.625rem;position:absolute;top:.5rem;right:.75rem}@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}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}
