:root{color-scheme:light dark;--stage-bg: var(--bg-raised);--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-pill: 999px;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4rem;--font-sans: -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Segoe UI", Roboto, "Noto Sans KR", sans-serif;--font-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--text-xs: .6875rem;--text-sm: .8125rem;--text-base: .9375rem;--text-lg: 1.125rem;--text-xl: 1.5rem;--tracking-tight: -.015em;--tracking-wide: .08em;--chrome-height: 2.75rem;--rail-left-width: 15rem;--rail-right-width: 18rem;--control-height: 2rem;--button-height: 2.25rem;--icon-button-size: 2rem;--icon-size: 1rem;--icon-size-sm: .875rem;--course-dot-size: .5rem;--dur-fast: .12s;--dur-base: .2s;--ease-out: cubic-bezier(.16, 1, .3, 1);--web-text-body: clamp(.9375rem, .91rem + .14vw, 1.0625rem);--web-text-lead: clamp(1.0625rem, 1rem + .32vw, 1.25rem);--web-text-section: clamp(2rem, 1.55rem + 1.6vw, 3rem);--web-text-hero: clamp(3.1rem, 2rem + 4.8vw, 6.4rem);--web-leading-body: 1.7;--web-leading-tight: 1.12;--content-max: 70rem;--wide-max: 78rem;--gutter: clamp(1rem, 3.5vw, 2.5rem);--nav-h: 4.5rem}:root[data-theme=light]{color-scheme:light;--bg-app: #ffffff;--bg-surface: #f9f9f9;--bg-raised: #eeeeee;--bg-overlay: #ffffff;--text-primary: #0d0d0d;--text-secondary: #565656;--text-muted: #686868;--accent: #171717;--accent-muted: #e8e8e8;--on-accent: #ffffff;--danger: oklch(54% .17 25);--danger-muted: oklch(54% .17 25 / .11);--on-danger: oklch(100% 0 0);--backdrop: rgb(0 0 0 / .24);--border-subtle: rgb(0 0 0 / .075);--border-strong: rgb(0 0 0 / .22);--course-gold: oklch(52% .105 75);--course-green: oklch(50% .11 153);--course-blue: oklch(52% .14 255);--course-pink: oklch(54% .16 350);--course-violet: oklch(50% .16 300);--course-orange: oklch(56% .15 45);--highlight-yellow: oklch(88% .14 95);--highlight-green: oklch(85% .13 150);--highlight-pink: oklch(85% .085 350);--highlight-blue: oklch(84% .08 240);--status-todo: oklch(52% .02 80);--status-progress: oklch(52% .14 250);--status-done: oklch(52% .13 152);--shadow-sm: 0 1px 3px rgb(0 0 0 / .05);--shadow-md: 0 4px 16px rgb(0 0 0 / .08);--shadow-lg: 0 12px 40px rgb(0 0 0 / .12)}:root[data-theme=dark]{color-scheme:dark;--bg-app: #212121;--bg-surface: #181818;--bg-raised: #303030;--bg-overlay: #292929;--text-primary: #ececec;--text-secondary: #c4c4c4;--text-muted: #b0b0b0;--accent: #ececec;--accent-muted: #383838;--on-accent: #171717;--danger: oklch(72% .14 25);--danger-muted: oklch(72% .14 25 / .14);--on-danger: #171717;--backdrop: rgb(0 0 0 / .48);--border-subtle: rgb(255 255 255 / .085);--border-strong: rgb(255 255 255 / .25);--course-gold: oklch(85% .095 82);--course-green: oklch(74% .105 153);--course-blue: oklch(72% .105 245);--course-pink: oklch(75% .105 350);--course-violet: oklch(72% .1 300);--course-orange: oklch(76% .12 55);--highlight-yellow: oklch(83% .13 95);--highlight-green: oklch(80% .14 150);--highlight-pink: oklch(78% .12 350);--highlight-blue: oklch(78% .11 240);--status-todo: oklch(62% .03 255);--status-progress: oklch(78% .11 240);--status-done: oklch(76% .13 150);--shadow-sm: 0 1px 3px rgb(0 0 0 / .15);--shadow-md: 0 4px 16px rgb(0 0 0 / .22);--shadow-lg: 0 12px 40px rgb(0 0 0 / .3)}html[data-theme=light]{--browser-chrome-bg: #ffffff;color-scheme:light}html[data-theme=dark]{--browser-chrome-bg: #212121;color-scheme:dark}html[data-theme=dark]{--browser-chrome-bg: #08090a;--bg-app: #08090a;--bg-surface: #101113;--bg-raised: #1b1d20;--bg-overlay: #151719;--text-primary: #f4f4f5;--text-secondary: #aaadb3;--text-muted: #8d929b;--border-subtle: #ffffff12;--border-strong: #ffffff24}:root{--wide-max: 80rem;--content-max: 72rem;--nav-h: 4.25rem}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{background-color:var(--browser-chrome-bg, #ffffff);-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-block-start:calc(var(--nav-h) + var(--space-4))}body{min-block-size:100vh;overflow-x:hidden;color:var(--text-primary);background-color:var(--browser-chrome-bg, var(--bg-app));font-family:var(--font-sans);font-size:var(--web-text-body);line-height:var(--web-leading-body);font-synthesis-weight:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-wrap:anywhere}html[lang=ko] body{word-break:keep-all;line-break:strict}h1,h2,h3,h4{font-weight:600;line-height:1.25;letter-spacing:var(--tracking-tight);text-wrap:balance}p,figcaption{text-wrap:pretty}img,svg,video{display:block;max-inline-size:100%}a{color:inherit;text-decoration:none}ul,ol{list-style:none}button{color:inherit;background:none;border:0;font:inherit;cursor:pointer}code,kbd{font-family:var(--font-mono)}::selection{color:var(--text-primary);background:var(--accent-muted)}:focus-visible{border-radius:var(--radius-sm);outline:2px solid var(--accent);outline-offset:3px}.shell{inline-size:100%;max-inline-size:var(--content-max);margin-inline:auto;padding-inline:var(--gutter)}.shell--wide{max-inline-size:var(--wide-max)}.skip-link{position:absolute;inset-block-start:-100%;inset-inline-start:var(--space-4);z-index:100;padding:var(--space-3) var(--space-4);color:var(--on-accent);background:var(--accent);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600}.skip-link:focus{inset-block-start:var(--space-4)}.surface-label{font-size:.75rem;font-weight:600;letter-spacing:.01em;color:var(--text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);block-size:var(--button-height);padding-inline:var(--space-4);border:1px solid transparent;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;line-height:1;white-space:nowrap;transition:transform var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(1px)}.btn--lg{block-size:3rem;padding-inline:var(--space-5);border-radius:var(--radius-lg);font-size:var(--text-base)}.btn--solid{color:var(--on-accent);background:var(--accent)}.btn--solid:hover{filter:brightness(1.08)}.btn--ghost{color:var(--text-primary);background:transparent;border-color:var(--border-strong)}.btn--ghost:hover{color:var(--text-primary);background:var(--bg-raised)}.btn--quiet{color:var(--text-secondary)}.btn--quiet:hover{color:var(--text-primary);background:var(--bg-raised)}.btn__icon{inline-size:var(--icon-size);block-size:var(--icon-size);flex:none}@keyframes initial-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.initial-rise{animation:initial-rise var(--dur-base) var(--ease-out) both}.demo-link{display:inline-flex;align-items:center;gap:var(--space-2);margin-block-start:var(--space-3);padding:var(--space-2) var(--space-4);color:var(--text-secondary);font-size:var(--text-sm);font-weight:600;background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:var(--radius-pill);transition:color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.demo-link:before{content:"↑";color:var(--accent)}.demo-link:hover{color:var(--accent);border-color:var(--accent)}.demo-link:active{transform:translateY(1px)}.visually-hidden{position:absolute;inline-size:1px;block-size:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.logo[data-astro-cid-tvrurpns]{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--text-primary)}.logo__names[data-astro-cid-tvrurpns]{display:inline-flex;align-items:baseline;gap:var(--space-2)}.logo__primary[data-astro-cid-tvrurpns]{font-size:1rem;font-weight:650;letter-spacing:var(--tracking-tight)}.logo__companion[data-astro-cid-tvrurpns]{font-size:var(--text-xs);color:var(--text-muted)}.logo--lg[data-astro-cid-tvrurpns] .logo__primary[data-astro-cid-tvrurpns]{font-size:var(--text-lg)}.nav[data-astro-cid-dmqpwcec]{position:sticky;inset-block-start:0;z-index:50;block-size:var(--nav-h);background-color:var(--browser-chrome-bg, var(--bg-app));border-block-end:1px solid var(--border-subtle)}.nav__inner[data-astro-cid-dmqpwcec],.nav__actions[data-astro-cid-dmqpwcec],.nav__links[data-astro-cid-dmqpwcec],.lang[data-astro-cid-dmqpwcec]{display:flex;align-items:center}.nav__inner[data-astro-cid-dmqpwcec]{block-size:100%;gap:var(--space-4)}.nav__home[data-astro-cid-dmqpwcec]{flex:none}.nav__links[data-astro-cid-dmqpwcec]{display:none;gap:1.5rem;margin-inline:auto}.nav__links[data-astro-cid-dmqpwcec] a[data-astro-cid-dmqpwcec]{color:var(--text-muted);font-size:var(--text-sm);font-weight:550}.nav__links[data-astro-cid-dmqpwcec] a[data-astro-cid-dmqpwcec]:hover{color:var(--text-primary)}.nav__account-short[data-astro-cid-dmqpwcec]{display:none}@media(max-width:44rem){.nav__account-full[data-astro-cid-dmqpwcec]{display:none}.nav__account-short[data-astro-cid-dmqpwcec]{display:block}}.nav__account[data-astro-cid-dmqpwcec]{font-size:.75rem;color:var(--text-secondary);white-space:nowrap;padding:.5rem}.nav__actions[data-astro-cid-dmqpwcec]{gap:var(--space-2);margin-inline-start:auto}.lang[data-astro-cid-dmqpwcec]{display:none;gap:var(--space-1);padding:var(--space-1);background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-pill)}.lang[data-astro-cid-dmqpwcec] a[data-astro-cid-dmqpwcec]{padding:var(--space-1) var(--space-2);color:var(--text-muted);border-radius:var(--radius-pill);font-size:var(--text-xs)}.lang[data-astro-cid-dmqpwcec] a[data-astro-cid-dmqpwcec]:hover,.lang[data-astro-cid-dmqpwcec] a[data-astro-cid-dmqpwcec][aria-current=page]{color:var(--text-primary);background:var(--bg-raised)}.menu[data-astro-cid-dmqpwcec]{position:relative}.menu[data-astro-cid-dmqpwcec] summary[data-astro-cid-dmqpwcec]{display:grid;place-items:center;inline-size:var(--icon-button-size);block-size:var(--icon-button-size);border-radius:var(--radius-sm);cursor:pointer;list-style:none}.menu[data-astro-cid-dmqpwcec] summary[data-astro-cid-dmqpwcec]::-webkit-details-marker{display:none}.menu[data-astro-cid-dmqpwcec] summary[data-astro-cid-dmqpwcec]:hover{background:var(--bg-raised)}.menu[data-astro-cid-dmqpwcec] summary[data-astro-cid-dmqpwcec] span[data-astro-cid-dmqpwcec],.menu[data-astro-cid-dmqpwcec] summary[data-astro-cid-dmqpwcec] span[data-astro-cid-dmqpwcec]:before,.menu[data-astro-cid-dmqpwcec] summary[data-astro-cid-dmqpwcec] span[data-astro-cid-dmqpwcec]:after{display:block;inline-size:var(--icon-size);block-size:1px;background:var(--text-secondary)}.menu[data-astro-cid-dmqpwcec] summary[data-astro-cid-dmqpwcec] span[data-astro-cid-dmqpwcec]{position:relative}.menu[data-astro-cid-dmqpwcec] summary[data-astro-cid-dmqpwcec] span[data-astro-cid-dmqpwcec]:before,.menu[data-astro-cid-dmqpwcec] summary[data-astro-cid-dmqpwcec] span[data-astro-cid-dmqpwcec]:after{content:"";position:absolute;inset-inline-start:0}.menu[data-astro-cid-dmqpwcec] summary[data-astro-cid-dmqpwcec] span[data-astro-cid-dmqpwcec]:before{transform:translateY(-5px)}.menu[data-astro-cid-dmqpwcec] summary[data-astro-cid-dmqpwcec] span[data-astro-cid-dmqpwcec]:after{transform:translateY(5px)}.menu[data-astro-cid-dmqpwcec]>nav[data-astro-cid-dmqpwcec]{position:absolute;inset-block-start:calc(100% + var(--space-3));inset-inline-end:0;display:flex;flex-direction:column;inline-size:13rem;max-block-size:calc(100dvh - var(--nav-h) - var(--space-7));overflow-y:auto;overscroll-behavior:contain;padding:var(--space-2);background:var(--bg-overlay);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.menu[data-astro-cid-dmqpwcec] nav[data-astro-cid-dmqpwcec]>a[data-astro-cid-dmqpwcec],.menu__langs[data-astro-cid-dmqpwcec] a[data-astro-cid-dmqpwcec]{padding:var(--space-3);color:var(--text-secondary);border-radius:var(--radius-sm);font-size:var(--text-sm)}.menu[data-astro-cid-dmqpwcec] nav[data-astro-cid-dmqpwcec] a[data-astro-cid-dmqpwcec]:hover{color:var(--text-primary);background:var(--bg-raised)}.menu__langs[data-astro-cid-dmqpwcec]{display:flex;flex-direction:column;margin-block-start:var(--space-2);padding-block-start:var(--space-2);border-block-start:1px solid var(--border-subtle)}.menu__langs[data-astro-cid-dmqpwcec] a[data-astro-cid-dmqpwcec][aria-current=page]{color:var(--accent)}@media(min-width:44rem){.lang[data-astro-cid-dmqpwcec]{display:flex}}@media(max-width:440px){.nav__home[data-astro-cid-dmqpwcec] .logo__companion{display:none}.nav__inner[data-astro-cid-dmqpwcec]{gap:.5rem}}@media(max-width:350px){.nav__home[data-astro-cid-dmqpwcec] .logo__primary{display:none}}@media(min-width:64rem){.nav__links[data-astro-cid-dmqpwcec]{display:flex}.menu[data-astro-cid-dmqpwcec]{display:none}}.footer[data-astro-cid-sz7xmlte]{border-top:1px solid var(--border-subtle);background:var(--bg-app)}.footer__main[data-astro-cid-sz7xmlte]{display:grid;grid-template-columns:1fr 1.4fr;gap:4rem;padding-block:4.5rem}.footer__brand[data-astro-cid-sz7xmlte] p[data-astro-cid-sz7xmlte]{max-width:21rem;margin-top:1.3rem;color:var(--text-muted);font-size:.83rem;line-height:1.9}.footer__brand[data-astro-cid-sz7xmlte]>span[data-astro-cid-sz7xmlte]{display:block;margin-top:1.8rem;color:var(--text-muted);font-family:var(--font-mono);font-size:.6rem;letter-spacing:.13em}.footer__navigation[data-astro-cid-sz7xmlte]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}nav[data-astro-cid-sz7xmlte]{display:flex;flex-direction:column;align-items:start;gap:.8rem}nav[data-astro-cid-sz7xmlte] h3[data-astro-cid-sz7xmlte]{margin-bottom:.6rem;font-size:.8rem;font-weight:550}nav[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{color:var(--text-muted);font-size:.78rem}nav[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--text-primary)}.footer__company[data-astro-cid-sz7xmlte]{display:grid;gap:.25rem;padding-block:1.4rem;border-top:1px solid var(--border-subtle);color:var(--text-muted);font-size:.7rem;font-style:normal;line-height:1.6;overflow-wrap:anywhere}.footer__base[data-astro-cid-sz7xmlte]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding-block:1.4rem;border-top:1px solid var(--border-subtle);font-size:.7rem;color:var(--text-muted)}.footer__base[data-astro-cid-sz7xmlte] p[data-astro-cid-sz7xmlte]{overflow-wrap:anywhere}.footer__base[data-astro-cid-sz7xmlte] div[data-astro-cid-sz7xmlte]{display:flex;gap:1rem}.footer__base[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte][aria-current=page]{color:var(--text-primary)}@media(max-width:760px){.footer__main[data-astro-cid-sz7xmlte]{grid-template-columns:1fr;gap:2.5rem;padding-block:3rem}}
