/*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-duration:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-400:oklch(70.4% .191 22.216);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-900:oklch(41.4% .112 45.904);--color-green-50:oklch(98.2% .018 155.826);--color-green-200:oklch(92.5% .084 155.995);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-blue-50:oklch(97% .014 254.604);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-900:oklch(37.9% .146 265.522);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-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;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--aspect-video:16/9;--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{*,::backdrop,:after,:before{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}:host,html{-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,pre,samp{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}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,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,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-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,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.top-2{top:calc(var(--spacing) * 2)}.right-2{right:calc(var(--spacing) * 2)}.right-4{right:calc(var(--spacing) * 4)}.bottom-4{bottom:calc(var(--spacing) * 4)}.bottom-full{bottom:100%}.left-0{left:0}.z-30{z-index:30}.z-\[100\]{z-index:100}.mx-1{margin-inline:var(--spacing)}.mx-auto{margin-inline:auto}.my-2{margin-block:calc(var(--spacing) * 2)}.my-4{margin-block:calc(var(--spacing) * 4)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.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-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-auto{margin-top:auto}.mr-auto{margin-right:auto}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-12{margin-bottom:calc(var(--spacing) * 12)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-2,.line-clamp-3{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3}.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}.aspect-video{aspect-ratio:var(--aspect-video)}.h-2{height:calc(var(--spacing) * 2)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-40{height:calc(var(--spacing) * 40)}.h-72{height:calc(var(--spacing) * 72)}.h-full{height:100%}.max-h-48{max-height:calc(var(--spacing) * 48)}.max-h-64{max-height:calc(var(--spacing) * 64)}.min-h-14{min-height:calc(var(--spacing) * 14)}.min-h-20{min-height:calc(var(--spacing) * 20)}.min-h-\[2\.5rem\]{min-height:2.5rem}.min-h-screen{min-height:100vh}.w-1{width:var(--spacing)}.w-2{width:calc(var(--spacing) * 2)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-28{width:calc(var(--spacing) * 28)}.w-32{width:calc(var(--spacing) * 32)}.w-auto{width:auto}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-\[8rem\]{max-width:8rem}.max-w-\[28rem\]{max-width:28rem}.max-w-full{max-width:100%}.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:0}.min-w-4{min-width:calc(var(--spacing) * 4)}.min-w-56{min-width:calc(var(--spacing) * 56)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[9rem\]{min-width:9rem}.min-w-\[14rem\]{min-width:14rem}.min-w-full{min-width:100%}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-none{list-style-type:none}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-10{gap:calc(var(--spacing) * 10)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-10>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 10) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 10) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-6{column-gap:calc(var(--spacing) * 6)}.gap-y-1{row-gap:var(--spacing)}.gap-y-3{row-gap:calc(var(--spacing) * 3)}.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-full{border-radius:3.40282e+38px}.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)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-b-\[3px\]{border-bottom-style:var(--tw-border-style);border-bottom-width:3px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[var\(--school-accent\)\]{border-color:var(--school-accent)}.border-\[var\(--school-border\)\]{border-color:var(--school-border)}.border-\[var\(--school-gold\)\]{border-color:var(--school-gold)}.border-amber-200{border-color:var(--color-amber-200)}.border-amber-300{border-color:var(--color-amber-300)}.border-blue-200{border-color:var(--color-blue-200)}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-green-200{border-color:var(--color-green-200)}.border-green-400{border-color:var(--color-green-400)}.border-green-500{border-color:var(--color-green-500)}.border-red-100{border-color:var(--color-red-100)}.border-red-200{border-color:var(--color-red-200)}.border-red-200\/60{border-color:#ffcaca99}@supports (color:color-mix(in lab,red,red)){.border-red-200\/60{border-color:color-mix(in oklab,var(--color-red-200) 60%,transparent)}}.border-red-400{border-color:var(--color-red-400)}.border-transparent{border-color:#0000}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab,red,red)){.border-white\/20{border-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}.bg-\[\#9146FF\]{background-color:#9146ff}.bg-\[\#FF0000\]{background-color:red}.bg-\[var\(--school-accent\)\],.bg-\[var\(--school-accent\)\]\/15{background-color:var(--school-accent)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--school-accent\)\]\/15{background-color:color-mix(in oklab,var(--school-accent) 15%,transparent)}}.bg-\[var\(--school-accent-light\)\]{background-color:var(--school-accent-light)}.bg-\[var\(--school-cream\)\],.bg-\[var\(--school-cream\)\]\/30{background-color:var(--school-cream)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--school-cream\)\]\/30{background-color:color-mix(in oklab,var(--school-cream) 30%,transparent)}}.bg-\[var\(--school-cream\)\]\/40{background-color:var(--school-cream)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--school-cream\)\]\/40{background-color:color-mix(in oklab,var(--school-cream) 40%,transparent)}}.bg-\[var\(--school-cream\)\]\/50{background-color:var(--school-cream)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--school-cream\)\]\/50{background-color:color-mix(in oklab,var(--school-cream) 50%,transparent)}}.bg-\[var\(--school-gold\)\]{background-color:var(--school-gold)}.bg-\[var\(--school-maroon\)\]{background-color:var(--school-maroon)}.bg-\[var\(--school-primary\)\]{background-color:var(--school-primary)}.bg-\[var\(--school-surface\)\]{background-color:var(--school-surface)}.bg-\[var\(--school-surface-raised\)\],.bg-\[var\(--school-surface-raised\)\]\/60{background-color:var(--school-surface-raised)}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--school-surface-raised\)\]\/60{background-color:color-mix(in oklab,var(--school-surface-raised) 60%,transparent)}}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-50\/80{background-color:#fffbebcc}@supports (color:color-mix(in lab,red,red)){.bg-amber-50\/80{background-color:color-mix(in oklab,var(--color-amber-50) 80%,transparent)}}.bg-black{background-color:var(--color-black)}.bg-black\/5{background-color:#0000000d}@supports (color:color-mix(in lab,red,red)){.bg-black\/5{background-color:color-mix(in oklab,var(--color-black) 5%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black) 50%,transparent)}}.bg-blue-50\/80{background-color:#eff6ffcc}@supports (color:color-mix(in lab,red,red)){.bg-blue-50\/80{background-color:color-mix(in oklab,var(--color-blue-50) 80%,transparent)}}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-green-50{background-color:var(--color-green-50)}.bg-green-50\/40{background-color:#f0fdf466}@supports (color:color-mix(in lab,red,red)){.bg-green-50\/40{background-color:color-mix(in oklab,var(--color-green-50) 40%,transparent)}}.bg-green-600{background-color:var(--color-green-600)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-50\/40{background-color:#fef2f266}@supports (color:color-mix(in lab,red,red)){.bg-red-50\/40{background-color:color-mix(in oklab,var(--color-red-50) 40%,transparent)}}.bg-red-700{background-color:var(--color-red-700)}.bg-white{background-color:var(--color-white)}.bg-white\/70{background-color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.bg-white\/70{background-color:color-mix(in oklab,var(--color-white) 70%,transparent)}}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:0}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-0{padding-block:0}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.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-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-14{padding-block:calc(var(--spacing) * 14)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-1{padding-top:var(--spacing)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pr-10{padding-right:calc(var(--spacing) * 10)}.pb-1{padding-bottom:var(--spacing)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-12{padding-bottom:calc(var(--spacing) * 12)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-top{vertical-align:top}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.65rem\]{font-size:.65rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.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-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[\#111827\]{color:#111827}.text-\[var\(--school-accent-light\)\]{color:var(--school-accent-light)}.text-\[var\(--school-gold\)\]{color:var(--school-gold)}.text-\[var\(--school-gold-light\)\]{color:var(--school-gold-light)}.text-\[var\(--school-ink\)\]{color:var(--school-ink)}.text-\[var\(--school-link\)\]{color:var(--school-link)}.text-\[var\(--school-muted\)\],.text-\[var\(--school-muted\)\]\/80{color:var(--school-muted)}@supports (color:color-mix(in lab,red,red)){.text-\[var\(--school-muted\)\]\/80{color:color-mix(in oklab,var(--school-muted) 80%,transparent)}}.text-\[var\(--school-navy\)\]{color:var(--school-navy)}.text-\[var\(--school-text\)\]{color:var(--school-text)}.text-amber-700{color:var(--color-amber-700)}.text-amber-800{color:var(--color-amber-800)}.text-amber-900{color:var(--color-amber-900)}.text-amber-900\/80{color:#7b3306cc}@supports (color:color-mix(in lab,red,red)){.text-amber-900\/80{color:color-mix(in oklab,var(--color-amber-900) 80%,transparent)}}.text-blue-700{color:var(--color-blue-700)}.text-blue-900{color:var(--color-blue-900)}.text-blue-900\/80{color:#1c398ecc}@supports (color:color-mix(in lab,red,red)){.text-blue-900\/80{color:color-mix(in oklab,var(--color-blue-900) 80%,transparent)}}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-green-700{color:var(--color-green-700)}.text-green-800{color:var(--color-green-800)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-red-900{color:var(--color-red-900)}.text-white{color:var(--color-white)}.text-white\/70{color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.text-white\/70{color:color-mix(in oklab,var(--color-white) 70%,transparent)}}.text-white\/75{color:#ffffffbf}@supports (color:color-mix(in lab,red,red)){.text-white\/75{color:color-mix(in oklab,var(--color-white) 75%,transparent)}}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab,red,red)){.text-white\/80{color:color-mix(in oklab,var(--color-white) 80%,transparent)}}.text-white\/85{color:#ffffffd9}@supports (color:color-mix(in lab,red,red)){.text-white\/85{color:color-mix(in oklab,var(--color-white) 85%,transparent)}}.text-white\/90{color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.text-white\/90{color:color-mix(in oklab,var(--color-white) 90%,transparent)}}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-85{opacity:.85}.opacity-90{opacity:.9}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a)}.shadow-lg,.shadow-sm{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)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a)}.ring-2,.shadow-xl{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.ring-\[var\(--school-accent\)\]{--tw-ring-color:var(--school-accent)}.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))}.duration-300{--tw-duration:.3s;transition-duration:.3s}.group-open\:hidden:is(:where(.group):is([open],:popover-open,:open) *){display:none}.group-open\:inline:is(:where(.group):is([open],:popover-open,:open) *){display:inline}.group-focus-within\:pointer-events-auto:is(:where(.group):focus-within *){pointer-events:auto}.group-focus-within\:opacity-100:is(:where(.group):focus-within *){opacity:1}@media (hover:hover){.group-hover\:pointer-events-auto:is(:where(.group):hover *){pointer-events:auto}.group-hover\:scale-105:is(:where(.group):hover *){--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.group-hover\:border-\[var\(--school-accent\)\]\/50:is(:where(.group):hover *){border-color:var(--school-accent)}@supports (color:color-mix(in lab,red,red)){.group-hover\:border-\[var\(--school-accent\)\]\/50:is(:where(.group):hover *){border-color:color-mix(in oklab,var(--school-accent) 50%,transparent)}}.group-hover\:text-\[var\(--school-accent-light\)\]:is(:where(.group):hover *){color:var(--school-accent-light)}.group-hover\:underline:is(:where(.group):hover *){text-decoration-line:underline}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.last\:mb-0:last-child{margin-bottom:0}@media (hover:hover){.hover\:border-\[var\(--school-accent\)\]:hover{border-color:var(--school-accent)}.hover\:border-\[var\(--school-maroon\)\]:hover{border-color:var(--school-maroon)}.hover\:bg-\[\#7c3aed\]:hover{background-color:#7c3aed}.hover\:bg-\[\#cc0000\]:hover{background-color:#c00}.hover\:bg-\[var\(--school-cream\)\]:hover{background-color:var(--school-cream)}.hover\:bg-\[var\(--school-surface-raised\)\]:hover,.hover\:bg-\[var\(--school-surface-raised\)\]\/10:hover{background-color:var(--school-surface-raised)}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[var\(--school-surface-raised\)\]\/10:hover{background-color:color-mix(in oklab,var(--school-surface-raised) 10%,transparent)}}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\:bg-red-800:hover{background-color:var(--color-red-800)}.hover\:bg-white:hover{background-color:var(--color-white)}.hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab,var(--color-white) 10%,transparent)}}.hover\:text-\[var\(--school-accent-light\)\]:hover{color:var(--school-accent-light)}.hover\:text-\[var\(--school-gold\)\]:hover{color:var(--school-gold)}.hover\:text-\[var\(--school-gold-light\)\]:hover{color:var(--school-gold-light)}.hover\:text-\[var\(--school-text\)\]:hover{color:var(--school-text)}.hover\:text-red-600:hover{color:var(--color-red-600)}.hover\:text-red-700:hover{color:var(--color-red-700)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media not all and (min-width:48rem){.max-md\:mt-0\.5{margin-top:calc(var(--spacing) * .5)}.max-md\:min-h-12{min-height:calc(var(--spacing) * 12)}.max-md\:min-h-14{min-height:calc(var(--spacing) * 14)}.max-md\:gap-1{gap:var(--spacing)}.max-md\:p-1{padding:var(--spacing)}.max-md\:p-1\.5{padding:calc(var(--spacing) * 1.5)}.max-md\:py-1{padding-block:var(--spacing)}.max-md\:text-center{text-align:center}.max-md\:text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.max-md\:text-\[10px\]{font-size:10px}}@media (min-width:40rem){.sm\:col-span-1{grid-column:span 1/span 1}.sm\:col-span-2{grid-column:span 2/span 2}.sm\:col-span-3{grid-column:span 3/span 3}.sm\:block{display:block}.sm\:hidden{display:none}.sm\:inline{display:inline}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-\[minmax\(0\,1fr\)_minmax\(10rem\,14rem\)_8rem\]{grid-template-columns:minmax(0,1fr) minmax(10rem,14rem) 8rem}.sm\:px-4{padding-inline:calc(var(--spacing) * 4)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:py-20{padding-block:calc(var(--spacing) * 20)}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.sm\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@media (min-width:48rem){.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:inline{display:inline}.md\:h-14{height:calc(var(--spacing) * 14)}.md\:w-14{width:calc(var(--spacing) * 14)}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-\[1fr_2fr_14rem_auto\]{grid-template-columns:1fr 2fr 14rem auto}.md\:grid-cols-\[1fr_7rem_2fr_auto\]{grid-template-columns:1fr 7rem 2fr auto}.md\:gap-4{gap:calc(var(--spacing) * 4)}.md\:py-2{padding-block:calc(var(--spacing) * 2)}.md\:py-4{padding-block:calc(var(--spacing) * 4)}.md\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}}@media (min-width:64rem){.lg\:col-span-1{grid-column:span 1/span 1}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[1fr_2fr_12rem\]{grid-template-columns:1fr 2fr 12rem}.lg\:px-8{padding-inline:calc(var(--spacing) * 8)}.lg\:py-24{padding-block:calc(var(--spacing) * 24)}}@media (min-width:80rem){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}}:root{--school-primary:#102535;--school-primary-dark:#071823;--school-primary-light:#005a9c;--school-accent:#7f2bbd;--school-accent-light:#b94ee8;--school-accent-dark:#4b146f;--school-accent-muted:#f1e7f8;--school-coral:#ff5a5f;--school-digital-blue:#006ec8;--school-pale-blue:#e3f3ff;--school-limestone:#f6f1e8;--school-bg:#f8f7f3;--school-surface:#fff;--school-surface-raised:#f2f6fb;--school-ink:#102535;--school-link:#005a9c;--school-maroon:var(--school-primary);--school-maroon-dark:var(--school-primary-dark);--school-navy:var(--school-primary);--school-navy-light:var(--school-primary-light);--school-gold:var(--school-accent);--school-gold-light:var(--school-accent-light);--school-cream:var(--school-limestone);--school-white:var(--school-surface);--school-border:#d8dde6;--school-text:#1f3343;--school-muted:#5f6f7d}html{font-size:107.5%}body{background:radial-gradient(circle at top right,#b94ee814,transparent 34rem),linear-gradient(180deg,#fff 0,var(--school-bg) 24rem);font-family:Segoe UI,Microsoft JhengHei,PingFang TC,Noto Sans TC,sans-serif;line-height:1.6}body,main{color:var(--school-text)}main{background:var(--school-bg)}input,select,textarea{color:var(--school-text);border-color:var(--school-border);background:#fff}input::placeholder,textarea::placeholder{color:var(--school-muted)}.skip-link{z-index:999;background:var(--school-gold);color:#111827;padding:.75rem 1.25rem;font-weight:700;position:absolute;left:-9999px}.skip-link:focus{top:1rem;left:1rem}.utility-bar{background:var(--school-primary-dark);color:#ffffffe6;font-size:.9375rem}.utility-bar-sticky{z-index:50;position:sticky;top:0;box-shadow:0 1px #ffffff0f}.site-header{z-index:40;position:relative}.brand-bar{color:var(--school-ink);background:#fff;border-bottom:1px solid #1025351a}.main-nav{background:var(--school-primary);color:#fff;border-bottom:4px solid var(--school-accent)}.main-nav,.main-nav-bar{position:relative}.main-nav-bar .nav-menu-link,.main-nav-bar>div.flex a,.main-nav-bar>div.flex button,.main-nav-bar>ul a{transition:background .15s,color .15s}.main-nav-bar .nav-menu-link:hover,.main-nav-bar>div.flex a:hover,.main-nav-bar>div.flex button:hover,.main-nav-bar>ul a:hover{color:#fff;background:#ffffff1f}.nav-menu-root{flex:1;min-width:0;position:relative}.nav-menu-list{flex-wrap:wrap;align-items:stretch;display:flex}.nav-menu-link{letter-spacing:.01em;white-space:nowrap;align-items:center;min-height:3.25rem;padding:.75rem 1rem;font-size:1rem;font-weight:600;display:flex}.nav-dropdown{position:static}.nav-dropdown-trigger{align-items:stretch;display:flex}.nav-dropdown-link{padding-right:.35rem}.nav-dropdown-open .nav-dropdown-link,.nav-dropdown:hover .nav-dropdown-link{color:#fff;background:#ffffff1f}.nav-chevron{color:#fffffff2;justify-content:center;align-items:center;min-width:2.25rem;padding:0 .5rem;font-size:.9rem;transition:transform .15s,background .15s;display:inline-flex}.nav-dropdown-open .nav-chevron,.nav-dropdown:hover .nav-chevron{color:#fff;background:#ffffff1f;transform:rotate(180deg)}.nav-mega-panel{z-index:80;width:100%;color:var(--school-ink);border-top:4px solid var(--school-accent);background:#fff;animation:nav-mega-in .18s ease-out;position:fixed;left:0;right:0;box-shadow:0 22px 44px #10253533}@keyframes nav-mega-in{0%{opacity:0;transform:translateY(-.35rem)}to{opacity:1;transform:translateY(0)}}.nav-mega-inner{padding-top:1.5rem;padding-bottom:1.25rem}.nav-mega-grid{grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:1.5rem 2.5rem;display:grid}.nav-mega-grid-departments{grid-template-columns:repeat(7,minmax(0,1fr))}.nav-mega-grid-theme-events{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem 3rem}@media (max-width:1280px){.nav-mega-grid-departments{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:960px){.nav-mega-grid-departments{grid-template-columns:repeat(3,minmax(0,1fr))}.nav-mega-grid-theme-events{grid-template-columns:1fr}}.nav-mega-flat{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.35rem 1.5rem;margin:0;padding:0;list-style:none;display:grid}.nav-mega-column{min-width:0}.nav-mega-heading{letter-spacing:.08em;text-transform:uppercase;color:var(--school-accent-dark);border-bottom:2px solid #7f2bbd3d;margin:0 0 .65rem;padding-bottom:.45rem;font-size:.8125rem;font-weight:800}.nav-mega-list{margin:0;padding:0;list-style:none}.nav-mega-link{color:var(--school-text);border-radius:2px;padding:.55rem .35rem;font-size:1rem;font-weight:500;line-height:1.35;transition:color .15s,background .15s;display:block}.nav-mega-link:hover{color:var(--school-digital-blue);background:var(--school-pale-blue)}.nav-mega-footer{border-top:1px solid var(--school-border);margin-top:1.25rem;padding-top:1rem}.nav-mega-overview{color:var(--school-link);align-items:center;font-size:1rem;font-weight:700;display:inline-flex}.nav-mega-overview:hover{color:var(--school-digital-blue);background:0 0;text-decoration:underline}.nav-dropdown-panel{display:none}.hero-band{color:#fff;background:linear-gradient(115deg,#102535f5,#102535e6 43%,#7f2bbdd1),radial-gradient(circle at 76% 24%,#006ec8bf,#0000 24rem);position:relative;overflow:hidden}.hero-band:before{background:linear-gradient(135deg,#0000 0 58%,#ffffff1a 58% 64%,#0000 64%),radial-gradient(64% 56% at 92% 16%,#ff5a5f4d,#0000);inset:0}.hero-band:after,.hero-band:before{content:"";pointer-events:none;position:absolute}.hero-band:after{border:4rem solid #ffffff17;border-radius:999px;width:clamp(22rem,42vw,38rem);height:clamp(22rem,42vw,38rem);bottom:-12rem;right:clamp(-8rem,-5vw,-3rem)}.hero-title{letter-spacing:-.055em;font-size:clamp(2.25rem,5vw,4.65rem);font-weight:900;line-height:1.05}.section-band-cream{background:var(--school-cream)}.section-band-gold{background:linear-gradient(180deg,#fff 0,var(--school-limestone) 100%);border-top:4px solid var(--school-accent)}.section-band-navy{background:linear-gradient(120deg,var(--school-primary) 0,#163d64 55%,var(--school-accent-dark) 100%);color:#fff}.section-band-navy .school-section-title{color:#fff}.school-card{background:var(--school-white);border:1px solid var(--school-border);border-radius:0;transition:box-shadow .2s,transform .2s,border-color .2s;box-shadow:0 8px 28px #10253514}.school-card:hover{border-color:#7f2bbd8c;box-shadow:0 18px 40px #10253524}.school-card-interactive:hover{transform:translateY(-2px)}.student-id-card{border-radius:6px;padding:0;overflow:hidden}.student-id-card-header{background:linear-gradient(120deg,var(--school-primary) 0,#163d64 70%,var(--school-accent-dark) 100%);color:#fff;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.student-id-card-school{letter-spacing:.04em;flex-direction:column;gap:.1rem;font-size:.6875rem;font-weight:800;line-height:1.2;display:flex}.student-id-card-school-en{letter-spacing:.12em;opacity:.82;font-size:.625rem;font-weight:700}.student-id-card-role{flex-shrink:0;border-radius:4px!important;padding:.2rem .45rem!important;font-size:.625rem!important}.student-id-card-body{background:linear-gradient(180deg,#fff 0,var(--school-surface-raised) 100%);gap:.875rem;padding:.875rem;display:flex}.student-id-card-photo-wrap{flex-shrink:0}.student-id-card-photo{border:2px solid var(--school-border);object-fit:cover;background:var(--school-cream);border-radius:2px;width:7.875rem;height:7.875rem;display:block;box-shadow:inset 0 0 0 1px #ffffffa6}.student-id-card-photo-fallback{color:var(--school-accent-light);justify-content:center;align-items:center;font-size:2.625rem;font-weight:800;display:flex}.student-id-card-name{color:var(--school-ink);font-size:1.05rem;font-weight:800;line-height:1.25}.profile-name-block{flex-direction:column;gap:.12rem;min-width:0;display:inline-flex}.profile-name-foreign,.profile-name-primary{text-overflow:ellipsis;min-width:0;overflow:hidden}.profile-name-foreign{color:var(--school-muted);letter-spacing:.01em;font-size:.78em;font-weight:600;line-height:1.25;display:block}.profile-name-block-card{display:flex}.profile-name-block-card .profile-name-primary{color:var(--school-ink);font-size:1.05rem;font-weight:800;line-height:1.25}.profile-name-block-hero .profile-name-foreign,.profile-name-block-hover .profile-name-foreign{color:#ffffffa3}.profile-name-block-hover .profile-name-foreign{letter-spacing:.01em;margin-top:.4rem;font-size:clamp(.95rem,1.6vw,1.35rem)}.profile-name-block-header,.profile-name-block-inline{vertical-align:middle}.profile-name-block-header .profile-name-foreign,.profile-name-block-inline .profile-name-foreign{font-size:.72em}.profile-name-block-card .profile-name-foreign{font-size:.75rem;font-weight:600}.profile-name-block-page .profile-name-primary{color:var(--school-ink);font-weight:800}.profile-name-block-page .profile-name-foreign{font-size:.8125rem;font-weight:600;line-height:1.35}.page-hero .profile-name-block-page .profile-name-primary{font-size:inherit;font-weight:inherit;line-height:inherit;color:inherit}.page-hero .profile-name-block-page .profile-name-foreign{color:#ffffffb8;margin-top:.35rem;font-size:clamp(.8125rem,1.4vw,.975rem);font-weight:600}.vtuber-character-hero-name .profile-name-foreign{color:#ffffffb8;margin-top:.35rem;font-size:clamp(.8125rem,1.3vw,.975rem);font-weight:600;line-height:1.35;display:block}.student-id-card-meta{color:var(--school-muted);margin-top:.25rem;font-size:.75rem;line-height:1.35}.student-id-card-bio{color:var(--school-text);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.5rem;font-size:.8125rem;line-height:1.45;display:-webkit-box;overflow:hidden}.vtuber-character-hero{background:linear-gradient(125deg,var(--school-primary-dark) 0,#163d64 42%,#7f2bbde0 100%),radial-gradient(circle at 18% 80%,#006ec859,transparent 42%);color:#fff;border-bottom:4px solid var(--school-accent);overflow:hidden}.vtuber-character-hero-inner{align-items:start;gap:1.5rem 2rem;padding-top:1.75rem;padding-bottom:2rem;display:grid}@media (min-width:960px){.vtuber-character-hero-inner{grid-template-columns:minmax(0,.95fr) minmax(18rem,1.05fr);gap:2rem 2.5rem}}.vtuber-character-hero-visual{justify-content:center;align-items:flex-end;min-height:16rem;display:flex}.vtuber-character-hero-figure{object-fit:contain;object-position:bottom center;filter:drop-shadow(0 18px 36px #00000059);width:auto;max-width:100%;max-height:min(68vh,40rem);display:block}.vtuber-character-hero-figure-fallback{border:3px solid #ffffff59;border-radius:4px;max-height:20rem}.vtuber-character-hero-figure-placeholder{color:#ffffffbf;background:#ffffff14;border:3px dashed #ffffff59;border-radius:4px;justify-content:center;align-items:center;width:12rem;height:16rem;font-size:4rem;font-weight:800;display:flex}.vtuber-character-hero-panel{padding:.25rem 0 .5rem}.vtuber-character-hero-head{margin-bottom:1rem}.vtuber-character-hero-headline{flex-wrap:wrap;align-items:center;gap:.65rem .85rem;margin-bottom:.35rem;display:flex}.vtuber-character-hero-name{letter-spacing:-.02em;margin:0;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:900;line-height:1.1}.vtuber-character-hero-tagline{border-left:3px solid var(--school-gold-light);letter-spacing:.06em;max-width:36rem;color:var(--school-gold-light);text-shadow:0 1px 12px #00000040;margin:.15rem 0 .5rem;padding-left:.85rem;font-size:clamp(1rem,2vw,1.2rem);font-style:italic;font-weight:700;line-height:1.45}.vtuber-character-hero-meta{color:#ffffffc7;margin:0;font-size:.9375rem;font-weight:600;line-height:1.45}.vtuber-character-hero-setting{max-width:40rem;margin-bottom:1.25rem}.vtuber-character-hero-setting-label{letter-spacing:.14em;text-transform:uppercase;color:#ffffff9e;margin:0 0 .5rem;font-size:.75rem;font-weight:800}.vtuber-character-hero-setting-body{color:#ffffffeb;margin:0;font-size:.975rem;line-height:1.65}.vtuber-character-hero-affiliation{border-top:1px solid #fff3;padding-top:1rem}.vtuber-character-hero-affiliation-label{letter-spacing:.1em;text-transform:uppercase;color:#ffffff9e;margin:0 0 .65rem;font-size:.6875rem;font-weight:800}.vtuber-character-hero-affiliation-body{gap:.55rem;display:grid}.vtuber-character-hero-affiliation-row{flex-wrap:wrap;align-items:baseline;gap:.5rem .75rem;margin:0;font-size:.875rem;display:flex}.vtuber-character-hero-affiliation-key{color:#ffffff94;min-width:2.25rem;font-weight:700}.vtuber-character-hero-affiliation-link{color:#fff;font-weight:600;text-decoration:none}.vtuber-character-hero-affiliation-link:hover{color:var(--school-accent-light);text-decoration:underline}.vtuber-live-banner{color:#fff;background:linear-gradient(90deg,#c41e3a,#ff5a5f 48%,#e83e8c);border-bottom:2px solid #0000001f;text-decoration:none;transition:filter .15s;display:block}.vtuber-live-banner:hover{filter:brightness(1.06)}.vtuber-live-banner-inner{flex-wrap:wrap;align-items:center;gap:.65rem 1rem;padding-top:.65rem;padding-bottom:.65rem;font-size:.9375rem;font-weight:700;display:flex}.vtuber-live-banner-badge{letter-spacing:.08em;background:#0003;border-radius:999px;align-items:center;gap:.4rem;padding:.2rem .55rem;font-size:.75rem;display:inline-flex}.vtuber-live-banner-title{flex:1;min-width:0}.vtuber-live-banner-cta{opacity:.92;font-size:.875rem}.vtuber-character-hero-live{color:#fff;background:#ff5a5f33;border:1px solid #ff5a5f8c;border-radius:999px;padding:.45rem .85rem;font-size:.875rem;font-weight:700;text-decoration:none;transition:background .15s}.vtuber-character-hero-live:hover{background:#ff5a5f59}.vtuber-character-hero-live-dot{background:#ff5a5f;border-radius:50%;width:.55rem;height:.55rem;animation:vtuber-live-pulse 1.4s ease-out infinite;box-shadow:0 0 #ff5a5fa6}@keyframes vtuber-live-pulse{0%{box-shadow:0 0 #ff5a5fa6}70%{box-shadow:0 0 0 .45rem #ff5a5f00}to{box-shadow:0 0 #ff5a5f00}}.vtuber-character-hero-tag{color:#fff;background:#ffffff24;border:1px solid #ffffff38;border-radius:999px;padding:.3rem .65rem;font-size:.8125rem;font-weight:600;text-decoration:none;transition:background .15s;display:inline-block}.vtuber-character-hero-tag:hover{background:#ffffff3d}.vtuber-character-hero-links .text-green-700,.vtuber-character-hero-links .text-green-800{color:#ffffffd9!important}.vtuber-character-hero-links [class*=bg-green],.vtuber-character-hero-links [class*=border-green]{background:#ffffff1a!important;border-color:#ffffff38!important}.vtuber-character-hero-links a{color:#fff!important}.vtuber-character-hero-links a:hover{color:var(--school-accent-light)!important}.live-now-card{flex-direction:column;display:flex}.live-now-thumb{aspect-ratio:16/9;background:var(--school-primary-dark,#1a2744);position:relative;overflow:hidden}.live-now-thumb-image,.live-now-thumb-link{height:100%;display:block}.live-now-thumb-image{object-fit:cover;width:100%;transition:transform .25s}.live-now-card:hover .live-now-thumb-image{transform:scale(1.03)}.live-now-thumb-fallback{background:linear-gradient(135deg,var(--school-primary) 0,var(--school-accent-dark) 100%);color:#ffffffd9;justify-content:center;align-items:center;height:100%;min-height:7rem;font-size:2rem;font-weight:800;display:flex}.live-now-badge{z-index:2;letter-spacing:.08em;color:#fff;background:#dc2626;border-radius:.25rem;padding:.15rem .45rem;font-size:.65rem;font-weight:800;position:absolute;top:.5rem;left:.5rem;box-shadow:0 2px 8px #00000059}.live-now-scroll{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin;gap:.75rem;padding-bottom:.35rem;display:flex;overflow-x:auto}.live-now-strip-card{scroll-snap-align:start;border:1px solid var(--school-border);background:var(--school-surface);border-radius:.5rem;flex:0 0 min(260px,72vw);transition:box-shadow .2s,transform .2s;overflow:hidden}.live-now-strip-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #1025351f}.live-now-strip-link{color:inherit;text-decoration:none;display:block}.live-now-strip-media{aspect-ratio:16/9;background:var(--school-primary-dark,#1a2744);position:relative;overflow:hidden}.live-now-strip-image{object-fit:cover;width:100%;height:100%;transition:transform .25s;display:block}.live-now-strip-card:hover .live-now-strip-image{transform:scale(1.04)}.live-now-strip-overlay{z-index:1;color:#fff;background:linear-gradient(#0000,#00000073 45%,#000000e0);padding:2rem .65rem .55rem;position:absolute;inset:auto 0 0}.live-now-strip-name{margin:0;font-size:.8125rem;font-weight:800;line-height:1.25}.live-now-strip-title{-webkit-line-clamp:2;opacity:.92;-webkit-box-orient:vertical;margin:.2rem 0 0;font-size:.75rem;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.live-now-strip-meta{letter-spacing:.06em;text-transform:uppercase;color:#ffffffb8;margin:.25rem 0 0;font-size:.65rem;font-weight:700}.character-hover-preview{z-index:120;pointer-events:none;color:#fff;position:fixed;inset:0;overflow:hidden}.character-hover-preview:not(.character-hover-preview--ready) .character-hover-visual-shell{opacity:0;animation:none!important}.character-hover-preview--ready .character-hover-visual-shell{animation:character-visual-in .36s cubic-bezier(.2,.8,.2,1) forwards}.character-hover-preview--ready .character-hover-visual-shell-cover{animation:character-cover-in .36s cubic-bezier(.2,.8,.2,1) forwards}.character-hover-vignette{z-index:0;pointer-events:none;opacity:0;background:radial-gradient(circle,#0000 0 34%,#0000004d 62%,#000000c7 100%),linear-gradient(90deg,#000000e6,#0000007a 18%,#0000000a 44% 56%,#0000007a 82%,#000000e6);animation:character-vignette-in .28s ease-out forwards;position:absolute;inset:0}.character-hover-preview--ready .character-hover-vignette{opacity:1}.character-hover-preview-exit .character-hover-vignette{animation:character-vignette-out .28s ease-in forwards}.character-hover-stage{isolation:isolate;width:100%;height:100%;position:relative}.character-hover-copy{z-index:2;text-shadow:0 8px 28px #0000008c;width:min(42rem,46vw);animation:character-copy-in .34s cubic-bezier(.2,.8,.2,1) forwards;position:absolute;top:50%;left:clamp(1.25rem,6vw,7rem);transform:translateY(-50%)}.character-hover-preview-exit .character-hover-copy{animation:character-copy-out .26s ease-in forwards}.character-hover-kicker{letter-spacing:.16em;text-transform:uppercase;color:#ffffffad;margin:0 0 .5rem;font-size:.75rem;font-weight:800}.character-hover-name{letter-spacing:-.06em;margin:0 0 .75rem;font-size:clamp(3rem,8vw,7rem);font-weight:950;line-height:.92}.character-hover-tagline{border-left:3px solid var(--school-gold-light);letter-spacing:.07em;max-width:38rem;color:var(--school-gold-light);text-shadow:0 1px 16px #00000059;margin:-.35rem 0 .65rem;padding-left:.75rem;font-size:clamp(1.05rem,1.8vw,1.35rem);font-style:italic;font-weight:700;line-height:1.4}.character-hover-subline{color:#ffffffe6;flex-wrap:wrap;align-items:center;gap:.45rem .65rem;margin-bottom:1rem;font-size:clamp(.95rem,1.6vw,1.25rem);font-weight:700;line-height:1.45;display:flex}.character-hover-subline-name{color:#fff}.character-hover-subline>span:not(:first-child):before{content:"·";color:#ffffff73;margin-right:.65rem}.character-hover-subline .student-id-card-role:before{content:"";margin:0}.character-hover-intro{color:#ffffffe6;max-width:38rem;font-size:clamp(.95rem,1.35vw,1.125rem);line-height:1.75}.character-hover-intro-secondary{color:#ffffffc2;border-top:1px solid #fff3;margin-top:.8rem;padding-top:.8rem}.character-hover-visual-shell{z-index:1;aspect-ratio:16/9;width:min(72vw,120rem);max-height:100vh;position:absolute;top:50%;right:clamp(-2rem,-2vw,-.25rem);transform:translateY(-50%)}.character-hover-preview-exit .character-hover-visual-shell{animation:character-visual-out .28s ease-in forwards}.character-hover-visual-shell-cover{aspect-ratio:auto;width:100vw;height:100vh;max-height:none;top:0;right:0;transform:none}.character-hover-preview-exit .character-hover-visual-shell-cover{animation:character-cover-out .28s ease-in forwards}.character-hover-visual{object-fit:contain;object-position:right center;filter:drop-shadow(0 24px 40px #0000007a);width:100%;height:100%;display:block}.character-hover-visual-cover{object-fit:cover;object-position:center;filter:none;width:100vw;height:100vh}.character-hover-visual-full-body{transform-origin:100% 100%;transform:translateY(30%)scale(1.5)}.character-hover-visual-fallback{object-fit:cover;border:3px solid #ffffff59;border-radius:6px;width:min(36rem,46vw);margin-left:auto}.character-hover-visual-placeholder{color:#ffffffb3;background:#ffffff14;border:3px dashed #ffffff59;border-radius:6px;justify-content:center;align-items:center;width:min(28rem,42vw);height:min(28rem,42vw);margin-left:auto;font-size:clamp(4rem,10vw,9rem);font-weight:900;display:flex}@keyframes character-vignette-in{0%{opacity:0}to{opacity:1}}@keyframes character-vignette-out{0%{opacity:1}to{opacity:0}}@keyframes character-copy-in{0%{opacity:0;transform:translate(-5rem,-50%)}to{opacity:1;transform:translateY(-50%)}}@keyframes character-copy-out{0%{opacity:1;transform:translateY(-50%)}to{opacity:0;transform:translate(-5rem,-50%)}}@keyframes character-visual-in{0%{opacity:0;transform:translate(18vw,-50%)}to{opacity:1;transform:translateY(-50%)}}@keyframes character-visual-out{0%{opacity:1;transform:translateY(-50%)}to{opacity:0;transform:translate(18vw,-50%)}}@keyframes character-cover-in{0%{opacity:0;transform:translate(18vw)}to{opacity:1;transform:translate(0)}}@keyframes character-cover-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(18vw)}}@media (hover:none),(max-width:900px){.character-hover-preview{display:none}}.post-list-item-discuss{align-items:flex-start}.post-list-item-author{flex-direction:column;flex-shrink:0;align-items:center;gap:.375rem;width:4.5rem;display:flex}.post-list-item-avatar-link{display:block}.post-list-item-avatar{object-fit:cover;border-radius:9999px;width:3rem;height:3rem}.post-list-item-avatar-fallback{background:var(--school-primary-light);color:#fff;justify-content:center;align-items:center;font-weight:700;display:flex}.achievement-toast{z-index:110;border:1px solid var(--school-border);background:var(--school-surface);border-radius:.5rem;align-items:flex-start;gap:.75rem;max-width:20rem;padding:1rem;display:flex;position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 8px 24px #0000001f}.badge-tooltip-wrap{vertical-align:middle;cursor:help;display:inline-flex;position:relative}.badge-tooltip{z-index:30;background:var(--school-ink);color:#fff;text-align:center;white-space:normal;pointer-events:none;opacity:0;border-radius:4px;width:max-content;max-width:11rem;padding:.35rem .5rem;font-size:.6875rem;line-height:1.35;transition:opacity .15s,transform .15s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)translateY(4px)}.badge-tooltip-name{font-weight:700;display:block}.badge-tooltip-desc{margin-top:.15rem;font-weight:400;display:block}.badge-tooltip-wrap:focus-visible .badge-tooltip,.badge-tooltip-wrap:hover .badge-tooltip{opacity:1;transform:translate(-50%)translateY(0)}.achievement-rarity{vertical-align:middle;border-radius:3px;padding:.05rem .35rem;font-size:.65rem;font-weight:600;display:inline-block}.achievement-rarity-common{color:var(--school-ink);background:#e8e4dc}.achievement-rarity-rare{color:#1a4a7a;background:#d4e4f7}.achievement-rarity-epic{color:#5a2d82;background:#eadcf8}.achievement-rarity-limited{color:#8a4b12;background:#fde8cc}.admin-subnav-list{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.admin-subnav-link{border:1px solid var(--school-border);color:var(--school-ink);background:var(--school-surface);border-radius:999px;align-items:center;gap:.4rem;padding:.4rem .85rem;font-size:.875rem;transition:border-color .15s,background .15s;display:inline-flex}.admin-subnav-link-active,.admin-subnav-link:hover{border-color:var(--school-accent)}.admin-subnav-link-active{background:var(--school-cream);font-weight:600}.admin-subnav-badge{background:var(--school-accent);color:#fff;text-align:center;border-radius:999px;min-width:1.25rem;padding:0 .35rem;font-size:.7rem;font-weight:700;line-height:1.25rem}.school-input{border:1px solid var(--school-border);background:var(--school-surface);width:100%;color:var(--school-text);border-radius:.5rem;padding:.55rem .75rem;font-size:.875rem;line-height:1.35;transition:border-color .15s,box-shadow .15s}.school-input:focus{border-color:var(--school-accent);outline:none;box-shadow:0 0 0 3px #7f2bbd24}.admin-toolbar{border:1px solid var(--school-border);background:var(--school-surface-raised);border-radius:.75rem;flex-wrap:wrap;align-items:end;gap:.75rem;padding:.75rem;display:flex}.admin-toolbar-field{flex:11rem;min-width:10rem}.admin-toolbar-label{margin-bottom:.2rem;font-size:.72rem;display:block}.admin-result-count,.admin-toolbar-label{color:var(--school-muted);font-weight:700}.admin-result-count{background:var(--school-surface);min-height:2.25rem;border-radius:999px;align-items:center;padding:.35rem .75rem;font-size:.8rem;display:inline-flex}.admin-dense-table{border-collapse:collapse;text-align:left;width:100%;min-width:100%;font-size:.8125rem}.admin-dense-table thead{background:var(--school-surface-raised);color:var(--school-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.68rem}.admin-dense-table td,.admin-dense-table th{border-top:1px solid var(--school-border);vertical-align:middle;padding:.45rem .65rem}.admin-dense-table thead th{border-top:0}.admin-dense-row:hover{background:#006ec80b}.admin-compact-card{border:1px solid var(--school-border);background:var(--school-surface);border-radius:.75rem;padding:.75rem}.post-list-item{border-radius:4px;align-items:center;gap:.875rem;min-height:5.5rem;padding:.75rem;transition:border-color .2s,box-shadow .2s;display:flex}.post-list-item:hover{border-color:var(--school-accent)}.checkin-modal-backdrop{z-index:100;background:#0006;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.checkin-modal-panel{width:100%;max-height:calc(100dvh - 2rem);overflow-y:auto}.post-showcase{min-width:0}@media (min-width:1024px){.post-showcase{height:100%}}.post-showcase-body{grid-template-columns:11rem minmax(0,1fr);align-items:start;gap:1rem;min-width:0;display:grid}.post-showcase-visual{background:var(--school-cream);border-radius:4px;flex-shrink:0;width:11rem;height:11rem;display:block;position:relative;overflow:hidden}.post-showcase-visual-media{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.post-showcase-visual-fallback{background:var(--school-cream);color:var(--school-accent-light);justify-content:center;align-items:center;font-size:1.875rem;font-weight:700;display:flex;position:absolute;inset:0}.post-showcase-dots{gap:.35rem;display:flex;position:absolute;bottom:.75rem;right:.75rem}.post-showcase-dots button{background:#ffffff73;border:1px solid #fffffff2;width:.6rem;height:.6rem}.post-showcase-dots button.is-active{background:var(--school-gold)}.post-showcase-title{color:var(--school-ink);border-left:3px solid #0000;padding:.7rem .8rem;transition:background .15s,border-color .15s;display:block}.post-showcase-title.is-active,.post-showcase-title:hover{background:var(--school-pale-blue);border-color:var(--school-accent)}.explore-card{border:1px solid var(--school-border);border-top:4px solid var(--school-accent);background:#fff;flex-direction:column;height:100%;padding:1.5rem;transition:box-shadow .2s,transform .2s,border-color .2s;display:flex}.explore-card:hover{border-color:#7f2bbd8c;transform:translateY(-3px);box-shadow:0 18px 36px #1025351f}.school-btn-primary{background:var(--school-primary);color:#fff;border-radius:999px;justify-content:center;align-items:center;padding:.625rem 1.5rem;font-size:1rem;font-weight:800;transition:background .2s,transform .15s;display:inline-flex}.school-btn-primary:hover{background:var(--school-accent-dark)}.school-btn-gold{background:var(--school-coral);color:#fff;border-radius:999px;justify-content:center;align-items:center;padding:.625rem 1.5rem;font-size:1rem;font-weight:700;transition:filter .2s,transform .15s;display:inline-flex}.school-btn-gold:hover{filter:brightness(.96)}.school-btn-outline{color:#fff;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;padding:.625rem 1.5rem;font-size:1rem;font-weight:800;transition:all .2s;display:inline-flex}.school-btn-outline:hover{color:var(--school-primary-dark);background:#fff}.school-btn-secondary{border:2px solid var(--school-border);color:var(--school-muted);background:#f3f4f6;border-radius:999px;justify-content:center;align-items:center;padding:.625rem 1.5rem;font-size:1rem;font-weight:700;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.school-btn-secondary:hover{color:var(--school-text);background:#e5e7eb;border-color:#cbd5e1}.school-btn-secondary:disabled{opacity:.5;cursor:not-allowed}.school-btn-outline-dark{border:2px solid var(--school-primary);color:var(--school-primary);border-radius:999px;justify-content:center;align-items:center;padding:.625rem 1.5rem;font-size:1rem;font-weight:800;transition:all .2s;display:inline-flex}.school-btn-outline-dark:hover{background:var(--school-primary);color:#fff}.school-link-arrow{color:var(--school-link);font-size:.9375rem;font-weight:800}.school-link-arrow:hover{text-decoration:underline}.school-section-title{color:var(--school-ink);letter-spacing:-.04em;border-bottom:4px solid var(--school-accent);margin-bottom:1.25rem;padding-bottom:.5rem;font-size:clamp(1.45rem,2.4vw,2rem);font-weight:900;display:inline-block}.page-hero{background:linear-gradient(120deg,var(--school-primary) 0,#123b64 52%,var(--school-accent-dark) 100%);border-bottom:4px solid var(--school-coral);color:#fff;padding:3.25rem 0}.page-hero h1{color:#fff;letter-spacing:-.045em;font-size:clamp(2rem,4vw,3.25rem);font-weight:900}.page-hero p{color:#ffffffd1}.school-badge{text-transform:uppercase;letter-spacing:.03em;background:var(--school-accent-muted);color:var(--school-accent-dark);border-radius:999px;padding:.2rem .55rem;font-size:.75rem;font-weight:600;display:inline-block}.school-badge-pending{color:#8a5a00;background:#fff5d6}.school-badge-activity{color:#004b83;background:#e3f3ff}.school-badge-bulletin{color:#9b1c21;background:#ffe9ea}.key-date-item{border-left:4px solid var(--school-accent);padding-top:.25rem;padding-bottom:.25rem;padding-left:1rem}.emergency-ticker{border-bottom:3px solid var(--school-gold);background:var(--school-primary-dark);color:#fff}.emergency-ticker-viewport{width:100%;position:relative;overflow:hidden}.emergency-ticker-viewport-static{padding:.55rem 1rem}.emergency-ticker-static{text-overflow:ellipsis;white-space:nowrap;letter-spacing:.04em;margin:0;font-size:.9375rem;font-weight:700;overflow:hidden}.emergency-ticker-measure{visibility:hidden;pointer-events:none;position:absolute;top:0;left:0}.emergency-ticker-track{will-change:transform;width:max-content;display:flex}.emergency-ticker-track-measuring{visibility:hidden}.emergency-ticker-track-ready{animation:emergency-ticker-scroll var(--ticker-duration,28s) linear infinite}.emergency-ticker-segment{letter-spacing:.04em;white-space:nowrap;flex:none;padding:.55rem 4rem .55rem 0;font-size:.9375rem;font-weight:700}@keyframes emergency-ticker-scroll{0%{transform:translate(0)}to{transform:translate3d(calc(-1 * var(--ticker-shift,0px)),0,0)}}@media (prefers-reduced-motion:reduce){.emergency-ticker-track{animation:none;transform:none}}.site-footer{background:var(--school-primary-dark);color:#ffffffd9}.site-footer a:hover{color:#fff}.footer-ack{background:var(--school-primary);border-top:1px solid #ffffff1a}.mobile-nav-toggle{width:2.75rem;height:2.75rem;color:var(--school-ink);background:#fff;border:1px solid #10253524;border-radius:.35rem;flex-direction:column;justify-content:center;gap:.3rem;padding:.5rem;display:inline-flex}.mobile-nav-toggle-bar{background:currentColor;border-radius:999px;width:100%;height:2px;display:block}.mobile-nav-toggle-utility{color:#fff;background:#ffffff14;border-color:#ffffff47;width:2.35rem;height:2.35rem}.mobile-nav-backdrop{z-index:60;background:#0718238c;position:fixed;inset:0}.mobile-nav-drawer{z-index:70;background:var(--school-primary);color:#fff;pointer-events:none;flex-direction:column;transition:transform .24s;display:flex;position:fixed;inset:0;transform:translate(100%)}.mobile-nav-drawer-open{pointer-events:auto;transform:translate(0)}.mobile-nav-drawer-header{color:var(--school-ink);background:#fff;border-bottom:1px solid #ffffff1f;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1rem .75rem;display:flex}.mobile-nav-drawer-title{margin:0;font-size:1rem;font-weight:800}.mobile-nav-close{border:1px solid var(--school-border);width:2.5rem;height:2.5rem;color:var(--school-ink);background:#fff;border-radius:.35rem;justify-content:center;align-items:center;font-size:1.1rem;display:inline-flex}.mobile-nav-drawer-body{flex:1;padding:1rem 1rem 2rem;overflow-y:auto}.mobile-nav-section-label{letter-spacing:.08em;text-transform:uppercase;color:#ffffff9e;margin:0 0 .65rem;font-size:.75rem;font-weight:800}.mobile-nav-utility{border-bottom:1px solid #ffffff1f;margin-bottom:1.25rem;padding-bottom:1rem}.mobile-nav-utility-links{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;display:flex}.mobile-nav-utility-link,.mobile-nav-utility-links button{color:#ffffffeb;font-size:.9375rem;font-weight:600}.mobile-nav-utility-link:hover,.mobile-nav-utility-links button:hover{color:var(--school-gold-light)}.mobile-nav-menu{border-bottom:1px solid #ffffff1f;margin-bottom:1.25rem;padding-bottom:1rem}.mobile-nav-list{margin:0;padding:0;list-style:none}.mobile-nav-link{color:#fff;align-items:center;min-height:3rem;padding:.65rem .25rem;font-size:1.05rem;font-weight:700;display:flex}.mobile-nav-link:hover{color:var(--school-gold-light)}.mobile-nav-accordion-trigger{border-bottom:1px solid #ffffff14;align-items:stretch;display:flex}.mobile-nav-link-primary{flex:1}.mobile-nav-accordion-toggle{color:#ffffffe6;justify-content:center;align-items:center;min-width:3rem;font-size:.95rem;display:inline-flex}.mobile-nav-accordion.is-open .mobile-nav-accordion-toggle{transform:rotate(180deg)}.nav-mega-panel-inline{border-bottom:1px solid #ffffff14;padding:.35rem 0 .85rem .5rem}.nav-mega-panel-inline .nav-mega-grid{grid-template-columns:1fr;gap:.85rem 1rem}.nav-mega-panel-inline .nav-mega-flat{grid-template-columns:1fr;gap:.15rem}.nav-mega-panel-inline .nav-mega-heading{color:#ffffffb8;border-bottom-color:#ffffff2e;font-size:.72rem}.nav-mega-panel-inline .nav-mega-link{color:#fffffff0;padding:.5rem .25rem;font-size:.95rem}.nav-mega-panel-inline .nav-mega-link:hover{color:#fff;background:#ffffff14}.nav-mega-panel-inline .nav-mega-footer{border-top-color:#ffffff1f;margin-top:.75rem;padding-top:.75rem}.nav-mega-panel-inline .nav-mega-overview{color:var(--school-gold-light);font-size:.9375rem}.mobile-nav-account{border-bottom:1px solid #ffffff1f;flex-direction:column;gap:.35rem;margin-bottom:1.25rem;padding-bottom:1rem;display:flex}.mobile-nav-profile{color:#fff;margin-bottom:.35rem;padding:.35rem 0}.mobile-nav-account-button,.mobile-nav-account-link{text-align:left;color:#ffffffeb;width:100%;padding:.65rem .25rem;font-size:1rem;font-weight:600;display:block}.mobile-nav-account-link-admin{color:var(--school-gold-light)}.mobile-nav-account-button:hover,.mobile-nav-account-link:hover{color:#fff}.mobile-nav-register{background:var(--school-accent);color:#111827;border-radius:.25rem;justify-content:center;align-items:center;min-height:3rem;padding:.75rem 1.25rem;font-size:1rem;font-weight:800;display:inline-flex}.mobile-nav-legal-links{flex-wrap:wrap;gap:.5rem .85rem;display:flex}.mobile-nav-legal-link{color:#ffffffd1;font-size:.9rem}.mobile-nav-legal-link:hover{color:#fff}@media (min-width:768px){.mobile-nav-backdrop,.mobile-nav-drawer,.mobile-nav-toggle{display:none}}.filter-group-accordion{border:1px solid var(--school-border);background:var(--school-surface);border-radius:.75rem;overflow:hidden}.filter-group-accordion-trigger{text-align:left;width:100%;color:var(--school-ink);background:var(--school-surface-raised);justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1rem;font-size:.95rem;font-weight:700;display:flex}.filter-group-accordion-trigger.is-active{color:var(--school-accent-dark)}.filter-group-accordion-chevron{transition:transform .15s}.filter-group-accordion-trigger[aria-expanded=true] .filter-group-accordion-chevron{transform:rotate(180deg)}.filter-group-accordion-panel{padding:.85rem 1rem 1rem}.calendar-activity-dot{background:var(--school-maroon);color:#fff;border-radius:999px;justify-content:center;align-items:center;width:1.35rem;height:1.35rem;margin:.35rem auto 0;font-size:.65rem;font-weight:800;line-height:1;display:flex}.calendar-activity-dot-muted{background:#9aa8b5}.calendar-day-outside-period{cursor:default;opacity:.88;background:#eceff2;border-color:#dde3ea}.calendar-day-outside-period:hover{background:#e6eaef}@media (min-width:768px){.calendar-activity-dot{display:none}}@media (max-width:768px){.post-showcase-body{grid-template-columns:minmax(0,1fr)}.post-showcase-visual{aspect-ratio:1;width:100%;max-width:100%;height:auto}}@media (prefers-reduced-motion:reduce){.explore-card,.nav-chevron,.nav-mega-panel,.post-showcase-title,.post-showcase-visual-media,.school-card{transition:none}.character-hover-copy,.character-hover-vignette,.character-hover-visual-shell{animation:none!important}.character-hover-vignette{opacity:1}.character-hover-copy,.character-hover-visual-shell{opacity:1;transform:translateY(-50%)}.character-hover-visual-shell-cover{transform:translate(0)}}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-duration{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}