*{box-sizing:border-box;margin:0;padding:0} body{font-family:-apple-system,sans-serif;background:#0d1117;color:#c9d1d9;padding:16px;max-width:480px;margin:0 auto} .container{display:flex;flex-direction:column;gap:12px} header{text-align:center;padding:12px 0} .title{font-size:22px;font-weight:700;color:#58a6ff} .subtitle{font-size:13px;color:#8b949e} .card{background:#161b22;border:1px solid #30363d;border-radius:8px;padding:14px} .card-title{font-size:14px;font-weight:600;color:#58a6ff;margin-bottom:10px} .dashboard{display:grid;grid-template-columns:1fr 1fr;gap:8px} .stat{background:#0d1117;border-radius:6px;padding:8px;text-align:center} .stat .l{font-size:11px;color:#8b949e;display:block} .stat .v{font-size:15px;font-weight:600;display:block} .green{color:#3fb950}.red{color:#f85149}.yellow{color:#d29922} .source-selector{display:flex;gap:8px;margin-bottom:12px} .src-btn{flex:1;padding:10px;border:1px solid #30363d;border-radius:6px;background:#0d1117;color:#8b949e;cursor:pointer} .src-btn.active{background:#1f6feb33;border-color:#1f6feb;color:#58a6ff} .hidden{display:none} label{font-size:12px;color:#8b949e;display:block;margin-bottom:4px} input{width:100%;padding:10px;border:1px solid #30363d;border-radius:6px;background:#0d1117;color:#c9d1d9;font-size:14px} .row{display:flex;gap:8px;margin-bottom:12px}.row>div{flex:1} .num{width:100%} .primary{width:100%;padding:12px;border:none;border-radius:6px;background:#238636;color:#fff;font-size:14px;font-weight:600;cursor:pointer} .grid{display:grid;grid-template-columns:1fr 1fr;gap:8px} .btn{padding:12px;border:1px solid #30363d;border-radius:6px;background:#21262d;color:#c9d1d9;cursor:pointer;text-align:center} .btn.danger{border-color:#f8514944;color:#f85149} .btn.warning{border-color:#d2992244;color:#d29922} .console{background:#0d1117;border:1px solid #30363d;border-radius:6px;padding:10px;height:150px;overflow-y:auto;font-family:monospace;font-size:12px;color:#8b949e} .console .ok{color:#3fb950}.console .err{color:#f85149}.console .info{color:#58a6ff}