:root{--bg:#f6f3ef;--surface:#fffefb;--text:#2c2825;--muted:#6b6560;--accent:#c45c4a;--accent-2:#3d7a66;--border:#e3ddd4;--danger:#b33a3a;--radius:12px;--shadow:0 8px 28px #2c282514;--base-font-size:16px;--base-line-height:1.6;font-family:Segoe UI,system-ui,-apple-system,sans-serif}:root[data-size=large]{--base-font-size:19px;--base-line-height:1.78}:root[data-theme=high-contrast]{--bg:#f3f3f1;--surface:#fff;--text:#141311;--muted:#3f3b36;--accent:#9f2e1f;--accent-2:#155840;--border:#8e8680}*,:after,:before{box-sizing:border-box}html{font-size:var(--base-font-size);scroll-padding-top:90px}body{background:var(--bg);color:var(--text);font-size:1rem;line-height:var(--base-line-height);margin:0}a{color:var(--accent-2);text-decoration:none}a:hover{text-decoration:underline}.shell{max-width:920px;margin:0 auto;padding:1.25rem 1rem 3rem}.page-title{margin:0 0 .35rem;font-size:1.65rem;font-weight:650}.page-lead{color:var(--muted);margin:0 0 1.5rem;font-size:.98rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.15rem 1.25rem}.card+.card{margin-top:1rem}.grid-2{gap:1rem;display:grid}@media (width>=720px){.grid-2{grid-template-columns:1fr 1fr}}.field{flex-direction:column;gap:.35rem;margin-bottom:.85rem;display:flex}.field span{color:var(--muted);font-size:.88rem}.field input,.field select,.field textarea{border:1px solid var(--border);min-height:44px;font:inherit;color:var(--text);background:#fff;border-radius:8px;padding:.62rem .72rem}.field textarea{resize:vertical;min-height:6.5rem}.row-inline{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.btn{min-height:44px;font:inherit;cursor:pointer;border:none;border-radius:9px;justify-content:center;align-items:center;gap:.35rem;padding:.55rem .95rem;font-weight:600;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-secondary{color:var(--text);background:#eae6df}.btn-ghost{color:var(--muted);background:0 0}.btn-danger{background:var(--danger);color:#fff}.muted{color:var(--muted)}.error,.muted{font-size:.9rem}.error{color:var(--danger);margin:.25rem 0 0}.list{margin:0;padding:0;list-style:none}.list-item{border-top:1px solid var(--border);padding:.85rem 0}.list-item:first-child{border-top:none;padding-top:.25rem}.list-actions{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.tag-pill{color:var(--accent-2);background:#e8f2ed;border-radius:999px;padding:.2rem .5rem;font-size:.78rem;display:inline-block}.mono-date{font-variant-numeric:tabular-nums}@media (width<=640px){.row-inline{flex-direction:column;align-items:stretch;gap:.6rem}.row-inline>.field{margin-bottom:0;width:100%!important;min-width:0!important}.row-inline>.btn{width:100%}.list-actions{gap:.6rem}.list-actions .btn{flex:1}}:focus-visible{outline:3px solid var(--accent-2);outline-offset:3px}button,input,select,textarea{font:inherit}input:disabled,select:disabled,textarea:disabled{opacity:.6;cursor:not-allowed}.btn-outline{border:1px solid var(--border);color:var(--text);background:0 0}.btn-sm{min-height:44px;padding:.5rem .8rem;font-size:.9rem}.form-group{margin-bottom:1rem}.form-group>label{margin-bottom:.4rem;font-weight:500;display:block}.form-group input:not([type=checkbox]),.form-group select,.form-group textarea{border:1px solid var(--border);background:var(--surface);width:100%;min-height:44px;color:var(--text);font:inherit;border-radius:8px;padding:.65rem .75rem}.form-actions{flex-wrap:wrap;justify-content:flex-end;gap:.65rem;margin-top:1.25rem;display:flex}.form-disclosure>summary{cursor:pointer;color:var(--text);min-height:32px;font-weight:650}.card+.card,.form-disclosure+.card,.form-disclosure>form{margin-top:1rem}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.success{color:var(--accent-2)}[id^=record-]:target{outline:3px solid var(--accent-2);outline-offset:5px;border-radius:8px}:root[data-theme=high-contrast] .card{box-shadow:none}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (width<=480px){.shell{padding-left:.85rem;padding-right:.85rem}.card{padding:1rem}.page-title{font-size:1.45rem}}:root[data-theme=high-contrast] :is(.member-username,.member-birthdate,.member-relation,.readonly-tip,.anniversary-description,.anniversary-type,.month,.field-hint){color:var(--muted)!important}
