:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#1e293b;background:#f2f5f9;line-height:1.5;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow-wrap:anywhere}button,input,textarea{font:inherit}button,.link-button{border:1px solid #3159d6;border-radius:9px;background:#3159d6;color:#fff;padding:.65rem 1rem;cursor:pointer;font-weight:600}button:hover,.link-button:hover{filter:brightness(.95)}button:disabled{opacity:.55;cursor:not-allowed}button:focus-visible,input:focus-visible,textarea:focus-visible,.link-button:focus-visible{outline:3px solid #91b4ff;outline-offset:2px}.secondary{color:#30415c;background:#fff;border-color:#cbd5e1}.compact{padding:.4rem .75rem;font-size:.875rem}.danger-outline{background:#fff;color:#a32a31;border-color:#e4afb2}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:#16233b;color:#fff;padding:2rem max(1.25rem,calc((100% - 1120px)/2))}.topbar h1,.topbar p{margin:0}.topbar h1{font-size:1.6rem}.topbar p:last-child{color:#bdcbe0;margin-top:.3rem}.eyebrow{font-size:.7rem;font-weight:800;letter-spacing:.13em;color:#6883bd;margin:0 0 .35rem}.topbar .eyebrow{color:#9ab7fa}main{max-width:1160px;margin:0 auto;padding:1.5rem 1.25rem 3rem}.card{min-width:0;background:#fff;border:1px solid #e1e7ef;border-radius:14px;padding:1.4rem;margin-bottom:1.2rem;box-shadow:0 3px 14px #253b5a09}.card h2{font-size:1.2rem;margin:0 0 .5rem}.card p{margin:.4rem 0 1rem}.login-card{max-width:460px;margin:3rem auto}label{display:block;font-size:.9rem;font-weight:700;margin-bottom:.4rem}input,textarea{width:100%;border:1px solid #bdc9d8;border-radius:8px;padding:.75rem;background:#fff;color:#172238}input{margin-bottom:1rem}.login-card button{width:100%}textarea{display:block;min-height:420px;resize:vertical;overflow:auto;overflow-wrap:anywhere;font-family:Consolas,"Courier New",monospace;font-size:.9rem;line-height:1.55;tab-size:2}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;min-width:0}.section-heading>div{min-width:0}.muted{color:#64748b}.small{font-size:.82rem}.badge{white-space:nowrap;border-radius:99px;padding:.3rem .65rem;font-size:.75rem;font-weight:700;background:#edf2f8;color:#52657e}.badge.warning{background:#fff3d7;color:#8a5b00}.current-badge{margin-left:.5rem;background:#e9f7ef;color:#17643e;padding:.15rem .5rem}.toolbar,.actions{display:flex;flex-wrap:wrap;gap:.6rem}.toolbar{justify-content:space-between;gap:1rem}.grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.2rem}.notice{border-radius:9px;padding:.8rem 1rem;margin-bottom:1rem}.notice.success{background:#e9f7ef;color:#17643e}.notice.error{background:#fff0f0;color:#9d252e}.result{white-space:pre-wrap;overflow-wrap:anywhere;background:#f4f7fb;border:1px solid #dfe7f1;border-radius:8px;padding:1rem;max-height:16rem;overflow:auto}.versions{max-height:320px;overflow-y:auto}.version-row{display:flex;justify-content:space-between;gap:1rem;align-items:center;border-top:1px solid #e9edf3;padding:.65rem 0}.version-row>div{min-width:0}.version-row button{flex:none;white-space:nowrap}.version-row small{display:block;color:#64748b}.subscription{display:flex;gap:.5rem;align-items:center}.subscription code{display:block;min-width:0;flex:1;overflow-wrap:anywhere;background:#f3f6fa;border-radius:8px;padding:.7rem}.qr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}.qr-cell{text-align:center;min-width:0}.qr-cell canvas{background:#fff;border:1px solid #cbd5e1;border-radius:8px;max-width:100%;height:auto}.add-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0}.link-button{display:inline-flex;align-items:center;text-decoration:none}footer{text-align:center;padding:0 1rem 2rem;color:#7a899d;font-size:.8rem}[hidden]{display:none!important}@media(max-width:700px){.topbar{padding:1.3rem 1rem}.topbar h1{font-size:1.3rem}main{padding:1rem .8rem 2rem}.card{padding:1rem}.grid{grid-template-columns:1fr;gap:0}.toolbar,.actions{width:100%}.actions button{flex:1 1 40%}.subscription{align-items:stretch;flex-direction:column}.qr-grid{grid-template-columns:1fr}}
