@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-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-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-content:""}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-800:oklch(43.2% .095 166.913);--color-sky-50:oklch(97.7% .013 236.62);--color-sky-500:oklch(68.5% .169 237.323);--color-sky-600:oklch(58.8% .158 241.966);--color-sky-700:oklch(50% .134 242.749);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-indigo-600:oklch(51.1% .262 276.966);--color-purple-500:oklch(62.7% .265 303.9);--color-pink-500:oklch(65.6% .241 354.308);--color-rose-50:oklch(96.9% .015 12.422);--color-rose-200:oklch(89.2% .058 10.001);--color-rose-600:oklch(58.6% .253 17.585);--color-rose-700:oklch(51.4% .222 16.935);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-zinc-50:oklch(98.5% 0 0);--color-zinc-100:oklch(96.7% .001 286.375);--color-zinc-200:oklch(92% .004 286.32);--color-zinc-900:oklch(21% .006 285.885);--color-zinc-950:oklch(14.1% .005 285.823);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm--line-height:calc(1.25 / .875);--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-medium:500;--font-weight-bold:700;--leading-normal:1.5;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--ease-out:cubic-bezier(0, 0, .2, 1);--blur-md:12px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::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{.\@container{container-type:inline-size}.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}.sticky{position:sticky}.\!start{inset-inline-start:var(--spacing)!important}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.top-4{top:calc(var(--spacing) * 4)}.top-6{top:calc(var(--spacing) * 6)}.right-0{right:calc(var(--spacing) * 0)}.right-4{right:calc(var(--spacing) * 4)}.left-0{left:calc(var(--spacing) * 0)}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.z-\[9999\]{z-index:9999}.col-span-2{grid-column:span 2/span 2}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing) * 0)}.mx-auto{margin-inline:auto}.my-3{margin-block:calc(var(--spacing) * 3)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-16{margin-top:calc(var(--spacing) * 16)}.mt-20{margin-top:calc(var(--spacing) * 20)}.mr-1{margin-right:calc(var(--spacing) * 1)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-4{height:calc(var(--spacing) * 4)}.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-auto{height:auto}.h-full{height:100%}.max-h-48{max-height:calc(var(--spacing) * 48)}.max-h-60{max-height:calc(var(--spacing) * 60)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-\[85vh\]{max-height:85vh}.max-h-\[90vh\]{max-height:90vh}.min-h-\[44px\]{min-height:44px}.min-h-screen{min-height:100vh}.w-2{width:calc(var(--spacing) * 2)}.w-4{width:calc(var(--spacing) * 4)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.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-44{width:calc(var(--spacing) * 44)}.w-52{width:calc(var(--spacing) * 52)}.w-64{width:calc(var(--spacing) * 64)}.w-\[2px\]{width:2px}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-\[160px\]{max-width:160px}.max-w-\[200px\]{max-width:200px}.max-w-\[240px\]{max-width:240px}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[44px\]{min-width:44px}.min-w-\[54px\]{min-width:54px}.min-w-\[120px\]{min-width:120px}.min-w-\[160px\]{min-width:160px}.min-w-\[240px\]{min-width:240px}.min-w-\[680px\]{min-width:680px}.min-w-\[700px\]{min-width:700px}.min-w-\[760px\]{min-width:760px}.min-w-\[800px\]{min-width:800px}.min-w-\[900px\]{min-width:900px}.min-w-\[960px\]{min-width:960px}.min-w-\[980px\]{min-width:980px}.min-w-\[1080px\]{min-width:1080px}.min-w-\[1280px\]{min-width:1280px}.min-w-\[1360px\]{min-width:1360px}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.grow{flex-grow:1}.translate-y-1{--tw-translate-y:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-y{resize:vertical}.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\.5rem_1fr\]{grid-template-columns:3.5rem 1fr}.grid-cols-\[3\.5rem_1fr_4\.5rem\]{grid-template-columns:3.5rem 1fr 4.5rem}.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}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-x-6{column-gap:calc(var(--spacing) * 6)}.gap-x-8{column-gap:calc(var(--spacing) * 8)}.gap-y-1{row-gap:calc(var(--spacing) * 1)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.gap-y-4{row-gap:calc(var(--spacing) * 4)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-slate-100>:not(:last-child)){border-color:var(--color-slate-100)}.self-end{align-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-lg{border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.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-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-amber-200{border-color:var(--color-amber-200)}.border-black\/\[0\.04\]{border-color:#0000000a}@supports (color:color-mix(in lab,red,red)){.border-black\/\[0\.04\]{border-color:color-mix(in oklab,var(--color-black) 4%,transparent)}}.border-emerald-200{border-color:var(--color-emerald-200)}.border-rose-200{border-color:var(--color-rose-200)}.border-slate-100{border-color:var(--color-slate-100)}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-200\/80{border-color:#e2e8f0cc}@supports (color:color-mix(in lab,red,red)){.border-slate-200\/80{border-color:color-mix(in oklab,var(--color-slate-200) 80%,transparent)}}.border-slate-300{border-color:var(--color-slate-300)}.border-zinc-200{border-color:var(--color-zinc-200)}.bg-\[\#ffffff\]{background-color:#fff}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-100{background-color:var(--color-amber-100)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-100{background-color:var(--color-emerald-100)}.bg-emerald-600{background-color:var(--color-emerald-600)}.bg-red-600{background-color:var(--color-red-600)}.bg-rose-50{background-color:var(--color-rose-50)}.bg-rose-600{background-color:var(--color-rose-600)}.bg-sky-600{background-color:var(--color-sky-600)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-100{background-color:var(--color-slate-100)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\/95{background-color:#fffffff2}@supports (color:color-mix(in lab,red,red)){.bg-white\/95{background-color:color-mix(in oklab,var(--color-white) 95%,transparent)}}.bg-zinc-100{background-color:var(--color-zinc-100)}.bg-zinc-900{background-color:var(--color-zinc-900)}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-blue-600{--tw-gradient-from:var(--color-blue-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.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))}.p-0{padding:calc(var(--spacing) * 0)}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.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)}.p-9{padding:calc(var(--spacing) * 9)}.p-10{padding:calc(var(--spacing) * 10)}.p-11{padding:calc(var(--spacing) * 11)}.p-12{padding:calc(var(--spacing) * 12)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-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-8{padding-inline:calc(var(--spacing) * 8)}.py-0{padding-block:calc(var(--spacing) * 0)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.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)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pl-2{padding-left:calc(var(--spacing) * 2)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-base{font-size:var(--fs-title-s);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(--fs-body);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[12px\]{font-size:12px}.text-\[16px\]{font-size:16px}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.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)}.text-wrap{text-wrap:wrap}.whitespace-nowrap{white-space:nowrap}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-amber-800{color:var(--color-amber-800)}.text-blue-600{color:var(--color-blue-600)}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-700{color:var(--color-emerald-700)}.text-emerald-800{color:var(--color-emerald-800)}.text-indigo-600{color:var(--color-indigo-600)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-rose-700{color:var(--color-rose-700)}.text-slate-700{color:var(--color-slate-700)}.text-slate-800{color:var(--color-slate-800)}.text-slate-900{color:var(--color-slate-900)}.text-white{color:var(--color-white)}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab,red,red)){.text-white\/80{color:color-mix(in oklab,var(--color-white) 80%,transparent)}}.text-zinc-50{color:var(--color-zinc-50)}.text-zinc-900{color:var(--color-zinc-900)}.text-zinc-950{color:var(--color-zinc-950)}.capitalize{text-transform:capitalize}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.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,)}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-1{--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)}.ring-black\/\[0\.02\]{--tw-ring-color:#00000005}@supports (color:color-mix(in lab,red,red)){.ring-black\/\[0\.02\]{--tw-ring-color:color-mix(in oklab, var(--color-black) 2%, transparent)}}.ring-sky-500\/20{--tw-ring-color:#00a5ef33}@supports (color:color-mix(in lab,red,red)){.ring-sky-500\/20{--tw-ring-color:color-mix(in oklab, var(--color-sky-500) 20%, transparent)}}.ring-white\/80{--tw-ring-color:#fffc}@supports (color:color-mix(in lab,red,red)){.ring-white\/80{--tw-ring-color:color-mix(in oklab, var(--color-white) 80%, transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.\!filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)!important}.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{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.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))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.select-none{-webkit-user-select:none;user-select:none}@media(hover:hover){.group-hover\:visible:is(:where(.group):hover *){visibility:visible}.group-hover\:translate-y-0:is(:where(.group):hover *){--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:inset-0:before{content:var(--tw-content);inset:calc(var(--spacing) * 0)}.before\:inset-x-0:before{content:var(--tw-content);inset-inline:calc(var(--spacing) * 0)}.before\:top-0:before{content:var(--tw-content);top:calc(var(--spacing) * 0)}.before\:-z-10:before{content:var(--tw-content);z-index:-10}.before\:h-px:before{content:var(--tw-content);height:1px}.before\:rounded-3xl:before{content:var(--tw-content);border-radius:var(--radius-3xl)}.before\:bg-gradient-to-r:before{content:var(--tw-content);--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.before\:from-sky-500:before{content:var(--tw-content);--tw-gradient-from:var(--color-sky-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))}.before\:from-transparent:before{content:var(--tw-content);--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.before\:via-purple-500:before{content:var(--tw-content);--tw-gradient-via:var(--color-purple-500);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.before\:via-white\/80:before{content:var(--tw-content);--tw-gradient-via:#fffc}@supports (color:color-mix(in lab,red,red)){.before\:via-white\/80:before{--tw-gradient-via:color-mix(in oklab, var(--color-white) 80%, transparent)}}.before\:via-white\/80:before{--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.before\:to-pink-500:before{content:var(--tw-content);--tw-gradient-to:var(--color-pink-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))}.before\:to-transparent:before{content:var(--tw-content);--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.before\:p-px:before{content:var(--tw-content);padding:1px}@media(hover:hover){.hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\:bg-emerald-700:hover{background-color:var(--color-emerald-700)}.hover\:bg-rose-700:hover{background-color:var(--color-rose-700)}.hover\:bg-sky-50:hover{background-color:var(--color-sky-50)}.hover\:bg-sky-700:hover{background-color:var(--color-sky-700)}.hover\:bg-slate-50:hover{background-color:var(--color-slate-50)}.hover\:bg-zinc-100:hover{background-color:var(--color-zinc-100)}.hover\:bg-zinc-200\/80:hover{background-color:#e4e4e7cc}@supports (color:color-mix(in lab,red,red)){.hover\:bg-zinc-200\/80:hover{background-color:color-mix(in oklab,var(--color-zinc-200) 80%,transparent)}}.hover\:bg-zinc-900\/90:hover{background-color:#18181be6}@supports (color:color-mix(in lab,red,red)){.hover\:bg-zinc-900\/90:hover{background-color:color-mix(in oklab,var(--color-zinc-900) 90%,transparent)}}.hover\:text-sky-600:hover{color:var(--color-sky-600)}.hover\:text-slate-700:hover{color:var(--color-slate-700)}.hover\:text-white:hover{color:var(--color-white)}.hover\:text-zinc-900:hover{color:var(--color-zinc-900)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus\:border-blue-500:focus{border-color:var(--color-blue-500)}.focus\:ring-1:focus{--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)}.focus\:ring-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.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\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:bg-slate-100:disabled{background-color:var(--color-slate-100)}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}@media(min-width:48rem){.md\:col-span-1{grid-column:span 1/span 1}.md\:col-span-2{grid-column:span 2/span 2}.md\:col-span-3{grid-column:span 3/span 3}.md\:col-span-4{grid-column:span 4/span 4}.md\:col-span-5{grid-column:span 5/span 5}.md\:block{display:block}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\:grid-cols-\[4\.5rem_1fr\]{grid-template-columns:4.5rem 1fr}.md\:grid-cols-\[5rem_1fr_5rem\]{grid-template-columns:5rem 1fr 5rem}.md\:flex-row{flex-direction:row}.md\:gap-6{gap:calc(var(--spacing) * 6)}}@media(min-width:64rem){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:block{display:block}.lg\:hidden{display:none}.lg\:inline-flex{display:inline-flex}.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-\[minmax\(0\,1\.2fr\)_auto_auto\]{grid-template-columns:minmax(0,1.2fr) auto auto}}@media(min-width:80rem){.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@container (min-width:640px){.\@\[640px\]\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (min-width:1024px){.\@\[1024px\]\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}}:root{--bg:#f8fafc;--text:#0f172a;--muted:#59677a;--line:#0f172a14;--sidebar-width:240px;--mobile-gap:10px;--mobile-radius:12px;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--color-attend-safe:#047857;--color-pending-warm:#b45309;--color-grade-alert:#be123c;--color-timeline-live:#0369a1;--text-strong:#0f172a;--text-body:#334155;--text-muted:#59677a;--radius-control:8px;--radius-item:12px;--radius-panel:20px;--radius-pill:999px;--hit-primary:48px;--hit-default:44px;--hit-inline:36px;--elev-1:0 1px 2px #0f172a0f;--elev-2:0 4px 12px -6px #0f172a47;--elev-3:0 18px 38px -20px #0f172a73}[data-theme=paper],html[data-theme=paper],body[data-theme=paper]{--paper:#f8f7f2;--paper-deep:#eae6d8;--card:#fff;--sunken:#faf9f5;--ink:#131211;--ink-2:#3d3a35;--ink-3:#666359;--ink-4:#666359;--ink-5:#57544e;--hair:#13121114;--hair-strong:#13121138;--ceramic:inset 0 1px 0 #fffffff2, 0 1px 3px #13121108, 0 12px 28px -10px #1312110f;--ceramic-lift:inset 0 1px 0 #fffffff2, 0 18px 38px -10px #1312111f;--solid-bg:#131211;--on-solid:#fff;--solid-ic:#d8ff3e;--accent:#d8ff3e;--on-accent:#131211;--mark-bg:#eae6d8;--mark-ink:#131211;--now-bar:#047857;--nav-accent:#047857;--nav-glow:5, 150, 105;--live-bg:#131211;--live-solid:#131211;--live-ink:#fff;--memo-bg:#fffdfa;--memo-line:#d977064d;--safe:#047857;--alert:#be123c;--warm:#b45309;--blue:#2563eb;--ink-safe:#047857;--ink-alert:#be123c;--ink-warm:#92400e;--ink-blue:#1d4ed8;--tint:9%;--tint-line:22%;--shadow-rgb:19, 18, 17;--sh1:.04;--sh2:.14;--sh3:.2;--hl:#fffffff2;--card-blur:none;--rule:var(--hair)}[data-theme=morandi],html[data-theme=morandi],body[data-theme=morandi]{--paper:#f1f5f9;--paper-deep:#e2e8f0;--card:#fff;--sunken:#f8fafc;--ink:#1e293b;--ink-2:#475569;--ink-3:#5a6a7e;--ink-4:#5a6a7e;--ink-5:#475569;--hair:#1e293b17;--hair-strong:#3b82f659;--ceramic:inset 0 1px 0 #fffffff2, 0 1px 3px #1e293b08, 0 12px 28px -10px #1e293b0f;--ceramic-lift:inset 0 1px 0 #fffffff2, 0 18px 40px -10px #1e293b1f;--solid-bg:#1e293b;--on-solid:#fff;--solid-ic:#38bdf8;--accent:#38bdf8;--on-accent:#0f172a;--mark-bg:#e2e8f0;--mark-ink:#1e293b;--now-bar:#0369a1;--nav-accent:#0369a1;--nav-glow:2, 132, 199;--live-bg:#1e293b;--live-solid:#1e293b;--live-ink:#fff;--memo-bg:#f8fafc;--memo-line:#94a3b859;--safe:#047857;--alert:#be123c;--warm:#b45309;--blue:#2563eb;--ink-safe:#047857;--ink-alert:#be123c;--ink-warm:#92400e;--ink-blue:#1d4ed8;--tint:9%;--tint-line:22%;--shadow-rgb:30, 41, 59;--sh1:.04;--sh2:.14;--sh3:.2;--hl:#fffffff2;--card-blur:none;--rule:var(--hair)}[data-theme=cobalt],html[data-theme=cobalt],body[data-theme=cobalt]{--paper:#f6f8fc;--paper-deep:#eff6ff;--card:#fff;--sunken:#f8fafc;--ink:#0f172a;--ink-2:#334155;--ink-3:#5a6a7e;--ink-4:#5a6a7e;--ink-5:#475569;--hair:#0f172a14;--hair-strong:#2563eb66;--ceramic:inset 0 1px 0 #fffffff2, 0 1px 3px #0f172a08, 0 12px 30px -10px #2563eb14;--ceramic-lift:inset 0 1px 0 #fffffff2, 0 20px 44px -10px #2563eb29;--solid-bg:#2563eb;--on-solid:#fff;--solid-ic:#bfdbfe;--accent:#38bdf8;--on-accent:#0f172a;--mark-bg:#eff6ff;--mark-ink:#1d4ed8;--now-bar:#2563eb;--nav-accent:#2563eb;--nav-glow:37, 99, 235;--live-bg:linear-gradient(135deg, #0f172a 0%, #1e3a8a 100%);--live-solid:#16255c;--live-ink:#fff;--memo-bg:#fffdfa;--memo-line:#d977064d;--safe:#047857;--alert:#be123c;--warm:#b45309;--blue:#2563eb;--ink-safe:#047857;--ink-alert:#be123c;--ink-warm:#92400e;--ink-blue:#1d4ed8;--tint:9%;--tint-line:22%;--shadow-rgb:15, 23, 42;--sh1:.04;--sh2:.14;--sh3:.2;--hl:#fffffff2;--card-blur:none;--rule:var(--hair)}[data-theme=dark],html[data-theme=dark],body[data-theme=dark]{--paper:#090d16;--paper-deep:#1e293b;--card:#111827;--sunken:#0f172a;--ink:#f8fafc;--ink-2:#cbd5e1;--ink-3:#94a3b8;--ink-4:#94a3b8;--ink-5:#cbd5e1;--hair:#ffffff17;--hair-strong:#38bdf873;--ceramic:inset 0 1px 0 #ffffff14, 0 4px 20px #00000080;--ceramic-lift:inset 0 1px 0 #ffffff1f, 0 20px 44px #000000b3;--solid-bg:#38bdf8;--on-solid:#090d16;--solid-ic:#0f172a;--accent:#38bdf8;--on-accent:#090d16;--mark-bg:#1e293b;--mark-ink:#38bdf8;--now-bar:#38bdf8;--nav-accent:#38bdf8;--nav-glow:56, 189, 248;--live-bg:#1e293b;--live-solid:#0f172a;--live-ink:#fff;--memo-bg:#f8fafc;--memo-line:#94a3b859;--safe:#047857;--alert:#be123c;--warm:#b45309;--blue:#2563eb;--ink-safe:#047857;--ink-alert:#be123c;--ink-warm:#92400e;--ink-blue:#1d4ed8;--tint:9%;--tint-line:22%;--shadow-rgb:0, 0, 0;--sh1:.04;--sh2:.14;--sh3:.2;--hl:#ffffff14;--card-blur:none;--rule:var(--hair)}:root:not([data-theme]),[data-theme=lake],html[data-theme=lake],body[data-theme=lake]{color-scheme:light;--brand:#1673a3;--brand-hover:#0f6e9a;--on-brand:#fff;--paper:#f4f7fa;--paper-deep:#ebf0f4;--card:#fff;--sunken:#f7f9fb;--ink:#1e2a33;--ink-2:#4a5866;--ink-3:#5e6c79;--ink-4:#5e6c79;--ink-5:#4a5866;--hair:#1e2a331a;--hair-strong:#1e2a3338;--ceramic:none;--ceramic-lift:none;--elev-float:0 1px 2px #1e2a330f, 0 12px 32px -12px #1e2a3338;--solid-bg:#1673a3;--on-solid:#fff;--solid-ic:#fff;--solid-shadow:none;--accent:#1673a3;--on-accent:#fff;--mark-bg:#e8f1f6;--mark-ink:#1673a3;--now-bar:#1673a3;--nav-accent:#1673a3;--nav-glow:22, 115, 163;--live-bg:#1e2a33;--live-solid:#1e2a33;--live-ink:#fff;--live-accent:#6cc0e5;--on-live-accent:#0f1720;--memo-bg:#f7f9fb;--memo-line:#1e2a331f;--safe:#047857;--alert:#be123c;--warm:#b45309;--blue:#1673a3;--ink-safe:#047857;--ink-alert:#be123c;--ink-warm:#92400e;--ink-blue:#1673a3;--tint:9%;--tint-line:22%;--shadow-rgb:30, 42, 51;--sh1:.04;--sh2:.14;--sh3:.2;--hl:transparent;--card-blur:none;--rule:var(--hair)}[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark]{color-scheme:dark;--brand:#6cc0e5;--brand-hover:#86cceb;--on-brand:#0f1720;--paper:#0f1720;--paper-deep:#1d2935;--card:#16212c;--sunken:#131c26;--ink:#e6edf3;--ink-2:#b7c3ce;--ink-3:#93a2b0;--ink-4:#93a2b0;--ink-5:#b7c3ce;--hair:#e6edf31a;--hair-strong:#e6edf338;--ceramic:none;--ceramic-lift:none;--elev-float:0 1px 2px #0000004d, 0 16px 40px -12px #0009;--solid-bg:#6cc0e5;--on-solid:#0f1720;--solid-ic:#0f1720;--solid-shadow:none;--accent:#6cc0e5;--on-accent:#0f1720;--mark-bg:#1a3242;--mark-ink:#6cc0e5;--now-bar:#6cc0e5;--nav-accent:#6cc0e5;--nav-glow:108, 192, 229;--live-bg:#1d2935;--live-solid:#1d2935;--live-ink:#e6edf3;--live-accent:#6cc0e5;--on-live-accent:#0f1720;--memo-bg:#16212c;--memo-line:#e6edf31f;--safe:#047857;--alert:#be123c;--warm:#b45309;--blue:#6cc0e5;--ink-safe:#34d399;--ink-alert:#fb7185;--ink-warm:#fbbf24;--ink-blue:#6cc0e5;--color-attend-safe:#34d399;--color-pending-warm:#fbbf24;--color-grade-alert:#fb7185;--color-timeline-live:#6cc0e5;--tint:14%;--tint-line:30%;--shadow-rgb:0, 0, 0;--sh1:.2;--sh2:.35;--sh3:.5;--hl:transparent;--card-blur:none;--rule:var(--hair)}[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{color-scheme:dark;--brand:#6cc0e5;--brand-hover:#86cceb;--on-brand:#0f1720;--paper:#1b2530;--paper-deep:#283542;--card:#212c38;--sunken:#1e2833;--ink:#dce4eb;--ink-2:#b3bfca;--ink-3:#99a7b4;--ink-4:#99a7b4;--ink-5:#b3bfca;--hair:#dce4eb1c;--hair-strong:#dce4eb3d;--ceramic:none;--ceramic-lift:none;--elev-float:0 1px 2px #00000040, 0 16px 40px -12px #00000080;--solid-bg:#6cc0e5;--on-solid:#0f1720;--solid-ic:#0f1720;--solid-shadow:none;--accent:#6cc0e5;--on-accent:#0f1720;--mark-bg:#24394a;--mark-ink:#6cc0e5;--now-bar:#6cc0e5;--nav-accent:#6cc0e5;--nav-glow:108, 192, 229;--live-bg:#283542;--live-solid:#283542;--live-ink:#dce4eb;--live-accent:#6cc0e5;--on-live-accent:#0f1720;--memo-bg:#212c38;--memo-line:#dce4eb1f;--safe:#047857;--alert:#be123c;--warm:#b45309;--blue:#6cc0e5;--ink-safe:#34d399;--ink-alert:#fb7185;--ink-warm:#fbbf24;--ink-blue:#6cc0e5;--color-attend-safe:#34d399;--color-pending-warm:#fbbf24;--color-grade-alert:#fb7185;--color-timeline-live:#6cc0e5;--tint:14%;--tint-line:30%;--shadow-rgb:0, 0, 0;--sh1:.2;--sh2:.35;--sh3:.5;--hl:transparent;--card-blur:none;--rule:var(--hair)}:root:not([data-theme]),[data-theme=lake],html[data-theme=lake]{--bg:#f4f7fa;--text:#1e2a33;--muted:#5e6c79;--line:#1e2a331a;--text-strong:#1e2a33;--text-body:#33424e;--text-muted:#5e6c79}[data-theme=lake-dark],html[data-theme=lake-dark]{--bg:#0f1720;--text:#e6edf3;--muted:#93a2b0;--line:#e6edf31a;--text-strong:#e6edf3;--text-body:#c9d3dc;--text-muted:#93a2b0}[data-theme=lake-dim],html[data-theme=lake-dim]{--bg:#1b2530;--text:#dce4eb;--muted:#99a7b4;--line:#dce4eb1c;--text-strong:#dce4eb;--text-body:#c4ced8;--text-muted:#99a7b4}[data-theme],:root{--ceramic-inset:inset 0 1px 2px rgba(var(--shadow-rgb), calc(var(--sh1) + .02));--brand-soft:var(--brand,var(--accent))}@supports (color:color-mix(in lab,red,red)){[data-theme],:root{--brand-soft:color-mix(in srgb, var(--brand,var(--accent)) 10%, transparent)}}[data-theme],:root{--r-control:8px;--r-card:12px;--r-panel:20px;--r-item:12px;--r-ctl:8px;--r-pill:999px;--r-row:14px;--r-soft:22px;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--fs-meta:12px;--fs-body:13px;--fs-title-s:15px;--fs-title-m:18px;--fs-page-title:20px;--fs-title-l:22px;--fs-figure:24px;--rail-w:196px;--lh-body:1.6;--lh-title:1.3;--ease:cubic-bezier(.16, 1, .3, 1);--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--dur-fast:.12s;--dur-base:.22s;--dur-slow:.38s}@media(max-width:1366px){[data-theme],:root{--rail-w:188px}}@media(prefers-reduced-motion:reduce){[data-theme],:root{--dur-fast:0s;--dur-base:0s;--dur-slow:0s}}:root:not([data-theme]),[data-theme=lake],html[data-theme=lake],body[data-theme=lake]{--page-bg:linear-gradient(135deg, #e1f1fa 0%, #eef4fa 45%, #e6f5ee 100%);--page-bg-solid:#eef4fa;--side-glass:#ffffff8c;--side-line:transparent;--soft-card:#fff;--soft-shadow:0 14px 34px -20px #1e3c5a8c;--soft-shadow-lift:0 20px 40px -20px #1e3c5a99;--soft-row:#f6f9fb;--soft-fill:#eef3f7;--soft-fill-hover:#e4ecf2;--soft-line:#dbe6ee;--brand-grad:linear-gradient(135deg, #1a7aae, #0f5a82);--brand-glow:0 10px 22px -12px #1673a3;--nav-on-bg:#fff;--nav-on-ink:#1673a3;--nav-on-shadow:0 6px 16px -10px #1673a399;--nav-on-bar:0;--live-wash:linear-gradient(90deg, #e6f3fa, #e6f3fa00);--live-ink-soft:#0f5e86;--hue-lake-bg:#cce0eb;--hue-lake-fg:#1673a3;--hue-lake-wash:#e3f2fa;--hue-sky-bg:#c8deea;--hue-sky-fg:#0369a1;--hue-sky-wash:#e0f2fe;--hue-teal-bg:#cae1df;--hue-teal-fg:#0f766e;--hue-teal-wash:#dff3f0;--hue-amber-bg:#efd9c9;--hue-amber-fg:#b45309;--hue-amber-wash:#fdf1e2;--hue-orange-bg:#f2d5ca;--hue-orange-fg:#c2410c;--hue-orange-wash:#fdece2;--hue-red-bg:#f0cdcd;--hue-red-fg:#b91c1c;--hue-red-wash:#fde8e8;--hue-indigo-bg:#d6d3f3;--hue-indigo-fg:#4338ca;--hue-indigo-wash:#e9ebfb;--hue-rose-bg:#f1cbd4;--hue-rose-fg:#be123c;--hue-rose-wash:#fbe9ef;--hue-green-bg:#c8e1da;--hue-green-fg:#047857;--hue-green-wash:#e4f5ed;--hue-yellow-bg:#e4d8ca;--hue-yellow-fg:#854d0e;--hue-yellow-wash:#fbf1d3;--hue-violet-bg:#dbd6ef;--hue-violet-fg:#5b45b5;--hue-violet-wash:#efeafb;--hue-slate-bg:#d7dade;--hue-slate-fg:#475569;--hue-slate-wash:#edf1f5;--brand-ink:#0f5e86;--th-bg:#dceaf1;--btn-soft-bg:#e3eef4;--btn-soft-bg-hover:#d5e6ee;--btn-soft-ink:#0f5e86;--field-bg:#fff;--field-line:#8494a3;--field-ph:#6b7a88;--field-text:#1e2a33;--tile-lake:linear-gradient(135deg, #3592c6, #1673a3);--tile-green:linear-gradient(135deg, #3c9a7c, #047857);--tile-violet:linear-gradient(135deg, #8b7ae0, #5b45b5);--tile-orange:linear-gradient(135deg, #d0702f, #c2410c);--tile-ink:#fff}[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--side-line:transparent;--soft-card:var(--card);--soft-shadow:0 12px 30px -20px #000000b3;--soft-shadow-lift:0 18px 36px -20px #000000bf;--soft-row:var(--ink)}@supports (color:color-mix(in lab,red,red)){[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--soft-row:color-mix(in srgb, var(--ink) 5%, var(--card))}}[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--soft-fill:var(--ink)}@supports (color:color-mix(in lab,red,red)){[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--soft-fill:color-mix(in srgb, var(--ink) 9%, var(--card))}}[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--soft-fill-hover:var(--ink)}@supports (color:color-mix(in lab,red,red)){[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--soft-fill-hover:color-mix(in srgb, var(--ink) 14%, var(--card))}}[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--soft-line:var(--ink)}@supports (color:color-mix(in lab,red,red)){[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--soft-line:color-mix(in srgb, var(--ink) 14%, transparent)}}[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--brand-grad:linear-gradient(135deg, #86cceb, #4fb0db);--brand-glow:0 10px 22px -12px #6cc0e58c;--nav-on-bg:var(--card);--nav-on-ink:var(--brand);--nav-on-shadow:0 6px 16px -10px #000c;--nav-on-bar:0;--live-wash:linear-gradient(90deg, #6cc0e529, #6cc0e500);--live-ink-soft:#a9dcf1;--hue-lake-fg:#6cc0e5;--hue-sky-fg:#7dd3fc;--hue-teal-fg:#5eead4;--hue-amber-fg:#fbbf24;--hue-orange-fg:#fdba74;--hue-red-fg:#fca5a5;--hue-indigo-fg:#a5b4fc;--hue-rose-fg:#fda4af;--hue-green-fg:#6ee7b7;--hue-yellow-fg:#fde047;--hue-violet-fg:#c4b5fd;--hue-slate-fg:#cbd5e1;--hue-lake-bg:var(--hue-lake-fg)}@supports (color:color-mix(in lab,red,red)){[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--hue-lake-bg:color-mix(in srgb, var(--hue-lake-fg) 26%, var(--card))}}[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--hue-sky-bg:var(--hue-sky-fg)}@supports (color:color-mix(in lab,red,red)){[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--hue-sky-bg:color-mix(in srgb, var(--hue-sky-fg) 26%, var(--card))}}[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--hue-teal-bg:var(--hue-teal-fg)}@supports (color:color-mix(in lab,red,red)){[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--hue-teal-bg:color-mix(in srgb, var(--hue-teal-fg) 26%, var(--card))}}[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--hue-amber-bg:var(--hue-amber-fg)}@supports (color:color-mix(in lab,red,red)){[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--hue-amber-bg:color-mix(in srgb, var(--hue-amber-fg) 26%, var(--card))}}[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--hue-orange-bg:var(--hue-orange-fg)}@supports (color:color-mix(in lab,red,red)){[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--hue-orange-bg:color-mix(in srgb, var(--hue-orange-fg) 26%, var(--card))}}[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--hue-red-bg:var(--hue-red-fg)}@supports (color:color-mix(in lab,red,red)){[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--hue-red-bg:color-mix(in srgb, var(--hue-red-fg) 26%, var(--card))}}[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--hue-indigo-bg:var(--hue-indigo-fg)}@supports (color:color-mix(in lab,red,red)){[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--hue-indigo-bg:color-mix(in srgb, var(--hue-indigo-fg) 26%, var(--card))}}[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--hue-rose-bg:var(--hue-rose-fg)}@supports (color:color-mix(in lab,red,red)){[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--hue-rose-bg:color-mix(in srgb, var(--hue-rose-fg) 26%, var(--card))}}[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--hue-green-bg:var(--hue-green-fg)}@supports (color:color-mix(in lab,red,red)){[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--hue-green-bg:color-mix(in srgb, var(--hue-green-fg) 26%, var(--card))}}[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--hue-yellow-bg:var(--hue-yellow-fg)}@supports (color:color-mix(in lab,red,red)){[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--hue-yellow-bg:color-mix(in srgb, var(--hue-yellow-fg) 26%, var(--card))}}[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--hue-violet-bg:var(--hue-violet-fg)}@supports (color:color-mix(in lab,red,red)){[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--hue-violet-bg:color-mix(in srgb, var(--hue-violet-fg) 26%, var(--card))}}[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--hue-slate-bg:var(--hue-slate-fg)}@supports (color:color-mix(in lab,red,red)){[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--hue-slate-bg:color-mix(in srgb, var(--hue-slate-fg) 26%, var(--card))}}[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--tile-lake:linear-gradient(135deg, #3592c6, #1673a3);--tile-green:linear-gradient(135deg, #3c9a7c, #047857);--tile-violet:linear-gradient(135deg, #8b7ae0, #5b45b5);--tile-orange:linear-gradient(135deg, #d0702f, #c2410c);--tile-ink:#fff;--brand-ink:var(--brand);--th-bg:var(--brand)}@supports (color:color-mix(in lab,red,red)){[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--th-bg:color-mix(in srgb, var(--brand) 15%, var(--card))}}[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--btn-soft-bg:var(--brand)}@supports (color:color-mix(in lab,red,red)){[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--btn-soft-bg:color-mix(in srgb, var(--brand) 14%, var(--card))}}[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--btn-soft-bg-hover:var(--brand)}@supports (color:color-mix(in lab,red,red)){[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--btn-soft-bg-hover:color-mix(in srgb, var(--brand) 22%, var(--card))}}[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--btn-soft-ink:var(--brand);--field-bg:#000}@supports (color:color-mix(in lab,red,red)){[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--field-bg:color-mix(in srgb, #000 18%, var(--card))}}[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--field-line:#6b7c8c;--field-ph:var(--ink-3);--field-text:var(--ink);--hue-lake-wash:var(--hue-lake-fg)}@supports (color:color-mix(in lab,red,red)){[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--hue-lake-wash:color-mix(in srgb, var(--hue-lake-fg) 14%, var(--card))}}[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--hue-amber-wash:var(--hue-amber-fg)}@supports (color:color-mix(in lab,red,red)){[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--hue-amber-wash:color-mix(in srgb, var(--hue-amber-fg) 14%, var(--card))}}[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--hue-rose-wash:var(--hue-rose-fg)}@supports (color:color-mix(in lab,red,red)){[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--hue-rose-wash:color-mix(in srgb, var(--hue-rose-fg) 14%, var(--card))}}[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--hue-teal-wash:var(--hue-teal-fg)}@supports (color:color-mix(in lab,red,red)){[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--hue-teal-wash:color-mix(in srgb, var(--hue-teal-fg) 14%, var(--card))}}[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--hue-violet-wash:var(--hue-violet-fg)}@supports (color:color-mix(in lab,red,red)){[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--hue-violet-wash:color-mix(in srgb, var(--hue-violet-fg) 14%, var(--card))}}[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--hue-green-wash:var(--hue-green-fg)}@supports (color:color-mix(in lab,red,red)){[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--hue-green-wash:color-mix(in srgb, var(--hue-green-fg) 14%, var(--card))}}[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--hue-slate-wash:var(--hue-slate-fg)}@supports (color:color-mix(in lab,red,red)){[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--hue-slate-wash:color-mix(in srgb, var(--hue-slate-fg) 14%, var(--card))}}[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--hue-indigo-wash:var(--hue-indigo-fg)}@supports (color:color-mix(in lab,red,red)){[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--hue-indigo-wash:color-mix(in srgb, var(--hue-indigo-fg) 14%, var(--card))}}[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--hue-sky-wash:var(--hue-sky-fg)}@supports (color:color-mix(in lab,red,red)){[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--hue-sky-wash:color-mix(in srgb, var(--hue-sky-fg) 14%, var(--card))}}[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--hue-orange-wash:var(--hue-orange-fg)}@supports (color:color-mix(in lab,red,red)){[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--hue-orange-wash:color-mix(in srgb, var(--hue-orange-fg) 14%, var(--card))}}[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--hue-red-wash:var(--hue-red-fg)}@supports (color:color-mix(in lab,red,red)){[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--hue-red-wash:color-mix(in srgb, var(--hue-red-fg) 14%, var(--card))}}[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--hue-yellow-wash:var(--hue-yellow-fg)}@supports (color:color-mix(in lab,red,red)){[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark],[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--hue-yellow-wash:color-mix(in srgb, var(--hue-yellow-fg) 14%, var(--card))}}[data-theme=lake-dark],html[data-theme=lake-dark],body[data-theme=lake-dark]{--page-bg:linear-gradient(135deg, #0e1f2b 0%, #0f1720 45%, #0e201d 100%);--page-bg-solid:#0f1720;--side-glass:#16212c99}[data-theme=lake-dim],html[data-theme=lake-dim],body[data-theme=lake-dim]{--page-bg:linear-gradient(135deg, #1e2d39 0%, #1b2530 45%, #1c2c2a 100%);--page-bg-solid:#1b2530;--side-glass:#212c3899}:root{--ui-zoom:1;--vh-full:100vh;--dvh-full:100dvh}@media(min-width:769px)and (pointer:fine){:root{--ui-zoom:.92;--vh-full:calc(100vh / .92);--dvh-full:calc(100dvh / .92)}html{zoom:.92}}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);min-height:calc(var(--vh-full,100vh) - 24px);height:calc(var(--vh-full,100vh) - 24px);max-height:calc(var(--vh-full,100vh) - 24px);flex-direction:column;display:flex;position:sticky;top:12px;overflow:auto}.sidebar-top .meta-line{line-height:1.25}.sidebar-head-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.sidebar-meta-row{justify-content:space-between;align-items:center;gap:8px;margin-top:4px;display:flex}.sidebar-status-row{border-top:1px solid #94a3b833;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:8px;margin-top:6px;padding-top:6px;display:flex}.sidebar-status-row .meta-line{white-space:nowrap}@media(max-width:1100px){.sidebar{width:100%;min-width:0;height:auto;min-height:0;max-height:none;position:static;overflow:visible}}@media(max-width:1024px){.sidebar{width:100%;min-width:0;max-height:none;position:static!important}.sidebar nav{grid-template-columns:1fr;gap:6px;display:grid}}@media(max-width:640px){.sidebar-meta-row,.sidebar-status-row{gap:6px}.sidebar nav{grid-template-columns:1fr}}@media(max-width:768px){.sidebar{height:auto;min-height:0;max-height:none;position:relative;top:auto;overflow:visible}}.sidebar-footer-profile{border-top:.5px solid #0f172a14;align-items:center;gap:10px;padding-top:14px;display:flex}.sidebar-footer-avatar{color:#0369a1;background:#e0f2fe;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:12px;display:flex}.sidebar-footer-name{color:#0f172a;font-size:13px;font-weight:500}.sidebar-footer-class{color:var(--text-muted);font-size:12px}.mobile-bottom-nav{display:none}@media(max-width:768px){.mobile-bottom-nav{z-index:40;height:calc(56px + var(--safe-bottom));padding-bottom:var(--safe-bottom);background:var(--card,#fff);border-top:.5px solid var(--hair,#0f172a1a);display:flex;position:fixed;bottom:0;left:0;right:0}.app-shell>aside.sidebar{display:none!important}.app-shell{grid-template-columns:minmax(0,1fr)!important}.app-shell:not(.is-sidebar-hidden)>main.grid{display:grid!important}}.sidebar-identity{border-bottom:1px solid #94a3b833;padding-bottom:12px}.sidebar-brand-mark{color:#fff;background:linear-gradient(135deg,#2563eb,#0f172a);border-radius:12px;flex:0 0 36px;place-items:center;width:36px;height:36px;font-size:13px;font-weight:700;display:grid}.sidebar-overview{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-top:8px;padding:12px}.sidebar-overview-head,.sidebar-overview-list>div{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.sidebar-overview-head{color:#334155;border-bottom:1px solid #e2e8f0;padding-bottom:8px;font-size:12px;font-weight:700}.sidebar-overview-list{gap:8px;margin-top:8px;display:grid}.sidebar-overview-list dt{color:var(--text-muted);flex:none;font-size:12px}.sidebar-overview-list dd{color:#475569;text-align:end;overflow-wrap:anywhere;min-width:0;font-size:12px;font-weight:600}.sidebar-footer{margin-top:auto!important}.sidebar .nav-item.active{color:#fff;background:#0f172a;border-color:#0f172a;box-shadow:0 8px 18px -16px #0f172ae6}.sidebar .nav-item.active:before{background:#38bdf8}.sidebar .nav-item.active .nav-icon{color:#7dd3fc}.sidebar .nav-item.active .nav-meta{color:#e0f2fe;background:#7dd3fc24;border-color:#7dd3fc42}.sidebar-title{color:var(--text-strong);margin:0;font-size:13px;font-weight:700;line-height:1.35}.sidebar-count{color:var(--text-muted);font-size:12px}.sidebar-meta{color:var(--text-muted);font-size:12px;line-height:1.35}.sidebar-search-input{min-height:var(--hit-default);color:var(--text-strong);border-radius:var(--radius-control);padding:8px 12px;font-size:13px;line-height:1.4}.sidebar-search-input::placeholder{color:var(--text-muted)}.sidebar-search-input:focus-visible{outline:2px solid var(--color-timeline-live);outline-offset:2px}.shell{gap:20px;max-width:none;margin:0 auto;padding:28px 24px 80px;display:grid}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:2px 4px;display:flex}.topbar-desktop{justify-content:space-between;align-items:center;gap:16px;width:100%;display:flex}.topbar-mobile{display:none}.app{min-height:var(--vh-full,100vh);background:var(--page-bg,var(--paper));color:var(--ink);background-attachment:fixed;align-items:flex-start;gap:0;display:flex}.canvas{flex:1;min-width:0;container:canvas/inline-size}.rail{width:var(--rail-w);flex:0 0 var(--rail-w);height:var(--vh-full,100vh);background:var(--side-glass,var(--card));-webkit-backdrop-filter:blur(14px)saturate(140%);backdrop-filter:blur(14px)saturate(140%);border-right:.5px solid var(--side-line,var(--hair));transition:width .3s var(--ease),flex-basis .3s var(--ease),padding .3s var(--ease);-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto;flex-direction:column;align-self:stretch;gap:14px;padding:22px 14px 18px;display:flex;position:sticky;top:0;overflow:visible}.rail:before{content:"";pointer-events:none;background:0 0;width:160%;height:250px;position:absolute;top:-120px;left:-30%}.rail>*{position:relative}.app[data-rail=mini] .rail{flex-basis:60px;width:60px;padding:22px 10px 18px}.rail-head{align-items:center;gap:8px;display:flex}.rail-toggle{border:1px solid var(--hair);background:var(--sunken);width:38px;height:38px;color:var(--ink-3);cursor:pointer;border-radius:12px;flex:0 0 38px;place-items:center;transition:background-color .16s,border-color .16s,color .16s,transform .12s;display:grid}.rail-toggle:hover{background:var(--card);border-color:var(--hair-strong);color:var(--ink)}.rail-toggle:active{transform:scale(.94)}.rail-toggle:focus-visible{outline:2px solid var(--nav-accent);outline-offset:1px}.rail-toggle .ic{width:16px;height:16px;transition:transform .28s var(--ease)}.app[data-rail=mini] .rail-toggle .ic{transform:rotate(180deg)}.app[data-rail=mini] .rail-head{justify-content:center}.app[data-rail=mini] .rail-search{display:none}.rail-search{border:1px solid var(--hair);background:var(--sunken);width:100%;min-width:0;height:38px;box-shadow:var(--ceramic-inset);color:var(--ink);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23808c9e' stroke-width='2' stroke-linecap='round'><circle cx='11' cy='11' r='7'/><line x1='16.5' y1='16.5' x2='21' y2='21'/></svg>");background-position:10px;background-repeat:no-repeat;background-size:15px;border-radius:12px;padding:0 12px 0 34px;font-family:inherit;font-size:13px}.rail-search::placeholder{color:var(--ink-5)}.rail-search:focus{border-color:var(--ink-blue);box-shadow:0 0 0 3px var(--blue);outline:none}@supports (color:color-mix(in lab,red,red)){.rail-search:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 13%,transparent)}}.rail-search:focus{background-color:var(--card)}.rail-scroll{scrollbar-width:thin;flex:1;align-content:start;gap:12px;margin:0 -6px;padding:2px 6px 6px;display:grid;position:relative;overflow:hidden auto}.rail-scroll>.nav-group{z-index:1;position:relative}.nav-indicator{z-index:0;background:var(--nav-on-bg,var(--nav-accent));border-radius:12px;width:0;height:0;position:absolute;top:0;left:0}@supports (color:color-mix(in lab,red,red)){.nav-indicator{background:var(--nav-on-bg,color-mix(in srgb, var(--nav-accent) 10%, transparent))}}.nav-indicator{box-shadow:var(--nav-on-shadow,none);opacity:0;pointer-events:none;transition:transform var(--dur-slow,.38s) var(--ease-spring,cubic-bezier(.34, 1.56, .64, 1)),width var(--dur-base,.22s) var(--ease-out,ease),height var(--dur-base,.22s) var(--ease-out,ease),opacity var(--dur-fast,.12s) linear;will-change:transform}.rail-scroll.has-indicator>.nav-indicator{opacity:1}.nav-indicator.no-anim{transition:none}.rail-scroll.has-indicator .nav-item.on{box-shadow:none;background:0 0}.rail-fade{pointer-events:none;z-index:5;height:22px;position:absolute;left:0;right:0}.rail-fade.top{background:linear-gradient(180deg,var(--card),transparent);top:54px}.rail-fade.bottom{background:linear-gradient(0deg,var(--card),transparent);bottom:118px}:root:not([data-theme]) .rail-fade,[data-theme^=lake] .rail-fade{display:none}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.rail{background:var(--card)}}@media(prefers-reduced-transparency:reduce){.rail{background:var(--card);-webkit-backdrop-filter:none;backdrop-filter:none}}.rail-scroll::-webkit-scrollbar{width:5px}.rail-scroll::-webkit-scrollbar-thumb{background:var(--hair-strong);border-radius:8px}.nav-group{gap:3px;display:grid}.nav-title{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-4);white-space:nowrap;align-items:center;gap:9px;margin:0 0 5px;padding:0 10px;font-size:12px;font-weight:700;line-height:1.5;display:flex}.nav-title:after{content:"";background:linear-gradient(90deg,var(--hair),transparent);flex:1;height:1px}.app[data-rail=mini] .nav-title{text-align:center;padding:0;font-size:0}.app[data-rail=mini] .nav-title:after{content:"···";letter-spacing:.1em;font-size:12px}.nav-item{border-radius:var(--r-control,8px);width:100%;min-height:42px;color:var(--ink-2);text-align:left;cursor:pointer;transition:background-color var(--dur-fast,.12s) ease,color var(--dur-fast,.12s) ease,border-color var(--dur-fast,.12s) ease,transform var(--dur-base,.22s) var(--ease-spring,ease);background:0 0;border:1px solid #0000;align-items:center;gap:11px;padding:0 10px 0 16px;font-family:inherit;font-size:13px;font-weight:500;display:flex;position:relative}.nav-item:hover{background:var(--nav-hover-bg,var(--nav-accent))}@supports (color:color-mix(in lab,red,red)){.nav-item:hover{background:var(--nav-hover-bg,color-mix(in srgb, var(--nav-accent) 6%, var(--sunken)))}}.nav-item:hover{color:var(--ink)}:root:not([data-theme]) .nav-item:hover:not(.on),[data-theme=lake] .nav-item:hover:not(.on){--nav-hover-bg:#fff9}[data-theme=lake-dark] .nav-item:hover:not(.on),[data-theme=lake-dim] .nav-item:hover:not(.on){--nav-hover-bg:var(--ink)}@supports (color:color-mix(in lab,red,red)){[data-theme=lake-dark] .nav-item:hover:not(.on),[data-theme=lake-dim] .nav-item:hover:not(.on){--nav-hover-bg:color-mix(in srgb, var(--ink) 6%, transparent)}}.nav-item:hover .ic{color:var(--nav-accent)}.nav-item:hover:not(.on){transform:translate(2px)}.nav-item:active{transform:scale(.97)}.nav-item .nav-ic{transition:transform var(--dur-base,.22s) var(--ease-spring,cubic-bezier(.34, 1.56, .64, 1))}.nav-item:hover .nav-ic{transform:scale(1.08)rotate(-4deg)}.nav-item:active .nav-ic{transform:scale(.94)}.nav-item:focus-visible{outline:2px solid var(--blue);outline-offset:1px}.nav-item .ic{width:20px;height:20px;color:var(--ink-3);transition:color var(--dur-fast,.15s) var(--ease-out,ease);flex:0 0 20px}.nav-item .nav-ic{background:var(--mod-bg,transparent);border-radius:9px;flex:0 0 28px;place-items:center;width:28px;height:28px;display:grid}.nav-item .nav-ic .ic{width:18px;height:18px;color:var(--mod-fg,var(--ink-3));flex:0 0 18px}.nav-item:hover .nav-ic .ic,.nav-item.on .nav-ic .ic{color:var(--mod-fg,var(--nav-accent))}.nav-item[data-mod=workbench]{--mod-bg:var(--hue-lake-bg);--mod-fg:var(--hue-lake-fg)}.nav-item[data-mod=schedule]{--mod-bg:var(--hue-sky-bg);--mod-fg:var(--hue-sky-fg)}.nav-item[data-mod=daily]{--mod-bg:var(--hue-teal-bg);--mod-fg:var(--hue-teal-fg)}.nav-item[data-mod=leave]{--mod-bg:var(--hue-amber-bg);--mod-fg:var(--hue-amber-fg)}.nav-item[data-mod=dorm]{--mod-bg:var(--hue-orange-bg);--mod-fg:var(--hue-orange-fg)}.nav-item[data-mod=reports]{--mod-bg:var(--hue-red-bg);--mod-fg:var(--hue-red-fg)}.nav-item[data-mod=display]{--mod-bg:var(--hue-indigo-bg);--mod-fg:var(--hue-indigo-fg)}.nav-item[data-mod=students],.nav-item[data-mod=profile]{--mod-bg:var(--hue-rose-bg);--mod-fg:var(--hue-rose-fg)}.nav-item[data-mod=exam]{--mod-bg:var(--hue-green-bg);--mod-fg:var(--hue-green-fg)}.nav-item[data-mod=consumption]{--mod-bg:var(--hue-yellow-bg);--mod-fg:var(--hue-yellow-fg)}.nav-item[data-mod=seat]{--mod-bg:var(--hue-violet-bg);--mod-fg:var(--hue-violet-fg)}.nav-item[data-mod=settings],.nav-item[data-mod=health]{--mod-bg:var(--hue-slate-bg);--mod-fg:var(--hue-slate-fg)}.nav-item .lb{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.nav-item.on{background:var(--nav-on-bg,var(--nav-accent))}@supports (color:color-mix(in lab,red,red)){.nav-item.on{background:var(--nav-on-bg,color-mix(in srgb, var(--nav-accent) 10%, transparent))}}.nav-item.on{color:var(--nav-on-ink,var(--ink));box-shadow:var(--nav-on-shadow,none);border-color:#0000;font-weight:600}.nav-item.on .ic{color:var(--nav-accent)}.nav-item.on:hover{transform:none}.nav-item.on:before{content:"";background:var(--nav-accent);width:3px;height:20px;opacity:var(--nav-on-bar,1);border-radius:3px;position:absolute;top:50%;left:5px;transform:translateY(-50%)}.app[data-rail=mini] .nav-item.on:before{display:none}.app[data-rail=mini] .nav-item{justify-content:center;padding:0}.app[data-rail=mini] .nav-item .lb{display:none}.nav-n{font-variant-numeric:tabular-nums;background:var(--paper-deep);color:var(--ink-4);white-space:nowrap;border:1px solid #0000;border-radius:8px;margin-left:auto;padding:4px 7px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:700;line-height:1}.nav-n.due{background:var(--warm)}@supports (color:color-mix(in lab,red,red)){.nav-n.due{background:color-mix(in srgb,var(--warm) 13%,transparent)}}.nav-n.due{color:var(--ink-warm);border-color:var(--warm)}@supports (color:color-mix(in lab,red,red)){.nav-n.due{border-color:color-mix(in srgb,var(--warm) 26%,transparent)}}.nav-n.hot{background:var(--alert)}@supports (color:color-mix(in lab,red,red)){.nav-n.hot{background:color-mix(in srgb,var(--alert) 11%,transparent)}}.nav-n.hot{color:var(--ink-alert);border-color:var(--alert)}@supports (color:color-mix(in lab,red,red)){.nav-n.hot{border-color:color-mix(in srgb,var(--alert) 24%,transparent)}}.nav-n.zero{display:none}.app[data-rail=mini] .nav-n{border-radius:999px;width:7px;height:7px;padding:0;font-size:0;position:absolute;top:5px;right:7px}.app[data-rail=mini] .nav-n.due{background:var(--warm)}.app[data-rail=mini] .nav-n.hot{background:var(--alert)}.rail-foot{border-top:1px solid var(--rule);gap:8px;margin-top:auto;padding-top:14px;display:grid}.rail-tools{grid-template-columns:1fr 1fr;gap:8px;display:grid}.app[data-rail=mini] .rail-tools{grid-template-columns:1fr}.tool-btn{border:1px solid var(--hair);background:var(--sunken);width:100%;min-height:44px;color:var(--ink-2);cursor:pointer;white-space:nowrap;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 10px;font-family:inherit;font-size:13px;font-weight:600;text-decoration:none;transition:border-color .18s,background-color .18s,box-shadow .18s,transform .12s;display:flex;position:relative;overflow:hidden}.tool-btn:hover{border-color:var(--hair-strong);background:var(--card)}.tool-btn:active{transform:scale(.96)}.tool-btn .ic{width:16px;height:16px;color:var(--ink-3);flex:0 0 16px}.app[data-rail=mini] .tool-btn .lb{display:none}.tool-btn.cast{border-color:var(--nav-accent)}@supports (color:color-mix(in lab,red,red)){.tool-btn.cast{border-color:color-mix(in srgb,var(--nav-accent) 26%,transparent)}}.tool-btn.cast{background:var(--nav-accent)}@supports (color:color-mix(in lab,red,red)){.tool-btn.cast{background:color-mix(in srgb,var(--nav-accent) 8%,transparent)}}.tool-btn.cast,.tool-btn.cast .ic{color:var(--nav-accent)}.acct{position:relative}.rail-me{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:10px;width:100%;min-height:46px;padding:5px 8px;font-family:inherit;transition:background-color .16s,border-color .16s,transform .12s;display:flex}.rail-me:hover{background:var(--sunken);border-color:var(--hair)}.rail-me .av{color:#fff;background:linear-gradient(150deg,#3f4a5a,#1e2531);border-radius:12px;flex:0 0 32px;place-items:center;width:32px;height:32px;font-size:13px;font-weight:700;display:grid;position:relative;box-shadow:inset 0 1px #ffffff38}.rail-me .av:after{content:"";background:var(--safe);border:2px solid var(--card);border-radius:999px;width:9px;height:9px;position:absolute;bottom:-2px;right:-2px}.rail-me .txt{flex:1;min-width:0;font-size:12px}.rail-me b{color:var(--ink);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;display:block;overflow:hidden}.rail-me .txt>span{color:var(--ink-4);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.rail-me .chev{width:15px;height:15px;color:var(--ink-5);transition:transform .2s var(--ease);flex:0 0 15px}.app[data-rail=mini] .rail-me{justify-content:center;padding:5px}.app[data-rail=mini] .rail-me .txt,.app[data-rail=mini] .rail-me .chev{display:none}@media(max-width:768px){.rail{display:none}}@media(max-width:820px){.shell{gap:16px;padding:22px 18px 72px}}@media(min-width:1025px){.rail{gap:4px;padding:14px 10px 12px}.app[data-rail=mini] .rail{flex-basis:60px;width:60px;padding:14px 8px 12px}.rail-search{height:32px;padding:0 10px 0 30px;font-size:12px}.rail-head{gap:6px}.rail-toggle{border-radius:8px;width:32px;height:32px}.nav-group{margin-bottom:0}.nav-title{margin-bottom:3px;padding:0 8px;font-size:12px}.rail-scroll{gap:4px}.nav-group{gap:0}.nav-title{margin-bottom:0;line-height:1.2}#app .rail .nav-item{min-height:30px}.nav-item{border-width:0;border-radius:10px;gap:10px;height:auto;min-height:30px;padding:2px 8px;font-size:13px}.nav-item .nav-ic{border-radius:8px;flex-basis:24px;width:24px;height:24px}.nav-item .ic{flex-basis:20px;width:20px;height:20px}.nav-item .nav-ic .ic{flex-basis:16px;width:16px;height:16px}.nav-item .lb{font-size:var(--fs-body,13px)}.nav-n{padding:1px 6px;font-size:12px}.rail-foot{gap:4px;padding-top:8px}.tool-btn{border-radius:8px;height:32px;min-height:32px;font-size:12px}.rail-me{border-radius:8px;gap:8px;min-height:32px;padding:2px 8px}.rail-me .av{border-radius:8px;flex:0 0 28px;width:28px;height:28px;font-size:12px}.rail-me b,.rail-me .txt>span{font-size:12px}.shell{gap:12px;padding:16px 18px 48px}}@media(min-width:1025px)and (any-pointer:coarse){.rail-search{height:44px}.rail-toggle{flex-basis:44px;width:44px;height:44px}#app .rail .nav-item,.nav-item{min-height:44px}.tool-btn{height:44px;min-height:44px}.rail-me{min-height:44px}}@media(max-width:768px){.shell,.shell .grid:not([class*=grid-cols-]){grid-template-columns:minmax(0,1fr)}.shell section,.shell .card{min-width:0}}@media(prefers-reduced-motion:reduce){.rail{transition:none}}@media(min-width:769px)and (pointer:fine)and (min-height:650px){#app .rail .nav-item{min-height:30px}.rail-scroll{gap:2px}.nav-item .nav-ic{border-radius:6px;flex-basis:20px;width:20px;height:20px}.nav-item .nav-ic .ic{flex-basis:14px;width:14px;height:14px}}@media(min-width:769px)and (pointer:fine)and (min-height:682px){#app .rail .nav-item{min-height:31px}}@media(min-width:769px)and (pointer:fine)and (min-height:714px){#app .rail .nav-item{min-height:33px}.rail-scroll{gap:6px}}@media(min-width:769px)and (pointer:fine)and (min-height:757px){#app .rail .nav-item{min-height:36px}.nav-item .nav-ic{border-radius:8px;flex-basis:24px;width:24px;height:24px}.nav-item .nav-ic .ic{flex-basis:16px;width:16px;height:16px}.rail-scroll{gap:10px}.nav-title{margin-bottom:4px}}@media(min-width:769px)and (pointer:fine)and (min-height:866px){#app .rail .nav-item{min-height:40px}.rail-scroll{gap:14px}.nav-group{gap:4px}}[v-cloak]{display:none!important}html,body{min-height:100%;overflow-x:clip}body{background:var(--paper,#f1f5f9);color:var(--ink,#1e293b);font-size:var(--fs-body,13px);line-height:var(--lh-body,1.6);font-family:var(--font-sans);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-font-smoothing:antialiased;padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);overflow-x:clip}img,svg,canvas,video{max-width:100%}.page-stack>*,.section-shell,.section-shell>*,.page-header>*,.section-head>*,.compact-action-bar>*,.compact-action-bar .action-left>*,.compact-action-bar .action-right>*,.toolbar-row>*,.daily-page-title-row>*,.daily-block-head>*,.student-card,.summary-tile,.stat-card{min-width:0}.glass-card{background:var(--card,#fff);border:.5px solid var(--hair,var(--line));border-radius:var(--r-card,12px)}.page-stack{gap:16px;display:grid}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.page-title{font-size:var(--fs-page-title,20px);font-weight:600;line-height:var(--lh-title,1.3);letter-spacing:0;margin:0}.page-kicker{max-width:80ch;font-size:var(--fs-meta,12px);color:var(--ink-3,var(--muted));margin-top:4px}.section-shell{border:1px solid var(--hair);border-radius:var(--r-card);background:var(--card);box-shadow:var(--ceramic)}.section-shell--soft{background:linear-gradient(#fffffffa,#f8fafcfa)}.workbench-entry-grid{grid-template-columns:minmax(260px,.78fr) minmax(360px,1.22fr);gap:16px;display:grid}.workbench-priority-panel,.workbench-capture-panel{background:var(--card,#fff);border:1px solid #94a3b847;border-radius:12px;padding:16px;box-shadow:0 1px 3px #0f172a0d}.workbench-priority-panel{background:linear-gradient(135deg,#f0f9ffe6,#fff 64%);border-color:#0e749029}.workbench-metric{background:var(--card,#fff);border:1px solid #bae6fdcc;border-radius:12px;min-width:0;padding:9px 10px}.workbench-metric span{color:var(--ink-3,#64748b);font-size:12px;display:block}.workbench-metric strong{color:var(--ink,#0f172a);margin-top:4px;font-size:16px;display:block}.workbench-type-row{scrollbar-width:none;gap:6px;display:flex;overflow-x:auto}.workbench-type-row::-webkit-scrollbar{display:none}.workbench-type-btn{border:1px solid var(--hair-strong,#e2e8f0);background:var(--card,#fff);color:var(--ink-2,#475569);border-radius:999px;flex-shrink:0;padding:5px 12px;font-size:12px}.workbench-type-btn.active{color:#0369a1;background:#e0f2fe;border-color:#0284c7;font-weight:600}.leave-time-presets{background:var(--sunken,#f8fafc);color:var(--ink-3,#64748b);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;padding:9px 12px;font-size:12px;display:flex}.leave-time-presets button{background:var(--card,#fff);color:var(--ink-2,#475569);border:1px solid #cbd5e1;border-radius:999px;padding:5px 12px}.leave-time-presets button.active{color:#1d4ed8;background:#dbeafe;border-color:#2563eb}.leave-analysis-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.leave-analysis-summary>div{background:var(--sunken,#f8fafc);border-radius:12px;min-width:0;padding:12px}.leave-analysis-summary span{color:var(--ink-3,#64748b);font-size:12px;display:block}.leave-analysis-summary strong{color:var(--ink,#0f172a);margin-top:5px;font-size:24px;line-height:1.1;display:inline-block}.leave-analysis-summary small{color:var(--ink-3,#64748b);margin-left:4px;font-size:12px}.leave-analysis-summary .is-warn{background:#fff1f2}.leave-analysis-summary .is-warn strong{color:#be123c}.leave-overdue-panel{background:#fff1f2;border:1px solid #fecdd3;border-radius:12px;padding:12px}.leave-analysis-breakdown{border:1px solid var(--hair-strong,#e2e8f0);border-radius:12px;padding:12px}.leave-breakdown-row{background:var(--sunken,#f8fafc);color:var(--ink-2,#475569);border-radius:8px;justify-content:space-between;padding:7px 10px;font-size:13px;display:flex}.leave-breakdown-row strong{color:var(--ink,#0f172a);font-weight:600}@media(max-width:900px){.workbench-entry-grid{grid-template-columns:1fr}.leave-analysis-summary{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.leave-analysis-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.panel-title{font-size:var(--fs-title-s,15px);color:var(--text-strong);margin:0;font-weight:700;line-height:1.3}.section-title{font-size:13px;font-weight:600;line-height:1.25}.section-note{color:var(--muted);font-size:12px}.toolbar-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.toolbar-row .toolbar-spacer{margin-left:auto}.compact-action-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.compact-action-bar .action-left,.compact-action-bar .action-right{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.leave-entry-card{overflow:visible}.leave-entry-header{border-bottom:1px solid var(--hair);justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.leave-entry-header .section-note{margin:3px 0 0}.leave-selected-status{border-radius:var(--radius-pill);background:var(--safe);flex:none}@supports (color:color-mix(in lab,red,red)){.leave-selected-status{background:color-mix(in srgb,var(--safe) 10%,transparent)}}.leave-selected-status{color:var(--ink-safe);padding:5px 10px;font-size:12px;font-weight:600}.leave-entry-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:14px;padding:16px 18px;display:grid}.leave-entry-section{border:1px solid var(--hair);border-radius:var(--radius-item);background:var(--sunken);min-width:0}@supports (color:color-mix(in lab,red,red)){.leave-entry-section{background:color-mix(in srgb,var(--sunken) 72%,var(--card))}}.leave-entry-section{padding:14px}.leave-entry-section--full{grid-column:1/-1}.leave-entry-section-head{align-items:flex-start;gap:9px;margin-bottom:12px;display:flex}.leave-entry-section-head h4,.leave-entry-section-head p{margin:0}.leave-entry-section-head h4{color:var(--ink);font-size:13px;font-weight:700;line-height:1.35}.leave-entry-section-head p{color:var(--ink-3);margin-top:2px;font-size:12px;line-height:1.45}.leave-step-badge{background:var(--safe);border-radius:8px;flex:0 0 24px;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.leave-step-badge{background:color-mix(in srgb,var(--safe) 10%,transparent)}}.leave-step-badge{color:var(--ink-safe);font-size:12px;font-weight:700}.leave-field-label{color:var(--ink-2);font-size:12px;font-weight:600;display:block}.leave-control{border:1px solid var(--ink);width:100%;min-height:44px;margin-top:5px}@supports (color:color-mix(in lab,red,red)){.leave-control{border:1px solid color-mix(in srgb,var(--ink) 18%,transparent)}}.leave-control{border-radius:var(--radius-control);background:var(--card);color:var(--ink-2);outline:none;padding:9px 11px;font-size:13px;font-weight:400;transition:border-color .14s,box-shadow .14s,background-color .14s}.leave-control:hover{border-color:var(--ink)}@supports (color:color-mix(in lab,red,red)){.leave-control:hover{border-color:color-mix(in srgb,var(--ink) 28%,transparent)}}.leave-control:focus-visible{border-color:var(--safe);box-shadow:0 0 0 3px var(--safe)}@supports (color:color-mix(in lab,red,red)){.leave-control:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--safe) 12%,transparent)}}.leave-search-wrap{position:relative}.leave-search-results{z-index:30;border:1px solid var(--hair);border-radius:var(--radius-control);background:var(--card);max-height:240px;box-shadow:var(--elev-3);margin:0;padding:5px;list-style:none;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.leave-search-option{width:100%;min-height:44px;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;display:flex}.leave-search-option:hover,.leave-search-option:focus-visible{background:var(--safe)}@supports (color:color-mix(in lab,red,red)){.leave-search-option:hover,.leave-search-option:focus-visible{background:color-mix(in srgb,var(--safe) 8%,transparent)}}.leave-search-option:hover,.leave-search-option:focus-visible{outline:none}.leave-search-option span{font-size:13px;font-weight:600}.leave-search-option small{color:var(--ink-3);white-space:nowrap;font-size:12px}.leave-student-summary,.leave-student-empty{border-radius:var(--radius-control);min-height:58px;margin-top:10px;padding:10px 12px}.leave-student-summary{border:1px solid var(--safe);justify-content:space-between;align-items:center;gap:14px;display:flex}@supports (color:color-mix(in lab,red,red)){.leave-student-summary{border:1px solid color-mix(in srgb,var(--safe) 18%,transparent)}}.leave-student-summary{background:var(--safe)}@supports (color:color-mix(in lab,red,red)){.leave-student-summary{background:color-mix(in srgb,var(--safe) 8%,var(--card))}}.leave-student-primary strong,.leave-student-primary span{display:block}.leave-student-primary strong{color:var(--ink);font-size:13px}.leave-student-primary span,.leave-dorm-text{color:var(--ink-3);margin-top:2px;font-size:12px}.leave-student-facts{justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.leave-identity-badge{border-radius:var(--radius-pill);flex:none;padding:4px 8px;font-size:12px;font-weight:700}.leave-identity-badge.is-boarding{background:var(--safe)}@supports (color:color-mix(in lab,red,red)){.leave-identity-badge.is-boarding{background:color-mix(in srgb,var(--safe) 11%,transparent)}}.leave-identity-badge.is-boarding{color:var(--ink-safe)}.leave-identity-badge.is-day{background:var(--blue)}@supports (color:color-mix(in lab,red,red)){.leave-identity-badge.is-day{background:color-mix(in srgb,var(--blue) 10%,transparent)}}.leave-identity-badge.is-day{color:var(--ink-blue)}.leave-dorm-text{overflow-wrap:anywhere;margin:0}.leave-student-empty{border:1px dashed var(--ink);align-items:center;display:flex}@supports (color:color-mix(in lab,red,red)){.leave-student-empty{border:1px dashed color-mix(in srgb,var(--ink) 18%,transparent)}}.leave-student-empty{background:var(--sunken);color:var(--ink-3);font-size:12px}.leave-entry-field-grid,.leave-entry-time-grid{gap:10px;display:grid}.leave-entry-field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.leave-slot-fieldset{border:0;min-width:0;margin:12px 0 0;padding:0}.leave-slot-fieldset legend{color:var(--ink-2);font-size:12px;font-weight:600}.leave-slot-fieldset legend span{color:var(--ink-3);margin-left:4px;font-size:12px;font-weight:400}.leave-slot-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:6px;display:grid}.leave-slot-button{border:1px solid var(--ink);flex-direction:column;justify-content:center;align-items:flex-start;min-width:0;min-height:50px;display:flex}@supports (color:color-mix(in lab,red,red)){.leave-slot-button{border:1px solid color-mix(in srgb,var(--ink) 15%,transparent)}}.leave-slot-button{background:var(--card);color:var(--ink-2);text-align:left;border-radius:12px;padding:6px 8px;transition:border-color .14s,background-color .14s,box-shadow .14s}.leave-slot-button strong{white-space:nowrap;font-size:12px;line-height:1.25}.leave-slot-button small{color:var(--ink-3);white-space:nowrap;margin-top:2px;font-size:12px;line-height:1.25}.leave-slot-button:hover:not(:disabled),.leave-slot-button:focus-visible:not(:disabled){border-color:var(--safe)}@supports (color:color-mix(in lab,red,red)){.leave-slot-button:hover:not(:disabled),.leave-slot-button:focus-visible:not(:disabled){border-color:color-mix(in srgb,var(--safe) 42%,transparent)}}.leave-slot-button:hover:not(:disabled),.leave-slot-button:focus-visible:not(:disabled){background:var(--safe)}@supports (color:color-mix(in lab,red,red)){.leave-slot-button:hover:not(:disabled),.leave-slot-button:focus-visible:not(:disabled){background:color-mix(in srgb,var(--safe) 8%,var(--card))}}.leave-slot-button:hover:not(:disabled),.leave-slot-button:focus-visible:not(:disabled){outline:none}.leave-slot-button.active{border-color:var(--safe);background:var(--safe)}@supports (color:color-mix(in lab,red,red)){.leave-slot-button.active{background:color-mix(in srgb,var(--safe) 10%,var(--card))}}.leave-slot-button.active{box-shadow:inset 0 0 0 1px var(--safe)}@supports (color:color-mix(in lab,red,red)){.leave-slot-button.active{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--safe) 8%,transparent)}}.leave-slot-button.active{color:var(--ink-safe)}.leave-slot-button:disabled{cursor:not-allowed;opacity:.46}.leave-entry-time-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(260px,1.45fr)}.leave-required,.leave-optional{margin-left:3px;font-size:12px;font-weight:500}.leave-required{color:var(--color-grade-alert)}.leave-optional{color:var(--ink-3)}.leave-entry-actions{justify-content:flex-end;align-items:center;gap:14px;padding:0 18px 16px;display:flex}.leave-entry-actions p{color:var(--ink-3);margin:0 auto 0 0;font-size:12px}.leave-entry-submit{border-radius:var(--radius-control);background:var(--safe);min-height:44px;box-shadow:0 5px 14px -8px var(--safe);border:0;flex:none}@supports (color:color-mix(in lab,red,red)){.leave-entry-submit{box-shadow:0 5px 14px -8px color-mix(in srgb,var(--safe) 72%,transparent)}}.leave-entry-submit{color:var(--live-ink);white-space:nowrap;padding:9px 16px;font-size:13px;font-weight:700}.leave-entry-submit:hover,.leave-entry-submit:focus-visible{background:var(--safe)}@supports (color:color-mix(in lab,red,red)){.leave-entry-submit:hover,.leave-entry-submit:focus-visible{background:color-mix(in srgb,var(--safe) 84%,var(--ink))}}.leave-entry-submit:hover,.leave-entry-submit:focus-visible{box-shadow:0 0 0 3px var(--safe),0 5px 14px -8px var(--safe);outline:none}@supports (color:color-mix(in lab,red,red)){.leave-entry-submit:hover,.leave-entry-submit:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--safe) 14%,transparent),0 5px 14px -8px color-mix(in srgb,var(--safe) 72%,transparent)}}.leave-entry-submit:active{transform:translateY(1px)}@media(max-width:1120px){.leave-entry-grid{grid-template-columns:1fr}.leave-entry-section--full{grid-column:auto}}@media(max-width:768px){.leave-entry-header,.leave-entry-actions,.leave-student-summary{flex-direction:column;align-items:stretch}.leave-entry-header,.leave-entry-grid,.leave-entry-actions{padding-left:12px;padding-right:12px}.leave-entry-grid{gap:10px;padding-top:12px;padding-bottom:12px}.leave-entry-section{padding:12px}.leave-entry-field-grid,.leave-entry-time-grid{grid-template-columns:1fr}.leave-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.leave-slot-button:last-child{grid-column:1/-1}.leave-student-facts{justify-content:flex-start}.leave-entry-submit{width:100%}}.summary-strip{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;display:grid}.summary-tile{background:var(--card,#fff);border:1px solid #94a3b824;border-radius:12px;padding:12px}.summary-tile label{color:var(--muted);font-size:12px;display:block}.summary-tile strong{color:var(--text);margin-top:4px;font-size:16px;display:block}.settings-nav{z-index:8;position:sticky;top:10px}.settings-anchor{scroll-margin-top:88px}.app-container{max-width:min(2200px,100vw - 12px);padding-bottom:max(8px,var(--safe-bottom))}.app-shell{min-height:calc(var(--vh-full,100vh) - 16px);align-items:stretch;grid-template-columns:var(--sidebar-width) minmax(0,1fr)!important}.app-shell.is-sidebar-hidden{grid-template-columns:minmax(0,1fr)!important}.screen-launch-btn{min-height:var(--hit-default);color:#0369a1;background:#e0f2fe99;border:1px solid #0ea5e959;border-radius:8px;justify-content:center;align-items:center;gap:6px;width:100%;margin-top:10px;padding:7px 12px;font-size:12px;font-weight:500;text-decoration:none;transition:background-color .15s,border-color .15s;display:flex}.screen-launch-btn:hover{background:#bae6fdcc;border-color:#0ea5e999}.class-chip{color:#475569;white-space:nowrap;background:#f8fafccc;border:1px solid #94a3b859;border-radius:999px;padding:4px 8px;font-size:12px;line-height:1}.sync-badge{border-radius:var(--radius-pill);white-space:nowrap;border:1px solid #0000;padding:4px 8px;font-size:12px;line-height:1.4}.sync-badge.is-ok{color:#0f766e;background:#ccfbf1a6;border-color:#14b8a647}.sync-badge.is-syncing{color:#0c4a6e;background:#e0f2febf;border-color:#0ea5e94d}.sync-badge.is-warn{color:#92400e;background:#fef3c7bf;border-color:#fbbf2466}.action-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.action-grid-danger{grid-template-columns:repeat(3,minmax(0,1fr))}.action-btn{background:var(--card,#fff);color:var(--ink-2,#334155);text-align:center;border:1px solid #0f172a1a;border-radius:8px;padding:6px;font-size:12px;line-height:1.1}.action-btn-primary{color:#fff;background:#0284c7;border-color:#0284c7}.action-btn-danger{color:#dc2626;border-color:#dc262640}.action-grid-top{align-items:start}.action-menu{position:relative}.action-menu summary{cursor:pointer;list-style:none}.action-menu summary::-webkit-details-marker{display:none}.action-menu[open]>summary{background:var(--sunken,#f8fafc);border-color:#0ea5e940}.action-menu-panel{z-index:12;background:var(--card,#fff);border:1px solid #94a3b84d;border-radius:12px;gap:6px;width:120px;padding:8px;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 24px -20px #0f172a73}.danger-zone{border:1px dashed #dc262659;border-radius:12px;padding:8px}.danger-summary{cursor:pointer;color:#b91c1c;-webkit-user-select:none;user-select:none;font-size:12px;list-style:none}.danger-summary::-webkit-details-marker{display:none}.nav-list{margin-top:8px}.nav-group{padding:8px 0 10px}.nav-group+.nav-group{border-top:1px solid #94a3b833}.nav-group-head{margin-bottom:6px;padding:0 6px}.nav-group-title{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:600;line-height:1.4}.nav-item{background:0 0;border:1px solid #0000;transition:border-color .18s,background-color .18s,color .18s;position:relative}.nav-item-row{min-height:var(--hit-default)}.nav-item:hover{background:#f8fafce0;border-color:#94a3b84d}.nav-icon{width:20px;height:20px;color:var(--ink-3,#64748b);flex:0 0 20px;justify-content:center;align-items:center;display:inline-flex}.nav-icon svg{width:16px;height:16px}.nav-icon path{stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.nav-item.active{color:#0b5fa5;background:#eaf6ff;border-color:#bfdbfe}.nav-item.active:before{content:"";background:#0ea5e9;border-radius:999px;width:3px;position:absolute;top:7px;bottom:7px;left:-1px}.nav-item.active .nav-icon{color:#0369a1}.nav-item:focus-visible{border-color:#0ea5e9cc;outline:none;box-shadow:0 0 0 3px #0ea5e933}.nav-label{letter-spacing:.01em;font-size:13px;line-height:1.4}.nav-meta{white-space:nowrap;border:1px solid #0000;border-radius:999px;padding:4px 7px;font-size:12px;line-height:1.4}.nav-meta.is-neutral{color:var(--ink-2,#475569);background:#94a3b829;border-color:#94a3b859}.nav-meta.is-warn{color:#92400e;background:#fbbf2433;border-color:#fbbf2459}.nav-meta.is-danger{color:#991b1b;background:#f871712e;border-color:#f8717159}.nav-item.active .nav-meta{color:#0369a1;background:#0ea5e926;border-color:#0ea5e94d}.stats-bar{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.stat-card{background:var(--card,#fff);border:.5px solid var(--line);border-radius:12px;padding:14px 16px}.stat-card-clickable{cursor:pointer;transition:transform .18s,box-shadow .18s,border-color .18s}.stat-card-clickable:hover{border-color:#0ea5e959;transform:translateY(-1px);box-shadow:0 8px 22px -18px #0284c7cc}.stat-label{color:var(--text-muted);font-size:12px}.stat-value{color:var(--ink,#0f172a);margin-top:4px;font-size:24px;font-weight:500;line-height:1.2}.stat-dual{gap:4px;margin-top:4px;display:grid}.stat-dual-line{justify-content:space-between;align-items:center;display:flex}.stat-dual-divider{background:#0f172a14;height:1px}.stat-dual-k{color:var(--ink-3,#64748b);font-size:12px}.stat-dual-v{color:var(--ink,#0f172a);font-size:22px;font-weight:600}.stat-badge{border-radius:999px;margin-top:8px;padding:2px 8px;font-size:12px;display:inline-flex}.stat-badge.up{color:#065f46;background:#d1fae5}.stat-badge.down{color:#991b1b;background:#fee2e2}.stat-badge.flat{color:#475569;background:#e2e8f0}.detail-mask{z-index:10000;background:#0f172a59;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.detail-card{background:var(--card,#fff);border:1px solid #0f172a14;border-radius:12px;width:min(720px,100%);max-height:min(78vh,680px);padding:14px 16px;overflow:auto;box-shadow:0 24px 48px -26px #0206178c}.detail-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.detail-head h3{font-size:var(--fs-title-s,15px);color:var(--ink,#0f172a);font-weight:500}.detail-close{color:var(--ink-2,#334155);background:var(--card,#fff);border:1px solid #0f172a1f;border-radius:8px;padding:4px 10px;font-size:12px}.detail-list{gap:6px;display:grid}.detail-list p{color:var(--ink,#1e293b);background:var(--sunken,#f8fafc);border:1px solid #0f172a0f;border-radius:8px;padding:6px 8px;font-size:13px}.table-scroll{max-height:calc(var(--vh-full,100vh) - 320px);background:var(--card,#fff);border:.5px solid #0f172a14;border-radius:12px;overflow:auto}.table-scroll table{min-width:max-content}.table-scroll thead th{z-index:3;background:var(--sunken,#f8fafc);position:sticky;top:0}.table-scroll tbody tr:hover td{background:var(--paper-deep,#f1f5f9)}.table-scroll th,.table-scroll td{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.table-scroll td{max-width:320px}.pwa-install-toast{left:12px;bottom:calc(12px + var(--safe-bottom));z-index:35;color:#f8fafc;background:#0f172af0;border:1px solid #94a3b852;border-radius:12px;align-items:center;gap:8px;max-width:min(92vw,420px);padding:9px 10px;font-size:12px;display:flex;position:fixed;box-shadow:0 12px 28px -22px #0f172a9e}.pwa-install-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.pwa-install-btn,.pwa-install-close{border:1px solid #94a3b873;border-radius:8px;padding:4px 8px;font-size:12px;line-height:1.15}.pwa-install-btn{color:#052e16;background:#22c55e;border-color:#22c55e;font-weight:600}.pwa-install-close{color:#e2e8f0;background:0 0}.daily-page-head{background:var(--card);border:1px solid var(--hair);border-radius:var(--r-card);box-shadow:var(--ceramic);transition:all .2s var(--ease);padding:18px 22px;overflow:visible}.daily-page-title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.daily-meta-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:14px;display:grid}.daily-meta-field{flex-direction:column;gap:4px;display:flex}.daily-meta-label{color:var(--ink-3);align-items:center;gap:4px;font-size:12px;font-weight:600;display:flex}.daily-meta-input{border:1px solid var(--hair);background:var(--sunken);width:100%;height:38px;color:var(--ink);border-radius:12px;outline:none;padding:0 12px;font-size:13px;transition:all .16s}.daily-meta-input:focus{border-color:var(--solid-bg);background:var(--card);box-shadow:0 0 0 3px rgba(var(--shadow-rgb),.08)}.daily-top-tabs{background:var(--sunken);border:1px solid var(--hair);scrollbar-width:none;border-radius:12px;align-items:center;gap:8px;margin-top:16px;padding:4px;display:flex;overflow-x:auto}.daily-top-tabs::-webkit-scrollbar{display:none}.daily-top-tab{color:var(--ink-3);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:12px;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:600;transition:all .16s;display:inline-flex}.daily-top-tab:hover{color:var(--ink);background:rgba(var(--shadow-rgb),.04)}.daily-top-tab.active{background:var(--card);color:var(--ink);box-shadow:0 2px 8px rgba(var(--shadow-rgb),.12)}.daily-top-tab-badge{color:#dc2626;background:#dc26261f;border-radius:999px;padding:2px 7px;font-size:12px;font-weight:700;line-height:1}.daily-top-tab-badge.is-neutral{background:rgba(var(--shadow-rgb),.12);color:var(--ink-2)}.daily-top-tab-badge.is-warn{color:#d97706;background:#d9770626}.daily-block-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;margin-bottom:12px;display:flex}.daily-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.daily-toolbar-check{white-space:nowrap;color:var(--ink-2);margin-left:0;font-size:13px}.daily-display-desk{border:1px solid var(--hair);background:linear-gradient(135deg,var(--card),var(--sunken));box-shadow:var(--ceramic);border-radius:12px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;margin:14px 0;padding:14px 16px;display:grid}.daily-display-desk-kicker{color:var(--ink-4);letter-spacing:.08em;font-size:12px;font-weight:700}.daily-display-desk-title{color:var(--ink);margin-top:2px;font-size:13px;font-weight:700}.daily-display-desk-help{color:var(--ink-4);margin:3px 0 0;font-size:12px;line-height:1.5}.daily-display-desk-stats{color:var(--ink-3);white-space:nowrap;gap:8px;font-size:12px;display:flex}.daily-display-desk-stats span{background:var(--card);border:1px solid var(--hair);border-radius:999px;padding:5px 8px}.daily-display-desk-stats strong{color:var(--ink);font-variant-numeric:tabular-nums}.daily-display-desk-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.daily-display-preview-card{max-width:760px}.daily-display-check-card{border:1px solid var(--hair);background:var(--sunken);color:var(--ink-3);border-radius:12px;flex-wrap:wrap;gap:8px 14px;margin-bottom:12px;padding:10px 12px;font-size:12px;display:flex}.daily-display-check-pass{color:var(--color-attend-safe);font-weight:700}.daily-display-check-info{color:var(--ink-4);font-weight:700}.daily-display-preview-list{gap:7px;display:grid}.daily-display-preview-row{border:1px solid var(--hair);background:var(--card);cursor:pointer;border-radius:12px;grid-template-columns:18px minmax(0,1fr) auto;align-items:start;gap:10px;padding:10px;display:grid}.daily-display-preview-row.is-blocked,.daily-display-preview-row.is-published{cursor:default;background:var(--sunken)}.daily-display-preview-state{color:var(--ink-4);white-space:nowrap;font-size:12px;line-height:18px}.daily-display-preview-main{gap:2px;min-width:0;display:grid}.daily-display-preview-main strong{color:var(--ink);font-size:12px}.daily-display-preview-main span{color:var(--ink-2);overflow-wrap:anywhere;font-size:12px;line-height:1.5}.daily-display-preview-main small{color:var(--ink-4);font-size:12px;line-height:1.45}.daily-display-preview-status{white-space:nowrap;padding-top:1px;font-size:12px;font-weight:700}.daily-display-preview-status.is-ready{color:var(--color-attend-safe)}.daily-display-preview-status.is-published{color:var(--now-bar)}.daily-display-preview-status.is-blocked{color:var(--ink-4)}.daily-display-preview-empty{border:1px dashed var(--hair);color:var(--ink-4);text-align:center;border-radius:12px;padding:22px 12px;font-size:12px}.daily-display-preview-actions{border-top:1px solid var(--hair);flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;padding-top:12px;display:flex}.daily-display-select-all,.daily-display-selected-count{color:var(--ink-3);font-size:12px}@media(max-width:760px){.daily-display-desk{grid-template-columns:1fr;gap:10px}.daily-display-desk-actions{justify-content:flex-start}.daily-display-preview-row{grid-template-columns:18px minmax(0,1fr)}.daily-display-preview-status{grid-column:2}.daily-display-preview-actions>.ml-auto{justify-content:flex-end;width:100%}}.daily-paper-table-shell{max-width:100%;overflow:clip}.daily-paper-grid{border:1px solid var(--hair);background:var(--card);box-shadow:var(--ceramic);border-radius:12px;grid-template-columns:170px minmax(0,1fr);display:grid;overflow:clip}.daily-paper-fixed-table{border-collapse:collapse;border-right:1px solid var(--hair);background:var(--sunken);width:170px;min-width:170px}.daily-paper-fixed-table thead th{background:var(--sunken);color:var(--ink-2);font-size:12px;font-weight:600}.daily-paper-fixed-cell{border-bottom:1px solid var(--hair);vertical-align:middle;height:42px;min-height:42px;padding:6px 10px}.daily-paper-fixed-cell--module{color:var(--ink-3);width:74px;font-size:12px;font-weight:600}.daily-paper-fixed-cell--category{color:var(--ink);width:96px;font-size:12px;font-weight:600}.daily-paper-scroll-col{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;min-width:0;overflow:auto hidden}.daily-paper-scroll-table{border-collapse:collapse;width:max-content;min-width:max-content}.daily-paper-scroll-table thead th{background:var(--sunken);border-bottom:1px solid var(--hair);padding:8px 10px;font-size:12px;font-weight:700}.daily-paper-scroll-row{border-bottom:1px solid var(--hair)}.daily-paper-scroll-row:last-child{border-bottom:none}.daily-paper-period-cell{border-right:1px solid var(--hair);vertical-align:middle;width:116px;min-width:116px;height:42px;min-height:42px;padding:4px 6px}.daily-paper-period-cell input{background:var(--sunken);width:100%;height:32px;color:var(--ink);border:1px solid #0000;border-radius:8px;outline:none;padding:0 8px;font-size:13px;transition:all .15s}.daily-paper-period-cell input:hover{background:var(--card);border-color:var(--hair-strong)}.daily-paper-period-cell input:focus{background:var(--card);border-color:var(--now-bar);box-shadow:0 0 0 2px #2563eb26}.daily-paper-scroll-table thead .daily-paper-period-cell{font-size:12px;font-weight:600}.profile-dossier-wrapper{flex-direction:column;gap:16px;display:flex}.profile-top-toolbar{background:var(--card);border:1px solid var(--hair);box-shadow:var(--ceramic);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.profile-dossier-grid{grid-template-columns:290px minmax(0,1fr) 310px;align-items:start;gap:16px;display:grid}@media(max-width:1260px){.profile-dossier-grid{grid-template-columns:280px minmax(0,1fr)}.profile-col-right{grid-column:1/-1}}@media(max-width:860px){.profile-dossier-grid{grid-template-columns:1fr}.profile-col-right{grid-column:auto}}.profile-col{flex-direction:column;gap:16px;display:flex}.profile-bento-card{background:var(--card);border:1px solid var(--hair);box-shadow:var(--ceramic);border-radius:12px;padding:16px;transition:transform .2s,box-shadow .2s;position:relative}.profile-bento-card:hover{box-shadow:0 6px 20px rgba(var(--shadow-rgb),.08)}.profile-card-head{border-bottom:1px dashed var(--hair);cursor:pointer;justify-content:space-between;align-items:center;gap:8px;min-height:44px;margin-bottom:12px;padding-bottom:8px;list-style:none;display:flex}.profile-card-head::-webkit-details-marker{display:none}.profile-card-head:before{content:"▾";color:var(--ink-4);margin-right:6px;font-size:12px;transition:transform .15s;display:inline-block}.profile-fold-section:not([open])>.profile-card-head:before{transform:rotate(-90deg)}.profile-fold-section:not([open])>:not(.profile-card-head){display:none}.profile-card-reveal-btn{white-space:nowrap;min-width:44px;min-height:44px}.profile-card-title{color:var(--ink);align-items:center;gap:6px;margin:0;font-size:13px;font-weight:700;display:flex}.profile-avatar-hero{text-align:center;flex-direction:column;align-items:center;padding:8px 0 12px;display:flex}.profile-avatar-disc{color:#fff;width:80px;height:80px;box-shadow:0 8px 22px rgba(var(--shadow-rgb),.18);border-radius:999px;justify-content:center;align-items:center;margin-bottom:10px;font-size:30px;font-weight:800;display:flex;position:relative}.profile-avatar-gender-tag{background:var(--card);border:1.5px solid var(--hair);width:24px;height:24px;box-shadow:0 2px 6px rgba(var(--shadow-rgb),.12);border-radius:50%;justify-content:center;align-items:center;font-size:12px;display:flex;position:absolute;bottom:-4px;right:-4px}.profile-stat-pill-grid{grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;display:grid}.profile-stat-pill{background:var(--sunken);border:1px solid var(--hair);text-align:center;border-radius:12px;padding:8px 10px}.profile-stat-pill strong{font-variant-numeric:tabular-nums;color:var(--ink);font-size:16px;font-weight:700;line-height:1.2;display:block}.profile-stat-pill span{color:var(--ink-4);font-size:12px}.profile-radar-container{flex-direction:column;justify-content:center;align-items:center;padding:6px 0;display:flex}.profile-growth-box{background:var(--card)}@supports (color:color-mix(in lab,red,red)){.profile-growth-box{background:color-mix(in srgb,var(--card) 92%,#eff6ff)}}.profile-growth-box{border:1px solid #2563eb33;border-radius:12px;padding:12px 14px}.profile-stream-item{border-bottom:1px solid var(--hair);gap:10px;padding:9px 0;font-size:12px;display:flex}.profile-stream-item:last-child{border-bottom:none}.daily-paper-scroll-table .daily-paper-period-cell:last-child{border-right:none}.schedule-calendar-wrapper{flex-direction:column;gap:16px;width:100%;display:flex}.schedule-top-toolbar{background:var(--card);border:1px solid var(--hair);box-shadow:0 2px 8px rgba(var(--shadow-rgb),.04);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.schedule-view-pill-group{background:var(--sunken);border:1px solid var(--hair);border-radius:12px;align-items:center;gap:2px;padding:3px;display:inline-flex}.schedule-view-pill-btn{color:var(--ink-3);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px 14px;font-size:13px;font-weight:600;transition:all .15s}.schedule-view-pill-btn.is-active{background:var(--card);color:var(--ink);box-shadow:0 2px 6px rgba(var(--shadow-rgb),.08)}.schedule-week-container{background:var(--card);border:1px solid var(--hair);max-height:calc(var(--dvh-full,100dvh) - 196px);overscroll-behavior:contain;scrollbar-gutter:stable;box-shadow:0 4px 16px rgba(var(--shadow-rgb),.05);border-radius:12px;position:relative;overflow:auto}.schedule-scope-bar{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:6px 14px;padding:0 4px;font-size:12px;display:flex}.schedule-scope-primary{color:var(--ink);font-weight:700}.schedule-scope-warning{color:var(--color-grade-alert);font-weight:700}.schedule-week-grid{border-collapse:collapse;grid-template-columns:120px repeat(5,minmax(130px,1fr));width:100%;min-width:770px;display:grid}.schedule-week-grid-7cols{grid-template-columns:120px repeat(7,minmax(120px,1fr));min-width:960px}.schedule-grid-header-cell{background:var(--sunken);text-align:center;border-bottom:1px solid var(--hair);border-right:1px solid var(--hair);z-index:6;padding:12px 10px;position:sticky;top:0}.schedule-grid-header-cell:first-child{z-index:8;left:0}.schedule-grid-header-cell:last-child{border-right:none}.schedule-grid-header-day{color:var(--ink);font-size:13px;font-weight:700}.schedule-grid-header-date{color:var(--ink-4);font-variant-numeric:tabular-nums;margin-top:2px;font-size:12px}.schedule-grid-header-cell.is-today{background:var(--now-bar)}@supports (color:color-mix(in lab,red,red)){.schedule-grid-header-cell.is-today{background:color-mix(in srgb,var(--now-bar) 10%,var(--sunken))}}.schedule-grid-header-cell.is-today .schedule-grid-header-day{color:var(--now-bar)}.schedule-grid-time-col{background:var(--sunken);border-bottom:1px solid var(--hair);border-right:1px solid var(--hair);text-align:center;z-index:4;flex-direction:column;justify-content:center;align-items:center;padding:10px 8px;display:flex;position:sticky;left:0}.schedule-grid-time-col.is-unmapped{background:var(--color-grade-alert)}@supports (color:color-mix(in lab,red,red)){.schedule-grid-time-col.is-unmapped{background:color-mix(in srgb,var(--color-grade-alert) 8%,var(--sunken))}}.schedule-grid-time-col.is-unmapped .schedule-grid-time-range{color:var(--color-grade-alert);font-weight:700}.schedule-grid-time-period{color:var(--ink);font-size:13px;font-weight:700}.schedule-grid-time-range{font-variant-numeric:tabular-nums;color:var(--ink-4);margin-top:2px;font-size:12px}.schedule-grid-time-session{border:1px solid var(--hair);border-radius:var(--r-pill);color:var(--ink-4);background:var(--card);margin-top:5px;padding:1px 6px;font-size:12px;font-weight:700;line-height:1.4}.schedule-grid-content-cell{border-bottom:1px solid var(--hair);border-right:1px solid var(--hair);background:var(--card);min-height:86px;padding:6px;transition:background-color .15s;position:relative}.schedule-grid-content-cell:last-child{border-right:none}.schedule-grid-content-cell:hover{background:var(--sunken)}@supports (color:color-mix(in lab,red,red)){.schedule-grid-content-cell:hover{background:color-mix(in srgb,var(--sunken) 50%,var(--card))}}.schedule-grid-content-cell.is-break{background:repeating-linear-gradient(45deg,var(--sunken),var(--sunken) 8px,transparent 8px,transparent 16px);color:var(--ink-4);justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}.schedule-course-card{cursor:pointer;border:1px solid #0000;border-radius:12px;flex-direction:column;justify-content:space-between;height:100%;padding:8px 10px;transition:transform .15s,box-shadow .15s;display:flex;position:relative}.schedule-course-card:hover{box-shadow:0 4px 12px rgba(var(--shadow-rgb),.1);transform:translateY(-2px)}.schedule-course-card.is-live{border-color:var(--now-bar);box-shadow:0 0 0 2px #2563eb40}.schedule-course-card-top{justify-content:space-between;align-items:flex-start;gap:4px;display:flex}.schedule-course-subject{font-size:13px;font-weight:700;line-height:1.2}.schedule-course-teacher{opacity:.85;margin-top:3px;font-size:12px;font-weight:500}.schedule-course-card-bottom{justify-content:space-between;align-items:center;margin-top:6px;font-size:12px;display:flex}.schedule-course-room{font-variant-numeric:tabular-nums;opacity:.8;align-items:center;gap:2px;font-size:12px;display:flex}.schedule-live-dot{background:#dc2626;border-radius:50%;width:6px;height:6px;animation:1.5s infinite pulse-live;display:inline-block}@keyframes pulse-live{0%{opacity:.8;transform:scale(.9)}50%{opacity:1;transform:scale(1.3)}to{opacity:.8;transform:scale(.9)}}.course-color-chinese{color:#1e40af;background:#eff6ff;border-color:#bfdbfe}.course-color-math{color:#3730a3;background:#eef2ff;border-color:#c7d2fe}.course-color-english{color:#6b21a8;background:#faf5ff;border-color:#e9d5ff}.course-color-physics{color:#065f46;background:#ecfdf5;border-color:#a7f3d0}.course-color-chemistry{color:#92400e;background:#fffbeb;border-color:#fde68a}.course-color-biology{color:#9f1239;background:#fff1f2;border-color:#fecdd3}.course-color-politics{color:#831843;background:#fdf2f8;border-color:#fbcfe8}.course-color-history{color:#713f12;background:#fefce8;border-color:#fef08a}.course-color-geography{color:#115e59;background:#f0fdfa;border-color:#99f6e4}.course-color-pe{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.course-color-art{color:#5b21b6;background:#f5f3ff;border-color:#ddd6fe}.course-color-self{background:var(--sunken);border-color:var(--hair);color:var(--ink-2)}.course-color-default{background:var(--sunken);border-color:var(--hair);color:var(--ink)}.schedule-day-stream{flex-direction:column;gap:10px;display:flex}.schedule-day-stream-card{background:var(--card);border:1px solid var(--hair);border-radius:12px;align-items:center;gap:16px;padding:14px 18px;transition:all .15s;display:flex}.schedule-day-stream-card:hover{border-color:var(--hair-strong);box-shadow:0 4px 12px rgba(var(--shadow-rgb),.05)}.schedule-day-stream-card.is-live{border-color:var(--now-bar);background:var(--now-bar)}@supports (color:color-mix(in lab,red,red)){.schedule-day-stream-card.is-live{background:color-mix(in srgb,var(--now-bar) 4%,var(--card))}}.schedule-week-scroll-hint{display:none}.daily-manual-card{background:var(--sunken);border:1px dashed var(--hair-strong);border-radius:12px;padding:14px 18px}.daily-result-strip{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:14px 0;display:grid}.daily-result-stat{border:1px solid var(--hair);border-radius:var(--r-card);background:var(--card);box-shadow:var(--ceramic);flex-direction:column;gap:4px;padding:14px 16px;transition:all .2s;display:flex}.daily-result-stat:hover{box-shadow:var(--ceramic-lift);transform:translateY(-1px)}.daily-result-stat.pending{background:var(--card);border-left:4px solid #d97706}@supports (color:color-mix(in lab,red,red)){.daily-result-stat.pending{background:color-mix(in srgb,var(--card) 95%,#fef3c7)}}.daily-result-stat.normal{background:var(--card);border-left:4px solid #059669}@supports (color:color-mix(in lab,red,red)){.daily-result-stat.normal{background:color-mix(in srgb,var(--card) 95%,#d1fae5)}}.daily-result-stat.total{border-left:4px solid var(--now-bar);background:var(--card)}@supports (color:color-mix(in lab,red,red)){.daily-result-stat.total{background:color-mix(in srgb,var(--card) 95%,#e0f2fe)}}.daily-result-stat label{color:var(--ink-3);justify-content:space-between;align-items:center;font-size:12px;font-weight:600;display:flex}.daily-result-stat strong{color:var(--ink);font-variant-numeric:tabular-nums;margin-top:2px;font-size:22px;font-weight:700;line-height:1.2;display:block}.daily-result-stat span{color:var(--ink-4);margin-top:2px;font-size:12px;display:block}.student-grid{border:.5px solid #0f172a0f;border-radius:12px;overflow:hidden}.student-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;display:grid}.student-card{background:var(--card,#fff);cursor:pointer;border:.5px solid #0f172a14;border-radius:12px;gap:8px;padding:10px;transition:transform .16s,box-shadow .16s,border-color .16s;display:grid}.student-card:hover{border-color:#0ea5e959;transform:translateY(-1px);box-shadow:0 10px 24px -20px #0284c7d9}.student-card-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.student-card-name{align-items:center;gap:8px;min-width:0;display:flex}.student-card-title{color:var(--ink,#0f172a);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.student-card-index{color:var(--text-muted);font-size:12px}.student-card-tags{flex-wrap:wrap;gap:4px;display:flex}.student-card-tag{border-radius:999px;padding:1px 7px;font-size:12px;display:inline-flex}.student-card-stats{grid-template-columns:1fr 1fr;gap:8px;display:grid}.student-card-stat{background:var(--sunken,#f8fafc);border:1px solid #0f172a0f;border-radius:8px;padding:6px 8px}.student-card-stat label{color:var(--text-muted);font-size:12px;display:block}.student-card-stat strong{color:var(--ink,#0f172a);font-size:16px}.student-row{border-bottom:.5px solid #0f172a0f;grid-template-columns:28px 1fr 70px 70px 80px;align-items:center;gap:8px;padding:8px 10px;display:grid}.student-row:last-child{border:none}.student-row-clickable{cursor:pointer;transition:background-color .2s}.student-row-clickable:hover{background:#eef6ff}.student-row:nth-child(odd){background:var(--sunken,#f8fafc)}.avatar-dot{width:26px;height:26px;color:var(--ink,#0f172a);border-radius:999px;justify-content:center;align-items:center;font-size:12px;display:inline-flex}.score-cell{text-align:right;font-weight:500}.progress-track{background:#e2e8f0;border-radius:8px;height:4px;overflow:hidden}.progress-fill{background:#0ea5e9;border-radius:8px;height:100%}.student-editor-card{width:min(980px,100%);max-height:min(86vh,860px)}@media(max-width:1100px){.app-shell{grid-template-columns:1fr!important}.stats-bar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:769px)and (max-width:1280px){#app{padding:0!important}}@media(max-width:1280px){.table-scroll{max-height:calc(var(--vh-full,100vh) - 300px)}}@media(min-width:1680px){.app-container{max-width:min(2360px,100vw - 16px)}.table-scroll{max-height:calc(var(--vh-full,100vh) - 260px)}.student-row{grid-template-columns:36px 1fr 88px 88px 110px;padding:9px 12px}}@media(max-width:1024px){.app-shell{min-height:auto;grid-template-columns:1fr!important}.stats-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.table-scroll{max-height:calc(var(--vh-full,100vh) - 340px)}.table-scroll td{max-width:220px}.daily-result-strip{grid-template-columns:1fr}.daily-toolbar-check{margin-left:0}}@media(max-width:640px){#app{padding-top:8px!important;padding-right:8px!important;padding-bottom:calc(64px + var(--safe-bottom))!important;padding-left:8px!important}.app-container{max-width:100vw;padding-bottom:calc(64px + var(--safe-bottom))}.app-shell{gap:var(--mobile-gap)!important}.glass-card{border-radius:var(--mobile-radius)}.glass-card.p-3,.glass-card.p-4,.glass-card.p-6{padding:11px!important}.action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.action-grid-top{grid-template-columns:repeat(3,minmax(0,1fr))}.action-btn{min-height:var(--hit-default);padding:8px 6px;font-size:12px}.class-chip{padding:3px 8px;font-size:12px}.action-menu-panel{width:132px;right:-6px}.daily-page-title-row{align-items:flex-start}.daily-top-tabs{gap:6px}.daily-top-tab{padding:8px 10px}.pwa-install-toast{left:max(8px,var(--safe-left));right:max(8px,var(--safe-right));bottom:calc(8px + var(--safe-bottom));justify-content:space-between;gap:8px;min-height:40px;padding:8px 9px}.pwa-install-toast>span{white-space:nowrap;text-overflow:ellipsis;min-width:0;max-width:48vw;overflow:hidden}.detail-mask{align-items:flex-end;padding:8px}.detail-card{width:100%;max-height:min(88dvh,calc(var(--dvh-full,100dvh) - 20px - var(--safe-bottom)));border-radius:12px;padding:10px 12px}.detail-head{z-index:4;background:var(--card,#fff);margin-bottom:8px;padding:2px 0 8px;position:sticky;top:-10px}.detail-head h3{font-size:16px}.stats-bar{grid-template-columns:1fr}.table-scroll{max-height:min(58dvh,calc(var(--dvh-full,100dvh) - 250px));-webkit-overflow-scrolling:touch;border-radius:12px}.table-scroll th,.table-scroll td{font-size:12px;padding:7px 8px!important}.table-scroll td{max-width:140px}.student-row{grid-template-columns:24px 1fr 56px 56px 70px;gap:6px;padding:7px 8px}.student-cards{grid-template-columns:1fr}input,select,textarea,button{font-size:13px}.grid.grid-cols-2,.grid.grid-cols-3,.grid.grid-cols-4,.grid.grid-cols-5,.grid.grid-cols-6{grid-template-columns:1fr!important}.summary-tile,.stat-card,.daily-result-stat,.student-card-stat{padding:10px}.student-card-stats{grid-template-columns:1fr}.page-header>.rounded-2xl,.daily-page-head,.detail-card,.section-shell{box-sizing:border-box;width:100%;max-width:100%}}@media(max-width:768px){html,body{min-height:var(--dvh-full,100dvh);-webkit-overflow-scrolling:touch;overscroll-behavior-x:none;overflow:clip auto}body{background:linear-gradient(#f8fafc,#f1f5f9);font-size:13px;line-height:1.45}.page-title{font-size:16px;line-height:1.25}.page-kicker{font-size:12px}#app{padding-top:max(7px,var(--safe-top))!important;padding-right:max(7px,var(--safe-right))!important;padding-bottom:calc(64px + var(--safe-bottom))!important;padding-left:max(7px,var(--safe-left))!important}.app-container{max-width:100vw;padding-bottom:calc(64px + var(--safe-bottom));margin:0}.app-shell{gap:8px!important;min-height:auto!important}.app-shell>main.grid{grid-template-columns:minmax(0,1fr);min-width:0;min-height:auto;overflow:visible;gap:8px!important}.app-shell:not(.is-sidebar-hidden)>main.grid{display:none!important}.app-shell>main.grid>section.glass-card{overscroll-behavior:auto;-webkit-overflow-scrolling:auto;box-sizing:border-box;width:100%;min-width:0;min-height:auto;max-height:none;overflow:visible}.app-shell>main.grid>section.glass-card>:last-child{padding-bottom:max(6px,var(--safe-bottom))}.auth-loading-card,.login-panel{border-radius:12px;margin-top:12px!important}.table-scroll,.daily-paper-scroll-col,.overflow-x-auto,.toolbar-row,.daily-top-tabs{-webkit-overflow-scrolling:touch}.daily-paper-table-shell,.daily-paper-grid{overflow:visible}.daily-paper-scroll-col{overscroll-behavior-x:contain;touch-action:auto;-webkit-overflow-scrolling:touch;overflow:scroll hidden}.table-scroll{touch-action:auto;overscroll-behavior-x:contain;overflow:scroll auto}.overflow-x-auto{overscroll-behavior-x:contain;touch-action:auto;scrollbar-width:none;overflow:scroll hidden}.overflow-x-auto::-webkit-scrollbar{display:none}.toolbar-row,.daily-top-tabs{touch-action:auto}.page-stack,.section-shell,.section-shell>*,.app-container,#app{min-height:0}.glass-card.p-3,.glass-card.p-4,.glass-card.p-6{padding:10px!important}.page-stack{gap:9px}.section-head{margin-bottom:7px}.compact-action-bar,.toolbar-row{gap:6px}input,select,textarea,button{font-size:13px}input,select,textarea{min-height:var(--hit-default);border-radius:12px;padding-top:7px;padding-bottom:7px}.grid[class*="md:grid-cols"],.grid[class*="lg:grid-cols"]{grid-template-columns:1fr!important}.grid.grid-cols-2[class*="md:grid-cols"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}.compact-action-bar,.toolbar-row,.daily-block-head,.daily-page-title-row,.page-header,.section-head{align-items:stretch}.compact-action-bar .action-left,.compact-action-bar .action-right,.toolbar-row .toolbar-spacer,.page-header>*,.section-head>*{width:100%;margin-left:0}.toolbar-row>*,.compact-action-bar .action-left>*,.compact-action-bar .action-right>*,.page-header>*,.section-head>*{max-width:100%}.toolbar-row{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:auto;scrollbar-width:none;flex-wrap:nowrap;padding-bottom:2px;overflow:scroll hidden}.toolbar-row::-webkit-scrollbar{display:none}.toolbar-row.text-sm,.section-shell.settings-nav .toolbar-row,.daily-top-tabs{white-space:nowrap;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:auto;scrollbar-width:none;flex-wrap:nowrap;overflow:scroll hidden}.toolbar-row.text-sm::-webkit-scrollbar{display:none}.section-shell.settings-nav .toolbar-row::-webkit-scrollbar{display:none}.daily-top-tabs::-webkit-scrollbar{display:none}.section-shell.settings-nav .toolbar-row>*,.daily-top-tabs>*{white-space:nowrap;flex:none}.section-shell,.daily-paper-shell,.daily-manual-card,.daily-page-head{border-radius:12px}.table-scroll table{min-width:860px}.table-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:none;max-height:none;overflow:scroll visible}.table-scroll::-webkit-scrollbar{display:none}.table-scroll>table{min-width:max-content}.table-scroll th,.table-scroll td{white-space:nowrap;vertical-align:top}.table-scroll td>.flex,.table-scroll td>.flex.flex-wrap,.table-scroll td>div.flex{min-width:max-content}.student-row,.student-card,.summary-tile,.stat-card,.daily-result-stat,.table-scroll,.detail-card{aspect-ratio:auto}.detail-card{width:min(100%,100vw - 12px);margin:0 auto}.action-grid,.action-grid-top{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:auto;scrollbar-width:none;grid-auto-columns:minmax(120px,1fr);grid-auto-flow:column;overflow:scroll hidden}.action-grid::-webkit-scrollbar{display:none}.action-grid-top::-webkit-scrollbar{display:none}.action-btn{white-space:nowrap}.page-header,.section-head,.compact-action-bar{align-items:flex-start}.summary-strip{grid-template-columns:1fr}}html.is-standalone-pwa body,body.is-standalone-pwa{background:radial-gradient(circle at top,#3b82f614,#0000 40%),linear-gradient(#f8fbff,#eef4fb)}@media(max-width:768px){html.is-standalone-pwa #app,body.is-standalone-pwa #app{padding-top:max(12px,calc(var(--safe-top) + 6px))!important;padding-bottom:calc(72px + var(--safe-bottom))!important}html.is-standalone-pwa .app-container,body.is-standalone-pwa .app-container{padding-bottom:calc(72px + var(--safe-bottom))}html.is-standalone-pwa .pwa-install-toast,body.is-standalone-pwa .pwa-install-toast{bottom:calc(72px + var(--safe-bottom))}html.is-standalone-pwa .detail-card,body.is-standalone-pwa .detail-card{max-height:min(86dvh,calc(var(--dvh-full,100dvh) - 26px - var(--safe-bottom)))}}@media(max-width:380px){.pwa-install-btn,.pwa-install-close{padding:4px 6px;font-size:12px}}.screen-launch-btn svg{flex-shrink:0;width:14px;height:14px}@media(max-width:768px){.pwa-install-toast{right:max(12px,var(--safe-right));bottom:calc(64px + var(--safe-bottom))}.app-shell>aside.sidebar{display:none!important}.app-shell{grid-template-columns:minmax(0,1fr)!important}.app-shell:not(.is-sidebar-hidden)>main.grid{display:grid!important}}.mbn-item{color:var(--text-muted);letter-spacing:.01em;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:manipulation;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;min-height:56px;padding:6px 2px;font-size:12px;line-height:1.3;transition:color .16s;display:flex;position:relative}.mbn-badge{color:#fff;background:#ef4444;border-radius:999px;min-width:16px;height:16px;padding:0 4px;font-size:12px;font-weight:700;line-height:16px;position:absolute;top:4px;right:calc(50% - 18px)}.mbn-item.is-active{color:var(--nav-accent,#0284c7)}.mbn-item:not(.is-active):active{color:var(--ink-2,#475569)}.mbn-icon{flex-shrink:0;width:22px;height:22px;display:block}.mbn-icon:not(.app-icon) path{stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;fill:none}.mbn-item.is-active .mbn-icon{position:relative}@media(max-width:768px){input,select,textarea{font-size:16px!important}select option{font-size:16px}.toolbar-row>*,.toolbar-row>button,.toolbar-row>a,.toolbar-row>label{white-space:nowrap;flex:none;min-width:max-content}.toolbar-row{-webkit-mask-image:linear-gradient(90deg,#000 85%,#0000 100%);mask-image:linear-gradient(90deg,#000 85%,#0000)}}@media(max-width:640px){.grid[class*="md:grid-cols-"],.grid[class*="lg:grid-cols-"]{grid-template-columns:1fr!important}.grid.grid-cols-2:not([class*="md:"]):not([class*="lg:"]){grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:768px){button,[role=button],.action-btn,.mbn-item{touch-action:manipulation;min-height:44px}.table-scroll button,.detail-card button{min-height:32px}.toolbar-row.tab-row,.daily-top-tabs,.compact-action-bar .action-left,.compact-action-bar .action-right{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:auto;scrollbar-width:none;flex-wrap:nowrap;padding-bottom:2px;overflow:scroll hidden}.toolbar-row.tab-row::-webkit-scrollbar{display:none}.daily-top-tabs::-webkit-scrollbar{display:none}}@media(max-width:640px){.section-shell .toolbar-row{gap:6px;padding:2px 0 4px}.section-shell form.space-y-2>label,.section-shell form.space-y-3>label{flex-direction:column;display:flex}.mt-1\.5.flex.flex-wrap{gap:6px!important}}@media(max-width:380px){.grid.grid-cols-2{grid-template-columns:1fr!important}}@media(max-width:768px){.detail-card{-webkit-overflow-scrolling:touch;max-height:min(90dvh,calc(var(--dvh-full,100dvh) - 16px - var(--safe-top) - var(--safe-bottom)));overflow-y:auto}.detail-card form{flex-direction:column;gap:10px;display:flex}.detail-card form label{flex-direction:column;gap:4px;display:flex}.detail-card form input,.detail-card form select,.detail-card form textarea{width:100%}.table-scroll{position:relative}.table-scroll:after{content:"";pointer-events:none;z-index:1;background:linear-gradient(90deg,#0000,#f8fafccc);width:24px;position:absolute;top:0;bottom:0;right:0}.schedule-week-scroll-hint{color:var(--ink-4);align-items:center;gap:4px;padding:0 2px 6px;font-size:12px;font-weight:600;display:flex}.schedule-week-container:after{content:"";pointer-events:none;z-index:7;background:linear-gradient(90deg,#0000,#0f172a14);width:20px;position:absolute;top:0;bottom:0;right:0}.schedule-day-stream-card{flex-wrap:wrap;row-gap:8px}.schedule-day-stream-actions{flex-basis:100%;justify-content:flex-end}}@media(max-width:400px){.page-header{flex-direction:column;align-items:flex-start;gap:8px}.page-header>*{width:100%}.page-title{font-size:16px}.action-grid,.action-grid-top{grid-auto-columns:minmax(80px,1fr)}}@media(max-width:480px){.compact-action-bar{flex-direction:column;align-items:stretch;gap:8px}.compact-action-bar .action-left,.compact-action-bar .action-right{justify-content:flex-start;width:100%}.compact-action-bar .action-left>button,.compact-action-bar .action-right>button{white-space:normal;text-align:center;flex:1 1 0;min-width:0}}@media(max-width:768px){.daily-paper-table-shell{-webkit-overflow-scrolling:touch}.daily-paper-scroll-col{min-height:48px}.table-scroll td .flex.gap-1,.table-scroll td .flex.gap-2{flex-wrap:nowrap;gap:4px}.table-scroll td button{white-space:nowrap;border-radius:8px;padding:4px 8px;font-size:12px}}@media(max-width:640px){.section-shell label.block.text-sm,.section-shell label.text-sm{flex-direction:column;gap:4px;display:flex}.section-shell label.block.text-sm input,.section-shell label.block.text-sm select,.section-shell label.text-sm input,.section-shell label.text-sm select,.section-shell label.text-sm textarea{width:100%;margin-top:0!important}}@media(max-width:480px){.table-scroll th,.table-scroll td{font-size:12px;padding-left:8px!important;padding-right:8px!important}.daily-page-head .grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.daily-manual-card{grid-template-columns:repeat(2,minmax(0,1fr))}.daily-manual-card>div{grid-column:span 2}.daily-manual-card label input,.daily-manual-card label select{font-size:16px}}@media(min-width:640px)and (max-width:900px){.daily-result-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:768px){.daily-block-head .flex.flex-wrap{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;gap:8px;overflow-x:auto}.daily-block-head .flex.flex-wrap::-webkit-scrollbar{display:none}.daily-block-head .flex.flex-wrap>*{flex-shrink:0}}@media(max-width:640px){.daily-toolbar{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:none;flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.daily-toolbar::-webkit-scrollbar{display:none}.daily-toolbar>*{flex-shrink:0}.daily-toolbar-check{white-space:nowrap}}.hw-shell{gap:12px;min-width:0;display:grid}.hw-header,.hw-panel-head,.hw-period,.hw-teacher-line,.hw-action-title,.hw-action-row,.hw-signal-row,.hw-memo-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.hw-header{border-bottom:1px solid #94a3b838;align-items:flex-start;padding:6px 4px 10px}.hw-badge,.hw-count-badge{border-radius:var(--radius-pill);background:var(--sunken,#f8fafc);color:var(--text-body);white-space:nowrap;border:1px solid #94a3b842;padding:4px 10px;font-size:12px;font-weight:700;line-height:1.4}.hw-teacher-line{color:var(--text-body);flex-wrap:wrap;justify-content:flex-end;font-size:12px}.hw-period{border-radius:12px;min-width:0;min-height:84px;padding:16px 18px}.hw-period.is-active{background:linear-gradient(118deg,#0f172a,#172033 58%,#12314a);border:1px solid #1e293b;box-shadow:0 18px 38px -30px #0f172ae6}.hw-period.is-empty{background:var(--sunken,#f8fafc);border:1px dashed #cbd5e1}.hw-live-dot,.hw-alert-dot{background:#38bdf8;border-radius:999px;width:7px;height:7px;box-shadow:0 0 0 3px #38bdf82b}.hw-alert-dot{box-shadow:none;background:#f59e0b;flex:none}.hw-alert-dot.is-danger{background:#e11d48}.hw-period-action,.hw-primary-btn,.hw-secondary-btn,.hw-inline-btn,.hw-type-btn,.hw-text-btn,.hw-delete-btn{white-space:nowrap;font-size:12px;line-height:1.2;transition:transform .14s,background-color .14s,border-color .14s,color .14s}.hw-period-action,.hw-primary-btn{color:#fff;min-height:var(--hit-default);background:#0369a1;border:1px solid #0369a1;border-radius:8px;padding:8px 12px;font-weight:700}.hw-period-action{background:#0ea5e9db;border-color:#ffffff2e}.hw-secondary-btn,.hw-inline-btn{background:var(--card,#fff);color:var(--ink-2,#334155);min-height:var(--hit-default);border:1px solid #cbd5e1;border-radius:8px;padding:8px 12px;font-weight:600}.hw-inline-btn.is-approve{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.hw-text-btn,.hw-delete-btn{color:#0369a1;min-height:var(--hit-inline);background:0 0;border:0;padding:4px 8px;font-size:12px;font-weight:700}@media(any-pointer:coarse){.hw-text-btn,.hw-delete-btn{min-height:var(--hit-default)}}.hw-delete-btn{color:var(--text-muted)}.hw-period-action:hover,.hw-primary-btn:hover{background:#075985}.hw-secondary-btn:hover,.hw-inline-btn:hover{background:var(--sunken,#f8fafc);border-color:#94a3b8}.hw-period-action:active,.hw-primary-btn:active,.hw-secondary-btn:active,.hw-inline-btn:active,.hw-type-btn:active{transform:translateY(1px)}.hw-period-action:focus-visible,.hw-primary-btn:focus-visible,.hw-secondary-btn:focus-visible,.hw-inline-btn:focus-visible,.hw-type-btn:focus-visible,.hw-action-tab:focus-visible,.hw-text-btn:focus-visible,.hw-delete-btn:focus-visible,.hw-metric-card:focus-visible,.hw-input:focus-visible{outline-offset:2px;outline:2px solid #0284c7}.hw-period-action:disabled,.hw-primary-btn:disabled,.hw-secondary-btn:disabled,.hw-inline-btn:disabled,.hw-type-btn:disabled,.hw-text-btn:disabled,.hw-delete-btn:disabled,.hw-metric-card:disabled{cursor:not-allowed;opacity:.45}.hw-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.hw-metric-card,.hw-panel,.hw-quick-bar{border:1px solid var(--hair);border-radius:var(--r-card);background:var(--card);min-width:0;box-shadow:var(--ceramic)}.hw-metric-card{text-align:start;border-top-width:3px;gap:4px;padding:12px 14px;display:grid}button.hw-metric-card:hover{background:var(--sunken,#f8fafc);border-color:#0ea5e961}.hw-metric-card.is-attendance{border-top-color:var(--color-attend-safe)}.hw-metric-card.is-pending{border-top-color:var(--color-pending-warm)}.hw-metric-card.is-alert{border-top-color:var(--color-grade-alert)}.hw-metric-card.is-dorm{border-top-color:var(--color-timeline-live)}.hw-metric-label{color:var(--text-body);font-size:12px;font-weight:700}.hw-main-grid,.hw-decision-column,.hw-context-column{align-content:start;gap:12px;min-width:0;display:grid}.hw-panel,.hw-quick-bar{padding:20px}.hw-panel-head{align-items:flex-start}.hw-action-tabs{background:var(--paper-deep,#f1f5f9);scrollbar-width:none;border-radius:12px;align-items:center;gap:4px;margin-top:12px;padding:3px;display:flex;overflow-x:auto}.hw-action-tabs::-webkit-scrollbar{display:none}.hw-action-tab{min-height:var(--hit-default);color:var(--text-muted);white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:8px;flex:1 0 auto;justify-content:center;align-items:center;gap:5px;padding:7px 10px;font-size:12px;font-weight:700;transition:background-color .14s,border-color .14s,color .14s;display:inline-flex}.hw-action-tab.is-active{background:var(--card,#fff);color:var(--ink,#0f172a);border-color:#94a3b838;box-shadow:0 2px 6px -4px #0f172a73}.hw-action-tab-count{color:#475569;background:#e2e8f0;border-radius:999px;place-items:center;min-width:18px;min-height:18px;padding-inline:5px;font-size:12px;display:grid}.hw-action-tab.is-active .hw-action-tab-count{color:#fff;background:#0f172a}.hw-action-list{border:1px solid var(--hair-strong,#e2e8f0);background:var(--card,#fff);border-radius:12px;margin-top:10px;display:grid;overflow:clip}.hw-action-row{background:var(--card,#fff);grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:10px 12px;display:grid}.hw-action-row+.hw-action-row{border-top:1px solid #f1f5f9}.hw-action-row:hover{background:var(--sunken,#f8fafc)}.hw-action-icon{border-radius:12px;place-items:center;width:34px;height:34px;font-size:12px;font-weight:700;display:grid}.hw-signal-row,.hw-memo-row{background:var(--card,#fff);border-radius:8px;align-items:flex-start;min-width:0;padding:8px}.hw-action-icon.is-leave{color:#c2410c;background:#fff7ed}.hw-action-icon.is-talk{color:#1d4ed8;background:#eff6ff}.hw-action-icon.is-contact{color:#15803d;background:#f0fdf4}.hw-action-copy{min-width:0}.hw-action-meta{color:var(--text-muted);align-items:center;gap:8px;font-size:12px;line-height:1.3;display:flex}.hw-action-meta time{white-space:nowrap;margin-inline-start:auto}.hw-action-name{color:var(--ink,#1e293b);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:12px;font-weight:700;overflow:hidden}.hw-action-detail{color:var(--ink-3,#64748b);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:12px;line-height:1.4;overflow:hidden}.hw-inline-btn.is-leave{color:#c2410c;background:#fff7ed;border-color:#fed7aa}.hw-inline-btn.is-talk{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.hw-inline-btn.is-contact{color:#15803d;background:#f0fdf4;border-color:#bbf7d0}.hw-action-empty{margin-top:10px}.hw-action-more{margin:8px auto 0;display:block}.hw-signal-row{border:1px solid #f1f5f9}.hw-empty{color:var(--text-muted);text-align:center;border:1px dashed #cbd5e1;border-radius:8px;padding:12px;font-size:12px;line-height:1.6}.hw-radar-grid{gap:12px;display:grid}.hw-type-btn{border:1px solid var(--hair-strong,#e2e8f0);background:var(--card,#fff);color:var(--ink-2,#475569);min-height:var(--hit-default);border-radius:999px;padding:8px 12px}.hw-type-btn.is-active{color:#fff;background:#0f172a;border-color:#0f172a;font-weight:700}.hw-input{min-height:var(--hit-default);background:var(--card,#fff);width:100%;min-width:0;color:var(--ink,#0f172a);border:1px solid #cbd5e1;border-radius:8px;padding:8px 12px}.hw-timeline{gap:0;display:grid}.hw-timeline-item{gap:8px;min-width:0;padding:2px 0 16px;display:flex;position:relative}.hw-timeline-item:not(:last-child):before{content:"";background:#e2e8f0;width:1px;position:absolute;inset-block:9px -1px;inset-inline-start:4px}.hw-timeline-dot{z-index:1;background:#cbd5e1;border:2px solid #fff;border-radius:999px;flex:0 0 9px;width:9px;height:9px;margin-top:4px;position:relative;box-shadow:0 0 0 1px #cbd5e1}.hw-timeline-item.is-current .hw-timeline-dot{background:#10b981;box-shadow:0 0 0 2px #a7f3d0}.hw-timeline-item.is-current>div{background:#f0f9ff;border-radius:8px;margin:-6px -8px 0 -4px;padding:7px 8px 7px 6px}.hw-timeline-item.is-next .hw-timeline-dot{background:#0ea5e9;box-shadow:0 0 0 2px #bae6fd}.hw-timeline-item.is-completed{opacity:.58}.hw-memo-panel{background:#fffbeb;border-color:#fde68a}.hw-memo-panel .hw-input{background:#ffffffc7;border-color:#fcd34d}.hw-memo-row{background:#ffffffb8;border:1px solid #fde68a}.hw-memo-row.is-done{background:var(--sunken,#f8fafc);opacity:.62}.hw-memo-row.is-done .text-slate-700{text-decoration:line-through}@media(min-width:40rem){.hw-radar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:60rem){.hw-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:72rem){.hw-main-grid{grid-template-columns:minmax(0,13fr) minmax(280px,7fr)}}@media(max-width:39.99rem){.hw-header{flex-direction:column;align-items:stretch}.hw-teacher-line{justify-content:flex-start}.hw-period{flex-direction:column;align-items:flex-start}.hw-period-action,.hw-period .hw-secondary-btn{width:100%}.hw-action-row{grid-template-columns:32px minmax(0,1fr)}.hw-action-row .hw-inline-btn{min-height:var(--hit-default);grid-column:2;justify-self:start}}@media(any-pointer:coarse){.hw-period-action,.hw-primary-btn,.hw-secondary-btn,.hw-inline-btn,.hw-type-btn,.hw-action-tab{min-height:44px}}@media(prefers-reduced-motion:reduce){.hw-period-action,.hw-primary-btn,.hw-secondary-btn,.hw-inline-btn,.hw-type-btn,.hw-action-tab,.hw-text-btn,.hw-delete-btn{transition-duration:1ms}}#app button,#app input:not([type=checkbox]):not([type=radio]):not([type=hidden]),#app select,#app textarea,#app [role=button],#app [role=tab]{min-height:var(--hit-default)}#app label:has(input[type=checkbox]),#app label:has(input[type=radio]){min-height:var(--hit-default);align-items:center}.table-checkbox-target{min-width:var(--hit-default);min-height:var(--hit-default);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}#app .text-slate-300{color:var(--text-muted)}#app .text-red-400,#app .text-red-500,#app .text-red-600{color:#b91c1c}#app .text-amber-400,#app .text-amber-500,#app .text-amber-600{color:#92400e}#app .text-orange-400,#app .text-orange-500,#app .text-orange-600{color:#9a3412}#app .text-purple-400,#app .text-purple-500,#app .text-purple-600{color:#6b21a8}#app .text-blue-400,#app .text-blue-500{color:#1d4ed8}#app .text-emerald-400,#app .text-emerald-500,#app .text-emerald-600{color:#047857}#app .bg-emerald-500,#app .bg-emerald-600{background-color:#047857}#app .bg-orange-500{background-color:#9a3412}#app .bg-red-500{background-color:#b91c1c}.login-panel{border-radius:var(--radius-panel);box-shadow:var(--elev-2);padding:28px}.login-title{letter-spacing:-.01em;color:var(--text-strong);margin:0;font-size:24px;font-weight:700;line-height:1.3}.login-sub{color:var(--text-muted);margin:6px 0 0;font-size:13px;line-height:1.6}.login-form{gap:16px;margin-top:22px;display:grid}.login-field{gap:6px;display:grid}.login-label{color:var(--text-body);font-size:13px;font-weight:600}.login-input{width:100%;min-height:var(--hit-default);border-radius:var(--radius-control);background:var(--card,#fff);color:var(--text-strong);border:1px solid #cbd5e1;padding:10px 14px;font-size:16px;line-height:1.4;transition:border-color .14s,box-shadow .14s}.login-input::placeholder{color:var(--text-muted);font-size:16px}.login-input:hover{border-color:#94a3b8}.login-input:focus{border-color:var(--color-timeline-live);outline:none;box-shadow:0 0 0 3px #0284c729}.login-submit{width:100%;min-height:var(--hit-primary);border:1px solid var(--color-timeline-live);border-radius:var(--radius-control);background:var(--color-timeline-live);color:#fff;cursor:pointer;font-size:16px;font-weight:600;transition:background-color .14s,transform .14s}.login-submit:hover:not(:disabled){background:#0369a1;border-color:#0369a1}.login-submit:active:not(:disabled){transform:translateY(1px)}.login-submit:disabled{opacity:.6;cursor:not-allowed}.login-check{border-radius:var(--radius-item);background:var(--sunken,#f8fafc);border:1px solid #94a3b847;margin-top:22px;padding:16px}.login-check-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.login-check-title{color:var(--text-body);font-size:13px;font-weight:600}.login-check-btn{min-height:var(--hit-default);border-radius:var(--radius-control);color:#fff;cursor:pointer;white-space:nowrap;background:#1e293b;border:1px solid #1e293b;padding:0 18px;font-size:13px;font-weight:600;transition:background-color .14s,transform .14s}.login-check-btn:hover:not(:disabled){background:#0f172a}.login-check-btn:active:not(:disabled){transform:translateY(1px)}.login-check-btn:disabled{opacity:.6;cursor:not-allowed}.login-check-time{color:var(--text-muted);margin-top:10px;font-size:12px}.login-check-error{border-radius:var(--radius-control);color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;margin-top:12px;padding:10px 12px;font-size:13px;line-height:1.6}.login-check-list{gap:8px;margin-top:12px;display:grid}.login-check-item{border:1px solid #94a3b84d;border-left:3px solid var(--text-muted);border-radius:var(--radius-control);background:var(--card,#fff);padding:10px 12px;font-size:13px;line-height:1.5}.login-check-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;display:flex}.login-check-name{color:var(--text-body);align-items:center;gap:7px;font-weight:600;display:inline-flex}.login-check-dot{border-radius:var(--radius-pill);background:var(--text-muted);flex:none;width:8px;height:8px}.login-check-msg{color:var(--text-muted);text-align:right;margin-left:auto;font-size:13px}@media(max-width:380px){.login-check-name,.login-check-msg{text-align:start;flex:100%;margin-left:0}}.login-check-detail{color:var(--text-muted);margin-top:6px;font-size:12px;line-height:1.6}.login-check-item.is-ok{border-left-color:var(--color-attend-safe);background:#f0fdf5}.login-check-item.is-ok .login-check-dot{background:var(--color-attend-safe)}.login-check-item.is-ok .login-check-msg{color:#047857}.login-check-item.is-error{border-left-color:var(--color-grade-alert);background:#fef2f2}.login-check-item.is-error .login-check-dot{background:var(--color-grade-alert)}.login-check-item.is-error .login-check-msg{color:#b91c1c}.login-check-item.is-checking{border-left-color:var(--color-pending-warm);background:#fffbeb}.login-check-item.is-checking .login-check-dot{background:var(--color-pending-warm)}.login-check-item.is-checking .login-check-msg{color:#b45309}.login-foot{color:var(--text-muted);margin:22px 0 0;font-size:12px}.login-submit:focus-visible,.login-check-btn:focus-visible,.login-input:focus-visible{outline:2px solid var(--color-timeline-live);outline-offset:2px}@media(max-width:480px){.login-panel{padding:22px 18px}.login-title{font-size:22px}}.hw-muted{color:var(--text-muted)}.hw-body{color:var(--text-body)}.ui-w700{font-weight:700}.ui-w600{font-weight:600}.ui-w500{font-weight:500}.ui-strong{color:var(--text-strong);font-weight:700}.ui-medium{color:var(--text-body);font-weight:600}.ui-body{color:var(--text-body)}.ui-muted{color:var(--text-muted)}.hover\:ui-body:hover{color:var(--text-body)}.train-badge{background:var(--solid-bg);width:44px;height:44px;color:var(--on-solid);box-shadow:0 2px 6px rgba(var(--shadow-rgb),.18);border-radius:12px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;line-height:1.15;display:flex}.train-track-inner{background:var(--sunken);border:1px solid var(--hair);box-shadow:var(--ceramic-inset);border-radius:12px;flex:1;min-width:400px;padding:8px 18px;overflow-x:auto}.train-line-bg{background:var(--paper-deep);z-index:0;border-radius:999px;height:4px;position:absolute;top:50%;left:18px;right:18px;transform:translateY(-50%)}.train-line-fill{background:linear-gradient(90deg,var(--safe),var(--now-bar));transform-origin:0;border-radius:999px;width:100%;height:100%;transition:transform 1.2s linear}.mono{font-variant-numeric:tabular-nums;letter-spacing:0;font-family:inherit}.card{background:var(--card);border:1px solid var(--hair);border-radius:var(--r-card);box-shadow:var(--ceramic);-webkit-backdrop-filter:var(--card-blur);transition:box-shadow .28s var(--ease),border-color .28s var(--ease),transform .28s var(--ease)}.card:hover{box-shadow:var(--ceramic-lift);border-color:var(--hair-strong)}.brand{align-items:center;gap:13px;min-width:0;display:flex}.mark{background:var(--mark-bg);width:38px;height:38px;color:var(--mark-ink);letter-spacing:.02em;box-shadow:inset 0 1px 0 var(--hl),0 6px 14px -8px rgba(var(--shadow-rgb),.6);border-radius:12px;flex:0 0 38px;place-items:center;font-size:16px;font-weight:700;display:grid}.brand h1{letter-spacing:-.022em;color:var(--ink);margin:0;font-size:24px;font-weight:700;line-height:1.2}.brand .sub{color:var(--ink-4);flex-wrap:wrap;align-items:center;gap:8px;margin-top:2px;font-size:13px;display:flex}.brand .sub .sep{color:var(--ink-5)}.week-chip{background:var(--paper-deep);border:1px solid var(--hair);color:var(--ink-2);border-radius:8px;padding:2px 9px;font-size:12px;font-weight:600}.stat-rail{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.stat{background:var(--card);border:1px solid var(--hair);border-radius:var(--r-pill);height:44px;box-shadow:var(--ceramic);color:var(--ink-3);cursor:pointer;transition:box-shadow .24s var(--ease),border-color .24s var(--ease),transform .14s ease;align-items:center;gap:9px;padding:0 17px;font-size:13px;display:inline-flex}.stat:hover{box-shadow:var(--ceramic-lift);border-color:var(--hair-strong)}.stat:active{transform:scale(.96)}.stat b{letter-spacing:-.02em;font-size:16px;font-weight:700}.stat .unit{color:var(--ink-5);font-size:12px}.dot{border-radius:var(--r-pill);flex:none;width:8px;height:8px}.dot.safe{background:var(--safe)}.dot.alert{background:var(--alert)}.dot.warm{background:var(--warm)}.dot.blue{background:var(--blue)}.pulse{animation:2.4s cubic-bezier(.4,0,.6,1) infinite breathe}@keyframes breathe{0%,to{opacity:1;transform:scale(1)}50%{opacity:.34;transform:scale(.82)}}.now-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:26px;padding:22px 26px 22px 30px;display:flex;position:relative;overflow:hidden}.now-bar:before{content:"";background:var(--now-bar);width:5px;position:absolute;top:0;bottom:0;left:0}.now-left{gap:9px;min-width:0;display:grid}.now-tag{border-radius:var(--r-pill);background:var(--safe);justify-self:start;align-items:center;gap:8px;padding:4px 12px 4px 10px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.now-tag{background:color-mix(in srgb,var(--safe) var(--tint),transparent)}}.now-tag{border:1px solid var(--safe)}@supports (color:color-mix(in lab,red,red)){.now-tag{border:1px solid color-mix(in srgb,var(--safe) var(--tint-line),transparent)}}.now-tag{color:var(--ink-safe);font-size:12px;font-weight:600}.now-title{letter-spacing:-.02em;color:var(--ink);flex-wrap:wrap;align-items:center;gap:11px;font-size:22px;font-weight:700;line-height:1.35;display:flex}.now-title .room{color:var(--ink-4);font-size:13px;font-weight:500}.count-pill{background:var(--accent);color:var(--on-accent);box-shadow:inset 0 1px #fff6,0 4px 14px -6px var(--accent);border-radius:12px;align-items:baseline;gap:5px;padding:3px 12px 4px;font-weight:700;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.count-pill{box-shadow:inset 0 1px #fff6,0 4px 14px -6px color-mix(in srgb,var(--accent) 85%,transparent)}}.count-pill .n{letter-spacing:-.03em;font-size:22px}.count-pill .u{font-size:12px;font-weight:600}.now-meta{color:var(--ink-4);flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.now-meta .sep{color:var(--ink-5)}.now-meta strong{color:var(--warm);font-weight:600}.now-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.train-track-card{background:var(--card);border:1px solid var(--hair);border-left:5px solid var(--now-bar);border-radius:var(--r-card);box-shadow:var(--ceramic);min-height:80px;transition:all .25s var(--ease);flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;display:flex}.train-track-card:hover{box-shadow:var(--ceramic-lift);border-color:var(--hair-strong)}.train-track-left{flex:none;align-items:center;gap:13px;min-width:0;display:flex}.train-track-middle{flex:560px;align-items:center;min-width:240px;max-width:600px;display:flex;position:relative}.train-track-right{white-space:nowrap;flex:none;align-items:center;gap:8px;margin-left:auto;display:flex}.train-track-right .btn{white-space:nowrap;flex-shrink:0;height:38px;padding:0 13px;font-size:13px}.train-track-scroll{background:var(--sunken);border:1px solid var(--hair);box-shadow:var(--ceramic-inset);scrollbar-width:none;scroll-behavior:smooth;border-radius:12px;align-items:center;gap:32px;width:100%;padding:10px 24px;display:flex;position:relative;overflow-x:auto}.train-track-scroll::-webkit-scrollbar{display:none}.train-track-arrow{background:var(--card);border:1px solid var(--hair-strong);width:24px;height:24px;color:var(--ink-2);cursor:pointer;z-index:20;box-shadow:0 2px 6px rgba(var(--shadow-rgb),.15);opacity:.85;border-radius:999px;justify-content:center;align-items:center;transition:all .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.train-track-arrow:hover{opacity:1;background:var(--solid-bg);color:var(--on-solid);transform:translateY(-50%)scale(1.1)}.train-track-arrow.prev{left:-10px}.train-track-arrow.next{right:-10px}.train-station-item{z-index:10;cursor:pointer;flex-direction:column;flex-shrink:0;align-items:center;transition:transform .16s;display:flex;position:relative}.train-station-item:hover{transform:translateY(-2px)}.train-node{border:1.5px solid #fff;border-radius:999px;justify-content:center;align-items:center;width:16px;height:16px;font-size:12px;line-height:1;display:flex;box-shadow:0 1px 3px #0000001f}.train-node.done{background:var(--safe);color:#fff}.train-node.live{background:var(--now-bar);color:#fff;border-width:2px;width:18px;height:18px}.train-node.next{background:var(--warm);color:#fff}.train-node.future{background:var(--paper-deep);border-color:#fff}.train-node-label{font-variant-numeric:tabular-nums;color:var(--ink-4);white-space:nowrap;margin-top:5px;font-size:12px;line-height:1}.train-node-label.is-live{color:var(--ink-blue);font-weight:700}.train-node-label.is-next{color:var(--ink-warm);font-weight:600}.live-beacon{animation:beacon-pulse 2.4s var(--ease-out,ease-out) infinite;position:relative}.live-beacon:after{content:"";border:2px solid var(--brand,var(--now-bar));animation:beacon-ring 2.4s var(--ease-out,ease-out) infinite;pointer-events:none;border-radius:999px;position:absolute;inset:-3px}@keyframes beacon-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}@keyframes beacon-ring{0%{opacity:.6;transform:scale(.8)}80%,to{opacity:0;transform:scale(2)}}.station-popover{background:var(--card);border:1px solid var(--hair-strong);width:256px;box-shadow:0 16px 36px -6px rgba(var(--shadow-rgb),.28),0 4px 14px #00000014;z-index:999;animation:popover-down .16s var(--ease) forwards;white-space:normal;text-align:left;pointer-events:auto;border-radius:12px;padding:12px 14px;position:absolute;top:calc(100% + 14px);transform:translate(-50%)}.station-popover:after{content:"";border-style:solid;border-width:7px;border-color:transparent transparent var(--card) transparent;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}@keyframes popover-down{0%{opacity:0;transform:translate(-50%)translateY(-4px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.station-pop-head{border-bottom:1px solid var(--hair);justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;padding-bottom:6px;display:flex}.station-pop-title{color:var(--ink);font-size:13px;font-weight:700}.station-pop-time{color:var(--ink-3);font-size:12px;font-weight:600}.station-pop-body{flex-direction:column;gap:4px;font-size:12px;display:flex}.station-pop-row{align-items:baseline;gap:4px;line-height:1.35;display:flex}.station-pop-k{color:var(--ink-4);flex-shrink:0}.station-pop-v{color:var(--ink-2)}.station-pop-foot{border-top:1px dashed var(--hair);justify-content:space-between;align-items:center;gap:8px;margin-top:8px;padding-top:8px;display:flex}.pop-btn{background:var(--sunken);border:1px solid var(--hair);color:var(--ink-2);cursor:pointer;border-radius:8px;align-items:center;gap:4px;padding:3px 8px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.pop-btn:hover{background:var(--solid-bg);color:var(--on-solid);border-color:var(--solid-bg)}.pop-btn.primary{color:var(--now-bar);border-color:var(--now-bar)}@supports (color:color-mix(in lab,red,red)){.pop-btn.primary{border-color:color-mix(in srgb,var(--now-bar) 30%,transparent)}}.pop-btn.primary:hover{background:var(--now-bar);color:#fff}.station-pop-status{border-radius:8px;padding:2px 8px;font-size:12px;font-weight:600}.station-pop-status.done{background:var(--safe)}@supports (color:color-mix(in lab,red,red)){.station-pop-status.done{background:color-mix(in srgb,var(--safe) 12%,transparent)}}.station-pop-status.done{color:var(--ink-safe)}.station-pop-status.live{background:var(--now-bar)}@supports (color:color-mix(in lab,red,red)){.station-pop-status.live{background:color-mix(in srgb,var(--now-bar) 15%,transparent)}}.station-pop-status.live{color:var(--now-bar)}.station-pop-status.next{background:var(--warm)}@supports (color:color-mix(in lab,red,red)){.station-pop-status.next{background:color-mix(in srgb,var(--warm) 15%,transparent)}}.station-pop-status.next{color:var(--ink-warm)}.station-pop-status.future{background:var(--paper-deep);color:var(--ink-3)}.count-capsule{background:var(--accent);color:var(--on-accent);box-shadow:inset 0 1px #ffffff80,0 2px 8px -2px rgba(var(--shadow-rgb),.25);font-weight:700}.btn{border-radius:var(--r-ctl);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;height:44px;padding:0 18px;font-family:inherit;font-size:13px;font-weight:600;text-decoration:none;transition:background-color .18s,border-color .18s,box-shadow .18s,transform .12s;display:inline-flex}.btn-dark{background:var(--solid-bg);color:var(--on-solid);box-shadow:inset 0 1px 0 var(--hl),0 8px 18px -10px rgba(var(--shadow-rgb),.65)}.btn-dark:hover{filter:brightness(1.12)saturate(1.05)}.btn-dark .ic{color:var(--solid-ic)}.btn-quiet{background:var(--card);color:var(--ink-2);border-color:var(--hair);box-shadow:var(--ceramic)}.btn-quiet:hover{border-color:var(--hair-strong);box-shadow:var(--ceramic-lift)}.btn-safe{background:var(--safe);color:#fff;box-shadow:inset 0 1px #ffffff2e,0 8px 18px -10px var(--safe)}@supports (color:color-mix(in lab,red,red)){.btn-safe{box-shadow:inset 0 1px #ffffff2e,0 8px 18px -10px color-mix(in srgb,var(--safe) 70%,transparent)}}.btn-safe:hover{filter:brightness(1.1)}.btn-sm{height:38px;padding:0 14px;font-size:13px}.ic{flex:none;width:15px;height:15px}.ic:not(.app-icon) :is(path,circle,rect,line,polyline){stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;fill:none}.wings{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;gap:20px;display:grid}.wing{align-content:start;gap:20px;min-width:0;display:grid;container:wing/inline-size}.panel{gap:16px;padding:24px 26px;display:grid}.panel-head{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:15px;display:flex}.panel-head h2{font-size:var(--fs-title-s,15px);letter-spacing:-.015em;color:var(--ink);align-items:center;gap:9px;margin:0;font-weight:700;display:flex}.panel-head .note{color:var(--ink-3);margin:5px 0 0;font-size:12px}.head-badge{border-radius:var(--r-pill);background:var(--paper-deep);border:1px solid var(--hair);color:var(--ink-2);white-space:nowrap;padding:5px 12px;font-size:12px;font-weight:700}.head-badge.is-acid{background:var(--accent);border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.head-badge.is-acid{border-color:color-mix(in srgb,var(--accent) 55%,transparent)}}.head-badge.is-acid{color:var(--on-accent)}.link{color:var(--ink-blue);white-space:nowrap;align-items:center;gap:5px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.link:hover{text-decoration:underline}.todo-list{gap:12px;display:grid;position:relative}.todo{background:var(--card);border:1px solid var(--hair);border-radius:var(--r-item);box-shadow:inset 0 1px 0 var(--hl),0 1px 2px rgba(var(--shadow-rgb),var(--sh1));transition:box-shadow .26s var(--ease),border-color .26s var(--ease),transform .26s var(--ease),opacity .26s ease;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;padding:16px 18px 16px 22px;display:flex;position:relative;overflow:visible}.todo:before{content:"";border-radius:var(--r-item) 0 0 var(--r-item);background:var(--bar);width:4px;position:absolute;top:0;bottom:0;left:0}.todo:hover{box-shadow:var(--ceramic-lift);border-color:var(--hair-strong);transform:translateY(-2px)}.todo:hover,.todo:focus-within{z-index:30}.todo.is-leaving{opacity:0;transform:translate(26px)}.todo.t-leave{--bar:var(--alert)}.todo.t-talk{--bar:var(--warm)}.todo.t-call,.todo.t-contact{--bar:var(--blue)}.todo.t-homework{--bar:var(--warm)}.todo-main{flex:340px;align-items:flex-start;gap:14px;min-width:0;display:flex}.todo-ic{border-radius:12px;flex:0 0 34px;place-items:center;width:34px;height:34px;margin-top:1px;font-size:13px;font-weight:700;display:grid}.t-leave .todo-ic{background:var(--alert)}@supports (color:color-mix(in lab,red,red)){.t-leave .todo-ic{background:color-mix(in srgb,var(--alert) 7%,transparent)}}.t-leave .todo-ic{color:var(--ink-alert);border:1px solid var(--alert)}@supports (color:color-mix(in lab,red,red)){.t-leave .todo-ic{border:1px solid color-mix(in srgb,var(--alert) 16%,transparent)}}.t-talk .todo-ic{background:var(--warm)}@supports (color:color-mix(in lab,red,red)){.t-talk .todo-ic{background:color-mix(in srgb,var(--warm) 8%,transparent)}}.t-talk .todo-ic{color:var(--warm);border:1px solid var(--warm)}@supports (color:color-mix(in lab,red,red)){.t-talk .todo-ic{border:1px solid color-mix(in srgb,var(--warm) 18%,transparent)}}.t-call .todo-ic,.t-contact .todo-ic{background:var(--blue)}@supports (color:color-mix(in lab,red,red)){.t-call .todo-ic,.t-contact .todo-ic{background:color-mix(in srgb,var(--blue) 7%,transparent)}}.t-call .todo-ic,.t-contact .todo-ic{color:var(--ink-blue);border:1px solid var(--blue)}@supports (color:color-mix(in lab,red,red)){.t-call .todo-ic,.t-contact .todo-ic{border:1px solid color-mix(in srgb,var(--blue) 16%,transparent)}}.t-homework .todo-ic{background:var(--warm)}@supports (color:color-mix(in lab,red,red)){.t-homework .todo-ic{background:color-mix(in srgb,var(--warm) 8%,transparent)}}.t-homework .todo-ic{color:var(--warm);border:1px solid var(--warm)}@supports (color:color-mix(in lab,red,red)){.t-homework .todo-ic{border:1px solid color-mix(in srgb,var(--warm) 18%,transparent)}}.todo-body{gap:5px;min-width:0;display:grid}.todo-row1{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.kind{white-space:nowrap;border-radius:8px;padding:3px 9px;font-size:12px;font-weight:700}.t-leave .kind{background:var(--alert)}@supports (color:color-mix(in lab,red,red)){.t-leave .kind{background:color-mix(in srgb,var(--alert) 7%,transparent)}}.t-leave .kind{color:var(--ink-alert)}.t-talk .kind{background:var(--warm)}@supports (color:color-mix(in lab,red,red)){.t-talk .kind{background:color-mix(in srgb,var(--warm) 9%,transparent)}}.t-talk .kind{color:var(--ink-warm)}.t-call .kind,.t-contact .kind{background:var(--blue)}@supports (color:color-mix(in lab,red,red)){.t-call .kind,.t-contact .kind{background:color-mix(in srgb,var(--blue) 7%,transparent)}}.t-call .kind,.t-contact .kind{color:var(--ink-blue)}.t-homework .kind{background:var(--warm)}@supports (color:color-mix(in lab,red,red)){.t-homework .kind{background:color-mix(in srgb,var(--warm) 9%,transparent)}}.t-homework .kind{color:var(--ink-warm)}.todo-desc{color:var(--ink-3);font-size:13px;line-height:1.6}.when{color:var(--ink-4);font-size:12px}.phone{color:var(--ink-blue);background:var(--blue);font-size:12px;font-weight:600}@supports (color:color-mix(in lab,red,red)){.phone{background:color-mix(in srgb,var(--blue) 6%,transparent)}}.phone{border:1px solid var(--blue)}@supports (color:color-mix(in lab,red,red)){.phone{border:1px solid color-mix(in srgb,var(--blue) 14%,transparent)}}.phone{cursor:pointer;border-radius:8px;align-items:center;gap:5px;padding:2px 8px;transition:background-color .16s,transform .12s;display:inline-flex}.phone:hover{background:var(--blue)}@supports (color:color-mix(in lab,red,red)){.phone:hover{background:color-mix(in srgb,var(--blue) 12%,transparent)}}.phone:active{transform:scale(.96)}.todo-actions{flex:none;align-items:center;gap:9px;display:flex}.who{display:inline-block;position:relative}.who-name{font-size:var(--fs-title-s,15px);color:var(--ink);cursor:pointer;border-bottom:1px dashed var(--ink-5);padding-bottom:1px;font-weight:700;transition:color .16s,border-color .16s}.who:hover .who-name,.who:focus-within .who-name{color:var(--ink-blue);border-color:var(--ink-blue)}.who-card{z-index:60;background:var(--card);width:288px;position:absolute;top:calc(100% + 9px);left:-8px}@supports (color:color-mix(in lab,red,red)){.who-card{background:color-mix(in srgb,var(--card) 94%,transparent)}}.who-card{-webkit-backdrop-filter:saturate(180%)blur(18px);border:1px solid var(--hair-strong);box-shadow:0 2px 6px rgba(var(--shadow-rgb),.06),0 26px 54px -20px rgba(var(--shadow-rgb),.4);opacity:0;visibility:hidden;transition:opacity .18s var(--ease),transform .18s var(--ease),visibility .18s;text-align:left;border-radius:12px;padding:15px 16px;transform:translateY(-6px)scale(.98)}.who:hover .who-card,.who:focus-within .who-card{opacity:1;visibility:visible;transform:translateY(0)scale(1)}.who-top{border-bottom:1px solid var(--rule);align-items:center;gap:12px;padding-bottom:12px;display:flex}.avatar{color:#fff;width:46px;height:46px;box-shadow:inset 0 1px #ffffff47,0 6px 14px -8px rgba(var(--shadow-rgb),.55);border-radius:12px;flex:0 0 46px;place-items:center;font-size:16px;font-weight:700;display:grid;position:relative;overflow:hidden}.avatar:after{content:"";background:linear-gradient(150deg,#ffffff42,#fff0 58%);position:absolute;inset:0}.avatar.a1{background:linear-gradient(150deg,#3f4a5a,#1e2531)}.avatar.a2{background:linear-gradient(150deg,#6b5540,#3a2c20)}.avatar.a3{background:linear-gradient(150deg,#3f5a52,#1f302b)}.who-id{min-width:0}.who-id b{letter-spacing:-.01em;font-size:13px;font-weight:700;display:block}.who-id span{color:var(--ink-4);margin-top:1px;font-size:12px;display:block}.who-flag{background:var(--safe);border-radius:8px;flex:none;margin-left:auto;padding:3px 8px;font-size:12px;font-weight:700}@supports (color:color-mix(in lab,red,red)){.who-flag{background:color-mix(in srgb,var(--safe) 8%,transparent)}}.who-flag{color:var(--ink-safe)}.who-flag.is-alert{background:var(--alert)}@supports (color:color-mix(in lab,red,red)){.who-flag.is-alert{background:color-mix(in srgb,var(--alert) 8%,transparent)}}.who-flag.is-alert{color:var(--ink-alert)}.who-rows{gap:7px;margin:0;padding-top:11px;font-size:12px;display:grid}.who-rows>div{align-items:baseline;gap:9px;display:flex}.who-rows dt{color:var(--ink-4);flex:0 0 62px}.who-rows dd{color:var(--ink-2);min-width:0;margin:0;font-weight:500}.who-rows dd.warn{color:var(--ink-warm)}.who-rows dd.bad{color:var(--ink-alert)}.radars{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.radar{gap:13px;padding:20px 22px;display:grid}.radar-head{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:12px;padding-bottom:12px;display:flex}.radar-head b{letter-spacing:-.01em;align-items:center;gap:8px;font-size:13px;font-weight:700;display:inline-flex}.radar-head .ic{width:14px;height:14px}.radar.r-grade .radar-head b{color:var(--ink-alert)}.radar.r-dorm .radar-head b,.radar.r-consumption .radar-head b{color:var(--ink-warm)}details.summary-fold{overflow:hidden}details.summary-fold>summary{list-style:none}details.summary-fold>summary::-webkit-details-marker{display:none}details.summary-fold>summary .fold-arrow{color:var(--ink-4);font-size:12px;transition:transform .2s;display:inline-block}details.summary-fold[open]>summary .fold-arrow{transform:rotate(90deg)}details.summary-fold:not([open]) .radar-head{border-bottom:none;padding-bottom:0}.summary-fold .count-capsule{border-radius:var(--radius-pill,999px);background:var(--paper-deep);color:var(--ink-3);box-shadow:none;align-items:center;padding:2px 8px;font-size:12px;font-weight:700;display:inline-flex}.summary-fold .count-capsule.is-alert{background:var(--alert)}@supports (color:color-mix(in lab,red,red)){.summary-fold .count-capsule.is-alert{background:color-mix(in srgb,var(--alert) 12%,transparent)}}.summary-fold .count-capsule.is-alert{color:var(--ink-alert)}.radar-list{gap:9px;display:grid}.radar-row{background:var(--sunken);border:1px solid var(--hair);box-shadow:var(--ceramic-inset);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;transition:background-color .2s,border-color .2s;display:flex}.radar-row:hover{background:var(--card);border-color:var(--hair-strong)}.radar-row .who-name{font-size:13px}.radar-row .sub{color:var(--ink-3);margin-left:7px;font-size:12px}.radar-row-tappable{width:100%;min-height:44px;font:inherit;text-align:left;cursor:pointer;color:inherit;appearance:none}.radar-row-tappable:focus-visible{outline:2px solid var(--ink-blue,#2563eb);outline-offset:2px}.delta{white-space:nowrap;border-radius:8px;padding:3px 9px;font-size:12px;font-weight:700}.delta.down{background:var(--alert)}@supports (color:color-mix(in lab,red,red)){.delta.down{background:color-mix(in srgb,var(--alert) 8%,transparent)}}.delta.down{color:var(--ink-alert)}.delta.near{background:var(--warm)}@supports (color:color-mix(in lab,red,red)){.delta.near{background:color-mix(in srgb,var(--warm) 10%,transparent)}}.delta.near{color:var(--ink-warm)}.delta.ok{background:var(--safe)}@supports (color:color-mix(in lab,red,red)){.delta.ok{background:color-mix(in srgb,var(--safe) 9%,transparent)}}.delta.ok{color:var(--ink-safe)}.tl{gap:10px;display:grid}.tl-row{border:1px solid #0000;border-radius:12px;align-items:center;gap:14px;padding:14px 16px;transition:background-color .2s,border-color .2s;display:flex}.tl-row .k{color:var(--ink-3);flex:none;min-width:96px;font-size:12px}.tl-row .v{color:var(--ink-2);flex:1;min-width:0;font-size:13px;font-weight:600}.tl-row .s{color:var(--ink-4);white-space:nowrap;flex:none;font-size:12px}.tl-row.done{opacity:.5}.tl-row.done .v{font-weight:500}.tl-row.up{background:var(--sunken);border-color:var(--hair);box-shadow:var(--ceramic-inset)}.tl-row.up .s{color:var(--ink-warm);font-weight:600}.tl-row.live{background:var(--live-bg);border-color:var(--live-solid);border-radius:var(--r-item);box-shadow:inset 0 1px 0 var(--hl),0 16px 32px -18px rgba(var(--shadow-rgb),.7);align-items:center;padding:16px 18px}.tl-row.live .k{color:var(--live-accent,var(--accent));align-items:center;gap:7px;font-size:12px;font-weight:700;display:flex}.tl-row.live .v{color:var(--live-ink);letter-spacing:-.01em;font-size:16px;font-weight:700}.tl-row.live .s{background:var(--live-accent,var(--accent));color:var(--on-live-accent,var(--on-accent));border-radius:8px;padding:5px 11px;font-size:12px;font-weight:700}.tl-row.live .dot{background:var(--live-accent,var(--accent))}.workbench-shell .topbar h1{font-size:var(--fs-page-title,20px)!important}.workbench-shell .panel-head h2{font-size:13px;line-height:1.4}.workbench-shell .panel-head .note{font-size:12px;line-height:1.55}.workbench-shell .head-badge{font-size:12px}.workbench-shell .timeline-all{cursor:pointer}.workbench-shell .tl{gap:6px}.workbench-shell .tl-row{border-radius:12px;gap:8px;padding:9px 10px}.workbench-shell .tl-row .k{min-width:76px;font-size:12px}.workbench-shell .tl-row .v{font-size:12px;line-height:1.4}.workbench-shell .tl-row .s{font-size:12px}.workbench-shell .tl-row.live{padding:11px 12px}.workbench-shell .tl-row.live .k,.workbench-shell .tl-row.live .v{font-size:12px}.workbench-shell .tl-row.live .s{padding:4px 8px;font-size:12px}@container canvas (max-width:920px){.workbench-shell .topbar{gap:10px}.workbench-shell .stat-rail{gap:6px}.workbench-shell .stat{gap:6px;height:38px;padding:0 11px;font-size:12px}.workbench-shell .stat b{font-size:13px}.workbench-shell .stat .unit{font-size:12px}.workbench-shell .train-track-card{flex-wrap:wrap;align-items:flex-start;gap:10px;padding:12px 14px}.workbench-shell .train-track-left{flex:240px}.workbench-shell .train-track-middle{flex:100%;order:3;min-width:0;max-width:none}.workbench-shell .train-track-right{white-space:normal;flex-wrap:wrap;flex:100%;justify-content:flex-start;margin-left:0}.workbench-shell .train-track-right .btn{height:34px;padding:0 10px;font-size:12px}.workbench-shell .train-track-scroll{gap:20px;padding:8px 16px}.workbench-shell .train-track-inner{min-width:0}}.memos{gap:10px;display:grid}.memo{background:var(--memo-bg);border:1px solid var(--memo-line);cursor:pointer;transition:background-color .2s ease,border-color .2s ease,transform .16s var(--ease);border-radius:12px;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.memo:hover{background:var(--card);border-color:var(--hair-strong);transform:translate(2px)}.memo input{appearance:none;border:1.5px solid var(--ink-5);background:var(--card);cursor:pointer;border-radius:8px;flex:0 0 19px;width:19px;height:19px;margin:1px 0 0;transition:background-color .16s,border-color .16s;position:relative}.memo input:checked{background:var(--safe);border-color:var(--safe)}.memo input:checked:after{content:"";border:solid var(--on-accent);border-width:0 2px 2px 0;width:5px;height:9px;position:absolute;top:2px;left:5.5px;transform:rotate(45deg)}.memo input:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.memo span{color:var(--ink-2);font-size:13px;line-height:1.6;transition:color .2s}.memo input:checked+span{color:var(--ink-5);text-decoration:line-through}.cap-mask{z-index:300;background:rgba(var(--shadow-rgb),.42);-webkit-backdrop-filter:blur(6px);opacity:0;visibility:hidden;transition:opacity .2s var(--ease),visibility 0s linear .2s;place-items:start center;padding:max(14vh,90px) 20px 20px;display:grid;position:fixed;inset:0}.cap-mask.open{opacity:1;visibility:visible;transition:opacity .2s var(--ease),visibility 0s linear 0s}.capture{width:min(660px,100%);transition:transform .24s var(--ease);gap:15px;padding:22px 24px 24px;display:grid;transform:translateY(-10px)scale(.985)}.cap-mask.open .capture{transform:translateY(0)scale(1)}.capture:hover{box-shadow:var(--ceramic);border-color:var(--hair)}.capture-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.capture-head b{font-size:var(--fs-title-s,15px);letter-spacing:-.015em;align-items:center;gap:9px;font-weight:700;display:inline-flex}.capture-head .hint{color:var(--ink-4);align-items:center;gap:7px;font-size:12px;display:inline-flex}.kbd{font-family:var(--font-mono);background:var(--paper-deep);border:1px solid var(--hair);color:var(--ink-2);border-radius:8px;padding:2px 6px;font-size:12px;font-weight:700}.cap-close{border:1px solid var(--hair);background:var(--card);width:32px;height:32px;color:var(--ink-4);cursor:pointer;border-radius:8px;flex:0 0 32px;place-items:center;transition:background-color .16s,color .16s,transform .12s;display:grid}.cap-close:hover{background:var(--sunken);color:var(--ink)}.cap-close:active{transform:scale(.94)}.tags{flex-wrap:wrap;gap:8px;display:flex}.tag{border:1px solid var(--hair);background:var(--sunken);height:34px;color:var(--ink-2);cursor:pointer;border-radius:8px;padding:0 13px;font-family:inherit;font-size:13px;font-weight:600;transition:background-color .16s,border-color .16s,transform .12s}.tag:hover{background:var(--paper-deep);border-color:var(--hair-strong)}.tag:active{transform:scale(.96)}.tag.on{background:var(--solid-bg);border-color:var(--solid-bg);color:var(--on-solid)}.tag:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.capture-form{grid-template-columns:200px minmax(0,1fr) auto;gap:11px;display:grid}.field{border:1px solid var(--hair);border-radius:var(--r-ctl);background:var(--card);height:46px;box-shadow:var(--ceramic-inset);color:var(--ink);min-width:0;padding:0 15px;font-family:inherit;font-size:13px;transition:border-color .18s,box-shadow .18s}.field::placeholder{color:var(--ink-5)}.field:focus{border-color:var(--ink-blue);box-shadow:0 0 0 3px var(--blue);outline:none}@supports (color:color-mix(in lab,red,red)){.field:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 13%,transparent)}}select.field{cursor:pointer}.capture-form .btn{height:46px;padding:0 26px}.mobile-reg-fab{display:none}@media(max-width:768px){.mobile-reg-fab{right:max(14px,var(--safe-right));bottom:calc(68px + var(--safe-bottom));z-index:41;background:var(--ink);width:48px;height:48px;color:var(--paper);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;box-shadow:0 10px 24px -10px #0f172a80}.mobile-reg-fab .ic{stroke:currentColor;fill:none;stroke-width:2.4px;width:22px;height:22px}}.reg-panel-mask{z-index:320;background:rgba(var(--shadow-rgb),.42);-webkit-backdrop-filter:blur(6px);opacity:0;visibility:hidden;transition:opacity .2s var(--ease),visibility 0s linear .2s;place-items:end center;padding:0;display:grid;position:fixed;inset:0}.reg-panel-mask.open{opacity:1;visibility:visible;transition:opacity .2s var(--ease),visibility 0s linear 0s}.reg-panel{width:100%;max-width:480px;max-height:86vh;padding:18px 18px calc(18px + var(--safe-bottom));transition:transform .24s var(--ease);border-radius:20px 20px 0 0;gap:14px;display:grid;overflow-y:auto;transform:translateY(12px)}.reg-panel-mask.open .reg-panel{transform:translateY(0)}@media(min-width:769px){.reg-panel-mask{place-items:center;padding:20px}.reg-panel{border-radius:20px;max-height:80vh}}.reg-panel-head{justify-content:space-between;align-items:center;display:flex}.reg-panel-head b{font-size:var(--fs-title-s,15px);letter-spacing:-.015em;font-weight:700}.reg-panel-close{min-width:44px;min-height:44px;color:var(--ink-3);cursor:pointer;border-radius:var(--r-control,8px);background:0 0;border:none;place-items:center;margin:-10px -10px -10px 0;padding:0;line-height:1;display:inline-grid}.reg-panel-close:hover{background:var(--sunken);color:var(--ink)}.reg-panel-body{gap:12px;display:grid}.reg-panel-step-hint{color:var(--ink-4);margin:0;font-size:13px}.reg-type-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.reg-type-btn{border:1px solid var(--hair);border-radius:var(--r-item);background:var(--sunken);cursor:pointer;color:var(--ink);flex-direction:column;align-items:center;gap:6px;padding:14px 6px;font-size:12px;display:flex}.reg-type-btn:hover{border-color:var(--hair-strong)}.reg-type-icon{color:var(--ink-2)}.reg-optional{color:var(--ink-3);font-size:12px;font-weight:400}.reg-student-search{width:100%}.reg-student-list{gap:6px;max-height:260px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.reg-student-item{border:1px solid var(--hair);border-radius:var(--r-item);cursor:pointer;align-items:center;gap:10px;padding:10px 12px;font-size:13px;display:flex}.reg-student-item:hover{background:var(--sunken)}.reg-student-no{color:var(--ink-4)}.reg-student-dorm{color:var(--ink-4);margin-left:auto;font-size:12px}.reg-student-empty{text-align:center;color:var(--ink-4);padding:14px;font-size:13px}.reg-student-confirmed{background:var(--sunken);border-radius:var(--r-item);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;font-size:13px;display:flex}.reg-field-label{color:var(--ink-4);margin-top:2px;font-size:12px}.reg-panel-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.reg-panel-actions-done{flex-wrap:wrap;justify-content:flex-end}.reg-summary-text{background:var(--sunken);border-radius:var(--r-item);padding:12px;font-size:13px;line-height:1.6}.reg-panel-done{text-align:center}.reg-done-title{font-size:var(--fs-title-s,15px);margin:0;font-weight:700}.empty{text-align:center;color:var(--ink-4);background:var(--sunken);border:1px dashed var(--hair-strong);border-radius:var(--r-item);padding:26px;font-size:13px}.pal-swatch{border:1px solid var(--hair-strong);border-radius:8px;flex:0 0 22px;width:22px;height:22px;display:block;position:relative;overflow:hidden}.pal-swatch:before,.pal-swatch:after{content:"";position:absolute;inset:0}.pal-swatch:before{background:var(--sw-paper)}.pal-swatch:after{background:var(--sw-accent);clip-path:polygon(100% 0,100% 100%,0 100%)}.sw-paper{--sw-paper:#f8f7f2;--sw-accent:#d8ff3e}.sw-morandi{--sw-paper:#f1f5f9;--sw-accent:#38bdf8}.sw-cobalt{--sw-paper:#f6f8fc;--sw-accent:#2563eb}.sw-lake{--sw-paper:#f4f7fa;--sw-accent:#1673a3}.sw-lake-dark{--sw-paper:#0f1720;--sw-accent:#6cc0e5}.sw-lake-dim{--sw-paper:#1b2530;--sw-accent:#6cc0e5}.sw-dark{--sw-paper:#090d16;--sw-accent:#38bdf8}.acct-menu{background:var(--card);border:1px solid var(--hair-strong);border-radius:var(--r-card,12px);min-width:252px;box-shadow:var(--elev-float,0 3px 8px rgba(var(--shadow-rgb),.06), 0 28px 56px -18px rgba(var(--shadow-rgb),.4));z-index:150;gap:2px;padding:7px;display:grid;position:absolute;bottom:calc(100% + 8px);left:0;right:0}.acct-head{border-bottom:1px solid var(--rule);align-items:center;gap:11px;margin-bottom:3px;padding:9px 10px 12px;display:flex}.acct-head .av{color:#fff;background:linear-gradient(150deg,#3f4a5a,#1e2531);border-radius:12px;flex:0 0 38px;place-items:center;width:38px;height:38px;font-size:13px;font-weight:700;display:grid;box-shadow:inset 0 1px #ffffff38}.acct-head .txt{min-width:0}.acct-head b{letter-spacing:-.01em;font-size:13px;font-weight:700;display:block}.acct-head span{color:var(--ink-4);margin-top:1px;font-size:12px;display:block}.acct-label{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-5);margin:6px 0 3px;padding:0 10px;font-size:12px;font-weight:700}.acct-item{width:100%;min-height:42px;color:var(--ink-2);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:10px;padding:0 10px 0 16px;font-family:inherit;font-size:13px;font-weight:500;transition:background-color .16s,color .16s,transform .12s;display:flex}.acct-item:hover{background:var(--sunken);color:var(--ink)}.acct-item:active{transform:scale(.98)}.acct-item .ic{width:16px;height:16px;color:var(--ink-4);flex:0 0 16px}.acct-item .lb{flex:1;min-width:0}.acct-item .lb small{color:var(--ink-5);margin-top:1px;font-size:12px;font-weight:500;display:block}.acct-item.on{background:var(--paper-deep);color:var(--ink);font-weight:700}.acct-item.is-static{cursor:default}.acct-item.is-static:active{transform:none}.acct-sep{background:var(--rule);height:1px;margin:5px 4px}.acct-item.danger,.acct-item.danger .ic{color:var(--ink-alert)}.acct-item.danger:hover{background:var(--alert)}@supports (color:color-mix(in lab,red,red)){.acct-item.danger:hover{background:color-mix(in srgb,var(--alert) 6%,transparent)}}.acct-item.primary{color:var(--ink-blue);font-weight:600}.acct-item.primary .ic{color:var(--ink-blue)}.acct-item.primary:hover{background:var(--blue)}@supports (color:color-mix(in lab,red,red)){.acct-item.primary:hover{background:color-mix(in srgb,var(--blue) 6%,transparent)}}@container canvas (max-width:1080px){.wings{grid-template-columns:minmax(0,1fr)}}@container wing (max-width:560px){.radars{grid-template-columns:minmax(0,1fr)}}@supports not (container-type:inline-size){@media(max-width:1340px){.wings{grid-template-columns:minmax(0,1fr)}}}@media(max-width:820px){.wings,.wing,.radars{gap:16px}.radars{grid-template-columns:minmax(0,1fr)}.panel{padding:20px 18px}.now-bar{padding:20px 18px 20px 22px}.capture-form{grid-template-columns:minmax(0,1fr)}.capture-form .btn{width:100%}.brand h1{font-size:22px}.who-card{width:min(288px,100vw - 60px);left:auto;right:-8px}}input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea,.shell button:not([class*=rounded-full]):not([class*=rounded-xl]):not([class*=rounded-2xl]):not([class*=rounded-lg]){border-radius:var(--r-ctl)}.shell button:not(.nav-item):not(.mbn-item):not([class*=tab]){font-size:13px;font-weight:600}.shell input,.shell select,.shell textarea{font-size:13px;font-weight:400}.shell label{font-size:13px;font-weight:600}.shell th{letter-spacing:.02em;font-size:13px;font-weight:600}.page-kicker{font-size:var(--fs-meta,12px)}.shell .page-stack,.shell td,.shell p{font-size:var(--fs-body,13px)}.shell .bg-slate-50,.shell .bg-gray-50{background-color:var(--sunken)}.shell .border-slate-200,.shell .border-slate-300,.shell .border-gray-200,.shell .divide-slate-200>*+*{border-color:var(--hair)}.shell .bg-blue-600,.shell .bg-blue-500{background-color:var(--now-bar);border-color:var(--now-bar)}.shell .hover\:bg-blue-700:hover,.shell .bg-blue-600:hover{background-color:var(--brand-hover,#0369a1)}.shell .border-blue-500{border-color:var(--now-bar)}.shell .text-blue-600,.shell .text-blue-700{color:var(--now-bar)}.shell .bg-blue-50{background-color:var(--now-bar)}@supports (color:color-mix(in lab,red,red)){.shell .bg-blue-50{background-color:color-mix(in srgb,var(--now-bar) 8%,transparent)}}.shell .bg-slate-100,.shell .bg-gray-100,.shell .hover\:bg-slate-100:hover{background-color:var(--paper-deep)}.shell .shadow-sm{box-shadow:var(--elev-1)}.shell .shadow-md{box-shadow:var(--elev-2)}.shell .shadow-lg,.shell .shadow-xl{box-shadow:var(--elev-3)}.shell .text-emerald-600,.shell .text-emerald-700{color:var(--color-attend-safe)}.shell .text-amber-600,.shell .text-amber-700{color:var(--color-pending-warm)}.shell .text-red-600,.shell .text-red-700,.shell .text-rose-600{color:var(--color-grade-alert)}@media(min-width:1025px){:root{--hit-primary:38px;--hit-default:36px;--hit-inline:28px}body{font-size:var(--fs-body,13px)}.page-stack{gap:10px}.card{border-radius:12px}.shell .section-shell.p-4,.shell .card.p-4{padding:13px}.workbench-shell .topbar{gap:10px;padding:0 2px}.workbench-shell .topbar h1{font-size:var(--fs-page-title,20px)!important}.workbench-shell .stat-rail{gap:6px}.workbench-shell .stat{border-radius:8px;gap:6px;height:32px;padding:0 10px;font-size:12px}.workbench-shell .stat b{font-size:13px}.workbench-shell .stat .unit{font-size:12px}.workbench-shell .train-track-card{border-radius:12px;gap:10px;padding:10px 14px}.workbench-shell .train-track-left{gap:6px}.workbench-shell .train-track-state{border-radius:8px;padding:2px 6px;font-size:12px}.workbench-shell .train-track-title{font-size:13px}.workbench-shell .train-track-sub{font-size:12px}.workbench-shell .train-track-scroll{gap:12px;padding:4px 10px}.workbench-shell .train-track-icon{width:18px;height:18px;font-size:12px}.workbench-shell .train-track-name{font-size:12px}.workbench-shell .train-track-right .btn{border-radius:8px;height:30px;padding:0 10px;font-size:12px}.workbench-shell .wings,.workbench-shell .wing{gap:10px}.workbench-shell .panel{border-radius:12px;gap:10px;padding:12px 14px}.workbench-shell .panel-head{gap:10px;padding-bottom:8px}.workbench-shell .panel-head h2{font-size:13px}.workbench-shell .panel-head .note{font-size:12px}.workbench-shell .head-badge{padding:2px 8px;font-size:12px}.workbench-shell .todo-list{gap:8px}.workbench-shell .todo{border-radius:8px;gap:10px;padding:8px 12px 8px 14px}.workbench-shell .todo-ic{border-radius:8px;flex:0 0 28px;width:28px;height:28px;font-size:12px}.workbench-shell .kind{border-radius:8px;padding:2px 6px;font-size:12px}.workbench-shell .who-name{font-size:13px}.workbench-shell .todo-desc{font-size:12px;line-height:1.45}.workbench-shell .when{font-size:12px}.workbench-shell .btn{border-radius:8px;height:32px;padding:0 12px;font-size:12px}.workbench-shell .btn-sm{border-radius:8px;height:28px;padding:0 8px;font-size:12px}.workbench-shell .radars{gap:12px}.workbench-shell .radar{border-radius:12px;padding:12px 14px}.workbench-shell .tl-row{border-radius:8px;gap:6px;padding:6px 8px}.workbench-shell .tl-row .k{min-width:68px;font-size:12px}.workbench-shell .tl-row .v{font-size:12px}.workbench-shell .tl-row.live{padding:8px 10px}.shell button:not(.nav-item):not(.mbn-item):not([class*=tab]),.shell input,.shell select,.shell textarea{font-size:12px}.shell input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.shell select{border-radius:8px;height:32px;min-height:32px;padding-top:3px;padding-bottom:3px}.shell textarea{border-radius:8px;padding:6px 8px}.shell label,.shell th,.page-kicker{font-size:12px}.shell .page-stack,.shell td,.shell p{font-size:13px}.shell th,.shell td{padding:6px 8px}.student-cards{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}.student-card{border-radius:8px;gap:6px;padding:8px 10px}.student-card-title,.student-card-index{font-size:12px}.student-card-tag{border-radius:8px;padding:1px 5px;font-size:12px}.student-card-stats{gap:6px}.student-card-stat{border-radius:8px;padding:4px 6px}.student-card-stat label{font-size:12px}.student-card-stat strong{font-size:13px}}.mtodo-page,.mmore-page{padding:16px 12px calc(80px + var(--safe-bottom));width:100%;max-width:720px;margin:0 auto}.mtodo-header,.mmore-header{margin-bottom:16px}.mtodo-title,.mmore-title{color:var(--ink,#0f172a);letter-spacing:-.01em;font-size:22px;font-weight:700}.mtodo-subtitle{color:var(--ink-4,#64748b);margin-top:4px;font-size:13px}.mtodo-empty-card{text-align:center;background:var(--card,#fff);border:1px solid var(--hair-strong,#e2e8f0);border-radius:12px;padding:36px 20px;box-shadow:0 1px 3px #0000000a}.mtodo-empty-text{color:var(--ink-3,#475569);max-width:360px;margin:0 auto;font-size:13px;line-height:1.6}.mtodo-sections{flex-direction:column;gap:18px;display:flex}.mtodo-section-title{color:var(--ink,#0f172a);align-items:center;gap:8px;margin-bottom:8px;font-size:16px;font-weight:600;display:flex}.mtodo-badge{background:var(--paper-deep,#f1f5f9);min-width:20px;height:20px;color:var(--ink-2,#475569);border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:12px;font-weight:600;display:inline-flex}.mtodo-list{flex-direction:column;gap:8px;display:flex}.mtodo-card{background:var(--card,#fff);border:1px solid var(--hair-strong,#e2e8f0);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex;box-shadow:0 1px 3px #00000008}.mtodo-card-main{flex:1;min-width:0}.mtodo-student{align-items:baseline;gap:6px;display:flex}.mtodo-name{color:var(--ink,#0f172a);font-size:13px;font-weight:600}.mtodo-no{color:var(--ink-4,#64748b);font-size:12px}.mtodo-detail{color:var(--ink-2,#334155);word-break:break-word;margin-top:3px;font-size:13px}.mtodo-time{color:var(--ink-5,#94a3b8);margin-top:2px;font-size:12px}.mtodo-card-actions{flex-shrink:0;gap:6px;display:flex}.mtodo-btn{min-height:var(--hit-default,44px);justify-content:center;align-items:center;min-width:44px;padding:6px 12px;font-size:13px;font-weight:500;display:inline-flex}.mtodo-group-title{color:var(--ink-4,#64748b);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:13px;font-weight:700}.mtodo-source{color:var(--ink-3,#64748b);margin-left:2px;font-size:12px}.mtodo-error{color:var(--ink-alert,#b91c1c);margin-top:4px;font-size:12px;font-weight:600}.mtodo-card--later{opacity:.82}.mtodo-card--done{opacity:.7}.mtodo-done-tag{color:#059669;white-space:nowrap;background:#ecfdf5;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600}.mtodo-footer{justify-content:center;gap:12px;margin-top:24px;display:flex}.mtodo-link-btn{text-align:center;max-width:200px;min-height:var(--hit-default,44px);flex:1;justify-content:center;align-items:center;display:inline-flex}.mmore-search-wrap{margin-bottom:16px}.mmore-groups{flex-direction:column;gap:16px;display:flex}.mmore-group{background:var(--card,#fff);border:1px solid var(--hair-strong,#e2e8f0);border-radius:12px;padding:6px 0;overflow:hidden;box-shadow:0 1px 3px #00000008}.mmore-group-title{color:var(--ink-4,#64748b);letter-spacing:.02em;padding:8px 16px 4px;font-size:12px;font-weight:600}.mmore-nav-list{flex-direction:column;display:flex}.mmore-nav-item{text-align:left;cursor:pointer;touch-action:manipulation;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;min-height:48px;padding:10px 16px;transition:background .15s;display:flex}.mmore-nav-item:active{background:#0000000a}.mmore-nav-left{align-items:center;gap:12px;min-width:0;display:flex}.mmore-nav-icon{width:20px;height:20px;color:var(--ink-3,#475569);flex-shrink:0}.mmore-nav-label{color:var(--ink,#0f172a);font-size:13px;font-weight:500}.mmore-nav-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.mmore-badge{font-variant-numeric:tabular-nums;background:var(--paper-deep);min-width:18px;height:18px;color:var(--ink-4);white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.mmore-badge.mmore-due{background:var(--warm)}@supports (color:color-mix(in lab,red,red)){.mmore-badge.mmore-due{background:color-mix(in srgb,var(--warm) 13%,transparent)}}.mmore-badge.mmore-due{color:var(--ink-warm);border-color:var(--warm)}@supports (color:color-mix(in lab,red,red)){.mmore-badge.mmore-due{border-color:color-mix(in srgb,var(--warm) 26%,transparent)}}.mmore-badge.mmore-hot{background:var(--alert)}@supports (color:color-mix(in lab,red,red)){.mmore-badge.mmore-hot{background:color-mix(in srgb,var(--alert) 11%,transparent)}}.mmore-badge.mmore-hot{color:var(--ink-alert);border-color:var(--alert)}@supports (color:color-mix(in lab,red,red)){.mmore-badge.mmore-hot{border-color:color-mix(in srgb,var(--alert) 24%,transparent)}}.mmore-badge.mmore-zero{display:none}.mmore-nav-arrow{color:var(--ink-5,#cbd5e1);font-size:16px;line-height:1}.mmore-display-card{background:var(--card,#fff);border:1px solid var(--hair-strong,#e2e8f0);border-radius:12px;flex-direction:column;gap:12px;margin-top:20px;padding:16px;display:flex;box-shadow:0 1px 3px #00000008}.mmore-display-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px;display:flex}.mmore-display-head .mmore-subheading{margin-bottom:0}.mmore-display-counts{color:var(--ink-4,#64748b);font-size:12px}.mmore-display-preview{background:var(--sunken);border-radius:12px;gap:6px;padding:10px 12px;display:grid}.mmore-display-preview-row{align-items:baseline;gap:8px;font-size:13px;display:flex}.mmore-display-preview-label{color:var(--ink,#0f172a);flex-shrink:0;font-weight:600}.mmore-display-preview-detail{color:var(--ink-4,#64748b);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mmore-display-preview-more{color:var(--ink-4,#64748b);margin:0;font-size:12px}.mmore-display-empty{color:var(--ink-4,#64748b);background:var(--sunken);border-radius:12px;margin:0;padding:10px 12px;font-size:13px}.mmore-display-actions{flex-wrap:wrap;gap:8px;display:flex}.mmore-display-actions .btn{text-align:center;flex:auto;justify-content:center;min-width:96px}.mmore-display-actions .btn:disabled{opacity:.45;cursor:not-allowed}.mmore-display-clear{background:var(--card);box-shadow:var(--ceramic);color:var(--color-grade-alert,#dc2626);border:1px solid #dc262640}.mmore-display-status{margin:0;font-size:12px}.mmore-display-status--ok{color:var(--ink-2)}.mmore-display-status--warn{color:var(--ink-warm,#b45309)}.mmore-account-card{background:var(--card,#fff);border:1px solid var(--hair-strong,#e2e8f0);border-radius:12px;flex-direction:column;gap:16px;margin-top:20px;padding:16px;display:flex;box-shadow:0 1px 3px #00000008}.mmore-user-info{align-items:center;gap:8px;display:flex}.mmore-user-name{color:var(--ink,#0f172a);font-size:16px;font-weight:600}.mmore-class-name{color:var(--ink-4,#64748b);background:var(--paper-deep,#f1f5f9);border-radius:8px;padding:2px 8px;font-size:12px}.mmore-subheading{color:var(--ink-4,#64748b);margin-bottom:8px;font-size:12px;font-weight:600}.mmore-theme-options{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.mmore-theme-btn{border:1px solid var(--hair-strong,#e2e8f0);background:var(--card,#fff);cursor:pointer;touch-action:manipulation;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:52px;padding:8px 4px;transition:all .15s;display:flex}.mmore-theme-btn.is-active{border-color:var(--nav-accent,#0284c7);background:var(--nav-accent,#0284c7)}@supports (color:color-mix(in lab,red,red)){.mmore-theme-btn.is-active{background:color-mix(in srgb,var(--nav-accent,#0284c7) 8%,var(--card,#fff))}}.mmore-theme-btn.is-active{box-shadow:0 0 0 1px var(--nav-accent,#0284c7)}.mmore-theme-label{color:var(--ink,#0f172a);font-size:12px}.mmore-account-actions{flex-direction:column;gap:8px;display:flex}.mmore-action-link{border:1px solid var(--hair-strong,#e2e8f0);color:var(--ink,#0f172a);border-radius:12px;justify-content:space-between;align-items:center;min-height:48px;padding:12px 14px;font-size:13px;font-weight:500;text-decoration:none;display:flex}.mmore-logout-btn{color:#dc2626;cursor:pointer;touch-action:manipulation;background:#fff5f5;border:1px solid #fecaca;border-radius:12px;width:100%;min-height:48px;padding:12px;font-size:13px;font-weight:600}@media(max-width:768px){.wings,.workbench-shell .wings,.radars,.profile-dossier-grid{grid-template-columns:minmax(0,1fr);min-width:0}.train-track-scroll,.workbench-shell .train-track-scroll,.table-scroll,.schedule-week-container,.schedule-calendar-wrapper,.profile-dossier-wrapper,.profile-col,.profile-bento-card,.daily-top-tabs,.toolbar-row,.compact-action-bar{min-width:0}.workbench-shell .topbar-desktop{display:none!important}.workbench-shell .topbar-mobile{flex-direction:column;gap:6px;width:100%;margin-bottom:4px;display:flex!important}.workbench-shell .topbar-mobile-row1{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;min-width:0;max-width:100%;display:flex}.workbench-shell .topbar-mobile-class{flex-shrink:0;align-items:center;gap:5px;min-width:0;display:flex}.workbench-shell .topbar-class-name{color:var(--ink);white-space:nowrap;font-size:13px;font-weight:700}.workbench-shell .topbar-term-badge{color:var(--ink-3);background:var(--sunken,#f1f5f9);white-space:nowrap;border-radius:8px;padding:1px 5px;font-size:12px;font-weight:600}.workbench-shell .topbar-mobile-period{color:var(--ink-2);cursor:pointer;text-overflow:ellipsis;flex-shrink:1;align-items:center;gap:4px;min-width:0;max-width:100%;font-size:12px;display:flex;overflow:hidden}.workbench-shell .topbar-period-label{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.workbench-shell .topbar-period-time{color:var(--ink-4);white-space:nowrap;flex-shrink:0}.workbench-shell .topbar-mobile-row2{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;min-width:0;max-width:100%;display:flex}.workbench-shell .wb-attendance-summary{background:var(--card,#fff);border:1px solid var(--hair,#e2e8f0);height:28px;color:var(--ink-2);cursor:pointer;box-shadow:var(--ceramic-inset,none);border-radius:8px;align-items:center;gap:5px;padding:4px 8px;font-size:12px;display:inline-flex}.workbench-shell .wb-attendance-summary .sep{color:var(--ink-5,#cbd5e1)}.workbench-shell .wb-quick-btn{background:var(--solid-bg,#0f172a);height:28px;color:var(--on-solid,#fff);cursor:pointer;box-shadow:var(--ceramic);border:none;border-radius:8px;align-items:center;gap:4px;padding:0 9px;font-size:12px;font-weight:600;display:inline-flex}.workbench-shell .wb-quick-btn .ic{stroke:currentColor;fill:none;stroke-width:2px;width:12px;height:12px}.workbench-shell .train-track-card{display:none!important}.workbench-shell .panel{gap:8px;padding:10px 12px}.workbench-shell #hub.panel{gap:6px;padding:8px 10px}.workbench-shell .panel-head{gap:6px;padding-bottom:4px}.workbench-shell .panel-head h2{font-size:13px}.workbench-shell .panel-head .note{display:none}.workbench-shell .todo-list{gap:6px}.workbench-shell .todo{border-radius:8px;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px 6px 12px;display:flex;overflow:hidden}.workbench-shell .todo-main{flex:auto;align-items:center;gap:8px;min-width:0;display:flex;overflow:hidden}.workbench-shell .todo-ic{border-radius:8px;flex:0 0 22px;width:22px;height:22px;margin-top:0;font-size:12px}.workbench-shell .todo-body{gap:2px;min-width:0;overflow:hidden}.workbench-shell .todo-row1{flex-wrap:nowrap;align-items:center;gap:4px;display:flex;overflow:hidden}.workbench-shell .kind{border-radius:8px;flex-shrink:0;padding:1px 4px;font-size:12px}.workbench-shell .who{flex-shrink:1;align-items:center;min-width:0;display:inline-flex;overflow:hidden}.workbench-shell .who-name{white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.workbench-shell .when{white-space:nowrap;flex-shrink:0;font-size:12px}.workbench-shell .todo .phone{display:none}.workbench-shell .todo-desc{white-space:nowrap;text-overflow:ellipsis;font-size:12px;line-height:1.3;overflow:hidden}.workbench-shell .todo-actions{flex:none;align-items:center;gap:4px;display:flex}.workbench-shell .todo-actions .btn{border-radius:8px;padding:0 6px;font-size:12px;height:24px!important;min-height:0!important}.workbench-shell.shell{gap:8px;padding:12px 14px 24px}.workbench-shell .wings,.workbench-shell .wing{gap:8px}.workbench-shell .radars{grid-template-columns:1fr;gap:6px}.workbench-shell .radar{border-radius:12px;padding:8px 10px}.workbench-shell .radar-row-tappable{padding:6px 14px}.panel-head,.workbench-shell .panel-head{flex-wrap:wrap}.workbench-shell .tl{gap:4px}.workbench-shell .tl-row{flex-wrap:wrap;gap:4px;padding:4px 6px}.workbench-shell .tl-row .k{min-width:auto}.workbench-shell .memos{gap:4px}.workbench-shell .cap-mask{width:100%;max-width:100%}.workbench-shell .head-badge,.head-badge{white-space:normal}.profile-top-toolbar,.profile-top-toolbar>div{flex-wrap:wrap}.shell .flex-wrap,.shell input,.shell select,.shell textarea{min-width:0;max-width:100%}.shell .flex.items-center.gap-2,.shell .flex.items-center.gap-3,.card .flex.items-center.gap-2,.card .flex.items-center.gap-3{flex-wrap:wrap}}.toolbar-toggle-btn{display:none}@media(max-width:768px){.toolbar-toggle-btn{justify-content:center;align-items:center;display:inline-flex}.toolbar-toggle-btn~.toolbar-row{display:none}.toolbar-toggle-btn~.toolbar-row.is-expanded{flex-wrap:wrap;display:flex}}.student-card-more-toggle{display:none}@media(max-width:768px){.student-card-tag.tag-fold{display:none}.student-card-tag.tag-fold.is-expanded{display:inline-flex}.student-card-more-toggle{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;display:inline-flex}}.student-card-recent{display:none}@media(max-width:768px){.student-card-recent{color:var(--ink-alert,#be123c);background:#be123c14;border-radius:8px;flex-wrap:wrap;align-items:baseline;gap:6px;padding:3px 8px;font-size:12px;display:flex}.student-card-recent span{font-weight:600}}.student-editor-section>summary{list-style:none}.student-editor-section>summary::-webkit-details-marker{display:none}.student-editor-section>summary:before{content:"▾";color:var(--text-muted);margin-right:4px;font-size:12px;transition:transform .15s;display:inline-block}.student-editor-section:not([open])>summary:before{transform:rotate(-90deg)}.student-editor-section:not([open])>:not(summary){display:none}@media(max-width:768px){.student-editor-section{padding:10px!important}.student-editor-section+.student-editor-section{margin-top:4px}.student-editor-section>summary{flex-wrap:wrap;row-gap:2px}.student-editor-section>summary>span:last-child{flex-basis:100%;font-size:12px}}.contact-input--masked{font-variant-numeric:tabular-nums;letter-spacing:.05em}@media(max-width:768px){.contact-reveal-btn{white-space:nowrap}}.seat-board{--sb-bg:var(--sunken,#f1f5f9);--sb-card:var(--card,#fff);--sb-line:var(--hair,#0f172a1f);--sb-text:var(--ink,#0f172a);--sb-dim:var(--ink-3,#59677a);--sb-accent:var(--accent,#0369a1);--sb-male:#0284c7;--sb-female:#be4a86;--sb-a:var(--safe,#047857);--sb-b:#0369a1;--sb-c:var(--warm,#b45309);--sb-d:var(--alert,#be123c);--sb-good:var(--ink-safe,#047857);--sb-bad:var(--ink-alert,#be123c);--sb-gold:var(--ink-warm,#b45309)}[data-theme=lake-dark] .seat-board,[data-theme=lake-dim] .seat-board{--sb-male:#38bdf8;--sb-female:#f472b6}[data-theme=dark] .seat-board{--sb-male:#38bdf8;--sb-female:#f472b6;--sb-good:#34d399;--sb-bad:#fb7185;--sb-gold:#fbbf24}.sb-layout[data-dark="1"]{--sb-bg:#0f1720;--sb-card:#16212c;--sb-line:#e6edf31a;--sb-text:#e6edf3;--sb-dim:#93a2b0;--sb-accent:#6cc0e5;--sb-male:#38bdf8;--sb-female:#f472b6;--sb-a:#34d399;--sb-b:#60a5fa;--sb-c:#fbbf24;--sb-d:#fb7185;--sb-good:#34d399;--sb-bad:#fb7185;--sb-gold:#fbbf24}.sb-layout{color:var(--sb-text);grid-template-columns:minmax(0,1fr);gap:12px;display:grid}@media(min-width:1100px){.sb-layout{grid-template-columns:250px minmax(0,1fr)}.sb-layout.has-detail{grid-template-columns:250px minmax(0,1fr) 310px}.sb-layout.no-roster{grid-template-columns:minmax(0,1fr)}.sb-layout.no-roster.has-detail{grid-template-columns:minmax(0,1fr) 310px}}.sb-stagewrap{background:var(--sb-bg);border:.5px solid var(--sb-line);border-radius:var(--radius-panel,20px);min-width:0;padding:12px}.sb-roster,.sb-detail{background:var(--sb-card);border:.5px solid var(--sb-line);border-radius:var(--radius-panel,20px);min-width:0;padding:10px}.sb-roster{flex-direction:column;gap:8px;max-height:78vh;display:flex}.sb-search{border:.5px solid var(--sb-line);background:var(--sb-bg);width:100%;color:var(--sb-text);border-radius:8px;padding:8px 10px;font-size:13px}.sb-chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.sb-chip{border:.5px solid var(--sb-line);background:var(--sb-bg);color:var(--sb-text);border-radius:999px;min-height:28px;padding:4px 10px;font-size:12px}.sb-chip.on{border-color:var(--sb-accent);color:var(--sb-accent)}.sb-check{color:var(--sb-dim);align-items:center;gap:4px;font-size:12px;display:inline-flex}.sb-list{flex:1;align-content:start;gap:4px;display:grid;overflow:auto}.sb-item{cursor:pointer;border:.5px solid #0000;border-radius:8px;grid-template-columns:10px 20px 1fr auto;align-items:center;gap:6px;padding:5px 8px;font-size:13px;display:grid}.sb-item:hover,.sb-item.sel{border-color:var(--sb-accent)}.sb-item.seated{opacity:.55}.sb-iname{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sb-irank,.sb-hint,.sb-note,.sb-empty-note,.sb-dim{color:var(--sb-dim);font-size:12px}.sb-gdot{border-radius:50%;width:8px;height:8px;display:inline-block}.sb-g-M{background:var(--sb-male)}.sb-g-F{background:var(--sb-female)}.sb-tier{color:#fff;background:var(--sb-b);border-radius:8px;place-items:center;width:18px;height:18px;font-size:12px;font-weight:700;display:inline-grid}.sb-t-A{background:var(--sb-a)}.sb-t-B{background:var(--sb-b)}.sb-t-C{background:var(--sb-c)}.sb-t-D{background:var(--sb-d)}.sb-board{overflow-x:auto}.sb-rows{gap:6px;min-width:880px;display:grid}.sb-zone-back,.sb-zone-front{gap:6px;min-width:0;display:grid}.sb-rows.sb-has-zone{padding-left:26px}.sb-zone-front{position:relative}.sb-zone-label{writing-mode:vertical-rl;letter-spacing:.3em;width:22px;color:var(--sb-text);background:var(--sb-good);justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex;position:absolute;top:0;bottom:0;left:-26px}@supports (color:color-mix(in lab,red,red)){.sb-zone-label{background:color-mix(in srgb,var(--sb-good) 14%,transparent)}}.sb-zone-label{border-radius:8px}.sb-zone-front .sb-rl{background:var(--sb-good)}@supports (color:color-mix(in lab,red,red)){.sb-zone-front .sb-rl{background:color-mix(in srgb,var(--sb-good) 8%,transparent)}}.sb-zone-front .sb-rl{border-radius:8px}.sb-rows.sb-has-zone+.sb-stagebar{padding-left:26px}.sb-row{grid-template-columns:36px 3fr 22px 4fr 22px 3fr;align-items:stretch;gap:4px;display:grid}.sb-blk{background:var(--sb-line)}@supports (color:color-mix(in lab,red,red)){.sb-blk{background:color-mix(in srgb,var(--sb-line) 22%,transparent)}}.sb-blk{border-radius:8px;padding:3px}.sb-gap{position:relative}.sb-gap:before{content:"";border-left:2px dashed var(--sb-dim);position:absolute;top:-3px;bottom:-3px;left:50%}@supports (color:color-mix(in lab,red,red)){.sb-gap:before{border-left:2px dashed color-mix(in srgb,var(--sb-dim) 45%,transparent)}}.sb-blk-head .sb-gap:before{display:none}.sb-blk-name{text-align:center;color:var(--sb-dim);letter-spacing:.05em;padding:2px 0;font-size:12px;font-weight:600}.sb-rl{color:var(--sb-dim);font-variant-numeric:tabular-nums;place-items:center;font-size:12px;display:grid}.sb-blk{grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:4px;display:grid}.sb-seat{background:var(--sb-card);border:.5px solid var(--sb-line);cursor:pointer;border-radius:8px;align-content:center;gap:2px;min-width:0;min-height:66px;padding:6px 8px 6px 12px;font-size:12px;display:grid;position:relative;overflow:hidden}.sb-seat:not(.sb-empty):before{content:"";background:var(--sb-b);width:4px;position:absolute;top:0;bottom:0;left:0}.sb-seat.sb-st-A:before{background:var(--sb-a)}.sb-seat.sb-st-B:before{background:var(--sb-b)}.sb-seat.sb-st-C:before{background:var(--sb-c)}.sb-seat.sb-st-D:before{background:var(--sb-d)}.sb-seat:not(.sb-empty):after{content:"";background:0 0;height:2px;position:absolute;top:0;left:0;right:0}.sb-seat.sb-sg-M:after{background:var(--sb-male)}.sb-seat.sb-sg-F:after{background:var(--sb-female)}.sb-seat:hover{border-color:var(--sb-accent)}.sb-seat:focus-visible{outline:2px solid var(--sb-b);outline-offset:-2px}.sb-seat.sb-sel{border-color:var(--sb-gold);box-shadow:0 0 0 2px var(--sb-gold)}@supports (color:color-mix(in lab,red,red)){.sb-seat.sb-sel{box-shadow:0 0 0 2px color-mix(in srgb,var(--sb-gold) 40%,transparent)}}.sb-seat.sb-target{border-style:dashed}.sb-seat.sb-hl{outline:2px solid var(--sb-good);outline-offset:-1px}.sb-seat.sb-locked{border-color:var(--sb-c)}.sb-seat.sb-empty{border:1px dashed var(--sb-line);color:var(--sb-dim);background:0 0;place-items:center;min-height:66px;padding:6px 8px}.sb-seat.sb-empty:hover{border-color:var(--sb-dim)}.sb-plus{opacity:0;font-size:16px;line-height:1;transition:opacity .15s}.sb-seat.sb-empty:hover .sb-plus,.sb-seat.sb-empty:focus-visible .sb-plus,.sb-seat.sb-empty.sb-target .sb-plus{opacity:1}.sb-row.sb-row-empty .sb-seat{min-height:30px;padding-top:2px;padding-bottom:2px}.sb-top{align-items:center;gap:4px;min-width:0;display:flex}.sb-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.3;overflow:hidden}.sb-meta{white-space:nowrap;font-variant-numeric:tabular-nums;align-items:baseline;gap:6px;min-width:0;display:flex}.sb-no{text-overflow:ellipsis;min-width:0;color:var(--sb-dim);flex:0 auto;font-size:12px;overflow:hidden}.sb-total{color:var(--sb-text);flex:none;font-size:12px;font-weight:700}.sb-foot{flex-wrap:nowrap;align-items:center;gap:3px;min-width:0;display:flex;overflow:hidden}.sb-pill-grp{flex:none}.sb-pill-prev{flex:0 auto}.sb-pill-grp,.sb-pill-prev{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--sb-dim);background:var(--sb-text);border-radius:8px;padding:0 3px;font-size:12px;line-height:16px;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.sb-pill-grp,.sb-pill-prev{background:color-mix(in srgb,var(--sb-text) 6%,transparent)}}.sb-star{color:var(--sb-gold);flex:none;font-size:12px;line-height:1}.sb-seat .sb-star{font-size:12px;position:absolute;top:3px;right:3px}.sb-seat.sb-leader .sb-top{padding-right:6px}.sb-badge{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:12px;font-weight:700;overflow:hidden}.sb-meta .sb-badge{flex:none}.sb-b-up{color:var(--sb-good)}.sb-b-down{color:var(--sb-bad)}.sb-b-transfer{color:var(--sb-accent)}.sb-mk{white-space:nowrap;flex:none;font-size:12px}.sb-sr{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sb-stagebar{grid-template-columns:1fr minmax(160px,260px) 1fr;align-items:center;gap:10px;min-width:880px;margin-top:10px;display:grid}.sb-podium{justify-items:end;display:grid}.sb-podium:last-child{justify-items:start}.sb-podium .sb-seat{width:min(180px,100%)}.sb-stage{text-align:center;background:var(--sb-text);color:var(--sb-bg);letter-spacing:.4em;border-radius:999px;padding:8px;font-size:13px}.sb-detail{max-height:calc(var(--vh-full,100vh) - 16px);overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--sb-dim) transparent;align-content:start;align-self:start;gap:8px;display:grid;position:sticky;top:8px;overflow-y:auto}@supports (color:color-mix(in lab,red,red)){.sb-detail{scrollbar-color:color-mix(in srgb,var(--sb-dim) 70%,transparent) transparent}}.sb-layout.has-detail .sb-stagewrap{align-self:start}.sb-detail::-webkit-scrollbar{width:8px}.sb-detail::-webkit-scrollbar-thumb{background:var(--sb-dim)}@supports (color:color-mix(in lab,red,red)){.sb-detail::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--sb-dim) 60%,transparent)}}.sb-detail::-webkit-scrollbar-thumb{border-radius:8px}.sb-detail::-webkit-scrollbar-track{background:0 0}@media(max-width:1099px){.sb-detail{z-index:5;max-height:80vh}}.sb-close{min-width:32px;min-height:32px;color:var(--sb-dim);cursor:pointer;background:0 0;border:0;border-radius:8px;position:absolute;top:8px;right:8px}.sb-card{border:.5px solid var(--sb-line);border-radius:12px;gap:6px;padding:10px;display:grid}.sb-card h3{margin:0;font-size:13px}.sb-card h3 small{color:var(--sb-dim);margin-left:4px;font-size:12px;font-weight:400}.sb-row2{justify-content:space-between;font-size:12px;display:flex}.sb-row2 span{color:var(--sb-dim)}.sb-btns{flex-wrap:wrap;gap:6px;display:flex}.sb-btn{border:.5px solid var(--sb-line);background:var(--sb-bg);color:var(--sb-text);cursor:pointer;border-radius:8px;min-height:32px;padding:6px 10px;font-size:12px}.sb-btn:disabled{opacity:.45;cursor:not-allowed}.sb-subj-top{justify-content:space-between;font-size:12px;display:flex}.sb-bar{background:var(--sb-bg);border-radius:999px;height:6px;position:relative}.sb-bar-fill{background:var(--sb-accent);border-radius:999px;position:absolute;top:0;bottom:0;left:0}.sb-bar-avg{background:var(--sb-dim);width:2px;position:absolute;top:-2px;bottom:-2px}.sb-tone-good{color:var(--sb-good)}.sb-tone-bad{color:var(--sb-bad)}.sb-tone-gold{color:var(--sb-gold)}.sb-bar-fill.sb-tone-good{background:var(--sb-good)}.sb-bar-fill.sb-tone-bad{background:var(--sb-bad)}.sb-tag{border-radius:999px;margin:2px 4px 2px 0;padding:1px 8px;font-size:12px;display:inline-block}.sb-tag-weak{background:var(--sb-bad)}@supports (color:color-mix(in lab,red,red)){.sb-tag-weak{background:color-mix(in srgb,var(--sb-bad) 15%,transparent)}}.sb-tag-weak{color:var(--sb-bad)}.sb-tag-strong{background:var(--sb-good)}@supports (color:color-mix(in lab,red,red)){.sb-tag-strong{background:color-mix(in srgb,var(--sb-good) 15%,transparent)}}.sb-tag-strong{color:var(--sb-good)}.sb-nb{font-size:12px}.sb-ok{color:var(--sb-good);margin-left:4px;font-size:12px}.sb-trend{width:100%;height:auto;color:var(--sb-accent)}.sb-trend-dot{fill:var(--sb-accent)}.sb-trend-now{fill:var(--sb-gold)}.sb-trend-val{fill:var(--sb-text)}.sb-trend-lab{fill:var(--sb-dim)}.sb-score{border:.5px solid var(--sb-line);background:var(--sb-card);border-radius:12px;margin-top:10px;padding:10px}.sb-score h3{margin:0 0 6px;font-size:13px}.sb-score h3 small{color:var(--sb-dim);font-size:12px;font-weight:400}.sb-score-grid{grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:8px;display:grid}.sb-score-item{text-align:center;background:var(--sb-bg);cursor:help;border-top:3px solid #0000;border-radius:12px;padding:6px;position:relative}.sb-score-item.sb-score-good{border-top-color:var(--sb-good)}.sb-score-item.sb-score-gold{border-top-color:var(--sb-gold)}.sb-score-item.sb-score-bad{border-top-color:var(--sb-bad)}.sb-score-v{font-variant-numeric:tabular-nums;font-size:22px;font-weight:700}.sb-score-l{color:var(--sb-dim);font-size:12px}.sb-tip{z-index:60;background:var(--sb-card,#fff);width:240px;color:var(--sb-text,#0f172a);border:.5px solid var(--sb-line,#0f172a1f);box-shadow:var(--elev-3,0 8px 24px #0000004d);pointer-events:none;border-radius:12px;padding:8px 10px;font-size:12px;position:fixed}.sb-tip-name{margin-bottom:4px;font-weight:700}.sb-tip-row{justify-content:space-between;gap:8px;display:flex}.sb-tip-subj{border-top:.5px solid var(--sb-line,#0f172a1f);margin-top:4px;padding-top:4px}.sb-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:none}.sb-roster-wrap{min-width:0;display:none}.sb-roster-tab{display:none}@media(min-width:769px){.sb-toolbar{display:flex}.sb-roster-wrap{display:block}.sb-stagewrap{position:relative}.sb-roster-tab{z-index:2;border:.5px solid var(--sb-line);background:var(--sb-card);width:24px;min-height:44px;color:var(--sb-dim);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0;font-size:12px;display:inline-flex;position:absolute;top:12px;left:-12px}.sb-roster-tab:hover{color:var(--sb-text)}.sb-roster-tab:focus-visible{outline:2px solid var(--sb-accent);outline-offset:2px}.sb-layout.no-roster .sb-roster-tab{left:0}}.sb-legend{color:var(--sb-dim);flex-wrap:wrap;gap:10px;margin-left:auto;font-size:12px;display:flex}.sb-board-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 16px;margin-bottom:8px;display:flex}.sb-board-title{color:var(--sb-text);margin:0;font-size:13px;font-weight:600}.sb-stats{flex-wrap:wrap;gap:4px 16px;margin:0;display:flex}.sb-stat{align-items:baseline;gap:6px;display:flex}.sb-stat-l{color:var(--sb-dim);font-size:12px}.sb-stat-v{color:var(--sb-text);font-variant-numeric:tabular-nums;margin:0;font-size:16px;font-weight:700}.sb-stat-v small{margin-left:1px;font-size:12px;font-weight:400}@media(max-width:768px){.sb-seat{min-height:60px}}.sb-ov{color:var(--sb-text);gap:12px;display:grid}.sb-ov-stats{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;display:grid}.sb-ov-stat{text-align:center;background:var(--sb-card);border:.5px solid var(--sb-line);border-radius:12px;padding:12px 8px}.sb-ov-v{font-size:24px;font-weight:700}.sb-ov-l{color:var(--sb-dim);font-size:12px}.sb-ov-v{font-variant-numeric:tabular-nums}.sb-ov-stat-wide{grid-column:span 2}.sb-ov-range{gap:4px;margin-top:6px;display:grid}.sb-ov-range-track{background:linear-gradient(90deg,var(--sb-bad),var(--sb-good));border-radius:8px;height:6px;position:relative}@supports (color:color-mix(in lab,red,red)){.sb-ov-range-track{background:linear-gradient(90deg,color-mix(in srgb,var(--sb-bad) 45%,transparent),color-mix(in srgb,var(--sb-good) 45%,transparent))}}.sb-ov-range-avg{background:var(--sb-text);border-radius:8px;width:3px;margin-left:-1px;position:absolute;top:-4px;bottom:-4px}.sb-ov-range-ends{color:var(--sb-dim);font-variant-numeric:tabular-nums;justify-content:space-between;gap:8px;font-size:12px;display:flex}.sb-ov-dist{background:var(--sb-bg);border-radius:8px;gap:2px;height:28px;display:flex;overflow:hidden}.sb-ov-seg{color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap;justify-content:center;align-items:center;min-width:0;font-size:12px;font-weight:700;display:flex;overflow:hidden}.sb-layout[data-dark="1"] .sb-ov-seg{color:#0b1220}.sb-ov-seg-A{background:var(--sb-a)}.sb-ov-seg-B{background:var(--sb-b)}.sb-ov-seg-C{background:var(--sb-c)}.sb-ov-seg-D{background:var(--sb-d)}.sb-ov-seg-none{color:var(--sb-dim);margin:auto;font-size:12px}.sb-ov-legend{flex-wrap:wrap;gap:6px 16px;margin:8px 0 0;padding:0;font-size:12px;list-style:none;display:flex}.sb-ov-legend li{font-variant-numeric:tabular-nums;align-items:center;gap:6px;display:inline-flex}.sb-ov-legend small{color:var(--sb-dim);font-size:12px}.sb-ov-sw{border-radius:8px;width:12px;height:12px;display:inline-block}.sb-ov-subjects{gap:6px;margin:0;padding:0;list-style:none;display:grid}.sb-ov-subj{grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:10px;font-size:13px;display:grid;position:relative}.sb-ov-subj-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sb-ov-sbar{background:var(--sb-text);border-radius:8px;height:12px;position:relative}@supports (color:color-mix(in lab,red,red)){.sb-ov-sbar{background:color-mix(in srgb,var(--sb-text) 8%,transparent)}}.sb-ov-sbar-fill{border-radius:8px;position:absolute;top:0;bottom:0;left:0}.sb-ov-sbar-ok{background:var(--sb-b)}.sb-ov-sbar-below{background:var(--sb-c)}.sb-ov-sbar-pass{background:var(--sb-text);width:2px;margin-left:-1px;position:absolute;top:-3px;bottom:-3px}.sb-ov-subj-v{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:96px}.sb-ov-subj-v small{color:var(--sb-dim);font-size:12px}.sb-ov-below{color:var(--sb-gold);margin-left:6px;font-size:12px;font-weight:600}.sb-ov-trend{width:100%;height:120px;color:var(--sb-b);margin:0 0 4px;position:relative}.sb-ov-trend-line{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.sb-ov-trend-pt{width:0;height:0;position:absolute}.sb-ov-trend-dot,.sb-ov-trend-now{border:2px solid var(--sb-card);border-radius:8px;width:10px;height:10px;position:absolute;top:-5px;left:-5px}.sb-ov-trend-dot{background:var(--sb-b)}.sb-ov-trend-now{background:var(--sb-gold)}.sb-ov-trend-val{color:var(--sb-text);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12px;font-weight:600;position:absolute;bottom:8px;left:0;transform:translate(-50%)}.sb-ov-trend-lab{color:var(--sb-dim);white-space:nowrap;font-size:12px;position:absolute;bottom:0;transform:translate(-50%)}.sb-ov-trend-note{color:var(--sb-dim);margin:0 0 8px;font-size:12px}.sb-ov-panel{background:var(--sb-card);border:.5px solid var(--sb-line);border-radius:12px;min-width:0;padding:12px}.sb-ov-h{margin:0 0 8px;font-size:13px}.sb-ov-h small{color:var(--sb-dim);font-size:12px;font-weight:400}.sb-ov-rules{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}@media(min-width:720px){.sb-ov-rules{grid-template-columns:repeat(2,minmax(0,1fr))}}.sb-ov-rule{border:.5px solid var(--sb-line);background:var(--sb-bg);border-radius:12px;min-width:0;padding:10px 12px}.sb-ov-rule-sum{cursor:pointer;gap:2px;list-style:none;display:grid}.sb-ov-rule-sum::-webkit-details-marker{display:none}.sb-ov-rule-sum:after{content:"展开 ▾";color:var(--sb-dim);justify-self:end;font-size:12px}.sb-ov-rule[open] .sb-ov-rule-sum:after{content:"收起 ▴"}.sb-ov-rule-sum:focus-visible{outline:2px solid var(--sb-b);outline-offset:4px;border-radius:8px}.sb-ov-rule h4{align-items:center;gap:8px;margin:0;font-size:13px;display:flex}.sb-ov-point{color:var(--sb-text);margin:0;font-size:13px}.sb-ov-rule-text{color:var(--sb-dim);margin:8px 0 0;font-size:13px}.sb-ov-tag{background:var(--sb-accent);border-radius:999px;padding:1px 8px;font-size:12px}@supports (color:color-mix(in lab,red,red)){.sb-ov-tag{background:color-mix(in srgb,var(--sb-accent) 18%,transparent)}}.sb-ov-tag{color:var(--sb-accent)}.sb-ov-tag-1{background:var(--sb-gold)}@supports (color:color-mix(in lab,red,red)){.sb-ov-tag-1{background:color-mix(in srgb,var(--sb-gold) 18%,transparent)}}.sb-ov-tag-1{color:var(--sb-gold)}.sb-ov-tag-3{background:var(--sb-good)}@supports (color:color-mix(in lab,red,red)){.sb-ov-tag-3{background:color-mix(in srgb,var(--sb-good) 18%,transparent)}}.sb-ov-tag-3{color:var(--sb-good)}.sb-ov-tag-4{background:var(--sb-b)}@supports (color:color-mix(in lab,red,red)){.sb-ov-tag-4{background:color-mix(in srgb,var(--sb-b) 18%,transparent)}}.sb-ov-tag-4{color:var(--sb-b)}.sb-ov-tag-5{background:var(--sb-c)}@supports (color:color-mix(in lab,red,red)){.sb-ov-tag-5{background:color-mix(in srgb,var(--sb-c) 18%,transparent)}}.sb-ov-tag-5{color:var(--sb-c)}.sb-ov-scroll{overflow-x:auto}.sb-ov-table{border-collapse:collapse;width:100%;min-width:520px;font-size:13px}.sb-ov-table th,.sb-ov-table td{text-align:left;border-bottom:.5px solid var(--sb-line);white-space:nowrap;padding:6px 8px}.sb-ov-table th{color:var(--sb-dim);font-weight:600}.sb-ov-badge{border-radius:8px;padding:1px 8px;font-size:12px}.sb-ov-badge-cur{background:var(--sb-good)}@supports (color:color-mix(in lab,red,red)){.sb-ov-badge-cur{background:color-mix(in srgb,var(--sb-good) 18%,transparent)}}.sb-ov-badge-cur{color:var(--sb-good)}.sb-ov-badge-prev{background:var(--sb-gold)}@supports (color:color-mix(in lab,red,red)){.sb-ov-badge-prev{background:color-mix(in srgb,var(--sb-gold) 18%,transparent)}}.sb-ov-badge-prev{color:var(--sb-gold)}.sb-ov-boards{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}@media(min-width:900px){.sb-ov-boards{grid-template-columns:repeat(2,minmax(0,1fr))}}.sb-ov-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.sb-ov-row{border-bottom:.5px solid var(--sb-line);grid-template-columns:minmax(0,1fr) minmax(48px,30%) auto;align-items:center;gap:8px;padding:4px 0;font-size:13px;display:grid}.sb-ov-who{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sb-ov-delta{white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}.sb-ov-mag{background:var(--sb-text);border-radius:8px;height:8px;position:relative}@supports (color:color-mix(in lab,red,red)){.sb-ov-mag{background:color-mix(in srgb,var(--sb-text) 8%,transparent)}}.sb-ov-mag{overflow:hidden}.sb-ov-mag-fill{border-radius:8px;position:absolute;top:0;bottom:0;left:0}.sb-ov-mag-up{background:var(--sb-good)}.sb-ov-mag-down{background:var(--sb-bad)}.sb-ov-row small{color:var(--sb-dim);font-size:12px}.sb-ov-name{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.sb-ov-name:hover,.sb-ov-name:focus-visible{color:var(--sb-accent)}.sb-ov-name:focus-visible{outline:2px solid var(--sb-accent);outline-offset:2px}.sb-hist{color:var(--sb-text);gap:12px;display:grid}.sb-hist-bar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sb-hist-input{border:.5px solid var(--sb-line);background:var(--sb-bg);min-width:0;color:var(--sb-text);border-radius:8px;flex:260px;padding:8px 10px;font-size:13px}.sb-hist-item{background:var(--sb-card);border:.5px solid var(--sb-line);border-radius:12px;gap:10px;min-width:0;padding:12px 16px;display:grid}.sb-hist-title{font-size:var(--fs-title-s,15px);flex-wrap:wrap;align-items:center;gap:8px;margin:0;display:flex}.sb-hist-sub{color:var(--sb-dim);margin:4px 0 0;font-size:12px}.sb-hist-badge{background:var(--sb-gold);color:var(--sb-card);border-radius:8px;padding:2px 10px;font-size:12px;font-weight:700}.sb-hist-item.sb-hist-prev{border:1.5px solid var(--sb-gold);box-shadow:0 0 0 3px var(--sb-gold)}@supports (color:color-mix(in lab,red,red)){.sb-hist-item.sb-hist-prev{box-shadow:0 0 0 3px color-mix(in srgb,var(--sb-gold) 16%,transparent)}}.sb-hist-main{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 20px;min-width:0;display:grid}.sb-hist-text{align-content:center;gap:8px;min-width:0;display:grid}.sb-hist-head{min-width:0}@media(max-width:640px){.sb-hist-main{grid-template-columns:minmax(0,1fr)}.sb-hist-mini{justify-self:start}}.sb-hist-mini{background:var(--sb-bg);border:.5px solid var(--sb-line);border-radius:8px;gap:2px;padding:6px;display:grid}.sb-mini-row,.sb-mini-podium{align-items:center;gap:2px;display:flex}.sb-mini-podium{justify-content:center;margin-top:4px}.sb-mini-gap{width:8px}.sb-mini-cell{background:var(--sb-dim);width:16px;height:10px;display:inline-block}.sb-mini-e{border:1px dashed var(--sb-line);background:0 0}.sb-mini-tA{background:var(--sb-a)}.sb-mini-tB{background:var(--sb-b)}.sb-mini-tC{background:var(--sb-c)}.sb-mini-tD{background:var(--sb-d)}.sb-mini-gF{border-radius:8px}.sb-mini-stage{background:var(--sb-text);opacity:.5;border-radius:8px;width:64px;height:6px;display:inline-block}.sb-hist-chips{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.sb-hist-chip{border:.5px solid var(--sb-line);background:var(--sb-bg);font-variant-numeric:tabular-nums;border-radius:8px;align-items:baseline;gap:4px;padding:2px 10px;font-size:12px;display:inline-flex}.sb-hist-chip-good{color:var(--sb-good);border-color:var(--sb-good)}@supports (color:color-mix(in lab,red,red)){.sb-hist-chip-good{border-color:color-mix(in srgb,var(--sb-good) 40%,transparent)}}.sb-hist-chip-bad{color:var(--sb-bad);border-color:var(--sb-bad)}@supports (color:color-mix(in lab,red,red)){.sb-hist-chip-bad{border-color:color-mix(in srgb,var(--sb-bad) 40%,transparent)}}.sb-hist-actions{flex-wrap:wrap;gap:6px;display:flex}.sb-hist-del{border:.5px solid var(--sb-bad)}@supports (color:color-mix(in lab,red,red)){.sb-hist-del{border:.5px solid color-mix(in srgb,var(--sb-bad) 40%,transparent)}}.sb-hist-del{background:var(--sb-bg);color:var(--sb-bad);cursor:pointer;border-radius:8px;min-height:32px;padding:6px 10px;font-size:12px}.sb-hist-scroll{overflow-x:auto}.sb-hist-grid{border-collapse:separate;border-spacing:3px;font-size:12px}.sb-hist-grid th{color:var(--sb-dim);text-align:right;padding:0 4px;font-weight:600}.sb-hist-seat{text-align:center;white-space:nowrap;border:2px solid var(--sb-line);border-radius:8px;min-width:52px;height:28px;padding:0 4px}.sb-hist-seat.g-M{border-color:var(--sb-male)}.sb-hist-seat.g-F{border-color:var(--sb-female)}.sb-hist-seat.e{border-style:dashed;border-color:var(--sb-line);color:var(--sb-dim)}.sb-hist-gap{width:14px}.sb-hist-podium,.sb-hist-podium-side{text-align:center;color:var(--sb-dim);letter-spacing:.2em;font-size:12px}.sb-hist-compare{border-top:.5px solid var(--sb-line);gap:8px;padding-top:10px;display:grid}.sb-hist-compare-text{margin:0;font-size:13px}.sb-hist-compare-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.sb-hist-compare h4{margin:0 0 4px;font-size:13px}.sb-hist-compare ul{gap:2px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.sb-rd{background:var(--sb-card);border:.5px solid var(--sb-line);min-width:0;color:var(--sb-text);border-radius:12px;gap:8px;margin-bottom:12px;padding:16px;display:grid;position:relative}.sb-rd-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.sb-rd-head .sb-ov-h{margin:0}.sb-rd.sb-rd-compact{padding:10px 16px}.sb-rd-line{min-width:0;color:var(--sb-text);overflow-wrap:anywhere;flex:260px;align-items:center;gap:8px;margin:0;font-size:13px;display:flex}.sb-rd-line .sb-rd-dot{flex:none}.sb-rd-badge{border-radius:8px;padding:2px 10px;font-size:12px}.sb-rd-badge.sb-rd-ok{background:var(--sb-good)}@supports (color:color-mix(in lab,red,red)){.sb-rd-badge.sb-rd-ok{background:color-mix(in srgb,var(--sb-good) 16%,transparent)}}.sb-rd-badge.sb-rd-ok{color:var(--sb-good)}.sb-rd-badge.sb-rd-warn{background:var(--sb-gold)}@supports (color:color-mix(in lab,red,red)){.sb-rd-badge.sb-rd-warn{background:color-mix(in srgb,var(--sb-gold) 18%,transparent)}}.sb-rd-badge.sb-rd-warn{color:var(--sb-gold)}.sb-rd-badge.sb-rd-bad{background:var(--sb-bad)}@supports (color:color-mix(in lab,red,red)){.sb-rd-badge.sb-rd-bad{background:color-mix(in srgb,var(--sb-bad) 16%,transparent)}}.sb-rd-badge.sb-rd-bad{color:var(--sb-bad)}.sb-rd-list{margin:0;padding:0;list-style:none}.sb-rd-item{border-top:1px solid var(--sb-line);grid-template-columns:12px 88px minmax(0,1fr) auto;align-items:center;gap:4px 10px;padding:8px 0;font-size:13px;display:grid}.sb-rd-item:first-child{border-top:0}.sb-rd-title{font-weight:600}.sb-rd-detail{color:var(--sb-dim);overflow-wrap:anywhere;min-width:0}.sb-rd-dot{background:var(--sb-dim);border-radius:8px;width:10px;height:10px}.sb-rd-dot.sb-rd-ok{background:var(--sb-good)}.sb-rd-dot.sb-rd-warn{background:var(--sb-gold)}.sb-rd-dot.sb-rd-bad{background:var(--sb-bad)}.sb-rd-chip{border:.5px solid var(--sb-line);background:var(--sb-bg);cursor:pointer;border-radius:8px;min-height:32px;padding:4px 10px;font-size:12px}.sb-rd-chip.sb-rd-chip-warn{color:var(--sb-gold)}.sb-rd-chip.sb-rd-chip-bad{color:var(--sb-bad)}.sb-ov-prof{border:.5px solid var(--sb-line);color:var(--sb-dim);cursor:pointer;background:0 0;border-radius:8px;min-height:24px;padding:0 6px;font-size:12px}.sb-ov-prof:hover,.sb-ov-prof:focus-visible{color:var(--sb-accent)}.sb-rd-sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media(max-width:640px){.sb-rd-item{grid-template-columns:12px minmax(0,1fr)}.sb-rd-detail,.sb-rd-item .sb-btn{grid-column:2;justify-self:start}}.sb-lg{background:var(--sb-card);border:1px solid var(--sb-accent)}@supports (color:color-mix(in lab,red,red)){.sb-lg{border:1px solid color-mix(in srgb,var(--sb-accent) 45%,var(--sb-line))}}.sb-lg{min-width:0;color:var(--sb-text);border-radius:12px;gap:12px;padding:16px;transition:border-color .15s,box-shadow .15s;display:grid}.sb-lg.sb-lg-dragging{border-style:dashed;border-color:var(--sb-accent);box-shadow:0 0 0 3px var(--sb-accent)}@supports (color:color-mix(in lab,red,red)){.sb-lg.sb-lg-dragging{box-shadow:0 0 0 3px color-mix(in srgb,var(--sb-accent) 25%,transparent)}}.sb-lg-head{gap:4px;display:grid}.sb-lg-title{font-size:var(--fs-title-s,15px);margin:0;font-weight:600}.sb-lg-hint{color:var(--sb-text);margin:0;font-size:13px}.sb-lg-mark{border:1.5px solid;border-radius:999px;flex:none;justify-content:center;align-items:center;width:24px;height:24px;font-size:13px;font-weight:700;line-height:1;display:inline-flex}.sb-lg-banner{border:1px solid var(--sb-line);background:var(--sb-bg);color:var(--sb-text);border-left-width:4px;border-radius:8px;align-items:flex-start;gap:10px;padding:12px;display:flex}.sb-lg-banner-body{gap:2px;min-width:0;display:grid}.sb-lg-banner-title{font-size:var(--fs-title-s,15px);overflow-wrap:anywhere;margin:0;font-weight:600}.sb-lg-banner-detail{overflow-wrap:anywhere;margin:0;font-size:13px}.sb-lg-tone-info{border-color:var(--sb-accent)}@supports (color:color-mix(in lab,red,red)){.sb-lg-tone-info{border-color:color-mix(in srgb,var(--sb-accent) 50%,transparent)}}.sb-lg-tone-info{background:var(--sb-accent)}@supports (color:color-mix(in lab,red,red)){.sb-lg-tone-info{background:color-mix(in srgb,var(--sb-accent) 8%,var(--sb-card))}}.sb-lg-tone-ok{border-color:var(--sb-good);background:var(--sb-good)}@supports (color:color-mix(in lab,red,red)){.sb-lg-tone-ok{background:color-mix(in srgb,var(--sb-good) 10%,var(--sb-card))}}.sb-lg-tone-warn,.sb-lg-tone-gold{border-color:var(--sb-gold);background:var(--sb-gold)}@supports (color:color-mix(in lab,red,red)){.sb-lg-tone-warn,.sb-lg-tone-gold{background:color-mix(in srgb,var(--sb-gold) 10%,var(--sb-card))}}.sb-lg-tone-bad{border-color:var(--sb-bad);background:var(--sb-bad)}@supports (color:color-mix(in lab,red,red)){.sb-lg-tone-bad{background:color-mix(in srgb,var(--sb-bad) 10%,var(--sb-card))}}.sb-lg-tone-info .sb-lg-mark{color:var(--sb-accent)}.sb-lg-tone-ok .sb-lg-mark{color:var(--sb-good)}.sb-lg-tone-warn .sb-lg-mark,.sb-lg-tone-gold .sb-lg-mark{color:var(--sb-gold)}.sb-lg-tone-bad .sb-lg-mark{color:var(--sb-bad)}.sb-lg-filelist{gap:6px;margin:0;padding:0;list-style:none;display:grid}.sb-lg-filerow{border:1px solid var(--sb-line);color:var(--sb-text);overflow-wrap:anywhere;border-left-width:4px;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;min-width:0;padding:6px 10px;font-size:13px;display:flex}.sb-lg-filerow .sb-lg-mark{width:20px;height:20px;font-size:12px}.sb-lg-filename{min-width:0;font-weight:600}.sb-lg-filereason{min-width:0}.sb-lg-f-ok{border-left-color:var(--sb-good)}.sb-lg-f-ok .sb-lg-mark{color:var(--sb-good)}.sb-lg-f-ignored{border-left-color:var(--sb-gold);background:var(--sb-gold)}@supports (color:color-mix(in lab,red,red)){.sb-lg-f-ignored{background:color-mix(in srgb,var(--sb-gold) 8%,var(--sb-card))}}.sb-lg-f-ignored .sb-lg-mark{color:var(--sb-gold)}.sb-lg-f-problem{border-color:var(--sb-bad);background:var(--sb-bad)}@supports (color:color-mix(in lab,red,red)){.sb-lg-f-problem{background:color-mix(in srgb,var(--sb-bad) 10%,var(--sb-card))}}.sb-lg-f-problem{font-weight:600}.sb-lg-f-problem .sb-lg-mark{color:var(--sb-bad)}.sb-lg-pick{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.sb-lg-pickbtn{background:var(--sb-accent);min-height:44px;color:var(--sb-card);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0 18px;font-size:13px;font-weight:600;display:inline-flex;position:relative}.sb-lg-pickbtn:focus-within{outline:3px solid var(--sb-accent);outline-offset:3px}.sb-lg-file{clip:rect(0 0 0 0);white-space:nowrap;opacity:0;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sb-lg-pickhint{color:var(--sb-text);font-size:13px}.sb-lg-preview,.sb-lg-result{gap:8px;display:grid}.sb-lg-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}@media(min-width:720px){.sb-lg-tiles{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}.sb-lg-tile{border:1px solid var(--sb-line);background:var(--sb-bg);min-width:0;color:var(--sb-text);border-radius:8px;align-content:start;gap:2px;padding:10px 12px;display:grid}.sb-lg-tile-label{font-size:12px;font-weight:600}.sb-lg-tile-value{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:24px;font-weight:700;line-height:1.2}.sb-lg-tile-value small{margin-left:2px;font-size:13px;font-weight:600}.sb-lg-tile-sub{overflow-wrap:anywhere;font-size:12px}.sb-lg-note{border:1px solid var(--sb-line);color:var(--sb-text);border-left-width:4px;border-radius:8px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.sb-lg-note-text{overflow-wrap:anywhere;min-width:0;margin:0;font-size:13px}.sb-lg-tone-gold .sb-lg-note-text{font-weight:600}.sb-lg-count{font-size:16px}.sb-lg-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.sb-lg-primary{background:var(--sb-accent);min-height:44px;color:var(--sb-card);cursor:pointer;border:0;border-radius:8px;padding:0 20px;font-size:13px;font-weight:600}.sb-lg-primary:disabled{background:var(--sb-bg);color:var(--sb-text);border:1px dashed var(--sb-line);cursor:not-allowed}.sb-lg-secondary{border:1px solid var(--sb-line);background:var(--sb-bg);min-height:44px;color:var(--sb-text);cursor:pointer;border-radius:8px;padding:0 16px;font-size:13px}.sb-lg-primary:focus-visible,.sb-lg-secondary:focus-visible{outline:3px solid var(--sb-accent);outline-offset:2px}.sb-lg-block{color:var(--sb-text);font-size:13px;font-weight:600}.sb-head{gap:10px;display:grid}.sb-tabrow{border-bottom:1px solid var(--sb-line,#0f172a1f);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:4px 12px;display:flex}.sb-tabrow .sb-rd-chip{margin-bottom:6px}.sb-seg{scrollbar-width:thin;flex:auto;gap:4px;min-width:0;max-width:100%;display:flex;overflow-x:auto}.sb-seg-btn{white-space:nowrap;color:var(--sb-dim,#59677a);cursor:pointer;background:0 0;border:0;flex:none;min-height:40px;padding:8px 12px;font-size:13px;box-shadow:inset 0 -1px #0000}.sb-seg-btn:hover{box-shadow:inset 0 -1px 0 var(--sb-dim,#59677a)}.sb-seg-btn:focus-visible{outline:2px solid var(--sb-b,#0369a1);outline-offset:-2px;border-radius:8px}.sb-seg-desk{display:none}@media(min-width:768px){.sb-seg-desk{display:inline-block}}.sb-view-stack{gap:12px;min-width:0;display:grid}.sb-set-card{background:var(--sb-card);border:.5px solid var(--sb-line);min-width:0;color:var(--sb-text);border-radius:12px;gap:12px;padding:16px;display:grid}.sb-set-title{font-size:var(--fs-title-s,15px);margin:0;font-weight:600}.sb-set-summary{cursor:pointer}.sb-set-summary:focus-visible{outline:2px solid var(--sb-b);outline-offset:4px;border-radius:8px}.sb-set-basis{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px;font-size:13px;display:grid}.sb-set-form[open]{gap:0}.sb-set-form>.sb-set-group{width:100%;max-width:760px}.sb-set-group{border:0;border-top:.5px solid var(--sb-line);gap:8px;min-width:0;margin:20px 0 0;padding:14px 0 0;display:grid}.sb-set-legend{float:left;width:100%;margin:0 0 4px;padding:0;font-size:13px;font-weight:600}.sb-set-field{grid-template-columns:minmax(0,1fr) minmax(160px,260px);align-items:center;gap:4px 16px;display:grid}.sb-set-label{text-align:left;gap:2px;font-size:13px;display:grid}.sb-set-help{color:var(--sb-dim);font-size:12px;font-weight:400}.sb-set-input{border:1px solid var(--sb-line);background:var(--sb-bg);width:100%;height:40px;min-height:40px;color:var(--sb-text);border-radius:8px;padding:0 10px;font-size:13px}.sb-set-input:focus-visible{outline:2px solid var(--sb-b);outline-offset:1px}.sb-set-check{cursor:pointer;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:10px;min-height:40px;display:grid}.sb-set-check input{width:18px;height:18px;accent-color:var(--sb-b);margin:0}@media(max-width:900px){.sb-set-field{grid-template-columns:minmax(0,1fr)}}.sb-set-table{border-collapse:collapse;width:100%;font-size:13px}.sb-set-table th,.sb-set-table td{text-align:left;border-bottom:.5px solid var(--sb-line);white-space:nowrap;padding:6px 10px}.sb-set-table th{color:var(--sb-dim);font-weight:600}.sb-set-table td:first-child{font-variant-numeric:tabular-nums}.sb-set-notes{gap:4px;margin:0;padding-left:18px;font-size:13px;display:grid}.sb-imp-label{font-size:13px;font-weight:600}.sb-imp-text{border:1px solid var(--sb-line);background:var(--sb-bg);width:100%;min-height:120px;color:var(--sb-text);border-radius:8px;padding:8px 10px;font-family:inherit;font-size:13px}.sb-imp-text:focus-visible{outline:2px solid var(--sb-b);outline-offset:1px}.sb-imp-table{border-collapse:collapse;width:100%;font-size:13px}.sb-imp-table th,.sb-imp-table td{text-align:left;vertical-align:top;border-bottom:.5px solid var(--sb-line);overflow-wrap:anywhere;padding:6px 10px}.sb-imp-table th{width:200px;font-weight:600}.sb-imp-warn{background:var(--sb-gold)}@supports (color:color-mix(in lab,red,red)){.sb-imp-warn{background:color-mix(in srgb,var(--sb-gold) 10%,var(--sb-card))}}.sb-imp-warn{box-shadow:inset 4px 0 0 var(--sb-gold)}.sb-seg-btn.on{color:var(--sb-text,#0f172a);box-shadow:inset 0 -3px 0 var(--sb-text,#0f172a);font-weight:600}.sb-actions{margin-bottom:0}.sb-actions-group{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.sb-actions-end{align-items:center;gap:8px;margin-left:auto;display:flex}.sb-btn-primary{color:#fff;cursor:pointer;background:#0369a1;border:0;border-radius:8px;min-height:36px;padding:6px 16px;font-size:13px;font-weight:600}.sb-btn-primary:focus-visible,.sb-btn:focus-visible{outline:2px solid var(--sb-b,#0369a1);outline-offset:2px}.sb-switch{align-items:center;gap:6px;display:inline-flex}.sb-switch-knob{background:var(--sb-line,#0f172a1f);border:1px solid var(--sb-dim,#59677a);border-radius:8px;flex:none;width:26px;height:14px;position:relative}.sb-switch-knob:after{content:"";background:var(--sb-dim,#59677a);border-radius:8px;width:10px;height:10px;transition:transform .15s;position:absolute;top:1px;left:1px}.sb-switch[aria-pressed=true] .sb-switch-knob{background:var(--sb-b,#0369a1);border-color:var(--sb-b,#0369a1)}.sb-switch[aria-pressed=true] .sb-switch-knob:after{background:var(--card,#fff);transform:translate(12px)}.sb-menu{position:relative}.sb-menu-list{z-index:40;background:var(--sb-card,#fff);border:.5px solid var(--sb-line,#0f172a1f);min-width:176px;box-shadow:var(--elev-3,0 8px 24px #0f172a2e);border-radius:12px;gap:2px;padding:4px;display:grid;position:absolute;top:calc(100% + 4px);right:0}.sb-menu-item{text-align:left;width:100%;color:var(--sb-text,#0f172a);cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:8px;min-height:36px;padding:6px 10px;font-size:13px;display:flex}.sb-menu-item:hover,.sb-menu-item:focus{background:var(--sb-bg,#f1f5f9)}.sb-menu-item:focus-visible{outline:2px solid var(--sb-b,#0369a1);outline-offset:-2px}.sb-menu-sep{background:var(--sb-line,#0f172a1f);height:1px;margin:2px 4px}.sb-menu-box{border:1px solid var(--sb-dim,#59677a);flex:none;place-items:center;width:16px;height:16px;font-size:12px;line-height:1;display:inline-grid}.sb-layout.sb-layout-overview{display:block}:root{text-autospace:normal}h1,h2,h3,h4,.page-title,.panel-title,.section-title{text-wrap:balance;text-spacing-trim:trim-start;line-height:var(--lh-title,1.3)}p,.page-kicker{text-wrap:pretty}label,th,.acct-label,.nav-title{text-spacing-trim:trim-start}.nowrap{white-space:nowrap}.num{font-variant-numeric:tabular-nums;font-weight:600}.figure{font-size:var(--fs-figure,24px);font-weight:600;line-height:var(--lh-title,1.3);font-variant-numeric:tabular-nums}.text-tracked{--tracking:.3em;letter-spacing:var(--tracking);padding-inline-start:var(--tracking)}#app .font-mono{font-variant-numeric:tabular-nums;font-family:inherit}#app :is(code,pre,kbd,samp),.code-surface,#app .code-surface .font-mono,#app [data-page=health] .font-mono{font-family:var(--font-mono)}.surface-glass,.detail-card,.cap-mask>.capture,.reg-panel-mask>.reg-panel{background:var(--card)}@supports (color:color-mix(in lab,red,red)){.surface-glass,.detail-card,.cap-mask>.capture,.reg-panel-mask>.reg-panel{background:color-mix(in srgb,var(--card) 72%,transparent)}}.surface-glass,.detail-card,.cap-mask>.capture,.reg-panel-mask>.reg-panel{-webkit-backdrop-filter:blur(12px)saturate(160%);backdrop-filter:blur(12px)saturate(160%)}.surface-glass{border-bottom:.5px solid var(--hair)}.sb-menu-list.surface-glass{background:var(--sb-card,var(--card))}@supports (color:color-mix(in lab,red,red)){.sb-menu-list.surface-glass{background:color-mix(in srgb,var(--sb-card,var(--card)) 72%,transparent)}}.sb-menu-list.surface-glass{border:.5px solid var(--sb-line,var(--hair))}.detail-card,.cap-mask>.capture,.reg-panel-mask>.reg-panel,.sb-menu-list{box-shadow:var(--elev-float,0 12px 32px -12px rgba(var(--shadow-rgb,15, 23, 42), .3))}.detail-card,.cap-mask>.capture{border:.5px solid var(--hair)}@media(min-width:769px){.detail-card,.cap-mask>.capture{border-radius:var(--r-panel,20px)}}.detail-head{background:0 0}@media(max-width:768px){.detail-head{background:var(--card)}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.surface-glass,.detail-card,.cap-mask>.capture,.reg-panel-mask>.reg-panel,.sb-menu-list.surface-glass{background:var(--card)}}@media(prefers-reduced-transparency:reduce){.surface-glass,.detail-card,.cap-mask>.capture,.reg-panel-mask>.reg-panel,.sb-menu-list.surface-glass{background:var(--card);-webkit-backdrop-filter:none;backdrop-filter:none}}.page-header{align-items:flex-end}.page-header-text{min-width:0}.page-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-inline-start:auto;display:flex}.page-header--sticky{z-index:20;padding-block:12px;position:sticky;top:0}.btn{border-radius:var(--r-control,8px);height:40px;font-size:var(--fs-body,13px);transition:background-color var(--dur-fast,.15s) var(--ease-out,ease),border-color var(--dur-fast,.15s) var(--ease-out,ease),color var(--dur-fast,.15s) var(--ease-out,ease),transform var(--dur-fast,.15s) var(--ease-out,ease)}@media(any-pointer:coarse){.btn{height:44px}}.btn:active{transform:scale(.98)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;transform:none}.btn-primary,.btn-dark{background:var(--brand,var(--solid-bg));color:var(--on-brand,var(--on-solid));box-shadow:var(--solid-shadow,inset 0 1px 0 var(--hl), 0 8px 18px -10px rgba(var(--shadow-rgb), .65));border-color:#0000}.btn-primary:hover,.btn-dark:hover{background:var(--brand-hover,var(--solid-bg));filter:none}.btn-secondary,.btn-outline,.btn-quiet{background:var(--card);color:var(--ink);border:1px solid var(--hair-strong);box-shadow:none}.btn-secondary:hover,.btn-outline:hover,.btn-quiet:hover{background:var(--sunken);border-color:var(--hair-strong);box-shadow:none}.btn-text{color:var(--ink-blue,var(--brand));background:0 0;border-color:#0000;padding-inline:8px}.btn-text:hover{background:var(--brand-soft,var(--accent))}@supports (color:color-mix(in lab,red,red)){.btn-text:hover{background:var(--brand-soft,color-mix(in srgb, var(--accent) 10%, transparent))}}.btn-danger{background:var(--card);color:var(--ink-alert);border:1px solid var(--ink-alert)}@supports (color:color-mix(in lab,red,red)){.btn-danger{border:1px solid color-mix(in srgb,var(--ink-alert) 40%,transparent)}}.btn-danger:hover{background:var(--alert)}@supports (color:color-mix(in lab,red,red)){.btn-danger:hover{background:color-mix(in srgb,var(--alert) 6%,var(--card))}}.btn:focus-visible{outline:2px solid var(--brand,var(--blue));outline-offset:2px}.status-tag{border-radius:var(--r-control,8px);height:22px;font-size:var(--fs-meta,12px);white-space:nowrap;align-items:center;gap:4px;padding:0 8px;font-weight:600;line-height:1;display:inline-flex}.status-tag--alert{color:var(--ink-alert);background:var(--alert)}@supports (color:color-mix(in lab,red,red)){.status-tag--alert{background:color-mix(in srgb,var(--alert) 10%,var(--card))}}.status-tag--pending{color:var(--ink-warm);background:var(--warm)}@supports (color:color-mix(in lab,red,red)){.status-tag--pending{background:color-mix(in srgb,var(--warm) 12%,var(--card))}}.status-tag--info{color:var(--ink-2);background:var(--ink)}@supports (color:color-mix(in lab,red,red)){.status-tag--info{background:color-mix(in srgb,var(--ink) 6%,var(--card))}}.card,.section-shell{border:.5px solid var(--hair)}.card:hover{border-color:var(--hair);box-shadow:var(--ceramic)}.section-rule{border:0;border-top:.5px solid var(--hair);margin:16px 0}.app-icon{vertical-align:middle;flex:none;display:inline-block;overflow:visible}::view-transition-old(root){animation-duration:var(--dur-base,.2s);animation-timing-function:var(--ease-out,ease)}::view-transition-new(root){animation-duration:var(--dur-base,.2s);animation-timing-function:var(--ease-out,ease)}@media(prefers-reduced-motion:reduce){::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}:is([data-theme=lake-dark],[data-theme=lake-dim]) :is(.bg-white,.glass-card){background-color:var(--card)}:is([data-theme=lake-dark],[data-theme=lake-dim]) :is(.bg-slate-50,.bg-gray-50){background-color:var(--sunken)}:is([data-theme=lake-dark],[data-theme=lake-dim]) :is(.bg-slate-100,.bg-gray-100){background-color:var(--paper-deep)}:is([data-theme=lake-dark],[data-theme=lake-dim]) :is(.border-slate-100,.border-slate-200,.border-slate-300,.border-gray-200){border-color:var(--hair)}:is([data-theme=lake-dark],[data-theme=lake-dim]) :is(.text-slate-700,.text-slate-800,.text-slate-900,.text-gray-700,.text-gray-800,.text-gray-900,.text-black){color:var(--ink)}:is([data-theme=lake-dark],[data-theme=lake-dim]) :is(.bg-red-50,.bg-red-100,.bg-rose-50){background-color:var(--alert)}@supports (color:color-mix(in lab,red,red)){:is([data-theme=lake-dark],[data-theme=lake-dim]) :is(.bg-red-50,.bg-red-100,.bg-rose-50){background-color:color-mix(in srgb,var(--alert) 16%,var(--card))}}:is([data-theme=lake-dark],[data-theme=lake-dim]) :is(.bg-amber-50,.bg-amber-100,.bg-orange-100){background-color:var(--warm)}@supports (color:color-mix(in lab,red,red)){:is([data-theme=lake-dark],[data-theme=lake-dim]) :is(.bg-amber-50,.bg-amber-100,.bg-orange-100){background-color:color-mix(in srgb,var(--warm) 16%,var(--card))}}:is([data-theme=lake-dark],[data-theme=lake-dim]) :is(.bg-emerald-50,.bg-emerald-100){background-color:var(--safe)}@supports (color:color-mix(in lab,red,red)){:is([data-theme=lake-dark],[data-theme=lake-dim]) :is(.bg-emerald-50,.bg-emerald-100){background-color:color-mix(in srgb,var(--safe) 18%,var(--card))}}:is([data-theme=lake-dark],[data-theme=lake-dim]) :is(.bg-blue-50,.bg-blue-100,.bg-indigo-50){background-color:var(--brand)}@supports (color:color-mix(in lab,red,red)){:is([data-theme=lake-dark],[data-theme=lake-dim]) :is(.bg-blue-50,.bg-blue-100,.bg-indigo-50){background-color:color-mix(in srgb,var(--brand) 12%,var(--card))}}:is([data-theme=lake-dark],[data-theme=lake-dim]) :is(.text-red-800,.text-red-900,.text-rose-700){color:var(--ink-alert)}:is([data-theme=lake-dark],[data-theme=lake-dim]) :is(.text-amber-800,.text-amber-900){color:var(--ink-warm)}:is([data-theme=lake-dark],[data-theme=lake-dim]) .text-emerald-800{color:var(--ink-safe)}:is([data-theme=lake-dark],[data-theme=lake-dim]) .text-blue-900{color:var(--ink-blue)}:is([data-theme=lake-dark],[data-theme=lake-dim]) :is(.bg-blue-600,.bg-blue-700),:is([data-theme=lake-dark],[data-theme=lake-dim]) .login-submit{color:var(--on-brand)}:is([data-theme=lake-dark],[data-theme=lake-dim]) .table-scroll thead th{background:var(--sunken)}[data-hue=lake]{--hue-bg:var(--hue-lake-bg,var(--sunken));--hue-fg:var(--hue-lake-fg,var(--ink-2))}[data-hue=sky]{--hue-bg:var(--hue-sky-bg,var(--sunken));--hue-fg:var(--hue-sky-fg,var(--ink-2))}[data-hue=teal]{--hue-bg:var(--hue-teal-bg,var(--sunken));--hue-fg:var(--hue-teal-fg,var(--ink-2))}[data-hue=amber]{--hue-bg:var(--hue-amber-bg,var(--sunken));--hue-fg:var(--hue-amber-fg,var(--ink-2))}[data-hue=orange]{--hue-bg:var(--hue-orange-bg,var(--sunken));--hue-fg:var(--hue-orange-fg,var(--ink-2))}[data-hue=red]{--hue-bg:var(--hue-red-bg,var(--sunken));--hue-fg:var(--hue-red-fg,var(--ink-2))}[data-hue=indigo]{--hue-bg:var(--hue-indigo-bg,var(--sunken));--hue-fg:var(--hue-indigo-fg,var(--ink-2))}[data-hue=rose]{--hue-bg:var(--hue-rose-bg,var(--sunken));--hue-fg:var(--hue-rose-fg,var(--ink-2))}[data-hue=green]{--hue-bg:var(--hue-green-bg,var(--sunken));--hue-fg:var(--hue-green-fg,var(--ink-2))}[data-hue=yellow]{--hue-bg:var(--hue-yellow-bg,var(--sunken));--hue-fg:var(--hue-yellow-fg,var(--ink-2))}[data-hue=violet]{--hue-bg:var(--hue-violet-bg,var(--sunken));--hue-fg:var(--hue-violet-fg,var(--ink-2))}[data-hue=slate]{--hue-bg:var(--hue-slate-bg,var(--sunken));--hue-fg:var(--hue-slate-fg,var(--ink-2))}[data-tile=lake]{--tile:var(--tile-lake,var(--solid-bg,#1673a3))}[data-tile=green]{--tile:var(--tile-green,var(--safe,#047857))}[data-tile=violet]{--tile:var(--tile-violet,#5b45b5)}[data-tile=orange]{--tile:var(--tile-orange,var(--warm,#c2410c))}#app .ui-soft .card,#app .ui-soft .section-shell{background:var(--soft-card,var(--card));border-radius:var(--r-soft,22px);box-shadow:var(--soft-shadow,none);-webkit-backdrop-filter:none;backdrop-filter:none;border:0}#app .ui-soft .card:hover{box-shadow:var(--soft-shadow,none);transform:none}#app .ui-soft .btn-primary{background:var(--brand-grad,var(--brand,var(--solid-bg)));border-radius:var(--r-row,14px);box-shadow:var(--brand-glow,none);border:0;font-weight:600}#app .ui-soft .btn-primary:hover{background:var(--brand-grad,var(--brand-hover,var(--solid-bg)));filter:brightness(1.06)}#app .ui-soft .btn-secondary{background:var(--soft-fill,var(--sunken));border-radius:var(--r-row,14px);border:0;font-weight:600}#app .ui-soft .btn-secondary:hover{background:var(--soft-fill-hover,var(--sunken))}#app .ui-soft .btn-text{border-radius:var(--r-row,14px)}#app .ui-soft .status-tag{border-radius:999px;padding:0 10px}#app .workbench-shell .topbar-desktop{grid-template-columns:minmax(0,1fr);gap:16px;width:100%;display:grid}.workbench-shell .wb-head{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.workbench-shell .wb-title{min-width:0}.workbench-shell .wb-date{font-size:var(--fs-figure,24px);letter-spacing:.01em;color:var(--ink);margin:0;font-weight:700;line-height:1.25}.workbench-shell .wb-title-meta{font-size:var(--fs-body,13px);color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0 0;display:flex}.kpi-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.kpi-tile{border-radius:var(--r-panel,20px);background:var(--soft-card,var(--card));min-width:0;box-shadow:var(--soft-shadow,none);color:var(--ink);text-align:left;cursor:pointer;transition:box-shadow var(--dur-base,.2s) var(--ease-out,ease),transform var(--dur-fast,.15s) var(--ease-out,ease);border:0;align-items:center;gap:14px;padding:13px 15px;display:flex}.kpi-tile:hover{box-shadow:var(--soft-shadow-lift,var(--soft-shadow,none))}.kpi-tile:active{transform:scale(.98)}.kpi-tile:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.kpi-ic{border-radius:var(--r-row,14px);background:var(--hue-bg);width:44px;height:44px;color:var(--hue-fg);flex:0 0 44px;place-items:center;display:grid}.kpi-txt{gap:2px;min-width:0;display:grid}.kpi-txt b{font-size:var(--fs-title-l,22px);font-variant-numeric:tabular-nums;font-weight:700;line-height:1.1}.kpi-txt b small{font-size:var(--fs-body,13px);color:var(--ink-3);margin-left:2px;font-weight:600}.kpi-txt>span{font-size:var(--fs-meta,12px);color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@container canvas (max-width:900px){.kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}}#app .workbench-shell .train-track-card{border-radius:var(--r-soft,22px);border:0}#app .workbench-shell .train-badge{background:var(--hue-lake-bg,var(--brand-soft));color:var(--hue-lake-fg,var(--ink-blue));box-shadow:none;border-radius:var(--r-row,14px);gap:2px;width:auto;min-width:44px;height:auto;min-height:44px;padding:6px 10px}.workbench-shell .train-badge-period,.workbench-shell .train-badge-status{white-space:nowrap}.workbench-shell .train-badge-period{font-size:var(--fs-meta,12px);font-variant-numeric:tabular-nums;font-weight:700;line-height:1}.workbench-shell .train-badge-status{font-size:var(--fs-meta,12px);margin-top:3px}.workbench-shell .train-countdown{font-size:var(--fs-meta,12px);color:var(--ink-2);font-weight:600}#app .workbench-shell .train-track-scroll{box-shadow:none;border-radius:var(--r-row,14px);background:var(--soft-row,var(--sunken));border:0;padding-left:40px;padding-right:40px;scroll-padding-inline:40px}#app .workbench-shell .train-track-arrow{box-shadow:none}#app .workbench-shell .train-track-arrow:hover{transform:translateY(-50%)}#app .workbench-shell .panel-head{border-bottom:0}#app .workbench-shell .panel-head h2{color:var(--ink);letter-spacing:0;align-items:center;gap:8px;font-weight:600;display:flex}#app .workbench-shell .panel-head .note{color:var(--ink-3)}#app .workbench-shell .link{color:var(--ink-blue,var(--brand))}#app .workbench-shell .todo-list{gap:8px}#app .workbench-shell .todo{background:var(--soft-row,var(--sunken));border-radius:var(--r-row,14px);box-shadow:none;border:0;padding:12px}#app .workbench-shell .todo:before{display:none}#app .workbench-shell .todo:hover{box-shadow:none;transform:none}#app .workbench-shell .todo-ic{background:var(--hue-amber-wash,var(--sunken));width:36px;height:36px;color:var(--hue-amber-fg,var(--ink-2));border:0;border-radius:12px;flex:0 0 36px;place-items:center;font-weight:700;display:grid}#app .workbench-shell .t-talk .todo-ic{background:var(--hue-violet-wash,var(--sunken));color:var(--hue-violet-fg,var(--ink-2))}#app .workbench-shell .t-call .todo-ic,#app .workbench-shell .t-contact .todo-ic{background:var(--hue-lake-wash,var(--sunken));color:var(--hue-lake-fg,var(--ink-2))}#app .workbench-shell .t-homework .todo-ic{background:var(--hue-rose-wash,var(--sunken));color:var(--hue-rose-fg,var(--ink-2))}#app .workbench-shell .kind{background:var(--soft-card,var(--card));color:var(--ink-2);border-radius:999px;font-weight:600}#app .workbench-shell .phone{color:var(--ink-blue,var(--brand));background:0 0;border:0;padding:0}#app .workbench-shell .phone:hover{background:0 0;text-decoration:underline}#app .workbench-shell .who-top .status-tag{margin-left:auto}#app .workbench-shell .empty{border-radius:var(--r-row,14px);background:var(--soft-row,var(--sunken));color:var(--ink-3);border:0}#app .workbench-shell .summary-fold .count-capsule.is-alert{height:22px;font-size:var(--fs-meta,12px);background:var(--alert);border-radius:999px;padding:0 10px;font-weight:600}@supports (color:color-mix(in lab,red,red)){#app .workbench-shell .summary-fold .count-capsule.is-alert{background:color-mix(in srgb,var(--alert) 10%,var(--soft-card,var(--card)))}}#app .workbench-shell .summary-fold .count-capsule.is-alert{color:var(--ink-alert)}#app .workbench-shell .radar-head{border-bottom:0}#app .workbench-shell .radar.r-grade .radar-head b,#app .workbench-shell .radar.r-dorm .radar-head b,#app .workbench-shell .radar.r-consumption .radar-head b{color:var(--ink);font-weight:600}#app .workbench-shell .radar-list{gap:8px}#app .workbench-shell .radar-row{background:var(--soft-row,var(--sunken));border-radius:var(--r-row,14px);box-shadow:none;border:0;padding:10px 12px}#app .workbench-shell .radar-row:hover{background:var(--soft-fill,var(--sunken))}#app .workbench-shell .radar-row-tappable:hover .who-name{color:var(--ink-blue,var(--brand))}#app .workbench-shell .delta{border-radius:999px;font-weight:600}#app .workbench-shell .tl{gap:0;padding-left:6px}#app .workbench-shell .tl-row,#app .workbench-shell .tl-row.up,#app .workbench-shell .tl-row.live{border:0;border-left:2px solid var(--soft-line,var(--hair-strong));box-shadow:none;background:0 0;border-radius:0;padding:9px 12px}#app .workbench-shell .tl-row.done{opacity:1}#app .workbench-shell .tl-row.done .k,#app .workbench-shell .tl-row.done .v,#app .workbench-shell .tl-row.done .s{color:var(--ink-3);font-weight:400}#app .workbench-shell .tl-row.live{border-left-color:var(--brand);background:var(--live-wash,var(--brand-soft));border-radius:0 12px 12px 0}#app .workbench-shell .tl-row.live .k,#app .workbench-shell .tl-row.live .v{color:var(--live-ink-soft,var(--ink));font-weight:600}#app .workbench-shell .tl-row.live .s{background:var(--soft-card,var(--card));color:var(--live-ink-soft,var(--ink));border-radius:999px;padding:2px 10px}#app .workbench-shell .tl-row.live .dot{background:var(--brand)}#app .workbench-shell .tl-row.up .s{color:var(--ink-warm);font-weight:600}#app .workbench-shell .memos{gap:8px}#app .workbench-shell .memo{background:var(--soft-row,var(--memo-bg));border-radius:var(--r-row,14px);border:0}#app .workbench-shell .memo:hover{background:var(--soft-fill,var(--card));transform:none}#app .workbench-shell .radars{align-items:start}#app section[data-page=workbench]>.workbench-shell{gap:16px}#app .workbench-shell .wb-main{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:16px;display:grid}#app .workbench-shell .wb-radars{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;display:grid}@container canvas (min-width:900px){#app .workbench-shell .wb-main{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}#app .workbench-shell .wb-radars{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:769px){#app .workbench-shell .btn,#app .workbench-shell .btn-sm,#app .workbench-shell .train-track-right .btn{height:36px;font-size:var(--fs-body,13px);border-radius:var(--r-row,14px);padding:0 14px}#app .workbench-shell .todo-actions .btn{border-radius:12px;height:34px;padding:0 14px}#app .workbench-shell .wb-head-cta{height:40px;padding:0 18px}@media(any-pointer:coarse){#app .workbench-shell .wb-head-cta{height:44px}}#app .workbench-shell .btn-text,#app .workbench-shell .train-track-right .btn-text{padding:0 10px}#app .workbench-shell .panel{gap:10px;padding:14px 16px}#app .workbench-shell .radar{padding:13px 16px}#app .workbench-shell .panel-head h2{font-size:var(--fs-title-s,15px)}#app .workbench-shell .panel-head .note{font-size:var(--fs-meta,12px)}#app .workbench-shell .who-name{font-size:var(--fs-body,13px)}#app .workbench-shell .todo-desc{font-size:var(--fs-body,13px);color:var(--ink-2)}#app .workbench-shell .radar-head b,#app .workbench-shell .radar-row .who-name{font-size:var(--fs-body,13px)}#app .workbench-shell .radar-row .sub{font-size:var(--fs-meta,12px);color:var(--ink-3)}#app .workbench-shell .tl-row .v,#app .workbench-shell .tl-row.live .v,#app .workbench-shell .memo span,#app .workbench-shell .link{font-size:var(--fs-body,13px)}}@media(max-width:768px){#app .workbench-shell .radar-list,#app .workbench-shell .memos,#app .workbench-shell .todo-list{gap:6px}#app .workbench-shell .radar-row{padding:8px 10px}#app .ui-soft .workbench-shell .wb-quick-btn{background:var(--brand-grad,var(--brand,var(--solid-bg)));border-radius:var(--r-row,14px);box-shadow:var(--brand-glow,none);border:0}#app .ui-soft .workbench-shell .wb-attendance-summary{background:var(--soft-card,var(--card));border-radius:var(--r-row,14px);box-shadow:var(--soft-shadow,none);border:0}}.seat-board .sb-head .page-kicker{margin-top:4px}.sb-btn-primary{background:var(--brand,#0369a1);color:var(--on-brand,#fff);border-radius:var(--r-control,8px);min-height:40px;padding:0 18px}.sb-btn-primary:hover{background:var(--brand-hover,#075985)}.sb-layout[data-dark="1"] .sb-btn-primary{color:#0f1720;background:#6cc0e5}.sb-btn-count{color:var(--sb-dim);margin-left:6px;font-weight:400}@media(min-width:769px){.seat-board .sb-btn{min-height:36px;font-size:var(--fs-body,13px)}}.sb-stage.text-tracked{--tracking:.4em;padding:8px 8px 8px calc(8px + var(--tracking))}.sb-hist-podium.text-tracked{--tracking:.3em}.sb-rd-chip.sb-rd-chip-ok{color:var(--sb-dim)}.sb-seg-btn.on{box-shadow:inset 0 -2px 0 var(--sb-accent)}.sb-mk{color:var(--sb-dim);align-items:center;gap:2px;display:inline-flex}.sb-mk-ic{width:12px;height:12px}.sb-imp-note{color:var(--sb-dim);font-size:var(--fs-meta,12px);display:block}.v2-table{border-collapse:collapse;width:100%;font-size:var(--fs-body,13px);color:var(--ink);font-variant-numeric:tabular-nums}.v2-table th{text-align:left;font-size:var(--fs-meta,12px);color:var(--ink-3);border-bottom:.5px solid var(--hair-strong);white-space:nowrap;background:0 0;padding:8px 10px;font-weight:600}.v2-table td{border-bottom:.5px solid var(--hair);vertical-align:middle;color:var(--ink);background:0 0;padding:6px 10px}.v2-table tbody tr:last-child td{border-bottom:0}.v2-table .num-col{text-align:right}.v2-table tbody tr[tabindex]{cursor:pointer}.v2-table tbody tr[tabindex]:hover td,.v2-table tbody tr[tabindex]:focus-visible td{background:var(--sunken)}.v2-table tbody tr[tabindex]:focus-visible{outline:2px solid var(--brand,var(--blue));outline-offset:-2px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.student-archive .archive-table-wrap{padding:4px 8px;overflow-x:auto}.student-archive .archive-actions{text-align:right;white-space:nowrap}.student-archive .archive-actions .btn{height:32px;min-height:32px}.student-archive .archive-name{font-weight:600}@media(min-width:769px){.student-archive .student-cards{display:none}}@media(max-width:768px){.student-archive .archive-table{display:none}.student-archive .archive-table-wrap{padding:12px}}.student-archive .archive-subsection{border:0;min-width:0;margin:0;padding:0}.student-archive .archive-subsection+.archive-subsection{border-top:.5px solid var(--hair);padding-top:16px}.student-archive .archive-subsection-head{float:left;justify-content:space-between;align-items:baseline;gap:8px;width:100%;padding:0 0 8px;display:flex}.student-archive .archive-subsection-head+*{clear:both}.student-archive .archive-subsection-title{font-size:var(--fs-body,13px);color:var(--ink);font-weight:600}#app .student-archive .student-card{border:.5px solid var(--hair)}#app .student-archive .student-card:hover{box-shadow:none;border-color:var(--hair-strong);transform:none}#app .student-archive .student-card-tag{border-radius:var(--r-control,8px);background:var(--ink);padding:1px 7px}@supports (color:color-mix(in lab,red,red)){#app .student-archive .student-card-tag{background:color-mix(in srgb,var(--ink) 6%,var(--card))}}#app .student-archive .student-card-tag{color:var(--ink-2)}#app .student-archive .student-card-tag.is-pending{background:var(--warm)}@supports (color:color-mix(in lab,red,red)){#app .student-archive .student-card-tag.is-pending{background:color-mix(in srgb,var(--warm) 12%,var(--card))}}#app .student-archive .student-card-tag.is-pending{color:var(--ink-warm);font-weight:600}#app .student-archive .student-card-more-toggle{color:var(--ink-blue,var(--brand))}.student-archive .student-card-stats{margin:0}.student-archive .student-card-stat{border:0}.student-archive .student-card-stat dt{font-size:var(--fs-meta,12px);color:var(--ink-3)}.student-archive .student-card-stat dd{font-size:var(--fs-title-s,15px);color:var(--ink);margin:0;font-weight:600}.student-archive .student-editor-form{gap:0;display:grid}#app .student-archive .student-editor-section{background:0 0;border:0;border-radius:0;gap:10px;padding:14px 0;display:grid}#app .student-archive .student-editor-section+.student-editor-section{border-top:.5px solid var(--hair);margin-top:0}.student-archive .student-editor-summary{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--ink);justify-content:space-between;align-items:baseline;gap:8px;display:flex}.student-archive .archive-score-row{gap:24px;margin:0;display:flex}.student-archive .archive-score-row dt{font-size:var(--fs-meta,12px);color:var(--ink-3)}.student-archive .archive-score-row dd{font-size:var(--fs-title-s,15px);margin:0;font-weight:600}.student-archive .student-editor-actions{border-top:.5px solid var(--hair);flex-wrap:wrap;align-items:center;gap:8px;padding-top:14px;display:flex}.v2-stat-line{flex-wrap:wrap;gap:12px 32px;margin:0;display:flex}.v2-stat-line>div{min-width:0}.v2-stat-line dt{font-size:var(--fs-meta,12px);color:var(--ink-3)}.v2-stat-line dd{font-size:var(--fs-title-m,18px);color:var(--ink);font-variant-numeric:tabular-nums;margin:0;font-weight:600}.v2-stat-line dd small,.v2-stat-line dd.v2-stat-note{font-size:var(--fs-meta,12px);color:var(--ink-3);font-weight:400}.v2-stat-line .v2-stat-wide{flex:280px}.v2-stat-line dd.is-alert{color:var(--ink-alert)}.v2-segmented{border:1px solid var(--hair-strong);border-radius:var(--r-control,8px);background:var(--card);display:inline-flex;overflow:hidden}.v2-segmented>button{color:var(--ink-2);font-size:var(--fs-body,13px);cursor:pointer;background:0 0;border:0;min-height:32px;padding:0 12px}.v2-segmented>button+button{border-left:1px solid var(--hair-strong)}.v2-segmented>button.on{background:var(--brand-soft,var(--accent))}@supports (color:color-mix(in lab,red,red)){.v2-segmented>button.on{background:var(--brand-soft,color-mix(in srgb, var(--accent) 10%, transparent))}}.v2-segmented>button.on{color:var(--ink-blue,var(--brand));font-weight:600}.is-alert-text{color:var(--ink-alert)!important}.is-good-text{color:var(--ink-safe)!important}.btn-text.btn-text-danger{color:var(--ink-alert)}.btn-text.btn-text-danger:hover{background:var(--alert)}@supports (color:color-mix(in lab,red,red)){.btn-text.btn-text-danger:hover{background:color-mix(in srgb,var(--alert) 8%,transparent)}}.exam-notice{border-radius:var(--r-control,8px);background:var(--ink);flex-wrap:wrap;align-items:center;gap:6px 12px;padding:8px 12px;display:flex}@supports (color:color-mix(in lab,red,red)){.exam-notice{background:color-mix(in srgb,var(--ink) 5%,var(--card))}}.exam-notice{color:var(--ink-2);font-size:var(--fs-body,13px)}.exam-notice.is-alert{background:var(--alert)}@supports (color:color-mix(in lab,red,red)){.exam-notice.is-alert{background:color-mix(in srgb,var(--alert) 10%,var(--card))}}.exam-notice.is-alert{color:var(--ink-alert)}.exam-notice.is-pending{background:var(--warm)}@supports (color:color-mix(in lab,red,red)){.exam-notice.is-pending{background:color-mix(in srgb,var(--warm) 12%,var(--card))}}.exam-notice.is-pending{color:var(--ink-warm)}.exam-chart .chart-bar{fill:var(--brand,var(--accent));opacity:.85}.exam-chart .chart-bar--muted{fill:var(--ink-3);opacity:.45}.exam-chart .chart-bar--warn{fill:var(--warm);opacity:.9}.exam-chart .chart-value{fill:var(--ink)}.exam-chart .chart-value--muted{fill:var(--ink-3)}.exam-chart .chart-label{fill:var(--ink-2)}.exam-chart .chart-label--weak{fill:var(--ink-alert)}.exam-chart .chart-axis,.exam-chart .chart-grid{stroke:var(--hair-strong)}.exam-chart .chart-area{fill:var(--brand-soft,#1673a31f);stroke:var(--brand,var(--accent))}.exam-chart .chart-line{stroke:var(--brand,var(--accent))}.exam-chart .chart-dot{fill:var(--brand,var(--accent));stroke:var(--card)}.exam-chart .chart-dot--weak,.exam-chart .chart-warn-ring{fill:var(--alert)}@supports (color:color-mix(in lab,red,red)){.exam-chart .chart-warn-ring{fill:color-mix(in srgb,var(--alert) 5%,transparent)}}.exam-chart .chart-warn-ring{stroke:var(--alert)}@supports (color:color-mix(in lab,red,red)){.exam-chart .chart-warn-ring{stroke:color-mix(in srgb,var(--alert) 45%,transparent)}}.chart-legend{font-size:var(--fs-meta,12px);color:var(--ink-3);align-items:center;gap:6px;display:inline-flex}.chart-swatch{background:var(--brand,var(--accent));border-radius:50%;width:10px;height:10px;margin-left:6px;display:inline-block}.chart-swatch--muted{background:var(--ink-3)}@supports (color:color-mix(in lab,red,red)){.chart-swatch--muted{background:color-mix(in srgb,var(--ink-3) 45%,transparent)}}.chart-swatch--warn{background:var(--warm)}.chart-track{background:var(--ink);border-radius:999px;flex:1;height:8px;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.chart-track{background:color-mix(in srgb,var(--ink) 7%,var(--card))}}.chart-fill{background:var(--brand,var(--accent));border-radius:999px;height:100%}.chart-fill--muted{background:var(--ink-3)}@supports (color:color-mix(in lab,red,red)){.chart-fill--muted{background:color-mix(in srgb,var(--ink-3) 55%,transparent)}}.chart-track-lg{background:var(--ink)}@supports (color:color-mix(in lab,red,red)){.chart-track-lg{background:color-mix(in srgb,var(--ink) 7%,var(--card))}}.exam-search-menu{z-index:30;border:.5px solid var(--hair-strong);border-radius:var(--r-card,12px);width:14rem;box-shadow:var(--elev-float,0 12px 32px -12px #0f172a4d);padding:4px;display:grid;position:absolute;top:calc(100% + 4px);left:0}.exam-search-item{text-align:left;border-radius:var(--r-control,8px);width:100%;color:var(--ink);font-size:var(--fs-body,13px);cursor:pointer;background:0 0;border:0;align-items:baseline;gap:6px;padding:8px 10px;display:flex}.exam-search-item:hover,.exam-search-item:focus-visible{background:var(--sunken)}.exam-name-link{color:var(--ink-blue,var(--brand));cursor:pointer;text-align:left;font:inherit;background:0 0;border:0;padding:0}.exam-name-link:hover{text-decoration:underline}.exam-top-list{font-size:var(--fs-body,13px);flex-wrap:wrap;gap:4px 14px;font-weight:400;display:flex}.exam-alert-row{border:0;border-bottom:.5px solid var(--hair);text-align:left;width:100%;min-height:44px;color:var(--ink);cursor:pointer;background:0 0;justify-content:space-between;align-items:center;gap:12px;padding:6px 0;display:flex}.exam-alert-row:last-child{border-bottom:0}.exam-insights{font-size:var(--fs-body,13px);line-height:var(--lh-body,1.6);color:var(--ink-2);gap:0;margin:0;padding:0;list-style:none;display:grid}.exam-insights li{border-bottom:.5px solid var(--hair);padding:8px 0}.exam-insights li:last-child{border-bottom:0}.exam-ai-section{border-top:.5px solid var(--hair);margin-top:12px;padding-top:12px}.exam-todo-list{display:grid}.exam-todo-item{border-bottom:.5px solid var(--hair);font-size:var(--fs-body,13px);color:var(--ink);cursor:pointer;align-items:flex-start;gap:8px;padding:8px 0;display:flex}.exam-todo-item.is-done{color:var(--ink-3);text-decoration:line-through}.exam-detail-row{border-bottom:.5px solid var(--hair);padding:8px 0}.exam-detail-row:last-child{border-bottom:0}#app .exam-student-card{width:min(860px,100%);max-height:min(88vh,900px);padding:20px}.exam-modal-section{border-top:.5px solid var(--hair);padding-top:14px}.exam-subject-grid{border-top:.5px solid var(--hair);border-left:.5px solid var(--hair);grid-template-columns:repeat(auto-fill,minmax(5.5rem,1fr));gap:0;display:grid}.exam-subject-cell{text-align:center;font-size:var(--fs-meta,12px);border-right:.5px solid var(--hair);border-bottom:.5px solid var(--hair);padding:6px 8px}.exam-subject-cell .num{font-size:var(--fs-body,13px)}.exam-line-dot{vertical-align:middle;border-radius:999px;width:8px;height:8px;margin-right:6px;display:inline-block}.exam-subsection{border-top:.5px solid var(--hair);padding-top:12px}.exam-subject-map-row{border-bottom:.5px solid var(--hair);padding:10px 0}.exam-subject-map-row:last-child{border-bottom:0}.exam-line-tab{color:var(--ink-3);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0}.exam-line-tab.is-active{color:var(--ink);border-bottom-color:currentColor}.v2-table td.is-current{color:var(--ink-blue,var(--brand))}:is([data-theme=lake-dark],[data-theme=lake-dim]) :is(.text-red-400,.text-red-500,.text-red-600,.text-red-700,.text-rose-500,.text-rose-600){color:var(--ink-alert)}:is([data-theme=lake-dark],[data-theme=lake-dim]) :is(.text-amber-400,.text-amber-500,.text-amber-600,.text-amber-700,.text-orange-500,.text-orange-600,.text-orange-700){color:var(--ink-warm)}:is([data-theme=lake-dark],[data-theme=lake-dim]) :is(.text-emerald-500,.text-emerald-600,.text-emerald-700,.text-green-600,.text-green-700){color:var(--ink-safe)}:is([data-theme=lake-dark],[data-theme=lake-dim]) :is(.text-blue-500,.text-blue-600,.text-blue-700,.text-sky-600,.text-sky-700,.text-indigo-600,.text-indigo-700,.text-violet-600,.text-violet-700){color:var(--ink-blue)}:is([data-theme=lake-dark],[data-theme=lake-dim]) :is(.text-slate-500,.text-gray-500,.text-slate-600,.text-gray-600){color:var(--ink-3)}#app .profile-v2 .profile-bento-card{box-shadow:none;border:.5px solid var(--hair);border-radius:var(--r-card,12px);background:var(--card)}.profile-v2 .profile-id{gap:4px;margin-bottom:12px;display:grid}.profile-v2 .profile-name{font-size:var(--fs-title-m,18px)}.profile-v2 .profile-stats{gap:10px 24px}.profile-v2 .profile-kv{font-size:var(--fs-body,13px);gap:0;margin:0;display:grid}.profile-v2 .profile-kv>div{border-bottom:.5px solid var(--hair);justify-content:space-between;align-items:center;gap:12px;padding:6px 0;display:flex}.profile-v2 .profile-kv>div:last-child{border-bottom:0}.profile-v2 .profile-kv dt{color:var(--ink-3);font-size:var(--fs-meta,12px)}.profile-v2 .profile-kv dd{color:var(--ink);text-align:right;margin:0}.profile-v2 .profile-records{margin:0;padding:0;list-style:none}.profile-v2 .profile-records li{border-bottom:.5px solid var(--hair);padding:8px 0}.profile-v2 .profile-records li:last-child{border-bottom:0}.profile-v2 .profile-record-head{font-size:var(--fs-body,13px);color:var(--ink);justify-content:space-between;align-items:baseline;gap:8px;display:flex}.profile-v2 .profile-empty{color:var(--ink-2);gap:6px;padding:8px 0;display:grid}.profile-v2 .profile-subhead{font-size:var(--fs-body,13px);color:var(--ink);margin:16px 0 6px;font-weight:600}.profile-v2 .profile-feedback{border-top:.5px solid var(--hair);color:var(--ink-2);margin-top:12px;padding-top:12px}.exam-chart .chart-line--muted{stroke:var(--ink-3)}.exam-chart .chart-dot--muted{fill:var(--ink-3)}#app .profile-v2 .profile-bento-card:hover{box-shadow:none;transform:none}.profile-v2 .profile-card-head{justify-content:flex-start;gap:8px}.profile-v2 .profile-card-head>:not(.profile-card-title){margin-left:auto}.profile-v2 .profile-card-title{color:var(--ink);font-size:var(--fs-title-s,15px);font-weight:600}.profile-v2 .profile-kv dt{white-space:nowrap}.rank-chart{margin:4px 0 8px;padding-left:56px}.rank-chart-plot{height:150px;position:relative}.rank-chart-svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.rank-chart-axis{text-align:right;width:50px;font-size:var(--fs-meta,12px);color:var(--ink-3);white-space:nowrap;position:absolute;left:-56px;transform:translateY(-50%)}.rank-chart-axis.is-top{top:6%}.rank-chart-axis.is-bottom{top:94%}.rank-chart-pt{width:0;height:0;position:absolute}.rank-chart-dot{background:var(--brand,var(--accent));border:2px solid var(--card);border-radius:50%;width:10px;height:10px;position:absolute;top:-5px;left:-5px}.rank-chart-dot.is-muted{background:var(--ink-3);border-width:1.5px;width:8px;height:8px;top:-4px;left:-4px}.rank-chart-val{font-size:var(--fs-meta,12px);color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600;position:absolute;left:0;transform:translate(-50%)}.rank-chart-val.is-above{bottom:8px}.rank-chart-val.is-below{color:var(--ink-3);top:8px}.rank-chart-x{height:22px;margin-top:10px;position:relative}.rank-chart-lab{font-size:var(--fs-meta,12px);color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;max-width:45%;position:absolute;top:0;overflow:hidden;transform:translate(-50%)}.rank-chart-lab.is-start{transform:none}.rank-chart-lab.is-end{transform:translate(-100%)}.v2-file{align-items:center;gap:8px;min-width:0;display:flex}.v2-file-btn{cursor:pointer;flex:none;position:relative}.v2-file-input{opacity:0;cursor:pointer;width:100%;height:100%;font-size:0;position:absolute;inset:0}.v2-file-btn:focus-within{outline:2px solid var(--brand,var(--blue));outline-offset:2px}.v2-file-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--fs-body,13px);overflow:hidden}.v2-file-field .v2-file-title{font-size:var(--fs-meta,12px);font-weight:600}#app .leave-v2 .leave-entry-section{border:0;border-top:.5px solid var(--hair);background:0 0;border-radius:0;padding:14px 0 0}#app .leave-v2 .leave-step-badge{background:var(--ink)}@supports (color:color-mix(in lab,red,red)){#app .leave-v2 .leave-step-badge{background:color-mix(in srgb,var(--ink) 6%,var(--card))}}#app .leave-v2 .leave-step-badge{color:var(--ink-2)}#app .leave-v2 .leave-identity-badge,#app .leave-v2 .leave-identity-badge.is-boarding,#app .leave-v2 .leave-identity-badge.is-day{background:var(--ink)}@supports (color:color-mix(in lab,red,red)){#app .leave-v2 .leave-identity-badge,#app .leave-v2 .leave-identity-badge.is-boarding,#app .leave-v2 .leave-identity-badge.is-day{background:color-mix(in srgb,var(--ink) 6%,var(--card))}}#app .leave-v2 .leave-identity-badge,#app .leave-v2 .leave-identity-badge.is-boarding,#app .leave-v2 .leave-identity-badge.is-day{color:var(--ink-2);border-radius:var(--r-control,8px);font-weight:600}#app .leave-v2 .leave-entry-submit{background:var(--brand,var(--solid-bg));color:var(--on-brand,var(--on-solid));box-shadow:none;font-size:var(--fs-body,13px);border-radius:var(--r-control,8px);font-weight:600}#app .leave-v2 .leave-entry-submit:hover,#app .leave-v2 .leave-entry-submit:focus-visible{background:var(--brand-hover,var(--solid-bg))}#app .leave-v2 .leave-slot-button.active{border-color:var(--brand,var(--accent));background:var(--brand-soft,var(--accent))}@supports (color:color-mix(in lab,red,red)){#app .leave-v2 .leave-slot-button.active{background:var(--brand-soft,color-mix(in srgb, var(--accent) 10%, transparent))}}#app .leave-v2 .leave-slot-button.active{color:var(--ink)}.leave-v2 .leave-analysis-breakdown{background:0 0;border:0;padding:0}.leave-month-bars{align-items:flex-end;gap:8px;min-height:110px;padding:8px 0;display:flex;overflow-x:auto}.leave-month-col{flex-direction:column;flex:1 1 0;align-items:center;gap:4px;min-width:36px;display:flex}.leave-month-bar{background:var(--brand,var(--accent));opacity:.85;width:60%;min-height:2px;display:block}.leave-month-count{font-size:var(--fs-meta,12px);color:var(--ink);font-weight:600}.leave-month-label{font-size:var(--fs-meta,12px);color:var(--ink-3);white-space:nowrap}.dorm-v2 .dorm-inspect{padding-top:4px}.dorm-v2 .dorm-subsection{border-top:.5px solid var(--hair);padding-top:12px}.dorm-v2 .dorm-entry-row{border-bottom:.5px solid var(--hair);padding:6px 0}.dorm-v2 .dorm-entry-row:last-of-type{border-bottom:0}.dorm-v2 .dorm-progress{border-bottom:.5px solid var(--hair);padding-bottom:12px}.dorm-chip{border:1px solid var(--hair-strong);border-radius:var(--r-control,8px);background:var(--card);min-height:28px;color:var(--ink-2);font-size:var(--fs-meta,12px);cursor:pointer;align-items:center;gap:4px;padding:0 10px;display:inline-flex}.dorm-chip:hover{background:var(--sunken)}.dorm-chip.is-on{border-color:var(--brand,var(--accent));background:var(--brand-soft,var(--accent))}@supports (color:color-mix(in lab,red,red)){.dorm-chip.is-on{background:var(--brand-soft,color-mix(in srgb, var(--accent) 10%, transparent))}}.dorm-chip.is-on{color:var(--ink)}#app .dorm-v2 .dorm-chip{min-height:36px}.dorm-v2 .dorm-total-bar{border-top:.5px solid var(--hair);padding:12px 0 0}.dorm-v2 .dorm-rank-row+.dorm-rank-row{border-top:.5px solid var(--hair)}.dorm-v2 .dorm-rank-row:hover{background:var(--sunken)}.dorm-v2 .dorm-edit-panel{border-top:.5px solid var(--hair);border-bottom:.5px solid var(--hair);padding:12px 0}.dorm-v2 .dorm-history-row{border-bottom:.5px solid var(--hair);padding:10px 0}.dorm-v2 .dorm-history-row:last-child{border-bottom:0}.dorm-v2 .dorm-history-row.is-current,.dorm-v2 .dorm-history-row.is-selected{background:var(--brand-soft,var(--accent))}@supports (color:color-mix(in lab,red,red)){.dorm-v2 .dorm-history-row.is-current,.dorm-v2 .dorm-history-row.is-selected{background:var(--brand-soft,color-mix(in srgb, var(--accent) 8%, transparent))}}#app .dorm-detail-card{width:min(560px,100%)}.report-v2 .report-batch-bar{z-index:5;position:sticky;top:0}.report-v2 .v2-table tbody tr.is-selected td{background:var(--brand-soft,var(--accent))}@supports (color:color-mix(in lab,red,red)){.report-v2 .v2-table tbody tr.is-selected td{background:var(--brand-soft,color-mix(in srgb, var(--accent) 8%, transparent))}}.report-v2 .report-display-toggle{color:var(--ink-3);background:0 0;border-color:#0000;min-width:44px;padding-inline:8px}.report-v2 .report-display-toggle.is-on{color:var(--ink-blue,var(--brand));font-weight:600}.daily-result-line{border-top:.5px solid var(--hair);border-bottom:.5px solid var(--hair);margin-top:16px;padding:12px 0}.daily-filter-bar{padding:4px 0}.daily-table-block{padding-top:4px}#app .daily-paper-period-cell{background:0 0}#app thead .daily-paper-period-cell{color:var(--ink-3);background:var(--sunken)}#app .schedule-v2 .schedule-course-card[class*=course-color-]{background:var(--card);border:.5px solid var(--hair-strong);color:var(--ink)}#app .schedule-v2 .schedule-course-card:hover{border-color:var(--brand,var(--accent));box-shadow:none;transform:none}#app .schedule-v2 .schedule-course-card.is-live{border:1.5px solid var(--brand,var(--accent));background:var(--brand-soft,var(--accent))}@supports (color:color-mix(in lab,red,red)){#app .schedule-v2 .schedule-course-card.is-live{background:var(--brand-soft,color-mix(in srgb, var(--accent) 8%, transparent))}}#app .schedule-v2 .schedule-course-card.is-live{box-shadow:none}.schedule-v2 .schedule-course-teacher,.schedule-v2 .schedule-course-room{color:var(--ink-2)}.schedule-v2 .schedule-live-text{color:var(--ink-blue,var(--brand));font-weight:600}.schedule-v2 .schedule-live-dot{background:var(--brand,var(--accent))}.schedule-today-mark{font-size:var(--fs-meta,12px);color:var(--ink-blue,var(--brand));font-weight:600}#app .schedule-v2 .schedule-grid-header-cell.is-today{background:var(--brand-soft,var(--accent))}@supports (color:color-mix(in lab,red,red)){#app .schedule-v2 .schedule-grid-header-cell.is-today{background:var(--brand-soft,color-mix(in srgb, var(--accent) 8%, var(--sunken)))}}#app .schedule-v2 .schedule-grid-content-cell.is-break{background:var(--sunken);background-image:none}#app .schedule-v2 .schedule-view-pill-btn.is-active{background:var(--card);color:var(--ink);box-shadow:inset 0 -2px 0 var(--brand,var(--accent))}.consumption-v2 .consumption-row{border-bottom:1px solid var(--hair)}.consumption-v2 .consumption-row:last-child{border-bottom:0}.display-manager-v2 .dm-live{color:var(--ink);font-weight:600}.display-manager-v2 .dm-live:before{content:"";background:var(--brand,var(--accent));vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.exam-notice.is-block{display:block}.status-dot{vertical-align:middle;background:var(--ink-3);border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.status-dot--pending{background:var(--warm)}.status-dot--alert{background:var(--alert)}.settings-v2 .settings-tab{border-radius:var(--r-control,8px);min-height:32px;font-size:var(--fs-body,13px);color:var(--ink-2);transition:background var(--dur-fast,.12s) var(--ease-out,ease-out),color var(--dur-fast,.12s) var(--ease-out,ease-out);background:0 0;padding:0 12px}.settings-v2 .settings-tab:hover{background:var(--sunken);color:var(--ink)}.settings-v2 .settings-tab.is-on{background:var(--brand-soft,var(--sunken));color:var(--ink);font-weight:600}.settings-v2 .settings-block{border-top:1px solid var(--hair);padding-top:16px}.settings-v2 .settings-list>*+*,.settings-v2 .settings-modal-foot{border-top:1px solid var(--hair)}.settings-v2 .settings-steps{border-bottom:1px solid var(--hair);font-size:var(--fs-meta,12px);color:var(--ink-3);flex-wrap:wrap;gap:4px 20px;margin:0;padding:0 0 12px;list-style:none;display:flex}.settings-v2 .settings-steps li{align-items:center;gap:6px;display:inline-flex}.settings-v2 .settings-steps .settings-step-no{border:1px solid var(--hair-strong);width:20px;height:20px;font-size:var(--fs-meta,12px);border-radius:50%;place-items:center;display:inline-grid}.settings-v2 .settings-steps li.is-done{color:var(--ink-2)}.settings-v2 .settings-steps li.is-current{color:var(--ink);font-weight:600}.settings-v2 .settings-steps li.is-current .settings-step-no{background:var(--brand);border-color:var(--brand);color:var(--on-brand,#fff)}.settings-v2 .settings-choice{text-align:left;border:1px solid var(--hair-strong);border-radius:var(--r-card,12px);background:var(--card);color:var(--ink);padding:12px}.settings-v2 .settings-choice:hover{background:var(--sunken)}.settings-v2 .settings-choice.is-on{border-color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}.settings-v2 .settings-summary{grid-template-columns:auto 1fr;gap:6px 16px;margin:0;display:grid}.settings-v2 .settings-summary dt{color:var(--ink-3)}.settings-v2 .settings-summary dd{margin:0}.v2-file-input-plain{color:var(--ink-2)}.v2-file-input-plain::file-selector-button{border:1px solid var(--hair-strong);border-radius:var(--r-control,8px);background:var(--card);color:var(--ink);font:inherit;cursor:pointer;margin-right:8px;padding:4px 12px}.health-v2 .status-tag+.health-msg{margin-left:6px}.health-v2 .health-detail{border-radius:var(--r-control,8px);background:var(--sunken);color:var(--ink-2);font-size:var(--fs-meta,12px);white-space:pre-wrap;word-break:break-all;margin:6px 0 0;padding:8px}@keyframes motion-rise{0%{opacity:0;transform:translateY(10px)}}@keyframes motion-fade-scale{0%{opacity:0;transform:scale(.96)}}@keyframes motion-drop{0%{opacity:0;transform:translateY(-6px)scale(.98)}}@keyframes motion-slide-in{0%{opacity:0;transform:translate(16px)}}@keyframes motion-pop{0%{transform:scale(.8)}55%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes motion-bounce{0%,to{transform:translate(0)scale(1)}35%{transform:translateY(-4px)scale(1.06)}65%{transform:translateY(1px)scale(.98)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes motion-fade{0%{opacity:0}}.lift{transition:transform var(--dur-base,.22s) var(--ease-out,ease),box-shadow var(--dur-base,.22s) var(--ease-out,ease),background-color var(--dur-fast,.12s) ease}@media(hover:hover){.lift:hover{box-shadow:var(--soft-shadow-lift,0 10px 24px -16px #1e3c5a80);transform:translateY(-2px)}}.lift:active{transition-duration:var(--dur-fast,.12s);transform:scale(.99)}@media(hover:hover){#app .workbench-shell .todo.lift:hover,#app .workbench-shell .radar-row.lift:hover,#app .workbench-shell .memo.lift:hover{box-shadow:var(--soft-shadow,none);transform:translateY(-1px)}}#app .workbench-shell .train-station-item{transition:transform var(--dur-base,.22s) var(--ease-spring,ease)}@media(hover:hover){#app .workbench-shell .train-station-item:hover{transform:translateY(-2px)}}#app .ui-soft .card,#app .ui-soft .section-shell{transition:box-shadow var(--dur-base,.22s) var(--ease-out,ease)}@media(hover:hover){#app .ui-soft .card:hover,#app .ui-soft .section-shell:hover{box-shadow:var(--soft-shadow-lift,var(--soft-shadow,none))}.kpi-tile:hover .kpi-ic{animation:motion-bounce .52s var(--ease-spring,ease) 1}}.motion-pop{animation:motion-pop .42s var(--ease-spring,ease) 1 backwards;display:inline-block}#app .ui-soft .btn-primary{isolation:isolate;transition:transform var(--dur-base,.22s) var(--ease-spring,ease),box-shadow var(--dur-base,.22s) var(--ease-out,ease),filter var(--dur-fast,.12s) ease;position:relative;overflow:hidden}@media(hover:hover){#app .ui-soft .btn-primary:hover{box-shadow:0 14px 28px -12px var(--brand,#1673a3);transform:translateY(-1px)}}#app .ui-soft .btn-primary:active{transform:scale(.97)}#app .ui-soft .btn-primary:after{content:"";z-index:-1;aspect-ratio:1;opacity:0;width:140%;transition:transform .48s var(--ease-out,ease),opacity .48s var(--ease-out,ease);pointer-events:none;background:#ffffff59;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(1)}#app .ui-soft .btn-primary:active:after{opacity:1;transition:none;transform:translate(-50%,-50%)scale(0)}#app .ui-soft .btn-secondary,#app .ui-soft .btn-text{transition:transform var(--dur-fast,.12s) ease,background-color var(--dur-fast,.12s) ease}#app .ui-soft .btn-secondary:active,#app .ui-soft .btn-text:active{transform:scale(.97)}.ui-soft .kpi-tile,.ui-soft .workbench-shell .train-track-card,.ui-soft .workbench-shell .wing>.card,.ui-soft .workbench-shell .radars>.card,.ui-soft>.shell .section-shell{animation:motion-rise .28s var(--ease-out,ease-out) 1 backwards}.ui-soft .kpi-tile:nth-child(2){animation-delay:60ms}.ui-soft .kpi-tile:nth-child(3){animation-delay:.12s}.ui-soft .kpi-tile:nth-child(4){animation-delay:.18s}.ui-soft .workbench-shell .train-track-card{animation-delay:.12s}.ui-soft .workbench-shell .wing>.card:first-child{animation-delay:.18s}.ui-soft .workbench-shell .wing>.card:nth-child(2),.ui-soft .workbench-shell .radars>.card:first-child{animation-delay:.24s}.ui-soft .workbench-shell .radars>.card:nth-child(2){animation-delay:.27s}.ui-soft .workbench-shell .radars>.card:nth-child(3),.ui-soft>.shell .section-shell{animation-delay:.3s}@media(max-width:768px){.ui-soft .workbench-shell .radars>.card,.ui-soft .workbench-shell .wing:last-child>.card,.ui-soft>.shell .section-shell{animation:none}.ui-soft .workbench-shell .wing>.card:first-child{animation-delay:60ms}.ui-soft .workbench-shell .train-track-card{animation-delay:0s}}:root{view-transition-name:none}.canvas{view-transition-name:page}::view-transition-group(page){animation-duration:var(--dur-base,.22s)}::view-transition-old(page){animation:.16s var(--ease-out,ease-out) both motion-vt-out}::view-transition-new(page){animation:.24s var(--ease-out,ease-out) both motion-vt-in}@keyframes motion-vt-out{to{opacity:0}}@keyframes motion-vt-in{0%{opacity:0;transform:translateY(8px)}}#app .workbench-shell .tl-row.live .dot.live-beacon{border-radius:999px;width:7px;height:7px;display:inline-block}.spinner{vertical-align:-.15em;border:2px solid;border-radius:50%;flex:none;width:1em;height:1em;display:inline-block}@supports (color:color-mix(in lab,red,red)){.spinner{border:2px solid color-mix(in srgb,currentColor 25%,transparent)}}.spinner{border-top-color:currentColor;animation:.8s linear infinite spin}.skeleton{background:var(--ink);border-radius:999px;height:12px;display:block;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.skeleton{background:color-mix(in srgb,var(--ink) 7%,var(--card))}}.skeleton:after{content:"";background:linear-gradient(90deg,transparent,var(--card),transparent);position:absolute;inset:0}@supports (color:color-mix(in lab,red,red)){.skeleton:after{background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--card) 70%,transparent),transparent)}}.skeleton:after{animation:1.4s ease-in-out infinite shimmer;transform:translate(-100%)}.skeleton+.skeleton{margin-top:10px}.page-loading{gap:14px;display:grid}.page-loading-head{color:var(--ink-2);font-size:var(--fs-body,13px);align-items:center;gap:8px;display:flex}@media(prefers-reduced-motion:reduce){.spinner{border-top-color:currentColor}@supports (color:color-mix(in lab,red,red)){.spinner{border-top-color:color-mix(in srgb,currentColor 25%,transparent)}}}.acct-menu{animation:motion-drop var(--dur-base,.22s) var(--ease-out,ease) 1 backwards;transform-origin:0 100%}.detail-mask{animation:motion-fade var(--dur-base,.22s) var(--ease-out,ease) 1 backwards}.detail-mask>.detail-card{animation:motion-fade-scale var(--dur-base,.22s) var(--ease-spring,ease) 1 backwards}.app-toast-item{animation:motion-slide-in var(--dur-base,.22s) var(--ease-spring,ease) 1 backwards}.page-title-row{align-items:center;gap:12px;min-width:0;display:flex}.page-hue{border-radius:var(--r-row,14px);background:var(--hue-bg,var(--sunken));width:40px;height:40px;color:var(--hue-fg,var(--ink-2));flex:0 0 40px;place-items:center;display:grid}.page-hue .app-icon{width:22px;height:22px}.ui-soft .page-title{font-size:var(--fs-page-title,20px)}.ui-soft .v2-table{border-collapse:separate;border-spacing:0}.ui-soft .v2-table thead th{background:var(--soft-fill,var(--sunken));color:var(--ink-2);border-bottom:0;padding-top:8px;padding-bottom:8px}.ui-soft .v2-table thead th:first-child{border-radius:12px 0 0 12px}.ui-soft .v2-table thead th:last-child{border-radius:0 12px 12px 0}.ui-soft .v2-table td{border-bottom:1px solid var(--ink)}@supports (color:color-mix(in lab,red,red)){.ui-soft .v2-table td{border-bottom:1px solid color-mix(in srgb,var(--ink) 6%,transparent)}}.ui-soft .v2-table td{transition:background-color var(--dur-fast,.12s) ease}.ui-soft .v2-table tbody tr:last-child td{border-bottom:0}@media(hover:hover){.ui-soft .v2-table tbody tr:hover td{background:var(--soft-row,var(--sunken))}.ui-soft .v2-table tbody tr:hover td:first-child{border-radius:12px 0 0 12px}.ui-soft .v2-table tbody tr:hover td:last-child{border-radius:0 12px 12px 0}}.ui-soft .table-scroll{border-radius:var(--r-row,14px);background:0 0;border:0}.ui-soft .daily-top-tabs{background:var(--soft-card,var(--card));box-shadow:var(--soft-shadow,none);border:0;border-radius:999px;width:fit-content;max-width:100%;padding:5px}.ui-soft .daily-top-tab{transition:background-color var(--dur-fast,.12s) ease,color var(--dur-fast,.12s) ease,transform var(--dur-fast,.12s) ease;border-radius:999px}.ui-soft .daily-top-tab:hover:not(.active){background:var(--soft-row,var(--sunken))}.ui-soft .daily-top-tab:active{transform:scale(.97)}.ui-soft .daily-top-tab.active{background:var(--hue-lake-bg,var(--brand-soft));color:var(--nav-on-ink,var(--ink));box-shadow:none}.ui-soft .v2-segmented{background:var(--soft-fill,var(--sunken));border:0;border-radius:999px;gap:2px;padding:3px}.ui-soft .v2-segmented>button{background:0 0;border:0;border-radius:999px}.ui-soft .v2-segmented>button+button{border-left:0}.ui-soft .v2-segmented>button.on{background:var(--soft-card,var(--card));color:var(--nav-on-ink,var(--ink));box-shadow:var(--nav-on-shadow,none)}.ui-soft .v2-stat-line{gap:10px}.ui-soft .v2-stat-line>div{border-radius:var(--r-row,14px);background:var(--soft-row,var(--sunken));padding:10px 14px}.ui-soft :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea){border-radius:12px}.ui-soft .exam-notice{border-radius:var(--r-row,14px)}.ui-soft .dorm-chip{border-radius:999px}@media(max-width:768px){.ui-soft .kpi-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ui-soft .kpi-tile{gap:10px;padding:12px 14px}.ui-soft .kpi-ic{flex-basis:36px;width:36px;height:36px}.ui-soft .kpi-txt b{font-size:var(--fs-title-l,22px)}}.ui-soft .page-stack>*,.ui-soft .seat-board>*,.ui-soft .exam-page>*{animation:motion-rise .28s var(--ease-out,ease-out) 1 backwards}.ui-soft .page-stack>:nth-child(2),.ui-soft .seat-board>:nth-child(2),.ui-soft .exam-page>:nth-child(2){animation-delay:60ms}.ui-soft .page-stack>:nth-child(3),.ui-soft .seat-board>:nth-child(3),.ui-soft .exam-page>:nth-child(3){animation-delay:.12s}.ui-soft .page-stack>:nth-child(4),.ui-soft .seat-board>:nth-child(4),.ui-soft .exam-page>:nth-child(4){animation-delay:.18s}.ui-soft .page-stack>:nth-child(n+5),.ui-soft .seat-board>:nth-child(n+5),.ui-soft .exam-page>:nth-child(n+5){animation-delay:.24s}.ui-soft .kpi-row>.kpi-tile:nth-child(2){animation-delay:60ms}.ui-soft .kpi-row>.kpi-tile:nth-child(3){animation-delay:.12s}.ui-soft .kpi-row>.kpi-tile:nth-child(4){animation-delay:.18s}@media(max-width:768px){.ui-soft .page-stack>:nth-child(n+5),.ui-soft .seat-board>:nth-child(n+5),.ui-soft .exam-page>:nth-child(n+5){animation:none}}#app .ui-soft .student-archive .student-card{box-shadow:var(--soft-shadow,none);background:var(--soft-card,var(--card));border:0;border-radius:20px}@media(hover:hover){#app .ui-soft .student-archive .student-card:hover{box-shadow:var(--soft-shadow-lift,none);transform:translateY(-2px)}}#app .ui-soft .student-archive .student-card{transition:transform var(--dur-base,.22s) var(--ease-out,ease),box-shadow var(--dur-base,.22s) var(--ease-out,ease)}#app .ui-soft .student-archive .student-card:active{transform:scale(.99)}#app .ui-soft .student-archive .student-card-tag{border-radius:999px}.ui-soft .student-archive .archive-subsection+.archive-subsection{border-top:0;padding-top:4px}.ui-soft .student-archive .archive-subsection{border-radius:var(--r-row,14px);background:var(--soft-row,var(--sunken));padding:14px 16px}@media(max-width:768px){.ui-soft .student-archive .archive-kpis{display:none}}.kpi-tile--inset{background:var(--soft-row,var(--sunken));box-shadow:none;cursor:default}.kpi-tile--inset:hover{box-shadow:none}.ui-soft .exam-page .exam-alert-row,.ui-soft .exam-page .exam-search-menu,.ui-soft .exam-page .exam-chart,.ui-soft .exam-page .rank-chart{border-radius:var(--r-row,14px)}#app .ui-soft .seat-board .sb-head{border-radius:var(--r-soft,22px);box-shadow:var(--soft-shadow,none);background:var(--soft-card,var(--card));border:0;padding:16px 18px}.ui-soft .seat-board .sb-seg{background:var(--soft-fill,var(--sunken));border-radius:999px;flex:0 auto;gap:4px;width:fit-content;max-width:100%;padding:4px}.ui-soft .seat-board .sb-seg-btn{min-height:36px;box-shadow:none;transition:background-color var(--dur-fast,.12s) ease,transform var(--dur-fast,.12s) ease;border-radius:999px;padding:6px 14px}.ui-soft .seat-board .sb-seg-btn:hover{box-shadow:none;background:var(--soft-card,#fff)}@supports (color:color-mix(in lab,red,red)){.ui-soft .seat-board .sb-seg-btn:hover{background:color-mix(in srgb,var(--soft-card,#fff) 60%,transparent)}}.ui-soft .seat-board .sb-seg-btn:active{transform:scale(.97)}.ui-soft .seat-board .sb-seg-btn.on{background:var(--soft-card,var(--card));color:var(--nav-on-ink,var(--ink));box-shadow:var(--nav-on-shadow,none)}.ui-soft .seat-board .sb-rd-chip{border-radius:999px}.ui-soft .seat-board .sb-btn-primary{background:var(--brand-grad,var(--brand));color:var(--on-brand,#fff);border-radius:var(--r-row,14px);box-shadow:var(--brand-glow,none);transition:transform var(--dur-base,.22s) var(--ease-spring,ease),box-shadow var(--dur-base,.22s) var(--ease-out,ease);border:0;font-weight:600}@media(hover:hover){.ui-soft .seat-board .sb-btn-primary:hover{background:var(--brand-grad,var(--brand-hover));transform:translateY(-1px)}}.ui-soft .seat-board .sb-btn-primary:active{transform:scale(.97)}.ui-soft .seat-board .sb-btn{background:var(--soft-fill,var(--sb-bg));transition:background-color var(--dur-fast,.12s) ease,transform var(--dur-fast,.12s) ease;border:0;border-radius:12px}.ui-soft .seat-board .sb-btn:hover:not(:disabled){background:var(--soft-fill-hover,var(--sb-bg))}.ui-soft .seat-board .sb-btn:active:not(:disabled){transform:scale(.97)}.ui-soft .seat-board .sb-layout[data-dark="1"] .sb-btn{background:var(--sb-text)}@supports (color:color-mix(in lab,red,red)){.ui-soft .seat-board .sb-layout[data-dark="1"] .sb-btn{background:color-mix(in srgb,var(--sb-text) 9%,var(--sb-card))}}.ui-soft .seat-board .sb-layout[data-dark="1"] .sb-btn{color:var(--sb-text)}.ui-soft .seat-board .sb-menu-list{border-radius:var(--r-row,14px);box-shadow:var(--elev-float,var(--soft-shadow-lift));animation:motion-drop var(--dur-base,.22s) var(--ease-out,ease) 1 backwards;border:0}.ui-soft .seat-board .sb-roster,.ui-soft .seat-board .sb-detail,.ui-soft .seat-board .sb-stagewrap{border-radius:var(--r-soft,22px);box-shadow:var(--soft-shadow,none);background:var(--soft-card,var(--sb-card));border:0}.ui-soft .seat-board .sb-layout[data-dark="1"] .sb-stagewrap,.ui-soft .seat-board .sb-layout[data-dark="1"] .sb-roster,.ui-soft .seat-board .sb-layout[data-dark="1"] .sb-detail{background:var(--sb-card)}.ui-soft .seat-board .sb-board{background:var(--soft-row,var(--sb-bg));border-radius:14px;padding:10px}.ui-soft .seat-board .sb-layout[data-dark="1"] .sb-board{background:var(--sb-bg)}.ui-soft .seat-board .sb-stats{gap:8px}.ui-soft .seat-board .sb-stat{background:var(--soft-row,var(--sb-bg));border-radius:999px;align-items:center;gap:8px;padding:4px 12px 4px 4px}.ui-soft .seat-board .sb-stat-ic{background:var(--hue-bg);width:28px;height:28px;color:var(--hue-fg);border-radius:999px;order:-1;place-items:center;margin:0;display:grid}.ui-soft .seat-board .sb-layout[data-dark="1"] .sb-stat{background:var(--sb-text)}@supports (color:color-mix(in lab,red,red)){.ui-soft .seat-board .sb-layout[data-dark="1"] .sb-stat{background:color-mix(in srgb,var(--sb-text) 7%,var(--sb-card))}}.ui-soft .seat-board .sb-seat:not(.sb-empty){transition:transform var(--dur-base,.22s) var(--ease-out,ease),box-shadow var(--dur-base,.22s) var(--ease-out,ease),border-color var(--dur-fast,.12s) ease;border-color:#0000;border-radius:12px;box-shadow:0 6px 14px -12px #1e3c5a8c}@media(hover:hover){.ui-soft .seat-board .sb-seat:not(.sb-empty):hover{border-color:var(--sb-accent);transform:translateY(-2px);box-shadow:0 12px 20px -14px #1e3c5a99}}.ui-soft .seat-board .sb-seat:not(.sb-empty):active{transform:scale(.98)}.ui-soft .seat-board .sb-seat.sb-empty{border-radius:12px}.ui-soft .seat-board .sb-seat.sb-sel{border-color:var(--sb-gold)}.ui-soft .seat-board .sb-zone-front{background:var(--sb-good);border-radius:14px;margin:0 -6px;padding:6px}@supports (color:color-mix(in lab,red,red)){.ui-soft .seat-board .sb-zone-front{background:color-mix(in srgb,var(--sb-good) 7%,transparent)}}.ui-soft .seat-board .sb-zone-front .sb-rl{background:0 0}.ui-soft .seat-board .sb-stage{border-radius:999px}.ui-soft .seat-board .sb-score{background:var(--soft-row,var(--sb-bg));border:0;border-radius:20px}.ui-soft .seat-board .sb-score-item{background:var(--soft-card,var(--sb-card));border-radius:14px;box-shadow:0 6px 14px -12px #1e3c5a80}.ui-soft .seat-board .sb-layout[data-dark="1"] .sb-score{background:var(--sb-text)}@supports (color:color-mix(in lab,red,red)){.ui-soft .seat-board .sb-layout[data-dark="1"] .sb-score{background:color-mix(in srgb,var(--sb-text) 5%,var(--sb-card))}}.ui-soft .seat-board .sb-layout[data-dark="1"] .sb-score-item{background:var(--sb-card)}.ui-soft .seat-board .sb-ov-stat{background:var(--soft-card,var(--sb-card));box-shadow:var(--soft-shadow,none);border:0;border-radius:20px}.ui-soft .seat-board .sb-card{border-radius:var(--r-soft,22px);background:var(--soft-card,var(--sb-card));box-shadow:var(--soft-shadow,none);border:0;padding:14px 16px}.ui-soft .seat-board .sb-hist-item{border-radius:var(--r-soft,22px);box-shadow:var(--soft-shadow,none);background:var(--soft-card,var(--sb-card));transition:transform var(--dur-base,.22s) var(--ease-out,ease),box-shadow var(--dur-base,.22s) var(--ease-out,ease);border:0}@media(hover:hover){.ui-soft .seat-board .sb-hist-item:hover{box-shadow:var(--soft-shadow-lift,none);transform:translateY(-2px)}}.ui-soft .seat-board .sb-hist-item.sb-hist-prev{box-shadow:var(--soft-shadow,none),0 0 0 2px var(--sb-gold);border:0}@supports (color:color-mix(in lab,red,red)){.ui-soft .seat-board .sb-hist-item.sb-hist-prev{box-shadow:var(--soft-shadow,none),0 0 0 2px color-mix(in srgb,var(--sb-gold) 45%,transparent)}}.sb-hist-head{flex-wrap:wrap;align-items:flex-start;gap:10px;display:flex}.sb-hist-head .sb-hist-sub{flex-basis:100%}.sb-hist-ic{background:var(--hue-bg,var(--sb-bg));width:32px;height:32px;color:var(--hue-fg,var(--sb-dim));border-radius:12px;flex:0 0 32px;place-items:center;display:grid}.ui-soft .seat-board .sb-hist-input{border-radius:12px}.ui-soft .seat-board .sb-tabrow{box-shadow:none;border-bottom:0}.ui-soft .seat-board .sb-hist-bar{border-radius:var(--r-soft,22px);background:var(--soft-card,var(--card));box-shadow:var(--soft-shadow,none);padding:12px 14px}.ui-soft .seat-board .sb-ov-panel,.ui-soft .seat-board .sb-rd{border-radius:var(--r-soft,22px);background:var(--soft-card,var(--sb-card));box-shadow:var(--soft-shadow,none);border:0;padding:16px 18px}.ui-soft .seat-board .sb-rd-badge,.ui-soft .seat-board .sb-ov-dist{border-radius:999px}@media(min-width:769px){.sb-layout.no-roster .sb-roster-tab{left:-12px}.sb-layout.no-roster .sb-board-head{padding-left:18px}}@media(max-width:768px){.ui-soft .seat-board .sb-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:100%;display:grid}.ui-soft .seat-board .sb-stat{gap:6px;min-width:0;padding:3px 10px 3px 3px}.ui-soft .seat-board .sb-stat-ic{width:24px;height:24px}.ui-soft .seat-board .sb-stat-l{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.ui-soft .seat-board .sb-stat-v{white-space:nowrap;margin-left:auto;font-size:13px}}.kpi-row.kpi-row--3{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:768px){.ui-soft .kpi-row.kpi-row--3{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ui-soft .kpi-row.kpi-row--3 .kpi-tile{flex-direction:column;align-items:flex-start;gap:6px;padding:10px 12px}.ui-soft .kpi-row.kpi-row--3 .kpi-ic{border-radius:12px;flex-basis:30px;width:30px;height:30px}}.ui-soft .leave-v2 .leave-entry-header{border-bottom:0}.ui-soft .leave-v2 .leave-entry-section{border-radius:var(--r-row,14px)}.ui-soft .leave-v2 .leave-slot-button{border-radius:var(--r-row,14px);background:var(--soft-row,var(--sunken));transition:background-color var(--dur-fast,.12s) ease,transform var(--dur-base,.22s) var(--ease-spring,ease),box-shadow var(--dur-base,.22s) var(--ease-out,ease);border:0}@media(hover:hover){.ui-soft .leave-v2 .leave-slot-button:hover:not(:disabled){background:var(--soft-fill,var(--sunken));transform:translateY(-1px)}}.ui-soft .leave-v2 .leave-slot-button:active:not(:disabled){transform:scale(.97)}.ui-soft .leave-v2 .leave-slot-button.active{background:var(--hue-lake-wash,var(--brand-soft));box-shadow:inset 0 0 0 1.5px var(--brand)}#app .ui-soft .leave-v2 .leave-entry-submit{background:var(--brand-grad,var(--brand));border-radius:var(--r-row,14px);box-shadow:var(--brand-glow,none);transition:transform var(--dur-base,.22s) var(--ease-spring,ease),box-shadow var(--dur-base,.22s) var(--ease-out,ease);border:0}@media(hover:hover){#app .ui-soft .leave-v2 .leave-entry-submit:hover{background:var(--brand-grad,var(--brand-hover));transform:translateY(-1px)}}#app .ui-soft .leave-v2 .leave-entry-submit:active{transform:scale(.97)}#app .ui-soft .leave-v2 .leave-step-badge{background:var(--hue-amber-wash,var(--sunken));color:var(--hue-amber-fg,var(--ink-2));border:0;border-radius:999px}.ui-soft .leave-v2 .leave-month-bar{border-radius:8px 8px 0 0}.ui-soft .dorm-chip{background:var(--soft-fill,var(--sunken));transition:background-color var(--dur-fast,.12s) ease,transform var(--dur-fast,.12s) ease;border:0}.ui-soft .dorm-chip:hover{background:var(--soft-fill-hover,var(--sunken))}.ui-soft .dorm-chip:active{transform:scale(.96)}.ui-soft .dorm-chip.is-on{background:var(--hue-lake-bg,var(--brand-soft));color:var(--nav-on-ink,var(--ink))}.ui-soft .dorm-v2 .dorm-section-tabs .daily-top-tabs{margin-top:0}.ui-soft .dorm-v2 .chart-track{border-radius:999px}.ui-soft .daily-v21 .daily-page-title-row{flex-wrap:nowrap;justify-content:flex-start}.ui-soft .daily-v21 .daily-page-head{border-radius:var(--r-soft,22px);box-shadow:var(--soft-shadow,none);background:var(--soft-card,var(--card));border:0;gap:12px;padding:14px 18px;display:grid}.ui-soft .daily-v21 .daily-top-tabs{background:var(--soft-fill,var(--sunken));box-shadow:none;scrollbar-width:none;border:0;border-radius:999px;align-items:center;gap:2px;margin-top:0;padding:4px;display:inline-flex;overflow-x:auto}.ui-soft .daily-v21 .daily-top-tabs::-webkit-scrollbar{display:none}.ui-soft .daily-v21 .daily-top-tab{font-size:var(--fs-body,13px);color:var(--ink-3);cursor:pointer;transition:background-color var(--dur-fast,.12s) ease,transform var(--dur-fast,.12s) ease;background:0 0;border:0;border-radius:999px;padding:6px 14px;font-weight:600}.ui-soft .daily-v21 .daily-top-tab:active{transform:scale(.97)}.ui-soft .daily-v21 .daily-top-tabs .daily-top-tab.active{background:var(--brand);color:var(--on-brand,#fff);box-shadow:var(--brand-glow,none)}.ui-soft .daily-v21 .daily-meta-grid{border-radius:var(--r-row,14px);background:var(--soft-fill,var(--sunken));flex-wrap:wrap;align-items:center;gap:8px 14px;margin-top:0;padding:8px 14px;display:flex}.ui-soft .daily-v21 .daily-meta-field{flex-direction:row;flex:0 auto;align-items:center;gap:6px;min-width:0;display:flex}.ui-soft .daily-v21 .daily-meta-field:last-child{flex:200px}.ui-soft .daily-v21 .daily-meta-label{font-size:var(--fs-meta,12px);color:var(--ink-3);white-space:nowrap;margin-bottom:0;font-weight:600}.ui-soft .daily-v21 .daily-meta-input{height:32px;font-size:var(--fs-meta,12px);border-radius:var(--radius-control,8px);background:var(--card);color:var(--ink);box-shadow:0 1px 2px rgba(var(--shadow-rgb),.05);transition:box-shadow var(--dur-fast,.12s) ease;border:0;outline:none;padding:0 10px}.ui-soft .daily-v21 .daily-meta-input:focus{box-shadow:0 0 0 2px var(--brand)}.ui-soft .daily-v21 .daily-paper-table-shell{border-radius:var(--r-soft,22px);box-shadow:var(--soft-shadow,none);background:var(--soft-card,var(--card));border:0;overflow:hidden}.ui-soft .daily-v21 .daily-display-desk{border-radius:var(--r-soft,22px);box-shadow:var(--soft-shadow,none);background:var(--soft-card,var(--card));border:0}.ui-soft .daily-v21 .daily-display-desk .status-tag,.ui-soft .daily-v21 .daily-display-desk [class*=chip]{border-radius:999px}.ui-soft .schedule-v2{gap:14px;display:grid}.ui-soft .schedule-v2>*{animation:motion-rise .28s var(--ease-out,ease-out) 1 backwards}.ui-soft .schedule-v2>:nth-child(2){animation-delay:60ms}.ui-soft .schedule-v2>:nth-child(3){animation-delay:.12s}.ui-soft .schedule-v2>:nth-child(n+4){animation-delay:.18s}#app .ui-soft .schedule-v2 .schedule-top-toolbar{border-radius:var(--r-soft,22px);box-shadow:var(--soft-shadow,none);background:var(--soft-card,var(--card));border:0}.ui-soft .schedule-v2 .schedule-view-pill-group{background:var(--soft-fill,var(--sunken));border:0;border-radius:999px;padding:4px}#app .ui-soft .schedule-v2 .schedule-view-pill-btn{transition:background-color var(--dur-fast,.12s) ease,transform var(--dur-fast,.12s) ease;border-radius:999px}#app .ui-soft .schedule-v2 .schedule-view-pill-btn:active{transform:scale(.97)}#app .ui-soft .schedule-v2 .schedule-view-pill-btn.is-active{background:var(--soft-card,var(--card));color:var(--nav-on-ink,var(--ink));box-shadow:var(--nav-on-shadow,none)}#app .ui-soft .schedule-v2 .schedule-week-container{border-radius:var(--r-soft,22px);box-shadow:var(--soft-shadow,none);background:var(--soft-card,var(--card));border:0}#app .ui-soft .schedule-v2 .schedule-grid-header-cell{background:var(--soft-fill,var(--sunken));border-color:#0000}#app .ui-soft .schedule-v2 .schedule-grid-header-cell.is-today{background:var(--hue-lake-bg,var(--brand-soft))}@supports (color:color-mix(in lab,red,red)){#app .ui-soft .schedule-v2 .schedule-grid-content-cell.is-today{background:color-mix(in srgb,var(--brand) 8%,var(--soft-card,var(--card)))}}#app .ui-soft .schedule-v2 .schedule-grid-content-cell.is-break{background:var(--soft-row,var(--sunken))}#app .ui-soft .schedule-v2 .schedule-course-card[class*=course-color-]{border-radius:var(--r-row,14px);background:var(--soft-card,var(--card));box-shadow:0 8px 18px -14px #1e3c5a8c,0 0 0 1px var(--ink);border:0}@supports (color:color-mix(in lab,red,red)){#app .ui-soft .schedule-v2 .schedule-course-card[class*=course-color-]{box-shadow:0 8px 18px -14px #1e3c5a8c,0 0 0 1px color-mix(in srgb,var(--ink) 6%,transparent)}}#app .ui-soft .schedule-v2 .schedule-course-card[class*=course-color-]{transition:transform var(--dur-base,.22s) var(--ease-out,ease),box-shadow var(--dur-base,.22s) var(--ease-out,ease)}@media(hover:hover){#app .ui-soft .schedule-v2 .schedule-course-card[class*=course-color-]:hover{box-shadow:0 14px 24px -14px #1e3c5a99,0 0 0 1px var(--brand);border:0;transform:translateY(-2px)}@supports (color:color-mix(in lab,red,red)){#app .ui-soft .schedule-v2 .schedule-course-card[class*=course-color-]:hover{box-shadow:0 14px 24px -14px #1e3c5a99,0 0 0 1px color-mix(in srgb,var(--brand) 40%,transparent)}}}#app .ui-soft .schedule-v2 .schedule-course-card:active{transform:scale(.98)}#app .ui-soft .schedule-v2 .schedule-course-card.is-live{background:var(--hue-lake-bg,var(--brand-soft));box-shadow:0 10px 22px -14px #1673a399,inset 0 0 0 1.5px var(--brand);border:0}.ui-soft .schedule-v2 .schedule-live-dot{border-radius:999px;width:7px;height:7px;display:inline-block}.ui-soft .schedule-v2 .schedule-scope-bar{padding:0 4px}.ui-soft .schedule-v2 .schedule-day-stream-card{border-radius:var(--r-row,14px);box-shadow:var(--soft-shadow,none);background:var(--soft-card,var(--card));border:0}.ui-soft .schedule-v2 .schedule-page-header{margin-bottom:-2px}@media(max-width:768px){.ui-soft .schedule-v2 .schedule-view-pill-group{scrollbar-width:none;flex-wrap:nowrap;max-width:100%;overflow-x:auto}#app .ui-soft .schedule-v2 .schedule-view-pill-btn{white-space:nowrap;flex:none;padding-inline:12px}}.ui-soft .schedule-v2{grid-template-columns:minmax(0,1fr)}.ui-soft .schedule-v2>*{min-width:0}.ui-soft .consumption-v2 .consumption-row{border-radius:var(--r-row,14px);background:var(--soft-row,var(--sunken));border:0;padding:10px 12px}.ui-soft .consumption-v2 .consumption-row+.consumption-row{margin-top:8px}.ui-soft .consumption-v2 .chart-track{background:var(--soft-fill,var(--sunken))}.ui-soft .consumption-v2 .chart-fill{border-radius:999px}.ui-soft .consumption-v2 .section-shell>.table-scroll{padding-top:2px}#app .ui-soft .profile-v2 .profile-top-toolbar,#app .ui-soft .profile-v2 .profile-bento-card{border-radius:var(--r-soft,22px);background:var(--soft-card,var(--card));box-shadow:var(--soft-shadow,none);border:0}#app .ui-soft .profile-v2 .profile-bento-card:hover{box-shadow:var(--soft-shadow,none);transform:none}.ui-soft .profile-v2 .profile-card-head{border-bottom:0;padding-bottom:0}.ui-soft .profile-v2 .profile-kv{gap:8px}.ui-soft .profile-v2 .profile-kv>div,.ui-soft .profile-v2 .profile-records li{border-radius:var(--r-row,14px);background:var(--soft-row,var(--sunken));border:0;padding:9px 11px}.ui-soft .profile-v2 .profile-records{gap:8px;display:grid}.ui-soft .profile-v2 .profile-feedback{border-radius:var(--r-row,14px);background:var(--soft-row,var(--sunken));border:0;padding:10px 12px}.ui-soft .profile-v2 .rank-chart{border-radius:var(--r-row,14px);background:var(--soft-row,var(--sunken));padding-top:8px;padding-right:10px}@media(max-width:768px){#app .ui-soft .profile-v2 .profile-top-toolbar,#app .ui-soft .profile-v2 .profile-bento-card{border-radius:20px}}@media(max-width:360px){.profile-v2 .profile-kv-card-no{flex-wrap:wrap;align-items:flex-start}.profile-v2 .profile-kv-card-no dd{min-width:0;max-width:100%;margin-left:auto}}.page-title-row>.page-header-text{min-width:0}.ui-soft .display-manager-v2 .v2-table tbody tr.is-selected td{background:var(--hue-indigo-wash,var(--brand-soft))}.ui-soft .display-manager-v2 .dm-live{color:var(--hue-indigo-fg,var(--brand))}.ui-soft .display-manager-v2 .dm-live:before{background:currentColor}#app .ui-soft .settings-v2 .settings-nav{border-radius:var(--r-soft,22px);padding:6px}.ui-soft .settings-v2 .settings-nav .toolbar-row{scrollbar-width:none;flex-wrap:nowrap;gap:4px;overflow-x:auto}.ui-soft .settings-v2 .settings-nav .toolbar-row::-webkit-scrollbar{display:none}.ui-soft .settings-v2 .settings-tab{white-space:nowrap;min-height:36px;transition:background-color var(--dur-fast,.12s) ease,color var(--dur-fast,.12s) ease,transform var(--dur-fast,.12s) ease,box-shadow var(--dur-base,.22s) var(--ease-out,ease);border-radius:999px;flex:none;padding:0 14px}.ui-soft .settings-v2 .settings-tab:hover:not(.is-on){background:var(--soft-row,var(--sunken))}.ui-soft .settings-v2 .settings-tab:active{transform:scale(.97)}.ui-soft .settings-v2 .settings-tab.is-on{background:var(--hue-lake-bg,var(--brand-soft));color:var(--nav-on-ink,var(--ink));box-shadow:0 6px 16px -12px #1673a3b3}.ui-soft .settings-v2 .settings-tab:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.ui-soft .settings-v2 .settings-block{background:var(--soft-row,var(--sunken));border-top:0;border-radius:20px;padding:14px 16px}.ui-soft .settings-v2 .settings-block+.settings-block{margin-top:12px}.ui-soft .settings-v2 .settings-list{gap:8px;display:grid}.ui-soft .settings-v2 .settings-list>*+*{border-top:0}.ui-soft .settings-v2 .settings-list>*{border-radius:var(--r-row,14px);background:var(--soft-card,var(--card));transition:transform var(--dur-base,.22s) var(--ease-out,ease),box-shadow var(--dur-base,.22s) var(--ease-out,ease);padding-left:12px;padding-right:12px}@media(hover:hover){.ui-soft .settings-v2 .settings-list>:hover{box-shadow:var(--soft-shadow,none)}}.ui-soft .settings-v2 .settings-block .v2-table thead th{background:var(--soft-card,var(--card))}.ui-soft .settings-v2 .settings-modal-foot{border-top:0}.ui-soft .settings-v2 .settings-steps{background:var(--soft-row,var(--sunken));border-bottom:0;border-radius:999px;padding:8px 10px}.ui-soft .settings-v2 .settings-choice{background:var(--soft-row,var(--sunken));transition:transform var(--dur-base,.22s) var(--ease-spring,ease),box-shadow var(--dur-base,.22s) var(--ease-out,ease),background-color var(--dur-fast,.12s) ease;border:0;border-radius:20px}@media(hover:hover){.ui-soft .settings-v2 .settings-choice:hover{background:var(--soft-fill,var(--sunken));transform:translateY(-1px)}}.ui-soft .settings-v2 .settings-choice:active{transform:scale(.99)}.ui-soft .settings-v2 .settings-choice.is-on{background:var(--hue-lake-wash,var(--brand-soft));box-shadow:inset 0 0 0 1.5px var(--brand);border:0}.ui-soft .settings-v2 .settings-summary{border-radius:var(--r-row,14px);background:var(--soft-row,var(--sunken));padding:12px 14px}.ui-soft .settings-v2 .v2-file-input-plain::file-selector-button{background:var(--soft-fill,var(--sunken));border:0;border-radius:12px}@media(max-width:768px){.ui-soft .settings-v2 .settings-nav .toolbar-row{display:flex}.ui-soft .settings-v2 .settings-tab{min-height:44px}}.ui-soft .health-v2 .health-detail{background:var(--soft-row,var(--sunken));border-radius:12px}.ui-soft .health-v2 .v2-table td{vertical-align:top}section[data-page]{--page-accent:var(--brand,var(--accent))}section[data-page=schedule]{--page-accent:var(--hue-sky-fg,var(--brand))}section[data-page=daily]{--page-accent:var(--hue-teal-fg,var(--brand))}section[data-page=leave]{--page-accent:var(--hue-amber-fg,var(--brand))}section[data-page=dorm]{--page-accent:var(--hue-orange-fg,var(--brand))}section[data-page=reports]{--page-accent:var(--hue-red-fg,var(--brand))}section[data-page=display]{--page-accent:var(--hue-indigo-fg,var(--brand))}section[data-page=students],section[data-page=profile]{--page-accent:var(--hue-rose-fg,var(--brand))}section[data-page=exam]{--page-accent:var(--hue-green-fg,var(--brand))}section[data-page=consumption]{--page-accent:var(--hue-yellow-fg,var(--brand))}section[data-page=seat]{--page-accent:var(--hue-violet-fg,var(--brand))}section[data-page=settings],section[data-page=health]{--page-accent:var(--hue-slate-fg,var(--brand))}.ui-soft :is(.section-title,.panel-title,.profile-card-title,.sb-ov-h,.sb-board-title){align-items:center;gap:8px;display:flex}.ui-soft :is(.section-title,.panel-title,.profile-card-title,.sb-ov-h,.sb-board-title):before{content:"";background:var(--page-accent,var(--brand));border-radius:999px;flex:none;width:4px;height:1em}.kpi-tile:has(>[data-hue=lake]){--kpi-ink:var(--hue-lake-fg)}.kpi-tile:has(>[data-hue=sky]){--kpi-ink:var(--hue-sky-fg)}.kpi-tile:has(>[data-hue=teal]){--kpi-ink:var(--hue-teal-fg)}.kpi-tile:has(>[data-hue=amber]){--kpi-ink:var(--hue-amber-fg)}.kpi-tile:has(>[data-hue=orange]){--kpi-ink:var(--hue-orange-fg)}.kpi-tile:has(>[data-hue=red]){--kpi-ink:var(--hue-red-fg)}.kpi-tile:has(>[data-hue=indigo]){--kpi-ink:var(--hue-indigo-fg)}.kpi-tile:has(>[data-hue=rose]){--kpi-ink:var(--hue-rose-fg)}.kpi-tile:has(>[data-hue=green]){--kpi-ink:var(--hue-green-fg)}.kpi-tile:has(>[data-hue=yellow]){--kpi-ink:var(--hue-yellow-fg)}.kpi-tile:has(>[data-hue=violet]){--kpi-ink:var(--hue-violet-fg)}.kpi-tile:has(>[data-hue=slate]){--kpi-ink:var(--hue-slate-fg)}.kpi-txt>b{color:var(--kpi-ink,var(--ink))}.kpi-txt>b.is-alert-text{color:var(--ink-alert)}.kpi-tile--inset{background:var(--soft-card,var(--card));box-shadow:0 0 0 1px var(--ink)}@supports (color:color-mix(in lab,red,red)){.kpi-tile--inset{box-shadow:0 0 0 1px color-mix(in srgb,var(--ink) 7%,transparent)}}.ui-soft .v2-table thead th{background:var(--th-bg,var(--soft-fill));color:var(--brand-ink,var(--ink));font-weight:600}#app .ui-soft .btn-secondary,.ui-soft .seat-board .sb-btn{background:var(--btn-soft-bg,var(--soft-fill));color:var(--btn-soft-ink,var(--ink))}#app .ui-soft .btn-secondary:hover,.ui-soft .seat-board .sb-btn:hover:not(:disabled){background:var(--btn-soft-bg-hover,var(--soft-fill-hover))}.ui-soft .daily-top-tab.active,.ui-soft .v2-segmented>button.on,.ui-soft .settings-v2 .settings-tab.is-on,.ui-soft .seat-board .sb-seg-btn.on,#app .ui-soft .schedule-v2 .schedule-view-pill-btn.is-active,.ui-soft .dorm-chip.is-on,.ui-soft .daily-v21 .daily-top-tabs .daily-top-tab.active{background:var(--brand);color:var(--on-brand,#fff);box-shadow:var(--brand-glow,none)}#app .workbench-shell .train-track-card.wb-hero{border-radius:var(--r-card,12px);color:#fff;background:linear-gradient(135deg,#17658e,#247ca8);border:0;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"info actions""rail rail";align-items:center;gap:10px 16px;min-height:0;padding:12px 18px 10px;display:grid;box-shadow:0 10px 24px -14px #0f5a8273}[data-theme=lake-dark] #app .workbench-shell .train-track-card.wb-hero,[data-theme=lake-dim] #app .workbench-shell .train-track-card.wb-hero{box-shadow:0 12px 24px -14px #000000b3}.wb-hero .train-track-left{flex-wrap:wrap;grid-area:info;align-items:center;gap:8px 14px;min-width:0;display:flex}.wb-hero-label{display:none!important}#app .workbench-shell .wb-hero .train-badge{color:#fff;background:#082b3f52;border-radius:999px;align-items:center;gap:6px;width:auto;min-width:0;min-height:0;padding:3px 10px;display:inline-flex;box-shadow:inset 0 0 0 1px #ffffff40}.wb-hero .train-badge-period{font-size:var(--fs-meta,12px)!important;font-weight:700!important}.wb-hero .train-badge-status{font-size:var(--fs-meta,12px)!important;color:#fff!important}.wb-hero-main{flex-wrap:wrap;align-items:center;gap:4px 14px;min-width:0;display:flex}.wb-hero-line{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.wb-hero-title{font-size:var(--fs-title-m,18px);color:#fff;font-weight:700;line-height:1.2}.workbench-shell .wb-hero .wb-hero-countdown{font-size:var(--fs-title-s,15px);color:#fff;background:#082b3f47;border-radius:8px;padding:2px 8px;font-weight:700;line-height:1.2}.workbench-shell .wb-hero .wb-hero-countdown.is-note{font-size:var(--fs-meta,12px);color:#fff;font-weight:600}.wb-hero-sub{font-size:var(--fs-meta,12px);color:#fff;flex-wrap:wrap;align-items:center;gap:4px 10px;display:flex}.wb-hero-next b{color:#fff;font-weight:600}.wb-hero .train-track-right{flex-wrap:wrap;grid-area:actions;justify-content:flex-end;gap:6px;display:flex}#app .workbench-shell .wb-hero .train-track-right>:is(button,a){height:32px;min-height:32px;font-size:var(--fs-meta,12px);color:#fff;background:#082b3f4d;border:0;border-radius:8px;padding:0 12px;box-shadow:inset 0 0 0 1px #ffffff47}#app .workbench-shell .wb-hero .train-track-right>:is(button,a):hover{background:#082b3f7a}#app .workbench-shell .wb-hero .train-track-middle{flex:none;grid-area:rail;width:100%;min-width:0;max-width:none}#app .workbench-shell .wb-hero .train-track-scroll{background:#082b3f47;border-radius:12px;gap:0;padding:6px 36px;position:relative;box-shadow:inset 0 0 0 1px #ffffff1f}#app .workbench-shell .wb-hero .train-station-item{flex:0 0 52px;width:52px}#app .workbench-shell .wb-hero .train-line-bg{background:#ffffff3d;height:3px;top:19px;left:62px;right:auto}#app .workbench-shell .wb-hero .train-line-fill{background:#fff}#app .workbench-shell .wb-hero .train-node{width:26px;min-width:26px;height:26px;min-height:26px;font-size:var(--fs-meta,12px);color:#fff;background:#fff3;border:0;font-weight:700;box-shadow:inset 0 0 0 1.5px #ffffff59}#app .workbench-shell .wb-hero .train-node.done{color:#17658e;box-shadow:none;background:#fffffff2}#app .workbench-shell .wb-hero .train-node.live{color:#17658e;background:#fff;box-shadow:0 0 0 3px #ffffff59}#app .workbench-shell .wb-hero .train-node.next{color:#3b2400;box-shadow:none;background:#fbbf24}#app .workbench-shell .wb-hero .live-beacon:after{border-color:#fff}#app .workbench-shell .wb-hero .train-node-label{font-size:var(--fs-meta,12px);color:#fff;margin-top:4px}#app .workbench-shell .wb-hero .train-node-label.is-live{color:#fff;font-weight:700}#app .workbench-shell .wb-hero .train-node-label.is-next{color:#fff4b4;font-weight:600}#app .workbench-shell .wb-hero .train-track-arrow{color:#17658e;background:#ffffffe6;border:0;width:26px;height:26px}#app .workbench-shell #hub .panel-head h2:before,#app .workbench-shell .radar-head b:before{content:"";vertical-align:-.1em;background:var(--hue-amber-fg,var(--warm));border-radius:999px;width:4px;height:1em;margin-right:8px;display:inline-block}#app .workbench-shell .r-grade .radar-head b:before{background:var(--hue-rose-fg,var(--alert))}#app .workbench-shell .r-dorm .radar-head b:before{background:var(--hue-orange-fg,var(--warm))}#app .workbench-shell .r-consumption .radar-head b:before{background:var(--hue-yellow-fg,var(--warm))}#app .workbench-shell .wb-timeline{overflow:hidden;padding-top:0!important}#app .workbench-shell .wb-timeline .panel-head{background:var(--brand);color:var(--on-brand,#fff);margin:0 -20px;padding:14px 20px}#app .workbench-shell .wb-timeline .panel-head h2{color:var(--on-brand,#fff)}#app .workbench-shell .wb-timeline .panel-head>button{color:var(--on-brand,#fff);background:var(--on-brand,#fff)}@supports (color:color-mix(in lab,red,red)){#app .workbench-shell .wb-timeline .panel-head>button{background:color-mix(in srgb,var(--on-brand,#fff) 16%,transparent)}}#app .workbench-shell .wb-timeline .tl{padding-left:6px}#app .workbench-shell .wb-timeline .tl-row{padding:11px 14px}#app .workbench-shell .wb-timeline .tl-row .k{font-size:var(--fs-body,13px);min-width:108px;color:var(--ink-2)}#app .workbench-shell .wb-timeline .tl-row .v{font-size:var(--fs-title-s,15px);color:var(--ink)}#app .workbench-shell .wb-timeline .tl-row.done .k,#app .workbench-shell .wb-timeline .tl-row.done .v,#app .workbench-shell .wb-timeline .tl-row.done .s{color:var(--ink-3)}#app .workbench-shell .wb-timeline .tl-row.live{border-radius:var(--r-row,14px);background:var(--brand);box-shadow:var(--brand-glow,none);border-left-color:#0000}#app .workbench-shell .wb-timeline .tl-row.live .k,#app .workbench-shell .wb-timeline .tl-row.live .v{color:var(--on-brand,#fff);font-weight:700}#app .workbench-shell .wb-timeline .tl-row.live .s{background:var(--on-brand,#fff)}@supports (color:color-mix(in lab,red,red)){#app .workbench-shell .wb-timeline .tl-row.live .s{background:color-mix(in srgb,var(--on-brand,#fff) 20%,transparent)}}#app .workbench-shell .wb-timeline .tl-row.live .s{color:var(--on-brand,#fff)}#app .workbench-shell .wb-timeline .tl-row.live .dot{background:var(--on-brand,#fff)}#app .workbench-shell .wb-timeline .tl-row.live .live-beacon:after{border-color:var(--on-brand,#fff)}#app .workbench-shell .wb-timeline .tl-row.up .s{color:var(--ink-warm)}@media(max-width:768px){#app .workbench-shell .train-track-card.wb-hero{border-radius:20px;grid-template-columns:minmax(0,1fr);grid-template-areas:"info""rail";gap:10px;padding:14px 14px 10px;display:grid!important}.wb-hero-label,.wb-hero .train-badge,.wb-hero .train-track-right,.wb-hero-sub{display:none!important}.wb-hero-title,.workbench-shell .wb-hero .wb-hero-countdown{font-size:22px}#app .workbench-shell .wb-hero .train-track-arrow{display:none}#app .workbench-shell .wb-hero .train-track-scroll{padding:6px 12px}#app .workbench-shell .wb-hero .train-line-bg{top:28px;left:46px}#app .workbench-shell .wb-hero .train-node-label{margin-top:4px;font-size:13px}.workbench-shell .topbar-mobile-period{display:none!important}#app .workbench-shell .wb-timeline .panel-head{margin:0 -12px;padding:10px 12px}#app .workbench-shell .wb-timeline .tl-row .v{font-size:var(--fs-body,13px)}#app .workbench-shell .wb-timeline .tl-row .k{min-width:88px;font-size:var(--fs-meta,12px)}#app .workbench-shell .wb-kpis,#app .workbench-shell .wb-timeline .tl-row:not(.live) .s{display:none}#app .workbench-shell .wb-timeline .tl-row .k{min-width:82px}}.ui-soft .schedule-v2 .schedule-course-card{--subj-fg:var(--hue-slate-fg,#475569);--subj-ink:#334155;--subj-tint:15%}.ui-soft .schedule-v2 .course-color-chinese{--subj-fg:var(--hue-rose-fg,#be123c);--subj-ink:#9f1239}.ui-soft .schedule-v2 .course-color-math{--subj-fg:var(--hue-lake-fg,#1673a3);--subj-ink:#0f5e86}.ui-soft .schedule-v2 .course-color-english{--subj-fg:var(--hue-teal-fg,#0f766e);--subj-ink:#115e59}.ui-soft .schedule-v2 .course-color-physics{--subj-fg:var(--hue-violet-fg,#5b45b5);--subj-ink:#4c3a99}.ui-soft .schedule-v2 .course-color-chemistry{--subj-fg:var(--hue-amber-fg,#b45309);--subj-ink:#8a3c06}.ui-soft .schedule-v2 .course-color-biology{--subj-fg:var(--hue-green-fg,#047857);--subj-ink:#065f46}[data-theme=lake-dark] .ui-soft .schedule-v2 .schedule-course-card,[data-theme=lake-dim] .ui-soft .schedule-v2 .schedule-course-card{--subj-ink:var(--subj-fg);--subj-tint:18%}#app .ui-soft .schedule-v2 .schedule-course-card[class*=course-color-]{background:var(--subj-fg)}@supports (color:color-mix(in lab,red,red)){#app .ui-soft .schedule-v2 .schedule-course-card[class*=course-color-]{background:color-mix(in srgb,var(--subj-fg) var(--subj-tint),var(--soft-card,var(--card)))}}#app .ui-soft .schedule-v2 .schedule-course-card[class*=course-color-]{box-shadow:inset 4px 0 0 var(--subj-fg),0 8px 18px -14px #1e3c5a80;padding-left:14px}#app .ui-soft .schedule-v2 .schedule-course-card[class*=course-color-] .schedule-course-subject{color:var(--subj-ink);font-weight:700}#app .ui-soft .schedule-v2 .schedule-course-card[class*=course-color-] :is(.schedule-course-teacher,.schedule-course-room){color:var(--ink-2)}@media(hover:hover){#app .ui-soft .schedule-v2 .schedule-course-card[class*=course-color-]:hover{box-shadow:inset 4px 0 0 var(--subj-fg),0 14px 24px -14px #1e3c5a99}}#app .ui-soft .schedule-v2 .schedule-course-card.is-live,#app .ui-soft .schedule-v2 .schedule-course-card.is-live[class*=course-color-]{background:var(--brand);box-shadow:var(--brand-glow,none),inset 0 0 0 0 transparent}#app .ui-soft .schedule-v2 .schedule-course-card.is-live :is(.schedule-course-subject,.schedule-course-teacher,.schedule-course-room,.schedule-live-text,.ui-muted){color:var(--on-brand,#fff)}.ui-soft .schedule-v2 .schedule-course-card.is-live .schedule-live-dot{background:var(--on-brand,#fff)}.ui-soft .schedule-v2 .schedule-course-card.is-live .live-beacon:after{border-color:var(--on-brand,#fff)}#app .ui-soft .schedule-v2 .schedule-grid-header-cell{background:var(--th-bg,var(--soft-fill));color:var(--brand-ink,var(--ink))}#app .ui-soft .schedule-v2 .schedule-grid-header-day{color:var(--brand-ink,var(--ink))}#app .ui-soft .schedule-v2 .schedule-grid-header-date{background:var(--soft-card,var(--card));color:var(--brand-ink,var(--ink-2));font-variant-numeric:tabular-nums;border-radius:999px;margin-top:4px;padding:1px 10px;display:inline-block}#app .ui-soft .schedule-v2 .schedule-grid-header-cell.is-today{background:var(--brand);color:var(--on-brand,#fff)}#app .ui-soft .schedule-v2 .schedule-grid-header-cell.is-today :is(.schedule-grid-header-day,.schedule-today-mark){color:var(--on-brand,#fff)}#app .ui-soft .schedule-v2 .schedule-grid-header-cell.is-today .schedule-grid-header-date{background:var(--on-brand,#fff)}@supports (color:color-mix(in lab,red,red)){#app .ui-soft .schedule-v2 .schedule-grid-header-cell.is-today .schedule-grid-header-date{background:color-mix(in srgb,var(--on-brand,#fff) 22%,transparent)}}#app .ui-soft .schedule-v2 .schedule-grid-header-cell.is-today .schedule-grid-header-date{color:var(--on-brand,#fff)}#app .ui-soft .schedule-v2 .schedule-grid-content-cell.is-today{background:var(--brand)}@supports (color:color-mix(in lab,red,red)){#app .ui-soft .schedule-v2 .schedule-grid-content-cell.is-today{background:color-mix(in srgb,var(--brand) 14%,var(--soft-card,var(--card)))}}#app .ui-soft .schedule-v2 .schedule-grid-content-cell.is-today>div:not(.schedule-course-card){color:var(--ink-2)!important}#app .ui-soft .schedule-v2 .schedule-grid-time-col:not(.is-unmapped){background:var(--btn-soft-bg,var(--soft-row))}#app .ui-soft .schedule-v2 .schedule-grid-time-period{color:var(--brand-ink,var(--ink))}.workbench-shell .wb-memo-toggle{display:none}@media(max-width:768px){.workbench-shell .wb-memo-toggle{justify-self:start;display:inline-flex}.workbench-shell .wb-memo .memos.is-collapsed{display:none}}.ui-soft :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]):not([type=hidden]),select,textarea){background-color:var(--field-bg,var(--card));border:1px solid var(--field-line,var(--hair-strong));color:var(--field-text,var(--ink));min-height:40px;font-size:var(--fs-body,13px);transition:border-color var(--dur-fast,.12s) ease,box-shadow var(--dur-fast,.12s) ease;border-radius:12px}.ui-soft :is(input,textarea)::placeholder{color:var(--field-ph,var(--ink-3));opacity:1}.ui-soft :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea):hover:not(:disabled):not(:focus){border-color:var(--field-line,#8494a3)}@supports (color:color-mix(in lab,red,red)){.ui-soft :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea):hover:not(:disabled):not(:focus){border-color:color-mix(in srgb,var(--field-line,#8494a3) 60%,var(--ink))}}.ui-soft :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea):focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand);outline:none}@supports (color:color-mix(in lab,red,red)){.ui-soft :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea):focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 22%,transparent)}}.ui-soft :is(input,select,textarea):disabled{background-color:var(--soft-row,var(--sunken));color:var(--ink-3);cursor:not-allowed}.ui-soft label:not(.btn):has(>input:not([type=checkbox]):not([type=radio]),>select,>textarea){color:var(--ink-2);font-weight:600}.ui-soft label:not(.btn):has(>input:not([type=checkbox]):not([type=radio]),>select,>textarea)>:is(input,select,textarea){font-weight:400}.ui-soft textarea{min-height:72px}.dorm-head-actions{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}#app .ui-soft .dorm-v2 .dorm-hero{padding:0 0 18px;overflow:hidden}#app .ui-soft .dorm-v2 .dorm-hero>:not(.dorm-hero-head){margin-left:18px;margin-right:18px}.dorm-v2 .dorm-hero-head{color:#fff;background:linear-gradient(135deg,#c2410c,#9a3412);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;padding:18px 20px;display:flex}.dorm-v2 .dorm-hero-title{font-size:var(--fs-page-title,20px);color:#fff;margin:0;font-weight:700}.dorm-v2 .dorm-hero-note{font-size:var(--fs-body,13px);color:#fff;margin:4px 0 0}.dorm-v2 .dorm-hero-current{font-size:var(--fs-body,13px);color:#fff;align-items:baseline;gap:8px;display:flex}.dorm-v2 .dorm-hero-current b{font-size:var(--fs-title-l,22px);font-weight:700}.dorm-v2 .dorm-hero-chip{color:#fff;background:#54200e52;border-radius:999px;padding:4px 12px;font-weight:600;box-shadow:inset 0 0 0 1px #ffffff59}.dorm-v2 .dorm-kpi-empty{font-size:var(--fs-body,13px);color:var(--ink-2);margin-top:14px}.ui-soft .dorm-v2 .dorm-kpis{gap:10px;margin-top:14px}.ui-soft .dorm-v2 .dorm-kpis .kpi-tile{background:var(--soft-row,var(--sunken));box-shadow:none;padding:10px 14px}.ui-soft .dorm-v2 .dorm-kpis .kpi-ic{border-radius:12px;flex-basis:36px;width:36px;height:36px}.ui-soft .dorm-v2 .dorm-kpis .kpi-txt b{font-size:var(--fs-title-l,22px)}.ui-soft .dorm-v2 .dorm-subsection{background:var(--sub-wash,var(--soft-row));border-top:0;border-radius:20px;padding:14px 16px}.ui-soft .dorm-v2 .dorm-sub--personal{--sub-wash:var(--hue-orange-wash,#fdece2);--sub-chip:var(--hue-orange-fg,#c2410c)}.ui-soft .dorm-v2 .dorm-sub--duty{--sub-wash:var(--hue-amber-wash,#fdf1e2);--sub-chip:var(--hue-amber-fg,#b45309)}.ui-soft .dorm-v2 .dorm-sub--public{--sub-wash:var(--hue-slate-wash,#edf1f5);--sub-chip:var(--hue-slate-fg,#475569)}.dorm-v2 .dorm-sub-chip{background:var(--sub-chip,var(--brand));color:#fff;font-size:var(--fs-body,13px);border-radius:999px;align-items:baseline;gap:6px;padding:4px 12px;font-weight:700;display:inline-flex}.dorm-v2 .dorm-sub-chip small{font-size:var(--fs-meta,12px);color:#fff;font-weight:500}[data-theme=lake-dark] .dorm-v2 .dorm-sub-chip,[data-theme=lake-dim] .dorm-v2 .dorm-sub-chip,[data-theme=lake-dark] .dorm-v2 .dorm-sub-chip small,[data-theme=lake-dim] .dorm-v2 .dorm-sub-chip small{color:#141c24}.ui-soft .dorm-v2 .dorm-add-btn{gap:4px}.ui-soft .dorm-v2 .dorm-hero .dorm-chip{min-height:34px;font-size:var(--fs-body,13px);background:var(--chip-orange-bg,#f6e4dd);color:var(--chip-orange-ink,#9a3412);box-shadow:inset 0 0 0 1px var(--chip-orange-line,#e7b49e);transition:transform var(--dur-fast,.12s) var(--ease-spring,ease),background-color var(--dur-fast,.12s) ease;padding:0 14px;font-weight:600}@media(hover:hover){.ui-soft .dorm-v2 .dorm-hero .dorm-chip:hover{background:var(--chip-orange-bg-hover,#f2d5ca);transform:translateY(-1px)}}.ui-soft .dorm-v2 .dorm-hero .dorm-chip:active{transform:scale(.95)}.ui-soft .dorm-v2 .dorm-hero .dorm-progress .dorm-chip.is-on{background:var(--hue-orange-fg,#c2410c);color:#fff}@media(max-width:768px),(any-pointer:coarse){#app .leave-v2 table .btn,#app .pwa-install-btn,#app .pwa-install-close{min-width:44px}#app .dorm-v2 .dorm-chip{min-width:44px;min-height:44px}}[data-theme=lake-dark] .dorm-v2,[data-theme=lake-dim] .dorm-v2{--chip-orange-bg:#fdba74}@supports (color:color-mix(in lab,red,red)){[data-theme=lake-dark] .dorm-v2,[data-theme=lake-dim] .dorm-v2{--chip-orange-bg:color-mix(in srgb, #fdba74 20%, var(--card))}}[data-theme=lake-dark] .dorm-v2,[data-theme=lake-dim] .dorm-v2{--chip-orange-bg-hover:#fdba74}@supports (color:color-mix(in lab,red,red)){[data-theme=lake-dark] .dorm-v2,[data-theme=lake-dim] .dorm-v2{--chip-orange-bg-hover:color-mix(in srgb, #fdba74 28%, var(--card))}}[data-theme=lake-dark] .dorm-v2,[data-theme=lake-dim] .dorm-v2{--chip-orange-ink:#fdba74;--chip-orange-line:#fdba74}@supports (color:color-mix(in lab,red,red)){[data-theme=lake-dark] .dorm-v2,[data-theme=lake-dim] .dorm-v2{--chip-orange-line:color-mix(in srgb, #fdba74 40%, var(--card))}}.ui-soft .dorm-v2 .dorm-room-input{font-size:var(--fs-title-m,18px);min-height:44px;font-weight:700}.ui-soft .dorm-v2 .dorm-total-bar{background:var(--soft-row,var(--sunken));border-top:0;border-radius:20px;padding:14px 16px}#app .ui-soft .dorm-v2 .dorm-submit{height:44px;min-height:44px;font-size:var(--fs-title-s,15px);color:#fff;background:linear-gradient(135deg,#c2410c,#9a3412);padding:0 24px;box-shadow:0 12px 24px -12px #9a3412}#app .ui-soft .dorm-v2 .dorm-submit:hover{filter:brightness(1.06);background:linear-gradient(135deg,#c2410c,#9a3412)}@media(max-width:768px){.ui-soft .dorm-v2 .dorm-total-bar{bottom:calc(64px + var(--safe-bottom,0px));z-index:5;background:var(--soft-card,var(--card));position:sticky;box-shadow:0 -8px 24px -16px #1e3c5a80}#app .ui-soft .dorm-v2 .dorm-submit{flex:100%;width:100%}#app .ui-soft .dorm-v2 .dorm-hero>:not(.dorm-hero-head){margin-left:12px;margin-right:12px}}#app .workbench-shell .wb-main>.card.panel{grid-auto-rows:max-content;align-content:start}#app .workbench-shell #hub .empty{align-self:start}@media(min-width:769px){#app .schedule-v2 .schedule-grid-content-cell{min-height:clamp(104px,calc(var(--vh-full,100vh) * .125),148px);padding:8px}#app .schedule-v2 .schedule-grid-content-cell.is-break{min-height:44px}#app .schedule-v2 .schedule-course-card{align-content:space-between;height:100%}}.leave-kpi-card{width:min(860px,100vw - 48px);max-height:min(70vh,640px)}.leave-kpi-table{border-collapse:collapse;width:100%}.leave-kpi-table th{text-align:left;color:var(--ink-3);border-bottom:1px solid var(--hair);background:var(--card);padding:8px 10px;font-weight:600;position:sticky;top:0}.leave-kpi-table td{border-bottom:1px solid var(--hair);vertical-align:top;padding:9px 10px}.leave-kpi-table tr:last-child td{border-bottom:0}#app .workbench-shell .wb-hero .wb-hero-sub{font-size:var(--fs-body,13px);gap:6px 12px}#app .workbench-shell .wb-hero .wb-hero-next{font-size:var(--fs-body,13px);background:#082b3f4d;border-radius:999px;align-items:center;gap:6px;padding:4px 12px;display:inline-flex;box-shadow:inset 0 0 0 1px #ffffff38}#app .workbench-shell .wb-hero .wb-hero-next b{font-size:var(--fs-title-s,15px);font-weight:700}#app .workbench-shell .wb-hero .train-badge{text-align:center;border-radius:14px;flex-direction:column;justify-content:center;gap:2px;min-width:72px;padding:6px 14px}#app .workbench-shell .wb-hero .train-badge .train-badge-period{line-height:1.2;font-size:var(--fs-title-s,15px)!important}#app .workbench-shell .wb-hero .train-badge .train-badge-status{opacity:.92;line-height:1.2;font-size:var(--fs-body,13px)!important}@media(min-width:769px){#app .ui-soft .seat-board .sb-head{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px 18px;padding:12px 18px;display:grid}#app .ui-soft .seat-board .sb-head .sb-head-title{grid-area:1/1;gap:10px;margin:0}#app .ui-soft .seat-board .sb-head .page-hue{border-radius:12px;width:34px;height:34px}#app .ui-soft .seat-board .sb-head .page-title{font-size:var(--fs-title-m,18px);line-height:1.2}#app .ui-soft .seat-board .sb-head .sb-head-hint{display:none}#app .ui-soft .seat-board .sb-head .sb-tabrow{border-bottom:0;grid-area:1/2;align-items:center;gap:8px 14px;min-width:0}#app .ui-soft .seat-board .sb-head .sb-tabrow .sb-rd-chip{margin:0 0 0 auto}#app .ui-soft .seat-board .sb-head .sb-actions{grid-area:2/1/auto/-1;align-items:center;gap:8px 14px;margin:0;padding:0}#app .ui-soft .seat-board .sb-head .sb-actions-group{gap:8px}#app .ui-soft .seat-board .sb-head .sb-actions-end{gap:10px}#app .ui-soft .seat-board .sb-head .sb-btn,#app .ui-soft .seat-board .sb-head .sb-btn-primary{min-height:34px;padding-left:14px;padding-right:14px}#app .ui-soft .seat-board .sb-head .sb-btn-primary{box-shadow:none;margin-right:4px}#app .ui-soft .seat-board .sb-head .sb-seg-btn{min-height:32px;padding:4px 14px}.seat-board .sb-seat,.seat-board .sb-seat.sb-empty{padding-top:4px;padding-bottom:4px;min-height:clamp(52px,calc((var(--vh-full,100vh) - 300px) / 8),64px)!important}.seat-board .sb-row.sb-row-empty .sb-seat{padding-top:0;padding-bottom:0;min-height:20px!important}.seat-board .sb-row.sb-row-empty{min-height:0}.seat-board .sb-row{gap:3px}}.cast-compose{flex-direction:column;gap:12px;display:flex}.cast-compose-tabs{flex-wrap:wrap;gap:6px;display:flex}.cast-compose-tab{cursor:pointer;min-height:44px;color:var(--ink,#0f172a);background:#94a3b829;border:0;border-radius:12px;padding:0 16px;font-size:13px;font-weight:600}.cast-compose-tab.is-on{background:var(--brand,#1673a3);color:#fff}.cast-compose-body{flex-direction:column;gap:10px;display:flex}.cast-compose-label{color:var(--ink-soft,#475569);margin:0;font-size:13px}.cast-compose-input{box-sizing:border-box;border:1px solid var(--hair-strong,#cbd5e1);resize:vertical;background:#fff;border-radius:12px;width:100%;padding:10px 12px;font-size:16px;line-height:1.5}.cast-compose-presets{flex-direction:column;gap:6px;max-height:260px;display:flex;overflow-y:auto}.cast-compose-preset{text-align:left;cursor:pointer;min-height:44px;color:var(--ink,#0f172a);overflow-wrap:anywhere;background:#94a3b824;border:0;border-radius:14px;padding:8px 12px;font-size:13px;line-height:1.4}.cast-compose-preset.is-on{background:#1673a329;font-weight:600}.cast-compose-effects{flex-wrap:wrap;gap:6px;display:flex}.cast-compose-effect{border:1px solid var(--hair-strong,#cbd5e1);cursor:pointer;min-height:44px;color:var(--ink,#0f172a);background:0 0;border-radius:12px;padding:0 14px;font-size:13px}.cast-compose-effect.is-on{border-color:var(--brand,#1673a3);background:#1673a31f;font-weight:600}.cast-compose-meta{color:var(--ink-soft,#475569);flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:12px;display:flex}.cast-compose-meta .is-over{color:#dc2626;font-weight:600}.cast-compose-warn{color:#d97706}.cast-compose-preview{overflow-wrap:anywhere;color:var(--ink,#0f172a);margin:0;font-size:13px}.cast-compose-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.cast-compose-status{color:var(--ink-soft,#475569);font-size:13px}.forest-remote{flex-direction:column;gap:12px;display:flex}.forest-remote-status{flex-wrap:wrap;gap:4px 12px;margin:0;font-size:13px;font-weight:600;display:flex}.forest-remote-status .is-offline,.forest-remote-fail{color:#dc2626}.forest-remote-pending{color:#d97706;font-weight:500}.forest-remote-hint,.forest-remote-note{color:var(--ink-soft,#475569);margin:0;font-size:12px}.forest-remote-row{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.forest-remote-seg{cursor:pointer;min-height:44px;color:var(--ink,#0f172a);background:#94a3b829;border:0;border-radius:12px;padding:0 20px;font-size:13px;font-weight:600}.forest-remote-seg.is-on{background:var(--brand,#1673a3);color:#fff}.forest-remote-field{color:var(--ink-soft,#475569);flex-direction:column;gap:4px;font-size:12px;display:flex}.forest-remote-select{border:1px solid var(--hair-strong,#cbd5e1);min-height:44px;color:var(--ink,#0f172a);background:#fff;border-radius:12px;padding:0 12px;font-size:16px}.forest-remote-btn{min-width:88px;min-height:44px}.forest-remote button:disabled,.forest-remote select:disabled{opacity:.5;cursor:not-allowed}.forest-remote-auto{border:0;flex-wrap:wrap;gap:4px 16px;margin:0;padding:0;display:flex}.forest-remote-auto legend{color:var(--ink-soft,#475569);margin-bottom:4px;padding:0;font-size:12px}.forest-remote-check{cursor:pointer;align-items:center;gap:8px;min-height:44px;font-size:13px;display:inline-flex}.forest-remote-check input{width:20px;height:20px}.forest-remote-note{flex-basis:100%}.forest-records-list,.forest-records-sessions{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.forest-records-row{text-align:left;cursor:pointer;width:100%;color:var(--ink,#0f172a);background:#94a3b81f;border:0;border-radius:14px;grid-template-columns:7rem 6rem 9rem 1fr;align-items:center;gap:12px;padding:8px 12px;font-size:13px;display:grid}.forest-records-date{font-weight:600}.forest-records-sessions{padding:6px 0 0 16px}.forest-records-sessions li{align-items:center;gap:16px;font-size:13px;display:flex}.forest-records-tag{color:#b45309;background:#d9770624;border-radius:8px;padding:0 8px;font-size:12px}.forest-records-empty{color:var(--ink-soft,#475569);margin:0;font-size:13px}.cc-chart{width:100%;min-width:0;color:var(--ink)}.cc-svg{max-width:100%;font-family:inherit;display:block;overflow:visible}.cc-empty{text-align:center;color:var(--ink-3);padding:24px 0;font-size:13px}.cc-hint,.cc-caption{color:var(--ink-3);margin:6px 0 0;font-size:12px;line-height:1.5}.cc-axis{stroke:var(--hair-strong);stroke-width:1px}.cc-grid line{stroke:var(--hair);stroke-width:1px}.cc-tick{fill:var(--ink-3);font-variant-numeric:tabular-nums;font-size:12px}.cc-tick.is-active{fill:var(--brand);font-weight:600}.cc-axis-label{fill:var(--ink-3);font-size:12px}.cc-val{fill:var(--ink-2);font-variant-numeric:tabular-nums;font-size:12px}.cc-bar{fill:var(--brand)}@supports (color:color-mix(in lab,red,red)){.cc-bar{fill:color-mix(in srgb,var(--brand) 38%,transparent)}}.cc-bar.is-active,.cc-bar--plain{fill:var(--brand)}@supports (color:color-mix(in lab,red,red)){.cc-bar--plain{fill:color-mix(in srgb,var(--brand) 62%,transparent)}}.cc-hit{fill:#0000}.cc-bar-group{cursor:pointer;outline:none}.cc-bar-group:hover .cc-bar:not(.is-active){fill:var(--brand)}@supports (color:color-mix(in lab,red,red)){.cc-bar-group:hover .cc-bar:not(.is-active){fill:color-mix(in srgb,var(--brand) 55%,transparent)}}.cc-bar-group:focus-visible .cc-hit{stroke:var(--brand);stroke-width:2px;rx:6}.cc-meal-line{stroke:var(--ink-2);stroke-width:1.5px}.cc-meal-dot{fill:var(--card);stroke:var(--ink-2);stroke-width:1.5px}.cc-legend-inline{color:var(--ink-3);flex-wrap:wrap;gap:4px 16px;margin-bottom:4px;font-size:12px;display:flex}.cc-key{align-items:center;gap:6px;display:inline-flex}.cc-key-bar{background:var(--brand);border-radius:999px;width:10px;height:10px}.cc-key-line{border-top:2px solid var(--ink-2);width:14px;height:0}.cc-guide line{stroke:var(--ink-3);stroke-width:1px;stroke-dasharray:4 4;opacity:.6}.cc-guide text{fill:var(--ink-3);font-size:12px}.cc-dot{cursor:pointer;stroke-width:1px;outline:none}.cc-dot--normal{fill:var(--brand)}@supports (color:color-mix(in lab,red,red)){.cc-dot--normal{fill:color-mix(in srgb,var(--brand) 55%,transparent)}}.cc-dot--normal{stroke:#0000}.cc-dot--watch{fill:var(--color-pending-warm)}@supports (color:color-mix(in lab,red,red)){.cc-dot--watch{fill:color-mix(in srgb,var(--color-pending-warm) 70%,transparent)}}.cc-dot--watch{stroke:#0000}.cc-dot--severe{fill:var(--color-grade-alert)}@supports (color:color-mix(in lab,red,red)){.cc-dot--severe{fill:color-mix(in srgb,var(--color-grade-alert) 70%,transparent)}}.cc-dot--severe{stroke:var(--color-grade-alert);stroke-width:2px}.cc-dot:hover,.cc-dot:focus-visible{stroke:var(--ink);stroke-width:2px}.cc-stack{background:var(--hair);border-radius:8px;height:28px;display:flex;overflow:hidden}.cc-seg{min-width:2px;height:100%;display:block}.cc-stack .cc-seg+.cc-seg{border-left:2px solid var(--card)}.cc-seg--cafeteria,.cc-seg--shop{background:var(--brand)}@supports (color:color-mix(in lab,red,red)){.cc-seg--shop{background:color-mix(in srgb,var(--brand) 55%,transparent)}}.cc-seg--phone{background:var(--brand)}@supports (color:color-mix(in lab,red,red)){.cc-seg--phone{background:color-mix(in srgb,var(--brand) 25%,transparent)}}.cc-legend{flex-wrap:wrap;gap:6px 20px;margin:10px 0 0;padding:0;list-style:none;display:flex}.cc-legend-row{font-variant-numeric:tabular-nums;align-items:center;gap:8px;font-size:13px;display:inline-flex}.cc-swatch{border-radius:999px;flex:none;width:10px;height:10px;display:inline-block}@media(prefers-reduced-motion:no-preference){.cc-bar,.cc-dot{transition:fill .15s,stroke .15s}}.consumption-v2 .cm-controls{flex-wrap:wrap;align-items:flex-end;gap:10px 16px;display:flex}.cm-field{gap:4px;min-width:0;display:grid}.cm-field-label{font-size:var(--fs-meta,12px);color:var(--ink-3);font-weight:600}.cm-select,.cm-input{min-height:var(--hit-default,36px);border-radius:var(--r-control,8px);border:.5px solid var(--hair-strong);background:var(--card);color:var(--ink);font-size:var(--fs-body,13px);min-width:0;max-width:100%;padding:0 10px;font-family:inherit}.cm-select{min-width:120px}.cm-select--exam{min-width:220px}.cm-select:focus-visible,.cm-input:focus-visible{outline:2px solid var(--brand);outline-offset:1px}.cm-select:disabled{opacity:.6}.cm-compared{font-size:var(--fs-meta,12px);color:var(--ink-3);flex:260px;min-width:0;margin:0;padding-bottom:8px}.cm-controls-end{margin-left:auto}.cm-section-head{flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-bottom:12px;display:flex}.cm-section-title{font-size:var(--fs-title-s,15px);color:var(--ink);margin:0;font-weight:700}.cm-section-meta{font-size:var(--fs-meta,12px);color:var(--ink-3)}#app .ui-soft .cm-hero,.cm-hero{background:var(--brand);grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;gap:24px 32px;padding:24px 28px;display:grid}@supports (color:color-mix(in lab,red,red)){#app .ui-soft .cm-hero,.cm-hero{background:color-mix(in srgb,var(--brand) 8%,var(--card))}}#app .ui-soft .cm-hero,.cm-hero{box-shadow:var(--soft-shadow-lift,var(--soft-shadow,none))}.cm-hero-main{min-width:0}.cm-hero-kicker{font-size:var(--fs-meta,12px);color:var(--brand);letter-spacing:.04em;margin:0 0 6px;font-weight:600}.cm-headline{font-size:var(--fs-page-title,20px);color:var(--ink);overflow-wrap:anywhere;margin:0;font-weight:700;line-height:1.5}.cm-notes{flex-wrap:wrap;gap:6px;margin:14px 0 0;padding:0;list-style:none;display:flex}.cm-notes .status-tag{white-space:normal;height:auto;min-height:22px;padding:3px 8px;line-height:1.35}.cm-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.cm-kpi{border-radius:var(--r-row,14px);background:var(--card);min-width:0;padding:12px 14px}.cm-kpi dt{font-size:var(--fs-meta,12px);color:var(--ink-3);font-weight:600}.cm-kpi dd{align-items:baseline;gap:4px;min-width:0;margin:4px 0 0;display:flex}.cm-kpi-num{font-size:var(--fs-figure,24px);color:var(--ink);font-weight:700;line-height:1.15}.cm-kpi dd small{font-size:var(--fs-body,13px);color:var(--ink-3)}.cm-kpi-sub{font-size:var(--fs-meta,12px);color:var(--ink-3);font-variant-numeric:tabular-nums;margin:2px 0 0}.cm-kpi--attention.is-on .cm-kpi-num{color:var(--ink-alert)}.cm-board{gap:0;display:grid}.cm-calm{color:var(--ink-2);font-size:var(--fs-body,13px);padding:18px 20px}.cm-groups{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:12px;display:grid}.cm-group{--tone:var(--ink-3);border-radius:var(--r-soft,22px);background:var(--soft-card,var(--card));min-width:0;box-shadow:var(--soft-shadow,none);flex-direction:column;gap:6px;padding:14px 16px 12px 20px;display:flex;position:relative;overflow:hidden}.cm-group:before{content:"";background:var(--tone);border-radius:0 8px 8px 0;width:4px;position:absolute;top:14px;bottom:14px;left:0}.cm-group[data-tone=alert]{--tone:var(--alert,#dc2626)}.cm-group[data-tone=pending]{--tone:var(--warm,#d97706)}.cm-group[data-tone=info]{--tone:var(--ink-3)}.cm-group-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.cm-group-title{font-size:var(--fs-title-s,15px);color:var(--ink);min-width:0;margin:0;font-weight:700}.cm-group-count{font-size:var(--fs-body,13px);color:var(--ink-3);white-space:nowrap}.cm-group[data-tone=alert] .cm-group-count{color:var(--ink-alert)}.cm-group[data-tone=pending] .cm-group-count{color:var(--ink-warm)}.cm-group-desc{font-size:var(--fs-meta,12px);color:var(--ink-3);margin:0 0 4px;line-height:1.5}.cm-people{gap:4px;margin:0;padding:0;list-style:none;display:grid}.cm-person{border-radius:var(--r-row,14px);background:var(--soft-fill,var(--sunken));grid-template-columns:minmax(64px,auto) minmax(0,1fr);align-items:baseline;gap:2px 12px;padding:7px 10px;display:grid}.cm-person-name{font:inherit;text-align:left;color:var(--ink);cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--hair-strong);text-decoration-color:var(--hair-strong);text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:600}.cm-person-name:hover{color:var(--brand);text-decoration-color:currentColor}.cm-person-name:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:8px}.cm-person-detail{font-size:var(--fs-meta,12px);color:var(--ink-2);font-variant-numeric:tabular-nums;min-width:0;line-height:1.5}.cm-group-toggle{align-self:flex-start;margin-top:2px}.cm-charts{gap:0;display:grid}.cm-charts-grid{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:stretch;gap:12px;display:grid}.cm-card{min-width:0;padding:16px 18px}.cm-card--wide{grid-column:1/-1}.cm-charts-side{grid-template-rows:auto auto;gap:12px;min-width:0;display:grid}.cm-card-title{font-size:var(--fs-title-s,15px);color:var(--ink);margin:0 0 4px;font-weight:700}.cm-card-hint{font-size:var(--fs-meta,12px);color:var(--ink-3);margin-left:8px;font-weight:400}.cm-reading{font-size:var(--fs-meta,12px);color:var(--ink-2);margin:0 0 8px;line-height:1.5}.cm-chart-box{width:100%;min-width:0;display:block}.cm-unmatched{font-size:var(--fs-body,13px);color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0;display:flex}.cm-table-card{min-width:0;padding:18px 20px}.cm-table-tools{flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:10px;display:flex}.cm-search{flex:0 240px;min-width:160px;display:block}.cm-search .cm-input{width:100%}.cm-chips{flex-wrap:wrap;gap:6px;display:flex}.cm-table-wrap{max-height:520px}.cm-table th,.cm-table td{white-space:nowrap}.cm-table th{padding:0 10px}.cm-sort{min-height:34px;font:inherit;color:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:4px;padding:0;font-weight:600;display:inline-flex}.cm-sort:hover{color:var(--ink)}.cm-sort:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:8px}.cm-sort-mark{min-width:10px;color:var(--brand);font-size:12px;display:inline-block}.cm-table th.num-col .cm-sort{justify-content:flex-end}.cm-cell-name .cm-sub{margin-left:8px}.cm-name{color:var(--ink);font-weight:600}.cm-sub{font-size:var(--fs-meta,12px);color:var(--ink-3)}.cm-sub--inline{margin-left:6px}.cm-delta{color:var(--ink)}.cm-mini{background:var(--hair);vertical-align:middle;border-radius:999px;width:72px;height:8px;display:inline-flex;overflow:hidden}.cm-mini .cc-seg{min-width:2px}.cm-mini .cc-seg+.cc-seg{border-left:1px solid var(--card)}.cm-tags{align-items:center;gap:4px;display:inline-flex}.cm-none{text-align:center;color:var(--ink-3);white-space:normal!important;padding:28px 12px!important}.cm-table tbody tr.is-picked td{background:var(--brand)}@supports (color:color-mix(in lab,red,red)){.cm-table tbody tr.is-picked td{background:color-mix(in srgb,var(--brand) 12%,var(--card))}}@media(prefers-reduced-motion:no-preference){.cm-table tbody tr.is-picked td{animation:1.6s ease-out cm-pick}}@keyframes cm-pick{0%{background:color-mix(in srgb,var(--brand) 28%,var(--card))}}.cm-empty{justify-items:start;gap:14px;padding:28px 28px 26px;display:grid}.cm-empty-title{font-size:var(--fs-page-title,20px);color:var(--ink);margin:0;font-weight:700}.cm-empty-lead{max-width:56ch;font-size:var(--fs-body,13px);color:var(--ink-2);margin:0;line-height:1.6}.cm-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;margin:0;padding:0;list-style:none;display:grid}.cm-step{border-radius:var(--r-row,14px);background:var(--soft-fill,var(--sunken));align-items:flex-start;gap:12px;padding:14px;display:flex}.cm-step b{font-size:var(--fs-title-s,15px);color:var(--ink);display:block}.cm-step span:not(.cm-step-no){font-size:var(--fs-body,13px);color:var(--ink-2);margin-top:4px;line-height:1.5;display:block}.cm-step-no{background:var(--brand);width:28px;height:28px;color:var(--on-brand,#fff);font-weight:700;font-size:var(--fs-body,13px);border-radius:999px;flex:0 0 28px;place-items:center;display:grid}.cm-empty-action{margin-top:4px}@media(max-width:1023px){#app .ui-soft .cm-hero,.cm-hero{grid-template-columns:minmax(0,1fr);padding:20px}.cm-charts-grid,.cm-steps{grid-template-columns:minmax(0,1fr)}}@media(max-width:768px){.cm-select,.cm-input{min-height:44px;font-size:16px}.cm-select,.cm-select--exam{width:100%;min-width:0}.cm-field{flex:100%}.cm-controls-end{margin-left:0}.cm-groups,.cm-person{grid-template-columns:minmax(0,1fr)}.cm-person-name{align-items:center;min-height:44px;display:inline-flex}.cm-search{flex:100%}.cm-table-card,.cm-card{padding:14px}.cm-sort,.cm-person-profile{min-width:44px;min-height:44px}.cc-dot,.cc-dot:hover,.cc-dot:focus-visible{stroke:#0000;stroke-width:36px}.cm-cell-name .cm-sub{margin-left:0;display:block}.cm-kpi-num{font-size:var(--fs-title-l,22px)}}[data-theme=lake-dark] .cm-hero,[data-theme=lake-dim] .cm-hero{background:var(--brand)}@supports (color:color-mix(in lab,red,red)){[data-theme=lake-dark] .cm-hero,[data-theme=lake-dim] .cm-hero{background:color-mix(in srgb,var(--brand) 12%,var(--card))}}.cm-person-who{flex-wrap:wrap;align-items:baseline;gap:8px;display:inline-flex}.cm-person-profile{font:inherit;font-size:var(--fs-meta,12px);color:var(--brand);cursor:pointer;background:0 0;border:0;padding:0}.cm-person-profile:hover{text-decoration:underline}.cm-person-profile:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:8px}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-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-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-content{syntax:"*";inherits:false;initial-value:""}
