@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/fira-code-latin-400-normal.BzypJxJk.woff2) format("woff2"),url(/_astro/fira-code-latin-400-normal.PFR0Tj-d.woff) format("woff")}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/fira-code-latin-600-normal.DdIicVva.woff2) format("woff2"),url(/_astro/fira-code-latin-600-normal.BofGE5bE.woff) format("woff")}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/fira-code-latin-700-normal.hUmNV4O0.woff2) format("woff2"),url(/_astro/fira-code-latin-700-normal.DWx3Q26q.woff) format("woff")}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/nunito-sans-latin-400-normal.GK4zUbTe.woff2) format("woff2"),url(/_astro/nunito-sans-latin-400-normal.BcaM0ec9.woff) format("woff")}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/nunito-sans-latin-600-normal.BYq462Tk.woff2) format("woff2"),url(/_astro/nunito-sans-latin-600-normal.DCF_zii2.woff) format("woff")}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/nunito-sans-latin-700-normal.Bg6PAa9Y.woff2) format("woff2"),url(/_astro/nunito-sans-latin-700-normal.JizdrUr4.woff) format("woff")}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/nunito-sans-latin-ext-400-normal.Dl00lHtW.woff2) format("woff2"),url(/_astro/nunito-sans-latin-ext-400-normal.peglra3h.woff) format("woff")}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/nunito-sans-latin-ext-600-normal.BoJBRqqr.woff2) format("woff2"),url(/_astro/nunito-sans-latin-ext-600-normal.CqXtEE41.woff) format("woff")}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/nunito-sans-latin-ext-700-normal.BRYPcVU0.woff2) format("woff2"),url(/_astro/nunito-sans-latin-ext-700-normal.B1WuhRgc.woff) format("woff")}.skip-link{position:absolute;left:1rem;top:1rem;padding:.65rem .85rem;border-radius:999px;background:var(--accent);color:#07040f;font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;transform:translateY(-160%);transition:transform .18s ease;z-index:50}.skip-link:focus{transform:translateY(0)}.page{min-height:100%;display:flex;flex-direction:column}main{flex:1}.stars{background-image:radial-gradient(circle,rgba(240,236,255,.05) 1px,transparent 1px);background-size:26px 26px}.site-header{position:sticky;top:0;z-index:40;background:color-mix(in oklab,var(--bg-1) 86%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--hairline)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.95rem 0}.brand{display:inline-flex;align-items:baseline;gap:.65rem;text-decoration:none}.brand__name{font-family:var(--font-heading);font-weight:700;letter-spacing:.02em;text-transform:none;font-size:1.05rem;color:var(--text)}.brand__mark{width:10px;height:10px;border-radius:999px;background:var(--accent);box-shadow:var(--glow)}.nav{display:none;align-items:center;gap:1.1rem}.nav a{font-family:var(--font-heading);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:var(--muted)}.nav a:hover{color:var(--text)}.nav a[aria-current=page]{color:var(--accent)}@media (min-width: 980px){.nav{display:flex}}.menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;border:1px solid var(--hairline);background:#07040f59;cursor:pointer}@media (min-width: 980px){.menu-toggle{display:none}}.mobile-panel{display:none;border-top:1px solid var(--hairline);padding:.85rem 0 1.1rem}.mobile-panel[data-open=true]{display:block}@media (min-width: 980px){.mobile-panel{display:none!important}}.mobile-panel a{display:block;padding:.65rem 0;font-family:var(--font-heading);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--muted)}.mobile-panel a:hover{color:var(--text)}.site-footer{margin-top:auto;background:linear-gradient(180deg,#07040f,#0a060e);border-top:1px solid var(--hairline);position:relative}.site-footer:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(520px 220px at 18% 0%,rgba(196,77,255,.12),transparent 60%)}.site-footer__row{position:relative;display:flex;flex-wrap:wrap;gap:.85rem 1.25rem;align-items:center;justify-content:space-between;padding:1.15rem 0;font-size:.92rem;color:#ede5ff}.footer-legal{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:center}.footer-legal__heading{font-family:var(--font-heading);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0}.footer-legal a{font-family:var(--font-heading);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#ede5ff;text-decoration:none}.footer-legal a:hover{color:var(--accent)}.footer-meta{color:var(--muted);font-size:.88rem}.card-grid{columns:1;column-gap:1.25rem}@media (min-width: 720px){.card-grid{columns:2}}@media (min-width: 1100px){.card-grid{columns:3}}.card-tile{break-inside:avoid;margin:0 0 1.25rem}.card-link{display:block;text-decoration:none;color:inherit}.card-link:focus-visible{outline:2px solid rgba(196,77,255,.65);outline-offset:3px;border-radius:calc(var(--radius-card) + 2px)}.card-pad{padding:1.05rem 1.1rem 1.15rem}.pill{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;border-radius:999px;border:1px solid rgba(196,77,255,.22);color:var(--muted);font-family:var(--font-heading);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase}.carousel{display:flex;gap:1rem;overflow-x:auto;padding:.25rem .25rem .75rem;scroll-snap-type:x mandatory}.carousel>*{scroll-snap-align:start;flex:0 0 min(420px,78vw)}.kanban{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width: 980px){.kanban{grid-template-columns:1fr}}.field{display:grid;gap:.35rem;margin-bottom:.95rem}.field label{font-family:var(--font-heading);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.input,.textarea,.select{width:100%;border-radius:12px;border:1px solid rgba(123,107,160,.35);background:#07040f59;color:var(--text);padding:.75rem .85rem;outline:none}.input:focus,.textarea:focus,.select:focus{border-color:#c44dff8c;box-shadow:0 0 0 3px #c44dff2e}.textarea{min-height:140px;resize:vertical}.tree{border:1px solid var(--hairline);border-radius:14px;padding:.85rem;background:#07040f40}.tree details{border-top:1px solid rgba(123,107,160,.22);padding:.55rem 0}.tree details:first-child{border-top:0;padding-top:0}.tree summary{cursor:pointer;font-weight:600}.iwf{position:relative;overflow:hidden;border-radius:14px;border:1px solid rgba(240,236,255,.06);background:#07040f59}.iwf__img{display:block;width:100%;height:100%;object-fit:cover;filter:contrast(1.05) saturate(1.05)}.iwf__fallback{position:absolute;inset:0;opacity:0;pointer-events:none;background:radial-gradient(circle at 30% 20%,rgba(196,77,255,.55),transparent 55%),radial-gradient(circle at 80% 40%,rgba(77,121,255,.45),transparent 55%),linear-gradient(135deg,#120b1e,#0d0814);transition:opacity .24s ease}.iwf__fallback[data-visible=true]{opacity:1}.iwf--pattern .iwf__fallback{background:repeating-linear-gradient(135deg,#c44dff1f 0 10px,#4d79ff1a 10px 20px),linear-gradient(180deg,#120b1e,#07040f)}.iwf--icon .iwf__fallback{background:radial-gradient(circle,rgba(240,236,255,.12),transparent 60%),linear-gradient(180deg,#120b1e,#07040f)}:root{color-scheme:dark;--bg-0: #0d0814;--bg-1: #120b1e;--bg-2: #180f28;--bg-deep: #07040f;--text: #f0ecff;--text-strong: #1a0d2e;--muted: #7b6ba0;--accent: #c44dff;--accent-2: #4d79ff;--hairline: rgba(196, 77, 255, .26);--glow: 0 0 28px rgba(196, 77, 255, .35);--font-heading: "Fira Code", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--font-body: "Nunito Sans", system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--radius-card: 14px;--radius-feature: 18px;--radius-hero: 22px;--shell: 72rem}[data-theme=light]{color-scheme:light;--bg-0: #f3eeff;--bg-1: #ede5ff;--bg-2: #f8f3ff;--bg-deep: #f8f3ff;--text: #1a0d2e;--text-strong: #1a0d2e;--muted: #5b4d78;--hairline: rgba(26, 13, 46, .16);--glow: 0 0 22px rgba(196, 77, 255, .22)}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--font-body);font-size:16px;line-height:1.6;background:radial-gradient(900px 520px at 18% 8%,rgba(196,77,255,.08),transparent 60%),radial-gradient(700px 420px at 88% 12%,rgba(77,121,255,.08),transparent 55%),linear-gradient(180deg,var(--bg-0),var(--bg-deep));color:var(--text)}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.18em}a:hover{color:var(--accent)}.shell{width:min(var(--shell),calc(100% - 2.25rem));margin-inline:auto}h1,h2,h3,h4{font-family:var(--font-heading);letter-spacing:.06em;text-transform:uppercase;line-height:1.12}h1{font-weight:700;font-size:clamp(2.05rem,3.2vw,3.35rem);text-shadow:0 0 14px rgba(196,77,255,.45)}h2{font-weight:700;font-size:clamp(1.35rem,2.1vw,1.75rem);color:var(--accent)}h3{font-weight:600;font-size:1.05rem;color:var(--text)}.subhead{font-family:var(--font-heading);font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-2);font-size:.82rem}.mono-label{font-family:var(--font-heading);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.section{padding:4.25rem 0}.section--tight{padding:3.25rem 0}.rule{height:1px;border:0;margin:0;background:linear-gradient(90deg,transparent,rgba(123,107,160,.35),transparent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:999px;padding:.95rem 1.35rem;font-family:var(--font-heading);font-weight:700;letter-spacing:.08em;text-transform:uppercase;border:1px solid transparent;cursor:pointer;transition:transform .2s ease,filter .2s ease,box-shadow .22s ease,background .22s ease,border-color .22s ease}.btn--primary{background:var(--accent);color:#07040f;box-shadow:var(--glow)}.btn--primary:hover{transform:translateY(-2px) scale(1.02);filter:brightness(1.06);box-shadow:0 0 26px #c44dff8c}.btn--ghost{background:transparent;color:var(--text);border-color:#c44dff47}.btn--ghost:hover{background:#c44dff1a;border-color:#c44dff6b}.text-link{font-family:var(--font-heading);color:var(--accent);text-decoration:underline;text-underline-offset:.22em}.surface{background:linear-gradient(180deg,var(--bg-2),var(--bg-1));border:1px solid var(--hairline);border-radius:var(--radius-card);box-shadow:0 10px 40px #07040f73,0 0 22px #c44dff14}.surface:hover{transform:translateY(-4px);border-color:#c44dff66;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}.grid{display:grid;gap:1.5rem}@media (min-width: 900px){.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}}.visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}.theme-toggle.svelte-k3m9nh{border-radius:999px;border:1px solid rgba(196,77,255,.28);background:#07040f59;color:inherit;cursor:pointer;padding:.55rem .85rem;transition:transform .2s ease,box-shadow .22s ease,border-color .22s ease}.theme-toggle.svelte-k3m9nh:hover{transform:translateY(-1px);border-color:#c44dff73;box-shadow:0 0 22px #c44dff1f}.theme-toggle--compact.svelte-k3m9nh{width:100%;justify-content:center}.theme-toggle--footer.svelte-k3m9nh{justify-content:center}.cookie.svelte-1xhplm6{position:fixed;left:1rem;bottom:1rem;z-index:60;width:min(420px,calc(100vw - 2rem))}.cookie__card.svelte-1xhplm6{padding:1rem 1.05rem 1.05rem;backdrop-filter:blur(10px)}.cookie__text.svelte-1xhplm6{margin:0 0 .85rem;color:var(--text);font-size:.95rem}.cookie__actions.svelte-1xhplm6{display:flex;gap:.65rem;flex-wrap:wrap;justify-content:flex-end}
