@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-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-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;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@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-300:oklch(80.8% .114 19.571);--color-red-600:oklch(57.7% .245 27.325);--color-yellow-300:oklch(90.5% .182 98.111);--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-cyan-400:oklch(78.9% .154 211.53);--color-cyan-500:oklch(71.5% .143 215.221);--color-cyan-600:oklch(60.9% .126 221.723);--color-indigo-300:oklch(78.5% .115 274.713);--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-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-white:#fff;--spacing:.25rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--leading-tight:1.25;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--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}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.-top-1\.5{top:calc(var(--spacing)*-1.5)}.-top-4{top:calc(var(--spacing)*-4)}.top-0{top:calc(var(--spacing)*0)}.top-1\/2{top:50%}.top-20{top:calc(var(--spacing)*20)}.top-full{top:100%}.-right-1\.5{right:calc(var(--spacing)*-1.5)}.-right-4{right:calc(var(--spacing)*-4)}.right-0{right:calc(var(--spacing)*0)}.right-10{right:calc(var(--spacing)*10)}.right-20{right:calc(var(--spacing)*20)}.-bottom-4{bottom:calc(var(--spacing)*-4)}.bottom-20{bottom:calc(var(--spacing)*20)}.-left-4{left:calc(var(--spacing)*-4)}.left-0{left:calc(var(--spacing)*0)}.left-1\/2{left:50%}.left-10{left:calc(var(--spacing)*10)}.left-20{left:calc(var(--spacing)*20)}.z-10{z-index:10}.col-span-1{grid-column:span 1/span 1}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.my-2{margin-block:calc(var(--spacing)*2)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.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-10{margin-top:calc(var(--spacing)*10)}.mt-12{margin-top:calc(var(--spacing)*12)}.mt-16{margin-top:calc(var(--spacing)*16)}.mt-20{margin-top:calc(var(--spacing)*20)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.mb-12{margin-bottom:calc(var(--spacing)*12)}.mb-16{margin-bottom:calc(var(--spacing)*16)}.mb-20{margin-bottom:calc(var(--spacing)*20)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-4{margin-left:calc(var(--spacing)*4)}.ml-auto{margin-left:auto}.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-row{display:table-row}.h-0\.5{height:calc(var(--spacing)*.5)}.h-2{height:calc(var(--spacing)*2)}.h-3{height:calc(var(--spacing)*3)}.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-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-14{height:calc(var(--spacing)*14)}.h-16{height:calc(var(--spacing)*16)}.h-64{height:calc(var(--spacing)*64)}.h-72{height:calc(var(--spacing)*72)}.h-80{height:calc(var(--spacing)*80)}.h-96{height:calc(var(--spacing)*96)}.h-full{height:100%}.max-h-80{max-height:calc(var(--spacing)*80)}.min-h-screen{min-height:100vh}.w-0{width:calc(var(--spacing)*0)}.w-2{width:calc(var(--spacing)*2)}.w-3{width:calc(var(--spacing)*3)}.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-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-14{width:calc(var(--spacing)*14)}.w-16{width:calc(var(--spacing)*16)}.w-56{width:calc(var(--spacing)*56)}.w-64{width:calc(var(--spacing)*64)}.w-72{width:calc(var(--spacing)*72)}.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-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-7xl{max-width:var(--container-7xl)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\[110px\]{min-width:110px}.flex-1{flex:1}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-rotate-12{rotate:-12deg}.rotate-1{rotate:1deg}.rotate-12{rotate:12deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.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-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}.gap-10{gap:calc(var(--spacing)*10)}.gap-16{gap:calc(var(--spacing)*16)}: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-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-10>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*10)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*10)*calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x: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-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-\[\#ffdede\]{border-color:#ffdede}.border-\[var\(--border\)\]{border-color:var(--border)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-200\/50{border-color:#e5e7eb80}@supports (color:color-mix(in lab,red,red)){.border-gray-200\/50{border-color:color-mix(in oklab,var(--color-gray-200)50%,transparent)}}.border-gray-300{border-color:var(--color-gray-300)}.border-indigo-300{border-color:var(--color-indigo-300)}.border-transparent{border-color:#0000}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab,red,red)){.border-white\/20{border-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.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)}}.bg-\[\#fff6f6\]{background-color:#fff6f6}.bg-\[var\(--accent\)\]{background-color:var(--accent)}.bg-\[var\(--background\)\]{background-color:var(--background)}.bg-\[var\(--paper\)\]{background-color:var(--paper)}.bg-cyan-400\/20{background-color:#00d2ef33}@supports (color:color-mix(in lab,red,red)){.bg-cyan-400\/20{background-color:color-mix(in oklab,var(--color-cyan-400)20%,transparent)}}.bg-cyan-500{background-color:var(--color-cyan-500)}.bg-cyan-500\/5{background-color:#00b7d70d}@supports (color:color-mix(in lab,red,red)){.bg-cyan-500\/5{background-color:color-mix(in oklab,var(--color-cyan-500)5%,transparent)}}.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-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-green-500{background-color:var(--color-green-500)}.bg-green-500\/5{background-color:#00c7580d}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/5{background-color:color-mix(in oklab,var(--color-green-500)5%,transparent)}}.bg-green-500\/10{background-color:#00c7581a}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/10{background-color:color-mix(in oklab,var(--color-green-500)10%,transparent)}}.bg-indigo-500{background-color:var(--color-indigo-500)}.bg-indigo-500\/5{background-color:#625fff0d}@supports (color:color-mix(in lab,red,red)){.bg-indigo-500\/5{background-color:color-mix(in oklab,var(--color-indigo-500)5%,transparent)}}.bg-indigo-500\/10{background-color:#625fff1a}@supports (color:color-mix(in lab,red,red)){.bg-indigo-500\/10{background-color:color-mix(in oklab,var(--color-indigo-500)10%,transparent)}}.bg-indigo-600{background-color:var(--color-indigo-600)}.bg-white{background-color:var(--color-white)}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.bg-white\/10{background-color:color-mix(in oklab,var(--color-white)10%,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-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.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))}.from-cyan-500{--tw-gradient-from: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))}.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-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-indigo-500{--tw-gradient-from: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))}.from-indigo-600{--tw-gradient-from: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))}.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-white\/10{--tw-gradient-from:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.from-white\/10{--tw-gradient-from:color-mix(in oklab,var(--color-white)10%,transparent)}}.from-white\/10{--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-cyan-500{--tw-gradient-via:var(--color-cyan-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-indigo-700{--tw-gradient-via:var(--color-indigo-700);--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-white{--tw-gradient-via:var(--color-white);--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-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-gray-50{--tw-gradient-to: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))}.to-gray-100{--tw-gradient-to: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))}.to-green-500{--tw-gradient-to: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))}.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-800{--tw-gradient-to:var(--color-indigo-800);--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))}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.fill-current{fill:currentColor}.object-cover{-o-object-fit:cover;object-fit:cover}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-8{padding:calc(var(--spacing)*8)}.p-12{padding:calc(var(--spacing)*12)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.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-8{padding-block:calc(var(--spacing)*8)}.py-12{padding-block:calc(var(--spacing)*12)}.py-20{padding-block:calc(var(--spacing)*20)}.py-24{padding-block:calc(var(--spacing)*24)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-8{padding-top:calc(var(--spacing)*8)}.pr-1{padding-right:calc(var(--spacing)*1)}.pr-3{padding-right:calc(var(--spacing)*3)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-6{padding-left:calc(var(--spacing)*6)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-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-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--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-\[10px\]{font-size:10px}.text-\[12px\]{font-size:12px}.leading-none{--tw-leading:1;line-height:1}.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-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.break-words{overflow-wrap:break-word}.text-\[var\(--accent\)\]{color:var(--accent)}.text-\[var\(--charcoal\)\]{color:var(--charcoal)}.text-\[var\(--muted-text\)\]{color:var(--muted-text)}.text-cyan-600{color:var(--color-cyan-600)}.text-gray-200{color:var(--color-gray-200)}.text-gray-300{color:var(--color-gray-300)}.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-900{color:var(--color-gray-900)}.text-green-400{color:var(--color-green-400)}.text-green-500{color:var(--color-green-500)}.text-green-600{color:var(--color-green-600)}.text-indigo-600{color:var(--color-indigo-600)}.text-red-600{color:var(--color-red-600)}.text-transparent{color:#0000}.text-white{color:var(--color-white)}.text-white\/60{color:#fff9}@supports (color:color-mix(in lab,red,red)){.text-white\/60{color:color-mix(in oklab,var(--color-white)60%,transparent)}}.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-white\/90{color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.text-white\/90{color:color-mix(in oklab,var(--color-white)90%,transparent)}}.text-yellow-300{color:var(--color-yellow-300)}.capitalize{text-transform:capitalize}.italic{font-style:italic}.underline{text-decoration-line:underline}.opacity-10{opacity:.1}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-100{opacity:1}.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-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)}.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,)}.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-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-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))}.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-1000{--tw-duration:1s;transition-duration:1s}.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)}@media(hover:hover){.group-hover\:w-full:is(:where(.group):hover *){width:100%}.group-hover\:scale-105:is(:where(.group):hover *){--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-hover\:text-cyan-600:is(:where(.group):hover *){color:var(--color-cyan-600)}.group-hover\:text-green-600:is(:where(.group):hover *){color:var(--color-green-600)}.group-hover\:text-indigo-600:is(:where(.group):hover *){color:var(--color-indigo-600)}}.first\:mt-0:first-child{margin-top:calc(var(--spacing)*0)}.last\:mb-0:last-child{margin-bottom:calc(var(--spacing)*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\: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\:rotate-0:hover{rotate:none}.hover\:border-\[var\(--accent\)\]:hover{border-color:var(--accent)}.hover\:bg-\[var\(--background\)\]:hover{background-color:var(--background)}.hover\:bg-\[var\(--charcoal\)\]:hover{background-color:var(--charcoal)}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-indigo-700:hover{background-color:var(--color-indigo-700)}.hover\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\:bg-white\/20:hover{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/20:hover{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.hover\:text-\[var\(--charcoal\)\]:hover{color:var(--charcoal)}.hover\:text-gray-900:hover{color:var(--color-gray-900)}.hover\:text-indigo-800:hover{color:var(--color-indigo-800)}.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-visible\:ring-2:focus-visible{--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-visible\:ring-\[var\(--accent\)\]:focus-visible{--tw-ring-color:var(--accent)}.focus-visible\:ring-red-300:focus-visible{--tw-ring-color:var(--color-red-300)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}@media(min-width:40rem){.sm\:flex-row{flex-direction:row}.sm\:px-6{padding-inline:calc(var(--spacing)*6)}}@media(min-width:48rem){.md\:col-span-1{grid-column:span 1/span 1}.md\:col-start-4{grid-column-start:4}.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\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:justify-self-end{justify-self:flex-end}}@media(min-width:64rem){.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\:px-8{padding-inline:calc(var(--spacing)*8)}.lg\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.lg\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.lg\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}}@media(min-width:80rem){.xl\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.xl\:text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}}}:root{--bg:#f7f2ea;--paper:#fcf8f3;--charcoal:#3a2f2a;--gold:#b98563;--speck:#0000000a;--border:#e7ded5;--hero-bg:linear-gradient(135deg,#fcf8f3 0%,#f7f2ea 100%);--features-bg:#f1e8da;--pricing-bg:linear-gradient(135deg,#f3e7d8 0%,#e7d8c7 100%);--testimonials-bg:#fcf8f3;--trust-bg:#f7f2ea;--newsletter-bg:linear-gradient(135deg,#3a2f2a 0%,#2c2420 100%);--accent-warm:#b98563;--accent-cool:#6e7f66;--accent-soft:#d9a27a;--accent-muted:#a28e7b;--background:var(--bg);--text-color:var(--charcoal);--muted-text:#6e5e54;--accent:var(--gold);--font-sans:"IM Fell English SC","Cormorant Garamond",Georgia,serif;--radius:12px}*{box-sizing:border-box;margin:0;padding:0}@keyframes pulse{50%{opacity:.5}}@keyframes drawLine{0%{stroke-dashoffset:100px}to{stroke-dashoffset:0}}@keyframes badge{0%,to{transform:scale(1)rotate(-2deg)}50%{transform:scale(1.05)rotate(0)}}@keyframes gentleFloat{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-5px)rotate(1deg)}}header{justify-content:space-between;align-items:center;padding:2rem 4rem;animation:.6s ease-out slideInUp;display:flex}header.app-header{margin-bottom:8px;padding:0;animation:none}nav ul{align-items:center;gap:2rem;list-style:none;display:flex}nav ul li{align-items:center;display:flex}nav a{color:var(--text-color);align-items:center;height:40px;font-weight:500;text-decoration:none;transition:color .2s;display:inline-flex;position:relative}nav a:after{content:"";background:var(--accent);width:0;height:2px;transition:width .3s;position:absolute;bottom:-4px;left:0}.button-cta{background:var(--text-color);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;align-items:center;height:40px;padding:.5rem 1rem;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex;position:relative;overflow:hidden}.button-cta:before{content:"";background:var(--accent);z-index:-1;border-radius:50%;width:0;height:0;transition:width .3s,height .3s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero{background:var(--hero-bg);justify-content:space-between;align-items:center;gap:3rem;min-height:70vh;padding:4rem;display:flex}.hero-text{max-width:600px;animation:.8s ease-out .2s both slideInUp}.hero h1{letter-spacing:-.02em;margin-bottom:1.5rem;font-size:3rem;font-weight:700;animation:.6s ease-out .4s both slideInUp}.hero h1 u{text-underline-offset:8px;text-decoration-thickness:3px;text-decoration-color:var(--accent);animation:1s ease-out 1.2s both drawLine}.hero p{color:var(--muted-text);max-width:500px;font-size:1.1rem;animation:.6s ease-out .6s both slideInUp}.hero-graphic{width:400px;height:300px;animation:1s ease-out .8s both fadeInScale;position:relative}.hero-carousel{width:480px;height:360px;animation:1s ease-out .8s both fadeInScale;position:relative}.carousel-container{border-radius:16px;width:100%;height:100%;position:relative;overflow:hidden;box-shadow:0 12px 32px #5a524814}.carousel-slide{opacity:0;pointer-events:none;width:100%;height:100%;transition:all .8s cubic-bezier(.4,0,.2,1);position:absolute;top:0;left:0;transform:translateY(20px)scale(.95)}.carousel-slide.active{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.app-screenshot{background:var(--paper);border:1px solid #c4a8754d;border-radius:16px;width:100%;height:100%;overflow:hidden;box-shadow:0 4px 16px #c4a8750f}.screenshot-header{background:var(--charcoal);border-bottom:1px solid #ffffff1a;align-items:center;gap:12px;padding:12px 16px;display:flex}.app-window-controls{gap:6px;display:flex}.window-control{border-radius:50%;width:12px;height:12px}.screenshot-content{height:calc(100% - 57px);padding:20px;overflow:hidden}.flashcard-interface{flex-direction:column;gap:16px;height:100%;display:flex}.flashcard{background:#fff;border:1px solid #b97a2b33;border-radius:12px;padding:24px;box-shadow:0 4px 12px #0000001a}.flashcard-front h3{color:var(--charcoal);text-align:center;margin:0;font-size:18px;font-weight:600}.flashcard-actions{justify-content:center;margin-top:16px;display:flex}.flashcard-btn{background:var(--gold);color:var(--charcoal);cursor:pointer;border:none;border-radius:8px;padding:8px 16px;font-weight:600;transition:all .3s}.ai-insight{background:#b97a2b1a;border:1px solid #b97a2b33;border-radius:12px;align-items:center;gap:8px;padding:12px;display:flex}.ai-insight p{color:var(--charcoal);margin:0;font-size:14px}.study-room-interface{flex-direction:column;gap:16px;height:100%;display:flex}.room-header{justify-content:space-between;align-items:center;display:flex}.room-header h4{color:var(--charcoal);margin:0;font-size:16px;font-weight:600}.online-count{background:var(--gold);color:var(--charcoal);border-radius:12px;padding:4px 8px;font-size:12px;font-weight:600}.participants{gap:12px;display:flex}.participant{flex-direction:column;align-items:center;gap:4px;display:flex}.participant-avatar{background:var(--gold);width:32px;height:32px;color:var(--charcoal);border-radius:50%;justify-content:center;align-items:center;font-size:14px;font-weight:600;display:flex}.participant-status{color:var(--muted-text);text-align:center;font-size:10px}.room-chat{background:#f3ead480;border-radius:8px;flex-direction:column;flex:1;gap:8px;padding:12px;display:flex}.chat-message{color:var(--charcoal);font-size:12px}.chat-user{color:var(--gold);font-weight:600}.analytics-interface{flex-direction:column;gap:16px;height:100%;display:flex}.analytics-header{justify-content:space-between;align-items:center;display:flex}.analytics-header h4{color:var(--charcoal);margin:0;font-size:16px;font-weight:600}.time-range{color:var(--muted-text);font-size:12px}.progress-chart{flex-direction:column;gap:12px;display:flex}.chart-bar{align-items:center;gap:12px;display:flex}.bar-fill{background:var(--gold);border-radius:4px;height:8px;transition:width .8s}.bar-label{color:var(--charcoal);min-width:80px;font-size:12px;font-weight:500}.study-streak{background:#b97a2b1a;border-radius:12px;align-items:center;gap:12px;padding:12px;display:flex}.streak-info{flex-direction:column;display:flex}.streak-count{color:var(--charcoal);font-size:20px;font-weight:700}.streak-label{color:var(--muted-text);font-size:12px}.pomodoro-interface{flex-direction:column;align-items:center;gap:20px;height:100%;display:flex}.timer-display{flex:1;justify-content:center;align-items:center;display:flex}.timer-circle{background:conic-gradient(var(--gold)75%,#b97a2b33 75%);border-radius:50%;justify-content:center;align-items:center;width:120px;height:120px;display:flex;position:relative}.timer-progress{background:var(--paper);clip-path:polygon(50% 50%,50% 0%,100% 0%,100% 100%,0% 100%,0% 50%);border-radius:50%;width:100%;height:100%;position:absolute}.timer-text .time{color:var(--charcoal);font-size:24px;font-weight:700;line-height:1}.timer-text .session-type{color:var(--muted-text);margin-top:4px;font-size:12px}.timer-controls{gap:8px;display:flex}.timer-btn{cursor:pointer;border:none;border-radius:8px;padding:8px 16px;font-weight:600;transition:all .3s}.timer-btn.reset{color:var(--muted-text);border:1px solid var(--muted-text);background:0 0}.session-stats{gap:20px;display:flex}.stat-number{color:var(--charcoal);font-size:16px;font-weight:700}.stat-label{color:var(--muted-text);margin-top:2px;font-size:10px}.carousel-indicators{gap:8px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.indicator{cursor:pointer;background:#ffffff80;border:2px solid #0000;border-radius:50%;width:10px;height:10px;transition:all .3s}.floating{animation:3s ease-in-out infinite float}.hero-cards{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;margin:4rem 0;animation:.8s ease-out 1s both slideInUp;display:grid}.hero-card{background:var(--paper);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;border:1px solid #c4a87566;border-radius:16px;padding:2rem;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 2px 12px #c4a87514}.hero-card:before{content:"";background:linear-gradient(90deg,#0000,#b97a2b1a,#0000);width:100%;height:100%;transition:left .6s;position:absolute;top:0;left:-100%}.hero-card:hover{border-color:#c4a87599;animation:3s ease-in-out infinite gentleFloat;transform:translateY(-8px)scale(1.02);box-shadow:0 12px 32px #c4a87526}.hero-card-icon{background:linear-gradient(135deg,var(--gold),#d4b889);border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:1.5rem;transition:all .3s;animation:4s ease-in-out infinite badge;display:flex;box-shadow:0 2px 8px #c4a87533}.hero-card:hover .hero-card-icon{transform:rotate(5deg)scale(1.15);box-shadow:0 4px 16px #c4a8754d}.hero-card h3{color:var(--charcoal);font-size:1.4rem;font-weight:600;font-family:var(--font-sans);margin-bottom:.75rem}.hero-card p{color:var(--muted-text);font-size:1rem;line-height:1.7}.feature-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius);background:#ffffffb3;border:1px solid #1a1a1a1a;padding:2rem;transition:all .3s cubic-bezier(.4,0,.2,1);animation:.6s ease-out both fadeInScale}.feature-icon{background:var(--accent);border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:1rem;transition:all .3s;display:flex}.hero-stats{gap:1.5rem;margin-top:1.5rem;display:flex}.hero-stats .stat{background:var(--paper);border:1px solid #d4b08a33;border-radius:10px;flex-direction:column;align-items:center;padding:.75rem 1rem;display:flex}.what-is-content{grid-template-columns:1fr 360px;align-items:start;gap:2rem;display:grid}.what-is-highlights{flex-direction:column;gap:1rem;display:flex}.highlight{background:var(--paper);border:1px solid #d4b08a2e;border-radius:10px;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.steps-grid{grid-template-columns:repeat(4,1fr);gap:1.5rem;display:grid}.step{background:var(--paper);text-align:center;border:1px solid #d4b08a1f;border-radius:12px;padding:1.25rem}.step-number{color:var(--gold);margin-bottom:.5rem;font-size:1.2rem;font-weight:700}.features-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem;margin-top:1.5rem;display:grid}.feature-benefits{margin-top:1rem;padding-left:0;list-style:none}.cta-primary{background:var(--gold);color:var(--charcoal);border:none;border-radius:10px;padding:.85rem 1.25rem}.cta-secondary{border:1px solid var(--border);background:0 0;border-radius:10px;padding:.85rem 1.25rem}.logo{align-items:center;gap:.5rem;font-size:1.5rem;font-weight:600;display:flex}.logo-icon{background:var(--gold);width:40px;height:40px;color:var(--paper);border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;font-weight:700;transition:all .3s;display:flex}.logo:hover .logo-icon{transform:rotate(5deg)scale(1.1)}.footer{background:var(--text-color);color:#fff;text-align:center;margin-top:4rem;padding:3rem 4rem;animation:.8s ease-out 1.2s both slideInUp}.footer-content{text-align:left;grid-template-columns:2fr 1fr 1fr 1fr 1.5fr;gap:2rem;margin-bottom:2rem;display:grid}.footer-column h4{color:var(--gold);font-size:1.1rem;font-weight:600;font-family:var(--font-sans);margin-bottom:1rem}.footer-column ul{margin:0;padding:0;list-style:none}.footer-column a{color:#fffc;font-size:.95rem;text-decoration:none;transition:all .3s}.footer-logo{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.footer-logo .logo-icon{background:var(--gold);width:40px;height:40px;color:var(--paper);border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;font-weight:700;display:flex}.footer-logo span{color:var(--gold);font-size:1.5rem;font-weight:700;font-family:var(--font-sans)}.footer p{color:#fffc;margin-bottom:1rem;font-size:.95rem;line-height:1.6}.social-links{gap:1rem;display:flex}.social-link{color:#fff;background:#ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.2rem;text-decoration:none;transition:all .3s;display:flex}.contact-info p{color:#fffc;margin-bottom:.5rem;font-size:.95rem}.app-links{gap:1rem;margin-top:1rem;display:flex}.app-button{color:#fff;background:#ffffff1a;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .3s;display:inline-flex}.footer-bottom{border-top:1px solid #ffffff1a;padding-top:2rem}.footer-bottom-content{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.footer-bottom p{color:#fff9;margin:0;font-size:.9rem}.footer-badges{flex-wrap:wrap;gap:1rem;display:flex}.badge{color:#fffc;background:#ffffff1a;border-radius:12px;align-items:center;gap:.25rem;padding:.25rem .75rem;font-size:.8rem;font-weight:500;display:flex}.bg-decoration{pointer-events:none;z-index:-1;opacity:.2;width:100%;height:100%;position:fixed;top:0;left:0}.bg-circle{background:var(--accent);border-radius:50%;animation:6s ease-in-out infinite float;position:absolute}.bg-circle-1{width:200px;height:200px;animation-delay:0s;top:10%;left:-50px}.bg-circle-2{width:150px;height:150px;animation-delay:-2s;top:60%;right:-75px}.bg-circle-3{width:100px;height:100px;animation-delay:-4s;bottom:20%;left:20%}.pricing-section{background:var(--pricing-bg);margin-top:6rem;padding:4rem;position:relative}.pricing-section:before{content:"";pointer-events:none;background-image:radial-gradient(circle at 20% 10%,#b97a2b14,#0000 20%);position:absolute;inset:0}.pricing-grid{grid-template-columns:repeat(3,1fr);gap:2.5rem;max-width:1200px;margin:3rem auto 0;display:grid;position:relative}.pricing-card{background:var(--paper);border:3px solid var(--gold);border-radius:20px;padding:2.5rem;transition:all .4s cubic-bezier(.4,0,.2,1);animation:.6s ease-out both fadeInScale;position:relative;overflow:hidden;box-shadow:0 8px 24px #b97a2b26}.pricing-card:first-child{animation-delay:.1s}.pricing-card:nth-child(2){border-width:4px;border-color:var(--charcoal);animation-delay:.2s;transform:scale(1.05);box-shadow:0 12px 32px #2b272533}.pricing-card:nth-child(2):before{content:"MOST POPULAR";background:var(--charcoal);color:var(--paper);letter-spacing:1px;padding:8px 60px;font-size:.75rem;font-weight:700;position:absolute;top:20px;right:-45px;transform:rotate(45deg)}.pricing-card:hover{transform:translateY(-12px)scale(1.02);box-shadow:0 24px 48px #b97a2b4d}.pricing-card:nth-child(2):hover{transform:translateY(-12px)scale(1.07)}.pricing-badge{background:var(--gold);color:var(--paper);font-size:.85rem;font-weight:600;font-family:var(--font-sans);border-radius:20px;margin-bottom:1rem;padding:6px 16px;animation:3s ease-in-out infinite badge;display:inline-block}.pricing-title{color:var(--charcoal);font-size:2rem;font-weight:700;font-family:var(--font-sans);margin-bottom:.5rem}.pricing-subtitle{color:var(--muted-text);margin-bottom:1.5rem;font-size:1rem}.pricing-amount{color:var(--charcoal);font-size:3.5rem;font-weight:700;font-family:var(--font-sans);line-height:1}.pricing-period{color:var(--muted-text);margin-top:.5rem;font-size:1rem}.pricing-features{margin:2rem 0;list-style:none}.pricing-features li{color:var(--muted-text);align-items:center;gap:.75rem;padding:.875rem 0;font-size:1rem;transition:all .2s;display:flex}.pricing-features li:before{content:"✓";color:var(--gold);background:#b97a2b1a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:1.2rem;font-weight:700;display:flex}.pricing-button{background:var(--charcoal);width:100%;color:var(--paper);border-radius:var(--radius);cursor:pointer;font-size:1.1rem;font-weight:600;font-family:var(--font-sans);border:none;margin-top:1.5rem;padding:1rem 2rem;transition:all .3s;position:relative;overflow:hidden}.pricing-button:before{content:"";background:linear-gradient(90deg,#0000,#b97a2b4d,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.faq-section{background:var(--features-bg);margin-top:4rem;padding:4rem}.faq-grid{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem;max-width:1200px;margin:0 auto;display:grid}.faq-item{background:var(--paper);border:2px solid var(--gold);border-radius:var(--radius);padding:2rem;transition:all .3s;animation:.6s ease-out both fadeInScale;box-shadow:0 4px 16px #b97a2b1a}.faq-item:first-child{animation-delay:.1s}.faq-item:hover{border-color:var(--charcoal);transform:translateY(-4px);box-shadow:0 12px 24px #b97a2b33}.faq-item h3{color:var(--charcoal);font-size:1.2rem;font-weight:600;font-family:var(--font-sans);margin-bottom:1rem}.faq-item p{color:var(--muted-text);margin:0;line-height:1.6}.testimonials-section{background:var(--testimonials-bg);margin-top:4rem;padding:4rem}.testimonials-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;max-width:1200px;margin:0 auto;display:grid}.testimonial-card{background:var(--paper);border:2px solid var(--gold);border-radius:var(--radius);padding:2rem;transition:all .3s;animation:.6s ease-out both fadeInScale;position:relative;box-shadow:0 4px 16px #b97a2b1a}.testimonial-card:first-child{animation-delay:.1s}.testimonial-card:hover{border-color:var(--charcoal);transform:translateY(-4px);box-shadow:0 12px 24px #b97a2b33}.testimonial-stars{color:var(--gold);text-align:center;margin-bottom:1rem;font-size:1.2rem}.testimonial-card p{color:var(--muted-text);text-align:center;margin-bottom:1.5rem;font-style:italic;line-height:1.6}.testimonial-author{justify-content:center;align-items:center;gap:1rem;display:flex}.author-avatar{background:var(--gold);width:50px;height:50px;color:var(--paper);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.2rem;font-weight:700;display:flex}.author-name{color:var(--charcoal);font-weight:600;font-family:var(--font-sans);margin-bottom:.25rem}.trust-section{background:var(--trust-bg);margin-top:2rem;padding:3rem 4rem}.trust-grid{grid-template-columns:repeat(4,1fr);gap:2rem;max-width:1200px;margin:0 auto;display:grid}.trust-item{text-align:center;background:var(--paper);border-radius:var(--radius);padding:1.5rem;transition:all .3s;animation:.6s ease-out both fadeInScale;box-shadow:0 4px 16px #b97a2b1a}.trust-item:first-child{animation-delay:.1s}.trust-icon{color:var(--accent-warm);margin-bottom:1rem;font-size:2.5rem;display:block}.trust-item h4{color:var(--charcoal);font-size:1.1rem;font-weight:600;font-family:var(--font-sans);margin-bottom:.5rem}.newsletter-section{background:var(--newsletter-bg);color:#fff;margin-top:2rem;padding:3rem 4rem}.newsletter-content{text-align:center;max-width:600px;margin:0 auto}.newsletter-content h2{font-size:2rem;font-weight:700;font-family:var(--font-sans);margin-bottom:1rem}.newsletter-content p{opacity:.9;margin-bottom:2rem;font-size:1.1rem}.newsletter-form{gap:1rem;max-width:500px;margin-bottom:1rem;margin-left:auto;margin-right:auto;display:flex}.newsletter-input{color:#fff;background:#ffffff1a;border:2px solid #fff3;border-radius:8px;flex:1;padding:.75rem 1rem;font-size:1rem}.newsletter-input:focus{border-color:var(--gold);background:#ffffff26;outline:none}.newsletter-button{background:var(--gold);color:var(--charcoal);cursor:pointer;font-weight:600;font-family:var(--font-sans);border:none;border-radius:8px;padding:.75rem 1.5rem;transition:all .3s}.newsletter-note{opacity:.8;margin:0;font-size:.9rem}.core-features{background:var(--features-bg);border:1px solid #d4b08a33;border-radius:16px;grid-template-columns:repeat(3,1fr);gap:2rem;max-width:1000px;margin:2rem auto 0;padding:3rem;display:grid}.core-feature{text-align:center;background:var(--paper);border-radius:var(--radius);border:1px solid #c4a8754d;padding:2rem 1rem;transition:all .3s;animation:.6s ease-out both fadeInScale;box-shadow:0 2px 12px #c4a8750f}.core-feature:first-child{animation-delay:.1s}.core-feature:hover{border-color:#c4a87580;transform:translateY(-4px);box-shadow:0 8px 20px #c4a8751f}.core-feature-icon{filter:drop-shadow(0 2px 6px #c4a87526);color:var(--accent-warm);margin-bottom:1.5rem;font-size:3.5rem;transition:all .3s;display:block}.core-feature-icon svg{stroke:currentColor;fill:none;width:48px;height:48px}.core-feature:hover .core-feature-icon{filter:drop-shadow(0 4px 10px #c4a87533);color:var(--charcoal);transform:scale(1.1)rotate(5deg)}.core-feature h3{color:var(--charcoal);font-size:1.4rem;font-weight:600;font-family:var(--font-sans);margin-bottom:.75rem}.core-feature p{color:var(--muted-text);margin:0;font-size:.95rem;line-height:1.6}.feature-card{background:var(--paper);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid var(--gold);border-radius:var(--radius);padding:2rem;transition:all .3s cubic-bezier(.4,0,.2,1);animation:.6s ease-out both fadeInScale;box-shadow:0 4px 16px #b97a2b1a}.feature-card:first-child{animation-delay:.1s}.feature-card:hover{border-color:var(--charcoal);transform:translateY(-6px);box-shadow:0 15px 35px #b97a2b40}.feature-icon{background:var(--gold);border-radius:12px;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:1rem;transition:all .3s;display:flex;box-shadow:0 4px 12px #b97a2b4d}.feature-card:hover .feature-icon{transform:scale(1.1)rotate(5deg);box-shadow:0 8px 20px #b97a2b80}.feature-card h3{color:var(--charcoal);font-size:1.5rem;font-weight:600;font-family:var(--font-sans);margin-bottom:.5rem}.logo-icon{background:var(--gold);width:40px;height:40px;color:var(--paper);border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;font-weight:700;transition:all .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 12px #b97a2b4d}.logo-icon:before{content:"";background:radial-gradient(circle at 50% 50%,var(--paper)20%,transparent 21%);transition:all .3s;position:absolute;inset:0}.logo:hover .logo-icon{transform:rotate(5deg)scale(1.1);box-shadow:0 6px 20px #b97a2b80}.landing-page header .logo-icon:before{background:0 0}@media(max-width:768px){.hero{text-align:center;flex-direction:column;gap:2rem;min-height:auto;padding:2rem 1.25rem}.hero-text{max-width:none}.hero h1{font-size:2rem}.hero p{max-width:100%;font-size:1rem}.container{padding:0 1.25rem}.section-features-heading{padding:1.5rem 1rem 0}.section-core-features{padding:1.5rem 1rem}.hero-carousel{width:100%;max-width:400px;height:320px}.app-screenshot{border-radius:12px}.screenshot-header{padding:10px 12px}.app-title{font-size:12px}.screenshot-content{padding:16px}.timer-circle{width:100px;height:100px}.timer-text .time{font-size:20px}.hero-cards,.core-features{grid-template-columns:1fr;gap:1.5rem}.pricing-section{padding:3rem 2rem}.pricing-grid{grid-template-columns:1fr;gap:2rem}.pricing-card:nth-child(2){transform:scale(1)}.pricing-card:nth-child(2):hover{transform:translateY(-12px)scale(1.02)}header{padding:1.5rem 2rem}@media(max-width:480px){header{padding:1rem}}nav ul{gap:1rem}.faq-section,.testimonials-section,.trust-section,.newsletter-section{padding:3rem 2rem}.faq-grid,.testimonials-grid{grid-template-columns:1fr}.trust-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}.newsletter-form{flex-direction:column}.newsletter-input{width:100%}}@media(max-width:1024px)and (min-width:769px){.pricing-grid{grid-template-columns:repeat(2,1fr)}.pricing-card:nth-child(3){grid-column:1/-1;max-width:50%;margin:0 auto}}.error-message{color:#dc2626;text-align:center;z-index:5;background:linear-gradient(135deg,#fee2e2,#fecaca);border:2px solid #f87171;border-radius:12px;margin:1rem 0;padding:1.5rem;font-weight:500;animation:.4s ease-out slideInUp;position:relative;overflow:hidden;box-shadow:0 4px 12px #f8717126}.toast-container{z-index:9000;pointer-events:none;flex-direction:column;gap:.75rem;display:flex;position:fixed;top:1rem;right:1rem}.toast-item{background:var(--paper);border:2px solid var(--border);pointer-events:auto;border-radius:12px;justify-content:space-between;align-items:center;gap:.75rem;min-width:240px;max-width:320px;padding:.75rem 1rem;font-size:.9rem;font-weight:500;animation:.35s ease-out slideInDown;display:flex;box-shadow:0 6px 16px #0000001f}.toast-message{color:var(--charcoal);flex:1}.toast-close{color:var(--muted-text);cursor:pointer;background:0 0;border:none;padding:0 .25rem;font-size:1.1rem;line-height:1}.header-toast-container{width:min(320px,100vw - 2.5rem);top:4.5rem;right:1.5rem}@media(max-width:640px){.header-toast-container{width:auto;left:1rem;right:1rem}}.header-toast .toast-title-row{justify-content:space-between;align-items:flex-start;gap:.75rem;width:100%;display:flex}.header-toast .toast-title{color:var(--charcoal);font-size:.95rem;font-weight:600}.header-toast .toast-body-text{color:var(--muted-text);margin:.15rem 0 0;font-size:.85rem;line-height:1.4}.header-toast .toast-close{margin:0;padding:0}@keyframes slideInDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.notification-card{border:1px solid var(--border);background:var(--background);cursor:pointer;border-radius:1rem;flex-direction:column;gap:.5rem;padding:1rem;transition:border-color .2s,box-shadow .2s,background .2s,opacity .2s;display:flex}.error-message:before{content:"⚠️";font-size:1.2rem;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.error-message:after{content:"";background:linear-gradient(90deg,#0000,#f871711a,#0000);width:100%;height:100%;animation:2s infinite shimmer;position:absolute;top:0;left:-100%}.loading-placeholder{color:#6b7280;text-align:center;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border:2px solid #d1d5db;border-radius:12px;margin:1rem 0;padding:2rem;font-weight:500;animation:2s infinite pulse;position:relative;box-shadow:0 2px 8px #0000000d}.loading-placeholder:before{content:"⏳";font-size:1.2rem;animation:2s ease-in-out infinite gentleFloat;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.success-message{color:#059669;text-align:center;z-index:5;background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:2px solid #34d399;border-radius:12px;margin:1rem 0;padding:1.5rem;font-weight:500;animation:.4s ease-out slideInUp;position:relative;overflow:hidden;box-shadow:0 4px 12px #34d39926}.success-message:before{content:"✅";font-size:1.2rem;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.success-message:after{content:"";background:linear-gradient(90deg,#0000,#34d3991a,#0000);width:100%;height:100%;animation:2s infinite shimmer;position:absolute;top:0;left:-100%}.achievements-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-top:1rem;display:grid}.achievement-badge{background:var(--paper);border:2px solid var(--gold);text-align:center;border-radius:16px;flex-direction:column;align-items:center;padding:1.5rem;transition:all .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 8px #b97a2b1a}.achievement-badge:before{content:"";background:linear-gradient(90deg,#0000,#b97a2b1a,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.achievement-badge.unlocked{background:linear-gradient(135deg,var(--paper),#b97a2b0d);border-color:var(--gold);animation:none;box-shadow:0 4px 16px #b97a2b33}.achievement-badge .achievement-icon{margin-bottom:1rem;font-size:2.5rem;transition:all .3s}.achievement-badge.locked .achievement-icon{opacity:.3;filter:grayscale()brightness(.7);transform:none}.achievement-badge h4{color:var(--charcoal);font-size:1rem;font-weight:600;font-family:var(--font-sans);margin-bottom:.5rem}.achievement-badge p{color:var(--muted-text);margin:0;font-size:.85rem;line-height:1.4}.profile-meta .meta-item span{color:var(--muted-text);opacity:.8;font-weight:400}.bio-text{color:var(--muted-text);opacity:.9;font-style:italic}.auth-header h1{color:var(--charcoal);margin-bottom:.5rem;font-size:2rem}.auth-form{flex-direction:column;gap:1.5rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{color:var(--text-color);font-weight:500}.input-group input{border-radius:var(--radius);border:2px solid #ddd;width:100%;padding:.75rem 3.25rem;font-size:1rem;transition:border-color .3s}.input-group input:focus{border-color:var(--accent);outline:none}.input-group svg{color:var(--muted-text);width:20px;height:20px;position:absolute;top:50%;transform:translateY(-50%)}.form-options{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.checkbox-label{color:var(--muted-text);align-items:center;gap:.5rem;font-size:.9rem;display:flex}.forgot-password{color:var(--accent);font-size:.9rem;text-decoration:none}.auth-button{border-radius:var(--radius);cursor:pointer;border:none;width:100%;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;transition:all .3s}.auth-error{color:#c33;border-radius:var(--radius);background:#fee;border:1px solid #fcc;padding:.75rem;font-size:.9rem}.auth-footer{text-align:center;border-top:1px solid #eee;margin-top:2rem;padding-top:2rem}.link-button{color:var(--accent);cursor:pointer;background:0 0;border:none;font-weight:500;text-decoration:underline}.chat-popup{background:var(--paper);border:1px solid var(--border);z-index:50;border-radius:14px;flex-direction:column;width:350px;display:flex;position:fixed;bottom:18px;right:18px;overflow:hidden;box-shadow:0 12px 34px #0000001a}.chat-header{border-bottom:1px solid var(--border);color:var(--charcoal);justify-content:space-between;align-items:center;padding:8px 10px;font-weight:600;display:flex}.chat-header .close-btn{cursor:pointer;color:var(--muted-text);background:0 0;border:none;font-size:18px;line-height:1}.chat-messages-ai-reader{background:var(--background);height:500px;padding:10px 12px;overflow-y:auto}.chat-messages-ai-reader .msg{background:var(--paper);border:1px solid var(--border);border-radius:12px;max-width:85%;margin-bottom:8px;padding:8px 10px;font-size:13px}.chat-messages-ai-reader .msg.me{background:var(--accent);color:#fff;border-color:var(--accent);margin-left:auto}.chat-messages-ai-reader .empty-msg{color:var(--muted-text);text-align:center;margin-top:30px;font-size:12px}.chat-input-row{border-top:1px solid var(--border);gap:8px;padding:10px 12px;display:flex}.chat-input-row input{border:1px solid var(--border);background:var(--background);border-radius:10px;flex:1;padding:8px 10px;font-size:13px}.chat-input-row button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:8px 14px;font-size:13px;font-weight:600}.modal-content{background:var(--paper);border:2px solid var(--border);border-radius:16px;width:90%;max-width:500px;max-height:90vh;animation:.3s ease-out modalSlideIn;overflow-y:auto;box-shadow:0 20px 40px #00000026}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:.5rem;transition:all .2s}.modal-footer{border-top:1px solid var(--border-light);justify-content:flex-end;gap:1rem;padding:1.5rem;display:flex}.start-session-modal .form-label{color:var(--text);align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.95rem;font-weight:600;display:flex}.duration-options{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.duration-btn{border:2px solid var(--border);background:var(--paper);color:var(--text);cursor:pointer;border-radius:8px;padding:.5rem 1rem;font-weight:500;transition:all .2s}.custom-duration{align-items:center;display:flex}.custom-duration-input{border:2px solid var(--border);background:var(--paper);width:100px;color:var(--text);border-radius:8px;padding:.5rem;font-size:.9rem}.custom-duration-input:focus{border-color:var(--accent);outline:none}.goal-select{border:2px solid var(--border);background:var(--paper);width:100%;color:var(--text);border-radius:8px;padding:.75rem;font-size:.95rem}.goal-select:focus{border-color:var(--accent);outline:none}.no-goals,.no-friends{color:var(--text-muted);background:var(--hover);text-align:center;border-radius:8px;margin:0;padding:1rem;font-style:italic}.friends-list{border:2px solid var(--border);background:var(--paper);border-radius:8px;max-height:200px;overflow-y:auto}.friend-checkbox{border-bottom:1px solid var(--border-light);cursor:pointer;align-items:center;gap:.75rem;padding:.75rem;transition:background .2s;display:flex}.checkmark{border:2px solid var(--border);border-radius:4px;width:20px;height:20px;transition:all .2s;position:relative}.friend-checkbox input[type=checkbox]:checked+.checkmark:after{content:"✓";color:#fff;font-size:12px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.friend-name{color:var(--text);flex:1;font-weight:500}.invitation-note{background:var(--accent-light);border:1px solid var(--accent);color:var(--accent-dark);border-radius:8px;margin-top:.75rem;padding:.75rem;font-size:.9rem;font-style:italic}.cancel-btn{border:2px solid var(--border);background:var(--paper);color:var(--text);cursor:pointer;border-radius:8px;padding:.75rem 1.5rem;font-weight:500;transition:all .2s}.start-btn{border:2px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:500;transition:all .2s;display:flex}.upload-btn{border:2px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;min-width:120px;padding:.75rem 1.5rem;font-weight:500;transition:all .2s;display:flex}.upload-btn:hover:not(:disabled){background:var(--accent-dark,var(--accent));border-color:var(--accent-dark,var(--accent))}.loading-spinner.small{border:2px solid #0000;border-top-color:currentColor;border-radius:50%;width:16px;height:16px;animation:1s linear infinite spin}.room-page{background:var(--bg);min-height:100vh;color:var(--text)}.room-header{border-bottom:1px solid var(--border);background:var(--paper);justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex}.back-btn{border:2px solid var(--border);background:var(--paper);color:var(--text);cursor:pointer;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-weight:500;transition:all .2s;display:flex}.room-meta{color:var(--text-muted);align-items:center;gap:1rem;font-size:.9rem;display:flex}.room-content{min-height:calc(100vh - 80px);display:flex}.video-area{flex:1;justify-content:center;align-items:center;padding:2rem;display:flex}.video-placeholder h3{color:var(--text);margin:1rem 0 .5rem}.webrtc-controls{justify-content:center;gap:1rem;display:flex}.control-btn{border:2px solid var(--border);background:var(--paper);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;transition:all .2s;display:flex}.room-sidebar{border-left:1px solid var(--border);background:var(--paper);width:300px;padding:1.5rem;overflow-y:auto}.participant-item{border:1px solid var(--border);background:var(--bg);border-radius:8px;align-items:center;gap:.75rem;padding:.75rem;display:flex}.participant-name{margin:0;font-size:.9rem;font-weight:500}.participant-status{color:var(--text-muted);margin:.25rem 0 0;font-size:.8rem}.chat-placeholder{text-align:center;color:var(--text-muted);padding:2rem 1rem}.chat-placeholder h4{color:var(--text);margin:0 0 .5rem}.chat-placeholder small{margin-top:.5rem;font-size:.8rem;display:block}.error-screen,.loading-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;display:flex}.ai-reader-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);overscroll-behavior:contain;background:#000c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ai-reader-modal-content{background:var(--paper);border:2px solid var(--border);border-radius:16px;flex-direction:column;width:95vw;max-width:none;height:90vh;animation:.3s ease-out modalSlideIn;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 40px #00000026}.ai-reader-header{border-bottom:1px solid var(--border-light);background:var(--paper);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.ai-reader-title{color:var(--text);align-items:center;gap:.75rem;font-size:1.25rem;font-weight:600;display:flex}.ai-reader-close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:.5rem;transition:all .2s}.material-selector{border-bottom:1px solid var(--border-light);background:var(--bg);padding:1rem 1.5rem}.material-dropdown-btn{border:2px solid var(--border);background:var(--paper);cursor:pointer;color:var(--text);border-radius:8px;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;font-size:.95rem;font-weight:500;transition:all .2s;display:flex}.material-dropdown-menu{background:var(--paper);border:2px solid var(--border);z-index:100;border-radius:8px;max-height:200px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #00000026}.material-option{color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;transition:background .2s;display:flex}.no-materials{text-align:center;color:var(--text-muted);padding:1rem}.ai-reader-main{flex:1;display:flex;overflow:hidden}.document-reader{border-right:1px solid var(--border-light);background:var(--bg);overscroll-behavior:contain;flex-direction:column;flex:1;display:flex;overflow-y:auto}.document-container{flex-direction:column;flex:1;display:flex;overflow:visible}.document-header{border-bottom:1px solid var(--border-light);background:var(--paper);padding:1.5rem}.document-header h3{color:var(--text);margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.document-meta{color:var(--text-muted);gap:1rem;font-size:.85rem;display:flex}.document-placeholder,.no-document{text-align:center;height:100%;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;display:flex}.document-placeholder svg,.no-document svg{opacity:.5;margin-bottom:1rem}.document-placeholder small,.no-document small{opacity:.7;font-size:.85rem}.no-document h3{color:var(--text);margin:0 0 1rem;font-size:1.5rem}.ai-chat{background:var(--paper);flex-direction:column;width:clamp(420px,32%,560px);display:flex;position:relative;justify-content:space-between!important}.chat-header{border-bottom:1px solid var(--border-light);color:var(--text);align-items:center;gap:.75rem;padding:1rem 1.5rem;font-size:.95rem;font-weight:600;display:flex}.chat-messages-ai-reader{scroll-behavior:smooth;overscroll-behavior:contain;flex-direction:column;flex:1;gap:1rem;padding:1rem 1.5rem 1.25rem;display:flex;overflow-y:auto}.chat-message{margin-bottom:1rem;display:flex}.message-content{word-break:break-word;border-radius:14px;max-width:88%;padding:.85rem 1.05rem;font-size:.9rem;line-height:1.5;box-shadow:0 4px 14px #0000000a}.chat-message.user .message-content{background:var(--accent);color:#fff;border:2px solid var(--accent);border-bottom-right-radius:6px}.chat-placeholder{text-align:center;height:100%;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;display:flex}.chat-placeholder svg{opacity:.5;margin-bottom:1rem}.chat-placeholder small{opacity:.7;font-size:.85rem}.chat-input-area{border-top:1px solid var(--border-light);align-items:flex-end;gap:.75rem;padding:.75rem 1.5rem;display:flex}.chat-input{border:2px solid var(--border);background:var(--bg);color:var(--text);resize:none;border-radius:8px;flex:1;padding:.75rem;font-family:inherit;font-size:.9rem;transition:border-color .2s}.chat-input:focus{border-color:var(--accent);outline:none}.send-btn{border:2px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:8px;padding:.75rem 1.25rem;font-weight:500;transition:all .2s}.pdf-viewer{flex-direction:column;height:100%;display:flex;overflow:visible}.pdf-document{flex:1;justify-content:center;padding:1rem;display:flex}.pdf-document .react-pdf__Document{flex-direction:column;align-items:center;display:flex}.pdf-document .react-pdf__Page{max-width:calc(100% - 2rem);margin-bottom:1rem;box-shadow:0 4px 8px #0000001a}.pdf-document .react-pdf__Page__canvas{border-radius:8px;max-width:100%;box-shadow:0 2px 8px #0000001a;height:auto!important}.react-pdf__Page__textContent{pointer-events:auto;-webkit-user-select:text;-moz-user-select:text;user-select:text;color:#0000!important;-webkit-text-fill-color:transparent!important}.selection-popup{z-index:1100;background:var(--paper);border:1px solid var(--border);border-radius:8px;align-items:center;gap:.5rem;padding:.4rem .6rem;font-size:.85rem;display:flex;position:absolute;box-shadow:0 8px 20px #0000001f}.selection-popup .btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.3rem .5rem}.pdf-navigation{border-top:1px solid var(--border-light);background:var(--paper);justify-content:center;align-items:center;gap:1rem;padding:1rem;display:flex}.nav-btn{border:2px solid var(--border);background:var(--paper);color:var(--text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:.5rem;transition:all .2s;display:flex}.page-info{color:var(--text);text-align:center;min-width:100px;font-weight:500}.pdf-loading,.pdf-error{text-align:center;height:100%;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;display:flex}.pdf-loading svg,.pdf-error svg{opacity:.5;margin-bottom:1rem}.pdf-loading small,.pdf-error small{opacity:.7;font-size:.85rem}.pdf-error small{opacity:.7;margin-bottom:1rem;font-size:.85rem}.retry-btn{border:2px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:8px;padding:.5rem 1rem;font-weight:500;transition:all .2s}.ai-reader-typing-indicator{border:1px solid var(--border-light);background:#0000000d;border-radius:12px 12px 12px 4px;align-self:flex-start;gap:4px;margin-bottom:.75rem;padding:.75rem 1rem;display:flex}.ai-reader-typing-indicator span{background:var(--text-muted);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite ai-reader-typing}.ai-reader-typing-indicator span:first-child{animation-delay:-.32s}.flashcard-placeholder{border:1px solid var(--border-light);background:#0000000d;border-radius:12px 12px 12px 4px;align-self:flex-start;min-width:300px;margin-bottom:.75rem;padding:1rem;animation:1.5s ease-in-out infinite flashcard-pulse}.skeleton-line{background:var(--border-light);border-radius:4px;height:16px;animation:1.5s ease-in-out infinite skeleton-loading}.dashboard-page{background:var(--background);flex-direction:column;min-height:100vh;display:flex}.header-content{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;display:flex}.header-left h1{color:var(--charcoal);margin-bottom:.25rem;font-size:1.5rem}.header-right{align-items:center;gap:.75rem;display:flex}.logout-btn{color:var(--text-color);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:9999px;padding:.5rem .9rem;font-weight:500;transition:all .2s}.dashboard-content{grid-template-columns:minmax(0,1fr) 340px;grid-auto-flow:row;align-items:start;gap:2.5rem;width:100%;max-width:1180px;margin:0 auto;padding:2rem 2.25rem 3rem;display:grid}.dashboard-main{flex-direction:column;grid-column:1;gap:2.25rem;display:flex}.dashboard-sidebar{flex-direction:column;grid-column:2;gap:2.25rem;height:-moz-fit-content;height:fit-content;display:flex;position:sticky;top:3.4rem}.stats-section{grid-column:1/-1;margin-bottom:1.5rem}.stat-card{background:var(--paper);border-radius:var(--radius);border:1px solid var(--border);align-items:center;gap:1rem;padding:1.5rem;display:flex}.stat-content h3{color:var(--charcoal);margin-bottom:.25rem;font-size:1.5rem}.stats-bar{background:var(--background);justify-content:center;width:100%;max-width:1180px;margin:0 auto;padding:.4rem 2.25rem .15rem;display:flex}.stats-row{gap:1rem;width:100%;display:flex}.stats-row .stat-card{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex:1;align-items:center;gap:.65rem;padding:.75rem .9rem;display:flex}.stats-row .stat-content h3{margin-bottom:.1rem;font-size:1.05rem}.stat-error{text-align:right;color:#dc2626;margin-top:.35rem;font-size:.85rem}.section-hint{color:var(--muted-text);margin-top:.75rem;font-size:.85rem}.pomodoro-section.align-with-ask-ai .pomodoro-card{flex-direction:column;justify-content:center;min-height:160px;display:flex}.section-header{justify-content:space-between;align-items:center;display:flex}.add-btn{background:var(--accent);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.5rem 1rem;font-weight:500;display:flex}.pomodoro-card{background:var(--paper);border-radius:var(--radius);border:1px solid var(--border);text-align:center;padding:2rem}.timer-circle{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:200px;height:200px;margin:0 auto 1rem;display:flex}.timer-text .time{margin-bottom:.5rem;font-size:2.5rem;font-weight:700}.timer-text .session-type{opacity:.9;font-size:1rem}.timer-controls{justify-content:center;gap:1rem;display:flex}.timer-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;transition:background .3s;display:flex}.goals-list{flex-direction:column;gap:1rem;display:flex}.goal-card{background:var(--paper);border-radius:var(--radius);border:1px solid var(--border);padding:1.5rem}.goal-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.goal-subject{background:var(--accent);color:#fff;border-radius:var(--radius);padding:.25rem .5rem;font-size:.8rem;font-weight:500}.progress-fill{background:var(--accent);height:100%;transition:width .3s}.progress-text{color:var(--muted-text);font-size:.9rem}.goal-deadline{color:var(--muted-text);align-items:center;gap:.5rem;font-size:.9rem;display:flex}.action-buttons{flex-direction:column;gap:.75rem;display:flex}.action-btn{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;color:var(--text-color);align-items:center;gap:.75rem;padding:1rem;font-weight:500;transition:all .3s;display:flex}.sessions-list{flex-direction:column;gap:.75rem;display:flex}.session-item{background:var(--paper);border-radius:var(--radius);border:1px solid var(--border);align-items:center;gap:.75rem;padding:.75rem;display:flex}.session-icon{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.recent-sessions.inline-section h2{margin-bottom:.75rem;font-size:1.1rem}.ask-ai-card{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:.75rem;padding:1.25rem 1.25rem 1rem;display:flex}.ask-ai-header{color:var(--charcoal);align-items:center;gap:.5rem;display:flex}.ask-ai-header h2{margin:0;font-size:1.05rem;font-weight:600}.ask-ai-form{gap:.5rem;display:flex}.ask-ai-input{border:1px solid var(--border);background:var(--background);border-radius:var(--radius);color:var(--text-color);flex:1;padding:.65rem .75rem;font-size:.9rem}.ask-ai-submit{background:var(--accent);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;align-items:center;gap:.35rem;padding:.65rem 1rem;font-size:.85rem;font-weight:600;transition:background .25s;display:flex}.ask-ai-submit:hover{background:var(--accent-hover,#8c6a3d)}.ask-ai-hint{color:var(--muted-text);letter-spacing:.3px;font-size:.7rem}.upload-material-card{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:.75rem;padding:1.25rem 1.25rem 1rem;display:flex}.upload-material-header{color:var(--charcoal);align-items:center;gap:.5rem;display:flex}.upload-material-header h2{margin:0;font-size:1.05rem;font-weight:600}.upload-material-description{color:var(--muted-text);font-size:.9rem;line-height:1.4}.upload-material-actions{flex-wrap:wrap;gap:.75rem;display:flex}.upload-btn{background:var(--accent);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;flex:1;justify-content:center;align-items:center;gap:.35rem;padding:.65rem 1rem;font-size:.85rem;font-weight:600;transition:background .25s;display:flex}.upload-btn.primary:hover{background:var(--accent-hover,#8c6a3d)}.upload-material-features{flex-flow:wrap;justify-content:space-between;gap:.75rem;display:flex}.feature-item{color:var(--muted-text);align-items:center;gap:.5rem;font-size:.8rem;display:flex}.card-list{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1rem 1rem .75rem}.card-list h2{color:var(--charcoal);margin-bottom:.75rem;font-size:1.05rem}.friends-list,.partners-list{flex-direction:column;gap:.75rem;display:flex}.friend-item,.partner-item{border:1px solid var(--border);border-radius:var(--radius-sm,8px);background:var(--background);box-sizing:border-box;align-items:center;gap:.9rem;width:100%;min-height:56px;padding:.8rem .95rem;transition:background .2s,border-color .2s;display:flex}.friend-info h4,.partner-info h4{color:var(--charcoal);text-overflow:ellipsis;white-space:nowrap;margin:0 0 3px;font-size:.7rem;overflow:hidden}.friend-info p,.partner-info p{color:var(--muted-text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.7rem;overflow:hidden}.status-dot{background:var(--muted-text);width:10px;height:10px;box-shadow:0 0 0 2px var(--background);border-radius:50%}.partner-icon{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:.7rem;display:flex}.invite-btn{background:var(--accent);color:#fff;border-radius:var(--radius-sm,8px);cursor:pointer;border:none;align-items:center;gap:.3rem;margin-left:auto;padding:.35rem .6rem;font-size:.7rem;font-weight:500;display:inline-flex}.partner-search{background:var(--background);border:1px solid var(--border);border-radius:8px;align-items:center;gap:.5rem;padding:.5rem .75rem;transition:border-color .2s;display:flex}.partner-search-input{color:var(--text-color);background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:.9rem}.calendar-section{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1rem 1rem .75rem}.calendar-section h2{color:var(--charcoal);margin-bottom:.75rem;font-size:1.05rem}.calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.calendar-header-cell{text-align:center;color:var(--muted-text);padding:2px 0;font-size:.65rem;font-weight:600}.calendar-cell{aspect-ratio:1;color:var(--charcoal);border:1px solid var(--border);background:var(--background);border-radius:6px;justify-content:center;align-items:center;font-size:.7rem;transition:background .2s;display:flex}.calendar-cell .reminder-dot,.calendar-cell.has-reminder .reminder-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;bottom:3px;right:3px}.reminder-modal{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);margin-top:.5rem;padding:.75rem .85rem .9rem;animation:.3s fadeInScale;box-shadow:0 4px 12px #0000000f}.reminder-form h3{color:var(--charcoal);margin:0 0 .5rem;font-size:1.1rem;font-weight:600}.reminder-form input{border:1px solid var(--border);background:var(--background);border-radius:8px;width:100%;padding:.6rem .7rem;font-family:inherit;font-size:.9rem}.reminder-form textarea{border:1px solid var(--border);background:var(--background);resize:vertical;border-radius:8px;width:100%;min-height:60px;padding:.6rem .7rem;font-family:inherit;font-size:.9rem}.reminder-actions{gap:.5rem;margin-top:.55rem;display:flex}.save-btn,.cancel-btn{cursor:pointer;border:none;border-radius:8px;flex:1;padding:.5rem .6rem;font-size:.85rem;font-weight:600}.existing-reminders{margin:.5rem 0 0 1rem;padding:0;list-style:outside}.existing-reminders li{margin-bottom:2px;font-size:.85rem}.existing-reminders .reminder-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;padding:.5rem 0;display:flex}.existing-reminders .reminder-item .complete-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;font-weight:700;transition:all .2s;display:flex}.existing-reminders .reminder-item-actions{opacity:.7;align-items:center;gap:.5rem;transition:opacity .2s;display:flex}.existing-reminders .delete-btn{color:var(--muted-text);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.25rem;font-size:.9rem;transition:all .2s;display:flex}.existing-reminders .delete-btn:hover{color:#dc2626;background:#fee2e2;transform:scale(1.05)}.reminder-edit-form{background:var(--background);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:.75rem;margin-top:.5rem;padding:.75rem;display:flex}.reminder-edit-form input,.reminder-edit-form textarea{border:1px solid var(--border);background:var(--paper);width:100%;color:var(--text-color);border-radius:6px;padding:.5rem;font-size:.9rem;transition:border-color .2s}.reminder-edit-form input:focus,.reminder-edit-form textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px #b985631a}.reminder-edit-actions{justify-content:flex-end;gap:.5rem;display:flex}.reminder-edit-actions .save-edit-btn,.reminder-edit-actions .cancel-edit-btn{cursor:pointer;border:none;border-radius:6px;padding:.4rem .8rem;font-size:.85rem;font-weight:600;transition:all .2s}.existing-reminders .reminder-content{cursor:pointer;flex:1;margin-right:.5rem;transition:opacity .2s}.existing-reminders .clickable-title{color:var(--charcoal);margin-bottom:.25rem;font-size:.9rem;font-weight:600;display:block}.existing-reminders .clickable-description{color:var(--muted-text);margin-bottom:.25rem;font-size:.85rem;line-height:1.4}.quick-actions.compact{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:.85rem .85rem .65rem}.quick-actions.compact h2{margin-bottom:.6rem;font-size:.95rem}.quick-actions.compact .action-btn{gap:.5rem;padding:.55rem .6rem;font-size:.7rem}.quick-actions-row{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;margin-top:-.5rem;margin-bottom:1.5rem;display:grid}.quick-actions-row .action-buttons{flex-direction:column;gap:.4rem;display:flex}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.match-reason{color:var(--accent);margin-top:.25rem;font-size:.65rem;font-weight:500;display:block}.compatibility-score{color:var(--muted-text);margin-top:.1rem;font-size:.6rem;font-weight:500;display:block}.friend-requests-section{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1rem 1rem .75rem}.friend-requests-section h2{color:var(--charcoal);margin-bottom:.75rem;font-size:1.05rem}.friend-requests-list{flex-direction:column;gap:.75rem;display:flex}.friend-request-item{border:1px solid var(--border);border-radius:var(--radius-sm,8px);background:var(--background);box-sizing:border-box;align-items:center;gap:.9rem;width:100%;min-height:56px;padding:.8rem .95rem;transition:background .2s,border-color .2s;display:flex}.friend-request-info h4{color:var(--charcoal);text-overflow:ellipsis;white-space:nowrap;margin:0 0 3px;font-size:.7rem;overflow:hidden}.friend-request-info p{color:var(--muted-text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.7rem;overflow:hidden}.friend-request-actions{gap:.5rem;margin-left:auto;display:flex}.accept-btn,.reject-btn,.decline-btn{border-radius:var(--radius-sm,8px);cursor:pointer;border:none;align-items:center;gap:.3rem;padding:.35rem .6rem;font-size:.7rem;font-weight:500;transition:all .2s;display:inline-flex}.toast.invitation-toast{background:var(--paper);border:1px solid var(--border);z-index:6000;border-radius:16px;min-width:280px;max-width:min(340px,100vw - 2rem);padding:1rem 1.25rem;position:fixed;bottom:32px;right:32px;box-shadow:0 14px 34px #0000001f}.toast.invitation-toast .toast-content{color:var(--charcoal);flex-direction:column;gap:.75rem;display:flex}.toast.invitation-toast .toast-actions{justify-content:flex-end;gap:.5rem;display:flex}@media(max-width:640px){.toast.invitation-toast{width:auto;bottom:16px;left:16px;right:16px}}@media(max-width:768px){.dashboard-content{grid-template-columns:1fr;gap:1.25rem;padding:1.25rem 1rem 2rem}.dashboard-sidebar{grid-column:1;position:static;top:auto}.stats-bar{padding:.5rem 1rem .25rem}.stats-row{flex-wrap:wrap;gap:.75rem}.stats-row .stat-card{flex:calc(50% - .75rem);min-width:140px}.ask-ai-card,.upload-material-card{padding:1rem}.quick-actions-row{grid-template-columns:1fr}.goal-card{padding:1rem}.card-list,.calendar-section{padding:.85rem .85rem .6rem}}.chat-popup{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);z-index:1000;flex-direction:column;width:350px;height:500px;animation:.3s slideUp;display:flex;position:fixed;bottom:20px;right:20px;box-shadow:0 10px 25px #0000001a}.chat-header{border-bottom:1px solid var(--border);background:var(--background);border-radius:var(--radius)var(--radius)0 0;color:var(--charcoal);justify-content:space-between;align-items:center;padding:1rem;font-weight:600;display:flex}.close-btn{cursor:pointer;color:var(--muted-text);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.25rem;font-size:1.2rem;transition:all .2s;display:flex}.chat-messages{background:var(--background);flex-direction:column;flex:1;gap:.75rem;padding:1rem;display:flex;overflow-y:auto}.msg{word-wrap:break-word;border-radius:18px;max-width:70%;padding:.75rem;font-size:.9rem;line-height:1.4;animation:.3s fadeIn;box-shadow:0 2px 4px #0000001a}.msg.me{color:#fff;background:#5c4033;border-bottom-right-radius:4px;align-self:flex-end;box-shadow:0 2px 8px #24181259}.msg.them{color:#3d2b1f;background:#e8d8c7;border:1px solid #d6c5b2;border-bottom-left-radius:4px;align-self:flex-start;box-shadow:0 2px 4px #0000000d}.empty-msg{text-align:center;color:var(--muted-text);padding:2rem;font-style:italic}.chat-input-row{border-top:1px solid var(--border);background:var(--paper);border-radius:0 0 var(--radius)var(--radius);gap:.5rem;padding:1rem;display:flex}.chat-input-row input{border:1px solid var(--border);background:var(--background);border-radius:25px;outline:none;flex:1;padding:.75rem;font-size:.9rem;transition:border-color .2s}.chat-input-row button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:25px;padding:.75rem 1.25rem;font-size:.9rem;font-weight:500;transition:all .2s}.room-page{background:var(--background);flex-direction:column;min-height:100vh;display:flex}.room-header{background:var(--paper);border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm);align-items:center;gap:2rem;padding:1rem 2rem;display:flex}.back-btn{background:var(--background);border:1px solid var(--border);color:var(--text-color);border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.room-info h1{color:var(--charcoal);margin:0 0 .25rem;font-size:1.5rem;font-weight:600}.room-meta{color:var(--muted-text);gap:1rem;font-size:.9rem;display:flex}.participant-count,.room-subject{align-items:center;gap:.25rem;display:flex}.leave-btn{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:8px;padding:.75rem 1.5rem;font-weight:500;transition:all .2s}.room-content{flex:1;gap:2rem;padding:2rem;display:flex}.video-area{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex:1;position:relative;overflow:hidden}.video-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;height:100%;min-height:400px;padding:1rem;display:grid}.video-tile{aspect-ratio:16/9;background:#000;border-radius:8px;position:relative;overflow:hidden}.video-element{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.video-overlay{color:#fff;background:linear-gradient(#0000,#000000b3);padding:.5rem 1rem;font-size:.9rem;font-weight:500;position:absolute;bottom:0;left:0;right:0}.video-controls{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000c;border-radius:25px;gap:1rem;padding:.75rem 1.5rem;display:flex;position:absolute;bottom:1rem;left:50%;transform:translate(-50%)}.video-placeholder{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;height:100%;min-height:400px;padding:2rem;display:flex}.video-placeholder h3{color:var(--charcoal);margin:0;font-size:1.25rem}.video-placeholder p{color:var(--muted-text);max-width:300px;margin:0}.webrtc-controls{gap:1rem;margin-top:1rem;display:flex}.control-btn{border:2px solid var(--border);background:var(--paper);width:50px;height:50px;color:var(--text-color);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.control-btn.inactive{color:#fff;background:#dc2626;border-color:#dc2626}.room-sidebar{flex-direction:column;gap:1.5rem;width:350px;display:flex}.participants-section,.room-chat-section{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1.5rem}.participants-section h3,.room-chat-section h3{color:var(--charcoal);margin:0 0 1rem;font-size:1.1rem}.participants-list{flex-direction:column;gap:.75rem;display:flex}.participant-item{background:var(--background);border:1px solid var(--border-light);border-radius:8px;align-items:center;gap:.75rem;padding:.75rem;display:flex}.participant-avatar{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.participant-name{color:var(--charcoal);font-size:.9rem;font-weight:500;display:block}.participant-status{color:var(--muted-text);font-size:.8rem;display:block}.chat-placeholder{text-align:center;color:var(--muted-text);flex-direction:column;align-items:center;gap:.5rem;padding:2rem;display:flex}.chat-messages{flex:1;max-height:300px;margin-bottom:1rem;padding-right:.5rem;overflow-y:auto}.chat-message{border:1px solid #0000;border-radius:12px;margin-bottom:.75rem;padding:.65rem .75rem}.message-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.message-sender{color:var(--accent);font-size:.9rem;font-weight:600}.message-time{color:var(--muted-text);font-size:.8rem}.message-content{color:var(--text-color);word-wrap:break-word;line-height:1.4}.no-messages{text-align:center;color:var(--muted-text);flex-direction:column;align-items:center;gap:.5rem;padding:2rem;display:flex}.chat-input{align-items:flex-end;gap:.5rem;display:flex}.chat-input textarea{border:1px solid var(--border);background:var(--background);color:var(--text-color);resize:none;border-radius:8px;flex:1;min-height:40px;max-height:80px;padding:.75rem;font-family:inherit;font-size:.9rem}.chat-input textarea:focus{border-color:var(--accent);outline:none}.send-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;padding:.75rem;transition:background-color .2s;display:flex}.loading-screen,.error-screen{flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:50vh;display:flex}.papyrus-ai-chat-modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);overscroll-behavior:contain;background:#000c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.papyrus-ai-chat-modal-content{background:var(--paper);border:2px solid var(--border);border-radius:16px;flex-direction:column;width:95vw;max-width:none;height:90vh;animation:.3s ease-out modalSlideIn;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 40px #00000026}.papyrus-ai-chat-container{flex-direction:column;height:100%;display:flex}.papyrus-ai-chat-header{border-bottom:1px solid var(--border-light);background:var(--paper);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.papyrus-ai-chat-title{color:var(--text);align-items:center;gap:.75rem;font-size:1.25rem;font-weight:600;display:flex}.papyrus-ai-chat-close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:.5rem;transition:all .2s}.papyrus-ai-chat-messages{flex-direction:column;flex:1;gap:1rem;padding:1.5rem;display:flex;overflow-y:auto}.papyrus-ai-chat-placeholder{text-align:center;height:100%;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;display:flex}.papyrus-ai-chat-placeholder svg{opacity:.5;margin-bottom:1rem}.papyrus-ai-chat-placeholder small{opacity:.7;font-size:.9rem}.papyrus-ai-chat-message{gap:.75rem;margin-bottom:1rem;display:flex}.papyrus-ai-message-avatar{background:var(--bg);border:1px solid var(--border-light);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.papyrus-ai-message-content{flex-direction:column;gap:.25rem;max-width:70%;display:flex}.papyrus-ai-message-content p{word-wrap:break-word;border-radius:12px;margin:0;padding:.75rem 1rem;font-size:.9rem;line-height:1.4}.papyrus-ai-chat-message.error .papyrus-ai-message-content{border-color:var(--error,#ef4444)}.papyrus-ai-chat-message.error .papyrus-ai-message-content p{color:var(--error,#ef4444)}.papyrus-ai-message-footer{justify-content:space-between;align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.papyrus-ai-message-time{color:var(--text-muted);opacity:.7;font-size:.7rem}.papyrus-ai-message-status{border-radius:4px;padding:.2rem .4rem;font-size:.7rem;font-weight:500}.papyrus-ai-message-status.error{color:var(--error,#ef4444);background:#ef44441a}.papyrus-ai-message-action{color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.2rem;transition:all .2s;display:flex}.papyrus-ai-message-actions{align-items:center;gap:.25rem;display:flex}.papyrus-ai-message-action.retry{color:var(--error,#ef4444)}.papyrus-ai-message-action.retry:hover{color:var(--error,#ef4444);background:#ef44441a}.papyrus-ai-typing-indicator{background:var(--bg);border:1px solid var(--border-light);border-radius:12px 12px 12px 4px;align-self:flex-start;gap:4px;padding:.75rem 1rem;display:flex}.papyrus-ai-typing-indicator span{background:var(--text-muted);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite typing}.papyrus-ai-typing-indicator span:first-child{animation-delay:-.32s}.papyrus-ai-chat-input-area{border-top:1px solid var(--border-light);background:var(--paper);padding:1rem 1.5rem}.papyrus-ai-chat-input-container{align-items:flex-end;gap:.75rem;display:flex}.papyrus-ai-input-actions{flex-direction:column;align-items:center;gap:.25rem;min-width:60px;display:flex}.papyrus-ai-char-count{color:var(--text-muted);opacity:.7;font-size:.7rem;transition:color .2s}.papyrus-ai-char-count.warning{color:var(--warning,#f59e0b);opacity:1}.papyrus-ai-input-hints{flex-direction:column;gap:.25rem;margin-top:.75rem;display:flex}.papyrus-ai-chat-input{border:2px solid var(--border);background:var(--bg);color:var(--text);resize:none;border-radius:8px;flex:1;min-height:40px;max-height:120px;padding:.75rem;font-family:inherit;font-size:.9rem;transition:border-color .2s;overflow-y:auto}.papyrus-ai-chat-input:focus{border-color:var(--accent);outline:none}.papyrus-ai-chat-send-btn{border:2px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;padding:.75rem;transition:all .2s;display:flex}@media(max-width:768px){.papyrus-ai-chat-modal-content{border-radius:0;width:100vw;height:100vh}.papyrus-ai-chat-messages{padding:1rem}.papyrus-ai-message-content{max-width:85%}.papyrus-ai-chat-input-area{padding:1rem}}.auth-page{background:var(--hero-bg);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.auth-container{background:var(--paper);border-radius:var(--radius);border:1px solid var(--border);width:100%;max-width:480px;padding:3rem;box-shadow:0 8px 32px #0000001a}.auth-logo{justify-content:center;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.logo-icon{background:var(--gold);width:40px;height:40px;color:var(--paper);border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;font-weight:700;display:flex}.auth-header h1{color:var(--text-color);margin-bottom:.5rem;font-size:2rem;font-weight:600}.step-indicator{justify-content:center;align-items:center;gap:.5rem;margin-top:2rem;display:flex}.step{flex-direction:column;align-items:center;gap:.25rem;display:flex}.step-number{border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.step-label{color:var(--muted-text);font-size:.75rem;font-weight:500}.step-connector{background:var(--border);width:40px;height:2px}.input-group{align-items:center;display:flex;position:relative}.input-group svg{color:var(--muted-text);z-index:1;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.auth-container .input-group input{border:1px solid var(--border);border-radius:var(--radius);box-sizing:border-box;background:#fff;width:100%;padding:.75rem 3.25rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}.input-group input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #b985631a}.input-group .password-toggle{color:var(--muted-text);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.25rem;transition:color .2s;position:absolute;right:12px}.otp-input{text-align:center;letter-spacing:.5rem;font-size:1.5rem;font-weight:600;padding-left:1rem!important}.field-error{color:#dc2626;margin-top:.25rem;font-size:.875rem}.checkbox-label{color:var(--muted-text);cursor:pointer;align-items:flex-start;gap:.5rem;font-size:.875rem;display:flex}.checkbox-label input[type=checkbox]{accent-color:var(--accent);margin-top:.125rem}.auth-button{border-radius:var(--radius);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;transition:all .2s;display:flex}.auth-button.google{color:#3c4043;background:#fff;border:1px solid #dadce0;justify-content:center;align-items:center;gap:.75rem;font-weight:500;display:flex}.auth-error{color:#dc2626;border-radius:var(--radius);background:#fef2f2;border:1px solid #fecaca;margin-bottom:1.5rem;padding:.75rem;font-size:.875rem}.auth-footer{text-align:center;border-top:1px solid var(--border);padding-top:1.5rem}.link-button{color:var(--accent);cursor:pointer;background:0 0;border:none;font-weight:500;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;transition:text-decoration-color .2s}.auth-divider{color:var(--muted-text);align-items:center;margin:1.5rem 0;font-size:.875rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.otp-verification h3{color:var(--text-color);margin-bottom:.5rem;font-size:1.5rem;font-weight:600}.dev-otp-notice{color:#0369a1;border-radius:var(--radius);background:#f0f9ff;border:1px solid #bae6fd;margin-bottom:1.5rem;padding:1rem;font-size:.875rem}.dev-otp-notice code{background:#e0f2fe;border-radius:4px;padding:.125rem .375rem;font-family:Monaco,Menlo,monospace;font-weight:600}.otp-actions{gap:1rem;margin-top:2rem;display:flex}.resend-notice{color:var(--muted-text);margin-top:1.5rem;font-size:.875rem}.registration-complete h3{color:var(--text-color);margin-bottom:.5rem;font-size:1.5rem;font-weight:600}.user-summary{background:var(--features-bg);border-radius:var(--radius);margin-bottom:2rem;padding:1.5rem}.summary-item{color:var(--text-color);align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.loading-screen{background:var(--hero-bg);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;display:flex}.loading-spinner{border:4px solid var(--border);border-top:4px solid var(--accent);border-radius:50%;width:40px;height:40px;margin-bottom:1rem;animation:1s linear infinite spin}@media(max-width:480px){.auth-container{margin:1rem;padding:2rem 1.5rem}.auth-header h1{font-size:1.75rem}.step-indicator{margin-top:1.5rem}.step-number{width:28px;height:28px;font-size:.75rem}.otp-actions{flex-direction:column}.otp-actions .auth-button{width:100%}.user-summary{padding:1rem}.auth-container .input-group input{padding:.75rem 2rem .75rem 3rem}.input-group .password-toggle{right:8px}}.profile-page{background:var(--background);min-height:100vh;color:var(--text-color)}.profile-banner{background:linear-gradient(135deg,var(--accent)0%,var(--accent-warm)100%);height:200px;position:relative;overflow:hidden}.penrose-pattern{opacity:.3;width:100%;height:100%}.banner-overlay{background:linear-gradient(135deg,#b985631a,#b9856333);position:absolute;inset:0}.profile-header-section{background:var(--paper);border-radius:var(--radius);border:1px solid var(--border);justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding:2rem;display:flex;box-shadow:0 4px 16px #b9856314}.profile-details h1{color:var(--charcoal);font-size:2.5rem;font-weight:700;font-family:var(--font-sans);margin-bottom:.5rem}.profile-details .profile-email{color:var(--muted-text);margin-bottom:1rem;font-size:1.1rem}.profile-meta{flex-direction:column;gap:.5rem;display:flex}.meta-item{color:var(--muted-text);align-items:center;gap:.5rem;font-size:.95rem;display:flex}.profile-avatar-container{display:inline-block;position:relative}.profile-avatar{background:linear-gradient(135deg,var(--accent)0%,var(--accent-warm)100%);color:#fff;border:4px solid var(--paper);border-radius:50%;justify-content:center;align-items:center;width:120px;height:120px;font-size:3rem;font-weight:700;display:flex;box-shadow:0 8px 24px #b985634d}.profile-avatar-image{-o-object-fit:cover;object-fit:cover;border:4px solid var(--paper);border-radius:50%;width:120px;height:120px;box-shadow:0 8px 24px #b985634d}.profile-picture-upload{opacity:0;cursor:pointer;background:#00000080;border-radius:50%;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:absolute;inset:0}.upload-overlay{color:#fff;text-align:center;font-size:.8rem;font-weight:500}.file-input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.emoji-overlay{background:var(--paper);border:2px solid var(--border);border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;display:flex;position:absolute;bottom:8px;right:8px;box-shadow:0 2px 8px #00000026}.emoji-selector{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);z-index:1000;min-width:280px;margin-right:.5rem;padding:1rem;position:absolute;top:50%;right:100%;transform:translateY(-50%);box-shadow:0 8px 24px #00000026}.emoji-grid{grid-template-columns:repeat(6,1fr);gap:.5rem;display:grid}.emoji-option{border:2px solid var(--border);background:var(--background);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.2rem;transition:all .2s;display:flex}.emoji-option:hover{border-color:var(--accent);transform:scale(1.1)}.profile-section{background:var(--paper);border-radius:var(--radius);border:1px solid var(--border);margin-bottom:2rem;padding:2rem;box-shadow:0 4px 16px #b9856314}.profile-section .section-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.profile-section .section-header h2{color:var(--charcoal);font-size:1.5rem;font-weight:600;font-family:var(--font-sans)}.btn-edit,.btn-save,.btn-cancel{border-radius:var(--radius);cursor:pointer;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.9rem;font-weight:500;transition:all .2s;display:flex}.btn-cancel{color:var(--muted-text);border:1px solid var(--border);background:0 0}.edit-actions{gap:.5rem;display:flex}.bio-text{color:var(--text-color);font-size:1rem;line-height:1.6}.bio-input{border:1px solid var(--border);border-radius:var(--radius);background:var(--background);width:100%;color:var(--text-color);resize:vertical;min-height:80px;padding:1rem;font-family:inherit;font-size:1rem}.bio-input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #b985631a}.stat-card{background:var(--background);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:1rem;padding:1.5rem;transition:all .3s;display:flex}.stat-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 24px #b9856326}.stat-icon{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:50px;height:50px;display:flex}.stat-content h3{color:var(--charcoal);font-size:1.5rem;font-weight:700;font-family:var(--font-sans);margin-bottom:.25rem}.achievements-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;display:grid}.achievement-card{background:var(--background);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:1rem;padding:1rem;transition:all .3s;display:flex}.achievement-icon{background:var(--background);border:2px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.5rem;display:flex}.achievement-content h4{color:var(--charcoal);margin-bottom:.25rem;font-size:1rem;font-weight:600}.settings-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;display:grid}.setting-item{flex-direction:column;gap:.5rem;display:flex}.setting-item label{color:var(--text-color);font-size:.9rem;font-weight:500}.setting-value{background:var(--background);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-color);padding:.75rem;font-size:.95rem}.setting-input{border:1px solid var(--border);border-radius:var(--radius);background:var(--background);color:var(--text-color);padding:.75rem;font-family:inherit;font-size:.95rem;transition:border-color .2s}.setting-input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #b985631a}.profile-actions{border-top:1px solid var(--border);justify-content:center;padding-top:2rem;display:flex}.btn-logout{color:#fff;border-radius:var(--radius);cursor:pointer;background:#dc2626;border:none;align-items:center;gap:.5rem;padding:.75rem 2rem;font-size:1rem;font-weight:500;transition:all .2s;display:flex}.theme-description{align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.theme-icon{color:var(--accent);flex-shrink:0;margin-top:.25rem}.theme-description h3{color:var(--charcoal);margin-bottom:.25rem;font-size:1.125rem;font-weight:600}.theme-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;display:grid}.theme-option{border:2px solid var(--border);border-radius:var(--radius);background:var(--background);cursor:pointer;flex-direction:column;align-items:center;gap:.75rem;padding:1rem;transition:all .2s;display:flex;position:relative}.theme-option.active{border-color:var(--accent);background:var(--accent);background:linear-gradient(135deg,var(--accent)0%,var(--accent-warm)100%);color:#fff}.theme-preview{align-items:center;gap:.25rem;display:flex}.theme-color{border:1px solid #ffffff4d;border-radius:50%;width:16px;height:16px}.theme-info{color:var(--charcoal);align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;display:flex}.profile-menu{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);z-index:9999;width:14rem;margin-top:.5rem;padding:.75rem;position:absolute;top:100%;right:0;box-shadow:0 10px 25px #0000001a}.dropdown-arrow{border-left:6px solid #0000;border-right:6px solid #0000;border-bottom:6px solid var(--paper);width:0;height:0;position:absolute;top:-6px;right:1rem}.dropdown-arrow:before{content:"";border-left:7px solid #0000;border-right:7px solid #0000;border-bottom:7px solid var(--border);width:0;height:0;position:absolute;top:-1px;left:-7px}.profile-edit-actions{justify-content:center;gap:.75rem;display:flex}.btn-save,.btn-cancel{border-radius:var(--radius);cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.9rem;font-weight:600;transition:all .2s;display:flex}@media(max-width:768px){.profile-header-section{text-align:center;flex-direction:column;gap:1.5rem}.profile-avatar-section{margin-left:0}.profile-details h1{font-size:2rem}.stats-grid,.achievements-grid,.settings-grid{grid-template-columns:1fr}.emoji-grid{grid-template-columns:repeat(5,1fr)}}.app-header{animation:none;padding:0!important}@media(max-width:768px){.dashboard-content{grid-template-columns:1fr;gap:1rem}.auth-container{margin:1rem;padding:2rem}.header-content{text-align:center;flex-direction:column;gap:1rem}.stats-grid{grid-template-columns:1fr}.timer-circle{width:150px;height:150px}.timer-text .time{font-size:2rem}}.goals-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.goals-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.goal-actions{gap:.5rem;display:flex}.goal-description{color:var(--muted-text);min-height:2.5rem;margin:.5rem 0 .75rem}.goal-meta{color:var(--muted-text);flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.75rem;font-size:.9rem;display:flex}.goal-card.completed h3{color:var(--muted-text);text-decoration:line-through}.goal-card{background:var(--paper);border:2px solid var(--border);border-radius:16px;padding:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 4px 12px #b97a2b14}.goal-card:before{content:"";background:linear-gradient(90deg,var(--accent),var(--accent-warm));opacity:0;height:4px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.goal-card:hover{border-color:#b97a2b4d;transform:translateY(-4px);box-shadow:0 12px 32px #b97a2b26}.goal-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.goal-header h3{color:var(--charcoal);flex:1;margin:0;font-size:1.25rem;font-weight:600;line-height:1.3}.goal-actions{opacity:.7;align-items:center;gap:.35rem;transition:opacity .2s;display:flex}.goal-description{color:var(--muted-text);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin-bottom:1rem;font-size:.95rem;line-height:1.5;display:-webkit-box;overflow:hidden}.goal-meta{color:var(--muted-text);justify-content:space-between;align-items:center;margin-bottom:1rem;font-size:.9rem;display:flex}.goal-meta span{align-items:center;gap:.375rem;display:flex}.progress-bar{background:#b97a2b1a;border-radius:4px;width:100%;height:8px;margin-bottom:.5rem;overflow:hidden}.progress-fill{background:linear-gradient(90deg,var(--accent),var(--accent-warm));border-radius:4px;height:100%;transition:width .4s;position:relative}.progress-fill:after{content:"";background:linear-gradient(90deg,#0000,#ffffff4d,#0000);animation:2s infinite shimmer;position:absolute;inset:0}.progress-text{color:var(--muted-text);text-align:right;font-size:.85rem}.goal-status-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:12px;padding:.25rem .75rem;font-size:.75rem;font-weight:600;position:absolute;top:1rem;right:1rem}.goal-status-badge.completed{color:#fff;background:linear-gradient(135deg,#10b981,#059669)}.goal-status-badge.overdue{color:#fff;background:linear-gradient(135deg,#ef4444,#dc2626)}.goal-status-badge.near-deadline{color:#fff;background:linear-gradient(135deg,#f59e0b,#d97706)}.goal-status-badge-inline{text-transform:uppercase;letter-spacing:.5px;border-radius:12px;align-items:center;margin-left:.5rem;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.goal-status-badge-inline.completed{color:#fff;background:linear-gradient(135deg,#10b981,#059669)}.goal-status-badge-inline.overdue{color:#fff;background:linear-gradient(135deg,#ef4444,#dc2626)}.goal-status-badge-inline.near-deadline{color:#fff;background:linear-gradient(135deg,#f59e0b,#d97706)}.goal-done-toggle{align-items:center;gap:.35rem;display:inline-flex}.goal-done-toggle span{color:var(--muted-text);font-size:.85rem}.btn-primary{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem .9rem;display:inline-flex}.btn-secondary{background:var(--paper);color:var(--charcoal);border:1px solid var(--border);cursor:pointer;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem .9rem;display:inline-flex}.btn-icon{background:var(--paper);border:1px solid var(--border);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.btn-icon.btn-icon-small{opacity:.6;width:28px;height:28px;transition:all .2s}.goal-form-modal{z-index:5000;background:#00000059;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.goal-form{background:var(--paper);border:1px solid var(--border);border-radius:12px;width:100%;max-width:540px;padding:1.25rem;box-shadow:0 10px 25px #0000001f}.goal-form h2{color:var(--charcoal);margin-top:0}.form-group label{color:var(--charcoal);margin-bottom:.35rem;font-weight:600;display:block}.form-group input,.form-group textarea{border:1px solid var(--border);width:100%;color:var(--charcoal);background:#fff;border-radius:8px;padding:.55rem .7rem}.form-actions{justify-content:flex-end;gap:.5rem;margin-top:.5rem;display:flex}.empty-state{background:var(--paper);border:2px solid var(--border);text-align:center;color:var(--muted-text);border-radius:16px;padding:3rem 2rem;animation:.6s ease-out fadeInScale;box-shadow:0 4px 12px #b97a2b14}.empty-state .empty-icon{opacity:.7;margin-bottom:1.5rem;font-size:4rem}.empty-state h3{color:var(--charcoal);margin:0 0 .75rem;font-size:1.5rem;font-weight:600}.empty-state p{max-width:400px;margin:0 auto 2rem;line-height:1.6}.empty-actions{justify-content:center;margin-top:1rem;display:flex}.error-state{text-align:center;color:#dc2626;background:linear-gradient(135deg,#fef2f2,#fee2e2);border:2px solid #f87171;border-radius:16px;padding:3rem 2rem;animation:.6s ease-out fadeInScale;box-shadow:0 4px 12px #f8717126}.error-state .error-icon{margin-bottom:1.5rem;font-size:4rem}.error-state p{color:#b91c1c;max-width:400px;margin:0 auto 2rem;line-height:1.6}.loading-placeholder{text-align:center;color:#6b7280;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border:2px solid #d1d5db;border-radius:16px;padding:3rem 2rem;animation:.6s ease-out fadeInScale;box-shadow:0 2px 8px #0000000d}.loading-placeholder .loading-spinner{border:4px solid #e5e7eb;border-top:4px solid var(--accent);border-radius:50%;width:40px;height:40px;margin:0 auto 1rem;animation:1s linear infinite spin}.flashcards-page{background:var(--background);flex-direction:column;min-height:100vh;display:flex}.page-header{justify-content:space-between;align-items:center;margin-bottom:1.75rem;display:flex}.page-title{align-items:center;gap:1rem;display:flex}.page-title h1{color:var(--charcoal);font-size:2rem;font-weight:700}.page-subtitle{color:var(--muted-text);max-width:640px;margin-top:.35rem}.page-streak .streak-label{color:var(--muted-text);font-size:.8rem}.page-streak .streak-value{color:var(--accent);font-size:1.35rem;font-weight:700}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.25rem;display:grid}.stat-card{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem;display:flex}.stat-card .stat-copy h3{color:var(--charcoal);margin:.25rem 0;font-size:1.75rem}.stat-icon{background:var(--accent);color:#fff;border-radius:14px;justify-content:center;align-items:center;width:50px;height:50px;display:flex}.quick-actions{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin:1.25rem 0 1.75rem;padding:1.25rem 1.25rem 1.1rem}.quick-actions h2{color:var(--charcoal);margin:0 0 .9rem;font-size:1.1rem}.action-buttons{flex-wrap:wrap;gap:.65rem;display:flex}.action-btn{border-radius:var(--radius);border:1px solid var(--border);background:var(--paper);color:var(--text-color);cursor:pointer;box-shadow:var(--shadow-sm);align-items:center;gap:.5rem;padding:.65rem 1rem;font-weight:600;transition:all .2s;display:inline-flex}.action-btn.success{color:#fff;background:#16a34a;border-color:#16a34a}.section-header{justify-content:space-between;align-items:center;margin-bottom:.9rem;display:flex}.section-title{color:var(--charcoal);font-size:1.35rem;font-weight:600}.section-pill{color:var(--muted-text);border:1px solid var(--border);background:var(--paper);border-radius:999px;padding:.25rem .6rem;font-size:.75rem}.card-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;display:grid}.flashcard-card{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1rem;transition:transform .2s,box-shadow .2s}.flashcard-card .card-top{justify-content:space-between;align-items:flex-start;margin-bottom:.6rem;display:flex}.badge{border-radius:999px;align-items:center;gap:.35rem;padding:.25rem .6rem;font-size:.7rem;font-weight:600;display:inline-flex}.badge-easy{color:#065f46;background:#d1fae5}.badge-medium{color:var(--accent);background:#b985631f}.badge-hard{color:#991b1b;background:#fee2e2}.tag-chip{color:var(--accent);background:#b985631f;border-radius:999px;align-items:center;gap:.25rem;padding:.15rem .5rem;font-size:.7rem;font-weight:600;display:inline-flex}.meta-row{color:var(--muted-text);justify-content:space-between;align-items:center;font-size:.85rem;display:flex}.meta{align-items:center;gap:.35rem;display:inline-flex}.data-table{border-collapse:collapse;width:100%}.data-table thead th{background:var(--background);color:var(--muted-text);text-transform:uppercase;letter-spacing:.06em;text-align:left;z-index:1;padding:.75rem 1rem;font-size:.7rem;position:sticky;top:0}.data-table tbody td{border-top:1px solid var(--border);color:var(--charcoal);vertical-align:middle;padding:.85rem 1rem}.table-actions{justify-content:flex-end;align-items:center;gap:.5rem;display:inline-flex}.icon-btn{border:1px solid var(--border);background:var(--paper);color:var(--charcoal);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:.4rem .5rem;transition:all .2s;display:inline-flex}.icon-btn.danger:hover{color:#991b1b;background:#fee2e2;border-color:#ef4444}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--paper);border:2px solid var(--border);border-radius:16px;width:90%;max-width:520px;max-height:90vh;overflow:auto;box-shadow:0 20px 40px #00000026}.modal-title{color:var(--charcoal);font-size:1.2rem;font-weight:700}.modal-actions{justify-content:flex-end;gap:.5rem;padding:0 1.25rem 1.25rem;display:flex}.btn{cursor:pointer;border:1px solid var(--border);background:var(--paper);color:var(--charcoal);border-radius:10px;padding:.5rem .9rem;font-weight:600;transition:all .2s}.review-modal-content{background:var(--paper);border:2px solid var(--border);border-radius:16px;flex-direction:column;width:95vw;max-width:980px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 24px 56px #0003}.review-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.qa-card{background:var(--background);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1rem}.review-footer{border-top:1px solid var(--border);background:var(--paper);justify-content:center;align-items:center;gap:.75rem;padding:.9rem;display:flex}.rating-btn{color:#fff;cursor:pointer;min-width:110px;box-shadow:var(--shadow-sm);border:none;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;padding:.75rem .85rem;font-weight:700;transition:transform .15s,filter .15s;display:flex}.rating-btn:hover{filter:brightness(.95);transform:translateY(-1px)}.shortcuts-hint{text-align:center;color:var(--muted-text);margin-top:.5rem;font-size:.8rem}.input,.textarea,.select,.text-input{border:1px solid var(--border);border-radius:var(--radius);background:var(--background);width:100%;color:var(--charcoal);padding:.6rem .75rem;font-family:inherit;font-size:.95rem}.center-screen{flex-direction:column;justify-content:center;align-items:center;gap:.75rem;min-height:60vh;display:flex}.spinner{border:3px solid #00000014;border-top-color:var(--accent);border-radius:50%;width:44px;height:44px;animation:1s linear infinite spin}.appear-up{animation:.35s ease-out both slideInUp}.appear-scale{animation:.35s ease-out both fadeInScale}.skeleton{background:var(--background);border-radius:8px;position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg,#0000,#0000000f,#0000);animation:1.4s infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}.skeleton-line{background:var(--background);border-radius:6px;height:12px;position:relative;overflow:hidden}.skeleton-line:after{content:"";background:linear-gradient(90deg,#0000,#0000000f,#0000);animation:1.4s infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}.stat-card.skeleton{border:1px solid var(--border);background:var(--paper);justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem;display:flex}.stat-card.skeleton .stat-copy{flex:1;gap:8px;display:grid}.stat-card.skeleton .stat-icon{background:var(--background);border-radius:14px;width:50px;height:50px;position:relative;overflow:hidden}.stat-card.skeleton .stat-icon:after{content:"";background:linear-gradient(90deg,#0000,#0000000f,#0000);animation:1.4s infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}.table-skeleton-row{border-top:1px solid var(--border);grid-template-columns:2fr .6fr .6fr .8fr .6fr;gap:1rem;padding:.75rem 0;display:grid}.plans-page{background:var(--background);min-height:100vh;padding:2rem 0}.page-header h1{color:var(--charcoal);font-size:2.5rem;font-weight:700;font-family:var(--font-sans);margin-bottom:.5rem}.section-header h2{color:var(--charcoal);margin:0;font-size:1.8rem;font-weight:600}.current-plan-card{border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;padding:2rem;display:flex}.plan-info{align-items:center;gap:1.5rem;display:flex}.plan-icon{background:linear-gradient(135deg,var(--primary),var(--primary-light));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;display:flex}.plan-details h3{color:var(--charcoal);margin:0 0 .25rem;font-size:1.5rem;font-weight:600}.plan-price{color:var(--primary);margin:0 0 .25rem;font-size:1.2rem;font-weight:500}.plan-period{color:var(--muted-text);margin:0;font-size:.9rem}.billing-tabs{border-bottom:1px solid var(--border);gap:0;margin-bottom:2rem;display:flex}.billing-tabs .tab{color:var(--muted-text);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:.75rem 1.5rem;font-weight:500;transition:all .3s}.billing-table{border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--border);background:#fff;overflow:hidden}.table-header{background:var(--background-secondary);border-bottom:1px solid var(--border);color:var(--charcoal);text-transform:uppercase;letter-spacing:.5px;grid-template-columns:1fr 2fr 1fr 1fr 100px;gap:1rem;padding:1rem 2rem;font-size:.9rem;font-weight:600;display:grid}.table-row{border-bottom:1px solid var(--border);grid-template-columns:1fr 2fr 1fr 1fr 100px;align-items:center;gap:1rem;padding:1.5rem 2rem;transition:background-color .2s;display:grid}.col-date{color:var(--charcoal);font-weight:500}.col-amount{color:var(--primary);font-weight:600}.col-status{align-items:center;gap:.5rem;display:flex}.col-actions{justify-content:center;gap:.5rem;display:flex}.col-actions a{color:var(--muted-text);transition:color .2s}.invoices-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;display:grid}.invoice-card{border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--border);background:#fff;padding:1.5rem;transition:transform .2s,box-shadow .2s}.invoice-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.invoice-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.invoice-number{color:var(--charcoal);font-size:1.1rem;font-weight:600}.invoice-amount{color:var(--primary);margin-bottom:1rem;font-size:1.3rem;font-weight:700}.invoice-actions{gap:.75rem;display:flex}.btn-sm{border-radius:var(--radius-sm);align-items:center;gap:.25rem;padding:.5rem 1rem;font-size:.85rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.empty-state{text-align:center;color:var(--muted-text);padding:3rem 2rem}.empty-state svg{opacity:.5;margin-bottom:1rem}.empty-state h3{color:var(--charcoal);margin-bottom:.5rem;font-size:1.2rem;font-weight:600}.plans-modal{width:90vw;max-width:1000px;max-height:90vh;overflow-y:auto}.plans-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:2rem;display:grid}.plan-card{border-radius:var(--radius);box-shadow:var(--shadow-sm);background:#fff;border:2px solid #0000;padding:2rem;transition:all .3s;position:relative}.plan-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.plan-badge{background:var(--primary);color:#fff;text-transform:uppercase;letter-spacing:.5px;border-radius:20px;padding:.25rem 1rem;font-size:.8rem;font-weight:600;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.plan-header .plan-icon{background:linear-gradient(135deg,var(--primary),var(--primary-light));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;margin:0 auto 1rem;display:flex}.plan-header h3{color:var(--charcoal);margin:0 0 1rem;font-size:1.5rem;font-weight:600}.plan-price{justify-content:center;align-items:baseline;gap:.25rem;margin-bottom:1rem;display:flex}.plan-price .amount{color:var(--primary);font-size:2rem;font-weight:700}.plan-features{margin:0 0 2rem;padding:0;list-style:none}.plan-features li{color:var(--text-color);align-items:center;gap:.75rem;margin-bottom:.75rem;font-size:.9rem;display:flex}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.modal-content{border-radius:var(--radius);box-shadow:var(--shadow-xl);background:#fff;max-width:90vw;max-height:90vh;position:relative;overflow-y:auto}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:2rem;display:flex}.modal-header h2{color:var(--charcoal);margin:0;font-size:1.5rem;font-weight:600}.modal-close{color:var(--muted-text);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:.5rem;transition:all .2s}@media(max-width:768px){.plans-page .container{padding:0 1rem}.current-plan-card{text-align:center;flex-direction:column;gap:1.5rem}.plans-grid{grid-template-columns:1fr}.billing-table{overflow-x:auto}.table-header,.table-row{grid-template-columns:1fr 1.5fr 1fr 1fr 80px;min-width:600px}.invoices-grid{grid-template-columns:1fr}.modal-overlay{padding:1rem}.plans-modal{width:100%;max-height:100vh}}@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-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-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-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}@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}:root{--bg: #F7F2EA;--paper: #FCF8F3;--charcoal: #3A2F2A;--gold: #B98563;--speck: rgba(0,0,0,.04);--border: #E7DED5;--hero-bg: linear-gradient(135deg, #FCF8F3 0%, #F7F2EA 100%);--features-bg: #F1E8DA;--pricing-bg: linear-gradient(135deg, #F3E7D8 0%, #E7D8C7 100%);--testimonials-bg: #FCF8F3;--trust-bg: #F7F2EA;--newsletter-bg: linear-gradient(135deg, #3A2F2A 0%, #2C2420 100%);--accent-warm: #B98563;--accent-cool: #6E7F66;--accent-soft: #D9A27A;--accent-muted: #A28E7B;--background: var(--bg);--text-color: var(--charcoal);--muted-text: #6E5E54;--accent: var(--gold);--font-sans: "IM Fell English SC", "Cormorant Garamond", Georgia, serif;--radius: 12px}*{margin:0;padding:0;box-sizing:border-box}body{background-color:var(--background);color:var(--text-color);font-family:var(--font-sans);line-height:1.6;overflow-x:hidden}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse{0%,to{opacity:.3}50%{opacity:.7}}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes drawLine{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes badge{0%,to{transform:scale(1) rotate(-2deg)}50%{transform:scale(1.05) rotate(0)}}@keyframes gentleFloat{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-5px) rotate(1deg)}}header{display:flex;justify-content:space-between;align-items:center;padding:2rem 4rem;animation:slideInUp .6s ease-out}header.app-header{padding:0;margin-bottom:8px;animation:none}nav ul{display:flex;list-style:none;gap:2rem;align-items:center}nav ul li{display:flex;align-items:center}nav a{color:var(--text-color);text-decoration:none;font-weight:500;position:relative;transition:color .2s ease;display:inline-flex;align-items:center;height:40px}nav a:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--accent);transition:width .3s ease}nav a:hover:after{width:100%}.button-cta{background:var(--text-color);color:#fff;padding:.5rem 1rem;border-radius:var(--radius);font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);border:none;cursor:pointer;position:relative;display:inline-flex;align-items:center;height:40px;overflow:hidden}.button-cta:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:var(--accent);border-radius:50%;transform:translate(-50%,-50%);transition:width .3s,height .3s;z-index:-1}.button-cta:hover:before{width:300px;height:300px}.button-cta:hover{transform:translateY(-2px);box-shadow:0 8px 25px #1a1a1a33}.mobile-container{padding-left:1.25rem;padding-right:1.25rem}.mobile-section{padding-left:1rem;padding-right:1rem}.mobile-only{display:none}.mobile-hide{display:initial}@media(max-width:768px){.mobile-container{padding-left:1.25rem;padding-right:1.25rem}.mobile-section{padding-left:1rem;padding-right:1rem}.mobile-only{display:initial}.mobile-hide{display:none}header{padding:1.25rem 1rem}}.hero{display:flex;justify-content:space-between;align-items:center;padding:4rem;gap:3rem;min-height:70vh;background:var(--hero-bg)}.hero-text{max-width:600px;animation:slideInUp .8s ease-out .2s both}.hero h1{font-size:3rem;font-weight:700;letter-spacing:-.02em;margin-bottom:1.5rem;animation:slideInUp .6s ease-out .4s both}.hero h1 u{text-decoration-thickness:3px;text-underline-offset:8px;text-decoration-color:var(--accent);animation:drawLine 1s ease-out 1.2s both}.hero p{color:var(--muted-text);font-size:1.1rem;max-width:500px;animation:slideInUp .6s ease-out .6s both}.hero-graphic{width:400px;height:300px;position:relative;animation:fadeInScale 1s ease-out .8s both}.hero-graphic svg{width:100%;height:100%}.hero-carousel{width:480px;height:360px;position:relative;animation:fadeInScale 1s ease-out .8s both}.carousel-container{position:relative;width:100%;height:100%;overflow:hidden;border-radius:16px;box-shadow:0 12px 32px #5a524814}.carousel-slide{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;transform:translateY(20px) scale(.95);transition:all .8s cubic-bezier(.4,0,.2,1);pointer-events:none}.carousel-slide.active{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.app-screenshot{width:100%;height:100%;background:var(--paper);border-radius:16px;border:1px solid rgba(196,168,117,.3);overflow:hidden;box-shadow:0 4px 16px #c4a8750f}.screenshot-header{background:var(--charcoal);padding:12px 16px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.1)}.app-window-controls{display:flex;gap:6px}.window-control{width:12px;height:12px;border-radius:50%}.window-control.red{background:#ff5f57}.window-control.yellow{background:#ffbd2e}.window-control.green{background:#28ca42}.app-title{color:#fff;font-size:14px;font-weight:500;font-family:var(--font-sans)}.screenshot-content{padding:20px;height:calc(100% - 57px);overflow:hidden}.flashcard-interface{height:100%;display:flex;flex-direction:column;gap:16px}.flashcard{background:#fff;border-radius:12px;padding:24px;box-shadow:0 4px 12px #0000001a;border:1px solid rgba(185,122,43,.2)}.flashcard-front h3{color:var(--charcoal);font-size:18px;font-weight:600;margin:0;text-align:center}.flashcard-actions{display:flex;justify-content:center;margin-top:16px}.flashcard-btn{background:var(--gold);color:var(--charcoal);border:none;padding:8px 16px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.flashcard-btn:hover{background:var(--charcoal);color:#fff}.ai-insight{background:#b97a2b1a;border:1px solid rgba(185,122,43,.2);border-radius:12px;padding:12px;display:flex;align-items:center;gap:8px}.ai-insight p{margin:0;font-size:14px;color:var(--charcoal)}.study-room-interface{height:100%;display:flex;flex-direction:column;gap:16px}.room-header{display:flex;justify-content:space-between;align-items:center}.room-header h4{color:var(--charcoal);font-size:16px;font-weight:600;margin:0}.online-count{background:var(--gold);color:var(--charcoal);padding:4px 8px;border-radius:12px;font-size:12px;font-weight:600}.participants{display:flex;gap:12px}.participant{display:flex;flex-direction:column;align-items:center;gap:4px}.participant-avatar{width:32px;height:32px;background:var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--charcoal);font-weight:600;font-size:14px}.participant.active .participant-avatar{border:2px solid var(--accent)}.participant-status{font-size:10px;color:var(--muted-text);text-align:center}.room-chat{flex:1;background:#f3ead480;border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:8px}.chat-message{font-size:12px;color:var(--charcoal)}.chat-user{font-weight:600;color:var(--gold)}.analytics-interface{height:100%;display:flex;flex-direction:column;gap:16px}.analytics-header{display:flex;justify-content:space-between;align-items:center}.analytics-header h4{color:var(--charcoal);font-size:16px;font-weight:600;margin:0}.time-range{font-size:12px;color:var(--muted-text)}.progress-chart{display:flex;flex-direction:column;gap:12px}.chart-bar{display:flex;align-items:center;gap:12px}.bar-fill{height:8px;background:var(--gold);border-radius:4px;transition:width .8s ease}.bar-label{font-size:12px;color:var(--charcoal);font-weight:500;min-width:80px}.study-streak{display:flex;align-items:center;gap:12px;background:#b97a2b1a;border-radius:12px;padding:12px}.streak-icon{font-size:24px}.streak-info{display:flex;flex-direction:column}.streak-count{font-size:20px;font-weight:700;color:var(--charcoal)}.streak-label{font-size:12px;color:var(--muted-text)}.pomodoro-interface{height:100%;display:flex;flex-direction:column;gap:20px;align-items:center}.timer-display{flex:1;display:flex;align-items:center;justify-content:center}.timer-circle{width:120px;height:120px;border-radius:50%;background:conic-gradient(var(--gold) 75%,rgba(185,122,43,.2) 75%);display:flex;align-items:center;justify-content:center;position:relative}.timer-progress{position:absolute;width:100%;height:100%;border-radius:50%;background:var(--paper);clip-path:polygon(50% 50%,50% 0%,100% 0%,100% 100%,0% 100%,0% 50%)}.timer-text{text-align:center;z-index:1}.timer-text .time{font-size:24px;font-weight:700;color:var(--charcoal);line-height:1}.timer-text .session-type{font-size:12px;color:var(--muted-text);margin-top:4px}.timer-controls{display:flex;gap:8px}.timer-btn{padding:8px 16px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.timer-btn.start{background:var(--gold);color:var(--charcoal)}.timer-btn.pause{background:var(--muted-text);color:#fff}.timer-btn.reset{background:transparent;color:var(--muted-text);border:1px solid var(--muted-text)}.session-stats{display:flex;gap:20px}.stat{text-align:center}.stat-number{font-size:16px;font-weight:700;color:var(--charcoal)}.stat-label{font-size:10px;color:var(--muted-text);margin-top:2px}.carousel-indicators{position:absolute;bottom:16px;left:50%;transform:translate(-50%);display:flex;gap:8px}.indicator{width:10px;height:10px;border-radius:50%;background:#ffffff80;cursor:pointer;transition:all .3s ease;border:2px solid transparent}.indicator.active{background:var(--gold);transform:scale(1.2);box-shadow:0 0 8px #b97a2b99}.indicator:hover{background:#fffc;transform:scale(1.1)}.floating{animation:float 3s ease-in-out infinite}.floating:nth-child(2){animation-delay:-1s}.floating:nth-child(3){animation-delay:-2s}.hero-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;margin:4rem 0;animation:slideInUp .8s ease-out 1s both}.hero-card{background:var(--paper);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(196,168,117,.4);border-radius:16px;padding:2rem;transition:all .4s cubic-bezier(.4,0,.2,1);cursor:pointer;position:relative;overflow:hidden;box-shadow:0 2px 12px #c4a87514}.hero-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(185,122,43,.1),transparent);transition:left .6s}.hero-card:hover:before{left:100%}.hero-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 12px 32px #c4a87526;border-color:#c4a87599;animation:gentleFloat 3s ease-in-out infinite}.hero-card-icon{width:64px;height:64px;background:linear-gradient(135deg,var(--gold),#d4b889);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;transition:all .3s ease;animation:badge 4s ease-in-out infinite;box-shadow:0 2px 8px #c4a87533}.hero-card:hover .hero-card-icon{transform:rotate(5deg) scale(1.15);box-shadow:0 4px 16px #c4a8754d}.hero-card h3{font-size:1.4rem;font-weight:600;margin-bottom:.75rem;color:var(--charcoal);font-family:var(--font-sans)}.hero-card p{color:var(--muted-text);line-height:1.7;font-size:1rem}.container{max-width:1200px;margin:0 auto}.section-features-heading{padding:2rem 4rem 0}.section-core-features{padding:2rem 4rem}.feature-card{background:#ffffffb3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(26,26,26,.1);border-radius:var(--radius);padding:2rem;transition:all .3s cubic-bezier(.4,0,.2,1);animation:fadeInScale .6s ease-out both}.feature-card:hover{transform:translateY(-6px);box-shadow:0 15px 35px #0000001a;border-color:#e05a3433}.feature-icon{width:48px;height:48px;background:var(--accent);border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem;transition:all .3s ease}.feature-card:hover .feature-icon{transform:scale(1.1) rotate(5deg);box-shadow:0 8px 20px #e05a344d}.hero-stats{display:flex;gap:1.5rem;margin-top:1.5rem}.hero-stats .stat{background:var(--paper);padding:.75rem 1rem;border-radius:10px;border:1px solid rgba(212,176,138,.2);display:flex;flex-direction:column;align-items:center}.what-is-content{display:grid;grid-template-columns:1fr 360px;gap:2rem;align-items:start}.what-is-highlights{display:flex;flex-direction:column;gap:1rem}.highlight{display:flex;gap:.75rem;align-items:center;background:var(--paper);padding:.75rem 1rem;border-radius:10px;border:1px solid rgba(212,176,138,.18)}.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.step{background:var(--paper);border:1px solid rgba(212,176,138,.12);border-radius:12px;padding:1.25rem;text-align:center}.step-number{color:var(--gold);font-weight:700;font-size:1.2rem;margin-bottom:.5rem}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem;margin-top:1.5rem}.feature-benefits{list-style:none;padding-left:0;margin-top:1rem}.feature-benefits li{margin-bottom:.5rem}.cta-primary{background:var(--gold);color:var(--charcoal);padding:.85rem 1.25rem;border-radius:10px;border:none}.cta-secondary{background:transparent;border:1px solid var(--border);padding:.85rem 1.25rem;border-radius:10px}@media(max-width:768px){.what-is-content{grid-template-columns:1fr}.steps-grid{grid-template-columns:1fr 1fr}.hero-stats{flex-direction:column}.landing-page header{padding:1rem}.landing-page .logo{font-size:1.25rem}.landing-page .logo-icon{width:32px;height:32px;font-size:1rem}}.logo{display:flex;align-items:center;gap:.5rem;font-size:1.5rem;font-weight:600}.logo-icon{width:40px;height:40px;background:var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--paper);font-weight:700;font-size:1.2rem;transition:all .3s ease}.logo:hover .logo-icon{transform:rotate(5deg) scale(1.1)}.footer{background:var(--text-color);color:#fff;padding:3rem 4rem;margin-top:4rem;text-align:center;animation:slideInUp .8s ease-out 1.2s both}.footer-content{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1.5fr;gap:2rem;margin-bottom:2rem;text-align:left}.footer-column h4{color:var(--gold);font-size:1.1rem;font-weight:600;margin-bottom:1rem;font-family:var(--font-sans)}.footer-column ul{list-style:none;padding:0;margin:0}.footer-column li{margin-bottom:.5rem}.footer-column a{color:#fffc;text-decoration:none;transition:all .3s ease;font-size:.95rem}.footer-column a:hover{color:var(--gold);transform:translate(4px)}.footer-logo{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.footer-logo .logo-icon{width:40px;height:40px;background:var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--paper);font-weight:700;font-size:1.2rem}.footer-logo span{font-size:1.5rem;font-weight:700;color:var(--gold);font-family:var(--font-sans)}.footer p{color:#fffc;line-height:1.6;margin-bottom:1rem;font-size:.95rem}.social-links{display:flex;gap:1rem}.social-link{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#ffffff1a;border-radius:50%;color:#fff;text-decoration:none;transition:all .3s ease;font-size:1.2rem}.social-link:hover{background:var(--gold);transform:translateY(-2px);box-shadow:0 4px 12px #b97a2b66}.contact-info p{margin-bottom:.5rem;color:#fffc;font-size:.95rem}.app-links{display:flex;gap:1rem;margin-top:1rem}.app-button{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#ffffff1a;color:#fff;text-decoration:none;border-radius:8px;font-size:.9rem;font-weight:500;transition:all .3s ease}.app-button:hover{background:var(--gold);transform:translateY(-2px)}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:2rem}.footer-bottom-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.footer-bottom p{color:#fff9;font-size:.9rem;margin:0}.footer-badges{display:flex;gap:1rem;flex-wrap:wrap}.badge{background:#ffffff1a;color:#fffc;padding:.25rem .75rem;border-radius:12px;font-size:.8rem;font-weight:500;display:flex;align-items:center;gap:.25rem}.bg-decoration{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:-1;opacity:.2}.bg-circle{position:absolute;border-radius:50%;background:var(--accent);animation:float 6s ease-in-out infinite}.bg-circle-1{width:200px;height:200px;top:10%;left:-50px;animation-delay:0s}.bg-circle-2{width:150px;height:150px;top:60%;right:-75px;animation-delay:-2s}.bg-circle-3{width:100px;height:100px;bottom:20%;left:20%;animation-delay:-4s}.pricing-section{background:var(--pricing-bg);padding:4rem;margin-top:6rem;position:relative}.pricing-section:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 10%,rgba(185,122,43,.08),transparent 20%);pointer-events:none}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;max-width:1200px;margin:3rem auto 0;position:relative}.pricing-card{background:var(--paper);border:3px solid var(--gold);border-radius:20px;padding:2.5rem;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 8px 24px #b97a2b26;animation:fadeInScale .6s ease-out both}.pricing-card:nth-child(1){animation-delay:.1s}.pricing-card:nth-child(2){animation-delay:.2s;border-width:4px;border-color:var(--charcoal);transform:scale(1.05);box-shadow:0 12px 32px #2b272533}.pricing-card:nth-child(2):before{content:"MOST POPULAR";position:absolute;top:20px;right:-45px;background:var(--charcoal);color:var(--paper);padding:8px 60px;font-size:.75rem;font-weight:700;transform:rotate(45deg);letter-spacing:1px}.pricing-card:hover{transform:translateY(-12px) scale(1.02);box-shadow:0 24px 48px #b97a2b4d}.pricing-card:nth-child(2):hover{transform:translateY(-12px) scale(1.07)}.pricing-header{text-align:center;margin-bottom:2rem}.pricing-badge{display:inline-block;background:var(--gold);color:var(--paper);padding:6px 16px;border-radius:20px;font-size:.85rem;font-weight:600;margin-bottom:1rem;font-family:var(--font-sans);animation:badge 3s ease-in-out infinite}.pricing-title{font-size:2rem;font-weight:700;color:var(--charcoal);margin-bottom:.5rem;font-family:var(--font-sans)}.pricing-subtitle{color:var(--muted-text);font-size:1rem;margin-bottom:1.5rem}.pricing-price{text-align:center;margin-bottom:2rem}.pricing-amount{font-size:3.5rem;font-weight:700;color:var(--charcoal);font-family:var(--font-sans);line-height:1}.pricing-period{color:var(--muted-text);font-size:1rem;margin-top:.5rem}.pricing-features{list-style:none;margin:2rem 0}.pricing-features li{padding:.875rem 0;color:var(--muted-text);display:flex;align-items:center;gap:.75rem;font-size:1rem;transition:all .2s ease}.pricing-features li:hover{color:var(--charcoal);transform:translate(4px)}.pricing-features li:before{content:"✓";color:var(--gold);font-weight:700;font-size:1.2rem;display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:#b97a2b1a;border-radius:50%;flex-shrink:0}.pricing-button{width:100%;background:var(--charcoal);color:var(--paper);padding:1rem 2rem;border-radius:var(--radius);font-weight:600;font-size:1.1rem;border:none;cursor:pointer;transition:all .3s ease;font-family:var(--font-sans);margin-top:1.5rem;position:relative;overflow:hidden}.pricing-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(185,122,43,.3),transparent);transition:left .5s}.pricing-button:hover:before{left:100%}.pricing-button:hover{background:var(--gold);color:var(--charcoal);transform:translateY(-2px);box-shadow:0 8px 20px #b97a2b66}.pricing-card:nth-child(2) .pricing-button{background:var(--gold);color:var(--charcoal)}.pricing-card:nth-child(2) .pricing-button:hover{background:var(--charcoal);color:var(--paper)}.pricing-note{text-align:center;color:var(--muted-text);margin-top:2rem;font-size:.95rem}.faq-section{background:var(--features-bg);padding:4rem;margin-top:4rem}.faq-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem;max-width:1200px;margin:0 auto}.faq-item{background:var(--paper);border:2px solid var(--gold);border-radius:var(--radius);padding:2rem;transition:all .3s ease;animation:fadeInScale .6s ease-out both;box-shadow:0 4px 16px #b97a2b1a}.faq-item:nth-child(1){animation-delay:.1s}.faq-item:nth-child(2){animation-delay:.2s}.faq-item:nth-child(3){animation-delay:.3s}.faq-item:nth-child(4){animation-delay:.4s}.faq-item:nth-child(5){animation-delay:.5s}.faq-item:nth-child(6){animation-delay:.6s}.faq-item:hover{transform:translateY(-4px);box-shadow:0 12px 24px #b97a2b33;border-color:var(--charcoal)}.faq-item h3{color:var(--charcoal);font-size:1.2rem;font-weight:600;margin-bottom:1rem;font-family:var(--font-sans)}.faq-item p{color:var(--muted-text);line-height:1.6;margin:0}.testimonials-section{background:var(--testimonials-bg);padding:4rem;margin-top:4rem}.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;max-width:1200px;margin:0 auto}.testimonial-card{background:var(--paper);border:2px solid var(--gold);border-radius:var(--radius);padding:2rem;transition:all .3s ease;animation:fadeInScale .6s ease-out both;box-shadow:0 4px 16px #b97a2b1a;position:relative}.testimonial-card:nth-child(1){animation-delay:.1s}.testimonial-card:nth-child(2){animation-delay:.2s}.testimonial-card:nth-child(3){animation-delay:.3s}.testimonial-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #b97a2b33;border-color:var(--charcoal)}.testimonial-stars{color:var(--gold);font-size:1.2rem;margin-bottom:1rem;text-align:center}.testimonial-card p{color:var(--muted-text);line-height:1.6;margin-bottom:1.5rem;font-style:italic;text-align:center}.testimonial-author{display:flex;align-items:center;gap:1rem;justify-content:center}.author-avatar{width:50px;height:50px;background:var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--paper);font-weight:700;font-size:1.2rem;flex-shrink:0}.author-name{font-weight:600;color:var(--charcoal);margin-bottom:.25rem;font-family:var(--font-sans)}.author-title{color:var(--muted-text);font-size:.9rem}.trust-section{background:var(--trust-bg);padding:3rem 4rem;margin-top:2rem}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;max-width:1200px;margin:0 auto}.trust-item{text-align:center;padding:1.5rem;background:var(--paper);border-radius:var(--radius);transition:all .3s ease;animation:fadeInScale .6s ease-out both;box-shadow:0 4px 16px #b97a2b1a}.trust-item:nth-child(1){animation-delay:.1s}.trust-item:nth-child(2){animation-delay:.2s}.trust-item:nth-child(3){animation-delay:.3s}.trust-item:nth-child(4){animation-delay:.4s}.trust-item:hover{transform:translateY(-4px);box-shadow:0 12px 24px #b97a2b33}.trust-icon{font-size:2.5rem;margin-bottom:1rem;display:block;color:var(--accent-warm)}.trust-item:nth-child(2) .trust-icon{color:var(--accent-cool)}.trust-item:nth-child(3) .trust-icon{color:var(--accent-soft)}.trust-item:nth-child(4) .trust-icon{color:var(--accent-muted)}.trust-item h4{color:var(--charcoal);font-size:1.1rem;font-weight:600;margin-bottom:.5rem;font-family:var(--font-sans)}.trust-item p{color:var(--muted-text);margin:0;font-size:.95rem}.newsletter-section{background:var(--newsletter-bg);padding:3rem 4rem;margin-top:2rem;color:#fff}.newsletter-content{max-width:600px;margin:0 auto;text-align:center}.newsletter-content h2{font-size:2rem;font-weight:700;margin-bottom:1rem;font-family:var(--font-sans)}.newsletter-content p{margin-bottom:2rem;opacity:.9;font-size:1.1rem}.newsletter-form{display:flex;gap:1rem;margin-bottom:1rem;max-width:500px;margin-left:auto;margin-right:auto}.newsletter-input{flex:1;padding:.75rem 1rem;border:2px solid rgba(255,255,255,.2);border-radius:8px;background:#ffffff1a;color:#fff;font-size:1rem}.newsletter-input::-moz-placeholder{color:#ffffffb3}.newsletter-input::placeholder{color:#ffffffb3}.newsletter-input:focus{outline:none;border-color:var(--gold);background:#ffffff26}.newsletter-button{padding:.75rem 1.5rem;background:var(--gold);color:var(--charcoal);border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:var(--font-sans)}.newsletter-button:hover{background:var(--paper);transform:translateY(-2px);box-shadow:0 4px 12px #b97a2b66}.newsletter-note{font-size:.9rem;opacity:.8;margin:0}.core-features{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;max-width:1000px;margin:2rem auto 0;background:var(--features-bg);padding:3rem;border-radius:16px;border:1px solid rgba(212,176,138,.2)}.core-feature{text-align:center;padding:2rem 1rem;background:var(--paper);border-radius:var(--radius);border:1px solid rgba(196,168,117,.3);transition:all .3s ease;animation:fadeInScale .6s ease-out both;box-shadow:0 2px 12px #c4a8750f}.core-feature:nth-child(1){animation-delay:.1s}.core-feature:nth-child(2){animation-delay:.2s}.core-feature:nth-child(3){animation-delay:.3s}.core-feature:nth-child(4){animation-delay:.4s}.core-feature:nth-child(5){animation-delay:.5s}.core-feature:nth-child(6){animation-delay:.6s}.core-feature:nth-child(7){animation-delay:.7s}.core-feature:nth-child(8){animation-delay:.8s}.core-feature:nth-child(9){animation-delay:.9s}.core-feature:hover{transform:translateY(-4px);box-shadow:0 8px 20px #c4a8751f;border-color:#c4a87580}.core-feature-icon{font-size:3.5rem;margin-bottom:1.5rem;display:block;filter:drop-shadow(0 2px 6px rgba(196,168,117,.15));transition:all .3s ease;color:var(--accent-warm)}.core-feature:nth-child(2) .core-feature-icon,.core-feature:nth-child(5) .core-feature-icon,.core-feature:nth-child(8) .core-feature-icon{color:var(--accent-cool)}.core-feature:nth-child(3) .core-feature-icon,.core-feature:nth-child(6) .core-feature-icon,.core-feature:nth-child(9) .core-feature-icon{color:var(--accent-soft)}.core-feature-icon svg{width:48px;height:48px;stroke:currentColor;fill:none}.core-feature:hover .core-feature-icon{transform:scale(1.1) rotate(5deg);filter:drop-shadow(0 4px 10px rgba(196,168,117,.2));color:var(--charcoal)}.core-feature h3{color:var(--charcoal);font-size:1.4rem;font-weight:600;margin-bottom:.75rem;font-family:var(--font-sans)}.core-feature p{color:var(--muted-text);line-height:1.6;margin:0;font-size:.95rem}.feature-card{background:var(--paper);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid var(--gold);border-radius:var(--radius);padding:2rem;transition:all .3s cubic-bezier(.4,0,.2,1);animation:fadeInScale .6s ease-out both;box-shadow:0 4px 16px #b97a2b1a}.feature-card:nth-child(1){animation-delay:.1s}.feature-card:nth-child(2){animation-delay:.2s}.feature-card:nth-child(3){animation-delay:.3s}.feature-card:hover{transform:translateY(-6px);box-shadow:0 15px 35px #b97a2b40;border-color:var(--charcoal)}.feature-icon{width:52px;height:52px;background:var(--gold);border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem;transition:all .3s ease;box-shadow:0 4px 12px #b97a2b4d}.feature-card:hover .feature-icon{transform:scale(1.1) rotate(5deg);box-shadow:0 8px 20px #b97a2b80}.feature-card h3{font-size:1.5rem;font-weight:600;margin-bottom:.5rem;color:var(--charcoal);font-family:var(--font-sans)}.feature-card p{color:var(--muted-text);line-height:1.7}.logo-icon{width:40px;height:40px;background:var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--paper);font-weight:700;font-size:1.2rem;transition:all .3s ease;position:relative;overflow:hidden;box-shadow:0 4px 12px #b97a2b4d}.logo-icon:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,var(--paper) 20%,transparent 21%);transition:all .3s ease}.logo:hover .logo-icon{transform:rotate(5deg) scale(1.1);box-shadow:0 6px 20px #b97a2b80}.logo:hover .logo-icon:before{transform:scale(.8)}.landing-page header .logo-icon:before{background:none}@media(max-width:768px){.hero{flex-direction:column;padding:2rem 1.25rem;gap:2rem;min-height:auto;text-align:center}.hero-text{max-width:none}.hero h1{font-size:2rem}.hero p{font-size:1rem;max-width:100%}.container{padding:0 1.25rem}.section-features-heading{padding:1.5rem 1rem 0}.section-core-features{padding:1.5rem 1rem}.hero-carousel{width:100%;max-width:400px;height:320px}.app-screenshot{border-radius:12px}.screenshot-header{padding:10px 12px}.app-title{font-size:12px}.screenshot-content{padding:16px}.timer-circle{width:100px;height:100px}.timer-text .time{font-size:20px}.hero-cards,.core-features{grid-template-columns:1fr;gap:1.5rem}.pricing-section{padding:3rem 2rem}.pricing-grid{grid-template-columns:1fr;gap:2rem}.pricing-card:nth-child(2){transform:scale(1)}.pricing-card:nth-child(2):hover{transform:translateY(-12px) scale(1.02)}header{padding:1.5rem 2rem}@media(max-width:480px){header{padding:1rem}}nav ul{gap:1rem}.faq-section,.testimonials-section,.trust-section,.newsletter-section{padding:3rem 2rem}.faq-grid,.testimonials-grid{grid-template-columns:1fr}.trust-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}.newsletter-form{flex-direction:column}.newsletter-input{width:100%}}@media(max-width:1024px)and (min-width:769px){.pricing-grid{grid-template-columns:repeat(2,1fr)}.pricing-card:nth-child(3){grid-column:1 / -1;max-width:50%;margin:0 auto}}@media(max-width:480px){.trust-grid{grid-template-columns:1fr}}@media(max-width:768px){.footer{padding:2rem 1.25rem}.footer-content{grid-template-columns:1fr}.footer-bottom-content{flex-direction:column;align-items:flex-start;gap:.75rem}.footer-badges{justify-content:flex-start}}.error-message{background:linear-gradient(135deg,#fee2e2,#fecaca);border:2px solid #f87171;border-radius:12px;padding:1.5rem;margin:1rem 0;color:#dc2626;font-weight:500;text-align:center;box-shadow:0 4px 12px #f8717126;animation:slideInUp .4s ease-out;position:relative;overflow:hidden;z-index:5}.toast-container{position:fixed;top:1rem;right:1rem;display:flex;flex-direction:column;gap:.75rem;z-index:9000;pointer-events:none}.toast-item{min-width:240px;max-width:320px;background:var(--paper);border:2px solid var(--border);border-radius:12px;box-shadow:0 6px 16px #0000001f;padding:.75rem 1rem;display:flex;align-items:center;justify-content:space-between;font-size:.9rem;font-weight:500;gap:.75rem;animation:slideInDown .35s ease-out;pointer-events:auto}.toast-item.toast-success{border-color:#34d399}.toast-item.toast-error{border-color:#f87171}.toast-item.toast-info{border-color:var(--accent)}.toast-message{flex:1;color:var(--charcoal)}.toast-item.toast-error .toast-message{color:#dc2626}.toast-item.toast-success .toast-message{color:#059669}.toast-close{background:none;border:none;color:var(--muted-text);font-size:1.1rem;cursor:pointer;line-height:1;padding:0 .25rem}.toast-close:hover{color:var(--charcoal)}.header-toast-container{top:4.5rem;right:1.5rem;width:min(320px,calc(100vw - 2.5rem))}@media(max-width:640px){.header-toast-container{left:1rem;right:1rem;width:auto}}.header-toast{flex-direction:column;align-items:flex-start;gap:.3rem}.header-toast .toast-title-row{width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.header-toast .toast-title{font-weight:600;font-size:.95rem;color:var(--charcoal)}.header-toast .toast-body-text{font-size:.85rem;line-height:1.4;color:var(--muted-text);margin:.15rem 0 0}.header-toast .toast-close{padding:0;margin:0}@keyframes slideInDown{0%{transform:translateY(-12px);opacity:0}to{transform:translateY(0);opacity:1}}.notification-menu{z-index:6500}.notification-card{border:1px solid var(--border);border-radius:1rem;padding:1rem;background:var(--background);display:flex;flex-direction:column;gap:.5rem;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease,opacity .2s ease}.notification-card--unread{background:var(--paper);box-shadow:0 10px 24px #00000014}.notification-card--read{opacity:.85}.notification-card:hover{border-color:var(--accent)}.notification-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.error-message:before{content:"⚠️";position:absolute;left:1rem;top:50%;transform:translateY(-50%);font-size:1.2rem}.error-message:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(248,113,113,.1),transparent);animation:shimmer 2s infinite}.loading-placeholder{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border:2px solid #d1d5db;border-radius:12px;padding:2rem;margin:1rem 0;color:#6b7280;font-weight:500;text-align:center;box-shadow:0 2px 8px #0000000d;animation:pulse 2s infinite;position:relative}.loading-placeholder:before{content:"⏳";position:absolute;left:1rem;top:50%;transform:translateY(-50%);font-size:1.2rem;animation:gentleFloat 2s ease-in-out infinite}.success-message{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:2px solid #34d399;border-radius:12px;padding:1.5rem;margin:1rem 0;color:#059669;font-weight:500;text-align:center;box-shadow:0 4px 12px #34d39926;animation:slideInUp .4s ease-out;position:relative;overflow:hidden;z-index:5}.success-message:before{content:"✅";position:absolute;left:1rem;top:50%;transform:translateY(-50%);font-size:1.2rem}.success-message:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(52,211,153,.1),transparent);animation:shimmer 2s infinite}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-top:1rem}.achievement-badge{background:var(--paper);border:2px solid var(--gold);border-radius:16px;padding:1.5rem;display:flex;flex-direction:column;align-items:center;text-align:center;transition:all .3s ease;box-shadow:0 2px 8px #b97a2b1a;position:relative;overflow:hidden}.achievement-badge:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(185,122,43,.1),transparent);transition:left .5s}.achievement-badge:hover:before{left:100%}.achievement-badge.unlocked{background:linear-gradient(135deg,var(--paper),rgba(185,122,43,.05));border-color:var(--gold);box-shadow:0 4px 16px #b97a2b33;animation:none}.achievement-badge.unlocked:hover{transform:none;box-shadow:0 8px 24px #b97a2b4d}.achievement-badge.locked{background:var(--bg);border-color:var(--border);opacity:.6;filter:grayscale(.3)}.achievement-badge.locked:hover{transform:none;box-shadow:0 2px 8px #0000001a}.achievement-badge .achievement-icon{font-size:2.5rem;margin-bottom:1rem;transition:all .3s ease}.achievement-badge.unlocked .achievement-icon{animation:none}.achievement-badge.locked .achievement-icon{opacity:.3;filter:grayscale(1) brightness(.7);transform:none}.achievement-badge h4{color:var(--charcoal);font-size:1rem;font-weight:600;margin-bottom:.5rem;font-family:var(--font-sans)}.achievement-badge.locked h4{color:var(--muted-text)}.achievement-badge p{color:var(--muted-text);font-size:.85rem;line-height:1.4;margin:0}.achievement-badge.locked p{color:var(--muted-text);opacity:.7}.profile-meta .meta-item span{color:var(--muted-text);font-weight:400;opacity:.8}.bio-text{color:var(--muted-text);font-style:italic;opacity:.9}.setting-value{color:var(--muted-text);opacity:.8}.setting-value:empty:before{content:"Not provided";color:var(--muted-text);opacity:.6;font-style:italic}.auth-container{background:var(--paper);border-radius:var(--radius);box-shadow:0 10px 30px #0000001a;padding:3rem;width:100%;max-width:400px;border:2px solid var(--accent)}.logo-icon{width:40px;height:40px;background:var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--paper);font-weight:700;font-size:1.2rem}.auth-header h1{font-size:2rem;margin-bottom:.5rem;color:var(--charcoal)}.auth-header p{color:var(--muted-text)}.auth-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:500;color:var(--text-color)}.input-group input{width:100%;padding:.75rem 3.25rem;border:2px solid #ddd;border-radius:var(--radius);font-size:1rem;transition:border-color .3s ease}.input-group input:focus{outline:none;border-color:var(--accent)}.input-group svg{position:absolute;color:var(--muted-text)}.input-group svg{position:absolute;color:var(--muted-text);top:50%;transform:translateY(-50%);width:20px;height:20px}.form-options{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--muted-text)}.checkbox-label input[type=checkbox]{margin:0}.forgot-password{color:var(--accent);text-decoration:none;font-size:.9rem}.forgot-password:hover{text-decoration:underline}.auth-button{padding:.75rem 1.5rem;border:none;border-radius:var(--radius);font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease;width:100%}.auth-button.primary:hover:not(:disabled){background:var(--charcoal)}.auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-error{background:#fee;color:#c33;padding:.75rem;border-radius:var(--radius);border:1px solid #fcc;font-size:.9rem}.field-error{color:#c33;font-size:.8rem;margin-top:.25rem}.auth-footer{text-align:center;margin-top:2rem;padding-top:2rem;border-top:1px solid #eee}.link-button{background:none;border:none;color:var(--accent);cursor:pointer;font-weight:500;text-decoration:underline}.link-button:hover{color:var(--charcoal)}.chat-popup{position:fixed;right:18px;bottom:18px;width:350px;background:var(--paper);border:1px solid var(--border);border-radius:14px;box-shadow:0 12px 34px #0000001a;display:flex;flex-direction:column;overflow:hidden;z-index:50}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border-bottom:1px solid var(--border);font-weight:600;color:var(--charcoal)}.chat-header .close-btn{background:transparent;border:none;font-size:18px;line-height:1;cursor:pointer;color:var(--muted-text)}.chat-messages-ai-reader{height:500px;overflow-y:auto;padding:10px 12px;background:var(--background)}.chat-messages-ai-reader .msg{background:var(--paper);border:1px solid var(--border);padding:8px 10px;border-radius:12px;font-size:13px;margin-bottom:8px;max-width:85%}.chat-messages-ai-reader .msg.me{margin-left:auto;background:var(--accent);color:#fff;border-color:var(--accent)}.chat-messages-ai-reader .msg.them{margin-right:auto}.chat-messages-ai-reader .empty-msg{color:var(--muted-text);font-size:12px;text-align:center;margin-top:30px}.chat-input-row{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--border)}.chat-input-row input{flex:1;border:1px solid var(--border);border-radius:10px;padding:8px 10px;background:var(--background);font-size:13px}.chat-input-row button{background:var(--accent);color:#fff;border:none;border-radius:10px;padding:8px 14px;font-weight:600;cursor:pointer;font-size:13px}.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--background)}.loading-spinner{width:50px;height:50px;border:4px solid #eee;border-top:4px solid var(--accent);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@media(max-width:480px){.input-group input{padding:.75rem 2rem .75rem 3rem}.input-group .input-icon-left{left:10px}.input-group .input-icon-right{right:8px}}.modal-content{background:var(--paper);border:2px solid var(--border);border-radius:16px;box-shadow:0 20px 40px #00000026;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid var(--border-light)}.modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:var(--text)}.close-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.5rem;border-radius:8px;transition:all .2s ease}.close-btn:hover{background:var(--hover);color:var(--text)}.modal-body{padding:1.5rem}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;padding:0 1.5rem 1.5rem}.modal-actions.single-action{justify-content:flex-end}.join-btn{justify-content:center;min-width:150px}.modal-footer{display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem;border-top:1px solid var(--border-light)}.start-session-modal .form-group{margin-bottom:1.5rem}.start-session-modal .form-label{display:flex;align-items:center;gap:.5rem;font-weight:600;color:var(--text);margin-bottom:.75rem;font-size:.95rem}.duration-options{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.duration-btn{padding:.5rem 1rem;border:2px solid var(--border);background:var(--paper);color:var(--text);border-radius:8px;cursor:pointer;transition:all .2s ease;font-weight:500}.duration-btn:hover{border-color:var(--accent);background:var(--accent-light)}.duration-btn.active{border-color:var(--accent);background:var(--accent);color:#fff}.custom-duration{display:flex;align-items:center}.custom-duration-input{width:100px;padding:.5rem;border:2px solid var(--border);border-radius:8px;background:var(--paper);color:var(--text);font-size:.9rem}.custom-duration-input:focus{outline:none;border-color:var(--accent)}.goal-select{width:100%;padding:.75rem;border:2px solid var(--border);border-radius:8px;background:var(--paper);color:var(--text);font-size:.95rem}.goal-select:focus{outline:none;border-color:var(--accent)}.no-goals,.no-friends{color:var(--text-muted);font-style:italic;margin:0;padding:1rem;background:var(--hover);border-radius:8px;text-align:center}.friends-list{max-height:200px;overflow-y:auto;border:2px solid var(--border);border-radius:8px;background:var(--paper)}.friend-checkbox{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-bottom:1px solid var(--border-light);cursor:pointer;transition:background .2s ease}.friend-checkbox:last-child{border-bottom:none}.friend-checkbox:hover{background:var(--hover)}.friend-checkbox input[type=checkbox]{display:none}.checkmark{width:20px;height:20px;border:2px solid var(--border);border-radius:4px;position:relative;transition:all .2s ease}.friend-checkbox input[type=checkbox]:checked+.checkmark{background:var(--accent);border-color:var(--accent)}.friend-checkbox input[type=checkbox]:checked+.checkmark:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:12px;font-weight:700}.friend-name{flex:1;font-weight:500;color:var(--text)}.invitation-note{margin-top:.75rem;padding:.75rem;background:var(--accent-light);border:1px solid var(--accent);border-radius:8px;color:var(--accent-dark);font-size:.9rem;font-style:italic}.cancel-btn{padding:.75rem 1.5rem;border:2px solid var(--border);background:var(--paper);color:var(--text);border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s ease}.cancel-btn:hover:not(:disabled){border-color:var(--text-muted);background:var(--hover)}.start-btn{padding:.75rem 1.5rem;border:2px solid var(--accent);background:var(--accent);color:#fff;border-radius:8px;cursor:pointer;font-weight:500;display:flex;align-items:center;gap:.5rem;transition:all .2s ease}.start-btn:hover:not(:disabled){background:var(--accent-dark);border-color:var(--accent-dark)}.cancel-btn:disabled,.start-btn:disabled{opacity:.6;cursor:not-allowed}.upload-btn{padding:.75rem 1.5rem;border:2px solid var(--accent);background:var(--accent);color:#fff;border-radius:8px;cursor:pointer;font-weight:500;display:flex;align-items:center;gap:.5rem;transition:all .2s ease;justify-content:center;min-width:120px}.upload-btn:hover:not(:disabled){background:var(--accent-dark, var(--accent));border-color:var(--accent-dark, var(--accent))}.upload-btn:disabled{opacity:.6;cursor:not-allowed}.loading-spinner.small{width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.room-page{min-height:100vh;background:var(--bg);color:var(--text)}.room-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;border-bottom:1px solid var(--border);background:var(--paper)}.back-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:2px solid var(--border);background:var(--paper);color:var(--text);border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s ease}.back-btn:hover{border-color:var(--accent);background:var(--accent-light)}.room-info h1{margin:0 0 .25rem;font-size:1.5rem;font-weight:600}.room-meta{display:flex;align-items:center;gap:1rem;font-size:.9rem;color:var(--text-muted)}.leave-btn{padding:.5rem 1rem;border:2px solid #ef4444;background:#ef4444;color:#fff;border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s ease}.leave-btn:hover{background:#dc2626;border-color:#dc2626}.room-content{display:flex;min-height:calc(100vh - 80px)}.video-area{flex:1;padding:2rem;display:flex;align-items:center;justify-content:center}.video-placeholder{text-align:center;max-width:400px}.video-placeholder h3{margin:1rem 0 .5rem;color:var(--text)}.video-placeholder p{color:var(--text-muted);margin-bottom:2rem}.webrtc-controls{display:flex;gap:1rem;justify-content:center}.control-btn{width:50px;height:50px;border:2px solid var(--border);background:var(--paper);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.control-btn.inactive{border-color:#ef4444;background:#ef4444;color:#fff}.room-sidebar{width:300px;border-left:1px solid var(--border);background:var(--paper);padding:1.5rem;overflow-y:auto}.participants-section h3,.room-chat-section h3{margin:0 0 1rem;font-size:1.1rem;font-weight:600}.participant-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;border:1px solid var(--border);border-radius:8px;background:var(--bg)}.participant-avatar{width:32px;height:32px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;color:#fff}.participant-name{margin:0;font-weight:500;font-size:.9rem}.participant-status{margin:.25rem 0 0;font-size:.8rem;color:var(--text-muted)}.chat-placeholder{text-align:center;padding:2rem 1rem;color:var(--text-muted)}.chat-placeholder h4{margin:0 0 .5rem;color:var(--text)}.chat-placeholder small{display:block;margin-top:.5rem;font-size:.8rem}.error-screen,.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;text-align:center}.error-screen h2{margin:0 0 1rem;color:#ef4444}.error-screen p{margin:0 0 2rem;color:var(--text-muted)}.ai-reader-modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);overscroll-behavior:contain}.ai-reader-modal-content{background:var(--paper);border:2px solid var(--border);border-radius:16px;box-shadow:0 20px 40px #00000026;width:95vw;height:90vh;max-width:none;overflow:hidden;animation:modalSlideIn .3s ease-out;display:flex;flex-direction:column;position:relative}.ai-reader-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--border-light);background:var(--paper)}.ai-reader-title{display:flex;align-items:center;gap:.75rem;font-size:1.25rem;font-weight:600;color:var(--text)}.ai-reader-close-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.5rem;border-radius:8px;transition:all .2s ease}.ai-reader-close-btn:hover{background:var(--hover);color:var(--text)}.material-selector{padding:1rem 1.5rem;border-bottom:1px solid var(--border-light);background:var(--bg)}.material-dropdown{position:relative}.material-dropdown-btn{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border:2px solid var(--border);background:var(--paper);border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:500;color:var(--text);width:100%;transition:all .2s ease}.material-dropdown-btn:hover{border-color:var(--accent);background:var(--accent-light)}.material-dropdown-menu{position:absolute;top:100%;left:0;right:0;background:var(--paper);border:2px solid var(--border);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:100;max-height:200px;overflow-y:auto}.material-option{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border:none;background:none;color:var(--text);cursor:pointer;width:100%;text-align:left;transition:background .2s ease}.material-option:hover{background:var(--hover)}.material-option.active{background:var(--accent-light);color:var(--accent-dark);font-weight:500}.no-materials{padding:1rem;text-align:center;color:var(--text-muted)}.no-materials p{margin:0 0 .25rem;font-weight:500}.no-materials small{font-size:.8rem}.ai-reader-main{display:flex;flex:1;overflow:hidden}.document-reader{flex:1;border-right:1px solid var(--border-light);display:flex;flex-direction:column;background:var(--bg);overflow-y:auto;overscroll-behavior:contain}.document-container{flex:1;display:flex;flex-direction:column;overflow:visible}.document-header{padding:1.5rem;border-bottom:1px solid var(--border-light);background:var(--paper)}.document-header h3{margin:0 0 .5rem;font-size:1.25rem;font-weight:600;color:var(--text)}.document-meta{display:flex;gap:1rem;font-size:.85rem;color:var(--text-muted)}.document-content{flex:1;padding:1.5rem;overflow:visible}.document-placeholder,.no-document{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:var(--text-muted)}.document-placeholder svg,.no-document svg{margin-bottom:1rem;opacity:.5}.document-placeholder p,.no-document p{margin:0 0 .5rem;font-size:1rem}.document-placeholder small,.no-document small{font-size:.85rem;opacity:.7}.no-document h3{margin:0 0 1rem;color:var(--text);font-size:1.5rem}.ai-chat{width:clamp(420px,32%,560px);display:flex;flex-direction:column;justify-content:space-between!important;background:var(--paper);position:relative}.chat-header{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;border-bottom:1px solid var(--border-light);font-weight:600;color:var(--text);font-size:.95rem}.chat-messages-ai-reader{flex:1;padding:1rem 1.5rem 1.25rem;overflow-y:auto;display:flex;flex-direction:column;gap:1rem;scroll-behavior:smooth;overscroll-behavior:contain}.chat-messages-ai-reader::-webkit-scrollbar{width:10px}.chat-messages-ai-reader::-webkit-scrollbar-track{background:var(--bg)}.chat-messages-ai-reader::-webkit-scrollbar-thumb{background:var(--border);border-radius:6px}.chat-messages-ai-reader::-webkit-scrollbar-thumb:hover{background:var(--accent)}.chat-message{display:flex;margin-bottom:1rem}.chat-message.user{justify-content:flex-end}.chat-message.assistant{justify-content:flex-start}.message-content{max-width:88%;padding:.85rem 1.05rem;border-radius:14px;font-size:.9rem;line-height:1.5;box-shadow:0 4px 14px #0000000a;word-break:break-word}.chat-message.user .message-content{background:var(--accent);color:#fff;border-bottom-right-radius:6px;border:2px solid var(--accent)}.chat-message.assistant .message-content{background:var(--bg);color:var(--text);border:2px solid var(--border-light);border-bottom-left-radius:6px}.chat-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:var(--text-muted)}.chat-placeholder svg{margin-bottom:1rem;opacity:.5}.chat-placeholder p{margin:0 0 .5rem;font-size:1rem}.chat-placeholder small{font-size:.85rem;opacity:.7}.chat-input-area{padding:.75rem 1.5rem;border-top:1px solid var(--border-light);display:flex;gap:.75rem;align-items:flex-end}.chat-input{flex:1;padding:.75rem;border:2px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-size:.9rem;resize:none;font-family:inherit;transition:border-color .2s ease}.chat-input:focus{outline:none;border-color:var(--accent)}.chat-input:disabled{opacity:.5;cursor:not-allowed}.send-btn{padding:.75rem 1.25rem;border:2px solid var(--accent);background:var(--accent);color:#fff;border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s ease}.send-btn:hover:not(:disabled){background:var(--accent-dark);border-color:var(--accent-dark)}.send-btn:disabled{opacity:.5;cursor:not-allowed}.pdf-viewer{display:flex;flex-direction:column;height:100%;overflow:visible}.pdf-document{flex:1;padding:1rem;display:flex;justify-content:center}.pdf-document .react-pdf__Document{display:flex;flex-direction:column;align-items:center}.pdf-document .react-pdf__Page{max-width:calc(100% - 2rem);box-shadow:0 4px 8px #0000001a;margin-bottom:1rem}.pdf-document .react-pdf__Page__canvas{max-width:100%;height:auto!important;border-radius:8px;box-shadow:0 2px 8px #0000001a}.react-pdf__Page__textContent{color:transparent!important;-webkit-text-fill-color:transparent!important;pointer-events:auto;-webkit-user-select:text;-moz-user-select:text;user-select:text}.react-pdf__Page__textContent ::-moz-selection{background:#3b82f659;color:var(--text)!important}.react-pdf__Page__textContent ::selection{background:#3b82f659;color:var(--text)!important}.selection-popup{position:absolute;z-index:1100;background:var(--paper);border:1px solid var(--border);border-radius:8px;padding:.4rem .6rem;box-shadow:0 8px 20px #0000001f;display:flex;gap:.5rem;align-items:center;font-size:.85rem}.selection-popup .btn{border:none;background:var(--accent);color:#fff;padding:.3rem .5rem;border-radius:6px;cursor:pointer}.selection-popup .btn.secondary{background:var(--paper);color:var(--text);border:1px solid var(--border)}.pdf-navigation{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1rem;border-top:1px solid var(--border-light);background:var(--paper)}.nav-btn{padding:.5rem;border:2px solid var(--border);background:var(--paper);color:var(--text);border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.nav-btn:hover:not(:disabled){border-color:var(--accent);background:var(--accent-light)}.nav-btn:disabled{opacity:.5;cursor:not-allowed}.page-info{font-weight:500;color:var(--text);min-width:100px;text-align:center}.pdf-loading,.pdf-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:var(--text-muted)}.pdf-loading svg,.pdf-error svg{margin-bottom:1rem;opacity:.5}.pdf-loading p,.pdf-error p{margin:0 0 .5rem;font-size:1rem}.pdf-loading small,.pdf-error small{font-size:.85rem;opacity:.7}.pdf-error small{font-size:.85rem;opacity:.7;margin-bottom:1rem}.retry-btn{padding:.5rem 1rem;border:2px solid var(--accent);background:var(--accent);color:#fff;border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s ease}.retry-btn:hover{background:var(--accent-dark);border-color:var(--accent-dark)}.ai-reader-typing-indicator{display:flex;gap:4px;padding:.75rem 1rem;background:#0000000d;border:1px solid var(--border-light);border-radius:12px 12px 12px 4px;align-self:flex-start;margin-bottom:.75rem}.ai-reader-typing-indicator span{width:6px;height:6px;border-radius:50%;background:var(--text-muted);animation:ai-reader-typing 1.4s infinite ease-in-out}.ai-reader-typing-indicator span:nth-child(1){animation-delay:-.32s}.ai-reader-typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes ai-reader-typing{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.flashcard-placeholder{background:#0000000d;border:1px solid var(--border-light);border-radius:12px 12px 12px 4px;padding:1rem;align-self:flex-start;margin-bottom:.75rem;min-width:300px;animation:flashcard-pulse 1.5s ease-in-out infinite}.flashcard-placeholder-header{margin-bottom:.75rem}.flashcard-placeholder-question,.flashcard-placeholder-answer{margin-bottom:.5rem}.skeleton-line{height:16px;background:var(--border-light);border-radius:4px;animation:skeleton-loading 1.5s ease-in-out infinite}.skeleton-line.short{width:60%}@keyframes flashcard-pulse{0%,to{opacity:.8}50%{opacity:1}}@keyframes skeleton-loading{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}.dashboard-page{min-height:100vh;display:flex;flex-direction:column;background:var(--background)}.dashboard-header{background:var(--paper);border-bottom:1px solid var(--border);padding:1rem 2rem}.header-content{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto}.header-left h1{font-size:1.5rem;margin-bottom:.25rem;color:var(--charcoal)}.header-left p{color:var(--muted-text);font-size:.9rem}.header-right{display:flex;align-items:center;gap:.75rem}.logout-btn{background:transparent;color:var(--text-color);border:1px solid var(--border);padding:.5rem .9rem;border-radius:9999px;cursor:pointer;font-weight:500;transition:all .2s ease}.logout-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.dashboard-content{width:100%;max-width:1180px;margin:0 auto;padding:2rem 2.25rem 3rem;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:2.5rem;align-items:start;grid-auto-flow:row}.dashboard-main{display:flex;flex-direction:column;gap:2.25rem;grid-column:1}.dashboard-sidebar{display:flex;flex-direction:column;gap:2.25rem;position:sticky;top:3.4rem;height:-moz-fit-content;height:fit-content;grid-column:2}.stats-section{margin-bottom:1.5rem;grid-column:1 / -1}.stat-card{background:var(--paper);border-radius:var(--radius);padding:1.5rem;border:1px solid var(--border);display:flex;align-items:center;gap:1rem}.stat-icon{width:50px;height:50px;background:var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.stat-content h3{font-size:1.5rem;margin-bottom:.25rem;color:var(--charcoal)}.stats-bar{width:100%;padding:.4rem 2.25rem .15rem;background:var(--background);display:flex;justify-content:center;max-width:1180px;margin:0 auto}.stats-row{display:flex;gap:1rem;width:100%}.stats-row .stat-card{flex:1;padding:.75rem .9rem;display:flex;align-items:center;gap:.65rem;background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.stats-row .stat-icon{width:36px;height:36px}.stats-row .stat-content h3{font-size:1.05rem;margin-bottom:.1rem}.stats-row .stat-content p{font-size:.65rem}.stat-error{margin-top:.35rem;text-align:right;font-size:.85rem;color:#dc2626}.section-hint{margin-top:.75rem;font-size:.85rem;color:var(--muted-text)}.section-hint.error{color:#dc2626}.pomodoro-section .section-header{margin-bottom:1rem}.pomodoro-section.align-with-ask-ai .pomodoro-card{min-height:160px;display:flex;flex-direction:column;justify-content:center}.ask-ai-card{min-height:160px}.section-header{display:flex;justify-content:space-between;align-items:center}.section-header h2{color:var(--charcoal);font-size:1.05rem}.add-btn{background:var(--accent);color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--radius);cursor:pointer;display:flex;align-items:center;gap:.5rem;font-weight:500}.add-btn:hover{background:var(--charcoal)}.pomodoro-card{background:var(--paper);border-radius:var(--radius);padding:2rem;border:1px solid var(--border);text-align:center}.timer-display{margin-bottom:2rem}.timer-circle{width:200px;height:200px;border-radius:50%;background:var(--accent);margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;color:#fff}.timer-text{text-align:center}.timer-text .time{font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.timer-text .session-type{font-size:1rem;opacity:.9}.timer-controls{display:flex;justify-content:center;gap:1rem}.timer-btn{width:50px;height:50px;border-radius:50%;border:none;background:var(--accent);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .3s ease}.timer-btn:hover{background:var(--charcoal)}.timer-btn.reset{background:var(--muted-text)}.timer-btn.reset:hover{background:var(--charcoal)}.goals-section .section-header{margin-bottom:1rem}.goals-list{display:flex;flex-direction:column;gap:1rem}.goal-card{background:var(--paper);border-radius:var(--radius);padding:1.5rem;border:1px solid var(--border)}.goal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.goal-header h3{color:var(--charcoal);margin-bottom:.5rem}.goal-subject{background:var(--accent);color:#fff;padding:.25rem .5rem;border-radius:var(--radius);font-size:.8rem;font-weight:500}.goal-progress{margin-bottom:1rem}.progress-bar{width:100%;height:8px;background:var(--border);border-radius:4px;overflow:hidden;margin-bottom:.5rem}.progress-fill{height:100%;background:var(--accent);transition:width .3s ease}.progress-text{font-size:.9rem;color:var(--muted-text)}.goal-deadline{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--muted-text)}.quick-actions h2{color:var(--charcoal);margin-bottom:1rem;font-size:1.25rem}.action-buttons{display:flex;flex-direction:column;gap:.75rem}.action-btn{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;cursor:pointer;display:flex;align-items:center;gap:.75rem;color:var(--text-color);font-weight:500;transition:all .3s ease}.action-btn:hover{background:var(--accent);color:#fff}.recent-sessions h2{color:var(--charcoal);margin-bottom:1rem;font-size:1.25rem}.sessions-list{display:flex;flex-direction:column;gap:.75rem}.session-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--paper);border-radius:var(--radius);border:1px solid var(--border)}.session-icon{width:30px;height:30px;background:var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.session-info h4{color:var(--charcoal);margin-bottom:.25rem;font-size:.9rem}.session-info p{color:var(--muted-text);font-size:.8rem}.recent-sessions.inline-section{margin-top:2rem}.recent-sessions.inline-section h2{font-size:1.1rem;margin-bottom:.75rem}.recent-sessions.inline-section .session-item{background:var(--paper);box-shadow:var(--shadow-sm)}.ask-ai-section{margin-bottom:2rem}.ask-ai-card{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1.25rem 1rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.75rem}.ask-ai-header{display:flex;align-items:center;gap:.5rem;color:var(--charcoal)}.ask-ai-header h2{font-size:1.05rem;font-weight:600;margin:0}.ask-ai-form{display:flex;gap:.5rem}.ask-ai-input{flex:1;padding:.65rem .75rem;border:1px solid var(--border);background:var(--background);border-radius:var(--radius);font-size:.9rem;color:var(--text-color)}.ask-ai-input:focus{outline:2px solid var(--accent);outline-offset:2px}.ask-ai-submit{background:var(--accent);color:#fff;border:none;padding:.65rem 1rem;font-size:.85rem;font-weight:600;border-radius:var(--radius);cursor:pointer;display:flex;align-items:center;gap:.35rem;transition:background .25s ease}.ask-ai-submit:hover{background:var(--accent-hover, #8c6a3d)}.ask-ai-hint{font-size:.7rem;color:var(--muted-text);letter-spacing:.3px}.upload-material-section{margin-bottom:2rem}.upload-material-card{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1.25rem 1rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.75rem}.upload-material-header{display:flex;align-items:center;gap:.5rem;color:var(--charcoal)}.upload-material-header h2{font-size:1.05rem;font-weight:600;margin:0}.upload-material-description{font-size:.9rem;color:var(--muted-text);line-height:1.4}.upload-material-actions{display:flex;gap:.75rem;flex-wrap:wrap}.upload-btn{background:var(--accent);color:#fff;border:none;padding:.65rem 1rem;font-size:.85rem;font-weight:600;border-radius:var(--radius);cursor:pointer;display:flex;align-items:center;gap:.35rem;transition:background .25s ease;flex:1;justify-content:center}.upload-btn.primary:hover{background:var(--accent-hover, #8c6a3d)}.upload-btn.secondary{background:var(--background);color:var(--text-color);border:1px solid var(--border)}.upload-btn.secondary:hover{background:var(--hover)}.upload-material-features{display:flex;flex-direction:row;flex-wrap:wrap;gap:.75rem;justify-content:space-between}.feature-item{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--muted-text)}.feature-item svg{color:var(--accent);flex-shrink:0}.card-list{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1rem .75rem;box-shadow:var(--shadow-sm)}.card-list h2{font-size:1.05rem;margin-bottom:.75rem;color:var(--charcoal)}.friends-list,.partners-list{display:flex;flex-direction:column;gap:.75rem}.friend-item,.partner-item{display:flex;align-items:center;gap:.9rem;padding:.8rem .95rem;min-height:56px;border:1px solid var(--border);border-radius:var(--radius-sm, 8px);background:var(--background);transition:background .2s ease,border-color .2s ease;width:100%;box-sizing:border-box}.friend-item:hover,.partner-item:hover{background:var(--paper);border-color:var(--accent)}.friend-info h4,.partner-info h4{font-size:.7rem;margin:0 0 3px;color:var(--charcoal);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friend-info p,.partner-info p{font-size:.7rem;color:var(--muted-text);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.partner-info{flex:1;min-width:0;overflow:hidden}.status-dot{width:10px;height:10px;border-radius:50%;background:var(--muted-text);box-shadow:0 0 0 2px var(--background)}.status-dot.online{background:#16a34a}.status-dot.focus{background:#d97706}.status-dot.offline{background:#9ca3af}.partner-icon{width:30px;height:30px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;color:#fff;font-size:.7rem}.invite-btn{margin-left:auto;background:var(--accent);color:#fff;border:none;padding:.35rem .6rem;font-size:.7rem;border-radius:var(--radius-sm, 8px);display:inline-flex;align-items:center;gap:.3rem;cursor:pointer;font-weight:500}.invite-btn:hover{opacity:.9}.section-header{margin-bottom:.75rem}.partner-search-container{margin-bottom:1rem}.partner-search{display:flex;align-items:center;gap:.5rem;background:var(--background);border:1px solid var(--border);border-radius:8px;padding:.5rem .75rem;transition:border-color .2s ease}.partner-search:focus-within{border-color:var(--accent)}.partner-search svg{color:var(--muted-text);flex-shrink:0}.partner-search-input{border:none;background:transparent;outline:none;flex:1;font-size:.9rem;color:var(--text-color);min-width:0}.partner-search-input::-moz-placeholder{color:var(--muted-text)}.partner-search-input::placeholder{color:var(--muted-text)}.calendar-section{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1rem .75rem;box-shadow:var(--shadow-sm)}.calendar-section h2{font-size:1.05rem;margin-bottom:.75rem;color:var(--charcoal)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-header-cell{text-align:center;font-size:.65rem;font-weight:600;color:var(--muted-text);padding:2px 0}.calendar-cell{aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;font-size:.7rem;color:var(--charcoal);border:1px solid var(--border);border-radius:6px;background:var(--background);transition:background .2s ease}.calendar-cell:hover{background:var(--paper)}.calendar-cell.has-reminder{border-color:var(--accent);position:relative}.calendar-cell .reminder-dot,.calendar-cell.has-reminder .reminder-dot{position:absolute;bottom:3px;right:3px;width:6px;height:6px;background:var(--accent);border-radius:50%}.reminder-modal{margin-top:.5rem;background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem .85rem .9rem;box-shadow:0 4px 12px #0000000f;animation:fadeInScale .3s ease}.reminder-form h3{font-size:1.1rem;margin:0 0 .5rem;font-weight:600;color:var(--charcoal)}.reminder-form input{width:100%;padding:.6rem .7rem;border:1px solid var(--border);border-radius:8px;font-size:.9rem;background:var(--background);font-family:inherit}.reminder-form input:focus{outline:2px solid var(--accent)}.reminder-form textarea{width:100%;padding:.6rem .7rem;border:1px solid var(--border);border-radius:8px;font-size:.9rem;background:var(--background);font-family:inherit;resize:vertical;min-height:60px}.reminder-form textarea:focus{outline:2px solid var(--accent)}.reminder-actions{display:flex;gap:.5rem;margin-top:.55rem}.save-btn,.cancel-btn{flex:1;padding:.5rem .6rem;font-size:.85rem;border-radius:8px;border:none;cursor:pointer;font-weight:600}.save-btn{background:var(--accent);color:#fff}.cancel-btn{background:var(--background);border:1px solid var(--border)}.existing-reminders{list-style:disc;margin:.5rem 0 0 1rem;padding:0}.existing-reminders li{font-size:.85rem;margin-bottom:2px}.existing-reminders .reminder-item{display:flex;justify-content:space-between;align-items:flex-start;padding:.5rem 0;border-bottom:1px solid var(--border)}.existing-reminders .reminder-item:last-child{border-bottom:none}.existing-reminders .reminder-content{flex:1;margin-right:.5rem}.existing-reminders .reminder-item .complete-btn{background:var(--accent);color:#fff;border:none;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;font-weight:700;flex-shrink:0;transition:all .2s ease}.existing-reminders .reminder-item .complete-btn:hover{background:var(--accent-warm);transform:scale(1.1)}.existing-reminders .reminder-item-actions{display:flex;align-items:center;gap:.5rem;opacity:.7;transition:opacity .2s ease}.existing-reminders .reminder-item:hover .reminder-item-actions{opacity:1}.existing-reminders .delete-btn{background:transparent;border:none;color:var(--muted-text);cursor:pointer;padding:.25rem;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;font-size:.9rem}.existing-reminders .delete-btn:hover{background:#fee2e2;color:#dc2626;transform:scale(1.05)}.reminder-edit-form{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem;padding:.75rem;background:var(--background);border:1px solid var(--border);border-radius:8px}.reminder-edit-form input,.reminder-edit-form textarea{width:100%;padding:.5rem;border:1px solid var(--border);border-radius:6px;background:var(--paper);color:var(--text-color);font-size:.9rem;transition:border-color .2s ease}.reminder-edit-form input:focus,.reminder-edit-form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #b985631a}.reminder-edit-form textarea{resize:vertical;min-height:60px}.reminder-edit-actions{display:flex;gap:.5rem;justify-content:flex-end}.reminder-edit-actions .save-edit-btn,.reminder-edit-actions .cancel-edit-btn{padding:.4rem .8rem;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.reminder-edit-actions .save-edit-btn{background:var(--accent);color:#fff}.reminder-edit-actions .save-edit-btn:hover{background:var(--accent-warm);transform:translateY(-1px)}.reminder-edit-actions .cancel-edit-btn{background:var(--background);border:1px solid var(--border);color:var(--muted-text)}.reminder-edit-actions .cancel-edit-btn:hover{background:var(--border)}.existing-reminders .reminder-content{flex:1;margin-right:.5rem;cursor:pointer;transition:opacity .2s ease}.existing-reminders .reminder-content:hover{opacity:.8}.existing-reminders .clickable-title{font-weight:600;color:var(--charcoal);margin-bottom:.25rem;font-size:.9rem;display:block}.existing-reminders .clickable-description{color:var(--muted-text);font-size:.85rem;line-height:1.4;margin-bottom:.25rem}.quick-actions.compact{background:var(--paper);border:1px solid var(--border);padding:.85rem .85rem .65rem;border-radius:var(--radius);box-shadow:var(--shadow-sm)}.quick-actions.compact h2{font-size:.95rem;margin-bottom:.6rem}.quick-actions.compact .action-btn{padding:.55rem .6rem;font-size:.7rem;gap:.5rem}.quick-actions-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;margin-top:-.5rem;margin-bottom:1.5rem}.quick-actions-row .quick-actions.compact{padding:.75rem .75rem .6rem}.quick-actions-row .action-buttons{display:flex;flex-direction:column;gap:.4rem}.quick-actions-row .action-btn{justify-content:flex-start;font-weight:500}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.match-reason{display:block;font-size:.65rem;color:var(--accent);font-weight:500;margin-top:.25rem}.compatibility-score{display:block;font-size:.6rem;color:var(--muted-text);margin-top:.1rem;font-weight:500}.friend-requests-section{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1rem .75rem;box-shadow:var(--shadow-sm)}.friend-requests-section h2{font-size:1.05rem;margin-bottom:.75rem;color:var(--charcoal)}.friend-requests-list{display:flex;flex-direction:column;gap:.75rem}.friend-request-item{display:flex;align-items:center;gap:.9rem;padding:.8rem .95rem;min-height:56px;border:1px solid var(--border);border-radius:var(--radius-sm, 8px);background:var(--background);transition:background .2s ease,border-color .2s ease;width:100%;box-sizing:border-box}.friend-request-item:hover{background:var(--paper);border-color:var(--accent)}.friend-request-info{flex:1;min-width:0;overflow:hidden}.friend-request-info h4{font-size:.7rem;margin:0 0 3px;color:var(--charcoal);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friend-request-info p{font-size:.7rem;color:var(--muted-text);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friend-request-actions{display:flex;gap:.5rem;margin-left:auto}.accept-btn,.reject-btn,.decline-btn{padding:.35rem .6rem;font-size:.7rem;border-radius:var(--radius-sm, 8px);border:none;cursor:pointer;font-weight:500;display:inline-flex;align-items:center;gap:.3rem;transition:all .2s ease}.accept-btn{background:var(--accent);color:#fff}.accept-btn:hover{background:var(--charcoal);transform:translateY(-1px)}.reject-btn,.decline-btn{background:var(--muted-text);color:#fff}.reject-btn:hover,.decline-btn:hover{background:#dc2626;transform:translateY(-1px)}.toast.invitation-toast{position:fixed;bottom:32px;right:32px;background:var(--paper);border:1px solid var(--border);border-radius:16px;padding:1rem 1.25rem;min-width:280px;max-width:min(340px,calc(100vw - 2rem));box-shadow:0 14px 34px #0000001f;z-index:6000}.toast.invitation-toast .toast-content{display:flex;flex-direction:column;gap:.75rem;color:var(--charcoal)}.toast.invitation-toast .toast-actions{display:flex;justify-content:flex-end;gap:.5rem}@media(max-width:640px){.toast.invitation-toast{left:16px;right:16px;bottom:16px;width:auto}}@media(max-width:768px){.dashboard-content{grid-template-columns:1fr;gap:1.25rem;padding:1.25rem 1rem 2rem}.dashboard-sidebar{position:static;top:auto;grid-column:1}.stats-bar{padding:.5rem 1rem .25rem}.stats-row{flex-wrap:wrap;gap:.75rem}.stats-row .stat-card{flex:1 1 calc(50% - .75rem);min-width:140px}.ask-ai-card,.upload-material-card{padding:1rem}.quick-actions-row{grid-template-columns:1fr}.goal-card{padding:1rem}.card-list,.calendar-section{padding:.85rem .85rem .6rem}}.chat-popup{position:fixed;bottom:20px;right:20px;width:350px;height:500px;background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 10px 25px #0000001a;display:flex;flex-direction:column;z-index:1000;animation:slideUp .3s ease}.chat-header{padding:1rem;border-bottom:1px solid var(--border);background:var(--background);border-radius:var(--radius) var(--radius) 0 0;display:flex;justify-content:space-between;align-items:center;font-weight:600;color:var(--charcoal)}.close-btn{background:none;border:none;font-size:1.2rem;cursor:pointer;color:var(--muted-text);padding:.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-btn:hover{background:var(--border);color:var(--charcoal)}.chat-messages{flex:1;padding:1rem;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem;background:var(--background)}.msg{max-width:70%;padding:.75rem;border-radius:18px;font-size:.9rem;line-height:1.4;word-wrap:break-word;animation:fadeIn .3s ease;box-shadow:0 2px 4px #0000001a}.msg.me{align-self:flex-end;background:#5c4033;color:#fff;border-bottom-right-radius:4px;box-shadow:0 2px 8px #24181259}.msg.them{align-self:flex-start;background:#e8d8c7;color:#3d2b1f;border:1px solid #d6c5b2;border-bottom-left-radius:4px;box-shadow:0 2px 4px #0000000d}.empty-msg{text-align:center;color:var(--muted-text);font-style:italic;padding:2rem}.chat-input-row{padding:1rem;border-top:1px solid var(--border);background:var(--paper);border-radius:0 0 var(--radius) var(--radius);display:flex;gap:.5rem}.chat-input-row input{flex:1;padding:.75rem;border:1px solid var(--border);border-radius:25px;background:var(--background);font-size:.9rem;outline:none;transition:border-color .2s ease}.chat-input-row input:focus{border-color:var(--accent)}.chat-input-row button{padding:.75rem 1.25rem;background:var(--accent);color:#fff;border:none;border-radius:25px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.chat-input-row button:hover:not(:disabled){background:var(--charcoal);transform:translateY(-1px)}.chat-input-row button:disabled{background:var(--muted-text);cursor:not-allowed;transform:none}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.room-page{min-height:100vh;background:var(--background);display:flex;flex-direction:column}.room-header{background:var(--paper);border-bottom:1px solid var(--border);padding:1rem 2rem;display:flex;align-items:center;gap:2rem;box-shadow:var(--shadow-sm)}.back-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--background);border:1px solid var(--border);border-radius:8px;color:var(--text-color);text-decoration:none;font-weight:500;transition:all .2s ease}.back-btn:hover{background:var(--hover);border-color:var(--accent)}.room-info{flex:1}.room-info h1{margin:0 0 .25rem;font-size:1.5rem;font-weight:600;color:var(--charcoal)}.room-meta{display:flex;gap:1rem;font-size:.9rem;color:var(--muted-text)}.participant-count,.room-subject{display:flex;align-items:center;gap:.25rem}.leave-btn{padding:.75rem 1.5rem;background:#dc2626;color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease}.leave-btn:hover{background:#b91c1c;transform:translateY(-1px)}.room-content{flex:1;display:flex;padding:2rem;gap:2rem}.video-area{flex:1;background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);position:relative}.video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;padding:1rem;height:100%;min-height:400px}.video-tile{position:relative;background:#000;border-radius:8px;overflow:hidden;aspect-ratio:16/9}.video-element{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.video-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000000b3);padding:.5rem 1rem;color:#fff;font-size:.9rem;font-weight:500}.video-controls{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);display:flex;gap:1rem;background:#000c;padding:.75rem 1.5rem;border-radius:25px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.video-placeholder{height:100%;min-height:400px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;text-align:center}.video-placeholder svg{color:var(--accent);opacity:.6}.video-placeholder h3{margin:0;font-size:1.25rem;color:var(--charcoal)}.video-placeholder p{margin:0;color:var(--muted-text);max-width:300px}.webrtc-controls{display:flex;gap:1rem;margin-top:1rem}.control-btn{width:50px;height:50px;border-radius:50%;border:2px solid var(--border);background:var(--paper);color:var(--text-color);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.control-btn.active{border-color:var(--accent);background:var(--accent);color:#fff}.control-btn.inactive{border-color:#dc2626;background:#dc2626;color:#fff}.control-btn:hover{transform:scale(1.05)}.room-sidebar{width:350px;display:flex;flex-direction:column;gap:1.5rem}.participants-section,.room-chat-section{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow-sm)}.participants-section h3,.room-chat-section h3{margin:0 0 1rem;font-size:1.1rem;color:var(--charcoal)}.participants-list{display:flex;flex-direction:column;gap:.75rem}.participant-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--background);border:1px solid var(--border-light);border-radius:8px}.participant-avatar{width:32px;height:32px;background:var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.participant-info{flex:1}.participant-name{display:block;font-weight:500;color:var(--charcoal);font-size:.9rem}.participant-status{display:block;font-size:.8rem;color:var(--muted-text)}.chat-placeholder{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2rem;text-align:center;color:var(--muted-text)}.chat-placeholder svg{opacity:.5}.chat-placeholder p{margin:0;font-style:italic}.chat-placeholder small{font-size:.8rem}.chat-messages{flex:1;overflow-y:auto;max-height:300px;margin-bottom:1rem;padding-right:.5rem}.chat-messages::-webkit-scrollbar{width:4px}.chat-messages::-webkit-scrollbar-track{background:var(--background)}.chat-messages::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.chat-message{margin-bottom:.75rem;padding:.65rem .75rem;border-radius:12px;border:1px solid transparent}.chat-message.me{background:var(--accent);color:#fff;border-color:var(--accent)}.chat-message.them{background:var(--paper);color:var(--charcoal);border-color:var(--border)}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.message-sender{font-weight:600;font-size:.9rem;color:var(--accent)}.message-time{font-size:.8rem;color:var(--muted-text)}.chat-message.me .message-sender{color:#fff}.chat-message.me .message-time{color:#fffc}.chat-message.them .message-sender{color:var(--charcoal)}.chat-message.them .message-time{color:var(--muted-text)}.message-content{color:var(--text-color);line-height:1.4;word-wrap:break-word}.no-messages{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2rem;text-align:center;color:var(--muted-text)}.no-messages svg{opacity:.5}.chat-input{display:flex;gap:.5rem;align-items:flex-end}.chat-input textarea{flex:1;padding:.75rem;border:1px solid var(--border);border-radius:8px;background:var(--background);color:var(--text-color);font-family:inherit;font-size:.9rem;resize:none;min-height:40px;max-height:80px}.chat-input textarea:focus{outline:none;border-color:var(--accent)}.send-btn{padding:.75rem;background:var(--accent);color:#fff;border:none;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .2s ease}.send-btn:hover:not(:disabled){background:var(--accent-hover)}.send-btn:disabled{background:var(--muted-text);cursor:not-allowed}.loading-screen,.error-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:1rem}.error-screen h2{color:#dc2626;margin:0}.error-screen p{color:var(--muted-text);margin:0}.papyrus-ai-chat-modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);overscroll-behavior:contain}.papyrus-ai-chat-modal-content{background:var(--paper);border:2px solid var(--border);border-radius:16px;box-shadow:0 20px 40px #00000026;width:95vw;height:90vh;max-width:none;overflow:hidden;animation:modalSlideIn .3s ease-out;display:flex;flex-direction:column;position:relative}.papyrus-ai-chat-open{overflow:hidden}.papyrus-ai-chat-container{display:flex;flex-direction:column;height:100%}.papyrus-ai-chat-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--border-light);background:var(--paper)}.papyrus-ai-chat-title{display:flex;align-items:center;gap:.75rem;font-size:1.25rem;font-weight:600;color:var(--text)}.papyrus-ai-chat-close-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.5rem;border-radius:8px;transition:all .2s ease}.papyrus-ai-chat-close-btn:hover{background:var(--hover);color:var(--text)}.papyrus-ai-chat-messages{flex:1;padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}.papyrus-ai-chat-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;color:var(--text-muted)}.papyrus-ai-chat-placeholder svg{margin-bottom:1rem;opacity:.5}.papyrus-ai-chat-placeholder p{margin:0 0 .5rem;font-size:1.1rem;font-weight:500}.papyrus-ai-chat-placeholder small{font-size:.9rem;opacity:.7}.papyrus-ai-chat-message{display:flex;gap:.75rem;margin-bottom:1rem}.papyrus-ai-chat-message.user{justify-content:flex-end}.papyrus-ai-chat-message.assistant{justify-content:flex-start}.papyrus-ai-message-avatar{flex-shrink:0;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--bg);border:1px solid var(--border-light)}.papyrus-ai-chat-message.user .papyrus-ai-message-avatar{background:var(--accent);color:#fff;order:2}.papyrus-ai-chat-message.assistant .papyrus-ai-message-avatar{background:var(--accent-light);color:var(--accent-dark)}.papyrus-ai-message-content{max-width:70%;display:flex;flex-direction:column;gap:.25rem}.papyrus-ai-chat-message.user .papyrus-ai-message-content{align-items:flex-end}.papyrus-ai-chat-message.assistant .papyrus-ai-message-content{align-items:flex-start}.papyrus-ai-message-content p{margin:0;padding:.75rem 1rem;border-radius:12px;font-size:.9rem;line-height:1.4;word-wrap:break-word}.papyrus-ai-chat-message.user .papyrus-ai-message-content p{background:var(--accent);color:#fff;border-bottom-right-radius:4px}.papyrus-ai-chat-message.assistant .papyrus-ai-message-content p{background:var(--bg);color:var(--text);border:1px solid var(--border-light);border-bottom-left-radius:4px}.papyrus-ai-chat-message.error .papyrus-ai-message-content{border-color:var(--error, #ef4444)}.papyrus-ai-chat-message.error .papyrus-ai-message-content p{color:var(--error, #ef4444)}.papyrus-ai-message-text{line-height:1.5}.papyrus-ai-message-text p{margin:0 0 .5rem}.papyrus-ai-message-text p:last-child{margin-bottom:0}.papyrus-ai-message-text .katex{font-size:1.1em}.papyrus-ai-message-footer{display:flex;align-items:center;justify-content:space-between;margin-top:.5rem;gap:.5rem}.papyrus-ai-message-time{font-size:.7rem;color:var(--text-muted);opacity:.7}.papyrus-ai-message-status{font-size:.7rem;padding:.2rem .4rem;border-radius:4px;font-weight:500}.papyrus-ai-message-status.sending{color:var(--accent);background:#8b693d1a}.papyrus-ai-message-status.error{color:var(--error, #ef4444);background:#ef44441a}.papyrus-ai-message-action{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.2rem;border-radius:4px;opacity:0;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.papyrus-ai-chat-message:hover .papyrus-ai-message-action{opacity:1}.papyrus-ai-message-actions{display:flex;gap:.25rem;align-items:center}.papyrus-ai-message-action.retry{color:var(--error, #ef4444)}.papyrus-ai-message-action.retry:hover{background:#ef44441a;color:var(--error, #ef4444)}.papyrus-ai-typing-indicator{display:flex;gap:4px;padding:.75rem 1rem;background:var(--bg);border:1px solid var(--border-light);border-radius:12px 12px 12px 4px;align-self:flex-start}.papyrus-ai-typing-indicator span{width:6px;height:6px;border-radius:50%;background:var(--text-muted);animation:typing 1.4s infinite ease-in-out}.papyrus-ai-typing-indicator span:nth-child(1){animation-delay:-.32s}.papyrus-ai-typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.papyrus-ai-chat-input-area{padding:1rem 1.5rem;border-top:1px solid var(--border-light);background:var(--paper)}.papyrus-ai-chat-input-container{display:flex;gap:.75rem;align-items:flex-end}.papyrus-ai-input-actions{display:flex;flex-direction:column;align-items:center;gap:.25rem;min-width:60px}.papyrus-ai-char-count{font-size:.7rem;color:var(--text-muted);opacity:.7;transition:color .2s ease}.papyrus-ai-char-count.warning{color:var(--warning, #f59e0b);opacity:1}.papyrus-ai-input-hints{margin-top:.75rem;display:flex;flex-direction:column;gap:.25rem}.papyrus-ai-input-hints small{color:var(--text-muted);opacity:.7;font-size:.75rem}.papyrus-ai-chat-input{flex:1;padding:.75rem;border:2px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-size:.9rem;resize:none;font-family:inherit;transition:border-color .2s ease;min-height:40px;max-height:120px;overflow-y:auto}.papyrus-ai-chat-input:focus{outline:none;border-color:var(--accent)}.papyrus-ai-chat-input:disabled{opacity:.5;cursor:not-allowed}.papyrus-ai-chat-send-btn{padding:.75rem;border:2px solid var(--accent);background:var(--accent);color:#fff;border-radius:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:40px;height:40px}.papyrus-ai-chat-send-btn:hover:not(:disabled){background:var(--accent-dark);border-color:var(--accent-dark)}.papyrus-ai-chat-send-btn:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.papyrus-ai-chat-modal-content{width:100vw;height:100vh;border-radius:0}.papyrus-ai-chat-messages{padding:1rem}.papyrus-ai-message-content{max-width:85%}.papyrus-ai-chat-input-area{padding:1rem}}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--hero-bg);padding:2rem}.auth-container{background:var(--paper);border-radius:var(--radius);box-shadow:0 8px 32px #0000001a;width:100%;max-width:480px;padding:3rem;border:1px solid var(--border)}.auth-header{text-align:center;margin-bottom:2rem}.auth-logo{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:1rem}.logo-icon{width:40px;height:40px;background:var(--gold);color:var(--paper);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.2rem}.auth-header h1{font-size:2rem;font-weight:600;margin-bottom:.5rem;color:var(--text-color)}.auth-header p{color:var(--muted-text);font-size:1rem}.step-indicator{display:flex;align-items:center;justify-content:center;margin-top:2rem;gap:.5rem}.step{display:flex;flex-direction:column;align-items:center;gap:.25rem}.step-number{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;transition:all .2s ease}.step.active .step-number{background:var(--accent);color:#fff}.step.completed .step-number{background:var(--accent-cool);color:#fff}.step:not(.active):not(.completed) .step-number{background:var(--border);color:var(--muted-text)}.step-label{font-size:.75rem;color:var(--muted-text);font-weight:500}.step-connector{width:40px;height:2px;background:var(--border)}.step.active~.step-connector,.step.completed~.step-connector{background:var(--accent)}.auth-form{margin-bottom:2rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-weight:500;margin-bottom:.5rem;color:var(--text-color)}.input-group{position:relative;display:flex;align-items:center}.input-group svg{position:absolute;color:var(--muted-text);z-index:1;pointer-events:none;top:50%;transform:translateY(-50%)}.input-group .input-icon-left{left:1rem}.input-group .input-icon-right{right:1rem}.auth-container .input-group input{width:100%;padding:.75rem 3.25rem;border:1px solid var(--border);border-radius:var(--radius);background:#fff;font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box}.input-group input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #b985631a}.input-group .password-toggle{position:absolute;right:12px;background:none;border:none;color:var(--muted-text);cursor:pointer;padding:.25rem;border-radius:4px;transition:color .2s ease}.input-group .password-toggle:hover{color:var(--accent)}.input-group .input-icon-left{left:12px}.input-group .input-icon-right{right:12px}.otp-input{text-align:center;font-size:1.5rem;font-weight:600;letter-spacing:.5rem;padding-left:1rem!important}.field-error{color:#dc2626;font-size:.875rem;margin-top:.25rem}.form-options{margin-bottom:1.5rem}.checkbox-label{display:flex;align-items:flex-start;gap:.5rem;font-size:.875rem;color:var(--muted-text);cursor:pointer}.checkbox-label input[type=checkbox]{margin-top:.125rem;accent-color:var(--accent)}.auth-button{width:100%;padding:.875rem 1.5rem;border:none;border-radius:var(--radius);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.auth-button.primary{background:var(--accent);color:#fff}.auth-button.primary:hover:not(:disabled){background:var(--accent-warm);transform:translateY(-1px);box-shadow:0 4px 12px #b985634d}.auth-button.secondary{background:var(--border);color:var(--text-color)}.auth-button.secondary:hover:not(:disabled){background:#d4c4b7}.auth-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-button.google{background:#fff;border:1px solid #dadce0;color:#3c4043;display:flex;align-items:center;justify-content:center;gap:.75rem;font-weight:500}.auth-button.google:hover:not(:disabled){background:#f8f9fa;border-color:#c4c7c5}.auth-button.google svg{flex-shrink:0}.auth-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:.75rem;border-radius:var(--radius);margin-bottom:1.5rem;font-size:.875rem}.auth-footer{text-align:center;padding-top:1.5rem;border-top:1px solid var(--border)}.link-button{background:none;border:none;color:var(--accent);cursor:pointer;font-weight:500;text-decoration:underline;text-decoration-color:transparent;transition:text-decoration-color .2s ease}.link-button:hover{text-decoration-color:var(--accent)}.auth-divider{display:flex;align-items:center;margin:1.5rem 0;color:var(--muted-text);font-size:.875rem}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border)}.auth-divider:before{margin-right:1rem}.auth-divider:after{margin-left:1rem}.otp-verification{text-align:center;padding:2rem 0}.otp-verification .otp-icon{color:var(--accent-cool);margin-bottom:1rem}.otp-verification h3{font-size:1.5rem;font-weight:600;margin-bottom:.5rem;color:var(--text-color)}.otp-verification p{color:var(--muted-text);margin-bottom:2rem;line-height:1.5}.dev-otp-notice{background:#f0f9ff;border:1px solid #bae6fd;color:#0369a1;padding:1rem;border-radius:var(--radius);margin-bottom:1.5rem;font-size:.875rem}.dev-otp-notice code{background:#e0f2fe;padding:.125rem .375rem;border-radius:4px;font-family:Monaco,Menlo,monospace;font-weight:600}.otp-actions{display:flex;gap:1rem;margin-top:2rem}.resend-notice{margin-top:1.5rem;font-size:.875rem;color:var(--muted-text)}.registration-complete{text-align:center;padding:2rem 0}.registration-complete .success-icon{color:var(--accent-cool);margin-bottom:1rem}.registration-complete h3{font-size:1.5rem;font-weight:600;margin-bottom:.5rem;color:var(--text-color)}.registration-complete p{color:var(--muted-text);margin-bottom:2rem;line-height:1.5}.user-summary{background:var(--features-bg);border-radius:var(--radius);padding:1.5rem;margin-bottom:2rem}.summary-item{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;color:var(--text-color)}.summary-item:last-child{margin-bottom:0}.summary-item svg{color:var(--accent);flex-shrink:0}.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--hero-bg)}.loading-spinner{width:40px;height:40px;border:4px solid var(--border);border-top:4px solid var(--accent);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@media(max-width:480px){.auth-container{padding:2rem 1.5rem;margin:1rem}.auth-header h1{font-size:1.75rem}.step-indicator{margin-top:1.5rem}.step-number{width:28px;height:28px;font-size:.75rem}.otp-actions{flex-direction:column}.otp-actions .auth-button{width:100%}.user-summary{padding:1rem}.auth-container .input-group input{padding:.75rem 2rem .75rem 3rem}.input-group .password-toggle{right:8px}}.profile-page{min-height:100vh;background:var(--background);color:var(--text-color)}.profile-banner{position:relative;height:200px;overflow:hidden;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-warm) 100%)}.penrose-pattern{width:100%;height:100%;opacity:.3}.banner-overlay{position:absolute;inset:0;background:linear-gradient(135deg,#b985631a,#b9856333)}.profile-content{max-width:1200px;margin:0 auto;padding:2rem;position:relative}.profile-header-section{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;background:var(--paper);border-radius:var(--radius);padding:2rem;border:1px solid var(--border);box-shadow:0 4px 16px #b9856314}.profile-info{flex:1}.profile-details h1{font-size:2.5rem;font-weight:700;color:var(--charcoal);margin-bottom:.5rem;font-family:var(--font-sans)}.profile-details .profile-email{font-size:1.1rem;color:var(--muted-text);margin-bottom:1rem}.profile-meta{display:flex;flex-direction:column;gap:.5rem}.meta-item{display:flex;align-items:center;gap:.5rem;font-size:.95rem;color:var(--muted-text)}.meta-item a{color:var(--accent);text-decoration:none}.meta-item a:hover{text-decoration:underline}.profile-avatar-section{margin-left:2rem}.profile-avatar-container{position:relative;display:inline-block}.profile-avatar{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-warm) 100%);display:flex;align-items:center;justify-content:center;color:#fff;font-size:3rem;font-weight:700;box-shadow:0 8px 24px #b985634d;border:4px solid var(--paper)}.profile-avatar-image{width:120px;height:120px;border-radius:50%;-o-object-fit:cover;object-fit:cover;box-shadow:0 8px 24px #b985634d;border:4px solid var(--paper)}.profile-picture-upload{position:absolute;inset:0;border-radius:50%;background:#00000080;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease;cursor:pointer}.profile-avatar-container:hover .profile-picture-upload{opacity:1}.upload-overlay{color:#fff;font-size:.8rem;font-weight:500;text-align:center}.file-input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.emoji-overlay{position:absolute;bottom:8px;right:8px;width:36px;height:36px;background:var(--paper);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #00000026;border:2px solid var(--border)}.emoji-badge{font-size:1.2rem}.emoji-selector{position:absolute;top:50%;right:100%;transform:translateY(-50%);margin-right:.5rem;background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;box-shadow:0 8px 24px #00000026;z-index:1000;min-width:280px}.emoji-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.5rem}.emoji-option{width:40px;height:40px;border:2px solid var(--border);border-radius:8px;background:var(--background);display:flex;align-items:center;justify-content:center;font-size:1.2rem;cursor:pointer;transition:all .2s ease}.emoji-option:hover{transform:scale(1.1);border-color:var(--accent)}.emoji-option.selected{border-color:var(--accent);background:#b985631a}.profile-section{background:var(--paper);border-radius:var(--radius);padding:2rem;margin-bottom:2rem;border:1px solid var(--border);box-shadow:0 4px 16px #b9856314}.profile-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.profile-section .section-header h2{font-size:1.5rem;font-weight:600;color:var(--charcoal);font-family:var(--font-sans)}.btn-edit,.btn-save,.btn-cancel{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:var(--radius);font-weight:500;cursor:pointer;transition:all .2s ease;font-size:.9rem}.btn-edit{background:var(--accent);color:#fff;border:none}.btn-edit:hover{background:var(--accent-warm)}.btn-save{background:var(--accent-cool);color:#fff;border:none}.btn-save:hover{background:var(--accent-cool);opacity:.9}.btn-cancel{background:transparent;color:var(--muted-text);border:1px solid var(--border)}.btn-cancel:hover{background:var(--border)}.edit-actions{display:flex;gap:.5rem}.bio-section{margin-bottom:1rem}.bio-text{color:var(--text-color);line-height:1.6;font-size:1rem}.bio-input{width:100%;padding:1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--background);color:var(--text-color);font-family:inherit;font-size:1rem;resize:vertical;min-height:80px}.bio-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #b985631a}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.stat-card{background:var(--background);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;display:flex;align-items:center;gap:1rem;transition:all .3s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #b9856326;border-color:var(--accent)}.stat-icon{width:50px;height:50px;background:var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.stat-content h3{font-size:1.5rem;font-weight:700;color:var(--charcoal);margin-bottom:.25rem;font-family:var(--font-sans)}.stat-content p{color:var(--muted-text);font-size:.9rem}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}.achievement-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--background);border:1px solid var(--border);border-radius:var(--radius);transition:all .3s ease}.achievement-card:hover{transform:translateY(-1px);box-shadow:0 4px 12px #b985631a}.achievement-card.unlocked{border-color:var(--accent);background:#b985630d}.achievement-card.locked{opacity:.6}.achievement-icon{width:48px;height:48px;background:var(--background);border:2px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}.achievement-card.unlocked .achievement-icon{border-color:var(--accent);background:#b985631a}.achievement-content h4{font-weight:600;color:var(--charcoal);margin-bottom:.25rem;font-size:1rem}.achievement-content p{color:var(--muted-text);font-size:.85rem;line-height:1.4}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.setting-item{display:flex;flex-direction:column;gap:.5rem}.setting-item label{font-weight:500;color:var(--text-color);font-size:.9rem}.setting-value{padding:.75rem;background:var(--background);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-color);font-size:.95rem}.setting-value a{color:var(--accent);text-decoration:none}.setting-value a:hover{text-decoration:underline}.setting-input{padding:.75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--background);color:var(--text-color);font-family:inherit;font-size:.95rem;transition:border-color .2s ease}.setting-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #b985631a}.profile-actions{display:flex;justify-content:center;padding-top:2rem;border-top:1px solid var(--border)}.btn-logout{display:flex;align-items:center;gap:.5rem;padding:.75rem 2rem;background:#dc2626;color:#fff;border:none;border-radius:var(--radius);font-weight:500;cursor:pointer;transition:all .2s ease;font-size:1rem}.btn-logout:hover{background:#b91c1c;transform:translateY(-1px);box-shadow:0 4px 12px #dc26264d}.theme-selector{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}.theme-description{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.theme-icon{color:var(--accent);margin-top:.25rem;flex-shrink:0}.theme-description h3{font-size:1.125rem;font-weight:600;color:var(--charcoal);margin-bottom:.25rem}.theme-description p{color:var(--muted-text);font-size:.875rem;line-height:1.4}.theme-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem}.theme-option{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1rem;border:2px solid var(--border);border-radius:var(--radius);background:var(--background);cursor:pointer;transition:all .2s ease;position:relative}.theme-option:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.theme-option.active{border-color:var(--accent);background:var(--accent);background:linear-gradient(135deg,var(--accent) 0%,var(--accent-warm) 100%);color:#fff}.theme-option.active .theme-name{color:#fff}.theme-preview{display:flex;gap:.25rem;align-items:center}.theme-color{width:16px;height:16px;border-radius:50%;border:1px solid rgba(255,255,255,.3)}.theme-info{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;color:var(--charcoal)}.theme-check{color:var(--accent)}.theme-option.active .theme-check{color:#fff}.profile-menu{position:absolute;right:0;top:100%;margin-top:.5rem;width:14rem;background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 10px 25px #0000001a;padding:.75rem;z-index:9999}.dropdown-arrow{position:absolute;top:-6px;right:1rem;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid var(--paper)}.dropdown-arrow:before{content:"";position:absolute;top:-1px;left:-7px;width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid var(--border)}.profile-edit-actions{display:flex;gap:.75rem;justify-content:center}.btn-save,.btn-cancel{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:var(--radius);font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease;border:none}.btn-save{background:var(--accent);color:#fff}.btn-save:hover{background:var(--accent-warm);transform:translateY(-1px);box-shadow:0 4px 12px #b985634d}.btn-cancel{background:var(--border);color:var(--charcoal)}.btn-cancel:hover{background:#d4c4b7;transform:translateY(-1px)}@media(max-width:768px){.profile-header-section{flex-direction:column;text-align:center;gap:1.5rem}.profile-avatar-section{margin-left:0}.profile-details h1{font-size:2rem}.stats-grid,.achievements-grid,.settings-grid{grid-template-columns:1fr}.emoji-grid{grid-template-columns:repeat(5,1fr)}}.app-header{padding:0!important;animation:none}.loading-screen p{color:var(--muted-text)}@media(max-width:768px){.dashboard-content{grid-template-columns:1fr;gap:1rem}.auth-container{padding:2rem;margin:1rem}.header-content{flex-direction:column;gap:1rem;text-align:center}.stats-grid{grid-template-columns:1fr}.timer-circle{width:150px;height:150px}.timer-text .time{font-size:2rem}}.goals-page{max-width:1100px;margin:0 auto;padding:1rem}.goals-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.goals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.goal-actions{display:flex;gap:.5rem}.goal-description{color:var(--muted-text);margin:.5rem 0 .75rem;min-height:2.5rem}.goal-meta{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;color:var(--muted-text);font-size:.9rem;margin-bottom:.75rem}.goal-card.completed{opacity:.95;border-color:#d1fae5}.goal-card.completed h3{text-decoration:line-through;color:var(--muted-text)}.goal-card.sub-goal{border-left:4px solid var(--accent)}.completed-icon{color:#10b981}.goal-card{background:var(--paper);border:2px solid var(--border);border-radius:16px;padding:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #b97a2b14;position:relative;overflow:hidden}.goal-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--accent),var(--accent-warm));opacity:0;transition:opacity .3s ease}.goal-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #b97a2b26;border-color:#b97a2b4d}.goal-card:hover:before{opacity:1}.goal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;gap:1rem}.goal-header h3{font-size:1.25rem;font-weight:600;color:var(--charcoal);margin:0;line-height:1.3;flex:1}.goal-actions{display:flex;align-items:center;gap:.35rem;opacity:.7;transition:opacity .2s ease}.goal-card:hover .goal-actions{opacity:1}.goal-description{color:var(--muted-text);font-size:.95rem;line-height:1.5;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-clamp:2}.goal-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;font-size:.9rem;color:var(--muted-text)}.goal-meta span{display:flex;align-items:center;gap:.375rem}.goal-progress{margin-bottom:.75rem}.progress-bar{width:100%;height:8px;background:#b97a2b1a;border-radius:4px;overflow:hidden;margin-bottom:.5rem}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-warm));border-radius:4px;transition:width .4s ease;position:relative}.progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}.progress-text{font-size:.85rem;color:var(--muted-text);text-align:right}.goal-status-badge{position:absolute;top:1rem;right:1rem;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.goal-status-badge.completed{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.goal-status-badge.overdue{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.goal-status-badge.near-deadline{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.goal-status-badge.in-progress{background:linear-gradient(135deg,var(--accent),var(--accent-warm));color:#fff}.goal-status-badge-inline{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-left:.5rem}.goal-status-badge-inline.completed{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.goal-status-badge-inline.overdue{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.goal-status-badge-inline.near-deadline{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.goal-status-badge-inline.in-progress{background:linear-gradient(135deg,var(--accent),var(--accent-warm));color:#fff}.goal-done-toggle{display:inline-flex;align-items:center;gap:.35rem}.goal-done-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.goal-done-toggle span{font-size:.85rem;color:var(--muted-text)}.btn-primary{display:inline-flex;align-items:center;gap:.5rem;background:var(--accent);color:#fff;border:none;border-radius:8px;padding:.5rem .9rem;cursor:pointer}.btn-primary:hover{filter:brightness(.95)}.btn-secondary{display:inline-flex;align-items:center;gap:.5rem;background:var(--paper);color:var(--charcoal);border:1px solid var(--border);border-radius:8px;padding:.5rem .9rem;cursor:pointer}.btn-secondary.small{padding:.35rem .7rem;font-size:.9rem}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;background:var(--paper);border:1px solid var(--border);border-radius:8px;cursor:pointer}.btn-icon:hover{background:#f9fafb}.btn-icon.danger{border-color:#fecaca}.btn-icon.btn-icon-small{width:28px;height:28px;opacity:.6;transition:all .2s ease}.btn-icon.btn-icon-small:hover{opacity:1;transform:scale(1.05)}.goal-form-modal{position:fixed;inset:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:5000;padding:1rem}.goal-form{width:100%;max-width:540px;background:var(--paper);border:1px solid var(--border);border-radius:12px;padding:1.25rem;box-shadow:0 10px 25px #0000001f}.goal-form h2{margin-top:0;color:var(--charcoal)}.form-group{margin-bottom:.9rem}.form-group label{display:block;font-weight:600;margin-bottom:.35rem;color:var(--charcoal)}.form-group input,.form-group textarea{width:100%;border:1px solid var(--border);border-radius:8px;padding:.55rem .7rem;background:#fff;color:var(--charcoal)}.form-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.5rem}.sub-goals-section{margin-top:2rem}.empty-state{background:var(--paper);border:2px solid var(--border);border-radius:16px;padding:3rem 2rem;text-align:center;color:var(--muted-text);box-shadow:0 4px 12px #b97a2b14;animation:fadeInScale .6s ease-out}.empty-state .empty-icon{font-size:4rem;margin-bottom:1.5rem;opacity:.7}.empty-state h3{margin:0 0 .75rem;color:var(--charcoal);font-size:1.5rem;font-weight:600}.empty-state p{margin:0 0 2rem;max-width:400px;margin-left:auto;margin-right:auto;line-height:1.6}.empty-actions{margin-top:1rem;display:flex;justify-content:center}.error-state{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:2px solid #f87171;border-radius:16px;padding:3rem 2rem;text-align:center;color:#dc2626;box-shadow:0 4px 12px #f8717126;animation:fadeInScale .6s ease-out}.error-state .error-icon{font-size:4rem;margin-bottom:1.5rem}.error-state h3{margin:0 0 .75rem;font-size:1.5rem;font-weight:600}.error-state p{margin:0 0 2rem;max-width:400px;margin-left:auto;margin-right:auto;line-height:1.6;color:#b91c1c}.loading-placeholder{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border:2px solid #d1d5db;border-radius:16px;padding:3rem 2rem;text-align:center;color:#6b7280;box-shadow:0 2px 8px #0000000d;animation:fadeInScale .6s ease-out}.loading-placeholder .loading-spinner{width:40px;height:40px;border:4px solid #e5e7eb;border-top:4px solid var(--accent);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.loading-placeholder p{margin:0;font-weight:500}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.flashcards-page{min-height:100vh;background:var(--background);display:flex;flex-direction:column}.page-container{width:100%;max-width:1180px;margin:0 auto;padding:2rem 2.25rem 3rem}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.75rem}.page-title{display:flex;align-items:center;gap:1rem}.page-title h1{font-size:2rem;font-weight:700;color:var(--charcoal)}.page-subtitle{color:var(--muted-text);margin-top:.35rem;max-width:640px}.page-streak{text-align:right}.page-streak .streak-label{font-size:.8rem;color:var(--muted-text)}.page-streak .streak-value{font-size:1.35rem;font-weight:700;color:var(--accent)}.stats-section{margin-bottom:1.5rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1.25rem}.stat-card{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;box-shadow:var(--shadow-sm)}.stat-card .stat-copy h3{font-size:1.75rem;margin:.25rem 0;color:var(--charcoal)}.stat-card .stat-copy p{color:var(--muted-text);font-size:.9rem}.stat-icon{width:50px;height:50px;background:var(--accent);color:#fff;border-radius:14px;display:flex;align-items:center;justify-content:center}.quick-actions{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1.25rem 1.1rem;box-shadow:var(--shadow-sm);margin:1.25rem 0 1.75rem}.quick-actions h2{font-size:1.1rem;color:var(--charcoal);margin:0 0 .9rem}.action-buttons{display:flex;flex-wrap:wrap;gap:.65rem}.action-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--paper);color:var(--text-color);font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm)}.action-btn svg{flex-shrink:0}.action-btn:hover{border-color:var(--accent);background:var(--accent);color:#fff;transform:translateY(-1px)}.action-btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.action-btn.primary:hover{background:var(--charcoal);border-color:var(--charcoal)}.action-btn.success{background:#16a34a;color:#fff;border-color:#16a34a}.action-btn.success:hover{background:#15803d;border-color:#15803d}.action-btn.disabled{opacity:.6;cursor:not-allowed;filter:grayscale(.2)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.9rem}.section-title{font-size:1.35rem;color:var(--charcoal);font-weight:600}.section-pill{font-size:.75rem;color:var(--muted-text);border:1px solid var(--border);background:var(--paper);padding:.25rem .6rem;border-radius:999px}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.flashcard-card{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease}.flashcard-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px #00000014}.flashcard-card .card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.6rem}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;border-radius:999px;font-size:.7rem;font-weight:600}.badge-easy{background:#d1fae5;color:#065f46}.badge-medium{background:#b985631f;color:var(--accent)}.badge-hard{background:#fee2e2;color:#991b1b}.tag-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .5rem;border-radius:999px;background:#b985631f;color:var(--accent);font-size:.7rem;font-weight:600}.meta-row{display:flex;align-items:center;justify-content:space-between;font-size:.85rem;color:var(--muted-text)}.meta{display:inline-flex;align-items:center;gap:.35rem}.table-card{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:auto}.data-table{width:100%;border-collapse:collapse}.data-table thead th{background:var(--background);color:var(--muted-text);text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;text-align:left;padding:.75rem 1rem;position:sticky;top:0;z-index:1}.data-table tbody td{padding:.85rem 1rem;border-top:1px solid var(--border);color:var(--charcoal);vertical-align:middle}.data-table tr:hover{background:var(--background)}.table-actions{display:inline-flex;gap:.5rem;align-items:center;justify-content:flex-end}.icon-btn{border:1px solid var(--border);background:var(--paper);color:var(--charcoal);padding:.4rem .5rem;border-radius:8px;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center}.icon-btn:hover{background:var(--background);border-color:var(--accent);color:var(--accent)}.icon-btn.danger{color:#b91c1c;border-color:#fecaca}.icon-btn.danger:hover{background:#fee2e2;border-color:#ef4444;color:#991b1b}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--paper);border:2px solid var(--border);border-radius:16px;box-shadow:0 20px 40px #00000026;width:90%;max-width:520px;max-height:90vh;overflow:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.modal-title{font-size:1.2rem;font-weight:700;color:var(--charcoal)}.modal-body{padding:1rem 1.25rem}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;padding:0 1.25rem 1.25rem}.btn{padding:.5rem .9rem;border-radius:10px;font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--paper);color:var(--charcoal);transition:all .2s ease}.btn:hover{background:var(--background);border-color:var(--accent);color:var(--accent)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--charcoal);border-color:var(--charcoal);color:#fff}.review-modal-content{background:var(--paper);border:2px solid var(--border);border-radius:16px;width:95vw;max-width:980px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 56px #0003}.review-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.review-body{padding:1.25rem;overflow:auto}.qa-card{background:var(--background);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow-sm)}.review-footer{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.9rem;border-top:1px solid var(--border);background:var(--paper)}.rating-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;padding:.75rem .85rem;border-radius:12px;color:#fff;font-weight:700;min-width:110px;border:none;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .15s ease,filter .15s ease}.rating-btn:hover{transform:translateY(-1px);filter:brightness(.95)}.rating-again{background:#ef4444}.rating-hard{background:#f59e0b}.rating-good{background:#3b82f6}.rating-easy{background:#22c55e}.shortcuts-hint{text-align:center;font-size:.8rem;color:var(--muted-text);margin-top:.5rem}.input,.textarea,.select,.text-input{width:100%;padding:.6rem .75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--background);color:var(--charcoal);font-family:inherit;font-size:.95rem}.input:focus,.textarea:focus,.select:focus,.text-input:focus{outline:2px solid var(--accent);outline-offset:1px}.center-screen{min-height:60vh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.75rem}.spinner{width:44px;height:44px;border:3px solid rgba(0,0,0,.08);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.appear-up{animation:slideInUp .35s ease-out both}.appear-scale{animation:fadeInScale .35s ease-out both}.skeleton{position:relative;overflow:hidden;background:var(--background);border-radius:8px}.skeleton:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(0,0,0,.06),transparent);animation:shimmer 1.4s infinite;transform:translate(-100%)}.skeleton-line{height:12px;border-radius:6px;background:var(--background);position:relative;overflow:hidden}.skeleton-line:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(0,0,0,.06),transparent);animation:shimmer 1.4s infinite;transform:translate(-100%)}.stat-card.skeleton{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.5rem;border:1px solid var(--border);background:var(--paper)}.stat-card.skeleton .stat-copy{flex:1;display:grid;gap:8px}.stat-card.skeleton .stat-icon{width:50px;height:50px;border-radius:14px;background:var(--background);position:relative;overflow:hidden}.stat-card.skeleton .stat-icon:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(0,0,0,.06),transparent);animation:shimmer 1.4s infinite;transform:translate(-100%)}.table-skeleton{padding:1rem}.table-skeleton-row{display:grid;grid-template-columns:2fr .6fr .6fr .8fr .6fr;gap:1rem;padding:.75rem 0;border-top:1px solid var(--border)}.table-skeleton-row:first-child{border-top:none}.plans-page{min-height:100vh;background:var(--background);padding:2rem 0}.plans-page .container{max-width:1200px;margin:0 auto;padding:0 2rem}.page-header{text-align:center;margin-bottom:3rem}.page-header h1{font-size:2.5rem;font-weight:700;color:var(--charcoal);margin-bottom:.5rem;font-family:var(--font-sans)}.page-header p{color:var(--muted-text);font-size:1.1rem}.section-header{margin-bottom:2rem}.section-header h2{font-size:1.8rem;font-weight:600;color:var(--charcoal);margin:0}.current-plan-section{margin-bottom:3rem}.current-plan-card{background:#fff;border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow-sm);border:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.plan-info{display:flex;align-items:center;gap:1.5rem}.plan-icon{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--primary-light));display:flex;align-items:center;justify-content:center;color:#fff}.plan-details h3{font-size:1.5rem;font-weight:600;color:var(--charcoal);margin:0 0 .25rem}.plan-price{font-size:1.2rem;font-weight:500;color:var(--primary);margin:0 0 .25rem}.plan-period{color:var(--muted-text);font-size:.9rem;margin:0}.plan-actions .btn-secondary{padding:.75rem 1.5rem;font-weight:500}.billing-history-section{margin-bottom:3rem}.billing-tabs{display:flex;gap:0;margin-bottom:2rem;border-bottom:1px solid var(--border)}.billing-tabs .tab{padding:.75rem 1.5rem;background:none;border:none;border-bottom:2px solid transparent;color:var(--muted-text);font-weight:500;cursor:pointer;transition:all .3s ease}.billing-tabs .tab.active{color:var(--primary);border-bottom-color:var(--primary)}.billing-tabs .tab:hover{color:var(--charcoal)}.billing-table{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-sm);border:1px solid var(--border);overflow:hidden}.table-header{display:grid;grid-template-columns:1fr 2fr 1fr 1fr 100px;gap:1rem;padding:1rem 2rem;background:var(--background-secondary);border-bottom:1px solid var(--border);font-weight:600;color:var(--charcoal);font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.table-row{display:grid;grid-template-columns:1fr 2fr 1fr 1fr 100px;gap:1rem;padding:1.5rem 2rem;border-bottom:1px solid var(--border);align-items:center;transition:background-color .2s ease}.table-row:last-child{border-bottom:none}.table-row:hover{background:var(--background-secondary)}.col-date{font-weight:500;color:var(--charcoal)}.col-description{color:var(--charcoal)}.col-amount{font-weight:600;color:var(--primary)}.col-status{display:flex;align-items:center;gap:.5rem}.status-text{text-transform:capitalize;font-size:.9rem}.status-success{color:#10b981}.status-warning{color:#f59e0b}.status-error{color:#ef4444}.status-neutral{color:var(--muted-text)}.col-actions{display:flex;gap:.5rem;justify-content:center}.col-actions a{color:var(--muted-text);transition:color .2s ease}.col-actions a:hover{color:var(--primary)}.invoices-section{margin-bottom:3rem}.invoices-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.invoice-card{background:#fff;border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow-sm);border:1px solid var(--border);transition:transform .2s ease,box-shadow .2s ease}.invoice-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.invoice-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.invoice-number{font-weight:600;color:var(--charcoal);font-size:1.1rem}.invoice-date{color:var(--muted-text);font-size:.9rem}.invoice-amount{font-size:1.3rem;font-weight:700;color:var(--primary);margin-bottom:1rem}.invoice-actions{display:flex;gap:.75rem}.btn-sm{padding:.5rem 1rem;font-size:.85rem;font-weight:500;border-radius:var(--radius-sm);text-decoration:none;display:inline-flex;align-items:center;gap:.25rem;transition:all .2s ease}.btn-sm:hover{transform:translateY(-1px)}.btn-sm.secondary{background:var(--background-secondary);color:var(--charcoal);border:1px solid var(--border)}.empty-state{text-align:center;padding:3rem 2rem;color:var(--muted-text)}.empty-state svg{margin-bottom:1rem;opacity:.5}.empty-state h3{font-size:1.2rem;font-weight:600;color:var(--charcoal);margin-bottom:.5rem}.empty-state p{margin:0}.plans-modal{max-width:1000px;width:90vw;max-height:90vh;overflow-y:auto}.plans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:2rem}.plan-card{background:#fff;border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow-sm);border:2px solid transparent;position:relative;transition:all .3s ease}.plan-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.plan-card.popular{border-color:var(--primary);background:linear-gradient(135deg,#3b82f60d,#9333ea0d)}.plan-card.current{border-color:var(--success);background:linear-gradient(135deg,#10b9810d,#0596690d)}.plan-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--primary);color:#fff;padding:.25rem 1rem;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.plan-card.current .plan-badge{background:var(--success)}.plan-header{text-align:center;margin-bottom:2rem}.plan-header .plan-icon{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--primary-light));display:flex;align-items:center;justify-content:center;color:#fff;margin:0 auto 1rem}.plan-header h3{font-size:1.5rem;font-weight:600;color:var(--charcoal);margin:0 0 1rem}.plan-price{display:flex;align-items:baseline;justify-content:center;gap:.25rem;margin-bottom:1rem}.plan-price .amount{font-size:2rem;font-weight:700;color:var(--primary)}.plan-price .period{color:var(--muted-text);font-weight:500}.plan-features{list-style:none;padding:0;margin:0 0 2rem}.plan-features li{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;color:var(--text-color);font-size:.9rem}.plan-features li svg{color:var(--success);flex-shrink:0}.plan-actions{text-align:center}.plan-actions .btn-primary,.plan-actions .btn-secondary{width:100%;padding:.875rem 1.5rem;font-weight:600}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.modal-content{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-xl);max-width:90vw;max-height:90vh;overflow-y:auto;position:relative}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:2rem;border-bottom:1px solid var(--border)}.modal-header h2{margin:0;font-size:1.5rem;font-weight:600;color:var(--charcoal)}.modal-close{background:none;border:none;color:var(--muted-text);cursor:pointer;padding:.5rem;border-radius:var(--radius-sm);transition:all .2s ease}.modal-close:hover{background:var(--background-secondary);color:var(--charcoal)}@media(max-width:768px){.plans-page .container{padding:0 1rem}.current-plan-card{flex-direction:column;gap:1.5rem;text-align:center}.plans-grid{grid-template-columns:1fr}.billing-table{overflow-x:auto}.table-header,.table-row{grid-template-columns:1fr 1.5fr 1fr 1fr 80px;min-width:600px}.invoices-grid{grid-template-columns:1fr}.modal-overlay{padding:1rem}.plans-modal{width:100%;max-height:100vh}}:root{--react-pdf-text-layer: 1;--highlight-bg-color: rgba(180, 0, 170, 1);--highlight-selected-bg-color: rgba(0, 100, 0, 1)}@media screen and (forced-colors:active){:root{--highlight-bg-color: Highlight;--highlight-selected-bg-color: ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg) translate(-100%)}.textLayer{position:absolute;text-align:initial;inset:0;overflow:hidden;line-height:1;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2}.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;margin:0;transform-origin:0 0}.textLayer span.markedContent{top:0;height:0}.textLayer .highlight{margin:-1px;padding:1px;background-color:var(--highlight-bg-color);border-radius:4px}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color)}.textLayer br::-moz-selection{background:transparent}.textLayer br::selection{background:transparent}.textLayer .endOfContent{display:block;position:absolute;inset:100% 0 0;z-index:-1;cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{position:absolute;top:0;left:0;width:0;height:0;display:none}:root{--react-pdf-annotation-layer: 1;--annotation-unfocused-field-background: url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color: Highlight;--input-focus-outline: 1px solid Canvas;--input-unfocused-border-color: transparent;--input-disabled-border-color: transparent;--input-hover-border-color: black;--link-outline: none}@media screen and (forced-colors:active){:root{--input-focus-border-color: CanvasText;--input-unfocused-border-color: ActiveText;--input-disabled-border-color: GrayText;--input-hover-border-color: Highlight;--link-outline: 1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert(100%);backdrop-filter:invert(100%)}}.annotationLayer{position:absolute;top:0;left:0;pointer-events:none;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{position:absolute;width:100%;height:100%}.annotationLayer section{position:absolute;text-align:initial;pointer-events:auto;box-sizing:border-box;margin:0;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{position:absolute;cursor:pointer;width:100%;height:100%;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--total-scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{background:none;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{background:none;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-image:none;background-color:transparent}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{-webkit-appearance:none;-moz-appearance:none;appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{position:absolute;font-size:calc(9px * var(--total-scale-factor));width:100%;min-width:calc(180px * var(--total-scale-factor));pointer-events:none}.annotationLayer .popup{position:absolute;max-width:calc(180px * var(--total-scale-factor));background-color:#ff9;box-shadow:0 calc(2px * var(--total-scale-factor)) calc(5px * var(--total-scale-factor)) #888;border-radius:calc(2px * var(--total-scale-factor));padding:calc(6px * var(--total-scale-factor));margin-left:calc(5px * var(--total-scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto}.annotationLayer .popup>*{font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px * var(--total-scale-factor))}.annotationLayer .popupContent{border-top:1px solid rgba(51,51,51,1);margin-top:calc(2px * var(--total-scale-factor));padding-top:calc(2px * var(--total-scale-factor))}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{position:absolute;width:100%;height:100%;top:0;left:0}.annotationLayer .annotationTextContent{position:absolute;width:100%;height:100%;opacity:0;color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2) format("woff2"),url(/assets/KaTeX_AMS-Regular-DMm9YOAa.woff) format("woff"),url(/assets/KaTeX_AMS-Regular-DRggAlZN.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2) format("woff2"),url(/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff) format("woff"),url(/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff) format("woff"),url(/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2) format("woff2"),url(/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff) format("woff"),url(/assets/KaTeX_Fraktur-Regular-CB_wures.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/assets/KaTeX_Main-Bold-Cx986IdX.woff2) format("woff2"),url(/assets/KaTeX_Main-Bold-Jm3AIy58.woff) format("woff"),url(/assets/KaTeX_Main-Bold-waoOVXN0.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2) format("woff2"),url(/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff) format("woff"),url(/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2) format("woff2"),url(/assets/KaTeX_Main-Italic-BMLOBm91.woff) format("woff"),url(/assets/KaTeX_Main-Italic-3WenGoN9.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Main-Regular-B22Nviop.woff2) format("woff2"),url(/assets/KaTeX_Main-Regular-Dr94JaBh.woff) format("woff"),url(/assets/KaTeX_Main-Regular-ypZvNtVU.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2) format("woff2"),url(/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff) format("woff"),url(/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/assets/KaTeX_Math-Italic-t53AETM-.woff2) format("woff2"),url(/assets/KaTeX_Math-Italic-DA0__PXp.woff) format("woff"),url(/assets/KaTeX_Math-Italic-flOr_0UB.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff) format("woff"),url(/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff) format("woff"),url(/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2) format("woff2"),url(/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff) format("woff"),url(/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Script-Regular-D3wIWfF6.woff2) format("woff2"),url(/assets/KaTeX_Script-Regular-D5yQViql.woff) format("woff"),url(/assets/KaTeX_Script-Regular-C5JkGWo-.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2) format("woff2"),url(/assets/KaTeX_Size1-Regular-C195tn64.woff) format("woff"),url(/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2) format("woff2"),url(/assets/KaTeX_Size2-Regular-oD1tc_U0.woff) format("woff"),url(/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAA4oAA4AAAAAHbQAAA3TAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgRQIDgmcDBEICo1oijYBNgIkA14LMgAEIAWJAAeBHAyBHBvbGiMRdnO0IkRRkiYDgr9KsJ1NUAf2kILNxgUmgqIgq1P89vcbIcmsQbRps3vCcXdYOKSWEPEKgZgQkprQQsxIXUgq0DqpGKmIvrgkeVGtEQD9DzAO29fM9jYhxZEsL2FeURH2JN4MIcTdO049NCVdxQ/w9NrSYFEBKTDKpLKfNkCGDc1RwjZLQcm3vqJ2UW9Xfa3tgAHz6ivp6vgC2yD4/6352ndnN0X0TL7seypkjZlMsjmZnf0Mm5Q+JykRWQBKCVCVPbARPXWyQtb5VgLB6Biq7/Uixcj2WGqdI8tGSgkuRG+t910GKP2D7AQH0DB9FMDW/obJZ8giFI3Wg8Cvevz0M+5m0rTh7XDBlvo9Y4vm13EXmfttwI4mBo1EG15fxJhUiCLbiiyCf/ZA6MFAhg3pGIZGdGIVjtPn6UcMk9A/UUr9PhoNsCENw1APAq0gpH73e+M+0ueyHbabc3vkbcdtzcf/fiy+NxQEjf9ud/ELBHAXJ0nk4z+MXH2Ev/kWyV4k7SkvpPc9Qr38F6RPWnM9cN6DJ0AdD1BhtgABtmoRoFCvPsBAumNm6soZG2Gk5GyVTo2sJncSyp0jQTYoR6WDvTwaaEcHsxHfvuWhHA3a6bN7twRKtcGok6NsCi7jYRrM2jExsUFMxMQYuJbMhuWNOumEJy9hi29Dmg5zMp/A5+hhPG19j1vBrq8JTLr8ki5VLPmG/PynJHVul440bxg5xuymHUFPBshC+nA9I1FmwbRBTNHAcik3Oae0cxKoI3MOriM42UrPe51nsaGxJ+WfXubAsP84aabUlQSJ1IiE0iPETLUU4CATgfXSCSpuRFRmCGbO+wSpAnzaeaCYW1VNEysRtuXCEL1kUFUbbtMv3Tilt/1c11jt3Q5bbMa84cpWipp8Elw3MZhOHsOlwwVUQM3lAR35JiFQbaYCRnMF2lxAWoOg2gyoIV4PouX8HytNIfLhqpJtXB4vjiViUI8IJ7bkC4ikkQvKksnOTKICwnqWSZ9YS5f0WCxmpgjbIq7EJcM4aI2nmhLNY2JIUgOjXZFWBHb+x5oh6cwb0Tv1ackHdKi0I9OO2wE9aogIOn540CCCziyhN+IaejtgAONKznHlHyutPrHGwCx9S6B8kfS4Mfi4Eyv7OU730bT1SCBjt834cXsf43zVjPUqqJjgrjeGnBxSG4aYAKFuVbeCfkDIjAqMb6yLNIbCuvXhMH2/+k2vkNpkORhR59N1CkzoOENvneIosjYmuTxlhUzaGEJQ/iWqx4dmwpmKjrwTiTGTCVozNAYqk/zXOndWxuWSmJkQpJw3pK5KX6QrLt5LATMqpmPAQhkhK6PUjzHUn7E0gHE0kPE0iKkolgkUx9SZmVAdDgpffdyJKg3k7VmzYGCwVXGz/tXmkOIp+vcWs+EMuhhvN0h9uhfzWJziBQmCREGSIFmQIkgVpAnSBRmC//6hkLZwaVhwxlrJSOdqlFtOYxlau9F2QN5Y98xmIAsiM1HVp2VFX+DHHGg6Ecjh3vmqtidX3qHI2qycTk/iwxSt5UzTmEP92ZBnEWTk4Mx8Mpl78ZDokxg/KWb+Q0QkvdKVmq3TMW+RXEgrsziSAfNXFMhDc60N5N9jQzjfO0kBKpUZl0ZmwJ41j/B9Hz6wmRaJB84niNmQrzp9eSlQCDDzazGDdVi3P36VZQ+Jy4f9UBNp+3zTjqI4abaFAm+GShVaXlsGdF3FYzZcDI6cori4kMxUECl9IjJZpzkvitAoxKue+90pDMvcKRxLl53TmOKCmV/xRolNKSqqUxc6LStOETmFOiLZZptlZepcKiAzteG8PEdpnQpbOMNcMsR4RR2Bs0cKFEvSmIjAFcnarqwUL4lDhHmnVkwu1IwshbiCcgvOheZuYyOteufZZwlcTlLgnZ3o/WcYdzZHW/WGaqaVfmTZ1aWCceJjkbZqsfbkOtcFlUZM/jy+hXHDbaUobWqqXaeWobbLO99yG5N3U4wxco0rQGGcOLASFMXeJoham8M+/x6O2WywK2l4HGbq1CoUyC/IZikQhdq3SiuNrvAEj0AVu9x2x3lp/xWzahaxidezFVtdcb5uEnzyl0ZmYiuKI0exvCd4Xc9CV1KB0db00z92wDPde0kukbvZIWN6jUWFTmPIC/Y4UPCm8UfDTFZpZNon1qLFTkBhxzB+FjQRA2Q/YRJT8pQigslMaUpFyAG8TMlXigiqmAZX4xgijKjRlGpLE0GdplRfCaJo0JQaSxNBk6ZmMzcya0FmrcisDdn0Q3HI2sWSppYigmlM1XT/kLQZSNpMJG0WkjYbSZuDpM1F0uYhFc1HxU4m1QJjDK6iL0S5uSj5rgXc3RejEigtcRBtqYPQsiTskmO5vosV+q4VGIKbOkDg0jtRrq+Em1YloaTFar3EGr1EUC8R0kus1Uus00usL97ABr2BjXoDm/QGNhuWtMVBKOwg/i78lT7hBsAvDmwHc/ao3vmUbBmhjeYySZNWvGkfZAgISDSaDo1SVpzGDsAEkF8B+gEapViUoZgUWXcRIGFZNm6gWbAKk0bp0k1MHG9fLYtV4iS2SmLEQFARzRcnf9PUS0LVn05/J9MiRRBU3v2IrvW974v4N00L7ZMk0wXP1409CHo/an8zTRHD3eSJ6m8D4YMkZNl3M79sqeuAsr/m3f+8/yl7A50aiAEJgeBeMWzu7ui9UfUBCe2TIqZIoOd/3/udRBOQidQZUERzb2/VwZN1H/Sju82ew2H2Wfr6qvfVf3hqwDvAIpkQVFy4B9Pe9e4/XvPeceu7h3dvO56iJPf0+A6cqA2ip18ER+iFgggiuOkvj24bby0N9j2UHIkgqIt+sVgfodC4YghLSMjSZbH0VR/6dMDrYJeKHilKTemt6v6kvzvn3/RrdWtr0GoN/xL+Sex/cPYLUpepx9cz/D46UPU5KXgAQa+NDps1v6J3xP1i2HtaDB0M9aX2deA7SYff//+gUCovMmIK/qfsFcOk+4Y5ZN97XlG6zebqtMbKgeRFi51vnxTQYBUik2rS/Cn6PC8ADR8FGxsRPB82dzfND90gIcshOcYUkfjherBz53odpm6TP8txlwOZ71xmfHHOvq053qFF/MRlS3jP0ELudrf2OeN8DHvp6ZceLe8qKYvWz/7yp0u4dKPfli3CYq0O13Ih71mylJ80tOi10On8wi+F4+LWgDPeJ30msSQt9/vkmHq9/Lvo2b461mP801v3W4xTcs6CbvF9UDdrSt+A8OUbpSh55qAUFXWznBBfdeJ8a4d7ugT5tvxUza3h9m4H7ptTqiG4z0g5dc0X29OcGlhpGFMpQo9ytTS+NViZpNdvU4kWx+LKxNY10kQ1yqGXrhe4/1nvP7E+nd5A92TtaRplbHSqoIdOqtRWti+fkB5/n1+/VvCmz12pG1kpQWsfi1ftlBobm0bpngs16CHkbIwdLnParxtTV3QYRlfJ0KFskH7pdN/YDn+yRuSd7sNH3aO0DYPggk6uWuXrfOc+fa3VTxFVvKaNxHsiHmsXyCLIE5yuOeN3/Jdf8HBL/5M6shjyhxHx9BjB1O0+4NLOnjLLSxwO7ukN4jMbOIcD879KLSi6Pk61Oqm2377n8079PXEEQ7cy7OKEC9nbpet118fxweTafpt69x/Bt8UqGzNQt7aelpc44dn5cqhwf71+qKp/Zf/+a0zcizOUWpl/iBcSXip0pplkatCchoH5c5aUM8I7/dWxAej8WicPL1URFZ9BDJelUwEwTkGqUhgSlydVes95YdXvhh9Gfz/aeFWvgVb4tuLbcv4+wLdutVZv/cUonwBD/6eDlE0aSiKK/uoH3+J1wDE/jMVqY2ysGufN84oIXB0sPzy8ollX/LegY74DgJXJR57sn+VGza0x3DnuIgABFM15LmajjjsNlYj+JEZGbuRYcAMOWxFkPN2w6Wd46xo4gVWQR/X4lyI/R6K/YK0110GzudPRW7Y+UOBGTfNNzHeYT0fiH0taunBpq9HEW8OKSaBGj21L0MqenEmNRWBAWDWAk4CpNoEZJ2tTaPFgbQYj8HxtFilErs3BTRwT8uO1NXQaWfIotchmPkAF5mMBAliEmZiOGVgCG9LgRzpscMAOOwowlT3JhusdazXGSC/hxR3UlmWVwWHpOIKheqONvjyhSiTHIkVUco5bnji8m//zL7PKaT1Vl5I6UE609f+gkr6MZKVyKc7zJRmCahLsdlyA5fdQkRSan9LgnnLEyGSkaKJCJog0wAgvepWBt80+1yKln1bMVtCljfNWDueKLsWwaEbBSfSPTEmVRsUcYYMnEjcjeyCZzBXK9E9BYBXLKjOSpUDR+nEV3TFSUdQaz+ot98QxgXwx0GQ+EEUAKB2qZPkQQ0GqFD8UPFMqyaCHM24BZmSGic9EYMagKizOw9Hz50DMrDLrqqLkTAhplMictiCAx5S3BIUQdeJeLnBy2CNtMfz6cV4u8XKoFZQesbf9YZiIERiHjaNodDW6LgcirX/mPnJIkBGDUpTBhSa0EIr38D5hCIszhCM8URGBqImoWjpvpt1ebu/v3Gl3qJfMnNM+9V+kiRFyROTPHQWOcs1dNW94/ukKMPZBvDi55i5CttdeJz84DLngLqjcdwEZ87bFFR8CIG35OAkDVN6VRDZ7aq67NteYqZ2lpT8oYB2CytoBd6VuAx4WgiAsnuj3WohG+LugzXiQRDeM3XYXlULv4dp5VFYC) format("woff2"),url(/assets/KaTeX_Size3-Regular-CTq5MqoE.woff) format("woff"),url(/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2) format("woff2"),url(/assets/KaTeX_Size4-Regular-BF-4gkZK.woff) format("woff"),url(/assets/KaTeX_Size4-Regular-DWFBv043.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2) format("woff2"),url(/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff) format("woff"),url(/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.25"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}:root{--tile-bg: #0b0f14;--tile-border: #1c2633;--tile-overlay: rgba(0, 0, 0, .35)}.room-page{display:flex;flex-direction:column;height:100%}.room-content{display:grid;grid-template-columns:minmax(0,1fr) clamp(260px,28vw,340px);gap:16px;padding:12px 16px 16px;height:calc(100vh - 56px);box-sizing:border-box;overflow:hidden}.video-area{display:flex;flex-direction:column;gap:10px;height:100%;min-height:0;overflow:hidden}.video-grid{display:grid;gap:8px;width:100%;flex:1;min-height:0;background:transparent;border-radius:12px;padding:4px;box-sizing:border-box;overflow:hidden;grid-auto-rows:1fr}.video-tile{position:relative;background:var(--paper);border:1px solid var(--border);border-radius:10px;overflow:hidden;display:flex;align-items:center;justify-content:center;aspect-ratio:16 / 9;min-width:0}.video-tile.remote-placeholder{background:var(--background);border:1px dashed var(--border);display:flex;align-items:center;justify-content:center;color:var(--muted-text);padding:1rem}.video-placeholder-mini{display:flex;flex-direction:column;align-items:center;gap:.35rem;text-align:center;color:var(--muted-text)}.video-placeholder-mini svg{color:var(--accent);opacity:.6}.video-placeholder-mini p{margin:0;font-size:.85rem}.video-element{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;background:var(--background)}.video-overlay{position:absolute;left:8px;bottom:8px;background:var(--tile-overlay);color:#fff;font-size:12px;padding:4px 8px;border-radius:6px}.video-controls{display:flex;gap:10px;justify-content:center;padding:4px 0 0;flex-shrink:0}.control-btn{width:42px;height:42px;border-radius:50%;border:1px solid var(--tile-border);background:#0e151e;color:#cbd5e1;display:grid;place-items:center}.control-btn.inactive{background:#3b0d0d;color:#fca5a5}.room-sidebar{background:var(--paper);border-left:1px solid var(--border);border-radius:12px;padding:12px;overflow-y:auto;overflow-x:hidden;min-height:0}.participants-section,.room-chat-section{margin-bottom:16px}.chat-messages{background:var(--background);border:1px solid var(--border);border-radius:8px;padding:8px;height:260px;overflow:auto}.chat-input{display:flex;gap:8px;margin-top:8px}@media(max-width:1024px){.room-content{grid-template-columns:1fr;height:auto;min-height:100vh}.room-sidebar{order:2;margin-top:12px;max-height:360px}.video-area{order:1}}
