:root{font-family:Inter,"Noto Sans KR",system-ui,sans-serif;color:#dce6e4;background:#0b1114;font-size:14px;color-scheme:dark}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;background:#182327;color:#dce6e4;border:1px solid #344246;border-radius:7px;padding:9px 12px;cursor:pointer}button:hover{background:#26363b}button:disabled{opacity:.4;cursor:default}.shell{display:flex;min-height:100vh}aside{width:224px;flex-shrink:0;border-right:1px solid #243036;background:#0e171b;padding:36px 24px;position:relative}.brand{font-size:38px;font-weight:650;letter-spacing:4px;display:block}.brand span{display:block;font-size:10px;letter-spacing:2px;color:#84a6a2;margin-top:8px}.nav-label{font-size:10px;color:#637b82;letter-spacing:1.5px;margin:62px 0 17px}.nav{display:block;padding:13px 12px;margin:5px -8px;border-radius:6px;color:#8da5aa;font-size:12px}.nav.active{background:#19302e;color:#a1e0cf}.aside-bottom{position:absolute;bottom:32px;color:#819496;font-size:11px;line-height:1.9}.aside-bottom span{color:#52696f}main{width:100%;max-width:1500px;margin:auto;padding:40px 42px}header{display:flex;justify-content:space-between;gap:25px;align-items:center}.eyebrow{font-size:10px;letter-spacing:2px;color:#88b9ae;font-weight:650}h1{font-size:29px;letter-spacing:-1px;font-weight:550;margin:12px 0}p{color:#8ca1a6;line-height:1.7;margin:12px 0}h2{font-size:17px;font-weight:550;margin:0}.actions{display:flex;align-items:center;gap:14px}.badge{font-size:11px;border:1px solid #355b50;color:#98d7bf;padding:6px 9px;border-radius:20px;white-space:nowrap}.badge.muted{color:#adbac0;border-color:#3b4a50}.badge.warn{color:#edbd80;border-color:#795c38}.notice{background:#172a2b;border:1px solid #284749;border-radius:8px;padding:18px 20px;margin:28px 0;display:flex;flex-wrap:wrap;gap:10px;align-items:center}.notice span{color:#9cb7b9;font-size:12px}.notice a{margin-left:auto;color:#acd9c8;font-size:12px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:26px 0 38px}.stats article,.panel,.node{background:#101c21;border:1px solid #26363d;border-radius:9px}.stats article{padding:22px}.stats article>div{font-size:12px;color:#91a6ab}.stats strong{font-size:36px;font-weight:450;display:block;margin:15px 0}.stats small{font-size:10px;color:#6b848a}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-head>span{font-size:11px;color:#789096}.nodes{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:30px}.node{padding:22px}.node-top{display:flex;justify-content:space-between;align-items:center}.node h3{font-size:19px;margin:0}.node .subtitle{color:#758c94;font-size:11px;margin:7px 0 24px}.meter{height:4px;border-radius:4px;background:#273c42;margin:10px 0 20px;overflow:hidden}.meter>span{display:block;height:100%;background:#71b9a3;transition:width .3s}.node dl,.panel dl{display:grid;grid-template-columns:1fr auto;gap:12px;font-size:12px;margin:20px 0}.node dt,.panel dt{color:#8da6ae}.node dd,.panel dd{margin:0}.node button{font-size:11px;margin-top:5px}.panel{padding:24px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th{color:#768c95;font-size:11px;font-weight:400;padding:10px 0}td{padding:16px 0;border-top:1px solid #23363e;font-size:12px}.footnote{font-size:11px;line-height:1.9;color:#718b92}.resilience{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}.resilience h2{margin-top:13px}.resilience dd{color:#bcc9cc}.resilience .panel dl{grid-template-columns:135px 1fr}footer{display:flex;justify-content:space-between;color:#506d75;font-size:10px;padding-top:36px}button:focus-visible,a:focus-visible{outline:2px solid #99d8c2;outline-offset:4px}@media(max-width:1100px){aside{width:185px;padding:30px 20px}main{padding:28px}.stats{grid-template-columns:repeat(2,1fr)}.nodes{grid-template-columns:1fr}header{align-items:start;flex-direction:column}.resilience{grid-template-columns:1fr}}@media(max-width:650px){aside{display:none}main{padding:24px 16px}.stats article{padding:18px}.section-head{gap:16px}footer{gap:20px}.notice{align-items:start;flex-direction:column}.notice a{margin:0}h1{font-size:25px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
[hidden]{display:none!important}
