:root{color-scheme:light;--paper:#f8f6f1;--surface:#fffefb;--ink:#1a1e21;--muted:#647075;--line:#e3ded3;--teal:#0d726e;--soft:#e1efed;--space:24px;--radius:10px;--body:14px;--title:22px;--sans:"Apple SD Gothic Neo","Noto Sans KR",system-ui,sans-serif}
section{margin-top:32px;min-width:0}
h2{font-size:var(--title);line-height:1.3;margin:0 0 16px}
h3{font-size:var(--body);margin:0 0 8px}
.illustration{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.illustration img{display:block;width:100%;height:auto}
figcaption{padding:12px 16px;color:var(--muted);font-size:12px}
.roles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px;margin:0}
.roles>div{padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
dt{font-weight:700;margin-bottom:8px}dd{margin:0}
.steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 32px;padding-left:24px}
.steps>li{padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);break-inside:avoid}
.steps>li::marker{font-weight:700;color:var(--teal)}
.condition{color:var(--muted)}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius)}
table{width:100%;min-width:720px;border-collapse:collapse;background:var(--surface)}
caption{text-align:left;padding:12px 16px;background:var(--soft);font-weight:600}
th,td{padding:12px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
th{font-weight:600}thead{background:var(--paper)}tbody tr:last-child>*{border-bottom:0}
code{overflow-wrap:anywhere}
@media(max-width:760px){.steps{grid-template-columns:minmax(0,1fr)}h2{font-size:var(--title)}}
@media print{.illustration{max-width:1100px;margin:auto}.table-wrap{overflow:visible}table{min-width:0}section{break-inside:avoid}.steps{display:block}}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:var(--body)/1.6 var(--sans)}main{max-width:1800px;margin:auto;padding:32px var(--space)}header{display:flex;align-items:center;justify-content:space-between;gap:var(--space);flex-wrap:wrap}h1{font-size:var(--title);line-height:1.3;margin:4px 0 8px}p{margin:8px 0}.eyebrow{color:var(--teal);font-weight:700;letter-spacing:.08em;font-size:12px}nav{display:flex;gap:8px;flex-wrap:wrap}a{color:var(--teal);text-underline-offset:4px}nav a{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;border:1px solid var(--line);border-radius:6px;background:var(--surface);text-decoration:none}nav a:hover{background:var(--soft)}:focus-visible{outline:3px solid var(--teal);outline-offset:3px}.note,footer{color:var(--muted)}.note{margin:24px 0 12px}.diagram{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}.diagram img{display:block;width:100%;min-width:1300px;height:auto}details{margin-top:24px;padding:16px 24px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}summary{cursor:pointer;min-height:36px;font-weight:600}li{padding:6px 0}footer{margin-top:24px;font-size:12px}@media(max-width:760px){main{padding:24px 16px}details{padding:16px}nav{width:100%}}@media print{nav,.note{display:none}main{padding:0}.diagram{overflow:visible;border:0}.diagram img{min-width:0;width:100%}details{break-before:page}footer{font-size:10px}@page{size:A3 landscape;margin:12mm}}
