:root{--bg: #f6f7f9;--panel: #ffffff;--border: #e3e6ea;--text: #1b2230;--muted: #6b7686;--accent: #1d4ed8;--accent-soft: #eef2ff;--charge: #2563eb;--discharge: #16a34a;--warn: #b45309;--danger: #b91c1c;--radius: 10px;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.55 -apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans KR,Apple SD Gothic Neo,Roboto,sans-serif}a{color:var(--accent)}.topbar{display:flex;align-items:center;gap:24px;padding:0 20px;height:54px;background:#0f172a;color:#e2e8f0;position:sticky;top:0;z-index:20}.brand{font-weight:700;letter-spacing:-.2px;font-size:15px;color:#fff}.brand span{color:#38bdf8}.topnav{display:flex;gap:4px;flex:1;flex-wrap:wrap}.topnav a{color:#cbd5e1;text-decoration:none;padding:6px 11px;border-radius:7px;font-size:13px;white-space:nowrap}.topnav a:hover{background:#1e293b;color:#fff}.topnav a.active{background:var(--accent);color:#fff}.topnav a.ext:after{content:" ↗";opacity:.55;font-size:11px}.topbar .status{font-size:12px;color:#94a3b8}.page{max-width:1280px;margin:0 auto;padding:22px 20px 60px}.page h1{font-size:21px;margin:0 0 4px;letter-spacing:-.3px}.page>.lede{color:var(--muted);margin:0 0 22px;max-width:74ch}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px;margin-bottom:18px}.panel>h2{font-size:15px;margin:0 0 3px}.panel>.hint{color:var(--muted);font-size:12.5px;margin:0 0 14px}.grid{display:grid;gap:14px}.grid.cols-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.grid.cols-3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.grid.cols-4{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.stat{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.stat .label{font-size:12px;color:var(--muted);margin-bottom:5px}.stat .value{font-size:22px;font-weight:650;letter-spacing:-.5px}.stat .value.pos{color:var(--discharge)}.stat .value.neg{color:var(--danger)}.stat .sub{font-size:12px;color:var(--muted);margin-top:3px}.applink{display:block;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px;text-decoration:none;color:inherit}.applink:hover{border-color:var(--accent);background:var(--accent-soft)}.applink .t{font-weight:650;margin-bottom:4px}.applink .d{color:var(--muted);font-size:12.5px}.controls{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.field{display:flex;flex-direction:column;gap:4px}.field label{font-size:12px;color:var(--muted)}select,input[type=number],input[type=text],textarea{font:inherit;padding:6px 9px;border:1px solid var(--border);border-radius:7px;background:#fff;color:inherit}button{font:inherit;font-weight:550;padding:7px 15px;border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:7px;cursor:pointer}button:hover:not(:disabled){filter:brightness(1.08)}button:disabled{opacity:.5;cursor:not-allowed}button.ghost{background:#fff;color:var(--text);border-color:var(--border)}button.ghost.on{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}button.sm{padding:3px 9px;font-size:12px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:550;font-size:12px;white-space:nowrap}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}tbody tr:hover{background:#fafbfc}.tag{display:inline-block;padding:1px 7px;border-radius:999px;font-size:11.5px;border:1px solid var(--border);background:#f8fafc;color:var(--muted);white-space:nowrap}.tag.ok{border-color:#bbf7d0;background:#f0fdf4;color:#15803d}.tag.no{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.tag.info{border-color:#bfdbfe;background:#eff6ff;color:#1d4ed8}.notice{border:1px solid #fde68a;background:#fffbeb;color:#92400e;padding:10px 13px;border-radius:8px;font-size:13px;margin-bottom:14px}.notice.err{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.muted{color:var(--muted)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.quote{border-left:3px solid var(--border);padding:2px 0 2px 10px;color:var(--muted);font-size:12.5px;margin:6px 0 0}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px}
