@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-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-outline-style:solid;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:var(--font-pretendard), sans-serif;--font-mono:var(--font-jetbrains), monospace;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--leading-snug:1.375;--leading-normal:1.5;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-pretendard), sans-serif;--default-mono-font-family:var(--font-jetbrains), monospace;--radius:.25rem;--background:#fafaf9;--foreground:#080503;--secondary:#f3f2ee;--muted:#ecebe7;--muted-foreground:#5e534a;--accent:#e7e4dd;--border:#dad7d0;--radius-shell:2.5rem;--radius-card:1.5rem;--radius-pill:9999px;--motion-enter-duration:.7s;--motion-enter-distance:1rem;--motion-enter-ease:cubic-bezier(.22, 1, .36, 1);--motion-step:.1s;--color-background:var(--background);--color-foreground:var(--foreground);--color-secondary:var(--secondary);--color-muted-foreground:var(--muted-foreground)}}@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}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:7rem}body{background:var(--foreground);color:var(--foreground);font-family:var(--font-sans);word-break:keep-all;-webkit-font-smoothing:antialiased;margin:0}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button:not(:disabled),a{cursor:pointer}button:disabled{cursor:not-allowed}button,input,textarea{font:inherit}:focus-visible{outline-offset:5px;outline:2px solid}::selection{background:var(--accent);color:var(--foreground)}h1,h2,h3,p{margin:0}a{text-decoration:none}}@layer components{.container-wrap{width:100%;max-width:1400px;margin-inline:auto;padding-inline:24px}.site-shell{isolation:isolate;border-radius:var(--radius-shell) var(--radius-shell) 0 0;background:var(--background);margin-top:8px;position:relative;overflow:clip}.section-space{padding-block:96px}.display-title{letter-spacing:-.055em;font-size:clamp(2.5rem,7vw,6rem);font-weight:550;line-height:1.15}.section-title{letter-spacing:-.045em;font-size:36px;font-weight:550;line-height:1.2}.serif-display{font-family:var(--font-display), var(--font-noto-serif), serif;letter-spacing:-.02em;line-height:1.15}.eyebrow{font-family:var(--font-mono);letter-spacing:.12em;font-size:12px;line-height:1.8;display:block}.body-copy{color:var(--muted-foreground);font-size:18px;line-height:1.8}.pill-button{border-radius:var(--radius-pill);justify-content:center;align-items:center;gap:12px;min-height:44px;padding:12px 22px;font-size:14px;font-weight:600;line-height:1.4;transition:background-color .2s,color .2s;display:inline-flex}.button-fill{color:var(--background);background:var(--foreground)}.button-fill:hover:not(:disabled){background:var(--muted-foreground)}.button-outline{color:var(--foreground);border:1px solid #0805031a}@supports (color:color-mix(in lab, red, red)){.button-outline{border:1px solid color-mix(in srgb, var(--foreground) 10%, transparent)}}.button-outline:hover:not(:disabled){background:var(--secondary)}.button-inverse{background:var(--background);color:var(--foreground)}.button-inverse:hover:not(:disabled){background:var(--accent)}.site-header{z-index:40;border-radius:var(--radius-shell) var(--radius-shell) 0 0;transition:background-color .2s;position:fixed;inset:8px 0 auto}.site-header[data-scrolled=true]{background:#fafaf9cc}@supports (color:color-mix(in lab, red, red)){.site-header[data-scrolled=true]{background:color-mix(in srgb, var(--background) 80%, transparent)}}.site-header[data-scrolled=true]{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.header-row{justify-content:space-between;align-items:center;min-width:0;height:104px;display:flex}.brand{letter-spacing:-.055em;white-space:nowrap;flex:none;align-items:center;gap:8px;min-height:44px;font-size:21px;font-weight:750;display:inline-flex}.header-row{gap:12px}.header-request{flex:none;max-width:4rem;padding-inline:14px;overflow:hidden}.header-request-label,.header-nav-link,.header-dialog-request{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.header-nav-link{max-width:8rem}.header-dialog-request{max-width:12rem}.text-link{align-items:center;min-height:44px;display:inline-flex}a.text-link:hover{text-underline-offset:4px;text-decoration:underline}.site-header [aria-current=page],.site-nav [aria-current=page]>span:not(.nav-number){text-underline-offset:6px;text-decoration:underline}.site-nav a,.site-nav button{min-height:44px}.site-nav>div:last-child a{align-items:center;display:inline-flex}.form-preview summary{padding-block:12px;list-style-position:inside;display:list-item}.form-preview fieldset:disabled{cursor:not-allowed}main:focus{outline:none}footer a{min-height:44px}footer ul a{align-items:center;min-height:44px;display:inline-flex}.menu-button{width:44px;height:44px;color:inherit;background:0 0;border:0;place-content:center;gap:7px;display:grid}.menu-button span{background:currentColor;width:22px;height:1.5px;display:block}.site-nav{background:var(--foreground);width:100%;max-width:none;height:100dvh;max-height:none;color:var(--background);border:0;margin:0;padding:0;inset:0;overflow-y:auto}.site-nav::backdrop{background:var(--foreground)}.nav-grid{grid-template-columns:1fr;margin-top:24px;display:grid}.nav-grid a,.nav-grid button{border:0;border-top:1px solid;align-items:center;gap:20px;width:100%;padding-block:23px;display:flex}@supports (color:color-mix(in lab, red, red)){.nav-grid a,.nav-grid button{border-top:1px solid color-mix(in srgb, currentColor 12%, transparent)}}.nav-grid a,.nav-grid button{color:inherit;text-align:left;letter-spacing:-.04em;background:0 0;font-size:27px;font-weight:550;transition:background-color .2s}.nav-grid a:hover,.nav-grid button:hover{background:#fafaf90f}@supports (color:color-mix(in lab, red, red)){.nav-grid a:hover,.nav-grid button:hover{background:color-mix(in srgb, var(--background) 6%, transparent)}}.nav-action{display:contents}.nav-number{width:24px;font:11px var(--font-mono);opacity:.5;letter-spacing:0;flex:none}.hero{min-height:100svh;padding-top:218px;padding-bottom:104px;position:relative}.hero-pattern{pointer-events:none;z-index:-1;width:1100px;height:1040px;color:var(--foreground);position:absolute;top:-90px;right:-640px}.dark-panel{border-radius:var(--radius-shell);background:var(--foreground);color:var(--background)}.topic-word{letter-spacing:-.035em;align-items:center;gap:12px;font-size:18px;font-weight:650;line-height:1.4;display:flex}.outline-card{border:1px solid #0805031a;flex-direction:column;align-items:flex-start;height:100%;padding:32px;display:flex}@supports (color:color-mix(in lab, red, red)){.outline-card{border:1px solid color-mix(in srgb, var(--foreground) 10%, transparent)}}.outline-card{border-radius:var(--radius-card);transition:background-color .3s}.outline-card:hover{background:var(--secondary)}.field-row{border-top:1px solid #0805031a;grid-template-columns:32px 1fr;gap:16px;padding-block:28px;display:grid}@supports (color:color-mix(in lab, red, red)){.field-row{border-top:1px solid color-mix(in srgb, var(--foreground) 10%, transparent)}}.field-row h3{font-size:18px;font-weight:650;transition:transform .5s}.field-row:hover h3{transform:translate(8px)}.contact-panel{padding:40px 28px}.route-intro{padding-top:210px;padding-bottom:72px;position:relative}.route-intro-compact{padding-top:160px;padding-bottom:40px}.form-label{margin-bottom:12px;font-size:14px;font-weight:600;display:block}.form-input{border:1px solid #0805031a;width:100%;min-width:0;height:52px;padding:12px 14px;display:flex}@supports (color:color-mix(in lab, red, red)){.form-input{border:1px solid color-mix(in srgb, var(--foreground) 10%, transparent)}}.form-input{border-radius:var(--radius);color:var(--foreground);outline-offset:3px;background:0 0;font-size:16px}.form-input::placeholder{color:var(--muted-foreground);opacity:.75}.form-input:disabled{opacity:.5}.form-input[aria-invalid=true]{border-color:#0805037a}@supports (color:color-mix(in lab, red, red)){.form-input[aria-invalid=true]{border-color:color-mix(in srgb, var(--foreground) 48%, transparent)}}.form-input[aria-invalid=true]{background:var(--secondary)}.form-textarea{resize:vertical;height:auto;min-height:160px}.form-choice{align-items:center;gap:12px;min-height:44px;font-size:15px;display:flex}.form-choice input{width:17px;height:17px;accent-color:var(--foreground);flex:none}fieldset[aria-invalid=true]{border:1px solid #08050352;padding:14px}@supports (color:color-mix(in lab, red, red)){fieldset[aria-invalid=true]{border:1px solid color-mix(in srgb, var(--foreground) 32%, transparent)}}fieldset[aria-invalid=true]{border-radius:var(--radius);background:var(--secondary)}.form-alert{border:1px solid #08050347;gap:6px;padding:16px 18px;display:grid}@supports (color:color-mix(in lab, red, red)){.form-alert{border:1px solid color-mix(in srgb, var(--foreground) 28%, transparent)}}.form-alert{border-radius:var(--radius);background:var(--secondary);outline-offset:4px;border-left-width:4px}.form-alert-title{font-family:var(--font-mono);letter-spacing:.08em;font-size:11px;font-weight:650}.form-alert-message{font-size:14px;font-weight:650;line-height:1.7}.form-field-error{margin-top:8px;font-size:13px;font-weight:650;line-height:1.6}.site-image-placeholder,.instructor-image-placeholder{background:var(--secondary);width:100%;height:100%}.instructor-image-placeholder{background:#fafaf91a}@supports (color:color-mix(in lab, red, red)){.instructor-image-placeholder{background:color-mix(in srgb, var(--background) 10%, transparent)}}.reveal{opacity:1;transform:none}.motion-enter,.reveal[data-entered=true],.site-nav[open] .nav-grid a,.site-nav[open] .nav-grid button{animation:edu-enter var(--motion-enter-duration) var(--motion-enter-ease) both;animation-delay:var(--enter-delay,0s)}.motion-step-1{--enter-delay:var(--motion-step)}.motion-step-2{--enter-delay:calc(var(--motion-step) * 2)}.motion-step-3{--enter-delay:calc(var(--motion-step) * 3)}.site-nav .nav-grid a:nth-child(2n),.site-nav .nav-grid button{--enter-delay:var(--motion-step)}.motion-enter:focus-within,.reveal:focus-within{animation:none}.break-long{overflow-wrap:anywhere}.skip-link{z-index:100;border-radius:var(--radius);color:var(--background);background:var(--foreground);padding:12px 20px;position:fixed;top:16px;left:24px;transform:translateY(-200%)}.skip-link:focus{transform:none}.admin-shell{background:var(--background);min-height:100dvh;color:var(--foreground)}.admin-sidebar{display:none}.admin-workspace{min-width:0}.admin-mobile-header{z-index:30;border-bottom:1px solid #0805031a;justify-content:space-between;align-items:center;gap:1rem;min-height:4.25rem;padding:.75rem 1.25rem;display:flex;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.admin-mobile-header{border-bottom:1px solid color-mix(in srgb, var(--foreground) 10%, transparent)}}.admin-mobile-header{background:#fafaf9eb}@supports (color:color-mix(in lab, red, red)){.admin-mobile-header{background:color-mix(in srgb, var(--background) 92%, transparent)}}.admin-mobile-header{-webkit-backdrop-filter:blur(.875rem);backdrop-filter:blur(.875rem)}.admin-mobile-nav{z-index:29;border-bottom:1px solid #0805031a;padding:0 1.25rem .625rem;position:sticky;top:4.25rem}@supports (color:color-mix(in lab, red, red)){.admin-mobile-nav{border-bottom:1px solid color-mix(in srgb, var(--foreground) 10%, transparent)}}.admin-mobile-nav{background:#fafaf9eb}@supports (color:color-mix(in lab, red, red)){.admin-mobile-nav{background:color-mix(in srgb, var(--background) 92%, transparent)}}.admin-mobile-nav{-webkit-backdrop-filter:blur(.875rem);backdrop-filter:blur(.875rem)}.admin-mobile-nav .admin-nav{grid-template-columns:1fr 1fr;gap:.25rem;margin-top:0}.admin-mobile-nav .admin-nav a{justify-content:center}.admin-brand{letter-spacing:-.055em;align-items:center;min-height:2.75rem;font-size:1.25rem;font-weight:750;display:inline-flex}.admin-nav{gap:.3125rem;margin-top:2.25rem;display:grid}.admin-nav a{border-radius:var(--radius);min-height:2.75rem;color:var(--muted-foreground);align-items:center;padding:.625rem .75rem;font-size:.875rem;font-weight:600;display:flex}.admin-nav a:hover,.admin-nav a[aria-current=page]{background:var(--secondary);color:var(--foreground)}.admin-logout{min-height:2.75rem;color:var(--muted-foreground);text-underline-offset:.25rem;background:0 0;border:0;align-items:center;padding-block:.625rem;font-size:.8125rem;text-decoration:underline;display:inline-flex}.admin-page{width:100%;max-width:100rem;margin-inline:auto;padding:2rem 1.25rem 4.5rem}.admin-page-heading{flex-direction:column;align-items:flex-start;gap:1.5rem;margin-bottom:1.75rem;display:flex}.admin-page-heading h1,.calendar-toolbar h1{letter-spacing:-.05em;margin-top:.375rem;font-size:clamp(2rem,5vw,3.5rem);font-weight:650;line-height:1.14}.admin-page-heading>div>p:last-child{color:var(--muted-foreground);margin-top:.625rem;line-height:1.7}.admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem;display:grid}.admin-metrics article{border:1px solid #0805031a;min-height:8.25rem;padding:1.25rem}@supports (color:color-mix(in lab, red, red)){.admin-metrics article{border:1px solid color-mix(in srgb, var(--foreground) 10%, transparent)}}.admin-metrics article{border-radius:var(--radius-card)}.admin-metrics p{color:var(--muted-foreground);font-size:.8125rem}.admin-metrics strong{font-family:var(--font-mono);margin-top:1.375rem;font-size:2.25rem;font-weight:500;line-height:1;display:block}.admin-card{border:1px solid #0805031a;min-width:0;padding:1.25rem}@supports (color:color-mix(in lab, red, red)){.admin-card{border:1px solid color-mix(in srgb, var(--foreground) 10%, transparent)}}.admin-card{border-radius:var(--radius-card);background:var(--background)}.admin-empty{border:1px dashed #0805032e;padding:2rem 1.25rem}@supports (color:color-mix(in lab, red, red)){.admin-empty{border:1px dashed color-mix(in srgb, var(--foreground) 18%, transparent)}}.admin-empty{border-radius:var(--radius-card);color:var(--muted-foreground);text-align:center}.schedule-badge{border:1px solid #08050324;align-items:center;min-height:1.75rem;padding:.25rem .625rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.schedule-badge{border:1px solid color-mix(in srgb, var(--foreground) 14%, transparent)}}.schedule-badge{border-radius:var(--radius-pill);font-family:var(--font-mono);font-size:.6875rem;line-height:1}.calendar-toolbar{flex-direction:column;align-items:flex-start;gap:1.375rem;margin-bottom:1.375rem;display:flex}.calendar-heading{min-width:0}.calendar-period{flex-wrap:wrap;align-items:baseline;gap:.4375rem .75rem;margin-top:1rem;display:flex}.calendar-period span{color:var(--muted-foreground);font-size:.75rem}.calendar-period strong{font-family:var(--font-mono);font-size:.8125rem;font-weight:600}.calendar-actions{flex-wrap:wrap;gap:.5625rem;width:100%;min-width:0;display:flex}.calendar-button-group{border:1px solid #0805031f;min-width:0;min-height:2.75rem;display:inline-flex;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.calendar-button-group{border:1px solid color-mix(in srgb, var(--foreground) 12%, transparent)}}.calendar-button-group{border-radius:var(--radius-pill)}.calendar-button-group button{border:0;border-inline-start:1px solid #0805031a;min-width:2.75rem;min-height:2.75rem;padding:.625rem .8125rem}@supports (color:color-mix(in lab, red, red)){.calendar-button-group button{border-inline-start:1px solid color-mix(in srgb, var(--foreground) 10%, transparent)}}.calendar-button-group button{color:var(--foreground);background:0 0;font-size:.8125rem}.calendar-button-group button:first-child{border-inline-start:0}.calendar-button-group button:hover,.calendar-button-group button[aria-pressed=true]{background:var(--secondary)}.calendar-date-navigation{flex:100%}.calendar-date-navigation button{white-space:nowrap;flex:1}.calendar-filters{border:1px solid #0805031a;gap:.625rem;margin-bottom:.875rem;padding:.875rem;display:grid}@supports (color:color-mix(in lab, red, red)){.calendar-filters{border:1px solid color-mix(in srgb, var(--foreground) 10%, transparent)}}.calendar-filters{border-radius:var(--radius-card);background:var(--secondary)}.calendar-filters label{gap:.375rem;min-width:0;display:grid}.calendar-filters label>span{font-size:.75rem;font-weight:650}.calendar-filters select,.calendar-filters input{border:1px solid #0805031f;width:100%;min-width:0;min-height:2.75rem;padding:.5625rem .75rem}@supports (color:color-mix(in lab, red, red)){.calendar-filters select,.calendar-filters input{border:1px solid color-mix(in srgb, var(--foreground) 12%, transparent)}}.calendar-filters select,.calendar-filters input{border-radius:var(--radius);background:var(--background);color:var(--foreground);font-size:1rem}.calendar-filters>p{color:var(--muted-foreground);font-family:var(--font-mono);align-self:end;padding:.625rem .25rem;font-size:.75rem}.calendar-layout{align-items:start;gap:.875rem;min-width:0;display:grid}.edu-calendar{font-family:var(--font-sans);--fc-classic-background:var(--background);--fc-classic-foreground:var(--foreground);--fc-classic-border:#0805031a;padding:.625rem;font-size:clamp(.75rem,.2vw + .7rem,.875rem);overflow:hidden}@supports (color:color-mix(in lab, red, red)){.edu-calendar{--fc-classic-border:color-mix(in srgb, var(--foreground) 10%, transparent)}}.edu-calendar{--fc-classic-primary:var(--foreground);--fc-classic-strong:var(--foreground);--fc-classic-button:var(--background);--fc-classic-button-foreground:var(--foreground);--fc-classic-button-border:#0805031f}@supports (color:color-mix(in lab, red, red)){.edu-calendar{--fc-classic-button-border:color-mix(in srgb, var(--foreground) 12%, transparent)}}.edu-calendar{--fc-classic-button-strong:var(--foreground);--fc-classic-button-strong-border:var(--foreground);--fc-classic-muted:var(--secondary);--fc-classic-muted-foreground:var(--muted-foreground);--fc-classic-faint:var(--secondary);--fc-classic-faint-foreground:var(--muted-foreground);--fc-classic-highlight:var(--accent);--fc-classic-today:var(--accent);--fc-classic-now:var(--foreground);--fc-classic-ring-color:var(--foreground);--fc-event-color:var(--foreground);--fc-event-contrast-color:var(--background)}.edu-calendar *{font-family:inherit;box-shadow:none!important}.edu-calendar button,.edu-calendar a{min-height:2.75rem}.edu-calendar .calendar-month-day{min-width:0;height:clamp(4.5rem,7vw,7rem);overflow:hidden}.edu-calendar .calendar-month-day>div{min-width:0}.edu-calendar .calendar-day-outside{background:var(--secondary);color:var(--muted-foreground)}.edu-calendar .calendar-day-outside>div:first-child{opacity:.55}.edu-calendar .month-boundary-start>div:first-child,.edu-calendar .month-boundary-end>div:first-child{justify-content:space-between}.edu-calendar .month-boundary-start>div:first-child:before,.edu-calendar .month-boundary-end>div:first-child:before{color:var(--muted-foreground);font-family:var(--font-mono);align-self:center;padding-inline-start:.25rem;font-size:.5625rem;font-weight:650}.edu-calendar .month-boundary-start>div:first-child:before{content:"시작"}.edu-calendar .month-boundary-end>div:first-child:before{content:"말일"}.edu-calendar [class*=schedule-event-]{min-width:0;overflow:hidden}.calendar-event-content{gap:.1em;width:100%;min-width:0;padding:.25em .4em;font-size:clamp(.6875rem,.15vw + .65rem,.8125rem);line-height:1.35;display:grid;overflow:hidden}.calendar-event-content time{font-family:var(--font-mono);font-size:.82em;font-weight:500}.calendar-event-content>span{overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-width:0;display:-webkit-box;overflow:hidden}.edu-calendar .schedule-event-inquiry{opacity:.72}.edu-calendar .schedule-event-tentative{--fc-event-color:var(--muted-foreground)}.edu-calendar .schedule-event-completed{opacity:.58}.edu-calendar .schedule-event-cancelled{opacity:.45;text-decoration:line-through}.edu-calendar .schedule-event-conflict{outline:1px dashed var(--background);outline-offset:-3px}.mobile-day-agenda{border-top:1px solid #0805031a;gap:1rem;margin-top:1.125rem;padding:1.25rem .375rem .5rem;display:grid}@supports (color:color-mix(in lab, red, red)){.mobile-day-agenda{border-top:1px solid color-mix(in srgb, var(--foreground) 10%, transparent)}}.mobile-day-agenda h2{letter-spacing:-.035em;margin-top:.3125rem;font-size:1.25rem;font-weight:650}.mobile-day-agenda ul{border-top:1px solid #0805031a;display:grid}@supports (color:color-mix(in lab, red, red)){.mobile-day-agenda ul{border-top:1px solid color-mix(in srgb, var(--foreground) 10%, transparent)}}.mobile-day-agenda li{border-bottom:1px solid #0805031a}@supports (color:color-mix(in lab, red, red)){.mobile-day-agenda li{border-bottom:1px solid color-mix(in srgb, var(--foreground) 10%, transparent)}}.mobile-day-agenda li button{width:100%;color:var(--foreground);text-align:left;background:0 0;border:0;grid-template-columns:4.5rem minmax(0,1fr);align-items:start;gap:.625rem;padding:.8125rem 0;display:grid}.mobile-day-agenda time{font-family:var(--font-mono);color:var(--muted-foreground);padding-top:.1em;font-size:.6875rem}.mobile-day-agenda li span{overflow-wrap:anywhere;min-width:0;font-size:.8125rem;font-weight:600;line-height:1.55}.mobile-day-empty{color:var(--muted-foreground);padding:.5rem 0;font-size:.8125rem}.schedule-panel{z-index:50;overscroll-behavior:contain;border:1px solid #08050324;max-height:90dvh;padding:1.5rem 1.25rem 2rem;position:fixed;inset:auto 0 0;overflow-y:auto}@supports (color:color-mix(in lab, red, red)){.schedule-panel{border:1px solid color-mix(in srgb, var(--foreground) 14%, transparent)}}.schedule-panel{border-radius:var(--radius-card) var(--radius-card) 0 0;background:var(--background)}.schedule-panel-backdrop{z-index:40;background:#08050338;border:0;position:fixed;inset:0}@supports (color:color-mix(in lab, red, red)){.schedule-panel-backdrop{background:color-mix(in srgb, var(--foreground) 22%, transparent)}}.schedule-panel-backdrop{-webkit-backdrop-filter:blur(.125rem);backdrop-filter:blur(.125rem)}.schedule-panel-heading{justify-content:space-between;align-items:flex-start;gap:1.25rem;margin-bottom:1.625rem;display:flex}.schedule-panel-heading h2{letter-spacing:-.04em;margin-top:.3125rem;font-size:1.5rem;font-weight:650}.panel-close{border:1px solid #0805031f;justify-content:center;align-items:center;min-width:2.75rem;min-height:2.75rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.panel-close{border:1px solid color-mix(in srgb, var(--foreground) 12%, transparent)}}.panel-close{border-radius:var(--radius-pill);color:var(--foreground);background:0 0;font-size:.75rem}.schedule-panel-placeholder{border-radius:var(--radius-card);min-height:14.375rem;display:none;position:static}.schedule-panel-placeholder h2{margin-top:.625rem;font-size:1.375rem;font-weight:650}.schedule-panel-placeholder>p:last-of-type{color:var(--muted-foreground);margin-top:.625rem;font-size:.875rem;line-height:1.7}.schedule-detail-title{border-bottom:1px solid #0805031a;padding-bottom:1.5rem}@supports (color:color-mix(in lab, red, red)){.schedule-detail-title{border-bottom:1px solid color-mix(in srgb, var(--foreground) 10%, transparent)}}.schedule-detail-title .schedule-badge+.schedule-badge{margin-left:.375rem}.schedule-detail-title h3{letter-spacing:-.035em;margin-top:1rem;font-size:1.5rem;font-weight:650;line-height:1.35}.schedule-detail-title p{color:var(--muted-foreground);margin-top:.5rem}.schedule-details{margin-top:.5rem;display:grid}.schedule-details>div{border-bottom:1px solid #08050314;gap:.4375rem;padding-block:.9375rem;display:grid}@supports (color:color-mix(in lab, red, red)){.schedule-details>div{border-bottom:1px solid color-mix(in srgb, var(--foreground) 8%, transparent)}}.schedule-details dt{color:var(--muted-foreground);font-size:.75rem}.schedule-details dd{margin:0;font-size:.875rem;line-height:1.65}.schedule-form{gap:1.25rem;display:grid}.schedule-form select.form-input{appearance:auto}.schedule-action-message{min-height:1.5rem;color:var(--muted-foreground);font-size:.8125rem;line-height:1.6}.schedule-action-message.is-error{color:var(--foreground)}.admin-danger-link{min-height:2.75rem;color:var(--muted-foreground);text-underline-offset:.25rem;background:0 0;border:0;align-items:center;padding-inline:.375rem;font-size:.8125rem;text-decoration:underline;display:inline-flex}.delete-confirm{border:1px solid #08050326;width:100%;padding:1rem}@supports (color:color-mix(in lab, red, red)){.delete-confirm{border:1px solid color-mix(in srgb, var(--foreground) 15%, transparent)}}.delete-confirm{border-radius:var(--radius);background:var(--secondary)}.delete-confirm>p{font-size:.8125rem;line-height:1.6}.delete-confirm>div{flex-wrap:wrap;gap:.5rem;margin-top:.8125rem;display:flex}.content-editor-stack{gap:1.25rem;display:grid}.content-editor-form{border:1px solid #0805031a;min-width:0;overflow:clip}@supports (color:color-mix(in lab, red, red)){.content-editor-form{border:1px solid color-mix(in srgb, var(--foreground) 10%, transparent)}}.content-editor-form{border-radius:var(--radius-card);background:var(--background)}.content-editor-form-header{gap:1.5rem;padding:1.25rem;display:grid}.content-editor-form-header h2{letter-spacing:-.04em;margin-top:.375rem;font-size:1.625rem;font-weight:650;line-height:1.25}.content-editor-form-header>div>p:last-child{color:var(--muted-foreground);margin-top:.625rem;font-size:.875rem;line-height:1.7}.content-record-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.content-record-meta>div{border:1px solid #0805031a;min-width:0;padding:.75rem}@supports (color:color-mix(in lab, red, red)){.content-record-meta>div{border:1px solid color-mix(in srgb, var(--foreground) 10%, transparent)}}.content-record-meta>div{border-radius:var(--radius)}.content-record-meta>div:last-child{grid-column:1/-1}.content-record-meta dt{color:var(--muted-foreground);font-size:.6875rem}.content-record-meta dd{font-family:var(--font-mono);margin:.375rem 0 0;font-size:.6875rem;line-height:1.55}.content-editor-status{border:1px solid #0805033d;gap:.5rem;margin:0 1.25rem 1.25rem;padding:1rem;display:grid}@supports (color:color-mix(in lab, red, red)){.content-editor-status{border:1px solid color-mix(in srgb, var(--foreground) 24%, transparent)}}.content-editor-status{border-radius:var(--radius);font-size:.8125rem;line-height:1.65}.content-editor-status.is-success{background:var(--secondary)}.content-editor-status-title{font-family:var(--font-mono);letter-spacing:.08em;font-size:.6875rem;font-weight:650}.content-editor-status ul{gap:.375rem;margin:.25rem 0 0;padding-left:1.125rem;display:grid}.content-editor-status a,.content-editor-status button{text-underline-offset:.25rem;font-weight:650;text-decoration:underline}.content-editor-status button{min-height:2.75rem;color:inherit;background:0 0;border:0;justify-self:start;padding:0}.content-editor-section{border:0;border-top:1px solid #0805031a;min-width:0;margin:0;padding:1.5rem 1.25rem}@supports (color:color-mix(in lab, red, red)){.content-editor-section{border-top:1px solid color-mix(in srgb, var(--foreground) 10%, transparent)}}.content-section-heading{grid-template-columns:2rem minmax(0,1fr);gap:.75rem;margin-bottom:1.5rem;display:grid}.content-section-heading>span{color:var(--muted-foreground);font-family:var(--font-mono);padding-top:.1875rem;font-size:.6875rem}.content-section-heading h3{letter-spacing:-.025em;font-size:1.125rem;font-weight:650}.content-section-heading p{color:var(--muted-foreground);margin-top:.4375rem;font-size:.8125rem;line-height:1.65}.content-fields-grid{gap:1.25rem;min-width:0;display:grid}.content-repeat-grid,.content-repeat-list{gap:.75rem;min-width:0;margin-top:1.25rem;display:grid}.content-repeat-card{border:1px solid #0805031a;min-width:0;padding:1rem}@supports (color:color-mix(in lab, red, red)){.content-repeat-card{border:1px solid color-mix(in srgb, var(--foreground) 10%, transparent)}}.content-repeat-card{border-radius:var(--radius)}.content-repeat-card>h4{font-family:var(--font-mono);letter-spacing:.06em;margin-bottom:1rem;font-size:.6875rem;font-weight:650}.content-field{min-width:0}.content-field .form-label{margin-bottom:.5rem}.content-field-help{color:var(--muted-foreground);margin:-.125rem 0 .625rem;font-size:.75rem;line-height:1.6}.content-field-meta{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.75rem;min-height:1.75rem;display:grid}.content-field-meta .form-field-error{margin-top:.4375rem}.content-character-count{color:var(--muted-foreground);font-family:var(--font-mono);white-space:nowrap;padding-top:.4375rem;font-size:.625rem}.content-editor-form .form-textarea{min-height:7.5rem}.content-save-bar{z-index:5;border-top:1px solid #0805031f;flex-direction:column;gap:1rem;padding:1rem 1.25rem;display:flex;position:sticky;bottom:0}@supports (color:color-mix(in lab, red, red)){.content-save-bar{border-top:1px solid color-mix(in srgb, var(--foreground) 12%, transparent)}}.content-save-bar{background:#fafaf9f0}@supports (color:color-mix(in lab, red, red)){.content-save-bar{background:color-mix(in srgb, var(--background) 94%, transparent)}}.content-save-bar{-webkit-backdrop-filter:blur(.875rem);backdrop-filter:blur(.875rem)}.content-save-bar p{color:var(--muted-foreground);font-size:.75rem;line-height:1.65}.admin-media-grid,.admin-instructor-stack,.admin-instructor-grid{gap:1.25rem;min-width:0;display:grid}.admin-media-card,.admin-instructor-card,.admin-instructor-create-form{border:1px solid #0805031a;min-width:0;overflow:clip}@supports (color:color-mix(in lab, red, red)){.admin-media-card,.admin-instructor-card,.admin-instructor-create-form{border:1px solid color-mix(in srgb, var(--foreground) 10%, transparent)}}.admin-media-card,.admin-instructor-card,.admin-instructor-create-form{border-radius:var(--radius-card);background:var(--background)}.admin-media-preview,.admin-instructor-image{background:var(--secondary);min-width:0;position:relative;overflow:hidden}.admin-media-preview{aspect-ratio:4/3}.admin-instructor-image{aspect-ratio:4/5}.admin-image-empty{height:100%;color:var(--muted-foreground);text-align:center;place-content:center;gap:.5rem;padding:1.5rem;display:grid}.admin-image-empty span{font-family:var(--font-mono);letter-spacing:.08em;font-size:.75rem;font-weight:650}.admin-image-empty p{max-width:18rem;font-size:.8125rem;line-height:1.65}.admin-media-fields,.admin-instructor-editor{gap:1.5rem;min-width:0;padding:1.25rem;display:grid}.admin-media-fields h2,.admin-instructor-editor h2{letter-spacing:-.04em;margin-top:.375rem;font-size:1.5rem;font-weight:650;line-height:1.25}.admin-media-fields>div:first-child>p:last-of-type,.admin-instructor-editor>div:first-child>p:last-child{color:var(--muted-foreground);margin-top:.5rem;font-size:.8125rem;line-height:1.7}.admin-instructor-fields,.admin-instructor-field-pair{gap:1.25rem;min-width:0;display:grid}.admin-instructor-tag-editor{border:0;gap:.75rem;min-width:0;margin:0;padding:0;display:grid}.admin-instructor-tag-heading{justify-content:space-between;align-items:center;gap:1rem;min-width:0;display:flex}.admin-instructor-tag-heading .form-label{margin:0}.admin-instructor-tag-heading span{color:var(--muted-foreground);font-family:var(--font-mono);white-space:nowrap;font-size:.6875rem}.admin-instructor-tag-list{gap:.625rem;min-width:0;display:grid}.admin-instructor-tag-row{grid-template-columns:minmax(0,1fr) auto;gap:.5rem;min-width:0;display:grid}.admin-instructor-tag-remove,.admin-instructor-tag-add{border:1px solid #08050324;min-height:2.75rem}@supports (color:color-mix(in lab, red, red)){.admin-instructor-tag-remove,.admin-instructor-tag-add{border:1px solid color-mix(in srgb, var(--foreground) 14%, transparent)}}.admin-instructor-tag-remove,.admin-instructor-tag-add{border-radius:var(--radius);background:var(--background);color:var(--foreground);font-size:.8125rem;font-weight:650}.admin-instructor-tag-remove{min-width:4rem;padding-inline:.875rem}.admin-instructor-tag-add{justify-self:start;padding-inline:1rem}.admin-instructor-tag-remove:focus-visible,.admin-instructor-tag-add:focus-visible{outline:2px solid var(--foreground);outline-offset:2px}.admin-instructor-tag-empty{border:1px solid #0805031a;padding:.875rem 1rem}@supports (color:color-mix(in lab, red, red)){.admin-instructor-tag-empty{border:1px solid color-mix(in srgb, var(--foreground) 10%, transparent)}}.admin-instructor-tag-empty{border-radius:var(--radius);color:var(--muted-foreground);font-size:.8125rem}.admin-instructor-actions{flex-wrap:wrap;align-items:center;gap:.625rem;padding-top:.25rem;display:flex}.admin-instructor-grid{gap:1rem}.admin-instructor-card{align-self:start}.admin-instructor-summary{cursor:pointer;grid-template-columns:7rem minmax(0,1fr);min-height:8.75rem;list-style:none;display:grid}.admin-instructor-summary::-webkit-details-marker{display:none}.admin-instructor-summary:focus-visible{outline:2px solid var(--foreground);outline-offset:-.25rem}.admin-instructor-summary>.admin-instructor-image{height:8.75rem}.admin-instructor-summary-copy{flex-direction:column;justify-content:space-between;gap:.75rem;min-width:0;padding:.875rem 1rem;display:flex}.admin-instructor-category{color:var(--muted-foreground);font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;font-size:.625rem;line-height:1.4;overflow:hidden}.admin-instructor-summary h2{letter-spacing:-.035em;text-overflow:ellipsis;white-space:nowrap;margin-top:.375rem;font-size:1.0625rem;font-weight:650;line-height:1.35;overflow:hidden}.admin-instructor-tags{flex-wrap:wrap;gap:.375rem;min-width:0;margin-top:.625rem;display:flex}.admin-instructor-tags span{background:var(--secondary);max-width:100%;color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;padding:.25rem .5rem;font-size:.625rem;line-height:1.35;overflow:hidden}.admin-instructor-summary-footer{color:var(--muted-foreground);font-family:var(--font-mono);justify-content:space-between;align-items:center;gap:.75rem;font-size:.625rem;display:flex}.admin-instructor-summary-footer strong{color:var(--foreground);font-family:var(--font-body);text-underline-offset:.25rem;font-size:.75rem;font-weight:650;text-decoration:underline}.admin-instructor-close-label{display:none}.admin-instructor-card[open] .admin-instructor-summary{background:var(--secondary)}.admin-instructor-card[open] .admin-instructor-summary-footer strong{text-decoration:none}.admin-instructor-card[open] .admin-instructor-open-label{display:none}.admin-instructor-card[open] .admin-instructor-close-label{display:inline}.admin-instructor-card-body{border-top:1px solid #0805031a}@supports (color:color-mix(in lab, red, red)){.admin-instructor-card-body{border-top:1px solid color-mix(in srgb, var(--foreground) 10%, transparent)}}.admin-instructor-edit-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.admin-instructor-edit-heading p{font-size:.9375rem;font-weight:650}.admin-instructor-edit-heading span{color:var(--muted-foreground);font-family:var(--font-mono);font-size:.625rem}.admin-instructor-create-form>.admin-instructor-image{border-radius:var(--radius);width:8rem;margin:1.25rem auto 0}.admin-create-panel{border:1px solid #08050324;min-width:0;overflow:clip}@supports (color:color-mix(in lab, red, red)){.admin-create-panel{border:1px solid color-mix(in srgb, var(--foreground) 14%, transparent)}}.admin-create-panel{border-radius:var(--radius-card)}.admin-create-panel>summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:4.25rem;padding:1rem 1.25rem;font-size:.9375rem;font-weight:650;list-style:none;display:flex}.admin-create-panel>summary::-webkit-details-marker{display:none}.admin-create-panel>summary:after{content:"+";font-family:var(--font-mono);font-size:1.25rem;font-weight:400}.admin-create-panel[open]>summary:after{content:"−"}.admin-create-panel .admin-instructor-create-form{border:0;border-top:1px solid #0805031a}@supports (color:color-mix(in lab, red, red)){.admin-create-panel .admin-instructor-create-form{border-top:1px solid color-mix(in srgb, var(--foreground) 10%, transparent)}}.admin-create-panel .admin-instructor-create-form{border-radius:0}}@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}.relative{position:relative}.top-auto{top:auto}.left-\[-10000px\]{left:-10000px}.col-span-2{grid-column:span 2/span 2}.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)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-7{margin-top:calc(var(--spacing) * 7)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-9{margin-top:calc(var(--spacing) * 9)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-14{margin-top:calc(var(--spacing) * 14)}.mt-16{margin-top:calc(var(--spacing) * 16)}.mt-20{margin-top:calc(var(--spacing) * 20)}.mt-auto{margin-top:auto}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-7{margin-bottom:calc(var(--spacing) * 7)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.ml-4{margin-left:calc(var(--spacing) * 4)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.aspect-\[4\/5\]{aspect-ratio:4/5}.aspect-square{aspect-ratio:1}.h-px{height:1px}.min-h-6{min-height:calc(var(--spacing) * 6)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-24{min-height:calc(var(--spacing) * 24)}.min-h-32{min-height:calc(var(--spacing) * 32)}.min-h-\[560px\]{min-height:560px}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:0}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.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)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-7{gap:calc(var(--spacing) * 7)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-9{gap:calc(var(--spacing) * 9)}.gap-12{gap:calc(var(--spacing) * 12)}.gap-14{gap:calc(var(--spacing) * 14)}.gap-16{gap:calc(var(--spacing) * 16)}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-6{column-gap:calc(var(--spacing) * 6)}.gap-y-10{row-gap:calc(var(--spacing) * 10)}.gap-y-12{row-gap:calc(var(--spacing) * 12)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-foreground\/10>:not(:last-child)){border-color:#0805031a}@supports (color:color-mix(in lab, red, red)){:where(.divide-foreground\/10>:not(:last-child)){border-color:color-mix(in oklab, var(--color-foreground) 10%, transparent)}}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.rounded-\[var\(--radius\)\]{border-radius:var(--radius)}.rounded-\[var\(--radius-card\)\]{border-radius:var(--radius-card)}.rounded-\[var\(--radius-pill\)\]{border-radius:var(--radius-pill)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-background\/10{border-color:#fafaf91a}@supports (color:color-mix(in lab, red, red)){.border-background\/10{border-color:color-mix(in oklab, var(--color-background) 10%, transparent)}}.border-background\/15{border-color:#fafaf926}@supports (color:color-mix(in lab, red, red)){.border-background\/15{border-color:color-mix(in oklab, var(--color-background) 15%, transparent)}}.border-foreground\/10{border-color:#0805031a}@supports (color:color-mix(in lab, red, red)){.border-foreground\/10{border-color:color-mix(in oklab, var(--color-foreground) 10%, transparent)}}.bg-background\/10{background-color:#fafaf91a}@supports (color:color-mix(in lab, red, red)){.bg-background\/10{background-color:color-mix(in oklab, var(--color-background) 10%, transparent)}}.bg-secondary{background-color:var(--color-secondary)}.bg-transparent{background-color:#0000}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.object-\[73\%_center\]{object-position:73% center}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-7{padding:calc(var(--spacing) * 7)}.px-1{padding-inline:var(--spacing)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-64{padding-block:calc(var(--spacing) * 64)}.pt-1{padding-top:var(--spacing)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-7{padding-top:calc(var(--spacing) * 7)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-10{padding-top:calc(var(--spacing) * 10)}.pt-24{padding-top:calc(var(--spacing) * 24)}.pt-48{padding-top:calc(var(--spacing) * 48)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pb-16{padding-bottom:calc(var(--spacing) * 16)}.pb-20{padding-bottom:calc(var(--spacing) * 20)}.pb-24{padding-bottom:calc(var(--spacing) * 24)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-jetbrains), monospace}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[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)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.leading-8{--tw-leading:calc(var(--spacing) * 8);line-height:calc(var(--spacing) * 8)}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-background\/40{color:#fafaf966}@supports (color:color-mix(in lab, red, red)){.text-background\/40{color:color-mix(in oklab, var(--color-background) 40%, transparent)}}.text-background\/60{color:#fafaf999}@supports (color:color-mix(in lab, red, red)){.text-background\/60{color:color-mix(in oklab, var(--color-background) 60%, transparent)}}.text-background\/65{color:#fafaf9a6}@supports (color:color-mix(in lab, red, red)){.text-background\/65{color:color-mix(in oklab, var(--color-background) 65%, transparent)}}.text-background\/70{color:#fafaf9b3}@supports (color:color-mix(in lab, red, red)){.text-background\/70{color:color-mix(in oklab, var(--color-background) 70%, transparent)}}.text-background\/75{color:#fafaf9bf}@supports (color:color-mix(in lab, red, red)){.text-background\/75{color:color-mix(in oklab, var(--color-background) 75%, transparent)}}.text-background\/80{color:#fafaf9cc}@supports (color:color-mix(in lab, red, red)){.text-background\/80{color:color-mix(in oklab, var(--color-background) 80%, transparent)}}.text-foreground{color:var(--color-foreground)}.text-foreground\/20{color:#08050333}@supports (color:color-mix(in lab, red, red)){.text-foreground\/20{color:color-mix(in oklab, var(--color-foreground) 20%, transparent)}}.text-muted-foreground{color:var(--color-muted-foreground)}.not-italic{font-style:normal}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-offset-4{outline-offset:4px}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-700{--tw-duration:.7s;transition-duration:.7s}@media (hover:hover){.group-hover\:scale-\[1\.02\]:is(:where(.group):hover *){scale:1.02}.hover\:bg-background\/10:hover{background-color:#fafaf91a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-background\/10:hover{background-color:color-mix(in oklab, var(--color-background) 10%, transparent)}}.hover\:bg-secondary:hover{background-color:var(--color-secondary)}}.disabled\:opacity-45:disabled{opacity:.45}@media (min-width:64rem){.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-start-1{grid-column-start:1}.lg\:col-start-2{grid-column-start:2}.lg\:row-start-1{grid-row-start:1}.lg\:mt-10{margin-top:calc(var(--spacing) * 10)}.lg\:mt-16{margin-top:calc(var(--spacing) * 16)}.lg\:mt-20{margin-top:calc(var(--spacing) * 20)}.lg\:mt-28{margin-top:calc(var(--spacing) * 28)}.lg\:mb-8{margin-bottom:calc(var(--spacing) * 8)}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:inline{display:inline}.lg\:inline-flex{display:inline-flex}.lg\:w-auto{width:auto}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[1fr_1\.35fr\]{grid-template-columns:1fr 1.35fr}.lg\:grid-cols-\[1fr_1fr_1fr_1\.5fr\]{grid-template-columns:1fr 1fr 1fr 1.5fr}.lg\:grid-cols-\[180px_1fr_auto\]{grid-template-columns:180px 1fr auto}.lg\:grid-cols-\[minmax\(0\,1fr\)_220px\]{grid-template-columns:minmax(0,1fr) 220px}.lg\:grid-cols-\[minmax\(280px\,0\.8fr\)_minmax\(0\,1\.3fr\)\]{grid-template-columns:minmax(280px,.8fr) minmax(0,1.3fr)}.lg\:grid-cols-\[minmax\(280px\,0\.75fr\)_minmax\(0\,1\.5fr\)\]{grid-template-columns:minmax(280px,.75fr) minmax(0,1.5fr)}.lg\:flex-row{flex-direction:row}.lg\:items-center{align-items:center}.lg\:items-start{align-items:flex-start}.lg\:justify-between{justify-content:space-between}.lg\:justify-end{justify-content:flex-end}.lg\:gap-6{gap:calc(var(--spacing) * 6)}.lg\:gap-12{gap:calc(var(--spacing) * 12)}.lg\:gap-24{gap:calc(var(--spacing) * 24)}.lg\:gap-y-14{row-gap:calc(var(--spacing) * 14)}.lg\:p-7{padding:calc(var(--spacing) * 7)}.lg\:p-8{padding:calc(var(--spacing) * 8)}.lg\:p-10{padding:calc(var(--spacing) * 10)}.lg\:py-16{padding-block:calc(var(--spacing) * 16)}.lg\:pt-32{padding-top:calc(var(--spacing) * 32)}.lg\:pt-64{padding-top:calc(var(--spacing) * 64)}.lg\:pb-12{padding-bottom:calc(var(--spacing) * 12)}.lg\:pb-32{padding-bottom:calc(var(--spacing) * 32)}.lg\:pl-6{padding-left:calc(var(--spacing) * 6)}.lg\:text-right{text-align:right}.lg\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.lg\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.lg\:text-\[2\.75rem\]{font-size:2.75rem}.lg\:leading-\[1\.45\]{--tw-leading:1.45;line-height:1.45}}}@keyframes edu-enter{0%{opacity:0;transform:translateY(var(--motion-enter-distance))}to{opacity:1;transform:translateY(0)}}@media (min-width:64em){.section-space{padding-block:128px}.section-title{font-size:60px}.header-row{height:140px}.header-request{max-width:10rem;padding-inline:22px}.brand{font-size:26px}.hero{min-height:920px;padding-top:290px;padding-bottom:148px}.hero-pattern{width:1500px;height:1200px;top:-115px;right:-80px}.nav-grid{grid-template-columns:1fr 1fr;margin-top:24px}.nav-grid a,.nav-grid button{min-height:138px;padding:36px 40px;font-size:44px}.nav-grid>:nth-child(odd){padding-left:0}.nav-grid>:nth-child(2n){border-left:1px solid}@supports (color:color-mix(in lab, red, red)){.nav-grid>:nth-child(2n){border-left:1px solid color-mix(in srgb, currentColor 12%, transparent)}}.topic-word{font-size:26px}.contact-panel{padding:80px 64px}.route-intro{padding-top:270px;padding-bottom:96px}.route-intro-compact{padding-top:210px;padding-bottom:56px}.admin-shell{grid-template-columns:14.5rem minmax(0,1fr);display:grid}.admin-sidebar{border-right:1px solid #0805031a;flex-direction:column;height:100dvh;padding:1.75rem 1.375rem;display:flex;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.admin-sidebar{border-right:1px solid color-mix(in srgb, var(--foreground) 10%, transparent)}}.admin-mobile-header,.admin-mobile-nav{display:none}.admin-page{padding:3.25rem clamp(1.5rem,3vw,3rem) 6rem}.admin-page-heading{flex-direction:row;justify-content:space-between;align-items:flex-end}.admin-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:.875rem}.admin-metrics article{min-height:9.625rem;padding:1.5rem}.admin-card{padding:1.625rem}.calendar-toolbar{align-items:stretch}.calendar-actions{justify-content:flex-start}.calendar-date-navigation{flex-basis:auto}.calendar-filters{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;padding:.75rem .875rem}.calendar-search{grid-column:1/-1}.calendar-layout{grid-template-columns:minmax(0,1fr)}.edu-calendar{padding:1.125rem}.mobile-day-agenda{display:none}.schedule-panel{border-radius:var(--radius-card);max-height:none;padding:1.625rem;position:static}.schedule-panel-backdrop{display:none}.schedule-panel-placeholder{display:block;position:static}.content-editor-stack{gap:1.75rem}.content-editor-form-header{grid-template-columns:minmax(0,1fr) minmax(27rem,.8fr);align-items:end;padding:1.625rem}.content-record-meta{grid-template-columns:6.5rem 11rem minmax(0,1fr)}.content-record-meta>div:last-child{grid-column:auto}.content-editor-status{margin-inline:1.625rem}.content-editor-section{padding:2rem 1.625rem}.content-section-heading{grid-template-columns:2.5rem minmax(0,1fr);margin-bottom:2rem}.content-fields-grid.two-columns,.content-repeat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-repeat-list{gap:1rem}.content-repeat-card{padding:1.25rem}.content-save-bar{flex-direction:row;justify-content:space-between;align-items:center;padding:1rem 1.625rem}.admin-media-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.admin-media-fields,.admin-instructor-editor{padding:1.625rem}.admin-instructor-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-instructor-card[open]{grid-column:1/-1}.admin-instructor-card[open] .admin-instructor-editor{width:min(100%,64rem);margin-inline:auto}.admin-instructor-card[open] .admin-instructor-field-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-instructor-summary{grid-template-columns:8rem minmax(0,1fr);min-height:10rem}.admin-instructor-summary>.admin-instructor-image{height:10rem}.admin-instructor-create-form{grid-template-columns:12rem minmax(0,1fr);display:grid}.admin-instructor-create-form>.admin-instructor-image{align-self:start;width:10rem;margin:1.625rem 0 1.625rem 1.625rem}.admin-instructor-create-form .admin-instructor-field-pair{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:80em){.calendar-filters{grid-template-columns:13.125rem 11.25rem minmax(16.25rem,1fr) auto}.calendar-search{grid-column:auto}}@media (min-width:100em){.calendar-layout{grid-template-columns:minmax(44rem,1fr) minmax(18rem,23.75rem)}.schedule-panel{max-height:calc(100dvh - 3.5rem);position:sticky;top:1.75rem}.schedule-panel-placeholder{position:sticky}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:0s!important;animation:none!important}.reveal,.motion-enter{opacity:1;transform:none}.field-row:hover h3{transform:none}.instructor-mock-image{transform:none!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}
