@font-face {font-family:"Archivo";src:url("/assets/archivo-latin.woff2?v=7150c0ec5a") format("woff2");font-weight:400 700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face {font-family:"IBM Plex Mono";src:url("/assets/plexmono-latin.woff2?v=c36f509c0a") format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA,U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193,U+2212, U+2215, U+FEFF, U+FFFD;}
:root {--paper:#f6f5f2;--sheet:#fbfaf7;--deep:#f1efe9;--ink:#14161a;--muted:#5e6470;--hairline:#dcd9d2;--rule-strong:#c9c5bc;--accent:#0b7a58;--accent-bright:#0f8f68;--accent-wash:#e7f1ec;--alert:#b3261e;--alert-wash:#f7e9e7;--pattern:#c9c5bc;--font-sans:"Archivo", -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo","Pretendard", "Malgun Gothic", "Noto Sans KR", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--text-display:clamp(1.95rem, 4.6vw, 2.95rem);--text-h1:clamp(1.85rem, 4.2vw, 2.6rem);--text-h2:clamp(1.4rem, 3vw, 1.85rem);--text-h3:1.125rem;--text-lede:clamp(1.05rem, 2.2vw, 1.22rem);--text-body:1.0625rem;--text-small:0.875rem;--text-micro:0.6875rem;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--gutter:clamp(1.25rem, 4vw, 3rem);--measure:40rem;--wide:72rem;--railw:13.5rem;--rhythm:clamp(2.5rem, 5vw, 4rem);--topbar-h:3.5rem;--dur-fast:120ms;--dur:200ms;--ease:cubic-bezier(0.2, 0.7, 0.3, 1);}
*,*::before,*::after {box-sizing:border-box;}
html {-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--paper);}
body {margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:var(--text-body);line-height:1.72;word-break:keep-all;overflow-wrap:break-word;line-break:strict;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-variant-numeric:proportional-nums;}
h1,h2,h3,h4 {font-family:var(--font-sans);font-weight:700;color:var(--ink);margin:0;text-wrap:balance;}
h1 {font-size:var(--text-h1);line-height:1.12;letter-spacing:-0.025em;}
h2 {font-size:var(--text-h2);line-height:1.24;letter-spacing:-0.02em;}
h3 {font-size:var(--text-h3);line-height:1.4;letter-spacing:-0.01em;}
p {margin:0 0 var(--space-5);text-wrap:pretty;}
p:last-child {margin-bottom:0;}
img,svg {display:block;max-width:100%;height:auto;}
a {color:var(--accent);text-decoration-line:underline;text-decoration-thickness:1px;text-decoration-color:var(--rule-strong);text-underline-offset:0.22em;transition:color var(--dur-fast) var(--ease),text-decoration-color var(--dur-fast) var(--ease);}
a:hover {color:var(--accent);text-decoration-color:var(--accent);}
:focus-visible {outline:2px solid var(--accent);outline-offset:3px;}
::selection {background:var(--accent-wash);color:var(--ink);}
@media (prefers-reduced-motion:reduce) {html {scroll-behavior:auto;}
*,*::before,*::after {animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;}}
.num,.nb {font-family:var(--font-mono);font-variant-numeric:tabular-nums slashed-zero;}
.nb {white-space:nowrap;}
.num {font-size:0.95em;letter-spacing:-0.01em;}
.skip {position:absolute;left:var(--space-4);top:-4rem;z-index:100;padding:0.6rem 1rem;background:var(--ink);color:var(--paper);text-decoration:none;font-size:var(--text-small);}
.skip:focus {top:var(--space-3);color:var(--paper);}
.wrap {width:100%;max-width:var(--wide);margin-inline:auto;padding-inline:var(--gutter);}
.topbar {position:sticky;top:0;z-index:40;background:var(--paper);border-bottom:1px solid var(--hairline);}
.topbar__inner {display:flex;align-items:center;gap:var(--space-4);min-height:var(--topbar-h);max-width:var(--wide);margin-inline:auto;padding-inline:var(--gutter);}
.topbar__brand {display:flex;align-items:center;gap:var(--space-2);min-width:0;color:var(--ink);text-decoration:none;font-family:var(--font-sans);font-size:0.8125rem;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;}
.topbar__brand svg {flex:none;color:var(--accent);}
.topbar__brand b {color:var(--muted);font-weight:400;letter-spacing:0.14em;}
.topbar__nav {display:none;}
.topbar__nav a {padding:var(--space-2) 0;border-bottom:2px solid transparent;color:var(--muted);font-size:var(--text-small);text-decoration:none;transition:color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease);}
.topbar__nav a:hover {color:var(--ink);}
.topbar__nav a[aria-current="page"] {color:var(--ink);border-bottom-color:var(--accent);}
.topbar__toggle {margin-left:auto;padding:0.5rem 0.75rem;border:1px solid var(--hairline);border-radius:2px;background:var(--sheet);color:var(--ink);font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:0.12em;cursor:pointer;transition:border-color var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease);}
.topbar__toggle:hover {border-color:var(--rule-strong);background:var(--deep);}
.topbar__toggle[aria-expanded="true"] {border-color:var(--accent);color:var(--accent);}
@media (min-width:900px) {.topbar__nav {display:flex;align-items:center;gap:var(--space-6);margin-left:auto;}
.topbar__toggle {display:none;}}
.drawer {position:absolute;left:0;right:0;top:100%;visibility:hidden;opacity:0;transform:translateY(-4px);background:var(--sheet);border-bottom:1px solid var(--hairline);transition:opacity var(--dur) var(--ease), transform var(--dur) var(--ease),visibility 0s linear var(--dur);}
.drawer[data-open="true"] {visibility:visible;opacity:1;transform:translateY(0);transition-delay:0s;}
.drawer ul {margin:0;padding:var(--space-2) 0;list-style:none;max-width:var(--wide);margin-inline:auto;padding-inline:var(--gutter);}
.drawer a {display:block;padding:var(--space-3) 0;border-bottom:1px solid var(--hairline);color:var(--ink);font-size:var(--text-small);text-decoration:none;}
.drawer li:last-child a {border-bottom:0;}
.drawer a:hover,.drawer a[aria-current="page"] {color:var(--accent);}
@media (min-width:900px) {.drawer {display:none;}}
.sheet {max-width:var(--wide);margin-inline:auto;padding-inline:var(--gutter);}
.sheet__main {min-width:0;}
@media (min-width:1180px) {.sheet {display:grid;grid-template-columns:var(--railw) minmax(0, 1fr);gap:var(--space-12);align-items:start;}}
.rail {display:none;}
@media (min-width:1180px) {.rail {display:block;position:sticky;top:calc(var(--topbar-h) + var(--space-8));padding-block:var(--space-10);font-size:var(--text-small);}}
.rail__mark {display:block;margin-bottom:var(--space-8);color:var(--ink);font-family:var(--font-sans);font-size:0.8125rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;text-decoration:none;line-height:1.5;}
.rail__mark b {display:block;color:var(--muted);font-weight:400;font-size:var(--text-micro);letter-spacing:0.18em;}
.rail__label {margin:0 0 var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--hairline);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:0.16em;text-transform:uppercase;}
.rail__list {margin:0;padding:0;list-style:none;counter-reset:rail;}
.rail__list li {counter-increment:rail;}
.rail__list a {display:flex;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--hairline);color:var(--muted);text-decoration:none;transition:color var(--dur-fast) var(--ease);}
.rail__list a::before {content:counter(rail, decimal-leading-zero);font-family:var(--font-mono);font-size:var(--text-micro);color:var(--muted);line-height:1.9;}
.rail__list a:hover,.rail__list a[aria-current="page"] {color:var(--ink);}
.rail__list a[aria-current="page"]::before {color:var(--accent);}
.rail__foot {margin:var(--space-8) 0 0;color:var(--muted);font-family:var(--font-mono);font-size:var(--text-micro);line-height:1.9;letter-spacing:0.04em;}
.crumbs {padding-top:var(--space-6);font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:0.06em;color:var(--muted);}
.crumbs a {color:var(--muted);text-decoration-color:var(--hairline);}
.crumbs a:hover {color:var(--accent);text-decoration-color:var(--accent);}
.crumbs span {color:var(--muted);}
.pagehead {padding:var(--space-8) 0 var(--space-10);border-bottom:1px solid var(--hairline);}
.pagehead h1 {margin-bottom:var(--space-4);}
.pagehead__lede {max-width:var(--measure);color:var(--muted);font-size:var(--text-lede);line-height:1.62;}
.byline {display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4);margin:var(--space-6) 0 0;color:var(--muted);font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:0.04em;}
.byline span + span::before {content:"·";margin-right:var(--space-2);color:var(--muted);}
.hero {position:relative;padding:var(--space-10) 0 var(--space-12);border-bottom:1px solid var(--hairline);}
.hero::before {display:none;content:"";position:absolute;inset:0;pointer-events:none;background-image:repeating-linear-gradient(
90deg,var(--pattern) 0,var(--pattern) 1px,transparent 1px,transparent 96px
);opacity:0.35;-webkit-mask-image:linear-gradient(to right, transparent 0 62%, #000 100%);mask-image:linear-gradient(to right, transparent 0 62%, #000 100%);}
@media (min-width:960px) {.hero::before {display:block;}}
.hero > * {position:relative;}
.hero__grid {display:grid;gap:var(--space-8);align-items:center;}
@media (min-width:960px) {.hero__grid {grid-template-columns:minmax(0, 1.15fr) minmax(0, 1fr);gap:var(--space-12);}}
.hero__eyebrow {display:flex;align-items:center;gap:var(--space-3);margin:0 0 var(--space-5);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:0.18em;text-transform:uppercase;}
.hero__eyebrow::before {content:"";width:2.25rem;height:2px;background:var(--accent);}
.hero h1 {font-size:var(--text-display);line-height:1.06;letter-spacing:-0.03em;}
.hero h1 em {font-style:normal;color:var(--accent);}
.hero__lede {max-width:34rem;margin-top:var(--space-5);color:var(--muted);font-size:var(--text-lede);line-height:1.62;}
.hero__art img {width:100%;border:1px solid var(--hairline);background:var(--sheet);}
.facts {padding:var(--space-4) 0;border-bottom:1px solid var(--hairline);background:var(--deep);}
.facts__grid {display:grid;grid-template-columns:repeat(auto-fit, minmax(min(8rem, 100%), 1fr));gap:var(--space-4) var(--space-6);}
.facts__cell {min-width:0;}
.facts__k {display:block;margin-bottom:var(--space-1);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:0.12em;text-transform:uppercase;}
.facts__v {display:block;font-family:var(--font-sans);font-size:1.0625rem;font-weight:700;letter-spacing:-0.01em;line-height:1.35;font-variant-numeric:tabular-nums;}
.protocol {padding-block:var(--rhythm);border-bottom:1px solid var(--hairline);scroll-margin-top:calc(var(--topbar-h) + var(--space-4));}
.protocol__inner {display:grid;gap:var(--space-4);}
@media (min-width:640px) {.protocol__inner {grid-template-columns:3.25rem minmax(0, 1fr);gap:var(--space-6);}}
.protocol__num {margin:0;color:var(--muted);font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:0.14em;line-height:2.2;font-variant-numeric:tabular-nums slashed-zero;}
.protocol__num::after {content:"";display:block;width:1.5rem;height:1px;margin-top:var(--space-2);background:var(--rule-strong);}
.protocol__content {min-width:0;}
.protocol__content > p,.protocol__content > h2,.protocol__content > h3,.protocol__content > .prose,.protocol__content > .steps,.protocol__content > .note,.protocol__content > .specs,.protocol__content > .figure {max-width:var(--measure);}
.protocol__kicker {margin:0 0 var(--space-2);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:0.16em;text-transform:uppercase;}
.protocol h2 {margin-bottom:var(--space-5);}
.prose p {margin:0 0 var(--space-5);}
.prose p:last-child {margin-bottom:0;}
.prose strong {font-family:var(--font-sans);font-weight:700;}
.prose a {color:var(--accent);}
.prose ul,.prose ol {margin:0 0 var(--space-5);padding-left:1.1rem;}
.prose li {margin-bottom:var(--space-2);}
.prose li::marker {color:var(--muted);font-family:var(--font-mono);}
.specs {display:grid;grid-template-columns:minmax(0, 1fr);gap:0;margin:var(--space-6) 0;border-top:1px solid var(--hairline);}
@media (min-width:640px) {.specs {grid-template-columns:repeat(2, minmax(0, 1fr));}}
@media (min-width:1000px) {.specs--three {grid-template-columns:repeat(3, minmax(0, 1fr));}}
.spec {padding:var(--space-4) var(--space-5) var(--space-5) 0;border-bottom:1px solid var(--hairline);transition:background-color var(--dur) var(--ease);}
@media (min-width:640px) {.spec {padding-right:var(--space-5);border-right:1px solid var(--hairline);}
.spec:nth-child(2n) {padding-left:var(--space-5);border-right:0;}}
@media (min-width:1000px) {.specs--three .spec:nth-child(2n) {padding-left:0;border-right:1px solid var(--hairline);}
.specs--three .spec:nth-child(3n) {padding-left:var(--space-5);border-right:0;}
.specs--three .spec:first-child {padding-left:0;}}
.spec:hover {background:var(--sheet);}
.spec__id {display:block;margin-bottom:var(--space-2);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:0.12em;}
.spec__name {margin:0 0 var(--space-1);font-family:var(--font-sans);font-size:1.0625rem;font-weight:700;letter-spacing:-0.01em;}
.spec__note {margin:0;color:var(--muted);font-size:var(--text-small);line-height:1.6;}
.table-block {position:relative;margin:var(--space-6) 0;border-top:2px solid var(--accent);background:var(--paper);}
.table-block table {width:100%;border-collapse:collapse;font-size:var(--text-small);line-height:1.5;}
.table-block caption {padding:var(--space-3) 0 var(--space-2);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:0.04em;text-align:left;}
.table-block thead th {padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--rule-strong);background:var(--deep);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-micro);font-weight:400;letter-spacing:0.04em;text-align:left;}
.table-block tbody th,.table-block tbody td {padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--hairline);vertical-align:top;text-align:left;font-weight:400;}
.table-block tbody th {color:var(--ink);font-family:var(--font-sans);font-weight:700;letter-spacing:-0.01em;}
.table-block tbody td {color:var(--muted);}
.table-block tbody tr:hover th,.table-block tbody tr:hover td {background:var(--sheet);}
.table-block .num {font-family:var(--font-mono);font-variant-numeric:tabular-nums slashed-zero;font-size:0.95rem;color:var(--ink);white-space:nowrap;}
.table-block .yes {color:var(--accent);font-family:var(--font-mono);font-size:0.95rem;white-space:nowrap;}
.table-block .no {color:var(--alert);font-family:var(--font-mono);font-size:0.95rem;white-space:nowrap;}
.table-block th:last-child,.table-block td:last-child {padding-right:0;text-align:right;}
@media (min-width:640px) {.table-block thead th,.table-block tbody th,.table-block tbody td {padding-inline:var(--space-4);}}
@media (min-width:760px) {.table-block {overflow-x:auto;}
.table-block table {min-width:40rem;}
.table-block thead th:first-child,.table-block tbody th:first-child {position:sticky;left:0;z-index:1;background-color:var(--paper);background-image:linear-gradient(
to right,transparent calc(100% - 1px),var(--hairline) 0
);}
.table-block thead th:first-child {background-color:var(--deep);}
.table-block tbody tr:hover th:first-child {background-color:var(--sheet);}}
.note {margin:var(--space-6) 0;padding:var(--space-3) var(--space-4);border-left:2px solid var(--accent);background:var(--accent-wash);}
.note[data-tone="alert"] {border-left-color:var(--alert);background:var(--alert-wash);}
.note__label {display:block;margin-bottom:var(--space-1);color:var(--accent);font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:0.14em;text-transform:uppercase;}
.note[data-tone="alert"] .note__label {color:var(--alert);}
.note p {margin:0;color:var(--ink);font-size:var(--text-small);line-height:1.62;}
.steps {margin:var(--space-6) 0;padding:0;list-style:none;counter-reset:step;border-top:1px solid var(--hairline);}
.steps li {counter-increment:step;display:grid;grid-template-columns:2rem minmax(0, 1fr);gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--hairline);font-size:var(--text-small);line-height:1.6;}
.steps li::before {content:counter(step, decimal-leading-zero);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:0.1em;line-height:1.9;}
.steps b {display:block;font-family:var(--font-sans);font-weight:700;color:var(--ink);}
.figure {margin:var(--space-8) 0;border:1px solid var(--hairline);background:var(--sheet);}
.figure img {width:100%;aspect-ratio:2 / 1;object-fit:cover;background:var(--deep);}
.figure figcaption {padding:var(--space-3) var(--space-4);border-top:1px solid var(--hairline);color:var(--muted);font-size:var(--text-small);line-height:1.55;}
.faq {padding-block:var(--rhythm);border-bottom:1px solid var(--hairline);}
.faq h2 {margin-bottom:var(--space-6);}
.faq details {border-top:1px solid var(--hairline);}
.faq details:last-of-type {border-bottom:1px solid var(--hairline);}
.faq summary {display:flex;gap:var(--space-3);padding:var(--space-4) 0;color:var(--ink);font-family:var(--font-sans);font-weight:700;font-size:1.0625rem;letter-spacing:-0.01em;cursor:pointer;list-style:none;transition:color var(--dur-fast) var(--ease);}
.faq summary::-webkit-details-marker {display:none;}
.faq summary::before {content:"+";flex:none;width:1rem;color:var(--muted);font-family:var(--font-mono);font-weight:400;}
.faq details[open] summary::before {content:"−";color:var(--accent);}
.faq summary:hover {color:var(--accent);}
.faq details p {max-width:var(--measure);margin:0 0 var(--space-4);padding-left:calc(1rem + var(--space-3));color:var(--muted);font-size:var(--text-small);line-height:1.7;}
.next {padding-block:var(--rhythm);border-bottom:1px solid var(--hairline);}
.next__label {margin:0 0 var(--space-4);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:0.16em;text-transform:uppercase;}
.next__list {margin:0;padding:0;list-style:none;display:grid;gap:0;border-top:1px solid var(--hairline);}
@media (min-width:760px) {.next__list {grid-template-columns:repeat(2, minmax(0, 1fr));column-gap:var(--space-8);}}
.next__list a {display:flex;flex-wrap:wrap;gap:0 var(--space-3);align-items:baseline;padding:var(--space-3) 0;border-bottom:1px solid var(--hairline);color:var(--ink);text-decoration:none;transition:color var(--dur-fast) var(--ease);}
.next__list a:hover {color:var(--accent);}
.next__t {font-family:var(--font-sans);font-weight:700;letter-spacing:-0.01em;}
.next__d {color:var(--muted);font-size:var(--text-small);}
.footer {margin-top:var(--space-12);padding-block:var(--space-12) var(--space-10);border-top:1px solid var(--hairline);background:var(--deep);}
.footer__grid {display:grid;gap:var(--space-8);}
@media (min-width:760px) {.footer__grid {grid-template-columns:minmax(0, 1.6fr) minmax(0, 1fr);gap:var(--space-12);}}
.footer__brand {margin:0 0 var(--space-2);font-family:var(--font-sans);font-size:0.8125rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;}
.footer__note {max-width:34rem;margin:0;color:var(--muted);font-size:var(--text-small);line-height:1.65;}
.footer__links {display:grid;gap:var(--space-2);align-content:start;}
.footer__links a {padding:var(--space-1) 0;color:var(--muted);font-size:var(--text-small);text-decoration:none;transition:color var(--dur-fast) var(--ease);}
.footer__links a:hover {color:var(--accent);}
.footer__meta {display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-4);margin:var(--space-10) 0 0;padding-top:var(--space-4);border-top:1px solid var(--hairline);color:var(--muted);font-family:var(--font-mono);font-size:var(--text-micro);letter-spacing:0.06em;}
