:root{--bg:#f6f7f9;--surface:#fff;--text:#1b1f24;--muted:#5b6470;--border:#d9dde3;--accent:#1f5fbf;--accent-text:#fff;--ok:#1d7a46;--bad:#b3261e;--radius:10px;--space:16px;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#111418;--surface:#1a1f25;--text:#e7eaee;--muted:#9aa4b0;--border:#2d343c;--accent:#5b9bff;--accent-text:#0b1220;--ok:#4cc38a;--bad:#ff7b72}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;line-height:1.5}h1,h2{margin:0;line-height:1.25}h1{font-size:1.35rem}h2{margin-bottom:12px;font-size:1.1rem}.shell{max-width:960px;padding:var(--space);margin:0 auto}.topbar{gap:var(--space);flex-wrap:wrap;justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.content{gap:var(--space);display:grid}.muted{color:var(--muted);margin:4px 0 0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.card-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;display:flex}.status-list{gap:8px;margin:0;display:grid}.status-list div{justify-content:space-between;gap:12px;display:flex}.status-list dt{color:var(--muted)}.status-list dd{margin:0;font-weight:600}.ok{color:var(--ok)}.bad,.error{color:var(--bad)}.lang-picker{align-items:center;gap:8px;font-size:.9rem;display:flex}button,select{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;min-height:36px;padding:6px 12px}button{background:var(--accent);border-color:var(--accent);color:var(--accent-text);cursor:pointer}button:disabled{opacity:.6;cursor:default}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}:root{--warn:#8a5a00}@media (prefers-color-scheme:dark){:root{--warn:#e3b341}}h3{margin:0;font-size:1rem}hr{border:0;border-top:1px solid var(--border);width:100%;margin:8px 0}.shell.narrow{max-width:560px}.stack{gap:12px;display:grid}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}form.row{align-items:flex-end}.grid-2{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.warn{color:var(--warn)}p{margin:0}.field{gap:4px;display:grid}.field-label{font-size:.95rem;font-weight:600}input{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;width:100%;min-height:40px;padding:8px 10px}.field select{width:100%}.check{align-items:center;gap:8px;display:flex}.check input{width:auto;min-height:0}button.secondary{background:var(--surface);color:var(--text);border-color:var(--border)}button.danger{background:var(--surface);color:var(--bad);border-color:var(--bad)}.link-button{color:var(--accent);background:0 0;border:0;min-height:0;margin-top:16px;padding:0;text-decoration:underline}.nav{margin-bottom:var(--space);border-bottom:1px solid var(--border);flex-wrap:wrap;gap:4px;display:flex}.nav a{color:var(--muted);border-bottom:2px solid #0000;padding:8px 12px;text-decoration:none}.nav a[aria-current=page]{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.95rem}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:8px}th{color:var(--muted);font-weight:600}.actions{flex-wrap:wrap;gap:6px;display:flex}.actions button{min-height:30px;padding:4px 10px;font-size:.9rem}.badge{border:1px solid var(--border);border-radius:999px;padding:1px 8px;font-size:.85rem;display:inline-block}.badge.active{color:var(--ok);border-color:var(--ok)}.badge.disabled{color:var(--bad);border-color:var(--bad)}.badge.invited{color:var(--warn);border-color:var(--warn)}.qr{background:#fff;border-radius:8px;justify-self:start;padding:8px}.secret{letter-spacing:.05em;word-break:break-all;font-size:1.05rem}.codes{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:6px 16px;margin:0;padding-left:24px;display:grid}.codes code{font-size:1.05rem}.steps-list{margin:0;padding-left:20px}.link-box{border:1px dashed var(--accent);border-radius:var(--radius);gap:8px;margin-top:16px;padding:12px;display:grid}.banner{margin-bottom:var(--space);border:1px solid var(--accent);border-radius:var(--radius);background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.banner-bad{border-color:var(--bad)}.banner a{color:var(--accent);font-weight:600}.update-steps,.commit-list{gap:4px;margin:0;padding-left:20px;display:grid}.update-steps .step-failed{color:var(--bad)}.update-steps .step-ok{color:var(--ok)}.log{border:1px solid var(--border);white-space:pre-wrap;word-break:break-word;border-radius:8px;max-height:320px;margin:0;padding:10px;font-size:.8rem;overflow:auto}
