@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/9a8ab2e4d444e231-s.22-vvcrakukp_.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/315a5857c5982773-s.2231v6bqe0i5w.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/d7f70ffb4230c570-s.3qloo4qyhp26g.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/c61b8f0e3b227b29-s.2nm8vsxf84ypi.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/7972ad5647803fd9-s.2xh5j9ig7blp7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/f8ce1f1dfe1de081-s.3ohuq16_8-qtv.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/6873f4f49904bdbd-s.p.3__uj2j3k64hq.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3 Fallback";src:local(Arial);ascent-override:109.21%;descent-override:42.66%;line-gap-override:0.0%;size-adjust:93.76%}.VY7SMW_className{font-family:"Source Sans 3","Source Sans 3 Fallback";font-style:normal}.VY7SMW_variable{--font-sans:"Source Sans 3", "Source Sans 3 Fallback"}
@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/6481e8356700f25f-s.2_7u3qf8hb00l.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/3a41be36334ec777-s.3qp6y754qyij-.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/6aca2b2dd1e73eb2-s.437wgy8nypf_z.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/f0ca9ca26c218c3f-s.36f255hs6fere.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/53184f85607312d4-s.3ffd3kh1ay1yu.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(../media/7c42b85337e0c4bb-s.p.0xq4un9mlaiqb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4 Fallback";src:local(Times New Roman);ascent-override:87.87%;descent-override:28.41%;line-gap-override:0.0%;size-adjust:117.91%}.Xim_ya_className{font-family:"Source Serif 4","Source Serif 4 Fallback";font-style:normal}.Xim_ya_variable{--font-serif:"Source Serif 4", "Source Serif 4 Fallback"}
:root{--paper:#f3f1ea;--paper-raised:#faf9f4;--ink:#1c2e28;--muted:#3e534a;--line:#d5d6cc;--line-strong:#bcc0b4;--brand:#3d5a48;--brand-soft:#e3ebe4;--ok-bg:#e5f0e4;--ok-ink:#1d4a32;--warn-bg:#f6edd9;--warn-ink:#6a4a12;--bad:#7a2a22;--bad-bg:#f8e8e4;--radius:3px;--radius-surface:0px;--shadow:none;--space-1:8px;--space-2:12px;--space-3:16px;--space-4:24px;--space-5:32px;--font-body:var(--font-sans), "Source Sans 3", "Segoe UI", sans-serif;--font-heading:var(--font-serif), "Source Serif 4", Georgia, serif;--bg:var(--paper);--panel:var(--paper-raised);--brand-dark:var(--brand)}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);margin:0;font-size:16px;line-height:1.5}button,input,select,textarea{font:inherit}button{border:1px solid var(--brand);border-radius:var(--radius);background:var(--brand);color:#fff;cursor:pointer;min-height:44px;padding:10px 14px;font-weight:600}button.secondary{background:var(--paper-raised);color:var(--brand);border-color:var(--line-strong)}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--brand);outline-offset:2px}input,select,textarea{border:1px solid var(--line-strong);border-radius:var(--radius);width:100%;color:var(--ink);background:#fff;padding:10px 12px}textarea{resize:vertical;min-height:120px}h1,h2,h3,h4{font-family:var(--font-heading);letter-spacing:-.02em;font-weight:600;line-height:1.2}h1{margin:0 0 6px;font-size:2rem}h2{margin:0 0 12px;font-size:1.35rem}h3{margin:0;font-size:1.15rem}.app{max-width:1440px;padding:var(--space-4);margin:0 auto}.topbar{justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-5);align-items:flex-start;display:flex}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--brand);font-family:var(--font-body);margin:0 0 8px;font-size:12px;font-weight:600}.muted{color:var(--muted)}.tiny{color:var(--muted);font-size:13px;line-height:1.45}.grid{gap:var(--space-3);display:grid}.stats{margin-bottom:var(--space-4);grid-template-columns:repeat(6,minmax(0,1fr))}.stat,.panel,.person{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-surface);box-shadow:var(--shadow)}.stat{padding:var(--space-3)}.stat strong{font-family:var(--font-heading);font-size:1.6rem;font-weight:600;display:block}.layout{gap:var(--space-4);grid-template-columns:1fr 420px;display:grid}.panel{padding:var(--space-4)}.filters{gap:var(--space-2);margin-bottom:var(--space-3);grid-template-columns:1.5fr 1fr 1fr auto;align-items:end;display:grid}.filters.three-filters{grid-template-columns:1.5fr 1fr 1fr}.person-list{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));max-height:70vh;padding-right:6px;display:grid;overflow:auto}.person{padding:var(--space-3)}.person-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.person-photo{object-fit:cover;border-radius:var(--radius-surface);border:1px solid var(--line);background:#fff;flex:none;width:64px;height:64px}.tags{flex-wrap:wrap;gap:6px;margin:12px 0;display:flex}.tag{border-radius:var(--radius);background:var(--brand-soft);color:var(--brand);padding:3px 8px;font-size:12px;font-weight:600}.tag.review{background:var(--warn-bg);color:var(--warn-ink)}.tag.ok{background:var(--ok-bg);color:var(--ok-ink)}.contact{gap:6px;font-size:14px;display:grid}.edit-button{width:100%;margin-top:12px}.message-box{position:sticky;top:16px}.stack{gap:var(--space-3);display:grid}.two{grid-template-columns:1fr 1fr;gap:10px;display:grid}.alert,.success,.danger{border-radius:var(--radius);border:1px solid var(--line-strong);padding:12px 14px}.alert{background:var(--warn-bg);color:var(--warn-ink)}.success{background:var(--ok-bg);color:var(--ok-ink)}.danger{background:var(--bad-bg);color:var(--bad)}.login-page{min-height:100vh;padding:var(--space-4);place-items:center;display:grid}.login-card{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-surface);width:min(460px,100%);padding:var(--space-5) var(--space-4);box-shadow:var(--shadow)}label{gap:6px;font-weight:600;display:grid}.checkbox{align-items:center;gap:8px;font-weight:600;display:flex}.checkbox input{width:auto}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.recipient-count{color:var(--brand);font-weight:650}.note{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:12px;font-size:14px}.footer{margin-top:var(--space-4);color:var(--muted);font-size:13px}.preview-list{border:1px solid var(--line);border-radius:var(--radius);background:#fff;gap:6px;max-height:180px;padding:12px;font-size:13px;display:grid;overflow:auto}.preview-list span{border-bottom:1px solid var(--line);padding-bottom:6px}.mac-bridge-card,.attachment-box{border:1px solid var(--line);border-radius:var(--radius);background:#fff;gap:8px;padding:12px;display:grid}.mac-bridge-card code{white-space:normal;word-break:break-word;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);color:var(--brand);padding:7px;font-size:12px}.attachment-list{gap:6px;font-size:13px;display:grid}.attachment-list span{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:7px 9px}.email-formatting-toolbar{flex-wrap:wrap;align-items:center;gap:6px;margin-top:2px;display:flex}.format-button{border:1px solid var(--line);min-width:36px;padding:6px 10px}.format-bold{font-weight:700}.format-italic{font-style:italic}.format-underline{text-decoration:underline}.danger-button{background:var(--bad);border-color:var(--bad)}.composer-modal{width:min(1200px,100%)}.composer-grid{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:18px;margin-top:14px;display:grid}.composer-textarea{min-height:480px;line-height:1.55}.email-preview{border:1px solid var(--line);border-radius:var(--radius-surface);background:#fff;min-height:480px;padding:24px;line-height:1.5;overflow:auto}.email-preview h3{margin:4px 0 18px;font-size:1.4rem}.email-preview .eyebrow{display:block}.modal-backdrop{z-index:50;background:#241c1666;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal-card{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-surface);width:min(860px,100%);max-height:90vh;padding:22px;overflow:auto}.edit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.modal-actions{margin-top:14px}.text-link{color:var(--brand);font-weight:600}.directory-app{max-width:640px;padding:28px 20px calc(48px + env(safe-area-inset-bottom));gap:20px;margin:0 auto;display:grid}.directory-wide{max-width:1120px}.directory-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.directory-nav{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.directory-search{z-index:2;background:var(--paper);padding:8px 0 12px;position:sticky;top:0}.directory-app input,.directory-app select,.directory-app textarea{font-size:16px}.directory-count{margin:0}.household-list{gap:20px;display:grid}.household-grid{grid-template-columns:1fr;gap:16px;display:grid}.household-tile{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-surface);color:inherit;align-content:start;min-width:0;text-decoration:none;display:grid;position:relative;overflow:hidden}.household-tile-body{gap:8px;padding:16px 18px 20px;display:grid}.household-tile h2{margin:0;font-size:1.65rem}.tile-names{gap:2px;margin:0;padding:0;list-style:none;display:grid}.tile-kids{color:var(--muted);margin:2px 0 0;font-size:14px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.household-card{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-surface);box-shadow:var(--shadow);gap:16px;padding:0 0 20px;display:grid;overflow:hidden}.household-detail{gap:16px;display:grid}.household-detail h1{margin-bottom:0}.detail-frame .family-photo{aspect-ratio:auto;object-fit:contain;background:var(--brand-soft);width:100%;max-height:70vh}.detail-frame .family-initials{aspect-ratio:16/10;font-size:64px}.household-body,.photo-card{gap:12px;padding:0 20px;display:grid}.photo-card{padding:20px}.family-photo,.family-initials{aspect-ratio:16/10;border-radius:var(--radius-surface);width:100%;display:block}.family-photo{object-fit:cover;background:var(--brand-soft)}.household-tile .family-photo,.household-tile .family-initials{aspect-ratio:16/10}.household-tile .family-initials{font-size:72px}.family-initials{background:var(--brand-soft);color:var(--brand);font-family:var(--font-heading);letter-spacing:.04em;place-items:center;font-size:48px;font-weight:600;display:grid}.family-thumb{object-fit:cover;border-radius:var(--radius-surface);background:var(--brand-soft);border:1px solid var(--line);width:72px;height:72px}.family-thumb-empty{border:1px solid var(--line)}.install-hint{background:var(--paper-raised);border:1px solid var(--line);border-radius:var(--radius-surface);gap:8px;padding:16px;display:grid}.install-hint p{margin:0}.month-current{border-color:var(--brand)}.print-sheet{background:var(--paper);max-width:800px;color:var(--ink);margin:0 auto;padding:32px 24px}.print-card{break-inside:avoid;border-top:1px solid var(--line);padding:18px 0}.print-card img{object-fit:cover;border-radius:var(--radius-surface);width:220px;height:140px}.large-print{font-size:20px}.large-print h1{font-size:2.25rem}.large-print h2{font-size:1.75rem}.member-block{gap:6px;padding-top:4px;display:grid}.member-detail{margin:0;font-size:16px;line-height:1.45}.tap-row{gap:8px;display:flex}.tap-row a{border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--paper-raised);min-height:44px;color:var(--brand);flex:1;justify-content:center;align-items:center;padding:10px 8px;font-weight:600;text-decoration:none;display:inline-flex}.choice-list{gap:8px;display:grid}.choice{border:1px solid var(--line);border-radius:var(--radius);background:#fff;align-items:center;gap:12px;min-height:44px;padding:10px 12px;font-weight:600;display:flex}.choice input{width:18px;height:18px;margin:0}.member-fields{border:1px solid var(--line);border-radius:var(--radius);gap:12px;padding:12px;display:grid}.member-fields legend{font-family:var(--font-heading);padding:0 6px;font-weight:600}.hp{height:0;position:absolute;left:-10000px;overflow:hidden}.directory-admin{gap:16px;margin-bottom:20px;display:grid}.directory-admin .person-head{align-items:flex-start}.request-card,.privacy-row{border:1px solid var(--line);border-radius:var(--radius);background:#fff;gap:8px;padding:12px;display:grid}.privacy-list{gap:8px;margin-top:10px;display:grid}.privacy-row{grid-template-columns:auto 1fr auto;align-items:center}@media (max-width:1100px){.layout{grid-template-columns:1fr}.message-box{position:static}.stats{grid-template-columns:repeat(2,1fr)}.person-list{grid-template-columns:1fr;max-height:none}.filters,.filters.three-filters,.composer-grid,.edit-grid{grid-template-columns:1fr}.composer-textarea,.email-preview{min-height:300px}}@media (min-width:1024px) and (orientation:landscape){.household-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.household-tile .family-photo,.household-tile .family-initials{aspect-ratio:4/3}.household-tile .family-initials{font-size:40px}.household-tile h2{font-size:1.25rem}.household-tile-body{padding:12px 14px 16px}}@media (min-width:1280px) and (orientation:landscape){.household-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:640px){.app{padding:20px 16px}.directory-header,.directory-admin .person-head{flex-direction:column}.privacy-row{grid-template-columns:auto 1fr}}@media print{.directory-nav,.install-hint,.toolbar{display:none}}.preview-banner{padding:var(--space-1) var(--space-3);background:var(--warn-bg);color:var(--warn-ink);border-bottom:1px solid var(--line-strong);text-align:center;margin:0;font-weight:600}.household-tile-body h2,.tile-names,.household-detail h1,.member-block h2,.member-detail,.login-card h1{overflow-wrap:anywhere}fieldset.choice-list{border:0;min-width:0;margin:0;padding:0}fieldset.choice-list legend{margin-bottom:4px;padding:0;font-weight:700}
