@charset "UTF-8";@layer theme,base,components,utilities;@layer theme{@theme default{ --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; --color-red-50: oklch(97.1% .013 17.38); --color-red-100: oklch(93.6% .032 17.717); --color-red-200: oklch(88.5% .062 18.334); --color-red-300: oklch(80.8% .114 19.571); --color-red-400: oklch(70.4% .191 22.216); --color-red-500: oklch(63.7% .237 25.331); --color-red-600: oklch(57.7% .245 27.325); --color-red-700: oklch(50.5% .213 27.518); --color-red-800: oklch(44.4% .177 26.899); --color-red-900: oklch(39.6% .141 25.723); --color-red-950: oklch(25.8% .092 26.042); --color-orange-50: oklch(98% .016 73.684); --color-orange-100: oklch(95.4% .038 75.164); --color-orange-200: oklch(90.1% .076 70.697); --color-orange-300: oklch(83.7% .128 66.29); --color-orange-400: oklch(75% .183 55.934); --color-orange-500: oklch(70.5% .213 47.604); --color-orange-600: oklch(64.6% .222 41.116); --color-orange-700: oklch(55.3% .195 38.402); --color-orange-800: oklch(47% .157 37.304); --color-orange-900: oklch(40.8% .123 38.172); --color-orange-950: oklch(26.6% .079 36.259); --color-amber-50: oklch(98.7% .022 95.277); --color-amber-100: oklch(96.2% .059 95.617); --color-amber-200: oklch(92.4% .12 95.746); --color-amber-300: oklch(87.9% .169 91.605); --color-amber-400: oklch(82.8% .189 84.429); --color-amber-500: oklch(76.9% .188 70.08); --color-amber-600: oklch(66.6% .179 58.318); --color-amber-700: oklch(55.5% .163 48.998); --color-amber-800: oklch(47.3% .137 46.201); --color-amber-900: oklch(41.4% .112 45.904); --color-amber-950: oklch(27.9% .077 45.635); --color-yellow-50: oklch(98.7% .026 102.212); --color-yellow-100: oklch(97.3% .071 103.193); --color-yellow-200: oklch(94.5% .129 101.54); --color-yellow-300: oklch(90.5% .182 98.111); --color-yellow-400: oklch(85.2% .199 91.936); --color-yellow-500: oklch(79.5% .184 86.047); --color-yellow-600: oklch(68.1% .162 75.834); --color-yellow-700: oklch(55.4% .135 66.442); --color-yellow-800: oklch(47.6% .114 61.907); --color-yellow-900: oklch(42.1% .095 57.708); --color-yellow-950: oklch(28.6% .066 53.813); --color-lime-50: oklch(98.6% .031 120.757); --color-lime-100: oklch(96.7% .067 122.328); --color-lime-200: oklch(93.8% .127 124.321); --color-lime-300: oklch(89.7% .196 126.665); --color-lime-400: oklch(84.1% .238 128.85); --color-lime-500: oklch(76.8% .233 130.85); --color-lime-600: oklch(64.8% .2 131.684); --color-lime-700: oklch(53.2% .157 131.589); --color-lime-800: oklch(45.3% .124 130.933); --color-lime-900: oklch(40.5% .101 131.063); --color-lime-950: oklch(27.4% .072 132.109); --color-green-50: oklch(98.2% .018 155.826); --color-green-100: oklch(96.2% .044 156.743); --color-green-200: oklch(92.5% .084 155.995); --color-green-300: oklch(87.1% .15 154.449); --color-green-400: oklch(79.2% .209 151.711); --color-green-500: oklch(72.3% .219 149.579); --color-green-600: oklch(62.7% .194 149.214); --color-green-700: oklch(52.7% .154 150.069); --color-green-800: oklch(44.8% .119 151.328); --color-green-900: oklch(39.3% .095 152.535); --color-green-950: oklch(26.6% .065 152.934); --color-emerald-50: oklch(97.9% .021 166.113); --color-emerald-100: oklch(95% .052 163.051); --color-emerald-200: oklch(90.5% .093 164.15); --color-emerald-300: oklch(84.5% .143 164.978); --color-emerald-400: oklch(76.5% .177 163.223); --color-emerald-500: oklch(69.6% .17 162.48); --color-emerald-600: oklch(59.6% .145 163.225); --color-emerald-700: oklch(50.8% .118 165.612); --color-emerald-800: oklch(43.2% .095 166.913); --color-emerald-900: oklch(37.8% .077 168.94); --color-emerald-950: oklch(26.2% .051 172.552); --color-teal-50: oklch(98.4% .014 180.72); --color-teal-100: oklch(95.3% .051 180.801); --color-teal-200: oklch(91% .096 180.426); --color-teal-300: oklch(85.5% .138 181.071); --color-teal-400: oklch(77.7% .152 181.912); --color-teal-500: oklch(70.4% .14 182.503); --color-teal-600: oklch(60% .118 184.704); --color-teal-700: oklch(51.1% .096 186.391); --color-teal-800: oklch(43.7% .078 188.216); --color-teal-900: oklch(38.6% .063 188.416); --color-teal-950: oklch(27.7% .046 192.524); --color-cyan-50: oklch(98.4% .019 200.873); --color-cyan-100: oklch(95.6% .045 203.388); --color-cyan-200: oklch(91.7% .08 205.041); --color-cyan-300: oklch(86.5% .127 207.078); --color-cyan-400: oklch(78.9% .154 211.53); --color-cyan-500: oklch(71.5% .143 215.221); --color-cyan-600: oklch(60.9% .126 221.723); --color-cyan-700: oklch(52% .105 223.128); --color-cyan-800: oklch(45% .085 224.283); --color-cyan-900: oklch(39.8% .07 227.392); --color-cyan-950: oklch(30.2% .056 229.695); --color-sky-50: oklch(97.7% .013 236.62); --color-sky-100: oklch(95.1% .026 236.824); --color-sky-200: oklch(90.1% .058 230.902); --color-sky-300: oklch(82.8% .111 230.318); --color-sky-400: oklch(74.6% .16 232.661); --color-sky-500: oklch(68.5% .169 237.323); --color-sky-600: oklch(58.8% .158 241.966); --color-sky-700: oklch(50% .134 242.749); --color-sky-800: oklch(44.3% .11 240.79); --color-sky-900: oklch(39.1% .09 240.876); --color-sky-950: oklch(29.3% .066 243.157); --color-blue-50: oklch(97% .014 254.604); --color-blue-100: oklch(93.2% .032 255.585); --color-blue-200: oklch(88.2% .059 254.128); --color-blue-300: oklch(80.9% .105 251.813); --color-blue-400: oklch(70.7% .165 254.624); --color-blue-500: oklch(62.3% .214 259.815); --color-blue-600: oklch(54.6% .245 262.881); --color-blue-700: oklch(48.8% .243 264.376); --color-blue-800: oklch(42.4% .199 265.638); --color-blue-900: oklch(37.9% .146 265.522); --color-blue-950: oklch(28.2% .091 267.935); --color-indigo-50: oklch(96.2% .018 272.314); --color-indigo-100: oklch(93% .034 272.788); --color-indigo-200: oklch(87% .065 274.039); --color-indigo-300: oklch(78.5% .115 274.713); --color-indigo-400: oklch(67.3% .182 276.935); --color-indigo-500: oklch(58.5% .233 277.117); --color-indigo-600: oklch(51.1% .262 276.966); --color-indigo-700: oklch(45.7% .24 277.023); --color-indigo-800: oklch(39.8% .195 277.366); --color-indigo-900: oklch(35.9% .144 278.697); --color-indigo-950: oklch(25.7% .09 281.288); --color-violet-50: oklch(96.9% .016 293.756); --color-violet-100: oklch(94.3% .029 294.588); --color-violet-200: oklch(89.4% .057 293.283); --color-violet-300: oklch(81.1% .111 293.571); --color-violet-400: oklch(70.2% .183 293.541); --color-violet-500: oklch(60.6% .25 292.717); --color-violet-600: oklch(54.1% .281 293.009); --color-violet-700: oklch(49.1% .27 292.581); --color-violet-800: oklch(43.2% .232 292.759); --color-violet-900: oklch(38% .189 293.745); --color-violet-950: oklch(28.3% .141 291.089); --color-purple-50: oklch(97.7% .014 308.299); --color-purple-100: oklch(94.6% .033 307.174); --color-purple-200: oklch(90.2% .063 306.703); --color-purple-300: oklch(82.7% .119 306.383); --color-purple-400: oklch(71.4% .203 305.504); --color-purple-500: oklch(62.7% .265 303.9); --color-purple-600: oklch(55.8% .288 302.321); --color-purple-700: oklch(49.6% .265 301.924); --color-purple-800: oklch(43.8% .218 303.724); --color-purple-900: oklch(38.1% .176 304.987); --color-purple-950: oklch(29.1% .149 302.717); --color-fuchsia-50: oklch(97.7% .017 320.058); --color-fuchsia-100: oklch(95.2% .037 318.852); --color-fuchsia-200: oklch(90.3% .076 319.62); --color-fuchsia-300: oklch(83.3% .145 321.434); --color-fuchsia-400: oklch(74% .238 322.16); --color-fuchsia-500: oklch(66.7% .295 322.15); --color-fuchsia-600: oklch(59.1% .293 322.896); --color-fuchsia-700: oklch(51.8% .253 323.949); --color-fuchsia-800: oklch(45.2% .211 324.591); --color-fuchsia-900: oklch(40.1% .17 325.612); --color-fuchsia-950: oklch(29.3% .136 325.661); --color-pink-50: oklch(97.1% .014 343.198); --color-pink-100: oklch(94.8% .028 342.258); --color-pink-200: oklch(89.9% .061 343.231); --color-pink-300: oklch(82.3% .12 346.018); --color-pink-400: oklch(71.8% .202 349.761); --color-pink-500: oklch(65.6% .241 354.308); --color-pink-600: oklch(59.2% .249 .584); --color-pink-700: oklch(52.5% .223 3.958); --color-pink-800: oklch(45.9% .187 3.815); --color-pink-900: oklch(40.8% .153 2.432); --color-pink-950: oklch(28.4% .109 3.907); --color-rose-50: oklch(96.9% .015 12.422); --color-rose-100: oklch(94.1% .03 12.58); --color-rose-200: oklch(89.2% .058 10.001); --color-rose-300: oklch(81% .117 11.638); --color-rose-400: oklch(71.2% .194 13.428); --color-rose-500: oklch(64.5% .246 16.439); --color-rose-600: oklch(58.6% .253 17.585); --color-rose-700: oklch(51.4% .222 16.935); --color-rose-800: oklch(45.5% .188 13.697); --color-rose-900: oklch(41% .159 10.272); --color-rose-950: oklch(27.1% .105 12.094); --color-slate-50: oklch(98.4% .003 247.858); --color-slate-100: oklch(96.8% .007 247.896); --color-slate-200: oklch(92.9% .013 255.508); --color-slate-300: oklch(86.9% .022 252.894); --color-slate-400: oklch(70.4% .04 256.788); --color-slate-500: oklch(55.4% .046 257.417); --color-slate-600: oklch(44.6% .043 257.281); --color-slate-700: oklch(37.2% .044 257.287); --color-slate-800: oklch(27.9% .041 260.031); --color-slate-900: oklch(20.8% .042 265.755); --color-slate-950: oklch(12.9% .042 264.695); --color-gray-50: oklch(98.5% .002 247.839); --color-gray-100: oklch(96.7% .003 264.542); --color-gray-200: oklch(92.8% .006 264.531); --color-gray-300: oklch(87.2% .01 258.338); --color-gray-400: oklch(70.7% .022 261.325); --color-gray-500: oklch(55.1% .027 264.364); --color-gray-600: oklch(44.6% .03 256.802); --color-gray-700: oklch(37.3% .034 259.733); --color-gray-800: oklch(27.8% .033 256.848); --color-gray-900: oklch(21% .034 264.665); --color-gray-950: oklch(13% .028 261.692); --color-zinc-50: oklch(98.5% 0 0); --color-zinc-100: oklch(96.7% .001 286.375); --color-zinc-200: oklch(92% .004 286.32); --color-zinc-300: oklch(87.1% .006 286.286); --color-zinc-400: oklch(70.5% .015 286.067); --color-zinc-500: oklch(55.2% .016 285.938); --color-zinc-600: oklch(44.2% .017 285.786); --color-zinc-700: oklch(37% .013 285.805); --color-zinc-800: oklch(27.4% .006 286.033); --color-zinc-900: oklch(21% .006 285.885); --color-zinc-950: oklch(14.1% .005 285.823); --color-neutral-50: oklch(98.5% 0 0); --color-neutral-100: oklch(97% 0 0); --color-neutral-200: oklch(92.2% 0 0); --color-neutral-300: oklch(87% 0 0); --color-neutral-400: oklch(70.8% 0 0); --color-neutral-500: oklch(55.6% 0 0); --color-neutral-600: oklch(43.9% 0 0); --color-neutral-700: oklch(37.1% 0 0); --color-neutral-800: oklch(26.9% 0 0); --color-neutral-900: oklch(20.5% 0 0); --color-neutral-950: oklch(14.5% 0 0); --color-stone-50: oklch(98.5% .001 106.423); --color-stone-100: oklch(97% .001 106.424); --color-stone-200: oklch(92.3% .003 48.717); --color-stone-300: oklch(86.9% .005 56.366); --color-stone-400: oklch(70.9% .01 56.259); --color-stone-500: oklch(55.3% .013 58.071); --color-stone-600: oklch(44.4% .011 73.639); --color-stone-700: oklch(37.4% .01 67.558); --color-stone-800: oklch(26.8% .007 34.298); --color-stone-900: oklch(21.6% .006 56.043); --color-stone-950: oklch(14.7% .004 49.25); --color-black: #000; --color-white: #fff; --spacing: .25rem; --breakpoint-sm: 40rem; --breakpoint-md: 48rem; --breakpoint-lg: 64rem; --breakpoint-xl: 80rem; --breakpoint-2xl: 96rem; --container-3xs: 16rem; --container-2xs: 18rem; --container-xs: 20rem; --container-sm: 24rem; --container-md: 28rem; --container-lg: 32rem; --container-xl: 36rem; --container-2xl: 42rem; --container-3xl: 48rem; --container-4xl: 56rem; --container-5xl: 64rem; --container-6xl: 72rem; --container-7xl: 80rem; --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: 1.5 ; --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); --text-3xl: 1.875rem; --text-3xl--line-height: 1.2 ; --text-4xl: 2.25rem; --text-4xl--line-height: calc(2.5 / 2.25); --text-5xl: 3rem; --text-5xl--line-height: 1; --text-6xl: 3.75rem; --text-6xl--line-height: 1; --text-7xl: 4.5rem; --text-7xl--line-height: 1; --text-8xl: 6rem; --text-8xl--line-height: 1; --text-9xl: 8rem; --text-9xl--line-height: 1; --font-weight-thin: 100; --font-weight-extralight: 200; --font-weight-light: 300; --font-weight-normal: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; --font-weight-extrabold: 800; --font-weight-black: 900; --tracking-tighter: -.05em; --tracking-tight: -.025em; --tracking-normal: 0em; --tracking-wide: .025em; --tracking-wider: .05em; --tracking-widest: .1em; --leading-tight: 1.25; --leading-snug: 1.375; --leading-normal: 1.5; --leading-relaxed: 1.625; --leading-loose: 2; --radius-xs: .125rem; --radius-sm: .25rem; --radius-md: .375rem; --radius-lg: .5rem; --radius-xl: .75rem; --radius-2xl: 1rem; --radius-3xl: 1.5rem; --radius-4xl: 2rem; --shadow-2xs: 0 1px rgb(0 0 0 / .05); --shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .05); --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1); --shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1); --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1); --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1); --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25); --inset-shadow-2xs: inset 0 1px rgb(0 0 0 / .05); --inset-shadow-xs: inset 0 1px 1px rgb(0 0 0 / .05); --inset-shadow-sm: inset 0 2px 4px rgb(0 0 0 / .05); --drop-shadow-xs: 0 1px 1px rgb(0 0 0 / .05); --drop-shadow-sm: 0 1px 2px rgb(0 0 0 / .15); --drop-shadow-md: 0 3px 3px rgb(0 0 0 / .12); --drop-shadow-lg: 0 4px 4px rgb(0 0 0 / .15); --drop-shadow-xl: 0 9px 7px rgb(0 0 0 / .1); --drop-shadow-2xl: 0 25px 25px rgb(0 0 0 / .15); --text-shadow-2xs: 0px 1px 0px rgb(0 0 0 / .15); --text-shadow-xs: 0px 1px 1px rgb(0 0 0 / .2); --text-shadow-sm: 0px 1px 0px rgb(0 0 0 / .075), 0px 1px 1px rgb(0 0 0 / .075), 0px 2px 2px rgb(0 0 0 / .075); --text-shadow-md: 0px 1px 1px rgb(0 0 0 / .1), 0px 1px 2px rgb(0 0 0 / .1), 0px 2px 4px rgb(0 0 0 / .1); --text-shadow-lg: 0px 1px 2px rgb(0 0 0 / .1), 0px 3px 2px rgb(0 0 0 / .1), 0px 4px 8px rgb(0 0 0 / .1); --ease-in: cubic-bezier(.4, 0, 1, 1); --ease-out: cubic-bezier(0, 0, .2, 1); --ease-in-out: cubic-bezier(.4, 0, .2, 1); --animate-spin: spin 1s linear infinite; --animate-ping: ping 1s cubic-bezier(0, 0, .2, 1) infinite; --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite; --animate-bounce: bounce 1s infinite; @keyframes spin { to { transform: rotate(360deg); } } @keyframes ping { 75%, 100% { transform: scale(2); opacity: 0; } } @keyframes pulse { 50% { opacity: .5; } } @keyframes bounce { 0%, 100% { transform: translateY(-25%); animation-timing-function: cubic-bezier(.8, 0, 1, 1); } 50% { transform: none; animation-timing-function: cubic-bezier(0, 0, .2, 1); } } --blur-xs: 4px; --blur-sm: 8px; --blur-md: 12px; --blur-lg: 16px; --blur-xl: 24px; --blur-2xl: 40px; --blur-3xl: 64px; --perspective-dramatic: 100px; --perspective-near: 300px; --perspective-normal: 500px; --perspective-midrange: 800px; --perspective-distant: 1200px; --aspect-video: 16 / 9; --default-transition-duration: .15s; --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1); --default-font-family: --theme(--font-sans, initial); --default-font-feature-settings: --theme( --font-sans--font-feature-settings, initial ); --default-font-variation-settings: --theme( --font-sans--font-variation-settings, initial ); --default-mono-font-family: --theme(--font-mono, initial); --default-mono-font-feature-settings: --theme( --font-mono--font-feature-settings, initial ); --default-mono-font-variation-settings: --theme( --font-mono--font-variation-settings, initial ); }@theme default inline reference{ --blur: 8px; --shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1); --shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .05); --drop-shadow: 0 1px 2px rgb(0 0 0 / .1), 0 1px 1px rgb(0 0 0 / .06); --radius: .25rem; --max-width-prose: 65ch; }}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:--theme(--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:--theme(--default-font-feature-settings,normal);font-variation-settings:--theme(--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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:--theme(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:--theme(--default-mono-font-feature-settings,normal);font-variation-settings:--theme(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}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{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}: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: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,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-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]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{@tailwind utilities;}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{overflow-x:hidden;width:100%;max-width:100vw}:root{--safe-area-inset-top: 0px;--safe-area-inset-right: 0px;--safe-area-inset-bottom: 0px;--safe-area-inset-left: 0px}@supports (padding-top: env(safe-area-inset-top)){:root{--safe-area-inset-top: env(safe-area-inset-top);--safe-area-inset-right: env(safe-area-inset-right);--safe-area-inset-bottom: env(safe-area-inset-bottom);--safe-area-inset-left: env(safe-area-inset-left)}}body{padding-top:var(--safe-area-inset-top);padding-left:var(--safe-area-inset-left);padding-right:var(--safe-area-inset-right)}.header,.landing-nav,[class*=fixed-header],header[class*=fixed]{padding-top:max(var(--safe-area-inset-top),0px);padding-left:max(var(--safe-area-inset-left),0px);padding-right:max(var(--safe-area-inset-right),0px)}.bottom-nav,.fixed-bottom,[class*=footer-fixed],.mobile-menu{padding-bottom:max(var(--safe-area-inset-bottom),0px);padding-left:max(var(--safe-area-inset-left),0px);padding-right:max(var(--safe-area-inset-right),0px)}@media(orientation:landscape)and (max-height:500px){.hero,.section-container,.page-container{padding-left:max(var(--safe-area-inset-left),1.5rem);padding-right:max(var(--safe-area-inset-right),1.5rem)}}.btn,.nav-link,.mobile-menu-link,button:not(.unstyled),a[role=button],input[type=submit],input[type=button]{min-height:44px}@media(min-width:430px)and (max-width:767px){.page-container{padding-inline:1.25rem}.btn{padding:.75rem 1.25rem}}:root{--theme-transition: .2s ease;--brand-50: #f0f8fd;--brand-100: #dceef8;--brand-200: #b3daf0;--brand-300: #7fc3e5;--brand-400: #4a9fd4;--brand-500: #2e86c1;--brand-600: #256fa0;--brand-700: #1d5a80;--brand-800: #164968;--brand-900: #0f3450;--accent-green: #22c55e;--accent-green-light: #4ade80;--accent-red: #ef4444;--accent-yellow: #eab308;--accent-blue: #2e86c1;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem}:root.light,:root:not(.dark){--bg-base: #f8fafc;--bg-surface: #ffffff;--bg-elevated: #ffffff;--bg-input: #ffffff;--bg-hover: #f1f5f9;--glass-bg: rgba(255, 255, 255, .8);--glass-border: rgba(0, 0, 0, .08);--glass-blur: 12px;--border-primary: #e2e8f0;--border-secondary: #cbd5e1;--border-focus: var(--brand-500);--text-primary: #0f172a;--text-secondary: #475569;--text-tertiary: #64748b;--text-muted: #94a3b8;--text-inverted: #ffffff;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--shadow-glow: 0 0 20px rgba(46, 134, 193, .2);--header-bg: rgba(255, 255, 255, .85);--card-bg: #ffffff;--input-bg: #ffffff;--btn-secondary-bg: #f1f5f9;--btn-secondary-hover: #e2e8f0}:root.dark{--bg-base: #0a0a12;--bg-surface: rgba(15, 20, 35, .6);--bg-elevated: rgba(20, 30, 55, .7);--bg-input: rgba(10, 15, 30, .8);--bg-hover: rgba(30, 45, 70, .5);--glass-bg: rgba(15, 25, 50, .65);--glass-border: rgba(100, 150, 255, .08);--glass-blur: 20px;--border-primary: rgba(100, 150, 255, .06);--border-secondary: rgba(100, 150, 255, .12);--border-focus: var(--brand-500);--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-tertiary: #64748b;--text-muted: #475569;--text-inverted: #0f172a;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .3);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .4), 0 2px 4px -2px rgb(0 0 0 / .3);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .5), 0 4px 6px -4px rgb(0 0 0 / .4);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .5), 0 8px 10px -6px rgb(0 0 0 / .4);--shadow-glow: 0 0 30px rgba(46, 134, 193, .3);--header-bg: rgba(10, 12, 25, .75);--card-bg: rgba(15, 25, 50, .5);--input-bg: rgba(10, 18, 35, .6);--btn-secondary-bg: rgba(25, 40, 70, .5);--btn-secondary-hover: rgba(35, 55, 90, .6)}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--bg-base);color:var(--text-primary);line-height:1.6;min-height:100vh;transition:background-color var(--theme-transition),color var(--theme-transition)}:root.dark body{background-image:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(46,134,193,.15),transparent),radial-gradient(ellipse 60% 40% at 100% 100%,rgba(37,99,235,.1),transparent);background-attachment:fixed}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3;color:var(--text-primary)}h1{font-size:2.25rem}h2{font-size:1.875rem}h3{font-size:1.5rem}h4{font-size:1.25rem}p{color:var(--text-secondary)}a{color:var(--brand-400);text-decoration:none;transition:color .15s ease}a:hover{color:var(--brand-300)}.glass{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border)}.glass-subtle{background:var(--card-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--border-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:500;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all .15s ease;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--brand-600) 0%,var(--brand-500) 100%);color:#fff!important;box-shadow:0 2px 8px #2e86c14d}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--brand-500) 0%,var(--brand-400) 100%);color:#fff!important;box-shadow:0 4px 20px #2e86c180,0 0 0 2px #2e86c133;transform:translateY(-2px)}.btn-primary:active:not(:disabled){transform:translateY(0);color:#fff!important;box-shadow:0 2px 8px #2e86c166}.btn-secondary{background:var(--btn-secondary-bg);color:var(--text-primary)!important;border:1px solid var(--border-primary)}.btn-secondary:hover:not(:disabled){background:var(--btn-secondary-hover);color:var(--text-primary)!important;border-color:var(--border-secondary)}.btn-outline{background:transparent;color:var(--text-primary)!important;border:1px solid var(--border-primary)}.btn-outline:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)!important;border-color:var(--border-secondary)}.btn-ghost{background:transparent;color:var(--text-secondary)!important}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)!important}.btn-google{background:var(--card-bg);color:var(--text-primary)!important;border:1px solid var(--border-primary);padding:.75rem 1rem}:root.dark .btn-google{background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-google:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)!important;border-color:var(--border-secondary)}.btn-google-primary{display:flex;align-items:center;justify-content:center;gap:1rem;width:100%;padding:1rem 1.5rem;background:linear-gradient(135deg,#4285f4,#357abd);color:#fff!important;border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #4285f44d}.btn-google-primary:hover:not(:disabled){background:linear-gradient(135deg,#357abd,#2a5f8f);box-shadow:0 6px 20px #4285f466;transform:translateY(-2px)}.btn-google-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.google-btn-text{display:flex;flex-direction:column;align-items:flex-start;text-align:left}.google-btn-main{font-size:1rem;font-weight:600}.google-btn-sub{font-size:.75rem;font-weight:400;opacity:.9}.premium-intent-banner{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:linear-gradient(135deg,#6366f11a,#8b5cf61a);border:1px solid rgba(99,102,241,.2);border-radius:var(--radius-md);margin-bottom:1.5rem;color:var(--brand-500);font-size:.9375rem;font-weight:500}.premium-intent-banner svg{flex-shrink:0;color:var(--brand-500)}.email-registration-toggle{margin-top:1.5rem;text-align:center}.email-registration-toggle .toggle-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:transparent;border:none;color:var(--text-muted);font-size:.875rem;cursor:pointer;transition:color .2s ease}.email-registration-toggle .toggle-btn:hover{color:var(--text-primary)}.email-registration-toggle .toggle-btn svg{transition:transform .2s ease}.email-registration-toggle .toggle-btn svg.rotated{transform:rotate(180deg)}.email-form-container{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-primary);animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.btn-lg{padding:.875rem 1.5rem;font-size:1rem}.btn-sm{padding:.5rem .75rem;font-size:.8125rem}.btn-full{width:100%}.page-container{min-height:100vh;padding:2rem 1rem}@media(min-width:640px){.page-container{padding:2rem 1.5rem}}.content-container{width:100%;max-width:672px;margin-left:auto;margin-right:auto}.page-header{margin-bottom:2rem}.back-link{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:1rem;color:var(--text-secondary);text-decoration:none;font-size:.9375rem;transition:color .15s ease}.back-link:hover{color:var(--text-primary)}.back-link svg{width:20px;height:20px}.page-title{font-size:1.875rem;font-weight:700;color:var(--text-primary);line-height:1.2}.page-subtitle{margin-top:.5rem;color:var(--text-secondary);font-size:1rem}.form-section{margin-bottom:2rem}.form-section-sm,.section-spacing{margin-bottom:1.5rem}.form-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.section-title-mb{margin-bottom:1rem}.clear-btn{background:none;border:none;padding:0;font-size:.875rem;color:var(--text-muted);cursor:pointer;transition:color .15s ease}.clear-btn:hover{color:var(--text-secondary)}.helper-text{margin-top:.75rem;font-size:.875rem;color:var(--text-muted)}.helper-text .highlight{color:var(--text-secondary)}.pills-row{display:flex;flex-wrap:wrap;gap:.5rem}.alert-close{margin-left:auto;background:none;border:none;padding:.25rem;cursor:pointer;opacity:.7;transition:opacity .15s ease}.alert-close:hover{opacity:1}.alert-close svg{width:16px;height:16px}.btn-theme{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;background:var(--bg-hover);border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.btn-theme:hover{background:var(--btn-secondary-hover);color:var(--text-primary);border-color:var(--border-secondary)}:root.dark .btn-theme{background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.form-group{display:flex;flex-direction:column;gap:.375rem}.label{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.input{width:100%;padding:.625rem .875rem;font-size:.9375rem;color:var(--text-primary);background:var(--input-bg);border:1px solid var(--border-primary);border-radius:var(--radius-md);transition:all .15s ease;outline:none}:root.dark .input{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.input::placeholder{color:var(--text-muted)}.input:hover{border-color:var(--border-secondary)}.input:focus{border-color:var(--brand-500);box-shadow:0 0 0 3px #2e86c126}.input.error{border-color:var(--accent-red)}.input.error:focus{box-shadow:0 0 0 3px #ef444426}.card{background:var(--card-bg);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:1.5rem;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}.card .text-primary,.card h1,.card h2,.card h3,.card h4{color:var(--text-primary)!important}.card .text-secondary,.card p{color:var(--text-secondary)!important}:root.dark .card{backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}.card-hover:hover{border-color:var(--border-secondary);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-hover:hover .text-primary,.card-hover:hover h1,.card-hover:hover h2,.card-hover:hover h3,.card-hover:hover h4{color:var(--text-primary)!important}.card-hover:hover .text-secondary,.card-hover:hover p{color:var(--text-secondary)!important}:root.dark .card-hover:hover{box-shadow:var(--shadow-lg),var(--shadow-glow)}.divider{display:flex;align-items:center;gap:1rem;color:var(--text-muted);font-size:.8125rem}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--border-primary)}.alert{padding:.875rem 1rem;border-radius:var(--radius-md);font-size:.875rem}.alert-error{background:#ef44441a;border:1px solid rgba(239,68,68,.2);color:#fca5a5}:root.light .alert-error{color:#dc2626}.alert-success{background:#22c55e1a;border:1px solid rgba(34,197,94,.2);color:#86efac}:root.light .alert-success{color:#16a34a}.header{position:sticky;top:0;z-index:50;background:var(--header-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-bottom:1px solid var(--border-primary);transition:background-color var(--theme-transition)}.header-container{max-width:1280px;margin:0 auto;padding:0 1.5rem;height:64px;display:flex;align-items:center;justify-content:space-between}.header-logo{display:flex;align-items:center;gap:.625rem;text-decoration:none}.header-logo-icon{width:32px;height:32px;background:linear-gradient(135deg,var(--brand-600) 0%,var(--brand-400) 100%);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.75rem;color:#fff;box-shadow:var(--shadow-glow)}.header-logo-circle{width:44px;height:44px;border-radius:50%;overflow:hidden;box-shadow:0 2px 8px #00000026;display:flex;align-items:center;justify-content:center}.header-logo-img{width:100%;height:100%;object-fit:cover}.header-logo-text{font-size:1.125rem;font-weight:700;color:var(--text-primary);white-space:nowrap}.header-nav{display:flex;align-items:center;gap:.5rem}.header-nav-link{padding:.5rem .875rem;font-size:.875rem;font-weight:500;color:var(--text-secondary);border-radius:var(--radius-md);transition:all .15s ease}.header-nav-link:hover,.header-nav-link.active{color:var(--text-primary);background:var(--bg-hover)}.header-actions{display:flex;align-items:center;gap:.75rem}.header-mobile-menu-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:none;border:none;border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;transition:all .15s ease}@media(min-width:480px){.header-mobile-menu-btn{width:44px;height:44px}}@media(min-width:768px){.header-mobile-menu-btn{display:none}}.header-mobile-menu-btn:hover{background:var(--bg-hover)}.header-mobile-menu-btn:focus-visible{outline:2px solid var(--brand-500);outline-offset:2px}.header-mobile-menu-btn svg{width:24px;height:24px}.header-mobile-backdrop{position:fixed;inset:0;background:#0000004d;z-index:99;animation:fadeIn .2s ease-out}.header-mobile-menu{position:absolute;top:100%;left:0;right:0;z-index:101;padding:.75rem 1rem 1rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:.25rem;background:var(--bg-base);border-top:1px solid var(--border-primary);box-shadow:0 10px 40px #0003;animation:slideDown .2s ease-out}@media(min-width:768px){.header-mobile-menu{display:none!important}}:root.dark .header-mobile-menu{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.header-mobile-link{display:flex;align-items:center;padding:.875rem 1rem;min-height:48px;font-size:1rem;font-weight:500;color:var(--text-secondary);border-radius:var(--radius-md);text-decoration:none;transition:all .15s ease}.header-mobile-link:hover,.header-mobile-link:focus{color:var(--text-primary);background:var(--bg-hover)}.header-mobile-divider{height:1px;margin:.5rem 0;background:var(--border-primary)}.header.header-pill{position:fixed;top:0;left:0;right:0;background:transparent;border-bottom:none;backdrop-filter:none;-webkit-backdrop-filter:none;padding:.75rem 1rem}@media(min-width:768px){.header.header-pill{padding:1rem 1.5rem}}@media(min-width:1024px){.header.header-pill{padding:1rem 2rem}}.header.header-pill .header-container{max-width:1280px;height:auto;background:#ffffffd9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(0,0,0,.06);border-radius:1rem;padding:.5rem .75rem .5rem 1rem;box-shadow:0 2px 8px #0000000f,0 8px 24px #00000014,0 16px 48px #0000000a}@media(min-width:768px){.header.header-pill .header-container{border-radius:1.5rem;padding:.625rem 1rem .625rem 1.25rem}}.header.header-pill .header-mobile-menu{margin:.5rem 0 0;border-radius:1rem;border-top:none;border:1px solid rgba(0,0,0,.06);background:#ffffffeb;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 2px 8px #0000000f,0 8px 24px #00000014}:root.dark .header.header-pill .header-container{background:#0f141ecc;border:1px solid rgba(255,255,255,.08);box-shadow:0 2px 8px #0003,0 8px 24px #0000004d,0 16px 48px #00000026}:root.dark .header.header-pill .header-mobile-menu{background:#0f141eeb;border:1px solid rgba(255,255,255,.08);box-shadow:0 2px 8px #0003,0 8px 24px #0000004d}.user-menu{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:.5rem;padding:.375rem;border-radius:9999px;background:transparent;border:none;cursor:pointer;transition:background-color .15s ease}.user-menu-trigger:hover{background:var(--bg-hover)}.user-avatar{width:32px;height:32px;border-radius:9999px;background:linear-gradient(135deg,var(--brand-600) 0%,var(--brand-400) 100%);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;color:#fff;overflow:hidden}.user-avatar img{width:100%;height:100%;object-fit:cover}.user-menu-dropdown{position:absolute;top:calc(100% + .5rem);right:0;min-width:220px;background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);overflow:hidden;z-index:100}:root.dark .user-menu-dropdown{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.user-menu-header{padding:.875rem 1rem;border-bottom:1px solid var(--border-primary)}.user-menu-name{font-size:.875rem;font-weight:500;color:var(--text-primary)}.user-menu-email{font-size:.8125rem;color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis}.user-menu-item{display:block;width:100%;padding:.625rem 1rem;font-size:.875rem;color:var(--text-secondary);background:none;border:none;text-align:left;cursor:pointer;transition:all .15s ease}.user-menu-item:hover{background:var(--bg-hover);color:var(--text-primary)}.user-menu-item.danger{color:var(--accent-red)}.user-menu-item.danger:hover{background:#ef44441a}.user-menu-divider{height:1px;background:var(--border-primary);margin:.25rem 0}.auth-layout{min-height:100vh;display:flex;flex-direction:column}.auth-container{flex:1;display:flex;align-items:center;justify-content:center;padding:6rem 1rem 2rem}.auth-card{width:100%;max-width:400px;background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:var(--radius-xl);padding:2rem;box-shadow:var(--shadow-xl)}:root.dark .auth-card{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}.auth-header{text-align:center;margin-bottom:2rem}.auth-logo{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:1.5rem}.auth-logo-icon{width:40px;height:40px;background:linear-gradient(135deg,var(--brand-600) 0%,var(--brand-400) 100%);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;color:#fff;box-shadow:var(--shadow-glow)}.auth-logo-text{font-size:1.5rem;font-weight:700;color:var(--text-primary)}.auth-logo-circle{width:100px;height:100px;border-radius:50%;overflow:hidden;box-shadow:0 4px 12px #0003;display:flex;align-items:center;justify-content:center}.auth-logo-img{width:500%;height:500%;object-fit:contain}.auth-title{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.auth-subtitle{color:var(--text-secondary);font-size:.9375rem}.auth-subtitle a{color:var(--brand-400);font-weight:500}.auth-form{display:flex;flex-direction:column;gap:1.25rem}.auth-footer{text-align:center;margin-top:1.5rem;font-size:.875rem;color:var(--text-tertiary)}.contact-card{max-width:520px}.contact-icon{width:64px;height:64px;background:linear-gradient(135deg,var(--brand-600) 0%,var(--brand-400) 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:var(--shadow-glow)}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}@media(max-width:480px){.category-grid{grid-template-columns:1fr}}.category-option{display:flex;flex-direction:column;align-items:center;padding:1rem .75rem;border:2px solid var(--border-primary);border-radius:var(--radius-lg);cursor:pointer;transition:all .15s ease;text-align:center}.category-option:hover{border-color:var(--brand-300);background:var(--bg-hover)}.category-option.selected{border-color:var(--brand-500);background:#2e86c11a}:root.dark .category-option.selected{background:#2e86c126}.category-label{font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.category-desc{font-size:.75rem;color:var(--text-muted);line-height:1.3}.label-row{display:flex;justify-content:space-between;align-items:center}.char-count{font-size:.75rem;color:var(--text-muted)}.hint-text{font-size:.75rem;color:var(--text-muted);margin-bottom:.25rem}.textarea{resize:vertical;min-height:120px;font-family:inherit}.star-rating{display:flex;align-items:center;gap:.25rem}.star-btn{padding:.25rem;background:transparent;border:none;cursor:pointer;color:var(--text-muted);transition:transform .15s ease,color .15s ease;border-radius:var(--radius-sm)}.star-btn:hover{transform:scale(1.1)}.star-btn:focus{outline:none;box-shadow:0 0 0 2px var(--brand-500)}.star-btn.filled{color:var(--accent-yellow)}.star-btn.filled lucide-icon{fill:var(--accent-yellow)}.rating-value{margin-left:.5rem;font-size:.875rem;color:var(--text-secondary)}.text-muted{color:var(--text-muted);font-weight:400}.alert-content{display:flex;align-items:center;gap:.5rem}.back-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--brand-400);font-weight:500;transition:color .15s ease}.back-link:hover{color:var(--brand-300)}.alternative-contact{text-align:center;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-primary);font-size:.875rem;color:var(--text-tertiary)}.alternative-contact a{color:var(--brand-400);font-weight:500}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.legal-layout{min-height:100vh;background:var(--bg-base);padding:3rem 1rem}.legal-container{max-width:800px;margin:0 auto}.legal-back-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--brand-400);font-weight:500;margin-bottom:2rem;transition:color .15s ease}.legal-back-link:hover{color:var(--brand-300)}.legal-back-link svg{width:20px;height:20px}.legal-card{background:var(--card-bg);border:1px solid var(--border-primary);border-radius:var(--radius-xl);padding:2.5rem;box-shadow:var(--shadow-lg)}:root.dark .legal-card{backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}.legal-title{font-size:1.875rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.legal-date{color:var(--text-muted);margin-bottom:2rem}.legal-notice{padding:1rem 1.25rem;border-radius:var(--radius-md);margin-bottom:2rem;font-size:.875rem}.legal-notice-blue{background:#2e86c11a;border:1px solid rgba(46,134,193,.2);color:var(--brand-400)}.legal-notice-green{background:#22c55e1a;border:1px solid rgba(34,197,94,.2);color:var(--accent-green)}.legal-notice-indigo{background:#6366f11a;border:1px solid rgba(99,102,241,.2);color:#818cf8}.legal-content{color:var(--text-secondary);line-height:1.7}.legal-content h2{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-top:2rem;margin-bottom:1rem}.legal-content h2:first-child{margin-top:0}.legal-content h3{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-top:1.5rem;margin-bottom:.75rem}.legal-content p{margin-bottom:1rem;color:var(--text-secondary)}.legal-content ul{margin-bottom:1rem;padding-left:1.5rem}.legal-content li{margin-bottom:.5rem;color:var(--text-secondary)}.legal-content li::marker{color:var(--brand-400)}.legal-content strong{color:var(--text-primary);font-weight:600}.legal-content a{color:var(--brand-400);text-decoration:none}.legal-content a:hover{text-decoration:underline}.legal-summary{background:#6366f114;border:1px solid rgba(99,102,241,.15);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:2rem}.legal-summary h3{font-size:1.1rem;font-weight:600;color:var(--brand-400);margin-bottom:1rem;margin-top:0}.legal-summary ul{margin-bottom:0}.legal-summary li{color:var(--text-secondary)}.legal-footer{border-top:1px solid var(--border-primary);margin-top:2.5rem;padding-top:2rem}.legal-footer p{color:var(--text-muted);margin-bottom:1rem}.legal-footer-links{display:flex;flex-wrap:wrap;gap:1.5rem}.legal-footer-links a{color:var(--brand-400);font-weight:500;transition:color .15s ease}.legal-footer-links a:hover{color:var(--brand-300)}.error-layout{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-base);padding:2rem 1rem}.error-container{text-align:center;max-width:500px}.error-icon{width:120px;height:120px;margin:0 auto 2rem;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:3rem;font-weight:700}.error-icon-404{background:linear-gradient(135deg,#2e86c126,#6366f126);color:var(--brand-400);border:2px solid rgba(46,134,193,.2)}.error-icon-500{background:linear-gradient(135deg,#ef444426,#f9731626);color:var(--accent-red);border:2px solid rgba(239,68,68,.2)}.error-code{font-size:6rem;font-weight:800;line-height:1;margin-bottom:1rem;background:linear-gradient(135deg,var(--brand-500) 0%,var(--brand-400) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.error-code-500{background:linear-gradient(135deg,var(--accent-red) 0%,#f97316 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.error-title{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem}.error-message{color:var(--text-secondary);margin-bottom:2rem;line-height:1.6}.error-actions{display:flex;flex-direction:column;gap:1rem;align-items:center}@media(min-width:480px){.error-actions{flex-direction:row;justify-content:center}}.error-illustration{margin-bottom:2rem}.error-illustration svg{width:200px;height:200px;color:var(--brand-400);opacity:.8}.error-illustration-500 svg{color:var(--accent-red)}.callback-loading{display:flex;flex-direction:column;align-items:center;gap:2rem}.callback-logo{position:relative;width:100px;height:100px;display:flex;align-items:center;justify-content:center}.callback-ring{position:absolute;inset:0;border-radius:50%;border:3px solid transparent;border-top-color:var(--brand-500);animation:callback-spin 1.2s cubic-bezier(.5,0,.5,1) infinite}.callback-ring.delay-1{inset:8px;border-top-color:var(--brand-400);animation-delay:-.15s;opacity:.8}.callback-ring.delay-2{inset:16px;border-top-color:var(--brand-300);animation-delay:-.3s;opacity:.6}.callback-icon{position:relative;z-index:1;width:50px;height:50px;background:linear-gradient(135deg,var(--brand-600) 0%,var(--brand-400) 100%);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.25rem;color:#fff;box-shadow:0 0 30px #2e86c180;animation:callback-pulse 2s ease-in-out infinite}.callback-logo-img{position:relative;z-index:1;width:60px;height:60px;object-fit:contain;animation:callback-spin 2s linear infinite;filter:drop-shadow(0 0 20px rgba(46,134,193,.5))}.callback-text{text-align:center}.callback-title{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.callback-subtitle{display:flex;align-items:center;justify-content:center;gap:.25rem;color:var(--text-secondary);font-size:.9375rem}.loading-dots{display:inline-flex;gap:4px;margin-left:4px}.loading-dots .dot{width:5px;height:5px;background:var(--brand-400);border-radius:50%;animation:dot-bounce 1.4s ease-in-out infinite}.loading-dots .dot:nth-child(2){animation-delay:.16s}.loading-dots .dot:nth-child(3){animation-delay:.32s}.callback-error-icon{width:64px;height:64px;margin:0 auto 1rem;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--accent-red)}.callback-actions{margin-top:1.5rem}.callback-help{text-align:center;margin-top:1rem;font-size:.875rem;color:var(--text-muted)}.callback-help a{color:var(--brand-400);font-weight:500}@keyframes callback-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes callback-pulse{0%,to{transform:scale(1);box-shadow:0 0 30px #2e86c180}50%{transform:scale(1.08);box-shadow:0 0 50px #2e86c1b3}}@keyframes dot-bounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-8px)}}.dashboard{max-width:1280px;margin:0 auto;padding:2rem 1.5rem}.dashboard-header{margin-bottom:2rem}.dashboard-title{font-size:1.875rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.dashboard-subtitle{color:var(--text-secondary);font-size:1rem}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.stat-card{background:var(--card-bg);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:1.5rem;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}:root.dark .stat-card{-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur))}.stat-card:hover{border-color:var(--border-secondary);box-shadow:var(--shadow-md)}.stat-card:hover .stat-label{color:var(--text-tertiary)!important}.stat-card:hover .stat-value{color:var(--text-primary)!important}.stat-card:hover .stat-change{color:var(--text-muted)!important}.stat-card:hover .stat-change.positive{color:var(--accent-green)!important}.stat-card:hover .stat-change.negative{color:var(--accent-red)!important}.stat-label{font-size:.875rem;color:var(--text-tertiary)!important;margin-bottom:.5rem}.stat-value{font-size:2rem;font-weight:700;color:var(--text-primary)!important}.stat-change{font-size:.8125rem;margin-top:.5rem;color:var(--text-muted)!important}.stat-change.positive{color:var(--accent-green)!important}.stat-change.negative{color:var(--accent-red)!important}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.header-content{flex:1}.loading-indicator{display:flex;align-items:center;justify-content:center;width:32px;height:32px}.loading-spinner{width:24px;height:24px;border:2px solid var(--border-primary);border-top-color:var(--brand-500);border-radius:50%;animation:spin .8s linear infinite}.error-banner{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-lg);padding:1rem 1.5rem;margin-bottom:1.5rem}:root.dark .error-banner{background:#ef444426;border-color:#ef444466}.error-content{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.error-icon{width:20px;height:20px;color:#ef4444;flex-shrink:0}.error-message{color:#dc2626;font-size:.9375rem;flex:1;min-width:200px}:root.dark .error-message{color:#f87171}.retry-button{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--brand-500);color:#fff;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s ease,transform .1s ease}.retry-button:hover{background:var(--brand-600)}.retry-button:active{transform:scale(.98)}.retry-button svg{width:16px;height:16px}.section{margin-bottom:2rem}.section-header{margin-bottom:1rem}.section-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.section-subtitle{font-size:.875rem;color:var(--text-muted);margin:.25rem 0 0}.personalization-section{margin-bottom:2rem}.personalization-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:768px){.personalization-grid{grid-template-columns:1fr 1fr}}@media(min-width:1024px){.personalization-grid{grid-template-columns:1fr 1fr 1fr}}.overall-progress{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem;padding:.75rem 1rem;background:var(--surface-secondary);border-radius:var(--radius-md)}.overall-progress .progress-bar-container{flex:1;height:10px;background:var(--surface-tertiary);border-radius:5px;overflow:hidden}.overall-progress .progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--brand-500),var(--brand-400));border-radius:5px;transition:width .5s ease}.overall-progress .progress-label{font-size:.875rem;font-weight:600;color:var(--text-primary);white-space:nowrap}.category-grid{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:640px){.category-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.category-grid{grid-template-columns:repeat(3,1fr)}}.bible-category-grid{display:flex;flex-direction:column;gap:.75rem}@media(min-width:768px){.bible-category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}}@media(min-width:1200px){.bible-category-grid{grid-template-columns:repeat(3,1fr)}}.two-column-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}@media(max-width:1024px){.two-column-grid{grid-template-columns:1fr}}:root.light,:root:not(.dark){--surface-primary: #ffffff;--surface-secondary: #f8fafc;--surface-tertiary: #f1f5f9}:root.dark{--surface-primary: rgba(15, 20, 35, .6);--surface-secondary: rgba(20, 25, 45, .6);--surface-tertiary: rgba(30, 35, 55, .6)}.text-primary{color:var(--text-primary)!important}.text-secondary{color:var(--text-secondary)!important}.text-muted{color:var(--text-muted)!important}.text-brand{color:var(--brand-400)!important}.text-success{color:var(--accent-green)!important}.text-error{color:var(--accent-red)!important}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.flex{display:flex}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}.hidden{display:none}@media(min-width:768px){.md\:flex{display:flex}.md\:hidden{display:none}.md\:block{display:block}}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.spinner{width:20px;height:20px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin .6s linear infinite}.logo-spinner{display:inline-block;width:20px;height:20px;animation:spin 1s linear infinite}.logo-spinner img{width:100%;height:100%;object-fit:contain}.theme-transition,.theme-transition *,.theme-transition *:before,.theme-transition *:after{transition:background-color var(--theme-transition),border-color var(--theme-transition),color var(--theme-transition),box-shadow var(--theme-transition)!important}:root,:root.light{--success-soft: #dcfce7;--success-border: #86efac;--error-soft: #fee2e2;--error-border: #fca5a5;--info-soft: #dbeafe;--info-border: #93c5fd;--warning-soft: #fef3c7;--warning-border: #fcd34d}:root.dark{--success-soft: rgba(34, 197, 94, .15);--success-border: rgba(34, 197, 94, .3);--error-soft: rgba(239, 68, 68, .15);--error-border: rgba(239, 68, 68, .3);--info-soft: rgba(46, 134, 193, .15);--info-border: rgba(46, 134, 193, .3);--warning-soft: rgba(234, 179, 8, .15);--warning-border: rgba(234, 179, 8, .3)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes progressGrow{0%{width:0}}.animate-fade-in{animation:fadeIn .3s ease-out forwards}.animate-slide-up{animation:slideUp .4s ease-out forwards}.animate-slide-down{animation:slideDown .4s ease-out forwards}.animate-scale-in{animation:scaleIn .3s ease-out forwards}.category-cards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}@media(min-width:640px){.category-cards-grid{grid-template-columns:repeat(4,1fr)}}.bible-category-card{display:flex;flex-direction:row;align-items:flex-start;gap:.75rem;padding:1rem 3.5rem 1rem 1.25rem;background:var(--bg-surface);border:2px solid var(--border-primary);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease;text-align:left;position:relative;min-height:72px}.bible-category-card:hover{border-color:var(--brand-400);box-shadow:0 4px 12px #00000014}.bible-category-card.selected{border-color:var(--brand-500);background:var(--info-soft)}:root.dark .bible-category-card.selected{background:#2e86c11a}.bible-category-card .category-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;color:var(--brand-500)}.bible-category-card .category-icon svg{width:28px;height:28px}.bible-category-card .category-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.bible-category-card .category-label{font-size:.9375rem;font-weight:600;color:var(--text-primary);line-height:1.3}.bible-category-card .category-description{font-size:.8125rem;color:var(--text-secondary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.category-progress-bar{width:100%;height:4px;background:var(--border-primary);border-radius:2px;margin-top:.5rem;overflow:hidden}.category-progress-fill{height:100%;background:linear-gradient(90deg,#2e86c1,#60a5fa);border-radius:2px;transition:width .3s ease;min-width:0}.bible-category-card.selected .category-progress-fill{background:linear-gradient(90deg,#2563eb,#2e86c1)}.bible-category-card .category-check{position:absolute;top:50%;right:1rem;transform:translateY(-50%);width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--border-primary);transition:all .2s ease}.bible-category-card .category-check svg{width:14px;height:14px;opacity:0}.bible-category-card.selected .category-check{background:var(--brand-500);color:#fff}.bible-category-card.selected .category-check svg{opacity:1}.bible-category-card.locked{opacity:.7;cursor:pointer;border-style:dashed}.bible-category-card.locked:hover{border-color:var(--warning-500, #f59e0b);background:#f59e0b0d}.bible-category-card.locked .category-icon{color:var(--text-muted)}.bible-category-card.locked .category-check{background:var(--warning-500, #f59e0b);color:#fff}.bible-category-card.locked .category-check svg{opacity:1}.bible-category-card .lock-badge{position:absolute;top:.5rem;right:.5rem;display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--warning-500, #f59e0b);color:#fff;z-index:2}.bible-category-card .lock-badge svg{width:10px;height:10px}.helper-text .locked-hint{color:var(--warning-600, #d97706);display:inline-flex;align-items:center;gap:.25rem}.helper-text .locked-hint svg{width:14px;height:14px}.difficulty-pill{display:flex;align-items:center;justify-content:center;padding:.625rem 1.25rem;background:var(--bg-surface);border:2px solid var(--border-primary);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500;color:var(--text-secondary)}.difficulty-pill:hover{border-color:var(--brand-400);color:var(--text-primary)}.difficulty-pill.selected{border-color:var(--brand-500);background:var(--info-soft);color:var(--brand-600)}:root.dark .difficulty-pill.selected{background:#2e86c11a;color:var(--brand-400)}.mode-selector-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}@media(max-width:768px){.mode-selector-grid{grid-template-columns:1fr}}.mode-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.25rem 1rem;background:var(--bg-surface);border:2px solid var(--border-primary);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease;text-align:center}.mode-card:hover{border-color:var(--brand-400);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.mode-card.selected{border-color:var(--brand-500);background:var(--info-soft)}:root.dark .mode-card.selected{background:#2e86c11a}.mode-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-md);background:var(--bg-hover);color:var(--text-secondary);transition:all .2s ease}.mode-card.selected .mode-icon{background:linear-gradient(135deg,#2e86c1,#60a5fa);color:#fff}.mode-content{display:flex;flex-direction:column;gap:.25rem}.mode-label{font-size:.9375rem;font-weight:600;color:var(--text-primary)}.mode-description{font-size:.8125rem;color:var(--text-muted);line-height:1.4}.mode-check{position:absolute;top:.75rem;right:.75rem;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--border-primary);color:transparent;transition:all .2s ease}.mode-card.selected .mode-check{background:var(--brand-500);color:#fff}.session-summary-inline{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;background:var(--bg-hover);border-radius:var(--radius-md);font-size:.875rem;color:var(--text-secondary)}.session-summary-inline .separator{color:var(--text-muted)}.option-btn{display:flex;align-items:flex-start;gap:.75rem;width:100%;padding:1rem 1.25rem;background:var(--bg-surface);border:2px solid var(--border-primary);border-radius:var(--radius-lg);text-align:left;cursor:pointer;transition:all .15s ease}.option-btn:hover:not(:disabled){border-color:var(--brand-400)}.option-btn.selected{border-color:var(--brand-500);background:var(--info-soft)}.option-btn.correct{border-color:var(--accent-green);background:var(--success-soft)}.option-btn.incorrect{border-color:var(--accent-red);background:var(--error-soft)}.option-btn:disabled{cursor:default}.option-btn .option-letter{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--bg-hover);font-weight:600;font-size:.8125rem;color:var(--text-secondary);flex-shrink:0;transition:all .15s ease}.option-btn.selected .option-letter{background:var(--brand-500);color:#fff}.option-btn.correct .option-letter{background:var(--accent-green);color:#fff}.option-btn.incorrect .option-letter{background:var(--accent-red);color:#fff}.option-btn .option-text{flex:1;font-size:.9375rem;color:var(--text-primary);line-height:1.5}.option-btn .option-icon{width:20px;height:20px;flex-shrink:0}.option-btn .option-icon.correct{color:var(--accent-green)}.option-btn .option-icon.incorrect{color:var(--accent-red)}.feedback-card{padding:1.25rem 1.5rem;border-radius:var(--radius-lg);animation:slideUp .3s ease-out}.feedback-card.correct{background:var(--success-soft);border:1px solid var(--success-border)}.feedback-card.incorrect{background:var(--error-soft);border:1px solid var(--error-border)}.feedback-header{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;margin-bottom:.75rem}.feedback-card.correct .feedback-header{color:var(--accent-green)}.feedback-card.incorrect .feedback-header{color:var(--accent-red)}.feedback-header svg{width:20px;height:20px}.correct-answer-text{font-size:.9375rem;color:var(--text-secondary);margin-bottom:1rem}.correct-answer-text strong{color:var(--text-primary);font-weight:600}.explanation-section{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-primary)}.explanation-title{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.5rem}.explanation-text{font-size:.9375rem;line-height:1.6;color:var(--text-secondary)}.score-display{position:relative;width:160px;height:160px;margin:0 auto 1.5rem}.score-ring{width:100%;height:100%;transform:rotate(-90deg)}.score-ring .ring-bg{fill:none;stroke:var(--border-secondary);stroke-width:10}.score-ring .ring-progress{fill:none;stroke-width:10;stroke-linecap:round;transition:stroke-dashoffset 1s ease-out}.score-content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.score-value{font-size:2.5rem;font-weight:700;color:var(--text-primary);line-height:1}.score-label{font-size:1rem;font-weight:500;margin-top:.25rem}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.stats-grid .stat-item{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:1rem .75rem;background:var(--bg-surface);border:1px solid var(--border-primary);border-radius:var(--radius-lg)}.stats-grid .stat-value{display:block;font-size:1.5rem;font-weight:700;color:var(--text-primary);line-height:1}.stats-grid .stat-value.correct{color:var(--accent-green)}.stats-grid .stat-value.incorrect{color:var(--accent-red)}.stats-grid .stat-label{display:block;font-size:.75rem;color:var(--text-muted);margin-top:.5rem}.category-breakdown{display:flex;flex-direction:column;gap:1rem}.category-row{display:flex;flex-direction:column;gap:.375rem}.category-header{display:flex;justify-content:space-between;align-items:center}.category-name{font-size:.875rem;font-weight:500;color:var(--text-primary)}.category-stats{font-size:.8125rem;color:var(--text-muted)}.category-bar{height:8px;background:var(--border-secondary);border-radius:9999px;overflow:hidden}.category-fill{height:100%;border-radius:9999px;transition:width .8s ease-out}.category-fill.excellent{background:var(--accent-green)}.category-fill.good{background:var(--brand-500)}.category-fill.needs-work{background:var(--accent-yellow)}.category-fill.poor{background:var(--accent-red)}.section-title{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.75rem}.improvement-list{display:flex;flex-direction:column;gap:.5rem}.improvement-item{display:flex;align-items:flex-start;gap:.5rem;font-size:.9375rem;color:var(--text-secondary)}.improvement-item:before{content:"\2022";color:var(--text-muted);line-height:1.5}.badge{display:inline-flex;align-items:center;padding:.25rem .625rem;font-size:.75rem;font-weight:500;border-radius:var(--radius-sm);background:var(--bg-hover);color:var(--text-secondary)}.badge.grammar{background:#a855f726;color:#a855f7}.badge.vocabulary{background:#22c55e26;color:#22c55e}.badge.comprehension{background:#2e86c126;color:#2e86c1}.badge.writing{background:#f9731626;color:#f97316}.badge.easy{background:#22c55e26;color:#22c55e}.badge.medium{background:#eab30826;color:#eab308}.badge.hard{background:#ef444426;color:#ef4444}.session-header{position:sticky;top:0;z-index:10;background:var(--header-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border-bottom:1px solid var(--border-primary);padding:.75rem 1rem}.session-header-content{display:flex;align-items:center;gap:1rem;max-width:800px;margin:0 auto}.question-indicator{display:flex;align-items:baseline;gap:.375rem;font-size:.875rem;white-space:nowrap}.question-indicator .current{font-weight:600;color:var(--text-primary)}.question-indicator .total{color:var(--text-muted)}.session-progress{flex:1;height:6px;background:var(--border-secondary);border-radius:9999px;overflow:hidden}.session-progress .progress-fill{height:100%;background:var(--brand-500);border-radius:9999px;transition:width .3s ease}.session-timer{display:flex;align-items:center;gap:.375rem;font-size:.875rem;font-weight:500;color:var(--text-secondary);white-space:nowrap}.session-timer svg{width:16px;height:16px}.session-timer.warning{color:var(--accent-yellow)}.session-timer.critical{color:var(--accent-red)}.question-count-chip{display:flex;align-items:center;justify-content:center;min-width:48px;padding:.625rem 1rem;background:var(--bg-surface);border:2px solid var(--border-primary);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease;font-size:.9375rem;font-weight:600;color:var(--text-secondary)}.question-count-chip:hover{border-color:var(--brand-400);color:var(--text-primary)}.question-count-chip.selected{border-color:var(--brand-500);background:var(--brand-500);color:#fff}.timer-toggle-card{padding:1.25rem;background:var(--bg-surface);border:1px solid var(--border-primary);border-radius:var(--radius-lg)}.timer-toggle-row{display:flex;align-items:flex-start;gap:1rem}.timer-icon-wrapper{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--info-soft);border-radius:var(--radius-md);flex-shrink:0;color:var(--brand-500)}:root.dark .timer-icon-wrapper{background:#2e86c126}.timer-toggle-content{flex:1}.timer-toggle-label{font-weight:600;color:var(--text-primary);cursor:pointer;display:block}.timer-toggle-desc{margin-top:.25rem;font-size:.875rem;color:var(--text-muted)}.timer-slider-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-primary)}.timer-slider-label{display:block;font-size:.875rem;font-weight:500;color:var(--text-secondary);margin-bottom:.75rem}.timer-slider-row{display:flex;align-items:center;gap:1rem}.timer-slider-range{display:flex;justify-content:space-between;margin-top:.5rem;font-size:.75rem;color:var(--text-muted)}.toggle-switch{position:relative;display:inline-flex;cursor:pointer}.toggle-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.toggle-track{width:44px;height:24px;background:var(--border-secondary);border-radius:9999px;transition:all .2s ease;position:relative}.toggle-track:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;background:#fff;border-radius:50%;transition:transform .2s ease;box-shadow:0 1px 3px #0003}.toggle-input:checked+.toggle-track{background:var(--brand-500)}.toggle-input:checked+.toggle-track:after{transform:translate(20px)}.toggle-input:focus+.toggle-track{box-shadow:0 0 0 3px #2e86c133}.timer-slider{-webkit-appearance:none;appearance:none;width:100%;height:8px;background:var(--border-secondary);border-radius:9999px;outline:none;cursor:pointer}.timer-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;background:var(--brand-500);border-radius:50%;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.timer-slider::-webkit-slider-thumb:hover{transform:scale(1.1);box-shadow:0 0 0 4px #2e86c133}.timer-slider::-moz-range-thumb{width:20px;height:20px;background:var(--brand-500);border-radius:50%;border:none;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.timer-slider::-moz-range-thumb:hover{transform:scale(1.1);box-shadow:0 0 0 4px #2e86c133}.timer-value{min-width:70px;padding:.5rem .75rem;background:var(--bg-hover);border-radius:var(--radius-md);font-size:.875rem;font-weight:600;color:var(--text-primary);text-align:center}.session-summary{display:flex;flex-direction:column;padding:1rem 1.25rem;background:var(--bg-surface);border:1px solid var(--border-primary);border-radius:var(--radius-lg)}.summary-row{display:flex;align-items:center;justify-content:space-between;padding:.875rem 0;gap:1rem}.summary-label{display:flex;align-items:center;gap:.75rem;font-size:.875rem;color:var(--text-muted);flex-shrink:0}.summary-label svg{width:18px;height:18px;color:var(--text-tertiary);flex-shrink:0}.summary-label span{white-space:nowrap}.summary-value{font-size:.875rem;font-weight:600;color:var(--text-primary);text-align:right;flex-shrink:1;min-width:0}.summary-divider{height:1px;background:var(--border-primary);margin:0}.start-session-btn{display:flex;align-items:center;justify-content:center;gap:.625rem;width:100%;margin-top:1.5rem;font-size:1.0625rem;font-weight:600;padding:1rem 1.5rem;background:var(--brand-500);color:#fff;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #2e86c140}.start-session-btn:hover:not(:disabled){background:var(--brand-600);transform:translateY(-1px);box-shadow:0 6px 16px #2e86c14d}.start-session-btn:active:not(:disabled){transform:translateY(0)}.start-session-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.guide-btn{display:flex;align-items:center;justify-content:center;gap:.625rem;padding:.875rem 1.5rem;border:none;border-radius:var(--radius-lg);font-size:.9375rem;font-weight:600;color:#fff;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #8b5cf640}.guide-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #8b5cf64d}.guide-btn svg{width:20px;height:20px;flex-shrink:0}.nav-toggle-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.nav-toggle-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-toggle-btn.active{background:var(--info-soft);color:var(--brand-500)}.navigator-overlay{position:fixed;inset:0;z-index:50;background:#0000004d}:root.dark .navigator-overlay{background:#00000080}.navigator-drawer{position:absolute;right:0;top:0;height:100%;width:480px;max-width:100%;background:var(--bg-surface);border-left:1px solid var(--border-primary);box-shadow:-4px 0 24px #0000001a;padding:1.25rem;overflow-y:auto}.navigator-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-primary)}.navigator-title{font-size:1.125rem;font-weight:600;color:var(--text-primary)}.navigator-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.navigator-close:hover{background:var(--bg-hover);color:var(--text-primary)}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.animate-slide-in-right{animation:slideInRight .25s ease-out}.btn-exit{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.btn-exit:hover{background:var(--bg-hover);color:var(--text-primary)}.navigator-progress{margin-bottom:1rem}.progress-bar-bg{height:6px;background:var(--bg-tertiary);border-radius:9999px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--brand-500);border-radius:9999px;transition:width .3s ease}.navigator-legend{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.75rem;color:var(--text-secondary);margin-bottom:1rem}.legend-item{display:flex;align-items:center;gap:.25rem}.legend-dot{width:10px;height:10px;border-radius:50%}.legend-dot.current{background:var(--brand-500)}.legend-dot.correct{background:var(--accent-green)}.legend-dot.incorrect{background:var(--accent-red)}.navigator-grid{display:grid;grid-template-columns:repeat(10,40px);gap:4px;justify-content:center}.nav-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);border:1px solid var(--border-primary);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .15s ease;background:var(--bg-surface);color:var(--text-secondary)}.nav-btn:hover{border-color:var(--brand-300);background:var(--bg-hover)}.nav-btn-current{background:var(--brand-500);color:#fff;border-color:var(--brand-500);box-shadow:0 0 0 2px var(--brand-200)}.nav-btn-correct{background:var(--accent-green);color:#fff;border-color:var(--accent-green)}.nav-btn-incorrect{background:var(--accent-red);color:#fff;border-color:var(--accent-red)}.nav-btn-unanswered{background:var(--bg-surface);color:var(--text-secondary);border-color:var(--border-primary)}.nav-btn-unanswered:hover{border-color:var(--brand-300);background:var(--bg-hover)}.confirm-modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1100;animation:fadeIn .2s ease}.confirm-modal{background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:var(--radius-xl);padding:2rem;max-width:400px;width:90%;text-align:center;animation:slideUp .3s ease;box-shadow:0 25px 50px -12px #00000080}.confirm-modal-icon{width:64px;height:64px;margin:0 auto 1rem;background:#ef44441a;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--accent-red)}.confirm-modal-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.confirm-modal-message{color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.5}.confirm-modal-actions{display:flex;gap:.75rem;justify-content:center}.btn-cancel{padding:.75rem 1.5rem;background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);color:var(--text-primary);font-weight:500;cursor:pointer;transition:all .2s ease}.btn-cancel:hover{background:var(--bg-hover)}.btn-confirm-exit{padding:.75rem 1.5rem;background:var(--accent-red);border:none;border-radius:var(--radius-lg);color:#fff;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-confirm-exit:hover{filter:brightness(1.1)}.session-main{padding:1.5rem 1rem}.session-content{max-width:800px;margin:0 auto}.question-card{background:var(--bg-surface);border:1px solid var(--border-primary);border-radius:var(--radius-xl);padding:1.5rem;margin-bottom:1.5rem}.submit-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-primary)}.btn-verify{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:1rem 1.5rem;background:var(--brand-500);color:#fff;border:none;border-radius:var(--radius-lg);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-verify:hover:not(:disabled){background:var(--brand-600)}.btn-verify:disabled{opacity:.5;cursor:not-allowed}.ai-loading-text{display:inline-flex;align-items:center;gap:.5rem}.ai-badge{display:inline-flex;align-items:center;justify-content:center;padding:.125rem .5rem;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#1a1a2e;font-size:.6875rem;font-weight:700;border-radius:4px;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 0 8px #fbbf2499;animation:ai-pulse-gold 2s ease-in-out infinite}.ai-badge-small{display:inline-flex;align-items:center;justify-content:center;padding:.0625rem .375rem;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#1a1a2e;font-size:.625rem;font-weight:700;border-radius:3px;text-transform:uppercase;letter-spacing:.3px}.elapsed-time{font-size:.8125rem;opacity:.8;font-weight:400;font-variant-numeric:tabular-nums}.ai-hint{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:.75rem;font-size:.8125rem;color:var(--text-tertiary)}@keyframes ai-pulse-gold{0%,to{box-shadow:0 0 8px #fbbf2499}50%{box-shadow:0 0 16px #fbbf24e6,0 0 24px #fbbf2466}}.feedback-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-primary)}.nav-buttons{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:2rem}.btn-nav{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:var(--bg-surface);border:1px solid var(--border-primary);border-radius:var(--radius-lg);color:var(--text-secondary);font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-nav:hover:not(:disabled){border-color:var(--brand-400);color:var(--text-primary)}.btn-nav:disabled{opacity:.4;cursor:not-allowed}.btn-nav-prev svg,.btn-nav-next svg{width:18px;height:18px}.btn-complete{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--accent-green);color:#fff;border:none;border-radius:var(--radius-lg);font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-complete:hover:not(:disabled){background:#16a34a}.btn-complete:disabled{opacity:.6;cursor:not-allowed}.quick-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.stat-box{display:flex;flex-direction:column;align-items:center;padding:1rem .75rem;background:var(--bg-surface);border:1px solid var(--border-primary);border-radius:var(--radius-lg);text-align:center}.stat-number{font-size:1.5rem;font-weight:700;color:var(--text-primary);line-height:1}.stat-number.correct{color:var(--accent-green)}.stat-text{font-size:.75rem;color:var(--text-muted);margin-top:.375rem}.no-session{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.no-session-content{display:flex;flex-direction:column;align-items:center;text-align:center}.question-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.question-text-wrapper{margin-bottom:1.5rem}.question-text{font-size:1.125rem;line-height:1.7;color:var(--text-primary)}.options-list{display:flex;flex-direction:column;gap:.75rem}.true-false-options{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.tf-btn{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem 1rem;background:var(--bg-surface);border:2px solid var(--border-primary);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease;font-size:1rem;font-weight:600;color:var(--text-secondary)}.tf-btn:hover:not(:disabled){border-color:var(--brand-400);color:var(--text-primary)}.tf-btn.selected{border-color:var(--brand-500);background:var(--info-soft);color:var(--brand-600)}.tf-btn.correct{border-color:var(--accent-green);background:var(--success-soft);color:var(--accent-green)}.tf-btn.incorrect{border-color:var(--accent-red);background:var(--error-soft);color:var(--accent-red)}.tf-btn:disabled{cursor:default}.tf-icon{width:32px;height:32px}.fill-blank-input{display:flex;flex-direction:column;gap:.75rem}.fill-input{width:100%;padding:1rem 1.25rem;background:var(--bg-input);border:2px solid var(--border-primary);border-radius:var(--radius-lg);font-size:1.0625rem;color:var(--text-primary);transition:all .2s ease}.fill-input:focus{outline:none;border-color:var(--brand-500);box-shadow:0 0 0 3px #2e86c126}.fill-input.correct{border-color:var(--accent-green);background:var(--success-soft)}.fill-input.incorrect{border-color:var(--accent-red);background:var(--error-soft)}.fill-input:disabled{cursor:default;opacity:1}.correct-answer-hint{font-size:.9375rem;color:var(--accent-green)}.correct-answer-hint strong{font-weight:600}.essay-input{display:flex;flex-direction:column;gap:1rem}.essay-textarea{width:100%;min-height:200px;padding:1rem 1.25rem;background:var(--bg-input);border:2px solid var(--border-primary);border-radius:var(--radius-lg);font-size:1rem;color:var(--text-primary);line-height:1.6;resize:vertical;transition:all .2s ease}.essay-textarea:focus{outline:none;border-color:var(--brand-500);box-shadow:0 0 0 3px #2e86c126}.essay-textarea:disabled{cursor:default;opacity:1}.essay-note{display:flex;align-items:flex-start;gap:.625rem;padding:.875rem 1rem;background:var(--warning-soft);border:1px solid var(--warning-border);border-radius:var(--radius-md);font-size:.875rem;color:var(--text-secondary)}.essay-note svg{width:20px;height:20px;color:var(--accent-yellow);flex-shrink:0;margin-top:.125rem}.results-header{text-align:center;margin-bottom:2rem}.results-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.results-subtitle{color:var(--text-secondary);font-size:1rem}.results-card{background:var(--bg-surface);border:1px solid var(--border-primary);border-radius:var(--radius-xl);padding:2rem 1.5rem;margin-bottom:1.5rem}.results-card-content{text-align:center}.results-section{background:var(--bg-surface);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:1.25rem;margin-bottom:1rem}.results-section .section-title{margin-bottom:1rem}.time-spent{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border-primary);font-size:.9375rem;color:var(--text-secondary)}.time-spent svg{color:var(--text-muted)}.time-spent strong{color:var(--text-primary);font-weight:600}.difficulty-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.difficulty-item,.difficulty-card{display:flex;flex-direction:column;align-items:center;padding:1rem .75rem;background:var(--bg-surface);border:1px solid var(--border-primary);border-radius:var(--radius-lg);text-align:center}.difficulty-card.excellent{border-color:var(--accent-green);background:#22c55e0d}.difficulty-card.good{border-color:var(--brand-500);background:#2e86c10d}.difficulty-card.needs-work{border-color:var(--accent-yellow);background:#eab3080d}.difficulty-label{font-size:.8125rem;color:var(--text-muted);margin-bottom:.375rem}.difficulty-percentage{font-size:1.5rem;font-weight:700;line-height:1}.difficulty-percentage.excellent{color:var(--accent-green)}.difficulty-percentage.good{color:var(--brand-500)}.difficulty-percentage.needs-work{color:var(--accent-yellow)}.difficulty-percentage.poor{color:var(--accent-red)}.difficulty-count{font-size:.75rem;color:var(--text-muted);margin-top:.25rem}.results-section.recommendations{background:var(--info-soft);border-color:var(--info-border)}.recommendations-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.recommendations-header svg{color:var(--brand-500)}.recommendations-header h2{font-size:.9375rem;font-weight:600;color:var(--text-primary)}.results-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem}@media(min-width:640px){.results-actions{flex-direction:row}}.btn-results-primary{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 1.5rem;background:var(--brand-500);color:#fff;border:none;border-radius:var(--radius-lg);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-results-primary:hover{background:var(--brand-600)}.btn-results-secondary{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 1.5rem;background:var(--bg-surface);color:var(--text-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-results-secondary:hover{border-color:var(--brand-400);color:var(--text-primary)}.no-results{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4rem 2rem}.no-results svg{width:48px;height:48px;margin-bottom:1rem;color:var(--text-muted)}.no-results-text{color:var(--text-secondary);margin-bottom:1rem}.alert svg{width:20px;height:20px;flex-shrink:0}.session-header svg{width:20px;height:20px}.nav-toggle-btn svg{width:20px;height:20px}.navigator-close svg{width:20px;height:20px}.nav-buttons svg{width:20px;height:20px}.btn-verify svg,.btn-complete svg{width:20px;height:20px}.btn-nav svg{width:20px;height:20px}.no-session svg{width:48px;height:48px;color:var(--text-muted);margin-bottom:1rem}.timer-icon-wrapper svg{width:24px;height:24px}.summary-label svg{width:16px;height:16px}.start-session-btn svg{width:20px;height:20px}.option-icon{width:20px;height:20px;flex-shrink:0;margin-left:auto}.option-icon.correct{color:var(--accent-green)}.option-icon.incorrect{color:var(--accent-red)}.tf-icon{width:24px;height:24px}.feedback-header svg{width:24px;height:24px;flex-shrink:0}.time-spent svg{width:20px;height:20px}.recommendations-header svg{width:20px;height:20px}.btn-results-primary svg,.btn-results-secondary svg{width:20px;height:20px}.session-timer-display{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-hover);border-radius:var(--radius-md);color:var(--text-secondary)}.session-timer-display svg{width:20px;height:20px;flex-shrink:0}.session-timer-display .timer-text{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-weight:600;font-size:.9375rem}.session-timer-display.low{background:#eab30826;color:#ca8a04}:root.dark .session-timer-display.low{background:#eab30833;color:#facc15}.session-timer-display.critical{background:#ef444426;color:#dc2626;animation:pulse 1s infinite}:root.dark .session-timer-display.critical{background:#ef444433;color:#f87171}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.session-content{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:1.5rem 1rem;max-width:600px;margin:0 auto}.word-info-bar,.question-info-bar{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.audio-section{display:flex;flex-direction:column;align-items:center;gap:1rem;margin:1rem 0}.audio-hint{color:var(--text-secondary);font-size:.875rem;text-align:center}.input-section{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:400px}.submit-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;max-width:400px;padding:.875rem 1.5rem;border-radius:var(--radius-lg);border:none;color:#fff;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #00000026}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #0003}.submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.submit-btn svg{width:20px;height:20px}.navigation-section{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:1rem;width:100%;max-width:500px;margin-top:1.5rem}.nav-btn{display:flex;align-items:center;gap:.5rem;width:auto;height:auto;padding:.75rem 1.25rem;border-radius:var(--radius-md);border:1px solid var(--border-primary);background:var(--surface-secondary);color:var(--text-secondary);font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s ease}.nav-btn:hover:not(:disabled){background:var(--surface-tertiary);color:var(--text-primary);border-color:var(--border-secondary)}.nav-btn:disabled{opacity:.4;cursor:not-allowed}.nav-btn svg{width:18px;height:18px;flex-shrink:0}.nav-btn.next{flex-direction:row}.finish-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:var(--radius-md);border:none;color:#fff;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #00000026}.finish-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0003}.finish-btn svg{width:18px;height:18px}.session-content .progress-dots{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;max-width:400px;margin-top:1.5rem}.category-chips{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.75rem}.category-chip{padding:.5rem 1rem;border-radius:var(--radius-full);border:1px solid var(--border-primary);background:var(--surface-secondary);color:var(--text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.category-chip:hover{border-color:var(--brand-400);color:var(--text-primary);background:var(--surface-tertiary)}.category-chip.selected{background:var(--brand-500);border-color:var(--brand-500);color:#fff}.fill-input-section{display:flex;flex-direction:column;align-items:center;gap:.75rem;width:100%;max-width:400px}.fill-input{width:100%;padding:1rem 1.5rem;font-size:1.125rem;text-align:center;border:2px solid var(--border-primary);border-radius:var(--radius-lg);background:var(--bg-elevated);color:var(--text-primary);transition:all .2s ease}.fill-input:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b33}.fill-input.correct{border-color:#10b981;background:#10b9811a}.fill-input.incorrect{border-color:#ef4444;background:#ef44441a}.fill-input:disabled{opacity:.7;cursor:not-allowed}.hint-text{color:var(--text-muted);font-size:.875rem;text-align:center}.true-false-buttons{display:flex;gap:1rem;justify-content:center;width:100%;max-width:400px}.true-false-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem 1rem;border-radius:var(--radius-lg);border:2px solid var(--border-primary);background:var(--surface-secondary);color:var(--text-secondary);font-weight:600;cursor:pointer;transition:all .2s ease}.true-false-btn:hover:not(:disabled){border-color:var(--brand-400);background:var(--surface-tertiary)}.true-false-btn.selected{border-color:var(--brand-500);background:#2e86c11a;color:var(--brand-500)}.true-false-btn.correct{border-color:#10b981;background:#10b9811a;color:#10b981}.true-false-btn.incorrect{border-color:#ef4444;background:#ef44441a;color:#ef4444}.true-false-btn:disabled{cursor:not-allowed}.true-false-btn svg{width:28px;height:28px}.question-text{font-size:1.125rem;font-weight:600;color:var(--text-primary);text-align:center;margin:0}.question-statement{padding:1.25rem 1.5rem;background:var(--surface-secondary);border-left:4px solid var(--brand-500);border-radius:0 var(--radius-md) var(--radius-md) 0;font-size:1.125rem;color:var(--text-primary);line-height:1.6;width:100%;max-width:500px}.options-list{display:flex;flex-direction:column;gap:.75rem;width:100%;max-width:500px}.option-btn{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;border-radius:var(--radius-md);border:2px solid var(--border-primary);background:var(--surface-secondary);color:var(--text-primary);font-size:1rem;text-align:left;cursor:pointer;transition:all .2s ease}.option-btn:hover:not(:disabled){border-color:var(--brand-400);background:var(--surface-tertiary)}.option-btn.selected{border-color:var(--brand-500);background:#2e86c11a}.option-btn.correct{border-color:#10b981;background:#10b9811a}.option-btn.incorrect{border-color:#ef4444;background:#ef44441a}.option-btn:disabled{cursor:not-allowed}.option-letter{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--surface-tertiary);font-weight:600;font-size:.875rem;flex-shrink:0}.option-text{flex:1}.feedback-card{width:100%;max-width:500px;padding:1.25rem;border-radius:var(--radius-lg);animation:slideUp .3s ease}.feedback-card.correct{background:#10b9811a;border:1px solid rgba(16,185,129,.3)}.feedback-card.incorrect{background:#ef44441a;border:1px solid rgba(239,68,68,.3)}.feedback-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.feedback-header.correct{color:#10b981}.feedback-header.incorrect{color:#ef4444}.feedback-title{font-weight:600;font-size:1.125rem}.correct-spelling,.correct-answer-text{font-size:1rem;color:var(--text-primary);margin-bottom:.5rem}.correct-answer-text{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.incorrect-form{color:#ef4444;text-decoration:line-through}.correct-form{color:#10b981;font-weight:600}.arrow{color:var(--text-muted)}.feedback-explanation{font-size:.9375rem;color:var(--text-secondary);margin-top:.75rem;line-height:1.5}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.action-buttons{display:flex;justify-content:center;gap:1rem;padding:1.5rem 0;margin-top:2rem;border-top:1px solid var(--border-primary)}.action-buttons .btn{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.5rem;border-radius:var(--radius-lg);font-weight:600;font-size:.9375rem;cursor:pointer;transition:all .2s ease}.action-buttons .btn-secondary{background:var(--surface-secondary);border:1px solid var(--border-primary);color:var(--text-secondary)}.action-buttons .btn-secondary:hover{background:var(--surface-tertiary);color:var(--text-primary)}.action-buttons .btn-primary{border:none;color:#fff;box-shadow:0 4px 12px #00000026}.action-buttons .btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0003}.action-buttons .btn svg{width:20px;height:20px}.word-review-list{display:flex;flex-direction:column;gap:.75rem}.word-review-item{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:12px}.word-review-item.correct{border-left:3px solid #22c55e}.word-review-item.incorrect{border-left:3px solid #ef4444}.word-review-status{flex-shrink:0;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center}.word-review-status.correct{background:#22c55e26;color:#22c55e}.word-review-status.incorrect{background:#ef444426;color:#ef4444}.word-review-content{flex:1;min-width:0}.word-correct-spelling{font-weight:600;font-size:1rem;color:var(--text-primary);margin-bottom:.25rem}.word-user-input{font-size:.875rem;color:var(--text-muted);margin-bottom:.25rem}.word-user-input.incorrect{color:#ef4444}.word-explanation{font-size:.8rem;color:var(--text-secondary);font-style:italic}.word-review-item .category-badge{flex-shrink:0;padding:.25rem .75rem;background:var(--bg-base);border:1px solid var(--border-secondary);border-radius:9999px;font-size:.75rem;color:var(--text-muted);white-space:nowrap}.profile-sections{display:flex;flex-direction:column;gap:1.5rem}.section-title{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.section-subtitle{font-size:.875rem;color:var(--text-muted)}.form-grid-2{display:grid;grid-template-columns:1fr;gap:1rem}@media(min-width:640px){.form-grid-2{grid-template-columns:1fr 1fr}}.avatar-section{padding-bottom:1.5rem;border-bottom:1px solid var(--border-primary)}.avatar-preview-container{width:80px;height:80px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--bg-hover);border:2px solid var(--border-primary)}.avatar-preview-img{width:100%;height:100%;object-fit:cover}.avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--brand-500) 0%,var(--brand-600) 100%);color:#fff}.avatar-initials{font-size:1.5rem;font-weight:600;letter-spacing:.05em}.avatar-icon{width:40px;height:40px;opacity:.9}.avatar-info{display:flex;flex-direction:column;gap:.5rem}.avatar-label{font-size:.875rem;color:var(--text-secondary)}.avatar-actions{display:flex;gap:.5rem}.input-with-icon{position:relative;display:flex;align-items:center}.input-with-icon .input{padding-right:2.75rem}.input-icon-btn{position:absolute;right:.75rem;display:flex;align-items:center;justify-content:center;padding:.25rem;background:transparent;border:none;color:var(--text-muted);cursor:pointer;transition:color .15s ease}.input-icon-btn:hover{color:var(--text-secondary)}.preference-row{display:flex;align-items:center;justify-content:space-between;padding:1rem 0;border-bottom:1px solid var(--border-primary)}.preference-row:last-of-type{border-bottom:none}.preference-info{display:flex;flex-direction:column;gap:.25rem}.preference-label{display:flex;align-items:center;gap:.5rem;font-size:.9375rem;font-weight:500;color:var(--text-primary)}.preference-icon{color:var(--text-muted);flex-shrink:0}.preference-desc{font-size:.8125rem;color:var(--text-muted);padding-left:1.75rem}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem}.spinner-lg{width:48px;height:48px;border:3px solid var(--border-secondary);border-top-color:var(--brand-500);border-radius:50%;animation:spin .8s linear infinite}.text-error{color:var(--accent-red)}.text-success{color:var(--accent-green)}.text-muted{color:var(--text-muted)}.session-expired-toast{position:fixed;top:1rem;left:50%;transform:translate(-50%);z-index:9999;max-width:calc(100vw - 2rem);width:400px;background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-lg);box-shadow:0 10px 40px #0000004d;overflow:hidden;animation:toast-slide-in .3s ease-out}@keyframes toast-slide-in{0%{opacity:0;transform:translate(-50%) translateY(-1rem)}to{opacity:1;transform:translate(-50%) translateY(0)}}.session-expired-toast-content{display:flex;align-items:center;gap:.75rem;padding:1rem}.session-expired-icon{width:24px;height:24px;flex-shrink:0;color:var(--brand-500)}.session-expired-text{flex:1;display:flex;flex-direction:column;gap:.125rem}.session-expired-text strong{font-size:.9375rem;font-weight:600;color:var(--text-primary)}.session-expired-text span{font-size:.8125rem;color:var(--text-secondary)}.session-expired-dismiss{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;transition:all .15s ease}.session-expired-dismiss:hover{background:var(--bg-hover);color:var(--text-primary)}.session-expired-dismiss svg{width:16px;height:16px}.session-expired-progress{height:3px;background:var(--brand-500);animation:toast-progress 5s linear forwards}@keyframes toast-progress{0%{width:100%}to{width:0%}}@media(max-width:480px){.session-expired-toast{top:.5rem;width:calc(100vw - 1rem);max-width:none;left:.5rem;right:.5rem;transform:none}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(-1rem)}to{opacity:1;transform:translateY(0)}}}
