*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{color:#e6e8eb;background:#0b0d10;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.5}a{color:#60a5fa;text-decoration:none}a:hover{text-decoration:underline}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em}input,button{font:inherit;color:inherit}.page{max-width:720px;margin:0 auto;padding:24px 20px}.page-wide{max-width:960px;margin:0 auto;padding:24px 20px}.stack>*+*{margin-top:12px}.stack-lg>*+*{margin-top:24px}.row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.row-tight{align-items:center;gap:8px;display:flex}.h1{margin:0;font-size:24px;font-weight:600}.h2{margin:0;font-size:18px;font-weight:500}.muted{color:#8f95a1;font-size:13px}.small{font-size:13px}.card{background:#ffffff08;border:1px solid #ffffff1a;border-radius:8px;padding:16px}.card-list li{background:#ffffff08;border:1px solid #ffffff1a;border-radius:8px;margin:0 0 8px;padding:16px;list-style:none}.card-list{margin:0;padding:0}.empty{text-align:center;color:#8f95a1;border:1px dashed #ffffff26;border-radius:8px;padding:40px 16px}.label{display:block}.label>span{color:#b6bcc7;margin-bottom:4px;font-size:13px;display:block}.input{width:100%;color:inherit;background:#0000004d;border:1px solid #ffffff26;border-radius:6px;outline:none;padding:8px 12px}.input:focus{border-color:#3b82f6}.btn{color:inherit;cursor:pointer;background:0 0;border:1px solid #ffffff26;border-radius:6px;padding:8px 14px;font-size:14px;display:inline-block}.btn:hover{background:#ffffff0d}.btn-primary{color:#fff;background:#2563eb;border-color:#2563eb;font-weight:500}.btn-primary:hover{background:#1d4ed8}.btn-danger{color:#fca5a5;border-color:#991b1b99}.btn-danger:hover{background:#4c05054d}.btn-block{width:100%;padding:10px;display:block}.err{color:#fca5a5;background:#4c050566;border:1px solid #991b1b80;border-radius:6px;padding:8px 12px;font-size:13px}.badge-ok{color:#4ade80}.badge-off{color:#f87171}.copybox{align-items:stretch;gap:8px;display:flex}.copybox code{word-break:break-all;background:#00000080;border:1px solid #ffffff26;border-radius:6px;flex:1;padding:8px 12px;font-size:13px}.copybox .btn{white-space:nowrap}.dl{grid-template-columns:100px 1fr;gap:4px 12px;margin:8px 0 0;display:grid}.dl dt{color:#8f95a1}.dl dd{word-break:break-all;margin:0}.divider{border-top:1px solid #ffffff1a;padding-top:16px}
