:root{--blue:#024ad8;--ink:#172137;--muted:#55647a;--light:#eef4ff;--line:#d8e1ed;--green:#147461;--orange:#a04716;--bg:#f5f7fb;font-family:"Nanum Gothic","Apple SD Gothic Neo","Malgun Gothic",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,select,textarea,input{font:inherit}button,a,select,input{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);background:white;color:var(--ink);padding:11px 18px;border-radius:9px;font-size:16px;font-weight:700}button:hover{border-color:var(--blue);color:var(--blue)}button:disabled{opacity:.4;cursor:default}button.primary{background:var(--blue);color:white;border-color:var(--blue)}button[aria-pressed=true],button.chosen{background:var(--blue);color:#fff}button:focus-visible,a:focus-visible,select:focus-visible,textarea:focus-visible,input:focus-visible{outline:3px solid #e78e1c;outline-offset:4px}header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 3.5vw;border-bottom:1px solid var(--line);background:white}.brand{font-size:19px;font-weight:900;letter-spacing:.04em;text-decoration:none;color:var(--blue)}.brand span{font-weight:500;font-size:13px;color:var(--muted)}.tools{display:flex;align-items:center;gap:10px}.tools button{font-size:13px;padding:8px 12px}.tools img{width:130px;margin-left:18px}kbd{font-size:11px;color:var(--muted);padding-left:6px}main{max-width:1600px;margin:auto;min-height:calc(100svh - 144px);padding:38px 6vw 30px;outline:none}.slide{animation:appear .3s ease both}.eyebrow{font-size:14px;letter-spacing:.09em;font-weight:800;color:var(--blue);margin:0 0 14px}.slide h1{font-size:clamp(33px,3.3vw,54px);letter-spacing:-.05em;line-height:1.24;margin:0 0 16px;word-break:keep-all}.lead{font-size:clamp(18px,1.7vw,25px);color:var(--muted);line-height:1.55;margin:0 0 26px;word-break:keep-all}.body{font-size:20px;line-height:1.65}h2{font-size:27px;letter-spacing:-.03em}h3{font-size:21px;margin:0 0 14px}p{line-height:1.6}.split{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start}.split.wide{grid-template-columns:.8fr 1.2fr}.panel{background:white;border:1px solid var(--line);border-radius:16px;padding:24px}.input-panel{background:var(--light);border-color:#c9daf9}.answer-panel{background:#f7f7f7}.label{font-size:13px;font-weight:800;letter-spacing:.04em;color:var(--muted);display:block;margin-bottom:12px}.tag{font-size:12px;padding:5px 9px;border:1px solid var(--line);border-radius:5px;display:inline-block;color:var(--muted)}.callout{border-left:4px solid var(--blue);padding:12px 20px;background:var(--light);font-size:18px;line-height:1.6;margin-top:24px}.callout.warn{border-color:var(--orange);background:#fff2e9}.controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:18px 0}.small{font-size:15px;color:var(--muted);line-height:1.6}.source{font-size:12px;color:var(--muted);margin-top:22px}.source a{color:var(--muted)}.flow{display:flex;align-items:stretch;gap:0;margin:35px 0}.node{flex:1;padding:23px 18px;border-top:3px solid #bbc9db;background:#fff;min-width:0;transition:.3s}.node b{font-size:22px;display:block;margin:12px 0}.node small{font-size:15px;line-height:1.5;color:var(--muted)}.node.active{background:var(--light);border-color:var(--blue);box-shadow:0 8px 25px #024ad81a}.arrow{align-self:center;color:var(--blue);font-size:25px;padding:0 10px}.step-no{font-size:14px;color:var(--blue);font-weight:800}.big-number{font-size:110px;line-height:1;font-weight:800;letter-spacing:-.08em;color:var(--blue)}.hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:20px;min-height:500px}.hero h1{font-size:clamp(45px,5.3vw,82px);margin:28px 0}.hero em{font-style:normal;color:var(--blue)}.hero-svg{width:100%;height:auto}.hero .lead{max-width:580px}.hero-bottom{font-size:14px;color:var(--muted);margin-top:40px}.official{width:100%;max-height:320px;object-fit:contain;background:#faf9f5;border:1px solid var(--line);border-radius:10px}.pattern-caption{margin-top:15px;font-size:21px;line-height:1.65}.pills{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0}table{border-collapse:collapse;width:100%;font-size:18px;background:white}th{background:var(--blue);color:white;text-align:left;padding:15px}td{padding:15px;border-bottom:1px solid var(--line);vertical-align:top;line-height:1.5}tr:last-child td{border:0}ul,ol{padding-left:25px;line-height:1.85;font-size:20px}li{padding-left:4px}.document{padding:19px 22px;background:white;border:1px solid var(--line);border-radius:10px;margin:12px 0;font-size:17px;line-height:1.55}.document.selected{border:2px solid var(--blue);background:var(--light)}.document strong{display:block;margin-bottom:7px}.document .amount{font-size:25px;color:var(--blue);font-weight:800}.result{padding:20px;background:var(--light);border-radius:12px;min-height:120px;font-size:20px;line-height:1.7}.result.good{background:#eaf6f1;color:#105947}.result.bad{background:#fff0e6;color:#864014}label{display:block;font-size:16px;line-height:1.6}select,input[type=text]{padding:11px;border:1px solid #9fadc1;border-radius:8px;background:white;color:var(--ink);max-width:100%;margin:8px 0 15px}textarea{width:100%;min-height:220px;padding:20px;font-size:18px;line-height:1.7;border:1px solid #9fadc1;border-radius:10px;background:#fff;resize:vertical;font-family:ui-monospace,monospace}pre{font-size:18px;line-height:1.65;background:#edf1f7;padding:22px;border-radius:12px;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}code{font-family:ui-monospace,monospace}.checks{display:flex;gap:10px;margin:15px 0}.check{flex:1;padding:15px 8px;text-align:center;background:#e8ecf2;border-radius:8px;font-size:16px}.check.pass{background:#d8eee5;color:#145740}.check.fail{background:#ffdfce;color:#823200}.check span{display:block;margin-top:7px;font-weight:800}.approval{display:flex;gap:10px;align-items:center;margin:15px 0;font-size:18px}.approval input{width:22px;height:22px}.timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:15px;margin-top:45px}.milestone{border-top:3px solid var(--line);padding-top:20px}.milestone:last-child{border-color:var(--blue)}.milestone h3{font-size:25px;color:var(--blue)}.milestone p{font-size:18px}.milestone small{color:var(--muted)}.score{display:flex;align-items:center;gap:30px;margin:30px 0}.bar{height:18px;background:#e0e6ef;border-radius:20px;overflow:hidden}.bar span{display:block;height:100%;background:var(--blue);transition:width .7s}.resource-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.resource-grid a{padding:16px;border-bottom:1px solid var(--line);color:var(--blue);font-size:17px;line-height:1.6}footer{height:62px;display:flex;align-items:center;justify-content:space-between;padding:0 3.5vw;background:white;border-top:1px solid var(--line);font-size:13px;color:var(--muted)}footer>div{display:flex;align-items:center;gap:22px}footer button{padding:6px 16px;font-size:20px}#counter{min-width:65px;text-align:center;font-variant-numeric:tabular-nums}#progress{height:4px;position:fixed;bottom:0;left:0;background:var(--blue);transition:width .25s}dialog{width:min(900px,90vw);max-height:85svh;border:0;border-radius:18px;padding:30px;color:var(--ink);box-shadow:0 30px 100px #18253e44}dialog::backdrop{background:#101c3c88}.dialog-head{display:flex;justify-content:space-between;align-items:center}#toc-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}#toc-list a{color:var(--ink);font-size:16px;text-decoration:none;padding:15px;background:var(--bg);border-radius:8px}#toc-list a[aria-current=true]{background:var(--blue);color:white}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.mini{font-size:16px}.hidden{display:none!important}a{color:var(--blue)}.pulse{animation:pulse 2.5s ease-in-out infinite}.loop-line{stroke-dasharray:8 8;animation:dash 5s linear infinite}@keyframes appear{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}@keyframes pulse{50%{opacity:.45}}@keyframes dash{to{stroke-dashoffset:-160}}.reduced *{animation:none!important;transition:none!important}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(min-width:1600px){main{padding-top:55px}.hero{min-height:600px}}@media(max-width:900px){header{padding:0 20px}.tools img{display:none}.brand span{display:none}main{padding:28px 25px}.split,.split.wide,.hero{grid-template-columns:1fr}.hero{min-height:0}.hero-svg{max-height:330px}.hero h1{font-size:55px}.timeline{grid-template-columns:repeat(3,1fr)}.flow{flex-wrap:wrap}.node{min-width:130px}.footnote{display:none}.body{font-size:18px}.official{max-height:260px}.resource-grid{grid-template-columns:1fr}footer{margin-top:20px}#toc-list{grid-template-columns:1fr}}@media(max-width:520px){.tools{gap:5px}.tools button{padding:8px;font-size:11px}.tools kbd{display:none}.brand{font-size:15px}.timeline{grid-template-columns:1fr 1fr}.slide h1{font-size:32px}.hero h1{font-size:46px}.lead{font-size:18px}table{font-size:14px}th,td{padding:9px}.checks{flex-wrap:wrap}.check{min-width:40%}.arrow{padding:0 3px}.score{gap:20px}.big-number{font-size:85px}.panel{padding:18px}header{height:64px}.source{overflow-wrap:anywhere}}@media print{header,footer,#progress,.controls,.tools,button,dialog{display:none!important}main{padding:0;max-width:none}.slide{break-after:page;min-height:95vh;animation:none}.split{grid-template-columns:1fr 1fr}.hero{min-height:80vh}body{background:white}.panel,.node{break-inside:avoid}}
@media(min-width:901px) and (max-height:800px){header{height:60px}footer{height:48px}main{min-height:calc(100svh - 112px);padding:22px 5vw 18px}.slide h1{font-size:36px;margin-bottom:12px}.eyebrow{margin-bottom:10px}.lead{font-size:20px;margin-bottom:18px}.hero{min-height:420px}.hero h1{font-size:59px}.hero-svg{max-height:390px}.hero-bottom{margin-top:20px}.panel{padding:18px}.body,ul,ol{font-size:18px}.flow{margin:22px 0}.node{padding:16px}.node b{font-size:20px;margin:9px 0}.official{max-height:240px}.callout{margin-top:18px;padding:10px 16px;font-size:17px}.source{margin-top:16px}.controls{margin:13px 0}.pattern-caption{font-size:19px}.timeline{margin-top:30px}td,th{padding:11px;font-size:17px}textarea{min-height:185px;font-size:16px;padding:14px}.checks{margin:10px 0}.check{padding:12px 6px}.document{padding:15px 18px;margin:10px 0}.result{font-size:18px;padding:17px;min-height:110px}select{margin:6px 0 10px}.small{font-size:14px}.score{margin:24px 0}h2{font-size:25px}.resource-grid a{padding:12px;font-size:16px}}
.official{cursor:zoom-in}.image-wrap{position:relative}.image-hint{position:absolute;right:12px;top:10px;font-size:12px;background:white;padding:6px 10px;border:1px solid var(--line);border-radius:6px;pointer-events:none}#image-dialog{width:96vw;max-width:1600px}#image-dialog img{width:100%;max-height:70vh;object-fit:contain}.image-close{float:right}
@media(min-width:901px) and (max-height:800px){.result p{margin:12px 0}.result h2{margin:5px 0 12px}.result{line-height:1.55}.flow{margin:18px 0}}
.split>*{min-width:0}
@media(max-width:520px){select{width:100%}.resource-grid a{overflow-wrap:anywhere}.panel code{overflow-wrap:anywhere}}

/* Keep the RAG selector and action separated on a row or when wrapping. */
.rag-controls{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin:8px 0 20px}.rag-controls select{margin:0;min-width:0;max-width:100%}.rag-controls button{flex-shrink:0}
#activity-dialog{width:min(1320px,96vw);max-height:94svh;padding:28px}#activity-dialog .dialog-head{gap:20px;align-items:start}#activity-dialog h2{margin:0 0 16px}#activity-dialog .dialog-head button{flex-shrink:0}#activity-dialog h3{margin:26px 0 14px}#activity-dialog textarea{font-family:inherit;font-size:16px;min-height:230px;line-height:1.7}#activity-dialog #activity-case{min-height:165px;background:var(--light)}.activity-columns{display:grid;grid-template-columns:1fr 1.1fr;gap:36px}.activity-columns>section{min-width:0}.activity-columns ol{font-size:17px;line-height:1.8}.activity-columns li{margin-bottom:12px}.activity-location{background:var(--light);border-radius:10px;padding:14px 18px;font-size:17px}.activity-file{padding:14px 0;border-bottom:1px solid var(--line)}.activity-file strong{display:block;font-size:16px;overflow-wrap:anywhere}.activity-file>div{display:flex;gap:16px;align-items:center;margin-top:10px;flex-wrap:wrap}.activity-file button{font-size:14px;padding:8px 12px}.activity-file a{font-size:15px}#activity-checks .approval{font-size:16px;align-items:start}#activity-checks input{flex-shrink:0}#activity-select{width:100%;max-width:580px}#activity-notes{background:#f7f7f7}#activity-status{border-top:1px solid var(--line);padding-top:12px}@media(max-width:900px){.activity-columns{grid-template-columns:1fr}#activity-dialog{padding:20px}#activity-dialog .dialog-head{flex-wrap:wrap}}@media(max-width:520px){header{padding:0 10px}.brand{font-size:12px}.tools{gap:4px}.tools button{padding:7px 5px;font-size:10px}}
