:root{--background:#f6f1f0;--foreground:oklch(0.22 0.02 260);--card:oklch(1 0 0);--card-foreground:oklch(0.22 0.02 260);--popover:oklch(1 0 0);--popover-foreground:oklch(0.22 0.02 260);--primary:oklch(0.5 0.19 25);--primary-foreground:oklch(1 0 0);--secondary:oklch(0.96 0.006 80);--secondary-foreground:oklch(0.28 0.07 260);--muted:oklch(0.94 0.005 80);--muted-foreground:oklch(0.5 0.01 90);--accent:oklch(0.5 0.19 25);--accent-foreground:oklch(1 0 0);--destructive:oklch(0.577 0.245 27.325);--destructive-foreground:oklch(1 0 0);--border:oklch(0.9 0.005 80);--input:oklch(0.9 0.005 80);--ring:oklch(0.6 0.15 25);--chart-1:oklch(0.785 0.115 274.713);--chart-2:oklch(0.585 0.233 277.117);--chart-3:oklch(0.511 0.262 276.966);--chart-4:oklch(0.457 0.24 277.023);--chart-5:oklch(0.398 0.195 277.366);--chart-cat-blue:oklch(0.6 0.17 245);--chart-cat-teal:oklch(0.60 0.13 195);--chart-cat-gold:oklch(0.65 0.15 90);--chart-cat-rose:oklch(0.58 0.19 15);--sidebar:#f6f1f0;--sidebar-foreground:oklch(0.22 0.02 260);--sidebar-primary:oklch(0.5 0.19 25);--sidebar-primary-foreground:oklch(1 0 0);--sidebar-accent:oklch(0.96 0.006 80);--sidebar-accent-foreground:oklch(0.28 0.07 260);--sidebar-border:oklch(0.9 0.005 80);--sidebar-ring:oklch(0.6 0.15 25);--success:oklch(0.94 0.05 150);--success-foreground:oklch(0.4 0.13 150);--warning:oklch(0.68 0.16 75);--warning-foreground:oklch(0.2 0.02 75);--navy:oklch(0.26 0.07 260);--navy-strong:oklch(0.28 0.07 260);--navy-surface:oklch(0.26 0.07 260);--navy-surface-foreground:oklch(1 0 0);--attendance-present:#76CF8A;--attendance-rest:oklch(0.85 0.015 260);--whatsapp-green:#25d366;--card-image-scrim-top:rgba(15,23,42,0.35);--card-image-scrim-bottom:rgba(15,23,42,0.75);--alt-bg:color-mix(in oklch,var(--background) 95%,black);--surface-2:color-mix(in oklch,var(--background) 90%,black)}.dark{--background:oklch(0.16 0.012 260);--foreground:oklch(0.92 0.01 90);--card:oklch(0.21 0.015 260);--card-foreground:oklch(0.92 0.01 90);--popover:oklch(0.21 0.015 260);--popover-foreground:oklch(0.92 0.01 90);--primary:oklch(0.5 0.19 25);--primary-foreground:oklch(1 0 0);--secondary:oklch(0.19 0.015 260);--secondary-foreground:oklch(0.88 0.02 260);--muted:oklch(0.26 0.02 260);--muted-foreground:oklch(0.65 0.01 90);--accent:oklch(0.5 0.19 25);--accent-foreground:oklch(1 0 0);--destructive:oklch(0.704 0.191 22.216);--destructive-foreground:oklch(0.16 0.012 260);--border:oklch(0.32 0.02 260);--input:oklch(0.32 0.02 260);--ring:oklch(0.6 0.15 25);--chart-1:oklch(0.785 0.115 274.713);--chart-2:oklch(0.585 0.233 277.117);--chart-3:oklch(0.511 0.262 276.966);--chart-4:oklch(0.457 0.24 277.023);--chart-5:oklch(0.398 0.195 277.366);--chart-cat-blue:oklch(0.6 0.17 245);--chart-cat-teal:oklch(0.60 0.13 195);--chart-cat-gold:oklch(0.65 0.15 90);--chart-cat-rose:oklch(0.58 0.19 15);--sidebar:oklch(0.19 0.015 260);--sidebar-foreground:oklch(0.92 0.01 90);--sidebar-primary:oklch(0.5 0.19 25);--sidebar-primary-foreground:oklch(1 0 0);--sidebar-accent:oklch(0.26 0.02 260);--sidebar-accent-foreground:oklch(0.92 0.01 90);--sidebar-border:oklch(0.32 0.02 260);--sidebar-ring:oklch(0.6 0.15 25);--success:oklch(0.28 0.06 150);--success-foreground:oklch(0.78 0.13 150);--warning:oklch(0.8 0.15 75);--warning-foreground:oklch(0.2 0.02 75);--navy:oklch(0.85 0.03 260);--navy-strong:oklch(0.88 0.02 260);--navy-surface:oklch(0.26 0.07 260);--navy-surface-foreground:oklch(1 0 0);--attendance-present:#76CF8A;--attendance-rest:oklch(0.40 0.02 260);--whatsapp-green:#25d366;--card-image-scrim-top:rgba(15,23,42,0.35);--card-image-scrim-bottom:rgba(15,23,42,0.75);--alt-bg:oklch(0.12 0.016 260);--surface-2:oklch(0.26 0.02 260)}:root{--font-sans:var(--font-inter),ui-sans-serif,system-ui,-apple-system,sans-serif;--font-mono:var(--font-geist-mono),ui-monospace,"SFMono-Regular",monospace;--font-kr:var(--font-inter),"Apple SD Gothic Neo","Malgun Gothic",sans-serif;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--leading-tight:1.2;--leading-normal:1.5;--leading-relaxed:1.65;--tracking-tight:-0.02em;--tracking-normal:0em;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--container-max:1200px;--radius:0.5rem;--radius-sm:calc(var(--radius) - 4px);--radius-md:calc(var(--radius) - 2px);--radius-lg:var(--radius);--radius-xl:calc(var(--radius) + 4px);--radius-2xl:calc(var(--radius) + 8px);--radius-3xl:calc(var(--radius) + 12px);--radius-full:9999px;--shadow-xs:0 1px 2px 0 rgb(0 0 0/0.04);--shadow-sm:0 1px 3px 0 rgb(0 0 0/0.08),0 1px 2px -1px rgb(0 0 0/0.06);--shadow-md:0 4px 6px -1px rgb(0 0 0/0.08),0 2px 4px -2px rgb(0 0 0/0.06);--shadow-lg:0 10px 15px -3px rgb(0 0 0/0.08),0 4px 6px -4px rgb(0 0 0/0.06);--shadow-xl:0 20px 50px -20px oklch(0.3 0.05 260/0.35);--shadow-primary:0 16px 40px -16px oklch(0.5 0.19 25/0.35);--shadow-focus:0 0 0 3px color-mix(in oklch,var(--ring) 45%,transparent);--space-0-5:0.125rem;--space-1-5:0.375rem;--space-2-5:0.625rem;--space-3-5:0.875rem;--space-4-5:1.125rem;--space-7:1.75rem;--space-9:2.25rem;--text-2xs:0.6875rem;--text-xs-plus:0.8125rem;--text-sm-plus:0.9375rem;--text-xl-plus:1.375rem;--text-2xl-plus:1.75rem;--radius-circle:50%;--duration-press:80ms;--duration-fast:150ms;--duration-medium:200ms;--duration-base:250ms;--duration-slow:300ms;--z-header:40;--z-sticky:45;--z-overlay:50;--z-modal:60;--z-devtools:80;--z-popover:200}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--background);color:var(--foreground);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased}a{color:var(--primary);text-decoration:none}a:hover{color:color-mix(in oklch,var(--primary) 80%,black)}html{scroll-behavior:smooth;--site-header-h:80px}body{max-width:100vw;overflow-x:hidden}.BottomTabBar_bar__mshAI,.BottomTabBar_spacer__tQQm9{display:none}@media (max-width:699px){.BottomTabBar_spacer__tQQm9{display:block;height:calc(64px + env(safe-area-inset-bottom, 0px))}.BottomTabBar_bar__mshAI{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:var(--z-sticky);height:calc(64px + env(safe-area-inset-bottom, 0px));padding-bottom:env(safe-area-inset-bottom,0);background:var(--background);border-top:1px solid var(--border)}.BottomTabBar_tab___rgbn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-0-5);min-height:44px;color:var(--muted-foreground);font-size:var(--text-2xs);font-weight:var(--font-weight-medium);text-align:center}.BottomTabBar_tabActive__TR7Cq{color:var(--primary);font-weight:var(--font-weight-semibold)}.BottomTabBar_label__Eg_UM{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 var(--space-1)}}@media print{.BottomTabBar_bar__mshAI,.BottomTabBar_spacer__tQQm9{display:none}}.ConsentBanner_banner__8wYHW{position:fixed;inset:auto var(--space-4) var(--space-4) var(--space-4);z-index:var(--z-popover);display:flex;flex-direction:column;gap:var(--space-3);max-width:640px;margin:0 auto;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--card);color:var(--card-foreground);box-shadow:var(--shadow-lg)}.ConsentBanner_title__K5Umn{font-size:var(--text-sm-plus)}.ConsentBanner_text__0cUv0{margin:var(--space-1) 0 0;font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--muted-foreground)}.ConsentBanner_link__nuwvT{color:var(--primary);text-decoration:underline}.ConsentBanner_actions__ptyq7{display:flex;gap:var(--space-2)}.ConsentBanner_btn__5Vbk8{flex:1 1;min-height:44px;padding:var(--space-2) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-full);background:var(--background);color:var(--foreground);font-size:var(--text-sm);font-weight:var(--font-weight-semibold);cursor:pointer}.ConsentBanner_btn__5Vbk8:hover{background:var(--muted)}@media (min-width:700px){.ConsentBanner_banner__8wYHW{flex-direction:row;align-items:center}.ConsentBanner_body__3ZlNz{flex:1 1}.ConsentBanner_actions__ptyq7{flex:none}.ConsentBanner_btn__5Vbk8{min-width:120px}}.Footer_footer__UaG1g{background:var(--navy-surface);color:color-mix(in oklch,var(--navy-surface) 30%,white);padding:24px clamp(20px,5vw,32px);font-size:12.5px}@media print{.Footer_footer__UaG1g{display:none}}.Footer_inner__ACAek{max-width:var(--container-max);margin:0 auto;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:var(--space-3) var(--space-6);text-align:center}.Footer_brand___zP6t{display:flex;align-items:center;gap:var(--space-2);font-weight:var(--font-weight-extrabold);color:var(--navy-surface-foreground)}.Footer_mark__dXctk{width:22px;height:22px;border-radius:var(--radius-circle);object-fit:cover}.Footer_link__EWWOW{color:inherit}.Footer_linkActive__xXvGJ{color:var(--navy-surface-foreground);font-weight:var(--font-weight-bold)}.Footer_linkButton__an8Qk{padding:0;border:0;background:none;font:inherit;cursor:pointer}.Footer_guides__i1e_d{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2) var(--space-4-5)}