@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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-emerald-50:#ecfdf5;--color-emerald-600:#009767;--color-emerald-700:#007956;--color-sky-500:#00a5ef;--color-indigo-500:#625fff;--color-indigo-600:#4f39f6;--color-rose-50:#fff1f2;--color-rose-200:#ffccd3;--color-rose-600:#e70044;--color-rose-700:#c20039;--color-slate-50:#f8fafc;--color-slate-100:#f1f5f9;--color-slate-200:#e2e8f0;--color-slate-300:#cad5e2;--color-slate-400:#90a1b9;--color-slate-500:#62748e;--color-slate-600:#45556c;--color-slate-700:#314158;--color-slate-900:#0f172b;--color-white:#fff;--spacing:.25rem;--container-6xl:72rem;--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-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-semibold:600;--font-weight-bold:700;--font-weight-black:900;--tracking-tight:-.025em;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--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)}@supports (color:lab(0% 0 0)){:root,:host{--color-emerald-50:lab(97.8462% -6.94966 1.85487);--color-emerald-600:lab(55.0481% -49.9246 15.93);--color-emerald-700:lab(44.4871% -41.0396 11.0361);--color-sky-500:lab(63.3038% -18.433 -51.0407);--color-indigo-500:lab(48.295% 38.3129 -81.9673);--color-indigo-600:lab(38.4009% 52.6132 -92.3857);--color-rose-50:lab(96.2369% 4.94155 1.28011);--color-rose-200:lab(86.806% 19.1909 4.07754);--color-rose-600:lab(49.1882% 81.577 36.0311);--color-rose-700:lab(41.1651% 71.6251 30.3087);--color-slate-50:lab(98.1434% -.369519 -1.05966);--color-slate-100:lab(96.286% -.852436 -2.46847);--color-slate-200:lab(91.7353% -.998765 -4.76968);--color-slate-300:lab(84.7652% -1.94535 -7.93337);--color-slate-400:lab(65.5349% -2.25151 -14.5072);--color-slate-500:lab(48.0876% -2.03595 -16.5814);--color-slate-600:lab(35.5623% -1.74978 -15.4316);--color-slate-700:lab(26.9569% -1.47016 -15.6993);--color-slate-900:lab(7.78673% 1.82345 -15.0537)}}}@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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){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{.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}.static{position:static}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.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)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-24{height:calc(var(--spacing) * 24)}.max-h-\[calc\(100vh-220px\)\]{max-height:calc(100vh - 220px)}.min-h-screen{min-height:100vh}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-full{width:100%}.max-w-6xl{max-width:var(--container-6xl)}.min-w-0{min-width:0}.flex-1{flex:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.transform\!{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)!important}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}: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-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)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-rose-200{border-color:var(--color-rose-200)}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-300{border-color:var(--color-slate-300)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-indigo-600{background-color:var(--color-indigo-600)}.bg-rose-50{background-color:var(--color-rose-50)}.bg-rose-600{background-color:var(--color-rose-600)}.bg-sky-500{background-color:var(--color-sky-500)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-100{background-color:var(--color-slate-100)}.bg-slate-900{background-color:var(--color-slate-900)}.bg-white{background-color:var(--color-white)}.p-3{padding:calc(var(--spacing) * 3)}.p-5{padding:calc(var(--spacing) * 5)}.p-8{padding:calc(var(--spacing) * 8)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-5{padding-block:calc(var(--spacing) * 5)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pr-1{padding-right:var(--spacing)}.pb-1{padding-bottom:var(--spacing)}.text-center{text-align:center}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);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-\[11px\]{font-size:11px}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.015em\]{--tw-tracking:.015em;letter-spacing:.015em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-700{color:var(--color-emerald-700)}.text-indigo-500{color:var(--color-indigo-500)}.text-indigo-600{color:var(--color-indigo-600)}.text-rose-600{color:var(--color-rose-600)}.text-rose-700{color:var(--color-rose-700)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-slate-900{color:var(--color-slate-900)}.text-white{color:var(--color-white)}.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)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.\!filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)!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,)}.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))}.file\:mr-3::file-selector-button{margin-right:calc(var(--spacing) * 3)}.file\:rounded-lg::file-selector-button{border-radius:var(--radius-lg)}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-indigo-600::file-selector-button{background-color:var(--color-indigo-600)}.file\:px-3::file-selector-button{padding-inline:calc(var(--spacing) * 3)}.file\:py-2::file-selector-button{padding-block:calc(var(--spacing) * 2)}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-bold::file-selector-button{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.file\:text-white::file-selector-button{color:var(--color-white)}.disabled\:opacity-40:disabled{opacity:.4}@media (min-width:48rem){.md\:grid-cols-\[1fr_180px\]{grid-template-columns:1fr 180px}}@media (min-width:64rem){.lg\:grid-cols-\[360px_1fr\]{grid-template-columns:360px 1fr}}}:root{--background:#f8f7fa;--background-pure:#fff;--surface:#fff;--surface-secondary:#faf9fb;--surface-ivory:#fbfaf7;--surface-lavender:#f6f3fb;--text-primary:#201f24;--text-secondary:#5e5a66;--text-tertiary:#77717f;--text-disabled:#b7b2bf;--border:#e9e6ed;--border-strong:#ddd8e4;--primary:#7567b8;--primary-hover:#685aa9;--primary-active:#5c4f99;--primary-soft:#f1eefa;--primary-soft-hover:#eae5f7;--primary-soft-strong:#e2dcf3;--focus-ring:#7567b838;--shadow-soft:0 10px 30px #2e27430f;--shadow-raised:0 18px 48px #2e27431a;--success:#168a67;--warning:#c77a16;--danger:#d84a5b;--calendar-sunday:#c43d49;--calendar-sunday-soft:#fff1f2;--calendar-sunday-border:#ffd4d7;--calendar-today-blue:#685aa9;--calendar-today-blue-soft:#f1eefa;--calendar-today-blue-border:#d8d0ec;--category-school-bg:#f1eff8;--category-school-text:#625891;--category-class-bg:#eeeaf8;--category-class-text:#685aa9;--category-exam-bg:#f3edf8;--category-exam-text:#76508e;--category-performance-bg:#fff4e6;--category-performance-text:#b86715;--category-homework-bg:#eef7f2;--category-homework-text:#39735b;--category-timetable-bg:#eaf8f6;--category-timetable-text:#187b70;--category-other-bg:#fff1f7;--category-other-text:#a64270;--category-notice-bg:#f4f2f6;--category-notice-text:#625e69;--radius-sm:10px;--radius-md:14px;--radius-lg:18px;--radius-xl:22px;--radius-small:var(--radius-sm);--radius-medium:var(--radius-md);--radius-large:var(--radius-lg);--content-width:1080px;--sidebar-width:248px;--mobile-gutter:20px;--bottom-navigation-height:74px;--header-height-mobile:62px;--header-height-desktop:72px;--control-height:48px;--duration-instant:.12s;--duration-navigation:.16s;--duration-standard:.19s;--duration-large:.28s;--motion-fast:var(--duration-instant);--motion-normal:var(--duration-standard);--motion-slow:var(--duration-large);--ease-standard:cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html{scrollbar-width:none;background:var(--background);min-width:320px;color:var(--text-primary);font-synthesis:none;letter-spacing:-.008em;text-rendering:optimizelegibility;font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans KR,sans-serif}html::-webkit-scrollbar{display:none}body{background:radial-gradient(circle at 72% -12%, #7567b80a, transparent 32rem), linear-gradient(180deg, var(--surface-ivory) 0, var(--background) 26rem);min-height:100vh;color:var(--text-primary);word-break:keep-all;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:16px;line-height:1.6}::selection{background:var(--primary-soft-strong);color:var(--text-primary)}button,input,textarea,select{font:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--primary);outline-offset:2px;box-shadow:0 0 0 4px var(--focus-ring)}a{color:inherit;text-decoration:none}.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}.skip-link{z-index:1000;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);min-height:42px;box-shadow:var(--shadow-raised);color:var(--text-primary);transition:transform var(--duration-instant) var(--ease-standard);align-items:center;padding:0 15px;font-size:14px;font-weight:700;display:inline-flex;position:fixed;top:10px;left:12px;transform:translateY(-160%)}.skip-link:focus-visible{transform:translateY(0)}button,a{-webkit-tap-highlight-color:transparent}.app-shell{min-height:100vh}.class-site-shell{isolation:isolate;position:relative;overflow:clip}.class-site-shell>.desktop-navigation,.class-site-shell>.mobile-navigation,.class-site-shell>.content-column{z-index:1;position:relative}.class-site-shell>.desktop-navigation{position:sticky}.class-site-shell>.mobile-navigation{z-index:1000;position:fixed}.class-ambient-particles{z-index:0;pointer-events:none;contain:paint;position:fixed;inset:0;overflow:hidden}.class-sand-plume{aspect-ratio:2;transform-origin:4% 52%;will-change:transform, opacity;width:clamp(620px,72vw,1080px);position:absolute;top:clamp(88px,14vh,150px);left:-8vw}.class-sand-plume img{object-fit:contain;object-position:left center;-webkit-user-select:none;user-select:none}@media (max-width:700px){.class-sand-plume{width:138vw;top:18vh;left:-30vw}}@media (prefers-reduced-motion:reduce){.class-ambient-particles{display:none}}.desktop-navigation{display:none}.content-column{flex-direction:column;min-width:0;min-height:100vh;display:flex}.top-bar{z-index:20;height:var(--header-height-mobile);border-bottom:1px solid var(--border);position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.top-bar{border-bottom:1px solid color-mix(in srgb, var(--border) 86%, transparent)}}.top-bar{background:var(--background)}@supports (color:color-mix(in lab, red, red)){.top-bar{background:color-mix(in srgb, var(--background) 92%, transparent)}}.top-bar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.top-bar-inner{width:100%;height:100%;padding:0 var(--mobile-gutter);justify-content:space-between;align-items:center;display:flex}.top-bar h2,.top-bar p{margin:0}.top-bar h2{letter-spacing:-.018em;font-size:18px;font-weight:600;line-height:1.4}.top-bar p{color:var(--text-tertiary);font-variant-numeric:tabular-nums;letter-spacing:-.012em;font-size:14px;font-weight:500;line-height:1.4}.page-transition-viewport{flex:1;width:100%;min-width:0;overflow:clip}.site-copyright{width:100%;max-width:var(--content-width);padding:0 var(--mobile-gutter) calc(var(--bottom-navigation-height) + 22px + env(safe-area-inset-bottom));color:var(--text-tertiary);letter-spacing:.015em;text-align:center;margin:0 auto;font-size:11px;font-weight:550;line-height:1.5}.main-content{width:100%;max-width:var(--content-width);min-height:calc(100vh - var(--header-height-mobile));padding:42px var(--mobile-gutter) calc(var(--bottom-navigation-height) + 36px + env(safe-area-inset-bottom));margin:0 auto}.page-content{width:100%}.page-intro{margin:0 0 28px}.page-intro h1{letter-spacing:-.038em;text-wrap:balance;word-break:keep-all;max-width:560px;margin:0;font-size:26px;font-weight:700;line-height:1.3}.page-intro p{max-width:560px;color:var(--text-secondary);letter-spacing:-.012em;word-break:keep-all;margin:10px 0 0;font-size:15px;line-height:1.6}.empty-state{border:1px solid var(--border);border-radius:var(--radius-large);background:radial-gradient(circle at 100% 0%, #7567b80d, transparent 34%), var(--surface);flex-direction:column;justify-content:space-between;align-items:flex-start;gap:32px;min-height:236px;padding:28px;display:flex;box-shadow:0 8px 26px #2e27430a}.empty-state-copy h2,.empty-state-copy p{margin:0}.empty-state-copy h2{letter-spacing:-.025em;word-break:keep-all;font-size:20px;font-weight:600;line-height:1.4}.empty-state-copy p{max-width:500px;color:var(--text-secondary);letter-spacing:-.012em;word-break:keep-all;margin-top:8px;font-size:15px;line-height:1.6}.empty-state-action{width:100%}.home-content{isolation:isolate;max-width:900px;position:relative}.home-content:before{content:"";z-index:-1;aspect-ratio:1;filter:blur(5px);pointer-events:none;width:min(58vw,520px);animation:ambient-lavender-drift 22s var(--ease-standard) infinite alternate;background:radial-gradient(circle,#7567b817,#0000 68%);border-radius:50%;position:absolute;top:-96px;right:-84px}.home-kicker,.home-identity-kicker{color:var(--primary-hover);letter-spacing:.035em;align-items:center;gap:7px;margin-top:0;margin-bottom:10px;font-size:12px;font-weight:750;display:inline-flex}.home-kicker:before,.home-identity-kicker:before{content:"";background:var(--primary);width:7px;height:7px;box-shadow:0 0 0 5px var(--primary-soft);border-radius:50%}.home-overview{gap:20px;min-width:0;margin-bottom:22px;display:grid}.home-overview .page-intro{margin:0}.home-overview>.today-agenda-card,.home-overview>.today-agenda-skeleton{margin-bottom:0}.home-content>.meal-card,.home-content>.meal-card-skeleton{margin-bottom:22px}.meal-card{isolation:isolate;border:1px solid var(--primary);flex-direction:column;min-width:0;min-height:224px;padding:21px;display:grid;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.meal-card{border:1px solid color-mix(in srgb, var(--primary) 19%, var(--border))}}.meal-card{border-radius:var(--radius-xl);background:linear-gradient(145deg, var(--surface), var(--surface-lavender));box-shadow:var(--shadow-soft)}.meal-card.has-illustration{grid-template-columns:minmax(0,1fr) minmax(150px,190px);gap:14px}.meal-card:before,.meal-card:after{content:"";pointer-events:none;position:absolute}.meal-card:before{z-index:0;filter:blur(20px);width:180px;height:180px;animation:meal-ambient-drift 18s var(--ease-standard) infinite alternate;background:#7567b81c;border-radius:50%;top:-54px;right:-38px}.meal-card:after{z-index:0;filter:blur(24px);width:150px;height:120px;animation:meal-ambient-drift 24s var(--ease-standard) infinite alternate-reverse;background:#7567b80f;border-radius:50%;bottom:-68px;right:18%}.meal-card>*{z-index:2;position:relative}.meal-card-main{flex-direction:column;min-width:0;display:flex}.meal-illustration{pointer-events:none;align-self:center;place-items:center;width:100%;min-width:0;max-width:190px;height:168px;margin:0;display:grid}.meal-illustration img{object-fit:contain;filter:drop-shadow(0 16px 22px #4b408021);width:100%;height:100%;animation:meal-illustration-enter .32s var(--ease-standard) both}@keyframes meal-illustration-enter{0%{opacity:0;transform:translateY(7px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.meal-card.is-vacation{background:var(--surface)}.meal-card-header{color:var(--text-tertiary);align-items:center;gap:9px;font-size:12px;font-weight:600;display:flex}.meal-icon{background:var(--primary-soft);width:34px;height:34px;color:var(--primary-hover);border-radius:11px;justify-content:center;align-items:center;display:inline-flex}.meal-card-copy{margin-top:17px}.meal-card-copy p,.meal-card-copy h2,.meal-card-copy ul,.meal-card-copy>span{margin:0}.meal-card-copy p{color:var(--text-tertiary);font-size:11px;font-weight:650}.meal-card-copy h2{letter-spacing:-.035em;margin-top:3px;font-size:21px;font-weight:720;line-height:1.35}.meal-card-copy>span{color:var(--text-secondary);word-break:keep-all;margin-top:7px;font-size:13px;line-height:1.55;display:block}.meal-card-copy ul{flex-wrap:wrap;gap:6px;margin-top:12px;padding:0;list-style:none;display:flex}.meal-card-copy li{background:var(--surface-secondary);color:var(--text-secondary);border-radius:9px;padding:6px 9px;font-size:11px;font-weight:550;line-height:1.25}.meal-card-copy li.meal-more{background:var(--primary-soft);color:var(--primary-hover)}.meal-card-main>a{width:fit-content;color:var(--text-tertiary);transition:color var(--duration-instant) var(--ease-standard);align-items:center;gap:4px;margin-top:auto;padding-top:14px;font-size:11px;font-weight:600;display:inline-flex}.meal-card-skeleton>span,.meal-card-skeleton div span{background:var(--border);border-radius:8px;animation:1.2s ease-in-out infinite admin-skeleton-pulse;display:block}.meal-card-skeleton:before,.meal-card-skeleton:after{display:none}@keyframes meal-ambient-drift{0%{transform:translate(-5px,3px)scale(.98)}to{transform:translate(10px,-8px)scale(1.06)}}@media (max-width:767px){.meal-card.has-illustration{grid-template-columns:minmax(0,1fr) minmax(84px,27%);gap:5px}.meal-illustration{height:122px;margin:24px -7px 0 -3px}}.today-agenda-card{border:1px solid var(--primary);margin-bottom:22px;padding:22px;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.today-agenda-card{border:1px solid color-mix(in srgb, var(--primary) 14%, var(--border))}}.today-agenda-card{border-radius:var(--radius-xl);background:radial-gradient(circle at 98% 0%, #7567b814, transparent 36%), var(--surface);box-shadow:var(--shadow-soft)}.today-agenda-header,.today-agenda-heading{align-items:center;display:flex}.today-agenda-header{justify-content:space-between;gap:16px}.today-agenda-heading{gap:11px;min-width:0}.today-agenda-heading>span{background:linear-gradient(145deg, var(--primary), var(--primary-active));color:#fff;border-radius:13px;flex:none;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex;box-shadow:0 8px 20px #5c4f9933}.today-agenda-heading p,.today-agenda-heading h2{margin:0}.today-agenda-heading p{color:var(--text-tertiary);font-size:11px;font-weight:600}.today-agenda-heading h2{letter-spacing:-.03em;margin-top:1px;font-size:20px;font-weight:720;line-height:1.35}.today-agenda-header>strong{background:var(--primary-soft);color:var(--primary-hover);border-radius:999px;flex:none;padding:6px 10px;font-size:11px;font-weight:700}.today-agenda-list{border:1px solid var(--border);background:var(--border);border-radius:14px;gap:1px;margin:18px 0 0;padding:0;list-style:none;display:grid;overflow:hidden}.today-agenda-list li{background:var(--surface);align-items:center;gap:11px;min-width:0;padding:12px 13px;display:flex}@supports (color:color-mix(in lab, red, red)){.today-agenda-list li{background:color-mix(in srgb, var(--surface) 96%, var(--primary-soft))}}.today-agenda-list li>div{flex:1;justify-content:space-between;align-items:center;gap:12px;min-width:0;display:flex}.today-agenda-task-link{min-width:0;color:var(--text-primary);flex:1;align-items:center;gap:9px;display:flex}.today-agenda-task-link>strong{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;font-weight:650;overflow:hidden}.today-agenda-task-link>span{color:var(--category-homework-text);flex:none;align-items:center;gap:4px;font-size:11px;font-weight:650;display:inline-flex}.today-agenda-task-link>svg{color:var(--text-tertiary);transition:transform var(--duration-instant) var(--ease-standard);flex:none}.today-agenda-task-link:active>svg{transform:translate(2px)}.today-agenda-list li>div>strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:650;overflow:hidden}.today-agenda-list li>div>span{color:var(--text-tertiary);flex:none;align-items:center;gap:4px;font-size:11px;display:inline-flex}.today-agenda-list li.today-agenda-more{color:var(--text-tertiary);justify-content:center;font-size:11px;font-weight:600}.today-agenda-empty{background:var(--surface-secondary);border-radius:14px;margin-top:18px;padding:20px}@supports (color:color-mix(in lab, red, red)){.today-agenda-empty{background:color-mix(in srgb, var(--surface-secondary) 78%, var(--surface))}}.today-agenda-empty strong,.today-agenda-empty p{margin:0}.today-agenda-empty strong{font-size:14px;font-weight:650}.today-agenda-empty p{color:var(--text-tertiary);margin-top:4px;font-size:12px}.today-agenda-link{color:var(--text-secondary);transition:color var(--duration-instant) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);align-items:center;gap:5px;margin-top:15px;font-size:12px;font-weight:650;display:inline-flex}.today-agenda-link:active{transform:scale(.98)}.today-agenda-skeleton>span,.today-agenda-skeleton>div{background:var(--border);border-radius:9px;animation:1.2s ease-in-out infinite admin-skeleton-pulse;display:block}.today-agenda-skeleton>span{width:150px;height:38px}.today-agenda-skeleton>div{height:45px;margin-top:14px}.meal-card-skeleton>span{width:112px;height:34px}.meal-card-skeleton div{margin-top:28px}.meal-card-skeleton div span:first-child{width:68px;height:12px}.meal-card-skeleton div span:nth-child(2){width:150px;height:25px;margin-top:8px}.meal-card-skeleton div span:last-child{width:190px;max-width:75%;height:14px;margin-top:14px}.timetable-card{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);width:100%;min-width:0;box-shadow:var(--shadow-soft);padding:22px}.timetable-card-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.timetable-eyebrow,.timetable-card h2,.timetable-data-note,.timetable-card-footer,.timetable-unavailable p{margin:0}.timetable-eyebrow{color:var(--text-tertiary);letter-spacing:-.01em;font-size:12px;font-weight:600;line-height:1.4}.timetable-card h2{letter-spacing:-.035em;margin-top:4px;font-size:23px;font-weight:720;line-height:1.3}.timetable-freshness{background:var(--surface-secondary);color:var(--text-tertiary);border-radius:999px;flex:none;padding:6px 10px;font-size:11px;font-weight:650;line-height:1}.timetable-freshness.is-current{background:var(--primary-soft);color:var(--primary-hover)}.timetable-data-note{color:var(--text-secondary);background:#f7f8fa;border-radius:12px;margin-top:16px;padding:11px 13px;font-size:12px;line-height:1.55}.timetable-week-wrap{border:1px solid var(--border);border-radius:16px;min-width:0;margin-top:22px;overflow:hidden}.timetable-week-grid{border-spacing:0;table-layout:fixed;width:100%}.timetable-week-grid th,.timetable-week-grid td{text-align:center;padding:0}.timetable-week-grid thead th{background:var(--surface-secondary);height:58px;color:var(--text-tertiary);font-size:11px;font-weight:600;position:relative}.timetable-week-grid thead th:first-child,.timetable-week-grid tbody th{width:34px}.timetable-week-grid thead th:not(:first-child),.timetable-week-grid tbody td{border-left:1px solid var(--border)}@supports (color:color-mix(in lab, red, red)){.timetable-week-grid thead th:not(:first-child),.timetable-week-grid tbody td{border-left:1px solid color-mix(in srgb, var(--border) 78%, transparent)}}.timetable-week-grid thead strong,.timetable-week-grid thead span{display:block}.timetable-week-grid thead strong{color:var(--text-secondary);font-size:13px;font-weight:680}.timetable-week-grid thead span{color:var(--text-disabled);font-variant-numeric:tabular-nums;margin-top:2px;font-size:10px}.timetable-week-grid thead small{color:var(--primary-hover);font-size:9px;font-weight:700;position:absolute;top:5px;right:5px}.timetable-week-grid tbody th,.timetable-week-grid tbody td{border-top:1px solid var(--border);height:48px}@supports (color:color-mix(in lab, red, red)){.timetable-week-grid tbody th,.timetable-week-grid tbody td{border-top:1px solid color-mix(in srgb, var(--border) 78%, transparent)}}.timetable-week-grid tbody th{background:var(--surface-secondary)}@supports (color:color-mix(in lab, red, red)){.timetable-week-grid tbody th{background:color-mix(in srgb, var(--surface-secondary) 72%, var(--surface))}}.timetable-week-grid tbody th{color:var(--text-tertiary);font-variant-numeric:tabular-nums;font-size:10px;font-weight:650}.timetable-week-grid tbody td{background:var(--surface);color:var(--text-secondary);letter-spacing:-.025em;word-break:keep-all;padding:4px 3px;font-size:11px;font-weight:620;line-height:1.28;position:relative}.timetable-week-grid tbody td>span,.timetable-lesson>span{display:block}.timetable-lesson{width:100%;min-height:38px;color:inherit;font:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;padding:2px 1px}.timetable-week-grid .timetable-subject-mobile{display:block}.timetable-week-grid .timetable-subject-desktop{display:none}.timetable-teacher{color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:10px;font-weight:520;line-height:1.15;display:block;overflow:hidden}.timetable-week-grid td.is-today .timetable-teacher{color:currentColor;opacity:.68}.timetable-week-grid th.is-today,.timetable-week-grid td.is-today{background:var(--primary-soft)}@supports (color:color-mix(in lab, red, red)){.timetable-week-grid th.is-today,.timetable-week-grid td.is-today{background:color-mix(in srgb, var(--primary-soft) 68%, var(--surface))}}.timetable-week-grid thead th.is-today strong,.timetable-week-grid td.is-today{color:var(--primary-hover)}.timetable-card-footer{border-top:1px solid var(--border);color:var(--text-disabled);justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding-top:16px;font-size:11px;display:flex}.timetable-card-footer a,.timetable-unavailable a{color:var(--text-tertiary);transition:color var(--duration-instant) var(--ease-standard);align-items:center;gap:4px;font-weight:600;display:inline-flex}.timetable-unavailable{flex-direction:column;justify-content:space-between;align-items:flex-start;gap:28px;min-height:230px;display:flex}.timetable-unavailable p:not(.timetable-eyebrow){color:var(--text-secondary);margin-top:8px;font-size:14px}.timetable-unavailable a{background:var(--surface-secondary);min-height:42px;color:var(--text-secondary);border-radius:12px;padding:0 14px;font-size:13px}.timetable-skeleton>div{background:var(--surface-secondary);border-radius:9px;animation:1.4s ease-in-out infinite timetable-skeleton-pulse}.timetable-skeleton-title{width:128px;height:28px}.timetable-skeleton-grid{height:360px;margin:26px 0 18px}@keyframes timetable-skeleton-pulse{0%,to{opacity:.62}50%{opacity:1}}.class-chatbot{border-radius:var(--radius-xl);width:100%;min-width:0;box-shadow:none;transition:padding var(--duration-large) var(--ease-standard), border-color var(--duration-standard) var(--ease-standard), background-color var(--duration-standard) var(--ease-standard), box-shadow var(--duration-standard) var(--ease-standard);background:0 0;border:1px solid #0000;margin-top:22px;padding:0}.class-chatbot.is-expanded{border-color:var(--primary);padding:18px}@supports (color:color-mix(in lab, red, red)){.class-chatbot.is-expanded{border-color:color-mix(in srgb, var(--primary) 15%, var(--border))}}.class-chatbot.is-expanded{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.class-chatbot.is-expanded{background:color-mix(in srgb, var(--surface) 95%, var(--primary-soft))}}.class-chatbot.is-expanded{box-shadow:var(--shadow-soft)}.class-chat-conversation{overflow:hidden}.class-chat-header{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:2px 2px 15px;display:flex}@supports (color:color-mix(in lab, red, red)){.class-chat-header{border-bottom:1px solid color-mix(in srgb, var(--border) 82%, transparent)}}.class-chat-avatar,.class-chat-message-icon,.class-chat-form-icon{flex:none;justify-content:center;align-items:center;display:inline-flex}.class-chat-avatar{background:var(--primary-soft);width:34px;height:34px;color:var(--primary-hover);border-radius:12px}.class-chat-header>div{gap:1px;display:grid}.class-chat-header strong,.class-chat-header span{line-height:1.35}.class-chat-header strong{color:var(--text-primary);letter-spacing:-.025em;font-size:14px;font-weight:720}.class-chat-header>div>span{color:var(--text-tertiary);font-size:11px}.class-chat-messages{overscroll-behavior:contain;scrollbar-width:none;gap:13px;max-height:360px;padding:18px 2px 4px;display:grid;overflow-y:auto}.class-chat-messages::-webkit-scrollbar{display:none}.class-chat-message{align-items:flex-start;gap:8px;display:flex}.class-chat-message.is-user{flex-direction:row-reverse}.class-chat-message-icon{background:var(--surface-secondary);width:27px;height:27px;color:var(--text-tertiary);border-radius:10px;margin-top:2px}.class-chat-message.is-assistant .class-chat-message-icon{background:var(--primary-soft);color:var(--primary-hover)}.class-chat-message>div{gap:8px;max-width:min(78%,610px);display:grid}.class-chat-message p{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);letter-spacing:-.015em;white-space:pre-wrap;word-break:break-word;border-radius:5px 15px 15px;margin:0;padding:10px 13px;font-size:13px;line-height:1.62}.class-chat-message.is-user p{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.class-chat-message.is-user p{border-color:color-mix(in srgb, var(--primary) 13%, var(--primary-soft))}}.class-chat-message.is-user p{background:var(--primary-soft);color:var(--primary-active);border-radius:15px 5px 15px 15px}.class-chat-action-result{width:fit-content;color:var(--success);background:#eef8f3;border-radius:999px;align-items:center;gap:5px;padding:6px 9px;font-size:11px;font-weight:680;line-height:1.2;display:inline-flex}.class-chat-message.is-loading{align-items:center}.class-chat-typing{border:1px solid var(--border);background:var(--surface);border-radius:5px 15px 15px;align-items:center;gap:4px;min-height:34px;padding:0 13px;display:inline-flex}.class-chat-typing i{background:var(--primary);border-radius:50%;width:5px;height:5px;animation:.9s ease-in-out infinite alternate class-chat-typing}.class-chat-typing i:nth-child(2){animation-delay:.12s}.class-chat-typing i:nth-child(3){animation-delay:.24s}@keyframes class-chat-typing{0%{opacity:.35;transform:translateY(1px)}to{opacity:1;transform:translateY(-1px)}}.class-chat-form{border:1px solid var(--primary);grid-template-columns:auto minmax(0,1fr) auto;align-items:end;gap:10px;min-width:0;padding:10px 10px 10px 14px;display:grid}@supports (color:color-mix(in lab, red, red)){.class-chat-form{border:1px solid color-mix(in srgb, var(--primary) 16%, var(--border))}}.class-chat-form{background:var(--surface);border-radius:18px}@supports (color:color-mix(in lab, red, red)){.class-chat-form{background:color-mix(in srgb, var(--surface) 97%, var(--primary-soft))}}.class-chat-form{transition:border-color var(--duration-instant) var(--ease-standard), background-color var(--duration-instant) var(--ease-standard), box-shadow var(--duration-instant) var(--ease-standard);box-shadow:0 9px 28px #2e274312}.class-chatbot.is-expanded .class-chat-form{background:var(--surface-secondary);box-shadow:none;margin-top:16px}.class-chat-form:focus-within{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.class-chat-form:focus-within{border-color:color-mix(in srgb, var(--primary) 52%, var(--border))}}.class-chat-form:focus-within{background:var(--surface);box-shadow:0 0 0 4px var(--focus-ring)}.class-chat-form-icon{width:34px;height:34px;color:var(--primary-hover)}.class-chat-form textarea{width:100%;min-height:34px;max-height:96px;box-shadow:none;color:var(--text-primary);letter-spacing:-.018em;resize:none;background:0 0;border:0;outline:0;padding:6px 0 5px;font-size:14px;line-height:1.55;overflow-y:auto}.class-chat-form textarea::placeholder{color:var(--text-disabled)}.class-chat-form textarea:disabled{opacity:.72}.class-chat-form button{background:var(--primary);color:#fff;cursor:pointer;width:38px;height:38px;transition:transform var(--duration-instant) var(--ease-standard), background-color var(--duration-instant) var(--ease-standard), opacity var(--duration-instant) var(--ease-standard);border:0;border-radius:13px;justify-content:center;align-items:center;display:inline-flex}.class-chat-form button:not(:disabled):active{transform:scale(.98)}.class-chat-form button:disabled{background:var(--border-strong);color:var(--text-disabled);cursor:default}.class-chat-disclosure{color:var(--text-disabled);letter-spacing:-.01em;margin:8px 4px 0;font-size:10px;line-height:1.45}@media (any-hover:hover){.class-chat-form button:not(:disabled):hover{background:var(--primary-hover)}}@media (min-width:760px){.class-chatbot.is-expanded{padding:22px}.class-chat-header{padding-bottom:18px}.class-chat-messages{gap:15px;padding-top:22px}.class-chat-message p{padding:11px 14px;font-size:14px}}.schedule-page{max-width:1080px}.schedule-workspace{--calendar-grid-min-height:340px;--calendar-grid-ideal-height:calc(100dvh - 300px);--calendar-grid-max-height:528px;width:100%}.schedule-workspace.is-admin{--calendar-grid-min-height:320px;--calendar-grid-ideal-height:calc(100dvh - 340px)}.schedule-admin-header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:30px;display:flex}.schedule-admin-header h1,.schedule-admin-header p{margin:0}.schedule-admin-header h1{letter-spacing:-.038em;font-size:26px;font-weight:700;line-height:1.3}.schedule-admin-header p{color:var(--text-secondary);margin-top:8px;font-size:15px;line-height:1.55}.schedule-add-button,.calendar-today-button,.schedule-day-header button,.schedule-load-error button,.schedule-primary-button,.schedule-secondary-button,.schedule-detail-actions button,.schedule-delete-confirm button{border-radius:var(--radius-small);min-height:42px;font:inherit;cursor:pointer;transition:background-color var(--duration-instant) var(--ease-standard), color var(--duration-instant) var(--ease-standard), border-color var(--duration-instant) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);touch-action:manipulation;border:0;justify-content:center;align-items:center;gap:7px;font-size:14px;font-weight:600;display:inline-flex}.schedule-add-button,.schedule-primary-button{background:var(--primary);color:#fff;padding:0 16px}.schedule-add-button:active,.calendar-today-button:active,.schedule-day-header button:active,.schedule-load-error button:active,.schedule-primary-button:active,.schedule-secondary-button:active,.schedule-detail-actions button:active,.schedule-delete-confirm button:active,.schedule-panel-close:active{transform:scale(.98)}.schedule-layout{gap:16px;display:grid}.schedule-calendar-column{min-width:0}.calendar-section{width:100%}.calendar-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.calendar-header{align-items:center;gap:6px;display:flex}.calendar-header h2{letter-spacing:-.028em;text-align:center;min-width:128px;margin:0;font-size:20px;font-weight:700;line-height:1.4}.calendar-header h2>span{display:block}.calendar-month-button{width:36px;height:36px;color:var(--text-secondary);cursor:pointer;transition:background-color var(--duration-instant) var(--ease-standard), color var(--duration-instant) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);touch-action:manipulation;background:0 0;border:0;border-radius:10px;flex:none;justify-content:center;align-items:center;display:inline-flex}.calendar-month-button:active{transform:scale(.96)}.calendar-month-button:focus-visible{outline:3px solid var(--primary)}@supports (color:color-mix(in lab, red, red)){.calendar-month-button:focus-visible{outline:3px solid color-mix(in srgb, var(--primary) 28%, transparent)}}.calendar-month-button:focus-visible{outline-offset:2px}.calendar-today-button{border:1px solid var(--border);background:var(--surface);min-height:36px;color:var(--text-secondary);padding:0 12px;font-size:13px}.calendar-surface{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);width:100%;overflow:hidden;box-shadow:0 8px 28px #2e27430a}.calendar-weekdays{border-bottom:1px solid var(--border);background:var(--surface);grid-template-columns:repeat(7,minmax(0,1fr));height:46px;display:grid}.calendar-weekday{min-width:0;color:var(--text-tertiary);justify-content:center;align-items:center;font-size:12px;font-weight:600;line-height:1;display:flex}.calendar-weekday.weekday-0{color:var(--calendar-sunday)}@supports (color:color-mix(in lab, red, red)){.calendar-weekday.weekday-0{color:color-mix(in srgb, var(--calendar-sunday) 76%, var(--text-tertiary))}}.calendar-weekday.weekday-6{color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.calendar-weekday.weekday-6{color:color-mix(in srgb, var(--primary) 70%, var(--text-tertiary))}}.calendar-grid-viewport{height:clamp(var(--calendar-grid-min-height), var(--calendar-grid-ideal-height), var(--calendar-grid-max-height));position:relative;overflow:hidden}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(var(--calendar-row-count,6), minmax(0, 1fr));width:100%;height:100%;display:grid}.calendar-day{border-bottom:1px solid var(--border);background:var(--surface);min-width:0;min-height:0;transition:background-color var(--duration-standard) var(--ease-standard), box-shadow var(--duration-standard) var(--ease-standard);padding:8px 3px;position:relative}.calendar-day:nth-last-child(-n+7){border-bottom:0}.calendar-day.is-outside-month{background:var(--surface)}.calendar-day.is-selected{z-index:1;background:var(--surface);box-shadow:none}.calendar-day.is-selected .calendar-day-number{color:var(--calendar-today-blue);box-shadow:inset 0 0 0 1.5px var(--calendar-today-blue);background:0 0;font-weight:700}.calendar-day.is-selected.weekday-0:not(.is-outside-month) .calendar-day-number,.calendar-day.is-selected.is-public-holiday:not(.is-outside-month) .calendar-day-number{color:var(--calendar-sunday);box-shadow:inset 0 0 0 1.5px var(--calendar-sunday);background:0 0}.calendar-day-hitarea{z-index:0;cursor:pointer;background:0 0;border:0;width:100%;position:absolute;inset:0}.calendar-day-hitarea:focus-visible{outline:3px solid var(--primary)}@supports (color:color-mix(in lab, red, red)){.calendar-day-hitarea:focus-visible{outline:3px solid color-mix(in srgb, var(--primary) 32%, transparent)}}.calendar-day-hitarea:focus-visible{outline-offset:-3px}.calendar-day-number{z-index:1;width:25px;height:25px;color:var(--text-primary);font-variant-numeric:tabular-nums;pointer-events:none;border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:550;line-height:1;display:inline-flex;position:relative}.calendar-day.weekday-0:not(.is-outside-month) .calendar-day-number{color:var(--calendar-sunday)}.calendar-day.weekday-6:not(.is-outside-month) .calendar-day-number{color:var(--primary)}.calendar-day.is-public-holiday:not(.is-outside-month) .calendar-day-number{color:var(--calendar-sunday);font-weight:650}.calendar-day.is-outside-month .calendar-day-number{color:var(--text-disabled)}.calendar-day.is-today .calendar-day-number{background:var(--calendar-today-blue-soft);color:var(--calendar-today-blue);box-shadow:inset 0 0 0 1px var(--calendar-today-blue-border);font-weight:700}.calendar-day.is-today.weekday-0:not(.is-outside-month) .calendar-day-number,.calendar-day.is-today.is-public-holiday:not(.is-outside-month) .calendar-day-number{background:var(--calendar-sunday-soft);color:var(--calendar-sunday);box-shadow:inset 0 0 0 1px var(--calendar-sunday-border)}.calendar-day-events{z-index:2;flex-direction:column;gap:4px;min-width:0;margin-top:5px;display:flex;position:relative}.calendar-event-chip{--calendar-event-join:4px;--calendar-event-join-both:8px;background:var(--primary-soft);width:100%;min-width:0;min-height:20px;color:var(--primary-hover);cursor:pointer;letter-spacing:-.018em;text-align:left;border:0;border-radius:5px;align-items:center;padding:3px;font-size:10px;font-weight:600;line-height:1.25;display:flex;position:relative;overflow:hidden}.calendar-event-chip.is-multiday{z-index:1;border-radius:0}.calendar-event-chip.is-multiday:not(.is-segment-start){width:calc(100% + var(--calendar-event-join));margin-left:calc(var(--calendar-event-join) * -1)}.calendar-event-chip.is-multiday:not(.is-segment-end){width:calc(100% + var(--calendar-event-join));margin-right:calc(var(--calendar-event-join) * -1)}.calendar-event-chip.is-multiday:not(.is-segment-start):not(.is-segment-end){width:calc(100% + var(--calendar-event-join-both))}.calendar-event-chip.is-multiday.is-segment-start{border-radius:5px 0 0 5px}.calendar-event-chip.is-multiday.is-segment-end{border-radius:0 5px 5px 0}.calendar-event-chip.is-multiday.is-segment-start.is-segment-end{border-radius:5px}.calendar-event-chip:nth-child(n+3){display:none}.calendar-event-title{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;display:block;overflow:hidden}.calendar-event-chip.is-multiday.is-segment-start .calendar-event-title{display:block}.calendar-event-chip.is-multiday:not(.is-segment-start) .calendar-event-title{display:none}.calendar-event-chip.is-public-holiday-event{background:var(--calendar-sunday-soft);color:var(--calendar-sunday)}.calendar-event-chip.is-public-holiday-event:not(.is-multiday) .calendar-event-title,.calendar-event-chip.is-public-holiday-event.is-segment-start .calendar-event-title{display:inline}.calendar-event-more{color:var(--text-tertiary);padding-left:3px;font-size:10px;font-weight:600;line-height:1.2}.calendar-event-more-desktop,.calendar-event-more-compact{display:none}.category-school{background:var(--category-school-bg);color:var(--category-school-text)}.category-class{background:var(--category-class-bg);color:var(--category-class-text)}.category-exam{background:var(--category-exam-bg);color:var(--category-exam-text)}.category-performance{background:var(--category-performance-bg);color:var(--category-performance-text)}.category-homework{background:var(--category-homework-bg);color:var(--category-homework-text)}.category-timetable{background:var(--category-timetable-bg);color:var(--category-timetable-text)}.category-other{background:var(--category-other-bg);color:var(--category-other-text)}.category-notice{background:var(--category-notice-bg);color:var(--category-notice-text)}.schedule-day-panel{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);backface-visibility:hidden;min-width:0;padding:22px;transform:translateZ(0);box-shadow:0 8px 28px #2e27430a}.schedule-side-column{flex-direction:column;gap:14px;min-width:0;display:flex}.schedule-inline-detail-slot{contain:layout paint;min-width:0}.schedule-inline-detail-motion{backface-visibility:hidden;width:100%;min-width:0}.schedule-inline-detail{border:1px solid var(--primary);overflow:hidden}@supports (color:color-mix(in lab, red, red)){.schedule-inline-detail{border:1px solid color-mix(in srgb, var(--primary) 16%, var(--border))}}.schedule-inline-detail{border-radius:var(--radius-xl);background:radial-gradient(circle at 100% 0%, #7567b814, transparent 34%), var(--surface);box-shadow:var(--shadow-soft)}.schedule-inline-detail>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:14px;padding:20px 20px 17px;display:flex}.schedule-inline-detail>header p,.schedule-inline-detail>header h2{margin:0}.schedule-inline-detail>header p{color:var(--primary);font-size:11px;font-weight:700}.schedule-inline-detail>header h2{letter-spacing:-.025em;margin-top:3px;font-size:18px;font-weight:720;line-height:1.4}.schedule-inline-detail>header button{background:var(--surface-secondary);width:34px;height:34px;color:var(--text-tertiary);cursor:pointer;transition:background-color var(--duration-instant) var(--ease-standard), color var(--duration-instant) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);border:0;border-radius:10px;flex:none;justify-content:center;align-items:center;display:inline-flex}.schedule-inline-detail>header button:active{transform:scale(.98)}.schedule-inline-detail-body{padding:20px}.schedule-inline-detail-actions{padding:14px 20px 18px}.schedule-inline-detail-body dl,.schedule-inline-detail-body dt,.schedule-inline-detail-body dd{margin:0}.schedule-inline-detail-body dl{flex-direction:column;gap:17px;display:flex}.schedule-inline-detail-body dl>div{gap:4px;display:grid}.schedule-inline-detail-body dt{color:var(--text-tertiary);font-size:11px;font-weight:650}.schedule-inline-detail-body dd{color:var(--text-primary);white-space:pre-wrap;word-break:break-word;font-size:14px;line-height:1.55}.schedule-reminder{border:1px solid var(--primary);margin-top:20px;padding:15px}@supports (color:color-mix(in lab, red, red)){.schedule-reminder{border:1px solid color-mix(in srgb, var(--primary) 13%, var(--border))}}.schedule-reminder{background:var(--primary-soft);border-radius:14px}@supports (color:color-mix(in lab, red, red)){.schedule-reminder{background:color-mix(in srgb, var(--primary-soft) 37%, var(--surface))}}.schedule-reminder-heading{align-items:center;gap:10px;display:flex}.schedule-reminder-heading>span{background:var(--surface);width:34px;height:34px;color:var(--primary);border-radius:11px;flex:none;justify-content:center;align-items:center;display:inline-flex}.schedule-reminder-heading>div{flex-direction:column;flex:1;min-width:0;display:flex}.schedule-reminder-heading strong{font-size:13px;font-weight:680}.schedule-reminder-heading small{color:var(--text-tertiary);margin-top:1px;font-size:12px;line-height:1.45}.schedule-reminder-toggle{background:var(--text-disabled);cursor:pointer;width:42px;height:24px;transition:background-color var(--duration-standard) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);border:0;border-radius:999px;flex:none;padding:0;position:relative}.schedule-reminder-toggle>span{width:18px;height:18px;transition:transform var(--duration-standard) var(--ease-standard);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #191f2833}.schedule-reminder-toggle.is-on{background:var(--primary)}.schedule-reminder-toggle.is-on>span{transform:translate(18px)}.schedule-reminder-toggle:active{transform:scale(.98)}.schedule-reminder-toggle:disabled{cursor:not-allowed;opacity:.5}.schedule-reminder-lead{border-top:1px solid var(--primary);justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding-top:13px;display:flex}@supports (color:color-mix(in lab, red, red)){.schedule-reminder-lead{border-top:1px solid color-mix(in srgb, var(--primary) 11%, var(--border))}}.schedule-reminder-lead{color:var(--text-secondary);font-size:12px;font-weight:600}.schedule-reminder-lead select{border:1px solid var(--border);background:var(--surface);min-height:36px;color:var(--text-primary);font:inherit;border-radius:9px;outline:none;padding:0 30px 0 10px;font-size:12px}.schedule-reminder-lead select:disabled{color:var(--text-disabled);cursor:not-allowed}.schedule-reminder-note,.schedule-reminder-message{margin:10px 0 0;font-size:12px;line-height:1.5}.schedule-reminder-note{color:var(--text-tertiary)}.schedule-reminder-message{color:var(--primary-hover);font-weight:600}.schedule-day-header{justify-content:space-between;align-items:flex-start;gap:14px;min-height:48px;display:flex}.schedule-day-header h2,.schedule-day-header p,.schedule-day-empty p{margin:0}.schedule-day-header h2{letter-spacing:-.025em;font-size:18px;font-weight:700;line-height:1.4}.schedule-day-header p{color:var(--text-tertiary);margin-top:4px;font-size:14px;line-height:1.5}.schedule-day-header button{background:var(--primary-soft);min-height:36px;color:var(--primary-hover);flex:none;padding:0 10px;font-size:13px}.schedule-event-list-clip{overflow:hidden}.schedule-event-list{flex-direction:column;gap:8px;margin:18px 0 0;padding:0;list-style:none;display:flex}.schedule-event-list li{min-width:0}.schedule-event-list li>button{background:var(--surface-secondary);width:100%;min-width:0;color:var(--text-primary);cursor:pointer;font:inherit;text-align:left;transition:background-color var(--duration-instant) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);border:0;border-radius:12px;align-items:flex-start;gap:12px;padding:14px;display:flex}.schedule-event-list li>button:active{transform:scale(.99)}.schedule-category-badge{border-radius:7px;flex:none;justify-content:center;align-items:center;min-width:40px;min-height:24px;padding:0 7px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.schedule-event-copy{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.schedule-event-copy strong{letter-spacing:-.018em;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:650;line-height:1.45;overflow:hidden}.schedule-event-copy>span{min-width:0;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;font-size:13px;line-height:1.4;display:flex;overflow:hidden}.schedule-event-copy>span svg{color:var(--text-tertiary);flex:none}.schedule-event-copy small{color:var(--text-tertiary);font-size:12px;line-height:1.45}.schedule-day-empty{background:var(--surface-secondary);text-align:center;border-radius:12px;justify-content:center;align-items:center;min-height:112px;margin-top:12px;display:flex}.schedule-day-empty p{color:var(--text-tertiary);padding:20px;font-size:14px;line-height:1.55}.schedule-load-error{border:1px solid var(--border);border-radius:var(--radius-large);background:var(--surface);text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:280px;padding:28px;display:flex}.schedule-load-error svg{color:var(--text-tertiary)}.schedule-load-error h2,.schedule-load-error p{margin:0}.schedule-load-error h2{margin-top:16px;font-size:18px}.schedule-load-error p{color:var(--text-secondary);margin-top:5px;font-size:14px}.schedule-load-error button{background:var(--primary-soft);color:var(--primary-hover);margin-top:20px;padding:0 14px}.schedule-panel-overlay{z-index:80;background:#191f2861;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.schedule-panel{background:var(--surface);border-radius:22px 22px 0 0;flex-direction:column;width:100%;max-height:min(88vh,760px);display:flex;overflow:hidden;box-shadow:0 -8px 32px #191f281f}.schedule-panel-header{border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 20px 16px;display:flex}.schedule-panel-header p,.schedule-panel-header h2{margin:0}.schedule-panel-header p{color:var(--text-tertiary);font-size:13px;font-weight:600;line-height:1.4}.schedule-panel-header h2{letter-spacing:-.03em;word-break:break-word;margin-top:3px;font-size:21px;font-weight:700;line-height:1.35}.schedule-panel-close{background:var(--surface-secondary);width:40px;height:40px;color:var(--text-secondary);cursor:pointer;transition:transform var(--duration-instant) var(--ease-standard);border:0;border-radius:10px;flex:none;justify-content:center;align-items:center;display:inline-flex}.schedule-editor-form{flex-direction:column;flex:1;min-height:0;display:flex}.schedule-form-body,.schedule-detail-body{overscroll-behavior:contain;padding:20px;overflow-y:auto}.schedule-form-body{flex-direction:column;gap:17px;display:flex}.schedule-field{flex-direction:column;gap:7px;min-width:0;display:flex}.schedule-field>span{color:var(--text-secondary);font-size:13px;font-weight:600;line-height:1.4}.schedule-field>span b{color:var(--danger);font-weight:600}.schedule-field input,.schedule-field select,.schedule-field textarea{border:1px solid var(--border);background:var(--surface-secondary);width:100%;min-width:0;color:var(--text-primary);font:inherit;transition:border-color var(--duration-standard) var(--ease-standard), background-color var(--duration-standard) var(--ease-standard), box-shadow var(--duration-standard) var(--ease-standard);border-radius:10px;outline:none;font-size:15px}.schedule-field input,.schedule-field select{min-height:48px;padding:0 13px}.schedule-field textarea{resize:vertical;min-height:104px;padding:12px 13px;line-height:1.55}.schedule-field input:focus,.schedule-field select:focus,.schedule-field textarea:focus{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.schedule-field input:focus,.schedule-field select:focus,.schedule-field textarea:focus{border-color:color-mix(in srgb, var(--primary) 62%, var(--border))}}.schedule-field input:focus,.schedule-field select:focus,.schedule-field textarea:focus{background:var(--surface);box-shadow:0 0 0 3px var(--primary)}@supports (color:color-mix(in lab, red, red)){.schedule-field input:focus,.schedule-field select:focus,.schedule-field textarea:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 10%, transparent)}}.schedule-custom-input{min-width:0;position:relative}.schedule-custom-trigger{border:1px solid var(--border);background:var(--surface-secondary);width:100%;min-width:0;min-height:48px;color:var(--text-primary);cursor:pointer;font:inherit;text-align:left;transition:border-color var(--duration-standard) var(--ease-standard), background-color var(--duration-standard) var(--ease-standard), box-shadow var(--duration-standard) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);border-radius:12px;outline:none;justify-content:space-between;align-items:center;gap:12px;padding:0 13px;font-size:15px;display:flex}.schedule-custom-trigger>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.schedule-custom-trigger>svg{color:var(--text-secondary);transition:transform var(--duration-standard) var(--ease-standard);flex:none}.schedule-custom-input[data-schedule-popover-open=true] .schedule-custom-trigger{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.schedule-custom-input[data-schedule-popover-open=true] .schedule-custom-trigger{border-color:color-mix(in srgb, var(--primary) 62%, var(--border))}}.schedule-custom-input[data-schedule-popover-open=true] .schedule-custom-trigger{background:var(--surface);box-shadow:0 0 0 3px var(--primary)}@supports (color:color-mix(in lab, red, red)){.schedule-custom-input[data-schedule-popover-open=true] .schedule-custom-trigger{box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 10%, transparent)}}.schedule-custom-input[data-schedule-popover-open=true] .schedule-custom-chevron{transform:rotate(180deg)}.schedule-custom-trigger.is-placeholder{color:var(--text-tertiary)}.schedule-custom-trigger:disabled{cursor:default;opacity:.55;transform:none}.schedule-custom-trigger:active{transform:scale(.985)}.schedule-custom-trigger:focus-visible,.schedule-floating-popover button:focus-visible{outline:3px solid var(--primary)}@supports (color:color-mix(in lab, red, red)){.schedule-custom-trigger:focus-visible,.schedule-floating-popover button:focus-visible{outline:3px solid color-mix(in srgb, var(--primary) 28%, transparent)}}.schedule-custom-trigger:focus-visible,.schedule-floating-popover button:focus-visible{outline-offset:2px}.schedule-floating-popover{z-index:120;border:1px solid var(--border);padding:8px;position:fixed;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.schedule-floating-popover{border:1px solid color-mix(in srgb, var(--border) 88%, transparent)}}.schedule-floating-popover{background:var(--surface);border-radius:18px}@supports (color:color-mix(in lab, red, red)){.schedule-floating-popover{background:color-mix(in srgb, var(--surface) 98%, transparent)}}.schedule-floating-popover{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transform-origin:top;box-shadow:0 18px 48px #191f2824,0 3px 10px #191f2812}.schedule-select-options{overscroll-behavior:contain;scrollbar-width:none;gap:3px;max-height:284px;display:grid;overflow-y:auto}.schedule-select-options::-webkit-scrollbar{display:none}.schedule-select-options button{width:100%;min-height:43px;color:var(--text-secondary);cursor:pointer;font:inherit;text-align:left;transition:background-color var(--duration-instant) var(--ease-standard), color var(--duration-instant) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);background:0 0;border:0;border-radius:11px;justify-content:space-between;align-items:center;gap:12px;padding:0 12px;font-size:14px;font-weight:550;display:flex}.schedule-select-options button.is-selected{background:var(--primary-soft);color:var(--primary-hover);font-weight:650}.schedule-select-options button:active,.schedule-date-popover button:active,.schedule-time-popover button:active{transform:scale(.97)}.schedule-date-popover{padding:12px}.schedule-date-popover-header{grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;gap:4px;height:40px;display:grid}.schedule-date-popover-header strong{letter-spacing:-.025em;text-align:center;font-size:15px;font-weight:680}.schedule-date-popover-header button,.schedule-time-popover-footer button{cursor:pointer;font:inherit;transition:background-color var(--duration-instant) var(--ease-standard), color var(--duration-instant) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);border:0;justify-content:center;align-items:center;display:inline-flex}.schedule-date-popover-header button{width:38px;height:38px;color:var(--text-secondary);background:0 0;border-radius:12px}.schedule-date-weekdays,.schedule-date-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.schedule-date-weekdays{margin-top:8px}.schedule-date-weekdays span{height:30px;color:var(--text-tertiary);justify-content:center;align-items:center;font-size:11px;font-weight:600;display:flex}.schedule-date-weekdays span:first-child{color:var(--calendar-sunday)}.schedule-date-grid{gap:2px}.schedule-date-grid button{aspect-ratio:1;min-width:0;color:var(--text-primary);cursor:pointer;font:inherit;font-variant-numeric:tabular-nums;transition:background-color var(--duration-instant) var(--ease-standard), color var(--duration-instant) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);background:0 0;border:0;border-radius:11px;justify-content:center;align-items:center;font-size:12px;font-weight:550;display:flex;position:relative}.schedule-date-grid button:nth-child(7n+1):not(.is-selected){color:var(--calendar-sunday)}.schedule-date-grid button.is-outside:not(.is-selected),.schedule-date-grid button.is-disabled{color:var(--text-disabled)}@supports (color:color-mix(in lab, red, red)){.schedule-date-grid button.is-disabled{color:color-mix(in srgb, var(--text-disabled) 62%, transparent)}}.schedule-date-grid button.is-disabled{cursor:default;opacity:.6;transform:none}.schedule-date-grid button.is-today:not(.is-selected):after{background:var(--primary);content:"";border-radius:50%;width:3px;height:3px;position:absolute;bottom:4px}.schedule-date-grid button.is-selected{background:var(--primary);color:var(--surface);font-weight:680}.schedule-time-popover{padding:12px}.schedule-time-popover-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding-bottom:12px;display:flex}.schedule-time-popover-header>strong{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:14px;font-weight:680}.schedule-time-period{background:var(--background);border-radius:11px;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;width:126px;padding:3px;display:grid}.schedule-time-period button,.schedule-time-choice-columns button{cursor:pointer;font:inherit;transition:background-color var(--duration-instant) var(--ease-standard), color var(--duration-instant) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);border:0}.schedule-time-period button{min-height:34px;color:var(--text-tertiary);background:0 0;border-radius:8px;font-size:12px;font-weight:600;position:relative}.schedule-time-period button.is-selected{color:var(--primary-hover)}.schedule-time-period-indicator{z-index:0;border:1px solid var(--primary);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.schedule-time-period-indicator{border:1px solid color-mix(in srgb, var(--primary) 10%, var(--border))}}.schedule-time-period-indicator{background:var(--primary-soft);border-radius:8px;box-shadow:0 1px 3px #2e27430d}.schedule-time-period button>span:last-child{z-index:1;position:relative}.schedule-time-choice-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:14px 0;display:grid}.schedule-time-choice-columns section>span{color:var(--text-tertiary);margin-bottom:7px;font-size:11px;font-weight:600;display:block}.schedule-time-choice-columns section>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid}.schedule-time-choice-columns button{background:var(--surface-secondary);min-width:0;min-height:34px;color:var(--text-secondary);font-variant-numeric:tabular-nums;border-radius:9px;font-size:12px;font-weight:550}.schedule-time-choice-columns button.is-selected{background:var(--primary-soft);color:var(--primary-hover);font-weight:680}.schedule-time-popover-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding-top:12px;display:flex}.schedule-time-popover-footer button{background:var(--surface-secondary);min-height:38px;color:var(--text-secondary);border-radius:10px;padding:0 13px;font-size:12px;font-weight:650}.schedule-time-popover-footer button.is-primary{background:var(--primary);color:var(--surface)}.schedule-date-fields{grid-template-columns:minmax(0,1fr);gap:14px;display:grid}.schedule-time-mode{border:0;min-width:0;margin:0;padding:0}.schedule-time-mode legend{color:var(--text-secondary);margin-bottom:7px;font-size:13px;font-weight:600}.schedule-time-mode>div{background:var(--surface-secondary);border-radius:11px;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:3px;display:grid}.schedule-time-mode button{min-height:40px;color:var(--text-tertiary);cursor:pointer;font:inherit;transition:background-color var(--duration-standard) var(--ease-standard), color var(--duration-standard) var(--ease-standard), box-shadow var(--duration-standard) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);background:0 0;border:0;border-radius:8px;font-size:13px;font-weight:650;position:relative}.schedule-time-mode button.is-selected{color:var(--primary-hover)}.schedule-time-mode-indicator{z-index:0;border:1px solid var(--primary);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.schedule-time-mode-indicator{border:1px solid color-mix(in srgb, var(--primary) 11%, var(--border))}}.schedule-time-mode-indicator{background:var(--primary-soft);border-radius:8px;box-shadow:0 1px 4px #2e27430f}.schedule-time-mode-label{z-index:1;position:relative}.schedule-time-mode button:active{transform:scale(.98)}.schedule-time-mode>small{color:var(--text-tertiary);margin-top:6px;font-size:11px;line-height:1.45;display:block}.schedule-form-error{background:var(--danger);border-radius:10px;padding:12px 13px}@supports (color:color-mix(in lab, red, red)){.schedule-form-error{background:color-mix(in srgb, var(--danger) 9%, var(--surface))}}.schedule-form-error{color:var(--danger);font-size:13px;line-height:1.5}.schedule-form-footer,.schedule-detail-actions{padding:14px 20px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface);flex:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.schedule-primary-button,.schedule-secondary-button{min-height:50px}.schedule-secondary-button{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary)}.schedule-primary-button:disabled,.schedule-secondary-button:disabled,.schedule-panel-close:disabled,.schedule-delete-confirm button:disabled{cursor:not-allowed;opacity:.55;transform:none}.schedule-detail-body{flex:1}.schedule-detail-body dl,.schedule-detail-body dt,.schedule-detail-body dd{margin:0}.schedule-detail-body dl{flex-direction:column;gap:20px;display:flex}.schedule-detail-body dl>div{gap:5px;display:grid}.schedule-detail-body dt{color:var(--text-tertiary);font-size:12px;font-weight:600}.schedule-detail-body dd{color:var(--text-primary);font-size:15px;line-height:1.55}.schedule-description{white-space:pre-wrap;word-break:break-word}.schedule-official-source{background:var(--surface-secondary);border-radius:12px;justify-content:space-between;align-items:center;gap:14px;margin-top:28px;padding:14px;display:flex}.schedule-official-source strong,.schedule-official-source span{display:block}.schedule-official-source strong{font-size:13px;font-weight:650}.schedule-official-source span{color:var(--text-tertiary);margin-top:3px;font-size:11px;line-height:1.45}.schedule-official-source a{color:var(--primary-hover);flex:none;align-items:center;gap:4px;font-size:12px;font-weight:650;display:inline-flex}.schedule-detail-actions button{border:1px solid var(--border);background:var(--surface);min-height:48px;color:var(--text-secondary)}.schedule-detail-actions button.is-danger{border-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.schedule-detail-actions button.is-danger{border-color:color-mix(in srgb, var(--danger) 18%, var(--border))}}.schedule-detail-actions button.is-danger{color:var(--danger)}.schedule-delete-confirm{background:var(--danger);border-radius:12px;margin-top:26px;padding:16px}@supports (color:color-mix(in lab, red, red)){.schedule-delete-confirm{background:color-mix(in srgb, var(--danger) 7%, var(--surface))}}.schedule-delete-confirm-clip{overflow:hidden}.schedule-delete-confirm strong,.schedule-delete-confirm p{margin:0}.schedule-delete-confirm strong{font-size:15px}.schedule-delete-confirm p{color:var(--text-secondary);margin-top:4px;font-size:13px}.schedule-delete-confirm>span{color:var(--danger);margin-top:10px;font-size:13px;display:block}.schedule-delete-confirm>div{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.schedule-delete-confirm button{background:var(--surface);min-height:38px;color:var(--text-secondary);padding:0 13px}.schedule-delete-confirm button.is-danger{background:var(--danger);color:#fff}.schedule-feedback{z-index:100;right:20px;bottom:calc(var(--bottom-navigation-height) + 18px + env(safe-area-inset-bottom));color:#fff;text-align:center;background:#2f3844;border-radius:12px;max-width:360px;margin:0 auto;padding:13px 16px;font-size:14px;font-weight:600;position:fixed;left:20px;box-shadow:0 8px 24px #191f2829}.schedule-loading{gap:16px;display:grid}.schedule-loading-header,.schedule-loading-toolbar,.schedule-loading-calendar,.schedule-loading-list{border-radius:var(--radius-medium);background:var(--border);animation:1.4s ease-in-out infinite admin-skeleton-pulse}.schedule-loading-header{width:min(320px,80%);height:70px}.schedule-loading-toolbar{width:220px;height:38px;margin:0 auto}.schedule-loading-calendar{border-radius:var(--radius-large);height:480px}.schedule-loading-list{border-radius:var(--radius-large);height:150px}.primary-link{border-radius:var(--radius-small);background:var(--primary);min-height:48px;color:var(--surface);letter-spacing:-.012em;transition:background-color var(--duration-instant) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);touch-action:manipulation;justify-content:center;align-items:center;gap:7px;padding:0 18px;font-size:15px;font-weight:600;line-height:1;display:inline-flex}.primary-link:active{transform:scale(.98)}.primary-link:focus-visible,.navigation-link:focus-visible,.google-login-button:focus-visible,.secondary-button:focus-visible,.admin-mobile-bar a:focus-visible,.admin-menu-link:focus-visible,.admin-student-link:focus-visible,.admin-access-card a:focus-visible,.admin-error-state button:focus-visible{outline:3px solid var(--primary)}@supports (color:color-mix(in lab, red, red)){.primary-link:focus-visible,.navigation-link:focus-visible,.google-login-button:focus-visible,.secondary-button:focus-visible,.admin-mobile-bar a:focus-visible,.admin-menu-link:focus-visible,.admin-student-link:focus-visible,.admin-access-card a:focus-visible,.admin-error-state button:focus-visible{outline:3px solid color-mix(in srgb, var(--primary) 28%, transparent)}}.primary-link:focus-visible,.navigation-link:focus-visible,.google-login-button:focus-visible,.secondary-button:focus-visible,.admin-mobile-bar a:focus-visible,.admin-menu-link:focus-visible,.admin-student-link:focus-visible,.admin-access-card a:focus-visible,.admin-error-state button:focus-visible{outline-offset:2px}.account-page{isolation:isolate;gap:18px;max-width:680px;display:grid;position:relative}.account-page:before{content:"";z-index:-1;pointer-events:none;width:340px;height:340px;animation:ambient-lavender-drift 26s var(--ease-standard) infinite alternate-reverse;background:radial-gradient(circle,#7567b817,#0000 68%);border-radius:50%;position:absolute;top:-72px;right:-100px}.account-card{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);width:100%;min-width:0;box-shadow:var(--shadow-soft);padding:28px}.pwa-install-card{border:1px solid var(--primary);width:100%;min-width:0;padding:22px 20px;display:none}@supports (color:color-mix(in lab, red, red)){.pwa-install-card{border:1px solid color-mix(in srgb, var(--primary) 12%, var(--border))}}.pwa-install-card{border-radius:var(--radius-xl);background:linear-gradient(145deg, var(--primary-soft), var(--surface) 62%)}@supports (color:color-mix(in lab, red, red)){.pwa-install-card{background:linear-gradient(145deg, color-mix(in srgb, var(--primary-soft) 42%, var(--surface)), var(--surface) 62%)}}.pwa-install-card{box-shadow:var(--shadow-soft)}.pwa-install-heading{align-items:flex-start;gap:13px;display:flex}.pwa-install-icon{background:var(--primary-soft);width:42px;height:42px;color:var(--primary-hover);border-radius:14px;flex:none;place-items:center;display:inline-grid}.pwa-install-heading>div{min-width:0}.pwa-install-heading h2,.pwa-install-heading p,.pwa-install-guide p{margin:0}.pwa-install-heading h2{color:var(--text-primary);letter-spacing:-.025em;word-break:keep-all;font-size:17px;font-weight:700;line-height:1.45}.pwa-install-heading p{color:var(--text-secondary);letter-spacing:-.01em;word-break:keep-all;margin-top:4px;font-size:13px;line-height:1.55}.pwa-install-button{border-radius:var(--radius-small);background:var(--primary);color:#fff;cursor:pointer;width:100%;min-height:48px;font:inherit;letter-spacing:-.012em;transition:background-color var(--duration-instant) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);border:0;justify-content:center;align-items:center;gap:8px;margin-top:18px;padding:0 16px;font-size:15px;font-weight:680;display:inline-flex}.pwa-install-button:active{transform:scale(.98)}.pwa-install-guide{border-radius:var(--radius-small);background:var(--primary-soft);align-items:flex-start;gap:10px;margin-top:12px;padding:13px 14px;display:flex}@supports (color:color-mix(in lab, red, red)){.pwa-install-guide{background:color-mix(in srgb, var(--primary-soft) 68%, var(--surface))}}.pwa-install-guide{color:var(--primary-hover);animation:login-error-enter var(--duration-standard) var(--ease-standard)}.pwa-install-guide svg{flex:none;margin-top:1px}.pwa-install-guide p{color:var(--text-secondary);word-break:keep-all;font-size:13px;line-height:1.55}@media (max-width:767px){.pwa-install-card{display:block}}@media (hover:hover) and (pointer:fine){.pwa-install-button:hover{background:var(--primary-hover)}}.account-heading{align-items:center;gap:14px;display:flex}.account-identity-mark{background:linear-gradient(145deg, var(--primary), var(--primary-active));color:#fff;border-radius:16px;flex:none;place-items:center;width:48px;height:48px;font-size:20px;font-weight:800;display:inline-grid;box-shadow:0 9px 24px #5c4f9930}.account-heading .account-copy{min-width:0}.account-copy h1,.account-copy p,.login-domain-notice,.login-error p,.auth-setup-notice{margin:0}.account-copy h1{letter-spacing:-.025em;text-wrap:balance;word-break:keep-all;font-size:20px;font-weight:600;line-height:1.4}.account-copy p{color:var(--text-secondary);letter-spacing:-.012em;overflow-wrap:anywhere;word-break:keep-all;margin-top:8px;font-size:15px;line-height:1.6}.account-notice{border-radius:var(--radius-small);background:var(--primary-soft);margin-top:24px;padding:16px}.account-notice strong{color:var(--primary-hover);font-size:15px;font-weight:600;line-height:1.5;display:block}.account-notice p{color:var(--text-secondary);margin:4px 0 0;font-size:14px;line-height:1.55}.account-admin-link{border:1px solid var(--primary);align-items:center;min-height:38px;margin-top:12px;padding:0 12px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.account-admin-link{border:1px solid color-mix(in srgb, var(--primary) 15%, var(--border))}}.account-admin-link{border-radius:var(--radius-sm);background:var(--surface);color:var(--primary-hover);transition:background-color var(--duration-instant) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);font-size:13px;font-weight:680}.account-admin-link:active{transform:scale(.98)}.login-error{border-radius:var(--radius-small);background:var(--danger);margin-top:24px;padding:16px}@supports (color:color-mix(in lab, red, red)){.login-error{background:color-mix(in srgb, var(--danger) 8%, var(--surface))}}.login-error{animation:login-error-enter var(--duration-standard) var(--ease-standard)}.login-error strong{color:var(--danger);letter-spacing:-.012em;font-size:15px;font-weight:600;line-height:1.5;display:block}.login-error p{color:var(--text-secondary);word-break:keep-all;margin-top:4px;font-size:14px;line-height:1.55}.account-card form,.firebase-auth-actions{margin-top:28px}.google-login-button,.secondary-button{border:1px solid var(--border);border-radius:var(--radius-small);background:var(--surface);width:100%;min-height:52px;color:var(--text-primary);cursor:pointer;font:inherit;letter-spacing:-.012em;transition:background-color var(--duration-instant) var(--ease-standard), border-color var(--duration-instant) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);justify-content:center;align-items:center;gap:10px;padding:0 18px;font-size:15px;font-weight:600;display:flex}.google-login-button:active,.secondary-button:active{transform:scale(.98)}.google-login-button:disabled,.secondary-button:disabled{border-color:var(--border);background:var(--surface-secondary);color:var(--text-disabled);cursor:not-allowed;transform:none}.auth-button-spinner{border:2px solid;flex:none;width:16px;height:16px}@supports (color:color-mix(in lab, red, red)){.auth-button-spinner{border:2px solid color-mix(in srgb, currentColor 23%, transparent)}}.auth-button-spinner{border-top-color:currentColor;border-radius:50%;animation:.75s linear infinite thursday-activity-spin}.secondary-button{width:auto;min-height:48px;padding:0 18px}.auth-setup-notice{color:var(--text-secondary);letter-spacing:-.01em;text-align:center;margin-top:12px;font-size:14px;line-height:1.55}.login-domain-notice{color:var(--text-tertiary);letter-spacing:-.008em;text-align:center;margin-top:16px;font-size:13px;line-height:1.5}.admin-shell{background:var(--background);min-height:100vh}.admin-sidebar{display:none}.admin-mobile-bar{z-index:20;min-height:calc(70px + env(safe-area-inset-top));padding:max(10px, env(safe-area-inset-top)) var(--mobile-gutter) 10px;border-bottom:1px solid var(--border);background:var(--background);justify-content:space-between;align-items:center;gap:20px;display:flex;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.admin-mobile-bar{background:color-mix(in srgb, var(--background) 94%, transparent)}}.admin-mobile-bar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.admin-mobile-navigation{z-index:19;top:calc(70px + env(safe-area-inset-top));padding:6px max(8px, calc(var(--mobile-gutter) - 8px));border-bottom:1px solid var(--border);grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;display:grid;position:sticky}@supports (color:color-mix(in lab, red, red)){.admin-mobile-navigation{border-bottom:1px solid color-mix(in srgb, var(--border) 88%, transparent)}}.admin-mobile-navigation{background:var(--background)}@supports (color:color-mix(in lab, red, red)){.admin-mobile-navigation{background:color-mix(in srgb, var(--background) 95%, transparent)}}.admin-mobile-navigation{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.admin-mobile-navigation-link{border-radius:var(--radius-md);min-width:0;min-height:50px;color:var(--text-tertiary);transition:color var(--duration-navigation) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);touch-action:manipulation;justify-content:center;align-items:center;display:flex;position:relative}.admin-mobile-navigation-link:active{transform:scale(.98)}.admin-mobile-navigation-link>span:not(.admin-mobile-navigation-indicator){z-index:1;flex-direction:column;align-items:center;gap:2px;min-width:0;display:flex;position:relative}.admin-mobile-navigation-link small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:10px;font-weight:650;line-height:1.25;overflow:hidden}.admin-mobile-navigation-link svg{transition:transform var(--duration-navigation) var(--ease-standard)}.admin-mobile-navigation-link.is-active{color:var(--primary-hover)}.admin-mobile-navigation-link.is-active svg{transform:translateY(-1px)scale(1.035)}.admin-mobile-navigation-indicator{border-radius:var(--radius-md);background:var(--primary-soft);position:absolute;inset:3px}.admin-mobile-bar p,.admin-mobile-bar h1{margin:0}.admin-mobile-bar p{color:var(--text-tertiary);font-size:13px;font-weight:500;line-height:1.3}.admin-mobile-bar h1{letter-spacing:-.02em;margin-top:2px;font-size:18px;font-weight:650;line-height:1.35}.admin-mobile-bar a{border-radius:var(--radius-small);min-height:44px;color:var(--text-secondary);transition:background-color var(--duration-instant) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);align-items:center;padding:0 12px;font-size:14px;font-weight:500;display:inline-flex}.admin-content-column{flex-direction:column;min-width:0;min-height:100vh;display:flex}.admin-page-transition{flex:1}.admin-site-copyright{max-width:1000px;padding-bottom:30px}.admin-main{width:100%;max-width:1000px;padding:38px var(--mobile-gutter) 72px;margin:0 auto}.admin-page-transition{min-width:0}.admin-dashboard-main{isolation:isolate;position:relative}.admin-dashboard-main:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle,#7567b814,#0000 70%);border-radius:50%;width:420px;height:340px;position:absolute;top:-110px;right:-80px}.admin-page-header h1,.admin-page-header p{margin:0}.admin-page-header h1{letter-spacing:-.038em;font-size:26px;font-weight:700;line-height:1.3}.admin-page-header p{color:var(--text-secondary);margin-top:8px;font-size:15px;line-height:1.6}.admin-dashboard-sections{gap:20px;margin-top:34px;display:grid}.admin-ai-assistant{border:1px solid var(--primary);padding:24px;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.admin-ai-assistant{border:1px solid color-mix(in srgb, var(--primary) 18%, var(--border))}}.admin-ai-assistant{border-radius:var(--radius-xl);background:radial-gradient(circle at 92% 8%, #7567b81f, transparent 35%), var(--surface)}@supports (color:color-mix(in lab, red, red)){.admin-ai-assistant{background:radial-gradient(circle at 92% 8%, #7567b81f, transparent 35%), color-mix(in srgb, var(--surface) 96%, var(--primary-soft))}}.admin-ai-assistant{box-shadow:0 12px 32px #2e27430f}.admin-ai-header{align-items:center;gap:12px;display:flex}.admin-ai-header>span{background:linear-gradient(145deg, var(--primary), var(--primary-hover));color:#fff;border-radius:14px;flex:none;place-items:center;width:42px;height:42px;display:inline-grid;box-shadow:0 8px 20px #5b509833}.admin-ai-header h2,.admin-ai-header p,.admin-ai-help,.admin-ai-reply p,.admin-ai-error{margin:0}.admin-ai-header h2{letter-spacing:-.026em;font-size:18px;font-weight:730}.admin-ai-header p{color:var(--text-secondary);margin-top:3px;font-size:13px;line-height:1.5}.admin-ai-form{grid-template-columns:minmax(0,1fr) 44px;align-items:end;gap:9px;margin-top:20px;display:grid}.admin-ai-form label{min-width:0;display:block}.admin-ai-form textarea{resize:vertical;border:1px solid var(--border);background:var(--surface);border-radius:18px;outline:0;width:100%;min-height:58px;max-height:150px;padding:17px 18px;display:block}@supports (color:color-mix(in lab, red, red)){.admin-ai-form textarea{background:color-mix(in srgb, var(--surface) 96%, transparent)}}.admin-ai-form textarea{color:var(--text-primary);font:inherit;transition:border-color var(--duration-instant) var(--ease-standard), background-color var(--duration-instant) var(--ease-standard), box-shadow var(--duration-instant) var(--ease-standard);font-size:14px;line-height:1.55}.admin-ai-form textarea::placeholder{color:var(--text-tertiary)}.admin-ai-form textarea:focus{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.admin-ai-form textarea:focus{border-color:color-mix(in srgb, var(--primary) 55%, var(--border))}}.admin-ai-form textarea:focus{background:var(--surface);box-shadow:0 0 0 3px var(--primary)}@supports (color:color-mix(in lab, red, red)){.admin-ai-form textarea:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 10%, transparent)}}.admin-ai-form>button{background:var(--primary);color:#fff;width:44px;height:44px;transition:background-color var(--duration-instant) var(--ease-standard), opacity var(--duration-instant) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);touch-action:manipulation;border:0;border-radius:15px;place-items:center;display:inline-grid}.admin-ai-form>button:active:not(:disabled),.admin-ai-proposal-actions button:active:not(:disabled),.admin-ai-result>button:active{transform:scale(.98)}.admin-ai-form>button:disabled,.admin-ai-proposal-actions button:disabled{cursor:default;opacity:.45}.admin-ai-help{color:var(--text-tertiary);margin-top:9px;padding-left:3px;font-size:11px;line-height:1.5}.admin-ai-proposal,.admin-ai-reply,.admin-ai-result{border:1px solid var(--primary);margin-top:16px}@supports (color:color-mix(in lab, red, red)){.admin-ai-proposal,.admin-ai-reply,.admin-ai-result{border:1px solid color-mix(in srgb, var(--primary) 14%, var(--border))}}.admin-ai-proposal,.admin-ai-reply,.admin-ai-result{background:var(--surface);border-radius:18px}.admin-ai-proposal{padding:18px}.admin-ai-proposal-title{align-items:center;gap:11px;display:flex}.admin-ai-proposal-title>span,.admin-ai-result>span{background:var(--primary-soft);width:31px;height:31px;color:var(--primary-hover);border-radius:10px;flex:none;place-items:center;display:inline-grid}.admin-ai-proposal-title>div{min-width:0;display:grid}.admin-ai-proposal-title small{color:var(--primary-hover);font-size:11px;font-weight:700}.admin-ai-proposal-title strong{margin-top:2px;font-size:15px;line-height:1.45}.admin-ai-proposal ul{border-top:1px solid var(--border);gap:7px;margin:15px 0 0;padding:14px 0 0;list-style:none;display:grid}.admin-ai-proposal li{color:var(--text-secondary);overflow-wrap:anywhere;padding-left:13px;font-size:13px;line-height:1.55;position:relative}.admin-ai-proposal li:before{content:"";background:var(--primary);border-radius:50%;width:4px;height:4px;position:absolute;top:.65em;left:1px}.admin-ai-proposal-actions{justify-content:flex-end;gap:8px;margin-top:17px;display:flex}.admin-ai-proposal-actions button{border:1px solid var(--border);background:var(--surface-secondary);min-height:40px;color:var(--text-secondary);font:inherit;transition:background-color var(--duration-instant) var(--ease-standard), color var(--duration-instant) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);border-radius:13px;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:650;display:inline-flex}.admin-ai-proposal-actions button.is-primary{background:var(--primary);color:#fff;border-color:#0000}.admin-ai-reply,.admin-ai-result{align-items:flex-start;gap:10px;padding:15px 16px;display:flex}.admin-ai-reply>svg{color:var(--primary);flex:none;margin-top:2px}.admin-ai-reply p{color:var(--text-secondary);white-space:pre-wrap;font-size:13px;line-height:1.6}.admin-ai-result{align-items:center}.admin-ai-result>div{flex:1;gap:3px;min-width:0;display:grid}.admin-ai-result strong{font-size:14px;line-height:1.45}.admin-ai-result a{width:fit-content;color:var(--primary-hover);align-items:center;gap:3px;font-size:12px;font-weight:650;display:inline-flex}.admin-ai-result>button{background:var(--surface-secondary);width:34px;height:34px;color:var(--text-tertiary);transition:transform var(--duration-instant) var(--ease-standard);border:0;border-radius:10px;flex:none;place-items:center;display:inline-grid}.admin-ai-error{color:var(--danger);margin-top:11px;padding:0 3px;font-size:12px;line-height:1.5}.admin-ai-spinner{animation:.75s linear infinite admin-ai-spin}@keyframes admin-ai-spin{to{transform:rotate(360deg)}}.admin-dashboard-actions>header h2,.admin-dashboard-actions>header p{margin:0}.admin-dashboard-actions>header h2{letter-spacing:-.028em;font-size:20px;font-weight:720}.admin-dashboard-actions>header p{color:var(--text-secondary);margin-top:4px;font-size:14px}.admin-dashboard-actions>div{gap:10px;margin-top:18px;display:grid}.admin-dashboard-actions a{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:13px;min-width:0;min-height:82px;padding:16px;display:grid}@supports (color:color-mix(in lab, red, red)){.admin-dashboard-actions a{background:color-mix(in srgb, var(--surface) 97%, var(--primary-soft))}}.admin-dashboard-actions a{transition:border-color var(--duration-instant) var(--ease-standard), background-color var(--duration-instant) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);touch-action:manipulation;box-shadow:0 8px 24px #2e27430a}.admin-dashboard-actions a:active{transform:scale(.985)}.admin-dashboard-action-icon{border-radius:var(--radius-md);background:var(--primary-soft);width:42px;height:42px;color:var(--primary-hover);place-items:center;display:inline-grid}.admin-dashboard-action-copy{min-width:0;display:grid}.admin-dashboard-action-copy strong{font-size:15px;font-weight:700;line-height:1.4}.admin-dashboard-action-copy small{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:12px;line-height:1.4;overflow:hidden}.admin-dashboard-action-arrow{color:var(--text-tertiary);transition:color var(--duration-instant) var(--ease-standard), transform var(--duration-instant) var(--ease-standard)}.admin-section{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);padding:26px;box-shadow:0 8px 26px #2e27430a}.admin-section>h2{letter-spacing:-.025em;margin:0;font-size:18px;font-weight:650;line-height:1.4}.admin-empty-state{border-top:1px solid var(--border);margin-top:20px;padding-top:20px}.admin-empty-state h3,.admin-empty-state p{margin:0}.admin-empty-state h3{font-size:16px;font-weight:600;line-height:1.5}.admin-empty-state p{color:var(--text-secondary);margin-top:5px;font-size:14px;line-height:1.6}.admin-timetable-shortcut{flex-direction:column;justify-content:space-between;align-items:stretch;gap:18px;display:flex}.admin-timetable-shortcut>div{align-items:center;gap:14px;min-width:0;display:flex}.admin-timetable-shortcut>div>span{background:var(--primary-soft);width:44px;height:44px;color:var(--primary);border-radius:13px;flex:none;justify-content:center;align-items:center;display:inline-flex}.admin-timetable-shortcut h2,.admin-timetable-shortcut p{margin:0}.admin-timetable-shortcut h2{letter-spacing:-.025em;font-size:17px;font-weight:680;line-height:1.4}.admin-timetable-shortcut p{color:var(--text-secondary);margin-top:4px;font-size:14px;line-height:1.5}.admin-timetable-shortcut>a{border-radius:var(--radius-small);background:var(--surface-secondary);min-height:40px;color:var(--text-secondary);transition:background-color var(--duration-instant) var(--ease-standard), color var(--duration-instant) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);flex:none;justify-content:center;align-items:center;gap:5px;padding:0 12px;font-size:13px;font-weight:650;display:inline-flex}.admin-timetable-editors{gap:18px;margin-bottom:22px;display:grid}.admin-timetable-view-switch{border-radius:var(--radius-md);background:var(--surface-secondary);grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;margin-bottom:14px;padding:3px;display:grid}.admin-timetable-view-switch button{min-height:42px;color:var(--text-tertiary);cursor:pointer;font:inherit;transition:color var(--duration-navigation) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);background:0 0;border:0;border-radius:11px;font-size:13px;font-weight:680;position:relative}.admin-timetable-view-switch button:active{transform:scale(.98)}.admin-timetable-view-switch button.is-selected{color:var(--primary-hover)}.admin-timetable-view-indicator{z-index:0;border:1px solid var(--primary);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.admin-timetable-view-indicator{border:1px solid color-mix(in srgb, var(--primary) 11%, var(--border))}}.admin-timetable-view-indicator{background:var(--primary-soft);border-radius:11px;box-shadow:0 1px 4px #2e27430f}.admin-timetable-view-switch button>span:last-child{z-index:1;position:relative}.admin-timetable-editor-slot{min-width:0;display:none}.admin-timetable-editor-slot.is-mobile-active{display:block}.admin-timetable-editor{border:1px solid var(--border);border-radius:var(--radius-large);background:var(--surface);overflow:hidden}.admin-timetable-editor-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;padding:20px 22px;display:flex}.admin-timetable-editor-header h2,.admin-timetable-editor-header p{margin:0}.admin-timetable-editor-header h2{letter-spacing:-.025em;margin-top:2px;font-size:20px;font-weight:760}.admin-timetable-editor-header p{color:var(--text-tertiary);font-size:12px;font-weight:600}.admin-timetable-editor-actions{flex:none;align-items:center;gap:7px;display:flex}.admin-timetable-editor-actions button{background:var(--surface-secondary);min-height:38px;color:var(--text-secondary);font:inherit;cursor:pointer;transition:background-color var(--duration-instant) var(--ease-standard), color var(--duration-instant) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);border:0;border-radius:11px;justify-content:center;align-items:center;gap:6px;padding:0 13px;font-size:12px;font-weight:680;display:inline-flex}.admin-timetable-editor-actions button.is-primary{background:var(--primary);color:#fff}.admin-timetable-editor-actions button:disabled{background:var(--surface-secondary);color:var(--text-disabled);cursor:default}.admin-timetable-editor-actions button:not(:disabled):active{transform:scale(.98)}.admin-timetable-editor-spinner{animation:.8s linear infinite thursday-activity-spin}.admin-timetable-grid-wrap{scrollbar-width:none;overflow-x:auto}.admin-timetable-grid-wrap::-webkit-scrollbar{display:none}.admin-timetable-grid{table-layout:fixed;border-collapse:collapse;width:100%;min-width:650px}.admin-timetable-grid th,.admin-timetable-grid td{border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.admin-timetable-grid tr:last-child th,.admin-timetable-grid tr:last-child td{border-bottom:0}.admin-timetable-grid th:last-child,.admin-timetable-grid td:last-child{border-right:0}.admin-timetable-grid thead th{background:var(--surface-secondary);height:54px;color:var(--text-secondary);font-size:13px;font-weight:700}.admin-timetable-grid thead th:first-child,.admin-timetable-grid tbody th{width:54px}.admin-timetable-grid thead strong,.admin-timetable-grid thead span{display:block}.admin-timetable-grid thead span{color:var(--text-tertiary);margin-top:1px;font-size:11px;font-weight:600}.admin-timetable-grid tbody th{background:var(--surface-secondary);color:var(--text-tertiary);text-align:center;font-size:12px;font-weight:650}.admin-timetable-grid td{background:var(--surface);height:100px;padding:5px}.admin-timetable-cell-inputs{gap:2px;display:grid}.admin-timetable-grid input{width:100%;min-width:0;height:32px;color:var(--text-primary);font:inherit;text-align:center;transition:border-color var(--duration-instant) var(--ease-standard), background-color var(--duration-instant) var(--ease-standard);background:0 0;border:1px solid #0000;border-radius:10px;outline:0;padding:0 8px;font-size:13px;font-weight:650}.admin-timetable-grid .admin-timetable-teacher-input{height:24px;color:var(--text-tertiary);font-size:11px;font-weight:550}.admin-timetable-grid .admin-timetable-mobile-subject-input{height:24px;color:var(--primary-hover);font-size:11px;font-weight:600}.admin-timetable-grid .admin-timetable-mobile-subject-input::placeholder{color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.admin-timetable-grid .admin-timetable-mobile-subject-input::placeholder{color:color-mix(in srgb, var(--primary) 42%, var(--text-disabled))}}.admin-timetable-grid .admin-timetable-teacher-input::placeholder{color:var(--text-disabled)}@supports (color:color-mix(in lab, red, red)){.admin-timetable-grid .admin-timetable-teacher-input::placeholder{color:color-mix(in srgb, var(--text-disabled) 78%, transparent)}}.admin-timetable-grid input::placeholder{color:var(--text-disabled)}.admin-timetable-grid input:focus{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.admin-timetable-grid input:focus{border-color:color-mix(in srgb, var(--primary) 42%, var(--border))}}.admin-timetable-grid input:focus{background:var(--primary-soft)}.admin-timetable-grid input:disabled{color:var(--text-tertiary)}.admin-timetable-editor-feedback{z-index:70;right:var(--mobile-gutter);bottom:max(20px, env(safe-area-inset-bottom));left:var(--mobile-gutter);width:min(380px, calc(100% - (var(--mobile-gutter) * 2)));border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-raised);margin:0 0 0 auto;padding:13px 15px;font-size:13px;font-weight:650;position:fixed}.admin-timetable-editor-feedback.is-success{border-color:var(--success)}@supports (color:color-mix(in lab, red, red)){.admin-timetable-editor-feedback.is-success{border-color:color-mix(in srgb, var(--success) 20%, var(--border))}}.admin-timetable-editor-feedback.is-success{color:var(--success)}.admin-timetable-editor-feedback.is-error{border-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.admin-timetable-editor-feedback.is-error{border-color:color-mix(in srgb, var(--danger) 20%, var(--border))}}.admin-timetable-editor-feedback.is-error{color:var(--danger)}.thursday-activity-manager{margin-top:34px}.thursday-activity-summary{border:1px solid var(--border);border-radius:var(--radius-large);background:var(--surface);flex-direction:column;justify-content:space-between;align-items:stretch;gap:18px;padding:24px;display:flex}.thursday-activity-summary p,.thursday-activity-summary h2,.thursday-activity-summary span{margin:0}.thursday-activity-summary p{color:var(--primary);font-size:12px;font-weight:700;line-height:1.4}.thursday-activity-summary h2{letter-spacing:-.034em;margin-top:4px;font-size:22px;font-weight:720;line-height:1.35}.thursday-activity-summary span{color:var(--text-secondary);margin-top:7px;font-size:13px;line-height:1.55;display:block}.thursday-activity-save{background:var(--primary);color:#fff;cursor:pointer;width:100%;min-width:128px;min-height:44px;font:inherit;transition:background-color var(--duration-instant) var(--ease-standard), opacity var(--duration-instant) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);border:0;border-radius:11px;flex:none;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-size:13px;font-weight:680;display:inline-flex}.thursday-activity-save:active,.thursday-activity-bulk button:active,.thursday-activity-options button:active,.admin-timetable-shortcut>a:active{transform:scale(.98)}.thursday-activity-save:disabled{background:var(--border);color:var(--text-disabled);cursor:not-allowed;transform:none}.thursday-activity-spinner{animation:.8s linear infinite thursday-activity-spin}.thursday-activity-feedback{z-index:70;right:var(--mobile-gutter);bottom:max(20px, env(safe-area-inset-bottom));left:var(--mobile-gutter);width:min(360px, calc(100% - (var(--mobile-gutter) * 2)));border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-raised);margin:0 0 0 auto;padding:13px 15px;font-size:13px;font-weight:620;line-height:1.5;position:fixed}.thursday-activity-feedback.is-success{border-color:var(--success)}@supports (color:color-mix(in lab, red, red)){.thursday-activity-feedback.is-success{border-color:color-mix(in srgb, var(--success) 20%, var(--border))}}.thursday-activity-feedback.is-success{color:#087a57}.thursday-activity-feedback.is-error{border-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.thursday-activity-feedback.is-error{border-color:color-mix(in srgb, var(--danger) 20%, var(--border))}}.thursday-activity-feedback.is-error{color:var(--danger)}.thursday-activity-semesters{gap:20px;margin-top:20px;display:grid}.thursday-activity-empty{border:1px solid var(--border);border-radius:var(--radius-large);background:var(--surface);text-align:center;justify-items:center;gap:7px;padding:52px 24px;display:grid}.thursday-activity-empty strong{color:var(--text-primary);font-size:17px;font-weight:700}.thursday-activity-empty span{color:var(--text-secondary);font-size:14px}.thursday-activity-semester{border:1px solid var(--border);border-radius:var(--radius-large);background:var(--surface);overflow:hidden}.thursday-activity-semester>header{background:var(--surface-secondary);flex-direction:column;justify-content:space-between;align-items:stretch;gap:16px;padding:19px 20px;display:flex}.thursday-activity-semester h3,.thursday-activity-semester header p{margin:0}.thursday-activity-semester h3{letter-spacing:-.025em;font-size:17px;font-weight:700;line-height:1.4}.thursday-activity-semester header p{color:var(--text-tertiary);margin-top:2px;font-size:12px;line-height:1.4}.thursday-activity-bulk{gap:6px;display:flex}.thursday-activity-bulk button{border:1px solid var(--border);background:var(--surface);min-height:34px;color:var(--text-secondary);cursor:pointer;font:inherit;transition:background-color var(--duration-instant) var(--ease-standard), color var(--duration-instant) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);border-radius:9px;flex:1 1 0;padding:0 10px;font-size:11px;font-weight:650}.thursday-activity-row{border-top:1px solid var(--border);min-height:72px;transition:background-color var(--duration-standard) var(--ease-standard);flex-direction:column;justify-content:space-between;align-items:stretch;gap:18px;padding:12px 16px 12px 20px;display:flex}.thursday-activity-row:first-child{border-top:0}.thursday-activity-row.is-current{background:var(--primary-soft)}@supports (color:color-mix(in lab, red, red)){.thursday-activity-row.is-current{background:color-mix(in srgb, var(--primary-soft) 38%, var(--surface))}}.thursday-activity-date{grid-template-columns:auto auto;justify-content:start;align-items:center;column-gap:8px;min-width:0;display:grid;position:relative}.thursday-activity-date strong{color:var(--text-primary);font-size:14px;font-weight:680;line-height:1.4}.thursday-activity-date span{color:var(--text-tertiary);font-size:12px;line-height:1.4}.thursday-activity-date small{color:var(--primary);grid-column:1/-1;margin-top:2px;font-size:11px;font-weight:700;line-height:1.3}.thursday-activity-options{background:var(--surface-secondary);border-radius:11px;flex:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;width:100%;padding:3px;display:grid}.thursday-activity-options button{min-height:36px;color:var(--text-tertiary);cursor:pointer;font:inherit;transition:background-color var(--duration-standard) var(--ease-standard), color var(--duration-standard) var(--ease-standard), box-shadow var(--duration-standard) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);background:0 0;border:0;border-radius:8px;padding:0 8px;font-size:12px;font-weight:650;position:relative}.thursday-activity-options button.is-selected{color:var(--text-secondary)}.thursday-activity-options button.is-selected.is-creative{color:var(--primary-hover)}.thursday-activity-options button.is-selected.is-club{color:var(--category-exam-text)}.thursday-activity-indicator{z-index:0;border:1px solid var(--border-strong);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.thursday-activity-indicator{border:1px solid color-mix(in srgb, var(--border-strong) 80%, transparent)}}.thursday-activity-indicator{background:var(--surface);transition:background-color var(--duration-navigation) var(--ease-standard), border-color var(--duration-navigation) var(--ease-standard);border-radius:8px;box-shadow:0 1px 3px #2e27430f}.thursday-activity-indicator.is-creative{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.thursday-activity-indicator.is-creative{border-color:color-mix(in srgb, var(--primary) 15%, var(--border))}}.thursday-activity-indicator.is-creative{background:var(--primary-soft)}.thursday-activity-indicator.is-club{border-color:var(--category-exam-text)}@supports (color:color-mix(in lab, red, red)){.thursday-activity-indicator.is-club{border-color:color-mix(in srgb, var(--category-exam-text) 14%, var(--border))}}.thursday-activity-indicator.is-club{background:var(--category-exam-bg)}.thursday-activity-option-label{z-index:1;position:relative}.thursday-activity-loading{border:1px solid var(--border);border-radius:var(--radius-large);background:var(--border);gap:1px;margin-top:34px;display:grid;overflow:hidden}.thursday-activity-loading>span,.thursday-activity-loading>div{background:var(--surface);animation:1.2s ease-in-out infinite admin-skeleton-pulse;display:block}.thursday-activity-loading>span{height:108px}.thursday-activity-loading>div{height:72px}@keyframes thursday-activity-spin{to{transform:rotate(360deg)}}.resources-page{max-width:860px}.books-page{max-width:760px}.resources-page-intro{margin-bottom:24px}.monthly-book-card{border:1px solid var(--primary);grid-template-columns:96px minmax(0,1fr);align-items:start;gap:18px;margin-bottom:16px;padding:18px;display:grid;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.monthly-book-card{border:1px solid color-mix(in srgb, var(--primary) 16%, var(--border))}}.monthly-book-card{border-radius:var(--radius-xl);background:radial-gradient(circle at 100% 0%, #7567b817, transparent 34%), var(--surface);box-shadow:var(--shadow-soft)}.monthly-book-cover-wrap{aspect-ratio:5/7;border-radius:var(--radius-md);background:var(--surface-secondary);width:96px;overflow:hidden;box-shadow:0 10px 24px #2e27431a}.monthly-book-cover{object-fit:cover;width:100%;height:100%;display:block}.monthly-book-content{flex-direction:column;justify-content:center;align-self:center;min-width:0;display:flex}.monthly-book-header h2,.monthly-book-header p,.monthly-book-copy h3,.monthly-book-copy p{margin:0}.monthly-book-eyebrow{color:var(--primary);letter-spacing:-.01em;font-size:12px;font-weight:750}.monthly-book-header h2{letter-spacing:-.035em;word-break:keep-all;font-size:23px;font-weight:750;line-height:1.34}.monthly-book-author{color:var(--text-tertiary);word-break:keep-all;font-size:14px;font-weight:550;line-height:1.5;margin-top:7px!important}.monthly-book-expand-button{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-secondary);min-height:40px;color:var(--text-secondary);cursor:pointer;font:inherit;transition:border-color var(--duration-instant) var(--ease-standard), background-color var(--duration-instant) var(--ease-standard), color var(--duration-instant) var(--ease-standard);touch-action:manipulation;justify-content:center;align-self:flex-start;align-items:center;gap:7px;margin-top:18px;padding:0 13px;font-size:13px;font-weight:680;display:inline-flex}.monthly-book-expand-button>span{align-items:center;display:inline-flex}.monthly-book-details-clip{grid-column:1/-1;min-width:0}.monthly-book-expanded-meta{border-top:1px solid var(--border);gap:8px;margin-top:0;padding-top:18px;display:grid}.monthly-book-expanded-meta>p{margin:0}.monthly-book-expanded-meta .monthly-book-categories{margin-top:0!important}.monthly-book-categories{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:5px;font-size:12px;font-weight:650;display:flex;margin-top:9px!important}.monthly-book-categories span:first-child,.monthly-book-categories span:last-child:not(:first-child){background:var(--primary-soft);min-height:25px;color:var(--primary-hover);border-radius:999px;align-items:center;padding:0 9px;display:inline-flex}.monthly-book-details{gap:14px;margin-top:20px;display:grid}.monthly-book-copy{gap:5px;display:grid}.monthly-book-copy h3{color:var(--text-tertiary);font-size:12px;font-weight:700}.monthly-book-copy p{color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;font-size:14px;line-height:1.68}.monthly-book-purchase-link{border-radius:var(--radius-md);background:var(--primary);color:#fff;min-height:42px;transition:background-color var(--duration-instant) var(--ease-standard);touch-action:manipulation;justify-content:center;align-self:flex-start;align-items:center;gap:7px;margin-top:20px;padding:0 14px;font-size:13px;font-weight:700;display:inline-flex}.resource-feed{gap:14px;display:grid}.vocabulary-resource-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);min-height:88px;color:var(--text-primary);transition:border-color var(--duration-instant) var(--ease-standard), background-color var(--duration-instant) var(--ease-standard);touch-action:manipulation;align-items:center;gap:15px;margin-bottom:16px;padding:18px 20px;display:flex;box-shadow:0 8px 24px #2e27430a}.vocabulary-resource-icon{background:var(--primary-soft);width:46px;height:46px;color:var(--primary);border-radius:14px;flex:none;place-items:center;display:grid}.vocabulary-resource-copy{flex:1;gap:4px;min-width:0;display:grid}.vocabulary-resource-copy strong{letter-spacing:-.022em;font-size:16px;font-weight:700}.vocabulary-resource-copy small{color:var(--text-tertiary);font-size:12px;font-weight:500}.vocabulary-resource-arrow{color:var(--text-tertiary);transition:color var(--duration-instant) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);flex:none}@media (hover:hover) and (pointer:fine){.monthly-book-expand-button:hover{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.monthly-book-expand-button:hover{border-color:color-mix(in srgb, var(--primary) 20%, var(--border))}}.monthly-book-expand-button:hover{background:var(--primary-soft);color:var(--primary-hover)}.monthly-book-purchase-link:hover{background:var(--primary-hover)}.vocabulary-resource-card:hover{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.vocabulary-resource-card:hover{border-color:color-mix(in srgb, var(--primary) 20%, var(--border))}}.vocabulary-resource-card:hover{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.vocabulary-resource-card:hover{background:color-mix(in srgb, var(--surface) 96%, var(--primary))}}.vocabulary-resource-card:hover .vocabulary-resource-arrow{color:var(--primary);transform:translate(2px)}}@media (min-width:640px){.monthly-book-card{grid-template-columns:148px minmax(0,1fr);gap:24px;padding:24px}.monthly-book-cover-wrap{width:148px}}.resource-post-card{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);min-width:0;box-shadow:var(--shadow-soft);transition:border-color var(--duration-standard) var(--ease-standard), box-shadow var(--duration-standard) var(--ease-standard);padding:20px;scroll-margin-top:92px}.resource-post-card:target{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.resource-post-card:target{border-color:color-mix(in srgb, var(--primary) 42%, var(--border))}}.resource-post-card:target{box-shadow:0 12px 32px #191f280f, 0 0 0 4px var(--primary)}@supports (color:color-mix(in lab, red, red)){.resource-post-card:target{box-shadow:0 12px 32px #191f280f, 0 0 0 4px color-mix(in srgb, var(--primary) 8%, transparent)}}.resource-post-meta{align-items:center;gap:10px;min-width:0;display:flex}.resource-post-avatar{background:linear-gradient(145deg, var(--primary), var(--primary-active));color:#fff;border-radius:13px;flex:none;justify-content:center;align-items:center;width:38px;height:38px;font-size:14px;font-weight:760;display:inline-flex;box-shadow:0 7px 18px #5c4f992e}.resource-post-meta>div{flex-direction:column;flex:1;min-width:0;display:flex}.resource-post-meta strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:650;overflow:hidden}.resource-post-meta time{color:var(--text-tertiary);font-variant-numeric:tabular-nums;margin-top:1px;font-size:11px}.resource-post-delete{width:34px;height:34px;color:var(--text-tertiary);cursor:pointer;transition:background-color var(--duration-instant) var(--ease-standard), color var(--duration-instant) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);background:0 0;border:0;border-radius:10px;flex:none;justify-content:center;align-items:center;display:inline-flex}.resource-post-delete:active{transform:scale(.98)}.resource-post-delete:disabled{cursor:not-allowed;opacity:.5}.resource-post-copy{margin-top:18px}.resource-post-labels{flex-wrap:wrap;gap:6px;margin-bottom:9px;display:flex}.resource-post-labels>span{border-radius:8px;align-items:center;gap:5px;min-height:25px;padding:0 8px;font-size:11px;font-weight:700;display:inline-flex}.resource-post-labels .is-task{background:var(--category-homework-bg);color:var(--category-homework-text)}.resource-post-labels .is-submission{background:var(--primary-soft);color:var(--primary-hover)}.resource-post-copy h2,.resource-post-copy p{margin:0}.resource-post-copy h2{letter-spacing:-.03em;font-size:19px;font-weight:720;line-height:1.4}.resource-post-copy p{color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;margin-top:8px;font-size:14px;line-height:1.68}.resource-attachments{gap:8px;margin-top:18px;display:grid}.resource-attachments>a{border:1px solid var(--border);background:var(--surface-secondary);min-width:0;min-height:62px;transition:border-color var(--duration-instant) var(--ease-standard), background-color var(--duration-instant) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);border-radius:13px;align-items:center;gap:11px;padding:10px 12px;display:flex}.resource-attachments>a:active{transform:scale(.99)}.resource-file-icon{background:var(--primary-soft);width:38px;height:38px;color:var(--primary-hover);border-radius:11px;flex:none;justify-content:center;align-items:center;display:inline-flex}.resource-file-icon.is-image{color:#a94870;background:#fff0f5}.resource-file-icon.is-spreadsheet{color:#2e7658;background:#edf8f2}.resource-file-icon.is-archive{color:#a96416;background:#fff5e8}.resource-file-copy{flex-direction:column;flex:1;min-width:0;display:flex}.resource-file-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:650;overflow:hidden}.resource-file-copy small{color:var(--text-tertiary);margin-top:2px;font-size:11px}.resource-download-icon{color:var(--text-tertiary);opacity:.72;transition:color var(--duration-instant) var(--ease-standard), opacity var(--duration-instant) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);flex:none}.resource-empty-state{border:1px solid var(--border);border-radius:var(--radius-xl);background:radial-gradient(circle at 50% 0%, #7567b80f, transparent 40%), var(--surface);min-height:270px;box-shadow:var(--shadow-soft);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:34px;display:flex}.resource-empty-state>span{background:var(--primary-soft);width:52px;height:52px;color:var(--primary);border-radius:17px;justify-content:center;align-items:center;display:inline-flex}.resource-empty-state h2,.resource-empty-state p{margin:0}.resource-empty-state h2{margin-top:16px;font-size:18px;font-weight:680}.resource-empty-state p{color:var(--text-tertiary);margin-top:5px;font-size:13px}.resource-manager{max-width:900px;margin-top:34px}.resource-composer{border:1px solid var(--primary);overflow:hidden}@supports (color:color-mix(in lab, red, red)){.resource-composer{border:1px solid color-mix(in srgb, var(--primary) 12%, var(--border))}}.resource-composer{border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-soft)}.resource-composer>header{border-bottom:1px solid var(--border);align-items:center;gap:11px;padding:18px 20px;display:flex}.resource-composer>header>span{background:linear-gradient(145deg, var(--primary), var(--primary-active));color:#fff;border-radius:13px;flex:none;justify-content:center;align-items:center;width:38px;height:38px;font-size:14px;font-weight:760;display:inline-flex}.resource-composer>header>div{flex-direction:column;min-width:0;display:flex}.resource-composer>header strong{font-size:14px;font-weight:680}.resource-composer>header small{color:var(--text-tertiary);margin-top:1px;font-size:11px}.resource-composer-fields{gap:2px;padding:14px 20px 8px;display:grid}.resource-composer-fields input,.resource-composer-fields textarea{width:100%;min-width:0;color:var(--text-primary);font:inherit;background:0 0;border:0;outline:none}.resource-composer-fields input{letter-spacing:-.025em;min-height:44px;font-size:19px;font-weight:700}.resource-composer-fields textarea{resize:vertical;min-height:116px;padding:8px 0;font-size:14px;line-height:1.65}.resource-composer-fields input::placeholder,.resource-composer-fields textarea::placeholder{color:var(--text-disabled)}.resource-mention-editor{position:relative}.resource-mention-menu{z-index:12;border:1px solid var(--border);background:var(--surface);border-radius:15px;padding:6px;position:absolute;top:calc(100% - 2px);left:0;right:0;overflow:hidden;box-shadow:0 16px 38px #191f281f}.resource-mention-menu>button{width:100%;min-height:48px;color:var(--text-primary);text-align:left;transition:background-color var(--duration-instant) var(--ease-standard);background:0 0;border:0;border-radius:10px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.resource-mention-menu>button.is-active{background:var(--primary-soft)}.resource-mention-menu>button>span{background:var(--primary);border-radius:10px;place-items:center;width:32px;height:32px;display:grid}@supports (color:color-mix(in lab, red, red)){.resource-mention-menu>button>span{background:color-mix(in srgb, var(--primary) 12%, var(--surface))}}.resource-mention-menu>button>span{color:var(--primary);font-size:12px;font-weight:750}.resource-mention-menu>button strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:680;overflow:hidden}.resource-mention-menu>button small{color:var(--text-tertiary);font-size:11px}.resource-mention-menu>p{color:var(--text-tertiary);text-align:center;margin:0;padding:13px 12px;font-size:12px}.resource-selected-mentions{flex-wrap:wrap;gap:6px;padding:2px 0 8px;display:flex}.resource-selected-mentions>span{background:var(--primary-soft);min-height:30px;color:var(--primary);border-radius:999px;align-items:center;gap:4px;padding:0 5px 0 9px;font-size:12px;font-weight:650;display:inline-flex}.resource-selected-mentions button{color:currentColor;background:0 0;border:0;border-radius:50%;place-items:center;width:22px;height:22px;display:grid}.resource-selected-mentions button:active{background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.resource-selected-mentions button:active{background:color-mix(in srgb, var(--primary) 12%, transparent)}}.resource-publish-options{gap:8px;margin:4px 20px 16px;display:grid}.resource-publish-option{border:1px solid var(--border);background:var(--surface);cursor:pointer;min-width:0;transition:border-color var(--duration-standard) var(--ease-standard), background-color var(--duration-standard) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);border-radius:13px;align-items:center;gap:11px;padding:12px 13px;display:flex}.resource-publish-option:active{transform:scale(.995)}.resource-publish-option.is-active{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.resource-publish-option.is-active{border-color:color-mix(in srgb, var(--primary) 28%, var(--border))}}.resource-publish-option.is-active{background:var(--primary-soft)}@supports (color:color-mix(in lab, red, red)){.resource-publish-option.is-active{background:color-mix(in srgb, var(--primary-soft) 35%, var(--surface))}}.resource-publish-option:focus-within{outline:3px solid var(--primary)}@supports (color:color-mix(in lab, red, red)){.resource-publish-option:focus-within{outline:3px solid color-mix(in srgb, var(--primary) 15%, transparent)}}.resource-publish-option:focus-within{outline-offset:1px}.resource-option-icon,.resource-option-check{flex:none;justify-content:center;align-items:center;display:inline-flex}.resource-option-icon{background:var(--surface-secondary);width:36px;height:36px;color:var(--text-tertiary);border-radius:11px}.resource-publish-option.is-active .resource-option-icon{background:var(--surface);color:var(--primary)}.resource-option-copy{flex-direction:column;flex:1;min-width:0;display:flex}.resource-option-copy strong{color:var(--text-secondary);font-size:13px;font-weight:680}.resource-option-copy small{color:var(--text-tertiary);margin-top:2px;font-size:12px;line-height:1.45}.resource-option-check{border:1px solid var(--border);background:var(--surface);color:#fff;border-radius:7px;width:22px;height:22px}.resource-option-check>span{place-items:center;display:inline-grid}.resource-publish-option.is-active .resource-option-check{border-color:var(--primary);background:var(--primary)}.resource-due-date{justify-content:space-between;align-items:center;gap:14px;padding:2px 13px 6px 60px;display:flex;overflow:hidden}.resource-due-date>span{color:var(--text-secondary);font-size:12px;font-weight:650}.resource-due-date .schedule-custom-input{width:min(210px,100%)}.resource-due-date .schedule-custom-trigger{border-radius:11px;min-height:40px;padding:0 11px;font-size:12px}.resource-dropzone{border:1px dashed var(--primary);align-items:center;gap:11px;margin:6px 20px 16px;padding:14px;display:flex}@supports (color:color-mix(in lab, red, red)){.resource-dropzone{border:1px dashed color-mix(in srgb, var(--primary) 24%, var(--border))}}.resource-dropzone{background:var(--primary-soft);border-radius:14px}@supports (color:color-mix(in lab, red, red)){.resource-dropzone{background:color-mix(in srgb, var(--primary-soft) 30%, var(--surface))}}.resource-dropzone{color:var(--primary);transition:border-color var(--duration-standard) var(--ease-standard), background-color var(--duration-standard) var(--ease-standard)}.resource-dropzone.is-dragging{border-color:var(--primary);background:var(--primary-soft)}@supports (color:color-mix(in lab, red, red)){.resource-dropzone.is-dragging{background:color-mix(in srgb, var(--primary-soft) 70%, var(--surface))}}.resource-dropzone>svg{flex:none}.resource-dropzone>div{flex-direction:column;flex:1;min-width:0;display:flex}.resource-dropzone strong{color:var(--text-secondary);font-size:12px;font-weight:650}.resource-dropzone span{color:var(--text-tertiary);margin-top:2px;font-size:12px;line-height:1.45}.resource-dropzone>button,.resource-composer>footer button,.resource-delete-confirm button{cursor:pointer;min-height:38px;font:inherit;transition:background-color var(--duration-instant) var(--ease-standard), color var(--duration-instant) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);border:0;border-radius:10px;flex:none;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:650;display:inline-flex}.resource-dropzone>button{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary)}.resource-dropzone>button:active,.resource-composer>footer button:active,.resource-delete-confirm button:active{transform:scale(.98)}.resource-dropzone>button:disabled,.resource-composer>footer button:disabled,.resource-selected-files button:disabled,.resource-delete-confirm button:disabled{cursor:not-allowed;opacity:.55;transform:none}.resource-selected-files{gap:7px;margin:0;padding:0 20px 15px;list-style:none;display:grid;overflow:hidden}.resource-selected-files li{background:var(--surface-secondary);min-width:0;color:var(--text-tertiary);border-radius:11px;align-items:center;gap:9px;padding:9px 10px;display:flex}.resource-selected-files li>span{flex-direction:column;flex:1;min-width:0;display:flex}.resource-selected-files strong{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.resource-selected-files small{margin-top:1px;font-size:11px}.resource-selected-files button{width:30px;height:30px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:0;border-radius:9px;flex:none;justify-content:center;align-items:center;display:inline-flex}.resource-composer>footer{border-top:1px solid var(--border);background:var(--surface-secondary);justify-content:space-between;align-items:center;gap:14px;padding:14px 20px;display:flex}@supports (color:color-mix(in lab, red, red)){.resource-composer>footer{background:color-mix(in srgb, var(--surface-secondary) 52%, var(--surface))}}.resource-composer>footer>span{color:var(--text-tertiary);font-size:11px}.resource-composer>footer button{background:var(--primary);color:#fff;min-width:104px}.resource-spinner{animation:.75s linear infinite resource-spin}@keyframes resource-spin{to{transform:rotate(360deg)}}.resource-feedback{z-index:70;right:var(--mobile-gutter);bottom:max(20px, env(safe-area-inset-bottom));left:var(--mobile-gutter);width:min(360px, calc(100% - (var(--mobile-gutter) * 2)));border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-raised);margin:0 0 0 auto;padding:13px 15px;font-size:13px;font-weight:620;line-height:1.5;position:fixed}.resource-feedback.is-success{border-color:var(--success)}@supports (color:color-mix(in lab, red, red)){.resource-feedback.is-success{border-color:color-mix(in srgb, var(--success) 20%, var(--border))}}.resource-feedback.is-success{color:var(--success)}.resource-feedback.is-error{border-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.resource-feedback.is-error{border-color:color-mix(in srgb, var(--danger) 20%, var(--border))}}.resource-feedback.is-error{color:var(--danger)}.resource-submission-panel,.resource-admin-submissions{border-top:1px solid var(--border);margin-top:20px;padding-top:18px}.resource-submission-panel>header{align-items:center;gap:10px;display:flex}.resource-submission-panel>header>span{background:var(--primary-soft);width:36px;height:36px;color:var(--primary);border-radius:11px;flex:none;justify-content:center;align-items:center;display:inline-flex}.resource-submission-panel>header>div{flex-direction:column;min-width:0;display:flex}.resource-submission-panel>header strong{font-size:13px;font-weight:700}.resource-submission-panel>header small{color:var(--text-tertiary);margin-top:2px;font-size:12px;line-height:1.45}.resource-submission-current{background:var(--success);border-radius:12px;margin-top:13px;padding:12px}@supports (color:color-mix(in lab, red, red)){.resource-submission-current{background:color-mix(in srgb, var(--success) 7%, var(--surface-secondary))}}.resource-submission-current>div{color:var(--success);align-items:center;gap:8px;display:flex}.resource-submission-current>div>span{flex-direction:column;display:flex}.resource-submission-current strong{font-size:12px;font-weight:700}.resource-submission-current small{color:var(--text-tertiary);margin-top:1px;font-size:11px}.resource-submission-current ul,.resource-submission-selected,.resource-admin-submissions ul{margin:0;padding:0;list-style:none}.resource-submission-current ul{gap:4px;margin-top:9px;display:grid}.resource-submission-current li{min-width:0;color:var(--text-tertiary);align-items:center;gap:6px;font-size:11px;display:flex}.resource-submission-current li>span{min-width:0;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.resource-submission-login{background:var(--primary-soft);min-height:42px;color:var(--primary-hover);transition:transform var(--duration-instant) var(--ease-standard);border-radius:10px;justify-content:center;align-items:center;gap:7px;margin-top:14px;padding:0 13px;font-size:12px;font-weight:680;display:inline-flex}.resource-submission-login:active{transform:scale(.98)}.resource-submission-panel>form{margin-top:13px}.resource-submission-selected{gap:5px;margin-bottom:9px;display:grid;overflow:hidden}.resource-submission-selected li{background:var(--surface-secondary);min-width:0;color:var(--text-tertiary);border-radius:9px;align-items:center;gap:7px;padding:8px 9px;font-size:11px;display:flex}.resource-submission-selected li>span{min-width:0;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.resource-submission-selected button{width:26px;height:26px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;justify-content:center;align-items:center;display:inline-flex}.resource-submission-actions{justify-content:flex-end;gap:7px;display:flex}.resource-submission-actions button{border:1px solid var(--border);background:var(--surface);min-height:38px;color:var(--text-secondary);cursor:pointer;font:inherit;transition:background-color var(--duration-instant) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-size:11px;font-weight:680;display:inline-flex}.resource-submission-actions button:last-child{border-color:var(--primary);background:var(--primary);color:#fff}.resource-submission-actions button:active{transform:scale(.98)}.resource-submission-actions button:disabled,.resource-submission-selected button:disabled{cursor:not-allowed;opacity:.5;transform:none}.resource-submission-feedback{margin:10px 0 0;font-size:11px;font-weight:620;line-height:1.5}.resource-submission-feedback.is-success{color:var(--success)}.resource-submission-feedback.is-error{color:var(--danger)}.resource-admin-submissions>header>div{justify-content:space-between;align-items:center;gap:12px;display:flex}.resource-admin-submissions>header strong{font-size:13px;font-weight:700}.resource-admin-submissions>header span{color:var(--primary-hover);font-size:11px;font-weight:680}.resource-admin-submissions>p{background:var(--surface-secondary);color:var(--text-tertiary);text-align:center;border-radius:11px;margin:12px 0 0;padding:14px;font-size:11px}.resource-admin-submissions>ul{gap:8px;margin-top:12px;display:grid}.resource-admin-submissions>ul>li{background:var(--surface-secondary);border-radius:12px;gap:10px;padding:12px;display:grid}.resource-submitter{align-items:center;gap:9px;min-width:0;display:flex}.resource-submitter>span{background:var(--surface);width:32px;height:32px;color:var(--primary);border-radius:10px;flex:none;justify-content:center;align-items:center;font-size:11px;font-weight:750;display:inline-flex}.resource-submitter>div{flex-direction:column;min-width:0;display:flex}.resource-submitter strong{font-size:12px;font-weight:680}.resource-submitter small{color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;margin-top:1px;font-size:11px;overflow:hidden}.resource-submitted-files{gap:5px;display:grid}.resource-submitted-files a{border:1px solid var(--border);background:var(--surface);border-radius:9px;align-items:center;gap:8px;min-width:0;min-height:34px;padding:0 9px;display:flex}.resource-submitted-files a>span{min-width:0;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11px;font-weight:620;overflow:hidden}.resource-submitted-files a>small,.resource-submitted-files a>svg{color:var(--text-tertiary);flex:none;font-size:9px}.resource-admin-posts{margin-top:34px}.resource-admin-posts>header{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:14px;display:flex}.resource-admin-posts h2,.resource-admin-posts p{margin:0}.resource-admin-posts h2{letter-spacing:-.025em;font-size:20px;font-weight:700}.resource-admin-posts p{color:var(--text-tertiary);margin-top:3px;font-size:12px}.resource-admin-posts .resource-feed>div{min-width:0}.resource-delete-confirm{background:var(--danger);border-radius:11px;justify-content:space-between;align-items:center;gap:14px;margin:8px 10px 0;padding:11px 12px;display:flex}@supports (color:color-mix(in lab, red, red)){.resource-delete-confirm{background:color-mix(in srgb, var(--danger) 7%, var(--surface))}}.resource-delete-confirm-clip{overflow:hidden}.resource-delete-confirm>span{color:var(--text-secondary);font-size:12px}.resource-delete-confirm>div{flex:none;gap:6px;display:flex}.resource-delete-confirm button{background:var(--surface);min-height:34px;color:var(--text-secondary)}.resource-delete-confirm button.is-danger{background:var(--danger);color:#fff}.resource-admin-empty{border:1px solid var(--border);background:var(--surface);color:var(--text-tertiary);text-align:center;border-radius:18px;padding:28px;font-size:13px}.book-recommendation-manager{max-width:920px}.book-recommendation-form-body{gap:20px;padding:22px;overflow:visible}.book-recommendation-form-body input[type=month]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.book-recommendation-form-body input:disabled,.book-recommendation-form-body textarea:disabled{cursor:not-allowed;opacity:.62}.book-field-guide{color:var(--text-tertiary);font-size:11px;line-height:1.5}.book-major-category-options{grid-template-columns:repeat(2,minmax(0,1fr))!important}.book-cover-dropzone{margin:0}.book-cover-preview{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-secondary);align-items:center;gap:12px;min-width:0;padding:12px;display:flex}.book-cover-preview-image{background:var(--surface);object-fit:cover;border-radius:8px;flex:none;width:54px;height:72px;display:block}.book-cover-preview-copy{flex:1;gap:3px;min-width:0;display:grid}.book-cover-preview-copy strong,.book-cover-preview-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.book-cover-preview-copy strong{font-size:13px;font-weight:680}.book-cover-preview-copy small{color:var(--text-tertiary);font-size:11px}.book-recommendation-form-footer .schedule-secondary-button{border:1px solid var(--border);background:var(--surface);color:var(--text-secondary)}.book-recommendation-author{font-weight:600;color:var(--text-tertiary)!important;margin-top:4px!important;font-size:12px!important}.book-recommendation-card-layout{grid-template-columns:74px minmax(0,1fr);gap:14px;min-width:0;display:grid}.book-recommendation-card-cover{aspect-ratio:23/32;background:var(--surface-secondary);object-fit:cover;border-radius:10px;width:100%;display:block;box-shadow:0 8px 20px #191f281a}.book-recommendation-card-main{min-width:0}.book-recommendation-card .resource-post-meta{align-items:flex-start}.book-recommendation-card .resource-post-copy p,.book-recommendation-review p{white-space:pre-wrap;word-break:break-word}.book-recommendation-review{border-top:1px solid var(--border);margin-top:18px;padding-top:17px}.book-recommendation-purchase-link{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-height:40px;color:var(--text-secondary);transition:border-color var(--duration-instant) var(--ease-standard), background-color var(--duration-instant) var(--ease-standard), color var(--duration-instant) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);align-items:center;gap:7px;margin-top:17px;padding:0 13px;font-size:12px;font-weight:650;display:inline-flex}.book-recommendation-purchase-link:active{transform:scale(.98)}.resource-loading-header,.resource-loading-composer,.resource-loading-post{background:var(--border);border-radius:14px;animation:1.2s ease-in-out infinite admin-skeleton-pulse}.resource-loading-header{width:240px;height:60px}.resource-loading-composer{height:390px;margin-top:34px}.resource-loading-post{height:210px;margin-top:34px}.admin-access-page{min-height:100vh;padding:32px var(--mobile-gutter);background:var(--background);grid-template-columns:minmax(0,1fr);place-items:center;display:grid}.admin-access-card{border:1px solid var(--border);border-radius:var(--radius-large);background:var(--surface);width:100%;max-width:480px;padding:30px 28px}.admin-access-card>p,.admin-access-card h1,.admin-access-card>span{margin:0}.admin-access-card>p{color:var(--text-tertiary);font-size:14px;font-weight:500}.admin-access-card h1{letter-spacing:-.035em;margin-top:26px;font-size:24px;font-weight:700;line-height:1.35}.admin-access-card>span{color:var(--text-secondary);margin-top:8px;font-size:15px;line-height:1.6;display:block}.admin-access-card a,.admin-error-state button{border-radius:var(--radius-small);background:var(--primary);min-height:48px;color:var(--surface);cursor:pointer;font:inherit;transition:background-color var(--duration-instant) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);border:0;justify-content:center;align-items:center;margin-top:26px;padding:0 18px;font-size:15px;font-weight:600;display:inline-flex}.admin-access-card a:active,.admin-error-state button:active,.admin-mobile-bar a:active,.admin-menu-link:active,.admin-student-link:active{transform:scale(.98)}.admin-error-state{border:1px solid var(--border);border-radius:var(--radius-large);background:var(--surface);padding:28px}.admin-error-state h1,.admin-error-state p{margin:0}.admin-error-state h1{font-size:20px;font-weight:650;line-height:1.4}.admin-error-state p{color:var(--text-secondary);margin-top:7px;font-size:15px}.admin-header-skeleton>span,.admin-section-skeleton>span,.admin-section-skeleton div span{background:var(--border);border-radius:6px;animation:1.2s ease-in-out infinite admin-skeleton-pulse;display:block}.admin-header-skeleton>span:first-child{width:190px;height:32px}.admin-header-skeleton>span:last-child{width:230px;height:18px;margin-top:12px}.admin-section-skeleton{border:1px solid var(--border);border-radius:var(--radius-large);background:var(--surface);padding:26px}.admin-section-skeleton>span{width:110px;height:24px}.admin-section-skeleton div{border-top:1px solid var(--border);margin-top:20px;padding-top:20px}.admin-section-skeleton div span:first-child{width:180px;height:20px}.admin-section-skeleton div span:last-child{width:min(320px,85%);height:16px;margin-top:9px}.class-feedback-page{max-width:780px;margin:0 auto}.class-feedback-layout{gap:16px;display:grid}.feedback-guide-card{border:1px solid var(--primary);align-items:flex-start;gap:14px;padding:20px;display:flex;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.feedback-guide-card{border:1px solid color-mix(in srgb, var(--primary) 14%, var(--border))}}.feedback-guide-card{border-radius:var(--radius-medium);background:radial-gradient(circle at 92% 10%, var(--primary-soft), transparent 42%), var(--surface)}@supports (color:color-mix(in lab, red, red)){.feedback-guide-card{background:radial-gradient(circle at 92% 10%, color-mix(in srgb, var(--primary-soft) 88%, transparent), transparent 42%), var(--surface)}}.feedback-guide-icon{background:var(--primary-soft);width:42px;height:42px;color:var(--primary-hover);border-radius:13px;flex:none;justify-content:center;align-items:center;display:inline-flex}.feedback-guide-card h2,.feedback-guide-card p{margin:0}.feedback-guide-card h2{letter-spacing:-.024em;font-size:16px;font-weight:680;line-height:1.45}.feedback-guide-card p{color:var(--text-secondary);margin-top:5px;font-size:14px;line-height:1.6}.feedback-composer-card{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-soft);padding:20px;overflow:hidden}.feedback-category-tabs{background:var(--background);border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;height:52px;padding:4px;display:grid}.feedback-category-tabs button{min-width:0;color:var(--text-tertiary);cursor:pointer;font:inherit;transition:color var(--duration-navigation) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);background:0 0;border:0;border-radius:11px;justify-content:center;align-items:center;font-size:15px;font-weight:600;display:flex;position:relative}.feedback-category-tabs button:active,.feedback-identity-options button:active,.feedback-submit-button:active,.feedback-success button:active{transform:scale(.98)}.feedback-category-tabs button:focus-visible,.feedback-identity-options button:focus-visible,.feedback-content-field textarea:focus-visible,.feedback-submit-button:focus-visible,.feedback-success button:focus-visible,.feedback-login-callout a:focus-visible{outline:3px solid var(--primary)}@supports (color:color-mix(in lab, red, red)){.feedback-category-tabs button:focus-visible,.feedback-identity-options button:focus-visible,.feedback-content-field textarea:focus-visible,.feedback-submit-button:focus-visible,.feedback-success button:focus-visible,.feedback-login-callout a:focus-visible{outline:3px solid color-mix(in srgb, var(--primary) 28%, transparent)}}.feedback-category-tabs button:focus-visible,.feedback-identity-options button:focus-visible,.feedback-content-field textarea:focus-visible,.feedback-submit-button:focus-visible,.feedback-success button:focus-visible,.feedback-login-callout a:focus-visible{outline-offset:2px}.feedback-category-tabs button.is-selected{color:var(--primary-hover)}.feedback-category-indicator{border:1px solid var(--border);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.feedback-category-indicator{border:1px solid color-mix(in srgb, var(--border) 76%, transparent)}}.feedback-category-indicator{background:var(--primary-soft);border-radius:11px;box-shadow:0 1px 3px #2e27430f}.feedback-category-tabs button>span:last-child{z-index:1;position:relative}.feedback-type-summary{border-bottom:1px solid var(--border);align-items:flex-start;gap:14px;margin-top:24px;padding-bottom:22px;display:flex}.feedback-type-summary>span{border-radius:13px;flex:none;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.feedback-type-summary.is-complaint>span{color:#d54858;background:#fff1f3}.feedback-type-summary.is-suggestion>span{color:#0a8f68;background:#ecf8f4}.feedback-type-summary h2,.feedback-type-summary p{margin:0}.feedback-type-summary h2{letter-spacing:-.028em;font-size:18px;font-weight:680;line-height:1.45}.feedback-type-summary p{color:var(--text-secondary);margin-top:4px;font-size:14px;line-height:1.6}.feedback-form{gap:20px;padding-top:22px;display:grid}.feedback-identity-fieldset{border:0;min-width:0;margin:0;padding:0}.feedback-identity-fieldset legend,.feedback-content-field>span{color:var(--text-primary);padding:0;font-size:14px;font-weight:650;line-height:1.5}.feedback-identity-options{background:var(--background);border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;max-width:252px;height:44px;margin-top:10px;padding:3px;display:grid}.feedback-identity-options button{color:var(--text-tertiary);cursor:pointer;font:inherit;transition:background-color var(--duration-standard) var(--ease-standard), color var(--duration-standard) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);background:0 0;border:0;border-radius:9px;font-size:14px;font-weight:600;position:relative}.feedback-identity-options button.is-selected{color:var(--primary-hover)}.feedback-identity-indicator{z-index:0;border:1px solid var(--primary);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.feedback-identity-indicator{border:1px solid color-mix(in srgb, var(--primary) 11%, var(--border))}}.feedback-identity-indicator{background:var(--primary-soft);border-radius:9px;box-shadow:0 1px 3px #2e27430d}.feedback-identity-options button>span:last-child{z-index:1;position:relative}.feedback-identity-fieldset>p{color:var(--text-tertiary);margin:8px 0 0;font-size:13px;line-height:1.55}.feedback-signed-notice,.feedback-login-callout,.feedback-api-notice{align-items:flex-start;display:flex}.feedback-signed-notice{background:#ecf8f4;border-radius:14px;gap:11px;padding:16px}@supports (color:color-mix(in lab, red, red)){.feedback-signed-notice{background:color-mix(in srgb, #ecf8f4 76%, var(--surface))}}.feedback-signed-notice{color:#087c5c}.feedback-signed-notice svg,.feedback-login-callout>svg,.feedback-api-notice svg{flex:none;margin-top:1px}.feedback-signed-notice strong,.feedback-login-callout strong{color:var(--text-primary);font-size:14px;font-weight:650;line-height:1.45;display:block}.feedback-signed-notice p,.feedback-login-callout p{color:var(--text-secondary);margin:3px 0 0;font-size:13px;line-height:1.55}.feedback-login-callout{border:1px solid var(--primary);gap:10px;padding:15px}@supports (color:color-mix(in lab, red, red)){.feedback-login-callout{border:1px solid color-mix(in srgb, var(--primary) 14%, var(--border))}}.feedback-login-callout{background:var(--primary-soft);border-radius:14px}@supports (color:color-mix(in lab, red, red)){.feedback-login-callout{background:color-mix(in srgb, var(--primary-soft) 36%, var(--surface))}}.feedback-login-callout{color:var(--primary)}.feedback-login-callout>div{flex:1;min-width:0}.feedback-login-callout a{background:var(--primary);min-height:38px;color:var(--surface);transition:background-color var(--duration-instant) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);border-radius:10px;flex:none;justify-content:center;align-items:center;padding:0 13px;font-size:13px;font-weight:650;display:inline-flex}.feedback-login-callout a:active{transform:scale(.98)}.feedback-content-field{display:block;position:relative}.feedback-content-field textarea{resize:vertical;border:1px solid var(--border);background:var(--surface-secondary);width:100%;min-height:184px;color:var(--text-primary);font:inherit;transition:border-color var(--duration-standard) var(--ease-standard), background-color var(--duration-standard) var(--ease-standard), box-shadow var(--duration-standard) var(--ease-standard);border-radius:14px;outline:none;margin-top:10px;padding:15px 16px 34px;font-size:15px;line-height:1.65;display:block}.feedback-content-field textarea::placeholder{color:var(--text-disabled)}.feedback-content-field textarea:focus{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.feedback-content-field textarea:focus{border-color:color-mix(in srgb, var(--primary) 62%, var(--border))}}.feedback-content-field textarea:focus{background:var(--surface);box-shadow:0 0 0 3px var(--primary)}@supports (color:color-mix(in lab, red, red)){.feedback-content-field textarea:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 10%, transparent)}}.feedback-content-field small{color:var(--text-tertiary);font-variant-numeric:tabular-nums;font-size:11px;position:absolute;bottom:10px;right:14px}.feedback-honeypot{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.feedback-api-notice{color:var(--text-tertiary);gap:8px}.feedback-api-notice p{margin:0;font-size:12px;line-height:1.55}.feedback-error{color:#c63345;background:#fff1f3;border-radius:12px;margin-top:-4px;padding:12px 14px;font-size:13px;font-weight:550;line-height:1.55}.feedback-submit-button{background:var(--primary);width:100%;min-height:52px;color:var(--surface);cursor:pointer;font:inherit;transition:background-color var(--duration-instant) var(--ease-standard), opacity var(--duration-instant) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);border:0;border-radius:14px;justify-content:center;align-items:center;font-size:15px;font-weight:650;display:flex}.feedback-submit-button:disabled{background:var(--text-disabled);cursor:default;opacity:.7;transform:none}.feedback-submit-content{justify-content:center;align-items:center;gap:8px;min-width:112px;display:inline-flex}.feedback-spinner{border:2px solid #ffffff73;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite feedback-spinner}.feedback-success{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:350px;padding:42px 12px 20px;display:flex}.feedback-success-icon{width:56px;height:56px;color:var(--success);background:#e8f7f1;border-radius:18px;justify-content:center;align-items:center;display:inline-flex}.feedback-success h3,.feedback-success p{margin:0}.feedback-success h3{letter-spacing:-.032em;margin-top:20px;font-size:21px;font-weight:700;line-height:1.4}.feedback-success p{max-width:440px;color:var(--text-secondary);margin-top:7px;font-size:14px;line-height:1.6}.feedback-success-privacy{color:var(--text-tertiary);margin-top:12px;font-size:12px}.feedback-success button{border:1px solid var(--border);background:var(--surface);min-height:46px;color:var(--text-secondary);cursor:pointer;font:inherit;transition:background-color var(--duration-instant) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);border-radius:12px;margin-top:28px;padding:0 17px;font-size:14px;font-weight:600}.admin-feedback-main{max-width:940px}.admin-feedback-empty{border:1px solid var(--border);border-radius:var(--radius-xl);background:radial-gradient(circle at 50% 0%, #7567b80f, transparent 42%), var(--surface);min-height:260px;box-shadow:var(--shadow-soft);text-align:center;flex-direction:column;justify-content:center;align-items:center;margin-top:34px;padding:32px;display:flex}.admin-feedback-empty>span{background:var(--primary-soft);width:50px;height:50px;color:var(--primary);border-radius:16px;justify-content:center;align-items:center;display:inline-flex}.admin-feedback-empty h2,.admin-feedback-empty p{margin:0}.admin-feedback-empty h2{letter-spacing:-.025em;margin-top:18px;font-size:18px;font-weight:670}.admin-feedback-empty p{color:var(--text-secondary);margin-top:6px;font-size:14px}.admin-feedback-list{gap:14px;margin-top:34px;display:grid}.admin-feedback-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);animation:admin-feedback-enter var(--duration-standard) var(--ease-standard) both;padding:22px;box-shadow:0 8px 26px #2e27430a}.admin-feedback-card:nth-child(2){animation-delay:25ms}.admin-feedback-card:nth-child(3){animation-delay:50ms}.admin-feedback-card:nth-child(4){animation-delay:75ms}.admin-feedback-card:nth-child(5){animation-delay:.1s}.admin-feedback-card:nth-child(n+6){animation-delay:.125s}.admin-feedback-card>header,.admin-feedback-card>footer,.admin-feedback-card>footer>div{align-items:center;display:flex}.admin-feedback-card>header{justify-content:space-between;gap:16px}.admin-feedback-badges{flex-wrap:wrap;gap:6px;display:flex}.admin-feedback-badges>span{border-radius:8px;align-items:center;min-height:27px;padding:0 9px;font-size:12px;font-weight:650;display:inline-flex}.admin-feedback-badges .is-complaint{color:#c63345;background:#fff1f3}.admin-feedback-badges .is-suggestion{color:#087c5c;background:#eaf8f3}.admin-feedback-badges .is-reclassified{background:var(--background);color:var(--text-secondary);font-weight:550}.feedback-status-badge{border-radius:8px;align-items:center;gap:4px;min-height:27px;padding:0 9px;font-size:12px;font-weight:680;display:inline-flex}.feedback-status-badge.is-received{background:var(--surface-secondary);color:var(--text-secondary)}.feedback-status-badge.is-processing{background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.feedback-status-badge.is-processing{background:color-mix(in srgb, var(--primary) 10%, var(--surface))}}.feedback-status-badge.is-processing{color:var(--primary-hover)}.feedback-status-badge.is-completed{background:var(--success)}@supports (color:color-mix(in lab, red, red)){.feedback-status-badge.is-completed{background:color-mix(in srgb, var(--success) 11%, var(--surface))}}.feedback-status-badge.is-completed{color:#087a57}.admin-feedback-card time{color:var(--text-tertiary);font-variant-numeric:tabular-nums;flex:none;font-size:12px}.feedback-card-header-actions{flex:none;align-items:center;gap:9px;display:flex}.feedback-collapse-button{background:var(--surface-secondary);min-height:34px;color:var(--text-secondary);cursor:pointer;font:inherit;transition:background-color var(--duration-instant) var(--ease-standard), color var(--duration-instant) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);border:0;border-radius:9px;align-items:center;gap:4px;padding:0 9px;font-size:11px;font-weight:650;display:inline-flex}.feedback-collapse-button svg{transition:transform var(--duration-standard) var(--ease-standard);transform:rotate(180deg)}.is-collapsed .feedback-collapse-button svg{transform:rotate(0)}.feedback-collapse-button:active{transform:scale(.98)}.admin-feedback-card.is-collapsed>.admin-feedback-content,.admin-feedback-card.is-collapsed>footer,.admin-feedback-card.is-collapsed>.admin-feedback-actions,.admin-feedback-card.is-collapsed>.feedback-conversation,.admin-feedback-card.is-collapsed>.admin-feedback-complete-box,.admin-feedback-card.is-collapsed>.feedback-resolution-box,.admin-feedback-card.is-collapsed>.feedback-thread-error,.my-feedback-card.is-collapsed>p,.my-feedback-card.is-collapsed>.my-feedback-status-copy,.my-feedback-card.is-collapsed>.feedback-conversation,.my-feedback-card.is-collapsed>.feedback-resolution-box{display:none}.admin-feedback-card.is-collapsed,.my-feedback-card.is-collapsed{background:var(--surface-secondary)}@supports (color:color-mix(in lab, red, red)){.admin-feedback-card.is-collapsed,.my-feedback-card.is-collapsed{background:color-mix(in srgb, var(--surface-secondary) 45%, var(--surface))}}.admin-feedback-content{color:var(--text-primary);white-space:pre-wrap;word-break:break-word;margin:20px 0;font-size:15px;line-height:1.72}.admin-feedback-card>footer{border-top:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:18px;padding-top:16px}.admin-feedback-card>footer>div{color:var(--text-secondary);flex:none;gap:6px;font-size:13px;font-weight:550}.admin-feedback-card>footer p{color:var(--text-tertiary);text-align:right;margin:0;font-size:12px;line-height:1.55}.admin-feedback-actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.admin-feedback-actions button,.admin-feedback-complete-box button,.feedback-message-form button{background:var(--surface-secondary);min-height:42px;color:var(--text-secondary);cursor:pointer;font:inherit;transition:background-color var(--duration-instant) var(--ease-standard), color var(--duration-instant) var(--ease-standard), opacity var(--duration-instant) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);border:0;border-radius:11px;justify-content:center;align-items:center;gap:6px;padding:0 13px;font-size:13px;font-weight:680;display:inline-flex}.admin-feedback-actions button.is-primary,.admin-feedback-complete-box button,.feedback-message-form button{background:var(--primary);color:#fff}.admin-feedback-actions button.is-danger{color:var(--danger);background:#fff1f3;margin-left:auto}.admin-feedback-actions button:active,.admin-feedback-complete-box button:active,.feedback-message-form button:active{transform:scale(.98)}.admin-feedback-actions button:disabled,.admin-feedback-complete-box button:disabled,.feedback-message-form button:disabled{cursor:default;opacity:.42;transform:none}.feedback-conversation{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-secondary);margin-top:18px;padding:16px}.feedback-conversation>header{color:var(--text-secondary);align-items:center;gap:7px;display:flex}.feedback-conversation>header strong{font-size:13px;font-weight:700}.feedback-conversation>header span{color:var(--text-disabled);margin-left:auto;font-size:10px}.feedback-message-list{overscroll-behavior:contain;scrollbar-width:thin;gap:9px;max-height:310px;margin-top:14px;display:grid;overflow-y:auto}.feedback-message-list article{border-radius:13px;width:min(86%,520px);padding:10px 12px}.feedback-message-list article.is-mine{background:var(--primary);color:#fff;border-bottom-right-radius:5px;justify-self:end}.feedback-message-list article.is-other{border:1px solid var(--border);background:var(--surface);color:var(--text-primary);border-bottom-left-radius:5px;justify-self:start}.feedback-message-list article>span,.feedback-message-list article time{font-size:10px;display:block}.feedback-message-list article>span{opacity:.72;font-weight:700}.feedback-message-list article p{white-space:pre-wrap;word-break:break-word;margin:5px 0;font-size:13px;line-height:1.55}.feedback-message-list article time{opacity:.58;text-align:right}.feedback-message-empty{color:var(--text-tertiary);text-align:center;margin:4px 0;font-size:12px}.feedback-message-form{align-items:flex-end;gap:8px;margin-top:12px;display:flex}.feedback-message-form label{flex:1;min-width:0}.feedback-message-form textarea,.admin-feedback-complete-box textarea{border:1px solid var(--border);background:var(--surface);width:100%;min-height:62px;color:var(--text-primary);font:inherit;resize:vertical;transition:border-color var(--duration-standard) var(--ease-standard), box-shadow var(--duration-standard) var(--ease-standard);border-radius:11px;outline:none;padding:10px 12px;font-size:13px;line-height:1.5}.feedback-message-form textarea:focus,.admin-feedback-complete-box textarea:focus{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.feedback-message-form textarea:focus,.admin-feedback-complete-box textarea:focus{border-color:color-mix(in srgb, var(--primary) 48%, var(--border))}}.feedback-message-form textarea:focus,.admin-feedback-complete-box textarea:focus{box-shadow:0 0 0 3px var(--primary)}@supports (color:color-mix(in lab, red, red)){.feedback-message-form textarea:focus,.admin-feedback-complete-box textarea:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 10%, transparent)}}.feedback-message-form button{flex:none}.feedback-action-spinner{animation:.78s linear infinite thursday-activity-spin}.feedback-thread-error{color:var(--danger);margin:10px 0 0;font-size:12px;line-height:1.5}.admin-feedback-complete-box{border-radius:var(--radius-md);background:var(--success);gap:10px;margin-top:14px;padding:15px;display:grid}@supports (color:color-mix(in lab, red, red)){.admin-feedback-complete-box{background:color-mix(in srgb, var(--success) 6%, var(--surface))}}.admin-feedback-complete-box>div{color:#087a57;align-items:center;gap:7px;font-size:13px;display:flex}.admin-feedback-complete-box button{background:#087a57;justify-self:end}.feedback-resolution-box{border:1px solid var(--success);margin-top:14px;padding:14px 15px}@supports (color:color-mix(in lab, red, red)){.feedback-resolution-box{border:1px solid color-mix(in srgb, var(--success) 17%, var(--border))}}.feedback-resolution-box{border-radius:var(--radius-md);background:var(--success)}@supports (color:color-mix(in lab, red, red)){.feedback-resolution-box{background:color-mix(in srgb, var(--success) 6%, var(--surface))}}.feedback-resolution-box span{color:#087a57;font-size:11px;font-weight:700}.feedback-resolution-box p{color:var(--text-primary);white-space:pre-wrap;margin:6px 0 0;font-size:13px;line-height:1.6}.my-feedback-panel{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-soft);padding:24px}.my-feedback-panel>header{color:var(--primary);justify-content:space-between;align-items:center;gap:18px;display:flex}.my-feedback-panel>header p,.my-feedback-panel>header h2{margin:0}.my-feedback-panel>header p{color:var(--text-tertiary);font-size:12px}.my-feedback-panel>header h2{color:var(--text-primary);letter-spacing:-.025em;margin-top:4px;font-size:19px}.my-feedback-list{gap:12px;margin-top:18px;display:grid}.my-feedback-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:16px}.my-feedback-card>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.my-feedback-card>header>div{align-items:center;gap:7px;display:flex}.my-feedback-card>header>div>span:first-child{color:var(--text-secondary);font-size:12px;font-weight:700}.my-feedback-card>header time{color:var(--text-disabled);font-size:10px}.my-feedback-card>p{color:var(--text-primary);white-space:pre-wrap;margin:15px 0 0;font-size:14px;line-height:1.65}.my-feedback-status-copy,.my-feedback-empty{border-radius:var(--radius-md);background:var(--surface-secondary);margin-top:14px;padding:13px 14px}.my-feedback-status-copy strong,.my-feedback-status-copy span,.my-feedback-empty strong,.my-feedback-empty p{margin:0;display:block}.my-feedback-status-copy strong,.my-feedback-empty strong{color:var(--text-secondary);font-size:13px}.my-feedback-status-copy span,.my-feedback-empty p{color:var(--text-tertiary);margin-top:4px;font-size:12px;line-height:1.5}@media (any-hover:hover){.feedback-collapse-button:hover,.admin-feedback-actions button:not(:disabled):hover{background:var(--primary-soft);color:var(--primary-hover)}.admin-feedback-actions button.is-primary:not(:disabled):hover,.feedback-message-form button:not(:disabled):hover{background:var(--primary-hover);color:#fff}.admin-feedback-actions button.is-danger:not(:disabled):hover{color:var(--danger);background:#ffe7eb}}@media (max-width:640px){.admin-feedback-card,.my-feedback-panel{padding:17px}.admin-feedback-card>header,.admin-feedback-card>footer,.my-feedback-card>header{flex-direction:column;align-items:flex-start}.feedback-card-header-actions{justify-content:space-between;width:100%}.admin-feedback-card>footer p{text-align:left}.admin-feedback-actions button{flex:1}.admin-feedback-actions button.is-danger{margin-left:0}.feedback-message-form{flex-direction:column;align-items:stretch}.feedback-message-form button,.admin-feedback-complete-box button{width:100%}.feedback-conversation{padding:13px}.feedback-conversation>header span{display:none}.feedback-message-list article{width:92%}}@keyframes feedback-spinner{to{transform:rotate(360deg)}}@keyframes admin-feedback-enter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes admin-skeleton-pulse{0%,to{opacity:.55}50%{opacity:1}}@keyframes login-error-enter{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@keyframes ambient-lavender-drift{0%{transform:translate(-10px,8px)scale(.98)}to{transform:translate(12px,-10px)scale(1.045)}}:is(button,a,input,textarea,select,[role=button],[tabindex]):focus-visible{outline:2px solid var(--primary);outline-offset:2px;box-shadow:0 0 0 4px var(--focus-ring)}.mobile-navigation{z-index:1000;width:100%;max-width:100vw;height:calc(var(--bottom-navigation-height) + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface);padding-bottom:env(safe-area-inset-bottom);opacity:1;visibility:visible;pointer-events:auto;touch-action:manipulation;display:block;position:fixed;inset:auto 0 0;transform:none;box-shadow:0 -8px 24px #2e27430d}.mobile-navigation-inner{width:100%;height:var(--bottom-navigation-height);opacity:1;visibility:visible;pointer-events:auto;grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.mobile-navigation .navigation-link{width:100%;height:100%;min-height:var(--bottom-navigation-height);opacity:1;visibility:visible;pointer-events:auto;-webkit-user-select:none;user-select:none}.navigation-link{border-radius:var(--radius-small);min-width:0;min-height:48px;color:var(--text-tertiary);letter-spacing:-.008em;transition:color var(--duration-navigation) var(--ease-standard), background-color var(--duration-instant) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);touch-action:manipulation;justify-content:center;align-items:center;font-size:13px;font-weight:500;line-height:1.25;display:flex;position:relative}.navigation-link:active{transform:scale(.98)}.navigation-link.is-active{color:var(--primary)}.navigation-indicator{background:var(--primary-soft);border-radius:12px;position:absolute;inset:6px 7px}.navigation-label{z-index:1;justify-content:center;align-items:center;min-width:0;display:flex;position:relative}.mobile-navigation .navigation-label{flex-direction:column;gap:3px}.navigation-label svg{transition:color var(--duration-navigation) var(--ease-standard), transform var(--duration-navigation) var(--ease-standard);flex:none}.navigation-link.is-active .navigation-label svg{transform:translateY(-1.5px)scale(1.04)}.mobile-navigation .navigation-label>span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}@media (hover:hover) and (pointer:fine){.primary-link:hover{background:var(--primary-hover)}.schedule-custom-trigger:hover{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.schedule-custom-trigger:hover{border-color:color-mix(in srgb, var(--primary) 24%, var(--border))}}.schedule-custom-trigger:hover{background:var(--surface)}.schedule-select-options button:not(.is-selected):hover,.schedule-date-popover-header button:hover,.schedule-date-grid button:not(.is-selected):not(:disabled):hover,.schedule-time-period button:not(.is-selected):hover,.schedule-time-choice-columns button:not(.is-selected):hover,.schedule-time-popover-footer button:not(.is-primary):hover{background:var(--surface-secondary);color:var(--text-primary)}.schedule-time-popover-footer button.is-primary:hover{background:var(--primary-hover)}.feedback-category-tabs button:not(.is-selected):hover,.feedback-identity-options button:not(.is-selected):hover,.feedback-success button:hover{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.feedback-category-tabs button:not(.is-selected):hover,.feedback-identity-options button:not(.is-selected):hover,.feedback-success button:hover{background:color-mix(in srgb, var(--surface) 64%, transparent)}}.feedback-category-tabs button:not(.is-selected):hover,.feedback-identity-options button:not(.is-selected):hover,.feedback-success button:hover{color:var(--text-secondary)}.feedback-login-callout a:hover,.feedback-submit-button:not(:disabled):hover{background:var(--primary-hover)}.navigation-link:not(.is-active):hover{background:var(--surface-secondary);color:var(--text-secondary)}.google-login-button:not(:disabled):hover,.secondary-button:hover,.account-admin-link:hover{background:var(--surface-secondary)}.google-login-button:not(:disabled):hover{border-color:#d5d9de}.calendar-month-button:hover,.calendar-today-button:hover,.schedule-secondary-button:hover,.schedule-detail-actions button:hover,.schedule-delete-confirm button:not(.is-danger):hover,.schedule-panel-close:hover,.schedule-inline-detail>header button:hover{background:var(--surface-secondary);color:var(--text-primary)}.schedule-add-button:hover,.schedule-primary-button:hover{background:var(--primary-hover)}.schedule-day-header button:hover,.schedule-load-error button:hover{background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.schedule-day-header button:hover,.schedule-load-error button:hover{background:color-mix(in srgb, var(--primary) 14%, var(--surface))}}.schedule-event-list li>button:hover{background:var(--border)}@supports (color:color-mix(in lab, red, red)){.schedule-event-list li>button:hover{background:color-mix(in srgb, var(--border) 42%, var(--surface-secondary))}}.schedule-time-mode button:not(.is-selected):hover{color:var(--text-secondary)}.today-agenda-link:hover{color:var(--primary-hover)}.resource-attachments>a:hover{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.resource-attachments>a:hover{border-color:color-mix(in srgb, var(--primary) 25%, var(--border))}}.resource-attachments>a:hover{background:var(--primary-soft)}@supports (color:color-mix(in lab, red, red)){.resource-attachments>a:hover{background:color-mix(in srgb, var(--primary-soft) 34%, var(--surface))}}.resource-attachments>a:hover .resource-download-icon{color:var(--primary);opacity:1;transform:translateY(-1px)}.resource-post-delete:hover,.resource-selected-files button:hover,.resource-dropzone>button:hover,.resource-delete-confirm button:not(.is-danger):hover{background:var(--surface-secondary);color:var(--text-primary)}.resource-composer>footer button:not(:disabled):hover{background:var(--primary-hover)}.calendar-event-chip:hover{filter:brightness(.985)}.admin-mobile-bar a:hover,.admin-menu-link:not(.is-active):hover,.admin-student-link:hover{background:var(--surface-secondary)}.admin-access-card a:hover,.admin-error-state button:hover,.thursday-activity-save:not(:disabled):hover{background:var(--primary-hover)}.admin-timetable-shortcut>a:hover,.thursday-activity-bulk button:hover{background:var(--surface-secondary);color:var(--text-primary)}.admin-dashboard-actions a:hover{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.admin-dashboard-actions a:hover{border-color:color-mix(in srgb, var(--primary) 22%, var(--border))}}.admin-dashboard-actions a:hover{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.admin-dashboard-actions a:hover{background:color-mix(in srgb, var(--surface) 90%, var(--primary-soft))}}.admin-dashboard-actions a:hover .admin-dashboard-action-arrow{color:var(--primary);transform:translate(1px,-1px)}.book-recommendation-purchase-link:hover{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.book-recommendation-purchase-link:hover{border-color:color-mix(in srgb, var(--primary) 24%, var(--border))}}.book-recommendation-purchase-link:hover{background:var(--primary-soft);color:var(--primary-hover)}.thursday-activity-options button:not(.is-selected):hover{color:var(--text-secondary)}.timetable-card-footer a:hover,.timetable-unavailable a:hover,.meal-card-main>a:hover{color:var(--text-primary)}}@media (max-width:767px){.admin-timetable-editor-slot.is-mobile-active{animation:admin-timetable-tab-enter var(--duration-standard) var(--ease-standard) both}}@keyframes admin-timetable-tab-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (min-width:768px){.timetable-week-grid .timetable-subject-mobile{display:none}.timetable-week-grid .timetable-subject-desktop{display:block}.admin-timetable-view-switch{display:none}.admin-timetable-editor-slot{display:block}.admin-dashboard-actions>div{grid-template-columns:repeat(2,minmax(0,1fr))}.book-major-category-options{grid-template-columns:repeat(4,minmax(0,1fr))!important}.book-recommendation-card-layout{grid-template-columns:92px minmax(0,1fr);gap:17px}.feedback-guide-card{padding:22px 24px}.feedback-composer-card{padding:28px 30px 30px}.feedback-type-summary{margin-top:28px}.schedule-workspace{--calendar-grid-min-height:390px;--calendar-grid-max-height:672px}.schedule-workspace.is-admin{--calendar-grid-min-height:370px}.empty-state{min-height:250px;padding:36px}.empty-state-action{width:auto}.timetable-card{padding:32px}.today-agenda-card{padding:26px}.resource-post-card{padding:24px}.resource-attachments{grid-template-columns:repeat(2,minmax(0,1fr))}.home-overview{grid-template-columns:minmax(0,1fr) 330px;align-items:stretch;min-height:224px}.home-overview .page-intro{align-self:center;padding:10px 8px 10px 0}.timetable-card h2{font-size:26px}.timetable-data-note{max-width:520px;margin-top:18px;font-size:13px}.timetable-week-wrap{margin-top:28px}.timetable-week-grid thead th{height:64px}.timetable-week-grid thead th:first-child,.timetable-week-grid tbody th{width:52px}.timetable-week-grid thead strong{font-size:15px}.timetable-week-grid thead span{font-size:10px}.timetable-week-grid thead small{font-size:9px;top:8px;right:9px}.timetable-week-grid tbody th,.timetable-week-grid tbody td{height:54px}.timetable-week-grid tbody th{font-size:12px}.timetable-week-grid tbody td{padding:6px 8px;font-size:14px}.calendar-toolbar{margin-bottom:22px}.calendar-header h2{min-width:146px;font-size:22px}.calendar-day{min-height:0;padding:10px 8px}.calendar-day-number{width:27px;height:27px;font-size:13px}.calendar-event-chip{--calendar-event-join:9px;--calendar-event-join-both:18px;min-height:23px;padding:4px 7px;font-size:11px;display:flex}.calendar-event-title{display:block}.calendar-event-chip:nth-child(n+3){display:flex}.calendar-event-chip:nth-child(n+4),.calendar-event-more-mobile{display:none}.calendar-event-more-desktop{display:block}.schedule-date-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-panel{max-width:620px}.schedule-admin-header h1{font-size:30px}.admin-timetable-shortcut,.thursday-activity-summary,.thursday-activity-semester>header,.thursday-activity-row{flex-direction:row}.admin-timetable-shortcut,.thursday-activity-semester>header,.thursday-activity-row{align-items:center}.thursday-activity-summary{align-items:flex-start}.admin-timetable-shortcut>a,.thursday-activity-save{width:auto}.thursday-activity-bulk button{flex:none}.thursday-activity-options{width:244px}}@media (max-width:520px){:root{--mobile-gutter:18px}.main-content{padding-top:34px}.page-intro h1,.admin-page-header h1,.schedule-admin-header h1{font-size:25px}.account-card,.admin-access-card{padding:22px 20px}.today-agenda-card,.timetable-card,.feedback-composer-card,.resource-post-card{padding:18px}.calendar-surface,.schedule-day-panel,.schedule-inline-detail,.admin-section{border-radius:var(--radius-lg)}.admin-main{padding-top:30px}.admin-mobile-navigation-link small{font-size:9px}.resource-due-date{flex-direction:column;align-items:stretch;gap:7px;padding:6px 13px 8px}.resource-due-date .schedule-custom-input{width:100%}.resource-delete-confirm{flex-direction:column;align-items:stretch}.resource-delete-confirm>div{justify-content:flex-end}.book-recommendation-form-body{padding:18px}.book-cover-dropzone{flex-wrap:wrap;align-items:flex-start}.book-cover-dropzone>div{flex-basis:calc(100% - 34px)}.book-cover-dropzone>button{width:100%}.book-recommendation-form-footer{grid-template-columns:minmax(0,1fr)}.admin-timetable-editor-header{flex-direction:column;align-items:stretch;gap:14px;padding:18px}.admin-timetable-editor-actions{width:100%}.admin-timetable-editor-actions button{flex:1 1 0}.feedback-login-callout{flex-wrap:wrap}.feedback-login-callout a{width:100%;margin-top:3px}.admin-feedback-card>header,.admin-feedback-card>footer{flex-direction:column;align-items:flex-start}.admin-feedback-card>footer p{text-align:left}}@media (min-width:1024px){.schedule-workspace.is-student{--calendar-grid-min-height:360px;--calendar-grid-ideal-height:calc(100dvh - 326px)}.schedule-workspace.is-admin{--calendar-grid-min-height:350px;--calendar-grid-ideal-height:calc(100dvh - 358px)}.app-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);display:grid}.desktop-navigation{border-right:1px solid var(--border);background:var(--surface);height:100dvh;display:block;position:sticky;top:0}.desktop-navigation-inner{flex-direction:column;height:100%;padding:38px 20px 24px;display:flex}.class-identity{align-items:center;gap:11px;margin:0 10px 34px;display:flex}.class-identity-mark,.admin-brand-mark{background:linear-gradient(145deg, var(--primary), var(--primary-active));color:#fff;border-radius:13px;flex:none;place-items:center;width:38px;height:38px;font-size:17px;font-weight:800;display:inline-grid;box-shadow:0 8px 20px #5c4f992e}.class-identity>div{min-width:0;display:grid}.class-identity strong{color:var(--text-primary);letter-spacing:-.032em;font-size:18px;font-weight:750;line-height:1.35}.class-identity small{color:var(--text-tertiary);letter-spacing:.075em;margin-top:1px;font-size:9px;font-weight:700}.desktop-navigation-links{flex-direction:column;gap:6px;display:flex}.desktop-navigation .navigation-link{justify-content:flex-start;min-height:52px;padding:0 15px;font-size:15px}.desktop-navigation .navigation-indicator{border-radius:12px;inset:0}.desktop-navigation .navigation-label{gap:13px}.mobile-navigation{display:none}.top-bar{height:var(--header-height-desktop)}.top-bar-inner{max-width:var(--content-width);margin:0 auto;padding:0 48px}.top-bar h2{font-size:20px}.main-content{min-height:calc(100vh - var(--header-height-desktop));padding:62px 48px 80px}.site-copyright{padding:0 48px 30px}.page-intro{margin-bottom:34px}.page-intro h1{font-size:30px}.page-intro p{font-size:16px}.calendar-weekdays{height:46px}.calendar-weekday{font-size:13px}.calendar-day{min-height:0;padding:10px 8px}.calendar-event-chip{font-size:11px}.schedule-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:20px}.schedule-side-column{position:static;top:auto}.schedule-day-panel{padding:24px}.schedule-panel-overlay{justify-content:flex-end;align-items:stretch}.schedule-panel{border-radius:0;width:min(440px,40vw);max-width:none;max-height:100vh;box-shadow:-10px 0 36px #191f281f}.schedule-panel-header{padding:28px 28px 20px}.schedule-form-body,.schedule-detail-body{padding:24px 28px}.schedule-form-footer,.schedule-detail-actions{padding:16px 28px 22px}.schedule-feedback{width:320px;margin:0;bottom:24px;left:auto;right:24px}.admin-schedule-main{max-width:1280px}.admin-resources-main{max-width:1080px}.admin-shell{grid-template-columns:232px minmax(0,1fr);display:grid}.admin-sidebar{border-right:1px solid var(--border);background:var(--surface);height:100dvh;display:block;position:sticky;top:0}.admin-sidebar-inner{flex-direction:column;height:100%;padding:34px 18px 22px;display:flex}.admin-brand{align-items:center;gap:10px;margin:0 10px 32px;display:flex}.admin-brand>div>p,.admin-brand>div>span{margin:0}.admin-brand>div>p{letter-spacing:-.03em;font-size:17px;font-weight:750;line-height:1.35}.admin-brand>div>span{color:var(--text-tertiary);margin-top:1px;font-size:10px;font-weight:650;display:block}.admin-menu{flex-direction:column;display:flex}.admin-menu-link,.admin-student-link{border-radius:var(--radius-small);min-height:50px;color:var(--text-secondary);transition:background-color var(--duration-navigation) var(--ease-standard), color var(--duration-navigation) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);align-items:center;gap:12px;padding:0 14px;font-size:15px;font-weight:500;display:flex}.admin-menu-link{position:relative}.admin-navigation-indicator{z-index:0;border-radius:var(--radius-small);background:var(--primary-soft);position:absolute;inset:0}.admin-menu-label{z-index:1;align-items:center;gap:12px;display:flex;position:relative}.admin-menu-label svg{transition:color var(--duration-navigation) var(--ease-standard), transform var(--duration-navigation) var(--ease-standard);flex:none}.admin-menu-link.is-active{color:var(--primary)}.admin-menu-link.is-active .admin-menu-label svg{transform:translateY(-1.5px)scale(1.04)}.admin-student-link{color:var(--text-tertiary);margin-top:auto;font-size:14px}.admin-mobile-bar,.admin-mobile-navigation{display:none}.admin-main{padding:58px 48px 88px}.admin-page-header h1{font-size:30px}.admin-dashboard-sections{gap:22px;margin-top:40px}.admin-section{padding:30px}}@media (min-width:1200px){.schedule-layout{grid-template-columns:minmax(0,1fr) 310px}.schedule-workspace.is-student .schedule-side-column{top:calc(var(--header-height-desktop) + 24px);position:sticky}.schedule-workspace.is-admin .schedule-side-column{position:sticky;top:24px}}@media (max-width:767px) and (max-height:900px){.calendar-day{padding:6px 3px}.calendar-day-number{width:24px;height:24px}.calendar-day-events{gap:3px;margin-top:3px}.calendar-event-chip{min-height:18px;padding:2px 3px}}@media (min-width:768px) and (max-height:1000px){.calendar-day{padding:7px 6px}.calendar-day-number{width:25px;height:25px}.calendar-day-events{gap:3px;margin-top:3px}.calendar-event-chip{min-height:20px;padding:3px 5px}.calendar-event-chip:nth-child(n+3){display:none}.calendar-event-more-mobile{display:block}.calendar-event-more-desktop{display:none}}@media (max-height:760px){.calendar-day{padding-block:5px}.calendar-day-number{width:23px;height:23px;font-size:11px}.calendar-day-events{gap:2px;margin-top:2px}.calendar-event-chip{min-height:18px;padding-block:2px}.calendar-event-chip:nth-child(n+2),.calendar-event-more-mobile,.calendar-event-more-desktop{display:none}.calendar-event-more-compact{display:block}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.primary-link:active,.navigation-link:active,.calendar-month-button:active,.calendar-today-button:active,.schedule-add-button:active,.schedule-day-header button:active,.schedule-load-error button:active,.schedule-primary-button:active,.schedule-secondary-button:active,.schedule-detail-actions button:active,.schedule-delete-confirm button:active,.schedule-panel-close:active,.schedule-event-list li>button:active,.schedule-inline-detail>header button:active,.schedule-reminder-toggle:active,.schedule-time-mode button:active,.today-agenda-link:active,.resource-post-delete:active,.resource-attachments>a:active,.resource-dropzone>button:active,.resource-composer>footer button:active,.resource-delete-confirm button:active,.google-login-button:active,.secondary-button:active,.admin-access-card a:active,.admin-error-state button:active,.admin-mobile-bar a:active,.admin-menu-link:active,.admin-student-link:active,.admin-timetable-shortcut>a:active,.thursday-activity-save:active,.thursday-activity-bulk button:active,.thursday-activity-options button:active,.navigation-link.is-active .navigation-label svg,.admin-menu-link.is-active .admin-menu-label svg{transform:none}.timetable-skeleton>div,.thursday-activity-spinner,.meal-card:before,.meal-card:after,.today-agenda-skeleton>span,.today-agenda-skeleton>div,.resource-spinner,.resource-loading-header,.resource-loading-composer,.resource-loading-post,.feedback-spinner,.auth-button-spinner,.home-content:before,.account-page:before{animation:none;transform:none}.feedback-category-tabs button:active,.feedback-identity-options button:active,.feedback-submit-button:active,.feedback-success button:active,.feedback-login-callout a:active,.class-chat-form button:active{transform:none}.class-chat-typing i{animation:none;transform:none}.schedule-custom-trigger:active,.schedule-select-options button:active,.schedule-date-popover button:active,.schedule-time-popover button:active{transform:none}.schedule-reminder-toggle.is-on>span{left:21px;transform:none}}.vocabulary-admin-main{max-width:1120px}.vocabulary-admin-manager{margin-top:32px}.vocabulary-admin-feedback{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-height:44px;color:var(--text-secondary);transition:border-color var(--duration-standard) var(--ease-standard), background-color var(--duration-standard) var(--ease-standard), color var(--duration-standard) var(--ease-standard);align-items:center;gap:9px;margin-bottom:14px;padding:10px 14px;font-size:13px;font-weight:600;line-height:1.45;display:flex}.vocabulary-admin-feedback svg{flex:none}.vocabulary-admin-feedback.is-success{border-color:#17a47b}@supports (color:color-mix(in lab, red, red)){.vocabulary-admin-feedback.is-success{border-color:color-mix(in srgb, #17a47b 18%, var(--border))}}.vocabulary-admin-feedback.is-success{background:#eaf9f4}@supports (color:color-mix(in lab, red, red)){.vocabulary-admin-feedback.is-success{background:color-mix(in srgb, #eaf9f4 76%, var(--surface))}}.vocabulary-admin-feedback.is-success{color:#087c5c}.vocabulary-admin-feedback.is-error{border-color:#d54858}@supports (color:color-mix(in lab, red, red)){.vocabulary-admin-feedback.is-error{border-color:color-mix(in srgb, #d54858 20%, var(--border))}}.vocabulary-admin-feedback.is-error{background:#fff1f3}@supports (color:color-mix(in lab, red, red)){.vocabulary-admin-feedback.is-error{background:color-mix(in srgb, #fff1f3 76%, var(--surface))}}.vocabulary-admin-feedback.is-error{color:#b93649}.vocabulary-admin-grid{grid-template-columns:minmax(0,.82fr) minmax(390px,1.18fr);align-items:start;gap:16px;display:grid}.vocabulary-admin-controls{gap:16px;display:grid}.vocabulary-admin-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);min-width:0;box-shadow:var(--shadow-soft);padding:20px}.vocabulary-admin-card>header{align-items:flex-start;gap:12px;display:flex}.vocabulary-admin-card>header>span{background:var(--primary-soft);width:38px;height:38px;color:var(--primary-hover);border-radius:12px;flex:none;justify-content:center;align-items:center;display:inline-flex}.vocabulary-admin-card h2,.vocabulary-admin-card p{margin:0}.vocabulary-admin-card h2{color:var(--text-primary);letter-spacing:-.025em;font-size:17px;font-weight:700;line-height:1.4}.vocabulary-admin-card>header p{color:var(--text-tertiary);margin-top:2px;font-size:12px;line-height:1.5}.vocabulary-admin-form-stack{gap:14px;margin-top:18px;display:grid}.vocabulary-admin-field{gap:7px;margin-top:18px;display:grid}.vocabulary-admin-form-stack .vocabulary-admin-field{margin-top:0}.vocabulary-admin-field>span{color:var(--text-secondary);font-size:13px;font-weight:650;line-height:1.4}.vocabulary-admin-field input,.vocabulary-admin-field textarea,.vocabulary-admin-field select,.vocabulary-admin-folder-create input,.vocabulary-admin-section-create input,.vocabulary-admin-section-create select,.vocabulary-admin-word-filters input,.vocabulary-admin-word-filters select{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-secondary);width:100%;color:var(--text-primary);font:inherit;transition:border-color var(--duration-standard) var(--ease-standard), background-color var(--duration-standard) var(--ease-standard), box-shadow var(--duration-standard) var(--ease-standard);outline:none;font-size:14px}.vocabulary-admin-field input,.vocabulary-admin-field select,.vocabulary-admin-folder-create input,.vocabulary-admin-section-create input,.vocabulary-admin-section-create select,.vocabulary-admin-word-filters input,.vocabulary-admin-word-filters select{min-height:46px;padding:0 13px}.vocabulary-admin-field textarea{resize:vertical;min-height:108px;padding:12px 13px;line-height:1.6}.vocabulary-admin-field select,.vocabulary-admin-word-filters select{cursor:pointer}.vocabulary-admin-field input::placeholder,.vocabulary-admin-field textarea::placeholder,.vocabulary-admin-folder-create input::placeholder,.vocabulary-admin-section-create input::placeholder,.vocabulary-admin-word-filters input::placeholder{color:var(--text-disabled)}.vocabulary-admin-field input:focus,.vocabulary-admin-field textarea:focus,.vocabulary-admin-field select:focus,.vocabulary-admin-folder-create input:focus,.vocabulary-admin-section-create input:focus,.vocabulary-admin-section-create select:focus,.vocabulary-admin-word-filters input:focus,.vocabulary-admin-word-filters select:focus{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.vocabulary-admin-field input:focus,.vocabulary-admin-field textarea:focus,.vocabulary-admin-field select:focus,.vocabulary-admin-folder-create input:focus,.vocabulary-admin-section-create input:focus,.vocabulary-admin-section-create select:focus,.vocabulary-admin-word-filters input:focus,.vocabulary-admin-word-filters select:focus{border-color:color-mix(in srgb, var(--primary) 46%, var(--border))}}.vocabulary-admin-field input:focus,.vocabulary-admin-field textarea:focus,.vocabulary-admin-field select:focus,.vocabulary-admin-folder-create input:focus,.vocabulary-admin-section-create input:focus,.vocabulary-admin-section-create select:focus,.vocabulary-admin-word-filters input:focus,.vocabulary-admin-word-filters select:focus{background:var(--surface);box-shadow:0 0 0 3px var(--primary)}@supports (color:color-mix(in lab, red, red)){.vocabulary-admin-field input:focus,.vocabulary-admin-field textarea:focus,.vocabulary-admin-field select:focus,.vocabulary-admin-folder-create input:focus,.vocabulary-admin-section-create input:focus,.vocabulary-admin-section-create select:focus,.vocabulary-admin-word-filters input:focus,.vocabulary-admin-word-filters select:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 10%, transparent)}}.vocabulary-admin-primary-button,.vocabulary-admin-import-actions button,.vocabulary-admin-folder-create button,.vocabulary-admin-section-create button,.vocabulary-admin-folder-row button,.vocabulary-admin-delete-selected,.vocabulary-admin-delete-confirm button,.vocabulary-admin-word-list article>button{border-radius:var(--radius-sm);cursor:pointer;min-height:42px;font:inherit;transition:background-color var(--duration-instant) var(--ease-standard), color var(--duration-instant) var(--ease-standard), transform var(--duration-instant) var(--ease-standard), opacity var(--duration-instant) var(--ease-standard);border:0;justify-content:center;align-items:center;gap:7px;font-size:13px;font-weight:650;display:inline-flex}.vocabulary-admin-primary-button{background:var(--primary);color:#fff;width:100%}.vocabulary-admin-primary-button:disabled,.vocabulary-admin-import-actions button:disabled,.vocabulary-admin-folder-create button:disabled,.vocabulary-admin-section-create button:disabled,.vocabulary-admin-folder-row button:disabled,.vocabulary-admin-delete-selected:disabled,.vocabulary-admin-delete-confirm button:disabled,.vocabulary-admin-word-list article>button:disabled{cursor:not-allowed;opacity:.42;transform:none}.vocabulary-admin-primary-button:active,.vocabulary-admin-import-actions button:active,.vocabulary-admin-folder-create button:active,.vocabulary-admin-section-create button:active,.vocabulary-admin-folder-row button:active,.vocabulary-admin-delete-selected:active,.vocabulary-admin-delete-confirm button:active,.vocabulary-admin-word-list article>button:active{transform:scale(.98)}.vocabulary-admin-file-field{border:1px dashed var(--primary);grid-template-columns:22px minmax(0,1fr);align-content:center;align-items:center;gap:2px 9px;min-height:106px;margin-top:18px;padding:16px;display:grid;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.vocabulary-admin-file-field{border:1px dashed color-mix(in srgb, var(--primary) 28%, var(--border))}}.vocabulary-admin-file-field{border-radius:var(--radius-md);background:var(--primary-soft)}@supports (color:color-mix(in lab, red, red)){.vocabulary-admin-file-field{background:color-mix(in srgb, var(--primary-soft) 35%, var(--surface))}}.vocabulary-admin-file-field{color:var(--primary-hover);cursor:pointer;transition:border-color var(--duration-standard) var(--ease-standard), background-color var(--duration-standard) var(--ease-standard)}.vocabulary-admin-file-field input{opacity:0;width:1px;height:1px;position:absolute}.vocabulary-admin-file-field>svg{grid-row:1/span 2}.vocabulary-admin-file-field>span{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:650;overflow:hidden}.vocabulary-admin-file-field>small{color:var(--text-tertiary);font-size:11px}.vocabulary-admin-import-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.vocabulary-admin-import-actions button{background:var(--surface-secondary);color:var(--text-secondary)}.vocabulary-admin-import-actions button.is-primary{background:var(--primary);color:#fff}.vocabulary-admin-import-preview{border-radius:var(--radius-md);background:var(--surface-secondary);grid-template-columns:1fr auto;gap:4px 10px;margin-top:12px;padding:13px;font-size:12px;display:grid}.vocabulary-admin-import-preview>strong{color:var(--text-primary);font-weight:700}.vocabulary-admin-import-preview>span{color:var(--text-tertiary)}.vocabulary-admin-import-preview ul{border-top:1px solid var(--border);grid-column:1/-1;gap:7px;margin:8px 0 0;padding:10px 0 0;list-style:none;display:grid}.vocabulary-admin-import-preview li{grid-template-columns:minmax(76px,.55fr) minmax(0,1fr) auto;align-items:center;gap:7px;min-width:0;display:grid}.vocabulary-admin-import-preview li b,.vocabulary-admin-import-preview li span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vocabulary-admin-import-preview li b{color:var(--text-primary)}.vocabulary-admin-import-preview li span{color:var(--text-secondary)}.vocabulary-admin-import-preview li small{background:var(--primary-soft);color:var(--primary-hover);border-radius:999px;padding:3px 7px;font-size:10px;font-weight:650}.vocabulary-admin-folder-create{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:18px;display:grid}.vocabulary-admin-folder-create button{background:var(--text-primary);min-width:66px;color:var(--surface);padding:0 14px}.vocabulary-admin-section-create{grid-template-columns:minmax(110px,.72fr) minmax(0,1fr) auto;gap:8px;margin-top:18px;display:grid}.vocabulary-admin-section-create input,.vocabulary-admin-section-create select{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-secondary);width:100%;min-width:0;min-height:46px;color:var(--text-primary);font:inherit;transition:border-color var(--duration-standard) var(--ease-standard), background-color var(--duration-standard) var(--ease-standard), box-shadow var(--duration-standard) var(--ease-standard);outline:none;padding:0 13px;font-size:13px}.vocabulary-admin-section-create select{cursor:pointer}.vocabulary-admin-section-create button{background:var(--text-primary);min-width:72px;color:var(--surface);padding:0 13px}.vocabulary-admin-folder-list{gap:7px;margin-top:12px;display:grid}.vocabulary-admin-folder-row{border-radius:var(--radius-md);background:var(--surface-secondary);justify-content:space-between;align-items:center;gap:10px;min-height:46px;padding:6px 7px 6px 12px;display:flex}.vocabulary-admin-folder-row>span{min-width:0;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex;overflow:hidden}.vocabulary-admin-folder-row>span svg{color:var(--primary);flex:none}.vocabulary-admin-section-row>span>span{gap:1px;min-width:0;display:grid}.vocabulary-admin-section-row>span b,.vocabulary-admin-section-row>span small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.vocabulary-admin-section-row>span b{color:var(--text-primary);font-size:13px}.vocabulary-admin-section-row>span small{color:var(--text-tertiary);font-size:10px;font-weight:600}.vocabulary-admin-folder-row>button{width:34px;min-height:34px;color:var(--text-tertiary);background:0 0;flex:none}.vocabulary-admin-folder-row>div{flex:none;gap:5px;display:flex}.vocabulary-admin-folder-row>div button{background:var(--surface);min-height:32px;color:var(--text-secondary);padding:0 10px;font-size:11px}.vocabulary-admin-folder-row>div button.is-danger{color:#c33649;background:#fff0f2}.vocabulary-admin-empty-small{color:var(--text-tertiary);padding:12px 2px 2px;font-size:13px}.vocabulary-admin-word-card{padding:0;overflow:hidden}.vocabulary-admin-word-card>header.vocabulary-admin-word-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:20px}.vocabulary-admin-word-card>header.vocabulary-admin-word-header p{margin-top:3px}.vocabulary-admin-delete-selected{color:#c33649;background:#fff0f2;flex:none;min-height:38px;padding:0 12px}.vocabulary-admin-delete-confirm{border-radius:var(--radius-md);color:#a92e41;background:#fff1f3;justify-content:space-between;align-items:center;gap:12px;margin:12px 14px 0;padding:10px 12px;font-size:12px;font-weight:650;display:flex}.vocabulary-admin-delete-confirm>div{flex:none;gap:6px;display:flex}.vocabulary-admin-delete-confirm button{color:#a92e41;background:#fff;min-height:32px;padding:0 9px;font-size:11px}.vocabulary-admin-delete-confirm button:last-child{color:#fff;background:#c63c50}.vocabulary-admin-word-filters{grid-template-columns:minmax(0,1fr) 130px 130px;gap:8px;padding:14px;display:grid}.vocabulary-admin-word-filters label{min-width:0;position:relative}.vocabulary-admin-word-filters label svg{z-index:1;color:var(--text-tertiary);pointer-events:none;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.vocabulary-admin-word-filters input{padding-left:40px}.vocabulary-admin-word-list{scrollbar-width:none;gap:7px;max-height:860px;padding:0 14px 14px;display:grid;overflow-y:auto}.vocabulary-admin-word-list::-webkit-scrollbar{display:none}.vocabulary-admin-word-list article{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-height:76px;transition:border-color var(--duration-standard) var(--ease-standard), background-color var(--duration-standard) var(--ease-standard);grid-template-columns:24px minmax(0,1fr) 36px;align-items:center;gap:10px;padding:11px 9px 11px 12px;display:grid}.vocabulary-admin-word-list article.is-selected{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.vocabulary-admin-word-list article.is-selected{border-color:color-mix(in srgb, var(--primary) 30%, var(--border))}}.vocabulary-admin-word-list article.is-selected{background:var(--primary-soft)}@supports (color:color-mix(in lab, red, red)){.vocabulary-admin-word-list article.is-selected{background:color-mix(in srgb, var(--primary-soft) 40%, var(--surface))}}.vocabulary-admin-word-select{cursor:pointer;width:20px;height:20px;position:relative}.vocabulary-admin-word-select input{opacity:0;width:1px;height:1px;position:absolute}.vocabulary-admin-word-select>span:not(.sr-only){border:1px solid var(--border-strong);background:var(--surface);color:#0000;width:20px;height:20px;transition:border-color var(--duration-instant) var(--ease-standard), background-color var(--duration-instant) var(--ease-standard), color var(--duration-instant) var(--ease-standard), transform var(--duration-instant) var(--ease-standard);border-radius:7px;justify-content:center;align-items:center;display:inline-flex}.vocabulary-admin-word-select input:checked+span{border-color:var(--primary);background:var(--primary);color:#fff}.vocabulary-admin-word-select input:focus-visible+span{outline:3px solid var(--primary)}@supports (color:color-mix(in lab, red, red)){.vocabulary-admin-word-select input:focus-visible+span{outline:3px solid color-mix(in srgb, var(--primary) 24%, transparent)}}.vocabulary-admin-word-select input:focus-visible+span{outline-offset:2px}.vocabulary-admin-word-copy{min-width:0}.vocabulary-admin-word-copy strong,.vocabulary-admin-word-copy p,.vocabulary-admin-word-copy small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.vocabulary-admin-word-copy strong{color:var(--text-primary);font-size:14px;font-weight:700}.vocabulary-admin-word-copy p{color:var(--text-secondary);margin-top:3px;font-size:12px}.vocabulary-admin-word-copy small{color:var(--primary);margin-top:3px;font-size:10px;font-weight:650}.vocabulary-admin-word-list article>button{width:34px;min-height:34px;color:var(--text-tertiary);background:0 0}.vocabulary-admin-word-skeleton{border-radius:var(--radius-md);background:var(--surface-secondary);min-height:76px;animation:1.35s ease-in-out infinite alternate vocabulary-admin-pulse}.vocabulary-admin-empty{min-height:250px;color:var(--text-tertiary);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:30px;display:flex}.vocabulary-admin-empty svg{color:var(--primary);margin-bottom:12px}.vocabulary-admin-empty strong{color:var(--text-primary);font-size:15px}.vocabulary-admin-empty p{max-width:290px;margin-top:5px;font-size:12px;line-height:1.55}.vocabulary-admin-auth-state{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);min-height:170px;box-shadow:var(--shadow-soft);grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:14px;margin-top:32px;padding:24px;display:grid}.vocabulary-admin-auth-state>span{background:var(--primary-soft);width:42px;height:42px;color:var(--primary);border-radius:13px;justify-content:center;align-items:center;display:inline-flex}.vocabulary-admin-auth-state h2,.vocabulary-admin-auth-state p{margin:0}.vocabulary-admin-auth-state h2{font-size:16px;font-weight:700}.vocabulary-admin-auth-state p{color:var(--text-secondary);margin-top:4px;font-size:13px;line-height:1.55}.vocabulary-admin-auth-state>a{border-radius:var(--radius-sm);background:var(--primary);color:#fff;align-items:center;min-height:42px;padding:0 14px;font-size:13px;font-weight:650;display:inline-flex}.vocabulary-page-copyright{color:var(--text-disabled);letter-spacing:.015em;text-align:center;padding:30px 0 0;font-size:11px;font-weight:600}.vocabulary-admin-spinner{animation:.76s linear infinite vocabulary-admin-spin}@keyframes vocabulary-admin-spin{to{transform:rotate(360deg)}}@keyframes vocabulary-admin-pulse{0%{opacity:.58}to{opacity:1}}@media (hover:hover) and (pointer:fine){.vocabulary-admin-primary-button:hover,.vocabulary-admin-import-actions button.is-primary:hover{background:var(--primary-hover)}.vocabulary-admin-import-actions button:not(.is-primary):hover,.vocabulary-admin-section-create button:hover,.vocabulary-admin-folder-row>button:hover,.vocabulary-admin-word-list article>button:hover{background:var(--primary-soft);color:var(--primary-hover)}.vocabulary-admin-file-field:hover{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.vocabulary-admin-file-field:hover{border-color:color-mix(in srgb, var(--primary) 52%, var(--border))}}.vocabulary-admin-file-field:hover{background:var(--primary-soft)}@supports (color:color-mix(in lab, red, red)){.vocabulary-admin-file-field:hover{background:color-mix(in srgb, var(--primary-soft) 64%, var(--surface))}}.vocabulary-admin-delete-selected:hover:not(:disabled),.vocabulary-admin-word-list article>button:hover:not(:disabled){color:#bd3346}}@media (max-width:920px){.vocabulary-admin-grid{grid-template-columns:minmax(0,1fr)}.vocabulary-admin-controls{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.vocabulary-admin-word-list{max-height:none}}@media (max-width:640px){.vocabulary-admin-manager{margin-top:26px}.vocabulary-admin-controls{grid-template-columns:minmax(0,1fr)}.vocabulary-admin-card{border-radius:var(--radius-lg);padding:18px}.vocabulary-admin-word-card{padding:0}.vocabulary-admin-word-card>header.vocabulary-admin-word-header{align-items:flex-start;padding:18px}.vocabulary-admin-delete-selected{text-overflow:ellipsis;white-space:nowrap;max-width:124px;overflow:hidden}.vocabulary-admin-word-filters{grid-template-columns:minmax(0,1fr);padding:12px}.vocabulary-admin-section-create{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.vocabulary-admin-section-create button{grid-column:1/-1;width:100%}.vocabulary-admin-word-list{padding:0 12px 12px}.vocabulary-admin-delete-confirm,.vocabulary-admin-auth-state{grid-template-columns:minmax(0,1fr);align-items:stretch}.vocabulary-admin-delete-confirm{flex-direction:column}.vocabulary-admin-delete-confirm>div,.vocabulary-admin-auth-state>a{width:100%}.vocabulary-admin-delete-confirm button{flex:1}.vocabulary-admin-import-preview li{grid-template-columns:minmax(74px,.55fr) minmax(0,1fr)}.vocabulary-admin-import-preview li small{display:none}}@media (max-width:420px){.admin-mobile-navigation-link small{letter-spacing:-.035em;font-size:8px}.vocabulary-admin-feedback{align-items:flex-start}.vocabulary-admin-folder-create,.vocabulary-admin-section-create{grid-template-columns:minmax(0,1fr)}.vocabulary-admin-section-create button{grid-column:auto}.vocabulary-admin-folder-create button{width:100%}}@media (prefers-reduced-motion:reduce){.vocabulary-admin-spinner,.vocabulary-admin-word-skeleton{animation:none}.vocabulary-admin-primary-button:active,.vocabulary-admin-import-actions button:active,.vocabulary-admin-folder-create button:active,.vocabulary-admin-section-create button:active,.vocabulary-admin-folder-row button:active,.vocabulary-admin-delete-selected:active,.vocabulary-admin-delete-confirm button:active,.vocabulary-admin-word-list article>button:active{transform:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
