.fam{--fam-display:var(--font-archivo), Archivo, sans-serif;--fam-body:var(--font-hanken), "Hanken Grotesk", system-ui, sans-serif;gap:20px;max-width:760px;display:grid}.fam .fam-h1{font:900 26px/1.15 var(--fam-display);letter-spacing:-.01em;color:var(--ink);margin:0}.fam .fam-sub{font:500 14.5px/1.5 var(--fam-body);color:var(--ink-soft);max-width:60ch;margin:6px 0 0}.fam .fam-list{border:1px solid var(--line);background:var(--surface);border-radius:16px;margin:0;padding:0;list-style:none;display:grid;overflow:hidden}.fam .fam-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px 18px;display:grid}.fam .fam-row+.fam-row{border-top:1px solid var(--line)}.fam .fam-face{background:color-mix(in oklab, var(--accent) 14%, var(--surface));width:44px;height:44px;color:var(--accent-text);font:900 16px/1 var(--fam-display);border-radius:50%;place-items:center;display:grid;overflow:hidden}.fam .fam-face img{object-fit:cover;width:100%;height:100%}.fam .fam-who{gap:3px;min-width:0;display:grid}.fam .fam-name{font:800 16px/1.25 var(--fam-display);color:var(--ink);overflow-wrap:anywhere;margin:0}.fam .fam-meta{font:500 13.5px/1.35 var(--fam-body);color:var(--ink-soft);flex-wrap:wrap;gap:4px 12px;display:flex}.fam .fam-unread{color:var(--accent-text);font-weight:700}.fam .fam-actions{align-items:center;gap:6px;display:flex}.fam .fam-list{container-type:inline-size}@container (max-width:520px){.fam .fam-row{grid-template-columns:auto minmax(0,1fr)}.fam .fam-actions{grid-column:1/-1}.fam .fam-actions .fam-cta{flex:1}.fam .fam-actions{flex-wrap:wrap}.fam .fam-actions [data-testid=family-give-login]{text-align:left;flex:100%;order:3}}.fam .fam-cta,.fam-bar .fam-cta{border:1.5px solid var(--accent);background:color-mix(in oklab, var(--accent) 12%, var(--surface));min-height:44px;color:var(--accent-text);font:900 14px/1 var(--font-archivo), Archivo, sans-serif;white-space:nowrap;cursor:pointer;border-radius:14px;justify-content:center;align-items:center;gap:7px;padding:0 17px;transition:background-color .15s,transform .14s cubic-bezier(.22,.8,.24,1);display:inline-flex}.fam .fam-cta:hover,.fam-bar .fam-cta:hover{background:color-mix(in oklab, var(--accent) 20%, var(--surface))}.fam .fam-cta:active,.fam-bar .fam-cta:active{transform:scale(.97)}.fam .fam-cta[disabled],.fam-bar .fam-cta[disabled]{opacity:.6;cursor:progress}.fam .fam-quiet{min-width:44px;min-height:44px;color:var(--ink-soft);font:700 13.5px/1 var(--fam-body);cursor:pointer;background:0 0;border:0;border-radius:12px;padding:0 10px}.fam .fam-quiet:hover{background:var(--surface-2);color:var(--ink)}.fam .fam-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.fam .fam-note{font:500 13px/1.45 var(--fam-body);color:var(--mute);margin:0}.fam .fam-empty{border:1px dashed var(--line);border-radius:16px;justify-items:start;gap:10px;padding:22px;display:grid}.fam .fam-empty b{font:800 17px/1.25 var(--fam-display);color:var(--ink)}.fam .fam-empty p{font:500 14px/1.5 var(--fam-body);color:var(--ink-soft);max-width:52ch;margin:0}.fam .fam-err,.fam-form .fam-err{background:var(--bad-wash);color:var(--bad-text);font:600 13.5px/1.4 var(--font-hanken), "Hanken Grotesk", system-ui, sans-serif;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px 10px 14px;display:flex}.fam .fam-err button{min-height:36px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;text-decoration:underline}.fam-form{font-family:var(--font-hanken), "Hanken Grotesk", system-ui, sans-serif;gap:14px;display:grid}.fam-form .fam-two{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (max-width:480px){.fam-form .fam-two{grid-template-columns:1fr}}.fam-form label{color:var(--ink);gap:6px;font:700 13px/1.3 inherit;display:grid}.fam-form .fam-hint{color:var(--mute);font:500 12.5px/1.4 inherit}.fam-form input[type=text],.fam-form input[type=date],.fam-form select{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink);border-radius:12px;padding:0 12px;font:500 15px/1.2 inherit}.fam-form input:focus-visible,.fam-form select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.fam-form .fam-check{grid-template-columns:auto 1fr;align-items:start;gap:10px;font-weight:600;display:grid}.fam-form .fam-check input{width:20px;height:20px;accent-color:var(--accent);margin:1px 0 0}.fam-form .fam-buttons{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.fam-form .fam-buttons .fam-cancel{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink-soft);cursor:pointer;border-radius:14px;padding:0 16px;font:700 14px/1 inherit}.fam-bar{z-index:21;background:var(--ink);color:var(--surface);font:700 14px/1.3 var(--font-hanken), "Hanken Grotesk", system-ui, sans-serif;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 16px;padding:8px 16px;display:flex;position:relative}.fam-bar .fam-bar-who{align-items:center;gap:8px;min-width:0;display:inline-flex}.fam-bar .fam-bar-who span{overflow-wrap:anywhere}.fam-bar .fam-cta{border-color:var(--surface);background:var(--surface);min-height:36px;color:var(--ink);padding:0 14px}.fam-bar .fam-cta:hover{background:color-mix(in oklab, var(--surface) 88%, var(--ink))}.fam .fam-facts{font:500 13.5px/1.45 var(--fam-body);color:var(--ink-soft);flex-wrap:wrap;gap:2px 12px;display:flex}.fam .fam-facts a{color:var(--accent-text);text-underline-offset:3px;font-weight:700;text-decoration:underline}.fam .fam-due{color:var(--bad-text);font-weight:700}.fam a.fam-cta,.fam a.fam-quiet{align-items:center;text-decoration:none;display:inline-flex}.fam .fam-form input[type=email],.fam-form input[type=email],.fam .fam-form input[type=password],.fam-form input[type=password]{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink);border-radius:12px;padding:0 12px;font:500 15px/1.2 inherit}.fam.fam-child{max-width:1080px}.fam .fam-back{min-height:44px;font:700 14px/1 var(--fam-body);color:var(--ink-soft);justify-self:start;align-items:center;text-decoration:none;display:inline-flex}.fam .fam-back:hover{color:var(--ink)}.fam .fam-meta+.fam-meta{margin-top:2px}.fam .fam-switch{flex-wrap:wrap;gap:6px;display:flex}.fam .fam-switch a{border:1px solid var(--line);min-height:40px;font:700 14px/1 var(--fam-body);color:var(--ink-soft);border-radius:999px;align-items:center;padding:0 14px;text-decoration:none;display:inline-flex}.fam .fam-switch a.is-on{border-color:var(--accent);background:color-mix(in oklab, var(--accent) 12%, var(--surface));color:var(--accent-text)}.fam .fam-tabs{display:none}@media (max-width:860px){.fam .fam-tabs{scrollbar-width:none;z-index:5;background:var(--bg,var(--surface));border-bottom:1px solid var(--line);gap:4px;margin:0 -16px;padding:8px 16px;display:flex;position:sticky;top:0;overflow-x:auto}.fam .fam-tabs a{min-height:40px;font:700 13.5px/1 var(--fam-body);color:var(--ink-soft);border-radius:10px;flex:none;align-items:center;padding:0 12px;text-decoration:none;display:inline-flex}.fam .fam-tabs a:hover{background:var(--surface-2);color:var(--ink)}.fam .fam-block{scroll-margin-top:64px}}.fam .fam-cols{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;gap:20px;display:grid}@media (max-width:860px){.fam .fam-cols{grid-template-columns:minmax(0,1fr)}}.fam .fam-col{gap:20px;min-width:0;display:grid}.fam .fam-block{border:1px solid var(--line);background:var(--surface);border-radius:16px;gap:12px;min-width:0;padding:18px;display:grid}.fam .fam-h2{font:900 18px/1.2 var(--fam-display);color:var(--ink);margin:0}.fam .fam-h3{font:800 14px/1.2 var(--fam-display);color:var(--ink);margin:4px 0 0}.fam .fam-hint{font:500 13.5px/1.5 var(--fam-body);color:var(--ink-soft)}.fam .fam-empty-line{font:500 14px/1.5 var(--fam-body);color:var(--ink-soft)}.fam .fam-empty-line a,.fam .fam-hint a,.fam .fam-link{color:var(--accent-text);text-underline-offset:3px;font-weight:700;text-decoration:underline}.fam .fam-link{min-height:44px;font:700 14px/1 var(--fam-body);justify-self:start;align-items:center;display:inline-flex}.fam .fam-glist{margin:0;padding:0;list-style:none;display:grid}.fam .fam-guardian{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;padding:12px 0;display:grid}.fam .fam-guardian+.fam-guardian{border-top:1px solid var(--line)}.fam .fam-gname{font:800 15px/1.3 var(--fam-display);color:var(--ink);overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:6px;display:flex}.fam .fam-tag{background:var(--surface-2);min-height:22px;font:700 12px/1 var(--fam-body);color:var(--ink-soft);border-radius:999px;align-items:center;padding:0 8px;display:inline-flex}.fam .fam-rights{font:600 13px/1.4 var(--fam-body);color:var(--ink-soft)}.fam .fam-toggles{flex-wrap:wrap;gap:4px 16px;margin-top:6px;display:flex}.fam .fam-check{min-height:40px;font:600 13.5px/1.3 var(--fam-body);color:var(--ink);cursor:pointer;align-items:center;gap:8px;display:inline-flex}.fam .fam-check input{width:20px;height:20px;accent-color:var(--accent);margin:0}.fam .fam-guardians{gap:10px;display:grid}.fam .fam-sessions{font:500 14px/1.4 var(--fam-body);color:var(--ink);gap:6px;margin:0;padding:0;list-style:none;display:grid}.fam .fam-sessions .is-off{color:var(--mute);text-decoration:line-through}.fam .fam-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;display:grid}.fam .fam-stats div{background:var(--surface-2);border-radius:12px;padding:10px}.fam .fam-stats dt{font:600 12px/1.2 var(--fam-body);color:var(--ink-soft)}.fam .fam-stats dd{font:900 20px/1 var(--fam-display);color:var(--ink);font-variant-numeric:tabular-nums;margin:4px 0 0}.fam .fam-card{border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:18px}.fam-enter{border:1px solid var(--line);background:var(--surface);border-radius:16px;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:12px 0;padding:12px 14px;display:flex}.fam-enter-label{font:800 12px/1.2 var(--font-archivo), Archivo, sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--mute)}.fam-enter-chips{flex-wrap:wrap;gap:6px;display:flex}.fam-enter-chips button{border:1px solid var(--line);min-height:40px;font:700 14px/1 var(--fam-body,inherit);color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:0 14px;display:inline-flex}.fam-enter-chips button.is-on{border-color:var(--accent);background:color-mix(in oklab, var(--accent) 12%, var(--surface));color:var(--accent-text)}.fam-enter-chips button[disabled]{cursor:progress;opacity:.7}.fam-enter-add{color:var(--accent-text);font-weight:900}.fam-enter-note{color:var(--ink-soft);flex-basis:100%;margin:0;font-size:13px}.fam-enter-create{border-top:1px solid var(--line);flex-basis:100%;gap:8px;padding-top:6px;display:grid}.fam-enter-create p{color:var(--ink-soft);margin:0;font-size:13.5px}.fam-enter-declare{align-items:flex-start;gap:8px;font-size:13.5px;display:flex}.fam-enter-declare input{width:18px;height:18px;margin-top:3px}.fam-enter-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.fam-enter-cancel{min-height:44px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;padding:0 12px;font-weight:700}.fam-enter .fam-cta{border:1.5px solid var(--accent);background:color-mix(in oklab, var(--accent) 12%, var(--surface));min-height:44px;color:var(--accent-text);font:900 14px/1 var(--font-archivo), Archivo, sans-serif;cursor:pointer;border-radius:14px;justify-content:center;align-items:center;padding:0 17px;text-decoration:none;display:inline-flex}.fam-enter .fam-cta[disabled]{opacity:.6;cursor:not-allowed}.fam-enter .fam-err{flex-basis:100%;margin:0}.fam .fam-teen{gap:12px;display:grid}.fam .fam-teen .fam-h3{margin:0}.fam .fam-teen .fam-buttons{flex-wrap:wrap;gap:8px;display:flex}.fam .fam-teen-seen{border-top:1px solid var(--line);gap:8px;padding-top:12px;display:grid}.fam .fam-teen-seen .fam-note{margin:0}
