@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-scroll-snap-strictness:proximity;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:var(--font-inter);--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-500:#fb2c36;--color-orange-100:#ffedd5;--color-orange-200:#ffd7a8;--color-orange-500:#fe6e00;--color-orange-800:#9f2d00;--color-amber-600:#dd7400;--color-green-100:#dcfce7;--color-green-200:#b9f8cf;--color-green-500:#00c758;--color-green-800:#016630;--color-emerald-600:#009767;--color-blue-50:#eff6ff;--color-blue-100:#dbeafe;--color-blue-200:#bedbff;--color-blue-500:#3080ff;--color-blue-600:#155dfc;--color-blue-800:#193cb8;--color-indigo-100:#e0e7ff;--color-indigo-600:#4f39f6;--color-purple-100:#f3e8ff;--color-purple-200:#e9d5ff;--color-purple-500:#ac4bff;--color-purple-800:#6e11b0;--color-pink-600:#e30076;--color-gray-100:#f3f4f6;--color-gray-600:#4a5565;--color-gray-900:#101828;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25/1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-5xl:3rem;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-black:900;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-xs:.125rem;--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-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0,0,.2,1)infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--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-inter);--default-mono-font-family:var(--font-mono)}@supports (color:lab(0% 0 0)){:root,:host{--color-red-500:lab(55.4814% 75.0732 48.8528);--color-orange-100:lab(94.7127% 3.58394 14.3151);--color-orange-200:lab(88.4871% 9.94918 28.8378);--color-orange-500:lab(64.272% 57.1788 90.3583);--color-orange-800:lab(37.1566% 46.6433 50.5562);--color-amber-600:lab(60.3514% 40.5624 87.1228);--color-green-100:lab(96.1861% -13.8464 6.52365);--color-green-200:lab(92.4222% -26.4702 12.9427);--color-green-500:lab(70.5521% -66.5147 45.8073);--color-green-800:lab(37.4616% -36.7971 22.9692);--color-emerald-600:lab(55.0481% -49.9246 15.93);--color-blue-50:lab(96.492% -1.14644 -5.11479);--color-blue-100:lab(92.0301% -2.24757 -11.6453);--color-blue-200:lab(86.15% -4.04379 -21.0797);--color-blue-500:lab(54.1736% 13.3369 -74.6839);--color-blue-600:lab(44.0605% 29.0279 -86.0352);--color-blue-800:lab(30.2514% 27.7853 -70.2699);--color-indigo-100:lab(91.6577% 1.04591 -12.7199);--color-indigo-600:lab(38.4009% 52.6132 -92.3857);--color-purple-100:lab(93.3333% 6.97437 -9.83434);--color-purple-200:lab(87.8405% 13.4282 -18.7159);--color-purple-500:lab(52.0183% 66.11 -78.2316);--color-purple-800:lab(30.6017% 56.7637 -64.4751);--color-pink-600:lab(49.5493% 79.8381 2.31768);--color-gray-100:lab(96.1596% -.0823438 -1.13575);--color-gray-600:lab(35.6337% -1.58697 -10.8425);--color-gray-900:lab(8.11897% .811279 -12.254)}}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.-top-1{top:calc(var(--spacing)*-1)}.-top-8{top:calc(var(--spacing)*-8)}.-top-14{top:calc(var(--spacing)*-14)}.top-0{top:calc(var(--spacing)*0)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing)*2)}.top-3{top:calc(var(--spacing)*3)}.top-4{top:calc(var(--spacing)*4)}.top-8{top:calc(var(--spacing)*8)}.top-20{top:calc(var(--spacing)*20)}.top-\[68px\]{top:68px}.-right-1{right:calc(var(--spacing)*-1)}.-right-6{right:calc(var(--spacing)*-6)}.-right-14{right:calc(var(--spacing)*-14)}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.right-3{right:calc(var(--spacing)*3)}.right-4{right:calc(var(--spacing)*4)}.right-6{right:calc(var(--spacing)*6)}.right-10{right:calc(var(--spacing)*10)}.-bottom-1{bottom:calc(var(--spacing)*-1)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-3{bottom:calc(var(--spacing)*3)}.bottom-4{bottom:calc(var(--spacing)*4)}.bottom-\[12px\]{bottom:12px}.-left-20{left:calc(var(--spacing)*-20)}.left-0{left:calc(var(--spacing)*0)}.left-1\/2{left:50%}.left-1\/3{left:33.3333%}.left-3{left:calc(var(--spacing)*3)}.left-4{left:calc(var(--spacing)*4)}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.z-\[1\]{z-index:1}.z-\[180\]{z-index:180}.z-\[210\]{z-index:210}.z-\[220\]{z-index:220}.z-\[1200\]{z-index:1200}.z-\[9999\]{z-index:9999}.z-\[10000\]{z-index:10000}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing)*0)}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-4{margin-inline:calc(var(--spacing)*4)}.mx-auto{margin-inline:auto}.my-4{margin-block:calc(var(--spacing)*4)}.my-auto{margin-block:auto}.-mt-1{margin-top:calc(var(--spacing)*-1)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-1\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-2\.5{margin-top:calc(var(--spacing)*2.5)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-3\.5{margin-top:calc(var(--spacing)*3.5)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-auto{margin-top:auto}.-mr-1{margin-right:calc(var(--spacing)*-1)}.mr-1\.5{margin-right:calc(var(--spacing)*1.5)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-6{-webkit-line-clamp:6;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.h-1{height:calc(var(--spacing)*1)}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-3{height:calc(var(--spacing)*3)}.h-3\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-14{height:calc(var(--spacing)*14)}.h-16{height:calc(var(--spacing)*16)}.h-20{height:calc(var(--spacing)*20)}.h-24{height:calc(var(--spacing)*24)}.h-28{height:calc(var(--spacing)*28)}.h-36{height:calc(var(--spacing)*36)}.h-40{height:calc(var(--spacing)*40)}.h-44{height:calc(var(--spacing)*44)}.h-52{height:calc(var(--spacing)*52)}.h-\[6px\]{height:6px}.h-\[216px\]{height:216px}.h-\[320px\]{height:320px}.h-full{height:100%}.h-px{height:1px}.max-h-\[70vh\]{max-height:70vh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[calc\(100dvh-16px\)\]{max-height:calc(100dvh - 16px)}.min-h-\[30px\]{min-height:30px}.min-h-\[32px\]{min-height:32px}.min-h-\[120px\]{min-height:120px}.min-h-screen{min-height:100vh}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-1\/2{width:50%}.w-1\/3{width:33.3333%}.w-2{width:calc(var(--spacing)*2)}.w-2\/3{width:66.6667%}.w-2\/5{width:40%}.w-3{width:calc(var(--spacing)*3)}.w-3\.5{width:calc(var(--spacing)*3.5)}.w-3\/5{width:60%}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-14{width:calc(var(--spacing)*14)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-24{width:calc(var(--spacing)*24)}.w-28{width:calc(var(--spacing)*28)}.w-32{width:calc(var(--spacing)*32)}.w-36{width:calc(var(--spacing)*36)}.w-40{width:calc(var(--spacing)*40)}.w-44{width:calc(var(--spacing)*44)}.w-48{width:calc(var(--spacing)*48)}.w-52{width:calc(var(--spacing)*52)}.w-64{width:calc(var(--spacing)*64)}.w-\[1px\]{width:1px}.w-\[2px\]{width:2px}.w-\[6px\]{width:6px}.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-\[260px\]{max-width:260px}.max-w-\[280px\]{max-width:280px}.max-w-\[1800px\]{max-width:1800px}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\[140px\]{min-width:140px}.min-w-\[150px\]{min-width:150px}.min-w-\[180px\]{min-width:180px}.min-w-\[200px\]{min-width:200px}.min-w-\[220px\]{min-width:220px}.min-w-\[240px\]{min-width:240px}.min-w-max{min-width:max-content}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-y{resize:vertical}.snap-mandatory{--tw-scroll-snap-strictness:mandatory}.snap-start{scroll-snap-align:start}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}.gap-\[5px\]{gap:5px}: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-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*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-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing)*3)}:where(.-space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*-2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*-2)*calc(1 - var(--tw-space-x-reverse)))}.gap-y-1{row-gap:calc(var(--spacing)*1)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}.self-center{align-self:center}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\[20px\]{border-radius:20px}.rounded-\[22px\]{border-radius:22px}.rounded-\[24px\]{border-radius:24px}.rounded-\[26px\]{border-radius:26px}.rounded-\[28px\]{border-radius:28px}.rounded-\[30px\]{border-radius:30px}.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)}.rounded-t-xl{border-top-left-radius:var(--radius-xl);border-top-right-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-3{border-style:var(--tw-border-style);border-width:3px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-none{--tw-border-style:none;border-style:none}.border-\[var\(--border\)\]{border-color:var(--border)}.border-blue-200{border-color:var(--color-blue-200)}.border-blue-500{border-color:var(--color-blue-500)}.border-green-200{border-color:var(--color-green-200)}.border-orange-200{border-color:var(--color-orange-200)}.border-purple-200{border-color:var(--color-purple-200)}.border-t-transparent{border-top-color:#0000}.border-l-green-500{border-left-color:var(--color-green-500)}.border-l-orange-500{border-left-color:var(--color-orange-500)}.bg-\[var\(--primary\)\]{background-color:var(--primary)}.bg-\[var\(--surface-overlay-1\)\]{background-color:var(--surface-overlay-1)}.bg-black\/70{background-color:#000000b3}@supports (color:color-mix(in lab, red, red)){.bg-black\/70{background-color:color-mix(in oklab,var(--color-black)70%,transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-green-100{background-color:var(--color-green-100)}.bg-orange-100{background-color:var(--color-orange-100)}.bg-purple-100{background-color:var(--color-purple-100)}.bg-transparent{background-color:#0000}.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\/20{background-color:#fff3}@supports (color:color-mix(in lab, red, red)){.bg-white\/20{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.bg-white\/60{background-color:#fff9}@supports (color:color-mix(in lab, red, red)){.bg-white\/60{background-color:color-mix(in oklab,var(--color-white)60%,transparent)}}.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-blue-50{--tw-gradient-from:var(--color-blue-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-blue-500{--tw-gradient-from:var(--color-blue-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-green-500{--tw-gradient-from:var(--color-green-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-orange-500{--tw-gradient-from:var(--color-orange-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-purple-500{--tw-gradient-from:var(--color-purple-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-red-500{--tw-gradient-from:var(--color-red-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-amber-600{--tw-gradient-to:var(--color-amber-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-emerald-600{--tw-gradient-to:var(--color-emerald-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-indigo-100{--tw-gradient-to:var(--color-indigo-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-indigo-600{--tw-gradient-to:var(--color-indigo-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-pink-600{--tw-gradient-to:var(--color-pink-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-1\.5{padding:calc(var(--spacing)*1.5)}.p-2{padding:calc(var(--spacing)*2)}.p-2\.5{padding:calc(var(--spacing)*2.5)}.p-3{padding:calc(var(--spacing)*3)}.p-3\.5{padding:calc(var(--spacing)*3.5)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.p-7{padding:calc(var(--spacing)*7)}.p-8{padding:calc(var(--spacing)*8)}.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-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-3\.5{padding-inline:calc(var(--spacing)*3.5)}.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-10{padding-inline:calc(var(--spacing)*10)}.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-3\.5{padding-block:calc(var(--spacing)*3.5)}.py-4{padding-block:calc(var(--spacing)*4)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.py-12{padding-block:calc(var(--spacing)*12)}.py-20{padding-block:calc(var(--spacing)*20)}.pt-0\.5{padding-top:calc(var(--spacing)*.5)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-5{padding-top:calc(var(--spacing)*5)}.pt-\[10vh\]{padding-top:10vh}.pr-1{padding-right:calc(var(--spacing)*1)}.pr-3{padding-right:calc(var(--spacing)*3)}.pr-4{padding-right:calc(var(--spacing)*4)}.pr-12{padding-right:calc(var(--spacing)*12)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-6{padding-bottom:calc(var(--spacing)*6)}.pb-28{padding-bottom:calc(var(--spacing)*28)}.pb-\[max\(1\.5rem\,env\(safe-area-inset-bottom\)\)\]{padding-bottom:max(1.5rem,env(safe-area-inset-bottom))}.pb-\[max\(6rem\,calc\(68px\+env\(safe-area-inset-bottom\)\)\)\]{padding-bottom:max(6rem,calc(68px + env(safe-area-inset-bottom)))}.pl-6{padding-left:calc(var(--spacing)*6)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-top{vertical-align:top}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-inter)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[17px\]{font-size:17px}.text-\[18px\]{font-size:18px}.text-\[30px\]{font-size:30px}.text-\[44px\]{font-size:44px}.leading-4{--tw-leading:calc(var(--spacing)*4);line-height:calc(var(--spacing)*4)}.leading-5{--tw-leading:calc(var(--spacing)*5);line-height:calc(var(--spacing)*5)}.leading-6{--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}.leading-\[1\.15\]{--tw-leading:1.15;line-height:1.15}.leading-\[1\.35\]{--tw-leading:1.35;line-height:1.35}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.02em\]{--tw-tracking:-.02em;letter-spacing:-.02em}.tracking-\[-0\.03em\]{--tw-tracking:-.03em;letter-spacing:-.03em}.tracking-\[-0\.04em\]{--tw-tracking:-.04em;letter-spacing:-.04em}.tracking-\[0\.2em\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-\[0\.16em\]{--tw-tracking:.16em;letter-spacing:.16em}.tracking-\[0\.18em\]{--tw-tracking:.18em;letter-spacing:.18em}.tracking-\[0\.22em\]{--tw-tracking:.22em;letter-spacing:.22em}.tracking-\[0\.24em\]{--tw-tracking:.24em;letter-spacing:.24em}.tracking-\[1\.3px\]{--tw-tracking:1.3px;letter-spacing:1.3px}.tracking-\[1\.7px\]{--tw-tracking:1.7px;letter-spacing:1.7px}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[var\(--muted\)\]{color:var(--muted)}.text-blue-600{color:var(--color-blue-600)}.text-blue-800{color:var(--color-blue-800)}.text-gray-600{color:var(--color-gray-600)}.text-gray-900{color:var(--color-gray-900)}.text-green-800{color:var(--color-green-800)}.text-orange-800{color:var(--color-orange-800)}.text-purple-800{color:var(--color-purple-800)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-\[0\.02\]{opacity:.02}.opacity-\[0\.03\]{opacity:.03}.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)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + 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)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur-3xl{--tw-blur:blur(var(--blur-3xl));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.blur-sm{--tw-blur:blur(var(--blur-sm));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-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}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}@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-\[1\.01\]:hover{scale:1.01}.hover\:scale-\[1\.02\]:hover{scale:1.02}.hover\:bg-\[var\(--surface-overlay-1\)\]:hover{background-color:var(--surface-overlay-1)}.hover\:bg-\[var\(--surface-overlay-1\,transparent\)\]:hover{background-color:var(--surface-overlay-1,transparent)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-white\/5:hover{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/5:hover{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-70:hover{opacity:.7}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-100:hover{opacity:1}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.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\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:scale-\[0\.96\]:active{scale:.96}.active\:scale-\[0\.99\]:active{scale:.99}.active\:scale-\[0\.985\]:active{scale:.985}.active\:cursor-grabbing:active{cursor:grabbing}.disabled\:cursor-default:disabled{cursor:default}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media (min-width:40rem){.sm\:top-\[18px\]{top:18px}.sm\:right-\[18px\]{right:18px}.sm\:bottom-\[14px\]{bottom:14px}.sm\:left-5{left:calc(var(--spacing)*5)}.sm\:col-span-2{grid-column:span 2/span 2}.sm\:mb-4{margin-bottom:calc(var(--spacing)*4)}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:inline{display:inline}.sm\:h-\[260px\]{height:260px}.sm\:max-h-\[calc\(100dvh-32px\)\]{max-height:calc(100dvh - 32px)}.sm\:w-72{width:calc(var(--spacing)*72)}.sm\:w-auto{width:auto}.sm\:max-w-5xl{max-width:var(--container-5xl)}.sm\:max-w-\[540px\]{max-width:540px}.sm\:max-w-none{max-width:none}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\:grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:items-end{align-items:flex-end}.sm\:items-start{align-items:flex-start}.sm\:justify-center{justify-content:center}.sm\:gap-\[5px\]{gap:5px}.sm\:rounded-\[28px\]{border-radius:28px}.sm\:p-4{padding:calc(var(--spacing)*4)}.sm\:p-5{padding:calc(var(--spacing)*5)}.sm\:p-6{padding:calc(var(--spacing)*6)}.sm\:px-0{padding-inline:calc(var(--spacing)*0)}.sm\:px-6{padding-inline:calc(var(--spacing)*6)}.sm\:pb-5{padding-bottom:calc(var(--spacing)*5)}.sm\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.sm\:text-\[11px\]{font-size:11px}.sm\:text-\[13px\]{font-size:13px}.sm\:text-\[14px\]{font-size:14px}.sm\:text-\[22px\]{font-size:22px}.sm\:text-\[34px\]{font-size:34px}.sm\:text-\[56px\]{font-size:56px}.sm\:leading-\[1\.4\]{--tw-leading:1.4;line-height:1.4}.sm\:leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.sm\:tracking-\[1\.5px\]{--tw-tracking:1.5px;letter-spacing:1.5px}.sm\:tracking-\[2px\]{--tw-tracking:2px;letter-spacing:2px}.sm\:opacity-\[0\.035\]{opacity:.035}}@media (min-width:48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:w-auto{width:auto}.md\:min-w-\[320px\]{min-width:320px}.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-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\:grid-cols-\[1fr_180px_1fr_auto\]{grid-template-columns:1fr 180px 1fr auto}.md\:grid-cols-\[minmax\(0\,1fr\)_180px\]{grid-template-columns:minmax(0,1fr) 180px}.md\:flex-row{flex-direction:row}.md\:flex-wrap{flex-wrap:wrap}.md\:items-end{align-items:flex-end}.md\:overflow-visible{overflow:visible}.md\:p-5{padding:calc(var(--spacing)*5)}.md\:p-6{padding:calc(var(--spacing)*6)}.md\:p-8{padding:calc(var(--spacing)*8)}.md\:px-6{padding-inline:calc(var(--spacing)*6)}.md\:pb-8{padding-bottom:calc(var(--spacing)*8)}}@media (min-width:64rem){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:block{display:block}.lg\:hidden{display:none}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-\[1\.1fr_0\.9fr\]{grid-template-columns:1.1fr .9fr}.lg\:grid-cols-\[1\.4fr_0\.9fr\]{grid-template-columns:1.4fr .9fr}.lg\:grid-cols-\[1\.15fr_0\.85fr\]{grid-template-columns:1.15fr .85fr}.lg\:grid-cols-\[minmax\(0\,1\.2fr\)_minmax\(280px\,0\.8fr\)\]{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr)}.lg\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1\.2fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}.lg\:flex-row{flex-direction:row}.lg\:items-end{align-items:flex-end}.lg\:items-start{align-items:flex-start}.lg\:justify-between{justify-content:space-between}.lg\:px-8{padding-inline:calc(var(--spacing)*8)}}@media (min-width:80rem){.xl\:sticky{position:sticky}.xl\:top-4{top:calc(var(--spacing)*4)}.xl\:top-24{top:calc(var(--spacing)*24)}.xl\:w-\[230px\]{width:230px}.xl\:max-w-\[360px\]{max-width:360px}.xl\:shrink-0{flex-shrink:0}.xl\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-\[0\.9fr_1\.1fr\]{grid-template-columns:.9fr 1.1fr}.xl\:grid-cols-\[1\.08fr_0\.92fr\]{grid-template-columns:1.08fr .92fr}.xl\:grid-cols-\[1\.18fr_0\.82fr\]{grid-template-columns:1.18fr .82fr}.xl\:grid-cols-\[1\.45fr_0\.95fr\]{grid-template-columns:1.45fr .95fr}.xl\:grid-cols-\[minmax\(0\,1\.5fr\)_minmax\(320px\,0\.82fr\)\]{grid-template-columns:minmax(0,1.5fr) minmax(320px,.82fr)}.xl\:grid-cols-\[minmax\(0\,1\.5fr\)_minmax\(360px\,0\.9fr\)\]{grid-template-columns:minmax(0,1.5fr) minmax(360px,.9fr)}.xl\:grid-cols-\[minmax\(0\,1\.55fr\)_minmax\(280px\,0\.72fr\)\]{grid-template-columns:minmax(0,1.55fr) minmax(280px,.72fr)}.xl\:grid-cols-\[minmax\(260px\,0\.65fr\)_minmax\(0\,1\.35fr\)\]{grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr)}.xl\:flex-row{flex-direction:row}.xl\:items-start{align-items:flex-start}.xl\:items-stretch{align-items:stretch}.xl\:justify-between{justify-content:space-between}.xl\:self-start{align-self:flex-start}}@media (min-width:96rem){.\32 xl\:grid-cols-\[minmax\(0\,1\.35fr\)_minmax\(280px\,0\.95fr\)\]{grid-template-columns:minmax(0,1.35fr) minmax(280px,.95fr)}}}:root,[data-theme=dark]{--primary-rgb:93,140,255;--danger-rgb:255,107,138;--good-rgb:111,244,214;--accent-rgb:120,167,255;--bg:#060918;--bg-secondary:#0d1225;--card:#182854d1;--card-hover:#1e3264e6;--text:#eef3ff;--text-secondary:#c5d2ff;--muted:#96a7d7;--primary:#5d8cff;--primary-hover:#4a7aff;--accent:#78a7ff;--accent-2:#b095ff;--good:#6ff4d6;--danger:#ff6b8a;--border:#5d7dd252;--border-hover:#6a8ee680;--header-bg:#121e40eb;--header-blur:14px;--shadow:0 24px 50px #080d228c;--shadow-sm:0 8px 24px #080d2266;--lesson-bg:linear-gradient(160deg,#6ba4ff61,#578aff3d);--lesson-border:#7ab0ff73;--gradient-primary:linear-gradient(180deg,#5d8cff,#4157ff);--gradient-card:linear-gradient(180deg,#182854c7,#1c3460db);--app-bg:radial-gradient(1200px 620px at 75% -20%,#5a8aff47 0%,#06091800 55%),radial-gradient(1100px 720px at -18% 110%,#38d0ff38 0%,#06091800 65%),#060918;--badge-lecture-bg:rgba(var(--primary-rgb),.25);--badge-lecture-color:#78a7ff;--badge-lecture-border:rgba(var(--primary-rgb),.35);--badge-seminar-bg:#6ff4d633;--badge-seminar-color:#6ff4d6;--badge-seminar-border:#6ff4d659;--badge-lab-bg:#b095ff33;--badge-lab-color:#b095ff;--badge-lab-border:#b095ff59;--badge-srs-bg:#fbbf2433;--badge-srs-color:#fbbf24;--badge-srs-border:#fbbf2459;--badge-num-bg:#6ff4d626;--badge-num-color:#6ff4d6;--badge-num-border:#6ff4d64d;--badge-denom-bg:#ff9a6c26;--badge-denom-color:#ff9a6c;--badge-denom-border:#ff9a6c4d;--status-success-bg:#22c55e29;--status-success-color:#86efac;--status-success-border:#22c55e59;--status-info-bg:#3b82f629;--status-info-color:#93c5fd;--status-info-border:#3b82f659;--status-warning-bg:#eab30829;--status-warning-color:#fcd34d;--status-warning-border:#eab30859;--status-danger-bg:#ef444429;--status-danger-color:#fca5a5;--status-danger-border:#ef444459;--schedule-time-slot-bg:#ffffff08;--schedule-break-badge-bg:#ffffff08;--schedule-refresh-bg:#ffffff14;--schedule-refresh-hover-bg:rgba(var(--primary-rgb),.15);--schedule-day-selector-hover-bg:#ffffff0d;--schedule-day-selector-today-bg:rgba(var(--primary-rgb),.15);--schedule-selected-day-count-bg:#ffffff0d;--weekend-light-bg:linear-gradient(145deg,#fffffffa,#f4f7fff5);--weekend-light-border:#b0b9eb57;--weekend-light-shadow:0 22px 42px #acb1d629;--weekend-light-title:#24304a;--weekend-light-label:#5f6a8c;--weekend-light-subtitle:#4b5574d1;--weekend-light-hint:#6d7189c2;--weekend-light-dot:#5874ff3d;--weekend-light-pip:#b0b9eb66;--grades-connected-bg:linear-gradient(135deg,#3b82f624,#0f172ab8);--grades-summary-bg:linear-gradient(135deg,#3b82f638,#141e3cc7);--grades-login-bg:linear-gradient(140deg,#3b82f62e,#101828e6 58%);--grades-login-note-bg:#080c1873;--grades-input-bg:#070a14cc;--grades-input-border:#94a3b859;--grades-overview-bg:linear-gradient(135deg,#3b82f638,#0f172ac2 60%,#1e293bd6);--grades-overview-chip-bg:linear-gradient(180deg,#fff1,#ffffff0a);--grades-overview-chip-border:#93c5fd38;--grades-subject-surface:#0f172af5;--grades-assistant-bg:linear-gradient(180deg,#080c189e,#0f172a7a);--grades-grid-bg:#080c1859;--grades-journal-bg:linear-gradient(180deg,#121b35fa 0%,#080c18fa 100%);--grades-journal-item-bg:#ffffff06;--leaderboard-card-bg:radial-gradient(circle at 14% 18%,#facc1542,transparent 24%),radial-gradient(circle at 82% 22%,#60a5fa3d,transparent 26%),radial-gradient(circle at 72% 84%,#f472b638,transparent 24%),linear-gradient(145deg,#0f172afa,#18183cfa);--leaderboard-card-border:#f472b633;--leaderboard-card-shadow:0 30px 70px #0f172a57;--leaderboard-card-eyebrow-bg:#ffffff14;--leaderboard-card-orb-bg:#ffffff14;--leaderboard-card-orb-border:#ffffff14;--leaderboard-card-title:white;--leaderboard-card-text:#dbeafed1;--leaderboard-card-meta:#bfdbfeb8;--leaderboard-eyebrow-color:#fde68a;--leaderboard-warm-gradient:linear-gradient(135deg,#fcd34d,#f59e0b);--leaderboard-warm-text:#fcd34d;--leaderboard-tier-b-bg:#eab30829;--leaderboard-tier-b-color:#fde68a;--leaderboard-tier-b-border:#eab30852;--leaderboard-panel-bg:linear-gradient(180deg,#0e162ef5,#090e1efa);--leaderboard-panel-border:#6366f138;--leaderboard-panel-shadow:0 30px 80px #03071273;--leaderboard-panel-eyebrow-bg:#ffffff0f;--leaderboard-panel-title:white;--leaderboard-panel-copy:#bfdbfed6;--leaderboard-panel-refresh-bg:#0f172a94;--leaderboard-panel-refresh-border:#94a3b838;--leaderboard-panel-refresh-color:white;--leaderboard-pill-bg:#ffffff0a;--leaderboard-pill-color:#bfdbfec7;--leaderboard-surface-bg:linear-gradient(180deg,#0f172a9e,#080d1cd1);--leaderboard-surface-border:#94a3b829;--leaderboard-surface-shadow:0 18px 44px #0f172a3d;--leaderboard-muted:#bfdbfea3;--leaderboard-text:white;--leaderboard-body:#bfdbfed1;--leaderboard-input-bg:#080c186b;--leaderboard-input-border:#94a3b82e;--leaderboard-secondary-button-bg:linear-gradient(135deg,#60a5fa38,#8b5cf63d);--leaderboard-secondary-button-border:#6366f147;--leaderboard-secondary-button-color:white;--leaderboard-rank-bubble-bg:#94a3b81f;--leaderboard-rank-bubble-color:#e2e8f0db;--leaderboard-chip-bg:#ffffff0f;--leaderboard-chip-border:#94a3b829;--leaderboard-chip-color:#bfdbfed1;--leaderboard-dropdown-bg:#060a18f0;--leaderboard-dropdown-shadow:0 24px 40px #02061761;--leaderboard-dropdown-muted:#bfdbfeb3;--leaderboard-row-bg:#ffffff05;--leaderboard-row-active-bg:#3b82f614;--leaderboard-tier-s-bg:#22c55e2e;--leaderboard-tier-s-color:#bbf7d0;--leaderboard-tier-s-border:#22c55e52;--leaderboard-tier-a-bg:#10b98129;--leaderboard-tier-a-color:#a7f3d0;--leaderboard-tier-a-border:#10b9814d;--leaderboard-tier-c-bg:#f9731629;--leaderboard-tier-c-color:#fdba74;--leaderboard-tier-c-border:#f9731652;--leaderboard-tier-d-bg:rgba(var(--status-danger-rgb),.16);--leaderboard-tier-d-color:#fca5a5;--leaderboard-tier-d-border:rgba(var(--status-danger-rgb),.32);--leaderboard-tier-e-bg:#be185d2e;--leaderboard-tier-e-color:#f9a8d4;--leaderboard-tier-e-border:#be185d52;--leaderboard-error-text:#fda4af;--leaderboard-status-ok-text:#86efac;--leaderboard-status-error-text:#fda4af;--leaderboard-my-rating-color:#c4b5fd;--leaderboard-accent-emerald-gradient:linear-gradient(135deg,#34d399,#0f766e);--leaderboard-accent-purple-gradient:linear-gradient(135deg,#c084fc,#8b5cf6);--filetype-pdf-bg:#dc2626;--filetype-pdf-color:#fff;--filetype-doc-bg:#2563eb;--filetype-doc-color:#fff;--filetype-xls-bg:#059669;--filetype-xls-color:#fff;--filetype-ppt-bg:#ea580c;--filetype-ppt-color:#fff;--filetype-zip-bg:#7c3aed;--filetype-zip-color:#fff}[data-theme-scheme=light]{--schedule-time-slot-bg:linear-gradient(180deg,#eff3fffa,#f8fafffa);--schedule-break-badge-bg:linear-gradient(180deg,#fffffff0,#f2f6fff5);--schedule-refresh-bg:linear-gradient(145deg,#ffffffdb,#f0f4fff0);--schedule-refresh-hover-bg:#5874ff1f;--schedule-day-selector-hover-bg:#5874ff14;--schedule-day-selector-today-bg:#5874ff1f;--schedule-selected-day-count-bg:linear-gradient(145deg,#ffffffe0,#f1f5fff5);--weekend-light-bg:radial-gradient(circle at 14% 22%,#facc151a,transparent 22%),radial-gradient(circle at 80% 18%,#60a5fa24,transparent 24%),radial-gradient(circle at 72% 84%,#f472b61a,transparent 20%),linear-gradient(145deg,#fffffffa,#f4f7fff5 54%,#faf5fff5);--weekend-light-border:#b0b9eb57;--weekend-light-shadow:0 24px 46px #acb1d62e;--weekend-light-title:#24304a;--weekend-light-label:#5f6a8c;--weekend-light-subtitle:#4b5574d1;--weekend-light-hint:#6d7189b8;--weekend-light-dot:#5874ff3d;--weekend-light-pip:#b0b9eb6b;--grades-connected-bg:linear-gradient(145deg,#f0f4fffa,#e8f0fff0 48%,#faf5fff5);--grades-summary-bg:linear-gradient(145deg,#eff4fffa,#e8effff2 52%,#faf5fff5);--grades-login-bg:linear-gradient(145deg,#f7fafffa,#eff4fff2 55%,#faf5fff5);--grades-login-note-bg:linear-gradient(145deg,#ffffffd1,#f2f6ffeb);--grades-input-bg:linear-gradient(145deg,#ffffffeb,#f3f6fff5);--grades-input-border:#b0b9eb73;--grades-overview-bg:linear-gradient(145deg,#eef3fffa,#e7eefff2 58%,#f9f4fff7);--grades-overview-chip-bg:linear-gradient(145deg,#ffffffdb,#eff3fff5);--grades-overview-chip-border:#b0b9eb66;--grades-subject-surface:linear-gradient(145deg,#fffffff0,#f5f7fffa);--grades-assistant-bg:linear-gradient(145deg,#ffffffdb,#f4f7fff2);--grades-grid-bg:linear-gradient(145deg,#ffffffd6,#f2f6fff0);--grades-journal-bg:linear-gradient(180deg,#fffffffa,#f5f8fff5);--grades-journal-item-bg:linear-gradient(145deg,#ffffffe0,#f5f7fff5);--leaderboard-card-bg:radial-gradient(circle at 14% 18%,#facc1529,transparent 24%),radial-gradient(circle at 82% 22%,#60a5fa29,transparent 28%),radial-gradient(circle at 72% 84%,#f472b624,transparent 24%),linear-gradient(145deg,#f0f4ff,#faf5ff);--leaderboard-card-border:#8b5cf638;--leaderboard-card-shadow:0 26px 56px #acb1d647;--leaderboard-card-eyebrow-bg:#ffffffad;--leaderboard-card-orb-bg:#ffffff8f;--leaderboard-card-orb-border:#b0b9eb57;--leaderboard-card-title:#1f2337;--leaderboard-card-text:#5b6285;--leaderboard-card-meta:#6d7189;--leaderboard-eyebrow-color:#b45309;--leaderboard-warm-gradient:linear-gradient(135deg,#d97706,#b45309);--leaderboard-warm-text:#b45309;--leaderboard-tier-b-bg:linear-gradient(145deg,#fef3c7e6,#fffbebfa);--leaderboard-tier-b-color:#92400e;--leaderboard-tier-b-border:#d9770638;--leaderboard-panel-bg:radial-gradient(circle at 14% 16%,#fbbf2424,transparent 24%),radial-gradient(circle at 84% 12%,#60a5fa1f,transparent 26%),radial-gradient(circle at 72% 86%,#f472b61f,transparent 24%),linear-gradient(145deg,#f5f7fffa,#faf5fff5);--leaderboard-panel-border:#8b5cf62e;--leaderboard-panel-shadow:0 28px 60px #acb1d652;--leaderboard-panel-eyebrow-bg:#ffffffb3;--leaderboard-panel-title:#1f2337;--leaderboard-panel-copy:#5b6285;--leaderboard-panel-refresh-bg:linear-gradient(145deg,#ffffffd1,#f0f4ffeb);--leaderboard-panel-refresh-border:#b0b9eb59;--leaderboard-panel-refresh-color:#28304a;--leaderboard-pill-bg:linear-gradient(145deg,#ffffffd1,#f0f4fff0);--leaderboard-pill-color:#59607d;--leaderboard-surface-bg:linear-gradient(145deg,#ffffffe0,#f4f7fffa);--leaderboard-surface-border:#b0b9eb57;--leaderboard-surface-shadow:0 18px 38px #acb1d62e;--leaderboard-muted:#6d7189;--leaderboard-text:#1f2337;--leaderboard-body:#5b6285;--leaderboard-input-bg:linear-gradient(145deg,#ffffffeb,#f3f6fff5);--leaderboard-input-border:#b0b9eb61;--leaderboard-secondary-button-bg:linear-gradient(145deg,#e8effffa,#f3ecfff5);--leaderboard-secondary-button-border:#8b5cf63d;--leaderboard-secondary-button-color:#364062;--leaderboard-rank-bubble-bg:linear-gradient(145deg,#e8efffeb,#f5f7fff5);--leaderboard-rank-bubble-color:#5b6285;--leaderboard-chip-bg:linear-gradient(145deg,#ffffffdb,#f1f5fff0);--leaderboard-chip-border:#b0b9eb4d;--leaderboard-chip-color:#59607d;--leaderboard-dropdown-bg:linear-gradient(180deg,#fffffffa,#f6f8fffa);--leaderboard-dropdown-shadow:0 20px 34px #acb1d633;--leaderboard-dropdown-muted:#6d7189;--leaderboard-row-bg:linear-gradient(145deg,#ffffffd6,#f4f7fff0);--leaderboard-row-active-bg:linear-gradient(145deg,#e7ecfff5,#f3edfff5)}[data-theme=light]{--primary-rgb:88,116,255;--danger-rgb:220,38,38;--good-rgb:22,163,74;--accent-rgb:88,116,255;--surface-overlay-1:#1c203c0a;--surface-overlay-2:#1c203c0f;--surface-overlay-3:#1c203c17;--surface-border-1:#1c203c14;--surface-border-2:#1c203c1f;--bg:#f4f6ff;--bg-secondary:#fff;--card:#fffffff2;--card-hover:#fff;--text:#1f2337;--text-secondary:#4d5170;--muted:#6d7189;--primary:#5874ff;--primary-hover:#4563ff;--accent:#5874ff;--accent-2:#8b5cf6;--good:#16a34a;--danger:#dc2626;--border:#c2c6e1a6;--border-hover:#acb3f2cc;--header-bg:#ffffffeb;--header-blur:12px;--shadow:0 24px 48px #acb1d659;--shadow-sm:0 8px 20px #acb1d640;--lesson-bg:linear-gradient(160deg,#5874ff1f,#5874ff0f);--lesson-border:#5874ff40;--gradient-primary:linear-gradient(180deg,#5874ff,#4563ff);--gradient-card:linear-gradient(180deg,#ffffffe6,#f8fafff2);--app-bg:linear-gradient(135deg,#f4f6ff 0%,#e8ecff 100%);--badge-lecture-bg:#3b82f626;--badge-lecture-color:#2563eb;--badge-lecture-border:#3b82f666;--badge-seminar-bg:#16a34a1f;--badge-seminar-color:#16a34a;--badge-seminar-border:#16a34a59;--badge-lab-bg:#8b5cf61f;--badge-lab-color:#7c3aed;--badge-lab-border:#8b5cf659;--badge-srs-bg:#f59e0b26;--badge-srs-color:#d97706;--badge-srs-border:#f59e0b66;--badge-num-bg:#16a34a1a;--badge-num-color:#16a34a;--badge-num-border:#16a34a4d;--badge-denom-bg:#ea580c1a;--badge-denom-color:#ea580c;--badge-denom-border:#ea580c4d;--status-success-bg:#16a34a24;--status-success-color:#15803d;--status-success-border:#16a34a47;--status-info-bg:#3b82f624;--status-info-color:#2563eb;--status-info-border:#3b82f647;--status-warning-bg:linear-gradient(145deg,#fef3c7eb,#fffbebfa);--status-warning-color:#b45309;--status-warning-border:#d977063d;--status-danger-bg:#ef44441f;--status-danger-color:#b91c1c;--status-danger-border:#ef444438;--schedule-time-slot-bg:linear-gradient(180deg,#eff3fffa,#f8fafffa);--schedule-break-badge-bg:linear-gradient(180deg,#fffffff0,#f2f6fff5);--schedule-refresh-bg:linear-gradient(145deg,#ffffffdb,#f0f4fff0);--schedule-refresh-hover-bg:#5874ff1f;--schedule-day-selector-hover-bg:#5874ff14;--schedule-day-selector-today-bg:#5874ff1f;--schedule-selected-day-count-bg:linear-gradient(145deg,#ffffffe0,#f1f5fff5);--weekend-light-bg:radial-gradient(circle at 14% 22%,#facc151a,transparent 22%),radial-gradient(circle at 80% 18%,#60a5fa24,transparent 24%),radial-gradient(circle at 72% 84%,#f472b61a,transparent 20%),linear-gradient(145deg,#fffffffa,#f4f7fff5 54%,#faf5fff5);--weekend-light-border:#b0b9eb57;--weekend-light-shadow:0 24px 46px #acb1d62e;--weekend-light-title:#24304a;--weekend-light-label:#5f6a8c;--weekend-light-subtitle:#4b5574d1;--weekend-light-hint:#6d7189b8;--weekend-light-dot:#5874ff3d;--weekend-light-pip:#b0b9eb6b;--grades-connected-bg:linear-gradient(145deg,#f0f4fffa,#e8f0fff0 48%,#faf5fff5);--grades-summary-bg:linear-gradient(145deg,#eff4fffa,#e8effff2 52%,#faf5fff5);--grades-login-bg:linear-gradient(145deg,#f7fafffa,#eff4fff2 55%,#faf5fff5);--grades-login-note-bg:linear-gradient(145deg,#ffffffd1,#f2f6ffeb);--grades-input-bg:linear-gradient(145deg,#ffffffeb,#f3f6fff5);--grades-input-border:#b0b9eb73;--grades-overview-bg:linear-gradient(145deg,#eef3fffa,#e7eefff2 58%,#f9f4fff7);--grades-overview-chip-bg:linear-gradient(145deg,#ffffffdb,#eff3fff5);--grades-overview-chip-border:#b0b9eb66;--grades-subject-surface:linear-gradient(145deg,#fffffff0,#f5f7fffa);--grades-assistant-bg:linear-gradient(145deg,#ffffffdb,#f4f7fff2);--grades-grid-bg:linear-gradient(145deg,#ffffffd6,#f2f6fff0);--grades-journal-bg:linear-gradient(180deg,#fffffffa,#f5f8fff5);--grades-journal-item-bg:linear-gradient(145deg,#ffffffe0,#f5f7fff5);--leaderboard-card-bg:radial-gradient(circle at 14% 18%,#facc1529,transparent 24%),radial-gradient(circle at 82% 22%,#60a5fa29,transparent 28%),radial-gradient(circle at 72% 84%,#f472b624,transparent 24%),linear-gradient(145deg,#f0f4ff,#faf5ff);--leaderboard-card-border:#8b5cf638;--leaderboard-card-shadow:0 26px 56px #acb1d647;--leaderboard-card-eyebrow-bg:#ffffffad;--leaderboard-card-orb-bg:#ffffff8f;--leaderboard-card-orb-border:#b0b9eb57;--leaderboard-card-title:#1f2337;--leaderboard-card-text:#5b6285;--leaderboard-card-meta:#6d7189;--leaderboard-eyebrow-color:#b45309;--leaderboard-warm-gradient:linear-gradient(135deg,#d97706,#b45309);--leaderboard-warm-text:#b45309;--leaderboard-tier-b-bg:linear-gradient(145deg,#fef3c7e6,#fffbebfa);--leaderboard-tier-b-color:#92400e;--leaderboard-tier-b-border:#d9770638;--leaderboard-panel-bg:radial-gradient(circle at 14% 16%,#fbbf2424,transparent 24%),radial-gradient(circle at 84% 12%,#60a5fa1f,transparent 26%),radial-gradient(circle at 72% 86%,#f472b61f,transparent 24%),linear-gradient(145deg,#f5f7fffa,#faf5fff5);--leaderboard-panel-border:#8b5cf62e;--leaderboard-panel-shadow:0 28px 60px #acb1d652;--leaderboard-panel-eyebrow-bg:#ffffffb3;--leaderboard-panel-title:#1f2337;--leaderboard-panel-copy:#5b6285;--leaderboard-panel-refresh-bg:linear-gradient(145deg,#ffffffd1,#f0f4ffeb);--leaderboard-panel-refresh-border:#b0b9eb59;--leaderboard-panel-refresh-color:#28304a;--leaderboard-pill-bg:linear-gradient(145deg,#ffffffd1,#f0f4fff0);--leaderboard-pill-color:#59607d;--leaderboard-surface-bg:linear-gradient(145deg,#ffffffe0,#f4f7fffa);--leaderboard-surface-border:#b0b9eb57;--leaderboard-surface-shadow:0 18px 38px #acb1d62e;--leaderboard-muted:#6d7189;--leaderboard-text:#1f2337;--leaderboard-body:#5b6285;--leaderboard-input-bg:linear-gradient(145deg,#ffffffeb,#f3f6fff5);--leaderboard-input-border:#b0b9eb61;--leaderboard-secondary-button-bg:linear-gradient(145deg,#e8effffa,#f3ecfff5);--leaderboard-secondary-button-border:#8b5cf63d;--leaderboard-secondary-button-color:#364062;--leaderboard-rank-bubble-bg:linear-gradient(145deg,#e8efffeb,#f5f7fff5);--leaderboard-rank-bubble-color:#5b6285;--leaderboard-chip-bg:linear-gradient(145deg,#ffffffdb,#f1f5fff0);--leaderboard-chip-border:#b0b9eb4d;--leaderboard-chip-color:#59607d;--leaderboard-dropdown-bg:linear-gradient(180deg,#fffffffa,#f6f8fffa);--leaderboard-dropdown-shadow:0 20px 34px #acb1d633;--leaderboard-dropdown-muted:#6d7189;--leaderboard-row-bg:linear-gradient(145deg,#ffffffd6,#f4f7fff0);--leaderboard-row-active-bg:linear-gradient(145deg,#e7ecfff5,#f3edfff5);--leaderboard-tier-s-bg:linear-gradient(145deg,#dcfce7f5,#f0fdf4fa);--leaderboard-tier-s-color:#166534;--leaderboard-tier-s-border:#22c55e52;--leaderboard-tier-a-bg:linear-gradient(145deg,#d1fae5f5,#ecfdf5fa);--leaderboard-tier-a-color:#065f46;--leaderboard-tier-a-border:#10b9814d;--leaderboard-tier-c-bg:linear-gradient(145deg,#ffedd5f5,#fff7edfa);--leaderboard-tier-c-color:#9a3412;--leaderboard-tier-c-border:#f9731652;--leaderboard-tier-d-bg:linear-gradient(145deg,#fee2e2f5,#fff1f2fa);--leaderboard-tier-d-color:#991b1b;--leaderboard-tier-d-border:rgba(var(--status-danger-rgb),.32);--leaderboard-tier-e-bg:linear-gradient(145deg,#fce7f3f5,#fdf2f8fa);--leaderboard-tier-e-color:#9d174d;--leaderboard-tier-e-border:#be185d52;--leaderboard-error-text:#b91c1c;--leaderboard-status-ok-text:#15803d;--leaderboard-status-error-text:#b91c1c;--leaderboard-my-rating-color:#6d28d9;--leaderboard-accent-emerald-gradient:linear-gradient(135deg,#10b981,#0f766e);--leaderboard-accent-purple-gradient:linear-gradient(135deg,#a855f7,#7c3aed);--filetype-pdf-bg:#dc2626;--filetype-pdf-color:#fff;--filetype-doc-bg:#2563eb;--filetype-doc-color:#fff;--filetype-xls-bg:#059669;--filetype-xls-color:#fff;--filetype-ppt-bg:#ea580c;--filetype-ppt-color:#fff;--filetype-zip-bg:#7c3aed;--filetype-zip-color:#fff}[data-theme=deep-blue]{--primary-rgb:122,162,255;--danger-rgb:255,107,138;--good-rgb:103,232,166;--accent-rgb:122,162,255;--bg:#0f1420;--bg-secondary:#161c2b;--card:#161c2bf2;--card-hover:#1c2436fa;--text:#e9efff;--text-secondary:#cfe0ff;--muted:#9fb4ff;--primary:#7aa2ff;--primary-hover:#6694ff;--accent:#7aa2ff;--accent-2:#ffd37a;--good:#67e8a6;--danger:#ff6b8a;--border:#7aa2ff33;--border-hover:#7aa2ff66;--header-bg:#0f1420f2;--header-blur:10px;--shadow:0 8px 30px #00000073;--shadow-sm:0 4px 16px #00000059;--lesson-bg:linear-gradient(180deg,#7aa2ff26,#7aa2ff14);--lesson-border:#7aa2ff4d;--gradient-primary:linear-gradient(180deg,#7aa2ff,#5a88ff);--gradient-card:linear-gradient(180deg,#1a2140,#161c2b);--app-bg:linear-gradient(180deg,#0f1420 0%,#161c2b 100%);--badge-lecture-bg:#7aa2ff33;--badge-lecture-color:#7aa2ff;--badge-lecture-border:#7aa2ff59;--badge-seminar-bg:#67e8a626;--badge-seminar-color:#67e8a6;--badge-seminar-border:#67e8a64d;--badge-lab-bg:#ffd37a26;--badge-lab-color:#ffd37a;--badge-lab-border:#ffd37a4d;--badge-srs-bg:#fbbf2433;--badge-srs-color:#fbbf24;--badge-srs-border:#fbbf2459;--badge-num-bg:#67e8a61f;--badge-num-color:#67e8a6;--badge-num-border:#67e8a640;--badge-denom-bg:#ff9a6c1f;--badge-denom-color:#ff9a6c;--badge-denom-border:#ff9a6c40;--leaderboard-tier-s-bg:#67e8a62e;--leaderboard-tier-s-color:#bbf7d0;--leaderboard-tier-s-border:#67e8a652;--leaderboard-tier-a-bg:#7aa2ff2e;--leaderboard-tier-a-color:#cfe0ff;--leaderboard-tier-a-border:#7aa2ff52;--leaderboard-tier-c-bg:#ffd37a2e;--leaderboard-tier-c-color:#ffd37a;--leaderboard-tier-c-border:#ffd37a57;--leaderboard-tier-d-bg:rgba(var(--status-danger-rgb),.18);--leaderboard-tier-d-color:#ff9eb3;--leaderboard-tier-d-border:rgba(var(--status-danger-rgb),.34);--leaderboard-tier-e-bg:#be185d33;--leaderboard-tier-e-color:#f9a8d4;--leaderboard-tier-e-border:#be185d57;--leaderboard-error-text:#ff9eb3;--leaderboard-status-ok-text:#86efac;--leaderboard-status-error-text:#ff9eb3;--leaderboard-my-rating-color:#c4b5fd;--leaderboard-accent-emerald-gradient:linear-gradient(135deg,#34d399,#0f766e);--leaderboard-accent-purple-gradient:linear-gradient(135deg,#a78bfa,#6366f1);--filetype-pdf-bg:#dc2626;--filetype-pdf-color:#fff;--filetype-doc-bg:#2563eb;--filetype-doc-color:#fff;--filetype-xls-bg:#059669;--filetype-xls-color:#fff;--filetype-ppt-bg:#ea580c;--filetype-ppt-color:#fff;--filetype-zip-bg:#7c3aed;--filetype-zip-color:#fff}[data-theme=aurora]{--primary-rgb:74,222,128;--danger-rgb:251,113,133;--good-rgb:74,222,128;--accent-rgb:56,189,248;--bg:#0a0f1a;--bg-secondary:#101828;--card:#14233ce6;--card-hover:#192d4bf2;--text:#e8fff8;--text-secondary:#a8e8d8;--muted:#7ac8b8;--primary:#4ade80;--primary-hover:#22c55e;--accent:#38bdf8;--accent-2:#a78bfa;--good:#4ade80;--danger:#fb7185;--border:#4ade8040;--border-hover:#4ade8073;--header-bg:#0a0f1af2;--header-blur:12px;--shadow:0 20px 40px #00000080;--shadow-sm:0 8px 20px #0006;--lesson-bg:linear-gradient(160deg,#4ade8033,#38bdf826);--lesson-border:#4ade8059;--gradient-primary:linear-gradient(180deg,#4ade80,#22c55e);--gradient-card:linear-gradient(180deg,#142d46e6,#0f2337d9);--app-bg:radial-gradient(ellipse at top left,#4ade8026,transparent 50%),radial-gradient(ellipse at bottom right,#38bdf81a,transparent 50%),#0a0f1a;--badge-lecture-bg:#38bdf833;--badge-lecture-color:#38bdf8;--badge-lecture-border:#38bdf859;--badge-seminar-bg:#4ade802e;--badge-seminar-color:#4ade80;--badge-seminar-border:#4ade8059;--badge-lab-bg:#a78bfa2e;--badge-lab-color:#a78bfa;--badge-lab-border:#a78bfa59;--badge-srs-bg:#fbbf242e;--badge-srs-color:#fbbf24;--badge-srs-border:#fbbf2459;--badge-num-bg:#4ade801f;--badge-num-color:#4ade80;--badge-num-border:#4ade8040;--badge-denom-bg:#fb71851f;--badge-denom-color:#fb7185;--badge-denom-border:#fb718540;--leaderboard-tier-s-bg:#4ade8033;--leaderboard-tier-s-color:#bbf7d0;--leaderboard-tier-s-border:#4ade8059;--leaderboard-tier-a-bg:#38bdf82e;--leaderboard-tier-a-color:#bae6fd;--leaderboard-tier-a-border:#38bdf857;--leaderboard-tier-c-bg:#a78bfa2e;--leaderboard-tier-c-color:#ddd6fe;--leaderboard-tier-c-border:#a78bfa57;--leaderboard-tier-d-bg:#fb71852e;--leaderboard-tier-d-color:#fda4af;--leaderboard-tier-d-border:#fb718557;--leaderboard-tier-e-bg:#be185d33;--leaderboard-tier-e-color:#f9a8d4;--leaderboard-tier-e-border:#be185d57;--leaderboard-error-text:#fda4af;--leaderboard-status-ok-text:#86efac;--leaderboard-status-error-text:#fda4af;--leaderboard-my-rating-color:#c4b5fd;--leaderboard-accent-emerald-gradient:linear-gradient(135deg,#34d399,#0d9488);--leaderboard-accent-purple-gradient:linear-gradient(135deg,#a78bfa,#38bdf8);--filetype-pdf-bg:#dc2626;--filetype-pdf-color:#fff;--filetype-doc-bg:#2563eb;--filetype-doc-color:#fff;--filetype-xls-bg:#059669;--filetype-xls-color:#fff;--filetype-ppt-bg:#ea580c;--filetype-ppt-color:#fff;--filetype-zip-bg:#7c3aed;--filetype-zip-color:#fff}[data-theme=sunset]{--primary-rgb:249,115,22;--danger-rgb:239,68,68;--good-rgb:74,222,128;--accent-rgb:251,146,60;--bg:#1a1014;--bg-secondary:#251820;--card:#321e28e6;--card-hover:#3c2332f2;--text:#fff5f0;--text-secondary:#ffc8b8;--muted:#d89888;--primary:#f97316;--primary-hover:#ea580c;--accent:#fb923c;--accent-2:#fbbf24;--good:#4ade80;--danger:#ef4444;--border:#f973164d;--border-hover:#f9731680;--header-bg:#1a1014f2;--header-blur:12px;--shadow:0 20px 40px #0000008c;--shadow-sm:0 8px 20px #00000073;--lesson-bg:linear-gradient(160deg,#f9731640,#fbbf2426);--lesson-border:#f9731666;--gradient-primary:linear-gradient(180deg,#f97316,#ea580c);--gradient-card:linear-gradient(180deg,#3c232de6,#2d1923d9);--app-bg:radial-gradient(ellipse at top,#f9731633,transparent 60%),radial-gradient(ellipse at bottom,#fbbf241a,transparent 50%),#1a1014;--badge-lecture-bg:#fb923c33;--badge-lecture-color:#fb923c;--badge-lecture-border:#fb923c59;--badge-seminar-bg:#4ade802e;--badge-seminar-color:#4ade80;--badge-seminar-border:#4ade8059;--badge-lab-bg:#fbbf2433;--badge-lab-color:#fbbf24;--badge-lab-border:#fbbf2459;--badge-srs-bg:#f9731633;--badge-srs-color:#f97316;--badge-srs-border:#f9731659;--badge-num-bg:#4ade801f;--badge-num-color:#4ade80;--badge-num-border:#4ade8040;--badge-denom-bg:#ef44441f;--badge-denom-color:#ef4444;--badge-denom-border:#ef444440;--leaderboard-tier-s-bg:#4ade8033;--leaderboard-tier-s-color:#bbf7d0;--leaderboard-tier-s-border:#4ade8059;--leaderboard-tier-a-bg:#fbbf2433;--leaderboard-tier-a-color:#fde68a;--leaderboard-tier-a-border:#fbbf2459;--leaderboard-tier-c-bg:#fb923c33;--leaderboard-tier-c-color:#fdba74;--leaderboard-tier-c-border:#fb923c59;--leaderboard-tier-d-bg:#ef444433;--leaderboard-tier-d-color:#fca5a5;--leaderboard-tier-d-border:#ef444459;--leaderboard-tier-e-bg:#be185d38;--leaderboard-tier-e-color:#f9a8d4;--leaderboard-tier-e-border:#be185d5c;--leaderboard-error-text:#fca5a5;--leaderboard-status-ok-text:#86efac;--leaderboard-status-error-text:#fca5a5;--leaderboard-my-rating-color:#fdba74;--leaderboard-accent-emerald-gradient:linear-gradient(135deg,#f97316,#ea580c);--leaderboard-accent-purple-gradient:linear-gradient(135deg,#fbbf24,#f59e0b);--filetype-pdf-bg:#dc2626;--filetype-pdf-color:#fff;--filetype-doc-bg:#2563eb;--filetype-doc-color:#fff;--filetype-xls-bg:#059669;--filetype-xls-color:#fff;--filetype-ppt-bg:#ea580c;--filetype-ppt-color:#fff;--filetype-zip-bg:#7c3aed;--filetype-zip-color:#fff}[data-theme=matrix]{--primary-rgb:0,255,65;--danger-rgb:255,51,51;--good-rgb:0,255,65;--accent-rgb:57,255,20;--bg:#0a0f0a;--bg-secondary:#0f170f;--card:#0f1e0ff2;--card-hover:#142814fa;--text:#00ff41;--text-secondary:#0c3;--muted:#009926;--primary:#00ff41;--primary-hover:#0c3;--accent:#00ff41;--accent-2:#39ff14;--good:#00ff41;--danger:#f33;--border:#00ff4140;--border-hover:#00ff4173;--header-bg:#0a0f0af2;--header-blur:8px;--shadow:0 0 30px #00ff4126;--shadow-sm:0 0 15px #00ff411a;--lesson-bg:linear-gradient(180deg,#00ff411f,#00ff410f);--lesson-border:#00ff4159;--gradient-primary:linear-gradient(180deg,#00ff41,#0c3);--gradient-card:linear-gradient(180deg,#0f230ff2,#0a190ae6);--app-bg:#0a0f0a;--badge-lecture-bg:#00ff4126;--badge-lecture-color:#00ff41;--badge-lecture-border:#00ff414d;--badge-seminar-bg:#39ff141f;--badge-seminar-color:#39ff14;--badge-seminar-border:#39ff1447;--badge-lab-bg:#00cc3326;--badge-lab-color:#0c3;--badge-lab-border:#00cc334d;--badge-srs-bg:#00ff412e;--badge-srs-color:#00ff41;--badge-srs-border:#00ff4159;--badge-num-bg:#39ff141a;--badge-num-color:#39ff14;--badge-num-border:#39ff1438;--badge-denom-bg:#ff33331f;--badge-denom-color:#f33;--badge-denom-border:#ff333340;--leaderboard-tier-s-bg:#00ff412e;--leaderboard-tier-s-color:#00ff41;--leaderboard-tier-s-border:#00ff4157;--leaderboard-tier-a-bg:#39ff1426;--leaderboard-tier-a-color:#39ff14;--leaderboard-tier-a-border:#39ff1452;--leaderboard-tier-c-bg:#00cc3329;--leaderboard-tier-c-color:#0c3;--leaderboard-tier-c-border:#00cc3352;--leaderboard-tier-d-bg:#ff33332e;--leaderboard-tier-d-color:#ff8a8a;--leaderboard-tier-d-border:#ff333357;--leaderboard-tier-e-bg:#ff333338;--leaderboard-tier-e-color:#ffb3b3;--leaderboard-tier-e-border:#f336;--leaderboard-error-text:#ff8a8a;--leaderboard-status-ok-text:#00ff41;--leaderboard-status-error-text:#ff8a8a;--leaderboard-my-rating-color:#39ff14;--leaderboard-accent-emerald-gradient:linear-gradient(135deg,#00ff41,#0c3);--leaderboard-accent-purple-gradient:linear-gradient(135deg,#39ff14,#00ff41);--filetype-pdf-bg:#dc2626;--filetype-pdf-color:#fff;--filetype-doc-bg:#2563eb;--filetype-doc-color:#fff;--filetype-xls-bg:#059669;--filetype-xls-color:#fff;--filetype-ppt-bg:#ea580c;--filetype-ppt-color:#fff;--filetype-zip-bg:#7c3aed;--filetype-zip-color:#fff}[data-theme=pastel]{--primary-rgb:232,121,169;--danger-rgb:252,165,165;--good-rgb:134,239,172;--accent-rgb:165,180,252;--bg:#fef7f0;--bg-secondary:#fff;--card:#fffffffa;--card-hover:#fff;--text:#5a4a5c;--text-secondary:#7a6a7c;--muted:#9a8a9c;--primary:#e879a9;--primary-hover:#d6689a;--accent:#a5b4fc;--accent-2:#fcd34d;--good:#86efac;--danger:#fca5a5;--border:#e879a940;--border-hover:#e879a973;--header-bg:#fffffff2;--header-blur:12px;--shadow:0 20px 40px #5a4a5c1f;--shadow-sm:0 8px 20px #5a4a5c14;--lesson-bg:linear-gradient(160deg,#a5b4fc40,#e879a926);--lesson-border:#a5b4fc66;--gradient-primary:linear-gradient(180deg,#e879a9,#d6689a);--gradient-card:linear-gradient(180deg,#fff5f8,#f0f4ff);--app-bg:linear-gradient(135deg,#fef7f0 0%,#fff0f5 50%,#f0f4ff 100%);--badge-lecture-bg:#a5b4fc4d;--badge-lecture-color:#6366f1;--badge-lecture-border:#a5b4fc80;--badge-seminar-bg:#86efac40;--badge-seminar-color:#22c55e;--badge-seminar-border:#86efac73;--badge-lab-bg:#fcd34d40;--badge-lab-color:#d97706;--badge-lab-border:#fcd34d73;--badge-srs-bg:#e879a933;--badge-srs-color:#db2777;--badge-srs-border:#e879a966;--badge-num-bg:#86efac2e;--badge-num-color:#22c55e;--badge-num-border:#86efac59;--badge-denom-bg:#fca5a533;--badge-denom-color:#ef4444;--badge-denom-border:#fca5a566;--weekend-light-bg:radial-gradient(circle at 20% 30%,#e879a92e,transparent 35%),radial-gradient(circle at 80% 70%,#a5b4fc2e,transparent 35%),linear-gradient(145deg,#fff5f8,#f0f4ff);--weekend-light-border:#e879a947;--weekend-light-shadow:0 22px 42px #e879a91f;--weekend-light-title:#5a4a5c;--weekend-light-label:#e879a9;--weekend-light-subtitle:#5a4a5cb8;--weekend-light-hint:#9a8a9cc2;--weekend-light-dot:#e879a94d;--weekend-light-pip:#e879a940;--leaderboard-tier-s-bg:linear-gradient(145deg,#dcfce7eb,#f0fdf4f5);--leaderboard-tier-s-color:#15803d;--leaderboard-tier-s-border:#86efac80;--leaderboard-tier-a-bg:linear-gradient(145deg,#cffafeeb,#ecfefff5);--leaderboard-tier-a-color:#0e7490;--leaderboard-tier-a-border:#7dd3fc80;--leaderboard-tier-c-bg:linear-gradient(145deg,#ffedd5eb,#fff7edf5);--leaderboard-tier-c-color:#c2410c;--leaderboard-tier-c-border:#fdba7480;--leaderboard-tier-d-bg:linear-gradient(145deg,#fee2e2eb,#fff1f2f5);--leaderboard-tier-d-color:#b91c1c;--leaderboard-tier-d-border:#fca5a580;--leaderboard-tier-e-bg:linear-gradient(145deg,#fce7f3eb,#fdf2f8f5);--leaderboard-tier-e-color:#be185d;--leaderboard-tier-e-border:#f472b680;--leaderboard-error-text:#db2777;--leaderboard-status-ok-text:#15803d;--leaderboard-status-error-text:#db2777;--leaderboard-my-rating-color:#7c3aed;--leaderboard-accent-emerald-gradient:linear-gradient(135deg,#34d399,#14b8a6);--leaderboard-accent-purple-gradient:linear-gradient(135deg,#c084fc,#a855f7);--filetype-pdf-bg:#dc2626;--filetype-pdf-color:#fff;--filetype-doc-bg:#2563eb;--filetype-doc-color:#fff;--filetype-xls-bg:#059669;--filetype-xls-color:#fff;--filetype-ppt-bg:#ea580c;--filetype-ppt-color:#fff;--filetype-zip-bg:#7c3aed;--filetype-zip-color:#fff}[data-theme=referral-nebula]{--primary-rgb:129,140,248;--danger-rgb:251,113,133;--good-rgb:45,212,191;--accent-rgb:244,114,182;--bg:#090b1d;--bg-secondary:#11142d;--card:#141834eb;--card-hover:#1c2146f5;--text:#f3f0ff;--text-secondary:#d6d1ff;--muted:#a7a3d8;--primary:#818cf8;--primary-hover:#6366f1;--accent:#f472b6;--accent-2:#2dd4bf;--good:#2dd4bf;--danger:#fb7185;--border:#818cf847;--border-hover:#f472b66b;--header-bg:#0d1026eb;--header-blur:14px;--shadow:0 26px 58px #04061894;--shadow-sm:0 10px 26px #0406186b;--lesson-bg:linear-gradient(160deg,#818cf833,#f472b61a);--lesson-border:#818cf852;--gradient-primary:linear-gradient(180deg,#8b5cf6,#6366f1);--gradient-card:linear-gradient(180deg,#181c3ce6,#0e122cf5);--app-bg:radial-gradient(900px 560px at 82% -12%,#818cf83d 0%,#090b1d00 55%),radial-gradient(780px 520px at -8% 108%,#f472b629 0%,#090b1d00 58%),linear-gradient(180deg,#090b1d 0%,#11142d 100%)}[data-theme=referral-sherbet]{--primary-rgb:236,97,103;--danger-rgb:220,38,38;--good-rgb:34,197,94;--accent-rgb:251,146,60;--bg:#fff7ed;--bg-secondary:#fff;--card:#fffffff5;--card-hover:#fff;--text:#34251f;--text-secondary:#6b4e43;--muted:#8b7065;--primary:#ec6167;--primary-hover:#db4d55;--accent:#fb923c;--accent-2:#facc15;--good:#22c55e;--danger:#dc2626;--border:#ec616738;--border-hover:#fb923c61;--header-bg:#fffaf5e6;--header-blur:12px;--shadow:0 24px 48px #a5593b29;--shadow-sm:0 10px 22px #a5593b1a;--lesson-bg:linear-gradient(160deg,#fb923c24,#ec616714);--lesson-border:#ec616738;--gradient-primary:linear-gradient(180deg,#fb7185,#f97316);--gradient-card:linear-gradient(180deg,#fffffff5,#fff7edfa);--app-bg:radial-gradient(900px 540px at 92% -10%,#fb923c2e 0%,#fff7ed00 50%),radial-gradient(760px 440px at -8% 100%,#f472b61f 0%,#fff7ed00 52%),linear-gradient(180deg,#fff7ed 0%,#fff1f2 100%)}[data-theme=supporter-midnight]{--primary-rgb:244,186,74;--danger-rgb:255,120,120;--good-rgb:110,231,183;--accent-rgb:125,211,252;--bg:#08111f;--bg-secondary:#0f1a30;--card:#101b34eb;--card-hover:#142242fa;--text:#f6f3eb;--text-secondary:#ddd4bd;--muted:#a8a18d;--primary:#f4ba4a;--primary-hover:#e6ab39;--accent:#7dd3fc;--accent-2:#f59e0b;--good:#6ee7b7;--danger:#ff7878;--border:#f4ba4a38;--border-hover:#f4ba4a6b;--header-bg:#0c1628eb;--header-blur:14px;--shadow:0 24px 50px #040a168c;--shadow-sm:0 10px 24px #040a1666;--lesson-bg:linear-gradient(160deg,#f4ba4a29,#7dd3fc14);--lesson-border:#f4ba4a3d;--gradient-primary:linear-gradient(180deg,#f4ba4a,#d9901f);--gradient-card:linear-gradient(180deg,#121e38e6,#0d182ef5);--app-bg:radial-gradient(900px 520px at 82% -10%,#f4ba4a2e 0%,#08111f00 55%),radial-gradient(760px 480px at 0% 100%,#7dd3fc1f 0%,#08111f00 58%),linear-gradient(180deg,#08111f 0%,#0b1527 100%)}[data-theme=supporter-paper]{--primary-rgb:68,152,137;--danger-rgb:220,90,90;--good-rgb:34,197,94;--accent-rgb:125,211,252;--bg:#f6fbf7;--bg-secondary:#fff;--card:#fffffcf7;--card-hover:#fff;--text:#263238;--text-secondary:#4f625c;--muted:#73857f;--primary:#449889;--primary-hover:#367b6f;--accent:#7dd3fc;--accent-2:#8dd3c7;--good:#22c55e;--danger:#dc5a5a;--border:#44988938;--border-hover:#4498895c;--header-bg:#fffffce6;--header-blur:12px;--shadow:0 22px 44px #5e7e7529;--shadow-sm:0 10px 22px #5e7e751a;--lesson-bg:linear-gradient(160deg,#4498891f,#7dd3fc14);--lesson-border:#4498892e;--gradient-primary:linear-gradient(180deg,#55b29f,#449889);--gradient-card:linear-gradient(180deg,#fffffcf5,#f6fbf7fa);--app-bg:radial-gradient(900px 540px at 100% 0%,#4498891a 0%,#f6fbf700 48%),radial-gradient(720px 420px at 0% 100%,#7dd3fc1a 0%,#f6fbf700 52%),linear-gradient(180deg,#f6fbf7 0%,#edf7f1 100%);--status-warning-bg:linear-gradient(145deg,#fef3c7eb,#fffbebfa);--status-warning-color:#b45309;--status-warning-border:#d977063d}body{background:var(--bg);color:var(--text)}body:after{background:var(--app-bg)}:root{--background:#060918;--foreground:#eef3ff;--primary:#5d8cff;--primary-dark:#4a7aff;--card-bg:var(--card);--font-inter:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Ubuntu,sans-serif;--radius:16px;--header-blur:14px;--space-1:4px;--space-1-5:6px;--space-2:8px;--space-2-5:10px;--space-3:12px;--space-3-5:14px;--space-4:16px;--space-4-5:18px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--radius-xs:6px;--radius-sm:8px;--radius-md:10px;--radius-lg:12px;--radius-xl:14px;--radius-2xl:18px;--radius-3xl:20px;--radius-4xl:24px;--radius-pill:999px;--text-3xs:9px;--text-2xs:10px;--text-xs:11px;--text-sm:12px;--text-base:13px;--text-md:14px;--text-lg:15px;--text-xl:17px;--text-2xl:18px;--text-3xl:20px;--text-4xl:24px;--text-5xl:30px;--weight-normal:500;--weight-medium:600;--weight-semibold:700;--weight-bold:800;--tracking-wide:.07em;--tracking-wider:.08em;--shadow-card-overview:0 18px 40px #0206172e;--shadow-card-emphasis:0 16px 40px #02061729;--shadow-modal-soft:0 14px 30px #02061740;--shadow-modal-strong:0 28px 80px #02061773;--overlay-modal-backdrop:#020617b8;--overlay-light:#ffffff0d;--status-danger-rgb:239,68,68;--status-warning-rgb:245,158,11;--status-success-rgb:34,197,94;--status-info-rgb:59,130,246;--surface-overlay-1:#ffffff08;--surface-overlay-2:#ffffff0d;--surface-overlay-3:#ffffff14;--surface-border-1:#ffffff0f;--surface-border-2:#ffffff1a;--tile-tone-primary:rgba(var(--primary-rgb),.18);--tile-tone-good:rgba(var(--good-rgb),.18);--tile-tone-accent:rgba(var(--accent-rgb),.18);--tile-tone-danger:rgba(var(--danger-rgb),.16);--tile-tone-warning:rgba(var(--status-warning-rgb),.16);--gradient-workspace-hero:linear-gradient(145deg,#1b2e63fa,#0d152ef5 58%,#090e20fa);--gradient-workspace-card:linear-gradient(145deg,#0c1222f5,#0f172ac7);--gradient-workspace-glass:linear-gradient(180deg,#ffffff12,#ffffff08);--shadow-workspace-card:0 18px 40px #0206172e;--shadow-workspace-hero:0 20px 64px #0206173d,inset 0 1px 0 #ffffff0f;--border-workspace:1px solid #6366f138;--border-workspace-card:1px solid #94a3b829;--radius-workspace:24px;--radius-workspace-hero:28px}*{box-sizing:border-box}button,[role=button],a[href],summary{cursor:pointer}button:disabled,[role=button][aria-disabled=true]{cursor:not-allowed}html{scroll-behavior:smooth;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior-y:contain;min-height:100vh;margin:0;line-height:1.45;position:relative}body:after{content:"";background:var(--app-bg);z-index:-2;pointer-events:none;width:100%;height:100%;position:fixed;top:0;left:0}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:rgba(var(--primary-rgb),.35);border-radius:3px;transition:background .2s}::-webkit-scrollbar-thumb:hover{background:rgba(var(--primary-rgb),.55)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}::selection{background:rgba(var(--primary-rgb),.3);color:var(--text)}:where(body,.card,.lesson-card,.btn,.bottom-nav-item,.view-btn,.day-selector-btn,.theme-option,.refresh-btn,.exam-card,.day-card){transition-property:color,background-color,border-color,box-shadow,transform,opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}html.theme-switching *,html.theme-switching :before,html.theme-switching :after{transition:none!important}html.theme-switching .theme-bg,html.theme-switching .theme-bg *{animation:none!important}.admin-mode-frame{pointer-events:none;inset:max(6px,env(safe-area-inset-top))max(6px,env(safe-area-inset-right))max(6px,env(safe-area-inset-bottom))max(6px,env(safe-area-inset-left));z-index:9998;border:2px solid rgba(var(--primary-rgb),.52);box-shadow:inset 0 0 0 1px rgba(var(--primary-rgb),.24),0 0 0 1px rgba(var(--primary-rgb),.14),0 0 30px rgba(var(--primary-rgb),.22);border-radius:22px;position:fixed}.admin-mode-frame[data-tone=super]{border-color:rgba(var(--status-warning-rgb),.7);box-shadow:inset 0 0 0 1px rgba(var(--status-warning-rgb),.3),0 0 0 1px rgba(var(--status-warning-rgb),.18),0 0 34px rgba(var(--status-warning-rgb),.24)}.admin-mode-frame-label{top:max(10px,calc(env(safe-area-inset-top) + 10px));border:1px solid rgba(var(--primary-rgb),.38);background:var(--surface);border-radius:999px;align-items:center;gap:6px;min-height:26px;padding:5px 11px;display:inline-flex;position:fixed;left:50%;transform:translate(-50%)}@supports (color:color-mix(in lab, red, red)){.admin-mode-frame-label{background:color-mix(in srgb,var(--surface)88%,transparent)}}.admin-mode-frame-label{color:var(--primary);box-shadow:0 10px 24px rgba(var(--shadow-rgb),.18);font-size:11px;font-weight:var(--weight-semibold);letter-spacing:0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);line-height:1}.admin-mode-frame[data-tone=super] .admin-mode-frame-label{border-color:var(--status-warning-border);color:var(--status-warning-color)}.admin-mode-badge{border:1px solid rgba(var(--primary-rgb),.34);background:rgba(var(--primary-rgb),.12);min-height:26px;color:var(--primary);font-size:10px;font-weight:var(--weight-semibold);letter-spacing:0;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;line-height:1;display:inline-flex}.admin-mode-badge[data-tone=super]{border-color:var(--status-warning-border);background:var(--status-warning-bg);color:var(--status-warning-color)}.bottom-nav{z-index:100;height:68px;padding-bottom:env(safe-area-inset-bottom,0);background:var(--header-bg);-webkit-backdrop-filter:saturate(180%)blur(var(--header-blur));border-top:1px solid var(--border);justify-content:space-around;align-items:stretch;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 30px #0000004d}.bottom-nav:before{content:"";background:linear-gradient(90deg,transparent,rgba(var(--primary-rgb),.3)20%,rgba(var(--primary-rgb),.5)50%,rgba(var(--primary-rgb),.3)80%,transparent);pointer-events:none;opacity:.55;height:1px;position:absolute;inset:0 0 auto}.bottom-nav-item{height:100%;color:var(--muted);-webkit-tap-highlight-color:transparent;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;text-decoration:none;transition:color .25s;display:flex;position:relative}.bottom-nav-item:before{content:"";background:radial-gradient(ellipse at center,rgba(var(--primary-rgb),.22),rgba(var(--primary-rgb),.08)60%,transparent 80%);opacity:0;pointer-events:none;border-radius:14px;width:56px;height:44px;transition:opacity .28s,transform .32s cubic-bezier(.34,1.56,.64,1);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.8)}.bottom-nav-item:after{content:"";transform-origin:50%;background:var(--gradient-primary);width:28px;height:3px;box-shadow:0 2px 8px rgba(var(--primary-rgb),.42);border-radius:0 0 4px 4px;transition:transform .32s cubic-bezier(.34,1.56,.64,1);position:absolute;top:0;left:50%;transform:translate(-50%)scaleX(0)}.bottom-nav-item:hover{color:var(--text-secondary)}.bottom-nav-item:active{transform:scale(.96)}.bottom-nav-item.active{color:var(--primary)}.bottom-nav-item.active:before{opacity:1;transform:translate(-50%,-50%)scale(1)}.bottom-nav-item.active:after{transform:translate(-50%)scaleX(1)}.bottom-nav-icon{z-index:1;justify-content:center;align-items:center;width:24px;height:24px;transition:transform .32s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative}.bottom-nav-item:not(.active):hover .bottom-nav-icon{transform:translateY(-1px)}.bottom-nav-label{z-index:1;letter-spacing:.02em;font-size:11px;font-weight:500;transition:font-weight .18s,letter-spacing .18s;position:relative}.bottom-nav-item.active .bottom-nav-label{letter-spacing:.04em;font-weight:700}@media (prefers-reduced-motion:reduce){.bottom-nav-item:before,.bottom-nav-item:after,.bottom-nav-icon,.bottom-nav-label{transition:none!important}.bottom-nav-item:active{transform:none}}.page-content{min-height:100vh;padding-bottom:calc(80px + env(safe-area-inset-bottom,0))}.page-shell{animation:.3s ease-out fadeIn}.page-main{width:100%}.page-main-spacing-md{padding:1rem}.page-main-spacing-lg{padding:1.5rem 1rem}.page-state-card-message{margin:0}.page-state-card-message-muted{color:var(--muted)}.page-state-card-message-danger{color:var(--danger)}.theme-link{color:var(--primary);text-decoration:none;transition:color .2s}.theme-link:hover{color:var(--primary-hover);text-decoration:underline}.theme-link-muted{color:var(--muted);text-decoration:none;transition:color .2s}.theme-link-muted:hover{color:var(--primary)}.theme-status-dot{border-radius:999px;width:.5rem;height:.5rem;display:inline-block}.theme-status-dot-warning{background:var(--status-warning-color)}.theme-status-badge-info{background:var(--status-info-bg);color:var(--status-info-color);border:1px solid var(--status-info-border)}.app-header{z-index:50;background:var(--header-bg);-webkit-backdrop-filter:saturate(180%)blur(var(--header-blur));border-bottom:1px solid var(--border);padding:14px 16px 12px;position:relative;top:0}.app-header:after{content:"";background:linear-gradient(90deg,transparent 0%,rgba(var(--primary-rgb),.22)30%,rgba(var(--accent-rgb),.32)50%,rgba(var(--primary-rgb),.22)70%,transparent 100%);pointer-events:none;background-size:200% 100%;height:1px;animation:9s ease-in-out infinite alternate app-header-shimmer;position:absolute;bottom:-1px;left:0;right:0}@keyframes app-header-shimmer{0%{opacity:.7;background-position:0%}to{opacity:1;background-position:100%}}@media (prefers-reduced-motion:reduce){.app-header:after{animation:none!important}}.app-header-title{color:var(--text);letter-spacing:-.025em;margin:0;font-size:22px;font-weight:800;line-height:1.15}.app-header-subtitle{color:var(--muted);margin-top:4px;font-size:13px;line-height:1.4}@media (min-width:640px){.app-header{padding:18px 24px 14px}.app-header-title{font-size:26px}}.card{background:linear-gradient(180deg,#ffffff0a 0%,transparent 35%),var(--card);border:1px solid var(--border);box-shadow:0 1px 0 #ffffff0a inset,var(--shadow);border-radius:18px;transition:transform .2s,box-shadow .2s,border-color .2s;position:relative;overflow:hidden}[data-theme-scheme=light] .card{background:linear-gradient(180deg,#ffffff80 0%,transparent 30%),var(--card);box-shadow:0 1px 0 #fff9 inset,var(--shadow)}.card-interactive{cursor:pointer}.card-interactive:before{content:"";border-radius:inherit;background:radial-gradient(280px 200px at var(--mx,50%)var(--my,0%),rgba(var(--primary-rgb),.14),transparent 70%);opacity:0;pointer-events:none;z-index:0;transition:opacity .28s;position:absolute;inset:0}.card-interactive>*{z-index:1;position:relative}.card-interactive:hover{border-color:rgba(var(--primary-rgb),.35);transform:translateY(-2px);box-shadow:inset 0 1px #ffffff0f,0 12px 28px #0206172e}.card-interactive:hover:before{opacity:1}.card-interactive:active{transition-duration:80ms;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.card-interactive,.card-interactive:before{transition:none!important}.card-interactive:hover{transform:none}}.admin-surface{--admin-page-bg:radial-gradient(900px 560px at 78% -12%,rgba(var(--primary-rgb),.14),transparent 56%),linear-gradient(180deg,var(--bg)0%,var(--bg-secondary)100%);--admin-card-bg:linear-gradient(180deg,rgba(var(--primary-rgb),.1),#080d1e6b),var(--card);--admin-card-border:rgba(var(--primary-rgb),.42);--admin-card-shadow:0 24px 60px #00000057,inset 0 1px 0 #ffffff09;--admin-hero-bg:linear-gradient(135deg,rgba(var(--primary-rgb),.12),rgba(var(--accent-rgb),.055)),linear-gradient(180deg,#0a1024bd,#080d1ee0),var(--card);--admin-hero-alt-bg:linear-gradient(135deg,rgba(var(--accent-rgb),.1),rgba(var(--primary-rgb),.045)),linear-gradient(180deg,#0a1024bd,#080d1ee0),var(--card);--admin-hero-mixed-bg:linear-gradient(135deg,rgba(var(--primary-rgb),.1),rgba(var(--good-rgb),.045)),linear-gradient(180deg,#0a1024c2,#080d1ee6),var(--card);--admin-hero-border:rgba(var(--primary-rgb),.46);--admin-hero-shadow:0 24px 64px #00000057;--admin-hero-chip-bg:rgba(var(--primary-rgb),.18);--admin-hero-chip-text:var(--primary);--admin-hero-muted:var(--muted);--admin-panel-bg:rgba(var(--primary-rgb),.075);--admin-panel-border:rgba(var(--primary-rgb),.28);--admin-panel-muted:var(--muted);--admin-row-bg:#ffffff0b;--admin-row-border:rgba(var(--primary-rgb),.2);--admin-soft-card-bg:#ffffff0b;--admin-soft-card-border:rgba(var(--primary-rgb),.22);--admin-soft-card-strong-border:rgba(var(--primary-rgb),.34);--admin-soft-label:var(--muted);--admin-soft-text:var(--text);--admin-input-bg:#ffffff0e;--admin-input-border:rgba(var(--primary-rgb),.3);--admin-input-shadow:inset 0 1px 0 #ffffff06;--admin-pill-bg:rgba(var(--primary-rgb),.1);--admin-pill-border:rgba(var(--primary-rgb),.22);--admin-pill-text:var(--muted);--admin-pill-active-bg:rgba(var(--primary-rgb),.18);--admin-pill-active-border:rgba(var(--primary-rgb),.4);--admin-pill-active-text:var(--primary);--admin-top-card-bg:linear-gradient(135deg,rgba(var(--primary-rgb),.12),#ffffff09);--admin-top-card-border:rgba(var(--primary-rgb),.28);--admin-top-badge-muted-bg:#ffffff0f}.admin-surface .card{background:var(--admin-card-bg);border-color:var(--admin-card-border);box-shadow:var(--admin-card-shadow)}.admin-panel{background:var(--admin-panel-bg);border:1px solid var(--admin-panel-border)}.admin-row{background:var(--admin-row-bg);border:1px solid var(--admin-row-border)}.admin-soft-card{background:var(--admin-soft-card-bg);border:1px solid var(--admin-soft-card-border)}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;padding:12px 4px 8px;display:flex}.page-header-text{flex:1;min-width:0}.page-header-eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-size:11px;font-weight:700;display:inline-block}.page-header-title-row{align-items:center;gap:14px;display:flex}.page-header-icon{background:var(--gradient-primary);color:#fff;width:44px;height:44px;box-shadow:0 8px 20px rgba(var(--primary-rgb),.25);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;font-size:22px;display:inline-flex}.page-header-title{letter-spacing:-.025em;color:var(--text);margin:0;font-size:26px;font-weight:800;line-height:1.1}@media (min-width:640px){.page-header-title{font-size:30px}.page-header{padding:16px 4px 12px}}.page-header-subtitle{color:var(--muted);max-width:60ch;margin:8px 0 0;font-size:13px;line-height:1.5}.page-header-action{flex-shrink:0;align-items:center;gap:8px;display:flex}.elevated-card{background:linear-gradient(180deg,#ffffff0a 0%,transparent 40%),var(--card);border:1px solid var(--border);border-radius:18px;transition:transform .2s,box-shadow .2s,border-color .2s;position:relative;box-shadow:inset 0 1px #ffffff0a,0 6px 18px #0206171f}.elevated-card-interactive{cursor:pointer}.elevated-card-interactive:hover{border-color:rgba(var(--primary-rgb),.35);transform:translateY(-1px);box-shadow:inset 0 1px #ffffff0f,0 12px 28px #0206172e}[data-theme-scheme=light] .elevated-card{background:linear-gradient(180deg,#00000005 0%,transparent 40%),var(--card);box-shadow:inset 0 1px #ffffffb3,0 6px 18px #6370a01a}.lesson-card-v2{background:var(--card);border:1px solid var(--border);border-radius:14px;gap:14px;padding:14px 16px 14px 18px;transition:transform .22s cubic-bezier(.4,0,.2,1),border-color .22s,box-shadow .22s;display:flex;position:relative;overflow:hidden}.lesson-card-v2:after{content:"";border-radius:inherit;background:radial-gradient(180px 100px at 30% 0%,var(--lesson-accent,var(--primary)),transparent 70%);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.lesson-card-v2:after{background:radial-gradient(180px 100px at 30% 0%,color-mix(in srgb,var(--lesson-accent,var(--primary))18%,transparent),transparent 70%)}}.lesson-card-v2:after{opacity:0;pointer-events:none;z-index:0;transition:opacity .28s}.lesson-card-v2>*{z-index:1;position:relative}.lesson-card-v2:hover{border-color:var(--lesson-accent,var(--primary));transform:translateY(-1px)}@supports (color:color-mix(in lab, red, red)){.lesson-card-v2:hover{border-color:color-mix(in srgb,var(--lesson-accent,var(--primary))45%,var(--border))}}.lesson-card-v2:hover{box-shadow:0 6px 16px var(--lesson-accent,var(--primary))}@supports (color:color-mix(in lab, red, red)){.lesson-card-v2:hover{box-shadow:0 6px 16px color-mix(in srgb,var(--lesson-accent,var(--primary))14%,transparent)}}.lesson-card-v2:hover:after{opacity:1}.lesson-card-v2:before{content:"";background:var(--lesson-accent,var(--primary));width:4px;box-shadow:0 0 12px var(--lesson-accent,var(--primary));border-radius:4px;position:absolute;top:12px;bottom:12px;left:6px}@supports (color:color-mix(in lab, red, red)){.lesson-card-v2:before{box-shadow:0 0 12px color-mix(in srgb,var(--lesson-accent,var(--primary))36%,transparent)}}.lesson-card-v2:before{z-index:2}@media (prefers-reduced-motion:reduce){.lesson-card-v2,.lesson-card-v2:after{transition:none!important}.lesson-card-v2:hover{transform:none}}.lesson-card-v2[data-type=lecture]{--lesson-accent:#60a5fa}.lesson-card-v2[data-type=seminar]{--lesson-accent:#a78bfa}.lesson-card-v2[data-type=laboratory]{--lesson-accent:#2dd4bf}.lesson-card-v2[data-type=practice]{--lesson-accent:#fb923c}.lesson-card-v2[data-type=srsp]{--lesson-accent:#f472b6}.lesson-card-v2[data-type=other]{--lesson-accent:#94a3b8}.lesson-card-time{font-variant-numeric:tabular-nums;color:var(--text);letter-spacing:-.01em;flex-shrink:0;min-width:56px;font-size:15px;font-weight:700}.lesson-card-time-end{color:var(--muted);margin-top:2px;font-size:12px;font-weight:500}.lesson-card-body{flex:1;min-width:0}.lesson-card-title{color:var(--text);font-size:14px;font-weight:700;line-height:1.35}.lesson-card-meta{color:var(--muted);flex-wrap:wrap;gap:10px;margin-top:6px;font-size:12px;display:flex}.lesson-card-meta-item{align-items:center;gap:4px;display:inline-flex}.profile-hero{background:radial-gradient(circle at top right,rgba(var(--primary-rgb),.16),transparent 60%),radial-gradient(circle at bottom left,rgba(var(--accent-rgb),.12),transparent 50%),var(--card);border:1px solid var(--border);border-radius:24px;flex-wrap:wrap;align-items:flex-start;gap:20px;padding:24px;display:flex;position:relative;overflow:hidden}.profile-hero-avatar{background:var(--gradient-primary);color:#fff;width:84px;height:84px;box-shadow:0 16px 36px rgba(var(--primary-rgb),.28);border-radius:22px;flex-shrink:0;justify-content:center;align-items:center;font-size:32px;font-weight:800;display:flex}.profile-hero-info{flex:200px;min-width:0}.profile-hero-name{letter-spacing:-.02em;color:var(--text);overflow-wrap:anywhere;font-size:22px;font-weight:800;line-height:1.15}.profile-hero-meta{color:var(--muted);overflow-wrap:anywhere;margin-top:6px;font-size:13px}.profile-hero-summary{flex-direction:column;gap:10px;width:100%;min-width:0;display:flex}@media (min-width:720px){.profile-hero-summary{align-items:flex-end;width:auto}}.profile-hero-actions{justify-content:flex-start;width:100%;display:flex}@media (min-width:720px){.profile-hero-actions{justify-content:flex-end}}.profile-hero-refresh{background:rgba(var(--primary-rgb),.14);color:var(--primary);border:1px solid rgba(var(--primary-rgb),.18);border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:600;transition:background .18s,opacity .18s;display:inline-flex}.profile-hero-refresh:hover:not(:disabled){background:rgba(var(--primary-rgb),.22)}.profile-hero-refresh:disabled{opacity:.5;cursor:not-allowed}.profile-hero-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;display:grid}@media (min-width:720px){.profile-hero-stats{grid-template-columns:repeat(3,minmax(120px,1fr));width:auto}}.profile-hero-stat{background:rgba(var(--primary-rgb),.08);border:1px solid rgba(var(--primary-rgb),.16);border-radius:14px;padding:10px 14px}.profile-hero-stat-label{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}.profile-hero-stat-value{color:var(--text);letter-spacing:-.02em;margin-top:4px;font-size:20px;font-weight:800}.workspace-hero{background:var(--gradient-workspace-hero);border:var(--border-workspace);border-radius:var(--radius-workspace-hero);box-shadow:var(--shadow-workspace-hero)}.workspace-card{background:var(--gradient-workspace-card);border:var(--border-workspace-card);border-radius:var(--radius-workspace);box-shadow:var(--shadow-workspace-card)}.workspace-glass{background:var(--gradient-workspace-glass);border:1px solid var(--surface-border-2);border-radius:22px}.surface-overlay-1{background:var(--surface-overlay-1)}.surface-overlay-2{background:var(--surface-overlay-2)}.surface-overlay-3{background:var(--surface-overlay-3)}.chip{background:var(--surface-overlay-2);color:var(--muted);white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;border:1px solid #0000;border-radius:999px;align-items:center;gap:4px;padding:6px 12px;font-size:12px;font-weight:500;line-height:1;transition:background .18s,color .18s,border-color .18s,transform .18s,box-shadow .22s;display:inline-flex}.chip:hover{background:var(--surface-overlay-3);color:var(--text);transform:translateY(-1px)}.chip:active{transition-duration:80ms;transform:scale(.96)}.chip[data-active=true]{background:rgba(var(--primary-rgb),.18);color:var(--primary);border-color:rgba(var(--primary-rgb),.32);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}.chip[data-active=true]:hover{background:rgba(var(--primary-rgb),.24)}@media (prefers-reduced-motion:reduce){.chip{transition:none!important}.chip:hover,.chip:active{transform:none}}.chip[data-tone=primary]{background:rgba(var(--primary-rgb),.16);color:var(--primary)}.chip[data-tone=danger]{background:rgba(var(--status-danger-rgb),.16);color:var(--danger)}.chip[data-tone=success]{background:rgba(var(--status-success-rgb),.18);color:var(--good)}.chip[data-tone=warning]{background:rgba(var(--status-warning-rgb),.18);color:#d97706}.chip[data-tone=muted]{background:var(--surface-overlay-2);color:var(--muted)}.chip[data-size=sm]{padding:4px 10px;font-size:11px}.chip[data-size=lg]{padding:8px 14px;font-size:13px}.metric-card{--tone-rgb:var(--primary-rgb);background:var(--card);border:1px solid var(--border);border-radius:16px;padding:20px;transition:transform .18s cubic-bezier(.4,0,.2,1),border-color .18s,box-shadow .22s;position:relative;overflow:hidden}.metric-card:before{content:"";border-radius:inherit;background:radial-gradient(220px 160px at var(--mx,50%)var(--my,0%),rgba(var(--tone-rgb),.18),transparent 70%);opacity:0;pointer-events:none;transition:opacity .25s;position:absolute;inset:-1px}.metric-card:hover{border-color:rgba(var(--tone-rgb),.28);box-shadow:0 8px 24px rgba(var(--tone-rgb),.1),0 2px 6px #0000000a;transform:translateY(-2px)}.metric-card:hover:before{opacity:1}.metric-card-icon{background:var(--tile-tone-primary);border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;transition:transform .22s cubic-bezier(.34,1.56,.64,1);display:flex}.metric-card:hover .metric-card-icon{transform:scale(1.06)rotate(-3deg)}.metric-card[data-tone=good]{--tone-rgb:var(--good-rgb)}.metric-card[data-tone=accent]{--tone-rgb:var(--accent-rgb)}.metric-card[data-tone=danger]{--tone-rgb:var(--danger-rgb)}.metric-card[data-tone=warning]{--tone-rgb:var(--warning-rgb,255,176,64)}.metric-card[data-tone=good] .metric-card-icon{background:var(--tile-tone-good)}.metric-card[data-tone=accent] .metric-card-icon{background:var(--tile-tone-accent)}.metric-card[data-tone=danger] .metric-card-icon{background:var(--tile-tone-danger)}.metric-card[data-tone=warning] .metric-card-icon{background:var(--tile-tone-warning)}@media (prefers-reduced-motion:reduce){.metric-card,.metric-card-icon,.metric-card:before{transition:none!important}.metric-card:hover,.metric-card:hover .metric-card-icon{transform:none}}.text-fg{color:var(--text)}.text-muted-fg{color:var(--muted)}.text-secondary-fg{color:var(--text-secondary)}.text-danger-fg{color:var(--danger)}.text-good-fg{color:var(--good)}.text-accent-fg{color:var(--accent)}.text-accent-2-fg{color:var(--accent-2)}.text-primary-fg{color:var(--primary)}.bg-app{background:var(--bg)}.bg-card{background:var(--card)}.bg-secondary-app{background:var(--bg-secondary)}.border-app{border-color:var(--border)}.admin-surface header,.admin-surface [data-admin-tabs]{box-shadow:0 12px 28px #0000002e}[data-theme-scheme=light] .admin-surface{--admin-page-bg:radial-gradient(900px 560px at 78% -12%,rgba(var(--primary-rgb),.1),transparent 56%),linear-gradient(180deg,var(--bg)0%,var(--bg-secondary)100%);--admin-card-bg:linear-gradient(180deg,#fffffffa,#f6f9fff2);--admin-card-border:rgba(var(--primary-rgb),.26);--admin-card-shadow:0 22px 52px #6370a02e;--admin-hero-bg:linear-gradient(135deg,rgba(var(--primary-rgb),.12),rgba(var(--accent-rgb),.06)),#fffffff5;--admin-hero-alt-bg:linear-gradient(135deg,rgba(var(--accent-rgb),.1),rgba(var(--primary-rgb),.05)),#fffffff5;--admin-hero-mixed-bg:linear-gradient(135deg,rgba(var(--primary-rgb),.1),rgba(var(--good-rgb),.06)),#fffffff5;--admin-hero-border:rgba(var(--primary-rgb),.24);--admin-hero-shadow:0 22px 52px #6370a02e;--admin-panel-bg:rgba(var(--primary-rgb),.045);--admin-panel-border:rgba(var(--primary-rgb),.18);--admin-row-bg:#ffffffb8;--admin-row-border:rgba(var(--primary-rgb),.14);--admin-soft-card-bg:#ffffffb8;--admin-soft-card-border:rgba(var(--primary-rgb),.16);--admin-soft-card-strong-border:rgba(var(--primary-rgb),.24);--admin-input-bg:#ffffffe0;--admin-input-border:rgba(var(--primary-rgb),.2);--admin-top-card-bg:linear-gradient(135deg,rgba(var(--primary-rgb),.08),#ffffffc2);--admin-top-card-border:rgba(var(--primary-rgb),.18);--admin-top-badge-muted-bg:rgba(var(--primary-rgb),.08)}.card-header{background:var(--gradient-primary);border-bottom:1px solid var(--border);padding:14px 16px}.card-header-title{color:#fff;margin:0;font-size:1rem;font-weight:600}.card-body{padding:16px}.lesson-card{background:var(--lesson-bg);border:1px solid var(--lesson-border);border-radius:8px;margin-bottom:6px;padding:8px 10px;transition:all .2s;position:relative;overflow:hidden}.lesson-card:last-child{margin-bottom:0}.lesson-card:before{content:"";background:var(--primary);width:3px;height:100%;position:absolute;top:0;left:0}.lesson-card.parity-num:before{background:var(--good)}.lesson-card.parity-den:before{background:var(--danger)}.lesson-title{color:var(--text);margin-bottom:4px;font-size:.85rem;font-weight:600;line-height:1.3}.lesson-badge{border-radius:10px;align-items:center;gap:3px;margin-bottom:4px;margin-right:4px;padding:2px 6px;font-size:.65rem;font-weight:600;display:inline-flex}.lesson-badge.lecture{background:var(--badge-lecture-bg);color:var(--badge-lecture-color);border:1px solid var(--badge-lecture-border)}.lesson-badge.seminar{background:var(--badge-seminar-bg);color:var(--badge-seminar-color);border:1px solid var(--badge-seminar-border)}.lesson-badge.lab{background:var(--badge-lab-bg);color:var(--badge-lab-color);border:1px solid var(--badge-lab-border)}.lesson-badge.srs{background:var(--badge-srs-bg);color:var(--badge-srs-color);border:1px solid var(--badge-srs-border)}.lesson-badge.numerator{background:var(--badge-num-bg);color:var(--badge-num-color);border:1px solid var(--badge-num-border)}.lesson-badge.denominator{background:var(--badge-denom-bg);color:var(--badge-denom-color);border:1px solid var(--badge-denom-border)}.lesson-detail{color:var(--text-secondary);align-items:flex-start;gap:8px;margin-top:6px;font-size:.85rem;line-height:1.4;display:flex}.lesson-detail-icon{width:14px;height:14px;color:var(--muted);flex-shrink:0;margin-top:3px}.time-slot{background:var(--schedule-time-slot-bg);border-right:1px solid var(--border);flex-direction:column;justify-content:center;align-items:center;min-width:55px;padding:6px 8px;display:flex}.time-start{color:var(--accent);font-size:.75rem;font-weight:600}.time-divider{color:var(--muted);margin:1px 0;font-size:.6rem}.time-end{color:var(--muted);font-size:.7rem}.day-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:10px;overflow:hidden}.day-card.today{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary),var(--shadow)}.day-header{background:var(--gradient-card);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.day-header.today{background:var(--lesson-bg)}.day-name{color:var(--text);font-size:.9rem;font-weight:700}.day-count{color:var(--muted);background:var(--bg-secondary);border-radius:12px;padding:3px 8px;font-size:.7rem}.day-lessons{padding:8px}.break-row{align-items:center;gap:8px;margin:2px 0 10px;padding-left:64px;display:flex}.break-line{background:linear-gradient(to right,transparent,var(--border),transparent);flex:1;height:1px}.break-badge{color:var(--muted);background:var(--schedule-break-badge-bg);border:1px solid var(--border);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:.68rem}.swipe-indicator{justify-content:center;gap:6px;margin-bottom:16px;padding:8px;display:flex}.swipe-dot{background:var(--muted);opacity:.4;border-radius:50%;width:8px;height:8px;transition:all .25s}.swipe-dot.active{background:var(--primary);opacity:1;transform:scale(1.2)}.exam-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px;padding:16px;position:relative;overflow:hidden}.exam-card:before{content:"";background:var(--danger);width:4px;height:100%;position:absolute;top:0;left:0}.exam-subject{color:var(--text);margin-bottom:10px;font-size:1rem;font-weight:600}.exam-meta{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.exam-meta-item{color:var(--text-secondary);background:var(--bg-secondary);border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:.8rem;display:flex}.exam-badge-flag{border:1px solid #0000;font-weight:600}.exam-badge-flag-info{background:var(--status-info-bg);color:var(--status-info-color);border-color:var(--status-info-border)}.exam-badge-flag-warning{background:var(--status-warning-bg);color:var(--status-warning-color);border-color:var(--status-warning-border)}.exam-badge-flag-success{background:var(--status-success-bg);color:var(--status-success-color);border-color:var(--status-success-border)}.exam-badge-flag-danger{background:var(--status-danger-bg);color:var(--status-danger-color);border-color:var(--status-danger-border)}.exam-datetime{background:linear-gradient(90deg,rgba(var(--danger-rgb),.15),transparent);border-radius:8px;align-items:center;gap:8px;margin-top:8px;padding:10px 12px;display:flex}.exam-date{color:var(--danger);font-size:.9rem;font-weight:600}.exam-time{color:var(--text-secondary);font-size:.85rem}.week-info-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:10px;padding:10px 12px}.week-info-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.week-number{flex-direction:column;display:flex}.week-number-value{color:var(--text);font-size:.95rem;font-weight:700}.week-date-range{color:var(--text-secondary);margin-top:2px;font-size:.78rem;font-weight:600}.week-semester{color:var(--text-secondary);margin-top:1px;font-size:.7rem}.week-type-badge{text-transform:uppercase;letter-spacing:.3px;border-radius:12px;padding:4px 8px;font-size:.65rem;font-weight:600}.week-type-badge[data-type=num]{background:var(--status-info-bg);color:var(--status-info-color);border:1px solid var(--status-info-border)}.week-type-badge[data-type=den]{background:var(--status-warning-bg);color:var(--status-warning-color);border:1px solid var(--status-warning-border)}.parity-toggle-container{border-top:1px solid var(--border);align-items:center;gap:8px;padding-top:8px;display:flex}.parity-toggle-label{color:var(--text-secondary);flex-shrink:0;font-size:.75rem}.parity-toggle{background:var(--bg-secondary);border-radius:6px;flex:1;gap:2px;padding:2px;display:flex}.parity-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;flex:1;padding:5px 8px;font-size:.75rem;font-weight:500;transition:all .2s}.parity-btn:hover{background:var(--schedule-day-selector-hover-bg);color:var(--text)}.parity-btn.active{background:var(--primary);color:#fff;box-shadow:0 2px 8px rgba(var(--primary-rgb),.3)}.today-highlight{background:linear-gradient(135deg,rgba(var(--primary-rgb),.15),#38d0ff14);border:1px solid var(--primary);border-radius:var(--radius);margin-bottom:12px;padding:10px 12px;position:relative;overflow:hidden}.today-highlight:before{content:"";background:radial-gradient(circle,rgba(var(--primary-rgb),.1)0%,transparent 60%);width:200%;height:200%;animation:4s ease-in-out infinite pulse-glow;position:absolute;top:-50%;left:-50%}@keyframes pulse-glow{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.today-title{color:var(--text);align-items:center;gap:8px;margin-bottom:2px;font-size:.9rem;font-weight:700;display:flex;position:relative}.today-info{color:var(--text-secondary);margin:0;font-size:.75rem;position:relative}.today-lessons-preview{border-top:1px solid #ffffff1a;flex-direction:column;gap:4px;margin-top:8px;padding-top:8px;display:flex;position:relative}.today-lesson-item{align-items:center;gap:8px;font-size:.7rem;display:flex}.today-lesson-time{color:var(--primary);min-width:36px;font-weight:600}.today-lesson-title{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.today-lesson-more{color:var(--text-muted);font-size:.65rem;font-style:italic}.skeleton{background:linear-gradient(90deg,var(--surface-overlay-2)25%,var(--surface-overlay-3)50%,var(--surface-overlay-2)75%);background-size:200% 100%;border-radius:8px;animation:1.5s ease-in-out infinite skeleton-loading}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton{background:var(--surface-overlay-2);animation:1.5s ease-in-out infinite skeleton-pulse}}@keyframes skeleton-pulse{0%,to{opacity:.5}50%{opacity:.8}}.profile-card-fade-in{animation:.18s ease-out profileCardFadeIn}@keyframes profileCardFadeIn{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.profile-card-fade-in{animation:none}}.btn{cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:12px 20px;font-size:.9rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 8px 24px rgba(var(--primary-rgb),.35);isolation:isolate;position:relative;overflow:hidden}.btn-primary:after{content:"";pointer-events:none;z-index:0;background:linear-gradient(110deg,#0000 25%,#fff3 50%,#0000 75%);width:100%;height:100%;transition:left .55s;position:absolute;top:0;left:-100%}.btn-primary>*{z-index:1;position:relative}.btn-primary:hover{box-shadow:0 12px 28px rgba(var(--primary-rgb),.45);transform:translateY(-2px)}.btn-primary:hover:after{left:100%}.btn-primary:active{transition-duration:80ms;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.btn-primary,.btn-primary:after{transition:none!important}}.btn-secondary{background:var(--schedule-refresh-bg);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--schedule-refresh-hover-bg);border-color:var(--border-hover)}.btn-ghost{color:var(--primary);background:0 0}.btn-ghost:hover{background:rgba(var(--primary-rgb),.1)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.animate-slideUp{animation:.32s cubic-bezier(.32,.72,0,1) slideUp}.animate-fadeIn{animation:.3s ease-out fadeIn}.animate-fadeInUp{animation:.4s ease-out fadeInUp}.animate-fadeInDown{animation:.4s ease-out fadeInDown}.animate-slideInLeft{animation:.35s ease-out slideInLeft}.animate-slideInRight{animation:.35s ease-out slideInRight}.animate-scaleIn{animation:.3s ease-out scaleIn}.animate-spin{animation:1s linear infinite spin}.tab-enter{opacity:0;transform:translate(8%)}.tab-enter-active{opacity:1;transition:all .35s;transform:translate(0)}.tab-exit{opacity:1;transform:translate(0)}.tab-exit-active{opacity:0;transition:all .3s;transform:translate(-8%)}.input{background:var(--surface-overlay-2);border:1px solid var(--border);width:100%;color:var(--text);font-variant-numeric:tabular-nums;border-radius:12px;padding:14px 16px;font-size:1rem;transition:border-color .2s,background .2s,box-shadow .24s}.input:hover:not(:focus):not(:disabled){border-color:rgba(var(--primary-rgb),.32);background:var(--surface-overlay-3,var(--surface-overlay-2))}.input:focus,.input:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.18),0 4px 14px rgba(var(--primary-rgb),.16);background:var(--card);outline:none}.input:disabled{opacity:.55;cursor:not-allowed}.input[aria-invalid=true]{border-color:var(--danger);box-shadow:0 0 0 3px rgba(var(--danger-rgb),.16)}.input::placeholder{color:var(--muted)}@media (prefers-reduced-motion:reduce){.input{transition:none!important}}.login-page{padding-top:clamp(24px,5vh,56px);padding-bottom:clamp(28px,6vh,64px);position:relative;overflow:hidden}.login-page:before,.login-page:after{content:"";pointer-events:none;z-index:0;position:absolute;inset:0}.login-page:before{background:radial-gradient(ellipse 60% 50% at 20% 30%,rgba(var(--primary-rgb),.18),transparent 60%),radial-gradient(ellipse 50% 40% at 80% 70%,rgba(var(--good-rgb,64,224,168),.14),transparent 65%),radial-gradient(ellipse 40% 30% at 50% 90%,rgba(var(--primary-rgb),.1),transparent 70%);filter:blur(40px);animation:22s ease-in-out infinite alternate login-aurora-drift}.login-page:after{background-image:radial-gradient(circle at 1px 1px,rgba(var(--primary-rgb),.06)1px,transparent 1px);opacity:.6;background-size:32px 32px;-webkit-mask-image:radial-gradient(80% 60% at 50% 40%,#000,#0000 75%);mask-image:radial-gradient(80% 60% at 50% 40%,#000,#0000 75%)}[data-theme-scheme=light] .login-page:before{background:radial-gradient(ellipse 60% 50% at 20% 30%,rgba(var(--primary-rgb),.2),transparent 60%),radial-gradient(ellipse 50% 40% at 80% 70%,rgba(var(--good-rgb,64,224,168),.16),transparent 65%);filter:blur(60px)}@keyframes login-aurora-drift{0%{transform:translate(0)rotate(0)}50%{transform:translate(-20px,30px)rotate(2deg)}to{transform:translate(20px,-20px)rotate(-2deg)}}.login-page>*{z-index:1;position:relative}.login-card{background:linear-gradient(180deg,#0f1730f7,#0a1022fa),var(--card);border-color:rgba(var(--primary-rgb),.34);box-shadow:0 28px 80px #0000007a}[data-theme-scheme=light] .login-card{background:linear-gradient(180deg,#fffffffa,#f6f9fffa),var(--card);border-color:rgba(var(--primary-rgb),.22);box-shadow:0 28px 70px #6370a038}.login-card .input{border-color:rgba(var(--primary-rgb),.24);background:#ffffff13}[data-theme-scheme=light] .login-card .input{background:#ffffffe0}.login-card .input{transition:border-color .18s,box-shadow .22s,background .18s}.login-card .input:focus,.login-card .input:focus-visible{border-color:rgba(var(--primary-rgb),.6);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.18),0 4px 14px rgba(var(--primary-rgb),.2);outline:none}.login-card .inline-flex[style*=gradient-primary]{animation:4.4s ease-in-out infinite login-logo-breathe;position:relative}.login-card .inline-flex[style*=gradient-primary]:after{content:"";border-radius:inherit;background:var(--gradient-primary);filter:blur(24px);opacity:.35;z-index:-1;animation:4.4s ease-in-out infinite login-logo-glow;position:absolute;inset:-8px}@keyframes login-logo-breathe{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-2px)scale(1.02)}}@keyframes login-logo-glow{0%,to{opacity:.32;transform:scale(1)}50%{opacity:.55;transform:scale(1.08)}}.login-card .btn-primary{position:relative;overflow:hidden}.login-card .btn-primary:after{content:"";pointer-events:none;background:linear-gradient(110deg,#0000 25%,#ffffff38 50%,#0000 75%);width:100%;height:100%;transition:left .55s;position:absolute;top:0;left:-100%}.login-card .btn-primary:hover:not(:disabled):after{left:100%}@media (prefers-reduced-motion:reduce){.login-page:before,.login-card .inline-flex[style*=gradient-primary],.login-card .inline-flex[style*=gradient-primary]:after{animation:none!important}.login-card .btn-primary:after{transition:none!important}}.login-secondary-link,.public-link-chip{background:#ffffff09}.login-secondary-link:hover,.public-link-chip:hover{background:rgba(var(--primary-rgb),.12);border-color:rgba(var(--primary-rgb),.36)!important}.login-public-links .card{background:#0c132ae6}[data-theme-scheme=light] .login-public-links .card{background:#fffffff0}.settings-section{margin-bottom:24px}.settings-section-title{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px;font-size:.9rem;font-weight:600}.theme-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.theme-option{background:var(--bg-secondary);border:1px solid var(--border);cursor:pointer;border-radius:12px;align-items:center;gap:10px;padding:14px;transition:all .2s;display:flex}.theme-option:hover{border-color:var(--border-hover)}.theme-option.active{border-color:var(--primary);background:rgba(var(--primary-rgb),.1)}.theme-icon{font-size:1.5rem}.theme-name{color:var(--text);font-size:.9rem;font-weight:500}.refresh-btn{background:var(--schedule-refresh-bg);border:1px solid var(--border);color:var(--primary);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:8px;align-items:center;gap:4px;padding:5px 10px;font-size:.75rem;font-weight:500;transition:transform .18s cubic-bezier(.4,0,.2,1),background .18s,border-color .18s,box-shadow .22s;display:flex}.refresh-btn:hover:not(:disabled){background:var(--schedule-refresh-hover-bg);border-color:rgba(var(--primary-rgb),.55);box-shadow:0 4px 12px rgba(var(--primary-rgb),.18);transform:translateY(-1px)}.refresh-btn:hover:not(:disabled) svg{animation:.7s refresh-btn-spin}@keyframes refresh-btn-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.refresh-btn:active:not(:disabled){transition-duration:80ms;transform:scale(.96)}.refresh-btn:disabled{opacity:.5;cursor:not-allowed}@media (prefers-reduced-motion:reduce){.refresh-btn,.refresh-btn:hover svg{transition:none!important;animation:none!important}.refresh-btn:hover:not(:disabled),.refresh-btn:active:not(:disabled){transform:none}}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;animation:.45s cubic-bezier(.34,1.4,.64,1) empty-state-rise;display:flex}@keyframes empty-state-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.empty-state-icon{width:64px;height:64px;color:var(--primary);background:rgba(var(--primary-rgb),.1);box-shadow:0 0 0 4px rgba(var(--primary-rgb),.06);opacity:1;border-radius:22px;margin-bottom:18px;padding:14px;animation:3.4s ease-in-out infinite empty-state-icon-pulse}@keyframes empty-state-icon-pulse{0%,to{box-shadow:0 0 0 4px rgba(var(--primary-rgb),.06)}50%{box-shadow:0 0 0 10px rgba(var(--primary-rgb),.03)}}.empty-state-title{color:var(--text);letter-spacing:-.01em;margin-bottom:8px;font-size:1.15rem;font-weight:700}.empty-state-description{color:var(--muted);max-width:36ch;font-size:.92rem;line-height:1.5}@media (prefers-reduced-motion:reduce){.empty-state,.empty-state-icon{animation:none!important}}.error-state{text-align:center;background:radial-gradient(160px 100px at 50% 0%,rgba(var(--status-danger-rgb),.16),transparent 70%),rgba(var(--status-danger-rgb),.07);border:1px solid rgba(var(--status-danger-rgb),.3);border-radius:var(--radius);flex-direction:column;align-items:center;gap:4px;padding:48px 24px;animation:.4s cubic-bezier(.34,1.56,.64,1) error-state-pop;display:flex;position:relative;overflow:hidden}@keyframes error-state-pop{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.error-state-icon{width:56px;height:56px;color:var(--danger);background:rgba(var(--status-danger-rgb),.14);box-shadow:0 0 0 4px rgba(var(--status-danger-rgb),.08);border-radius:18px;margin-bottom:16px;padding:12px;animation:2.6s ease-in-out infinite error-state-icon-pulse}@keyframes error-state-icon-pulse{0%,to{box-shadow:0 0 0 4px rgba(var(--status-danger-rgb),.08)}50%{box-shadow:0 0 0 10px rgba(var(--status-danger-rgb),.04)}}.error-state-title{color:var(--text);letter-spacing:-.01em;margin-bottom:8px;font-size:1.15rem;font-weight:700}.error-state-description{color:var(--danger);max-width:40ch;margin-bottom:16px;font-size:.92rem;line-height:1.5}@media (prefers-reduced-motion:reduce){.error-state,.error-state-icon{animation:none!important}}.ptr-wrapper{overscroll-behavior-y:contain}@media print{.no-print,.bottom-nav,.app-header button,.app-header a[href],.install-prompt,.next-up-card,.theme-background-wrapper,.snow-canvas{display:none!important}body:after{display:none}body,.page-content,.card,.exam-card,.schedule-day,.lesson-card{color:#000!important;box-shadow:none!important;background:#fff!important}.card,.exam-card,.lesson-card{page-break-inside:avoid;break-inside:avoid;border:1px solid #000!important}.app-header-title{color:#000!important}}.swipe-navigation-container{position:relative;overflow:hidden}.swipe-content{width:100%}@keyframes slideOutLeft{0%{opacity:1;transform:translate(0)}to{opacity:.5;transform:translate(-30px)}}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:.5;transform:translate(30px)}}.day-card,.today-highlight{max-width:600px;margin-left:auto;margin-right:auto}@media (min-width:768px){.page-content main{width:100%;max-width:1000px;margin-left:auto;margin-right:auto}.page-content main.group-workspace-main--wide{max-width:1920px}}.schedule-controls{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding-top:12px;display:flex}.view-toggle{background:#ffffff0d;border-radius:8px;gap:4px;padding:3px;display:flex}.view-btn{width:32px;height:32px;color:var(--muted);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:transform .18s cubic-bezier(.4,0,.2,1),background .18s,color .18s,box-shadow .22s;display:flex}.view-btn:hover{color:var(--text);background:var(--surface-overlay-2,#ffffff0d);transform:translateY(-1px)}.view-btn:active{transition-duration:80ms;transform:scale(.94)}.view-btn.active{background:var(--gradient-primary);color:#fff;box-shadow:0 3px 10px rgba(var(--primary-rgb),.36),0 0 0 1px rgba(var(--primary-rgb),.5)inset}@media (prefers-reduced-motion:reduce){.view-btn{transition:none!important}.view-btn:hover,.view-btn:active{transform:none}}.horizontal-view{margin-top:12px}.day-selector{background:var(--card);border:1px solid var(--border);-webkit-overflow-scrolling:touch;scrollbar-width:none;border-radius:14px;gap:6px;padding:4px;display:flex;overflow-x:auto}.day-selector::-webkit-scrollbar{display:none}.day-selector-btn{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:2px;min-width:52px;padding:10px 8px;transition:transform .18s cubic-bezier(.4,0,.2,1),background .18s,box-shadow .22s,color .18s;display:flex;position:relative}.day-selector-btn:hover{background:var(--schedule-day-selector-hover-bg);transform:translateY(-1px)}.day-selector-btn:active{transition-duration:80ms;transform:scale(.96)}.day-selector-btn.selected{background:var(--gradient-primary);box-shadow:0 4px 14px rgba(var(--primary-rgb),.4),0 0 0 1px rgba(var(--primary-rgb),.55)inset;transform:translateY(-1px)}.day-selector-btn.selected:after{content:"";border:1px solid rgba(var(--primary-rgb),.42);pointer-events:none;border-radius:12px;animation:2.4s ease-in-out infinite day-selector-ring;position:absolute;inset:-2px}@keyframes day-selector-ring{0%,to{opacity:.35;transform:scale(1)}50%{opacity:.85;transform:scale(1.02)}}.day-selector-btn.today:not(.selected){background:var(--schedule-day-selector-today-bg)}.day-selector-btn.today:not(.selected):before{content:"";background:var(--primary);width:6px;height:6px;box-shadow:0 0 0 3px rgba(var(--primary-rgb),.18);border-radius:50%;animation:2s ease-in-out infinite day-selector-today-pulse;position:absolute;top:6px;right:8px}@keyframes day-selector-today-pulse{0%,to{box-shadow:0 0 0 3px rgba(var(--primary-rgb),.18)}50%{box-shadow:0 0 0 6px rgba(var(--primary-rgb),.1)}}.day-selector-btn.today .day-selector-name{color:var(--primary)}.day-selector-btn.selected .day-selector-name,.day-selector-btn.selected .day-selector-count{color:#fff}@media (prefers-reduced-motion:reduce){.day-selector-btn,.day-selector-btn.selected:after,.day-selector-btn.today:not(.selected):before{transition:none!important;animation:none!important}.day-selector-btn:hover{transform:none}}.day-selector-name{color:var(--text);letter-spacing:.5px;font-size:.75rem;font-weight:700}.day-selector-count{color:var(--muted);font-size:.65rem;font-weight:600}.day-selector-free{color:var(--muted);opacity:.5;font-size:.65rem}.day-selector-dot{background:var(--primary);border-radius:50%;width:4px;height:4px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.day-selector-btn.selected .day-selector-dot{background:#fff}.selected-day-header{justify-content:space-between;align-items:center;margin-top:8px;padding:14px 4px;display:flex}.selected-day-title{color:var(--text);align-items:center;margin:0;font-size:1.1rem;font-weight:700;display:flex}.selected-day-count{color:var(--muted);background:var(--schedule-selected-day-count-bg);border-radius:12px;padding:4px 10px;font-size:.8rem}.selected-day-lessons{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:12px}.selected-day-lessons--empty{padding:0;overflow:hidden}.empty-day{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:40px 20px;display:flex}.empty-day-icon{margin-bottom:12px;font-size:3rem}.empty-day-text{color:var(--muted);font-size:.9rem}.theme-bg{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.aurora-bg{background:var(--bg)}.aurora-layer{filter:blur(80px);opacity:.5;will-change:transform;border-radius:50%;width:150%;height:150%;animation:20s ease-in-out infinite aurora-float;position:absolute}.aurora-1{background:radial-gradient(circle,#4ade8080 0%,#0000 70%);animation-delay:0s;top:-60%;left:-30%}.aurora-2{background:radial-gradient(circle,#38bdf866 0%,#0000 70%);animation-delay:-7s;top:-40%;right:-30%}.aurora-3{background:radial-gradient(circle,#a78bfa59 0%,#0000 70%);animation-delay:-14s;bottom:-60%;left:10%}@keyframes aurora-float{0%,to{transform:translate(0)scale(1)rotate(0)}25%{transform:translate(5%,8%)scale(1.1)rotate(5deg)}50%{transform:translate(-3%,5%)scale(.95)rotate(-3deg)}75%{transform:translate(8%,-5%)scale(1.05)rotate(3deg)}}.matrix-canvas{opacity:.4;width:100%;height:100%}.sunset-bg{background:var(--bg)}.sunset-orb{filter:blur(60px);will-change:transform,opacity;border-radius:50%;position:absolute}.sunset-orb-1{background:radial-gradient(circle,#f9731680 0%,#0000 70%);width:400px;height:400px;animation:8s ease-in-out infinite sunset-pulse;top:-100px;right:-100px}.sunset-orb-2{background:radial-gradient(circle,#fbbf2466 0%,#0000 70%);width:300px;height:300px;animation:10s ease-in-out -4s infinite sunset-pulse;bottom:10%;left:-50px}.sunset-glow{background:linear-gradient(#0000,#f9731626);height:40%;animation:6s ease-in-out infinite sunset-glow-pulse;position:absolute;bottom:0;left:0;right:0}@keyframes sunset-pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.7;transform:scale(1.15)}}@keyframes sunset-glow-pulse{0%,to{opacity:.5}50%{opacity:.8}}.deep-blue-bg{background:var(--bg)}.wave{opacity:.15;will-change:transform;width:200%;height:200%;position:absolute}.wave-1{background:radial-gradient(#7aa2ff66,#0000 50%);animation:25s linear infinite wave-float;top:-80%;left:-50%}.wave-2{background:radial-gradient(#5687ff4d,#0000 50%);animation:30s linear -5s infinite reverse wave-float;top:-60%;left:-30%}.wave-3{background:radial-gradient(#7aa2ff40,#0000 50%);animation:20s linear -10s infinite wave-float;bottom:-80%;right:-50%}@keyframes wave-float{0%{transform:translate(0)rotate(0)}to{transform:translate(10%,10%)rotate(360deg)}}.pastel-bg{background:var(--bg)}.pastel-bubble{filter:blur(30px);will-change:transform;background:linear-gradient(135deg,#e879a933,#a5b4fc33);border-radius:50%;width:80px;height:80px;animation:20s ease-in-out infinite bubble-float;position:absolute;bottom:-100px}@keyframes bubble-float{0%,to{opacity:0;transform:translateY(0)scale(1)}10%{opacity:.6}90%{opacity:.6}to{opacity:0;transform:translateY(-120vh)scale(1.5)}}.dark-bg{background:var(--bg)}.dark-gradient{background:radial-gradient(ellipse at 70% -10%,rgba(var(--primary-rgb),.15)0%,transparent 50%),radial-gradient(ellipse at -10% 100%,#38d0ff1a 0%,transparent 50%);will-change:opacity;animation:30s ease-in-out infinite dark-shift;position:absolute;inset:0}@keyframes dark-shift{0%,to{opacity:.8}50%{opacity:1}}.light-bg{background:var(--bg)}.light-shape{filter:blur(100px);opacity:.4;will-change:transform;border-radius:50%;position:absolute}.light-shape-1{background:#5874ff26;width:600px;height:600px;animation:25s ease-in-out infinite light-float;top:-200px;right:-200px}.light-shape-2{background:#8b5cf61a;width:400px;height:400px;animation:20s ease-in-out infinite reverse light-float;bottom:-100px;left:-100px}@keyframes light-float{0%,to{transform:translate(0)}50%{transform:translate(30px,20px)}}.card{transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1),border-color .3s}.card:hover{box-shadow:0 20px 40px rgba(var(--primary-rgb),.15);border-color:rgba(var(--primary-rgb),.3);transform:translateY(-4px)}.lesson-card{transition:transform .25s,box-shadow .25s,border-color .25s}.lesson-card:hover{box-shadow:-6px 0 25px rgba(var(--primary-rgb),.12);border-color:rgba(var(--primary-rgb),.4);transform:translate(6px)}.theme-option{-webkit-backdrop-filter:blur(12px);background:linear-gradient(135deg,#ffffff14,#ffffff05);border:1px solid #ffffff1a;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.theme-option:before{content:"";opacity:0;background:linear-gradient(135deg,#0000,#ffffff0d);transition:opacity .3s;position:absolute;inset:0}.theme-option:hover:before{opacity:1}.theme-option.active{background:linear-gradient(135deg,rgba(var(--primary-rgb),.25),rgba(var(--primary-rgb),.1));border-color:var(--primary);box-shadow:0 0 25px rgba(var(--primary-rgb),.25),inset 0 0 40px rgba(var(--primary-rgb),.08)}.theme-option.active:after{content:"✓";color:var(--primary);font-size:.85rem;font-weight:600;animation:.3s checkmark-pop;position:absolute;top:10px;right:10px}@keyframes checkmark-pop{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.bottom-nav-item .bottom-nav-icon{transition:transform .2s cubic-bezier(.4,0,.2,1)}.bottom-nav-item.active .bottom-nav-icon{transform:scale(1.15)}@media (prefers-reduced-motion:reduce){.aurora-layer,.sunset-orb,.sunset-glow,.wave,.pastel-bubble,.dark-gradient,.light-shape{animation:none!important}.card:hover,.lesson-card:hover{transform:none}.page-transition-wrapper{animation:none}}.page-transition-wrapper{will-change:opacity,transform;animation:.36s cubic-bezier(.4,0,.2,1) pageEnter}@keyframes pageEnter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.page-transition-wrapper{animation:none}}.grades-overview-card{border-radius:var(--radius-3xl);border:1px solid rgba(var(--primary-rgb),.3);background:var(--grades-overview-bg);padding:var(--space-3-5);margin-bottom:var(--space-3-5);box-shadow:var(--shadow-card-overview)}.grades-overview-grid{gap:var(--space-2);grid-template-columns:minmax(0,1fr) 82px 98px;align-items:stretch;display:grid}.grades-overview-label{color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wider);margin:0;line-height:1.2}.grades-overview-gpa{margin-top:var(--space-1);color:var(--text);font-size:clamp(24px,7vw,28px);font-weight:var(--weight-bold);line-height:1}.grades-overview-period{color:var(--text-secondary);font-size:var(--text-xs);margin-top:5px;line-height:1.35}.stat-chip{padding:var(--space-2)var(--space-2-5);border-radius:var(--radius-lg);border:1px solid var(--grades-overview-chip-border);background:var(--grades-overview-chip-bg);flex-direction:column;min-width:0;min-height:62px;display:flex}.stat-chip--centered{justify-content:center;align-items:center;gap:var(--space-1)}.stat-chip--spread{justify-content:space-between;gap:var(--space-1)}.stat-chip-value{color:var(--text);font-size:var(--text-4xl);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;line-height:1}.stat-chip-value-compact{color:var(--text);font-size:var(--text-sm);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:750;line-height:1.05}.stat-chip-label{color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--weight-medium);white-space:nowrap;line-height:1.1}.stat-chip-microlabel{color:var(--muted);font-size:var(--text-3xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wide);line-height:1.1}.stat-chip-caption{color:var(--muted);font-size:var(--text-3xs);line-height:1.1}.pill{padding:5px var(--space-2-5);border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:var(--weight-bold);border:1px solid var(--tone-border,var(--border));background:var(--tone-bg,var(--bg-secondary));color:var(--tone-color,var(--text));align-items:center;display:inline-flex}.score-grid{gap:var(--space-2);padding:var(--space-2-5);border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--grades-grid-bg);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.score-item{gap:var(--space-1-5);flex-direction:column;align-items:center;display:flex}.score-item-label{color:var(--muted);font-size:var(--text-xs);font-weight:var(--weight-medium)}.journal-empty{color:var(--muted);font-size:var(--text-base);margin:0}.journal-item{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3)var(--space-3-5);border-radius:var(--radius-xl);border:1px solid var(--border);background:var(--bg-secondary);display:flex}.journal-item-title{font-size:var(--text-md);color:var(--text);font-weight:var(--weight-semibold)}.journal-item-meta{font-size:var(--text-sm);color:var(--muted);margin-top:3px}.journal-item-meta+.journal-item-meta{margin-top:var(--space-1)}.journal-item-comment{font-size:var(--text-sm);color:var(--muted);margin-top:var(--space-1-5);line-height:1.4}.journal-item-mark{padding:7px var(--space-2-5);border-radius:var(--radius-md);border:1px solid var(--tone-border,var(--border));background:var(--tone-bg,var(--bg-secondary));color:var(--tone-color,var(--text));font-size:var(--text-base);font-weight:var(--weight-bold);white-space:nowrap}.grade-badge{min-width:42px;padding:5px var(--space-2);border-radius:var(--radius-md);border:1px solid var(--tone-border,var(--border));background:var(--tone-bg,var(--bg-secondary));color:var(--tone-color,var(--text));font-size:var(--text-sm);font-weight:var(--weight-medium);justify-content:center;align-items:center;line-height:1;display:inline-flex}.grade-badge-total{min-width:50px;padding:var(--space-1-5)var(--space-2-5);font-size:var(--text-md);font-weight:var(--weight-semibold)}.goal-assistant{gap:var(--space-3);padding:var(--space-3-5);border-radius:var(--radius-2xl);border:1px solid var(--tone-border,var(--border));background:var(--grades-assistant-bg);flex-direction:column;display:flex}.goal-assistant-header{justify-content:space-between;align-items:center;gap:var(--space-2-5);flex-wrap:wrap;display:flex}.goal-assistant-stage-title{color:var(--text);font-size:var(--text-md);font-weight:var(--weight-bold);line-height:1.2}.goal-assistant-stage-summary{color:var(--muted);font-size:var(--text-sm);max-width:540px;margin-top:3px;line-height:1.4}.goal-assistant-stage-meta{margin-top:var(--space-1);color:var(--muted);font-size:var(--text-xs);opacity:.7}.goal-pill{cursor:pointer;border-radius:var(--radius-pill);padding:var(--space-1)var(--space-2-5);font-size:var(--text-sm);font-weight:var(--weight-semibold);border:1px solid var(--border);color:var(--muted);background:0 0;transition:all .15s}.goal-pill-active{border-color:var(--tone-border,var(--primary));background:var(--tone-bg,transparent);color:var(--tone-color,var(--text))}.stepper-shell{gap:var(--space-4);padding:var(--space-2-5)var(--space-3);border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-secondary);flex-wrap:wrap;align-items:flex-end;display:flex}.stepper-control{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.stepper-label{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--muted);letter-spacing:.02em}.stepper-row{align-items:center;gap:var(--space-1-5);display:flex}.stepper-btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-secondary);width:26px;height:26px;color:var(--muted);font-size:var(--text-lg);font-weight:var(--weight-semibold);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;display:flex}.stepper-btn:disabled{cursor:not-allowed;opacity:.35}.stepper-value{border-radius:var(--radius-sm);border:1px solid var(--tone-border,var(--border));background:var(--tone-bg,var(--bg-secondary));min-width:42px;height:26px;color:var(--tone-color,var(--text));font-size:var(--text-base);font-weight:var(--weight-bold);letter-spacing:-.01em;justify-content:center;align-items:center;display:flex}.projected-final{gap:var(--space-1);flex-direction:column;align-items:flex-end;margin-left:auto;display:flex}.projected-final-label{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--muted)}.projected-final-value{font-size:var(--text-3xl);font-weight:var(--weight-bold);line-height:1}.hint-chip{padding:var(--space-1)var(--space-2)var(--space-1)var(--space-2-5);border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--bg-secondary);align-items:center;gap:5px;display:inline-flex}.hint-chip-danger{border-color:rgba(var(--danger-rgb),.25);background:rgba(var(--danger-rgb),.06)}.hint-chip-label{font-size:var(--text-xs);color:var(--muted);font-weight:var(--weight-normal)}.hint-chip-value{font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--text);border-radius:var(--radius-xs);background:var(--overlay-light);padding:1px 5px}.hint-chip-danger .hint-chip-value{color:var(--danger);background:rgba(var(--danger-rgb),.1)}.grades-search-bar{gap:var(--space-2-5);margin-bottom:var(--space-3);flex-direction:column;display:flex}.grades-search-input-wrap{align-items:center;display:flex;position:relative}.grades-search-icon{left:var(--space-3);color:var(--muted);pointer-events:none;position:absolute}.grades-search-input{width:100%;padding:10px var(--space-3)10px calc(var(--space-3) + 22px);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text);font-size:var(--text-sm);outline:none;transition:border-color .15s,box-shadow .15s}.grades-search-input:focus,.grades-search-input:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.16)}.grades-search-clear{right:var(--space-2);border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--bg-secondary);width:26px;height:26px;color:var(--muted);cursor:pointer;justify-content:center;align-items:center;display:inline-flex;position:absolute}.grades-search-clear:hover{color:var(--text);border-color:var(--border-hover)}.grades-filter-row{gap:var(--space-1-5);flex-wrap:wrap;display:flex}.grades-filter-chip{padding:6px var(--space-2-5);border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--bg-secondary);color:var(--muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);cursor:pointer;align-items:center;gap:6px;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.grades-filter-chip:hover{color:var(--text);border-color:var(--border-hover)}.grades-filter-chip-active{color:var(--primary);border-color:var(--primary);background:rgba(var(--primary-rgb),.12)}.grades-filter-count{border-radius:var(--radius-pill);background:var(--surface-overlay-3);min-width:18px;color:inherit;font-size:var(--text-2xs);font-weight:var(--weight-bold);justify-content:center;align-items:center;padding:0 5px;line-height:1;display:inline-flex}.grades-filter-chip-active .grades-filter-count{background:rgba(var(--primary-rgb),.22)}.grade-score-ring{color:var(--tone-color,var(--text));flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.grade-score-ring-svg{position:absolute;inset:0}.grade-score-ring-track{stroke:var(--surface-overlay-3)}.grade-score-ring-progress{stroke:var(--tone-color,var(--primary));transition:stroke-dashoffset .3s}.grade-score-ring-label{z-index:1;font-size:var(--text-base);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;color:var(--tone-color,var(--text));line-height:1;position:relative}.grades-subject-list{gap:var(--space-2);flex-direction:column;display:flex}.grades-subject-row{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2-5)var(--space-3);border-radius:var(--radius-xl);border:1px solid var(--border);background:var(--card);color:var(--text);text-align:left;cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;transition:border-color .15s,background .15s,transform .12s;display:grid}.grades-subject-row:hover{border-color:var(--border-hover);background:var(--card-hover)}.grades-subject-row:active{transform:scale(.99)}.grades-subject-row-active{border-color:var(--primary);background:rgba(var(--primary-rgb),.08)}.grades-subject-row-body{flex-direction:column;gap:3px;min-width:0;display:flex}.grades-subject-row-title{color:var(--text);font-size:var(--text-sm);font-weight:var(--weight-semibold);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.3;display:-webkit-box;overflow:hidden}.grades-subject-row-meta{align-items:center;gap:var(--space-1-5);color:var(--muted);font-size:var(--text-2xs);flex-wrap:wrap;line-height:1.2;display:flex}.grades-subject-row-code{font-variant-numeric:tabular-nums;letter-spacing:.02em}.grades-subject-row-tutor{align-items:center;gap:4px;min-width:0;display:inline-flex}.grades-subject-row-tutor-text{text-overflow:ellipsis;white-space:nowrap;max-width:22ch;overflow:hidden}.grades-subject-row-status{padding:2px var(--space-2);border-radius:var(--radius-pill);border:1px solid var(--tone-border,var(--border));background:var(--tone-bg,var(--bg-secondary));color:var(--tone-color,var(--muted));font-size:var(--text-2xs);font-weight:var(--weight-semibold);align-self:flex-start;margin-top:2px;line-height:1.25;display:inline-flex}.grades-subject-row-chevron{color:var(--muted);flex-shrink:0}.grades-list-empty{padding:var(--space-6)var(--space-4);border-radius:var(--radius-lg);border:1px dashed var(--border);background:var(--surface-overlay-1);text-align:center}.grades-list-empty-title{margin:0 0 var(--space-1)0;color:var(--text);font-size:var(--text-base);font-weight:var(--weight-semibold)}.grades-list-empty-desc{color:var(--muted);font-size:var(--text-sm);margin:0}.grades-split{gap:var(--space-4);grid-template-columns:minmax(0,1fr);display:grid}@media (min-width:1024px){.grades-split{grid-template-columns:minmax(0,380px) minmax(0,1fr);align-items:start}.grades-split-single{grid-template-columns:minmax(0,1fr)}}.grades-list-pane{min-width:0}.grades-detail-pane{top:var(--space-4);min-width:0;max-height:calc(100dvh - var(--space-6));border-radius:var(--radius-2xl);border:1px solid var(--border);background:var(--card);flex-direction:column;display:flex;position:sticky;overflow:hidden}.grades-detail-pane>.grades-detail{flex:auto;min-height:0}.grades-detail-placeholder{padding:var(--space-6)var(--space-4);text-align:center;color:var(--muted)}.grades-detail-placeholder-title{margin:0 0 var(--space-1)0;color:var(--text);font-size:var(--text-base);font-weight:var(--weight-semibold)}.grades-detail-placeholder-desc{font-size:var(--text-sm);margin:0;line-height:1.4}.grades-detail-backdrop{z-index:80;background:var(--overlay-modal-backdrop);-webkit-backdrop-filter:blur(8px);position:fixed;inset:0}.grades-detail-drawer{z-index:81;background:var(--bg);flex-direction:column;height:100dvh;max-height:100dvh;display:flex;position:fixed;inset:0;overflow:hidden}.grades-detail-drawer>.grades-detail{flex:auto;min-height:0}.grades-detail{flex-direction:column;min-height:0;display:flex}.grades-detail-header{z-index:2;align-items:center;gap:var(--space-3);padding:var(--space-3)var(--space-4);background:var(--card);border-bottom:1px solid var(--border);flex-shrink:0;display:flex;position:sticky;top:0}.grades-detail-back{border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--bg-secondary);width:36px;height:36px;color:var(--text);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:border-color .15s,background .15s;display:inline-flex}.grades-detail-back:hover{border-color:var(--border-hover);background:var(--card-hover)}.grades-detail-back-mobile{display:inline-block}.grades-detail-back-desktop{display:none}@media (min-width:1024px){.grades-detail-back-mobile{display:none}.grades-detail-back-desktop{display:inline-block}}.grades-detail-heading{flex-direction:column;gap:2px;min-width:0;display:flex}.grades-detail-title{color:var(--text);font-size:var(--text-lg);font-weight:var(--weight-semibold);margin:0;line-height:1.25}.grades-detail-code{color:var(--muted);font-size:var(--text-xs);letter-spacing:.02em;margin:0}.grades-detail-body{gap:var(--space-4);padding:var(--space-4);flex-direction:column;flex-shrink:0;display:flex}.grades-detail-summary{align-items:center;gap:var(--space-4);display:flex}.grades-detail-summary-text{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.grades-detail-status{padding:4px var(--space-2-5);border-radius:var(--radius-pill);border:1px solid var(--tone-border,var(--border));background:var(--tone-bg,var(--bg-secondary));color:var(--tone-color,var(--text));font-size:var(--text-xs);font-weight:var(--weight-semibold);align-self:flex-start;line-height:1.2;display:inline-flex}.grades-detail-tutors{color:var(--muted);font-size:var(--text-sm);align-items:center;gap:6px;line-height:1.3;display:inline-flex}.grades-detail-tutors svg{flex-shrink:0}.grades-detail-journal{gap:var(--space-2-5);min-height:0;padding:0 var(--space-4)calc(96px + env(safe-area-inset-bottom,0px));overscroll-behavior:contain;flex-direction:column;flex:auto;display:flex;overflow-y:auto}@media (min-width:1024px){.grades-detail-journal{padding-bottom:var(--space-4)}}.grades-detail-journal-header{z-index:1;align-items:center;gap:var(--space-2);padding:var(--space-2)0 var(--space-2);background:var(--bg);color:var(--text);flex-shrink:0;display:flex;position:sticky;top:0}.grades-detail-journal-title{font-size:var(--text-base);font-weight:var(--weight-semibold);margin:0;line-height:1.2}.grades-detail-journal-body{gap:var(--space-3);flex-direction:column;display:flex}.grades-journal-month{gap:var(--space-1-5);flex-direction:column;display:flex}.grades-journal-month-title{padding:0 var(--space-1);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--muted);margin:0}.grades-journal-month-rows{gap:var(--space-1-5);flex-direction:column;display:flex}.grades-journal-row{align-items:center;gap:var(--space-3);padding:var(--space-2-5)var(--space-3);border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg-secondary);grid-template-columns:44px minmax(0,1fr) auto;display:grid}.grades-journal-row-date{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--card);color:var(--text);font-weight:var(--weight-semibold);flex-direction:column;justify-content:center;align-items:center;padding:4px 0;line-height:1;display:flex}.grades-journal-row-day{font-size:var(--text-base)}.grades-journal-row-month{font-size:10px;font-weight:var(--weight-medium);color:var(--muted);text-transform:uppercase;letter-spacing:var(--tracking-wider);margin-top:2px}.grades-journal-row-body{flex-direction:column;gap:2px;min-width:0;display:flex}.grades-journal-row-title{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text);text-overflow:ellipsis;white-space:nowrap;line-height:1.25;overflow:hidden}.grades-journal-row-meta{font-size:var(--text-xs);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;line-height:1.3;overflow:hidden}.grades-journal-row-comment{font-size:var(--text-xs);color:var(--muted);margin-top:2px;line-height:1.35}.grades-journal-row-mark{min-width:44px;padding:6px var(--space-2);border-radius:var(--radius-md);border:1px solid var(--tone-border,var(--border));background:var(--tone-bg,var(--bg-secondary));color:var(--tone-color,var(--text));font-size:var(--text-sm);font-weight:var(--weight-bold);text-align:center;white-space:nowrap;flex-shrink:0}.grades-connection-banner{gap:var(--space-3);padding:var(--space-3)var(--space-3-5);margin-bottom:var(--space-3-5);border-radius:var(--radius);border:1px solid rgba(var(--primary-rgb),.28);background:var(--grades-connected-bg);grid-template-columns:minmax(0,1fr) auto;display:grid}.grades-connection-eyebrow{font-size:var(--text-xs);color:var(--text-secondary);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wider)}.grades-connection-user{margin-top:var(--space-1);font-size:var(--text-md);color:var(--text);font-weight:var(--weight-semibold)}.grades-connection-meta{margin-top:var(--space-1);font-size:var(--text-sm);color:var(--muted);line-height:1.45}.grades-disconnect-btn{font-size:var(--text-sm);border:1px solid var(--status-danger-border);background:var(--status-danger-bg);color:var(--status-danger-color);border-radius:var(--radius-sm);padding:var(--space-1)var(--space-2);cursor:pointer}.grades-summary-card{border-radius:var(--radius-3xl);border:1px solid rgba(var(--primary-rgb),.3);background:var(--grades-summary-bg);padding:var(--space-4);margin-bottom:var(--space-3-5)}.grades-summary-row{justify-content:space-between;align-items:flex-end;gap:var(--space-3);display:flex}.grades-summary-label{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--weight-medium);margin:0}.grades-summary-value{margin-top:var(--space-1);color:var(--text);font-size:var(--text-5xl);font-weight:var(--weight-bold);line-height:1}.grades-summary-aside{text-align:right;color:var(--text-secondary);font-size:var(--text-xs)}.grades-loading-block{padding:var(--space-7)0;justify-content:center;align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.grades-spinner{border:4px solid var(--primary);border-top-color:#0000;border-radius:50%;animation:1s linear infinite spin}.grades-spinner-sm{width:40px;height:40px}.grades-spinner-md{width:48px;height:48px}.grades-loading-text{color:var(--muted);margin:0}.grades-login-card{border-radius:var(--radius-2xl);border:1px solid rgba(var(--primary-rgb),.3);background:var(--grades-login-bg);padding:var(--space-4);margin-bottom:var(--space-3-5);box-shadow:var(--shadow-modal-soft)}.grades-login-header{align-items:center;gap:var(--space-2-5);margin-bottom:var(--space-2-5);display:flex}.grades-login-icon{border-radius:var(--radius-md);background:rgba(var(--primary-rgb),.14);border:1px solid rgba(var(--primary-rgb),.28);width:34px;height:34px;color:var(--primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.grades-login-title{color:var(--text);font-size:var(--text-xl);font-weight:var(--weight-semibold);margin:0}.grades-login-subtitle{color:var(--text-secondary);font-size:var(--text-sm);margin:2px 0 0}.grades-login-note{border-radius:var(--radius-lg);background:var(--grades-login-note-bg);padding:var(--space-2-5);margin-bottom:var(--space-2-5);border:1px solid #94a3b840}.grades-login-note p{color:var(--muted);font-size:var(--text-sm);margin:0;line-height:1.4}.grades-login-form{gap:var(--space-2-5);flex-direction:column;display:flex}.grades-login-input{padding:11px var(--space-3);border-radius:var(--radius-md);background:var(--grades-input-bg);border:1px solid var(--grades-input-border);color:var(--text);font-size:var(--text-md);outline:none;width:100%}.grades-login-input:focus{border-color:var(--primary)}.grades-login-password-row{gap:var(--space-2);display:flex}.grades-login-password-row .grades-login-input{flex:1}.grades-login-password-toggle{border-radius:var(--radius-md);border:1px solid var(--grades-input-border);background:var(--grades-input-bg);color:var(--muted);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;min-width:74px}.grades-login-password-toggle:disabled{cursor:not-allowed}.grades-login-error{padding:var(--space-2)var(--space-2-5);border-radius:var(--radius-md);border:1px solid var(--status-danger-border);background:var(--status-danger-bg);font-size:var(--text-base);color:var(--status-danger-color);margin:0}.grades-login-submit{margin-top:2px}.lesson-progress-row{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.lesson-progress-badge{align-items:center;gap:var(--space-2);padding:var(--space-1)var(--space-2-5);border-radius:var(--radius-pill);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text);background:linear-gradient(135deg,rgba(var(--primary-rgb),.16),#38bdf824);box-shadow:0 10px 28px rgba(var(--primary-rgb),.16);display:inline-flex}.lesson-progress-time{font-size:var(--text-xs);font-weight:var(--weight-normal);color:var(--text-secondary)}.lesson-progress-bar{border-radius:var(--radius-pill);background:linear-gradient(90deg,var(--bg-secondary),var(--card));border:1px solid var(--border);height:10px;box-shadow:inset 0 1px 2px rgba(var(--primary-rgb),.08);position:relative;overflow:hidden}.lesson-progress-fill{border-radius:var(--radius-pill);background:linear-gradient(90deg,#38bdf8 0%,#818cf8 40%,#a78bfa 70%,#f472b6 100%);position:absolute;inset:0;box-shadow:0 0 22px #60a5fa61}.lesson-progress-shine{filter:blur(1px);background:linear-gradient(90deg,#0000,#ffffff73,#0000);width:36%;position:absolute;top:0;bottom:0}.lesson-progress-footer{margin-top:var(--space-2);justify-content:space-between;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--muted);display:flex}.lesson-detail-label{font-size:var(--text-lg);line-height:1.4;font-weight:var(--weight-normal);white-space:normal;word-break:break-word}.lesson-note-indicator{background:var(--primary);width:8px;height:8px;box-shadow:0 0 0 2px var(--lesson-bg);pointer-events:none;z-index:1;border-radius:50%;position:absolute;top:6px;right:6px}.lesson-note-btn{color:var(--muted);background:#94a3b824;border:1px solid #0000}.lesson-note-btn-active{background:var(--status-warning-bg);color:var(--status-warning-color);border-color:var(--status-warning-border)}.lesson-badge.custom{background:rgba(var(--primary-rgb),.15);color:var(--primary)}.lesson-badge.saved-note{background:var(--status-warning-bg);color:var(--status-warning-color);border:1px solid var(--status-warning-border)}.lesson-badge-period{background:var(--status-info-bg);color:var(--status-info-color);border:1px solid var(--status-info-border);gap:4px}.add-lesson-btn{width:100%;margin-top:var(--space-3);padding:var(--space-2-5)0;border-radius:var(--radius-lg);background:var(--bg);color:var(--muted);border:1px dashed var(--border);font-size:var(--text-base);font-weight:var(--weight-normal);cursor:pointer;justify-content:center;align-items:center;gap:var(--space-2);transition:all .2s;display:flex}.lesson-note-editor{margin-top:var(--space-3);padding:var(--space-3);border-radius:var(--radius-lg);background:var(--bg-secondary);border:1px solid var(--border)}.lesson-note-textarea{border-radius:var(--radius-sm);width:100%;padding:var(--space-2)var(--space-3);font-size:var(--text-base);resize:none;background:var(--bg);color:var(--text);border:1px solid var(--border);outline:none}.lesson-note-actions{margin-top:var(--space-2);justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.lesson-note-counter{font-size:var(--text-sm);color:var(--muted)}.lesson-note-buttons{align-items:center;gap:var(--space-2);display:flex}.lesson-note-btn-action{padding:var(--space-1-5)var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--weight-normal);cursor:pointer;border:none}.lesson-note-btn-clear{background:rgba(var(--danger-rgb),.14);color:var(--danger)}.lesson-note-btn-save{background:var(--gradient-primary);color:#fff}.chat-tabs{gap:var(--space-2);flex-wrap:wrap;display:flex}.chat-tab{align-items:center;gap:var(--space-2);padding:var(--space-2)var(--space-3);border-radius:var(--radius-lg);font-size:var(--text-base);font-weight:var(--weight-medium);border:1px solid var(--border);background:var(--card);color:var(--text);cursor:pointer;transition:background-color .15s,color .15s,border-color .15s,transform .15s;display:inline-flex}.chat-tab:hover{border-color:rgba(var(--primary-rgb),.4);transform:translateY(-1px)}.chat-tab--active{background:rgba(var(--primary-rgb),.12);color:var(--primary);border-color:rgba(var(--primary-rgb),.3);box-shadow:0 4px 12px rgba(var(--primary-rgb),.18)}.chat-tab-badge{margin-left:var(--space-1-5);min-width:18px;height:18px;padding:0 var(--space-1-5);border-radius:var(--radius-pill);background:rgba(var(--primary-rgb),.18);color:var(--primary);font-size:var(--text-3xs);font-weight:var(--weight-semibold);justify-content:center;align-items:center;display:inline-flex}.chat-nickname-strip{align-items:center;gap:var(--space-2);padding:var(--space-2)var(--space-2-5);border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface-overlay-1);display:flex}.chat-stats{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.chat-stat{align-items:center;gap:var(--space-2);background:var(--surface-overlay-1);border:1px solid var(--border);font-size:var(--text-xs);color:var(--text);border-radius:12px;padding:8px 12px;transition:background-color .18s,border-color .18s,transform .15s;display:inline-flex}.chat-stat:hover{background:var(--surface-overlay-2);border-color:rgba(var(--primary-rgb),.32);transform:translateY(-1px)}.chat-stat-icon{background:rgba(var(--primary-rgb),.14);width:22px;height:22px;color:var(--primary);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.chat-stat[data-tone=success] .chat-stat-icon{background:rgba(var(--good-rgb),.14);color:var(--good)}.chat-stat[data-tone=info] .chat-stat-icon{background:rgba(var(--status-info-rgb),.14);color:var(--status-info-color)}.chat-stat[data-tone=warning] .chat-stat-icon{background:rgba(var(--status-warning-rgb),.18);color:var(--status-warning-color)}.chat-stat-value{color:var(--text);font-size:13px;font-weight:700}.chat-stat-label{color:var(--muted)}.chat-online-dot{background:var(--good);border-radius:999px;flex-shrink:0;width:8px;height:8px;position:relative}.chat-online-dot:before{content:"";background:rgba(var(--good-rgb),.4);border-radius:999px;animation:1.8s ease-out infinite chat-online-pulse;position:absolute;inset:-4px}@keyframes chat-online-pulse{0%{opacity:.8;transform:scale(.6)}to{opacity:0;transform:scale(1.6)}}.message-day-separator{align-items:center;gap:var(--space-2);margin:var(--space-3)0 var(--space-2);font-size:var(--text-3xs);color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-weight:600;display:flex}.message-day-separator:before,.message-day-separator:after{content:"";background:linear-gradient(90deg,transparent,var(--border),transparent);flex:1;height:1px}.chat-pinned-strip{align-items:center;gap:var(--space-2);background:rgba(var(--primary-rgb),.08);border:1px solid rgba(var(--primary-rgb),.18);border-left-width:3px;border-radius:14px;padding:10px 12px;display:flex}.chat-pinned-strip-icon{background:rgba(var(--primary-rgb),.16);width:28px;height:28px;color:var(--primary);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.chat-pinned-strip-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.chat-pinned-strip-label{font-size:var(--text-3xs);color:var(--primary);text-transform:uppercase;letter-spacing:.1em;font-weight:700}.chat-pinned-strip-text{font-size:var(--text-sm);color:var(--text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.chat-composer-actions{flex-shrink:0;align-items:center;gap:4px;display:inline-flex}.chat-composer-action{width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;transition:background-color .15s,color .15s,transform .15s;display:inline-flex}.chat-composer-action:hover{background:rgba(var(--primary-rgb),.1);color:var(--primary);transform:scale(1.08)}.chat-composer-action:active{transform:scale(.94)}.chat-char-counter{background:var(--surface-overlay-2);color:var(--muted);font-variant-numeric:tabular-nums;pointer-events:none;opacity:.7;border-radius:999px;padding:2px 8px;font-size:10px;transition:opacity .18s,color .18s;position:absolute;bottom:6px;right:12px}.chat-char-counter[data-warning=true]{color:var(--status-warning-color);opacity:1}.chat-char-counter[data-danger=true]{color:var(--danger);opacity:1}.message-bubble-actions{opacity:0;pointer-events:none;align-items:center;gap:4px;transition:opacity .18s,transform .18s;display:inline-flex;transform:translateY(4px)}.message-bubble:hover .message-bubble-actions,.message-bubble:focus-within .message-bubble-actions{opacity:1;pointer-events:auto;transform:translateY(0)}.message-bubble-action{border:1px solid var(--border);background:var(--card);width:24px;height:24px;color:var(--muted);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;transition:background-color .15s,border-color .15s,color .15s,transform .15s;display:inline-flex}.message-bubble-action:hover:not(:disabled){background:rgba(var(--primary-rgb),.12);border-color:rgba(var(--primary-rgb),.32);color:var(--primary);transform:scale(1.1)}.message-bubble-action:active:not(:disabled){transform:scale(.92)}.message-bubble-action:disabled{opacity:.4;cursor:not-allowed}.chat-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:40px 20px;display:flex}.chat-empty-icon{background:radial-gradient(circle,rgba(var(--primary-rgb),.18),rgba(var(--primary-rgb),.04));width:64px;height:64px;color:var(--primary);border-radius:999px;justify-content:center;align-items:center;margin-bottom:4px;display:inline-flex}.chat-empty-title{color:var(--text);font-size:16px;font-weight:600}.chat-empty-hint{color:var(--muted);max-width:320px;font-size:13px;line-height:1.5}.chat-skeleton-thread{flex-direction:column;gap:10px;padding:16px 0;display:flex}.chat-skeleton-bubble{background:linear-gradient(90deg,var(--surface-overlay-2)25%,var(--surface-overlay-3)50%,var(--surface-overlay-2)75%);background-size:200% 100%;border-radius:18px;max-width:60%;height:38px;animation:1.4s ease-in-out infinite skeleton-loading}.chat-skeleton-bubble--own{align-self:flex-end;max-width:50%}.chat-skeleton-bubble--short{max-width:30%}.chat-scroll-down{border:1px solid var(--border);background:var(--card);width:40px;height:40px;color:var(--text);cursor:pointer;box-shadow:var(--shadow);z-index:5;border-radius:999px;justify-content:center;align-items:center;transition:transform .18s,background-color .15s,box-shadow .18s;display:inline-flex;position:absolute;bottom:80px;right:16px}.chat-scroll-down:hover{background:rgba(var(--primary-rgb),.1);box-shadow:0 8px 22px rgba(var(--primary-rgb),.24);transform:scale(1.1)}.chat-scroll-down-badge{background:var(--primary);color:#fff;min-width:20px;height:20px;box-shadow:0 4px 12px rgba(var(--primary-rgb),.4);border:2px solid var(--card);border-radius:999px;justify-content:center;align-items:center;padding:0 5px;font-size:10px;font-weight:700;display:inline-flex;position:absolute;top:-4px;right:-4px}.chat-feed-sort{background:var(--surface-overlay-1);border:1px solid var(--border);border-radius:999px;align-items:center;gap:4px;padding:4px;display:inline-flex}.chat-feed-sort-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:500;transition:background-color .15s,color .15s}.chat-feed-sort-btn:hover{color:var(--text)}.chat-feed-sort-btn--active{background:var(--card);color:var(--text);box-shadow:var(--shadow-sm);font-weight:600}.chat-mute-banner{border-radius:var(--radius-lg);border:1px solid rgba(var(--status-warning-rgb),.3);background:linear-gradient(135deg,rgba(var(--status-warning-rgb),.1),rgba(var(--status-warning-rgb),.04));align-items:center;gap:12px;padding:12px 14px;display:flex}.chat-mute-banner-icon{background:rgba(var(--status-warning-rgb),.18);width:36px;height:36px;color:var(--status-warning-color);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.chat-mute-banner-title{color:var(--status-warning-color);font-size:13px;font-weight:600}.chat-mute-banner-hint{color:var(--muted);margin-top:2px;font-size:12px}.chat-composer-row{position:relative}.message-bubble{animation:.22s cubic-bezier(.4,0,.2,1) chat-bubble-in}@keyframes chat-bubble-in{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.chip:active:not(:disabled){transform:scale(.96)}@supports (view-transition-name:chat-panel){.chat-tabs~*{view-transition-name:chat-panel}}::view-transition-old(chat-panel){animation-duration:.22s;animation-timing-function:cubic-bezier(.4,0,.2,1)}::view-transition-new(chat-panel){animation-duration:.22s;animation-timing-function:cubic-bezier(.4,0,.2,1)}::view-transition-old(chat-panel){animation-name:chat-panel-fade-out}::view-transition-new(chat-panel){animation-name:chat-panel-fade-in}@keyframes chat-panel-fade-out{to{opacity:0;transform:translateY(-4px)}}@keyframes chat-panel-fade-in{0%{opacity:0;transform:translateY(4px)}}.globalv2-shell{--gv2-radius:24px;--gv2-radius-sm:14px;--gv2-radius-lg:28px;--gv2-accent:var(--primary);--gv2-accent-rgb:var(--primary-rgb);--gv2-fg:var(--text);--gv2-fg-soft:var(--text-secondary);--gv2-fg-mute:var(--muted);--gv2-bg:var(--card);--gv2-surface-1:var(--surface-overlay-1);--gv2-surface-2:var(--surface-overlay-2);--gv2-surface-3:var(--surface-overlay-3);--gv2-border:var(--border);--gv2-border-soft:var(--surface-border-2);--gv2-bubble-own:linear-gradient(135deg,rgba(var(--gv2-accent-rgb),.22),rgba(var(--gv2-accent-rgb),.12));--gv2-bubble-other:var(--surface-overlay-2);flex-direction:column;gap:16px;display:flex;container-type:inline-size}.globalv2-hero{border-radius:var(--gv2-radius-lg);border:1px solid var(--gv2-border-soft);background:linear-gradient(145deg,rgba(var(--gv2-accent-rgb),.14),var(--gv2-bg)55%,rgba(var(--gv2-accent-rgb),.06));isolation:isolate;padding:clamp(18px,4vw,28px);position:relative;overflow:hidden}.globalv2-hero:before,.globalv2-hero:after{content:"";filter:blur(56px);z-index:-1;pointer-events:none;border-radius:999px;position:absolute}.globalv2-hero:before{background:radial-gradient(circle,rgba(var(--gv2-accent-rgb),.45),transparent 70%);width:280px;height:280px;animation:14s ease-in-out infinite alternate globalv2-orb-drift-1;top:-130px;right:-80px}.globalv2-hero:after{background:radial-gradient(circle,rgba(var(--good-rgb),.35),transparent 70%);width:220px;height:220px;animation:18s ease-in-out infinite alternate globalv2-orb-drift-2;bottom:-120px;left:-60px}@keyframes globalv2-orb-drift-1{to{transform:translate(40px,30px)scale(1.1)}}@keyframes globalv2-orb-drift-2{to{transform:translate(-30px,-20px)scale(1.15)}}@media (prefers-reduced-motion:reduce){.globalv2-hero:before,.globalv2-hero:after{animation:none}}.globalv2-hero-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.globalv2-hero-eyebrow{background:rgba(var(--gv2-accent-rgb),.14);color:var(--gv2-accent);letter-spacing:.14em;text-transform:uppercase;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.globalv2-hero-live{background:rgba(var(--good-rgb),.14);color:var(--good);border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}.globalv2-hero-live-dot{background:var(--good);border-radius:999px;width:6px;height:6px;position:relative}.globalv2-hero-live-dot:after{content:"";background:rgba(var(--good-rgb),.4);border-radius:999px;animation:1.6s ease-out infinite globalv2-live-pulse;position:absolute;inset:-3px}@keyframes globalv2-live-pulse{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(2)}}.globalv2-hero-title{letter-spacing:-.02em;color:var(--gv2-fg);background:linear-gradient(135deg,var(--gv2-fg)30%,var(--gv2-accent));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-top:14px;font-size:clamp(24px,4vw,34px);font-weight:800;line-height:1.1}.globalv2-hero-subtitle{color:var(--gv2-fg-mute);max-width:520px;margin-top:6px;font-size:13px;line-height:1.5}.globalv2-hero-stats{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.globalv2-stat{background:var(--gv2-surface-2);border:1px solid var(--gv2-border);-webkit-backdrop-filter:blur(12px);border-radius:14px;align-items:center;gap:8px;padding:8px 12px;display:inline-flex}.globalv2-stat-icon{background:rgba(var(--gv2-accent-rgb),.16);width:26px;height:26px;color:var(--gv2-accent);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.globalv2-stat-value{color:var(--gv2-fg);font-size:13px;font-weight:700}.globalv2-stat-label{color:var(--gv2-fg-mute);font-size:11px}.globalv2-identity{background:var(--gv2-surface-1);border:1px solid var(--gv2-border);border-radius:999px;align-items:center;gap:10px;max-width:100%;margin-top:18px;padding:8px 12px 8px 8px;display:inline-flex}.globalv2-identity-avatar{background:linear-gradient(135deg,rgba(var(--gv2-accent-rgb),.4),rgba(var(--good-rgb),.4));color:#fff;letter-spacing:.5px;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:800;display:inline-flex}.globalv2-identity-name{color:var(--gv2-fg);white-space:nowrap;text-overflow:ellipsis;max-width:220px;font-size:13px;font-weight:600;overflow:hidden}.globalv2-identity-edit{width:24px;height:24px;color:var(--gv2-fg-mute);cursor:pointer;background:0 0;border:none;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .15s,color .15s,transform .15s;display:inline-flex}.globalv2-identity-edit:hover{background:rgba(var(--gv2-accent-rgb),.12);color:var(--gv2-accent);transform:scale(1.1)}.globalv2-identity-editor{border-radius:var(--gv2-radius-sm);background:var(--gv2-surface-1);border:1px solid var(--gv2-border);flex-direction:column;gap:10px;margin-top:12px;padding:14px;animation:.18s ease-out globalv2-fade-in;display:flex}@keyframes globalv2-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.globalv2-modes{background:var(--gv2-surface-2);border:1px solid var(--gv2-border);border-radius:999px;align-self:flex-start;padding:4px;display:inline-flex;position:relative}.globalv2-mode{z-index:1;color:var(--gv2-fg-mute);cursor:pointer;background:0 0;border:none;border-radius:999px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:color .18s;display:inline-flex;position:relative}.globalv2-mode--active{color:#fff}.globalv2-mode-thumb{z-index:0;background:linear-gradient(135deg,var(--gv2-accent),rgba(var(--gv2-accent-rgb),.85));box-shadow:0 4px 14px rgba(var(--gv2-accent-rgb),.42);border-radius:999px;transition:left .28s cubic-bezier(.45,1.4,.5,1),width .28s cubic-bezier(.45,1.4,.5,1);position:absolute;top:4px;bottom:4px}.globalv2-pinned{border-radius:var(--gv2-radius-sm);background:rgba(var(--gv2-accent-rgb),.06);border:1px solid rgba(var(--gv2-accent-rgb),.18);border-left-width:3px;align-items:center;gap:12px;padding:10px 14px;display:flex}.globalv2-pinned-icon{background:rgba(var(--gv2-accent-rgb),.18);width:28px;height:28px;color:var(--gv2-accent);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.globalv2-pinned-body{flex:1;min-width:0}.globalv2-pinned-author{color:var(--gv2-accent);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700}.globalv2-pinned-text{color:var(--gv2-fg);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.globalv2-thread-shell{border-radius:var(--gv2-radius);border:1px solid var(--gv2-border);background:var(--gv2-bg);flex-direction:column;min-height:420px;max-height:70vh;display:flex;position:relative;overflow:hidden}.globalv2-thread{scroll-behavior:smooth;scrollbar-gutter:stable;flex-direction:column;flex:1;gap:10px;padding:18px 16px 12px;display:flex;overflow-y:auto}.globalv2-thread:before,.globalv2-thread:after{content:"";pointer-events:none;z-index:2;height:28px;position:absolute;left:0;right:0}.globalv2-thread:before{background:linear-gradient(180deg,var(--gv2-bg),transparent);top:0}.globalv2-thread:after{background:linear-gradient(0deg,var(--gv2-bg),transparent);bottom:96px}.globalv2-day{background:var(--gv2-surface-2);border:1px solid var(--gv2-border);letter-spacing:.1em;text-transform:uppercase;color:var(--gv2-fg-mute);z-index:3;-webkit-backdrop-filter:blur(10px);border-radius:999px;align-self:center;margin:8px 0;padding:4px 14px;font-size:11px;font-weight:700;position:sticky;top:8px}.globalv2-row{align-items:flex-end;gap:10px;animation:.24s cubic-bezier(.4,0,.2,1) globalv2-bubble-in;display:flex}.globalv2-row--own{flex-direction:row-reverse}@keyframes globalv2-bubble-in{0%{opacity:0;transform:translateY(6px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.globalv2-avatar{background:linear-gradient(135deg,rgba(var(--gv2-accent-rgb),.6),rgba(var(--good-rgb),.5));color:#fff;cursor:pointer;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-weight:700;transition:transform .18s;display:inline-flex}.globalv2-avatar:hover{transform:scale(1.08)}.globalv2-avatar--ghost{visibility:hidden}.globalv2-bubble-col{flex-direction:column;gap:4px;min-width:0;max-width:min(72%,540px);display:flex}.globalv2-row--own .globalv2-bubble-col{align-items:flex-end}.globalv2-author{color:var(--gv2-fg);cursor:pointer;padding:0 12px;font-size:12px;font-weight:700;transition:color .15s}.globalv2-author:hover{color:var(--gv2-accent)}.globalv2-row--own .globalv2-author{display:none}.globalv2-bubble{border:1px solid var(--gv2-border);background:var(--gv2-bubble-other);color:var(--gv2-fg);white-space:pre-wrap;word-break:break-word;border-radius:18px;padding:10px 14px;font-size:14px;line-height:1.5;position:relative;box-shadow:0 1px #0000000a,0 4px 14px #0000000a}.globalv2-row--own .globalv2-bubble{background:var(--gv2-bubble-own);border-color:rgba(var(--gv2-accent-rgb),.32);color:var(--gv2-fg);box-shadow:0 1px 0 rgba(var(--gv2-accent-rgb),.18),0 6px 18px rgba(var(--gv2-accent-rgb),.18)}.globalv2-bubble--tail-other{border-bottom-left-radius:6px}.globalv2-bubble--tail-own{border-bottom-right-radius:6px}.globalv2-bubble--continued{margin-top:-2px}.globalv2-bubble--pending{opacity:.65}.globalv2-meta{color:var(--gv2-fg-mute);font-variant-numeric:tabular-nums;align-items:center;gap:6px;padding:0 12px;font-size:10px;display:flex}.globalv2-meta-tag{background:var(--gv2-surface-2);color:var(--gv2-fg-mute);border-radius:999px;align-items:center;gap:4px;padding:2px 7px;font-size:10px;font-weight:600;display:inline-flex}.globalv2-meta-tag--pinned{background:rgba(var(--gv2-accent-rgb),.16);color:var(--gv2-accent)}.globalv2-actions{opacity:0;pointer-events:none;align-items:center;gap:4px;margin-left:4px;transition:opacity .18s,transform .18s;display:inline-flex;transform:translateY(4px)}.globalv2-row:hover .globalv2-actions,.globalv2-row:focus-within .globalv2-actions{opacity:1;pointer-events:auto;transform:translateY(0)}.globalv2-action{border:1px solid var(--gv2-border);background:var(--gv2-bg);width:24px;height:24px;color:var(--gv2-fg-mute);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;transition:background-color .15s,color .15s,transform .15s,border-color .15s;display:inline-flex}.globalv2-action:hover:not(:disabled){background:rgba(var(--gv2-accent-rgb),.12);border-color:rgba(var(--gv2-accent-rgb),.32);color:var(--gv2-accent);transform:scale(1.1)}.globalv2-action:active:not(:disabled){transform:scale(.92)}.globalv2-action:disabled{opacity:.4;cursor:not-allowed}.globalv2-action--danger:hover:not(:disabled){background:rgba(var(--status-danger-rgb),.12);border-color:rgba(var(--status-danger-rgb),.32);color:var(--danger)}.globalv2-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:60px 20px;display:flex}.globalv2-empty-icon{background:radial-gradient(circle,rgba(var(--gv2-accent-rgb),.22),rgba(var(--gv2-accent-rgb),.04));width:80px;height:80px;color:var(--gv2-accent);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.globalv2-empty-title{color:var(--gv2-fg);font-size:18px;font-weight:700}.globalv2-empty-hint{color:var(--gv2-fg-mute);max-width:320px;font-size:13px;line-height:1.6}.globalv2-skeleton{flex-direction:column;gap:12px;padding:16px 0;display:flex}.globalv2-skeleton-row{align-items:flex-end;gap:10px;display:flex}.globalv2-skeleton-row--own{flex-direction:row-reverse}.globalv2-skeleton-avatar{background:linear-gradient(90deg,var(--gv2-surface-2)25%,var(--gv2-surface-3)50%,var(--gv2-surface-2)75%);background-size:200% 100%;border-radius:999px;flex-shrink:0;width:32px;height:32px;animation:1.4s ease-in-out infinite skeleton-loading}.globalv2-skeleton-bubble{background:linear-gradient(90deg,var(--gv2-surface-2)25%,var(--gv2-surface-3)50%,var(--gv2-surface-2)75%);background-size:200% 100%;border-radius:18px;width:200px;height:38px;animation:1.4s ease-in-out infinite skeleton-loading}.globalv2-skeleton-bubble--short{width:130px}.globalv2-skeleton-bubble--long{width:280px}.globalv2-composer{border-top:1px solid var(--gv2-border);background:var(--gv2-bg);-webkit-backdrop-filter:blur(14px);z-index:4;flex-direction:column;gap:8px;padding:12px;display:flex;position:sticky;bottom:0}.globalv2-reply-pin{border-left:3px solid var(--gv2-accent);background:rgba(var(--gv2-accent-rgb),.08);border-radius:8px;align-items:flex-start;gap:10px;padding:8px 10px;display:flex}.globalv2-reply-pin-body{flex:1;min-width:0}.globalv2-reply-pin-label{color:var(--gv2-accent);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700}.globalv2-reply-pin-text{color:var(--gv2-fg-mute);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.globalv2-reply-pin-cancel{width:22px;height:22px;color:var(--gv2-fg-mute);cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.globalv2-reply-pin-cancel:hover{color:var(--gv2-fg)}.globalv2-composer-row{align-items:flex-end;gap:8px;display:flex;position:relative}.globalv2-composer-tools{flex-shrink:0;align-items:center;gap:2px;display:inline-flex}.globalv2-tool{width:36px;height:36px;color:var(--gv2-fg-mute);cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;transition:background-color .15s,color .15s,transform .15s;display:inline-flex}.globalv2-tool:hover:not(:disabled){background:rgba(var(--gv2-accent-rgb),.12);color:var(--gv2-accent);transform:scale(1.08)}.globalv2-tool:active:not(:disabled){transform:scale(.94)}.globalv2-tool:disabled{opacity:.45;cursor:not-allowed}.globalv2-input{border:1px solid var(--gv2-border);background:var(--gv2-surface-1);min-height:40px;max-height:180px;color:var(--gv2-fg);resize:none;border-radius:18px;outline:none;flex:1;padding:10px 14px;font-size:14px;line-height:1.5;transition:border-color .18s,box-shadow .18s}.globalv2-input::placeholder{color:var(--gv2-fg-mute)}.globalv2-input:focus{border-color:rgba(var(--gv2-accent-rgb),.55);box-shadow:0 0 0 3px rgba(var(--gv2-accent-rgb),.16)}.globalv2-input:disabled{opacity:.5;cursor:not-allowed}.globalv2-counter{background:var(--gv2-surface-2);color:var(--gv2-fg-mute);font-variant-numeric:tabular-nums;pointer-events:none;opacity:.7;border-radius:999px;padding:2px 8px;font-size:10px;position:absolute;bottom:6px;right:60px}.globalv2-counter[data-warning]{color:var(--status-warning-color);opacity:1}.globalv2-counter[data-danger]{color:var(--danger);opacity:1}.globalv2-send{background:linear-gradient(135deg,var(--gv2-accent),rgba(var(--gv2-accent-rgb),.85));color:#fff;cursor:pointer;width:40px;height:40px;box-shadow:0 6px 16px rgba(var(--gv2-accent-rgb),.36);border:none;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;transition:transform .15s,box-shadow .18s;display:inline-flex}.globalv2-send:hover:not(:disabled){box-shadow:0 8px 22px rgba(var(--gv2-accent-rgb),.46);transform:scale(1.08)}.globalv2-send:active:not(:disabled){transform:scale(.94)}.globalv2-send:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.globalv2-mute{background:linear-gradient(135deg,rgba(var(--status-warning-rgb),.12),rgba(var(--status-warning-rgb),.04));border:1px solid rgba(var(--status-warning-rgb),.3);border-radius:14px;align-items:center;gap:12px;margin-top:14px;padding:12px 14px;display:flex}.globalv2-mute-icon{background:rgba(var(--status-warning-rgb),.16);width:36px;height:36px;color:var(--status-warning-color);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.globalv2-mute-title{color:var(--status-warning-color);font-size:13px;font-weight:700}.globalv2-mute-hint{color:var(--gv2-fg-mute);margin-top:2px;font-size:12px}.globalv2-sort{background:var(--gv2-surface-1);border:1px solid var(--gv2-border);border-radius:999px;align-items:center;gap:4px;padding:4px;display:inline-flex}.globalv2-sort-btn{color:var(--gv2-fg-mute);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:6px 14px;font-size:12px;font-weight:600;transition:color .15s,background-color .15s}.globalv2-sort-btn:hover{color:var(--gv2-fg)}.globalv2-sort-btn--active{background:var(--gv2-bg);color:var(--gv2-accent);box-shadow:0 2px 8px #0000000f}.globalv2-post{border:1px solid var(--gv2-border);background:var(--gv2-bg);border-radius:16px;flex-direction:column;gap:10px;padding:14px 16px;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex}.globalv2-post:hover{border-color:rgba(var(--gv2-accent-rgb),.28);transform:translateY(-2px);box-shadow:0 8px 24px #00000014}.globalv2-post--own{border-color:rgba(var(--gv2-accent-rgb),.32);background:linear-gradient(135deg,rgba(var(--gv2-accent-rgb),.06),var(--gv2-bg))}.globalv2-post-header{align-items:center;gap:10px;display:flex}.globalv2-post-author{color:var(--gv2-fg);cursor:pointer;font-size:13px;font-weight:700}.globalv2-post-time{color:var(--gv2-fg-mute);font-variant-numeric:tabular-nums;font-size:11px}.globalv2-post-body{color:var(--gv2-fg);white-space:pre-wrap;word-break:break-word;font-size:14px;line-height:1.6}.globalv2-post-reply-quote{border-left:3px solid rgba(var(--gv2-accent-rgb),.5);background:rgba(var(--gv2-accent-rgb),.06);color:var(--gv2-fg-mute);border-radius:8px;padding:8px 12px;font-size:12px}.globalv2-post-actions{color:var(--gv2-fg-mute);flex-wrap:wrap;align-items:center;gap:10px;font-size:12px;display:flex}.globalv2-post-replies{align-items:center;gap:4px;display:inline-flex}.globalv2-feed-tree{border-left:2px solid var(--gv2-border);flex-direction:column;gap:10px;margin-left:26px;padding-left:14px;display:flex}@container (max-width:480px){.globalv2-bubble-col{max-width:80%}.globalv2-hero-stats{gap:6px}.globalv2-stat{padding:6px 10px}}.chat-dialogs-shell{gap:var(--space-3);grid-template-columns:minmax(0,1fr);display:grid}@media (min-width:1024px){.chat-dialogs-shell{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start}}.chat-rooms-panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-3xl);padding:var(--space-2);gap:var(--space-1);flex-direction:column;max-height:70vh;display:flex;overflow-y:auto}.chat-room-tile{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2-5);border-radius:var(--radius-2xl);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;grid-template-columns:40px minmax(0,1fr) auto;transition:background-color .15s,border-color .15s;display:grid}.chat-room-tile:hover{background:rgba(var(--primary-rgb),.05)}.chat-room-tile--active{background:rgba(var(--primary-rgb),.1);border-color:rgba(var(--primary-rgb),.25)}.chat-room-avatar{border-radius:var(--radius-pill);background:linear-gradient(135deg,rgba(var(--primary-rgb),.6),rgba(var(--accent-rgb),.45));color:#fff;width:40px;height:40px;font-size:var(--text-md);font-weight:var(--weight-bold);text-transform:uppercase;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-room-body{flex-direction:column;gap:2px;min-width:0;display:flex}.chat-room-title-row{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.chat-room-title{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.chat-room-time{font-size:var(--text-3xs);color:var(--muted);flex-shrink:0}.chat-room-preview{font-size:var(--text-sm);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.chat-room-meta{align-items:flex-end;gap:var(--space-1);flex-direction:column;flex-shrink:0;display:flex}.chat-room-unread{min-width:22px;height:22px;padding:0 var(--space-1-5);border-radius:var(--radius-pill);background:var(--primary);color:#fff;font-size:var(--text-3xs);font-weight:var(--weight-bold);justify-content:center;align-items:center;display:inline-flex}.chat-conversation{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-3xl);flex-direction:column;min-height:60vh;max-height:80vh;display:flex;position:relative;overflow:hidden}.chat-conversation-header{align-items:center;gap:var(--space-3);padding:var(--space-3)var(--space-4);border-bottom:1px solid var(--border);background:linear-gradient(180deg,rgba(var(--primary-rgb),.04),transparent);display:flex}.chat-conversation-header-info{flex:1;min-width:0}.chat-conversation-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.chat-conversation-subtitle{font-size:var(--text-sm);color:var(--muted);margin-top:1px}.chat-thread{padding:var(--space-4)var(--space-3);background:var(--bg);gap:var(--space-2);flex-direction:column;flex:1;display:flex;overflow-y:auto}.message-bubble{gap:var(--space-1);flex-direction:column;max-width:78%;display:flex}.message-bubble--continued{margin-top:calc(var(--space-1)*-1)}.message-bubble--continued .message-bubble-author{display:none}.message-bubble--continued.message-bubble--other .message-bubble-content{border-top-left-radius:var(--radius-sm)}.message-bubble--continued.message-bubble--own .message-bubble-content{border-top-right-radius:var(--radius-sm)}.message-bubble--own{align-self:flex-end;align-items:flex-end}.message-bubble--other{align-self:flex-start;align-items:flex-start}.message-bubble-content{padding:var(--space-2)var(--space-3);border-radius:var(--radius-2xl);border:1px solid var(--border);background:var(--card);color:var(--text);font-size:var(--text-md);white-space:pre-wrap;word-break:break-word;line-height:1.45}.message-bubble--own .message-bubble-content{background:linear-gradient(180deg,rgba(var(--primary-rgb),.18),rgba(var(--primary-rgb),.1));border-color:rgba(var(--primary-rgb),.28);box-shadow:var(--shadow-card-emphasis);border-bottom-right-radius:var(--radius-sm)}.message-bubble--other .message-bubble-content{border-bottom-left-radius:var(--radius-sm)}.message-bubble--pending .message-bubble-content{opacity:.6}.message-bubble--pending .message-bubble-meta:after{content:"⏱";font-size:var(--text-3xs)}.message-bubble-author{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text);padding:0 var(--space-2)}.message-bubble--own .message-bubble-author{display:none}.message-bubble-meta{align-items:center;gap:var(--space-1-5);font-size:var(--text-3xs);color:var(--muted);padding:0 var(--space-2);display:flex}.message-bubble-edited{font-style:italic}.message-bubble-reply{margin-bottom:var(--space-1-5);padding:var(--space-1-5)var(--space-2-5);border-left:3px solid rgba(var(--primary-rgb),.5);background:rgba(var(--primary-rgb),.06);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--muted)}.message-bubble-reply-author{font-weight:var(--weight-semibold);color:var(--text);font-size:var(--text-xs)}.message-bubble-actions{gap:var(--space-1);opacity:0;transition:opacity .15s;display:flex}.message-bubble:hover .message-bubble-actions,.message-bubble:focus-within .message-bubble-actions{opacity:1}.message-bubble-action{font-size:var(--text-3xs);color:var(--muted);padding:2px var(--space-1-5);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none}.message-bubble-action:hover{color:var(--primary);background:rgba(var(--primary-rgb),.08)}.message-day-separator{font-size:var(--text-3xs);color:var(--muted);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-pill);padding:2px var(--space-2-5);margin:var(--space-2)0;top:var(--space-2);z-index:1;-webkit-backdrop-filter:blur(8px);align-self:center;position:sticky}.chat-scroll-down{right:var(--space-3);bottom:calc(var(--space-3) + 80px);border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--card);width:40px;height:40px;color:var(--text);font-size:var(--text-md);cursor:pointer;box-shadow:var(--shadow-sm);z-index:2;justify-content:center;align-items:center;display:inline-flex;position:absolute}.chat-scroll-down-badge{min-width:20px;height:20px;padding:0 var(--space-1-5);border-radius:var(--radius-pill);background:var(--primary);color:#fff;font-size:var(--text-3xs);font-weight:var(--weight-bold);justify-content:center;align-items:center;display:flex;position:absolute;top:-4px;right:-4px}.chat-composer{border-top:1px solid var(--border);background:var(--card);padding:var(--space-3);gap:var(--space-2);flex-direction:column;display:flex}.chat-composer-pin{justify-content:space-between;align-items:flex-start;gap:var(--space-2);padding:var(--space-2)var(--space-2-5);border-radius:var(--radius-md);border-left:3px solid var(--primary);background:rgba(var(--primary-rgb),.08);font-size:var(--text-sm);display:flex}.chat-composer-pin-label{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--primary);margin-bottom:2px}.chat-composer-pin-body{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.chat-composer-pin-cancel{color:var(--muted);cursor:pointer;font-size:var(--text-md);padding:0 var(--space-1);background:0 0;border:none;flex-shrink:0;line-height:1}.chat-composer-pin-cancel:hover{color:var(--text)}.chat-composer-row{align-items:flex-end;gap:var(--space-2);display:flex}.chat-composer-input{min-height:44px;max-height:160px;padding:var(--space-2-5)var(--space-3);border-radius:var(--radius-2xl);border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:var(--text-md);resize:none;outline:none;flex:1;transition:border-color .18s,box-shadow .18s}.chat-composer-input:focus{border-color:rgba(var(--primary-rgb),.55);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.16)}.chat-composer-input:disabled{opacity:.6;cursor:not-allowed}.chat-composer-send{background:var(--gradient-primary);color:#fff;width:44px;height:44px;font-size:var(--text-md);font-weight:var(--weight-semibold);cursor:pointer;box-shadow:0 6px 14px rgba(var(--primary-rgb),.32);border:none;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;transition:transform .15s,box-shadow .18s;display:inline-flex}.chat-composer-send:hover:not(:disabled){box-shadow:0 8px 20px rgba(var(--primary-rgb),.42);transform:scale(1.05)}.chat-composer-send:active:not(:disabled){transform:scale(.96)}.chat-composer-send:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.chat-composer-meta{font-size:var(--text-3xs);color:var(--muted);justify-content:space-between;align-items:center;display:flex}.chat-composer-meta-error{color:var(--danger)}.chat-placeholder{border-radius:var(--radius-3xl);border:1px dashed rgba(var(--primary-rgb),.28);background:linear-gradient(180deg,rgba(var(--primary-rgb),.06),var(--card));padding:var(--space-6)var(--space-5);text-align:center}.chat-placeholder-title{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--text)}.chat-placeholder-hint{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--muted)}.chat-placeholder-action{margin-top:var(--space-4)}.chat-friends{gap:var(--space-4);flex-direction:column;display:flex}.chat-friends-search{gap:var(--space-2);align-items:stretch;display:flex}.chat-friends-search-input{padding:var(--space-2-5)var(--space-3);border-radius:var(--radius-2xl);border:1px solid var(--border);background:var(--card);color:var(--text);font-size:var(--text-md);outline:none;flex:1}.chat-friends-search-input:focus{border-color:rgba(var(--primary-rgb),.4)}.chat-friends-search-btn{padding:0 var(--space-3-5);border-radius:var(--radius-2xl);border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:var(--text-base);font-weight:var(--weight-medium);cursor:pointer;white-space:nowrap}.chat-friends-search-btn:disabled{opacity:.6;cursor:not-allowed}.chat-friends-section{gap:var(--space-2);flex-direction:column;display:flex}.chat-friends-section-header{padding:0 var(--space-1);justify-content:space-between;align-items:baseline;display:flex}.chat-friends-section-title{font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--muted)}.chat-friends-section-count{font-size:var(--text-xs);color:var(--muted)}.user-card{align-items:center;gap:var(--space-3);padding:var(--space-2-5)var(--space-3);border-radius:var(--radius-2xl);border:1px solid var(--border);background:var(--card);grid-template-columns:44px minmax(0,1fr) auto;transition:border-color .15s;display:grid}.user-card:hover{border-color:rgba(var(--primary-rgb),.3)}.user-card-avatar{border-radius:var(--radius-pill);background:linear-gradient(135deg,rgba(var(--primary-rgb),.6),rgba(var(--accent-rgb),.45));color:#fff;width:44px;height:44px;font-size:var(--text-md);font-weight:var(--weight-bold);text-transform:uppercase;flex-shrink:0;justify-content:center;align-items:center;display:flex}.user-card-body{flex-direction:column;gap:2px;min-width:0;display:flex}.user-card-name{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.user-card-meta{font-size:var(--text-sm);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.user-card-meta-danger{color:var(--danger)}.user-card-actions{gap:var(--space-1-5);flex-wrap:wrap;flex-shrink:0;display:flex}.user-card-unread{min-width:22px;height:22px;padding:0 var(--space-1-5);border-radius:var(--radius-pill);background:rgba(var(--primary-rgb),.18);color:var(--primary);font-size:var(--text-3xs);font-weight:var(--weight-bold);justify-content:center;align-items:center;display:inline-flex}.privacy-card{border-radius:var(--radius-2xl);border:1px solid var(--border);background:var(--card);padding:var(--space-3-5)}.privacy-card-title{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--text)}.privacy-card-hint{margin-top:var(--space-1);font-size:var(--text-sm);color:var(--muted)}.privacy-toggle-row{margin-top:var(--space-3);gap:var(--space-2);flex-wrap:wrap;display:flex}.privacy-toggle{padding:var(--space-2)var(--space-3);border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:var(--text-base);font-weight:var(--weight-medium);cursor:pointer}.privacy-toggle--active{border-color:rgba(var(--primary-rgb),.4);background:rgba(var(--primary-rgb),.12);color:var(--primary)}.privacy-toggle:disabled{opacity:.6;cursor:not-allowed}.chat-global-mode-row{gap:var(--space-2);flex-wrap:wrap;justify-content:space-between;align-items:center;display:flex}.chat-global-modes{gap:var(--space-1-5);background:var(--bg);border-radius:var(--radius-2xl);border:1px solid var(--border);padding:4px;display:flex}.chat-global-mode{padding:var(--space-1-5)var(--space-3);border-radius:var(--radius-lg);color:var(--muted);font-size:var(--text-base);font-weight:var(--weight-medium);cursor:pointer;background:0 0;border:none}.chat-global-mode--active{background:var(--card);color:var(--text);box-shadow:var(--shadow-sm)}.chat-global-subtitle{font-size:var(--text-sm);color:var(--muted)}.chat-mute-banner{border-radius:var(--radius-lg);border:1px solid rgba(var(--danger-rgb),.24);background:rgba(var(--danger-rgb),.08);padding:var(--space-3)}.chat-mute-banner-title{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--danger)}.chat-mute-banner-hint{font-size:var(--text-sm);color:var(--muted);margin-top:2px}.chat-feed-sort{gap:var(--space-2);flex-wrap:wrap;display:flex}.chat-feed-sort-btn{padding:var(--space-1-5)var(--space-2-5);border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--card);color:var(--muted);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer}.chat-feed-sort-btn--active{border-color:rgba(var(--primary-rgb),.4);background:rgba(var(--primary-rgb),.1);color:var(--primary)}.feed-post{border-radius:var(--radius-2xl);border:1px solid var(--border);background:var(--card);padding:var(--space-3-5)}.feed-post--own{background:rgba(var(--primary-rgb),.06);border-color:rgba(var(--primary-rgb),.18)}.feed-post--pending{opacity:.6}.feed-post-header{justify-content:space-between;align-items:flex-start;gap:var(--space-2);display:flex}.feed-post-author-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.feed-post-time,.feed-post-reply-hint{font-size:var(--text-xs);color:var(--muted);margin-top:2px}.feed-post-body{margin-top:var(--space-2-5);font-size:var(--text-md);color:var(--text);white-space:pre-wrap;word-break:break-word;line-height:1.5}.feed-post-actions{margin-top:var(--space-3);align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.feed-post-replies-count{font-size:var(--text-xs);color:var(--muted);margin-right:auto}.feed-tree-children{gap:var(--space-2-5);margin-top:var(--space-2-5);padding-left:var(--space-3);border-left:2px solid var(--border);flex-direction:column;display:flex}.tag{padding:2px var(--space-2);border-radius:var(--radius-pill);font-size:var(--text-3xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wide);align-items:center;display:inline-flex}.tag-own{background:rgba(var(--primary-rgb),.16);color:var(--primary)}.tag-pinned{background:var(--status-warning-bg);color:var(--status-warning-color)}.mod-report-card{border-radius:var(--radius-2xl);border:1px solid var(--border);background:var(--card);padding:var(--space-3-5)}.mod-report-author{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--text)}.mod-report-meta{font-size:var(--text-xs);color:var(--muted);margin-top:2px}.mod-report-reason{margin-top:var(--space-2-5);font-size:var(--text-sm);color:var(--muted)}.mod-report-quote{margin-top:var(--space-2-5);padding:var(--space-2-5);border-radius:var(--radius-lg);background:var(--bg);border:1px solid var(--border);font-size:var(--text-sm);color:var(--text);white-space:pre-wrap}.mod-report-actions{margin-top:var(--space-3);gap:var(--space-2);flex-wrap:wrap;display:flex}.nickname-card{gap:var(--space-2-5);padding:var(--space-3-5);border-radius:var(--radius-2xl);border:1px solid var(--border);background:var(--bg);flex-direction:column;display:flex}.nickname-card-eyebrow{font-size:var(--text-3xs);text-transform:uppercase;letter-spacing:.18em;color:var(--muted)}.nickname-card-current{font-size:var(--text-base);color:var(--muted)}.nickname-card-input{width:100%;padding:var(--space-2-5)var(--space-3);border-radius:var(--radius-2xl);border:1px solid var(--border);background:var(--card);color:var(--text);font-size:var(--text-md);outline:none}.nickname-card-actions{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.nickname-card-status{font-size:var(--text-xs);color:var(--muted)}.nickname-card-status-error{color:var(--danger)}.confirm-dialog{margin:auto;padding:1.5rem}.confirm-dialog::backdrop{background:var(--overlay-modal-backdrop);-webkit-backdrop-filter:blur(6px)}@starting-style{.confirm-dialog[open]{opacity:0;transform:translateY(8px)scale(.98)}.confirm-dialog[open]::backdrop{opacity:0}}.confirm-dialog{opacity:1;transition:opacity .18s ease,transform .18s cubic-bezier(.4,0,.2,1),overlay .18s ease allow-discrete,display .18s ease allow-discrete;transform:translateY(0)scale(1)}.confirm-dialog::backdrop{opacity:1;transition:opacity .18s ease,overlay .18s ease allow-discrete,display .18s ease allow-discrete}.profile-sheet-dialog{background:0 0;border:none;width:calc(100% - 32px);max-width:380px;max-height:calc(100dvh - 80px);margin:auto;padding:0;overflow:visible}.profile-sheet-dialog::backdrop{background:var(--overlay-modal-backdrop);-webkit-backdrop-filter:blur(8px)}@starting-style{.profile-sheet-dialog[open]{opacity:0;transform:translateY(12px)scale(.96)}.profile-sheet-dialog[open]::backdrop{opacity:0}}.profile-sheet-dialog{opacity:1;transition:opacity .22s ease,transform .22s cubic-bezier(.34,1.56,.64,1),overlay .22s ease allow-discrete,display .22s ease allow-discrete;transform:translateY(0)scale(1)}.profile-sheet-dialog::backdrop{opacity:1;transition:opacity .22s ease,overlay .22s ease allow-discrete,display .22s ease allow-discrete}.profile-sheet-panel{border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow-modal-strong);border-radius:24px;flex-direction:column;max-height:calc(100dvh - 80px);display:flex;position:relative;overflow:hidden}.profile-sheet-close{z-index:2;background:var(--surface-overlay-2,#0000000a);width:28px;height:28px;color:var(--muted);border:1px solid var(--border);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;transition:background .15s,color .15s,transform .15s;display:inline-flex;position:absolute;top:12px;right:12px}.profile-sheet-close:hover{background:rgba(var(--danger-rgb),.12);color:var(--danger);transform:scale(1.05)}.profile-sheet-scroll{overscroll-behavior:contain;padding:14px 14px 0;overflow-y:auto}.profile-sheet-hero{border:1px solid rgba(var(--primary-rgb),.12);background:linear-gradient(180deg,rgba(var(--primary-rgb),.1),var(--bg));border-radius:18px;padding:14px 16px}.profile-sheet-hero-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.profile-sheet-hero-row>div:first-child{align-items:center;gap:14px;min-width:0;display:flex}.profile-sheet-avatar{background:linear-gradient(135deg,rgba(var(--primary-rgb),.24),rgba(var(--primary-rgb),.12));width:56px;height:56px;color:var(--text);border:1px solid rgba(var(--primary-rgb),.2);box-shadow:0 4px 12px rgba(var(--primary-rgb),.18);border-radius:18px;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;font-weight:900;display:flex}.profile-sheet-meta{min-width:0}.profile-sheet-eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);font-size:10px}.profile-sheet-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:17px;font-weight:700;overflow:hidden}.profile-sheet-id{color:var(--muted);word-break:break-all;margin-top:2px;font-size:11px}.profile-sheet-extra{flex-direction:column;gap:8px;margin-top:12px;display:flex}.profile-sheet-tags{flex-wrap:wrap;gap:6px;display:flex}.profile-sheet-tag{background:var(--card);color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:4px 10px;font-size:11px}.profile-sheet-tag-primary{background:rgba(var(--primary-rgb),.14);color:var(--primary);border:1px solid rgba(var(--primary-rgb),.16)}.profile-sheet-desc{color:var(--muted);font-size:12px;line-height:1.5}.profile-sheet-actions-card{border:1px solid var(--border);background:linear-gradient(180deg,var(--card),rgba(var(--primary-rgb),.04));border-radius:18px;margin-top:14px;margin-bottom:14px;padding:12px 16px}.profile-sheet-actions-list{flex-direction:column;gap:10px;margin-top:12px;display:flex}.profile-sheet-footer{background:var(--card);border-top:1px solid var(--border);padding:10px 14px 14px}.profile-sheet-close-btn{cursor:pointer;background:var(--bg);width:100%;color:var(--text);border:1px solid var(--border);border-radius:16px;padding:12px;font-size:15px;font-weight:600;transition:background .15s,transform .15s}.profile-sheet-close-btn:hover{background:var(--surface-overlay-1,#00000008)}.profile-sheet-close-btn:active{transform:scale(.98)}@media (prefers-reduced-motion:reduce){.profile-sheet-dialog,.profile-sheet-dialog::backdrop{transition:none!important}@starting-style{.profile-sheet-dialog[open]{opacity:1;transform:none}}}@supports (animation-timeline:scroll()){.page-scroll-progress{transform-origin:0;background:linear-gradient(90deg,rgba(var(--primary-rgb),.2),var(--primary)50%,rgba(var(--primary-rgb),.6));height:3px;box-shadow:0 0 12px rgba(var(--primary-rgb),.42);z-index:250;pointer-events:none;will-change:transform;animation:linear page-scroll-fill;animation-timeline:scroll(root);position:fixed;top:0;left:0;right:0}@keyframes page-scroll-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}}@supports (animation-timeline:view()){.reveal-on-scroll{animation:linear both reveal-in;animation-timeline:view();animation-range:entry entry 60%}@keyframes reveal-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}}@media (prefers-reduced-motion:reduce){.page-scroll-progress{display:none}.reveal-on-scroll{opacity:1!important;animation:none!important;transform:none!important}}.teacher-profile-dialog{background:0 0;border:none;width:100%;max-width:100%;height:auto;max-height:100dvh;margin:0;padding:0;position:fixed;inset:auto 0 0}@media (min-width:640px){.teacher-profile-dialog{width:calc(100% - 32px);max-width:480px;max-height:85dvh;margin:auto;inset:0}}.teacher-profile-dialog::backdrop{background:var(--overlay-modal-backdrop);-webkit-backdrop-filter:blur(6px)}@starting-style{.teacher-profile-dialog[open]{opacity:0;transform:translateY(40px)}@media (min-width:640px){.teacher-profile-dialog[open]{transform:translateY(12px)scale(.97)}}.teacher-profile-dialog[open]::backdrop{opacity:0}}.teacher-profile-dialog{opacity:1;transition:opacity .24s ease,transform .28s cubic-bezier(.34,1.4,.64,1),overlay .24s ease allow-discrete,display .24s ease allow-discrete;transform:translateY(0)scale(1)}.teacher-profile-dialog::backdrop{opacity:1;transition:opacity .24s ease,overlay .24s ease allow-discrete,display .24s ease allow-discrete}.teacher-profile-panel{background:var(--card);border-radius:20px 20px 0 0;flex-direction:column;max-height:100dvh;display:flex;overflow:hidden;box-shadow:0 -16px 60px #0000006b}@media (min-width:640px){.teacher-profile-panel{border:1px solid var(--border);max-height:85dvh;box-shadow:var(--shadow-modal-strong);border-radius:22px}}.teacher-profile-handle{background:var(--border);border-radius:999px;width:40px;height:4px;margin:12px auto 4px}@media (min-width:640px){.teacher-profile-handle{display:none}}.teacher-profile-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.teacher-profile-close{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:10px;padding:6px;transition:background .15s,color .15s}.teacher-profile-close:hover{background:rgba(var(--danger-rgb),.1);color:var(--danger)}.teacher-profile-content{padding:16px 20px;padding-bottom:max(24px,env(safe-area-inset-bottom));overscroll-behavior:contain;flex:1;overflow-y:auto}@media (prefers-reduced-motion:reduce){.teacher-profile-dialog,.teacher-profile-dialog::backdrop{transition:none!important}@starting-style{.teacher-profile-dialog[open]{opacity:1;transform:none}}}.peoplev2-shell{--pv2-radius:18px;--pv2-radius-sm:12px;--pv2-bg:var(--card);--pv2-border:var(--border);--pv2-fg:var(--text);--pv2-fg-soft:var(--text-secondary);--pv2-fg-mute:var(--muted);flex-direction:column;gap:18px;display:flex}.peoplev2-hero{border-radius:var(--pv2-radius);border:1px solid var(--pv2-border);background:linear-gradient(180deg,rgba(var(--primary-rgb),.08),var(--pv2-bg)60%);padding:16px;position:relative;overflow:hidden}.peoplev2-hero:before{content:"";background:radial-gradient(circle,rgba(var(--primary-rgb),.18),transparent 70%);pointer-events:none;filter:blur(20px);border-radius:50%;width:320px;height:320px;position:absolute;inset:-40% -30% auto auto}.peoplev2-search-wrap{background:var(--surface-overlay-1,#0000000a);border:1px solid var(--pv2-border);border-radius:14px;align-items:center;gap:8px;padding:4px 4px 4px 14px;transition:border-color .18s,box-shadow .22s;display:flex;position:relative}.peoplev2-search-wrap:focus-within{border-color:rgba(var(--primary-rgb),.5);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.14)}.peoplev2-search-icon{color:var(--pv2-fg-mute);flex-shrink:0}.peoplev2-search-input{color:var(--pv2-fg);background:0 0;border:none;outline:none;flex:1;min-width:0;padding:8px 0;font-size:14px}.peoplev2-search-input::placeholder{color:var(--pv2-fg-mute)}.peoplev2-search-clear{background:var(--surface-overlay-2,#0000000d);width:26px;height:26px;color:var(--pv2-fg-mute);cursor:pointer;border:none;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.peoplev2-search-clear:hover{background:rgba(var(--danger-rgb),.12);color:var(--danger)}.peoplev2-search-go{background:var(--gradient-primary);color:#fff;cursor:pointer;border:none;border-radius:10px;flex-shrink:0;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;transition:transform .14s,opacity .14s;display:inline-flex}.peoplev2-search-go:hover:not(:disabled){transform:translateY(-1px)}.peoplev2-search-go:disabled{opacity:.5;cursor:not-allowed}.peoplev2-filters{background:var(--surface-overlay-2,#0000000a);scrollbar-width:none;border-radius:12px;gap:4px;margin-top:12px;padding:4px;display:flex;position:relative;overflow-x:auto}.peoplev2-filters::-webkit-scrollbar{display:none}.peoplev2-filter-thumb{background:var(--card);box-shadow:0 2px 6px #0000000f,0 0 0 1px var(--border);pointer-events:none;z-index:0;border-radius:9px;width:0;transition:transform .32s cubic-bezier(.34,1.4,.64,1),width .32s cubic-bezier(.34,1.4,.64,1);position:absolute;top:4px;bottom:4px;left:0}.peoplev2-filter{z-index:1;color:var(--pv2-fg-mute);cursor:pointer;background:0 0;border:none;border-radius:9px;flex-shrink:0;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:500;transition:color .18s;display:inline-flex;position:relative}.peoplev2-filter[data-active=true]{color:var(--pv2-fg);font-weight:600}.peoplev2-filter:hover{color:var(--pv2-fg)}.peoplev2-filter-count{background:rgba(var(--primary-rgb),.16);color:var(--primary);text-align:center;border-radius:999px;min-width:18px;padding:1px 7px;font-size:10px;font-weight:700}.peoplev2-section{flex-direction:column;gap:8px;display:flex}.peoplev2-section-head{align-items:center;gap:10px;padding:0 4px;display:flex}.peoplev2-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--pv2-fg-soft);margin:0;font-size:13px;font-weight:700}.peoplev2-section-count{background:var(--surface-overlay-2,#0000000d);color:var(--pv2-fg-mute);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:600}.peoplev2-section[data-accent=good] .peoplev2-section-count{background:rgba(var(--good-rgb),.16);color:var(--good)}.peoplev2-section[data-accent=warning] .peoplev2-section-count{color:#ffb040;background:#ffb04029}.peoplev2-section[data-accent=primary] .peoplev2-section-count{background:rgba(var(--primary-rgb),.16);color:var(--primary)}.peoplev2-section-hint{color:var(--pv2-fg-mute);margin:-2px 4px 0;font-size:12px}.peoplev2-list{flex-direction:column;gap:8px;display:flex}.peoplev2-row{border-radius:var(--pv2-radius-sm);background:var(--pv2-bg);border:1px solid var(--pv2-border);grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px;transition:transform .18s,border-color .18s,box-shadow .22s;display:grid}.peoplev2-row:hover{border-color:rgba(var(--primary-rgb),.28);box-shadow:0 4px 12px rgba(var(--primary-rgb),.08);transform:translateY(-1px)}.peoplev2-avatar{color:#fff;text-shadow:0 1px 2px #0000002e;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:18px;font-weight:700;display:inline-flex;box-shadow:0 4px 10px #0000001a}.peoplev2-avatar-sm{border-radius:10px;width:34px;height:34px;font-size:14px}.peoplev2-row-body{flex-direction:column;gap:2px;min-width:0;display:flex}.peoplev2-row-line{align-items:center;gap:8px;min-width:0;display:flex}.peoplev2-name{color:var(--pv2-fg);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.peoplev2-name-link{cursor:pointer}.peoplev2-name-link:hover{color:var(--primary)}.peoplev2-sub{color:var(--pv2-fg-mute);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.peoplev2-sub-danger{color:var(--danger)}.peoplev2-unread{background:var(--gradient-primary);color:#fff;border-radius:999px;padding:1px 7px;font-size:10px;font-weight:700}.peoplev2-row-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.peoplev2-btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:9px;align-items:center;gap:5px;padding:6px 11px;font-size:12px;font-weight:600;transition:transform .14s,background .14s,border-color .14s;display:inline-flex}.peoplev2-btn:disabled{opacity:.5;cursor:not-allowed}.peoplev2-btn:not(:disabled):hover{transform:translateY(-1px)}.peoplev2-btn-primary{background:var(--gradient-primary);color:#fff}.peoplev2-btn-ghost{background:var(--surface-overlay-1,#00000008);color:var(--pv2-fg-soft);border-color:var(--pv2-border)}.peoplev2-btn-ghost:hover:not(:disabled){background:var(--surface-overlay-2,#0000000f)}.peoplev2-btn-ghost[data-tone=warning]{color:#ffb040;border-color:#ffb0404d}.peoplev2-btn-ghost[data-tone=warning]:hover:not(:disabled){background:#ffb0401a}.peoplev2-btn-ghost[data-tone=danger]{color:var(--danger);border-color:rgba(var(--danger-rgb),.3)}.peoplev2-btn-ghost[data-tone=danger]:hover:not(:disabled){background:rgba(var(--danger-rgb),.1)}.peoplev2-emptynote{text-align:center;color:var(--pv2-fg-mute);padding:12px;font-size:13px}.peoplev2-empty{text-align:center;border-radius:var(--pv2-radius);border:1px dashed var(--pv2-border);background:var(--surface-overlay-1,#00000005);flex-direction:column;align-items:center;gap:10px;padding:32px 20px;display:flex}.peoplev2-empty-icon{background:rgba(var(--primary-rgb),.08);width:64px;height:64px;color:var(--primary);border-radius:22px;justify-content:center;align-items:center;display:inline-flex}.peoplev2-empty-title{color:var(--pv2-fg);margin:0;font-size:16px;font-weight:700}.peoplev2-empty-hint{color:var(--pv2-fg-mute);max-width:36ch;margin:0;font-size:13px}.peoplev2-empty-cta{background:var(--gradient-primary);color:#fff;cursor:pointer;border:none;border-radius:10px;align-items:center;gap:6px;padding:9px 16px;font-size:13px;font-weight:600;display:inline-flex}.peoplev2-empty-cta-wrap{margin-top:4px}.peoplev2-privacy{border:1px solid var(--pv2-border);border-radius:var(--pv2-radius);background:var(--pv2-bg);overflow:hidden}.peoplev2-privacy-summary{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;padding:14px 16px;list-style:none;display:flex}.peoplev2-privacy-summary::-webkit-details-marker{display:none}.peoplev2-privacy-icon{color:var(--primary);flex-shrink:0}.peoplev2-privacy-summary-text{flex:1;min-width:0}.peoplev2-privacy-title{color:var(--pv2-fg);font-size:13px;font-weight:600}.peoplev2-privacy-hint{color:var(--pv2-fg-mute);font-size:12px}.peoplev2-privacy-chev{color:var(--pv2-fg-mute);flex-shrink:0;transition:transform .22s}.peoplev2-privacy[open] .peoplev2-privacy-chev{transform:rotate(180deg)}.peoplev2-privacy-body{border-top:1px solid var(--pv2-border);flex-direction:column;gap:14px;padding:14px 16px 16px;display:flex}.peoplev2-toggle{background:var(--surface-overlay-2,#0000000a);border-radius:10px;gap:3px;padding:3px;display:flex}.peoplev2-toggle-opt{color:var(--pv2-fg-mute);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:8px 12px;font-size:13px;font-weight:500;transition:background .18s,color .18s}.peoplev2-toggle-opt[data-active=true]{background:var(--card);color:var(--pv2-fg);font-weight:600;box-shadow:0 1px 3px #0000000f}.peoplev2-toggle-opt:disabled{opacity:.5;cursor:not-allowed}.peoplev2-blocked-block{flex-direction:column;gap:6px;display:flex}.peoplev2-blocked-title{color:var(--pv2-fg);font-size:13px;font-weight:600}.peoplev2-blocked-hint{color:var(--pv2-fg-mute);font-size:12px}.peoplev2-blocked-list{flex-direction:column;gap:8px;margin-top:6px;display:flex}.peoplev2-blocked-row{background:var(--surface-overlay-1,#00000008);border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.peoplev2-blocked-meta{flex-direction:column;min-width:0;display:flex}.peoplev2-blocked-empty{color:var(--pv2-fg-mute);font-size:12px}@media (prefers-reduced-motion:reduce){.peoplev2-row,.peoplev2-btn,.peoplev2-filter-thumb,.peoplev2-privacy-chev{transition:none!important}.peoplev2-row:hover,.peoplev2-btn:hover{transform:none}}.dialogsv2-shell{--dv2-radius:18px;--dv2-radius-sm:12px;grid-template-columns:minmax(0,1fr);gap:14px;min-height:60vh;display:grid}@media (min-width:900px){.dialogsv2-shell{grid-template-columns:minmax(280px,360px) minmax(0,1fr)}}@media (max-width:899px){.dialogsv2-shell[data-thread-open] .dialogsv2-list-pane,.dialogsv2-shell:not([data-thread-open]) .dialogsv2-thread-pane{display:none}}.dialogsv2-list-pane{background:var(--card);border:1px solid var(--border);border-radius:var(--dv2-radius);flex-direction:column;gap:10px;min-height:0;padding:12px;display:flex;overflow:hidden}.dialogsv2-list-head{flex-direction:column;gap:10px;display:flex}.dialogsv2-list-title-row{justify-content:space-between;align-items:center;padding:0 4px;display:flex}.dialogsv2-list-title{color:var(--text);align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.dialogsv2-list-title svg{color:var(--primary)}.dialogsv2-total-unread{background:var(--gradient-primary);color:#fff;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.dialogsv2-search{background:var(--surface-overlay-1,#0000000a);border:1px solid var(--border);border-radius:10px;align-items:center;gap:8px;padding:6px 10px;display:flex;position:relative}.dialogsv2-search:focus-within{border-color:rgba(var(--primary-rgb),.4)}.dialogsv2-search-icon{color:var(--muted);flex-shrink:0}.dialogsv2-search-input{color:var(--text);background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:13px}.dialogsv2-search-input::placeholder{color:var(--muted)}.dialogsv2-list{flex-direction:column;flex:1;gap:4px;margin:-4px;padding:4px;display:flex;overflow-y:auto}.dialogsv2-row{border-radius:var(--dv2-radius-sm);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;grid-template-columns:auto 1fr;gap:12px;padding:10px;transition:background .16s,border-color .16s;display:grid;position:relative}.dialogsv2-row:hover{background:var(--surface-overlay-1,#0000000a)}.dialogsv2-row[data-active]{background:rgba(var(--primary-rgb),.1);border-color:rgba(var(--primary-rgb),.22)}.dialogsv2-row[data-active]:before{content:"";background:var(--gradient-primary);border-radius:2px;width:3px;position:absolute;top:8px;bottom:8px;left:0}.dialogsv2-avatar{color:#fff;text-shadow:0 1px 2px #0000002e;border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:16px;font-weight:700;display:inline-flex;box-shadow:0 4px 10px #0000001a}.dialogsv2-avatar-lg{border-radius:15px;width:48px;height:48px;font-size:18px}.dialogsv2-row-body{flex-direction:column;gap:4px;min-width:0;display:flex}.dialogsv2-row-line-1{justify-content:space-between;align-items:center;gap:8px;display:flex}.dialogsv2-row-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.dialogsv2-row[data-unread] .dialogsv2-row-name{font-weight:700}.dialogsv2-row-time{color:var(--muted);flex-shrink:0;font-size:11px}.dialogsv2-row-line-2{justify-content:space-between;align-items:center;gap:8px;display:flex}.dialogsv2-row-preview{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.dialogsv2-row[data-unread] .dialogsv2-row-preview{color:var(--text-secondary)}.dialogsv2-row-unread{background:var(--gradient-primary);color:#fff;border-radius:999px;flex-shrink:0;padding:1px 7px;font-size:10px;font-weight:700}.dialogsv2-list-skeleton{flex-direction:column;gap:6px;display:flex}.dialogsv2-row-skel{cursor:default}.dialogsv2-skel-avatar{background:var(--surface-overlay-2,#0000000f);border-radius:13px;width:42px;height:42px;animation:1.4s ease-in-out infinite dialogsv2-shimmer}.dialogsv2-skel-lines{flex-direction:column;gap:6px;padding:6px 0;display:flex}.dialogsv2-skel-line{background:var(--surface-overlay-2,#0000000f);border-radius:5px;height:10px;animation:1.4s ease-in-out infinite dialogsv2-shimmer}.dialogsv2-skel-line-w70{width:70%}.dialogsv2-skel-line-w50{width:50%}@keyframes dialogsv2-shimmer{0%,to{opacity:1}50%{opacity:.55}}.dialogsv2-new{border:1px dashed var(--border);border-radius:var(--dv2-radius-sm);color:var(--text-secondary);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:8px;padding:10px;font-size:13px;font-weight:600;transition:background .18s,color .18s,border-color .18s;display:flex}.dialogsv2-new:hover{border-color:rgba(var(--primary-rgb),.4);color:var(--primary);background:rgba(var(--primary-rgb),.04)}.dialogsv2-empty{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:30px 16px;display:flex}.dialogsv2-empty-icon{background:rgba(var(--primary-rgb),.08);width:60px;height:60px;color:var(--primary);border-radius:20px;justify-content:center;align-items:center;display:inline-flex}.dialogsv2-empty-title{color:var(--text);margin:0;font-size:15px;font-weight:700}.dialogsv2-empty-hint{color:var(--muted);max-width:30ch;margin:0;font-size:12.5px}.dialogsv2-empty-cta{background:var(--gradient-primary);color:#fff;cursor:pointer;border:none;border-radius:9px;margin-top:4px;padding:8px 14px;font-size:13px;font-weight:600}.dialogsv2-thread-pane{background:var(--card);border:1px solid var(--border);border-radius:var(--dv2-radius);flex-direction:column;min-height:0;display:flex;overflow:hidden}.dialogsv2-placeholder{text-align:center;flex-direction:column;align-items:center;gap:10px;margin:auto;padding:40px 24px;display:flex}.dialogsv2-placeholder-icon{background:rgba(var(--primary-rgb),.08);width:80px;height:80px;color:var(--primary);border-radius:24px;justify-content:center;align-items:center;display:inline-flex}.dialogsv2-placeholder-title{color:var(--text);margin:0;font-size:17px;font-weight:700}.dialogsv2-placeholder-hint{color:var(--muted);max-width:36ch;margin:0;font-size:13px}.dialogsv2-loading{color:var(--muted);justify-content:center;align-items:center;gap:10px;padding:40px;font-size:13px;display:flex}.dialogsv2-loading svg{color:var(--primary)}.dialogsv2-thread{flex-direction:column;flex:1;min-height:0;display:flex}.dialogsv2-thread-head{border-bottom:1px solid var(--border);background:linear-gradient(180deg,rgba(var(--primary-rgb),.06),transparent);align-items:center;gap:12px;padding:12px 16px;display:flex}.dialogsv2-back{border:1px solid var(--border);background:var(--surface-overlay-1,#0000000a);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;transition:background .18s;display:inline-flex}.dialogsv2-back:hover{background:var(--surface-overlay-2,#0000000f)}@media (min-width:900px){.dialogsv2-back{display:none}}.dialogsv2-thread-meta{flex:1;min-width:0}.dialogsv2-thread-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:700;overflow:hidden}.dialogsv2-thread-sub{color:var(--muted);font-size:12px}.dialogsv2-profile-btn{border:1px solid var(--border);background:var(--surface-overlay-1,#0000000a);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;border-radius:11px;justify-content:center;align-items:center;transition:background .18s,color .18s;display:inline-flex}.dialogsv2-profile-btn:hover{background:rgba(var(--primary-rgb),.1);color:var(--primary)}.dialogsv2-composer{border-top:1px solid var(--border);background:var(--card);padding:10px 12px max(12px,env(safe-area-inset-bottom));flex-direction:column;gap:8px;display:flex}.dialogsv2-pin{background:rgba(var(--primary-rgb),.08);border:1px solid rgba(var(--primary-rgb),.2);border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.dialogsv2-pin[data-tone=edit]{background:#ffb0401a;border-color:#ffb04047}.dialogsv2-pin-icon{color:var(--primary);flex-shrink:0}.dialogsv2-pin[data-tone=edit] .dialogsv2-pin-icon{color:#ffb040}.dialogsv2-pin-text{flex:1;min-width:0}.dialogsv2-pin-label{color:var(--primary);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600}.dialogsv2-pin[data-tone=edit] .dialogsv2-pin-label{color:#ffb040}.dialogsv2-pin-body{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.dialogsv2-pin-close{width:22px;height:22px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.dialogsv2-pin-close:hover{color:var(--text);background:#0000000f}.dialogsv2-composer-row{align-items:end;gap:8px;display:flex}.dialogsv2-composer-icon{background:var(--surface-overlay-1,#0000000a);width:36px;height:36px;color:var(--muted);cursor:pointer;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;transition:background .18s,color .18s;display:inline-flex}.dialogsv2-composer-icon:hover:not(:disabled){background:rgba(var(--primary-rgb),.1);color:var(--primary)}.dialogsv2-composer-icon:disabled{opacity:.4;cursor:not-allowed}.dialogsv2-composer-input{background:var(--surface-overlay-1,#0000000a);border:1px solid var(--border);color:var(--text);resize:none;border-radius:16px;outline:none;flex:1;min-height:36px;max-height:140px;padding:10px 14px;font-family:inherit;font-size:14px;line-height:1.4;transition:border-color .18s,box-shadow .22s}.dialogsv2-composer-input:focus{border-color:rgba(var(--primary-rgb),.5);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.14)}.dialogsv2-composer-input::placeholder{color:var(--muted)}.dialogsv2-composer-input:disabled{opacity:.6;cursor:not-allowed}.dialogsv2-counter{color:var(--muted);font-variant-numeric:tabular-nums;flex-shrink:0;align-self:flex-end;padding-bottom:6px;font-size:10px}.dialogsv2-counter[data-warning]{color:#ffb040}.dialogsv2-counter[data-danger]{color:var(--danger)}.dialogsv2-send{background:var(--gradient-primary);color:#fff;cursor:pointer;width:38px;height:38px;box-shadow:0 4px 10px rgba(var(--primary-rgb),.32);border:none;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;transition:transform .14s,box-shadow .18s,opacity .14s;display:inline-flex}.dialogsv2-send:hover:not(:disabled){box-shadow:0 6px 14px rgba(var(--primary-rgb),.42);transform:translateY(-1px)}.dialogsv2-send:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.dialogsv2-composer-error{color:var(--danger);padding:0 4px;font-size:12px}@media (prefers-reduced-motion:reduce){.dialogsv2-row,.dialogsv2-back,.dialogsv2-send,.dialogsv2-skel-avatar,.dialogsv2-skel-line{transition:none!important;animation:none!important}}.add-lesson-dialog{background:0 0;border:none;width:100%;max-width:100%;height:auto;max-height:100dvh;margin:0;padding:0;position:fixed;inset:auto 0 0}@media (min-width:640px){.add-lesson-dialog{width:calc(100% - 32px);max-width:28rem;max-height:85dvh;margin:auto;inset:0}}.add-lesson-dialog::backdrop{background:var(--overlay-modal-backdrop);-webkit-backdrop-filter:blur(6px)}@starting-style{.add-lesson-dialog[open]{opacity:0;transform:translateY(40px)}@media (min-width:640px){.add-lesson-dialog[open]{transform:translateY(12px)scale(.97)}}.add-lesson-dialog[open]::backdrop{opacity:0}}.add-lesson-dialog{opacity:1;transition:opacity .24s ease,transform .28s cubic-bezier(.34,1.4,.64,1),overlay .24s ease allow-discrete,display .24s ease allow-discrete;transform:translateY(0)scale(1)}.add-lesson-dialog::backdrop{opacity:1;transition:opacity .24s ease,overlay .24s ease allow-discrete,display .24s ease allow-discrete}.add-lesson-panel{background:var(--card);border:1px solid var(--border);border-radius:20px 20px 0 0;flex-direction:column;max-height:100dvh;display:flex;overflow:hidden;box-shadow:0 -16px 60px #0000006b}@media (min-width:640px){.add-lesson-panel{max-height:85dvh;box-shadow:var(--shadow-modal-strong);border-radius:22px}}@media (prefers-reduced-motion:reduce){.add-lesson-dialog,.add-lesson-dialog::backdrop{transition:none!important}@starting-style{.add-lesson-dialog[open]{opacity:1;transform:none}}}.group-form-dialog{background:0 0;border:none;width:calc(100% - 32px);max-width:680px;max-height:calc(100dvh - 60px);margin:auto;padding:0}.group-form-dialog::backdrop{background:var(--overlay-modal-backdrop);-webkit-backdrop-filter:blur(8px)}@starting-style{.group-form-dialog[open]{opacity:0;transform:translateY(14px)scale(.97)}.group-form-dialog[open]::backdrop{opacity:0}}.group-form-dialog{opacity:1;transition:opacity .22s ease,transform .26s cubic-bezier(.34,1.4,.64,1),overlay .22s ease allow-discrete,display .22s ease allow-discrete;transform:translateY(0)scale(1)}.group-form-dialog::backdrop{opacity:1;transition:opacity .22s ease,overlay .22s ease allow-discrete,display .22s ease allow-discrete}.group-form-panel{border:1px solid var(--border);background:var(--card);box-shadow:var(--shadow-modal-strong);border-radius:24px;flex-direction:column;max-height:calc(100dvh - 60px);display:flex;overflow:hidden}.group-form-head{border-bottom:1px solid var(--border);background:linear-gradient(180deg,rgba(var(--primary-rgb),.06),transparent);justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.group-form-close{background:var(--surface-overlay-2,#0000000a);width:32px;height:32px;color:var(--muted);border:1px solid var(--border);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;transition:background .15s,color .15s,transform .15s;display:inline-flex}.group-form-close:hover{background:rgba(var(--danger-rgb),.12);color:var(--danger);transform:scale(1.05)}.group-form-body{overscroll-behavior:contain;flex-direction:column;gap:16px;padding:20px;display:flex;overflow-y:auto}@media (prefers-reduced-motion:reduce){.group-form-dialog,.group-form-dialog::backdrop,.group-form-close{transition:none!important}@starting-style{.group-form-dialog[open]{opacity:1;transform:none}}}.spinner-v2{--spinner-size:48px;--spinner-thickness:3px;width:var(--spinner-size);height:var(--spinner-size);flex-shrink:0;display:inline-block;position:relative}.spinner-v2:before,.spinner-v2:after{content:"";border-radius:50%;position:absolute;inset:0}.spinner-v2:before{background:conic-gradient(from 90deg,transparent 0deg,rgba(var(--primary-rgb),.18)60deg,var(--primary)320deg,var(--primary)360deg);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - var(--spinner-thickness)),black calc(100% - var(--spinner-thickness) + 1px));-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - var(--spinner-thickness)),black calc(100% - var(--spinner-thickness) + 1px));-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - var(--spinner-thickness)),black calc(100% - var(--spinner-thickness) + 1px));-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - var(--spinner-thickness)),black calc(100% - var(--spinner-thickness) + 1px));mask:radial-gradient(farthest-side,transparent calc(100% - var(--spinner-thickness)),black calc(100% - var(--spinner-thickness) + 1px));animation:.95s linear infinite spinner-v2-rotate}.spinner-v2:after{background:radial-gradient(circle,rgba(var(--primary-rgb),.22),transparent 60%);filter:blur(8px);z-index:-1;animation:1.6s ease-in-out infinite spinner-v2-pulse}@keyframes spinner-v2-rotate{to{transform:rotate(360deg)}}@keyframes spinner-v2-pulse{0%,to{opacity:.5;transform:scale(.92)}50%{opacity:1;transform:scale(1.06)}}.spinner-v2[data-size=sm]{--spinner-size:24px;--spinner-thickness:2px}.spinner-v2[data-size=lg]{--spinner-size:64px;--spinner-thickness:4px}.spinner-v2[data-tone=danger]{--spinner-color:var(--danger)}.spinner-v2[data-tone=good]{--spinner-color:var(--good)}@media (prefers-reduced-motion:reduce){.spinner-v2:before{animation:none!important}.spinner-v2:after{opacity:.6;animation:none!important}}.checkbox-v2{appearance:none;background:var(--surface-overlay-2,#0000000a);border:1.5px solid var(--border);cursor:pointer;border-radius:6px;flex-shrink:0;width:18px;height:18px;transition:background .18s,border-color .18s,box-shadow .22s,transform .18s cubic-bezier(.34,1.56,.64,1);position:relative}.checkbox-v2:hover:not(:disabled){border-color:rgba(var(--primary-rgb),.5);background:var(--surface-overlay-3,#0000000d)}.checkbox-v2:focus-visible{box-shadow:0 0 0 3px rgba(var(--primary-rgb),.18);outline:none}.checkbox-v2:checked{background:var(--gradient-primary);border-color:rgba(var(--primary-rgb),.6);box-shadow:0 2px 8px rgba(var(--primary-rgb),.32);transform:scale(1.03)}.checkbox-v2:checked:after{content:"";background:#fff;animation:.22s cubic-bezier(.34,1.56,.64,1) checkbox-v2-pop;position:absolute;inset:0;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3 3 7-7' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/70% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.5l3 3 7-7' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/70% no-repeat}@keyframes checkbox-v2-pop{0%{transform:scale(0)}to{transform:scale(1)}}.checkbox-v2:disabled{opacity:.5;cursor:not-allowed}.switch-v2{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;align-items:center;display:inline-flex}.switch-v2 input[type=checkbox]{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.switch-v2-track{background:var(--surface-overlay-3,#0000001a);border:1px solid var(--border);border-radius:999px;width:38px;height:22px;transition:background .22s,border-color .22s,box-shadow .22s;display:inline-block;position:relative}.switch-v2-track:before{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .28s cubic-bezier(.34,1.4,.64,1);position:absolute;top:2px;left:2px;box-shadow:0 2px 4px #0000002e}.switch-v2 input:checked+.switch-v2-track{background:var(--gradient-primary);border-color:rgba(var(--primary-rgb),.6);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.14)}.switch-v2 input:checked+.switch-v2-track:before{transform:translate(16px)}.switch-v2 input:focus-visible+.switch-v2-track{box-shadow:0 0 0 3px rgba(var(--primary-rgb),.22)}.switch-v2 input:disabled+.switch-v2-track{opacity:.5;cursor:not-allowed}@media (prefers-reduced-motion:reduce){.checkbox-v2,.checkbox-v2:checked:after,.switch-v2-track,.switch-v2-track:before{transition:none!important;animation:none!important}}.session-progress-track{background:var(--surface-overlay-2);border-radius:999px;width:100%;height:9px;margin-top:12px;position:relative;overflow:hidden}.session-progress-fill{border-radius:inherit;background:linear-gradient(90deg,rgba(var(--accent-rgb),.95)0%,var(--primary)55%,rgba(var(--accent-rgb),1)100%);transform-origin:0;width:100%;height:100%;transform:scaleX(var(--session-start-progress,0));will-change:transform,opacity;box-shadow:2px 0 8px 0 rgba(var(--primary-rgb),.4);position:relative;overflow:hidden}.session-progress-fill:after{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 40%,#ffffff2e 50%,#0000 60%);position:absolute;inset:0;transform:translate(-100%)}.session-progress-tick{pointer-events:auto;z-index:2;border-radius:1px;width:2px;position:absolute;top:0;bottom:0;transform:translate(-50%)}.session-progress-tick--past{background:var(--muted);opacity:.6}.session-progress-tick--upcoming{background:var(--text);opacity:.85}@media (prefers-reduced-motion:no-preference){.session-progress-fill{animation:3s ease-in-out infinite session-pulse}.session-progress-fill--live{animation:session-progress-advance var(--session-remaining-ms,0s)linear forwards,session-pulse 3s ease-in-out infinite}.session-progress-fill:after{animation:2.5s ease-in-out infinite session-shimmer}}@keyframes session-progress-advance{0%{transform:scaleX(var(--session-start-progress,0))}to{transform:scaleX(1)}}@keyframes session-shimmer{0%{transform:translate(-100%)}to{transform:translate(200%)}}@keyframes session-pulse{0%,to{opacity:1}50%{opacity:.93}}.session-countdown{font-variant-numeric:tabular-nums;display:inline-block}@media (prefers-reduced-motion:no-preference){.session-countdown{animation:.32s ease-out session-countdown-flash}}@keyframes session-countdown-flash{0%{opacity:.45;transform:translateY(-1px)}to{opacity:1;transform:translateY(0)}}.session-decoration{isolation:isolate;color:var(--text);align-items:center;gap:14px;margin-bottom:12px;padding:16px 18px;display:flex;position:relative;overflow:hidden}.session-decoration-orbs{pointer-events:none;z-index:0;border-radius:inherit;position:absolute;inset:0;overflow:hidden}.session-decoration-orb{filter:blur(36px);opacity:.55;will-change:transform;border-radius:50%;width:180px;height:180px;position:absolute}.session-decoration-orb--primary{background:radial-gradient(circle,rgba(var(--primary-rgb),.45),transparent 70%);top:-70px;left:-50px}.session-decoration-orb--accent{background:radial-gradient(circle,rgba(var(--good-rgb),.4),transparent 70%);bottom:-90px;right:-60px}@media (prefers-reduced-motion:no-preference){.session-decoration-orb--primary{animation:14s ease-in-out infinite alternate session-orb-drift-a}.session-decoration-orb--accent{animation:18s ease-in-out infinite alternate session-orb-drift-b}}@keyframes session-orb-drift-a{0%{transform:translate(0)scale(1)}to{transform:translate(28px,18px)scale(1.08)}}@keyframes session-orb-drift-b{0%{transform:translate(0)scale(1)}to{transform:translate(-24px,-16px)scale(1.1)}}.session-decoration-icon{z-index:1;width:56px;height:56px;color:var(--primary);will-change:transform;flex-shrink:0;position:relative}@media (prefers-reduced-motion:no-preference){.session-decoration-icon{animation:6s ease-in-out infinite session-decoration-bob}}@keyframes session-decoration-bob{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-4px)rotate(-1.5deg)}}.session-decoration-text{z-index:1;min-width:0;position:relative}.session-decoration-title{color:var(--text);margin:0;font-size:.95rem;font-weight:600}.session-decoration-subtitle{color:var(--muted);margin:4px 0 0;font-size:.8rem;line-height:1.35}.session-decoration-sparkles{pointer-events:none;z-index:0;border-radius:inherit;position:absolute;inset:0;overflow:hidden}.session-decoration-sparkle{background:var(--text);opacity:0;will-change:transform,opacity;width:3px;height:3px;box-shadow:0 0 6px 1px rgba(var(--primary-rgb),.55);border-radius:50%;position:absolute}.session-decoration-sparkle--a{bottom:12%;left:22%}.session-decoration-sparkle--b{bottom:8%;left:55%}.session-decoration-sparkle--c{bottom:18%;left:80%}@media (prefers-reduced-motion:no-preference){.session-decoration-sparkle--a{animation:9s ease-in-out infinite session-decoration-sparkle-drift}.session-decoration-sparkle--b{animation:11s ease-in-out 3.5s infinite session-decoration-sparkle-drift}.session-decoration-sparkle--c{animation:12s ease-in-out 6.5s infinite session-decoration-sparkle-drift}}@keyframes session-decoration-sparkle-drift{0%{opacity:0;transform:translate(0)scale(.6)}18%{opacity:.85;transform:translate(2px,-14px)scale(1)}55%{opacity:.5;transform:translate(-3px,-42px)scale(.95)}to{opacity:0;transform:translateY(-64px)scale(.6)}}.exam-card--next{position:relative}.exam-card--next:after{content:"";border-radius:inherit;pointer-events:none;z-index:0;opacity:0;box-shadow:0 0 0 1px rgba(var(--primary-rgb),.35),0 0 16px 2px rgba(var(--primary-rgb),.28);will-change:opacity;position:absolute;inset:-2px}.exam-card--next>*{z-index:1;position:relative}@media (prefers-reduced-motion:no-preference){.exam-card--next:after{animation:4.5s ease-in-out infinite exam-card-next-halo}}@keyframes exam-card-next-halo{0%,to{opacity:0}50%{opacity:1}}.exam-date-tile{will-change:transform;position:relative;overflow:hidden}.exam-date-tile:after{content:"";pointer-events:none;border-radius:inherit;will-change:transform;background:linear-gradient(105deg,#0000 40%,#ffffff52 50%,#0000 60%);position:absolute;inset:0;transform:translate(-120%)}@media (prefers-reduced-motion:no-preference){.exam-date-tile{animation:5.5s ease-in-out infinite exam-date-tile-breath}.exam-date-tile:after{animation:6.5s ease-in-out infinite exam-date-tile-shimmer}.exam-card--next .exam-date-tile{animation-delay:.8s}.exam-card--next .exam-date-tile:after{animation-delay:1.6s}}@keyframes exam-date-tile-breath{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@keyframes exam-date-tile-shimmer{0%,60%{transform:translate(-120%)}85%{transform:translate(120%)}to{transform:translate(120%)}}.grades-page-main{padding:12px 16px 16px}.grades-deck{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-3xl);margin-bottom:var(--space-3);flex-direction:column;display:flex;position:relative;overflow:hidden}.grades-deck-row{padding:var(--space-2-5)var(--space-3)}.grades-deck-row+.grades-deck-row{border-top:1px solid var(--border)}.grades-deck-row--head{justify-content:space-between;align-items:center;gap:var(--space-2);padding-top:var(--space-3);padding-bottom:var(--space-2-5);display:flex}.grades-deck-title{font-size:18px;font-weight:var(--weight-bold);color:var(--text);letter-spacing:-.02em;flex-shrink:0;margin:0;line-height:1.1}.grades-deck-head-actions{align-items:center;gap:var(--space-1-5);flex:1;justify-content:flex-end;min-width:0;display:flex}.grades-deck-semester{flex:1;min-width:0;max-width:240px;display:flex}.grades-deck-semester-select{border-radius:var(--radius-md);background-color:var(--surface-overlay-1);width:100%;min-width:0;color:var(--text);border:1px solid var(--border);font-size:12.5px;font-weight:var(--weight-semibold);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;appearance:none;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;background-image:linear-gradient(45deg,transparent 50%,var(--muted)50%),linear-gradient(135deg,var(--muted)50%,transparent 50%);background-position:calc(100% - 14px),calc(100% - 9px);background-repeat:no-repeat;background-size:5px 5px;outline:none;padding:6px 28px 6px 10px;line-height:1.2;overflow:hidden}@media (prefers-color-scheme:dark){.grades-deck-semester-select{--lightningcss-light: ;--lightningcss-dark:initial}}.grades-deck-semester-select option{background-color:var(--card);color:var(--text)}.grades-deck-semester-select:focus,.grades-deck-semester-select:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.16)}.grades-deck-refresh{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-overlay-1);width:32px;height:32px;color:var(--text);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.grades-deck-refresh:hover:not(:disabled){color:var(--primary);border-color:var(--primary)}.grades-deck-refresh:disabled{opacity:.6;cursor:progress}.grades-deck-row--status{padding-top:var(--space-2);padding-bottom:var(--space-2)}.grades-status-line{width:100%;min-width:0;color:var(--muted);align-items:center;gap:8px;font-size:12.5px;line-height:1.2;display:flex}.grades-status-line-info{flex:1;align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.grades-status-line-user{color:var(--text);font-weight:var(--weight-medium);white-space:nowrap;text-overflow:ellipsis;flex-shrink:1;min-width:0;overflow:hidden}.grades-status-line-user-label{color:var(--muted);font-weight:var(--weight-regular);margin-right:2px}.grades-status-line-disconnect{color:var(--muted);font-size:12px;font-weight:var(--weight-medium);cursor:pointer;background:0 0;border:0;flex-shrink:0;align-items:center;margin-left:auto;padding:0;text-decoration:none;transition:color .15s;display:inline-flex}.grades-status-line-disconnect:hover,.grades-status-line-disconnect:focus-visible{color:var(--text);outline:none;text-decoration:underline}.grades-deck-row--metrics{padding-top:var(--space-2);padding-bottom:var(--space-2-5)}.grades-metrics-strip{gap:var(--space-1-5);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}@media (max-width:360px){.grades-metrics-strip{scrollbar-width:none;grid-template-columns:none;grid-auto-columns:minmax(96px,1fr);grid-auto-flow:column;overflow-x:auto}.grades-metrics-strip::-webkit-scrollbar{display:none}}.grades-metric-tile{border-radius:var(--radius-lg);background:var(--surface-overlay-1);border:1px solid var(--border);flex-direction:column;justify-content:center;gap:2px;min-width:0;min-height:52px;padding:8px 10px;display:flex}.grades-metric-tile-label{font-size:10.5px;font-weight:var(--weight-semibold);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;line-height:1.1;overflow:hidden}.grades-metric-tile-value{font-size:19px;font-weight:var(--weight-bold);color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;line-height:1.1;overflow:hidden}.grades-metric-tile-value--small{font-size:14px;font-weight:700}.grades-metric-tile-value--loading{color:var(--muted);letter-spacing:.15em}.grades-metric-tile-caption{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:10px;line-height:1.1;overflow:hidden}.grades-deck-row--hint{padding:6px 12px 4px}.grades-deck-hint{color:var(--muted);text-align:center;margin:0;font-size:11px;line-height:1.4}.grades-deck-row--search{padding-top:var(--space-2-5);padding-bottom:var(--space-2-5)}.grades-deck-row--search .grades-search-bar{gap:var(--space-2);margin-bottom:0}.grades-deck-row--search .grades-search-input{padding:8px var(--space-3)8px calc(var(--space-3) + 22px);font-size:13px}.grades-calculator-row{margin:var(--space-3)0 var(--space-4);justify-content:flex-end;display:flex}.grades-calculator-link{border:1px solid var(--primary);border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:9px 14px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.grades-calculator-link{border:1px solid color-mix(in srgb,var(--primary)42%,var(--border))}}.grades-calculator-link{background:linear-gradient(135deg,rgba(var(--primary-rgb),.16),rgba(var(--primary-rgb),.07)),var(--surface-overlay-1);color:var(--text);box-shadow:0 10px 24px rgba(var(--shadow-rgb),.16);font-size:13px;font-weight:var(--weight-semibold);white-space:nowrap;line-height:1;text-decoration:none;transition:transform .15s,border-color .15s,background .15s,box-shadow .15s}.grades-calculator-link:hover,.grades-calculator-link:focus-visible{border-color:var(--primary);background:linear-gradient(135deg,rgba(var(--primary-rgb),.24),rgba(var(--primary-rgb),.1)),var(--surface-overlay-1);box-shadow:0 14px 30px rgba(var(--shadow-rgb),.2);outline:none;transform:translateY(-1px)}@media (min-width:1024px){.grades-page-main{padding:var(--space-4)var(--space-4)var(--space-6)}.grades-deck{max-width:100%}.grades-deck-title{font-size:20px}.grades-deck-row--head{padding-top:var(--space-3);padding-bottom:var(--space-2-5)}.grades-deck-semester{max-width:280px}}@media (max-width:480px){.grades-calculator-row{margin:var(--space-2-5)0 var(--space-3)}.grades-calculator-link{width:100%;min-height:42px}}.next-up-card{border-left:3px solid var(--primary);margin-bottom:12px;padding:14px 16px}.next-up-row{align-items:flex-start;gap:12px;display:flex}.next-up-badge{letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;border:1px solid #0000;border-radius:999px;flex-shrink:0;align-items:center;padding:4px 10px;font-size:.72rem;font-weight:600;display:inline-flex}.next-up-badge-now{background:var(--status-success-bg);color:var(--status-success-color);border-color:var(--status-success-border)}.next-up-badge-soon{background:var(--status-warning-bg);color:var(--status-warning-color);border-color:var(--status-warning-border)}.next-up-badge-later{background:var(--status-info-bg);color:var(--status-info-color);border-color:var(--status-info-border)}.next-up-body{flex:1;min-width:0}.next-up-title{color:var(--text);margin:0;font-size:.95rem;font-weight:600;line-height:1.3}.next-up-meta{color:var(--muted);margin:4px 0 0;font-size:.8rem}.next-up-teacher{color:var(--muted);opacity:.85;text-overflow:ellipsis;white-space:nowrap;margin:4px 0 0;font-size:.78rem;overflow:hidden}.tab-unread-host{position:relative}.tab-unread-badge{background:var(--gradient-primary);color:#fff;font-variant-numeric:tabular-nums;text-shadow:0 1px 1px #0000002e;vertical-align:middle;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:6px;padding:0 6px;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.tab-unread-host[data-active] .tab-unread-badge{color:#fff;text-shadow:none;background:#ffffff38}@keyframes entityHighlightPulse{0%,to{box-shadow:0 0 0 0 rgba(var(--primary-rgb),0);background-color:#0000}50%{background-color:rgba(var(--primary-rgb),.15);box-shadow:0 0 0 4px rgba(var(--primary-rgb),.18)}}.entity-highlighted{border-radius:1.25rem;animation:3s ease-in-out entityHighlightPulse}@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-scroll-snap-strictness{syntax:"*";inherits:false;initial-value:proximity}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}
