:root{color-scheme:light;--ink:#171c1b;--muted:#5c6561;--line:#dbe0da;--green:#1b6044;--paper:#f6f7f3}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;line-height:1.7}a{color:inherit;text-underline-offset:4px}header{max-width:1280px;margin:auto;padding:26px 40px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);font-size:13px}.brand{font-size:24px;font-weight:750;letter-spacing:-1px;text-decoration:none}.brand span{font-size:12px;font-weight:500;letter-spacing:0;margin-left:20px;color:var(--muted)}main{max-width:1280px;margin:auto;padding:64px 40px 28px}.eyebrow{display:flex;gap:10px;align-items:center;font-size:11px;letter-spacing:2px;font-weight:700;color:var(--green)}.dot{width:7px;height:7px;border-radius:50%;background:var(--green)}h1{font-size:clamp(42px,5vw,68px);font-weight:650;line-height:1.2;letter-spacing:-3px;margin:24px 0}p{margin:0}.intro{font-size:17px;color:var(--muted);line-height:1.9}.intro strong{color:var(--ink);font-weight:600}.facts{display:flex;flex-wrap:wrap;gap:8px 24px;margin:28px 0 42px;font-size:12px;color:var(--muted)}.facts span{display:flex;gap:8px;align-items:center}.facts span::before{content:'+';color:var(--green)}.scenarios{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}.scenario{border:1px solid var(--line);border-radius:12px;padding:25px;background:#fff;min-width:0}.scenario-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.number{font-size:13px;color:var(--muted);font-family:monospace}.expect{font-size:11px;border-radius:4px;padding:3px 7px}.allow{background:#eaf5ed;color:#22603c}.deny{background:#f6f0e5;color:#805b23}h2{font-size:19px;line-height:1.5;letter-spacing:-.6px;margin:23px 0 10px}.scenario p{font-size:13px;color:var(--muted);min-height:66px}.command{display:block;background:#f5f7f4;border:1px solid #e8ebe6;border-radius:5px;margin:20px 0;padding:12px 10px;min-height:65px;font-size:11px;line-height:1.7;overflow-wrap:anywhere}button{width:100%;background:var(--ink);border:1px solid var(--ink);color:#fff;border-radius:6px;padding:13px;font:inherit;font-size:13px;text-align:left;display:flex;justify-content:space-between;cursor:pointer}button:hover{background:#314a3c}button:disabled{cursor:wait;opacity:.5}button:focus-visible,a:focus-visible{outline:3px solid #75ba95;outline-offset:4px}.status{margin-top:14px;color:var(--muted);font-size:12px;min-height:24px}.status.ok{color:var(--green);font-weight:650}.status.error{color:#9c342a}.result{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.run-meta{font-size:10px;overflow-wrap:anywhere;color:var(--muted);white-space:pre-line}dl{display:flex;gap:12px;font-size:12px;margin:14px 0}dd{margin:0;font-weight:700;font-family:monospace}h3{font-size:11px;font-family:monospace;color:var(--muted);margin:14px 0 6px}pre{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;background:#f5f7f4;border-radius:4px;font-size:10px;line-height:1.7;padding:12px;margin:0;max-height:320px;overflow:auto}.boundary{margin-top:40px;padding:24px 0;border-top:1px solid var(--line);max-width:850px}.boundary h2{margin:0 0 12px;font-size:15px}.boundary p{font-size:12px;color:var(--muted);margin:10px 0;line-height:1.9}footer{border-top:1px solid var(--line);margin-top:12px;padding-top:24px;color:var(--muted);font-size:11px}nav{display:flex;gap:12px 24px;flex-wrap:wrap;margin:10px 0 12px}
@media(max-width:900px){.scenarios{grid-template-columns:1fr}.scenario p{min-height:0}.command{min-height:0}.scenario{padding:24px}.scenario h2{margin-top:16px}.result pre{font-size:11px}.facts{margin-bottom:28px}main{padding-top:40px}}
@media(max-width:480px){header{padding:20px}.brand{font-size:21px}.brand span{display:none}main{padding:36px 20px 24px}h1{letter-spacing:-2px;font-size:43px}.intro{font-size:14px}.desktop{display:none}.facts{gap:8px 14px;font-size:10px}.scenario{padding:20px}.scenario h2{font-size:18px}.expect{font-size:10px}}
