:root{color-scheme:dark;--bg:#08111f;--card:#101d2e;--line:#22344a;--muted:#8ea2b8;--green:#51e29a;--blue:#4c9fff;--danger:#ff6b6b}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 50% 0,#15304e 0,var(--bg) 35%);font:14px system-ui,-apple-system,"Microsoft YaHei",sans-serif;color:#eef6ff}.app{width:min(100%,620px);margin:auto;padding:22px 16px 40px}header,.section-title{display:flex;align-items:center;justify-content:space-between}header{padding:5px 3px 18px}h1{font-size:26px;margin:3px 0}h2{font-size:16px;margin:0}small,.section-title span,.card span,footer{color:var(--muted)}.pill{padding:7px 11px;border-radius:99px;background:#193f34;color:var(--green);font-size:12px}.pill.off{background:#35232a;color:#ff9d9d}.card{background:linear-gradient(145deg,rgba(21,37,57,.96),rgba(12,25,41,.98));border:1px solid var(--line);border-radius:18px;padding:17px;margin-bottom:12px;box-shadow:0 12px 30px #0003}.hero{display:flex;align-items:center;gap:24px}.soc-ring{--soc:0;flex:none;width:132px;height:132px;border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(circle at center,var(--card) 62%,transparent 63%),conic-gradient(var(--green) calc(var(--soc)*1%),#26384a 0);box-shadow:inset 0 0 25px #0004}.soc-ring strong{font-size:36px;line-height:36px}.soc-ring span{color:var(--green)}.hero-data{flex:1;display:grid;gap:12px}.hero-data label{color:var(--muted);font-size:12px}.hero-data b{display:block;color:white;font-size:19px;margin-top:2px}.stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stats .card{margin:0}.stats .card:nth-last-child(-n+2){margin-bottom:12px}.stats b{display:block;font-size:18px;margin-top:6px}.cells{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:15px}.cells.empty{display:block;color:var(--muted);text-align:center;padding:18px}.cell{padding:11px;border-radius:11px;background:#0b1727;border:1px solid #1e334a;display:flex;justify-content:space-between}.cell em{font-style:normal;color:var(--green)}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}.chips span{padding:8px 10px;border-radius:9px;background:#0b1727}.status-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.status-grid span{display:flex;justify-content:space-between}.status-grid b{color:#fff}.settings form{margin-top:17px;display:grid;gap:13px}.settings label{color:var(--muted)}input{display:block;width:100%;margin-top:6px;padding:12px;border:1px solid #314761;border-radius:10px;background:#091523;color:white;font:inherit}.primary{border:0;border-radius:11px;padding:13px;color:#04120c;font-weight:700;background:var(--green)}.text-btn{border:0;background:none;color:var(--blue)}#formMessage{margin:0;color:var(--muted)}footer{text-align:center;font-size:12px;padding-top:13px}@media(max-width:390px){.hero{gap:14px}.soc-ring{width:112px;height:112px}.hero-data b{font-size:16px}}
.mos-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.mos-control-card{min-width:0;padding:12px;border:1px solid #294159;border-radius:13px;background:#0b1727}.mos-control-card>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px}.mos-control-card b{color:#fff;font-size:16px}.inline-mos-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.mini-mos-btn{min-width:0;border:1px solid #2d8f70;border-radius:8px;background:#102d2a;color:#52e0a4;padding:7px 5px;font-size:12px;line-height:1.2;cursor:pointer}.mini-mos-btn.danger{border-color:#8e4951;background:#321d24;color:#ff929c}.mini-mos-btn:disabled{opacity:.45;cursor:wait}.status-card .status-grid{padding-top:12px;border-top:1px solid var(--line);gap:10px 18px}.status-card .status-grid>span{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px}.status-card .status-grid>span>b{text-align:right;overflow-wrap:anywhere}.control-message{display:block;min-height:18px;margin-top:12px;line-height:1.55;color:#79a9ce}@media(max-width:390px){.mos-controls{grid-template-columns:1fr}.status-card .section-title{align-items:flex-start}.status-card .section-title>span{max-width:55%;text-align:right}.status-card .status-grid{grid-template-columns:1fr 1fr}}
