:root{--bg: #f4f6f8;--card: #ffffff;--ink: #1d2733;--muted: #637083;--line: #dde3ea;--primary: #1f5fbf;--danger: #c0392b;--ok: #1e7f4f;--warn-bg: #fff6e0;--warn-line: #e3b341;--bad-bg: #fdecea;font-family:Pretendard,Malgun Gothic,Apple SD Gothic Neo,system-ui,sans-serif;color:var(--ink);background:var(--bg)}:root{--accent-bg: #eef4ff;--ok-bg: #e7f6ee;--bar: #e6ebf1;--info-bg: #e8f0fe;--info-ink: #1f3c70;color-scheme:light}:root[data-theme=dark]{--bg: #0b0e12;--card: #151a21;--ink: #e8edf2;--muted: #95a2b1;--line: #263040;--primary: #3b82f6;--danger: #e5484d;--ok: #3fb97a;--warn-bg: #33290f;--warn-line: #8a6a1d;--bad-bg: #3a1c1c;--accent-bg: #142236;--ok-bg: #12291d;--bar: #232c38;--info-bg: #142236;--info-ink: #b9d0f5;color-scheme:dark}body{background:var(--bg);color:var(--ink)}*{box-sizing:border-box}body{margin:0}.page{max-width:1280px;margin:0 auto;padding:16px}header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:12px}header h1{margin:0 0 6px;font-size:22px}.right{text-align:right}nav{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap;justify-content:flex-end}.tab{border:1px solid var(--line);background:var(--card);color:var(--ink);padding:6px 12px;border-radius:6px;cursor:pointer}.tab.on{background:var(--primary);color:#fff;border-color:var(--primary)}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px;margin-bottom:14px;overflow-x:auto}h2{font-size:17px;margin:0 0 12px}h3{font-size:14px;margin:0 0 8px}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:13px;font-weight:600}.badge.sim{background:var(--info-bg);color:var(--info-ink)}.badge.live{background:var(--bad-bg);color:var(--danger)}.banner{padding:10px 14px;border-radius:8px;margin-bottom:12px}.error{color:var(--danger);background:var(--bad-bg);padding:8px 10px;border-radius:6px;margin:8px 0}.warn,.warnbox{background:var(--warn-bg);border:1px solid var(--warn-line);padding:10px;border-radius:8px;margin:8px 0}.info{background:var(--info-bg);color:var(--info-ink)}.muted{color:var(--muted)}.small{font-size:13px}.mono{font-family:Consolas,D2Coding,monospace;word-break:break-all}.center{display:grid;place-items:center;height:60vh}.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:10px 0}.grid4{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.kv .k{font-size:12px;color:var(--muted)}.kv .v{font-size:14px;word-break:break-word}label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--muted)}label.check{flex-direction:row;align-items:center;gap:8px;color:var(--ink)}input,select,textarea{font:inherit;padding:8px;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--ink)}textarea{font-family:Consolas,monospace;font-size:12px}.end{display:flex;align-items:flex-end}.btn{border:1px solid var(--line);background:var(--card);color:var(--ink);padding:9px 16px;border-radius:8px;cursor:pointer;font-size:14px;text-decoration:none;display:inline-block}.btn.primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn.danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn.big{font-size:18px;padding:14px 26px;font-weight:700}.btn:disabled,.btn.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.link{background:none;border:none;color:var(--primary);cursor:pointer;text-decoration:underline;padding:0 4px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}table{width:100%;border-collapse:collapse;font-size:13px;margin:8px 0}th,td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line);vertical-align:top}tr.sel{background:#1f5fbf14}tr.click{cursor:pointer}tr.partial td{color:var(--muted);font-style:italic}.checks{list-style:none;padding:0;display:grid;gap:6px}.checks li{padding:8px 10px;border-radius:6px;border:1px solid var(--line)}.checks li.pass b{color:var(--ok)}.checks li.fail{background:var(--bad-bg)}.checks li.fail b{color:var(--danger)}.checks li.warn{background:var(--warn-bg)}.axes{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;margin:10px 0 14px}.axis{border:1px solid var(--line);border-radius:8px;padding:8px 10px}.axis .k{font-size:12px;color:var(--muted)}.axis .v{font-weight:600}.axis.ok{border-color:var(--ok)}.axis.bad{border-color:var(--danger);background:var(--bad-bg)}.steps{display:flex;flex-wrap:wrap;gap:6px;padding:0;list-style:none}.steps li{padding:6px 10px;border-radius:6px;border:1px solid var(--line);font-size:13px;color:var(--muted)}.steps li.done{border-color:var(--ok);color:var(--ok)}.steps li.now{border-color:var(--primary);color:#fff;background:var(--primary)}.panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}.panel{border:1px solid var(--line);border-radius:8px;padding:10px}.panel .big{font-size:22px;font-weight:700}.bad{color:var(--danger)}.login{max-width:380px;margin:12vh auto;display:grid;gap:12px}.wallet{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:14px}.wallet-card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px}.wallet-card .k{font-size:13px;color:var(--muted)}.wallet-card .money{font-size:28px;font-weight:800;letter-spacing:-.5px;margin:2px 0}.wallet-card.dim .money{color:var(--muted);font-size:20px}.wallet-note{align-self:center}.eyebrow{font-size:12px;font-weight:700;color:var(--primary);letter-spacing:.5px;text-transform:uppercase}.live{border:2px solid var(--primary)}.live-title{font-size:26px;margin:2px 0 6px}.chip{display:inline-block;padding:3px 10px;border-radius:999px;font-size:13px;font-weight:600}.okchip{background:var(--ok-bg);color:var(--ok)}.warnchip{background:var(--warn-bg);color:var(--ink);border:1px solid var(--warn-line)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:16px 0}.stat{border:1px solid var(--line);border-radius:10px;padding:12px 14px}.stat .k{font-size:13px;color:var(--muted)}.stat .v{font-size:30px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.5px}.stat .unit{font-size:16px;font-weight:600;color:var(--muted)}.stat.accent{background:var(--accent-bg);border-color:var(--primary)}.stat.accent .v{color:var(--primary)}.bars{display:grid;gap:12px;margin-bottom:14px}.bar-label{display:flex;justify-content:space-between;gap:8px;font-size:13px;color:var(--muted);margin-bottom:4px;flex-wrap:wrap}.bar-label b{color:var(--ink);font-weight:600}.bar{height:12px;background:var(--bar);border-radius:999px;overflow:hidden}.fill{height:100%;background:var(--primary);border-radius:999px;transition:width .8s linear}.fill.hot{background:var(--danger)}.account{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px 16px;border-top:1px solid var(--line);padding-top:12px}.account b{font-size:18px;margin-left:6px}.account .spent{color:var(--danger)}.account .full{grid-column:1 / -1}.limits{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:10px}.limits input,.limits select{font-size:16px;padding:10px}.models{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:12px 0 8px}.model{border:1px solid var(--line);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:4px}.model:hover{border-color:var(--primary)}.model.none{opacity:.55}.model-name{font-size:18px;font-weight:800}.model-head{margin-bottom:6px}.price b{font-size:26px;font-weight:800;font-variant-numeric:tabular-nums}.price span{color:var(--muted)}.soldout{margin-top:auto;padding:10px 0}.btn.wide{width:100%;margin-top:auto}.model .btn.wide{margin-top:10px;font-weight:700;padding:11px}.advanced{margin-top:12px}.advanced summary,.detail summary{cursor:pointer;color:var(--muted);padding:6px 0}.detail{margin-top:6px}.detail summary{font-size:14px}.safety{margin:4px 2px 12px}.lastrun .row{margin-bottom:4px}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:grid;place-items:center;z-index:50;padding:16px}.modal{background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:22px;width:min(460px,100%)}.confirm{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin:12px 0;font-size:15px}.confirm dt{color:var(--muted)}.confirm dd{margin:0;font-weight:600}@media (max-width: 640px){.stat .v,.wallet-card .money{font-size:24px}header{flex-direction:column}.right{text-align:left}nav{justify-content:flex-start}.btn.big{width:100%}}
