:root{--canvas:#f5f5f5;--surface:#fff;--surface-soft:#fafaf9;--surface-strong:#efeeec;--ink:#292524;--body:#4e4e4e;--muted:#777169;--inverse:#f5f5f5;--link:#315b8a;--link-hover:#1f456b;--hairline:#e7e5e4;--hairline-strong:#d6d3d1;--accent-mint:#a7e5d3;--accent-peach:#f4c5a8;--accent-lavender:#c8b8e0;--accent-sky:#a8c8e8;--accent-rose:#e8b8c4;--accent:var(--accent-lavender);--success:#16a34a;--error:#dc2626;--font-display:"EB Garamond", "Noto Serif KR", Georgia, serif;--font-body:"Inter", "Pretendard", "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--radius-pill:9999px;--radius-card:16px;--radius-orb:24px;--radius-sm:8px;--shadow-card:0 4px 16px #0000000a;--shadow-pop:0 8px 30px #00000014;--maxw:1200px;--maxw-prose:720px;--space-section:96px}*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--canvas);color:var(--body);letter-spacing:.16px;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;flex-direction:column;min-height:100vh;font-size:16px;line-height:1.7;display:flex}img,picture,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul,ol{padding-left:1.25rem}h1,h2,h3,h4{font-family:var(--font-display);color:var(--ink);letter-spacing:-.02em;font-weight:300;line-height:1.2}h1{font-size:clamp(2rem,5vw,3.4rem)}h2{font-size:clamp(1.6rem,3.4vw,2.4rem)}h3{font-size:clamp(1.25rem,2.4vw,1.6rem)}h4{font-size:1.15rem}p{color:var(--body)}strong{color:var(--ink);font-weight:600}small{color:var(--muted);font-size:.85rem}.container{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:24px}.prose-container{max-width:var(--maxw-prose);margin-inline:auto;padding-inline:24px}.section{padding-block:clamp(48px, 8vw, var(--space-section))}.section--tight{padding-block:clamp(32px,5vw,64px)}.hairline{border:0;border-top:1px solid var(--hairline)}.eyebrow{font-family:var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.78rem;font-weight:600}.lead{color:var(--body);font-size:1.15rem}.muted{color:var(--muted)}.center{text-align:center}.btn{font-family:var(--font-body);letter-spacing:.01em;border-radius:var(--radius-pill);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:11px 22px;font-size:.94rem;font-weight:500;line-height:1;transition:transform .15s,background .15s,border-color .15s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn--primary{background:var(--ink);color:var(--inverse)}.btn--primary:hover{background:#1c1917}.btn--outline{border-color:var(--hairline-strong);color:var(--ink);background:0 0}.btn--outline:hover{border-color:var(--ink)}.btn--ghost{color:var(--ink);background:0 0;padding-inline:4px}.btn--ghost:hover{color:var(--muted)}.badge{letter-spacing:.04em;border-radius:var(--radius-pill);background:var(--surface-strong);color:var(--muted);align-items:center;gap:.35rem;padding:4px 12px;font-size:.72rem;font-weight:600;display:inline-flex}.badge--accent{background:color-mix(in srgb, var(--accent) 35%, var(--canvas));color:var(--ink)}.card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius-card);padding:24px;transition:box-shadow .18s,transform .18s}.card-link:hover{box-shadow:var(--shadow-card);transform:translateY(-2px)}.grid{gap:24px;display:grid}.grid--2{grid-template-columns:repeat(2,1fr)}.grid--3{grid-template-columns:repeat(3,1fr)}.grid--auto{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.orb{filter:blur(48px);opacity:.55;pointer-events:none;z-index:0;border-radius:50%;position:absolute}.orb--mint{background:radial-gradient(circle, var(--accent-mint), transparent 70%)}.orb--peach{background:radial-gradient(circle, var(--accent-peach), transparent 70%)}.orb--lavender{background:radial-gradient(circle, var(--accent-lavender), transparent 70%)}.orb--sky{background:radial-gradient(circle, var(--accent-sky), transparent 70%)}.link-underline{color:var(--ink);border-bottom:1px solid var(--hairline-strong);transition:border-color .15s}.link-underline:hover{border-color:var(--ink)}.prose{color:var(--body);font-size:1.05rem;line-height:1.85}.prose>*+*{margin-top:1.1em}.prose h2{border-top:1px solid var(--hairline);margin-top:2.2em;padding-top:.6em}.prose h3{margin-top:1.8em}.prose .extension-name-heading{border-left:4px solid var(--accent-sky);border-radius:0 var(--radius-sm) var(--radius-sm) 0;width:fit-content;max-width:100%;font-family:var(--font-body);letter-spacing:-.02em;overflow-wrap:anywhere;background:linear-gradient(90deg,#a8c8e847,#a8c8e814);padding:.48rem .78rem;font-size:clamp(1.05rem,2.2vw,1.28rem);font-weight:800;line-height:1.35}.prose h4.extension-name-heading{margin-top:1.8em}.prose .extension-name-heading--plugin{border-left-color:var(--accent-lavender);background:linear-gradient(90deg,#c8b8e047,#c8b8e014)}.prose .extension-name-inline code{background:#a8c8e833;border:1px solid #a8c8e894;font-weight:800}.prose h2+p,.prose h3+p,.prose h4.extension-name-heading+p{margin-top:.7em}.prose a{color:var(--link);border-bottom:1px solid #315b8a73}.prose a:hover{color:var(--link-hover);border-color:currentColor}.prose ul,.prose ol{padding-left:1.4rem}.prose li+li{margin-top:.4em}.prose code{background:var(--surface-strong);color:var(--ink);border-radius:6px;padding:.15em .4em;font-family:JetBrains Mono,SFMono-Regular,Consolas,monospace;font-size:.88em}.prose pre{color:#e7e5e4;border-radius:var(--radius-sm);background:#1c1917;padding:18px 20px;font-size:.9rem;line-height:1.6;overflow-x:auto}.prose pre code{color:inherit;background:0 0;padding:0}.prose blockquote{border-left:3px solid var(--hairline-strong);color:var(--muted);padding-left:1.2rem;font-style:italic}.prose table{border-collapse:collapse;width:100%;font-size:.95rem}.prose th,.prose td{border:1px solid var(--hairline);text-align:left;padding:10px 12px}.prose th{background:var(--surface-soft);color:var(--ink);font-weight:600}@media (width<=720px){.prose table{white-space:nowrap;-webkit-overflow-scrolling:touch;max-width:100%;display:block;overflow-x:auto}}.callout{border:1px solid var(--hairline);border-radius:var(--radius-card);background:var(--surface-soft);padding:20px 22px}.callout__title{font-family:var(--font-body);color:var(--ink);align-items:center;gap:.4rem;margin-bottom:.5rem;font-size:.95rem;font-weight:600;display:flex}.callout--summary{border-left:4px solid var(--accent-mint)}.callout--warn{border-left:4px solid var(--accent-peach)}.callout--checklist{border-left:4px solid var(--accent-sky)}.owner-note{border:1px dashed var(--hairline-strong);border-radius:var(--radius-card);background:color-mix(in srgb, var(--accent-lavender) 14%, var(--surface));padding:20px 22px}.owner-note__label{font-family:var(--font-body);letter-spacing:.04em;color:var(--ink);margin-bottom:.4rem;font-size:.78rem;font-weight:600}.owner-note__hint{color:var(--muted);font-size:.9rem}.owner-note__body{color:var(--body);font-size:.96rem;line-height:1.75}.prose .series-link-card{border:1px solid var(--hairline-strong);border-radius:var(--radius-card);background:var(--surface);color:var(--body);grid-template-columns:minmax(220px,.9fr) minmax(0,1.1fr);transition:transform .18s,box-shadow .18s,border-color .18s;display:grid;overflow:hidden;box-shadow:0 10px 28px #1c191714}.prose .series-link-card:hover{border-color:var(--ink);transform:translateY(-2px);box-shadow:0 16px 34px #1c191721}.series-link-card__media{background:var(--surface-soft);min-height:100%;display:block}.series-link-card__media img{aspect-ratio:16/9;object-fit:cover;width:100%;height:100%;display:block}.series-link-card__content{flex-direction:column;justify-content:center;gap:.45rem;padding:22px 24px;display:flex}.series-link-card__eyebrow{color:var(--muted);letter-spacing:.04em;font-size:.78rem;font-weight:700}.series-link-card__content strong{color:var(--ink);font-family:var(--font-body);font-size:clamp(1.05rem,2vw,1.3rem);line-height:1.35}.series-link-card__content>span:not(.series-link-card__eyebrow,.series-link-card__cta){color:var(--muted);font-size:.9rem;line-height:1.55}.series-link-card__cta{color:var(--ink);margin-top:.25rem;font-size:.9rem;font-weight:700}@media (width<=680px){.prose .series-link-card{grid-template-columns:1fr}.series-link-card__media{min-height:0}.series-link-card__content{padding:18px 20px 20px}}:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:4px}.skip-link{background:var(--ink);color:var(--inverse);z-index:100;border-radius:0 0 8px;padding:10px 16px;position:absolute;top:0;left:-999px}.skip-link:focus{left:0}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=900px){.grid--3{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.grid--2,.grid--3{grid-template-columns:1fr}:root{--space-section:64px}}.site-header[data-astro-cid-nen7h5rs]{z-index:50;background:color-mix(in srgb, var(--canvas) 85%, transparent);backdrop-filter:saturate(180%)blur(10px);border-bottom:1px solid var(--hairline);position:sticky;top:0}.header-inner[data-astro-cid-nen7h5rs]{justify-content:space-between;align-items:center;height:64px;display:flex}.brand[data-astro-cid-nen7h5rs]{align-items:center;gap:.6rem;display:inline-flex}.brand-mark[data-astro-cid-nen7h5rs]{background:var(--ink);border-radius:7px;width:22px;height:22px;position:relative}.brand-mark[data-astro-cid-nen7h5rs]:after{content:"";background:var(--accent-mint);border-radius:50%;width:7px;height:7px;position:absolute;inset:6px 6px auto auto}.brand-name[data-astro-cid-nen7h5rs]{font-family:var(--font-display);color:var(--ink);letter-spacing:-.01em;font-size:1.3rem;font-weight:300}.nav-desktop[data-astro-cid-nen7h5rs]{gap:1.6rem;display:flex}.nav-link[data-astro-cid-nen7h5rs]{color:var(--muted);padding-block:4px;font-size:.92rem;transition:color .15s}.nav-link[data-astro-cid-nen7h5rs]:hover{color:var(--ink)}.nav-link[data-astro-cid-nen7h5rs].is-active{color:var(--ink);border-bottom:1px solid var(--ink)}.nav-toggle[data-astro-cid-nen7h5rs]{cursor:pointer;background:0 0;border:0;flex-direction:column;gap:5px;padding:8px;display:none}.nav-toggle[data-astro-cid-nen7h5rs] span[data-astro-cid-nen7h5rs]{background:var(--ink);width:22px;height:2px;transition:transform .2s,opacity .2s}.nav-toggle[data-astro-cid-nen7h5rs][aria-expanded=true] span[data-astro-cid-nen7h5rs]:first-child{transform:translateY(7px)rotate(45deg)}.nav-toggle[data-astro-cid-nen7h5rs][aria-expanded=true] span[data-astro-cid-nen7h5rs]:nth-child(2){opacity:0}.nav-toggle[data-astro-cid-nen7h5rs][aria-expanded=true] span[data-astro-cid-nen7h5rs]:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.nav-mobile[data-astro-cid-nen7h5rs]{border-top:1px solid var(--hairline);flex-direction:column;gap:.4rem;padding:12px 24px 20px;display:none}.nav-mobile[data-astro-cid-nen7h5rs] .nav-link[data-astro-cid-nen7h5rs]{padding:10px 0;font-size:1rem}@media (width<=760px){.nav-desktop[data-astro-cid-nen7h5rs]{display:none}.nav-toggle[data-astro-cid-nen7h5rs],.nav-mobile[data-astro-cid-nen7h5rs][data-open=true]{display:flex}}.site-footer[data-astro-cid-jo6i4kqk]{background:var(--canvas);border-top:1px solid var(--hairline);margin-top:auto;padding-block:56px 28px}.footer-grid[data-astro-cid-jo6i4kqk]{grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px;display:grid}.footer-name[data-astro-cid-jo6i4kqk]{font-family:var(--font-display);color:var(--ink);font-size:1.35rem;font-weight:300}.footer-tagline[data-astro-cid-jo6i4kqk]{color:var(--muted);max-width:32ch;margin-top:.4rem;font-size:.92rem}.footer-owner[data-astro-cid-jo6i4kqk],.footer-contact[data-astro-cid-jo6i4kqk]{color:var(--muted);margin-top:.7rem;font-size:.9rem}.owner-link[data-astro-cid-jo6i4kqk]{color:var(--ink);border-bottom:1px solid var(--hairline-strong);font-weight:600}.owner-link[data-astro-cid-jo6i4kqk]:hover{border-color:var(--ink)}.footer-h[data-astro-cid-jo6i4kqk]{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:.8rem;font-size:.78rem;font-weight:600}.footer-col[data-astro-cid-jo6i4kqk]{flex-direction:column;gap:.55rem;display:flex}.footer-col[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{color:var(--body);width:fit-content;font-size:.92rem}.footer-col[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--ink)}.footer-bottom[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--hairline);justify-content:space-between;gap:12px;margin-top:40px;padding-top:20px;font-size:.85rem;display:flex}.footer-bottom[data-astro-cid-jo6i4kqk] .owner-link[data-astro-cid-jo6i4kqk]{font-weight:600}@media (width<=760px){.footer-grid[data-astro-cid-jo6i4kqk]{grid-template-columns:1fr 1fr}.footer-bottom[data-astro-cid-jo6i4kqk]{flex-direction:column}}@media (width<=440px){.footer-grid[data-astro-cid-jo6i4kqk]{grid-template-columns:1fr}}
