@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:ital,wght@0,400;0,500;1,400&display=swap";@font-face{font-family:AstaSans;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/2505-1@1.0/AstaSans-Light.woff2) format("woff2");font-weight:300;font-display:swap}@font-face{font-family:AstaSans;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/2505-1@1.0/AstaSans-Regular.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:AstaSans;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/2505-1@1.0/AstaSans-Medium.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:AstaSans;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/2505-1@1.0/AstaSans-SemiBold.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:AstaSans;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/2505-1@1.0/AstaSans-Bold.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:AstaSans;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/2505-1@1.0/AstaSans-ExtraBold.woff2) format("woff2");font-weight:800;font-display:swap}@font-face{font-family:Aggravo;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2108@1.1/SBAggroL.woff) format("woff");font-weight:300;font-display:swap}@font-face{font-family:Aggravo;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2108@1.1/SBAggroM.woff) format("woff");font-weight:500;font-display:swap}@font-face{font-family:Aggravo;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2108@1.1/SBAggroB.woff) format("woff");font-weight:700;font-display:swap}:root{--blue-50: #f0f8ff;--blue-100: #daeefa;--blue-200: #b8d9f5;--blue-300: #a7c7e7;--blue-400: #87cefa;--blue-500: #5baad6;--blue-600: #3d8fbe;--blue-700: #2d6f9e;--blue-800: #2c5282;--blue-900: #1e3d6b;--gold-50: #fffcf0;--gold-100: #fff6d0;--gold-200: #ffeaac;--gold-300: #ffe08a;--gold-400: #f5cc6a;--gold-500: #d4a83a;--gold-600: #a87e20;--gold-700: #7a5c10;--gray-0: #fffdf5;--gray-50: #f5f3ec;--gray-100: #eceae2;--gray-200: #dddbd3;--gray-300: #c8c6be;--gray-400: #9e9c94;--gray-500: #737168;--gray-600: #504f47;--gray-700: #363530;--gray-800: #211f1a;--gray-900: #141210;--green-50: #f0fdf4;--green-500: #22c55e;--green-700: #15803d;--amber-50: #fffbeb;--amber-500: #f59e0b;--amber-700: #b45309;--red-50: #fef2f2;--red-500: #ef4444;--red-600: #dc2626;--red-700: #b91c1c;--color-primary: var(--blue-800);--color-primary-hover: var(--blue-900);--color-primary-light: var(--blue-400);--color-primary-muted: var(--blue-100);--color-accent: var(--gold-300);--color-accent-hover: var(--gold-400);--color-accent-muted: var(--gold-100);--color-accent-fg: var(--blue-800);--color-sky: var(--blue-400);--color-sky-muted: var(--blue-100);--color-periwinkle: var(--blue-300);--color-surface: var(--gray-0);--color-surface-subtle: var(--gray-50);--color-surface-muted: var(--gray-100);--color-surface-strong: var(--gray-200);--color-border: var(--gray-200);--color-border-strong: var(--gray-300);--color-fg: var(--blue-800);--color-fg-muted: var(--gray-600);--color-fg-subtle: var(--gray-400);--color-fg-inverse: #ffffff;--color-success: var(--green-500);--color-success-bg: var(--green-50);--color-success-fg: var(--green-700);--color-warning: var(--amber-500);--color-warning-bg: var(--amber-50);--color-warning-fg: var(--amber-700);--color-error: var(--red-500);--color-error-bg: var(--red-50);--color-error-fg: var(--red-700)}:root{--font-display: "Aggravo", sans-serif;--font-sans: "AstaSans", -apple-system, BlinkMacSystemFont, system-ui, "Noto Sans KR", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", ui-monospace, monospace;--text-xs: .75rem;--text-sm: .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;--text-6xl: 3.75rem;--text-7xl: 4.5rem;--weight-light: 300;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--leading-none: 1;--leading-tight: 1.2;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--leading-loose: 2;--tracking-tighter: -.04em;--tracking-tight: -.02em;--tracking-normal: 0em;--tracking-wide: .02em;--tracking-wider: .05em;--text-display-size: var(--text-6xl);--text-display-weight: var(--weight-bold);--text-display-leading: var(--leading-tight);--text-display-tracking: var(--tracking-tight);--text-h1-size: var(--text-5xl);--text-h1-weight: var(--weight-bold);--text-h1-leading: var(--leading-tight);--text-h2-size: var(--text-4xl);--text-h2-weight: var(--weight-semibold);--text-h2-leading: var(--leading-snug);--text-h3-size: var(--text-3xl);--text-h3-weight: var(--weight-semibold);--text-h3-leading: var(--leading-snug);--text-h4-size: var(--text-2xl);--text-h4-weight: var(--weight-semibold);--text-h4-leading: var(--leading-normal);--text-body-size: var(--text-base);--text-body-lg-size: var(--text-lg);--text-body-sm-size: var(--text-sm);--text-caption-size: var(--text-xs);--text-body-weight: var(--weight-regular);--text-body-leading: var(--leading-relaxed)}:root{--space-0: 0px;--space-px: 1px;--space-0_5: 2px;--space-1: 4px;--space-1_5: 6px;--space-2: 8px;--space-2_5: 10px;--space-3: 12px;--space-3_5: 14px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-9: 36px;--space-10: 40px;--space-12: 48px;--space-14: 56px;--space-16: 64px;--space-20: 80px;--space-24: 96px;--space-28: 112px;--space-32: 128px;--space-40: 160px;--space-48: 192px;--space-56: 224px;--space-64: 256px;--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1280px;--container-2xl: 1536px;--section-gap: var(--space-24);--component-gap: var(--space-6);--element-gap: var(--space-4);--inline-gap: var(--space-2)}:root{--radius-none: 0px;--radius-xs: 2px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-3xl: 24px;--radius-full: 9999px;--border-width: 1px;--border-width-thick: 2px;--border-color: var(--color-border);--border-default: 1px solid var(--color-border);--shadow-xs: 0 1px 2px rgba(15,23,42,.04);--shadow-sm: 0 1px 3px rgba(15,23,42,.07), 0 1px 2px rgba(15,23,42,.04);--shadow-md: 0 4px 12px rgba(15,23,42,.08), 0 2px 4px rgba(15,23,42,.04);--shadow-lg: 0 8px 24px rgba(15,23,42,.09), 0 4px 8px rgba(15,23,42,.04);--shadow-xl: 0 16px 48px rgba(15,23,42,.1), 0 8px 16px rgba(15,23,42,.05);--shadow-2xl: 0 24px 64px rgba(15,23,42,.12), 0 12px 24px rgba(15,23,42,.06);--ring-primary: 0 0 0 3px rgba(14,165,233,.25);--ring-error: 0 0 0 3px rgba(239,68,68,.25);--overlay-dark: rgba(15,23,42,.5);--overlay-light: rgba(255,255,255,.8);--blur-sm: blur(4px);--blur-md: blur(8px);--blur-lg: blur(16px)}:root{--duration-instant: 0ms;--duration-fast: .1s;--duration-normal: .2s;--duration-slow: .3s;--duration-slower: .5s;--duration-slowest: .8s;--ease-default: cubic-bezier(.4, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-smooth: cubic-bezier(.25, .46, .45, .94);--transition-fast: all var(--duration-fast) var(--ease-default);--transition-normal: all var(--duration-normal) var(--ease-default);--transition-slow: all var(--duration-slow) var(--ease-default);--transition-color: color var(--duration-normal) var(--ease-default), background-color var(--duration-normal) var(--ease-default), border-color var(--duration-normal) var(--ease-default)}html,body{margin:0;background:var(--gray-100);-webkit-font-smoothing:antialiased}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}button{font-family:inherit}a{color:var(--gray-900);text-decoration:underline}a:hover{color:var(--gray-600)}input::placeholder{color:var(--gray-400)}::-webkit-scrollbar{width:0;height:0}.photo{filter:grayscale(.9) sepia(.18) contrast(.92) brightness(1.04)}.fab:active{transform:scale(.95)}@keyframes haru-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.haru-float{animation:haru-float 2.8s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.haru-float{animation:none}}
