:root{--bg:#f8faf9;--surface:#fff;--text:#1c2624;--muted:#55625f;--accent:#0f766e;--on-accent:#fff;--border:#d9e2df;--soft:#e3f1ee;--danger:#b42318;--on-danger:#fff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#111817;--surface:#172120;--text:#e6eeec;--muted:#9fb0ac;--accent:#5eead4;--on-accent:#0b1514;--border:#2a3634;--soft:#1d3330;--danger:#fda29b;--on-danger:#1f0c0a}}*{box-sizing:border-box}body{background:var(--bg);margin:0}.landing{flex-direction:column;justify-content:center;width:100%;max-width:36rem;min-height:100dvh;margin:0 auto;padding:2rem 1.25rem;display:flex}.landing h1{letter-spacing:-.02em;color:var(--accent);margin:0 0 .5rem;font-size:2.5rem;line-height:1.1}.tagline{margin:0 0 1.5rem;font-size:1.25rem;font-weight:600}.name-note{color:var(--muted);margin:0}.account{border-top:1px solid var(--border);margin-top:2rem;padding-top:1.5rem}.beta-note{margin:0 0 .75rem;font-weight:600}.auth-message{color:var(--muted);margin:.75rem 0 0}.app{width:100%;max-width:40rem;margin:0 auto;padding:0 1rem 3rem}.app-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;min-height:3.5rem;margin-bottom:1.25rem;display:flex}.brand{min-height:2.75rem;color:var(--accent);align-items:center;font-size:1.125rem;font-weight:700;text-decoration:none;display:inline-flex}.header-account{align-items:center;gap:.25rem;display:flex}.page-title{overflow-wrap:anywhere;margin:0 0 1rem;font-size:1.75rem;line-height:1.2}.section{margin-top:2rem}.section h2,.empty h2{margin:0 0 .75rem;font-size:1.125rem}.section-actions{flex-direction:column;gap:.75rem;margin:1rem 0;display:flex}.muted{color:var(--muted);font-weight:400}.loading{color:var(--muted)}.state,.empty{border:1px dashed var(--border);border-radius:.75rem;padding:1.25rem}.state p:first-child,.empty p{margin-top:0}.back-link{min-height:2.75rem;color:var(--accent);overflow-wrap:anywhere;align-items:center;margin-bottom:.25rem;font-weight:600;text-decoration:none;display:inline-flex}.group-list,.member-list{margin:0;padding:0;list-style:none}.group-link{border:1px solid var(--border);min-height:3.5rem;color:inherit;background:var(--surface);border-radius:.75rem;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem;padding:.75rem 1rem;text-decoration:none;display:flex}.group-link:hover{border-color:var(--accent)}.group-name{overflow-wrap:anywhere;font-weight:600}.group-link .muted{flex:none}.group-header{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.member{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.75rem;padding:.5rem 0;display:flex}.member-main{flex-wrap:wrap;flex:1;align-items:center;gap:0 .5rem;min-width:0;display:flex}.member-main .name-form{flex-basis:100%;padding:.5rem 0}.member-name{overflow-wrap:anywhere;font-weight:600}button.member-name{min-width:2.75rem;min-height:2.75rem;font:inherit;color:inherit;text-align:left;-webkit-text-decoration:underline dotted var(--muted);text-decoration:underline dotted var(--muted);text-underline-offset:.3em;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.badges{flex-wrap:wrap;gap:.25rem;display:inline-flex}.badge{color:var(--accent);background:var(--soft);border-radius:999px;padding:.125rem .5rem;font-size:.75rem;font-weight:600}.member-menu{flex-direction:column;flex-basis:100%;gap:.5rem;padding-bottom:.5rem;display:flex}.avatar{object-fit:cover;border-radius:50%;flex:none}.avatar-initial{color:var(--accent);background:var(--soft);justify-content:center;align-items:center;font-weight:700;display:inline-flex}.button{border:1px solid var(--accent);width:100%;min-height:2.75rem;font:inherit;text-align:center;color:var(--on-accent);background:var(--accent);cursor:pointer;border-radius:.5rem;padding:.625rem 1.25rem;font-weight:600;text-decoration:none;display:block}.button.secondary{color:var(--accent);background:0 0}.button.danger{border-color:var(--danger);color:var(--on-danger);background:var(--danger)}.button.secondary.danger{color:var(--danger);background:0 0}.button:hover{filter:brightness(1.08)}.button:disabled{opacity:.6;cursor:progress}.button-row{flex-direction:column;gap:.5rem;display:flex}.text-button{min-height:2.75rem;font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;border-radius:.5rem;padding:0 .5rem;font-weight:600}.icon-button{border:1px solid var(--border);width:2.75rem;height:2.75rem;color:var(--text);background:var(--surface);cursor:pointer;border-radius:.5rem;flex:none;justify-content:center;align-items:center;font-size:1.25rem;line-height:1;display:inline-flex}.icon-button:hover{border-color:var(--accent)}.button:focus-visible,.text-button:focus-visible,.icon-button:focus-visible,.brand:focus-visible,.back-link:focus-visible,.group-link:focus-visible,button.member-name:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.name-form label{font-weight:600;display:block}.hint{color:var(--muted);margin:.125rem 0 0;font-size:.9375rem}.name-form input{border:1px solid var(--border);width:100%;min-height:2.75rem;font:inherit;color:var(--text);background:var(--surface);border-radius:.5rem;margin-top:.375rem;padding:.5rem .75rem;font-size:1rem;display:block}.name-form input:focus-visible{outline:3px solid var(--accent);outline-offset:1px}.form-actions{gap:.5rem;margin-top:.75rem;display:flex}.form-actions .button{flex:1}.feedback{overflow-wrap:anywhere;background:var(--soft);border-radius:.5rem;margin:.75rem 0;padding:.625rem .875rem}.feedback.error{color:var(--danger);border:1px solid var(--danger);background:0 0}.name-form .feedback{margin:.5rem 0 0}dialog.confirm{border:1px solid var(--border);width:min(28rem,100vw - 2rem);color:var(--text);background:var(--bg);border-radius:.75rem;padding:1.25rem}dialog.confirm::backdrop{background:#00000080}dialog.confirm p{margin:0}@media (width>=640px){.landing h1{font-size:3.5rem}.tagline{font-size:1.5rem}.button{width:auto;display:inline-block}.button-row{flex-flow:wrap}.section-actions{align-items:flex-start}.section-actions .name-form{align-self:stretch}.member-menu{flex-direction:row;padding-left:3.25rem}}
