:root{--bg:#08131d;--card:#0e2131;--line:#21414f;--mint:#7af0c4;--txt:#eaf3f5;--mut:#a9bec7;--warn:#fcd34d;--bad:#ff83ac;color-scheme:only dark}
*{box-sizing:border-box}html{background:#08131d}
body{margin:0;color:var(--txt);font:15px/1.55 -apple-system,"Segoe UI","Noto Sans KR",sans-serif;background:#08131d url(assets/forest-bg-tall.webp) center top/cover fixed;-webkit-text-size-adjust:100%}
.uat-strip{background:#4b2a7a;color:#f2e9ff;text-align:center;font-size:12.5px;padding:4px}
.brand{display:flex;gap:10px;align-items:center;max-width:440px;margin:0 auto;padding:12px 16px}.brand small{display:block;font-size:12px;color:var(--mut)}.brand b{font-size:18px}
main{max-width:440px;margin:0 auto;padding:0 14px 60px}
.hero{padding:16px;border-radius:18px;border:1px solid #1f4a4f;background:linear-gradient(160deg,#0d2233,#0a1a28)}
.hero h1{margin:0 0 4px;font-size:24px}.hero p{margin:4px 0;color:#c9d8de;font-size:14px}
.badges{display:flex;flex-wrap:wrap;gap:6px}.badge{display:inline-block;padding:3px 9px;border-radius:999px;font-size:12.5px;font-weight:700}
.badge.virt{background:#3a1e2a;color:#ffc2d6;border:1px solid #7a3550}.badge.pre{background:#122a3a;color:#bfe3ff;border:1px solid #2b5263}
.status{font-size:13px}.status.err{color:#ffb4c8}
.card{margin-top:12px;padding:14px;border-radius:16px;background:#0e2131;border:1px solid #21414f}
.card h2{margin:0 0 10px;font-size:17px}.card h3{font-size:14px;color:var(--mint);margin:14px 0 6px}
.row{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;margin:6px 0}.row label{display:flex;flex-direction:column;font-size:12.5px;color:var(--mut);gap:3px;flex:1;min-width:140px}
input,select,button{font:inherit;color:#eaf3f5;background:#12293a;border:1px solid #2b5263;border-radius:10px;min-height:44px;padding:0 10px}
input{width:100%}button{cursor:pointer;padding:0 12px}button.pri{background:#145a49;border-color:#2a8f74;color:#eafff6;font-weight:700}button.danger{background:#3a1820;border-color:#7a3040;color:#ffd0dc}
.btns button{flex:1}#sc-name{flex:1}
.seg{display:inline-flex;border:1px solid #2b5263;border-radius:10px;overflow:hidden}.seg button{border:0;border-radius:0;background:#12293a;min-height:40px}.seg button.on{background:#1d4d42;color:#bfffe6;font-weight:700}
.search{position:relative;margin:8px 0}#q-res{list-style:none;margin:4px 0 0;padding:0;max-height:260px;overflow:auto;border-radius:10px;background:#0b1c29;border:1px solid #21414f}#q-res:empty{display:none}
#q-res li{padding:10px 12px;border-top:1px solid #17303e;cursor:pointer;font-size:14px}#q-res li:first-child{border-top:0}#q-res li small{color:var(--mut);margin-left:6px}
.h{border:1px solid #21414f;border-left:4px solid var(--c);border-radius:12px;padding:10px;margin:8px 0;background:#0b1c29}
.h-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.h-top b{font-size:14.5px}.h-top small{display:block;color:var(--mut);font-size:12px}
.h-top button{min-height:36px;padding:0 10px;font-size:13px}
.h-in{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin-top:6px}.h-in label{font-size:11.5px;color:var(--mut);display:flex;flex-direction:column;gap:2px}.h-in input{min-height:40px;padding:0 8px}
.h-meta{font-size:12.5px;color:#c9d8de;margin-top:6px}.err{color:#ffb4c8}.assume{color:#ffd98a}
.sum{font-size:13.5px;font-weight:700}.sum.bad{color:#ffb4c8}.sum.ok{color:#9ff0cf}
table{width:100%;border-collapse:collapse;font-size:12.5px;margin:6px 0}th,td{padding:6px 4px;border-bottom:1px solid #1c3644;text-align:right;white-space:nowrap}th:first-child,td:first-child{text-align:left;white-space:normal}th{color:var(--mut);font-weight:600}
tr.tot td{font-weight:800;color:#f2f6f8}
.tbl{overflow-x:auto}
.warnbox{margin:8px 0;padding:8px 10px;border-radius:10px;background:#2a2410;border:1px solid #6b5a1e;color:#f1e6c2;font-size:13px}.warnbox.strong{background:#3a1e14;border-color:#8a4a2a;color:#ffd9c2}
.stop{margin:8px 0;padding:8px 10px;border-radius:10px;background:#3a1820;border:1px solid #7a3040;color:#ffd0dc;font-size:13px}
canvas{width:100%;height:220px;display:block;border-radius:10px;background:#0a1824}
.legend{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:12px;margin:6px 0}.legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:4px;vertical-align:-1px}
.picks{display:flex;flex-wrap:wrap;gap:6px}.picks label{display:flex;align-items:center;gap:6px;padding:0 10px;min-height:40px;border:1px solid #2b5263;border-radius:999px;font-size:13px;background:#12293a}.picks input{width:auto;min-height:0}
.note,.hint,.foot{font-size:12.5px;color:var(--mut)}.foot{margin:14px 4px}
.pos{color:#ff8a8a}.neg{color:#7fb6ff}
.card.ref{background:#0b1a26;border-style:dashed;border-color:#2f4f5e}.card.ref h2 small{font-size:12.5px;color:#a9bec7;font-weight:600}
.ddcv{height:150px}
