:root{color-scheme:light;--ink:#182824;--muted:#67766e;--line:#dbe3dd;--green:#176549;--bg:#f4f7f3}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.65 system-ui,-apple-system,"Microsoft YaHei",sans-serif}
[hidden]{display:none!important}main{max-width:1160px;margin:auto;padding:32px 24px}h1{font-size:30px;letter-spacing:-1px;margin:0}h2{font-size:18px;margin:0}h3{font-size:16px;margin:0}p{margin:8px 0}.muted{color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:2px;color:var(--green);margin:0 0 4px}
.top,.controls,.section-heading,.dialog-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.top{justify-content:space-between;margin-bottom:24px}.section-heading{justify-content:space-between;margin-bottom:16px}.section-heading p{margin:4px 0 0}.badge{padding:5px 12px;border-radius:30px;background:#e1ebe3;font-size:13px;white-space:nowrap}.warning{background:#fff5da;border:1px solid #eedaa3;padding:13px 16px;border-radius:12px;margin:16px 0;color:#735716}.success{background:#e5f2e8;color:#176549;border-radius:10px;padding:12px 16px;margin:12px 0}
.header-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.panel.auth-panel{max-width:480px;margin:60px auto}.login-form{display:grid;gap:16px;margin:24px 0 16px}.login-form label,.field-label{display:flex;flex-direction:column;gap:7px;font-size:13px}.field-label{margin:18px 0 10px}.field-label small{color:var(--muted);font-size:12px}.settings-check{margin-top:20px}
.panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;margin:18px 0}.controls{margin:22px 0 8px}.controls label{font-size:13px;color:var(--muted)}select,input,button{font:inherit;border:1px solid #c8d4cb;border-radius:9px;padding:9px 12px;background:#fff;color:var(--ink);max-width:100%}button{background:var(--green);color:#fff;cursor:pointer;border-color:var(--green)}button:disabled{opacity:.55;cursor:wait}button.secondary{background:#fff;color:var(--green);border-color:#cfdbd1}button.text-button{background:none;border:0;color:var(--green);padding:3px 6px}button.danger{color:#a12d29}button.icon-button{background:none;color:var(--muted);border:0;font-size:27px;line-height:1;padding:3px 8px}input[type=checkbox]{accent-color:var(--green);width:17px;height:17px;padding:0;flex-shrink:0}.controls input[type=number]{width:80px}
.pair-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.pair-card{border:1px solid var(--line);border-radius:12px;padding:15px;min-width:0;background:#fafcf9}.pair-card.selected{border-color:#71a68a;background:#f0f7f0}.pair-card-title{display:flex;align-items:center;gap:9px;justify-content:space-between}.pair-card-title button{font-size:16px;text-align:left;font-weight:600;background:none;border:0;padding:0;color:var(--ink);overflow-wrap:anywhere}.pair-card-title .badge{font-size:11px;padding:2px 7px}.pair-meta{font-size:12px;color:var(--muted);margin:7px 0 12px;overflow-wrap:anywhere}.pair-actions{display:flex;gap:12px;flex-wrap:wrap}.pair-actions button{font-size:12px;background:none;border:0;padding:0;color:var(--green)}.pair-actions button.danger{color:#a12d29}.count{color:var(--muted);font-size:13px;font-weight:400;margin-left:6px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.stat{background:#f6f8f5;border-radius:12px;padding:16px;min-width:0}.stat small{display:block;color:var(--muted)}.stat strong{display:block;font-size:24px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.live{font-size:38px;line-height:1.3;font-weight:650;font-variant-numeric:tabular-nums;margin:16px 0 8px}.ok{color:var(--green)}.stale{color:#9b6c24}svg{display:block;width:100%;height:auto;min-height:120px}table{width:100%;border-collapse:collapse;font-size:13px}td,th{text-align:left;padding:11px 8px;border-bottom:1px solid #edf0ec;vertical-align:top}th{color:var(--muted);font-weight:500}.scroll{overflow:auto}details{margin-top:16px}summary{cursor:pointer;color:var(--muted)}.error{color:#a12d29;white-space:pre-wrap;overflow-wrap:anywhere}.error:not(:empty){padding:10px 0}.layout{display:grid;grid-template-columns:1.6fr 1fr;gap:18px;margin-top:16px}.layout .panel{margin:0}.note{font-size:13px;color:var(--muted);overflow-wrap:anywhere}.rule{padding:10px 0;border-bottom:1px solid #edf0ec;font-size:13px}.empty{padding:24px;color:var(--muted);text-align:center}footer{padding:8px 0 24px;font-size:13px;color:var(--muted)}
dialog{width:min(760px,calc(100% - 28px));max-height:90vh;max-height:90dvh;overflow:auto;border:1px solid var(--line);border-radius:18px;padding:26px;color:var(--ink);box-shadow:0 24px 90px #132c2b26}dialog::backdrop{background:#172e286b;backdrop-filter:blur(2px)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px 18px}.form-grid label{display:flex;flex-direction:column;gap:5px;font-size:13px;min-width:0}.form-grid label.wide{grid-column:1/-1}.form-grid small{font-size:11px;color:var(--muted);font-weight:400}.form-grid label.check-label,.check-label{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:13px}.advanced{padding:14px 0;border-top:1px solid #edf0ec;border-bottom:1px solid #edf0ec}.advanced .form-grid{margin-top:15px}.rules-heading{margin:22px 0 12px}.rule-editor{background:#f6f8f5;border:1px solid #e0e7df;padding:14px;border-radius:12px;margin:10px 0 16px}.rule-editor .form-grid{gap:10px 14px}.rule-editor-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.rule-editor-top .check-label{font-size:12px}.dialog-actions{margin-top:23px;padding-top:17px;border-top:1px solid var(--line);justify-content:flex-end}.dialog-actions>.note{margin-right:auto}.rule-empty{padding:16px 0;color:var(--muted);font-size:13px}
#settingsDialog{width:min(520px,calc(100% - 28px))}
@media(max-width:850px){.pair-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){main{padding:20px 14px}.stats{grid-template-columns:repeat(2,1fr)}.layout{grid-template-columns:1fr}.panel{padding:17px}h1{font-size:26px}.live{font-size:32px}.pair-grid{grid-template-columns:1fr}.controls{gap:10px}.section-heading{gap:10px}.form-grid{grid-template-columns:1fr}.form-grid label.wide{grid-column:auto}dialog{padding:20px 17px}.dialog-actions>.note{width:100%}.dialog-actions{gap:10px}}
