@font-face{font-family:Pretendard;src:url(../fonts/PretendardCell.woff2) format("woff2");font-weight:100 900;font-display:swap}:root{--ink:#242d28;--muted:#7d857e;--muted2:#aab1a9;--idle:#e3e7df;--line:#dfe3dc;--paper:#f0f2ec;--bg:#fafbf8;--accent:#da513e;--blue:#1f5fbf;--amber:#e8a42c;--wood:#c49a6c;--ok:#3d8a5a;color-scheme:light;color:var(--ink);background:var(--bg);font-family:Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Noto Sans KR,sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg);word-break:keep-all;overflow-wrap:break-word;-webkit-font-smoothing:antialiased}button,input{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid #728a6c;outline-offset:3px}[hidden]{display:none!important}h1,h2,p,ol,ul{margin:0}.header{display:flex;align-items:center;gap:32px;height:84px;margin:0 max(16px,4.2%);border-bottom:1px solid var(--ink)}.brand{font-size:26px;font-weight:780;letter-spacing:-1.4px}.brand:before{content:"";display:inline-block;width:8px;height:20px;margin-right:11px;background:var(--accent);transform:skewY(-25deg)}.header-label{font-size:12px;font-weight:600;letter-spacing:1.2px;color:var(--muted)}.header-end{margin-left:auto;font-size:12px;letter-spacing:1px;color:var(--muted)}.intro{margin:40px max(16px,4.2%) 28px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:48px;align-items:end}.intro h1{font-size:clamp(26px,2.6vw,40px);font-weight:600;letter-spacing:-.03em;line-height:1.3;text-wrap:balance}.intro p{font-size:16px;line-height:1.75;color:#4b544e;max-width:620px}.intro b{color:var(--ink);font-weight:650}br.sm{display:none}.grid{margin:0 max(16px,4.2%);display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px}.stage{position:relative;margin:0;height:min(68vh,720px);min-height:420px;background:var(--paper);border:1px solid var(--line);overflow:hidden;touch-action:none}.stage canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%!important;height:100%!important;display:block;cursor:grab}.stage canvas:active{cursor:grabbing}.labels{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.labels span{position:absolute;left:0;top:0;display:flex;flex-direction:column;align-items:center;padding:5px 9px 6px;background:#fafbf8e0;border:1px solid var(--line);font-size:12px;line-height:1.3;white-space:nowrap;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.labels b{font-weight:650}.labels small{color:var(--muted);font-size:10.5px}.labels span[data-env]{border-color:currentColor}.stage-hint{position:absolute;left:50%;bottom:72px;transform:translate(-50%);padding:7px 14px;background:#242d28d1;color:#fff;font-size:12.5px;border-radius:999px;pointer-events:none;transition:opacity .4s;white-space:nowrap}.stage-hint.gone{opacity:0}.toolbar{position:absolute;left:12px;right:12px;bottom:12px;display:flex;align-items:center;gap:10px;padding:8px 10px;background:#fafbf8eb;border:1px solid var(--line)}.icon-btn{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);background:#fff}.icon-btn svg{width:18px;height:18px}.speeds{display:flex;border:1px solid var(--line)}.speeds button{padding:6px 10px;font-size:13px;color:var(--muted)}.speeds button.on{background:var(--ink);color:#fff}.toolbar input[type=range]{flex:1;min-width:60px;accent-color:var(--accent)}.clock{font-variant-numeric:tabular-nums;font-size:13px;min-width:44px;text-align:right}.views{position:absolute;right:12px;top:12px;display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;justify-content:flex-end;padding:6px 10px;background:#fafbf8eb;border:1px solid var(--line);font-size:13px}.chk{display:flex;align-items:center;gap:5px;cursor:pointer;white-space:nowrap}.chk input{accent-color:var(--accent);margin:0}.seg{display:flex;border:1px solid var(--line);background:#fff}.seg button{padding:7px 12px;font-size:13px;color:var(--muted);flex:1}.seg button.on{background:var(--ink);color:#fff}.seg.small button{padding:4px 10px}.nogl{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;text-align:center;color:var(--muted)}.kpis{display:flex;flex-direction:column;gap:10px;min-width:0}.kpi{padding:14px 16px;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;gap:2px}.kpi span{font-size:12px;color:var(--muted);font-weight:550}.kpi strong{font-size:28px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1.2}.kpi strong.txt{font-size:22px}.kpi em{font-style:normal;font-size:14px;color:var(--muted);margin-left:4px;font-weight:500}.kpi small{font-size:12px;color:var(--muted)}.kpi.big strong{font-size:40px}.kpi.accent{border-left:3px solid var(--accent)}.soft{color:var(--muted2);font-weight:500}.checks{list-style:none;padding:12px 16px;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;gap:8px;font-size:12.5px}.checks li{display:grid;grid-template-columns:7px minmax(0,1fr) auto;gap:8px;align-items:baseline;color:var(--muted)}.checks li b{color:var(--ink);font-weight:600;text-align:right;font-variant-numeric:tabular-nums}.checks li:before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--ok);align-self:center}.checks li.bad:before{background:var(--accent)}.checks li.bad b,.bad{color:var(--accent)}.warn{font-size:13px;line-height:1.6;color:var(--accent);background:#fdf1ee;padding:10px 12px;border:1px solid #f1d2cb}.lower{margin:20px max(16px,4.2%) 0;display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr) minmax(0,320px);gap:20px}.panel{background:#fff;border:1px solid var(--line);padding:18px;min-width:0}.panel h2{font-size:15px;font-weight:650;margin-bottom:14px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.panel h2 small{font-size:12px;color:var(--muted);font-weight:500}.panel h2.mt{margin-top:22px}.params{display:flex;flex-direction:column;gap:16px}.param{display:flex;flex-direction:column;gap:7px}.pl{display:flex;justify-content:space-between;font-size:13px;color:#4b544e}.pl b{font-variant-numeric:tabular-nums;font-weight:650;color:var(--ink)}.param input[type=range]{width:100%;accent-color:var(--accent);margin:0}.param .seg button{font-size:12.5px;padding:7px 6px}.text-btn{margin-top:18px;display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}.text-btn svg{width:16px;height:16px}.urow{display:grid;grid-template-columns:80px minmax(0,1fr) 44px;gap:10px;align-items:center;margin-bottom:9px;font-size:13px}.ubar{display:flex;height:16px;background:var(--idle);overflow:hidden}.ubar i{display:block;height:100%}.uv{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.gantt{display:flex;flex-direction:column;gap:6px}.grow{display:grid;grid-template-columns:80px minmax(0,1fr);gap:10px;align-items:center;font-size:13px}.gtrack{position:relative;height:18px;background:var(--bg);border:1px solid var(--line);overflow:hidden}.gtrack i{position:absolute;top:0;bottom:0}.gtrack .now{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--accent)}.legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:12px;font-size:12px;color:var(--muted)}.legend span{display:flex;align-items:center;gap:5px}.legend i{width:10px;height:10px;display:inline-block}.opts{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px}.opts li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line)}.opts li:first-child{border-top:0;padding-top:0}.opts li div{display:flex;flex-direction:column;gap:3px;min-width:0}.opts b{font-size:13.5px;font-weight:600}.opts small{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.opts strong{color:var(--ink)}.opts em{font-style:normal;margin-left:4px}.opts em.up{color:var(--ok);font-weight:650}.opts em.down{color:var(--accent);font-weight:650}.opts button{flex:none;padding:6px 12px;border:1px solid var(--ink);font-size:12.5px}.opts button:hover{background:var(--ink);color:#fff}.notes{margin:20px max(16px,4.2%) 0;padding:20px 0;border-top:1px solid var(--line)}.notes h2{font-size:14px;font-weight:650;margin-bottom:10px}.notes ul{padding-left:18px;display:flex;flex-direction:column;gap:6px;font-size:13px;line-height:1.65;color:#5b645e;max-width:980px}.foot{margin:10px max(16px,4.2%) 40px;font-size:12px;color:var(--muted)}@media (max-width:1180px){.lower{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.lower .wide{grid-column:1/-1;order:3}}@media (max-width:980px){.grid{grid-template-columns:1fr}.kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.kpis .checks,.kpis .warn{grid-column:1/-1}.intro{grid-template-columns:1fr;gap:16px}}@media (max-width:700px){.header{height:64px;gap:14px}.brand{font-size:21px}.header-label{display:none}.intro{margin:26px 16px 20px}br.sm{display:inline}.stage{height:62vh;min-height:380px}.views{left:8px;right:8px;top:8px;justify-content:flex-start;gap:6px 10px;padding:6px 8px}.toolbar{left:8px;right:8px;bottom:8px;gap:8px;padding:6px 8px}.speeds button{padding:6px 7px}.stage-hint{bottom:60px;font-size:11.5px}.lower{grid-template-columns:1fr}.lower .wide{order:0}.kpi.big strong{font-size:34px}.kpi strong{font-size:24px}.kpi strong.txt{font-size:18px}.labels small{display:none}.labels span{font-size:11px;padding:3px 7px}}.loading{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:10px 16px;background:#fafbf8eb;border:1px solid var(--line);font-size:13px;color:var(--muted);pointer-events:none}.tabs{margin:22px max(16px,4.2%) 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.tabs a{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid var(--line);background:#fff;color:var(--muted);text-decoration:none;min-width:0}.tabs a b{font-size:12px;font-weight:600;letter-spacing:.2px}.tabs a span{font-size:14.5px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tabs a:hover{border-color:var(--ink)}.tabs a.on{border-color:var(--ink);background:var(--ink);color:#c8cec7}.tabs a.on span{color:#fff}.ulist{display:flex;flex-wrap:wrap;gap:6px 14px;margin:4px 0 6px;font-size:12.5px;color:var(--muted)}.ulist span{display:flex;align-items:center;gap:5px}.ulist i{width:10px;height:10px;display:inline-block}.ulist b{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}@media (max-width:700px){.tabs{grid-template-columns:repeat(2,minmax(0,1fr));margin:16px 16px 0}.tabs a span{font-size:13px}}
