:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;color:#183433;background:#f5f7f3;font-synthesis:none;line-height:1.6;--ink:#183433;--muted:#637672;--line:#d8e1d9;--accent:#087c6d}
*{box-sizing:border-box}body{margin:0}a{color:var(--accent);text-underline-offset:4px}button,input,select{font:inherit}button,a,input,select,summary{outline-offset:5px}button{cursor:pointer}header{max-width:1440px;margin:auto;padding:24px 44px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:20px}header a{text-decoration:none}.brand{display:flex;align-items:center;gap:12px;font-weight:700;color:var(--ink)}.mark{display:grid;place-items:center;background:var(--ink);color:#fff;width:36px;height:36px;border-radius:9px;font-size:13px;letter-spacing:-1px}.muted{color:var(--muted);font-weight:400}main{max-width:1360px;margin:0 auto;padding:0 36px}.heading{padding:52px 0 34px;display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:end}.eyebrow{letter-spacing:.16em;font-size:11px;font-weight:800;color:var(--accent);margin:0 0 12px}h1{font-size:clamp(30px,3.5vw,48px);letter-spacing:-.055em;line-height:1.22;font-weight:650;margin:0}.intro{font-size:15px;color:var(--muted);max-width:440px;margin:0}.intro span{display:block;font-size:12px;margin-top:16px}nav{display:flex;gap:30px;border-bottom:1px solid var(--line);margin-bottom:22px}nav a{padding:13px 0;text-decoration:none;color:var(--muted);font-size:14px;font-weight:650;border-bottom:3px solid transparent}nav a[aria-current=page]{color:var(--accent);border-color:var(--accent)}.section-line{display:flex;justify-content:space-between;gap:20px;font-size:13px;align-items:center}.section-line p{color:var(--muted)}.preview{position:relative;display:block;background:white;border:1px solid var(--line);border-radius:16px;text-decoration:none}.preview img{display:block;width:100%;max-height:620px;object-fit:contain}.preview span{position:absolute;right:18px;bottom:16px;background:var(--ink);color:white;border-radius:7px;padding:8px 14px;font-size:12px}.layers{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}.layer{border:1px solid var(--line);border-radius:12px;background:#fff;padding:18px;text-decoration:none;color:var(--ink)}.layer span{display:block;color:var(--muted);font-size:12px;margin-top:8px}.layer strong{font-size:14px}.layer:hover{border-color:var(--accent)}.footnote{font-size:12px;color:var(--muted);line-height:1.8}.event-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:36px;padding-top:8px}aside{display:flex;flex-direction:column;gap:5px;align-self:start;position:sticky;top:20px}aside a{display:block;padding:14px 16px;border-radius:8px;font-size:14px;text-decoration:none;color:var(--ink)}aside a[aria-current=true]{background:#dceee4;color:#075e50;font-weight:700}article{background:#fff;border:1px solid var(--line);border-radius:16px;padding:32px}h2{font-size:25px;line-height:1.35;letter-spacing:-.04em;margin:0 0 12px}h3{font-size:16px;margin:0 0 7px}.trigger{font-size:12px;letter-spacing:.02em;color:var(--accent);margin-bottom:9px}.flow{list-style:none;padding:0;margin-top:32px}.flow>li{position:relative;border-left:2px solid #d4e8dc;padding:0 0 30px 30px;margin-left:14px}.flow>li:last-child{border-color:transparent;padding-bottom:0}.step-number{position:absolute;left:-15px;top:-2px;display:grid;place-items:center;width:28px;height:28px;background:#e1efe6;border:3px solid white;border-radius:50%;font-size:11px;font-weight:800;color:var(--accent)}.flow p{font-size:14px;color:var(--muted);margin:0 0 12px}.links{display:flex;flex-wrap:wrap;gap:6px}.pill{font-family:ui-monospace,SFMono-Regular,monospace;font-size:11px;background:#f0f5f1;border:1px solid #dce7df;color:#245e50;border-radius:5px;padding:4px 8px;text-decoration:none;overflow-wrap:anywhere}.filter{display:grid;grid-template-columns:1fr 210px;gap:18px;padding:14px 0}.filter label{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:700;color:var(--muted)}input,select{width:100%;border:1px solid var(--line);border-radius:8px;padding:12px;background:#fff;color:var(--ink)}#result-count{font-size:13px;color:var(--muted)}details.module{background:#fff;border:1px solid var(--line);border-radius:10px;margin-bottom:12px}summary{cursor:pointer;overflow-wrap:anywhere}.module>summary{padding:16px 20px;font-family:ui-monospace,SFMono-Regular,monospace;font-size:13px;font-weight:650}.count{float:right;font-family:inherit;font-size:11px;color:var(--muted);margin-left:12px}.symbols{padding:0 20px 16px 30px}.symbol{border-top:1px solid #e9eeea;scroll-margin-top:20px}.symbol>summary{font-family:ui-monospace,SFMono-Regular,monospace;font-size:13px;padding:13px 0}.symbol:target{background:#eef8ed}.symbol-body{padding:0 8px 20px 20px;font-size:13px}.symbol-body h4{font-size:11px;font-weight:750;letter-spacing:.04em;color:var(--muted);margin:20px 0 9px}.symbol-body ul{padding-left:18px}.symbol-body li{margin:6px 0;overflow-wrap:anywhere}.symbol-body code{font-family:ui-monospace,SFMono-Regular,monospace;font-size:11px}.unresolved{color:var(--muted);font-size:11px;overflow-wrap:anywhere;line-height:2}.empty{padding:35px;border:1px dashed var(--line);border-radius:10px;color:var(--muted)}footer{margin:40px 0 24px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:11px}.skip{position:absolute;top:-60px;left:20px;padding:10px;background:white;z-index:2}.skip:focus{top:10px}[hidden]{display:none!important}@media(max-width:800px){header{padding:18px 20px}.brand .muted{display:none}main{padding:0 20px}.heading{grid-template-columns:1fr;gap:24px;padding-top:32px}.layers{grid-template-columns:repeat(2,1fr)}nav{gap:20px}.event-layout{grid-template-columns:1fr;gap:20px}aside{position:static;display:grid;grid-template-columns:1fr 1fr}aside a{font-size:12px;padding:10px}article{padding:24px}.filter{grid-template-columns:1fr}.section-line{align-items:start}.section-line a{white-space:nowrap}.symbols{padding-left:16px;padding-right:12px}footer{flex-direction:column}.preview span{position:static;display:block;text-align:center;margin:12px}}
