*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:#0f0f0f;color:#e5e5e5;line-height:1.45;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.app{max-width:480px;margin:0 auto}.header h1{margin:0 0 4px;font-size:1.35rem}.sub{margin:0;color:#888;font-size:.85rem}.card{background:#1a1a1a;border-radius:12px;padding:14px 16px;margin-top:12px}.card h2{margin:0 0 8px;font-size:.95rem;color:#93c5fd}.notice a{color:#60a5fa}.status{margin:0 0 10px;font-weight:600;color:#facc15}.ble-opt{display:flex;align-items:flex-start;gap:10px;margin:0 0 8px;font-size:.88rem;color:#c4c4c4;cursor:pointer}.ble-opt input{margin-top:3px;flex-shrink:0}.hint{margin:0 0 12px;font-size:.78rem;color:#737373;line-height:1.35}.hint code{font-size:.85em;color:#a3a3a3}.row{display:flex;flex-wrap:wrap;gap:8px}.btn{flex:1;min-width:120px;padding:12px 14px;border:none;border-radius:10px;font-weight:600;font-size:.9rem;cursor:pointer;background:#262626;color:#e5e5e5}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:#2563eb;color:#fff}.sliders label{display:block;margin-bottom:10px;font-size:.85rem}.sliders input[type=range]{width:100%;margin-top:4px}.log pre{margin:0;max-height:160px;overflow:auto;font-size:11px;color:#a3a3a3;white-space:pre-wrap;word-break:break-all}.footer{margin-top:20px;font-size:.75rem;color:#666}.footer code{font-size:.7rem}
