@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--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-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-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--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-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-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-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-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-teal-50:oklch(98.4% .014 180.72);--color-teal-100:oklch(95.3% .051 180.801);--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-cyan-50:oklch(98.4% .019 200.873);--color-cyan-100:oklch(95.6% .045 203.388);--color-cyan-500:oklch(71.5% .143 215.221);--color-cyan-600:oklch(60.9% .126 221.723);--color-cyan-800:oklch(45% .085 224.283);--color-cyan-900:oklch(39.8% .07 227.392);--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-indigo-50:oklch(96.2% .018 272.314);--color-indigo-100:oklch(93% .034 272.788);--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-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-pink-50:oklch(97.1% .014 343.198);--color-pink-100:oklch(94.8% .028 342.258);--color-pink-600:oklch(59.2% .249 .584);--color-rose-50:oklch(96.9% .015 12.422);--color-rose-600:oklch(58.6% .253 17.585);--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-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-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-xl:36rem;--container-2xl:42rem;--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);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--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;--blur-sm:8px;--blur-md:12px;--blur-lg:16px;--blur-xl:24px;--blur-2xl:40px;--blur-3xl:64px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.inset-2{inset:calc(var(--spacing)*2)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-1\/2{top:50%}.top-10{top:calc(var(--spacing)*10)}.top-full{top:100%}.-right-1{right:calc(var(--spacing)*-1)}.right-0{right:calc(var(--spacing)*0)}.right-10{right:calc(var(--spacing)*10)}.-bottom-1{bottom:calc(var(--spacing)*-1)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-20{bottom:calc(var(--spacing)*20)}.left-0{left:calc(var(--spacing)*0)}.left-3{left:calc(var(--spacing)*3)}.left-10{left:calc(var(--spacing)*10)}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.col-span-2{grid-column:span 2/span 2}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-auto{margin:auto}.mx-4{margin-inline:calc(var(--spacing)*4)}.mx-auto{margin-inline:auto}.my-8{margin-block:calc(var(--spacing)*8)}.my-12{margin-block:calc(var(--spacing)*12)}.-mt-4{margin-top:calc(var(--spacing)*-4)}.mt-0{margin-top:calc(var(--spacing)*0)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-1\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-8{margin-top:calc(var(--spacing)*8)}.mt-12{margin-top:calc(var(--spacing)*12)}.-mr-4{margin-right:calc(var(--spacing)*-4)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mr-3{margin-right:calc(var(--spacing)*3)}.-mb-4{margin-bottom:calc(var(--spacing)*-4)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.mb-10{margin-bottom:calc(var(--spacing)*10)}.mb-12{margin-bottom:calc(var(--spacing)*12)}.-ml-4{margin-left:calc(var(--spacing)*-4)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-3{margin-left:calc(var(--spacing)*3)}.ml-4{margin-left:calc(var(--spacing)*4)}.ml-7{margin-left:calc(var(--spacing)*7)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\!inline{display:inline!important}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-1{height:calc(var(--spacing)*1)}.h-2{height:calc(var(--spacing)*2)}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-3{height:calc(var(--spacing)*3)}.h-3\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-11{height:calc(var(--spacing)*11)}.h-12{height:calc(var(--spacing)*12)}.h-14{height:calc(var(--spacing)*14)}.h-16{height:calc(var(--spacing)*16)}.h-20{height:calc(var(--spacing)*20)}.h-24{height:calc(var(--spacing)*24)}.h-32{height:calc(var(--spacing)*32)}.h-48{height:calc(var(--spacing)*48)}.h-64{height:calc(var(--spacing)*64)}.h-96{height:calc(var(--spacing)*96)}.h-\[300px\]{height:300px}.h-\[500px\]{height:500px}.h-\[calc\(100vh-24rem\)\]{height:calc(100vh - 24rem)}.h-full{height:100%}.h-px{height:1px}.max-h-0{max-height:calc(var(--spacing)*0)}.max-h-32{max-height:calc(var(--spacing)*32)}.max-h-40{max-height:calc(var(--spacing)*40)}.max-h-64{max-height:calc(var(--spacing)*64)}.max-h-80{max-height:calc(var(--spacing)*80)}.max-h-\[90vh\]{max-height:90vh}.max-h-\[200px\]{max-height:200px}.max-h-\[200vh\]{max-height:200vh}.max-h-\[calc\(90vh-200px\)\]{max-height:calc(90vh - 200px)}.max-h-\[calc\(100vh-100px\)\]{max-height:calc(100vh - 100px)}.min-h-\[50vh\]{min-height:50vh}.min-h-\[100px\]{min-height:100px}.min-h-\[300px\]{min-height:300px}.min-h-\[500px\]{min-height:500px}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-2{width:calc(var(--spacing)*2)}.w-2\.5{width:calc(var(--spacing)*2.5)}.w-3{width:calc(var(--spacing)*3)}.w-3\.5{width:calc(var(--spacing)*3.5)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-11{width:calc(var(--spacing)*11)}.w-12{width:calc(var(--spacing)*12)}.w-14{width:calc(var(--spacing)*14)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-24{width:calc(var(--spacing)*24)}.w-28{width:calc(var(--spacing)*28)}.w-32{width:calc(var(--spacing)*32)}.w-40{width:calc(var(--spacing)*40)}.w-60{width:calc(var(--spacing)*60)}.w-80{width:calc(var(--spacing)*80)}.w-96{width:calc(var(--spacing)*96)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-9\/12{max-width:75%}.max-w-\[1000px\]{max-width:1000px}.max-w-\[1800px\]{max-width:1800px}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\[130px\]{min-width:130px}.min-w-\[160px\]{min-width:160px}.min-w-full{min-width:100%}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-0{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-10{--tw-translate-y:calc(var(--spacing)*10);translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-105{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-125{--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x)var(--tw-scale-y)}.-rotate-90{rotate:-90deg}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-bounce{animation:var(--animate-bounce)}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.list-disc{list-style-type:disc}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*8)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-y-reverse)))}.gap-x-4{-moz-column-gap:calc(var(--spacing)*4);column-gap:calc(var(--spacing)*4)}:where(.space-x-3>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*3)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-x-reverse)))}.gap-y-2{row-gap:calc(var(--spacing)*2)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-gray-100>:not(:last-child)){border-color:var(--color-gray-100)}:where(.divide-gray-200>:not(:last-child)){border-color:var(--color-gray-200)}:where(.divide-slate-200>:not(:last-child)){border-color:var(--color-slate-200)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.border-t-8{border-top-style:var(--tw-border-style);border-top-width:8px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-amber-100{border-color:var(--color-amber-100)}.border-amber-500{border-color:var(--color-amber-500)}.border-blue-50{border-color:var(--color-blue-50)}.border-blue-100{border-color:var(--color-blue-100)}.border-blue-200{border-color:var(--color-blue-200)}.border-blue-200\/60{border-color:#bedbff99}@supports (color:color-mix(in lab,red,red)){.border-blue-200\/60{border-color:color-mix(in oklab,var(--color-blue-200)60%,transparent)}}.border-blue-300{border-color:var(--color-blue-300)}.border-blue-300\/60{border-color:#90c5ff99}@supports (color:color-mix(in lab,red,red)){.border-blue-300\/60{border-color:color-mix(in oklab,var(--color-blue-300)60%,transparent)}}.border-blue-500{border-color:var(--color-blue-500)}.border-blue-600{border-color:var(--color-blue-600)}.border-emerald-300\/60{border-color:#5ee9b599}@supports (color:color-mix(in lab,red,red)){.border-emerald-300\/60{border-color:color-mix(in oklab,var(--color-emerald-300)60%,transparent)}}.border-emerald-500{border-color:var(--color-emerald-500)}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-200\/60{border-color:#e5e7eb99}@supports (color:color-mix(in lab,red,red)){.border-gray-200\/60{border-color:color-mix(in oklab,var(--color-gray-200)60%,transparent)}}.border-gray-300{border-color:var(--color-gray-300)}.border-green-50{border-color:var(--color-green-50)}.border-green-100{border-color:var(--color-green-100)}.border-green-200{border-color:var(--color-green-200)}.border-green-300{border-color:var(--color-green-300)}.border-green-400{border-color:var(--color-green-400)}.border-green-500{border-color:var(--color-green-500)}.border-orange-200{border-color:var(--color-orange-200)}.border-orange-200\/60{border-color:#ffd7a899}@supports (color:color-mix(in lab,red,red)){.border-orange-200\/60{border-color:color-mix(in oklab,var(--color-orange-200)60%,transparent)}}.border-orange-500{border-color:var(--color-orange-500)}.border-orange-600{border-color:var(--color-orange-600)}.border-purple-100{border-color:var(--color-purple-100)}.border-purple-200{border-color:var(--color-purple-200)}.border-purple-500{border-color:var(--color-purple-500)}.border-purple-600{border-color:var(--color-purple-600)}.border-red-100{border-color:var(--color-red-100)}.border-red-200{border-color:var(--color-red-200)}.border-red-200\/60{border-color:#ffcaca99}@supports (color:color-mix(in lab,red,red)){.border-red-200\/60{border-color:color-mix(in oklab,var(--color-red-200)60%,transparent)}}.border-red-300{border-color:var(--color-red-300)}.border-red-400{border-color:var(--color-red-400)}.border-slate-50{border-color:var(--color-slate-50)}.border-slate-100{border-color:var(--color-slate-100)}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-300{border-color:var(--color-slate-300)}.border-white{border-color:var(--color-white)}.border-white\/30{border-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.border-white\/30{border-color:color-mix(in oklab,var(--color-white)30%,transparent)}}.border-yellow-50{border-color:var(--color-yellow-50)}.border-yellow-200{border-color:var(--color-yellow-200)}.border-t-blue-600{border-top-color:var(--color-blue-600)}.border-t-purple-600{border-top-color:var(--color-purple-600)}.border-t-transparent{border-top-color:#0000}.border-t-white{border-top-color:var(--color-white)}.border-b-transparent{border-bottom-color:#0000}.border-l-blue-600{border-left-color:var(--color-blue-600)}.border-l-orange-600{border-left-color:var(--color-orange-600)}.border-l-purple-600{border-left-color:var(--color-purple-600)}.bg-\[\#2A2A2A\]{background-color:#2a2a2a}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-100{background-color:var(--color-amber-100)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-black{background-color:var(--color-black)}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-50\/50{background-color:#eff6ff80}@supports (color:color-mix(in lab,red,red)){.bg-blue-50\/50{background-color:color-mix(in oklab,var(--color-blue-50)50%,transparent)}}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-200{background-color:var(--color-blue-200)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-500\/10{background-color:#3080ff1a}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/10{background-color:color-mix(in oklab,var(--color-blue-500)10%,transparent)}}.bg-blue-600{background-color:var(--color-blue-600)}.bg-cyan-100{background-color:var(--color-cyan-100)}.bg-cyan-500\/10{background-color:#00b7d71a}@supports (color:color-mix(in lab,red,red)){.bg-cyan-500\/10{background-color:color-mix(in oklab,var(--color-cyan-500)10%,transparent)}}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-100{background-color:var(--color-emerald-100)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-400{background-color:var(--color-gray-400)}.bg-green-50{background-color:var(--color-green-50)}.bg-green-50\/40{background-color:#f0fdf466}@supports (color:color-mix(in lab,red,red)){.bg-green-50\/40{background-color:color-mix(in oklab,var(--color-green-50)40%,transparent)}}.bg-green-50\/50{background-color:#f0fdf480}@supports (color:color-mix(in lab,red,red)){.bg-green-50\/50{background-color:color-mix(in oklab,var(--color-green-50)50%,transparent)}}.bg-green-100{background-color:var(--color-green-100)}.bg-green-200{background-color:var(--color-green-200)}.bg-green-500{background-color:var(--color-green-500)}.bg-green-600{background-color:var(--color-green-600)}.bg-indigo-100{background-color:var(--color-indigo-100)}.bg-indigo-500{background-color:var(--color-indigo-500)}.bg-orange-50{background-color:var(--color-orange-50)}.bg-orange-100{background-color:var(--color-orange-100)}.bg-orange-600{background-color:var(--color-orange-600)}.bg-purple-50{background-color:var(--color-purple-50)}.bg-purple-100{background-color:var(--color-purple-100)}.bg-purple-500{background-color:var(--color-purple-500)}.bg-purple-600{background-color:var(--color-purple-600)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-50\/40{background-color:#fef2f266}@supports (color:color-mix(in lab,red,red)){.bg-red-50\/40{background-color:color-mix(in oklab,var(--color-red-50)40%,transparent)}}.bg-red-100{background-color:var(--color-red-100)}.bg-red-200{background-color:var(--color-red-200)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-600{background-color:var(--color-red-600)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-50\/50{background-color:#f8fafc80}@supports (color:color-mix(in lab,red,red)){.bg-slate-50\/50{background-color:color-mix(in oklab,var(--color-slate-50)50%,transparent)}}.bg-slate-100{background-color:var(--color-slate-100)}.bg-slate-200{background-color:var(--color-slate-200)}.bg-slate-800{background-color:var(--color-slate-800)}.bg-teal-100{background-color:var(--color-teal-100)}.bg-white{background-color:var(--color-white)}.bg-white\/20{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.bg-white\/20{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.bg-white\/25{background-color:#ffffff40}@supports (color:color-mix(in lab,red,red)){.bg-white\/25{background-color:color-mix(in oklab,var(--color-white)25%,transparent)}}.bg-white\/30{background-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.bg-white\/30{background-color:color-mix(in oklab,var(--color-white)30%,transparent)}}.bg-white\/80{background-color:#fffc}@supports (color:color-mix(in lab,red,red)){.bg-white\/80{background-color:color-mix(in oklab,var(--color-white)80%,transparent)}}.bg-white\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.bg-white\/90{background-color:color-mix(in oklab,var(--color-white)90%,transparent)}}.bg-yellow-50{background-color:var(--color-yellow-50)}.bg-yellow-100{background-color:var(--color-yellow-100)}.bg-yellow-500{background-color:var(--color-yellow-500)}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-\[url\(\'data\:image\/svg\+xml\;charset\=US-ASCII\,\%3Csvg\%20xmlns\%3D\%22http\%3A\%2F\%2Fwww\.w3\.org\%2F2000\%2Fsvg\%22\%20width\%3D\%2216\%22\%20height\%3D\%2216\%22\%20viewBox\%3D\%220\%200\%2024\%2024\%22\%20fill\%3D\%22none\%22\%20stroke\%3D\%22\%2394a3b8\%22\%20stroke-width\%3D\%222\%22\%20stroke-linecap\%3D\%22round\%22\%20stroke-linejoin\%3D\%22round\%22\%3E\%3Cpolyline\%20points\%3D\%226\%209\%2012\%2015\%2018\%209\%22\%3E\%3C\%2Fpolyline\%3E\%3C\%2Fsvg\%3E\'\)\]{background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2394a3b8%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpolyline%20points%3D%226%209%2012%2015%2018%209%22%3E%3C%2Fpolyline%3E%3C%2Fsvg%3E)}.from-amber-400{--tw-gradient-from:var(--color-amber-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-blue-50{--tw-gradient-from:var(--color-blue-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-blue-100{--tw-gradient-from:var(--color-blue-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-blue-500{--tw-gradient-from:var(--color-blue-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-blue-600{--tw-gradient-from:var(--color-blue-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-emerald-50{--tw-gradient-from:var(--color-emerald-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-emerald-500{--tw-gradient-from:var(--color-emerald-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-gray-50{--tw-gradient-from:var(--color-gray-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-gray-100{--tw-gradient-from:var(--color-gray-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-gray-700{--tw-gradient-from:var(--color-gray-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-gray-900{--tw-gradient-from:var(--color-gray-900);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-green-50{--tw-gradient-from:var(--color-green-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-green-500{--tw-gradient-from:var(--color-green-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-orange-50{--tw-gradient-from:var(--color-orange-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-orange-100{--tw-gradient-from:var(--color-orange-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-orange-500{--tw-gradient-from:var(--color-orange-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-purple-50{--tw-gradient-from:var(--color-purple-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-purple-100{--tw-gradient-from:var(--color-purple-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-purple-400{--tw-gradient-from:var(--color-purple-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-purple-500{--tw-gradient-from:var(--color-purple-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-purple-600{--tw-gradient-from:var(--color-purple-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-purple-900{--tw-gradient-from:var(--color-purple-900);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-red-50{--tw-gradient-from:var(--color-red-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-red-500{--tw-gradient-from:var(--color-red-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-red-600{--tw-gradient-from:var(--color-red-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-slate-50{--tw-gradient-from:var(--color-slate-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-slate-200{--tw-gradient-from:var(--color-slate-200);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-slate-500{--tw-gradient-from:var(--color-slate-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-white{--tw-gradient-from:var(--color-white);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-yellow-500{--tw-gradient-from:var(--color-yellow-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.via-amber-50\/50{--tw-gradient-via:#fffbeb80}@supports (color:color-mix(in lab,red,red)){.via-amber-50\/50{--tw-gradient-via:color-mix(in oklab,var(--color-amber-50)50%,transparent)}}.via-amber-50\/50{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-amber-500{--tw-gradient-via:var(--color-amber-500);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-blue-50\/40{--tw-gradient-via:#eff6ff66}@supports (color:color-mix(in lab,red,red)){.via-blue-50\/40{--tw-gradient-via:color-mix(in oklab,var(--color-blue-50)40%,transparent)}}.via-blue-50\/40{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-indigo-50{--tw-gradient-via:var(--color-indigo-50);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-indigo-50\/50{--tw-gradient-via:#eef2ff80}@supports (color:color-mix(in lab,red,red)){.via-indigo-50\/50{--tw-gradient-via:color-mix(in oklab,var(--color-indigo-50)50%,transparent)}}.via-indigo-50\/50{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-purple-50\/40{--tw-gradient-via:#faf5ff66}@supports (color:color-mix(in lab,red,red)){.via-purple-50\/40{--tw-gradient-via:color-mix(in oklab,var(--color-purple-50)40%,transparent)}}.via-purple-50\/40{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-purple-600{--tw-gradient-via:var(--color-purple-600);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-red-600{--tw-gradient-via:var(--color-red-600);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-rose-50\/50{--tw-gradient-via:#fff1f280}@supports (color:color-mix(in lab,red,red)){.via-rose-50\/50{--tw-gradient-via:color-mix(in oklab,var(--color-rose-50)50%,transparent)}}.via-rose-50\/50{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-teal-50\/50{--tw-gradient-via:#f0fdfa80}@supports (color:color-mix(in lab,red,red)){.via-teal-50\/50{--tw-gradient-via:color-mix(in oklab,var(--color-teal-50)50%,transparent)}}.via-teal-50\/50{--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-teal-500{--tw-gradient-via:var(--color-teal-500);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-blue-50{--tw-gradient-to:var(--color-blue-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-blue-50\/30{--tw-gradient-to:#eff6ff4d}@supports (color:color-mix(in lab,red,red)){.to-blue-50\/30{--tw-gradient-to:color-mix(in oklab,var(--color-blue-50)30%,transparent)}}.to-blue-50\/30{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-blue-50\/40{--tw-gradient-to:#eff6ff66}@supports (color:color-mix(in lab,red,red)){.to-blue-50\/40{--tw-gradient-to:color-mix(in oklab,var(--color-blue-50)40%,transparent)}}.to-blue-50\/40{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-cyan-50{--tw-gradient-to:var(--color-cyan-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-cyan-500{--tw-gradient-to:var(--color-cyan-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-cyan-600{--tw-gradient-to:var(--color-cyan-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-emerald-50{--tw-gradient-to:var(--color-emerald-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-emerald-600{--tw-gradient-to:var(--color-emerald-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-gray-200{--tw-gradient-to:var(--color-gray-200);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-gray-700{--tw-gradient-to:var(--color-gray-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-gray-900{--tw-gradient-to:var(--color-gray-900);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-indigo-50{--tw-gradient-to:var(--color-indigo-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-indigo-50\/30{--tw-gradient-to:#eef2ff4d}@supports (color:color-mix(in lab,red,red)){.to-indigo-50\/30{--tw-gradient-to:color-mix(in oklab,var(--color-indigo-50)30%,transparent)}}.to-indigo-50\/30{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-indigo-50\/50{--tw-gradient-to:#eef2ff80}@supports (color:color-mix(in lab,red,red)){.to-indigo-50\/50{--tw-gradient-to:color-mix(in oklab,var(--color-indigo-50)50%,transparent)}}.to-indigo-50\/50{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-indigo-100{--tw-gradient-to:var(--color-indigo-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-indigo-500{--tw-gradient-to:var(--color-indigo-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-indigo-600{--tw-gradient-to:var(--color-indigo-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-indigo-700{--tw-gradient-to:var(--color-indigo-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-orange-50{--tw-gradient-to:var(--color-orange-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-orange-500{--tw-gradient-to:var(--color-orange-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-orange-600{--tw-gradient-to:var(--color-orange-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-pink-50{--tw-gradient-to:var(--color-pink-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-pink-100{--tw-gradient-to:var(--color-pink-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-pink-600{--tw-gradient-to:var(--color-pink-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-50{--tw-gradient-to:var(--color-purple-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-50\/30{--tw-gradient-to:#faf5ff4d}@supports (color:color-mix(in lab,red,red)){.to-purple-50\/30{--tw-gradient-to:color-mix(in oklab,var(--color-purple-50)30%,transparent)}}.to-purple-50\/30{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-50\/40{--tw-gradient-to:#faf5ff66}@supports (color:color-mix(in lab,red,red)){.to-purple-50\/40{--tw-gradient-to:color-mix(in oklab,var(--color-purple-50)40%,transparent)}}.to-purple-50\/40{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-600{--tw-gradient-to:var(--color-purple-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-red-50{--tw-gradient-to:var(--color-red-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-red-100{--tw-gradient-to:var(--color-red-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-red-500{--tw-gradient-to:var(--color-red-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-rose-50{--tw-gradient-to:var(--color-rose-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-rose-600{--tw-gradient-to:var(--color-rose-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-slate-50{--tw-gradient-to:var(--color-slate-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-slate-600{--tw-gradient-to:var(--color-slate-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-slate-700{--tw-gradient-to:var(--color-slate-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-teal-50\/40{--tw-gradient-to:#f0fdfa66}@supports (color:color-mix(in lab,red,red)){.to-teal-50\/40{--tw-gradient-to:color-mix(in oklab,var(--color-teal-50)40%,transparent)}}.to-teal-50\/40{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-teal-600{--tw-gradient-to:var(--color-teal-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-white{--tw-gradient-to:var(--color-white);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-yellow-50{--tw-gradient-to:var(--color-yellow-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-yellow-500{--tw-gradient-to:var(--color-yellow-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.bg-\[right_0\.5rem_center\]{background-position:right .5rem center}.bg-no-repeat{background-repeat:no-repeat}.p-0{padding:calc(var(--spacing)*0)}.p-0\.5{padding:calc(var(--spacing)*.5)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-2\.5{padding:calc(var(--spacing)*2.5)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.p-7{padding:calc(var(--spacing)*7)}.p-8{padding:calc(var(--spacing)*8)}.p-12{padding:calc(var(--spacing)*12)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-5{padding-block:calc(var(--spacing)*5)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.py-10{padding-block:calc(var(--spacing)*10)}.py-12{padding-block:calc(var(--spacing)*12)}.py-16{padding-block:calc(var(--spacing)*16)}.py-20{padding-block:calc(var(--spacing)*20)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-6{padding-top:calc(var(--spacing)*6)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-3{padding-right:calc(var(--spacing)*3)}.pr-4{padding-right:calc(var(--spacing)*4)}.pr-8{padding-right:calc(var(--spacing)*8)}.pr-10{padding-right:calc(var(--spacing)*10)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-5{padding-left:calc(var(--spacing)*5)}.pl-9{padding-left:calc(var(--spacing)*9)}.pl-10{padding-left:calc(var(--spacing)*10)}.pl-11{padding-left:calc(var(--spacing)*11)}.pl-12{padding-left:calc(var(--spacing)*12)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[11px\]{font-size:11px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.leading-5{--tw-leading:calc(var(--spacing)*5);line-height:calc(var(--spacing)*5)}.leading-7{--tw-leading:calc(var(--spacing)*7);line-height:calc(var(--spacing)*7)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-500{color:var(--color-amber-500)}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-amber-800{color:var(--color-amber-800)}.text-blue-400{color:var(--color-blue-400)}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-blue-800{color:var(--color-blue-800)}.text-blue-900{color:var(--color-blue-900)}.text-cyan-800{color:var(--color-cyan-800)}.text-emerald-50{color:var(--color-emerald-50)}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-700{color:var(--color-emerald-700)}.text-gray-200{color:var(--color-gray-200)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-green-500{color:var(--color-green-500)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-green-800{color:var(--color-green-800)}.text-indigo-600{color:var(--color-indigo-600)}.text-indigo-800{color:var(--color-indigo-800)}.text-orange-500{color:var(--color-orange-500)}.text-orange-600{color:var(--color-orange-600)}.text-orange-800{color:var(--color-orange-800)}.text-orange-900{color:var(--color-orange-900)}.text-purple-500{color:var(--color-purple-500)}.text-purple-600{color:var(--color-purple-600)}.text-purple-700{color:var(--color-purple-700)}.text-purple-800{color:var(--color-purple-800)}.text-purple-900{color:var(--color-purple-900)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-red-900{color:var(--color-red-900)}.text-slate-200{color:var(--color-slate-200)}.text-slate-300{color:var(--color-slate-300)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-slate-800{color:var(--color-slate-800)}.text-slate-900{color:var(--color-slate-900)}.text-teal-800{color:var(--color-teal-800)}.text-transparent{color:#0000}.text-white{color:var(--color-white)}.text-white\/70{color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.text-white\/70{color:color-mix(in oklab,var(--color-white)70%,transparent)}}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab,red,red)){.text-white\/80{color:color-mix(in oklab,var(--color-white)80%,transparent)}}.text-yellow-400{color:var(--color-yellow-400)}.text-yellow-600{color:var(--color-yellow-600)}.text-yellow-700{color:var(--color-yellow-700)}.text-yellow-800{color:var(--color-yellow-800)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.placeholder-gray-400::-moz-placeholder{color:var(--color-gray-400)}.placeholder-gray-400::placeholder{color:var(--color-gray-400)}.placeholder-slate-400::-moz-placeholder{color:var(--color-slate-400)}.placeholder-slate-400::placeholder{color:var(--color-slate-400)}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-20{opacity:.2}.opacity-25{opacity:.25}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-95{opacity:.95}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-4{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(4px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-blue-500\/20{--tw-shadow-color:#3080ff33}@supports (color:color-mix(in lab,red,red)){.shadow-blue-500\/20{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-blue-500)20%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-blue-500\/30{--tw-shadow-color:#3080ff4d}@supports (color:color-mix(in lab,red,red)){.shadow-blue-500\/30{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-blue-500)30%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-emerald-500\/20{--tw-shadow-color:#00bb7f33}@supports (color:color-mix(in lab,red,red)){.shadow-emerald-500\/20{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-emerald-500)20%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-emerald-500\/30{--tw-shadow-color:#00bb7f4d}@supports (color:color-mix(in lab,red,red)){.shadow-emerald-500\/30{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-emerald-500)30%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-purple-500\/20{--tw-shadow-color:#ac4bff33}@supports (color:color-mix(in lab,red,red)){.shadow-purple-500\/20{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-purple-500)20%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-purple-500\/30{--tw-shadow-color:#ac4bff4d}@supports (color:color-mix(in lab,red,red)){.shadow-purple-500\/30{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-purple-500)30%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-red-500\/30{--tw-shadow-color:#fb2c364d}@supports (color:color-mix(in lab,red,red)){.shadow-red-500\/30{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-red-500)30%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-slate-500\/20{--tw-shadow-color:#62748e33}@supports (color:color-mix(in lab,red,red)){.shadow-slate-500\/20{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-slate-500)20%,transparent)var(--tw-shadow-alpha),transparent)}}.shadow-yellow-500\/20{--tw-shadow-color:#edb20033}@supports (color:color-mix(in lab,red,red)){.shadow-yellow-500\/20{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-yellow-500)20%,transparent)var(--tw-shadow-alpha),transparent)}}.ring-blue-100{--tw-ring-color:var(--color-blue-100)}.ring-blue-200{--tw-ring-color:var(--color-blue-200)}.ring-emerald-100{--tw-ring-color:var(--color-emerald-100)}.ring-emerald-200{--tw-ring-color:var(--color-emerald-200)}.ring-orange-100{--tw-ring-color:var(--color-orange-100)}.ring-purple-100{--tw-ring-color:var(--color-purple-100)}.ring-red-100{--tw-ring-color:var(--color-red-100)}.ring-slate-100{--tw-ring-color:var(--color-slate-100)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur-2xl{--tw-blur:blur(var(--blur-2xl));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.blur-3xl{--tw-blur:blur(var(--blur-3xl));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.blur-lg{--tw-blur:blur(var(--blur-lg));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.blur-xl{--tw-blur:blur(var(--blur-xl));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.delay-500{transition-delay:.5s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.duration-700{--tw-duration:.7s;transition-duration:.7s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}@media(hover:hover){.group-hover\:-translate-x-1:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-hover\:scale-110:is(:where(.group):hover *){--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-hover\:scale-125:is(:where(.group):hover *){--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-hover\:bg-blue-50:is(:where(.group):hover *){background-color:var(--color-blue-50)}.group-hover\:bg-blue-100:is(:where(.group):hover *){background-color:var(--color-blue-100)}.group-hover\:bg-blue-600:is(:where(.group):hover *){background-color:var(--color-blue-600)}.group-hover\:bg-orange-100:is(:where(.group):hover *){background-color:var(--color-orange-100)}.group-hover\:bg-purple-100:is(:where(.group):hover *){background-color:var(--color-purple-100)}.group-hover\:text-blue-600:is(:where(.group):hover *){color:var(--color-blue-600)}.group-hover\:text-blue-700:is(:where(.group):hover *){color:var(--color-blue-700)}.group-hover\:text-green-700:is(:where(.group):hover *){color:var(--color-green-700)}.group-hover\:text-orange-600:is(:where(.group):hover *){color:var(--color-orange-600)}.group-hover\:text-purple-600:is(:where(.group):hover *){color:var(--color-purple-600)}.group-hover\:text-purple-700:is(:where(.group):hover *){color:var(--color-purple-700)}.group-hover\:text-white:is(:where(.group):hover *){color:var(--color-white)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.group-hover\:shadow-md:is(:where(.group):hover *){--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.placeholder\:text-gray-400::-moz-placeholder{color:var(--color-gray-400)}.placeholder\:text-gray-400::placeholder{color:var(--color-gray-400)}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media(hover:hover){.hover\:-translate-y-0\.5:hover{--tw-translate-y:calc(var(--spacing)*-.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\:-translate-y-1:hover{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:border-blue-200:hover{border-color:var(--color-blue-200)}.hover\:border-blue-300:hover{border-color:var(--color-blue-300)}.hover\:border-blue-400:hover{border-color:var(--color-blue-400)}.hover\:border-emerald-400:hover{border-color:var(--color-emerald-400)}.hover\:border-gray-200:hover{border-color:var(--color-gray-200)}.hover\:border-gray-300:hover{border-color:var(--color-gray-300)}.hover\:border-gray-400:hover{border-color:var(--color-gray-400)}.hover\:border-green-300:hover{border-color:var(--color-green-300)}.hover\:border-orange-300:hover{border-color:var(--color-orange-300)}.hover\:border-orange-400:hover{border-color:var(--color-orange-400)}.hover\:border-purple-300:hover{border-color:var(--color-purple-300)}.hover\:border-purple-400:hover{border-color:var(--color-purple-400)}.hover\:border-red-300:hover{border-color:var(--color-red-300)}.hover\:bg-blue-50:hover{background-color:var(--color-blue-50)}.hover\:bg-blue-50\/80:hover{background-color:#eff6ffcc}@supports (color:color-mix(in lab,red,red)){.hover\:bg-blue-50\/80:hover{background-color:color-mix(in oklab,var(--color-blue-50)80%,transparent)}}.hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\:bg-gray-300:hover{background-color:var(--color-gray-300)}.hover\:bg-green-100:hover{background-color:var(--color-green-100)}.hover\:bg-green-200:hover{background-color:var(--color-green-200)}.hover\:bg-green-300:hover{background-color:var(--color-green-300)}.hover\:bg-green-700:hover{background-color:var(--color-green-700)}.hover\:bg-orange-700:hover{background-color:var(--color-orange-700)}.hover\:bg-purple-50:hover{background-color:var(--color-purple-50)}.hover\:bg-purple-700:hover{background-color:var(--color-purple-700)}.hover\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\:bg-red-100:hover{background-color:var(--color-red-100)}.hover\:bg-red-700:hover{background-color:var(--color-red-700)}.hover\:bg-slate-50:hover{background-color:var(--color-slate-50)}.hover\:bg-slate-100:hover{background-color:var(--color-slate-100)}.hover\:bg-slate-200:hover{background-color:var(--color-slate-200)}.hover\:bg-slate-300:hover{background-color:var(--color-slate-300)}.hover\:bg-white:hover{background-color:var(--color-white)}.hover\:bg-white\/30:hover{background-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/30:hover{background-color:color-mix(in oklab,var(--color-white)30%,transparent)}}.hover\:bg-yellow-100:hover{background-color:var(--color-yellow-100)}.hover\:bg-gradient-to-br:hover{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.hover\:bg-gradient-to-r:hover{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.hover\:from-blue-50:hover{--tw-gradient-from:var(--color-blue-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:from-blue-100:hover{--tw-gradient-from:var(--color-blue-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:from-blue-600:hover{--tw-gradient-from:var(--color-blue-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:from-emerald-600:hover{--tw-gradient-from:var(--color-emerald-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:from-orange-50:hover{--tw-gradient-from:var(--color-orange-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:from-purple-50:hover{--tw-gradient-from:var(--color-purple-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:from-purple-600:hover{--tw-gradient-from:var(--color-purple-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:from-purple-700:hover{--tw-gradient-from:var(--color-purple-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:to-cyan-50:hover{--tw-gradient-to:var(--color-cyan-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:to-cyan-600:hover{--tw-gradient-to:var(--color-cyan-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:to-indigo-50:hover{--tw-gradient-to:var(--color-indigo-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:to-indigo-100:hover{--tw-gradient-to:var(--color-indigo-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:to-indigo-700:hover{--tw-gradient-to:var(--color-indigo-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:to-pink-50:hover{--tw-gradient-to:var(--color-pink-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:to-purple-700:hover{--tw-gradient-to:var(--color-purple-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:to-red-50:hover{--tw-gradient-to:var(--color-red-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:to-teal-700:hover{--tw-gradient-to:var(--color-teal-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:text-blue-600:hover{color:var(--color-blue-600)}.hover\:text-blue-700:hover{color:var(--color-blue-700)}.hover\:text-blue-800:hover{color:var(--color-blue-800)}.hover\:text-blue-900:hover{color:var(--color-blue-900)}.hover\:text-cyan-900:hover{color:var(--color-cyan-900)}.hover\:text-gray-600:hover{color:var(--color-gray-600)}.hover\:text-indigo-900:hover{color:var(--color-indigo-900)}.hover\:text-orange-700:hover{color:var(--color-orange-700)}.hover\:text-purple-900:hover{color:var(--color-purple-900)}.hover\:text-red-600:hover{color:var(--color-red-600)}.hover\:text-slate-600:hover{color:var(--color-slate-600)}.hover\:text-slate-800:hover{color:var(--color-slate-800)}.hover\:text-slate-900:hover{color:var(--color-slate-900)}.hover\:text-teal-900:hover{color:var(--color-teal-900)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\:border-blue-400:focus{border-color:var(--color-blue-400)}.focus\:border-blue-500:focus{border-color:var(--color-blue-500)}.focus\:border-emerald-500:focus{border-color:var(--color-emerald-500)}.focus\:border-orange-500:focus{border-color:var(--color-orange-500)}.focus\:border-purple-500:focus{border-color:var(--color-purple-500)}.focus\:border-red-500:focus{border-color:var(--color-red-500)}.focus\:border-transparent:focus{border-color:#0000}.focus\:bg-white:focus{background-color:var(--color-white)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-4:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(4px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-blue-100:focus{--tw-ring-color:var(--color-blue-100)}.focus\:ring-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.focus\:ring-blue-500\/30:focus{--tw-ring-color:#3080ff4d}@supports (color:color-mix(in lab,red,red)){.focus\:ring-blue-500\/30:focus{--tw-ring-color:color-mix(in oklab,var(--color-blue-500)30%,transparent)}}.focus\:ring-emerald-100:focus{--tw-ring-color:var(--color-emerald-100)}.focus\:ring-gray-400:focus{--tw-ring-color:var(--color-gray-400)}.focus\:ring-gray-500:focus{--tw-ring-color:var(--color-gray-500)}.focus\:ring-orange-200:focus{--tw-ring-color:var(--color-orange-200)}.focus\:ring-orange-500:focus{--tw-ring-color:var(--color-orange-500)}.focus\:ring-purple-200:focus{--tw-ring-color:var(--color-purple-200)}.focus\:ring-purple-500:focus{--tw-ring-color:var(--color-purple-500)}.focus\:ring-red-500:focus{--tw-ring-color:var(--color-red-500)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-gray-100:disabled{background-color:var(--color-gray-100)}.disabled\:bg-gray-300:disabled{background-color:var(--color-gray-300)}.disabled\:bg-slate-300:disabled{background-color:var(--color-slate-300)}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-70:disabled{opacity:.7}@media(hover:hover){.disabled\:hover\:scale-100:disabled:hover{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}}@media(min-width:40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:p-0{padding:calc(var(--spacing)*0)}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media(min-width:48rem){.md\:flex{display:flex}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.md\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}}@media(min-width:64rem){.lg\:sticky{position:sticky}.lg\:top-6{top:calc(var(--spacing)*6)}.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:w-48{width:calc(var(--spacing)*48)}.lg\:w-56{width:calc(var(--spacing)*56)}.lg\:w-auto{width:auto}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}}}:root{--bg-primary:#f8fafc;--bg-gradient:linear-gradient(180deg,#f8fafc 0%,#eff6ff 50%,#f0f9ff 100%);--bg-surface:#fff;--bg-surface-secondary:#f0f4f8;--bg-input:#f8fafc;--text-primary:#0f172a;--text-secondary:#334155;--text-tertiary:#64748b;--border-primary:#cbd5e1;--border-secondary:#e2e8f0;--accent-blue:#3b82f6;--accent-blue-light:#60a5fa;--accent-blue-hover:#2563eb;--shadow-light:0 1px 3px #0000001a;--shadow-medium:0 4px 20px #0000000f;--shadow-heavy:0 8px 30px #0000001f}[data-theme=dark]{--bg-primary:#0f172a;--bg-gradient:linear-gradient(180deg,#0f172a 0%,#1e293b 100%);--bg-surface:#1e293b;--bg-surface-secondary:#0f172a;--bg-input:#0f172a;--text-primary:#e2e8f0;--text-secondary:#94a3b8;--text-tertiary:#64748b;--border-primary:#334155;--border-secondary:#475569;--accent-blue:#60a5fa;--accent-blue-light:#93c5fd;--accent-blue-hover:#3b82f6;--shadow-light:0 1px 3px #0000004d;--shadow-medium:0 4px 20px #0000004d;--shadow-heavy:0 8px 30px #0006;--suggestion-btn-bg:#1e293b;--suggestion-btn-border:#475569;--suggestion-btn-color:#e2e8f0;--suggestion-btn-shadow:0 2px 8px #0000004d;--suggestion-btn-hover-bg:#3b82f64d;--suggestion-btn-hover-border:#60a5fa;--suggestion-btn-hover-color:#60a5fa;--suggestion-btn-hover-shadow:0 4px 12px #3b82f666;--follow-up-btn-bg:#1e293b;--follow-up-btn-border:#475569;--follow-up-btn-color:#e2e8f0;--follow-up-btn-shadow:0 1px 3px #0000004d;--follow-up-btn-hover-bg:#3b82f633;--follow-up-btn-hover-border:#60a5fa;--follow-up-btn-hover-color:#60a5fa;--follow-up-btn-hover-shadow:0 4px 12px #3b82f666;--subtopic-btn-bg:#334155;--subtopic-btn-color:#e2e8f0;--subtopic-btn-hover-bg:#3b82f64d;--subtopic-btn-active-bg:#3b82f680;--studio-content-bg:var(--bg-surface-secondary);--studio-content-border:#334155;--studio-btn-hover-bg:#334155cc;--studio-list-bg:#0f172a;--studio-list-border:#334155;--studio-item-bg:#1e293b;--studio-item-border:#334155;--studio-item-hover-bg:#3b82f626;--feature-card-bg:#334155;--feature-card-border:#475569;--feature-card-hover-bg:#3b82f633;--feature-card-hover-border:#60a5fa}[data-theme=dark] ::-webkit-scrollbar-track{background:#0f172a80}[data-theme=dark] ::-webkit-scrollbar-thumb{background:#64748b80}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#64748bb3}[data-theme=dark] .learn-content{border:1px solid var(--border-primary);background:#1e293bf2}[data-theme=dark] .learn-container{background:linear-gradient(135deg,#1e3a5f,#0f172a)}[data-theme=dark] .faq-section-wrapper{background:linear-gradient(#1e293b,#2d3a4f);border-top:1px solid #3b82f633}[data-theme=dark] .faq-section-wrapper:before{background:linear-gradient(#3b82f626,#0000)}[data-theme=dark] .learn-footer{background:linear-gradient(#0f172a,#030712);border-top:1px solid #3b82f64d}[data-theme=dark] .learn-footer:before{background:radial-gradient(#3b82f633,#0000 70%)}[data-theme=dark] .faq-section-title,[data-theme=dark] .topics-section-title,[data-theme=dark] .pdf-companion-title{color:var(--text-primary)}[data-theme=dark] .learn-title{background:0 0;-webkit-background-clip:unset;-webkit-text-fill-color:#fff;background-clip:unset;color:#fff}[data-theme=dark] .faq-card{border:1px solid var(--border-primary);background:#0f172acc}[data-theme=dark] .faq-card:hover{border-color:var(--accent-blue);background:#1e293be6}[data-theme=dark] .quick-topic-btn{color:#bfdbfe;background:#60a5fa26;border:1.5px solid #93c5fd80}[data-theme=dark] .quick-topic-btn:hover:not(:disabled){color:#fff;background:#60a5fa40;border-color:#93c5fd;box-shadow:0 4px 16px #3b82f666}[data-theme=dark] .conversation-item{color:#e2e8f0}[data-theme=dark] .conversation-item:hover{background:#33415580}[data-theme=dark] .conversation-item.active{border-left-color:var(--accent-blue);background:#3b82f633}[data-theme=dark] .conversation-icon,[data-theme=dark] .delete-conversation-btn{color:#94a3b8}[data-theme=dark] .delete-conversation-btn:hover{color:#ef4444}[data-theme=dark] .sidebar-footer-text{color:#94a3b8}[data-theme=dark] .sidebar-footer-text a{color:var(--accent-blue)}[data-theme=dark] .section-title{color:#60a5fa}[data-theme=dark] .message-text{color:#e2e8f0}[data-theme=dark] .message-text h2{font-weight:700;color:#fff!important;border-bottom-color:#60a5fa!important}[data-theme=dark] .message-text h3{color:#67e8f9;border-left-color:#22d3ee}[data-theme=dark] .message-text h4{color:#a5f3fc;border-left-color:#67e8f9}[data-theme=dark] .message-text strong{color:#67e8f9}[data-theme=dark] .message-text p>strong:first-child{color:#22d3ee}[data-theme=dark] .message-text ul,[data-theme=dark] .message-text ol{background:#0f172a80;border-color:#334155}[data-theme=dark] .message-text li,[data-theme=dark] .big-picture-topic-title{color:#e2e8f0}[data-theme=dark] .big-picture-subtopic-button{color:#e2e8f0;background-color:#33415599}[data-theme=dark] .big-picture-subtopic-button:hover{background-color:#3b82f64d}[data-theme=dark] .studio-title{color:#f1f5f9}[data-theme=dark] .studio-feature-card{color:#e2e8f0;background-color:#33415599}[data-theme=dark] .studio-feature-card:hover{background-color:#3b82f64d}[data-theme=dark] .studio-feature-card .feature-title{color:#cbd5e1}[data-theme=dark] .studio-subtitle,[data-theme=dark] .studio-text{color:#94a3b8}[data-theme=dark] .studio-items-list{background-color:#0f172a80;border-color:#334155}[data-theme=dark] .studio-item{background-color:#1e293b99;border-color:#334155}[data-theme=dark] .studio-item:hover{background-color:#33415599}[data-theme=dark] .studio-item-title{color:#e2e8f0}[data-theme=dark] .studio-item-subtitle{color:#94a3b8}[data-theme=dark] .interactive-list-container{background-color:#1e293b;border-color:#334155;box-shadow:0 4px 16px #0000004d}[data-theme=dark] .interactive-list-header{background:#1e3a5f;border-bottom-color:#334155}[data-theme=dark] .interactive-list-title{color:#e2e8f0}[data-theme=dark] .interactive-list-icon{color:#60a5fa}[data-theme=dark] .interactive-list-items{background:#0f172a}[data-theme=dark] .interactive-item-card{background-color:#1e293b;border-color:#334155}[data-theme=dark] .interactive-item-term,[data-theme=dark] .interactive-item-definition{color:#fff}[data-theme=dark] .interactive-item-card:hover{background-color:#3b82f626;border-color:#60a5fa}[data-theme=dark] .interactive-item-icon-wrapper{background-color:#3b82f633}[data-theme=dark] .interactive-item-title{color:#f1f5f9}[data-theme=dark] .interactive-item-description{color:#94a3b8}[data-theme=dark] .interactive-item-link{color:#60a5fa}[data-theme=dark] .suggested-question-btn{color:#e2e8f0;background-color:#1e293b;border-color:#334155}[data-theme=dark] .suggested-question-btn:hover{background-color:#3b82f633;border-color:#60a5fa}[data-theme=dark] .follow-up-questions{background:0 0}[data-theme=dark] .follow-up-btn{color:#e2e8f0;background-color:#1e293b;border:1px solid #475569}[data-theme=dark] .follow-up-btn:hover{border-color:#60a5fa;background-color:#3b82f626!important}[data-theme=dark] .suggestion-btn{color:#e2e8f0!important;background-color:#1e293b!important;border:1px solid #475569!important}[data-theme=dark] .suggestion-btn:hover{background-color:#3b82f626!important;border-color:#60a5fa!important}[data-theme=dark] .action-btn{color:#94a3b8;background-color:#1e293b;border:1px solid #475569}[data-theme=dark] .action-btn:hover{color:#60a5fa;background-color:#3b82f633;border-color:#60a5fa}body{background:var(--bg-primary);color:var(--text-primary);margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;transition:background-color .3s,color .3s;overflow-x:hidden}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.animate-float{animation:6s ease-in-out infinite float}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:#c8e6f04d}::-webkit-scrollbar-thumb{background:#6496b480;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:#5082a0b3}.shadow-3xl{box-shadow:0 35px 60px -15px #0000004d}@keyframes gradient-shift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.animate-gradient{background-size:200% 200%;animation:8s infinite gradient-shift}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.animate-shimmer{background:linear-gradient(90deg,#0000,#ffffff4d,#0000) 0 0/1000px 100%;animation:2s linear infinite shimmer}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px #22d3ee66}50%{box-shadow:0 0 40px #22d3eecc}}.animate-pulse-glow{animation:2s ease-in-out infinite pulse-glow}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}.custom-toast{position:relative;padding:14px 16px 12px;border-radius:10px;font-size:15px;font-weight:500;box-shadow:0 4px 12px #0000001a;min-width:250px;max-width:400px;overflow:visible}.custom-toast-content{display:flex;align-items:center;gap:12px;margin-bottom:8px}.custom-toast-icon{flex-shrink:0}.custom-toast-message{flex:1;line-height:1.4}.custom-toast-progress-track{position:absolute;bottom:0;left:2px;right:2px;height:4px;background:#0000001a;overflow:hidden;border-radius:0 0 6px 6px}.custom-toast-progress-bar{position:absolute;top:0;left:0;height:100%;width:100%;transform-origin:left}@keyframes toast-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.custom-toast-close{flex-shrink:0;pointer-events:auto!important;z-index:9999!important;position:relative}.custom-toast,.custom-toast *{pointer-events:auto!important}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .2s ease-out}.modal-content{background:#fff;border-radius:12px;padding:0;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;position:relative;animation:slideIn .2s ease-out}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem 1rem;border-bottom:1px solid #e5e7eb}.modal-title{font-size:1.25rem;font-weight:600;color:#1f2937;margin:0}.modal-close-button{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s ease}.modal-close-button:hover{background-color:#f3f4f6}.modal-close-button-absolute{position:absolute;top:16px;right:16px;background:#14b8a61a;border:none;font-size:20px;cursor:pointer;color:#6b7280;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:12px;transition:all .3s ease;line-height:1;padding:0;z-index:10}.modal-close-button-absolute:hover{background:#14b8a633;color:#14b8a6;transform:rotate(90deg)}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:640px){.modal-content{width:95%;margin:1rem}.modal-header{padding:1rem 1.5rem .75rem}}.auth-container{width:100%;font-family:Inter,sans-serif;box-sizing:border-box}.auth-tabs{display:flex;border-bottom:1px solid #d1d5db;position:relative;background:linear-gradient(135deg,#fff,#f0fdfa);border-radius:16px 16px 0 0;padding:0 2.5rem}.auth-tabs:after{content:"";position:absolute;bottom:-1px;left:0;width:50%;height:3px;background:linear-gradient(90deg,#14b8a6,#1abed5);transition:transform .3s ease;transform-origin:left;box-shadow:0 2px 8px #14b8a64d}.auth-tabs.register-active:after{transform:translate(100%)}.auth-tab{flex:1;padding:.9rem 0;background:none;border:none;cursor:pointer;font-size:1rem;font-weight:500;color:#6b7280;position:relative;transition:color .25s ease,background-color .25s ease;border-radius:6px 6px 0 0}.auth-tab.active{background:linear-gradient(135deg,#14b8a6,#1abed5);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;background-color:#fff;font-weight:600}.auth-tab:hover:not(:disabled){background-color:#14b8a60d;color:#14b8a6}.auth-tab:disabled{opacity:.5;cursor:not-allowed}.auth-content{position:relative;overflow:hidden;width:100%;max-width:100%;box-sizing:border-box;padding:1.5rem 2.5rem 2rem}.auth-form-container{transition:all .35s ease;transform-origin:center;width:100%;max-width:100%}.auth-form-container.transitioning{opacity:0;transform:translate(25px) scale(.98)}.auth-form{display:flex;flex-direction:column;animation:fadeInUp .4s ease;width:100%;max-width:100%}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.auth-container .form-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem;width:100%;max-width:100%;box-sizing:border-box}.auth-container .form-label{font-size:.925rem;font-weight:600;color:#374151!important;letter-spacing:-.01em}.auth-container .form-input{width:100%!important;padding:.9rem 1.1rem;border:1.5px solid #e5e7eb!important;border-radius:10px;font-size:.95rem;background-color:#fafafa!important;color:#1f2937!important;transition:all .25s ease;box-sizing:border-box}.auth-container .form-input::-moz-placeholder{color:#9ca3af!important}.auth-container .form-input::placeholder{color:#9ca3af!important}.auth-container .form-input:focus{outline:none;background-color:#fff!important;border-color:#14b8a6!important;box-shadow:0 0 0 4px #14b8a61f}.auth-container .form-input:hover:not(:focus){border-color:#cbd5e1!important;background-color:#fafafa!important}.auth-container .form-input.error{border-color:#dc2626;animation:shake .4s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.auth-container .form-error{color:#dc2626;font-size:.85rem}.auth-button{margin-top:.75rem;padding:.85rem;background:linear-gradient(135deg,#14b8a6,#1abed5);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;width:100%;max-width:100%;box-sizing:border-box;box-shadow:0 4px 16px #14b8a64d}.auth-button:hover{transform:translateY(-2px);box-shadow:0 6px 24px #14b8a666}.auth-button:active{transform:translateY(0)}.auth-button:disabled{background-color:#9ca3af;cursor:not-allowed;box-shadow:none}.auth-button:disabled:after{content:"";position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border:2px solid transparent;border-top:2px solid #fff;border-radius:50%;animation:spin 1s linear infinite}.auth-divider{text-align:center;margin:1.25rem 0;color:#9ca3af;font-size:.875rem;position:relative}.auth-divider:before,.auth-divider:after{content:"";position:absolute;top:50%;width:35%;height:1px;background:#e5e7eb}.auth-divider:before{left:0}.auth-divider:after{right:0}.forgot-password{text-align:center;margin-top:.625rem}.forgot-password a{background:linear-gradient(135deg,#14b8a6,#1abed5);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-decoration:none;font-size:.875rem;font-weight:500;transition:all .2s}.forgot-password a:hover{text-decoration:underline}.close-button{position:absolute;top:.8rem;right:.8rem;background:#14b8a61a;border:none;font-size:1.4rem;cursor:pointer;color:#6b7280;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:12px;transition:all .3s ease}.close-button:hover{background:#14b8a633;color:#14b8a6;transform:rotate(90deg)}.password-input-wrapper{position:relative;width:100%}.auth-container .password-input-wrapper .form-input{padding-right:48px}.password-toggle-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:transparent;border:none;cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;color:#6b7280;transition:all .2s ease;border-radius:6px}.password-toggle-btn:hover{color:#14b8a6;background:#14b8a61a}.password-toggle-btn:focus{outline:none}.profile-icon-container{position:relative;display:inline-block}.profile-avatar{cursor:pointer;transition:all .2s ease}.profile-avatar:hover{transform:scale(1.05)}.avatar-circle{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:14px;border:1px solid #cbd5e1;transition:all .2s ease}.avatar-circle:hover{background:linear-gradient(135deg,#5a67d8,#6b46c1);border-color:#94a3b8;box-shadow:0 4px 12px #667eea40}.avatar-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:50%}.profile-dropdown{position:absolute;top:calc(100% + 28px);right:0;background:#fff;border-radius:12px;box-shadow:0 8px 30px #00000026,0 2px 8px #0000001a;border:1px solid #e2e8f0;min-width:180px;z-index:1000;transform-origin:top right;transition:all .2s ease;overflow:hidden}.profile-dropdown .user-name{color:#1e293b}.profile-dropdown .user-email{color:#64748b}.profile-dropdown .user-role{color:#667eea;background:#f1f5f9}.profile-dropdown .dropdown-item{color:#334155;font-weight:500}.profile-dropdown .dropdown-item:hover{background:linear-gradient(135deg,#eff6ff,#f0f9ff);color:#3b82f6}.profile-dropdown .dropdown-item svg{color:#64748b}.profile-dropdown .dropdown-item:hover svg{color:#3b82f6}.profile-dropdown .logout-item{color:#ef4444}.profile-dropdown .logout-item:hover{background:#fef2f2;color:#dc2626}.profile-dropdown .logout-item svg{color:#ef4444}.profile-dropdown .logout-item:hover svg{color:#dc2626}@keyframes dropdownSlideIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.dropdown-header{padding:16px;border-bottom:1px solid #f1f5f9}.user-info{text-align:left}.user-name{font-weight:600;font-size:16px;margin-bottom:4px}.user-email{font-size:14px;margin-bottom:4px}.user-role{font-size:12px;padding:2px 8px;border-radius:12px;display:inline-block;text-transform:capitalize}.dropdown-divider{height:1px;background:#f1f5f9;margin:0}.dropdown-menu{padding:8px 0}.dropdown-item{width:100%;padding:12px 16px;border:none;background:none;display:flex;align-items:center;gap:12px;font-size:14px;cursor:pointer;transition:all .2s ease;text-align:left}.dropdown-item svg{transition:color .2s ease}@media(max-width:768px){.profile-dropdown{right:-8px;min-width:200px}.avatar-circle{width:36px;height:36px;font-size:13px}}.login-required-overlay{position:fixed;inset:0;background-color:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px;animation:fadeIn .2s ease-out}.login-required-modal{background:linear-gradient(135deg,#fff,#f0fdfa);border-radius:24px;box-shadow:0 20px 60px #0000004d;max-width:480px;width:100%;padding:40px;position:relative;animation:slideUp .3s ease-out;border:1px solid rgba(20,184,166,.1)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.login-modal-close{position:absolute;top:16px;right:16px;background:#14b8a61a;border:none;border-radius:12px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#6b7280;transition:all .2s ease}.login-modal-close:hover{background:#14b8a633;color:#14b8a6;transform:rotate(90deg)}.login-modal-icon-wrapper{display:flex;justify-content:center;margin-bottom:24px}.login-modal-icon-bg{width:96px;height:96px;border-radius:50%;background:linear-gradient(135deg,#14b8a6,#1abed5);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 40px #14b8a666;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 10px 40px #14b8a666}50%{transform:scale(1.05);box-shadow:0 15px 50px #14b8a680}}.login-modal-icon{color:#fff;filter:drop-shadow(0 2px 8px rgba(0,0,0,.2))}.login-modal-content{text-align:center;margin-bottom:32px}.login-modal-title{font-size:28px;font-weight:700;color:#1f2937;margin-bottom:12px;background:linear-gradient(135deg,#14b8a6,#1abed5);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-modal-description{font-size:16px;color:#6b7280;line-height:1.6;margin:0}.login-modal-actions{display:flex;gap:12px;margin-top:32px}.login-modal-button{flex:1;padding:14px 24px;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;border:none;outline:none}.login-modal-button.cancel{background:#f3f4f6;color:#6b7280;border:2px solid #e5e7eb}.login-modal-button.cancel:hover{background:#e5e7eb;border-color:#d1d5db;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.login-modal-button.primary{background:linear-gradient(135deg,#14b8a6,#1abed5);color:#fff;box-shadow:0 4px 16px #14b8a64d}.login-modal-button.primary:hover{transform:translateY(-2px);box-shadow:0 6px 24px #14b8a666}.login-modal-button.primary:active{transform:translateY(0)}@media(max-width:640px){.login-required-modal{padding:32px 24px}.login-modal-title{font-size:24px}.login-modal-description{font-size:14px}.login-modal-actions{flex-direction:column}.login-modal-button{width:100%}}.home-container{min-height:100vh;position:relative;overflow-x:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center}.ocean-background{position:absolute;inset:0;background:linear-gradient(20deg,#22beee,#2dd4c0,#06b6d4,#22d3ee);background-size:100% 100%;animation:gradientShift 15s ease infinite;transition:background-image 1s ease-in-out}.water-texture{position:absolute;inset:0;opacity:.3;background-image:repeating-linear-gradient(90deg,transparent,transparent 3px,rgba(255,255,255,.05) 3px,rgba(255,255,255,.05) 6px),repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(255,255,255,.05) 3px,rgba(255,255,255,.05) 6px);animation:waterFlow 20s linear infinite}.caustics-container{position:absolute;inset:0;overflow:hidden}.caustic-light-1{position:absolute;top:0;left:25%;width:500px;height:500px;background:radial-gradient(circle,#ffffff4d,#fff0 70%);border-radius:9999px;filter:blur(60px);animation:floatAndPulse 8s ease-in-out infinite,driftHorizontal 12s ease-in-out infinite}.caustic-light-2{position:absolute;top:33.333%;right:25%;width:400px;height:400px;background:radial-gradient(circle,#ffffff40,#fff0 70%);border-radius:9999px;filter:blur(70px);animation:floatAndPulse 10s ease-in-out infinite,driftVertical 15s ease-in-out infinite;animation-delay:1s}.caustic-light-3{position:absolute;bottom:25%;left:33.333%;width:350px;height:350px;background:radial-gradient(circle,#ffffff47,#fff0 70%);border-radius:9999px;filter:blur(65px);animation:floatAndPulse 9s ease-in-out infinite,driftDiagonal 14s ease-in-out infinite;animation-delay:2s}.caustic-light-4{position:absolute;top:50%;left:50%;width:300px;height:300px;background:radial-gradient(circle,#fff3,#fff0 70%);border-radius:9999px;filter:blur(75px);animation:floatAndPulse 7s ease-in-out infinite,rotateAndDrift 16s ease-in-out infinite;animation-delay:.5s}.light-overlay{position:absolute;inset:0;background:#ffffff0d}header{position:relative;width:100%;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,20px + 10 * (100vw - 375px) / 455,30px)}.header-logo{display:flex;align-items:center;gap:clamp(6px,6px + 4 * (100vw - 375px) / 455,10px);white-space:nowrap;margin-left:clamp(18px,8px + 4 * (100vw - 375px) / 455,12px)}.header-logo-text{font-family:Google Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:clamp(18px,18px + 4 * (100vw - 375px) / 455,22px);font-weight:500;color:#1f1f1f;letter-spacing:-.01em;transition:color .2s ease}.header-logo:hover .header-logo-text{color:#000}.header-logo-tag{font-family:Google Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:clamp(9px,9px + 2 * (100vw - 375px) / 455,11px);font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:#5f6368;border:1px solid #dadce0;border-radius:9999px;padding:5px 12px;transition:all .2s ease;margin-top:5px}.header-logo:hover .header-logo-tag{background-color:#f8f9fa;border-color:#c6c6c6}.header-fade-in{transition:all .7s ease}.header-fade-in.visible{opacity:1;transform:translateY(0)}.header-fade-in.hidden{opacity:0;transform:translateY(-1rem)}.content-fade-in{transition:all 1s ease;transition-delay:.2s}.content-fade-in.visible{opacity:1;transform:translateY(0)}.content-fade-in.hidden{opacity:0;transform:translateY(2rem)}.hero-content{position:relative;display:flex;flex-direction:column;align-items:center;max-width:850px;width:100%;margin:0 auto;padding:0 clamp(20px,20px + 20 * (100vw - 375px) / 455,40px);box-sizing:border-box;z-index:10}.title-gradient{margin-top:0;color:#000;font-family:Google Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:clamp(32px,32px + 38 * (100vw - 375px) / 455,70px);font-style:normal;font-weight:500;line-height:.95;letter-spacing:-1px;padding-left:clamp(26px,26px + 20 * (100vw - 375px) / 455,46px);align-self:start;text-align:left;margin-bottom:clamp(4px,4px + 4 * (100vw - 375px) / 455,8px);will-change:color;opacity:0;transform:translateY(16px);transition:opacity 1s cubic-bezier(0,0,0,1),transform 1s cubic-bezier(0,0,0,1),all .7s cubic-bezier(.2,0,0,1) 1s}.title-gradient.visible{opacity:1;transform:translateY(0);transition-delay:0ms}.search-container{width:100%;transform:scale(1);transition:transform .3s ease}.search-container:hover{transform:scale(1.02)}.search-input-wrapper{padding:clamp(20px,20px + 16 * (100vw - 375px) / 455,36px);display:flex;width:100%;justify-content:space-between;align-items:center;background-color:#fff;box-sizing:border-box;border-radius:100px;gap:8px;margin-bottom:clamp(24px,24px + 12 * (100vw - 375px) / 455,36px);will-change:background-color;opacity:0;transform:translateY(16px);transition:opacity 1s cubic-bezier(0,0,0,1),transform 1s cubic-bezier(0,0,0,1),all .7s cubic-bezier(.2,0,0,1) 1s;box-shadow:0 4px 6px -1px #0000001a}.search-input-wrapper.visible{opacity:1;transform:translateY(0);transition-delay:.1s}.search-input-wrapper:hover{box-shadow:0 10px 15px -3px #0000001a}.search-input-wrapper:focus-within{box-shadow:0 10px 15px -3px #0000001a}.search-input{flex:1;font-size:clamp(1.25rem,2vw,1.5rem);outline:none;color:#111827;background:transparent;border:none;caret-color:#000}.search-input::-moz-placeholder{color:#6b7280}.search-input::placeholder{color:#6b7280}.search-input-container{flex:1;display:flex;align-items:center;min-height:1.5rem}.search-input-text{font-size:clamp(1.25rem,2vw,1.5rem);color:#111827;white-space:pre-wrap;word-break:break-word}.cursor-blink{font-size:1.5rem;color:#111827;animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-blink.typing{animation:blink 1s step-end infinite;margin-left:2px;display:inline-block}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes waterFlow{0%{transform:translate(0) translateY(0)}to{transform:translate(-20px) translateY(-20px)}}@keyframes floatAndPulse{0%,to{transform:scale(1) translateY(0);opacity:.8}50%{transform:scale(1.1) translateY(-20px);opacity:1}}@keyframes driftHorizontal{0%,to{transform:translate(0)}50%{transform:translate(50px)}}@keyframes driftVertical{0%,to{transform:translateY(0)}50%{transform:translateY(-40px)}}@keyframes driftDiagonal{0%,to{transform:translate(0)}50%{transform:translate(30px,-30px)}}@keyframes rotateAndDrift{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(20px,-20px) rotate(5deg)}50%{transform:translateY(-40px) rotate(0)}75%{transform:translate(-20px,-20px) rotate(-5deg)}}@keyframes gradient-animation{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.send-button{padding:.75rem;border-radius:9999px;transition:all .3s ease;flex-shrink:0;background:transparent;border:none;cursor:pointer}.send-button:hover{background:linear-gradient(to right,#06b6d4,#14b8a6);transform:scale(1.1)}.send-button:active{transform:scale(.95)}.send-button svg{width:1.75rem;height:1.75rem;color:#9ca3af;transition:color .3s ease}.send-button:hover svg{color:#fff}.send-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;cursor:default;pointer-events:none}.send-icon svg{width:24px;height:24px;color:#5f6368;opacity:.6}.description-container{width:100%;padding:0}.description-text{color:#000;font-family:Google Sans Text,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:clamp(14px,14px + 6 * (100vw - 375px) / 455,20px);font-style:normal;font-weight:400;line-height:1.6;margin-top:0;margin-bottom:clamp(24px,24px + 12 * (100vw - 375px) / 455,36px);margin-right:4px;text-align:center;will-change:color;opacity:0;transform:translateY(16px);transition:opacity 1s cubic-bezier(0,0,0,1),transform 1s cubic-bezier(0,0,0,1),all .7s cubic-bezier(.2,0,0,1) 1s}.description-text.visible{opacity:1;transform:translateY(0);transition-delay:.2s}.companion-badge{display:inline-flex;align-items:center;gap:.375rem;font-weight:700;padding:.25rem .5rem;border-radius:.5rem;transition:all .3s ease}.chat-icon{width:1.25rem;height:1.25rem;color:#0891b2;animation:bounce 2s ease infinite}.cta-button{background-color:#fff;color:#030321;border:none;border-radius:100px;cursor:pointer;padding:clamp(13px,13px + 19 * (100vw - 375px) / 455,32px) clamp(24px,24px + 28 * (100vw - 375px) / 455,52px);font-family:Google Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:clamp(12px,12px + 8 * (100vw - 375px) / 455,20px);font-style:normal;font-weight:400;line-height:normal;will-change:background-color,color;box-shadow:0 4px 6px -1px #0000001a;transition:all .7s cubic-bezier(.2,0,0,1) 1s,opacity 1s cubic-bezier(0,0,0,1),transform 1s cubic-bezier(0,0,0,1);opacity:0;transform:translateY(16px);position:relative;overflow:visible}.cta-button.visible{opacity:1;transform:translateY(0);transition-delay:.3s}.cta-button:hover{box-shadow:0 10px 15px -3px #0003;transform:translateY(-2px)}.cta-button:active{transform:translateY(0)}.cta-button-text{position:relative;z-index:10}.cta-button-overlay{display:none}.wave-pattern{display:block;width:100%;height:26px;position:relative;margin-top:auto;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='158.16' height='26' viewBox='0 0 158.16 26'><path fill='rgb(2,3,32)' d='M79.08,13C52.72,25,26.36,25,0,13v13s158.15,0,158.15,0V13c-26.36-12-52.72-12-79.08,0Z'/></svg>");background-repeat:repeat-x;background-position:50%}.footer-section{background-color:#020320;position:relative;width:100%;padding:0;margin:0}.footer-section>*{max-width:700px;width:100%;padding-left:clamp(20px,calc(20px + 20 * (100vw - 375px) / 455),40px);padding-right:clamp(20px,calc(20px + 20 * (100vw - 375px) / 455),40px);margin-left:auto;margin-right:auto;box-sizing:border-box}.footer-header{text-align:right;margin-bottom:clamp(20px,calc(20px + 10 * (100vw - 375px) / 455),30px);margin-top:clamp(70px,calc(70px + 20 * (100vw - 375px) / 455),90px)}.footer-title{margin:0 0 clamp(20px,calc(20px + 10 * (100vw - 375px) / 455),30px);align-self:end;border-radius:100px 6px 150px 100px;background:#545d7e;padding:clamp(12px,calc(12px + 8 * (100vw - 375px) / 455),20px) clamp(16px,calc(16px + 14 * (100vw - 375px) / 455),30px);display:inline-block;color:#fff;text-align:right;font-family:Google Sans Text,sans-serif;font-size:clamp(12px,calc(12px + 4 * (100vw - 375px) / 455),16px);font-style:normal;font-weight:500;line-height:normal;opacity:0;transform:translateY(20px);transition:all .8s cubic-bezier(.4,0,.2,1)}.footer-title.visible{opacity:1;transform:translateY(0)}.topic-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;width:100%;margin:0 auto clamp(20px,calc(20px + 10 * (100vw - 375px) / 455),30px);opacity:0;transform:translateY(30px);transition:all 1s cubic-bezier(.4,0,.2,1);transition-delay:.2s}.topic-cards-grid.visible{opacity:1;transform:translateY(0)}.topic-card:nth-child(1){grid-column:1;grid-row:1}.topic-card:nth-child(2){grid-column:1;grid-row:2}.topic-card:nth-child(3){grid-column:2;grid-row:1 / 3}.topic-card:nth-child(4){grid-column:3;grid-row:1}.topic-card:nth-child(5){grid-column:3;grid-row:2}.topic-card{background:#fff;border-radius:16px;padding:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;position:relative;overflow:hidden}.topic-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px #0000004d}.card-yellow{background:linear-gradient(135deg,#fef9c3,#fef08a)}.card-pink{background:linear-gradient(135deg,#fce7f3,#fbcfe8)}.card-cyan{background:linear-gradient(135deg,#cffafe,#a5f3fc)}.card-blue{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.topic-card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.topic-icon{width:20px;height:20px;opacity:.8}.topic-category{font-size:.875rem;font-weight:600;opacity:.9}.topic-question{font-size:1.125rem;font-weight:600;color:#111827;line-height:1.4;margin:0}.topic-image{margin-top:1rem;border-radius:12px;overflow:hidden;background:#00000005}.footer-description{text-align:left;margin-bottom:clamp(40px,calc(40px + 30 * (100vw - 375px) / 455),70px);opacity:0;transform:translateY(20px);transition:all .8s cubic-bezier(.4,0,.2,1);transition-delay:.4s}.footer-description.visible{opacity:1;transform:translateY(0)}.footer-description p{color:#fff;font-family:Google Sans,sans-serif;font-style:normal;font-weight:500;font-size:clamp(20px,calc(20px + 16 * (100vw - 375px) / 455),36px);line-height:clamp(24.2px,calc(24.2px + 26.2 * (100vw - 375px) / 455),50.4px);margin-top:0;max-width:100%}.help-section{margin-bottom:clamp(40px,calc(40px + 30 * (100vw - 375px) / 455),70px)}.help-header{text-align:right;margin-bottom:clamp(30px,calc(30px + 20 * (100vw - 375px) / 455),50px)}.help-title{margin:0 0 clamp(20px,calc(20px + 10 * (100vw - 375px) / 455),30px);align-self:end;border-radius:100px 6px 150px 100px;background:#545d7e;padding:clamp(12px,calc(12px + 8 * (100vw - 375px) / 455),20px) clamp(16px,calc(16px + 14 * (100vw - 375px) / 455),30px);display:inline-block;color:#fff;text-align:right;font-family:Google Sans Text,sans-serif;font-size:clamp(12px,calc(12px + 4 * (100vw - 375px) / 455),16px);font-style:normal;font-weight:500;line-height:normal;opacity:0;transform:translateY(20px);transition:all .8s cubic-bezier(.4,0,.2,1);transition-delay:.5s}.help-title.visible{opacity:1;transform:translateY(0)}.help-content{display:grid;grid-template-columns:1fr;gap:clamp(20px,calc(20px + 10 * (100vw - 375px) / 455),30px);opacity:0;transform:translateY(30px);transition:all 1s cubic-bezier(.4,0,.2,1);transition-delay:.6s}.help-content.visible{opacity:1;transform:translateY(0)}.help-item{display:flex;gap:clamp(16px,calc(16px + 8 * (100vw - 375px) / 455),24px);align-items:flex-start}.help-icon-wrapper{flex-shrink:0;width:clamp(40px,calc(40px + 8 * (100vw - 375px) / 455),48px);height:clamp(40px,calc(40px + 8 * (100vw - 375px) / 455),48px);background:#ffffff1a;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.help-item:hover .help-icon-wrapper{background:#fff3;transform:scale(1.1)}.help-icon{width:clamp(20px,calc(20px + 4 * (100vw - 375px) / 455),24px);height:clamp(20px,calc(20px + 4 * (100vw - 375px) / 455),24px);color:#fff}.help-text{flex:1}.help-item-title{color:#fff;font-family:Google Sans,sans-serif;font-size:clamp(16px,calc(16px + 4 * (100vw - 375px) / 455),20px);font-weight:600;line-height:1.4;margin:0 0 clamp(6px,calc(6px + 2 * (100vw - 375px) / 455),8px)}.help-item-description{color:#ffffffd9;font-family:Google Sans,sans-serif;font-size:clamp(14px,calc(14px + 2 * (100vw - 375px) / 455),16px);font-weight:400;line-height:1.6;margin:0}.web-section{margin-bottom:clamp(40px,calc(40px + 30 * (100vw - 375px) / 455),70px)}.web-header{text-align:right;margin-bottom:clamp(30px,calc(30px + 20 * (100vw - 375px) / 455),50px)}.web-title{margin:0 0 clamp(20px,calc(20px + 10 * (100vw - 375px) / 455),30px);align-self:end;border-radius:100px 6px 150px 100px;background:#545d7e;padding:clamp(12px,calc(12px + 8 * (100vw - 375px) / 455),20px) clamp(16px,calc(16px + 14 * (100vw - 375px) / 455),30px);display:inline-block;color:#fff;text-align:right;font-family:Google Sans Text,sans-serif;font-size:clamp(12px,calc(12px + 4 * (100vw - 375px) / 455),16px);font-style:normal;font-weight:500;line-height:normal;opacity:0;transform:translateY(20px);transition:all .8s cubic-bezier(.4,0,.2,1);transition-delay:.7s}.web-title.visible{opacity:1;transform:translateY(0)}.web-content{opacity:0;transform:translateY(30px);transition:all 1s cubic-bezier(.4,0,.2,1);transition-delay:.8s}.web-content.visible{opacity:1;transform:translateY(0)}.web-description{color:#ffffffe6;font-family:Google Sans,sans-serif;font-size:clamp(14px,calc(14px + 4 * (100vw - 375px) / 455),18px);font-weight:400;line-height:1.6;margin:0 0 clamp(24px,calc(24px + 16 * (100vw - 375px) / 455),40px)}.web-features{display:grid;grid-template-columns:1fr;gap:clamp(12px,calc(12px + 8 * (100vw - 375px) / 455),20px)}.web-feature-item{display:flex;align-items:center;gap:clamp(12px,calc(12px + 8 * (100vw - 375px) / 455),20px)}.web-feature-icon{flex-shrink:0;width:clamp(28px,calc(28px + 8 * (100vw - 375px) / 455),36px);height:clamp(28px,calc(28px + 8 * (100vw - 375px) / 455),36px);background:#22c55e26;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.web-feature-item:hover .web-feature-icon{background:#22c55e40;transform:scale(1.1)}.web-feature-icon svg{width:clamp(16px,calc(16px + 4 * (100vw - 375px) / 455),20px);height:clamp(16px,calc(16px + 4 * (100vw - 375px) / 455),20px);color:#22c55e}.web-feature-text{color:#ffffffd9;font-family:Google Sans,sans-serif;font-size:clamp(14px,calc(14px + 2 * (100vw - 375px) / 455),16px);font-weight:400;line-height:1.5}.final-cta-section{margin-bottom:clamp(40px,calc(40px + 30 * (100vw - 375px) / 455),70px);text-align:center}.final-cta-description{margin-bottom:clamp(24px,calc(24px + 16 * (100vw - 375px) / 455),40px);opacity:0;transform:translateY(20px);transition:all .8s cubic-bezier(.4,0,.2,1);transition-delay:.9s}.final-cta-description.visible{opacity:1;transform:translateY(0)}.final-cta-description p{color:#ffffffe6;font-family:Google Sans,sans-serif;font-size:clamp(16px,calc(16px + 8 * (100vw - 375px) / 455),24px);font-weight:500;line-height:1.5;max-width:600px;margin:0 auto}.final-cta-button-wrapper{opacity:0;transform:translateY(20px);transition:all .8s cubic-bezier(.4,0,.2,1);transition-delay:1s}.final-cta-button-wrapper.visible{opacity:1;transform:translateY(0)}.final-cta-button{display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#030321;font-family:Google Sans,sans-serif;font-size:clamp(14px,calc(14px + 4 * (100vw - 375px) / 455),18px);font-weight:600;padding:clamp(12px,calc(12px + 8 * (100vw - 375px) / 455),20px) clamp(24px,calc(24px + 16 * (100vw - 375px) / 455),40px);border-radius:100px;border:none;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #00000026}.final-cta-button:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 20px #00000040;background:#fffffff2}.final-cta-button:active{transform:translateY(0) scale(.98)}.final-cta-button-text{letter-spacing:.02em}.footer-links{position:relative;z-index:20;transition:all 1s ease;transition-delay:1.1s;margin-bottom:clamp(70px,calc(70px + 20 * (100vw - 375px) / 455),90px)}.footer-links.visible{opacity:1;transform:translateY(0)}.footer-links.hidden{opacity:0;transform:translateY(2rem)}.footer-links-container{display:flex;align-items:center;justify-content:center;gap:1.5rem;font-size:.875rem;color:#fff;font-weight:500}.footer-link{color:#fff;text-decoration:none;transition:all .3s ease}.footer-link:hover{color:#a5f3fc;text-decoration:underline;transform:scale(1.1)}.footer-separator{color:#fff9}@media(max-width:1023px){.topic-cards-grid{grid-template-columns:1fr;grid-template-rows:auto}.topic-card:nth-child(1),.topic-card:nth-child(2),.topic-card:nth-child(3),.topic-card:nth-child(4),.topic-card:nth-child(5){grid-column:1;grid-row:auto;height:auto;min-height:auto}}@media(min-width:768px){.footer-section>*{max-width:900px}.help-content{grid-template-columns:repeat(2,1fr)}.web-features{grid-template-columns:repeat(2,1fr);gap:clamp(16px,calc(16px + 12 * (100vw - 375px) / 455),28px)}}@media(min-width:1024px){.footer-section>*{max-width:1200px}.help-content{grid-template-columns:repeat(2,1fr);gap:clamp(30px,calc(30px + 20 * (100vw - 375px) / 455),50px)}.web-features{grid-template-columns:repeat(2,1fr);gap:clamp(20px,calc(20px + 16 * (100vw - 375px) / 455),36px)}}.icon-button{padding:.5rem;border-radius:.5rem;transition:all .3s ease;background:transparent;border:none;cursor:pointer}.icon-button:hover{background:#ffffff4d;transform:scale(1.1)}.icon-button:active{transform:scale(.95)}.header-right-side{display:flex;align-items:center;justify-content:flex-end;margin-right:clamp(8px,8px + 4 * (100vw - 375px) / 455,12px)}.header-icons-container{position:relative;height:48px;vertical-align:middle;white-space:nowrap;align-items:center;display:flex;-webkit-user-select:none;-moz-user-select:none;user-select:none;gap:.75rem;z-index:1000}.avatar-button{background:none;border:none;cursor:pointer;padding:0;border-radius:50%;transition:opacity .2s ease;width:48px;height:48px}.avatar-button:hover{box-shadow:0 10px 15px -3px #0000;transform:scale(1.1)}.avatar-button:active{transform:scale(.95)}.avatar-img{width:100%;height:100%;border-radius:9999px;-o-object-fit:cover;object-fit:cover}.experiment-badge{padding:.125rem .75rem;border:1px solid rgba(17,24,39,.5);border-radius:9999px;font-size:.563rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:#111827;background:#ffffff1a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:all .3s ease}.experiment-badge:hover{background:#fff3}.modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease-in-out}.modal-content{background:#fff;border-radius:24px;padding:2.5rem;max-width:540px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;animation:slideUp .3s ease-out}.modal-title{font-size:1.875rem;font-weight:600;color:#1f2937;margin-bottom:.5rem}.modal-subtitle{font-size:.938rem;color:#6b7280;margin-bottom:2rem}.modal-form{display:flex;flex-direction:column;gap:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-input{padding:.875rem 1rem;border:1px solid rgb(209,213,219);border-radius:12px;font-size:.938rem;outline:none;transition:all .2s ease}.form-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.disabled-input{background:#f9fafb;color:#9ca3af;cursor:not-allowed;display:flex;align-items:center}.form-section{display:flex;flex-direction:column;gap:.75rem}.form-label{font-size:.938rem;font-weight:500;color:#1f2937;margin:0}.learner-type-buttons{display:flex;gap:.75rem;flex-wrap:wrap}.learner-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border:2px solid rgb(229,231,235);border-radius:12px;background:#fff;font-size:.938rem;font-weight:500;color:#374151;cursor:pointer;transition:all .2s ease}.learner-button:hover{border-color:#d1d5db;background:#f9fafb}.learner-button.active{border-color:#3b82f6;background:#3b82f60d;color:#2563eb}.learner-icon{width:20px;height:20px}.checkbox-label{display:flex;gap:.75rem;align-items:flex-start;cursor:pointer;font-size:.875rem;color:#4b5563;line-height:1.5}.form-checkbox{width:18px;height:18px;margin-top:.125rem;cursor:pointer;accent-color:rgb(59,130,246);flex-shrink:0}.form-link{color:#2563eb;text-decoration:none}.form-link:hover{text-decoration:underline}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1rem}.modal-button{padding:.75rem 1.5rem;border-radius:12px;font-size:.938rem;font-weight:500;cursor:pointer;transition:all .2s ease}.close-button{border:1px solid rgb(229,231,235);background:#fff;color:#374151}.close-button:hover{background:#f9fafb}.submit-button{border:none;background:#3b82f6;color:#fff}.submit-button:hover:not(:disabled){background:#2563eb}.submit-button:disabled{background:#d1d5db;cursor:not-allowed}@media(max-width:640px){.modal-content{padding:1.5rem;border-radius:20px}.modal-title{font-size:1.5rem}.form-row{grid-template-columns:1fr}.learner-button{flex:1 1 100%}.modal-actions{flex-direction:column}.modal-button{width:100%}}.auth-buttons-container{display:flex;align-items:center}.login-button{font-family:Google Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.875rem;font-weight:500;padding:.5rem 1.25rem;border-radius:9999px;cursor:pointer;transition:all .2s ease;white-space:nowrap;background-color:#fff;color:#1f1f1f;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.register-button{font-family:Google Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.875rem;font-weight:500;padding:.5rem 1.25rem;border-radius:9999px;cursor:pointer;transition:all .2s ease;white-space:nowrap;background:none;color:#1f1f1f;border:none}.register-button:hover{color:#1f1f1f}.register-button:active{transform:translateY(0);box-shadow:0 1px 2px #0000001a}.profile-dropdown{position:absolute;top:calc(100% + 20px);right:0;background-color:#fff;border-radius:12px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;z-index:9999;width:160px;padding:.5rem 0;display:flex;flex-direction:column;border:1.5px solid rgba(0,0,0,.2);transform-origin:top right;transition:opacity .2s ease-out,transform .2s ease-out;opacity:0;transform:scale(.95) translateY(-10px);pointer-events:none}.dropdown-item{background:none;border:none;text-align:left;padding:.75rem 1rem;font-size:.938rem;color:#374151;cursor:pointer;transition:background-color .2s ease}.dropdown-item:hover{background-color:#f3f4f6}.profile-dropdown:before{content:"";position:fixed;inset:0;z-index:-1}@media(max-width:640px){.auth-buttons-container{gap:.75rem}.register-button{font-size:.813rem;padding:.375rem 1rem}.login-button{font-size:.813rem;padding:.375rem .125rem}}.learn-container{min-height:100vh;background:linear-gradient(135deg,#3b82f6,#0ea5e9);display:flex;flex-direction:column}.learn-header{display:flex;align-items:center;justify-content:space-between;background:var(--bg-surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-secondary);position:sticky;top:0;z-index:100}.learn-header-left{display:flex;align-items:center;gap:0rem}.menu-icon-btn{background:none;border:none;cursor:pointer;padding:.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:background .2s ease}.menu-icon-btn:hover{background:var(--bg-surface-secondary)}.learn-logo{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:transparent;border:none;border-radius:.75rem;cursor:pointer;transition:all .2s ease;position:relative}.learn-logo:hover{background:#3b82f61a;transform:translateY(-1px)}.learn-logo:active{transform:translateY(0);background:#3b82f626}.learn-logo .lucide{color:#3b82f6;transition:all .2s ease}.learn-logo:hover .lucide{color:#0ea5e9;transform:rotate(5deg) scale(1.05)}.learn-logo-text{font-size:1.375rem;font-weight:500;color:var(--text-primary);letter-spacing:-.01em;transition:color .2s ease}.learn-logo:hover .learn-logo-text{color:#3b82f6}.learn-header-right{display:flex;align-items:center;justify-content:flex-end;margin-right:2.5rem}.avatar-menu-container{position:relative;height:48px;vertical-align:middle;white-space:nowrap;align-items:center;display:flex;-webkit-user-select:none;-moz-user-select:none;user-select:none;gap:.75rem;z-index:1000}.avatar-btn{background:none;border:none;cursor:pointer;padding:0;border-radius:50%;transition:all .2s ease;width:48px;height:48px}.avatar-btn:hover{transform:scale(1.1)}.avatar-btn:active{transform:scale(.95)}.avatar-image{width:100%;height:100%;border-radius:9999px;-o-object-fit:cover;object-fit:cover}.avatar-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--bg-surface);border-radius:12px;box-shadow:var(--shadow-heavy);min-width:180px;overflow:hidden;z-index:1000;animation:dropdownFadeIn .2s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.profile-dropdown{position:absolute;top:calc(100% + 28px);right:0;background-color:var(--bg-surface);border-radius:12px;box-shadow:var(--shadow-heavy);z-index:9999;width:160px;padding:.5rem 0;display:flex;flex-direction:column;border:1.5px solid var(--border-primary);transform-origin:top right;transition:opacity .2s ease-out,transform .2s ease-out;opacity:0;transform:scale(.95) translateY(-10px);pointer-events:none}.profile-dropdown.open{opacity:1;transform:scale(1) translateY(0);pointer-events:auto}.profile-dropdown:before,.avatar-dropdown:before{content:"";position:fixed;inset:0;z-index:-1}.learn-main{flex:1;display:flex;align-items:center;justify-content:center;padding:3rem 1.5rem;position:relative}.learn-main:before{content:"";position:absolute;top:10%;left:5%;width:300px;height:300px;background:#ffffff1a;border-radius:50%;filter:blur(60px);pointer-events:none}.learn-main:after{content:"";position:absolute;bottom:10%;right:10%;width:250px;height:250px;background:#ffffff14;border-radius:50%;filter:blur(50px);pointer-events:none}.learn-content{max-width:700px;width:100%;margin:0 auto;background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:3rem;border-radius:32px;box-shadow:0 25px 80px #00000026;border:1px solid rgba(255,255,255,.5);position:relative;z-index:1}.learn-greeting{text-align:center;font-size:1.1rem;color:var(--text-secondary);margin-bottom:.5rem;font-weight:500}.learn-title{font-size:2.5rem;font-weight:700;background:linear-gradient(135deg,#3b82f6,#0ea5e9);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-align:center;margin-bottom:.5rem;letter-spacing:-.02em;line-height:1.2}.learn-subtitle{font-size:1.1rem;color:var(--text-secondary);text-align:center;margin-bottom:2rem;line-height:1.5}.learn-search-container{position:relative}.learn-search-box{background:var(--bg-surface);border:2px solid var(--border-primary);border-radius:50px;padding:.75rem 1.5rem;display:flex;align-items:center;gap:.75rem;box-shadow:var(--shadow-medium);transition:all .3s cubic-bezier(.4,0,.2,1);margin-bottom:0;cursor:text;position:relative;z-index:2}.learn-search-box:hover{border-color:#3b82f6;box-shadow:0 8px 30px #3b82f626;transform:translateY(-2px)}.learn-search-box:focus-within{border-color:#3b82f6;box-shadow:0 8px 40px #3b82f640;transform:translateY(-2px)}.learn-search-input{flex:1;border:none;outline:none;font-size:1.1rem;color:var(--text-primary);background:transparent}.learn-search-input::-moz-placeholder{color:var(--text-tertiary);font-weight:400}.learn-search-input::placeholder{color:var(--text-tertiary);font-weight:400}.search-btn{background:linear-gradient(135deg,#3b82f6,#0ea5e9);border:none;cursor:pointer;padding:.75rem;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;transition:all .3s ease;box-shadow:0 4px 15px #3b82f666}.search-btn:hover:not(:disabled){transform:scale(1.1);box-shadow:0 6px 25px #3b82f680}.search-btn:disabled{opacity:.5;cursor:not-allowed}.search-btn.has-content{animation:pulse-glow 1.5s ease-in-out infinite}@keyframes pulse-glow{0%,to{box-shadow:0 4px 15px #3b82f666}50%{box-shadow:0 4px 25px #3b82f699}}.quick-topics{margin-top:2rem;text-align:center}.quick-topics-label{font-size:.875rem;color:var(--text-tertiary);margin-bottom:1rem}.quick-topics-list{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}.quick-topic-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:linear-gradient(135deg,#3b82f61a,#0ea5e91a);border:1px solid rgba(59,130,246,.2);border-radius:50px;color:#3b82f6;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .3s ease}.quick-topic-btn:hover:not(:disabled){background:linear-gradient(135deg,#3b82f633,#0ea5e933);border-color:#3b82f6;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f633}.quick-topic-btn:disabled{opacity:.5;cursor:not-allowed}.pdf-companion-card{background:transparent;border:none;border-radius:0;padding:0;display:flex;gap:1.25rem;align-items:flex-start}.pdf-companion-icon{flex-shrink:0;width:80px;height:80px;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:16px;display:flex;align-items:center;justify-content:center;padding:.75rem;box-shadow:0 8px 25px #f59e0b33}.illustration{width:100%;height:100%}.pdf-companion-content{flex:1}.pdf-companion-title{font-size:1.125rem;font-weight:600;color:#0f172a;margin-bottom:.5rem}.pdf-companion-description{font-size:.875rem;color:var(--text-secondary);line-height:1.6}.faq-section-wrapper{background:linear-gradient(180deg,#f8fafc,#f1f5f9);padding:4rem 0;position:relative}.faq-section-wrapper:before{content:"";position:absolute;top:0;left:0;right:0;height:100px;background:linear-gradient(180deg,rgba(59,130,246,.05) 0%,transparent 100%);pointer-events:none}.learn-footer{background:linear-gradient(180deg,#1e293b,#0f172a);padding:4rem 1.5rem 5rem;position:relative;overflow:hidden}.learn-footer:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:600px;height:300px;background:radial-gradient(ellipse,rgba(59,130,246,.15) 0%,transparent 70%);pointer-events:none}.reading-nook-section{max-width:1200px;margin:0 auto;position:relative;z-index:1}.reading-nook-title{font-size:2.5rem;font-weight:600;color:#fff;text-align:center;margin-bottom:.75rem;letter-spacing:-.01em}.reading-nook-subtitle{font-size:1rem;color:#94a3b8;text-align:center;margin-bottom:3rem}.bookshelf-scene{perspective:1500px;perspective-origin:center}.bookshelf-books{display:flex;justify-content:center;align-items:flex-end;gap:.75rem;padding:0 2rem;margin-bottom:0;position:relative}.book-3d{width:140px;height:200px;position:relative;transform-style:preserve-3d;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);animation:bookAppear .6s ease-out backwards}.book-3d:nth-child(1){animation-delay:.1s}.book-3d:nth-child(2){animation-delay:.2s}.book-3d:nth-child(3){animation-delay:.4s}.book-3d:nth-child(4){animation-delay:.3s}.book-3d:nth-child(5){animation-delay:.5s}.book-3d:nth-child(6){animation-delay:.6s}@keyframes bookAppear{0%{opacity:0;transform:translateY(30px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.book-3d:hover{transform:translateY(-20px) scale(1.05) rotateY(-5deg);z-index:10}.book-cover{width:100%;height:100%;border-radius:4px;box-shadow:-3px 0 8px #00000026,3px 3px 15px #0000004d,inset -2px 0 4px #0000001a;transform:translateZ(15px);display:flex;align-items:center;justify-content:center;padding:1rem;position:relative;overflow:hidden}.book-cover:before{content:"";position:absolute;inset:0;background:linear-gradient(to right,rgba(255,255,255,.15) 0%,transparent 30%,transparent 70%,rgba(0,0,0,.15) 100%);pointer-events:none}.book-spine-3d{position:absolute;left:0;top:0;width:30px;height:100%;transform-origin:left;transform:rotateY(-90deg);opacity:.8;border-radius:2px 0 0 2px}.book-cover-content{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.5rem;z-index:1}.book-small-text{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;opacity:.9}.book-main-title{font-size:1rem;font-weight:800;line-height:1.2;text-transform:uppercase;letter-spacing:.02em}.book-author,.book-author-small{font-size:.75rem;font-weight:500;margin-top:.5rem;opacity:.9}.book-year{font-size:.9rem;font-weight:600;margin-top:auto}.book-green-dark .book-cover{background:linear-gradient(135deg,#2d5016,#3d6b1f);color:#fff}.book-green-dark .book-spine-3d{background:linear-gradient(to right,#1f3810,#2d5016)}.book-red .book-cover{background:linear-gradient(135deg,#dc2626,#ef4444);color:#fff}.book-red .book-spine-3d{background:linear-gradient(to right,#b91c1c,#dc2626)}.book-orange .book-cover{background:linear-gradient(135deg,#ea580c,#f97316);color:#fff}.book-orange .book-spine-3d{background:linear-gradient(to right,#c2410c,#ea580c)}.book-beige .book-cover{background:linear-gradient(135deg,#f5ddb8,#fae8ca);color:#4a3520}.book-beige .book-spine-3d{background:linear-gradient(to right,#d9c199,#f5ddb8)}.book-blue .book-cover{background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff}.book-blue .book-spine-3d{background:linear-gradient(to right,#1d4ed8,#2563eb)}.book-green .book-cover{background:linear-gradient(135deg,#16a34a,#22c55e);color:#fff}.book-green .book-spine-3d{background:linear-gradient(to right,#15803d,#16a34a)}.bookshelf-shelf{margin-top:-5px}.shelf-top{height:20px;background:linear-gradient(180deg,#5c4033,#8b4513);border-radius:4px 4px 0 0;box-shadow:0 -5px 20px #0000004d}.shelf-front{height:15px;background:linear-gradient(180deg,#8b4513,#654321);border-radius:0 0 4px 4px}.notification-modal-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9998;animation:fadeIn .2s ease}.notification-modal{position:fixed!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;background:var(--bg-primary, #ffffff);border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:800px;width:90%;max-height:90vh;overflow:hidden;z-index:9999;opacity:0;animation:modalFadeIn .25s ease-out forwards}@keyframes modalFadeIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.notification-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid var(--border-color, #e5e7eb);background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.notification-modal-title{display:flex;align-items:center;gap:12px}.notification-modal-icon{width:28px;height:28px;color:#10b981;background:#fff;border-radius:50%;padding:4px}.notification-modal-title h2{margin:0;font-size:20px;font-weight:600}.notification-modal-close{background:#fff3;border:none;width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;color:#fff}.notification-modal-close:hover{background:#ffffff4d;transform:scale(1.05)}.notification-modal-content{padding:24px;overflow-y:auto;max-height:calc(90vh - 140px)}.notification-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:16px}.loading-spinner-large{font-size:48px;animation:spin 1s linear infinite}.notification-loading p{color:var(--text-secondary, #6b7280);font-size:15px}.notification-section{margin-bottom:28px}.notification-section:last-child{margin-bottom:0}.notification-section-title{font-size:17px;font-weight:700;color:var(--text-primary, #1f2937);margin:0 0 16px;padding-bottom:10px;border-bottom:2px solid #e5e7eb;display:flex;align-items:center;gap:8px}.notification-info-grid{display:grid;gap:16px}.notification-info-item{display:flex;flex-direction:column;gap:4px}.notification-info-label{font-size:13px;font-weight:500;color:var(--text-secondary, #6b7280);display:flex;align-items:center;gap:6px}.notification-info-value{font-size:15px;font-weight:600;color:var(--text-primary, #1f2937)}.notification-resolution-content,.notification-reason{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-left:4px solid #0ea5e9;border-radius:12px;padding:16px;font-size:15px;line-height:1.6;color:var(--text-primary, #1f2937)}.notification-resolution-content p,.notification-reason p{margin:0;white-space:pre-wrap}.notification-message-context{display:flex;flex-direction:column;gap:16px}.context-message{padding:16px;border-radius:12px;transition:all .2s ease}.context-message.user-msg{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border:2px solid #3b82f6;border-left:5px solid #2563eb;box-shadow:0 2px 8px #3b82f626}.context-message.assistant-msg{background:linear-gradient(135deg,#f3e8ff,#e9d5ff);border:2px solid #8b5cf6;border-left:5px solid #7c3aed;box-shadow:0 2px 8px #8b5cf626}.context-message.flagged-msg{background:linear-gradient(135deg,#fee2e2,#fecaca);border:3px solid #ef4444;border-left:6px solid #dc2626;box-shadow:0 4px 16px #ef444440;animation:pulseHighlight 2s ease-in-out infinite}@keyframes pulseHighlight{0%,to{box-shadow:0 4px 16px #ef444440}50%{box-shadow:0 6px 24px #ef444466}}.context-sender{font-size:14px;font-weight:700;color:#1f2937;margin-bottom:10px;display:flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.5px}.context-message.user-msg .context-sender{color:#1e40af}.context-message.assistant-msg .context-sender{color:#6b21a8}.context-message.flagged-msg .context-sender{color:#991b1b}.flagged-badge{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;font-size:12px;padding:4px 10px;border-radius:6px;font-weight:700;box-shadow:0 2px 6px #ef44444d;animation:badgePulse 2s ease-in-out infinite}@keyframes badgePulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.context-content{font-size:15px;line-height:1.7;color:#1f2937;white-space:pre-wrap;word-wrap:break-word;font-weight:500}.context-message.flagged-msg .context-content{font-weight:600;color:#7f1d1d}.context-time{font-size:12px;color:#6b7280;margin-top:10px;padding-top:8px;border-top:1px solid rgba(0,0,0,.1);font-weight:500}.notification-modal-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:20px;border-top:1px solid var(--border-color, #e5e7eb);margin-top:24px}.notification-btn{padding:10px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none;outline:none}.notification-btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.notification-btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.notification-btn-secondary{background:var(--bg-secondary, #f3f4f6);color:var(--text-primary, #1f2937);border:1px solid var(--border-color, #e5e7eb)}.notification-btn-secondary:hover{background:var(--bg-tertiary, #e5e7eb);transform:translateY(-2px)}@media(max-width:640px){.notification-modal{width:95%;max-height:90vh}.notification-modal-header{padding:16px}.notification-modal-title h2{font-size:18px}.notification-modal-content{padding:16px;max-height:calc(90vh - 120px)}.notification-section-title{font-size:15px}.notification-resolution-content,.context-content{font-size:14px}.notification-modal-actions{flex-direction:column-reverse}.notification-btn{width:100%}}.notification-bell-container{position:relative;display:inline-block}.notification-bell{background:none;border:1px solid #94a3b8;cursor:pointer;position:relative;padding:.5rem;border-radius:50%;transition:all .2s ease;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.notification-bell:hover{background:var(--bg-surface-secondary);color:var(--accent-blue);border-color:var(--accent-blue)}.notification-badge{position:absolute;top:-4px!important;right:-4px!important;background:#dc2626!important;color:#fff!important;border-radius:10px;padding:2px 6px;font-size:11px;font-weight:700;min-width:18px;text-align:center;box-shadow:0 2px 8px #dc262680;border:2px solid white}.notification-overlay{position:fixed;inset:0;z-index:999}.notification-dropdown{position:absolute;top:calc(100% + 20px);right:0;background:#fff;border-radius:12px;border:1px solid rgba(0,0,0,.15);box-shadow:0 8px 30px #0000001f;width:380px;max-height:500px;z-index:1000;overflow:hidden;display:flex;flex-direction:column}.notification-header{padding:16px 20px;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center}.notification-header h3{margin:0;font-size:16px;font-weight:600;color:#333}.loading-spinner{font-size:16px;animation:spin 1s linear infinite}.notification-list{overflow-y:auto;max-height:420px}.empty-notifications{padding:40px 20px;text-align:center;color:#999}.empty-notifications p{margin:0;font-size:14px}.notification-item{padding:16px 20px;border-bottom:1px solid #f5f5f5;cursor:pointer;transition:background .2s;display:flex;align-items:flex-start;gap:12px;position:relative}.notification-item:hover{background:#f8f9fa}.notification-item.unread{background:#f0f7ff}.notification-item.unread:hover{background:#e6f2ff}.notification-icon{font-size:20px;flex-shrink:0;margin-top:2px}.notification-content{flex:1;min-width:0}.notification-message{margin:0 0 4px;font-size:14px;color:#333;line-height:1.4}.notification-meta{margin:0;font-size:12px;color:#666;display:flex;align-items:center;gap:4px}.resolver-name{font-weight:600;color:#4caf50}.notification-time{color:#999}.unread-dot{position:absolute;top:20px;right:20px;width:8px;height:8px;background:#2196f3;border-radius:50%;box-shadow:0 0 0 3px #2196f333}@media(max-width:768px){.notification-dropdown{width:320px;max-height:400px}.notification-list{max-height:320px}}@media(max-width:480px){.notification-dropdown{position:fixed;top:60px;left:10px;right:10px;width:auto}}.app-header{display:flex;align-items:center;justify-content:space-between;background:var(--bg-surface);border-bottom:1px solid var(--border-secondary);position:sticky;top:0;z-index:1001;padding:0 1.5rem;height:64px}.app-header-left{display:flex;align-items:center;gap:1rem}.app-logo{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:transparent;border:none;border-radius:.75rem;cursor:pointer;transition:all .2s ease}.app-logo:hover{background:#3b82f614;transform:translateY(-1px)}.app-logo-text{font-size:1.375rem;font-weight:600;background:linear-gradient(135deg,var(--accent-blue) 0%,#0ea5e9 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.01em;transition:all .2s ease}.app-logo:hover .app-logo-text{filter:brightness(1.1)}.header-logo-image{width:clamp(100px,10vw,120px);height:auto;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));transition:transform .2s ease;margin-left:.5rem;-o-object-fit:contain;object-fit:contain}.app-header-right{display:flex;align-items:center;gap:1rem}.history-toggle-btn{background:none;border:none;cursor:pointer;padding:.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all .2s ease}.history-toggle-btn:hover{background:var(--bg-surface-secondary);color:var(--text-primary)}.theme-toggle-btn{background:transparent;border:1px solid #94a3b8;cursor:pointer;padding:.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all .2s ease}.theme-toggle-btn:hover{background:var(--bg-surface-secondary);color:var(--accent-blue);border-color:var(--accent-blue)}.share-btn{background:transparent;border:1px solid var(--border-secondary);cursor:pointer;padding:.5rem 1rem;border-radius:20px;display:flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.875rem;font-weight:500;transition:all .2s ease}.share-btn:hover{background:var(--bg-surface-secondary);color:var(--accent-blue);border-color:var(--accent-blue)}.history-sidebar{position:fixed;top:0;left:0;width:300px;height:100vh;background:transparent;z-index:1000;display:flex;flex-direction:column;transition:transform .3s ease-in-out}.history-sidebar-overlay{position:fixed;inset:0;background:#0000004d;z-index:999;animation:fadeIn .2s ease}.sidebar-header{height:64px;display:flex;align-items:center;padding:0 16px;background:transparent;flex-shrink:0;pointer-events:none}.sidebar-main{background:var(--bg-surface);flex:1;display:flex;flex-direction:column;overflow:hidden;box-shadow:2px 0 12px #0000001a;pointer-events:auto;margin-top:-1px;border-right:1px solid var(--border-secondary)}.menu-icon-button{display:none}.header-logo-space{flex:1;height:100%}.sidebar-new-chat-button{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;margin:1.25rem 1rem 0;background:linear-gradient(135deg,#3b82f6,#0ea5e9);border:none;border-radius:8px;color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;flex-shrink:0;box-shadow:0 2px 8px #3b82f64d}.sidebar-new-chat-button:hover{box-shadow:0 4px 12px #3b82f666;transform:translateY(-1px)}.sidebar-new-chat-button svg{flex-shrink:0}.sidebar-content{flex:1;overflow-y:auto;padding:0}.sidebar-section{padding:1.25rem 0 0}.section-title{font-size:.75rem;font-weight:600;color:var(--text-secondary);margin:0 0 .5rem;padding:0 1rem;text-transform:uppercase;letter-spacing:.05em}.conversation-list{display:flex;flex-direction:column}.conversation-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:transparent;border:none;cursor:pointer;text-align:left;transition:background .2s ease;color:#334155;font-size:.875rem;font-weight:400;border-radius:0;width:100%;position:relative}.conversation-item:hover{background:#f1f5f9}.conversation-item.active{background:#eff6ff;border-left:3px solid #3b82f6}.conversation-item-content{display:flex;align-items:center;gap:.75rem;flex:1;overflow:hidden}.conversation-icon{flex-shrink:0;color:#64748b}.conversation-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.delete-conversation-btn{display:none;background:transparent;border:none;padding:.25rem;cursor:pointer;color:#9aa0a6;transition:color .2s ease;flex-shrink:0;border-radius:4px}.conversation-item:hover .delete-conversation-btn{display:flex;align-items:center;justify-content:center}.delete-conversation-btn:hover{color:#f28b82;background:#f28b821a}.view-all-button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;margin-top:.5rem;background:transparent;border:none;color:#3b82f6;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s ease}.view-all-button:hover{background:#f1f5f9}.view-all-button svg{flex-shrink:0}.sidebar-footer-info{border-top:1px solid #e2e8f0;padding:1rem;flex-shrink:0;background:#f8fafc}.info-text{font-size:.75rem;color:#64748b;margin:0;line-height:1.5}.delete-confirm-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .2s ease}.delete-confirm-modal{background:var(--bg-surface, #ffffff);border-radius:12px;padding:24px;width:90%;max-width:400px;box-shadow:0 20px 50px #0003;animation:scaleIn .2s ease}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.delete-confirm-title{margin:0 0 12px;font-size:18px;font-weight:600;color:var(--text-primary, #1e293b)}.delete-confirm-message{margin:0 0 24px;font-size:14px;color:var(--text-secondary, #64748b);line-height:1.5}.delete-confirm-actions{display:flex;justify-content:flex-end;gap:12px}.delete-confirm-cancel{padding:10px 20px;background:transparent;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.delete-confirm-cancel:hover{background:#f1f5f9;border-color:#cbd5e1}.delete-confirm-delete{padding:10px 20px;background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #ef44444d}.delete-confirm-delete:hover{box-shadow:0 4px 12px #ef444466;transform:translateY(-1px)}[data-theme=dark] .delete-confirm-modal{background:#1e293b;border:1px solid #334155}[data-theme=dark] .delete-confirm-title{color:#e2e8f0}[data-theme=dark] .delete-confirm-message{color:#94a3b8}[data-theme=dark] .delete-confirm-cancel{background:transparent;border-color:#475569;color:#94a3b8}[data-theme=dark] .delete-confirm-cancel:hover{background:#33415580;border-color:#64748b}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.mindmap-details-modern{width:400px;background:linear-gradient(135deg,#f8f9fa,#fff);border-left:none;overflow-y:hidden;box-shadow:-4px 0 24px #00000014;display:flex;flex-direction:column;animation:slideIn .3s ease-out}.mindmap-header-gradient{background:linear-gradient(135deg,#3b82f6,#1d4ed8);padding:24px 24px 20px;box-shadow:0 4px 16px #3b82f640}.mindmap-header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.mindmap-node-title{margin:0;font-size:1.4rem;color:#fff;font-weight:700;text-shadow:0 2px 8px rgba(0,0,0,.15);letter-spacing:-.02em}.mindmap-close-btn{background:#ffffff40;border:none;cursor:pointer;color:#fff;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative}.mindmap-close-btn:before{content:"×";font-size:1.8rem;font-weight:200;position:absolute;top:50%;left:50%;transform:translate(-50%,-60%);line-height:1}.mindmap-close-btn:hover{background:#ffffff59;transform:rotate(90deg)}.mindmap-tabs-container{display:flex;gap:8px;padding:4px;background:#ffffff26;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mindmap-tab-btn{flex:1;padding:10px 16px;border:none;border-radius:10px;cursor:pointer;font-weight:600;font-size:.9rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;gap:6px}.mindmap-tab-btn.inactive{background:transparent;color:#fffc}.mindmap-tab-btn.active-resources{background:#fffffff2;color:#3b82f6;box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.mindmap-tab-btn.active-ai{background:#fffffff2;color:#f5576c;box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.mindmap-content-wrapper{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:20px 24px}.mindmap-content-scroll{overflow-y:auto;flex:1}.mindmap-loading-container{display:flex;justify-content:center;padding:40px 20px}.mindmap-spinner{width:32px;height:32px;border:3px solid #f3f3f3;border-top:3px solid #667eea;border-radius:50%;animation:spin .8s linear infinite}.mindmap-description-box{margin-bottom:24px;padding:16px;background:linear-gradient(135deg,#f8f9fa,#fff);border-radius:12px;border:1px solid #e8eaed}.mindmap-description-text{line-height:1.7;color:#3c4043;font-size:.95rem;margin:0}.mindmap-resources-title{font-size:1.05rem;font-weight:700;margin-bottom:16px;color:#202124;display:flex;align-items:center;gap:8px}.mindmap-title-accent{width:4px;height:20px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:2px}.mindmap-resources-list{display:flex;flex-direction:column;gap:12px}.mindmap-resource-card{display:flex;align-items:center;padding:14px;border-radius:12px;background:#fff;text-decoration:none;color:#3c4043;border:1px solid #e8eaed;transition:all .2s;box-shadow:0 2px 4px #0000000a}.mindmap-resource-card:hover{box-shadow:0 6px 16px #667eea26;transform:translateY(-2px);border-color:#667eea}.mindmap-resource-icon{margin-right:12px;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,#e8f0fe,#f1f8ff);color:#1967d2;font-size:16px;font-weight:700;flex-shrink:0}.mindmap-resource-content{flex:1;overflow:hidden}.mindmap-resource-title{font-size:.95rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}.mindmap-resource-meta{font-size:.8rem;color:#5f6368;text-transform:capitalize;display:flex;align-items:center;gap:6px}.mindmap-meta-dot{width:4px;height:4px;border-radius:50%;background:#5f6368}.mindmap-empty-state{text-align:center;padding:40px 20px;color:#5f6368}.mindmap-empty-icon{font-size:3rem;margin-bottom:12px;opacity:.3}.mindmap-empty-text{font-style:italic;margin:0}[data-theme=dark] .mindmap-details-modern{background:linear-gradient(135deg,#1e293b,#0f172a)}[data-theme=dark] .mindmap-description-box{background:linear-gradient(135deg,#1e293b,#0f172a);border-color:#334155}[data-theme=dark] .mindmap-description-text{color:#e2e8f0}[data-theme=dark] .mindmap-resources-title{color:#f1f5f9}[data-theme=dark] .mindmap-resource-card{background:#1e293b;border-color:#334155;color:#e2e8f0}[data-theme=dark] .mindmap-resource-card:hover{border-color:#3b82f6;background:#3b82f626}[data-theme=dark] .mindmap-resource-icon{background:linear-gradient(135deg,#334155,#1e293b);color:#60a5fa}[data-theme=dark] .mindmap-resource-meta,[data-theme=dark] .mindmap-empty-state{color:#94a3b8}[data-theme=dark] .mindmap-spinner{border-color:#334155;border-top-color:#3b82f6}.quiz-results-container{padding:20px;max-width:100%;overflow-y:auto;max-height:calc(100vh - 200px)}.quiz-score-header{text-align:center;padding:30px 20px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;color:#fff;margin-bottom:30px;box-shadow:0 8px 24px #667eea4d}.score-circle{width:120px;height:120px;border-radius:50%;background:#fff3;border:4px solid rgba(255,255,255,.4);display:flex;align-items:center;justify-content:center;margin:0 auto 20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.score-number{font-size:42px;font-weight:700;color:#fff}.score-title{display:flex;align-items:center;justify-content:center;gap:10px;font-size:28px;font-weight:600;margin:0 0 10px;color:#fff}.score-icon{flex-shrink:0}.score-details{font-size:18px;opacity:.95;margin:0;font-weight:500}.quiz-results-list{display:flex;flex-direction:column;gap:24px}.quiz-result-item{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 12px #00000014;border:1px solid #e5e7eb;transition:all .3s ease}.quiz-result-item:hover{box-shadow:0 4px 20px #0000001f;transform:translateY(-2px)}.result-question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.question-number{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:6px 14px;border-radius:20px;font-size:14px;font-weight:600}.result-topic-tag{background:#f3f4f6;color:#6b7280;padding:4px 12px;border-radius:16px;font-size:12px;font-weight:500}.result-question{font-size:18px;font-weight:600;color:#111827;margin:0 0 20px;line-height:1.6}.result-options-list{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.result-option{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-radius:10px;border:2px solid #e5e7eb;background:#f9fafb;transition:all .2s ease}.result-option.option-correct{background:#ecfdf5;border-color:#10b981;border-width:3px}.result-option.option-incorrect{background:#fef2f2;border-color:#ef4444}.result-option.option-selected{border-width:2px}.option-label-wrapper{display:flex;align-items:flex-start;gap:10px;flex:1}.option-label{font-weight:700;color:#374151;min-width:25px;font-size:16px}.option-text{color:#111827;font-size:15px;line-height:1.6}.option-indicators{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.indicator{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:12px;font-size:13px;font-weight:600;white-space:nowrap}.indicator svg{flex-shrink:0}.indicator-selected{background:#dbeafe;color:#1e40af}.indicator-correct{background:#d1fae5;color:#065f46}.indicator-wrong{background:#fee2e2;color:#991b1b}.correct-answer-highlight{background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:12px 16px;border-radius:10px;margin:16px 0;display:flex;align-items:center;gap:10px;font-size:15px;box-shadow:0 4px 12px #10b9814d}.correct-answer-highlight strong{font-weight:600}.correct-letter{background:#ffffff4d;padding:4px 12px;border-radius:8px;font-weight:700;font-size:16px;border:2px solid rgba(255,255,255,.5)}.result-explanation{background:#f0f9ff;border-left:4px solid #3b82f6;padding:16px;border-radius:8px;margin-top:16px}.explanation-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.explanation-icon{font-size:20px}.explanation-header strong{color:#1e40af;font-size:15px}.explanation-text{color:#1e3a8a;font-size:14px;line-height:1.7;margin:0}.quiz-results-footer{margin-top:30px;padding-top:20px;border-top:2px solid #e5e7eb;display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.quiz-retry-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:14px 36px;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #667eea4d}.quiz-retry-btn svg{flex-shrink:0}.quiz-retry-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.quiz-retry-btn:active{transform:translateY(0)}.quiz-close-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#f3f4f6;color:#374151;border:2px solid #e5e7eb;padding:14px 36px;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.quiz-close-btn svg{flex-shrink:0}.quiz-close-btn:hover{background:#e5e7eb;border-color:#d1d5db;transform:translateY(-2px)}.quiz-close-btn:active{transform:translateY(0)}@media(max-width:768px){.quiz-results-container{padding:12px}.score-circle{width:100px;height:100px}.score-number{font-size:36px}.score-title{font-size:24px}.quiz-result-item{padding:16px}.result-option{flex-direction:column;align-items:flex-start;gap:10px}.option-indicators{width:100%;justify-content:flex-start}}[data-theme=dark] .quiz-result-item{background:#1e293b;border-color:#334155}[data-theme=dark] .result-topic-tag{background:#334155;color:#94a3b8}[data-theme=dark] .result-question{color:#f1f5f9}[data-theme=dark] .result-option{border-color:#334155;background:#0f172a}[data-theme=dark] .result-option.option-correct{background:#10b98126;border-color:#10b981}[data-theme=dark] .result-option.option-incorrect{background:#ef444426;border-color:#ef4444}[data-theme=dark] .option-label{color:#94a3b8}[data-theme=dark] .option-text{color:#e2e8f0}[data-theme=dark] .indicator-selected{background:#3b82f64d;color:#60a5fa}[data-theme=dark] .indicator-correct{background:#10b9814d;color:#34d399}[data-theme=dark] .indicator-wrong{background:#ef44444d;color:#f87171}[data-theme=dark] .result-explanation{background:#3b82f61a;border-left-color:#60a5fa}[data-theme=dark] .explanation-header strong{color:#60a5fa}[data-theme=dark] .explanation-text{color:#93c5fd}[data-theme=dark] .quiz-results-footer{border-top-color:#334155}.flag-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.flag-modal{background:#fff;border-radius:16px;width:90%;max-width:500px;max-height:90vh;overflow:hidden;box-shadow:0 20px 60px #0000004d;animation:flag-modal-enter .2s ease-out}@keyframes flag-modal-enter{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.flag-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb}.flag-modal-title{display:flex;align-items:center;gap:12px}.flag-modal-title svg{color:#dc2626}.flag-modal-title h2{margin:0;font-size:20px;font-weight:600;color:#111827}.flag-modal-close{background:none;border:none;cursor:pointer;padding:4px;color:#6b7280;transition:all .2s;border-radius:6px}.flag-modal-close:hover{background:#f3f4f6;color:#111827}.flag-modal-close:disabled{opacity:.5;cursor:not-allowed}.flag-modal-content{padding:24px;overflow-y:auto;max-height:calc(90vh - 80px)}.flag-modal-description{margin:0 0 20px;color:#6b7280;font-size:14px;line-height:1.5}.flag-reasons{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.flag-reason-option{display:flex;align-items:center;gap:12px;padding:14px 16px;border:2px solid #e5e7eb;border-radius:10px;cursor:pointer;transition:all .2s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.flag-reason-option:hover{border-color:#d1d5db;background:#f9fafb}.flag-reason-option input[type=radio]{width:20px;height:20px;cursor:pointer;accent-color:#dc2626}.flag-reason-option input[type=radio]:checked+span{font-weight:500;color:#111827}.flag-reason-option span{flex:1;color:#374151;font-size:14px}.flag-reason-option:has(input:checked){border-color:#dc2626;background:#fef2f2}.flag-custom-reason{width:100%;padding:12px 16px;border:2px solid #e5e7eb;border-radius:10px;font-size:14px;font-family:inherit;resize:vertical;transition:all .2s;margin-bottom:16px;color:#111827;background:#fff}.flag-custom-reason:focus{outline:none;border-color:#dc2626;background:#fef2f2;color:#111827}.flag-custom-reason:disabled{background:#f3f4f6;cursor:not-allowed}.flag-error{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:14px;margin-bottom:20px}.flag-modal-actions{display:flex;gap:12px;justify-content:flex-end}.flag-btn{padding:10px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.flag-btn-secondary{background:#f3f4f6;color:#374151}.flag-btn-secondary:hover{background:#e5e7eb}.flag-btn-primary{background:#dc2626;color:#fff}.flag-btn-primary:hover{background:#b91c1c}.flag-btn:disabled{opacity:.5;cursor:not-allowed}[data-theme=dark] .flag-modal{background:#1e293b}[data-theme=dark] .flag-modal-header{border-bottom-color:#334155}[data-theme=dark] .flag-modal-title h2{color:#f1f5f9}[data-theme=dark] .flag-modal-close{color:#94a3b8}[data-theme=dark] .flag-modal-close:hover{background:#334155;color:#f1f5f9}[data-theme=dark] .flag-modal-description{color:#94a3b8}[data-theme=dark] .flag-reason-option{border-color:#334155;background:#0f172a}[data-theme=dark] .flag-reason-option:hover{border-color:#475569;background:#1e293b}[data-theme=dark] .flag-reason-option span{color:#f1f5f9!important}[data-theme=dark] .flag-reason-option:has(input:checked){border-color:#dc2626;background:#dc262626}[data-theme=dark] .flag-reason-option:has(input:checked) span{color:#fff!important}[data-theme=dark] .flag-custom-reason{background:#0f172a;border-color:#334155;color:#f1f5f9}[data-theme=dark] .flag-custom-reason:focus{background:#dc26261a;color:#f1f5f9}[data-theme=dark] .flag-btn-secondary{background:#334155;color:#e2e8f0}[data-theme=dark] .flag-btn-secondary:hover{background:#475569}.confirm-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease-out}.confirm-modal-content{background:var(--bg-surface, #ffffff);border-radius:12px;padding:32px;max-width:450px;width:90%;position:relative;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;animation:slideUp .3s ease-out}.confirm-modal-close{position:absolute;top:16px;right:16px;background:none;border:none;cursor:pointer;color:var(--text-secondary, #6b7280);padding:4px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.confirm-modal-close:hover{background-color:#f3f4f6;color:var(--text-primary, #374151)}.confirm-modal-icon{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 24px}.confirm-modal-icon-danger{background-color:#fee2e2;color:#dc2626}.confirm-modal-icon-warning{background-color:#fef3c7;color:#f59e0b}.confirm-modal-icon-info{background-color:#dbeafe;color:#3b82f6}.confirm-modal-title{font-size:24px;font-weight:600;color:var(--text-primary, #111827);margin:0 0 12px;text-align:center}.confirm-modal-message{font-size:16px;color:var(--text-secondary, #6b7280);margin:0 0 32px;text-align:center;line-height:1.5}.confirm-modal-actions{display:flex;gap:12px;justify-content:center}.confirm-modal-btn{padding:12px 24px;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s;border:none;min-width:120px}.confirm-modal-btn-cancel{background-color:#f3f4f6;color:#374151}.confirm-modal-btn-cancel:hover{background-color:#e5e7eb}.confirm-modal-btn-confirm{color:#fff}.confirm-modal-btn-danger{background-color:#dc2626}.confirm-modal-btn-danger:hover{background-color:#b91c1c}.confirm-modal-btn-warning{background-color:#f59e0b}.confirm-modal-btn-warning:hover{background-color:#d97706}.confirm-modal-btn-info{background-color:#3b82f6}.confirm-modal-btn-info:hover{background-color:#2563eb}[data-theme=dark] .confirm-modal-content{background:#1e293b;border:1px solid #334155;box-shadow:0 20px 40px #0006}[data-theme=dark] .confirm-modal-title{color:#f1f5f9}[data-theme=dark] .confirm-modal-message,[data-theme=dark] .confirm-modal-close{color:#94a3b8}[data-theme=dark] .confirm-modal-close:hover,[data-theme=dark] .confirm-modal-btn-cancel{background-color:#334155;color:#e2e8f0}[data-theme=dark] .confirm-modal-btn-cancel:hover{background-color:#475569}[data-theme=dark] .confirm-modal-icon-danger{background-color:#dc262633}[data-theme=dark] .confirm-modal-icon-warning{background-color:#f59e0b33}[data-theme=dark] .confirm-modal-icon-info{background-color:#3b82f633}@media(max-width:480px){.confirm-modal-content{padding:24px}.confirm-modal-title{font-size:20px}.confirm-modal-message{font-size:14px}.confirm-modal-btn{min-width:100px;padding:10px 16px;font-size:14px}}.quiz-history-container{padding:28px;min-width:600px;max-width:650px;max-height:80vh;overflow-y:auto;background:#fff;border-radius:20px;box-shadow:0 25px 80px #0003;scrollbar-width:none;-ms-overflow-style:none}.quiz-history-container::-webkit-scrollbar{display:none}.history-summary{display:flex;justify-content:center;gap:50px;padding:28px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;margin-bottom:28px;color:#fff}.summary-stat{display:flex;align-items:center;gap:14px}.stat-icon{width:70px!important;height:70px!important;padding:10px;opacity:.9}.stat-icon.trophy{color:gold}.stat-info{display:flex;flex-direction:column}.stat-value{font-size:32px;font-weight:700;line-height:1.2}.quiz-stat-label{font-size:14px;font-weight:600;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.3)}.history-list{margin-bottom:24px}.history-list-title{font-size:17px;font-weight:600;color:#374151;margin-bottom:18px;padding-bottom:10px;border-bottom:2px solid #e5e7eb}.no-attempts{text-align:center;padding:48px 24px;background:#f9fafb;border-radius:14px}.no-attempts p{color:#6b7280;margin-bottom:18px;font-size:15px}.attempts-grid{display:flex;flex-direction:column;gap:14px}.attempt-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:14px;padding:18px;transition:all .2s ease;box-shadow:0 2px 6px #0000000a}.attempt-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000001a}.attempt-card.passed{border-left:4px solid #10b981}.attempt-card.failed{border-left:4px solid #ef4444}.attempt-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.attempt-number{font-size:15px;font-weight:600;color:#374151}.attempt-status{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:500;padding:5px 10px;border-radius:12px}.attempt-status.pass{background:#d1fae5;color:#059669}.attempt-status.fail{background:#fee2e2;color:#dc2626}.attempt-score{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}.score-value{font-size:36px;font-weight:700;color:#111827}.score-detail{font-size:15px;color:#6b7280}.attempt-meta{display:flex;flex-direction:column;gap:8px;margin-bottom:14px;padding-top:12px;border-top:1px dashed #e5e7eb}.meta-item{display:flex;flex-direction:row;align-items:center;justify-content:space-between;width:100%;font-size:13px;padding:10px 14px;background:#f3f4f6;border-radius:10px;transition:all .2s ease}.meta-left{display:inline-flex;flex-direction:row;align-items:center;gap:8px}.meta-item svg{flex-shrink:0;opacity:.8}.meta-label{color:#6b7280;font-weight:500}.meta-value{font-weight:600;color:#374151}.meta-item.time{background:linear-gradient(135deg,#ede9fe,#f5f3ff);border:1px solid #ddd6fe}.meta-item.time svg{color:#7c3aed}.meta-item.time .meta-label{color:#7c3aed}.meta-item.time .meta-value{color:#5b21b6}.meta-item.date{background:linear-gradient(135deg,#e0f2fe,#f0f9ff);border:1px solid #bae6fd}.meta-item.date svg{color:#0284c7}.meta-item.date .meta-label{color:#0284c7}.meta-item.date .meta-value{color:#0369a1}.view-attempt-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;font-size:14px;font-weight:500;color:#4f46e5;cursor:pointer;transition:all .2s ease}.view-attempt-btn:hover{background:#e0e7ff;border-color:#c7d2fe;color:#4338ca}.history-footer{display:flex;justify-content:center;gap:14px;padding-top:20px;border-top:1px solid #e5e7eb}.retake-btn{display:flex;align-items:center;gap:8px;padding:14px 28px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease}.retake-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.retake-btn.primary{padding:16px 36px;font-size:16px}.close-btn{padding:14px 28px;background:#f3f4f6;color:#374151;border:none;border-radius:12px;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s ease}.close-btn:hover{background:#e5e7eb}[data-theme=dark] .quiz-history-container{background:#1e1e2e;box-shadow:0 25px 80px #00000080}[data-theme=dark] .history-list-title{color:#e5e7eb;border-bottom-color:#374151}[data-theme=dark] .stat-value,[data-theme=dark] .quiz-stat-label{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.4)}[data-theme=light] .quiz-stat-label{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.3)}[data-theme=dark] .no-attempts{background:#2a2a3e}[data-theme=dark] .no-attempts p{color:#9ca3af}[data-theme=dark] .attempt-card{background:#2a2a3e;border-color:#374151}[data-theme=dark] .attempt-card.passed{border-left:4px solid #10b981}[data-theme=dark] .attempt-card.failed{border-left:4px solid #ef4444}[data-theme=dark] .attempt-card:hover{box-shadow:0 6px 16px #0000004d}[data-theme=dark] .attempt-number{color:#f3f4f6}[data-theme=dark] .score-value{color:#fff}[data-theme=dark] .score-detail{color:#9ca3af}[data-theme=dark] .meta-item{background:#374151;border-color:#4b5563}[data-theme=dark] .meta-label{color:#9ca3af}[data-theme=dark] .meta-value{color:#e5e7eb}[data-theme=dark] .meta-item.time{background:#8b5cf626;border-color:#8b5cf64d}[data-theme=dark] .meta-item.time svg,[data-theme=dark] .meta-item.time .meta-label{color:#a78bfa}[data-theme=dark] .meta-item.time .meta-value{color:#c4b5fd}[data-theme=dark] .meta-item.date{background:#0ea5e926;border-color:#0ea5e94d}[data-theme=dark] .meta-item.date svg,[data-theme=dark] .meta-item.date .meta-label{color:#38bdf8}[data-theme=dark] .meta-item.date .meta-value{color:#7dd3fc}[data-theme=dark] .attempt-meta{border-top-color:#374151}[data-theme=dark] .view-attempt-btn{background:#374151;border-color:#4b5563;color:#a5b4fc}[data-theme=dark] .view-attempt-btn:hover{background:#4338ca;border-color:#4338ca;color:#fff}[data-theme=dark] .history-footer{border-top-color:#374151}[data-theme=dark] .close-btn{background:#374151;color:#e5e7eb}[data-theme=dark] .close-btn:hover{background:#4b5563}@media(prefers-color-scheme:dark){.quiz-history-container:not([data-theme=light] *){background:#1e1e2e}}.message-images{margin-top:16px;padding:16px;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-radius:12px;border:1px solid #cbd5e1;box-shadow:0 4px 16px #0000000f}.message-images-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;color:#1e293b}.message-images-label{font-size:14px;font-weight:600}.message-images-count{font-size:13px;color:#64748b}.image-modal{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;animation:fadeIn .2s ease}.image-modal-content{position:relative;max-width:90vw;max-height:90vh;animation:zoomIn .3s ease}@keyframes zoomIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.image-modal-img{max-width:100%;max-height:90vh;-o-object-fit:contain;object-fit:contain;border-radius:8px;box-shadow:0 8px 32px #00000080}.image-modal-close{position:absolute;top:-40px;right:0;width:36px;height:36px;background:#ffffffe6;border:none;border-radius:50%;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:#212529}.image-modal-close:hover{background:#fff;transform:scale(1.1)}.full-page-slides{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-bottom:8px}.full-slide-item{display:flex;flex-direction:column;gap:8px}.full-slide-wrapper{position:relative;width:100%;border-radius:8px;overflow:hidden;cursor:pointer;background:#fff;box-shadow:0 2px 12px #00000014;transition:all .3s ease;border:1px solid #e2e8f0}.full-slide-wrapper:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f;border-color:#3b82f6}.full-slide-image{width:100%;height:auto;display:block}.full-slide-overlay{position:absolute;inset:0;background:#00000080;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;color:#fff;gap:8px}.full-slide-wrapper:hover .full-slide-overlay{opacity:1}.full-slide-label{font-size:13px;font-weight:500}.full-slide-badge{position:absolute;top:8px;left:8px;background:#4285f4e6;color:#fff;padding:3px 10px;border-radius:16px;font-size:11px;font-weight:600;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2}.message-image-source{font-size:12px;color:#64748b;text-align:center;margin:0;font-style:italic}.slides-expand-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 16px;margin-top:12px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#3b82f6;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.slides-expand-button:hover{background:#3b82f60d;border-color:#3b82f6}.slides-expand-button:active{transform:scale(.98)}[data-theme=dark] .message-images{background:linear-gradient(135deg,#1e293b,#0f172a);border-color:#334155;box-shadow:0 4px 16px #0000004d}[data-theme=dark] .message-images-header{color:#e4e6ea}[data-theme=dark] .message-images-count{color:#8b949e}[data-theme=dark] .full-slide-wrapper{background:#0003;border-color:#334155;box-shadow:0 2px 12px #0000004d}[data-theme=dark] .full-slide-wrapper:hover{box-shadow:0 4px 16px #0006;border-color:#3b82f6}[data-theme=dark] .message-image-source{color:#8b949e}[data-theme=dark] .slides-expand-button{background:#0003;border-color:#334155;color:#60a5fa}[data-theme=dark] .slides-expand-button:hover{background:#3b82f61a;border-color:#3b82f6}@media(max-width:768px){.full-page-slides{grid-template-columns:1fr}}.youtube-modal-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;animation:fadeIn .2s ease}.youtube-modal-content{background:#1a1a1a;border-radius:16px;max-width:1200px;width:100%;max-height:90vh;overflow:hidden;box-shadow:0 20px 60px #00000080;animation:slideUp .3s cubic-bezier(.4,0,.2,1);position:relative}.youtube-modal-close{position:absolute;top:16px;right:16px;background:#ffffff1a;border:none;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;transition:all .2s ease;z-index:10}.youtube-modal-close:hover{background:#fff3;transform:rotate(90deg)}.youtube-modal-header{padding:24px 24px 16px;background:linear-gradient(135deg,#1a1a1a,#2a2a2a)}.youtube-modal-title{font-size:20px;font-weight:600;color:#fff;margin:0 40px 8px 0;line-height:1.4}.youtube-modal-channel{font-size:14px;color:#aaa;margin:0}.youtube-modal-video{position:relative;width:100%;padding-bottom:56.25%;background:#000}.youtube-modal-iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.youtube-modal-error{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:#fff}.youtube-modal-error p{font-size:16px;margin-bottom:16px}.youtube-modal-error a{color:red;text-decoration:none;padding:8px 16px;border:1px solid #ff0000;border-radius:4px;display:inline-block;transition:all .2s ease}.youtube-modal-error a:hover{background:red;color:#fff}@media(max-width:768px){.youtube-modal-overlay{padding:0}.youtube-modal-content{max-width:100%;max-height:100vh;border-radius:0}.youtube-modal-header{padding:60px 20px 16px}.youtube-modal-title{font-size:18px}}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{background:#1e1e1e;color:#dcdcdc}.hljs-keyword,.hljs-literal,.hljs-symbol,.hljs-name{color:#569cd6}.hljs-link{color:#569cd6;text-decoration:underline}.hljs-built_in,.hljs-type{color:#4ec9b0}.hljs-number,.hljs-class{color:#b8d7a3}.hljs-string,.hljs-meta .hljs-string{color:#d69d85}.hljs-regexp,.hljs-template-tag{color:#9a5334}.hljs-subst,.hljs-function,.hljs-title,.hljs-params,.hljs-formula{color:#dcdcdc}.hljs-comment,.hljs-quote{color:#57a64a;font-style:italic}.hljs-doctag{color:#608b4e}.hljs-meta,.hljs-meta .hljs-keyword,.hljs-tag{color:#9b9b9b}.hljs-variable,.hljs-template-variable{color:#bd63c5}.hljs-attr,.hljs-attribute{color:#9cdcfe}.hljs-section{color:gold}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-bullet,.hljs-selector-tag,.hljs-selector-id,.hljs-selector-class,.hljs-selector-attr,.hljs-selector-pseudo{color:#d7ba7d}.hljs-addition{background-color:#144212;display:inline-block;width:100%}.hljs-deletion{background-color:#600;display:inline-block;width:100%}.slide-viewer{background:#ffffff0d;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-radius:16px;border:1px solid rgba(255,255,255,.1);overflow:hidden;width:100%;max-width:400px;margin:0 auto}.slide-viewer-header{display:flex;justify-content:center;align-items:center;padding:10px 16px;background:#667eea33;border-bottom:1px solid rgba(255,255,255,.1)}.slide-counter{display:flex;align-items:center;gap:8px;color:#fff;font-size:.9rem;font-weight:500}.slide-counter svg{color:#667eea}.slide-total{color:#ffffff80;font-weight:400}.slide-viewer-content{position:relative;width:100%;aspect-ratio:16 / 9;background:#0000004d;display:flex;align-items:center;justify-content:center}.slide-image{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.slide-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0000004d}.slide-loading-spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.2);border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite}.slide-error{display:flex;flex-direction:column;align-items:center;gap:8px;color:#fff6}.slide-error svg{opacity:.5}.slide-viewer-nav{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#0003}.slide-nav-btn{background:#ffffff1a;border:none;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;color:#fff}.slide-nav-btn:hover{background:#fff3;transform:scale(1.1)}.slide-nav-btn:active{transform:scale(.95)}.slide-dots{display:flex;gap:6px}.slide-dot{width:8px;height:8px;border-radius:50%;background:#ffffff4d;border:none;cursor:pointer;transition:all .2s ease}.slide-dot.active{background:#667eea;transform:scale(1.2)}.slide-dot:hover:not(.active){background:#ffffff80}.voice-mode-overlay{position:fixed;inset:0;background:linear-gradient(135deg,#0a0a1a,#1a1a3e,#0f2847);z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;animation:fadeIn .3s ease-out}.voice-mode-header{position:absolute;top:20px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px}.voice-mode-title{font-size:1.5rem;font-weight:600;color:#fff;margin:0;text-shadow:0 2px 10px rgba(102,126,234,.5)}.voice-mode-badge{background:linear-gradient(135deg,#667eea,#764ba2);padding:6px 14px;border-radius:20px;font-size:.75rem;color:#fff;font-weight:600;animation:glow 2s ease-in-out infinite}@keyframes glow{0%,to{box-shadow:0 0 10px #667eea80}50%{box-shadow:0 0 20px #667eeacc}}.voice-mode-close-btn{position:absolute;top:20px;right:20px;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;color:#fff}.voice-mode-close-btn:hover{background:#fff3;transform:scale(1.1);border-color:#fff6}.voice-mode-canvas-container{width:100%;height:55vh;max-height:450px;position:relative}.voice-mode-controls{display:flex;flex-direction:column;align-items:center;gap:16px;padding:20px;max-width:700px;width:100%}.voice-mode-status{font-size:1.1rem;color:#ffffffe6;font-weight:500;text-align:center;min-height:28px;display:flex;align-items:center;gap:8px}.voice-mode-status.listening{color:#4ade80}.voice-mode-status.speaking{color:#60a5fa}.voice-mode-status.processing{color:#fbbf24}.voice-waveform{display:flex;align-items:center;justify-content:center;gap:3px;height:40px;margin:8px 0}.voice-waveform-bar{width:4px;background:linear-gradient(180deg,#667eea,#764ba2);border-radius:2px;animation:wave .5s ease-in-out infinite}.voice-waveform-bar:nth-child(1){animation-delay:0s;height:15px}.voice-waveform-bar:nth-child(2){animation-delay:.1s;height:25px}.voice-waveform-bar:nth-child(3){animation-delay:.2s;height:35px}.voice-waveform-bar:nth-child(4){animation-delay:.3s;height:25px}.voice-waveform-bar:nth-child(5){animation-delay:.4s;height:40px}.voice-waveform-bar:nth-child(6){animation-delay:.5s;height:30px}.voice-waveform-bar:nth-child(7){animation-delay:.3s;height:20px}.voice-waveform-bar:nth-child(8){animation-delay:.2s;height:35px}.voice-waveform-bar:nth-child(9){animation-delay:.1s;height:25px}.voice-waveform-bar:nth-child(10){animation-delay:0s;height:15px}@keyframes wave{0%,to{transform:scaleY(.5);opacity:.6}50%{transform:scaleY(1);opacity:1}}.voice-waveform.speaking .voice-waveform-bar{background:linear-gradient(180deg,#60a5fa,#3b82f6)}.voice-waveform.listening .voice-waveform-bar{background:linear-gradient(180deg,#4ade80,#22c55e)}.voice-mode-transcript{font-size:1rem;color:#ffffffd9;text-align:center;max-width:650px;min-height:60px;line-height:1.6;padding:16px 24px;background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;border:1px solid rgba(255,255,255,.1)}.voice-mode-transcript.speaking{border-color:#60a5fa4d;background:#60a5fa0d}.voice-mode-transcript.typewriter{overflow:hidden}.typewriter-cursor{display:inline-block;width:2px;height:1.1em;background:#60a5fa;margin-left:2px;animation:blink .8s infinite;vertical-align:text-bottom}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.voice-mode-mic-btn{width:80px;height:80px;border-radius:50%;border:none;background:linear-gradient(135deg,#667eea,#764ba2);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 4px 25px #667eea80;position:relative}.voice-mode-mic-btn:before{content:"";position:absolute;inset:-4px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);opacity:0;z-index:-1;transition:opacity .3s ease}.voice-mode-mic-btn:hover{transform:scale(1.05);box-shadow:0 6px 35px #667eea99}.voice-mode-mic-btn:hover:before{opacity:.3;animation:ripple 1s ease-out infinite}@keyframes ripple{0%{transform:scale(1);opacity:.3}to{transform:scale(1.5);opacity:0}}.voice-mode-mic-btn:active{transform:scale(.95)}.voice-mode-mic-btn.listening{background:linear-gradient(135deg,#4ade80,#22c55e);box-shadow:0 4px 25px #4ade8080;animation:pulse 1.5s infinite}.voice-mode-mic-btn.speaking{background:linear-gradient(135deg,#60a5fa,#3b82f6);box-shadow:0 4px 25px #60a5fa80}.voice-mode-mic-btn.processing{background:linear-gradient(135deg,#fbbf24,#f59e0b);box-shadow:0 4px 25px #fbbf2480;animation:processing-spin 2s linear infinite}@keyframes pulse{0%{box-shadow:0 0 #4ade80b3}70%{box-shadow:0 0 0 25px #4ade8000}to{box-shadow:0 0 #4ade8000}}@keyframes processing-spin{0%{box-shadow:0 0 #fbbf2466}50%{box-shadow:0 0 20px 5px #fbbf244d}to{box-shadow:0 0 #fbbf2466}}.voice-mode-mic-btn svg{width:36px;height:36px;color:#fff;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.voice-mode-hint{font-size:.85rem;color:#fff6;text-align:center;margin-top:8px}.voice-emotion-indicator{display:flex;align-items:center;gap:6px;font-size:.8rem;color:#ffffff80;padding:4px 12px;background:#ffffff0d;border-radius:20px;margin-top:8px}.voice-emotion-indicator .emotion-icon{font-size:1rem}.voice-mode-particles{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.particle{position:absolute;width:4px;height:4px;background:#667eea4d;border-radius:50%;animation:float 15s infinite}.particle:nth-child(1){left:10%;animation-delay:0s;animation-duration:12s}.particle:nth-child(2){left:25%;animation-delay:2s;animation-duration:14s}.particle:nth-child(3){left:40%;animation-delay:4s;animation-duration:10s}.particle:nth-child(4){left:55%;animation-delay:1s;animation-duration:16s}.particle:nth-child(5){left:70%;animation-delay:3s;animation-duration:13s}.particle:nth-child(6){left:85%;animation-delay:5s;animation-duration:11s}@keyframes float{0%{transform:translateY(100vh) scale(0);opacity:0}10%{opacity:.6}90%{opacity:.6}to{transform:translateY(-100px) scale(1);opacity:0}}@media(max-width:768px){.voice-mode-canvas-container{height:45vh}.voice-mode-transcript{font-size:.9rem;padding:12px 16px;max-width:90%}.voice-mode-mic-btn{width:70px;height:70px}.voice-mode-mic-btn svg{width:32px;height:32px}}.voice-mode-slides{width:100%;max-width:400px;margin:0 auto 16px;animation:slideIn .3s ease-out}.voice-mode-overlay:has(.voice-mode-slides) .voice-mode-canvas-container{height:35vh;max-height:280px}.voice-mode-text-input{display:flex;gap:8px;width:100%;max-width:400px;margin-top:16px}.voice-mode-text-input input{flex:1;padding:12px 16px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:24px;color:#fff;font-size:.9rem;outline:none;transition:all .3s ease}.voice-mode-text-input input::-moz-placeholder{color:#ffffff80}.voice-mode-text-input input::placeholder{color:#ffffff80}.voice-mode-text-input input:focus{border-color:var(--primary-glow, #06b6d4);background:#ffffff26}.voice-mode-text-input input:disabled{opacity:.5;cursor:not-allowed}.voice-mode-text-input button{padding:12px 16px;background:linear-gradient(135deg,#06b6d4,#8b5cf6);border:none;border-radius:50%;color:#fff;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.voice-mode-text-input button:hover:not(:disabled){transform:scale(1.1);box-shadow:0 0 20px #06b6d480}.voice-mode-text-input button:disabled{opacity:.5;cursor:not-allowed}.subject-modal__overlay{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.subject-modal__container{background:linear-gradient(135deg,#fff,#f8fafc);border-radius:16px;width:90%;max-width:560px;max-height:80vh;display:flex;flex-direction:column;border:1px solid rgba(0,0,0,.1);box-shadow:0 25px 50px -12px #00000026;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.subject-modal__header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid rgba(0,0,0,.08)}.subject-modal__header-content{display:flex;align-items:center;gap:12px}.subject-modal__header-icon{color:#3b82f6;width:24px;height:24px}.subject-modal__title{font-size:1.125rem;font-weight:600;color:#1f2937;margin:0}.subject-modal__subtitle{font-size:.875rem;color:#6b7280}.subject-modal__close{background:transparent;border:none;color:#6b7280;cursor:pointer;padding:8px;border-radius:8px;transition:all .2s}.subject-modal__close:hover{background:#0000000d;color:#1f2937}.subject-modal__content{flex:1;overflow-y:auto;padding:16px 24px}.subject-modal__loading,.subject-modal__error,.subject-modal__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:#6b7280;gap:12px}.subject-modal__spinner{width:32px;height:32px;border:3px solid rgba(59,130,246,.2);border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}.subject-modal__error{color:#ef4444}.subject-modal__list{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.subject-modal__item{background:#00000005;border:1px solid rgba(0,0,0,.08);border-radius:12px;padding:16px;cursor:pointer;transition:all .2s}.subject-modal__item:hover:not(.subject-modal__item--disabled){background:#3b82f60d;border-color:#3b82f64d}.subject-modal__item--selected{background:#3b82f61a;border-color:#3b82f6}.subject-modal__item--disabled{opacity:.5;cursor:not-allowed}.subject-modal__item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.subject-modal__item-info{display:flex;flex-direction:column;gap:4px}.subject-modal__item-code{font-size:.75rem;font-weight:600;color:#3b82f6;text-transform:uppercase;letter-spacing:.05em}.subject-modal__item-name{font-size:.9375rem;color:#1f2937;font-weight:500}.subject-modal__item-check{color:#10b981}.subject-modal__item-no-docs{font-size:.75rem;color:#ef4444;background:#ef44441a;padding:4px 8px;border-radius:4px}.subject-modal__progress{display:flex;align-items:center;gap:12px;margin-bottom:8px}.subject-modal__progress-bar{flex:1;height:6px;background:#00000014;border-radius:3px;overflow:hidden}.subject-modal__progress-fill{height:100%;background:linear-gradient(90deg,#34d399,#10b981);border-radius:3px;transition:width .3s ease}.subject-modal__progress-text{font-size:.75rem;color:#6b7280;min-width:100px;text-align:right}.subject-modal__item-footer{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.subject-modal__doc-count{display:flex;align-items:center;gap:4px;font-size:.75rem;color:#6b7280}.subject-modal__suggestion{font-size:.75rem;color:#f59e0b}.subject-modal__range{background:#00000005;border-radius:12px;padding:16px;margin-top:16px}.subject-modal__range-label{font-size:.875rem;font-weight:500;color:#1f2937;display:block;margin-bottom:12px}.subject-modal__range-inputs{display:flex;gap:16px;margin-bottom:12px}.subject-modal__range-input{display:flex;align-items:center;gap:8px;flex:1}.subject-modal__range-input span{font-size:.875rem;color:#6b7280}.subject-modal__range-input select{flex:1;background:#fff;border:1px solid rgba(0,0,0,.15);border-radius:8px;padding:8px 36px 8px 12px;color:#1f2937;font-size:.875rem;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.subject-modal__range-input select option{background:#fff;color:#1f2937;padding:8px 12px}.subject-modal__range-input select:focus{outline:none;border-color:#3b82f6}.subject-modal__range-hint{font-size:.75rem;color:#6b7280;margin:0}.subject-modal__footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid rgba(0,0,0,.08)}.subject-modal__btn{padding:10px 20px;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border:none}.subject-modal__btn--cancel{background:transparent;border:1px solid rgba(0,0,0,.15);color:#6b7280}.subject-modal__btn--cancel:hover{background:#0000000d;color:#1f2937}.subject-modal__btn--generate{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.subject-modal__btn--generate:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px)}.subject-modal__btn--generate:disabled{opacity:.5;cursor:not-allowed}[data-theme=dark] .subject-modal__overlay{background:#0009}[data-theme=dark] .subject-modal__container{background:linear-gradient(135deg,#1a1a2e,#16213e);border:1px solid rgba(255,255,255,.1);box-shadow:0 25px 50px -12px #00000080}[data-theme=dark] .subject-modal__header{border-bottom:1px solid rgba(255,255,255,.1)}[data-theme=dark] .subject-modal__header-icon{color:#60a5fa}[data-theme=dark] .subject-modal__title{color:#f3f4f6}[data-theme=dark] .subject-modal__subtitle,[data-theme=dark] .subject-modal__close{color:#9ca3af}[data-theme=dark] .subject-modal__close:hover{background:#ffffff1a;color:#f3f4f6}[data-theme=dark] .subject-modal__loading,[data-theme=dark] .subject-modal__error,[data-theme=dark] .subject-modal__empty{color:#9ca3af}[data-theme=dark] .subject-modal__spinner{border-color:#60a5fa33;border-top-color:#60a5fa}[data-theme=dark] .subject-modal__error{color:#f87171}[data-theme=dark] .subject-modal__item{background:#ffffff0d;border:1px solid rgba(255,255,255,.1)}[data-theme=dark] .subject-modal__item:hover:not(.subject-modal__item--disabled){background:#ffffff14;border-color:#60a5fa4d}[data-theme=dark] .subject-modal__item--selected{background:#60a5fa26;border-color:#60a5fa}[data-theme=dark] .subject-modal__item-code{color:#60a5fa}[data-theme=dark] .subject-modal__item-name{color:#f3f4f6}[data-theme=dark] .subject-modal__item-check{color:#34d399}[data-theme=dark] .subject-modal__item-no-docs{color:#f87171;background:#f871711a}[data-theme=dark] .subject-modal__progress-bar{background:#ffffff1a}[data-theme=dark] .subject-modal__progress-text,[data-theme=dark] .subject-modal__doc-count{color:#9ca3af}[data-theme=dark] .subject-modal__suggestion{color:#fbbf24}[data-theme=dark] .subject-modal__range{background:#ffffff0d}[data-theme=dark] .subject-modal__range-label{color:#f3f4f6}[data-theme=dark] .subject-modal__range-input span{color:#9ca3af}[data-theme=dark] .subject-modal__range-input select{background:#1e293b;border:1px solid rgba(255,255,255,.2);color:#f3f4f6;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}[data-theme=dark] .subject-modal__range-input select option{background:#1e293b;color:#f3f4f6}[data-theme=dark] .subject-modal__range-input select:focus{border-color:#60a5fa}[data-theme=dark] .subject-modal__range-hint{color:#9ca3af}[data-theme=dark] .subject-modal__footer{border-top:1px solid rgba(255,255,255,.1)}[data-theme=dark] .subject-modal__btn--cancel{border:1px solid rgba(255,255,255,.2);color:#9ca3af}[data-theme=dark] .subject-modal__btn--cancel:hover{background:#ffffff1a;color:#f3f4f6}@media(max-width:640px){.subject-modal__container{width:95%;max-height:90vh}.subject-modal__range-inputs{flex-direction:column;gap:12px}}.chat-container{height:100vh;display:flex;flex-direction:column;background:var(--bg-gradient);overflow:hidden}.chat-main{flex:1;overflow:visible}.chat-area-wrapper{display:flex;flex-direction:column;height:100%;background:var(--bg-surface);border:1.5px solid var(--border-primary);border-radius:14px;box-shadow:var(--shadow-medium);overflow:hidden}.chat-content{flex:1;order:1;overflow-y:auto;padding:0 16px;scrollbar-width:thin;scrollbar-color:var(--text-tertiary) transparent}.chat-content::-webkit-scrollbar{width:6px;background:transparent}.chat-content::-webkit-scrollbar-thumb{background:var(--text-tertiary);border-radius:3px;opacity:.5}.chat-content::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.messages-container{overflow:visible}.chat-header{background-color:#fff;border-bottom:1px solid #e2e8f0;padding:12px 24px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100}.chat-header-left{display:flex;align-items:center;gap:16px}.header-logo-image{width:clamp(44px,44px + 10 * (100vw - 375px) / 455,54px);height:auto;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));transition:transform .2s ease}.header-logo:hover .header-logo-image{transform:scale(1.05)}.chat-logo{display:flex;align-items:center;gap:8px;cursor:pointer;transition:opacity .2s}.chat-logo:hover{opacity:.8}.chat-logo-text{font-size:20px;font-weight:500;color:#0f172a}.chat-header-right{display:flex;align-items:center;gap:16px;margin-right:50px}.share-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;background:transparent;border:1px solid #94a3b8;border-radius:20px;cursor:pointer;font-size:14px;font-weight:500;color:var(--text-secondary, #64748b);transition:all .2s ease}.share-btn:hover{background:var(--bg-surface-secondary, #f1f5f9);border-color:var(--accent-blue, #3b82f6);color:var(--accent-blue, #3b82f6)}.share-btn svg{color:inherit}.share-btn span{color:inherit}.avatar-menu-container{position:relative}.avatar-btn{background:none;border:none;cursor:pointer;padding:0;border-radius:50%;overflow:hidden;transition:opacity .2s ease}.avatar-btn:hover{opacity:.8;background-color:transparent!important}.avatar-image{width:32px;height:32px;border-radius:50%}.avatar-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 16px #0000001a;min-width:180px;overflow:hidden;z-index:1000;animation:dropdownFadeIn .2s ease}.avatar-dropdown-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;background:none;border:none;cursor:pointer;font-size:.875rem;color:#0f172a;text-align:left;transition:background .2s ease}.avatar-dropdown-item:hover{background:#f1f5f9}.avatar-dropdown-item:first-child{border-bottom:1px solid #e2e8f0}.avatar-dropdown-item svg{color:#64748b}.chat-main{flex:1!important;display:flex!important;overflow:hidden!important;min-height:0!important;gap:0!important;padding:24px!important;align-items:stretch!important}.big-picture-sidebar{width:356px!important;flex-shrink:0!important;overflow:visible!important;height:100%!important;transition:width .3s ease!important;position:relative!important;padding:0 24px 0 0!important;order:1!important}.big-picture-sidebar.closed{width:56px!important;padding:0 24px 0 0!important}.big-picture-content{background-color:var(--bg-surface-secondary);border-radius:12px;padding:20px;border:1.5px solid var(--border-primary);transition:all .3s ease;width:332px;height:100%;overflow-y:auto;display:flex;flex-direction:column}.big-picture-sidebar.closed .big-picture-content{display:none!important}.big-picture-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;position:relative}.big-picture-title{font-size:14px;font-weight:500;color:var(--text-secondary);margin:0;flex:1}.big-picture-toggle-btn{background:none;border:none;padding:6px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary);transition:all .2s;margin-left:auto}.big-picture-toggle-btn:hover{background-color:var(--border-secondary)}.big-picture-toggle-btn:active{transform:scale(.95)}.big-picture-toggle-floating{position:absolute;left:16px;top:16px;z-index:60;background-color:#fff;border:1px solid #e2e8f0;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 1px 3px #0000001a;transition:all .2s ease}.big-picture-toggle-floating:hover{background-color:#f1f5f9;box-shadow:0 2px 8px #00000026}.big-picture-toggle-floating:active{transform:scale(.95)}.big-picture-main-title{font-size:18px;font-weight:500;color:var(--text-primary);margin:0 0 20px;line-height:1.4}.big-picture-topics{display:flex;flex-direction:column;gap:16px}.big-picture-topic-item{display:flex;flex-direction:column;gap:8px}.big-picture-topic-button{background:none;border:none;text-align:left;padding:12px;border-radius:8px;cursor:pointer;transition:background-color .2s;display:flex;align-items:flex-start}.big-picture-topic-title{font-size:14px;font-weight:500;color:var(--text-primary);line-height:1.5}.big-picture-subtopics-list{display:flex;flex-wrap:wrap;gap:8px;padding-left:12px}.big-picture-subtopic-button{background-color:var(--subtopic-btn-bg, #e2e8f0);border:none;border-radius:16px;padding:6px 14px;font-size:13px;color:var(--subtopic-btn-color, #0f172a);cursor:pointer;transition:background-color .2s}.big-picture-subtopic-button:hover{background-color:var(--subtopic-btn-hover-bg, #cbd5e1)}.big-picture-subtopic-button:active{background-color:var(--subtopic-btn-active-bg, #f1f5f9)}.studio-sidebar{width:356px!important;flex-shrink:0!important;overflow:visible!important;height:100%!important;transition:width .3s ease!important;position:relative!important;padding:0 0 0 24px!important;order:3!important}.studio-sidebar.closed{width:64px!important;padding:0 0 0 24px!important}.studio-content{background-color:var(--studio-content-bg, #f0f4f8);border-radius:12px;padding:20px;border:1.5px solid var(--studio-content-border, #cbd5e1);transition:all .3s ease;width:360px;height:100%;overflow-y:auto;display:flex;flex-direction:column}.studio-sidebar.closed .studio-content{padding:16px 4px;width:48px;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.studio-header{display:flex;align-items:center;gap:8px;margin-bottom:20px;position:relative}.studio-title{font-size:16px;font-weight:500;color:var(--text-primary, #0f172a);margin:0;flex:1}.studio-toggle-btn{background:none;border:none;padding:6px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary, #64748b);transition:all .2s;margin-left:auto}.studio-toggle-btn:hover{background-color:var(--studio-btn-hover-bg, #e2e8f0)}.studio-toggle-btn:active{transform:scale(.95)}.studio-sidebar.closed .studio-header{flex-direction:column;gap:0;margin-bottom:16px;align-items:center;width:100%}.studio-sidebar.closed .studio-header>svg{display:none}.studio-sidebar.closed .studio-title,.studio-sidebar.closed .studio-description{display:none}.studio-sidebar.closed .studio-toggle-btn{margin:0;width:40px;height:40px;padding:0;background-color:transparent;border:1px solid #cbd5e1}.studio-sidebar.closed .studio-toggle-btn:hover{background-color:#e2e8f0;border-color:#94a3b8}.studio-sidebar.closed .studio-features{display:flex;flex-direction:column;gap:12px;margin-top:0;width:100%;grid-template-columns:none}.studio-sidebar.closed .studio-feature-card-wrapper{width:100%}.studio-sidebar.closed .studio-feature-card{width:40px;height:40px;min-height:40px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:8px;background-color:transparent;border:1px solid transparent;margin:0 auto}.studio-sidebar.closed .studio-feature-card:hover{background-color:#e2e8f0;border-color:#94a3b8}.studio-sidebar.closed .studio-feature-card .feature-title,.studio-sidebar.closed .studio-feature-card .studio-feature-edit-btn{display:none}.studio-sidebar.closed .studio-feature-card svg{margin:0;flex-shrink:0}.studio-sidebar.closed .studio-items-list{display:none}.studio-description{text-align:center;padding:40px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;margin-top:16px}.studio-icon{margin-bottom:16px}.studio-subtitle{font-size:14px;font-weight:500;color:var(--text-secondary, #64748b);margin:0 0 12px}.studio-text{font-size:13px;color:var(--text-secondary, #64748b);line-height:1.6;margin:0 0 24px}.studio-add-btn{background-color:#3b82f6;color:#fff;border:none;border-radius:24px;padding:12px 24px;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background-color .2s}.studio-add-btn:hover{background-color:#2563eb}.studio-items-list{display:flex;flex-direction:column;gap:8px;margin-top:16px;flex:1;overflow-y:auto;padding:16px;background-color:var(--studio-list-bg, #ffffff);border-radius:12px;border:1px solid var(--studio-list-border, #e2e8f0);min-height:0}.studio-item{display:flex;align-items:center;gap:12px;padding:19px 12px;background-color:var(--studio-item-bg, #f8fafc);border-radius:8px;transition:background-color .2s;border:1px solid var(--studio-item-border, #e2e8f0)}.studio-item:hover{background-color:var(--studio-item-hover-bg, #f1f5f9)}.studio-item-clickable{display:flex;align-items:center;gap:12px;flex:1;min-width:0;text-decoration:none;color:inherit}.studio-item-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:#e2e8f0;border-radius:8px}.spinning{animation:spin 1s linear infinite}.studio-item-content{flex:1;min-width:0}.studio-item-title{font-size:14px;font-weight:500;color:var(--text-primary, #0f172a);margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.studio-item-subtitle{font-size:12px;color:var(--text-secondary, #64748b);margin:0}.studio-item-menu-container{position:relative;flex-shrink:0}.studio-item-menu{background:none;border:none;cursor:pointer;padding:4px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s;flex-shrink:0}.studio-item-menu:hover{background-color:#e2e8f0}.studio-item-dropdown{position:absolute;top:95%;right:0;background-color:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 2px 8px #0000001a;min-width:120px;z-index:100;margin-top:4px;animation:dropdownFadeIn .2s ease}.dropdown-item{width:100%;display:flex;align-items:center;gap:8px;padding:10px 12px;background:none;border:none;cursor:pointer;font-size:14px;color:#0f172a;text-align:left;transition:background-color .2s}.dropdown-item:hover{background-color:#f1f5f9}.dropdown-item:first-child{border-radius:8px 8px 0 0}.dropdown-item:last-child{border-radius:0 0 8px 8px}.dropdown-item.delete-item{color:#ef4444}.dropdown-item.delete-item:hover{background-color:#fef2f2}.studio-features{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.studio-feature-card-wrapper{position:relative;width:100%}.studio-feature-card{background-color:var(--subtopic-btn-bg, #e2e8f0);border:1px solid var(--feature-card-border, #e2e8f0);border-radius:12px;padding:16px;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;gap:8px;transition:all .2s;text-align:left;position:relative;width:100%}.studio-feature-card:hover{background-color:var(--subtopic-btn-hover-bg, #cbd5e1);border-color:var(--feature-card-hover-border, #cbd5e1)}.studio-feature-card .feature-title{font-size:13px;color:var(--text-secondary, #64748b);line-height:1.4}.studio-feature-edit-btn{position:absolute;top:8px;right:8px;background-color:transparent;border:none;border-radius:4px;padding:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#94a3b8;transition:all .2s;opacity:0;z-index:1}.studio-feature-card:hover .studio-feature-edit-btn{opacity:1}.studio-feature-edit-btn:hover{background-color:#e2e8f0;color:#0f172a}.studio-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.studio-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}.history-sidebar-overlay{position:fixed;inset:0;background-color:#00000080;z-index:998;animation:fadeIn .2s ease-out}.history-sidebar{position:fixed;top:0;left:0;bottom:0;width:300px;background-color:#f8f9fa;box-shadow:4px 0 12px #0000001a;z-index:999;display:flex;flex-direction:column;animation:slideInLeft .3s ease-out}.history-sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e8eaed}.history-sidebar-title{font-size:18px;font-weight:600;color:#202124;margin:0}.history-sidebar-close{background:none;border:none;cursor:pointer;color:#5f6368;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.history-sidebar-close:hover{background-color:#e8eaed}.history-sidebar-content{flex:1;overflow-y:auto;padding:20px}.history-section{margin-bottom:24px}.history-section-title{font-size:14px;font-weight:500;color:#5f6368;margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px}.history-items{display:flex;flex-direction:column;gap:8px}.history-item{display:flex;align-items:center;gap:12px;padding:12px;background:#fff;border:1px solid #dadce0;border-radius:12px;cursor:pointer;text-align:left;transition:all .2s;width:100%}.history-item:hover{background-color:#f1f3f4;border-color:#bdc1c6;transform:translateY(-1px);box-shadow:0 2px 4px #0000000d}.history-item-icon{font-size:16px}.history-item-text{font-size:14px;color:#202124;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes slideInLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}.chat-content{flex:1!important;min-width:0!important;overflow-y:auto!important;height:100%!important;display:flex!important;flex-direction:column!important;gap:24px!important;padding:0!important;order:2!important}.chat-main:has(.big-picture-sidebar.closed):has(.studio-sidebar.closed) .chat-content{max-width:none;padding:0 48px}.chat-main:has(.big-picture-sidebar.closed):not(:has(.studio-sidebar.closed)) .chat-content{padding:0 0 0 24px}.chat-main:not(:has(.big-picture-sidebar.closed)):has(.studio-sidebar.closed) .chat-content{padding:0 24px 0 0}.welcome-banner{background:linear-gradient(135deg,#f0f4f8,#e2e8f0);border-radius:12px;padding:20px 24px;display:flex;align-items:center;gap:16px;margin-bottom:32px;position:relative;border:1px solid #e2e8f0}.welcome-banner-icon img{width:64px;height:64px}.welcome-banner-content{flex:1}.welcome-banner-title{font-size:20px;font-weight:500;color:#0f172a;margin:0 0 8px}.welcome-banner-description{font-size:14px;color:#64748b;margin:0 0 12px}.topic-badge{background-color:#3b82f6;color:#fff;border:none;border-radius:16px;padding:6px 16px;font-size:13px;font-weight:500;cursor:pointer;transition:background-color .2s}.topic-badge:hover{background-color:#2563eb}.close-banner-btn{position:absolute;top:12px;right:12px;background:none;border:none;font-size:24px;color:#64748b;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.close-banner-btn:hover{background-color:#e2e8f0}.messages-container{display:flex;flex-direction:column;gap:24px;flex:1;margin-bottom:0;padding:18px 18px 40px;background:var(--bg-surface)}.message{display:flex;gap:12px;animation:fadeIn .3s ease-in}.user-message{justify-content:flex-end}.user-message .message-content{background:#0284c7!important;border-radius:18px;padding:12px 16px;max-width:70%;color:#fff!important;font-weight:450;box-shadow:0 2px 8px #2563eb4d}.user-message .message-content,.user-message .message-content *{color:#fff!important}.assistant-message{align-items:flex-start}.message-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--accent-blue) 0%,#0ea5e9 100%);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 6px #3b82f64d}.assistant-message .message-content{flex:1;width:94%;max-width:94%;background:var(--bg-surface);padding:0 0 16px;color:var(--text-primary)}.message-text{color:#0f172a;font-size:15px;line-height:1.8;width:100%}.message-text p{margin:10px 0}.message-text p:has(strong:first-child){margin-top:14px;padding-left:12px;border-left:3px solid #3b82f6}.message-text p:first-child{margin-top:0}.message-text p:last-child{margin-bottom:0}.message-text h2{font-size:20px;font-weight:700;margin:24px 0 12px;color:#1e3a8a!important;padding-bottom:8px;border-bottom:2px solid #3b82f6}.message-text h3{font-size:17px;font-weight:600;margin:20px 0 10px;color:#1e293b;padding-left:12px;border-left:3px solid #3b82f6}.message-text h4{font-size:15px;font-weight:600;margin:16px 0 8px;color:#334155;padding-left:10px;border-left:2px solid #94a3b8}.message-text ul,.message-text ol{margin:10px 0;padding:10px 10px 10px 32px;background-color:var(--subtopic-btn-bg, #e2e8f0);border-radius:8px;border:1px solid #e2e8f0}.message-text li{margin-bottom:6px;padding-left:4px;line-height:1.5}.message-text li:last-child{margin-bottom:0}.message-text li::marker{color:#3b82f6;font-weight:600}.message-text strong{font-weight:700;color:#1e40af;font-size:16px}.message-text p>strong:first-child{display:block;margin-bottom:8px;font-size:17px;color:#1e3a8a}.message-text p code,.message-text li code{background:#f1f5f9;color:#0369a1;padding:2px 6px;border-radius:4px;font-size:13px}.message-text blockquote{margin:16px 0;padding:12px 16px;background:#eff6ff;border-left:4px solid #3b82f6;border-radius:0 8px 8px 0;color:#1e40af;font-style:italic}.message-text hr{border:none;height:1px;background:linear-gradient(90deg,transparent,#cbd5e1,transparent);margin:24px 0}.message-text table{width:100%;border-collapse:collapse;margin:16px 0;font-size:14px}.message-text th{background:#f1f5f9;padding:10px 12px;text-align:left;font-weight:600;color:#334155;border-bottom:2px solid #e2e8f0}.message-text td{padding:10px 12px;border-bottom:1px solid #e2e8f0}.message-text tr:hover td{background:#f8fafc}.message-actions-container{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px}.message-suggestions{display:flex;gap:8px;flex-wrap:wrap;flex:1}.message-actions{display:flex;gap:8px;margin-left:auto}.action-btn{background:none;border:none;color:#94a3b8;cursor:pointer;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.action-btn:hover{border-color:#3b82f6;color:#3b82f6}.action-btn .lucide-flag{color:#94a3b8;transition:color .2s}.action-btn:hover .lucide-flag{color:#dc2626}.action-btn.flagged{background:#dc26261a;cursor:not-allowed}.action-btn.flagged .lucide-flag{color:#dc2626}.action-btn:disabled{opacity:.5;cursor:not-allowed}.action-btn:disabled:hover{background:transparent}.suggestion-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:var(--suggestion-btn-bg, linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%));border:2px solid var(--suggestion-btn-border, #93c5fd);border-radius:24px;font-size:14px;color:var(--suggestion-btn-color, #1e40af);cursor:pointer;transition:all .2s;font-weight:600;box-shadow:var(--suggestion-btn-shadow, 0 2px 8px rgba(59, 130, 246, .15))}.suggestion-btn:hover{background:var(--suggestion-btn-hover-bg, linear-gradient(135deg, #dbeafe 0%, #bfdbfe 100%));border-color:var(--suggestion-btn-hover-border, #3b82f6);color:var(--suggestion-btn-hover-color, #1e3a8a);box-shadow:var(--suggestion-btn-hover-shadow, 0 4px 12px rgba(59, 130, 246, .25));transform:translateY(-1px)}.suggestion-icon{font-size:18px;display:flex;align-items:center;justify-content:center;color:#3b82f6}.follow-up-questions{display:flex;flex-direction:column;gap:10px;margin-top:20px}.follow-up-btn{text-align:left;background-color:var(--follow-up-btn-bg, #ffffff);border:2px solid var(--follow-up-btn-border, #e2e8f0);border-radius:12px;font-size:14px;color:var(--follow-up-btn-color, #334155);cursor:pointer;transition:all .2s;font-weight:500;line-height:1.5;box-shadow:var(--follow-up-btn-shadow, 0 1px 3px rgba(0, 0, 0, .04));position:relative;padding:14px 18px 14px 40px;width:-moz-fit-content;width:fit-content;max-width:100%}.follow-up-btn:before{content:"💡";position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:16px}.follow-up-btn:hover{background:var(--follow-up-btn-hover-bg, linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%));border-color:var(--follow-up-btn-hover-border, #3b82f6);color:var(--follow-up-btn-hover-color, #1e40af);box-shadow:var(--follow-up-btn-hover-shadow, 0 4px 12px rgba(59, 130, 246, .2));transform:translate(4px)}.message-sources{margin-top:20px;background-color:#f0f4f8;border-radius:12px;overflow:hidden;width:100%;border:1px solid #e2e8f0}.sources-toggle{display:flex;align-items:center;gap:10px;background:none;border:none;color:#3b82f6;cursor:pointer;padding:16px 20px;font-size:14px;font-weight:500;transition:background-color .2s;width:100%;text-align:left}.sources-toggle:hover{background-color:#e2e8f0}.sources-label{color:#3b82f6;font-weight:600;font-size:14px}.sources-title{flex:1;color:#0f172a;font-weight:600;font-size:16px;margin-left:4px}.sources-chevron{color:#64748b;flex-shrink:0}.sources-list{padding:0 20px 16px;display:flex;flex-direction:column;gap:12px;animation:sourcesExpand .3s ease}@keyframes sourcesExpand{0%{opacity:0;max-height:0}to{opacity:1;max-height:1000px}}.source-item{display:flex;align-items:flex-start;gap:16px;padding:16px;background-color:#fff;border-radius:12px;text-decoration:none;color:inherit;transition:all .2s;box-shadow:0 1px 2px #0000000d;border:1px solid #e2e8f0}.source-item:hover{box-shadow:0 2px 8px #0000001a;transform:translateY(-2px)}.source-icon-wrapper{flex-shrink:0;width:64px;height:64px;display:flex;align-items:center;justify-content:center;background-color:#f0f4f8;border-radius:8px}.source-icon-emoji{font-size:32px;line-height:1}.source-icon-placeholder{color:#64748b;display:flex;align-items:center;justify-content:center}.source-content{flex:1;min-width:0}.source-title{font-weight:600;color:#0f172a;font-size:16px;margin:0 0 8px;display:block}.source-description{font-size:14px;color:#64748b;margin:0;line-height:1.5}.source-link-btn{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:#e2e8f0;border:none;border-radius:50%;color:#64748b;cursor:pointer;transition:all .2s}.source-link-btn:hover{background-color:#cbd5e1;color:#0f172a}.interactive-list-container{background-color:#fff;border-radius:16px;border:2px solid #93c5fd;overflow:hidden;margin-top:16px;box-shadow:0 4px 16px #3b82f61a}.interactive-list-header{display:flex;align-items:center;gap:12px;padding:14px 18px;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-bottom:2px solid #93c5fd}.interactive-list-icon{color:#2563eb;font-size:20px}.interactive-list-title{font-weight:600;color:#1e3a8a;font-size:15px}.interactive-list-items{padding:12px;display:flex;flex-direction:column;gap:10px;background:#f8fafc}.interactive-item-card{display:flex;align-items:flex-start;gap:14px;padding:14px 16px;background-color:#fff;border:1px solid #e2e8f0;border-radius:12px;transition:all .2s;cursor:pointer;box-shadow:0 1px 3px #0000000a}.interactive-item-card:hover{box-shadow:0 4px 12px #3b82f626;border-color:#3b82f6;background-color:#eff6ff;transform:translate(4px)}.interactive-item-icon-wrapper{width:36px;height:36px;background-color:#eff6ff;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.interactive-item-emoji{font-size:20px}.interactive-item-placeholder{color:#3b82f6}.interactive-item-content{flex:1;min-width:0}.interactive-item-term{font-size:14px;font-weight:600;color:#111827;margin:0 0 4px}.interactive-item-definition{font-size:13px;color:#4b5563;margin:0;line-height:1.5}.interactive-item-action{display:flex;align-items:center}.interactive-item-link-btn{background:none;border:none;color:#6b7280;cursor:pointer;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s}.interactive-item-link-btn:hover{background-color:#eff6ff;color:#3b82f6}.video-content-container{margin-top:32px;margin-bottom:32px;width:100%}.video-content-title{font-size:22px;font-weight:600;color:#e8eaed;margin:0 0 20px;padding:12px 0;border-bottom:2px solid #525252;position:relative}.video-content-title:before{content:"";position:absolute;left:0;bottom:-2px;width:60px;height:2px;background:linear-gradient(90deg,#525252,#525252)}.video-wrapper{position:relative;width:100%;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:12px;background-color:transparent;box-shadow:0 2px 8px #0000001a}.video-iframe{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:12px}.related-content{margin-top:40px;padding-top:32px;width:100%;border-top:1px solid #3c4043}.related-content-title{font-size:22px;font-weight:600;color:#e8eaed;margin:0 0 24px;padding:12px 0;border-bottom:2px solid #525252;position:relative;display:flex;align-items:center;gap:12px}.related-content-title:before{font-size:20px}.related-content-title:after{content:"";position:absolute;left:0;bottom:-2px;width:80px;height:2px;background:linear-gradient(90deg,#525252,#525252)}.related-content-carousel{max-width:100%;display:flex;gap:16px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x proximity;-ms-overflow-style:none;scrollbar-width:none}.related-content-carousel::-webkit-scrollbar{display:none}.related-content-card{flex:0 0 320px;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:16px;padding:24px;text-decoration:none;color:#fff;display:flex;flex-direction:column;gap:16px;transition:all .3s;cursor:pointer;box-shadow:0 4px 12px #667eea4d}.related-content-card:nth-child(2){background:linear-gradient(135deg,#f093fb,#f5576c);box-shadow:0 4px 12px #f093fb4d}.related-content-card:nth-child(3){background:linear-gradient(135deg,#4facfe,#00f2fe);box-shadow:0 4px 12px #4facfe4d}.related-content-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #667eea66}.related-content-card:nth-child(2):hover{box-shadow:0 8px 24px #f093fb66}.related-content-card:nth-child(3):hover{box-shadow:0 8px 24px #4facfe66}.related-card-content{flex:1}.related-card-title{font-size:16px;font-weight:600;color:#fff;margin:0 0 12px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.related-card-description{font-size:14px;color:#ffffffe6;margin:0;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.related-card-footer{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;margin:0 -24px -24px;background:#00000026;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:0 0 16px 16px}.related-card-info{display:flex;flex-direction:column;gap:6px;width:100%}.related-card-short-title{font-size:16px;font-weight:600;color:#fff;line-height:1.3;letter-spacing:.2px}.related-card-source{display:flex;align-items:center;gap:10px}.source-icon-badge{width:100%;height:100%;display:flex;align-items:center;justify-content:center;border-radius:5px;font-size:12px;font-weight:700;color:#fff}.source-name{font-size:15px;color:#fff;font-weight:600;letter-spacing:.3px}.chat-notice{text-align:center;color:var(--text-secondary);font-size:13px;margin:0;padding:8px 0}.chat-input-container{padding:12px 16px;background-color:var(--bg-surface);border-top:1px solid var(--border-secondary);border-radius:0 0 14px 14px;flex-shrink:0;order:2}.chat-input-wrapper{display:flex;align-items:center;gap:8px;background-color:var(--bg-input);border:1px solid var(--border-primary);border-radius:24px;padding:4px 8px;margin-top:8px;transition:border-color .2s,box-shadow .2s}.chat-input-wrapper:focus-within{border-color:var(--accent-blue);box-shadow:0 1px 6px #3b82f633}.chat-input{flex:1;border:none;background:none;padding:10px 12px;font-size:15px;outline:none;color:var(--text-primary)}.chat-input::-moz-placeholder{color:var(--text-tertiary)}.chat-input::placeholder{color:var(--text-tertiary)}.send-btn{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s}.send-btn.active{background-color:var(--accent-blue);color:#fff}.send-btn.active:hover{background-color:var(--accent-blue-hover)}.send-btn:disabled{cursor:not-allowed}.chat-disclaimer{text-align:center;color:var(--text-tertiary);font-size:12px;margin:12px 0 0}.voice-mode-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s}.voice-mode-btn:hover{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;transform:scale(1.1)}.voice-mode-btn:active{transform:scale(.95)}.code-block-wrapper{position:relative;margin:20px 0 0;background:linear-gradient(135deg,#1e293b,#0f172a);border-radius:12px;overflow:hidden;box-shadow:0 4px 16px #0000001f;border:1px solid #334155}.code-block-header{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:#0003;border-bottom:1px solid #334155}.code-language{font-family:JetBrains Mono,Fira Code,monospace;font-size:11px;color:#94a3b8;text-transform:uppercase;font-weight:600;letter-spacing:.8px;padding:4px 10px;background:#3b82f626;border-radius:12px;border:1px solid rgba(59,130,246,.3)}.code-copy-btn{background:#ffffff0d;border:1px solid #475569;color:#94a3b8;cursor:pointer;padding:6px 12px;border-radius:6px;display:flex;align-items:center;gap:6px;transition:all .2s;font-size:12px;font-weight:500}.code-copy-btn:hover{background:#3b82f633;border-color:#3b82f6;color:#e2e8f0}.code-copy-btn:active{background:#3b82f64d;transform:scale(.98)}.code-block{background:transparent;color:#e2e8f0;padding:20px;margin:0;font-size:14px;overflow-x:auto;line-height:1.7}.code-block code{font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:14px;line-height:1.7;display:block;color:#e2e8f0}.inline-code{background:#eff6ff;padding:3px 8px;border-radius:6px;font-family:JetBrains Mono,Fira Code,monospace;font-size:13px;color:#1e40af;border:1px solid #bfdbfe}.message-text pre{margin:0}.message-text code.hljs{background:transparent;padding:0}.message-text h1,.message-text h2,.message-text h3,.message-text h4{margin-top:16px;margin-bottom:8px;color:#e8eaed}.message-text p{margin:8px 0;line-height:1.6}.message-text ul,.message-text ol{margin:8px 0;padding-left:24px}.message-text li{margin:4px 0}.message-text a{color:#8ab4f8;text-decoration:none}.message-text a:hover{text-decoration:underline}.message-text blockquote{border-left:3px solid #8ab4f8;padding-left:12px;margin:12px 0;color:#9aa0a6}.message-text table{border-collapse:collapse;width:100%;margin:12px 0}.message-text th,.message-text td{border:1px solid #3c4043;padding:8px;text-align:left}.message-text th{background:#2d2d2d;font-weight:600}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.report-format-modal-content{background-color:#fff;border-radius:16px;padding:0;width:90%;max-width:500px;box-shadow:0 24px 48px #0003;display:flex;flex-direction:column;animation:zoomIn .2s ease-out}.report-format-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e8eaed}.report-format-modal-title{font-size:18px;font-weight:500;color:#202124;margin:0}.report-format-modal-close{background:none;border:none;font-size:24px;color:#5f6368;cursor:pointer;padding:0;line-height:1;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.report-format-modal-close:hover{background-color:#f1f3f4}.report-format-options{padding:24px;display:flex;flex-direction:column;gap:16px}.report-format-option{display:flex;align-items:center;gap:16px;padding:16px;background-color:#fff;border:1px solid #dadce0;border-radius:12px;cursor:pointer;text-align:left;transition:all .2s}.report-format-option:hover{background-color:#f8f9fa;border-color:#bdc1c6;box-shadow:0 2px 4px #0000000d}.report-format-name{font-size:16px;font-weight:500;color:#202124;min-width:80px}.report-format-desc{font-size:14px;color:#5f6368}.report-modal-content{background-color:#fff;border-radius:16px;padding:0;width:90%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 24px 48px #0003;overflow:hidden;animation:slideIn .3s ease-out}.report-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid #e8eaed;background-color:#fff}.report-modal-title-wrapper{display:flex;align-items:center;gap:12px}.report-modal-title{font-size:18px;font-weight:500;color:#202124;margin:0}.report-modal-actions{display:flex;align-items:center;gap:8px}.report-action-btn{background:#fff;border:1px solid #dadce0;border-radius:8px;padding:8px;cursor:pointer;color:#5f6368;display:flex;align-items:center;justify-content:center;transition:all .2s}.report-action-btn:hover{background-color:#f1f3f4;color:#202124;border-color:#bdc1c6}.report-modal-close{background:none;border:none;font-size:28px;color:#5f6368;cursor:pointer;padding:0 0 0 12px;line-height:1;display:flex;align-items:center;justify-content:center;transition:color .2s}.report-modal-close:hover{color:#202124}.report-modal-body{flex:1;overflow-y:auto;padding:32px;background-color:#f8f9fa}.report-content-text{background-color:#fff;padding:40px;border-radius:8px;box-shadow:0 1px 3px #0000001a;font-size:16px;line-height:1.6;color:#202124}.report-content-text h1,.report-content-text h2,.report-content-text h3{color:#202124;margin-top:24px;margin-bottom:16px}.report-content-text p{margin-bottom:16px}.report-content-text ul,.report-content-text ol{margin-bottom:16px;padding-left:24px}.report-content-text li{margin-bottom:8px}[data-theme=dark] .report-format-modal-content{background-color:#1e293b}[data-theme=dark] .report-format-modal-header{border-bottom-color:#334155}[data-theme=dark] .report-format-modal-title{color:#f1f5f9}[data-theme=dark] .report-format-modal-close{color:#94a3b8}[data-theme=dark] .report-format-modal-close:hover{background-color:#334155;color:#f1f5f9}[data-theme=dark] .report-format-option{background-color:#0f172a;border-color:#334155}[data-theme=dark] .report-format-option:hover{background-color:#1e293b;border-color:#475569}[data-theme=dark] .report-format-name{color:#f1f5f9}[data-theme=dark] .report-format-desc{color:#94a3b8}[data-theme=dark] .report-modal-content{background-color:#1e293b}[data-theme=dark] .report-modal-header{background-color:#1e293b;border-bottom-color:#334155}[data-theme=dark] .report-modal-title{color:#f1f5f9}[data-theme=dark] .report-action-btn{background:#334155;border-color:#475569;color:#94a3b8}[data-theme=dark] .report-action-btn:hover{background-color:#475569;color:#f1f5f9;border-color:#60a5fa}[data-theme=dark] .report-modal-close{color:#94a3b8}[data-theme=dark] .report-modal-close:hover{color:#f1f5f9}[data-theme=dark] .report-modal-body{background-color:#0f172a}[data-theme=dark] .report-content-text{background-color:#1e293b;color:#e2e8f0}[data-theme=dark] .report-content-text h1,[data-theme=dark] .report-content-text h2,[data-theme=dark] .report-content-text h3{color:#f1f5f9}.customize-modal-content{background-color:#fff;border-radius:16px;padding:0;max-width:600px;width:90%;max-height:85vh;overflow-y:auto;box-shadow:0 8px 32px #0000001f}.customize-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 20px;border-bottom:1px solid #e8eaed}.customize-modal-title-wrapper{display:flex;align-items:center;gap:12px}.customize-modal-title{font-size:20px;font-weight:500;color:#202124;margin:0}.customize-modal-close{background:none;border:none;font-size:32px;color:#5f6368;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s;line-height:1}.customize-modal-close:hover{background-color:#f1f3f4}.customize-tabs{display:flex;border-bottom:1px solid #e8eaed;padding:0 24px;gap:8px}.customize-tab{padding:12px 20px;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;font-size:14px;font-weight:500;color:#5f6368;transition:all .2s;position:relative}.customize-tab:hover{color:#202124;background-color:#f8f9fa}.customize-tab.active{color:#4285f4;border-bottom-color:#4285f4}.customize-modal-body{padding:24px;display:flex;flex-direction:column;gap:32px}.customize-row{display:flex;gap:24px;align-items:flex-start}.customize-section{display:flex;flex-direction:column;gap:12px;flex:1}.customize-section-title{font-size:18px;font-weight:600;color:#202124;margin:0 0 8px;border-left:3px solid #fbbc04;padding:8px 0 8px 12px;background:#fbbc041a;border-radius:0 8px 8px 0}.customize-options{display:flex;gap:12px;flex-wrap:wrap;width:100%}.customize-option-btn{flex:1;min-width:50px;padding:12px 20px;background-color:#fff;border:1px solid #dadce0;border-radius:24px;cursor:pointer;font-size:14px;font-weight:400;color:#5f6368;transition:all .2s;text-align:center}.customize-option-btn:hover{background-color:#f8f9fa;border-color:#bdc1c6}.customize-option-btn.selected{background-color:#e8f0fe;border-color:#4285f4;color:#1967d2;font-weight:500}.customize-textarea{width:100%;padding:16px;border:1px solid #dadce0;border-radius:12px;font-size:14px;font-family:inherit;color:#202124;resize:vertical;min-height:120px;transition:border-color .2s}.customize-textarea:focus{outline:none;border-color:#4285f4}.customize-textarea::-moz-placeholder{color:#9aa0a6}.customize-textarea::placeholder{color:#9aa0a6}.customize-modal-footer{padding:16px 24px 24px;display:flex;justify-content:flex-end}.customize-create-btn{padding:12px 32px;background-color:#4285f4;border:none;border-radius:24px;cursor:pointer;font-size:15px;font-weight:500;color:#fff;transition:all .2s;box-shadow:0 1px 2px #3c40434d}.customize-create-btn:hover{background-color:#1967d2;box-shadow:0 2px 4px #3c40434d}.customize-create-btn:active{transform:scale(.98)}.course-code-dropdown{position:relative;width:100%}.course-code-search{width:96%;padding:14px 16px;border:1px solid #dadce0;border-radius:12px;font-size:14px;font-family:inherit;color:#202124;transition:border-color .2s}.course-code-search:focus{outline:none;border-color:#4285f4}.course-code-search::-moz-placeholder{color:#9aa0a6}.course-code-search::placeholder{color:#9aa0a6}.course-code-options{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid #dadce0;border-radius:12px;max-height:300px;overflow-y:auto;box-shadow:0 4px 12px #00000026;z-index:10}.course-code-option{display:flex;flex-direction:column;padding:12px 16px;border:none;background:none;width:100%;text-align:left;cursor:pointer;transition:background .2s}.course-code-option:hover{background-color:#f8f9fa}.course-code{font-weight:600;color:#202124;font-size:14px}.course-name{color:#5f6368;font-size:13px;margin-top:2px}[data-theme=dark] .customize-modal-content{background-color:#1e293b}[data-theme=dark] .customize-modal-header{border-bottom-color:#334155}[data-theme=dark] .customize-modal-title{color:#f1f5f9}[data-theme=dark] .customize-modal-close{color:#94a3b8}[data-theme=dark] .customize-modal-close:hover{background-color:#334155;color:#f1f5f9}[data-theme=dark] .customize-tabs{border-bottom-color:#334155}[data-theme=dark] .customize-tab{color:#94a3b8}[data-theme=dark] .customize-tab:hover{color:#f1f5f9;background-color:#334155}[data-theme=dark] .customize-tab.active{color:#60a5fa;border-bottom-color:#60a5fa}[data-theme=dark] .customize-section-title{color:#f1f5f9;background:#3b82f626;border-left-color:#3b82f6}[data-theme=dark] .customize-option-btn{background-color:#0f172a;border-color:#334155;color:#94a3b8}[data-theme=dark] .customize-option-btn:hover{background-color:#1e293b;border-color:#475569;color:#f1f5f9}[data-theme=dark] .customize-option-btn.selected{background-color:#3b82f633;border-color:#3b82f6;color:#60a5fa}[data-theme=dark] .customize-textarea{background-color:#0f172a;border-color:#334155;color:#f1f5f9}[data-theme=dark] .customize-textarea:focus{border-color:#3b82f6}[data-theme=dark] .customize-textarea::-moz-placeholder{color:#64748b}[data-theme=dark] .customize-textarea::placeholder{color:#64748b}[data-theme=dark] .course-code-search{background-color:#0f172a;border-color:#334155;color:#f1f5f9}[data-theme=dark] .course-code-search:focus{border-color:#3b82f6}[data-theme=dark] .course-code-search::-moz-placeholder{color:#64748b}[data-theme=dark] .course-code-search::placeholder{color:#64748b}[data-theme=dark] .course-code-options{background:#1e293b;border-color:#334155}[data-theme=dark] .course-code-option:hover{background-color:#334155}[data-theme=dark] .course-code{color:#f1f5f9}[data-theme=dark] .course-name{color:#94a3b8}.document-picker{margin-top:16px}.document-picker-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.document-picker-header .customize-section-title{margin:0;flex:1}.doc-count{font-weight:400;font-size:14px;color:#5f6368;margin-left:8px}.select-all-btn{padding:6px 12px;background:transparent;border:1px solid #dadce0;border-radius:16px;font-size:12px;font-weight:500;color:#4285f4;cursor:pointer;transition:all .2s}.select-all-btn:hover{background:#e8f0fe;border-color:#4285f4}.document-picker-hint{font-size:13px;color:#5f6368;margin:0 0 12px;font-style:italic}.document-loading{display:flex;align-items:center;gap:8px;padding:16px;color:#5f6368;font-size:14px}.document-empty{padding:16px;color:#9aa0a6;font-size:14px;text-align:center;background:#f8f9fa;border-radius:8px}.document-list{max-height:200px;overflow-y:auto;border:1px solid #e0e0e0;border-radius:8px;background:#fafafa}.document-item{display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer;border-bottom:1px solid #f0f0f0;transition:background .15s}.document-item:last-child{border-bottom:none}.document-item:hover{background:#f0f4f8}.document-item.selected{background:#e8f0fe}.document-item input[type=checkbox]{width:16px;height:16px;accent-color:#4285f4;cursor:pointer}.document-title{flex:1;font-size:13px;color:#202124;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-theme=dark] .doc-count{color:#94a3b8}[data-theme=dark] .select-all-btn{border-color:#475569;color:#60a5fa}[data-theme=dark] .select-all-btn:hover{background:#3b82f633;border-color:#3b82f6}[data-theme=dark] .document-picker-hint{color:#94a3b8}[data-theme=dark] .document-empty{background:#0f172a;color:#64748b}[data-theme=dark] .document-list{background:#0f172a;border-color:#334155}[data-theme=dark] .document-item{border-bottom-color:#1e293b}[data-theme=dark] .document-item:hover{background:#1e293b}[data-theme=dark] .document-item.selected{background:#3b82f626}[data-theme=dark] .document-title{color:#f1f5f9}.mindmap-modal-content{background-color:#fff;border-radius:12px;width:95vw;max-width:1400px;height:80vh;max-height:900px;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000026;border:1px solid #e2e8f0;overflow:hidden;transition:all .3s ease}.modal-overlay.fullscreen-overlay{z-index:9999}.mindmap-modal-content.fullscreen{width:100vw;height:97vh;max-width:100vw;max-height:97vh;border-radius:50;border:none}.mindmap-modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:16px 20px;background-color:#fff;border-bottom:1px solid #e2e8f0}.mindmap-modal-title-section{display:flex;flex-direction:column;gap:4px}.mindmap-modal-title{font-size:18px;font-weight:500;color:#0f172a;margin:0}.mindmap-modal-subtitle{font-size:12px;color:#64748b}.mindmap-modal-actions{display:flex;align-items:center;gap:4px}.mindmap-action-btn{padding:8px;color:#64748b;background:transparent;border:none;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center}.mindmap-action-btn:hover{color:#0f172a;background-color:#f1f5f9}.mindmap-modal-body{flex:1;display:flex;background-color:#f8fafc;position:relative;overflow:hidden}.mindmap-viewer-container{flex:1;position:relative;background-color:#f0f4f8;border-radius:8px;margin:0 16px 16px;border:1px solid #e2e8f0}.mindmap-modal-body *,.mindmap-modal-body *:before,.mindmap-modal-body *:after{transition:none!important}.mindmap-feedback-buttons{position:absolute;bottom:16px;left:16px;display:flex;gap:8px;z-index:10}.mindmap-feedback-btn{display:flex;align-items:center;gap:6px;padding:8px 12px;border-radius:20px;border:1px solid #cbd5e1;background-color:#fff;color:#64748b;font-size:12px;cursor:pointer}.mindmap-feedback-btn:hover{background-color:#f1f5f9;border-color:#94a3b8}.mindmap-feedback-btn.positive:hover{background-color:#22c55e1a;border-color:#22c55e;color:#22c55e}.mindmap-feedback-btn.negative:hover{background-color:#ef44441a;border-color:#ef4444;color:#ef4444}.mindmap-zoom-controls{position:absolute;bottom:16px;right:16px;display:flex;flex-direction:column;gap:4px;z-index:100;pointer-events:auto}.mindmap-zoom-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid #cbd5e1;background-color:#fff;color:#64748b;cursor:pointer}.mindmap-zoom-btn:hover{background-color:#f1f5f9;border-color:#94a3b8;color:#0f172a}.mindmap-loading{display:flex;align-items:center;justify-content:center;height:100%;color:#64748b;font-size:16px}.mindmap-details-modern{width:380px;background:#fff;border-left:1px solid #e2e8f0;display:flex;flex-direction:column;flex-shrink:0}[data-theme=dark] .mindmap-modal-content{background-color:#1e293b;border-color:#334155}[data-theme=dark] .mindmap-modal-header{background-color:#1e293b;border-bottom-color:#334155}[data-theme=dark] .mindmap-modal-title{color:#f1f5f9}[data-theme=dark] .mindmap-modal-subtitle,[data-theme=dark] .mindmap-action-btn{color:#94a3b8}[data-theme=dark] .mindmap-action-btn:hover{color:#f1f5f9;background-color:#334155}[data-theme=dark] .mindmap-modal-body{background-color:#0f172a}[data-theme=dark] .mindmap-viewer-container{background-color:#1e293b;border-color:#334155}[data-theme=dark] .mindmap-feedback-btn{background-color:#1e293b;border-color:#475569;color:#94a3b8}[data-theme=dark] .mindmap-feedback-btn:hover{background-color:#334155;border-color:#60a5fa;color:#f1f5f9}[data-theme=dark] .mindmap-zoom-btn{background-color:#1e293b;border-color:#475569;color:#94a3b8}[data-theme=dark] .mindmap-zoom-btn:hover{background-color:#334155;border-color:#60a5fa;color:#f1f5f9}[data-theme=dark] .mindmap-loading{color:#94a3b8}[data-theme=dark] .mindmap-details-modern{background:#1e293b;border-left-color:#334155}.notecard-modal-content{background-color:#f8f9fa;border-radius:16px;padding:0;width:95%;max-width:900px;height:80vh;display:flex;flex-direction:column;box-shadow:0 24px 48px #0003;overflow:hidden}.notecard-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 32px;background-color:#fff;border-bottom:1px solid #e8eaed}.notecard-modal-title{font-size:20px;font-weight:500;color:#202124;margin:0}.notecard-modal-subtitle{font-size:14px;color:#5f6368;margin:0 0 0 12px}.notecard-modal-close{background:none;border:none;font-size:28px;color:#5f6368;cursor:pointer;padding:0;line-height:1;display:flex;align-items:center;justify-content:center;transition:color .2s}.notecard-modal-close:hover{color:#202124}.notecard-instruction{text-align:center;padding:12px;color:#5f6368;font-size:13px;background-color:#f1f3f4;border-bottom:1px solid #e8eaed}.notecard-container{flex:1;display:flex;align-items:center;justify-content:center;gap:32px;padding:20px;perspective:1000px}.notecard-nav-btn{background:#fff;border:1px solid #dadce0;border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:24px;color:#5f6368;transition:all .2s;box-shadow:0 2px 6px #0000001a}.notecard-nav-btn:hover:not(:disabled){background-color:#f8f9fa;color:#202124;box-shadow:0 4px 8px #00000026}.notecard-nav-btn:disabled{opacity:.5;cursor:default;box-shadow:none}.notecard{width:600px;height:360px;position:relative;cursor:pointer;perspective:1000px}.notecard-inner{position:relative;width:100%;height:100%;text-align:center;transition:transform .6s;transform-style:preserve-3d;box-shadow:0 4px 16px #0000001a;border-radius:24px}.notecard.flipped .notecard-inner{transform:rotateY(180deg)}.notecard-front,.notecard-back{position:absolute;width:100%;height:100%;backface-visibility:hidden;background-color:#fff;border-radius:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;border:1px solid #e8eaed}.notecard-back{transform:rotateY(180deg);background-color:#e8f0fe;border-color:#d2e3fc}.notecard-text{font-size:24px;line-height:1.5;color:#202124;margin:0;max-height:100%;overflow-y:auto}.notecard-flip-hint{margin-top:24px;background:none;border:none;color:#1a73e8;font-size:14px;font-weight:500;cursor:pointer;padding:8px 16px;border-radius:16px;transition:background .2s}.notecard-flip-hint:hover{background-color:#e8f0fe}.notecard-progress{display:flex;justify-content:space-between;align-items:center;padding:16px 32px;background-color:#fff;border-top:1px solid #e8eaed}.notecard-shuffle-btn{display:flex;align-items:center;gap:8px;background:none;border:1px solid #dadce0;padding:8px 16px;border-radius:18px;color:#5f6368;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.notecard-shuffle-btn:hover{background-color:#f8f9fa;color:#202124}.notecard-counter{font-size:14px;font-weight:500;color:#5f6368}.notecard-modal-footer{display:flex;justify-content:center;gap:16px;padding:16px 32px 24px;background-color:#fff}.notecard-action-btn{display:flex;align-items:center;gap:8px;background:none;border:none;color:#5f6368;font-size:14px;cursor:pointer;padding:8px 16px;border-radius:18px;transition:background .2s}.notecard-action-btn:hover{background-color:#f1f3f4;color:#202124}.notecard-modal-notice{text-align:center;font-size:12px;color:#9aa0a6;margin:0;padding:0 32px 16px;background-color:#fff}[data-theme=dark] .notecard-modal-content{background-color:#0f172a}[data-theme=dark] .notecard-modal-header{background-color:#1e293b;border-bottom-color:#334155}[data-theme=dark] .notecard-modal-title{color:#f1f5f9}[data-theme=dark] .notecard-modal-subtitle,[data-theme=dark] .notecard-modal-close{color:#94a3b8}[data-theme=dark] .notecard-modal-close:hover{color:#f1f5f9}[data-theme=dark] .notecard-instruction{background-color:#1e293b;color:#94a3b8;border-bottom-color:#334155}[data-theme=dark] .notecard-nav-btn{background:#334155;border-color:#475569;color:#94a3b8}[data-theme=dark] .notecard-nav-btn:hover:not(:disabled){background-color:#475569;color:#f1f5f9}[data-theme=dark] .notecard-front{background-color:#1e293b;border-color:#334155}[data-theme=dark] .notecard-back{background-color:#3b82f633;border-color:#60a5fa}[data-theme=dark] .notecard-text{color:#f1f5f9}[data-theme=dark] .notecard-flip-hint{color:#60a5fa}[data-theme=dark] .notecard-flip-hint:hover{background-color:#3b82f633}[data-theme=dark] .notecard-progress{background-color:#1e293b;border-top-color:#334155}[data-theme=dark] .notecard-shuffle-btn{border-color:#475569;color:#94a3b8}[data-theme=dark] .notecard-shuffle-btn:hover{background-color:#334155;color:#f1f5f9}[data-theme=dark] .notecard-counter{color:#94a3b8}[data-theme=dark] .notecard-modal-footer{background-color:#1e293b}[data-theme=dark] .notecard-action-btn{color:#94a3b8}[data-theme=dark] .notecard-action-btn:hover{background-color:#334155;color:#f1f5f9}[data-theme=dark] .notecard-modal-notice{background-color:#1e293b;color:#64748b}.quiz-modal-overlay{position:fixed;inset:0;background-color:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease-out}.quiz-modal-content{background-color:#fff;border-radius:16px;width:95%;max-width:800px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 24px 48px #0003;overflow:hidden;animation:slideIn .3s ease-out}.quiz-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 32px;border-bottom:1px solid #e8eaed}.quiz-modal-title{font-size:20px;font-weight:500;color:#202124;margin:0}.quiz-modal-subtitle{font-size:14px;color:#5f6368;margin:0 0 0 12px;flex:1}.quiz-modal-minimize{background:none;border:none;color:#5f6368;cursor:pointer;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s}.quiz-modal-minimize:hover{background-color:#f1f3f4;color:#202124}.quiz-progress-bar{height:4px;background-color:#f1f3f4;width:100%;position:relative}.quiz-progress-indicator{position:absolute;right:32px;top:12px;font-size:14px;font-weight:500;color:#5f6368}.quiz-container{flex:1;overflow-y:auto;padding:32px;display:flex;flex-direction:column;gap:24px}.quiz-question{margin-bottom:8px}.quiz-question-text{font-size:18px;font-weight:500;color:#202124;line-height:1.5;margin:0}.quiz-answers{display:flex;flex-direction:column;gap:12px}.quiz-answer-option{display:flex;align-items:flex-start;gap:16px;padding:16px 20px;background-color:#fff;border:1px solid #dadce0;border-radius:12px;cursor:pointer;text-align:left;transition:all .2s}.quiz-answer-option:hover{background-color:#f8f9fa;border-color:#bdc1c6}.quiz-answer-option.selected{background-color:#e8f0fe;border-color:#1a73e8;box-shadow:0 1px 2px #4285f44d}.quiz-answer-label{font-weight:600;color:#5f6368;min-width:24px}.quiz-answer-option.selected .quiz-answer-label{color:#1a73e8}.quiz-answer-text{font-size:15px;color:#202124;line-height:1.5}.quiz-navigation{display:flex;justify-content:space-between;align-items:center;padding:20px 32px;border-top:1px solid #e8eaed;background-color:#fff}.quiz-nav-btn{padding:10px 24px;border-radius:20px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.quiz-hint-btn{background:none;border:1px solid #dadce0;color:#5f6368}.quiz-hint-btn:hover{background-color:#f8f9fa;color:#202124}.quiz-next-btn,.quiz-submit-btn{background-color:#1a73e8;border:none;color:#fff;box-shadow:0 1px 2px #0000001a}.quiz-next-btn:hover,.quiz-submit-btn:hover{background-color:#185abc;box-shadow:0 2px 4px #0003}.quiz-submit-btn:disabled{background-color:#dadce0;cursor:not-allowed;box-shadow:none}.quiz-modal-footer{display:flex;justify-content:center;gap:16px;padding:0 32px 24px;background-color:#fff}.quiz-feedback-btn{display:flex;align-items:center;gap:8px;background:none;border:none;color:#5f6368;font-size:14px;cursor:pointer;padding:8px 16px;border-radius:18px;transition:background .2s}.quiz-feedback-btn:hover{background-color:#f1f3f4;color:#202124}.quiz-hint-display{display:flex;align-items:flex-start;gap:12px;padding:16px;background:linear-gradient(135deg,#fff9e6,#fff3cd);border:1px solid #ffc107;border-radius:12px;margin-bottom:8px}.quiz-hint-icon{color:#f59e0b;flex-shrink:0;margin-top:2px}.quiz-hint-text{font-size:14px;color:#7c5c00;line-height:1.5;margin:0}.quiz-side-hint-display{padding:12px;border-radius:8px}.quiz-side-hint-display .quiz-hint-text{font-size:13px}.quiz-hint-btn:disabled,.quiz-side-hint-btn:disabled{opacity:.6;cursor:not-allowed}.quiz-hint-btn:disabled:hover,.quiz-side-hint-btn:disabled:hover{background:none}.quiz-hint-btn.hint-active,.quiz-side-hint-btn.hint-active{background-color:#fff3cd;border-color:#ffc107;color:#7c5c00}.quiz-hint-btn.hint-active:hover,.quiz-side-hint-btn.hint-active:hover{background-color:#ffe69c;border-color:#f59e0b}.quiz-side-modal-overlay{position:fixed;bottom:24px;right:24px;z-index:999;animation:slideUp .3s ease-out}.quiz-side-modal-content{background-color:#fff;border-radius:12px;width:360px;max-height:600px;display:flex;flex-direction:column;box-shadow:0 8px 24px #00000026,0 2px 6px #0000001a;overflow:hidden;border:1px solid #e8eaed}.quiz-side-modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background-color:#f8f9fa;border-bottom:1px solid #e8eaed}.quiz-side-modal-title{font-size:16px;font-weight:500;color:#202124;margin:0}.quiz-side-modal-actions{display:flex;gap:8px}.quiz-side-expand-btn,.quiz-side-modal-close{background:none;border:none;color:#5f6368;cursor:pointer;padding:4px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s}.quiz-side-expand-btn:hover,.quiz-side-modal-close:hover{background-color:#e8eaed;color:#202124}.quiz-side-progress-bar{padding:8px 16px;background-color:#fff;border-bottom:1px solid #f1f3f4}.quiz-side-progress-text{font-size:12px;color:#5f6368;font-weight:500}.quiz-side-container{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:16px;max-height:400px}.quiz-side-question-text{font-size:15px;font-weight:500;color:#202124;line-height:1.5;margin:0}.quiz-side-answers{display:flex;flex-direction:column;gap:8px}.quiz-side-answer-option{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;background-color:#fff;border:1px solid #dadce0;border-radius:8px;cursor:pointer;text-align:left;transition:all .2s}.quiz-side-answer-option:hover{background-color:#f8f9fa;border-color:#bdc1c6}.quiz-side-answer-option.selected{background-color:#e8f0fe;border-color:#1a73e8}.quiz-side-answer-label{font-weight:600;color:#5f6368;font-size:13px;min-width:16px}.quiz-side-answer-option.selected .quiz-side-answer-label{color:#1a73e8}.quiz-side-answer-text{font-size:13px;color:#202124;line-height:1.4}.quiz-side-navigation{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-top:1px solid #e8eaed;background-color:#fff}.quiz-side-nav-btn{padding:6px 16px;border-radius:16px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.quiz-side-hint-btn{background:none;border:1px solid #dadce0;color:#5f6368}.quiz-side-hint-btn:hover{background-color:#f8f9fa;color:#202124}.quiz-side-next-btn,.quiz-side-submit-btn{background-color:#1a73e8;border:none;color:#fff}.quiz-side-next-btn:hover,.quiz-side-submit-btn:hover{background-color:#185abc}.quiz-side-submit-btn:disabled{background-color:#dadce0;cursor:not-allowed}.quiz-side-feedback-btn{display:flex;align-items:center;gap:6px;background:none;border:none;color:#5f6368;font-size:12px;cursor:pointer;padding:6px 12px;border-radius:14px;transition:background .2s}.quiz-side-feedback-btn:hover{background-color:#f1f3f4;color:#202124}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}[data-theme=dark] .quiz-modal-content{background-color:#1e293b}[data-theme=dark] .quiz-modal-header{border-bottom-color:#334155}[data-theme=dark] .quiz-modal-title{color:#f1f5f9}[data-theme=dark] .quiz-modal-subtitle,[data-theme=dark] .quiz-modal-minimize{color:#94a3b8}[data-theme=dark] .quiz-modal-minimize:hover{background-color:#334155;color:#f1f5f9}[data-theme=dark] .quiz-progress-bar{background-color:#334155}[data-theme=dark] .quiz-progress-indicator{color:#94a3b8}[data-theme=dark] .quiz-question-text{color:#f1f5f9}[data-theme=dark] .quiz-answer-option{background-color:#0f172a;border-color:#334155}[data-theme=dark] .quiz-answer-option:hover{background-color:#1e293b;border-color:#475569}[data-theme=dark] .quiz-answer-option.selected{background-color:#3b82f633;border-color:#60a5fa}[data-theme=dark] .quiz-answer-label{color:#94a3b8}[data-theme=dark] .quiz-answer-option.selected .quiz-answer-label{color:#60a5fa}[data-theme=dark] .quiz-answer-text{color:#e2e8f0}[data-theme=dark] .quiz-navigation{border-top-color:#334155;background-color:#1e293b}[data-theme=dark] .quiz-hint-btn{border-color:#475569;color:#94a3b8}[data-theme=dark] .quiz-hint-btn:hover{background-color:#334155;color:#f1f5f9}[data-theme=dark] .quiz-modal-footer{background-color:#1e293b}[data-theme=dark] .quiz-feedback-btn{color:#94a3b8}[data-theme=dark] .quiz-feedback-btn:hover{background-color:#334155;color:#f1f5f9}[data-theme=dark] .quiz-side-modal-content{background-color:#1e293b;border-color:#334155}[data-theme=dark] .quiz-side-modal-header{background-color:#0f172a;border-bottom-color:#334155}[data-theme=dark] .quiz-side-modal-title{color:#f1f5f9}[data-theme=dark] .quiz-side-expand-btn,[data-theme=dark] .quiz-side-modal-close{color:#94a3b8}[data-theme=dark] .quiz-side-expand-btn:hover,[data-theme=dark] .quiz-side-modal-close:hover{background-color:#334155;color:#f1f5f9}[data-theme=dark] .quiz-side-progress-bar{background-color:#1e293b;border-bottom-color:#334155}[data-theme=dark] .quiz-side-progress-text{color:#94a3b8}[data-theme=dark] .quiz-side-question-text{color:#f1f5f9}[data-theme=dark] .quiz-side-answer-option{background-color:#0f172a;border-color:#334155}[data-theme=dark] .quiz-side-answer-option:hover{background-color:#1e293b;border-color:#475569}[data-theme=dark] .quiz-side-answer-option.selected{background-color:#3b82f633;border-color:#60a5fa}[data-theme=dark] .quiz-side-answer-label{color:#94a3b8}[data-theme=dark] .quiz-side-answer-option.selected .quiz-side-answer-label{color:#60a5fa}[data-theme=dark] .quiz-side-answer-text{color:#e2e8f0}[data-theme=dark] .quiz-side-navigation{border-top-color:#334155;background-color:#1e293b}[data-theme=dark] .quiz-side-hint-btn{border-color:#475569;color:#94a3b8}[data-theme=dark] .quiz-side-hint-btn:hover{background-color:#334155;color:#f1f5f9}[data-theme=dark] .quiz-side-feedback-btn{color:#94a3b8}[data-theme=dark] .quiz-side-feedback-btn:hover{background-color:#334155;color:#f1f5f9}.share-modal-content{background-color:#fff;border-radius:12px;padding:0;width:100%;max-width:520px;box-shadow:0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f,0 11px 15px -7px #0003;display:flex;flex-direction:column;animation:zoomIn .2s ease-out}.share-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px}.share-modal-title-section{display:flex;align-items:center;gap:12px}.share-modal-title{font-size:22px;font-weight:400;color:#202124;margin:0}.share-modal-close{background:none;border:none;font-size:28px;color:#5f6368;cursor:pointer;padding:0;line-height:1;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.share-modal-close:hover{background-color:#f1f3f4}.share-modal-body{padding:0 24px 24px;display:flex;flex-direction:column;gap:24px}.share-input-section{margin-bottom:8px}.share-email-input{width:100%;padding:12px 16px;border:1px solid #dadce0;border-radius:4px;font-size:14px;color:#202124;transition:border-color .2s}.share-email-input:focus{outline:none;border-color:#1a73e8;border-width:2px;padding:11px 15px}.share-section-title{font-size:14px;font-weight:500;color:#202124;margin:0 0 12px}.share-user-item{display:flex;align-items:center;gap:12px;padding:4px 0}.share-user-avatar img{width:40px;height:40px;border-radius:50%}.share-user-info{flex:1;min-width:0}.share-user-name{font-size:14px;font-weight:500;color:#202124}.share-user-email{font-size:12px;color:#5f6368;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.share-user-role{color:#5f6368;font-size:13px}.share-role-select{border:none;background:none;color:#5f6368;font-size:13px;cursor:default;padding:4px}.share-access-control{display:flex;align-items:center;gap:16px;position:relative}.share-access-icon{width:40px;height:40px;background-color:#f1f3f4;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;color:#5f6368}.share-access-info{flex:1}.share-access-title{font-size:14px;font-weight:500;color:#202124}.share-access-description{font-size:12px;color:#5f6368}.share-access-dropdown{background:none;border:none;cursor:pointer;color:#5f6368;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center}.share-access-dropdown:hover{background-color:#f1f3f4}.share-access-dropdown-menu{position:absolute;top:100%;right:0;width:320px;background:#fff;border-radius:4px;box-shadow:0 2px 6px 2px #3c404326;padding:8px 0;z-index:100}.share-access-option{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;width:100%;border:none;background:none;text-align:left;cursor:pointer}.share-access-option:hover{background-color:#f1f3f4}.share-access-option.active{background-color:#e8f0fe}.share-access-option-icon{font-size:18px;margin-top:2px}.share-access-option-info{flex:1}.share-access-option-title{font-size:14px;color:#202124;margin-bottom:2px}.share-access-option-desc{font-size:12px;color:#5f6368}.share-access-option-check{color:#1a73e8;font-weight:700}.share-modal-footer{padding:16px 24px;border-top:1px solid #e8eaed;display:flex;justify-content:space-between;align-items:center;background-color:#f8f9fa;border-radius:0 0 12px 12px}.share-copy-link-btn{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #dadce0;padding:8px 16px;border-radius:4px;color:#1a73e8;font-weight:500;font-size:14px;cursor:pointer;transition:background-color .2s}.share-copy-link-btn:hover{background-color:#f1f3f4;border-color:#d2e3fc;background-color:#e8f0fe}.share-done-btn{background-color:#1a73e8;color:#fff;border:none;padding:8px 24px;border-radius:4px;font-weight:500;font-size:14px;cursor:pointer;transition:background-color .2s}.share-done-btn:hover{background-color:#185abc;box-shadow:0 1px 2px #3c40434d}@keyframes zoomIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.chat-content::-webkit-scrollbar{width:8px}.chat-content::-webkit-scrollbar-track{background:transparent}.chat-content::-webkit-scrollbar-thumb{background:#5f6368;border-radius:4px}.chat-content::-webkit-scrollbar-thumb:hover{background:#80868b}.studio-content::-webkit-scrollbar{width:6px}.studio-content::-webkit-scrollbar-track{background:transparent}.studio-content::-webkit-scrollbar-thumb{background:#5f6368;border-radius:3px}.studio-content::-webkit-scrollbar-thumb:hover{background:#80868b}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}:root{--primary-color: #3b82f6;--primary-hover: #2563eb;--background-color: #ffffff;--background-secondary: #f0f4f8;--text-color: #0f172a;--text-secondary: #64748b;--border-color: #cbd5e1;--sidebar-bg: #e2e8f0;--hover-bg: #f1f5f9;--header-bg: #ffffff;--header-border: #e2e8f0;--header-text: #64748b;--icon-color: #64748b;--success-color: #22c55e;--error-color: #ef4444;--warning-color: #f59e0b;--card-bg: #ffffff;--card-border: #e2e8f0;--input-bg: #ffffff;--input-border: #cbd5e1;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07)}.youtube-resources-section{margin-top:24px;padding:20px;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-radius:12px;border:1px solid #cbd5e1;box-shadow:0 4px 16px #0000000f}.youtube-resources-title{font-size:18px;font-weight:600;color:#1e293b;margin:0 0 16px;display:flex;align-items:center;gap:8px}.youtube-resources-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.youtube-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #00000014;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;display:flex;flex-direction:column;border:1px solid #e2e8f0}.youtube-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0000001f;border-color:#3b82f6}.youtube-thumbnail{position:relative;width:100%;aspect-ratio:16 / 9;background:#f1f5f9;overflow:hidden}.youtube-thumbnail img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .3s ease}.youtube-card:hover .youtube-thumbnail img{transform:scale(1.05)}.youtube-play-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0000004d;opacity:0;transition:opacity .3s ease}.youtube-card:hover .youtube-play-overlay{opacity:1}.play-icon{width:56px;height:56px;background:#ff0000e6;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:24px;padding-left:4px;transition:transform .2s ease}.youtube-card:hover .play-icon{transform:scale(1.1)}.youtube-info{padding:12px;flex:1;display:flex;flex-direction:column;gap:6px;background:#fff}.youtube-video-title{font-size:14px;font-weight:500;color:#1e293b;margin:0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.youtube-channel{font-size:13px;color:#64748b;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-theme=dark] .youtube-resources-section{background:linear-gradient(135deg,#1e293b,#0f172a);border-color:#334155;box-shadow:0 4px 16px #0000004d}[data-theme=dark] .youtube-resources-title{color:#e4e6ea}[data-theme=dark] .youtube-card{background:#0f172a99;border-color:#334155;box-shadow:0 2px 8px #0000004d}[data-theme=dark] .youtube-card:hover{box-shadow:0 8px 20px #0006;border-color:#3b82f6}[data-theme=dark] .youtube-thumbnail{background:#0f172a}[data-theme=dark] .youtube-info{background:#0f172a99}[data-theme=dark] .youtube-video-title{color:#e4e6ea}[data-theme=dark] .youtube-channel{color:#8b949e}@media(max-width:768px){.youtube-resources-grid{grid-template-columns:1fr}}.cpf-container{width:100%;--cpf-bg-card: var(--pf-bg-card, #ffffff);--cpf-bg-input: var(--pf-bg-input, #ffffff);--cpf-bg-field: var(--pf-bg-field, #f8fafc);--cpf-text-primary: var(--pf-text-primary, #1a1a2e);--cpf-text-secondary: var(--pf-text-secondary, #64748b);--cpf-text-muted: var(--pf-text-muted, #94a3b8);--cpf-border: var(--pf-border, #e2e8f0);--cpf-border-input: var(--pf-border-input, #d1d5db);--cpf-border-focus: var(--pf-border-focus, #667eea);--cpf-accent: var(--pf-accent, #667eea);--cpf-accent-light: var(--pf-accent-light, rgba(102, 126, 234, .1));--cpf-shadow: var(--pf-shadow-card, 0 4px 6px -1px rgba(0, 0, 0, .08));--cpf-shadow-btn: var(--pf-shadow-btn, 0 4px 15px rgba(102, 126, 234, .35))}[data-theme=dark] .cpf-container{--cpf-bg-card: #1e293b;--cpf-bg-input: #0f172a;--cpf-bg-field: rgba(15, 23, 42, .8);--cpf-text-primary: #f1f5f9;--cpf-text-secondary: #94a3b8;--cpf-text-muted: #64748b;--cpf-border: #334155;--cpf-border-input: #475569;--cpf-border-focus: #3b82f6;--cpf-accent: #3b82f6;--cpf-accent-light: rgba(59, 130, 246, .15);--cpf-shadow: 0 4px 15px rgba(0, 0, 0, .3);--cpf-shadow-btn: 0 4px 20px rgba(59, 130, 246, .4)}.pf-embedded .cpf-container,[data-theme=dark] .pf-embedded .cpf-container{--cpf-bg-card: #ffffff;--cpf-bg-input: #ffffff;--cpf-bg-field: #f8fafc;--cpf-text-primary: #1a1a2e;--cpf-text-secondary: #64748b;--cpf-text-muted: #94a3b8;--cpf-border: #e2e8f0;--cpf-border-input: #d1d5db;--cpf-border-focus: #3b82f6;--cpf-accent: #3b82f6;--cpf-accent-light: rgba(59, 130, 246, .1);--cpf-shadow: 0 4px 6px -1px rgba(0, 0, 0, .08);--cpf-shadow-btn: 0 4px 15px rgba(59, 130, 246, .35)}.cpf-card{background:var(--cpf-bg-card);border-radius:24px;box-shadow:var(--cpf-shadow);border:1px solid var(--cpf-border);overflow:hidden}.cpf-header{display:flex;align-items:center;gap:20px;padding:28px 32px;background:var(--cpf-accent);color:#fff}.cpf-header-icon{width:56px;height:56px;border-radius:16px;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;flex-shrink:0}.cpf-header-text{flex:1}.cpf-title{font-size:22px;font-weight:700;margin:0 0 4px;letter-spacing:-.3px}.cpf-subtitle{font-size:14px;margin:0;opacity:.9}.cpf-form{padding:32px}.cpf-fields{display:flex;flex-direction:column;gap:24px}.cpf-field{display:flex;flex-direction:column;gap:10px}.cpf-label{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:var(--cpf-text-secondary);text-transform:uppercase;letter-spacing:.5px}.cpf-label svg{color:var(--cpf-accent)}.cpf-input-wrapper{position:relative;display:flex;align-items:center}.cpf-input{width:100%;padding:16px 50px 16px 18px;font-size:15px;color:var(--cpf-text-primary);background:var(--cpf-bg-input);border:2px solid var(--cpf-border-input);border-radius:14px;outline:none;transition:all .3s ease;font-family:inherit}.cpf-input::-moz-placeholder{color:var(--cpf-text-muted)}.cpf-input::placeholder{color:var(--cpf-text-muted)}.cpf-input:focus{border-color:var(--cpf-border-focus);box-shadow:0 0 0 4px var(--cpf-accent-light)}.cpf-input:disabled{opacity:.6;cursor:not-allowed}.cpf-field-error .cpf-input{border-color:#ef4444}.cpf-field-error .cpf-input:focus{box-shadow:0 0 0 4px #ef444426}.cpf-error{font-size:12px;color:#ef4444;display:flex;align-items:center;gap:6px;margin-top:4px}.cpf-toggle-btn{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--cpf-text-muted);cursor:pointer;padding:6px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.cpf-toggle-btn:hover{color:var(--cpf-accent);background:var(--cpf-accent-light)}.cpf-hint{margin-top:20px;padding:14px 18px;background:var(--cpf-accent-light);border-radius:12px;border-left:4px solid var(--cpf-accent)}.cpf-hint p{margin:0;font-size:13px;color:var(--cpf-text-secondary)}.cpf-submit-btn{margin-top:28px;width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 28px;font-size:15px;font-weight:600;color:#fff;background:var(--cpf-accent);border:none;border-radius:14px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--cpf-shadow-btn)}.cpf-submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #667eea73}.cpf-submit-btn:active:not(:disabled){transform:translateY(0)}.cpf-submit-btn:disabled{opacity:.7;cursor:not-allowed}.cpf-spinner{animation:cpf-spin 1s linear infinite}@keyframes cpf-spin{to{transform:rotate(360deg)}}@media(max-width:768px){.cpf-header{flex-direction:column;text-align:center;padding:24px}.cpf-form{padding:24px}.cpf-fields{gap:20px}}.academic-section{background:linear-gradient(145deg,#1e293bcc,#0f172ae6);border-radius:16px;padding:24px;margin-top:24px;border:1px solid rgba(99,102,241,.2)}.academic-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.academic-section-title{display:flex;align-items:center;gap:12px;font-size:1.25rem;font-weight:600;color:#f1f5f9}.academic-section-title svg{color:#818cf8}.semester-banner{display:flex;align-items:center;gap:16px;padding:16px 20px;margin-bottom:20px;background:linear-gradient(135deg,#6366f11a,#8b5cf614);border-radius:12px;border:1px solid rgba(99,102,241,.25)}.semester-banner.warning{background:linear-gradient(135deg,#fbbf241a,#f59e0b14);border-color:#fbbf2466}.semester-banner-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:linear-gradient(135deg,#6366f133,#8b5cf626);border-radius:10px;color:#818cf8;flex-shrink:0}.semester-banner.warning .semester-banner-icon{background:linear-gradient(135deg,#fbbf2433,#f59e0b26);color:#fbbf24}.semester-banner-content{flex:1;min-width:0}.semester-banner-title{display:flex;align-items:center;gap:8px;font-size:.95rem;font-weight:500;color:#f1f5f9}.semester-banner-title strong{color:#818cf8}.semester-banner.warning .semester-banner-title strong,.semester-banner-title .warning-icon{color:#fbbf24}.semester-banner-subtitle{margin-top:4px;font-size:.8rem;color:#94a3b8}.semester-banner-subtitle strong{color:#e2e8f0}.semester-banner-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.semester-sync-btn,.semester-edit-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.semester-sync-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.semester-sync-btn:hover:not(:disabled){background:linear-gradient(135deg,#4f46e5,#7c3aed);transform:translateY(-1px)}.semester-edit-btn{background:#4755694d;color:#cbd5e1;border:1px solid rgba(71,85,105,.5)}.semester-edit-btn:hover:not(:disabled){background:#47556980;border-color:#6366f166;color:#f1f5f9}.semester-sync-btn:disabled,.semester-edit-btn:disabled{opacity:.6;cursor:not-allowed}.semester-edit-group{display:flex;align-items:center;gap:6px}.semester-select{padding:6px 10px;background:#0f172ae6;border:1px solid rgba(99,102,241,.4);border-radius:6px;color:#f1f5f9;font-size:.85rem;cursor:pointer}.semester-select:focus{outline:none;border-color:#6366f1}.semester-action-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:6px;border:none;cursor:pointer;transition:all .2s ease}.semester-action-btn.save{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.semester-action-btn.save:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857)}.semester-action-btn.cancel{background:#47556966;color:#94a3b8}.semester-action-btn.cancel:hover:not(:disabled){background:#ef444433;color:#f87171}.semester-action-btn:disabled{opacity:.6;cursor:not-allowed}.gpa-row{display:flex;align-items:stretch;justify-content:center;gap:24px;margin-bottom:20px}.gpa-card{background:linear-gradient(135deg,#6366f126,#8b5cf61a);border-radius:16px;padding:28px 48px;text-align:center;border:1px solid rgba(99,102,241,.3);flex-shrink:0}.gpa-actions-column{display:flex;flex-direction:column;gap:12px;flex:1;max-width:280px;justify-content:center}.gpa-value{font-size:3rem;font-weight:800;background:linear-gradient(135deg,#818cf8,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.gpa-label{font-size:.8rem;color:#a5b4fc;margin-top:6px;text-transform:uppercase;letter-spacing:.5px}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;width:100%}.stat-item{background:#0f172a99;border-radius:12px;padding:20px 16px;text-align:center;border:1px solid rgba(71,85,105,.3);transition:all .2s ease}.stat-item:hover{border-color:#6366f166;transform:translateY(-2px)}.stat-value{font-size:1.75rem;font-weight:700;color:#f1f5f9}.stat-value.success{color:#4ade80}.stat-value.warning{color:#fbbf24}.stat-value.danger{color:#f87171}.stat-value.info{color:#60a5fa}.stat-label{font-size:.8rem;color:#d7dce4!important;margin-top:6px}.academic-actions-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px;width:100%}.upload-section{display:flex;align-items:center}.update-transcript-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;width:100%;background:#6366f11a;border:1px solid rgba(99,102,241,.3);border-radius:10px;color:#a5b4fc;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.update-transcript-btn:hover:not(:disabled){background:#6366f133;border-color:#6366f180}.update-transcript-btn:disabled{opacity:.6;cursor:not-allowed}.update-transcript-btn svg{flex-shrink:0}.specialization-section{margin-top:20px;padding-top:20px;border-top:1px solid rgba(71,85,105,.3)}.specialization-inline{display:flex;align-items:center}.specialization-current{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#6366f11a;border-radius:10px;border:1px solid rgba(99,102,241,.3)}.specialization-badge{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;padding:4px 12px;border-radius:20px;font-size:.8rem;font-weight:600}.specialization-name{color:#f1f5f9;font-weight:500}.specialization-select,.specialization-select-compact{width:100%;padding:12px 16px;background:#0f172acc;border:1px solid rgba(71,85,105,.5);border-radius:10px;color:#f1f5f9;font-size:.9rem;cursor:pointer;transition:all .2s ease}.specialization-select-compact{width:100%;padding:12px 36px 12px 20px;background-color:#6366f11a;border:1px solid rgba(99,102,241,.3);border-radius:10px;color:#a5b4fc;font-size:.9rem;font-weight:500;cursor:pointer;transition:background-color .2s ease,border-color .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23a5b4fc' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;text-align:center;-moz-text-align-last:center;text-align-last:center}.specialization-select-compact option{background-color:#1e293b;color:#e2e8f0;padding:12px;text-align:left}.specialization-select-compact option:checked{background-color:#6366f180;color:#fff;font-weight:600}.specialization-select:hover{border-color:#6366f180}.specialization-select-compact:hover{background-color:#6366f133;border-color:#6366f180}.specialization-select:focus,.specialization-select-compact:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f133}.specialization-select-compact{background-size:16px 16px;transition:background-color .2s ease,border-color .2s ease}.specialization-select-compact.open{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23a5b4fc' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m18 15-6-6-6 6'/%3E%3C/svg%3E");border-color:#6366f1;box-shadow:0 0 0 3px #6366f133}.no-specialization{color:#a5b4fc;font-size:.9rem;padding:12px 20px;background:#6366f11a;border-radius:10px;border:1px dashed rgba(99,102,241,.3);text-align:center}.transcript-upload{margin-top:20px}.upload-dropzone{border:2px dashed rgba(99,102,241,.4);border-radius:12px;padding:32px;text-align:center;cursor:pointer;transition:all .3s ease;background:#6366f10d}.upload-dropzone:hover{border-color:#6366f1b3;background:#6366f11a}.upload-dropzone.dragging{border-color:#6366f1;background:#6366f126}.upload-icon{width:48px;height:48px;margin:0 auto 12px;color:#818cf8}.upload-text{color:#94a3b8;font-size:.95rem}.upload-text strong{color:#818cf8}.upload-hint{font-size:.8rem;color:#64748b;margin-top:8px}.upload-progress{margin-top:16px}.progress-bar{height:6px;background:#4755694d;border-radius:3px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:3px;transition:width .3s ease}.grades-section{margin-top:24px}.grades-filter{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}.filter-btn{padding:8px 16px;border-radius:20px;border:2px solid rgba(71,85,105,.5);background:transparent;color:#94a3b8;cursor:pointer;transition:all .2s ease;font-size:.85rem}.filter-btn:hover{border-color:#6366f180;color:#f1f5f9}.filter-btn.active{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-color:transparent;color:#fff}.grades-table-container{overflow-x:auto;border-radius:10px;border:1px solid rgba(71,85,105,.3)}.grades-table{width:100%;border-collapse:collapse;font-size:.9rem}.grades-table th,.grades-table td{padding:12px 16px;text-align:left;border-bottom:1px solid rgba(71,85,105,.2)}.grades-table th{background:#0f172acc;color:#94a3b8;font-weight:600;text-transform:uppercase;font-size:.75rem;letter-spacing:.5px}.grades-table td{color:#f1f5f9}.grades-table tr:hover{background:#6366f10d}.grade-badge{display:inline-block;padding:4px 12px;border-radius:16px;font-weight:600;font-size:.85rem}.grade-badge.excellent{background:#10b98133;color:#34d399}.grade-badge.good{background:#3b82f633;color:#60a5fa}.grade-badge.average{background:#fbbf2433;color:#fbbf24}.grade-badge.poor{background:#ef444433;color:#f87171}.grade-badge.studying{background:#8b5cf633;color:#a78bfa}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:12px;font-size:.8rem}.status-badge.passed{background:#10b98126;color:#34d399}.status-badge.failed{background:#ef444426;color:#f87171}.status-badge.studying{background:#fbbf2426;color:#fbbf24}.status-badge.not-started{background:#94a3b826;color:#94a3b8}.no-transcript{text-align:center;padding:40px 20px}.no-transcript-icon{width:64px;height:64px;margin:0 auto 16px;color:#64748b}.no-transcript-title{font-size:1.1rem;font-weight:600;color:#f1f5f9;margin-bottom:8px}.no-transcript-text{color:#94a3b8;font-size:.9rem;margin-bottom:20px}.skeleton{background:linear-gradient(90deg,#47556933 25%,#47556966,#47556933 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:8px}@media(max-width:768px){.gpa-row{flex-direction:column;align-items:center;gap:16px}.gpa-actions-column{max-width:100%;width:100%}.gpa-card{padding:20px 32px}.gpa-value{font-size:2.5rem}.stats-grid{gap:10px}.stat-item{padding:16px 12px}.stat-value{font-size:1.5rem}.update-transcript-btn,.specialization-select-compact{width:100%}.grades-table{font-size:.8rem}.grades-table th,.grades-table td{padding:8px 10px}}:root:not([data-theme=dark]) .academic-section,[data-theme=light] .academic-section{background:linear-gradient(145deg,#fff,#f8fafc);border-color:#6366f126;box-shadow:0 4px 20px #0000000d}:root:not([data-theme=dark]) .academic-section-title,[data-theme=light] .academic-section-title{color:#1e293b}:root:not([data-theme=dark]) .semester-banner,[data-theme=light] .semester-banner{background:linear-gradient(135deg,#6366f114,#8b5cf60d);border-color:#6366f133}:root:not([data-theme=dark]) .semester-banner-title,[data-theme=light] .semester-banner-title{color:#1e293b}:root:not([data-theme=dark]) .semester-banner-subtitle,[data-theme=light] .semester-banner-subtitle{color:#64748b}:root:not([data-theme=dark]) .gpa-card,[data-theme=light] .gpa-card{background:linear-gradient(135deg,#6366f11a,#8b5cf614);border-color:#6366f140}:root:not([data-theme=dark]) .gpa-value,[data-theme=light] .gpa-value{color:#6366f1}:root:not([data-theme=dark]) .gpa-label,[data-theme=light] .gpa-label{color:#64748b}:root:not([data-theme=dark]) .stat-item,[data-theme=light] .stat-item{background:#f8fafc}:root:not([data-theme=dark]) .stat-label,[data-theme=light] .stat-label{color:#64748b!important}:root:not([data-theme=dark]) .update-transcript-btn,[data-theme=light] .update-transcript-btn{background:#6366f114;border-color:#6366f140;color:#6366f1}:root:not([data-theme=dark]) .update-transcript-btn:hover:not(:disabled),[data-theme=light] .update-transcript-btn:hover:not(:disabled){background:#6366f126}:root:not([data-theme=dark]) .specialization-select-compact,[data-theme=light] .specialization-select-compact{background-color:#6366f114;border-color:#6366f140;color:#6366f1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236366f1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}:root:not([data-theme=dark]) .specialization-select-compact.open,[data-theme=light] .specialization-select-compact.open{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236366f1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m18 15-6-6-6 6'/%3E%3C/svg%3E")}:root:not([data-theme=dark]) .specialization-select-compact option,[data-theme=light] .specialization-select-compact option{background-color:#fff;color:#1e293b;text-align:left}:root:not([data-theme=dark]) .specialization-select-compact option:checked,[data-theme=light] .specialization-select-compact option:checked{background-color:#6366f126;color:#4f46e5}:root:not([data-theme=dark]) .no-specialization,[data-theme=light] .no-specialization{background:#6366f114;border-color:#6366f133;color:#6366f1}:root:not([data-theme=dark]) .transcript-upload,[data-theme=light] .transcript-upload{background:linear-gradient(135deg,#6366f10d,#8b5cf608);border-color:#6366f133}:root:not([data-theme=dark]) .upload-icon-circle,[data-theme=light] .upload-icon-circle{background:#6366f11a}:root:not([data-theme=dark]) .upload-title,[data-theme=light] .upload-title{color:#1e293b}:root:not([data-theme=dark]) .upload-subtitle,[data-theme=light] .upload-subtitle{color:#64748b}:root:not([data-theme=dark]) .grades-section-title,[data-theme=light] .grades-section-title{color:#1e293b}:root:not([data-theme=dark]) .grades-table-wrapper,[data-theme=light] .grades-table-wrapper{background:#fff;border-color:#94a3b833}:root:not([data-theme=dark]) .grades-table th,[data-theme=light] .grades-table th{background:#f8fafc;color:#64748b;border-color:#94a3b833}:root:not([data-theme=dark]) .grades-table td,[data-theme=light] .grades-table td{color:#1e293b;border-color:#94a3b826}:root:not([data-theme=dark]) .grades-table tbody tr:hover,[data-theme=light] .grades-table tbody tr:hover{background:#6366f10a}:root:not([data-theme=dark]) .semester-filter select,[data-theme=light] .semester-filter select{background:#fff;border-color:#94a3b84d;color:#1e293b}:root:not([data-theme=dark]) .semester-edit-btn,[data-theme=light] .semester-edit-btn{background:#6366f114;color:#6366f1;border:1px solid rgba(99,102,241,.25)}:root:not([data-theme=dark]) .semester-edit-btn:hover:not(:disabled),[data-theme=light] .semester-edit-btn:hover:not(:disabled){background:#6366f126;border-color:#6366f166;color:#4f46e5}:root:not([data-theme=dark]) .semester-select,[data-theme=light] .semester-select{background:#fff;border-color:#6366f14d;color:#1e293b}:root:not([data-theme=dark]) .semester-action-btn,[data-theme=light] .semester-action-btn{background:#6366f11a;border-color:#6366f140}:root:not([data-theme=dark]) .semester-action-btn.save,[data-theme=light] .semester-action-btn.save{background:#22c55e1a;color:#16a34a;border-color:#22c55e4d}:root:not([data-theme=dark]) .semester-action-btn.cancel,[data-theme=light] .semester-action-btn.cancel{background:#ef44441a;color:#dc2626;border-color:#ef44444d}:root:not([data-theme=dark]) .filter-btn,[data-theme=light] .filter-btn{background:#fff;border-color:#94a3b84d;color:#475569}:root:not([data-theme=dark]) .filter-btn:hover,[data-theme=light] .filter-btn:hover{background:#6366f114;border-color:#6366f14d;color:#6366f1!important}:root:not([data-theme=dark]) .filter-btn.active,[data-theme=light] .filter-btn.active{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-color:transparent;color:#fff!important}:root:not([data-theme=dark]) .stat-item h4,[data-theme=light] .stat-item h4{color:#1e293b}:root:not([data-theme=dark]) [style*="color: #f1f5f9"],[data-theme=light] [style*="color: #f1f5f9"]{color:#1e293b!important}:root:not([data-theme=dark]) [style*="color: #e2e8f0"],[data-theme=light] [style*="color: #e2e8f0"]{color:#334155!important}:root:not([data-theme=dark]) [style*="color: #cbd5e1"],[data-theme=light] [style*="color: #cbd5e1"]{color:#475569!important}:root:not([data-theme=dark]) [style*="color: #94a3b8"],[data-theme=light] [style*="color: #94a3b8"]{color:#64748b!important}.subject-name{color:#d7dce4!important;font-size:.85rem}:root:not([data-theme=dark]) .subject-name,[data-theme=light] .subject-name{color:#64748b!important}.pf-page{min-height:100vh;background:var(--pf-bg-page);font-family:Google Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;--pf-bg-page: #f0f2f5;--pf-bg-card: #ffffff;--pf-bg-card-gradient: linear-gradient(145deg, #ffffff 0%, #f8fafc 100%);--pf-bg-input: #ffffff;--pf-bg-field: #f8fafc;--pf-bg-avatar-section: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--pf-bg-nav: #ffffff;--pf-bg-nav-hover: #f1f5f9;--pf-bg-nav-active: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--pf-bg-btn-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--pf-bg-btn-ghost: #f1f5f9;--pf-text-primary: #1a1a2e;--pf-text-secondary: #64748b;--pf-text-muted: #94a3b8;--pf-text-nav: #475569;--pf-text-nav-active: #ffffff;--pf-border: #e2e8f0;--pf-border-input: #d1d5db;--pf-border-focus: #667eea;--pf-shadow-card: 0 4px 6px -1px rgba(0, 0, 0, .08), 0 2px 4px -1px rgba(0, 0, 0, .04);--pf-shadow-card-hover: 0 10px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -5px rgba(0, 0, 0, .04);--pf-shadow-nav: 0 4px 15px rgba(0, 0, 0, .05);--pf-shadow-btn: 0 4px 15px rgba(102, 126, 234, .35);--pf-shadow-avatar: 0 8px 32px rgba(102, 126, 234, .25);--pf-accent: #667eea;--pf-accent-light: rgba(102, 126, 234, .1)}[data-theme=dark] .pf-page{--pf-bg-page: #0f172a;--pf-bg-card: #1e293b;--pf-bg-card-gradient: linear-gradient(145deg, #1e293b 0%, #0f172a 100%);--pf-bg-input: #0f172a;--pf-bg-field: rgba(15, 23, 42, .8);--pf-bg-avatar-section: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);--pf-bg-nav: #1e293b;--pf-bg-nav-hover: rgba(59, 130, 246, .1);--pf-bg-nav-active: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);--pf-bg-btn-primary: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 100%);--pf-bg-btn-ghost: rgba(51, 65, 85, .6);--pf-text-primary: #f1f5f9;--pf-text-secondary: #94a3b8;--pf-text-muted: #64748b;--pf-text-nav: #94a3b8;--pf-text-nav-active: #ffffff;--pf-border: #334155;--pf-border-input: #475569;--pf-border-focus: #3b82f6;--pf-shadow-card: 0 4px 15px rgba(0, 0, 0, .3);--pf-shadow-card-hover: 0 15px 35px rgba(0, 0, 0, .4);--pf-shadow-nav: 0 4px 20px rgba(0, 0, 0, .3);--pf-shadow-btn: 0 4px 20px rgba(59, 130, 246, .4);--pf-shadow-avatar: 0 8px 32px rgba(59, 130, 246, .3);--pf-accent: #3b82f6;--pf-accent-light: rgba(59, 130, 246, .15)}[data-theme=dark] .pf-nav-item{border-color:#3b82f640}[data-theme=dark] .pf-nav-item:hover:not(.active){border-color:#3b82f666;box-shadow:0 0 0 3px #3b82f61a}.pf-container{max-width:1100px;margin:0 auto;padding:32px 24px;display:grid;grid-template-columns:280px 1fr;gap:24px}.pf-embedded,[data-theme=dark] .pf-embedded{background:transparent;min-height:auto;padding:20px;--pf-bg-page: #f0f2f5;--pf-bg-card: #ffffff;--pf-bg-card-gradient: linear-gradient(145deg, #ffffff 0%, #f8fafc 100%);--pf-bg-input: #ffffff;--pf-bg-field: #f8fafc;--pf-bg-avatar-section: #3b82f6;--pf-bg-nav: #ffffff;--pf-bg-nav-hover: #f1f5f9;--pf-bg-nav-active: #3b82f6;--pf-bg-btn-primary: #3b82f6;--pf-bg-btn-ghost: #f1f5f9;--pf-text-primary: #1a1a2e;--pf-text-secondary: #64748b;--pf-text-muted: #94a3b8;--pf-text-nav: #475569;--pf-text-nav-active: #ffffff;--pf-border: #e2e8f0;--pf-border-input: #d1d5db;--pf-border-focus: #3b82f6;--pf-shadow-card: 0 4px 6px -1px rgba(0, 0, 0, .08), 0 2px 4px -1px rgba(0, 0, 0, .04);--pf-shadow-card-hover: 0 10px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -5px rgba(0, 0, 0, .04);--pf-shadow-nav: 0 4px 15px rgba(0, 0, 0, .05);--pf-shadow-btn: 0 4px 15px rgba(59, 130, 246, .35);--pf-shadow-avatar: 0 8px 32px rgba(59, 130, 246, .25);--pf-accent: #3b82f6;--pf-accent-light: rgba(59, 130, 246, .1)}.pf-embedded .pf-container{grid-template-columns:1fr;padding:0;margin:0 auto;max-width:950px;gap:0}.pf-embedded .pf-card{border-radius:20px;max-width:100%;box-shadow:0 4px 20px #00000014;border:1px solid var(--pf-border);overflow:hidden}.pf-embedded .pf-card-header{padding:20px 28px;border-bottom:1px solid var(--pf-border)}.pf-embedded .pf-card-body{padding:0;gap:0}.pf-embedded .pf-avatar-section{margin:0;border-radius:0;padding:28px;background:var(--pf-bg-avatar-section)}.pf-embedded .pf-avatar-section:before,.pf-embedded .pf-avatar-section:after{display:none}.pf-embedded .pf-details{padding:28px;grid-template-columns:1fr 1fr;gap:20px}.pf-embedded .pf-field-full{grid-column:span 2}.pf-embedded .pf-value,.pf-embedded .pf-input,.pf-embedded .pf-select,.pf-embedded .pf-textarea{width:100%;box-sizing:border-box}@media(max-width:768px){.pf-embedded{padding:12px}.pf-embedded .pf-details{grid-template-columns:1fr;padding:20px}.pf-embedded .pf-field-full{grid-column:span 1}.pf-embedded .pf-avatar-section{padding:20px}}.pf-sidebar{position:sticky;top:80px;height:-moz-fit-content;height:fit-content;display:flex;flex-direction:column;gap:16px}.pf-back-btn{display:flex;align-items:center;gap:10px;padding:14px 18px;background:var(--pf-bg-card);border:1px solid var(--pf-border);border-radius:14px;color:var(--pf-text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:all .3s ease;box-shadow:var(--pf-shadow-nav)}.pf-back-btn:hover{color:var(--pf-accent);border-color:var(--pf-accent);background:var(--pf-accent-light);transform:translate(-4px)}.pf-back-btn svg{transition:transform .3s ease}.pf-back-btn:hover svg{transform:translate(-4px)}.pf-nav{background:var(--pf-bg-card);border-radius:20px;padding:12px;box-shadow:var(--pf-shadow-nav);border:1px solid var(--pf-border);overflow:hidden}.pf-nav-item{display:flex;align-items:center;gap:14px;width:100%;padding:16px 18px;border:1px solid rgba(102,126,234,.25);background:transparent;border-radius:14px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);color:var(--pf-text-nav);font-size:14px;font-weight:500;text-align:left;position:relative;overflow:hidden;margin-bottom:4px}.pf-nav-item:last-child{margin-bottom:0}.pf-nav-item:hover:not(.active){background:var(--pf-bg-nav-hover);color:var(--pf-accent);border:1px solid rgba(102,126,234,.4);box-shadow:0 0 0 3px #667eea14}.pf-nav-item:hover:not(.active) .pf-nav-arrow{transform:translate(4px);opacity:1}.pf-nav-item.active{background:var(--pf-bg-nav-active);color:var(--pf-text-nav-active);border:1px solid transparent;box-shadow:var(--pf-shadow-btn)}.pf-nav-arrow{margin-left:auto;opacity:.4;transition:all .3s ease}.pf-nav-item.active .pf-nav-arrow{opacity:1}.pf-main{min-height:500px}.pf-content{display:flex;flex-direction:column;gap:24px}.pf-card{background:var(--pf-bg-card-gradient);border-radius:24px;padding:0;box-shadow:var(--pf-shadow-card);border:1px solid var(--pf-border);overflow:hidden;transition:box-shadow .3s ease}.pf-card:hover{box-shadow:var(--pf-shadow-card-hover)}.pf-card-header{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;border-bottom:1px solid var(--pf-border);background:var(--pf-bg-card)}.pf-card-title{font-size:22px;font-weight:700;color:var(--pf-text-primary);margin:0;letter-spacing:-.3px}.pf-card-body{padding:32px;display:flex;flex-direction:column;gap:32px}.pf-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border:none;border-radius:12px;font-weight:600;font-size:14px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.pf-btn:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:#fff3;border-radius:50%;transform:translate(-50%,-50%);transition:width .4s ease,height .4s ease}.pf-btn:active:after{width:200px;height:200px}.pf-btn-primary{background:var(--pf-bg-btn-primary);color:#fff;box-shadow:var(--pf-shadow-btn)}.pf-btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px #667eea73}.pf-btn-success{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 4px 15px #10b98159}.pf-btn-success:hover{transform:translateY(-2px);box-shadow:0 8px 25px #10b98173}.pf-btn-ghost{background:var(--pf-bg-btn-ghost);color:var(--pf-text-secondary);border:1px solid var(--pf-border)}.pf-btn-ghost:hover{background:var(--pf-border);color:var(--pf-text-primary)}.pf-edit-actions{display:flex;gap:12px}.pf-avatar-section{display:flex;gap:28px;align-items:center;padding:32px;background:var(--pf-bg-avatar-section);border-radius:20px;position:relative;overflow:hidden}.pf-avatar-section:before{content:"";position:absolute;top:-50%;right:-20%;width:60%;height:200%;background:#ffffff1a;transform:rotate(15deg);pointer-events:none}.pf-avatar-section:after{content:"";position:absolute;bottom:-30%;left:-10%;width:40%;height:150%;background:#ffffff0d;transform:rotate(-20deg);pointer-events:none}.pf-avatar-wrapper{position:relative;flex-shrink:0;z-index:1}.pf-avatar-img{width:100px;height:100px;border-radius:20px;-o-object-fit:cover;object-fit:cover;border:4px solid rgba(255,255,255,.9);box-shadow:var(--pf-shadow-avatar);background:linear-gradient(135deg,#ffffff4d,#ffffff1a);font-size:36px;font-weight:700;display:flex;align-items:center;justify-content:center;color:#fff}.pf-avatar-btn{position:absolute;bottom:-6px;right:-6px;width:36px;height:36px;border-radius:12px;background:#fffffff2;color:var(--pf-accent);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #00000026}.pf-avatar-btn:hover{transform:scale(1.1);background:#fff}.pf-avatar-btn:disabled{opacity:.7;cursor:not-allowed}.pf-avatar-info{display:flex;flex-direction:column;gap:8px;z-index:1}.pf-name{font-size:26px;font-weight:700;color:#fff;margin:0;letter-spacing:-.3px;text-shadow:0 2px 4px rgba(0,0,0,.1)}.pf-role-badge{display:inline-flex;align-items:center;padding:6px 14px;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;border-radius:20px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;width:-moz-fit-content;width:fit-content;border:1px solid rgba(255,255,255,.3)}.pf-join-date{display:flex;align-items:center;gap:6px;font-size:13px;color:#ffffffd9;margin:4px 0 0}.pf-details{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.pf-field{display:flex;flex-direction:column;gap:10px}.pf-field-full{grid-column:span 2}.pf-label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--pf-text-secondary);text-transform:uppercase;letter-spacing:.5px}.pf-label svg{color:var(--pf-accent)}.pf-value{font-size:15px;color:var(--pf-text-primary);margin:0;padding:14px 16px;background:var(--pf-bg-field);border-radius:12px;border:1px solid var(--pf-border);min-height:48px;display:flex;align-items:center;transition:all .2s ease}.pf-input,.pf-select,.pf-textarea{font-size:15px;color:var(--pf-text-primary);padding:14px 16px;border:2px solid var(--pf-border-input);border-radius:12px;outline:none;transition:all .3s ease;font-family:inherit;background:var(--pf-bg-input)}.pf-input:focus,.pf-select:focus,.pf-textarea:focus{border-color:var(--pf-border-focus);box-shadow:0 0 0 4px var(--pf-accent-light)}.pf-input::-moz-placeholder,.pf-textarea::-moz-placeholder{color:var(--pf-text-muted)}.pf-input::placeholder,.pf-textarea::placeholder{color:var(--pf-text-muted)}.pf-textarea{resize:vertical;min-height:100px}.pf-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%2364748b' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 14px center;background-repeat:no-repeat;background-size:20px;padding-right:48px}.pf-loading,.pf-error{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;background:var(--pf-bg-page);color:var(--pf-text-primary);text-align:center;padding:32px}.pf-loading h2,.pf-error h2{font-size:22px;font-weight:600;margin-top:24px;color:var(--pf-text-primary)}.pf-error p{font-size:15px;color:var(--pf-text-secondary);margin-top:8px}.pf-error button{margin-top:24px;padding:14px 28px;font-size:15px;font-weight:600;color:#fff;background:var(--pf-bg-btn-primary);border:none;border-radius:14px;cursor:pointer;transition:all .3s ease;box-shadow:var(--pf-shadow-btn)}.pf-error button:hover{transform:translateY(-2px)}.pf-loading-spinner{animation:pf-spin 1s linear infinite;color:var(--pf-accent)}@keyframes pf-spin{to{transform:rotate(360deg)}}@media(max-width:1024px){.pf-container{grid-template-columns:1fr;padding:20px 16px}.pf-sidebar{position:static;flex-direction:row;align-items:center}.pf-back-btn{padding:12px}.pf-back-btn span{display:none}.pf-nav{flex:1;display:flex;gap:8px;padding:8px}.pf-nav-item{flex:1;justify-content:center;padding:14px}.pf-nav-item span,.pf-nav-arrow{display:none}.pf-nav-item:before{display:none}}@media(max-width:768px){.pf-details{grid-template-columns:1fr}.pf-field-full{grid-column:span 1}.pf-avatar-section{flex-direction:column;text-align:center;padding:28px 24px}.pf-avatar-info{align-items:center}.pf-card-header{flex-direction:column;gap:16px;align-items:stretch;padding:20px 24px}.pf-card-body{padding:24px}.pf-card-title{text-align:center}.pf-edit-actions{justify-content:stretch}.pf-edit-actions .pf-btn{flex:1;justify-content:center}.pf-btn-primary{width:100%;justify-content:center}}.pf-nav-link:hover{border-color:var(--pf-accent);background:var(--pf-accent-light)}.sidebar{width:280px;height:100vh;background:#1a1a1a;color:#e0e0e0;display:flex;flex-direction:column;position:fixed;left:0;top:0;z-index:1000;box-shadow:2px 0 10px #0000004d;border-right:1px solid #333;transition:width .3s ease}.sidebar.collapsed{width:70px}.sidebar-header{padding:1.5rem;border-bottom:1px solid #333;background:#222;display:flex;align-items:center;justify-content:space-between}.sidebar.collapsed .sidebar-header{padding:1rem;justify-content:center}.sidebar-logo{display:flex;align-items:center;gap:1rem;flex:1;min-width:0}.sidebar.collapsed .sidebar-logo{justify-content:center;gap:0;flex:unset}.sidebar-toggle-btn{background:transparent;border:none;color:#ccc;padding:.5rem;border-radius:6px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;position:relative;z-index:1000;pointer-events:auto}.sidebar-toggle-btn:hover{background:#333;color:#fff}.logo-icon{color:#4caf50;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.logo-text{flex:1;transition:opacity .2s ease}.sidebar.collapsed .logo-text{display:none}.sidebar-title{font-size:1.5rem;font-weight:700;margin:0;color:#fff;text-shadow:none}.sidebar-subtitle{font-size:.875rem;margin:.25rem 0 0;color:#888;font-weight:400}.sidebar-nav{flex:1;padding:1.5rem 0;overflow-y:auto;overflow-x:hidden}.sidebar-nav::-webkit-scrollbar{width:0px;background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:transparent}.nav-section{margin-bottom:2rem}.nav-section-title{display:block;padding:0 1.5rem .5rem;font-size:.75rem;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.5px;transition:opacity .2s ease}.sidebar.collapsed .nav-section-title{display:none}.sidebar-link{display:flex;align-items:center;padding:.875rem 1.5rem;color:#ccc;text-decoration:none;transition:all .2s ease;border-left:3px solid transparent;position:relative}.sidebar.collapsed .sidebar-link{padding:.875rem .75rem;justify-content:center}.sidebar.collapsed .sidebar-link .sidebar-label{display:none}.sidebar-link:hover{background:#2a2a2a;color:#fff;border-left-color:#4caf50}.sidebar-link.active{background:#333;color:#fff;border-left-color:#4caf50;font-weight:600}.sidebar-link svg{margin-right:.75rem;flex-shrink:0}.sidebar-label{flex:1;font-size:.9rem}.sidebar-badge{background:#4caf50;color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:12px;min-width:20px;text-align:center;line-height:1}.sidebar.collapsed .sidebar-badge{display:none}.sidebar-group{margin-bottom:.5rem}.sidebar-toggle{justify-content:space-between;cursor:pointer;border:none;background:none;width:100%;text-align:left;font-family:inherit;font-size:inherit}.sidebar-toggle.active{background:#2a2a2a}.sidebar-submenu{max-height:0;overflow:hidden;transition:max-height .3s ease;background:#111}.sidebar-submenu.open{max-height:200px}.sidebar-sublink{display:flex;align-items:center;padding:.75rem 1.5rem .75rem 3rem;color:#aaa;text-decoration:none;transition:all .2s ease;font-size:.875rem;border-left:3px solid transparent}.sidebar-sublink:hover{background:#2a2a2a;color:#fff;border-left-color:#4caf50}.sidebar-sublink.active{background:#333;color:#fff;font-weight:600;border-left-color:#4caf50}.sidebar-sublink svg{margin-right:.75rem;flex-shrink:0}.sidebar-footer{padding:1.5rem;border-top:1px solid #333;display:flex;align-items:center;gap:1rem;background:#222}.sidebar.collapsed .sidebar-footer{padding:.75rem .5rem;flex-direction:column;gap:.5rem}.sidebar-user{display:flex;align-items:center;gap:.75rem;flex:1}.sidebar.collapsed .sidebar-user{flex:0;justify-content:center}.sidebar.collapsed .user-info{display:none}.user-avatar{width:36px;height:36px;background:#333;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#ccc;flex-shrink:0}.sidebar.collapsed .user-avatar{width:32px;height:32px}.user-info{flex:1}.user-name{font-size:.875rem;font-weight:600;margin:0;color:#fff}.user-role{font-size:.75rem;margin:.25rem 0 0;color:#888;text-transform:capitalize}.logout-btn{background:#333;border:none;color:#ccc;padding:.5rem;border-radius:6px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.sidebar.collapsed .logout-btn{width:32px;height:32px;padding:.25rem}.logout-btn:hover{background:#444;color:#fff;transform:translateY(-1px)}.sidebar.collapsed .sidebar-link:hover{background:#2a2a2a;color:#fff;border-left-color:#4caf50;position:relative}.sidebar.collapsed .sidebar-link:after{content:attr(title);position:absolute;left:100%;top:50%;transform:translateY(-50%);background:#333;color:#fff;padding:.5rem .75rem;border-radius:4px;font-size:.875rem;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:1001;margin-left:.5rem;box-shadow:0 2px 8px #0000004d}.sidebar.collapsed .sidebar-link:hover:after{opacity:1}@media(max-width:768px){.sidebar{width:100%;transform:translate(-100%);transition:transform .3s ease,width .3s ease}.sidebar.open{transform:translate(0)}.sidebar.collapsed{width:70px}.sidebar.collapsed .sidebar-link:after{display:none}}.app{min-height:100vh}*/ .header{position:fixed;left:var(--sidebar-width);top:0;right:0;height:var(--header-height);background:#fff;box-shadow:0 2px 4px #00000014;display:flex;align-items:center;justify-content:space-between;padding:0 32px;z-index:99}.header-title{font-size:24px;font-weight:700;color:var(--text-primary)}.header-actions{display:flex;align-items:center;gap:20px}.notification-btn{position:relative;background:none;border:none;font-size:20px;color:var(--text-secondary);cursor:pointer;padding:8px;border-radius:50%;transition:all .3s}.notification-btn:hover{background:var(--bg-color);color:var(--primary-color)}.notification-badge{position:absolute;top:4px;right:4px;background:var(--danger-color);color:#fff;border-radius:50%;width:18px;height:18px;font-size:10px;display:flex;align-items:center;justify-content:center;font-weight:600}.user-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;cursor:pointer;transition:transform .3s}.user-avatar:hover{transform:scale(1.1)}.main-content{margin-left:var(--sidebar-width);margin-top:var(--header-height);padding:32px;min-height:calc(100vh - var(--header-height))}.page-content{display:none}.page-content.active{display:block}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-bottom:32px}.stat-card{background:#fff;padding:28px;border-radius:16px;box-shadow:0 4px 6px #00000012;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;cursor:pointer;border:1px solid rgba(0,0,0,.05)}.stat-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:5px;transition:height .3s ease}.stat-card.purple:before{background:linear-gradient(135deg,#667eea,#764ba2)}.stat-card.pink:before{background:linear-gradient(135deg,#f093fb,#f5576c)}.stat-card.blue:before{background:linear-gradient(135deg,#4facfe,#00f2fe)}.stat-card.green:before{background:linear-gradient(135deg,#43e97b,#38f9d7)}.stat-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 12px 24px #00000026}.stat-card:hover:before{height:100%;opacity:.05}.stat-card:after{content:"";position:absolute;top:20px;right:20px;width:100px;height:100px;border-radius:50%;opacity:.08;transition:all .3s ease}.stat-card.purple:after{background:linear-gradient(135deg,#667eea,#764ba2)}.stat-card.pink:after{background:linear-gradient(135deg,#f093fb,#f5576c)}.stat-card.blue:after{background:linear-gradient(135deg,#4facfe,#00f2fe)}.stat-card.green:after{background:linear-gradient(135deg,#43e97b,#38f9d7)}.stat-card:hover:after{transform:scale(1.5);opacity:.12}.stat-icon{width:64px;height:64px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:28px;margin-bottom:18px;color:#fff;position:relative;z-index:1;box-shadow:0 8px 16px #00000026;transition:all .3s ease}.stat-card:hover .stat-icon{transform:scale(1.1) rotate(5deg);box-shadow:0 12px 24px #0003}.stat-card.purple .stat-icon{background:linear-gradient(135deg,#667eea,#764ba2)}.stat-card.pink .stat-icon{background:linear-gradient(135deg,#f093fb,#f5576c)}.stat-card.blue .stat-icon{background:linear-gradient(135deg,#4facfe,#00f2fe)}.stat-card.green .stat-icon{background:linear-gradient(135deg,#43e97b,#38f9d7)}.stat-value{font-size:36px;font-weight:700;margin-bottom:6px;color:var(--text-primary);position:relative;z-index:1;letter-spacing:-.5px}.stat-label{font-size:15px;color:var(--text-secondary);font-weight:600;margin-bottom:4px;position:relative;z-index:1}.stat-sublabel{font-size:12px;color:var(--text-secondary);margin-top:6px;font-style:normal;position:relative;z-index:1;opacity:.8}.alerts-container{margin-bottom:32px}.alert{background:#fff;padding:18px 22px;border-radius:12px;margin-bottom:14px;display:flex;align-items:center;gap:16px;box-shadow:0 2px 8px #00000014;border-left:4px solid;transition:all .3s ease}.alert:hover{transform:translate(4px);box-shadow:0 4px 12px #0000001f}.alert.warning{border-left-color:var(--warning-color);background:linear-gradient(to right,#fff4e5,#fff)}.alert.error{border-left-color:var(--danger-color);background:linear-gradient(to right,#ffebee,#fff)}.alert.success{border-left-color:var(--success-color);background:linear-gradient(to right,#e8f5e9,#fff)}.alert.info{border-left-color:var(--info-color);background:linear-gradient(to right,#e3f2fd,#fff)}.alert-icon{font-size:22px;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.alert.warning .alert-icon{background:linear-gradient(135deg,#ffa726,#fb8c00);color:#fff;box-shadow:0 4px 12px #ffa7264d}.alert.error .alert-icon{background:linear-gradient(135deg,#ef5350,#e53935);color:#fff;box-shadow:0 4px 12px #ef53504d}.alert.success .alert-icon{background:linear-gradient(135deg,#66bb6a,#43a047);color:#fff;box-shadow:0 4px 12px #66bb6a4d}.alert.info .alert-icon{background:linear-gradient(135deg,#42a5f5,#1e88e5);color:#fff;box-shadow:0 4px 12px #42a5f54d}.alert-content{flex:1}.alert-message{font-size:15px;color:var(--text-primary);margin-bottom:4px;font-weight:500}.alert-time{font-size:13px;color:var(--text-secondary);display:flex;align-items:center}.card{background:#fff;border-radius:16px;box-shadow:0 4px 6px #00000012;padding:28px;margin-bottom:24px;border:1px solid rgba(0,0,0,.05);transition:all .3s ease}.card:hover{box-shadow:0 8px 16px #0000001a}.card.mt-24{margin-top:24px}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:20px;border-bottom:2px solid var(--bg-color)}.card-title{font-size:20px;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:10px}.card-title:before{content:"";width:4px;height:24px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:2px}.table-container{overflow-x:auto}table{width:100%;border-collapse:collapse}thead{background:var(--bg-color)}th{padding:14px 16px;text-align:left;font-weight:600;font-size:13px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}td{padding:16px;border-bottom:1px solid var(--border-color);font-size:14px}tbody tr{transition:background .2s}tbody tr:hover{background:#f8fafc}.modern-table{width:100%;border-collapse:separate;border-spacing:0}.modern-table thead{background:linear-gradient(135deg,#667eea15,#764ba215)}.modern-table thead th{padding:16px;text-align:left;font-weight:600;font-size:12px;color:#4a5568;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e2e8f0}.modern-table tbody td{padding:16px;border-bottom:1px solid #f0f4f8;font-size:14px;color:#2d3748}.modern-table tbody tr{transition:all .2s ease}.modern-table tbody tr:hover{background:linear-gradient(135deg,#667eea08,#764ba208);transform:translate(2px)}.modern-table tbody tr:last-child td{border-bottom:none}.badge{display:inline-flex;align-items:center;padding:6px 14px;border-radius:16px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;transition:all .2s ease}.badge:hover{transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.badge.success{background:linear-gradient(135deg,#d4edda,#c3e6cb);color:#155724;border:1px solid #c3e6cb}.badge.warning{background:linear-gradient(135deg,#fff3cd,#ffeaa7);color:#856404;border:1px solid #ffeaa7}.badge.danger{background:linear-gradient(135deg,#f8d7da,#f5c6cb);color:#721c24;border:1px solid #f5c6cb}.badge.info{background:linear-gradient(135deg,#d1ecf1,#bee5eb);color:#0c5460;border:1px solid #bee5eb}.badge.primary{background:linear-gradient(135deg,#cfe2ff,#b6d4fe);color:#084298;border:1px solid #b6d4fe}.btn{padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s;display:inline-flex;align-items:center;gap:8px;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary-color);color:#fff}.btn-primary:hover:not(:disabled){background:#1565c0;transform:translateY(-2px);box-shadow:0 4px 8px #1976d24d}.btn-success{background:var(--success-color);color:#fff}.btn-success:hover:not(:disabled){background:#2e7d32;transform:translateY(-2px)}.btn-danger{background:var(--danger-color);color:#fff}.btn-danger:hover:not(:disabled){background:#c62828;transform:translateY(-2px)}.btn-outline{background:transparent;border:2px solid var(--primary-color);color:var(--primary-color)}.btn-outline:hover:not(:disabled){background:var(--primary-color);color:#fff}.btn-icon{width:36px;height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;transition:all .3s}.btn-icon:hover{background:var(--bg-color);color:var(--primary-color)}.form-group{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.form-label{font-size:13px;font-weight:600;color:var(--text-secondary)}.form-input,.form-select,.form-textarea{padding:10px 14px;border:2px solid var(--border-color);border-radius:8px;font-size:14px;transition:all .3s;background:#fff;font-family:inherit}.form-textarea{resize:vertical;min-height:100px}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #1976d21a}.grid{display:grid;gap:24px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.progress-bar{width:100%;height:8px;background:var(--bg-color);border-radius:4px;overflow:hidden;margin-top:8px}.progress-fill{height:100%;background:var(--primary-color);border-radius:4px;transition:width .3s}.progress-fill.primary{background:var(--primary-color)}.progress-fill.warning{background:var(--warning-color)}.progress-fill.success{background:var(--success-color)}.progress-fill.danger{background:var(--danger-color)}.metric-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--border-color)}.metric-row:last-child{border-bottom:none}.metric-label{font-size:14px;color:var(--text-secondary)}.metric-value{font-size:18px;font-weight:600;color:var(--text-primary)}.info-box{background:#e3f2fd;border-left:4px solid var(--primary-color);padding:16px;border-radius:8px;margin-bottom:20px;display:flex;align-items:flex-start;gap:12px}.info-box i{color:var(--primary-color);font-size:18px;margin-top:2px}.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:1000;align-items:center;justify-content:center;animation:fadeIn .3s}.modal.active{display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{padding:24px;border-bottom:2px solid var(--bg-color);display:flex;justify-content:space-between;align-items:center}.modal-title{font-size:20px;font-weight:700;color:var(--text-primary)}.modal-close{background:none;border:none;font-size:24px;color:var(--text-secondary);cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s}.modal-close:hover{background:var(--bg-color);color:var(--text-primary)}.modal-body{padding:24px}.modal-footer{padding:20px 24px;border-top:2px solid var(--bg-color);display:flex;justify-content:flex-end;gap:12px}.avatar{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;color:#fff}.avatar.primary{background:var(--primary-color)}.avatar.success{background:var(--success-color)}.mt-24{margin-top:24px}.mb-24{margin-bottom:24px}@media(max-width:768px){.sidebar{transform:translate(-100%)}.sidebar.active{transform:translate(0)}.header{left:0}.main-content{margin-left:0}.stats-grid{grid-template-columns:1fr;gap:16px}.stat-card{padding:20px}.stat-icon{width:56px;height:56px;font-size:24px}.stat-value{font-size:28px}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.metric-row{flex-direction:column;align-items:flex-start;gap:8px}.card-header{flex-direction:column;align-items:flex-start;gap:12px}.card{padding:20px}.alert{padding:14px 16px}.alert-icon{width:36px;height:36px;font-size:18px}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.modern-table{min-width:700px}.modern-table thead th{padding:12px;font-size:11px}.modern-table tbody td{padding:12px;font-size:13px}}@media(max-width:480px){.header-title{font-size:18px}.stat-value{font-size:24px}.stat-label{font-size:13px}.main-content{padding:16px}.card-title{font-size:18px}.badge{font-size:10px;padding:4px 10px}}.loading{display:flex;align-items:center;justify-content:center;min-height:400px;font-size:18px;color:var(--text-secondary)}.loading-dashboard{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center}.loading-spinner{animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.1)}}.success-message{background:#d4edda;color:#155724;padding:16px 20px;border-radius:8px;margin-bottom:20px;display:flex;align-items:center;gap:12px}.success-message i{font-size:20px}@keyframes slideIn{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(400px);opacity:0}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-color)}::-webkit-scrollbar-thumb{background:var(--text-secondary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-primary)}.admin-layout{display:flex;min-height:100vh;background-color:#f4f4f4;--bg-primary: #f8fafc;--bg-gradient: linear-gradient(180deg, #f8fafc 0%, #eff6ff 50%, #f0f9ff 100%);--bg-surface: #ffffff;--bg-surface-secondary: #f0f4f8;--bg-input: #f8fafc;--text-primary: #0f172a;--text-secondary: #64748b;--text-tertiary: #94a3b8;--border-primary: #cbd5e1;--border-secondary: #e2e8f0;--accent-blue: #3b82f6;--accent-blue-light: #60a5fa;--accent-blue-hover: #2563eb;--shadow-light: 0 1px 3px rgba(0, 0, 0, .1);--shadow-medium: 0 4px 20px rgba(0, 0, 0, .06);--shadow-heavy: 0 8px 30px rgba(0, 0, 0, .12)}.admin-layout select,.admin-layout input,.admin-layout textarea{background-color:#fff!important;color:#0f172a!important;border-color:#d1d5db!important}.admin-layout select option{background-color:#fff!important;color:#0f172a!important}.admin-layout select:focus,.admin-layout input:focus,.admin-layout textarea:focus{border-color:#3b82f6!important;box-shadow:0 0 0 3px #3b82f633!important}.admin-content{flex:1;padding:0;margin-left:280px;transition:margin-left .3s ease;background-color:#f4f4f4}.admin-layout:has(.sidebar.collapsed) .admin-content,body.sidebar-collapsed .admin-content{margin-left:70px}@media(max-width:768px){.admin-content{margin-left:0;padding:0}}.admin-page-wrapper{min-height:calc(100vh - 18px)}.admin-page-wrapper--classic{padding:24px;background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:24px}.admin-page-wrapper--modern{background:linear-gradient(to bottom right,#f8fafc,#eff6ff66,#eef2ff4d);padding:0;margin:0}.admin-page-title{font-size:28px;font-weight:700;margin-bottom:24px;color:#1a1a1a;border-bottom:2px solid #e5e7eb;padding-bottom:12px}.admin-page-title--modern{font-size:30px;font-weight:700;background:linear-gradient(to right,#111827,#374151);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:0;padding-bottom:12px}@media(max-width:768px){.admin-page-wrapper{padding:16px;margin-bottom:16px}.admin-page-title{font-size:24px;margin-bottom:16px}}@media(max-width:480px){.admin-page-wrapper{padding:12px}.admin-page-title{font-size:20px;margin-bottom:12px}}.admin-page-wrapper:has(.profile-page.embedded){padding:0;background-color:transparent;box-shadow:none;border-radius:0;margin-bottom:0;min-height:auto}.um-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:24px}.um-stat-card{background:#fff;border-radius:16px;padding:20px 24px;display:flex;align-items:center;gap:16px;box-shadow:0 2px 12px #0000000f;border:1px solid #e5e7eb;transition:all .3s ease}.um-stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.um-stat-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center}.um-stat-total .um-stat-icon{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.um-stat-active .um-stat-icon{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.um-stat-students .um-stat-icon{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.um-stat-faculty .um-stat-icon{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.um-stat-content{display:flex;flex-direction:column}.um-stat-value{font-size:28px;font-weight:700;color:#1f2937;line-height:1.2}.um-stat-label{font-size:13px;color:#6b7280;font-weight:500}.um-filters{display:flex;gap:16px;padding:20px 24px;background:#fff;border-radius:16px;margin-bottom:20px;box-shadow:0 2px 12px #0000000f;border:1px solid #e5e7eb;align-items:center;flex-wrap:wrap}.um-search-wrapper{position:relative;flex:1;min-width:280px;max-width:400px}.um-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none}.um-search-input{width:100%;padding:12px 16px 12px 44px;border:2px solid #e5e7eb;border-radius:12px;font-size:14px;color:#1f2937;background:#f9fafb;transition:all .2s ease}.um-search-input::-moz-placeholder{color:#9ca3af}.um-search-input::placeholder{color:#9ca3af}.um-search-input:focus{outline:none;border-color:#6366f1;background:#fff;box-shadow:0 0 0 4px #6366f11a}.um-filter-wrapper{position:relative;min-width:160px}.um-filter-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none}.um-filter-select{width:100%;padding:12px 40px 12px 44px;border:2px solid #e5e7eb;border-radius:12px;font-size:14px;color:#1f2937;background:#f9fafb;cursor:pointer;transition:all .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 12px center;background-repeat:no-repeat;background-size:20px}.um-filter-select:focus{outline:none;border-color:#6366f1;background-color:#fff;box-shadow:0 0 0 4px #6366f11a}.um-actions{display:flex;gap:12px;margin-left:auto}.um-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.um-btn-outline{background:#fff;color:#374151;border:2px solid #d1d5db}.um-btn-outline:hover{background:#f3f4f6;border-color:#9ca3af}.um-btn-primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;box-shadow:0 4px 14px #6366f159}.um-btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px #6366f173}.um-table-container{background:#fff;border-radius:16px;box-shadow:0 2px 12px #0000000f;border:1px solid #e5e7eb;overflow:hidden}.um-table{width:100%;border-collapse:collapse}.um-table th{background:linear-gradient(135deg,#f8fafc,#f1f5f9);padding:16px 20px;text-align:left;font-weight:600;font-size:13px;color:#475569;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e2e8f0}.um-table td{padding:16px 20px;border-bottom:1px solid #f1f5f9;font-size:14px;color:#374151}.um-table tbody tr{transition:background-color .2s ease}.um-table tbody tr:hover{background:#fafbfc}.um-table tbody tr:last-child td{border-bottom:none}.um-user-cell{display:flex;align-items:center;gap:12px}.um-user-avatar{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;flex-shrink:0}.um-user-name{font-weight:600;color:#1f2937}.um-email-cell{color:#6b7280}.um-username-cell{font-family:Monaco,Menlo,monospace;font-size:13px;color:#6b7280;background:#f3f4f6;padding:4px 8px;border-radius:6px;display:inline-block}.um-date-cell{color:#6b7280;font-size:13px}.um-role-badge{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:capitalize}.um-role-student{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1d4ed8}.um-role-faculty{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#b45309}.um-role-admin{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#dc2626}.um-status-badge{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:6px}.um-status-active{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#047857}.um-status-active:before{content:"";width:6px;height:6px;border-radius:50%;background:#10b981}.um-status-inactive{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#dc2626}.um-status-inactive:before{content:"";width:6px;height:6px;border-radius:50%;background:#ef4444}.um-action-buttons{display:flex;gap:8px}.um-action-btn{width:34px;height:34px;border-radius:10px;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.um-action-edit{background:#fef3c7;color:#b45309}.um-action-edit:hover{background:#fde68a;transform:scale(1.1)}.um-action-activate{background:#d1fae5;color:#047857}.um-action-activate:hover{background:#a7f3d0;transform:scale(1.1)}.um-action-deactivate{background:#dbeafe;color:#1d4ed8}.um-action-deactivate:hover{background:#bfdbfe;transform:scale(1.1)}.um-action-delete{background:#fee2e2;color:#dc2626}.um-action-delete:hover{background:#fecaca;transform:scale(1.1)}.um-loading-cell,.um-empty-cell{text-align:center;padding:60px 20px!important;color:#6b7280}.um-loading-spinner{width:40px;height:40px;border:4px solid #e5e7eb;border-top-color:#6366f1;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 16px}.um-empty-icon{color:#d1d5db;margin-bottom:12px}.um-toast-container{position:fixed;top:20px;right:20px;display:flex;flex-direction:column;gap:12px;z-index:9999}.um-toast{display:flex;align-items:center;gap:12px;padding:14px 20px;border-radius:14px;background:#fff;border:1px solid #e5e7eb;box-shadow:0 10px 40px #0000001f;animation:slideIn .3s ease;min-width:280px}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.um-toast-success{border-left:4px solid #10b981}.um-toast-success .um-toast-icon{color:#10b981}.um-toast-error{border-left:4px solid #ef4444}.um-toast-error .um-toast-icon{color:#ef4444}.um-toast-info{border-left:4px solid #3b82f6}.um-toast-info .um-toast-icon{color:#3b82f6}.um-toast-message{font-weight:500;color:#1f2937;font-size:14px}@media(max-width:1200px){.um-stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.um-stats-grid{grid-template-columns:1fr}.um-filters{flex-direction:column;align-items:stretch}.um-search-wrapper,.um-filter-wrapper{max-width:none}.um-actions{margin-left:0;justify-content:stretch}.um-actions .um-btn{flex:1;justify-content:center}.um-table th,.um-table td{padding:12px}}.modal{background:#fff;border-radius:16px;padding:24px;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0003}.modal h3{margin:0 0 16px;font-size:18px;font-weight:600;color:#1f2937}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.btn-primary:hover{box-shadow:0 4px 14px #6366f159}.btn-secondary{background:#f3f4f6;color:#374151}.btn-secondary:hover{background:#e5e7eb}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.btn-danger:hover{box-shadow:0 4px 14px #ef444459}.form-input{width:100%;padding:12px 14px;border:2px solid #e5e7eb;border-radius:10px;font-size:14px;color:#1f2937;transition:all .2s ease}.form-input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 4px #6366f11a}.danger-title{display:flex;align-items:center;gap:12px;color:#dc2626}.integration-config-container{max-width:1200px;margin:0 auto}.ic-subtitle-badge{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e5e7eb;padding:10px 24px;border-radius:50px;font-size:14px;font-weight:500;color:#64748b;margin-bottom:24px}.ic-cards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-bottom:24px}.ic-api-card{background:#fff;border-radius:20px;box-shadow:0 4px 16px #00000014;border:2px solid #cbd5e1;overflow:hidden;transition:all .3s ease;display:flex;flex-direction:column}.ic-api-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px #0000001f;border-color:#94a3b8}.ic-card-header{padding:24px 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #e2e8f0;background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.ic-card-title-wrapper{display:flex;align-items:center;gap:14px}.ic-card-icon{width:54px;height:54px;border-radius:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px #00000026}.ic-card-icon.gemini{background:linear-gradient(135deg,#8b5cf6,#a855f7);color:#fff}.ic-card-icon.youtube{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.ic-card-title{font-size:18px;font-weight:700;color:#1f2937;margin:0}.ic-status-badge{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:6px}.ic-status-badge.configured{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#047857}.ic-status-badge.configured:before{content:"";width:6px;height:6px;border-radius:50%;background:#10b981}.ic-status-badge.not-configured{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#b45309}.ic-status-badge.not-configured:before{content:"";width:6px;height:6px;border-radius:50%;background:#f59e0b}.ic-card-content{padding:28px;display:flex;flex-direction:column;gap:24px;flex:1}.ic-form-group{display:flex;flex-direction:column;gap:8px}.ic-form-label{font-size:13px;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.5px}.ic-input-wrapper{position:relative;display:flex;align-items:center}.ic-form-input{width:100%;padding:14px 52px 14px 18px;border:2px solid #cbd5e1;border-radius:14px;font-size:15px;color:#1f2937;background:#f9fafb;transition:all .2s ease}.ic-form-input::-moz-placeholder{color:#9ca3af}.ic-form-input::placeholder{color:#9ca3af}.ic-form-input:focus{outline:none;border-color:#3b82f6;background:#fff;box-shadow:0 0 0 4px #3b82f61a}.ic-toggle-btn{position:absolute;right:12px;background:#f1f5f9;border:none;border-radius:8px;color:#64748b;cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;transition:all .2s}.ic-toggle-btn:hover{background:#e2e8f0;color:#3b82f6}.ic-form-select{width:100%;padding:14px 44px 14px 18px;border:2px solid #cbd5e1;border-radius:14px;font-size:15px;color:#1f2937;background:#f9fafb;cursor:pointer;transition:all .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 14px center;background-repeat:no-repeat;background-size:22px}.ic-form-select:focus{outline:none;border-color:#3b82f6;background-color:#fff;box-shadow:0 0 0 4px #3b82f61a}.ic-form-select:disabled{opacity:.7;cursor:not-allowed}.ic-helper-text{font-size:12px;color:#9ca3af;margin-top:4px}.ic-action-bar{display:flex;gap:16px;padding:24px 28px;background:#fff;border-radius:20px;box-shadow:0 4px 16px #00000014;border:2px solid #cbd5e1;align-items:center}.ic-action-left{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:1px}.ic-action-buttons{margin-left:auto;display:flex;gap:12px}.ic-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.ic-btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 4px 14px #3b82f659}.ic-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #3b82f673}.ic-btn-primary:disabled{opacity:.7;cursor:not-allowed;transform:none}.ic-btn-secondary{background:#fff;color:#374151;border:2px solid #d1d5db}.ic-btn-secondary:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af}.ic-message{display:flex;align-items:center;gap:12px;padding:14px 20px;border-radius:14px;margin-bottom:20px}.ic-message-error{background:linear-gradient(135deg,#fee2e2,#fecaca);border:1px solid #fca5a5;color:#dc2626}.ic-message-success{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:1px solid #6ee7b7;color:#047857}.ic-loading{display:flex;align-items:center;justify-content:center;padding:60px;color:#6b7280;gap:12px}.ic-loading-spinner{animation:ic-spin .8s linear infinite}@keyframes ic-spin{to{transform:rotate(360deg)}}@media(max-width:900px){.ic-cards-grid{grid-template-columns:1fr}}@media(max-width:600px){.ic-action-bar{flex-direction:column;align-items:stretch}.ic-action-left{justify-content:center}.ic-action-buttons{margin-left:0;flex-direction:column}.ic-btn{width:100%;justify-content:center}}.course-management{min-height:100vh;background:linear-gradient(135deg,#f8fafc,#f1f5f9);padding:24px}.course-container{max-width:1600px;margin:0 auto}.error-message{display:block;color:#dc2626;font-size:12px;margin-top:4px;font-weight:500}.form-input.error,.form-textarea.error{border-color:#dc2626!important;background-color:#fef2f2}.form-input.error:focus,.form-textarea.error:focus{border-color:#dc2626!important;box-shadow:0 0 0 3px #dc26261a}.course-header{margin-bottom:32px}.course-header-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.course-title{font-size:30px;font-weight:700;color:#1e293b;display:flex;align-items:center;gap:12px;margin:0}.course-subtitle{color:#64748b;margin:8px 0 0;font-size:14px}.course-actions{display:flex;gap:12px}.btn-import,.btn-export{display:flex;align-items:center;gap:8px;padding:8px 16px;border:2px solid #cbd5e1;color:#475569;background:#fff;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.btn-import:hover,.btn-export:hover{background:#f8fafc}.btn-create-course{display:flex;align-items:center;gap:8px;padding:10px 24px;background:linear-gradient(135deg,#2563eb,#4f46e5);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s ease;box-shadow:0 4px 12px #2563eb4d}.btn-create-course:hover{background:linear-gradient(135deg,#1d4ed8,#4338ca);transform:translateY(-2px);box-shadow:0 6px 20px #2563eb66}.cm-filters{display:flex;gap:16px;padding:20px 24px;background:#fff;border-radius:16px;margin-bottom:20px;box-shadow:0 2px 12px #0000000f;border:1px solid #e5e7eb;align-items:center;flex-wrap:wrap}.cm-filter-wrapper{position:relative;min-width:180px}.cm-filter-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#3b82f6;pointer-events:none;z-index:1}.cm-filter-select{width:100%;padding:12px 40px 12px 44px;border:2px solid #e5e7eb;border-radius:12px;font-size:14px;color:#1f2937;background:#f9fafb;cursor:pointer;transition:all .2s ease;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 12px center;background-repeat:no-repeat;background-size:16px}.semester-sections-view{display:flex;flex-direction:column;gap:32px}.semester-section-block{display:flex;flex-direction:column;gap:16px}.semester-section-header-simple{display:flex;align-items:center;gap:16px;padding:8px 0}.semester-section-header-simple:before,.semester-section-header-simple:after{content:"";flex:1;height:1px;background:#e5e7eb}.semester-section-label{font-size:14px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.semester-section-count{background:#3b82f6;color:#fff;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600}.current-semester-title{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding:16px 20px;background:linear-gradient(135deg,#eff6ff,#e0e7ff);border-radius:12px;border:1px solid #bfdbfe}.current-semester-title svg{color:#3b82f6}.current-semester-title h2{margin:0;font-size:20px;font-weight:700;color:#1e40af}.semester-subtitle{background:#3b82f6;color:#fff;padding:4px 12px;border-radius:20px;font-size:13px;font-weight:600}.cm-filters{display:flex;gap:16px;padding:16px 20px;background:#fff;border-radius:12px;margin-bottom:20px;box-shadow:0 2px 8px #0000000a;border:1px solid #e5e7eb;align-items:center;flex-wrap:wrap}.cm-search-wrapper{position:relative;flex:1;min-width:280px}.cm-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none}.cm-search-input{width:100%;padding:12px 16px 12px 44px;border:2px solid #e5e7eb;border-radius:12px;font-size:14px;color:#1f2937;background:#f9fafb;transition:all .2s ease}.cm-search-input::-moz-placeholder{color:#9ca3af}.cm-search-input::placeholder{color:#9ca3af}.cm-search-input:focus{outline:none;border-color:#3b82f6;background:#fff;box-shadow:0 0 0 4px #3b82f61a}.cm-filter-wrapper{position:relative;min-width:160px}.cm-filter-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none;z-index:1}.cm-filter-select{width:100%;padding:12px 16px 12px 44px;border:2px solid #e5e7eb;border-radius:12px;font-size:14px;color:#1f2937;background:#f9fafb;cursor:pointer;transition:all .2s ease;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 12px center;background-repeat:no-repeat;background-size:16px}.cm-filter-select:focus{outline:none;border-color:#3b82f6;background-color:#fff;box-shadow:0 0 0 4px #3b82f61a}.cm-section-actions{display:flex;gap:8px;margin-left:auto}.btn-expand-all,.btn-collapse-all{display:flex;align-items:center;gap:6px;padding:8px 14px;border:2px solid #e5e7eb;border-radius:10px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;background:#fff;color:#64748b}.btn-expand-all:hover{background:#f0fdf4;border-color:#10b981;color:#10b981}.btn-collapse-all:hover{background:#fef3c7;border-color:#f59e0b;color:#f59e0b}.semester-sections{display:flex;flex-direction:column;gap:20px}.semester-section{background:#fff;border-radius:16px;box-shadow:0 2px 12px #0000000f;border:2px solid #e5e7eb;overflow:hidden;transition:all .3s ease}.semester-section:hover{box-shadow:0 4px 16px #00000014}.semester-section.collapsed{border-color:#e5e7eb}.semester-section.expanded{border-color:#3b82f6}.semester-section-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);cursor:pointer;transition:all .2s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.semester-section.expanded .semester-section-header{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-bottom:1px solid #bfdbfe}.semester-section-header:hover{background:linear-gradient(135deg,#f1f5f9,#e2e8f0)}.semester-section.expanded .semester-section-header:hover{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.semester-section-title{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:600;color:#1e293b}.semester-section-title svg{color:#64748b;transition:transform .2s ease}.semester-section.expanded .semester-section-title svg:first-child{color:#3b82f6}.semester-icon{color:#3b82f6!important}.semester-course-count{background:#e0e7ff;color:#4338ca;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;margin-left:8px}.semester-section.collapsed .semester-course-count{background:#f1f5f9;color:#64748b}.semester-section-actions{display:flex;gap:8px}.btn-view-semester{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#fff;border:2px solid #e5e7eb;border-radius:8px;font-size:12px;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s ease}.btn-view-semester:hover{background:#3b82f6;border-color:#3b82f6;color:#fff}.semester-section-content{padding:20px 24px;animation:slideDown .25s ease-out}.semester-empty{text-align:center;padding:32px;color:#94a3b8;font-size:14px}.semester-empty p{margin:0}.semester-stats{display:grid;grid-template-columns:repeat(9,1fr);gap:12px;margin:24px 0}.semester-card{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000000d;border:2px solid #e2e8f0;padding:16px;text-align:center;cursor:pointer;transition:all .2s ease}.semester-card:hover{box-shadow:0 4px 12px #0000001a}.semester-card.active{border-color:#2563eb;background:#eff6ff}.semester-count{font-size:24px;font-weight:700;color:#1e293b}.semester-card.active .semester-count{color:#2563eb}.semester-label{font-size:12px;color:#64748b;margin-top:4px}.courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:24px}.course-card{background:#fff;border-radius:16px;box-shadow:0 4px 16px #00000014;border:2px solid #cbd5e1;overflow:hidden;transition:all .3s ease}.course-card:hover{box-shadow:0 12px 28px #0000001f;transform:translateY(-4px);border-color:#94a3b8}.course-card-content{padding:24px}.course-card-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px}.course-card-title{font-size:18px;font-weight:700;color:#1e293b;margin:0}.form-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.btn-add-item{background:#eef2ff;color:#4f46e5;border:none;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .2s}.btn-add-item:hover{background:#e0e7ff}.tags-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.tag-item{display:flex;align-items:center;gap:6px;background-color:#f3f4f6;color:#374151;padding:4px 10px;border-radius:16px;font-size:.875rem;font-weight:500}.btn-remove-tag{background:none;border:none;cursor:pointer;color:#9ca3af;display:flex;align-items:center;justify-content:center;padding:2px;border-radius:50%}.btn-remove-tag:hover{color:#374151;background-color:#e5e7eb}.course-card-actions{display:flex;gap:8px}.btn-view,.btn-edit,.btn-delete{background:transparent;border:none;color:#94a3b8;cursor:pointer;padding:4px;display:flex;align-items:center;transition:color .2s ease}.btn-view:hover{color:#0ea5e9}.btn-edit:hover{color:#2563eb}.btn-delete:hover{color:#ef4444}.course-badges{display:flex;align-items:center;gap:8px;margin-bottom:12px}.course-code{color:#1e3a5f!important;font-weight:700;font-size:13px;letter-spacing:.5px;text-transform:uppercase;opacity:1!important}.specialty-badge{padding:4px 12px;font-size:12px;font-weight:600;border-radius:12px;color:#fff}.specialty-badge.es{background:#2563eb}.specialty-badge.is{background:#10b981}.specialty-badge.js{background:#8b5cf6}.semester-badge{padding:4px 12px;font-size:12px;font-weight:500;background:#f1f5f9;color:#475569;border-radius:12px}.course-description{color:#64748b;font-size:14px;line-height:1.6;margin-bottom:16px}.course-section{margin-bottom:16px}.course-section-title{font-size:13px;font-weight:600;color:#1e293b;margin:0 0 8px}.tag{padding:4px 12px;font-size:11px;border-radius:12px}.tag-outcome{background:#f1f5f9;color:#475569}.tag-challenge{background:#fff7ed;color:#c2410c}.course-footer{padding-top:16px;border-top:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between;font-size:13px;color:#64748b}.course-footer-item{display:flex;align-items:center;gap:4px}.empty-state{text-align:center;padding:80px 20px}.empty-icon{color:#cbd5e1;margin:0 auto 16px}.empty-title{font-size:18px;color:#64748b;margin:0 0 8px}.empty-description{font-size:14px;color:#94a3b8;margin:0}.create-view{display:flex;flex-direction:column;gap:24px}.create-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.create-title{font-size:30px;font-weight:700;color:#1e293b;display:flex;align-items:center;gap:12px;margin:0}.create-subtitle{color:#64748b;margin:8px 0 0;font-size:14px}.btn-cancel{display:flex;align-items:center;gap:8px;padding:10px 16px;border:2px solid #cbd5e1;color:#475569;background:#fff;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.btn-cancel:hover{background:#f8fafc}.create-layout{display:grid;grid-template-columns:2fr 1fr;gap:24px}.create-main{display:flex;flex-direction:column;gap:24px}.form-section{background:#fff;border-radius:16px;box-shadow:0 4px 16px #00000014;border:2px solid #cbd5e1;padding:28px}.form-section-title{font-size:18px;font-weight:600;color:#1e293b;margin:0 0 16px}.form-content{display:flex;flex-direction:column;gap:16px}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.form-label{display:block;font-size:14px;font-weight:500;color:#475569;margin-bottom:8px}.form-input,.form-select{width:100%;padding:12px 14px;border:2px solid #cbd5e1;border-radius:12px;font-size:14px;outline:none;transition:all .2s ease;background:#f9fafb}.form-input:focus,.form-select:focus{border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a;background:#fff}.form-textarea{width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:8px;font-size:14px;outline:none;resize:none;transition:all .2s ease;font-family:inherit}.form-textarea:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.input-with-button{display:flex;gap:8px;align-items:center}.btn-add-confirm{background:#4f46e5;color:#fff;border:none;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s;white-space:nowrap}.btn-add-confirm:hover{background:#4338ca}.btn-add{padding:10px 16px;background:#2563eb;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.btn-add:hover{background:#1d4ed8}.btn-add-challenge{padding:10px 16px;background:#ea580c;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.btn-add-challenge:hover{background:#c2410c}.outcome-list,.challenge-list{display:flex;flex-direction:column;gap:8px}.outcome-item{display:flex;align-items:center;justify-content:space-between;padding:12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.outcome-text{color:#475569;font-size:14px}.challenge-item{display:flex;align-items:center;justify-content:space-between;padding:12px;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px}.challenge-text{color:#c2410c;font-size:14px}.btn-remove{background:transparent;border:none;color:#ef4444;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.btn-remove:hover{color:#dc2626}.create-sidebar{position:relative}.preview-card{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;border:2px solid #e2e8f0;padding:0;position:sticky;top:24px;overflow:hidden}.preview-title{font-size:18px;font-weight:700;color:#fff;margin:0;padding:16px 24px;background:linear-gradient(135deg,#3b82f6,#6366f1)}.preview-content{display:flex;flex-direction:column;gap:16px;padding:24px}.meta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}.meta-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:4px;align-items:flex-start}.meta-label{color:#64748b;font-size:11px;font-weight:700;text-transform:uppercase}.meta-value{color:#0f172a;font-weight:700;font-size:16px}.preview-item{display:flex;flex-direction:column;gap:4px}.preview-label{font-size:11px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}.preview-value{color:#1e293b;font-size:14px;font-weight:600;margin:0}.preview-badge{display:inline-block;padding:6px 12px;font-size:13px;font-weight:600;border-radius:16px;background:#2563eb;color:#fff}.preview-footer{padding-top:16px;border-top:1px solid #e2e8f0}.preview-note{font-size:12px;color:#94a3b8;margin:0;line-height:1.5}.action-buttons{display:flex;gap:12px}.tabs{display:flex;gap:8px;margin-bottom:8px}.tab{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid #e2e8f0;border-radius:999px;background:#fff;color:#334155;font-weight:600;font-size:13px;cursor:pointer;transition:all .2s ease}.tab.active{background:#eff6ff;border-color:#2563eb;color:#1d4ed8}.count-chip{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#e2e8f0;color:#0f172a;font-size:12px}.file-list{display:flex;flex-direction:column;gap:8px}.file-row{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.file-main{display:flex;align-items:center;gap:8px;color:#334155}.file-name{font-weight:600}.file-size{color:#64748b;font-size:12px}.status-badge{padding:4px 12px;font-size:12px;font-weight:600;border-radius:12px;text-transform:capitalize}.status-badge.pending{background:#fef3c7;color:#92400e}.status-badge.approved{background:#dcfce7;color:#166534}.status-badge.rejected{background:#fee2e2;color:#991b1b}.card-status-pending{border-left:4px solid #f59e0b}.card-status-approved{border-left:4px solid #16a34a}.card-status-rejected{border-left:4px solid #ef4444}.btn-approve,.btn-reject{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:8px;border:none;cursor:pointer;font-weight:600}.btn-approve{background:#10b981;color:#fff}.btn-approve:hover{background:#059669}.btn-reject{background:#ef4444;color:#fff}.btn-reject:hover{background:#dc2626}.toast-container{position:fixed;top:20px;right:20px;display:flex;flex-direction:column;gap:10px;z-index:9999}.toast{display:flex;align-items:center;gap:10px;min-width:260px;padding:10px 14px;border-radius:10px;box-shadow:0 10px 25px #00000014;background:#fff;border:1px solid #e2e8f0}.toast.success{border-color:#bbf7d0;background:#ecfdf5}.toast.error{border-color:#fecaca;background:#fef2f2}.toast-icon{color:#0f172a;display:flex;align-items:center}.toast.success .toast-icon{color:#16a34a}.toast.error .toast-icon{color:#ef4444}.toast-message{color:#0f172a;font-weight:600}.btn-save{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#2563eb,#4f46e5);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s ease;box-shadow:0 4px 12px #2563eb4d}.btn-save:hover{background:linear-gradient(135deg,#1d4ed8,#4338ca);box-shadow:0 6px 20px #2563eb66}.btn-publish{padding:12px 24px;background:#10b981;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s ease}.btn-publish:hover{background:#059669}.btn-draft{padding:12px 24px;border:2px solid #cbd5e1;color:#475569;background:#fff;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .2s ease}.btn-draft:hover{background:#f8fafc}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.subsection-title{font-size:14px;font-weight:700;color:#0f172a;margin:8px 0 12px}.time-tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:8px}.time-box,.tools-box{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:12px 16px}.breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:8px}.breadcrumb-link{color:#64748b;text-decoration:none;font-size:13px}.breadcrumb-link:hover{color:#1f2937}.breadcrumb-current{color:#0f172a;font-weight:600;font-size:13px}.breadcrumb-sep{color:#cbd5e1}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;text-transform:capitalize}.chip.code{background:#eef2ff;color:#3730a3}.chip.status.published{background:#dcfce7;color:#166534}.chip.status.draft{background:#fee2e2;color:#991b1b}.dot{color:#94a3b8}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border:2px solid #3b82f6;background:#fff;color:#3b82f6;border-radius:10px;cursor:pointer;font-weight:600;font-size:14px;transition:all .2s ease;text-decoration:none}.btn-secondary:hover{background:#3b82f6;color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}@media(max-width:1024px){.filters-grid{grid-template-columns:repeat(2,1fr)}.semester-stats{grid-template-columns:repeat(5,1fr)}.courses-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.create-layout{grid-template-columns:1fr}.preview-card{position:relative;top:0}}@media(max-width:768px){.course-management{padding:16px}.course-header-top{flex-direction:column;align-items:flex-start;gap:16px}.course-actions{width:100%;flex-wrap:wrap}.btn-import,.btn-export,.btn-create-course{flex:1;justify-content:center}.filters-grid{grid-template-columns:1fr}.semester-stats{grid-template-columns:repeat(3,1fr)}.courses-grid{grid-template-columns:1fr}.create-header{flex-direction:column;align-items:flex-start;gap:16px}.btn-cancel{width:100%;justify-content:center}.form-row{grid-template-columns:1fr}.action-buttons{flex-direction:column}.btn-save,.btn-publish,.btn-draft{width:100%;justify-content:center}}.time-tools{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:16px}.time-box,.tools-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:16px}.time-box p,.tools-box p{color:#1e293b!important;font-size:14px;font-weight:500;margin:0}.subsection-title{color:#0f172a!important;font-size:14px;font-weight:700;margin:0 0 8px}.tags-wrapper{display:flex;flex-wrap:wrap;gap:8px}.tag{display:inline-flex;align-items:center;padding:6px 12px;background:#e0e7ff;color:#3730a3!important;font-size:13px;font-weight:600;border-radius:8px}.tag-prerequisite{background:#dbeafe;color:#1e40af!important}.text-warning{color:#f59e0b}.text-success{color:#10b981}.empty-description{color:#64748b!important;font-size:14px;margin:0}.version-history-container{background:#fff;border-radius:12px;border:1px solid #e5e7eb;overflow:hidden}.version-history-header{display:flex;align-items:center;gap:.5rem;padding:1rem 1.25rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.version-history-header h4{margin:0;font-size:1rem;font-weight:600}.version-count{margin-left:auto;background:#fff3;padding:.25rem .75rem;border-radius:999px;font-size:.75rem}.version-history-loading,.version-history-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;color:#6b7280;gap:.5rem}.version-history-empty .empty-icon{color:#d1d5db}.version-history-empty h4{margin:.5rem 0 0;color:#374151}.version-history-empty p{margin:0;font-size:.85rem}.version-list{max-height:400px;overflow-y:auto}.version-item{border-bottom:1px solid #e5e7eb;transition:background-color .2s}.version-item:last-child{border-bottom:none}.version-item:hover{background:#f9fafb}.version-item.active{background:linear-gradient(90deg,rgba(34,197,94,.05) 0%,transparent 100%);border-left:3px solid #22c55e}.version-item.archived{border-left:3px solid transparent}.version-header{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;cursor:pointer}.version-info{display:flex;align-items:center;gap:.75rem;min-width:140px}.version-number{font-size:1rem;font-weight:700;color:#1f2937;min-width:2.5rem}.version-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase}.version-badge.active{background:#dcfce7;color:#166534}.version-badge.archived{background:#f3f4f6;color:#6b7280}.version-meta{display:flex;align-items:center;gap:1rem;flex:1;color:#6b7280;font-size:.8rem}.version-date{display:flex;align-items:center;gap:.25rem}.version-decision{background:#eff6ff;color:#1e40af;padding:.15rem .5rem;border-radius:4px;font-size:.7rem;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.version-actions{display:flex;align-items:center;gap:.5rem}.btn-rollback{display:flex;align-items:center;gap:.25rem;padding:.35rem .75rem;background:#fef3c7;color:#92400e;border:1px solid #fcd34d;border-radius:6px;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-rollback:hover{background:#fde68a;border-color:#f59e0b}.btn-expand{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:1px solid #e5e7eb;border-radius:6px;color:#6b7280;cursor:pointer;transition:all .2s}.btn-expand:hover{background:#f3f4f6;color:#1f2937}.version-details{background:#f9fafb;border-top:1px solid #e5e7eb;padding:1rem}.details-loading{display:flex;align-items:center;gap:.5rem;color:#6b7280;font-size:.85rem}.details-content{display:flex;flex-direction:column;gap:.5rem}.detail-row{display:flex;gap:.75rem;font-size:.85rem}.detail-row label{font-weight:600;color:#374151;min-width:140px;flex-shrink:0}.detail-row span{color:#6b7280}.faculty-layout{display:flex;min-height:100vh;background-color:#f8fafc;--bg-primary: #f8fafc;--bg-gradient: linear-gradient(180deg, #f8fafc 0%, #eff6ff 50%, #f0f9ff 100%);--bg-surface: #ffffff;--bg-surface-secondary: #f0f4f8;--bg-input: #f8fafc;--text-primary: #0f172a;--text-secondary: #64748b;--text-tertiary: #94a3b8;--border-primary: #cbd5e1;--border-secondary: #e2e8f0;--accent-blue: #3b82f6;--accent-blue-light: #60a5fa;--accent-blue-hover: #2563eb;--shadow-light: 0 1px 3px rgba(0, 0, 0, .1);--shadow-medium: 0 4px 20px rgba(0, 0, 0, .06);--shadow-heavy: 0 8px 30px rgba(0, 0, 0, .12)}.faculty-layout select,.faculty-layout input,.faculty-layout textarea{background-color:#fff!important;color:#0f172a!important;border-color:#d1d5db!important}.faculty-layout select option{background-color:#fff!important;color:#0f172a!important}.faculty-layout select:focus,.faculty-layout input:focus,.faculty-layout textarea:focus{border-color:#3b82f6!important;box-shadow:0 0 0 3px #3b82f633!important}.faculty-content{flex:1;padding:24px;margin-left:280px;transition:margin-left .3s ease;background:#f8fafc}.faculty-layout:has(.sidebar.collapsed) .faculty-content,body.sidebar-collapsed .faculty-content{margin-left:70px}@media(max-width:768px){.faculty-content{margin-left:0;padding:16px}}.faculty-content:has(.profile-page.embedded){padding:0;background-color:transparent}.question-statistics-container{padding:24px;max-width:1400px;margin:0 auto}.statistics-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px;flex-wrap:wrap;gap:16px}.header-content{flex:1;min-width:250px}.statistics-title{font-size:28px;font-weight:700;color:#1a1a1a;margin:0 0 8px}.statistics-subtitle{font-size:14px;color:#666;margin:0}.header-filters{display:flex;gap:12px;flex-wrap:wrap}.filter-select{padding:8px 16px;border:1px solid #d9d9d9;border-radius:6px;background-color:#fff;font-size:14px;color:#333;cursor:pointer;transition:all .3s}.filter-select:hover{border-color:#1890ff}.filter-select:focus{outline:none;border-color:#1890ff;box-shadow:0 0 0 2px #1890ff1a}.statistics-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:32px}.stat-card{background-color:#fff;border-radius:8px;padding:20px;display:flex;align-items:center;gap:16px;box-shadow:0 2px 8px #0000000f;transition:transform .2s,box-shadow .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.stat-icon{width:48px;height:48px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-content{flex:1}.stat-label{font-size:13px;color:#666;margin:0 0 4px}.stat-value{font-size:28px;font-weight:700;color:#1a1a1a;margin:0}.stat-value-text{font-size:16px;font-weight:600;color:#1a1a1a;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.statistics-section{background-color:#fff;border-radius:8px;padding:24px;margin-bottom:24px;box-shadow:0 2px 8px #0000000f}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-title{font-size:20px;font-weight:600;color:#1a1a1a;margin:0 0 20px}.section-badge{display:inline-flex;align-items:center;padding:4px 12px;background-color:#e6f7ff;color:#1890ff;border-radius:12px;font-size:13px;font-weight:500}.course-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.course-stat-card{padding:16px;border:1px solid #f0f0f0;border-radius:6px;transition:border-color .2s}.course-stat-card:hover{border-color:#1890ff}.course-stat-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.course-name{font-size:15px;font-weight:600;color:#1a1a1a;margin:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-count{font-size:14px;font-weight:600;color:#1890ff;white-space:nowrap;margin-left:8px}.course-stat-bar{height:8px;background-color:#f0f0f0;border-radius:4px;overflow:hidden;margin-bottom:8px}.course-stat-fill{height:100%;border-radius:4px;transition:width .6s ease}.course-stat-percentage{font-size:12px;color:#666;margin:0}.trend-chart{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;height:200px;padding:16px 0}.trend-day{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px}.trend-bar-container{flex:1;width:100%;display:flex;align-items:flex-end;min-height:120px}.trend-bar{width:100%;border-radius:4px 4px 0 0;transition:all .3s;min-height:20px;cursor:pointer}.trend-bar:hover{opacity:.8}.trend-label{font-size:11px;color:#666;text-align:center}.trend-count{font-size:13px;font-weight:600;color:#1a1a1a}.recent-questions-list{display:flex;flex-direction:column;gap:12px}.question-item{padding:16px;border:1px solid #f0f0f0;border-radius:6px;transition:all .2s}.question-item:hover{border-color:#1890ff;background-color:#fafafa}.question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;gap:12px}.question-student{font-size:14px;font-weight:600;color:#1a1a1a}.question-time{font-size:12px;color:#999;white-space:nowrap}.question-content{font-size:14px;color:#333;margin:0 0 12px;line-height:1.6}.question-footer{display:flex;align-items:center;gap:8px}.question-course{display:inline-flex;align-items:center;padding:4px 10px;background-color:#f0f5ff;color:#597ef7;border-radius:4px;font-size:12px;font-weight:500}@media(max-width:768px){.question-statistics-container{padding:16px}.statistics-header{flex-direction:column}.statistics-overview,.course-stats-grid{grid-template-columns:1fr}.trend-chart{height:150px;gap:4px}.trend-label{font-size:10px}}.sc-container{max-width:1600px;margin:0 auto}.sc-info-box{display:flex;align-items:flex-start;gap:14px;background:linear-gradient(135deg,#eff6ff,#dbeafe);border:2px solid #93c5fd;border-radius:16px;padding:18px 24px;margin-bottom:24px}.sc-info-icon{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sc-info-content{font-size:14px;color:#1e40af;line-height:1.6}.sc-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:24px}.sc-config-card{background:#fff;border-radius:20px;box-shadow:0 4px 16px #00000014;border:2px solid #cbd5e1;overflow:hidden;transition:all .3s ease;display:flex;flex-direction:column}.sc-config-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px #0000001f;border-color:#94a3b8}.sc-config-card.full-width{grid-column:span 3}.sc-card-header{padding:24px 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #e2e8f0;background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.sc-card-title-wrapper{display:flex;align-items:center;gap:14px}.sc-card-icon{width:54px;height:54px;border-radius:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px #00000026}.sc-card-icon.database{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.sc-card-icon.gemini,.sc-card-icon.application{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.sc-card-title{font-size:18px;font-weight:700;color:#1f2937;margin:0}.sc-status-badge{padding:6px 14px;border-radius:20px;font-size:12px;font-weight:600;display:inline-flex;align-items:center;gap:6px}.sc-status-badge.full-control{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#047857}.sc-status-badge.full-control:before{content:"";width:6px;height:6px;border-radius:50%;background:#10b981}.sc-status-badge.limited{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#b45309}.sc-status-badge.limited:before{content:"";width:6px;height:6px;border-radius:50%;background:#f59e0b}.sc-card-content{padding:28px;display:flex;flex-direction:column;gap:20px;flex:1}.sc-form-group{display:flex;flex-direction:column;gap:8px}.sc-form-label{font-size:13px;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.5px}.sc-form-input{width:100%;padding:14px 18px;border:2px solid #cbd5e1;border-radius:14px;font-size:15px;color:#1f2937;background:#f9fafb;transition:all .2s ease}.sc-form-input::-moz-placeholder{color:#9ca3af}.sc-form-input::placeholder{color:#9ca3af}.sc-form-input:focus{outline:none;border-color:#3b82f6;background:#fff;box-shadow:0 0 0 4px #3b82f61a}.sc-form-select{width:100%;padding:14px 44px 14px 18px;border:2px solid #cbd5e1;border-radius:14px;font-size:15px;color:#1f2937;background:#f9fafb;cursor:pointer;transition:all .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 14px center;background-repeat:no-repeat;background-size:22px}.sc-form-select:focus{outline:none;border-color:#3b82f6;background-color:#fff;box-shadow:0 0 0 4px #3b82f61a}.sc-helper-text{font-size:12px;color:#9ca3af;margin-top:4px}.sc-helper-text.success{color:#10b981}.sc-checkbox-group{display:flex;align-items:center;gap:14px;padding:14px 18px;background:#f9fafb;border:2px solid #cbd5e1;border-radius:14px;cursor:pointer;transition:all .2s ease}.sc-checkbox-group:hover{background:#f1f5f9;border-color:#94a3b8}.sc-checkbox{width:22px;height:22px;accent-color:#3b82f6;cursor:pointer}.sc-checkbox-label{font-size:15px;color:#1f2937;font-weight:500;cursor:pointer}.sc-info-note{display:flex;align-items:flex-start;gap:12px;background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid #f59e0b;border-radius:14px;padding:16px 20px;margin-top:8px}.sc-info-note-icon{color:#b45309;flex-shrink:0;margin-top:2px}.sc-info-note-text{font-size:13px;color:#92400e;line-height:1.5}.sc-card-footer{padding:20px 28px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-top:2px solid #e2e8f0}.sc-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;border-radius:14px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.sc-btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 4px 14px #3b82f659}.sc-btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #3b82f673}.sc-btn-primary:disabled{opacity:.7;cursor:not-allowed;transform:none}.sc-message{display:flex;align-items:center;gap:12px;padding:16px 20px;border-radius:16px;margin-bottom:24px}.sc-message-success{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:2px solid #6ee7b7;color:#047857}.sc-message-error{background:linear-gradient(135deg,#fee2e2,#fecaca);border:2px solid #fca5a5;color:#dc2626}.sc-loading{display:flex;align-items:center;justify-content:center;padding:80px;color:#6b7280;gap:12px;font-size:16px}.sc-loading-spinner{animation:sc-spin .8s linear infinite}@keyframes sc-spin{to{transform:rotate(360deg)}}@media(max-width:1024px){.sc-cards-grid{grid-template-columns:1fr}.sc-config-card.full-width{grid-column:span 1}}@media(max-width:600px){.sc-card-header{flex-direction:column;align-items:flex-start;gap:12px}.sc-card-content{padding:20px}.sc-btn{width:100%;justify-content:center}}body.ai-settings-page{overflow:hidden!important;height:100vh!important}body.ai-settings-page .admin-layout,body.ai-settings-page .admin-content{height:100vh;overflow:hidden}body.ai-settings-page .admin-page-wrapper{overflow:hidden;height:100%;max-height:100vh;display:flex;flex-direction:column;margin-bottom:0}body.ai-settings-page .admin-page-wrapper .admin-page-content{flex:1;overflow:hidden;display:flex;flex-direction:column}.ais-container{display:flex;flex-direction:column;flex:1;overflow:hidden;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.ais-tabs-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:16px;flex-shrink:0}.ais-content{flex:1;overflow-y:auto;overflow-x:hidden;padding-right:8px}.ais-content::-webkit-scrollbar{width:6px}.ais-content::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.ais-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.ais-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}.ais-toolbar{display:flex;align-items:center;gap:12px;flex-shrink:0}.ais-search{position:relative}.ais-search input{width:200px;padding:8px 14px 8px 38px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#1e293b;font-size:.875rem;transition:all .2s ease}.ais-search input::-moz-placeholder{color:#94a3b8}.ais-search input::placeholder{color:#94a3b8}.ais-search input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.ais-search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#94a3b8;width:16px;height:16px}.ais-tabs{display:flex;gap:6px;padding:4px;background:#f8fafc;border-radius:10px;border:1px solid #e2e8f0;overflow-x:auto;flex:1;min-width:0}.ais-tab{display:flex;align-items:center;gap:8px;padding:10px 18px;background:transparent;border:none;border-radius:10px;color:#64748b;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.ais-tab:hover{background:#f1f5f9;color:#3b82f6}.ais-tab.active{background:linear-gradient(135deg,#3b82f6,#06b6d4);color:#fff;box-shadow:0 4px 12px #3b82f640}.ais-tab.active svg{color:#fff}.ais-tab svg{width:18px;height:18px;color:#94a3b8}.ais-tab-badge{background:#3b82f626;color:#3b82f6;font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:10px}.ais-tab.active .ais-tab-badge{background:#ffffff40;color:#fff}.ais-content{min-height:400px}.ais-section{margin-bottom:32px}.ais-section-title{font-size:.875rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin:0 0 16px;padding-left:4px}.ais-toggles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-bottom:24px}.ais-cards-list{display:flex;flex-direction:column;gap:16px}.ais-card{background:#fff;border:1.5px solid #cbd5e1;border-radius:14px;transition:all .2s ease;box-shadow:0 1px 3px #0000000a}.ais-card:hover{border-color:#94a3b8;box-shadow:0 4px 12px #00000014}.ais-card.has-changes{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.ais-card-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;cursor:pointer;border-radius:14px 14px 0 0}.ais-card-header:hover{background:#f8fafc}.ais-card-info{flex:1;min-width:0}.ais-card-title{font-size:.95rem;font-weight:600;color:#1e293b;margin:0}.ais-card-preview{font-size:.8rem;color:#94a3b8;margin:4px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ais-card-description{font-size:.85rem;color:#64748b;margin:0 0 16px;line-height:1.5}.ais-card-actions{display:flex;align-items:center;gap:8px}.ais-expand-btn{color:#94a3b8!important}.ais-card-body{padding:0 20px 20px}.ais-card-meta{display:flex;align-items:center;gap:16px;margin-top:14px;font-size:.75rem;color:#94a3b8;flex-wrap:wrap}.ais-card-key{font-family:JetBrains Mono,Fira Code,monospace;background:#f1f5f9;color:#64748b;padding:4px 10px;border-radius:6px;font-size:.7rem}.ais-card-chars{color:#94a3b8}.ais-card-updated{margin-left:auto;color:#94a3b8}.ais-card-toggle{padding:16px 20px}.ais-card-toggle .ais-card-header{padding:0;cursor:default}.ais-card-toggle .ais-card-header:hover{background:transparent}.ais-toggle-content{display:flex;justify-content:space-between;align-items:center;gap:16px}.ais-toggle-content .ais-card-description{margin:4px 0 0;font-size:.8rem}.ais-toggle-switch{position:relative;width:48px;height:26px;background:#e2e8f0;border-radius:13px;cursor:pointer;transition:all .3s ease;border:none;padding:0;flex-shrink:0}.ais-toggle-switch:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;border-radius:50%;transition:all .3s ease;box-shadow:0 2px 4px #0000001a}.ais-toggle-switch.enabled{background:linear-gradient(135deg,#3b82f6,#06b6d4)}.ais-toggle-switch.enabled:after{left:25px}.ais-toggle-switch:disabled{opacity:.5;cursor:not-allowed}.ais-toggle-status{display:flex;align-items:center;gap:6px;font-size:.8rem;font-weight:500}.ais-toggle-status.enabled{color:#22c55e}.ais-toggle-status.disabled{color:#94a3b8}.ais-input-row{display:flex;align-items:center;gap:12px}.ais-input{padding:12px 16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;color:#1e293b;font-size:.9rem;transition:all .2s ease}.ais-input:focus{outline:none;border-color:#3b82f6;background:#fff;box-shadow:0 0 0 3px #3b82f61a}.ais-input-number{width:120px;font-family:JetBrains Mono,Fira Code,monospace;font-size:1rem;font-weight:600;text-align:center}.ais-input-short{width:100%}.ais-input-unit{font-size:.8rem;color:#64748b;font-weight:500}.ais-textarea{width:100%;padding:16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;color:#1e293b;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.85rem;line-height:1.7;resize:vertical;transition:all .2s ease}.ais-textarea::-moz-placeholder{color:#94a3b8}.ais-textarea::placeholder{color:#94a3b8}.ais-textarea:focus{outline:none;border-color:#3b82f6;background:#fff;box-shadow:0 0 0 3px #3b82f61a}.ais-placeholder-helper{background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;padding:12px 16px;margin-bottom:14px}.ais-placeholder-header{display:flex;align-items:center;gap:8px;font-size:.8rem;color:#3b82f6;margin-bottom:10px;font-weight:500}.ais-placeholder-list{display:flex;flex-wrap:wrap;gap:8px}.ais-placeholder-chip{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#3b82f61a;border:1px solid rgba(59,130,246,.2);border-radius:6px;cursor:pointer;font-size:.8rem;color:#3b82f6;transition:all .2s ease}.ais-placeholder-chip:hover{background:#3b82f626;border-color:#3b82f6}.ais-placeholder-chip code{font-family:JetBrains Mono,Fira Code,monospace;background:transparent}.ais-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border:none;border-radius:10px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.ais-btn-primary{background:linear-gradient(135deg,#3b82f6,#06b6d4);color:#fff;box-shadow:0 4px 12px #3b82f640}.ais-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #3b82f659}.ais-btn-secondary{background:#fff;color:#64748b;border:1px solid #e2e8f0}.ais-btn-secondary:hover{background:#f8fafc;color:#3b82f6;border-color:#3b82f6}.ais-btn-ghost{background:transparent;color:#94a3b8;padding:8px}.ais-btn-ghost:hover{background:#f1f5f9;color:#3b82f6}.ais-btn:disabled{opacity:.5;cursor:not-allowed}.ais-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;color:#64748b}.ais-loading svg{color:#3b82f6;animation:spin 1s linear infinite}.ais-loading p{margin-top:16px}.ais-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;color:#94a3b8;text-align:center;background:#fff;border-radius:16px;border:2px dashed #e2e8f0}.ais-empty svg{color:#cbd5e1;margin-bottom:16px}.ais-empty h3{color:#64748b;margin:0 0 8px}.ais-empty p{color:#94a3b8;margin:0}@media(max-width:1024px){.ais-tabs-row{flex-direction:column;align-items:stretch}.ais-toolbar{justify-content:flex-end}.ais-search input{width:200px}}@media(max-width:768px){.ais-toolbar{flex-direction:row;justify-content:space-between}.ais-search{flex:1}.ais-search input{width:100%}.ais-tabs{padding:4px}.ais-tab{padding:6px 10px}.ais-tab-name{display:none}.ais-toggles-grid{grid-template-columns:1fr}}.semester-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #e5e7eb}.semester-description{color:#6b7280;font-size:14px;margin:0}.btn-add-semester{background:linear-gradient(135deg,#4f46e5,#6366f1);color:#fff;border:none;border-radius:6px;padding:10px 16px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px;box-shadow:0 2px 4px #4f46e54d}.btn-add-semester:hover{background:linear-gradient(135deg,#4338ca,#4f46e5);transform:translateY(-1px);box-shadow:0 4px 8px #4f46e566}.semester-list{display:flex;flex-direction:column;gap:12px}.semester-item{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;transition:all .2s ease;box-shadow:0 1px 3px #0000001a}.semester-item:hover{border-color:#d1d5db;box-shadow:0 2px 6px #00000026}.semester-info{display:flex;flex-direction:column;gap:4px}.semester-name{font-size:16px;font-weight:600;color:#1f2937;margin:0}.semester-id{font-size:12px;color:#6b7280}.semester-actions{display:flex;gap:8px}.action-btn{background:transparent;border:1px solid #d1d5db;border-radius:6px;padding:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.edit-btn{color:#4f46e5;border-color:#4f46e5}.edit-btn:hover{background:#f3f4f6;border-color:#4338ca;color:#4338ca}.delete-btn{color:#ef4444;border-color:#ef4444}.delete-btn:hover{background:#fef2f2;border-color:#dc2626;color:#dc2626}.empty-state{text-align:center;padding:40px 20px;color:#6b7280;font-style:italic}.modal{background:#fff;border-radius:8px;padding:24px;width:90%;max-width:500px;box-shadow:0 10px 25px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #e5e7eb}.modal-header h2{font-size:20px;font-weight:600;color:#1f2937;margin:0}.modal-close{background:transparent;border:none;font-size:24px;color:#6b7280;cursor:pointer;padding:4px;line-height:1}.modal-close:hover{color:#374151}.modal-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:14px;font-weight:500;color:#374151}.form-group input{padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;color:#1f2937;transition:border-color .2s ease}.form-group input:focus{outline:none;border-color:#4f46e5;box-shadow:0 0 0 3px #4f46e51a}.modal-actions{display:flex;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid #e5e7eb}.btn{padding:10px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;border:none;flex:1}.btn-primary{background:linear-gradient(135deg,#4f46e5,#6366f1);color:#fff;box-shadow:0 2px 4px #4f46e54d}.btn-primary:hover{background:linear-gradient(135deg,#4338ca,#4f46e5);transform:translateY(-1px);box-shadow:0 4px 8px #4f46e566}.btn-secondary{background:#f3f4f6;color:#374151;border:1px solid #d1d5db}.btn-secondary:hover{background:#e5e7eb;border-color:#9ca3af}@media(max-width:768px){.semester-header{flex-direction:column;align-items:flex-start;gap:12px}.btn-add-semester{width:100%;justify-content:center}.semester-item{flex-direction:column;align-items:flex-start;gap:12px}.semester-actions{width:100%;justify-content:flex-end}.modal{width:95%;margin:20px}.modal-actions{flex-direction:column}}.btn-danger{background-color:#ef4444;color:#fff}.btn-danger:hover{background-color:#dc2626}.btn-sm{padding:4px 8px;font-size:12px}.table-container{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.semester-table{width:100%;border-collapse:collapse}.semester-table th{background-color:#f1f5f9;padding:16px 12px;text-align:left;font-weight:600;color:#374151;border-bottom:1px solid #e2e8f0;font-size:14px}.semester-table td{padding:16px 12px;border-bottom:1px solid #f1f5f9;color:#374151;font-size:14px}.semester-table tbody tr:hover{background-color:#f8fafc}.status-badge{padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500;text-transform:uppercase}.status-badge.active{background-color:#dcfce7;color:#166534}.status-badge.inactive{background-color:#fef3c7;color:#92400e}.status-badge.completed{background-color:#dbeafe;color:#1e40af}.action-buttons{display:flex;gap:8px}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#fff;border-radius:8px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e2e8f0}.modal-header h2{margin:0;font-size:20px;font-weight:600;color:#1a202c}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:#6b7280;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px}.modal-close:hover{background-color:#f3f4f6}.modal-form{padding:24px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.form-group{display:flex;flex-direction:column}.form-group label{font-weight:500;color:#374151;margin-bottom:6px;font-size:14px}.form-group input,.form-group select,.form-group textarea{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group textarea{resize:vertical;min-height:80px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:16px;border-top:1px solid #e2e8f0}@media(max-width:768px){.semester-management{padding:16px}.page-header{flex-direction:column;gap:16px;align-items:stretch}.table-container{overflow-x:auto}.semester-table{min-width:800px}.form-row{grid-template-columns:1fr}.modal{width:95%;margin:16px}.action-buttons{flex-direction:column}}.spec-management{padding:0}.spec-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:12px}.spec-subtitle{color:#64748b;font-size:14px;margin:0}.btn-create-spec{display:flex;align-items:center;gap:6px;padding:10px 16px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-create-spec:hover{transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.spec-actions{display:flex;gap:8px;margin-right:12px}.btn-edit,.btn-delete{padding:6px;background:none;border:none;color:#94a3b8;cursor:pointer;border-radius:6px;transition:all .2s}.btn-edit:hover{background:#dbeafe;color:#2563eb}.btn-delete:hover{background:#fee2e2;color:#dc2626}.form-input{width:100%;padding:10px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px}.form-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.spec-grid{display:flex;flex-direction:column;gap:16px}.spec-card{background:#fff;border-radius:12px;border:2px solid #e2e8f0;overflow:hidden;transition:all .2s ease}.spec-card:hover{border-color:#3b82f6}.spec-card.expanded{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626}.spec-card-header{display:flex;align-items:center;gap:16px;padding:20px;cursor:pointer}.spec-icon{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.spec-info{flex:1}.spec-name{font-size:16px;font-weight:600;color:#1e293b;margin-bottom:4px}.spec-code{font-size:13px;color:#64748b;margin-bottom:8px}.spec-stats{display:flex;gap:12px}.spec-stats .stat{font-size:12px;padding:2px 8px;border-radius:6px}.spec-stats .stat.required{background:#fee2e2;color:#dc2626}.spec-stats .stat.elective{background:#dbeafe;color:#2563eb}.spec-stats .stat.total{background:#f1f5f9;color:#475569}.spec-expand{color:#64748b}.spec-subjects{border-top:1px solid #e2e8f0;padding:20px;background:#f8fafc}.spec-subjects-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.spec-subjects-header h4{font-size:14px;font-weight:600;color:#475569}.btn-add-subject{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s}.btn-add-subject:hover{background:#2563eb}.subjects-loading{display:flex;align-items:center;gap:8px;color:#64748b;font-size:14px;padding:20px;justify-content:center}.no-subjects{text-align:center;padding:40px 20px;color:#94a3b8}.no-subjects p{margin:12px 0;font-size:14px}.btn-add-first{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:14px;cursor:pointer}.btn-add-first:hover{background:#2563eb}.subject-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#fff;border-radius:8px;border:1px solid #e2e8f0}.subject-info{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.subject-code{font-weight:600;color:#1e293b;font-size:14px}.subject-name{color:#475569;font-size:14px;max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subject-type{font-size:11px;padding:3px 8px;border-radius:6px;font-weight:500;text-transform:uppercase}.subject-semester{font-size:12px;color:#64748b;background:#f1f5f9;padding:3px 8px;border-radius:6px}.btn-remove{padding:6px;background:none;border:none;color:#94a3b8;cursor:pointer;border-radius:6px;transition:all .2s}.btn-remove:hover{background:#fee2e2;color:#dc2626}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:16px;width:100%;max-width:750px;max-height:90vh;overflow:hidden;box-shadow:0 20px 40px #0003;display:flex;flex-direction:column}.add-sub-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.add-sub-modal{background:#fff;border-radius:20px;width:100%;max-width:950px;min-height:600px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 25px 50px -12px #00000040;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.add-sub-header{padding:32px 40px 24px;border-bottom:1px solid #f1f5f9}.add-sub-header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.add-sub-title{font-size:22px;font-weight:800;color:#0f172a;margin:0}.add-sub-close{background:#f1f5f9;border:none;color:#64748b;cursor:pointer;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s}.add-sub-close:hover{background:#e2e8f0;color:#1e293b;transform:rotate(90deg)}.add-sub-subtitle{margin:0;font-size:14px;color:#64748b}.add-sub-subtitle span{font-weight:700;color:#2563eb}.add-sub-body{padding:32px 40px}.add-sub-form-group{margin-bottom:32px;position:relative}.add-sub-label{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:700;color:#334155;margin-bottom:12px}.add-sub-required{color:#ef4444}.add-sub-combobox{position:relative}.add-sub-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#94a3b8;pointer-events:none;z-index:1}.add-sub-input{width:100%;height:44px;padding:10px 40px 10px 38px;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;background:#fff;color:#1e293b;box-sizing:border-box;outline:none;transition:all .2s;cursor:text}.add-sub-input:focus,.add-sub-input.active{border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a}.add-sub-chevron{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#64748b;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s}.add-sub-chevron.open{transform:translateY(-50%) rotate(180deg)}.add-sub-dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a;max-height:260px;overflow-y:auto;z-index:1000;animation:addSubSlideIn .2s ease-out}@keyframes addSubSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.add-sub-empty{padding:24px 16px;color:#94a3b8;text-align:center;font-size:13px}.add-sub-item{padding:10px 16px;cursor:pointer;border-bottom:1px solid #f8fafc;transition:background .15s;display:flex;flex-direction:column;gap:2px}.add-sub-item:last-child{border-bottom:none}.add-sub-item:hover{background:#f8fafc}.add-sub-item.selected{background:#eff6ff;color:#2563eb}.add-sub-item-code{font-weight:600}.add-sub-item-name{font-size:12px;color:#64748b}.add-sub-item.selected .add-sub-item-name{color:#3b82f6}.add-sub-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}.add-sub-select-wrapper{position:relative}.add-sub-select{width:100%;height:42px;padding:10px 36px 10px 12px;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;background:#fff;color:#1e293b;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;outline:none;transition:all .2s}.add-sub-select:focus{border-color:#3b82f6}.add-sub-textarea{width:100%;padding:12px;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;color:#1e293b;resize:none;box-sizing:border-box;outline:none;transition:all .2s;background:#fff}.add-sub-textarea:focus{border-color:#3b82f6}.add-sub-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px 24px;border-top:1px solid #f1f5f9;background:#f8fafc}.add-sub-btn-cancel{padding:10px 20px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;font-weight:600;color:#475569;cursor:pointer;transition:all .2s}.add-sub-btn-cancel:hover{background:#f1f5f9}.add-sub-btn-submit{display:flex;align-items:center;gap:8px;padding:10px 24px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 4px 12px #2563eb40;transition:all .2s}.add-sub-btn-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 15px #2563eb59}.add-sub-btn-submit:disabled{background:#cbd5e1;box-shadow:none;cursor:not-allowed}.custom-dropdown-scroll::-webkit-scrollbar{width:6px}.custom-dropdown-scroll::-webkit-scrollbar-track{background:#f8fafc;border-radius:10px}.custom-dropdown-scroll::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.custom-dropdown-scroll::-webkit-scrollbar-thumb:hover{background:#94a3b8}html{scroll-behavior:smooth;scrollbar-gutter:stable}*{transition-timing-function:cubic-bezier(.4,0,.2,1)}.group{transition:all .3s cubic-bezier(.34,1.56,.64,1)}.group:hover{transition:all .25s cubic-bezier(.34,1.56,.64,1)}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:#f1f5f9;border-radius:10px}*::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px;-webkit-transition:background .2s ease;transition:background .2s ease}*::-webkit-scrollbar-thumb:hover{background:#94a3b8}input:focus,select:focus,button:focus{outline:none}.shadow-sm,.shadow-md,.shadow-lg,.shadow-xl,.shadow-2xl{--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color)}.group:hover{cursor:pointer}@media(max-width:640px){.grid-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:768px){.p-6{padding:1rem}.flex-col{flex-direction:column}.flex.gap-3{flex-direction:column;width:100%}.flex.gap-3 button{width:100%}}@media print{.bg-gradient-to-br{background:#fff!important}.backdrop-blur-sm{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}button{display:none!important}}html{scroll-behavior:smooth}.overflow-y-auto::-webkit-scrollbar{width:8px}.overflow-y-auto::-webkit-scrollbar-track{background:#f1f5f9;border-radius:10px}.overflow-y-auto::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.overflow-y-auto::-webkit-scrollbar-thumb:hover{background:#94a3b8}.animate-spin{animation:spin 1s linear infinite}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}.bg-clip-text{-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem}select[size]{background-image:none;padding-right:1rem}input:focus,select:focus,textarea:focus,button:focus{outline:none}*{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.preload *{transition:none!important}.backdrop-blur-sm{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.backdrop-blur-md{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.sticky{position:sticky}.shadow-sm,.shadow-md,.shadow-lg,.shadow-xl{--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color)}@media print{.no-print{display:none!important}.bg-gradient-to-br{background:#fff!important}.backdrop-blur-sm,.backdrop-blur-md{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}}@media(max-width:1024px){.max-w-\[1800px\]{max-width:100%}}@media(max-width:768px){.flex.gap-6{flex-direction:column}.w-96{width:100%}.p-8{padding:1.5rem}.px-6{padding-left:1rem;padding-right:1rem}}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:16px;max-width:900px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:modalFadeIn .3s ease}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{padding:24px 28px;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center}.modal-header h2{margin:0;font-size:22px;font-weight:600;color:#1a1a1a}.close-button{width:32px;height:32px;border:none;background:#f5f5f5;border-radius:50%;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;color:#666}.close-button:hover{background:#e0e0e0;color:#333}.modal-body{padding:24px 28px;overflow-y:auto;flex:1}.info-section{margin-bottom:28px}.info-section:last-child{margin-bottom:0}.section-title{font-size:16px;font-weight:600;color:#333;margin:0 0 16px;padding-bottom:8px;border-bottom:2px solid #4CAF50}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.info-item{display:flex;flex-direction:column;gap:4px}.info-label{font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px}.info-value{font-size:14px;color:#333;font-weight:500}.status-badge{padding:4px 12px;border-radius:12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;display:inline-block;width:-moz-fit-content;width:fit-content}.status-pending{background:#fff3cd;color:#856404}.status-assigned{background:#d1ecf1;color:#0c5460}.status-resolved{background:#d4edda;color:#155724}.priority-badge{padding:4px 12px;border-radius:12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;display:inline-block;width:-moz-fit-content;width:fit-content}.priority-low{background:#e8e8e8;color:#555}.priority-medium{background:#fff3cd;color:#856404}.priority-high{background:#f8d7da;color:#721c24}.reason-box{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;padding:16px;font-size:14px;line-height:1.6;color:#333;white-space:pre-wrap;word-wrap:break-word}.resolution-section{background:linear-gradient(135deg,#e8f5e9,#f1f8f4);border:2px solid #4CAF50;border-radius:12px;padding:20px}.resolution-section .section-title{color:#2e7d32;margin-bottom:16px}.resolution-content{display:flex;flex-direction:column;gap:16px}.resolution-item{display:flex;flex-direction:column;gap:8px}.resolution-item strong{color:#2e7d32;font-size:13px;text-transform:uppercase;letter-spacing:.5px}.resolution-text{background:#fff;border:1px solid #c8e6c9;border-radius:8px;padding:12px;font-size:14px;line-height:1.6;color:#333;white-space:pre-wrap;word-wrap:break-word}.loading-indicator{display:flex;align-items:center;gap:12px;padding:20px;background:#f8f9fa;border-radius:8px;justify-content:center}.spinner-small{width:20px;height:20px;border:2px solid #f3f3f3;border-top:2px solid #4CAF50;border-radius:50%;animation:spin 1s linear infinite}.error-message{background:#fee;border:1px solid #fcc;border-radius:8px;padding:16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.retry-btn-small{padding:6px 12px;background:#fff;border:1px solid #999;border-radius:4px;cursor:pointer;font-size:12px;transition:all .2s}.retry-btn-small:hover{background:#f5f5f5;border-color:#666}.message-context{display:flex;flex-direction:column;gap:12px;max-height:400px;overflow-y:auto;padding:4px}.message-bubble{padding:12px 16px;border-radius:12px;position:relative;border:1px solid rgba(0,0,0,.08);box-shadow:0 2px 4px #00000014;transition:all .2s}.message-bubble:hover{box-shadow:0 4px 8px #0000001f;transform:translateY(-1px)}.message-bubble.student-message{background:linear-gradient(135deg,#e3f2fd,#bbdefb);align-self:flex-end;max-width:75%;margin-left:auto;border:1px solid #90caf9;box-shadow:0 2px 6px #2196f326}.message-bubble.student-message:hover{box-shadow:0 4px 10px #2196f340}.message-bubble.assistant-message{background:linear-gradient(135deg,#f5f5f5,#eee);align-self:flex-start;max-width:85%;margin-right:auto;border:1px solid #e0e0e0;box-shadow:0 2px 6px #0000001a}.message-bubble.assistant-message:hover{box-shadow:0 4px 10px #00000026}.message-bubble.user,.message-bubble.student{background:linear-gradient(135deg,#e3f2fd,#bbdefb);align-self:flex-end;max-width:75%;margin-left:auto;border:1px solid #90caf9;box-shadow:0 2px 6px #2196f326}.message-bubble.assistant{background:linear-gradient(135deg,#f5f5f5,#eee);align-self:flex-start;max-width:85%;margin-right:auto;border:1px solid #e0e0e0;box-shadow:0 2px 6px #0000001a}.message-bubble.faculty{background:linear-gradient(135deg,#fff3cd,#ffe082);align-self:flex-start;max-width:85%;margin-right:auto;border:1px solid #ffd54f;box-shadow:0 2px 6px #ffc10733}.message-bubble.resolution-message{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);align-self:flex-start;max-width:85%;margin-right:auto;border:2px solid #4CAF50;box-shadow:0 3px 8px #4caf5040;position:relative}.message-bubble.resolution-message:hover{box-shadow:0 5px 12px #4caf5059}.message-bubble.resolution-message .message-header{display:flex;justify-content:space-between;align-items:center}.resolution-header-left{display:flex;align-items:center;gap:8px;flex:1}.resolution-badge-inline{display:inline-block;background:#4caf50;color:#fff;padding:3px 10px;border-radius:10px;font-size:10px;font-weight:700;letter-spacing:.3px;text-transform:uppercase}.message-bubble.resolution-message .message-role{color:#2e7d32;font-weight:700}.message-bubble.resolution-message .message-content{background:#fff;border:1px solid #a5d6a7;border-radius:8px;padding:12px;margin-top:8px}.message-bubble.flagged{border:2px solid #ff6b6b;box-shadow:0 0 0 3px #ff6b6b1a}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.message-sender-info{display:flex;align-items:center;gap:8px;flex:1}.message-role{font-weight:700;font-size:13px;color:#333}.role-label{font-size:10px;color:#888;font-weight:400;text-transform:lowercase}.message-time{font-size:11px;color:#999}.message-content{font-size:14px;line-height:1.5;color:#333;white-space:pre-wrap;word-wrap:break-word}.flagged-indicator{margin-top:8px;padding:6px 12px;background:#ff6b6b;color:#fff;border-radius:6px;font-size:12px;font-weight:600;display:inline-block}.metadata-section{margin-top:16px}.metadata-section h4{font-size:13px;font-weight:600;color:#666;margin:0 0 8px}.metadata-box{background:#f8f9fa;border:1px solid #e0e0e0;border-radius:6px;padding:12px;font-size:12px;font-family:Courier New,monospace;color:#333;overflow-x:auto;max-height:200px;margin:0}.modal-footer{padding:16px 28px;border-top:1px solid #e0e0e0;display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}.assign-section{width:100%;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.assign-header{margin-bottom:16px}.assign-header h4{margin:0;font-size:16px;font-weight:600;color:#333}.assign-section .form-group{margin-bottom:16px}.assign-section .form-group label{display:block;font-size:13px;font-weight:600;color:#555;margin-bottom:8px}.faculty-search{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:8px;font-size:14px;color:#333;background:#fff;transition:all .2s}.faculty-search:hover{border-color:#4caf50}.faculty-search:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.faculty-search:disabled{background:#f5f5f5;cursor:not-allowed;opacity:.6}.faculty-search::-moz-placeholder{color:#999}.faculty-search::placeholder{color:#999}.faculty-select{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:8px;font-size:14px;color:#333;background:#fff;cursor:pointer;transition:all .2s;max-height:200px;overflow-y:auto}.faculty-select:hover{border-color:#4caf50}.faculty-select:disabled{background:#f5f5f5;cursor:not-allowed;opacity:.6}.text-muted{color:#999;font-size:12px;margin-top:4px;display:block}.assign-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.btn-confirm,.btn-cancel{padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-confirm{background:#4caf50;color:#fff}.btn-confirm:hover:not(:disabled){background:#45a049;transform:translateY(-1px);box-shadow:0 4px 8px #4caf504d}.btn-confirm:disabled{background:#ccc;cursor:not-allowed;transform:none}.btn-cancel:disabled{opacity:.5;cursor:not-allowed}.btn-assign,.btn-close,.btn-primary,.btn-secondary{padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.btn-assign,.btn-primary{background:#4caf50;color:#fff}.btn-assign:hover,.btn-primary:hover{background:#45a049;transform:translateY(-1px);box-shadow:0 4px 8px #4caf504d}.btn-close,.btn-secondary{background:#f5f5f5;color:#333}.btn-close:hover,.btn-secondary:hover{background:#e0e0e0}@media(max-width:768px){.modal-content{max-width:100%;max-height:95vh;border-radius:12px 12px 0 0}.info-grid{grid-template-columns:1fr}.message-bubble{max-width:90%!important}.modal-footer{flex-direction:column}.btn-assign,.btn-close{width:100%}}.assign-modal-content{background:#fff;border-radius:12px;max-width:500px;width:100%;box-shadow:0 20px 60px #0000004d}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:14px;font-weight:600;color:#333;margin-bottom:8px}.faculty-select{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;background:#fff;cursor:pointer;transition:border-color .2s}.faculty-select:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.faculty-select:disabled{background:#f5f5f5;cursor:not-allowed}.no-faculty-message{text-align:center;color:#666;font-size:14px;padding:20px}.btn-assign{background:#4caf50;color:#fff}.btn-assign:disabled{background:#ccc;cursor:not-allowed}.btn-cancel{background:#f5f5f5;color:#333}.btn-cancel:hover:not(:disabled){background:#e0e0e0}.my-flags-container{max-width:1000px;margin:0 auto;padding:24px;min-height:100vh;background:linear-gradient(to bottom,#f8fafc,#f1f5f9)}.my-flags-header{margin-bottom:32px}.my-flags-header h1{font-size:28px;font-weight:700;color:#1e293b;display:flex;align-items:center;gap:12px;margin-bottom:8px}.my-flags-header p{color:#64748b;font-size:16px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat-card{background:#fff;border-radius:16px;padding:20px;text-align:center;cursor:pointer;transition:all .2s ease;border:2px solid transparent;box-shadow:0 1px 3px #0000001a}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.stat-card .stat-number{font-size:32px;font-weight:700;color:#1e293b}.stat-card .stat-label{font-size:14px;color:#64748b;margin-top:4px}.stat-card.pending{border-color:#f59e0b}.stat-card.pending .stat-number{color:#f59e0b}.stat-card.assigned{border-color:#3b82f6}.stat-card.assigned .stat-number{color:#3b82f6}.stat-card.resolved{border-color:#10b981}.stat-card.resolved .stat-number{color:#10b981}.filter-tabs{display:flex;gap:8px;margin-bottom:24px;padding:4px;background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a}.filter-tabs button{flex:1;padding:12px 16px;border:none;background:transparent;border-radius:8px;font-size:14px;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s ease}.filter-tabs button:hover{background:#f1f5f9}.filter-tabs button.active{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.flags-list{display:flex;flex-direction:column;gap:12px}.flag-card{background:#fff;border-radius:16px;padding:20px;cursor:pointer;transition:all .2s ease;border-left:4px solid #e2e8f0;box-shadow:0 1px 3px #0000001a}.flag-card:hover{box-shadow:0 4px 12px #0000001a}.flag-card.pending{border-left-color:#f59e0b}.flag-card.assigned{border-left-color:#3b82f6}.flag-card.resolved{border-left-color:#10b981}.flag-main{display:flex;align-items:flex-start;gap:16px}.flag-type{display:flex;flex-direction:column;align-items:center;padding:12px;background:#f8fafc;border-radius:12px;min-width:70px}.type-icon.quiz{color:#f59e0b}.type-icon.message{color:#6366f1}.type-label{font-size:10px;font-weight:600;color:#64748b;margin-top:4px}.flag-content{flex:1}.flag-reason{font-size:15px;color:#1e293b;margin-bottom:8px;line-height:1.5}.flag-meta{display:flex;gap:16px;font-size:13px;color:#64748b}.flag-meta span{display:flex;align-items:center;gap:4px}.priority{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.priority.high{background:#fee2e2;color:#dc2626}.priority.medium{background:#fef3c7;color:#d97706}.priority.low{background:#dcfce7;color:#16a34a}.flag-status{min-width:120px;text-align:right}.status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:13px;font-weight:600}.status-pending{background:#fef3c7;color:#d97706}.status-assigned{background:#dbeafe;color:#2563eb}.status-resolved{background:#dcfce7;color:#16a34a}.flag-details{margin-top:20px;padding-top:20px;border-top:1px solid #e2e8f0}.timeline{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.timeline-item{display:flex;align-items:flex-start;gap:12px}.timeline-dot{width:12px;height:12px;border-radius:50%;margin-top:4px}.timeline-dot.flagged{background:#f59e0b}.timeline-dot.assigned{background:#3b82f6}.timeline-dot.resolved{background:#10b981}.timeline-content{display:flex;flex-direction:column}.timeline-content strong{font-size:14px;color:#1e293b}.timeline-content span{font-size:12px;color:#64748b}.resolution-notes{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:1px solid #a7f3d0;border-radius:12px;padding:16px}.resolution-notes h4{font-size:14px;color:#065f46;margin-bottom:8px}.resolution-notes p{font-size:14px;color:#047857;line-height:1.6}.my-flags-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:400px;color:#64748b}.spinner{width:40px;height:40px;border:3px solid #e2e8f0;border-top-color:#6366f1;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.empty-state{text-align:center;padding:60px 20px;color:#64748b}.empty-state h3{margin-top:16px;color:#1e293b}@media(max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.flag-main{flex-direction:column}.flag-type{flex-direction:row;min-width:auto;padding:8px 12px}.type-label{margin-top:0;margin-left:8px}.flag-status{min-width:auto;text-align:left;margin-top:12px}}.back-button{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;font-size:14px;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s ease;margin-bottom:20px}.back-button:hover{background:#f1f5f9;color:#1e293b;border-color:#cbd5e1}.resolution-section{display:flex;flex-direction:column;gap:12px}.corrected-response{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #93c5fd;border-radius:12px;padding:16px}.corrected-response h4{font-size:14px;color:#1e40af;margin-bottom:8px}.corrected-response p{font-size:14px;color:#1d4ed8;line-height:1.6;white-space:pre-wrap}.view-conversation-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;margin-top:16px;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:10px;font-size:14px;font-weight:500;color:#fff;cursor:pointer;transition:all .2s ease}.view-conversation-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f166}.onboarding-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f0fdfa,#e0f2fe,#f0f9ff);padding:24px}.onboarding-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f0fdfa}.loading-spinner{width:48px;height:48px;border:3px solid rgba(20,184,166,.2);border-top-color:#14b8a6;border-radius:50%;animation:spin 1s linear infinite}.onboarding-card{background:#fff;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid #e2e8f0;border-radius:24px;padding:48px;max-width:560px;width:100%;box-shadow:0 25px 50px #00000014;overflow:hidden}.onboarding-card *:before,.onboarding-card *:after{border:none!important}.welcome-card .welcome-header{text-align:center;margin-bottom:40px}.welcome-icon{width:80px;height:80px;background:linear-gradient(135deg,#14b8a6,#06b6d4);border-radius:20px;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;color:#fff}.welcome-header h1{font-size:2rem;font-weight:700;color:#1f2937;margin:0 0 12px}.welcome-subtitle{color:#64748b;font-size:1.1rem}.welcome-steps{display:flex;flex-direction:column;gap:16px;margin-bottom:40px}.step-item{display:flex;align-items:center;gap:16px;padding:20px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;transition:all .2s ease}.step-item:hover{background:#14b8a60d;border-color:#14b8a64d}.step-icon{width:48px;height:48px;background:#14b8a626;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#14b8a6;flex-shrink:0}.step-content h3{color:#1f2937;font-size:1rem;font-weight:600;margin:0 0 4px}.step-content p{color:#64748b;font-size:.9rem;margin:0}.step-done{margin-left:auto;color:#22c55e;font-size:1.2rem;font-weight:700}.onboarding-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 28px;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.onboarding-btn.primary{background:linear-gradient(135deg,#14b8a6,#06b6d4);color:#fff;width:100%}.onboarding-btn.primary:hover{transform:translateY(-2px);box-shadow:0 10px 30px #14b8a64d}.onboarding-btn.secondary{background:#f1f5f9;color:#64748b;border:1px solid #e2e8f0}.onboarding-btn.secondary:hover{background:#e2e8f0;color:#374151}.onboarding-btn:disabled{opacity:.6;cursor:not-allowed}.onboarding-header{text-align:center;margin-bottom:32px}.step-indicator{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:24px}.step-indicator .step{width:32px;height:32px;border-radius:50%;background:#e2e8f0;color:#94a3b8;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem}.step-indicator .step.active{background:linear-gradient(135deg,#14b8a6,#06b6d4);color:#fff}.step-indicator .step.done{background:#22c55e;color:#fff}.step-indicator .step-line{width:40px;height:2px;background:#e2e8f0}.onboarding-header h2{font-size:1.5rem;font-weight:700;color:#1f2937;margin:0 0 8px}.onboarding-header p{color:#64748b;margin:0}.onboarding-form{display:flex;flex-direction:column;gap:20px}.onboarding-form .form-group{display:flex;flex-direction:column;gap:8px}.onboarding-form .form-group label{display:flex;align-items:center;gap:8px;color:#374151;font-weight:500;font-size:.9rem}.onboarding-form .form-group input,.onboarding-form .form-group select{padding:14px 16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;color:#1f2937;font-size:1rem;transition:all .2s ease}.onboarding-form .form-group input::-moz-placeholder{color:#9ca3af}.onboarding-form .form-group input::placeholder{color:#9ca3af}.onboarding-form .form-group input:focus,.onboarding-form .form-group select:focus{outline:none;border-color:#14b8a6;background:#fff;box-shadow:0 0 0 3px #14b8a61a}.onboarding-form .form-group input.error,.onboarding-form .form-group select.error{border-color:#ef4444}.error-text{color:#ef4444;font-size:.85rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-actions{display:flex;gap:12px;margin-top:16px}.form-actions .onboarding-btn{flex:1}.upload-area{display:flex;flex-direction:column;align-items:center;border:2px dashed #14b8a6;border-radius:16px;padding:48px 24px;text-align:center;cursor:pointer;transition:all .3s ease;background:linear-gradient(135deg,#14b8a608,#06b6d408);position:relative}.upload-area:hover{border-color:#0d9488;background:linear-gradient(135deg,#14b8a614,#06b6d414);transform:translateY(-2px);box-shadow:0 8px 25px #14b8a626}.upload-area.dragover{border-color:#0d9488;background:linear-gradient(135deg,#14b8a61f,#06b6d41f);transform:scale(1.01);box-shadow:0 12px 30px #14b8a633}.upload-icon{width:64px;height:64px;background:#14b8a626;border-radius:16px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:#14b8a6}.onboarding-form .error-text{color:#dc2626;font-size:12px;margin-top:4px}.onboarding-form .helper-text{color:#14b8a6;font-size:12px;margin-top:6px;display:flex;align-items:center;gap:6px;font-style:italic}.upload-text h3{color:#1f2937;font-size:1.1rem;margin:0 0 8px}.upload-text p{color:#64748b;font-size:.9rem;margin:0}.upload-success{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.upload-success h3{color:#22c55e;font-size:1.3rem;font-weight:600;margin:16px 0 8px}.upload-success p{color:#64748b;font-size:.95rem;margin:0}.skip-hint{text-align:center;margin-top:24px;padding-top:24px;border-top:1px solid #e2e8f0}.skip-hint p{color:#64748b;font-size:.9rem;margin:0 0 12px}.skip-link{color:#14b8a6;text-decoration:none;font-weight:500}.skip-link:hover{text-decoration:underline}.complete-card{text-align:center}.success-icon{width:100px;height:100px;background:linear-gradient(135deg,#22c55e,#16a34a);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;color:#fff;animation:pop .5s ease}@keyframes pop{0%{transform:scale(0)}70%{transform:scale(1.1)}to{transform:scale(1)}}.complete-card h1{color:#1f2937;font-size:1.8rem;margin:0 0 12px}.complete-card .complete-subtitle{color:#64748b;font-size:1.1rem;margin:0 0 32px}.profile-summary{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:24px;margin-bottom:32px;text-align:left}.profile-summary h3{color:#14b8a6;font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;margin:0 0 16px}.profile-summary .summary-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #e2e8f0}.profile-summary .summary-row:last-child{border-bottom:none}.profile-summary .summary-label{color:#64748b}.profile-summary .summary-value{color:#1f2937;font-weight:500}.spin{animation:spin 1s linear infinite}@media(max-width:600px){.onboarding-card{padding:32px 24px;border-radius:20px}.welcome-header h1{font-size:1.5rem}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}}.career-path-page{--cp-card-bg: var(--bg-surface);--cp-card-border: var(--border-secondary);--cp-text-muted: var(--text-tertiary);--cp-accent: var(--accent-blue);height:100vh;background:var(--bg-gradient);color:var(--text-primary);padding:24px;display:flex;flex-direction:column;overflow:hidden}[data-theme=dark] .career-path-page{--cp-text-primary: #f1f5f9;--cp-text-secondary: #cbd5e1;--cp-text-muted: #94a3b8}[data-theme=dark] .spec-card{color:#e2e8f0}[data-theme=dark] .spec-name{color:#f8fafc}[data-theme=dark] .spec-name-en{color:#94a3b8}[data-theme=dark] .spec-stats .stat{color:#cbd5e1}[data-theme=dark] .spec-detail{color:#e2e8f0}[data-theme=dark] .detail-header h2{color:#f8fafc}[data-theme=dark] .description{color:#cbd5e1}[data-theme=dark] .career-section h4,[data-theme=dark] .curriculum-section h4{color:#94a3b8}[data-theme=dark] .semester-num{color:#a5b4fc}[data-theme=dark] .subject-code{color:#f1f5f9}[data-theme=dark] .subject-name{color:#cbd5e1}[data-theme=dark] .subject-credits{color:#94a3b8}.career-content{display:flex;flex-direction:column;flex:1;overflow:hidden;position:relative;z-index:1}.career-path-page.loading,.career-path-page.error{display:flex;align-items:center;justify-content:center}.loader{text-align:center}.spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.1);border-top-color:#6366f1;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}@keyframes spin{to{transform:rotate(360deg)}}.error-box{background:#6366f114;border:1px solid rgba(99,102,241,.3);padding:48px 32px;border-radius:20px;text-align:center;max-width:480px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.error-box .error-icon{margin-bottom:16px;display:flex;align-items:center;justify-content:center;color:#a5b4fc}.error-box h3{color:#a5b4fc;margin-bottom:16px;font-size:22px;font-weight:600}.error-box .error-description{color:#9ca3af;font-size:14px;line-height:1.7;margin-bottom:24px}.error-box .error-actions{display:flex;gap:12px;justify-content:center;margin-bottom:20px;flex-wrap:wrap}.error-box .btn-home{padding:12px 24px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;border-radius:10px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s ease;box-shadow:0 4px 15px #6366f14d;display:flex;align-items:center;gap:8px}.error-box .btn-home:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6366f166}.error-box .btn-retry{padding:12px 24px;background:transparent;color:#9ca3af;border:1px solid rgba(156,163,175,.3);border-radius:10px;cursor:pointer;font-size:14px;transition:all .2s;display:flex;align-items:center;gap:8px}.error-box .btn-retry:hover{background:#ffffff0d;border-color:#9ca3af80}.error-box .error-help{color:#6b7280;font-size:12px;margin:0}.page-header{display:flex;flex-direction:column;gap:16px;margin-bottom:2px;width:100%;position:relative;z-index:10}.header-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;width:100%}.page-title{font-size:24px;font-weight:700;background:linear-gradient(90deg,#a78bfa,#6366f1);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin:0 0 20px;display:flex;align-items:center;gap:10px}.page-title svg{flex-shrink:0}.back-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;font-size:14px;color:var(--text-secondary);background:var(--bg-surface);border:1px solid var(--border-secondary);border-radius:10px;cursor:pointer;transition:all .2s ease;font-weight:500}.back-btn:hover{color:var(--cp-accent);border-color:var(--cp-accent);background:#6366f114}.tab-switcher{display:flex;flex-direction:row;gap:8px;background:var(--bg-surface);padding:6px;border-radius:12px;border:1px solid var(--border-secondary);box-shadow:0 2px 8px #00000014}.tab-switcher button{padding:10px 20px;border:1px solid rgba(99,102,241,.25);background:transparent;color:var(--text-secondary);border-radius:10px;cursor:pointer;font-size:14px;font-weight:500;transition:all .25s ease;display:flex;align-items:center;gap:8px;white-space:nowrap}.tab-switcher button .tab-content{display:flex;align-items:center;gap:8px}.tab-switcher button .tab-arrow{display:none}.tab-switcher button.active{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:1px solid transparent;box-shadow:0 4px 12px #6366f159}.tab-switcher button.active svg{color:#fff}.tab-switcher button:hover:not(.active){background:#6366f114;border:1px solid rgba(99,102,241,.4);color:var(--text-primary)}.tab-switcher button:hover:not(.active) svg{color:#6366f1}.explore-layout{display:grid;grid-template-columns:320px 1fr;gap:24px;flex:1;overflow:hidden}@media(max-width:900px){.explore-layout{grid-template-columns:1fr}}.spec-list{display:flex;flex-direction:column;gap:12px;overflow-y:auto;width:320px;flex-shrink:0;position:relative;z-index:1;padding-top:2px}.spec-list::-webkit-scrollbar{display:none}.spec-list{scrollbar-width:none;-ms-overflow-style:none}.spec-list h3{font-size:14px;text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary);margin:0 0 8px}.spec-content{overflow-y:auto}.spec-content::-webkit-scrollbar{display:none}.spec-content{scrollbar-width:none;-ms-overflow-style:none}.spec-card{background:var(--bg-surface);border:1px solid var(--border-secondary);border-radius:12px;padding:16px;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;flex-shrink:0;width:100%}.spec-card:hover{background:var(--bg-surface-secondary);border-color:var(--accent-blue);transform:translateY(-2px)}.spec-card.selected{background:linear-gradient(135deg,#6366f126,#8b5cf61a);border-color:#6366f1}.spec-card.suggested:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#f59e0b,#fbbf24)}.suggested-badge{position:absolute;top:8px;right:8px;font-size:11px;background:#f59e0b33;color:#fbbf24;padding:4px 8px;border-radius:4px;display:flex;align-items:center;gap:4px}.spec-name{font-size:16px;font-weight:600;margin-bottom:4px}.spec-name-en{font-size:12px;color:var(--text-secondary);margin-bottom:12px}.spec-stats{display:flex;gap:16px;margin-bottom:12px}.spec-stats .stat{font-size:13px;color:var(--text-tertiary);display:flex;align-items:center;gap:4px}.career-outlook{background:var(--bg-surface-secondary);padding:8px 12px;border-radius:8px;font-size:12px}.career-outlook .jobs{color:var(--text-secondary);margin-bottom:4px}.career-outlook .salary{color:#10b981;font-weight:600}.spec-content{margin-top:2px;background:var(--bg-surface);border:1px solid var(--border-secondary);border-radius:16px;padding:20px;overflow-y:auto;max-height:calc(100vh - 170px)}.detail-header h2{font-size:24px;font-weight:700;margin-bottom:4px}.detail-header .name-en{color:var(--text-secondary);font-size:14px}.description{color:var(--text-secondary);margin:16px 0;line-height:1.6}.suggestion-reason{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);color:#fbbf24;padding:12px 16px;border-radius:8px;margin-bottom:20px;display:flex;align-items:flex-start;gap:10px}.suggestion-reason svg{flex-shrink:0;margin-top:2px}.career-section{margin-bottom:24px}.career-section h4{font-size:14px;text-transform:uppercase;letter-spacing:1px;color:var(--text-tertiary);margin-bottom:12px}.jobs-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.job-tag{background:#6366f126;color:#a5b4fc;padding:6px 12px;border-radius:16px;font-size:13px}.salary-range{color:#10b981;font-size:14px;margin-bottom:8px}.demand{font-size:13px;padding:6px 12px;border-radius:6px;display:inline-block}.demand-high{background:#10b98126;color:#34d399}.demand-medium{background:#f59e0b26;color:#fbbf24}.demand-low{background:#6b728026;color:var(--text-secondary)}.curriculum-section h4{font-size:14px;text-transform:uppercase;letter-spacing:1px;color:var(--text-tertiary);margin-bottom:16px}.semester-timeline{display:flex;flex-direction:column;gap:16px}.semester-block{background:var(--bg-surface-secondary);border-radius:12px;padding:16px}.semester-header{display:flex;justify-content:space-between;margin-bottom:12px}.semester-num{font-weight:600;color:var(--accent-blue)}.subject-count{font-size:13px;color:var(--text-tertiary)}.subjects-list{display:flex;flex-direction:column;gap:8px}.subject-item{display:grid;grid-template-columns:80px 1fr 50px;gap:12px;padding:8px 12px;background:var(--bg-surface);border-radius:6px;font-size:13px}.subject-item.required{border-left:3px solid #6366f1}.subject-item.elective{border-left:3px solid #10b981}.subject-item.recommended{border-left:3px solid #f59e0b}.subject-code{font-weight:600;color:var(--text-primary)}.subject-name{color:var(--text-secondary)}.subject-credits{text-align:right;color:var(--text-tertiary)}.roadmap-view{max-width:900px;margin:0 auto}.roadmap-header{text-align:center;margin-bottom:24px}.roadmap-header h2{font-size:28px;font-weight:700;margin-bottom:8px}.spec-info{color:var(--accent-blue);font-size:14px}.spec-info.no-spec{color:#f59e0b}.progress-section{margin-bottom:24px}.progress-bar{height:12px;background:var(--bg-surface-secondary);border-radius:6px;overflow:hidden;margin-bottom:8px}.progress-fill{height:100%;background:linear-gradient(90deg,#6366f1,#8b5cf6,#a78bfa);border-radius:6px;transition:width .5s ease}.progress-stats{display:flex;justify-content:space-between;font-size:13px;color:var(--text-secondary)}.progress-stats .percent{color:var(--accent-blue);font-weight:600}.weak-subjects-alert{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:12px;padding:16px;margin-bottom:24px}.weak-subjects-alert h4{color:#f87171;margin-bottom:12px;display:flex;align-items:center;gap:8px}.weak-list{display:flex;flex-direction:column;gap:8px}.weak-item{display:grid;grid-template-columns:80px 1fr 60px auto;gap:8px;font-size:13px;padding:8px;background:var(--bg-surface-secondary);border-radius:6px}.weak-item .code{font-weight:600;color:#f87171}.weak-item .grade{color:#ef4444}.weak-item .reason{color:var(--text-secondary);font-style:italic}.milestones{display:flex;flex-direction:column;gap:16px}.milestone{background:var(--bg-surface);border:1px solid var(--border-secondary);border-radius:12px;padding:16px}.milestone.completed{border-left:4px solid #10b981}.milestone.current{border-left:4px solid #6366f1}.milestone.upcoming{border-left:4px solid #6b7280}.milestone-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.milestone-header .semester{font-weight:600;font-size:16px}.status-badge{font-size:12px;padding:4px 8px;border-radius:4px;display:flex;align-items:center;gap:4px}.status-badge .status-icon{flex-shrink:0}.status-badge .status-icon.completed{color:#34d399}.status-badge .status-icon.current{color:#6366f1}.status-badge .status-icon.upcoming{color:#6b7280}.status-badge.completed{background:#10b98126;color:#34d399}.status-badge.current{background:#6366f126;color:#a5b4fc}.status-badge.upcoming{background:#6b728026;color:var(--text-secondary)}.milestone-progress{font-size:13px;color:var(--text-tertiary);margin-bottom:12px}.milestone-subjects{display:flex;flex-wrap:wrap;gap:8px}.subject-chip{padding:6px 12px;border-radius:16px;font-size:12px;font-weight:500}.subject-chip.completed{background:#10b98126;color:#34d399}.subject-chip.in_progress{background:#6366f126;color:#a5b4fc}.subject-chip.not_started{background:#6b728026;color:var(--text-secondary)}.subject-chip.weak{border:1px solid #ef4444}.subject-chip .grade{margin-left:4px;font-weight:400;opacity:.8}.no-selection{display:flex;align-items:center;justify-content:center;height:300px;color:var(--text-tertiary);font-size:14px}.empty-milestones,.empty-specs{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;background:var(--bg-surface);border:1px dashed var(--border-secondary);border-radius:12px;min-height:200px}.empty-milestones .empty-icon{margin-bottom:16px;color:var(--text-tertiary)}.empty-milestones h4,.empty-specs p{color:var(--text-secondary);margin-bottom:8px}.empty-milestones p{color:var(--text-tertiary);font-size:14px;margin-bottom:16px}.empty-milestones button,.empty-specs button{padding:10px 20px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;transition:all .3s ease;display:flex;align-items:center;gap:8px}.empty-milestones button:hover,.empty-specs button:hover{transform:translateY(-2px);box-shadow:0 4px 15px #6366f14d}.clo-progress-section{background:var(--card-bg, #1a1a2e);border-radius:12px;margin-bottom:12px;overflow:hidden;border:1px solid var(--border-color, rgba(255, 255, 255, .1))}.clo-progress-section.loading{padding:16px}.clo-skeleton{height:48px;background:linear-gradient(90deg,#ffffff0d 25%,#ffffff1a,#ffffff0d 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:8px}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.clo-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;cursor:pointer;transition:background .2s}.clo-header:hover{background:#ffffff08}.clo-title{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:var(--text-primary, #fff)}.clo-icon{color:var(--accent-color, #6366f1)}.clo-badge{background:var(--accent-color, #6366f1);color:#fff;font-size:11px;font-weight:500;padding:2px 8px;border-radius:10px}.clo-header-right{display:flex;align-items:center;gap:12px;color:var(--text-secondary, #888)}.clo-overall-progress{display:flex;align-items:center;gap:8px}.clo-percentage{font-size:14px;font-weight:600;color:var(--text-primary, #fff);min-width:36px;text-align:right}.clo-progress-bar-mini{width:60px;height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden}.clo-progress-fill-mini{height:100%;border-radius:3px;transition:width .3s ease}.clo-content{padding:0 16px 16px;display:flex;flex-direction:column;gap:12px}.clo-item{background:#ffffff08;border-radius:8px;padding:12px;border:1px solid rgba(255,255,255,.05)}.clo-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.clo-name{display:flex;align-items:center;gap:6px;font-weight:600;font-size:13px}.clo-check{color:var(--success-color, #10b981)}.clo-book{color:var(--text-secondary, #888)}.clo-name-text{color:var(--text-primary, #fff)}.clo-stats{font-size:12px;color:var(--text-secondary, #888)}.clo-description{font-size:12px;color:var(--text-secondary, #888);margin:0 0 8px;line-height:1.4}.clo-progress-bar{width:100%;height:8px;background:#ffffff14;border-radius:4px;overflow:hidden;margin-bottom:8px}.clo-progress-fill{height:100%;border-radius:4px;transition:width .3s ease}.clo-sessions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.clo-sessions-label{font-size:11px;color:var(--text-secondary, #888)}.clo-session-tags{display:flex;gap:4px;flex-wrap:wrap}.clo-session-tag{background:#6366f126;color:var(--accent-color, #6366f1);font-size:10px;font-weight:500;padding:2px 6px;border-radius:4px}:root{--clo-progress-high: #10b981;--clo-progress-medium: #f59e0b;--clo-progress-low: #ef4444;--clo-progress-none: #6b7280}.clo-radar-chart{background:var(--card-bg, #fff);border-radius:16px;padding:20px;box-shadow:0 2px 12px #00000014}.clo-radar-chart--empty{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--text-muted, #9ca3af)}.clo-radar-chart__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.clo-radar-chart__title{margin:0;font-size:16px;font-weight:600;color:var(--text-primary, #1f2937)}.clo-radar-chart__average{font-size:14px;font-weight:600}.clo-radar-chart__svg{display:block;margin:0 auto}.clo-radar-chart__grid-circle{fill:none;stroke:var(--border-color, #e5e7eb);stroke-width:1;stroke-dasharray:4,4}.clo-radar-chart__grid-line{stroke:var(--border-color, #e5e7eb);stroke-width:1;stroke-dasharray:2,4}.clo-radar-chart__polygon{transition:all .3s ease}.clo-radar-chart__point{stroke:#fff;stroke-width:2;transition:transform .2s ease}.clo-radar-chart__point:hover{transform:scale(1.5)}.clo-radar-chart__label{font-size:11px;font-weight:500;fill:var(--text-primary, #1f2937)}.clo-radar-chart__label-name{font-weight:600}.clo-radar-chart__label-value{font-weight:700}.clo-radar-chart__legend{display:flex;justify-content:center;gap:16px;margin-top:16px;flex-wrap:wrap}.clo-radar-chart__legend-item{font-size:12px;color:var(--text-muted, #6b7280)}.clo-radar-chart__legend-item--high{color:#22c55e}.clo-radar-chart__legend-item--medium{color:#eab308}.clo-radar-chart__legend-item--low{color:#f97316}.clo-radar-chart__legend-item--none{color:#ef4444}@media(max-width:480px){.clo-radar-chart{padding:16px}.clo-radar-chart__header{flex-direction:column;gap:8px;align-items:flex-start}.clo-radar-chart__legend{gap:8px}}.quiz-score-trend{background:var(--card-bg, #fff);border-radius:16px;padding:20px;box-shadow:0 2px 12px #00000014}.quiz-score-trend--empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;text-align:center}.quiz-score-trend__empty-icon{font-size:48px;margin-bottom:12px;opacity:.5}.quiz-score-trend--empty p{margin:0 0 4px;font-weight:600;color:var(--text-primary, #1f2937)}.quiz-score-trend--empty span{font-size:13px;color:var(--text-muted, #9ca3af)}.quiz-score-trend__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:8px}.quiz-score-trend__title{margin:0;font-size:16px;font-weight:600;color:var(--text-primary, #1f2937)}.quiz-score-trend__stats{display:flex;gap:16px}.quiz-score-trend__stat{font-size:13px;color:var(--text-muted, #6b7280)}.quiz-score-trend__stat strong{font-weight:700}.quiz-score-trend__svg{display:block}.quiz-score-trend__grid-line{stroke:var(--border-color, #e5e7eb);stroke-width:1}.quiz-score-trend__axis-label{font-size:10px;fill:var(--text-muted, #9ca3af)}.quiz-score-trend__line{transition:stroke-dashoffset 1s ease}.quiz-score-trend__point{transition:transform .2s ease;cursor:pointer}.quiz-score-trend__point:hover{transform:scale(1.3)}.quiz-score-trend__x-label{font-size:10px;fill:var(--text-muted, #9ca3af)}.quiz-score-trend__legend{display:flex;justify-content:center;gap:16px;margin-top:16px;flex-wrap:wrap}.quiz-score-trend__legend-item{font-size:11px;color:var(--text-muted, #6b7280);display:flex;align-items:center;gap:4px}@media(max-width:480px){.quiz-score-trend{padding:16px}.quiz-score-trend__header{flex-direction:column;align-items:flex-start}.quiz-score-trend__stats{gap:12px}.quiz-score-trend__legend{gap:8px}}.session-timeline{background:var(--card-bg, #fff);border-radius:16px;padding:20px;box-shadow:0 2px 12px #00000014}.session-timeline--empty{display:flex;align-items:center;justify-content:center;min-height:120px;color:var(--text-muted, #9ca3af)}.session-timeline__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px}.session-timeline__title{margin:0;font-size:16px;font-weight:600;color:var(--text-primary, #1f2937)}.session-timeline__progress{display:flex;align-items:center;gap:12px}.session-timeline__progress-text{font-size:13px;color:var(--text-muted, #6b7280);font-weight:500}.session-timeline__progress-bar{width:100px;height:6px;background:var(--bg-secondary, #f3f4f6);border-radius:3px;overflow:hidden}.session-timeline__progress-fill{height:100%;background:linear-gradient(90deg,#22c55e,#10b981);border-radius:3px;transition:width .5s ease}.session-timeline__progress-percent{font-size:14px;font-weight:700;color:#22c55e;min-width:40px}.session-timeline__scroll-container{overflow-x:auto;margin:0 -10px;padding:20px 10px}.session-timeline__track{display:flex;align-items:flex-start;position:relative;min-width:-moz-max-content;min-width:max-content;padding:0 20px}.session-timeline__line{position:absolute;top:18px;left:40px;right:40px;height:4px;background:var(--bg-secondary, #e5e7eb);border-radius:2px;z-index:0}.session-timeline__line-fill{height:100%;background:linear-gradient(90deg,#22c55e,#10b981);border-radius:2px;transition:width .5s ease}.session-timeline__node{display:flex;flex-direction:column;align-items:center;min-width:80px;cursor:pointer;z-index:1;transition:transform .2s ease}.session-timeline__node:hover{transform:translateY(-4px)}.session-timeline__node-circle{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;border:3px solid var(--bg-secondary, #e5e7eb);background:#fff;transition:all .2s ease}.session-timeline__node--completed .session-timeline__node-circle{background:#22c55e;border-color:#22c55e;color:#fff}.session-timeline__node--in-progress .session-timeline__node-circle{background:#3b82f6;border-color:#3b82f6;color:#fff;animation:pulse 2s infinite}.session-timeline__node--not-started .session-timeline__node-circle{background:#fff;border-color:var(--border-color, #d1d5db);color:var(--text-muted, #9ca3af)}.session-timeline__warning{font-size:16px}.session-timeline__node-info{display:flex;flex-direction:column;align-items:center;margin-top:8px;gap:2px}.session-timeline__node-number{font-size:12px;font-weight:700;color:var(--text-primary, #1f2937)}.session-timeline__node-topic{font-size:10px;color:var(--text-muted, #9ca3af);max-width:70px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-timeline__node-score{font-size:10px;font-weight:600;padding:2px 6px;border-radius:10px;margin-top:2px}.session-timeline__node-score--pass{background:#22c55e26;color:#16a34a}.session-timeline__node-score--fail{background:#ef444426;color:#dc2626}.session-timeline__legend{display:flex;justify-content:center;gap:20px;margin-top:16px;flex-wrap:wrap}.session-timeline__legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted, #6b7280)}.session-timeline__legend-dot{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px}.session-timeline__legend-dot--completed{background:#22c55e;color:#fff}.session-timeline__legend-dot--in-progress{background:#3b82f6;color:#fff}.session-timeline__legend-dot--not-started{background:#fff;border:2px solid #d1d5db;color:#9ca3af}.session-timeline__legend-dot--warning{background:#fef3c7;font-size:12px}@keyframes pulse{0%{box-shadow:0 0 #3b82f666}70%{box-shadow:0 0 0 8px #3b82f600}to{box-shadow:0 0 #3b82f600}}@media(max-width:768px){.session-timeline__header{flex-direction:column;align-items:flex-start}.session-timeline__node{min-width:60px}.session-timeline__legend{gap:12px}}.recommendations-section{display:block;background:var(--bg-surface, #ffffff);border-radius:16px;padding:20px;margin-top:0;margin-bottom:20px;border:1px solid var(--border-secondary, #e2e8f0);box-shadow:0 2px 8px #0000000a;width:100%;box-sizing:border-box}[data-theme=dark] .recommendations-section{background:var(--bg-surface, #1e293b);border-color:#ffffff1a;box-shadow:none}.recommendations-section--loading,.recommendations-section--error{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--text-secondary, #64748b);padding:24px;min-height:80px}.rec-loader{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.rec-retry-btn{display:flex;align-items:center;gap:4px;background:var(--accent-color, #6366f1);color:#fff;border:none;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:12px}.recommendations-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.recommendations-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--text-primary, #1e293b);margin:0}[data-theme=dark] .recommendations-title{color:#f1f5f9}.rec-ai-icon{color:var(--accent-purple, #8b5cf6)}.rec-refresh-btn{background:none;border:none;color:var(--text-secondary, #64748b);cursor:pointer;padding:6px;border-radius:6px;transition:all .2s}.rec-refresh-btn:hover{background:#6366f11a;color:var(--accent-blue, #6366f1)}[data-theme=dark] .rec-refresh-btn:hover{background:#ffffff1a;color:#f1f5f9}.recommendations-list{display:flex;flex-direction:column;gap:8px}.rec-card{display:flex;align-items:flex-start;gap:12px;padding:14px;background:var(--bg-surface-secondary, #f8fafc);border-radius:12px;cursor:pointer;transition:all .2s;border:1px solid transparent}[data-theme=dark] .rec-card{background:#ffffff0d}.rec-card:hover{background:#6366f114;border-color:#6366f133}[data-theme=dark] .rec-card:hover{background:#ffffff14;border-color:#ffffff26}.rec-card__icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:#6366f11a;flex-shrink:0}[data-theme=dark] .rec-card__icon{background:#ffffff14}.rec-icon--warning{color:#f59e0b}.rec-icon--info{color:#3b82f6}.rec-icon--success{color:#10b981}.rec-icon--primary{color:#6366f1}.rec-icon--secondary{color:#8b5cf6}.rec-card--warning{border-left:3px solid #f59e0b}.rec-card--info{border-left:3px solid #3b82f6}.rec-card--success{border-left:3px solid #10b981}.rec-card--primary{border-left:3px solid #6366f1}.rec-card--next{border-left:3px solid #06b6d4;background:#06b6d40d}.rec-card--next:hover{background:#06b6d41a}.rec-icon--next{color:#06b6d4}.rec-card__content{flex:1;min-width:0}.rec-card__title{font-size:14px;font-weight:600;color:var(--text-primary, #1e293b);margin-bottom:4px}[data-theme=dark] .rec-card__title{color:#f1f5f9}.rec-card__message{font-size:13px;color:var(--text-secondary, #64748b);line-height:1.5}[data-theme=dark] .rec-card__message{color:#94a3b8}.rec-card__arrow{color:var(--text-secondary, #888);flex-shrink:0;opacity:0;transition:opacity .2s}.rec-card:hover .rec-card__arrow{opacity:1}@media(max-width:1024px){.recommendations-section{padding:12px;margin-bottom:12px}.rec-card{padding:10px}.rec-card__message{white-space:normal;line-height:1.5}}@media(max-width:640px){.recommendations-section{padding:10px;margin-bottom:10px}.rec-card{flex-direction:column;align-items:flex-start;gap:8px;padding:10px}.rec-card__icon{width:32px;height:32px}.rec-card__title{font-size:12px}.rec-card__message{white-space:normal;font-size:11px}}.rec-card--danger{border-left:3px solid #ef4444;background:#ef444414}.rec-card--danger:hover{background:#ef44441f}.rec-icon--danger{color:#ef4444}.rec-card__actions{margin-top:8px;display:flex;gap:8px;flex-wrap:wrap}.rec-action-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;font-size:11px;font-weight:600;border:none;border-radius:6px;cursor:pointer;transition:all .2s}.rec-action-btn--flashcard{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;box-shadow:0 2px 8px #f59e0b4d}.rec-action-btn--flashcard:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b66}.rec-action-btn--flashcard:disabled{opacity:.7;cursor:not-allowed}.rec-action-spinner{animation:spin 1s linear infinite}.learning-dashboard{--card-bg: var(--bg-surface);--card-border: var(--border-secondary);--primary-color: var(--accent-blue);--secondary-color: #764ba2;--success-color: #10b981;--warning-color: #f59e0b;--danger-color: #ef4444;--text-muted: var(--text-tertiary);min-height:100vh;background:var(--bg-gradient);padding:2rem;color:var(--text-primary);transition:all .3s ease}.learning-dashboard--loading{display:flex;align-items:center;justify-content:center;background:var(--bg-primary)}.learning-dashboard__container{max-width:1400px;margin:0 auto}.learning-dashboard__topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:16px}.learning-dashboard__title-block{display:block;margin-bottom:24px}.learning-dashboard__title{display:block;font-size:1.75rem;font-weight:700;background:linear-gradient(90deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 8px}.learning-dashboard__subtitle{display:block;color:var(--text-secondary);font-size:.95rem;margin:0}.learning-dashboard__back-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.9rem;color:var(--text-secondary);background:transparent;border:1px solid var(--card-border);border-radius:8px;cursor:pointer;transition:all .2s ease}.learning-dashboard__back-btn:hover{color:var(--primary-color);border-color:var(--primary-color);background:#6366f10d}.learning-dashboard__stats{display:flex;gap:1rem;flex-shrink:0}.learning-dashboard__recommendations-wrapper{display:block;width:100%;clear:both;margin-top:0}.stat-item{text-align:center;padding:1rem 1.5rem;background:var(--card-bg);border-radius:12px;border:1px solid var(--card-border)}.stat-item__value{font-size:1.75rem;font-weight:700;color:var(--primary-color)}.stat-item__label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.subjects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;margin-bottom:2rem}.subject-card{background:var(--card-bg);border-radius:16px;border:1px solid var(--card-border);padding:1.5rem;transition:all .3s ease;cursor:pointer}.subject-card:hover{transform:translateY(-4px);border-color:var(--primary-color);box-shadow:0 8px 32px #667eea33}.subject-card__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.subject-card__code{font-size:.75rem;color:var(--primary-color);font-weight:600;padding:.25rem .75rem;background:#667eea26;border-radius:20px}.subject-card__week{font-size:.8rem;color:var(--text-secondary)}.subject-card__name{font-size:1.1rem;font-weight:600;margin-bottom:1rem;line-height:1.4}.progress-bar{width:100%;height:8px;background:var(--bg-surface-secondary);border-radius:4px;overflow:hidden;margin-bottom:.75rem}.progress-bar__fill{height:100%;background:linear-gradient(90deg,var(--primary-color),var(--secondary-color));border-radius:4px;transition:width .5s ease}.progress-bar__fill--low{background:var(--danger-color)}.progress-bar__fill--medium{background:var(--warning-color)}.progress-bar__fill--high{background:var(--success-color)}.subject-card__progress-text{display:flex;justify-content:space-between;font-size:.8rem;color:var(--text-secondary)}.subject-card__stats{display:flex;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--card-border)}.subject-card__stat{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--text-muted)}.subject-card__stat-icon{width:16px;height:16px;opacity:.7}.weak-topics-section{background:var(--card-bg);border-radius:16px;border:1px solid var(--card-border);padding:1.5rem;margin-bottom:2rem}.section-title{font-size:1.25rem;font-weight:600;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.section-title__icon{font-size:1.25rem}.weak-topics-list{display:flex;flex-wrap:wrap;gap:.75rem}.weak-topic-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:20px;font-size:.85rem;color:#fca5a5;transition:all .2s ease}.weak-topic-badge:hover{background:#ef444440}.weak-topic-badge__score{font-weight:700;color:var(--danger-color)}.session-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.session-modal{background:var(--bg-surface);border-radius:20px;border:1px solid var(--card-border);width:95%;max-width:1200px;max-height:95vh;overflow:hidden;display:flex;flex-direction:column}.session-modal__header{padding:1.5rem;border-bottom:1px solid var(--card-border);display:flex;justify-content:space-between;align-items:center}.session-modal__title{font-size:1.25rem;font-weight:600}.session-modal__close{background:none;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;padding:.5rem;border-radius:8px;transition:all .2s ease}.session-modal__close:hover{background:#ffffff1a;color:var(--text-primary)}.session-modal__content{padding:1.5rem;overflow-y:auto;flex:1}.session-modal__footer{padding:1rem 1.5rem;border-top:1px solid var(--card-border);background:var(--bg-surface-secondary);display:flex;justify-content:space-between;align-items:center;gap:1rem}.session-modal__unsaved-indicator{font-size:.85rem;color:var(--warning-color);display:flex;align-items:center;gap:.5rem;animation:pulse-warning 2s infinite}.session-modal__save-btn{padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;background:linear-gradient(135deg,var(--success-color),#059669);border:none;border-radius:8px;color:#fff;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #10b9814d}.session-modal__save-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 16px #10b98166}.session-modal__save-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.sessions-list{display:flex;flex-direction:column;gap:.75rem}.session-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--card-bg);border-radius:12px;border:1px solid var(--card-border);transition:all .2s ease}.session-item:hover{border-color:var(--primary-color)}.session-item--completed{border-color:var(--success-color)}.session-item--in-progress{border-color:var(--warning-color)}.session-item__number{width:40px;height:40px;background:var(--card-bg);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem;flex-shrink:0}.session-item--completed .session-item__number{background:var(--success-color);color:#fff}.session-item--in-progress .session-item__number{background:var(--warning-color);color:#fff}.session-item__content{flex:1}.session-item__topic{font-weight:500;margin-bottom:.25rem}.session-item__type{font-size:.75rem;color:var(--text-muted)}.session-item__quiz-metrics{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.35rem}.quiz-badge{font-size:.7rem;padding:.2rem .5rem;background:#6366f126;color:#6366f1;border-radius:4px;font-weight:500}.quiz-score{font-size:.7rem;padding:.2rem .5rem;border-radius:4px;font-weight:600}.quiz-score--pass{background:#10b98126;color:#10b981}.quiz-score--fail{background:#ef444426;color:#ef4444}.session-item__warning{display:inline-flex;align-items:center;gap:.25rem;padding:.3rem .6rem;font-size:.7rem;background:#ef444433;border:1px solid rgba(239,68,68,.4);border-radius:12px;color:#fca5a5;font-weight:600;white-space:nowrap;animation:pulse-warning 2s infinite}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.7}}.session-item__actions{display:flex;gap:.5rem}.session-checkbox{display:flex;align-items:center;gap:.25rem;padding:.4rem .75rem;font-size:.75rem;background:#ffffff0d;border:1px solid var(--card-border);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.session-checkbox:hover{background:#ffffff1a}.session-checkbox--checked{background:#10b98133;border-color:var(--success-color);color:var(--success-color)}.ld-page-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.ld-page-loader__spinner{width:44px;height:44px;border:3px solid #e2e8f0;border-top-color:#6366f1;border-radius:50%;animation:ld-page-spin .8s linear infinite}.ld-page-loader__text{font-size:15px;font-weight:400;color:#64748b}@keyframes ld-page-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:4rem 2rem;color:var(--text-secondary)}.empty-state__icon{font-size:4rem;margin-bottom:1rem}.empty-state__title{font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.empty-state__text{color:var(--text-muted)}.mark-all-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.5rem 1rem;font-size:.85rem;font-weight:500;background:linear-gradient(135deg,var(--success-color),#059669);border:none;border-radius:8px;color:#fff;cursor:pointer;transition:all .2s ease;white-space:nowrap}.mark-all-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.mark-all-btn:disabled{opacity:.6;cursor:not-allowed}.sessions-section{margin-bottom:1rem}.sessions-section__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:1rem;flex-wrap:wrap}.sessions-section__title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.documents-section{margin-bottom:1.5rem;padding:1rem;background:rgba(var(--accent-blue-rgb),.05);border-radius:12px;border:1px solid rgba(var(--accent-blue-rgb),.1)}.documents-section__title{font-size:1rem;font-weight:600;margin:0;color:var(--text-primary)}.documents-section__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:1rem;flex-wrap:wrap}.documents-list{display:flex;flex-direction:column;gap:.75rem}.document-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--card-bg);border-radius:8px;border:1px solid var(--card-border);transition:all .2s ease}.document-item:hover{border-color:var(--primary-color)}.document-item--viewed{background:#3b82f614;border-color:#3b82f64d}.document-item--completed{background:#10b98114;border-color:#10b9814d}.document-item__info{display:flex;flex-direction:column;gap:.25rem;flex:1}.document-item__title{font-weight:500;color:var(--text-primary)}.document-item__sessions,.document-item__stats{font-size:.8rem;color:var(--text-muted)}.document-item__actions{display:flex;gap:.5rem}.document-checkbox{display:inline-flex;align-items:center;gap:.25rem;padding:.4rem .75rem;font-size:.8rem;background:transparent;border:1px solid var(--card-border);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.document-checkbox:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color)}.document-checkbox--checked{background:var(--success-color);border-color:var(--success-color);color:#fff;cursor:default}.document-checkbox:disabled{opacity:.7;cursor:not-allowed}@media(max-width:1024px){.learning-dashboard__header{flex-direction:column;align-items:flex-start;gap:1.5rem}.learning-dashboard__stats{width:100%;justify-content:flex-start;flex-wrap:wrap}.stat-item{min-width:100px}}@media(max-width:768px){.learning-dashboard{padding:1rem}.learning-dashboard__title{font-size:1.5rem}.learning-dashboard__stats{width:100%;justify-content:space-between;gap:.75rem}.stat-item{padding:.75rem 1rem;flex:1;min-width:80px}.stat-item__value{font-size:1.25rem}.subjects-grid{grid-template-columns:1fr}.session-modal{max-height:95vh}.document-item{flex-direction:column;align-items:flex-start;gap:.75rem}.document-item__actions{width:100%}.document-checkbox{flex:1;justify-content:center}}@media(max-width:480px){.learning-dashboard{padding:.75rem}.learning-dashboard__title{font-size:1.25rem}.learning-dashboard__stats{gap:.5rem}.stat-item{padding:.5rem .75rem}.stat-item__value{font-size:1.1rem}.stat-item__label{font-size:.65rem}}.analytics-section{margin-bottom:1.5rem;padding:1.5rem;background:rgba(var(--accent-blue-rgb),.03);border-radius:16px;border:1px solid rgba(var(--accent-blue-rgb),.1)}.ld-analytics-section--loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:1.5rem;color:var(--text-muted);background:rgba(var(--accent-blue-rgb),.02);border-radius:16px}.analytics-section__title{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.analytics-section__charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:1.5rem}@media(max-width:640px){.analytics-section{padding:1rem}.analytics-section__charts{grid-template-columns:1fr;gap:1rem}}
