:root{--bg:#f6f7f9;--surface:#fff;--border:#d9dee5;--text:#1f2733;--text-muted:#667085;--primary:#2563eb;--primary-hover:#1d4ed8;--danger:#dc2626;--radius:8px}*{box-sizing:border-box}body{color:var(--text);background:var(--bg);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px}.container{max-width:720px;margin:0 auto;padding:1.5rem 1.5rem 3rem}h1{font-size:1.6rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1.25rem;padding:1rem 1.25rem}h2{margin-top:0;font-size:1.15rem}.btn{border-radius:var(--radius);font:inherit;cursor:pointer;border:1px solid #0000;padding:.45rem .9rem;text-decoration:none;display:inline-block}.btn.primary{background:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-hover)}.btn.secondary{background:var(--surface);border-color:var(--border);color:var(--text)}.btn.secondary:hover{background:#eef1f4}.row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.json-block{border:1px solid var(--border);border-radius:var(--radius);background:#f1f3f5;padding:.6rem .75rem;font-size:.85em;overflow-x:auto}.groupcode-value{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:300px;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.85em;display:inline-block;overflow:hidden}.error-text{color:var(--danger)}textarea{border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:420px;font:inherit;background:var(--surface);color:var(--text);padding:.45rem .6rem}
