:root[data-a11y-textscale="125"]{--font-size-base: 18.75px;--font-size-lg: 23.75px;--font-size-xl: 27.5px}:root[data-a11y-textscale="150"]{--font-size-base: 22.5px;--font-size-lg: 28.5px;--font-size-xl: 33px}:root[data-a11y-textscale="175"]{--font-size-base: 26.25px;--font-size-lg: 33.25px;--font-size-xl: 38.5px}:root[data-a11y-textscale="200"]{--font-size-base: 30px;--font-size-lg: 38px;--font-size-xl: 44px}:root[data-a11y-spacing="130"]{--line-height-base: 1.8;--letter-spacing-base: .02em}:root[data-a11y-spacing="160"]{--line-height-base: 2.1;--letter-spacing-base: .04em}:root[data-a11y-contrast=high]{--color-ink: #000000;--color-ink-heading: #000000;--color-ink-section: #000000;--color-ink-warm-title: #000000;--color-ink-tab: #000000;--color-ink-name: #000000;--color-ink-muted: #1a1a1a;--color-ink-faint: #1a1a1a;--color-ink-placeholder: #333333;--color-surface-base: #ffffff;--color-surface-card: #ffffff;--color-surface-avatar: #ffffff;--color-primary: #063a91;--color-primary-deep: #04266b;--color-primary-soft: #e6edfb;--color-on-primary: #ffffff;--color-border-field: #000000;--color-border-option: #000000;--color-divider: #000000;--color-line: #000000;--color-error-ink: #7a0000}@media(prefers-color-scheme:dark){:root[data-a11y-contrast=high]:not([data-theme=light]){--color-ink: #ffffff;--color-ink-heading: #ffffff;--color-ink-section: #ffffff;--color-ink-warm-title: #ffffff;--color-ink-tab: #ffffff;--color-ink-name: #ffffff;--color-ink-muted: #e6e6e6;--color-ink-faint: #e6e6e6;--color-ink-placeholder: #cccccc;--color-surface-base: #000000;--color-surface-card: #000000;--color-surface-avatar: #000000;--color-primary: #7fd0ff;--color-primary-deep: #a6e2ff;--color-primary-soft: #06222e;--color-on-primary: #001018;--color-border-field: #ffffff;--color-border-option: #ffffff;--color-divider: #ffffff;--color-line: #ffffff;--color-error-ink: #ff8a8a}}:root[data-theme=dark][data-a11y-contrast=high]{--color-ink: #ffffff;--color-ink-heading: #ffffff;--color-ink-section: #ffffff;--color-ink-warm-title: #ffffff;--color-ink-tab: #ffffff;--color-ink-name: #ffffff;--color-ink-muted: #e6e6e6;--color-ink-faint: #e6e6e6;--color-ink-placeholder: #cccccc;--color-surface-base: #000000;--color-surface-card: #000000;--color-surface-avatar: #000000;--color-primary: #7fd0ff;--color-primary-deep: #a6e2ff;--color-primary-soft: #06222e;--color-on-primary: #001018;--color-border-field: #ffffff;--color-border-option: #ffffff;--color-divider: #ffffff;--color-line: #ffffff;--color-error-ink: #ff8a8a}html[data-a11y-motion=reduce] *,html[data-a11y-motion=reduce] *:before,html[data-a11y-motion=reduce] *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}html[data-a11y-cursor=big],html[data-a11y-cursor=big] *{cursor:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 24 24"><path d="M3 2 L3 20 L8 16 L11 22 L14 20.5 L11 14.5 L18 14.5 Z" fill="black" stroke="white" stroke-width="1.2" stroke-linejoin="round"/></svg>') 2 2,auto!important}.a11y-fab{position:fixed;inset-block-end:var(--space-5);inset-inline-start:var(--space-5);z-index:40;width:56px;height:56px;min-width:56px;min-height:56px;border-radius:var(--radius-pill);border:none;background:var(--color-primary);color:var(--color-on-primary);box-shadow:var(--shadow-card);display:flex;align-items:center;justify-content:center;cursor:pointer}.a11y-fab svg{width:28px;height:28px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.a11y-fab:focus-visible{outline:3px solid var(--color-primary-deep);outline-offset:3px}@media(max-width:820px){.a11y-fab{inset-block-end:calc(56px + var(--space-2) * 2 + var(--space-5) + env(safe-area-inset-bottom))}}.a11y-panel-backdrop{position:fixed;inset:0;background:#00000040;z-index:41}.a11y-panel{position:fixed;inset-block-end:calc(56px + var(--space-5) * 2);inset-inline-start:var(--space-5);z-index:42;width:min(320px,calc(100vw - var(--space-5) * 2));max-height:calc(100vh - 56px - var(--space-5) * 3);overflow-y:auto;background:var(--color-surface-card);border:1px solid var(--color-line);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}@media(max-width:820px){.a11y-panel{inset-block-end:calc(56px + var(--space-2) * 2 + var(--space-5) * 2 + env(safe-area-inset-bottom))}}.a11y-panel-title{margin:0;font-size:var(--font-size-lg);color:var(--color-ink-heading)}.a11y-panel-close{align-self:flex-end;min-width:56px;min-height:56px;border-radius:var(--radius-pill);border:1px solid var(--color-border-field);background:var(--color-surface-base);color:var(--color-ink);cursor:pointer;font-size:var(--font-size-base)}.a11y-panel-close:focus-visible,.a11y-control-btn:focus-visible,.a11y-panel-reset:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.a11y-control{display:flex;flex-direction:column;gap:var(--space-2)}.a11y-control-label{font-weight:600;color:var(--color-ink-section)}.a11y-control-row{display:flex;align-items:center;gap:var(--space-2)}.a11y-control-btn{min-width:56px;min-height:56px;border-radius:var(--radius-card);border:1px solid var(--color-border-field);background:var(--color-surface-base);color:var(--color-ink);font-size:var(--font-size-base);font-weight:700;cursor:pointer}.a11y-control-value{min-width:3.5em;text-align:center;color:var(--color-ink-muted)}.a11y-switch{min-height:56px;border-radius:var(--radius-card);border:1px solid var(--color-border-field);background:var(--color-surface-base);color:var(--color-ink);font-size:var(--font-size-base);padding-inline:var(--space-4);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);cursor:pointer;width:100%}.a11y-switch[aria-checked=true]{border-color:var(--color-primary);color:var(--color-primary-deep)}.a11y-panel-reset{min-height:56px;border-radius:var(--radius-card);border:1px solid var(--color-border-field);background:var(--color-surface-base);color:var(--color-error-ink);font-size:var(--font-size-base);font-weight:700;cursor:pointer}.board-feed{display:flex;flex-direction:column;gap:var(--space-5)}.board-write-box{display:flex;flex-direction:column;gap:var(--space-3)}.board-write-box-label{margin:0;font-size:var(--font-size-caption);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink-muted)}.board-composer{display:flex;flex-direction:column;gap:var(--space-3)}.board-card{background:var(--color-surface-card);border:1px solid var(--color-line);border-radius:var(--radius-card-lg);padding:var(--space-5);box-shadow:var(--shadow-card)}.board-composer-top{display:flex;align-items:center;gap:var(--space-3)}.board-composer-input{flex:1;min-width:0;box-sizing:border-box;min-height:var(--target-min);line-height:1.5;padding:calc((var(--target-min) - 4px - 1.5em) / 2) var(--space-4);border-radius:var(--radius-pill);border:1px solid transparent;background:var(--color-surface-base);color:var(--color-ink);font-family:inherit;resize:none}.board-composer-input::placeholder{color:var(--color-ink-placeholder)}.board-composer-input:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.board-composer-input:hover{background:color-mix(in srgb,var(--color-surface-base),var(--color-ink) 6%)}.board-composer-send{flex-shrink:0;display:inline-flex;align-items:center;gap:var(--space-2)}.board-composer-send svg{width:var(--icon-md);height:var(--icon-md);stroke:currentColor;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.board-composer-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);border-block-start:1px solid var(--color-border-option);padding-block-start:var(--space-2)}.board-composer-actions{display:flex;align-items:center;gap:var(--space-1)}.board-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.board-avatar{width:44px;height:44px;font-size:var(--font-size-base)}.board-wish-section{display:flex;flex-direction:column;gap:var(--space-3)}.board-wish-row{display:flex;align-items:center;gap:var(--space-3)}.board-wish-name{margin:0;font-weight:700}.board-wish-sent{margin-inline-start:auto;color:var(--color-ink-muted);font-weight:600;white-space:nowrap}.board-wish-btn{margin-inline-start:auto;flex-shrink:0;white-space:nowrap}.board-stream-card{list-style:none;margin:0;padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2)}.board-day-divider{display:flex;align-items:center;justify-content:center;margin-block-start:var(--space-4);margin-block-end:var(--space-1);font-size:var(--font-size-caption);font-weight:700;color:var(--color-ink-muted)}.board-day-divider:first-child{margin-block-start:0}.board-message-row{display:flex;flex-direction:column;gap:var(--space-2)}.board-message-row.board-message-row-group-start{margin-block-start:var(--space-4)}.board-message-row.board-message-row-group-start:first-child,.board-day-divider+.board-message-row.board-message-row-group-start{margin-block-start:0}.board-message-header{display:flex;align-items:center;gap:var(--space-3)}.board-message-avatar-spacer{display:block;width:44px;flex-shrink:0}.board-post-avatar-link{display:inline-flex;border-radius:50%}.board-post-avatar-link:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.board-message-header-body{min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.board-post-name{margin:0;font-weight:700;color:var(--color-ink-name)}.board-post-name-link{color:inherit;text-decoration:none;border-radius:var(--radius-card)}.board-post-name-link:hover{text-decoration:underline}.board-post-name-link:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.board-post-name-action,.board-post-date,.board-post-time{margin:0;font-size:var(--font-size-caption);color:var(--color-ink-muted)}.board-post-menu-wrap{position:relative;margin-inline-start:auto;flex-shrink:0}.board-post-menu-btn{min-width:var(--target-min);min-height:var(--target-min);border-radius:50%;border:none;background:none;color:var(--color-ink-section);font-size:var(--font-size-lg);font-weight:700;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.board-post-menu-btn:hover{background:var(--color-surface-base)}.board-post-menu-btn:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.board-post-menu{position:absolute;inset-block-start:calc(100% + var(--space-2));inset-inline-start:0;display:flex;flex-direction:column;gap:2px;min-width:160px;background:var(--color-surface-card);border:1px solid var(--color-line);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:var(--space-2);z-index:10}.board-post-menu-item{display:flex;align-items:center;width:100%;min-height:var(--target-min);padding-inline:var(--space-3);border:none;border-radius:var(--radius-card);background:none;color:var(--color-ink);font-weight:600;text-align:start;cursor:pointer}.board-post-menu-item:hover{background:var(--color-surface-base)}.board-post-menu-item:focus-visible{outline:3px solid var(--color-primary);outline-offset:-2px}.board-post-body{margin:0;color:var(--color-ink);white-space:pre-wrap}.board-post-photo{display:block;width:100%;max-width:100%;max-height:420px;object-fit:cover;border-radius:var(--radius-card);margin-block-start:var(--space-2)}.board-message-wish-block{border-radius:var(--radius-card);background:var(--color-primary-soft);padding:var(--space-3) var(--space-4)}.board-message-wish-block .board-post-body{color:var(--color-primary);font-weight:600}.board-post-edit{display:flex;flex-direction:column;gap:var(--space-3)}.board-post-edit-actions{display:flex;gap:var(--space-3)}.board-post-actions{display:flex;align-items:center;gap:var(--space-1);margin-block-start:var(--space-1)}.board-like-btn{display:inline-flex;align-items:center;gap:var(--space-1);min-height:var(--target-min);padding-inline:var(--space-2);border-radius:var(--radius-card);border:none;background:none;color:var(--color-ink-muted);font-weight:600;font-size:var(--font-size-caption);cursor:pointer}.board-like-btn:hover:not(:disabled){background:var(--color-surface-base)}.board-like-btn:disabled{opacity:.6;cursor:not-allowed}.board-like-btn:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.board-like-btn[aria-pressed=true]{color:var(--color-ring-rose)}.board-comments-toggle{display:inline-flex;align-items:center;gap:var(--space-1);min-height:var(--target-min);padding-inline:var(--space-2);border-radius:var(--radius-card);border:none;background:none;color:var(--color-ink-muted);font-weight:600;font-size:var(--font-size-caption);cursor:pointer}.board-comments-toggle:hover{background:var(--color-surface-base)}.board-comments-toggle:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.board-comments{display:flex;flex-direction:column;gap:var(--space-4);margin-block-start:var(--space-4);padding-block-start:var(--space-4);border-top:1px solid var(--color-divider)}.board-comment-composer{display:flex;align-items:center;gap:var(--space-3)}.board-comment-composer textarea,.board-comment-reply-composer textarea{flex:1;min-width:0;min-height:var(--target-min);padding:var(--space-2) var(--space-3);border-radius:var(--radius-card);border:2px solid var(--color-border-field);background:var(--color-surface-base);color:var(--color-ink);font-family:inherit;resize:none}.board-comment-composer textarea:focus-visible,.board-comment-reply-composer textarea:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.board-comment-list,.board-comment-children{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.board-comment-children{margin-block-start:var(--space-3)}.board-comment{display:flex;flex-direction:column;gap:var(--space-2);margin-inline-start:calc(var(--comment-indent, 0) * var(--space-4))}@media(max-width:820px){.board-comment{margin-inline-start:calc(var(--comment-indent, 0) * var(--space-2))}}.board-comment-head{display:flex;align-items:center;gap:var(--space-2)}.board-comment-avatar{width:32px;height:32px;font-size:var(--font-size-base)}.board-comment-avatar-link{display:inline-flex;border-radius:50%}.board-comment-avatar-link:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.board-comment-head-body{min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.board-comment-name{margin:0;font-weight:700;color:var(--color-ink-name)}.board-comment-name-link{color:inherit;text-decoration:none;border-radius:var(--radius-card)}.board-comment-name-link:hover{text-decoration:underline}.board-comment-name-link:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.board-comment-time{margin:0;font-size:var(--font-size-caption);color:var(--color-ink-muted)}.board-comment-body{margin:0;color:var(--color-ink);white-space:pre-wrap}.board-comment-actions{display:flex;align-items:center;gap:var(--space-3)}.board-comment-reply-composer{display:flex;align-items:center;gap:var(--space-3);margin-inline-start:var(--space-4)}.board-confirm-row{display:flex;align-items:center;gap:var(--space-3)}.board-composer-action{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--target-min);padding:var(--space-2) var(--space-3);border:none;background:transparent;border-radius:var(--radius-card);color:var(--color-ink-section);text-decoration:none;cursor:pointer;font:inherit}.board-composer-action svg{width:var(--icon-md);height:var(--icon-md);stroke:currentColor;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.board-composer-action:hover,.board-composer-action:focus-visible{background:var(--color-surface-base);color:var(--color-ink)}.board-composer-action[aria-pressed=true]{background:var(--color-primary-soft);color:var(--color-primary)}.board-composer-action:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.board-composer-photo-preview{display:flex;align-items:center;gap:var(--space-3);border-radius:var(--radius-card);background:var(--color-surface-base);padding:var(--space-2) var(--space-3)}.board-composer-photo-thumb{width:56px;height:56px;border-radius:var(--radius-card);object-fit:cover;flex-shrink:0}.board-composer-photo-status{flex:1;min-width:0}.board-composer-photo-uploading{color:var(--color-ink-muted)}.board-composer-photo-remove{flex-shrink:0;min-height:var(--target-min);min-width:var(--target-min);border-radius:var(--radius-pill);border:none;background:transparent;color:var(--color-ink-section);font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.board-composer-photo-remove:hover,.board-composer-photo-remove:focus-visible{background:var(--color-surface-card);color:var(--color-ink)}.board-composer-photo-remove:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.board-composer-survey-options{display:flex;flex-direction:column;gap:var(--space-3);margin-inline-start:calc(44px + var(--space-3))}.board-composer-survey-option-row{display:flex;align-items:center;gap:var(--space-2)}.board-composer-survey-option-input{flex:1;min-width:0;box-sizing:border-box;min-height:var(--target-min);padding-inline:var(--space-4);border-radius:var(--radius-card);border:2px solid var(--color-border-field);background:var(--color-surface-base);color:var(--color-ink);font-family:inherit}.board-composer-survey-option-input::placeholder{color:var(--color-ink-placeholder)}.board-composer-survey-option-input:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.board-composer-survey-remove-btn{flex-shrink:0;min-width:var(--target-min);min-height:var(--target-min);border-radius:50%;border:none;background:none;color:var(--color-ink-section);font-size:var(--font-size-base);font-weight:700;cursor:pointer}.board-composer-survey-remove-btn:hover{background:var(--color-surface-base)}.board-composer-survey-remove-btn:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.board-composer-survey-add-btn{align-self:flex-start;min-height:var(--target-min);padding-inline:var(--space-4);border-radius:var(--radius-pill);border:2px dashed var(--color-border-field);background:none;color:var(--color-ink-section);font-weight:600;cursor:pointer}.board-composer-survey-add-btn:disabled{opacity:.5;cursor:not-allowed}.board-composer-survey-add-btn:hover:not(:disabled){border-color:var(--color-primary)}.board-composer-survey-add-btn:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.board-composer-survey-submit{align-self:flex-start}@media(max-width:560px){.board-composer-survey-options{margin-inline-start:0}}.board-survey{border:none;margin:0;padding:0;margin-block-start:var(--space-3)}.board-survey-options{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.board-survey-option{position:relative;display:flex;flex-direction:column;gap:var(--space-2);width:100%;box-sizing:border-box;min-height:56px;padding:var(--space-3) var(--space-4);border:2px solid var(--color-border-option);border-radius:var(--radius-card);background:var(--color-surface-card);color:var(--color-ink);font-size:var(--font-size-lg);font-weight:600;cursor:pointer}.board-survey-option input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.board-survey-option:has(input:focus-visible){outline:3px solid var(--color-primary);outline-offset:2px}.board-survey-option:has(input:disabled){cursor:not-allowed;opacity:.85}.board-survey-option:hover{border-color:var(--color-primary)}.board-survey-option-selected{border-color:var(--color-primary);border-width:3px;background:var(--color-primary-soft);color:var(--color-primary)}.board-survey-option-leader:not(.board-survey-option-selected){border-color:var(--color-primary-deep)}.board-survey-option-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.board-survey-option-text{overflow-wrap:anywhere}.board-survey-option-stats{flex-shrink:0;font-size:var(--font-size-base);font-weight:700;white-space:nowrap}.board-survey-option-bar{display:block;width:100%;height:10px;border-radius:var(--radius-pill);background:var(--color-surface-base);overflow:hidden}.board-survey-option-bar-fill{display:block;height:100%;background:var(--color-primary);border-radius:inherit}.board-survey-total-voters{margin:var(--space-1) 0 0;font-size:var(--font-size-base);color:var(--color-ink-muted)}.home-quests-link{display:inline-flex;align-items:center;min-height:56px;margin-block-end:var(--space-4);font-size:var(--font-size-lg)}.directory-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.directory-status{font-size:var(--font-size-caption);color:var(--color-ink-muted)}.directory-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-4)}.directory-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);text-align:center;padding:var(--space-5) var(--space-4)}.directory-card-link{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);width:100%;color:inherit;text-decoration:none;border-radius:var(--radius-card)}.directory-card-link:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.directory-name{color:var(--color-ink-name);font-weight:700}.directory-city{font-size:var(--font-size-caption);color:var(--color-ink-muted)}.directory-call{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--target-min);padding-inline:var(--space-5);margin-block-start:var(--space-2);border-radius:var(--radius-pill);background:var(--color-call);color:var(--color-on-call);font-weight:700;text-decoration:none}.directory-call svg{width:var(--icon-md);height:var(--icon-md);stroke:currentColor;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round}.directory-call:hover{opacity:.9}.directory-call:focus-visible{outline:3px solid var(--color-ink-heading);outline-offset:2px}.modal-backdrop{position:fixed;inset:0;z-index:50;background:#0006}.modal-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:51;width:min(480px,calc(100vw - var(--space-5) * 2));max-height:calc(100vh - var(--space-5) * 4);overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-4);background:var(--color-surface-card);border:1px solid var(--color-line);border-radius:var(--radius-card);padding:var(--space-5);box-shadow:var(--shadow-elevated, 0 8px 32px rgba(0, 0, 0, .18))}.modal-header{position:relative;display:flex;align-items:center;justify-content:center;min-height:44px}.modal-title{margin:0;text-align:center;font-size:var(--font-size-lg)}.modal-close-btn{position:absolute;inset-inline-end:0;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;background:none;border:none;border-radius:var(--radius-card);cursor:pointer;font-size:var(--font-size-lg);line-height:1;color:var(--color-ink)}.modal-close-btn:hover{background:var(--color-surface-base)}.modal-close-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.calendar-availability-link{display:inline-flex;align-items:center;min-height:56px;margin-block-end:var(--space-4);font-size:var(--font-size-lg)}.calendar-grid-section{margin-block-end:var(--space-6)}.calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-block-end:var(--space-4)}.calendar-nav-btn{min-width:var(--target-min);min-height:var(--target-min);border:none;border-radius:50%;background:var(--color-surface-base);color:var(--color-ink-section);font-size:var(--font-size-lg);font-weight:700;cursor:pointer}.calendar-nav-btn:hover{background:var(--color-surface-avatar)}.calendar-nav-btn:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.calendar-month-label{flex:1;margin:0;text-align:center;color:var(--color-ink-heading);font-weight:700;font-size:var(--font-size-lg)}.calendar-weekday-row,.calendar-day-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-1)}.calendar-weekday{text-align:center;font-size:12px;color:var(--color-ink-muted);font-weight:600;padding-block:var(--space-2)}.calendar-day-cell{border-radius:var(--radius-card);background:transparent}.calendar-day-cell-narrow{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;inline-size:100%;block-size:var(--target-min);border:none;color:inherit;font:inherit;padding:0;cursor:pointer}.calendar-day-cell-narrow:hover{background:var(--color-surface-base)}.calendar-day-cell-narrow:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.calendar-day-cell-wide{display:flex;flex-direction:column;align-items:stretch;gap:2px;inline-size:100%;min-block-size:var(--target-min);padding:var(--space-1);cursor:pointer}.calendar-day-cell-blank{visibility:hidden}.calendar-day-number{font-size:var(--font-size-base);color:var(--color-ink);display:flex;align-items:center;justify-content:center;inline-size:28px;block-size:28px;border-radius:50%}.calendar-day-number-btn{align-self:flex-start;display:flex;align-items:center;justify-content:center;min-inline-size:var(--target-min);min-block-size:var(--target-min);border:none;border-radius:var(--radius-card);background:none;color:inherit;font:inherit;padding:0;cursor:pointer}.calendar-day-number-btn:hover{background:var(--color-surface-base)}.calendar-day-number-btn:focus-visible{outline:3px solid var(--color-primary);outline-offset:-2px}.calendar-day-number-btn span{font-size:var(--font-size-base);color:var(--color-ink);display:flex;align-items:center;justify-content:center;inline-size:28px;block-size:28px;border-radius:50%}.calendar-day-cell-today .calendar-day-number,.calendar-day-cell-today .calendar-day-number-btn span{border:2px solid var(--color-primary);color:var(--color-primary);font-weight:700}.calendar-day-cell-past{background:var(--color-surface-base)}.calendar-day-cell-past .calendar-day-number,.calendar-day-cell-past .calendar-day-number-btn span{color:var(--color-ink-muted)}.calendar-day-markers{display:flex;gap:3px}.calendar-marker{width:8px;height:8px;border-radius:50%}.calendar-marker-birthday{background:var(--color-accent)}.calendar-marker-celebration{background:var(--color-primary)}.calendar-marker-remembrance{background:var(--color-memorial-border)}.calendar-marker-anniversaryCelebration{background:var(--color-primary)}.calendar-marker-anniversaryRemembrance{background:var(--color-memorial-border)}.calendar-marker-holiday{background:var(--color-border-option);border:1.5px solid var(--color-ink-faint)}.calendar-marker-unknown{background:var(--color-divider)}.calendar-day-events{display:flex;flex-direction:column;gap:1px}.calendar-day-event-row{display:flex;align-items:center;gap:var(--space-1);min-inline-size:0;border:none;border-radius:4px;background:none;color:var(--color-ink);font:inherit;font-size:var(--font-size-base);line-height:1.3;padding-inline:var(--space-1);padding-block:1px;text-align:start;cursor:pointer}.calendar-day-event-row:hover{background:var(--color-surface-base)}.calendar-day-event-row:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.calendar-day-event-row-remembrance,.calendar-day-event-row-anniversaryRemembrance{background:var(--color-memorial-surface)}.calendar-day-event-dot{flex-shrink:0}.calendar-day-event-time{flex-shrink:0;color:var(--color-ink-muted);font-variant-numeric:tabular-nums}.calendar-day-event-title{min-inline-size:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-day-more-btn{align-self:stretch;border:none;border-radius:4px;background:none;color:var(--color-ink-section);font:inherit;font-size:var(--font-size-base);font-weight:600;padding-inline:var(--space-1);padding-block:1px;text-align:start;cursor:pointer}.calendar-day-more-btn:hover{background:var(--color-surface-base)}.calendar-day-more-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.calendar-upcoming-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.calendar-upcoming-row{display:flex;align-items:center;gap:var(--space-3);padding-block:var(--space-3)}.calendar-upcoming-row+.calendar-upcoming-row{border-top:1px solid var(--color-divider)}.day-occurrences-row-content{display:flex;align-items:center;gap:var(--space-3);flex:1;min-width:0}.calendar-upcoming-row-remembrance,.calendar-upcoming-row-anniversaryRemembrance{background:var(--color-memorial-surface);border-radius:var(--radius-card);padding-inline:var(--space-3);margin-inline:calc(var(--space-3) * -1)}.calendar-upcoming-icon{flex-shrink:0;width:44px;height:44px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-lg)}.calendar-upcoming-icon-birthday{background:var(--color-rail-icon-birthday-bg)}.calendar-upcoming-icon-celebration{background:var(--color-rail-icon-event-bg)}.calendar-upcoming-icon-remembrance{background:var(--color-rail-icon-memorial-bg)}.calendar-upcoming-icon-anniversaryCelebration{background:var(--color-rail-icon-event-bg)}.calendar-upcoming-icon-anniversaryRemembrance{background:var(--color-rail-icon-memorial-bg)}.calendar-upcoming-icon-holiday{background:var(--color-chip-surface)}.calendar-upcoming-icon-unknown{background:var(--color-divider)}.calendar-upcoming-body{min-width:0;display:flex;flex-direction:column;gap:2px}.calendar-upcoming-kicker{margin:0;font-size:12px;color:var(--color-ink-muted);font-weight:600}.calendar-upcoming-title{margin:0;color:var(--color-ink-heading);font-weight:700}.calendar-upcoming-date{margin:0;font-size:12px;color:var(--color-ink-section)}.calendar-retry-row{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);margin-block-end:var(--space-4)}.calendar-header-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-block-end:var(--space-4)}.calendar-header-row h1{margin:0}.calendar-success-text{color:var(--color-primary-deep, var(--color-primary));font-weight:600;margin-block-end:var(--space-4)}.calendar-event-form{display:flex;flex-direction:column;margin-block-end:var(--space-5)}.calendar-event-form h2{margin:0 0 var(--space-4)}.calendar-event-form select,.calendar-event-form textarea{min-height:var(--target-min);padding-inline:var(--space-4);padding-block:var(--space-2);border-radius:var(--radius-card);border:2px solid var(--color-border-field);background:var(--color-surface-card);color:var(--color-ink);font-family:inherit;font-size:var(--font-size-base)}.calendar-event-form select:focus-visible,.calendar-event-form textarea:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.calendar-event-form select#event-type{min-height:calc(var(--target-min) + var(--space-2));font-weight:600}.calendar-event-form-actions{display:flex;align-items:center;gap:var(--space-4);margin-block-start:var(--space-2)}.calendar-upcoming-delete-btn{flex-shrink:0;min-width:var(--target-min);min-height:var(--target-min);border:none;background:none;border-radius:50%;cursor:pointer;color:var(--color-ink-section)}.calendar-upcoming-delete-btn:hover{background:var(--color-surface-base)}.calendar-upcoming-delete-btn:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.calendar-upcoming-delete-confirm{flex-shrink:0;display:flex;gap:var(--space-2)}.gallery-album-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.gallery-album-row{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4)}.gallery-album-open{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);min-height:var(--target-min);background:none;border:none;cursor:pointer;text-align:start;color:inherit}.gallery-album-name{color:var(--color-ink-name);font-weight:700}.gallery-album-subtitle{font-size:var(--font-size-caption);color:var(--color-ink-muted)}.gallery-back-row{display:flex;align-items:center;gap:var(--space-3);margin-block-end:var(--space-4)}.gallery-back-button{min-height:var(--target-min);min-width:var(--target-min);border-radius:var(--radius-pill);border:2px solid var(--color-border-field);background:var(--color-surface-card);color:var(--color-ink-heading);font-size:var(--font-size-lg);cursor:pointer}.gallery-back-button:focus-visible,.gallery-album-open:focus-visible,.gallery-photo-tile button:focus-visible,.gallery-photo-download:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.gallery-photo-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--space-3)}.gallery-photo-tile{position:relative;aspect-ratio:1;border-radius:var(--radius-card);overflow:hidden;background:linear-gradient(135deg,var(--color-photo-placeholder-a),var(--color-photo-placeholder-b))}.gallery-photo-image{display:block;width:100%;height:100%;object-fit:cover}.gallery-photo-actions{position:absolute;inset-block-end:var(--space-2);inset-inline-end:var(--space-2);display:flex;gap:var(--space-2)}.gallery-photo-download,.gallery-photo-delete{min-height:var(--target-min);min-width:var(--target-min);border-radius:var(--radius-pill);border:none;background:#ffffffe5;color:var(--color-ink-heading);font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.gallery-upload-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2);margin-block-end:var(--space-4)}.gallery-upload-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.gallery-upload-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gallery-upload-status-uploading{color:var(--color-ink-muted)}.gallery-upload-status-success{color:var(--color-call);font-weight:600}.gallery-upload-status-failed{color:var(--color-error-ink);font-weight:600}.gallery-confirm-row{display:flex;align-items:center;gap:var(--space-3)}.gallery-toolbar{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-block-end:var(--space-4)}.gallery-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.manage-page{display:flex;flex-direction:column;gap:var(--space-5)}.manage-page h1{margin:0}.manage-tabs{display:flex;gap:var(--space-2);border-bottom:1px solid var(--color-line)}.manage-tab{min-height:56px;padding-inline:var(--space-5);border:none;border-bottom:3px solid transparent;background:none;color:var(--color-ink-section);font-weight:700;font-size:var(--font-size-base);cursor:pointer}.manage-tab:hover{color:var(--color-ink)}.manage-tab:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.manage-tab-active{color:var(--color-primary-deep);border-bottom-color:var(--color-primary)}.manage-tabpanel{display:flex;flex-direction:column;gap:var(--space-5)}.manage-tabpanel[hidden]{display:none}@media(max-width:600px){.manage-tabs{min-width:0;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.manage-tab{flex:0 0 auto}}.manage-family-name{display:flex;flex-direction:column;gap:var(--space-3)}.manage-family-name-display{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.manage-family-name-display h2{margin:0}.manage-section{display:flex;flex-direction:column;gap:var(--space-4)}.manage-section h2{margin:0}.manage-section-lead{margin:0;color:var(--color-ink-section)}.manage-inline-form{display:flex;align-items:flex-end;gap:var(--space-3);flex-wrap:wrap}.manage-field-grow{flex:1;min-width:200px;margin-block-end:0}.manage-text-input{min-height:56px;border:2px solid var(--color-border-field);border-radius:var(--radius-card);background:var(--color-surface-card);padding-inline:var(--space-4);color:var(--color-ink);font-size:var(--font-size-base);font-family:inherit;text-align:start}.manage-text-input:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.manage-invite-filter{max-width:320px;margin-block-end:0}.manage-invite-filter select.manage-text-input{appearance:auto;cursor:pointer}.manage-invite-dialog h2{margin:0;font-size:var(--font-size-lg)}.manage-invite-dialog .btn-primary,.manage-invite-dialog .btn-link{min-height:56px}.manage-invite-reveal{display:flex;flex-direction:column;gap:var(--space-2);background:var(--color-primary-soft);border:1px solid var(--color-primary);border-radius:var(--radius-card);padding:var(--space-4)}.manage-invite-warning{margin:0;font-weight:800;color:var(--color-primary-deep)}.manage-invite-field{display:flex;flex-direction:column;gap:var(--space-2)}.manage-invite-label{font-weight:700;color:var(--color-ink)}.manage-invite-token{display:block;width:100%;padding:var(--space-3) var(--space-4);background:var(--color-surface-card);border:1px solid var(--color-line);border-radius:var(--radius-card);font-size:var(--font-size-lg);direction:ltr;text-align:center;word-break:break-all;-webkit-user-select:all;user-select:all}.manage-invite-button-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.manage-invite-password{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:var(--font-size-xl);font-weight:700;letter-spacing:.08em}.manage-invite-actions{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-3);flex-wrap:wrap}.manage-invite-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.manage-invite-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-line);border-radius:var(--radius-card);flex-wrap:wrap}.manage-invite-info{display:flex;flex-direction:column;gap:var(--space-1)}.manage-invite-name{font-weight:700;color:var(--color-ink)}.manage-invite-meta{font-size:var(--font-size-caption);color:var(--color-ink-section)}.manage-invite-row-actions{display:flex;align-items:center;gap:var(--space-3)}.manage-empty-state{color:var(--color-ink-section)}.manage-badge{display:inline-block;width:fit-content;padding:2px var(--space-2);border-radius:999px;font-size:var(--font-size-caption);font-weight:700;background:var(--color-chip-surface);color:var(--color-chip-ink)}.manage-badge-admin{background:var(--color-primary-soft);color:var(--color-primary-deep)}.manage-badge-blocked,.manage-badge-expired,.manage-badge-cancelled{background:var(--color-surface-base);color:var(--color-ink-muted, var(--color-ink));border:1px solid var(--color-line)}.manage-badge-accepted,.manage-badge-join-method{background:var(--color-chip-surface);color:var(--color-chip-ink)}.manage-member-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.manage-member-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-line);border-radius:var(--radius-card);flex-wrap:wrap}.manage-member-info{display:flex;flex-direction:column;gap:var(--space-1)}.manage-member-name{font-weight:700;color:var(--color-ink)}.manage-member-meta{font-size:var(--font-size-caption);color:var(--color-ink-section)}.manage-member-badges{display:flex;gap:var(--space-2);margin-top:var(--space-1)}.manage-member-row-actions{display:flex;align-items:center;gap:var(--space-3)}.manage-toggle{min-height:var(--target-min);min-width:88px;padding-inline:var(--space-4);border-radius:var(--radius-pill);border:2px solid var(--color-border-field);background:var(--color-surface-card);color:var(--color-ink-section);font-weight:700;cursor:pointer}.manage-toggle:disabled{opacity:.6;cursor:not-allowed}.manage-toggle:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.manage-toggle-on{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.manage-interest-add-form{align-items:center}.manage-interest-add-input{flex:1;min-width:160px;margin-block-end:0}.manage-interest-save-success{color:var(--color-ink);font-weight:700}.manage-interest-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.manage-interest-table{width:100%;border-collapse:collapse}.manage-interest-table th,.manage-interest-table td{padding:var(--space-2) var(--space-3);text-align:start;border-bottom:1px solid var(--color-line);vertical-align:middle}.manage-interest-table th{font-size:var(--font-size-caption);color:var(--color-ink-section);font-weight:700;white-space:nowrap}.manage-interest-reorder-cell{display:flex;gap:var(--space-1);white-space:nowrap}.manage-interest-move-btn{min-width:var(--target-min);min-height:var(--target-min);border:2px solid var(--color-border-field);border-radius:var(--radius-card);background:var(--color-surface-card);color:var(--color-ink);font-size:18px;line-height:1;cursor:pointer}.manage-interest-move-btn:disabled{opacity:.4;cursor:not-allowed}.manage-interest-move-btn:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.manage-interest-label-input{min-width:140px;width:100%;min-height:var(--target-min);border:2px solid var(--color-border-field);border-radius:var(--radius-card);background:var(--color-surface-card);padding-inline:var(--space-3);color:var(--color-ink);font-size:var(--font-size-base);font-family:inherit;text-align:start}.manage-interest-label-input:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.manage-interest-slug{font-size:var(--font-size-caption);color:var(--color-ink-section);white-space:nowrap}.manage-interest-toggle{min-width:64px;padding-inline:var(--space-3)}.manage-interest-save-all{align-self:flex-start}.manage-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.activity-totals{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);list-style:none;margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-chip-surface);border-radius:var(--radius-card);color:var(--color-chip-ink);font-weight:700}.activity-member-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.activity-member-card{padding:var(--space-3) var(--space-4);border:1px solid var(--color-line);border-radius:var(--radius-card)}.activity-member-header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.activity-member-name{font-weight:700;color:var(--color-ink)}.activity-member-joined{font-size:var(--font-size-caption);color:var(--color-ink-section)}.activity-member-counts{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);list-style:none;margin:var(--space-2) 0 0;padding:0;color:var(--color-ink-muted)}.activity-reconnect-hint{margin:var(--space-2) 0 0;padding:var(--space-2) var(--space-3);background:var(--color-surface-base);border-radius:var(--radius-card);color:var(--color-ink-section);font-size:var(--font-size-caption)}.interest-chip-row{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;margin:0;padding:0}.interest-chip{display:inline-flex;align-items:center;min-height:var(--target-min);padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);border:1px solid var(--color-border-option);background:var(--color-chip-surface);color:var(--color-chip-ink);font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease}@media(prefers-reduced-motion:reduce){.interest-chip{transition:none}}.interest-chip-selected{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}.interest-chip:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.interest-chip:disabled{opacity:.6;cursor:not-allowed}.interest-chip-readonly{cursor:default}.delete-account-dialog h2{margin:0;font-size:var(--font-size-lg);color:var(--color-error-ink)}.delete-account-warning{background:color-mix(in srgb,var(--color-error-ink) 8%,transparent);border:1px solid var(--color-error-ink);border-radius:var(--radius-card);padding:var(--space-4)}.delete-account-warning p{margin:0 0 var(--space-2)}.delete-account-warning ul{margin:0;padding-inline-start:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2)}.delete-account-mode{border:1px solid var(--color-line);border-radius:var(--radius-card);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.delete-account-mode legend{font-weight:700;padding:0}.delete-account-mode-option{display:flex;align-items:flex-start;gap:var(--space-3);min-height:56px;padding:var(--space-2);border-radius:var(--radius-card);cursor:pointer}.delete-account-mode-option:hover{background:var(--color-surface-base)}.delete-account-mode-option input[type=radio]{width:24px;height:24px;min-width:24px;margin-block-start:2px}.delete-account-hint{margin:var(--space-1) 0 0;font-size:var(--font-size-base);color:var(--color-ink-section)}.delete-account-actions{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.delete-account-actions .btn-danger,.delete-account-actions .btn-link{min-height:56px}.profile-page{display:flex;flex-direction:column;gap:var(--space-5)}.profile-page h1{margin:0}.profile-status{color:var(--color-ink-section)}.profile-tabs{display:flex;gap:var(--space-2);border-bottom:1px solid var(--color-line)}.profile-tab{min-height:56px;padding-inline:var(--space-5);border:none;border-bottom:3px solid transparent;background:none;color:var(--color-ink-section);font-weight:700;font-size:var(--font-size-base);cursor:pointer}.profile-tab:hover{color:var(--color-ink)}.profile-tab:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.profile-tab-active{color:var(--color-primary-deep);border-bottom-color:var(--color-primary)}.profile-tabpanel{display:flex;flex-direction:column;gap:var(--space-5)}.profile-tabpanel[hidden]{display:none}@media(max-width:600px){.profile-tabs{min-width:0;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.profile-tab{flex:0 0 auto}}.profile-form{display:flex;flex-direction:column}.profile-select,.profile-date-input{min-height:var(--target-min);border:2px solid var(--color-border-field);border-radius:var(--radius-card);background:var(--color-surface-card);padding-inline:var(--space-4);color:var(--color-ink);font-size:var(--font-size-base);font-family:inherit}.profile-select:focus-visible,.profile-date-input:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.profile-theme-label{color:var(--color-ink-section);font-weight:600}.profile-theme-row{display:flex;gap:var(--space-3);flex-wrap:wrap}.profile-theme-option{flex:1;min-width:160px;min-height:var(--target-min);display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-4);border:2px solid var(--color-border-option);border-radius:var(--radius-card);background:var(--color-surface-card);color:var(--color-ink);font-family:inherit;cursor:pointer}.profile-theme-option-selected{border-color:var(--color-primary)}.profile-theme-option:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.profile-theme-name{font-weight:700;font-size:var(--font-size-base)}.profile-theme-state{color:var(--color-ink-section);font-size:13.5px}.profile-saved{color:var(--color-call);font-weight:700}.profile-submit{width:100%;min-height:56px;font-size:var(--font-size-lg)}.profile-push-label{color:var(--color-ink-section);font-weight:600}.profile-push-toggle{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:var(--target-min);width:100%;padding:var(--space-3) var(--space-4);border:2px solid var(--color-border-option);border-radius:var(--radius-card);background:var(--color-surface-card);color:var(--color-ink);font-family:inherit;font-size:var(--font-size-base);cursor:pointer}.profile-push-toggle:disabled{cursor:not-allowed;opacity:.7}.profile-push-toggle-on{border-color:var(--color-primary)}.profile-push-toggle:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.profile-push-toggle-state{color:var(--color-ink-section);font-weight:700}.profile-push-hint{color:var(--color-ink-muted);font-size:13.5px}.profile-phone-input{min-height:var(--target-min);border:2px solid var(--color-border-field);border-radius:var(--radius-card);background:var(--color-surface-base);padding-inline:var(--space-4);color:var(--color-ink-muted);font-size:var(--font-size-base);font-family:inherit;cursor:default}.profile-avatar-label{color:var(--color-ink-section);font-weight:600}.profile-avatar-row{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.profile-avatar-preview{width:72px;height:72px;font-size:var(--font-size-lg)}.profile-avatar-upload-btn{min-height:56px}.profile-avatar-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.profile-avatar-preset-label{color:var(--color-ink-section);font-weight:600}.profile-avatar-preset-grid{display:flex;flex-wrap:wrap;gap:var(--space-3)}.profile-avatar-preset-btn{width:var(--target-min);height:var(--target-min);padding:0;border-radius:50%;border:3px solid transparent;background:var(--color-surface-card);cursor:pointer;overflow:hidden;flex-shrink:0}.profile-avatar-preset-btn img{width:100%;height:100%;object-fit:cover;display:block}.profile-avatar-preset-btn:disabled{cursor:not-allowed;opacity:.7}.profile-avatar-preset-btn:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.profile-avatar-preset-btn-selected{border-color:var(--color-primary)}.profile-avatar-preset-none-btn{display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;color:var(--color-ink-section);background:var(--color-surface-avatar);border:3px dashed var(--color-border-option)}.profile-avatar-preset-none-btn.profile-avatar-preset-btn-selected{border-style:solid;border-color:var(--color-primary)}.profile-danger-zone{margin-top:var(--space-5);border-color:var(--color-error-ink)}.profile-danger-zone h2{margin:0 0 var(--space-3);font-size:var(--font-size-lg);color:var(--color-error-ink)}.profile-leave-confirm{display:flex;flex-direction:column;gap:var(--space-3)}.profile-leave-confirm-question{margin:0;font-weight:600}.profile-leave-confirm-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.profile-delete-account-row{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-line)}.member-detail-back{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--target-min);padding-inline:var(--space-4);margin-block-end:var(--space-4);border:none;border-radius:var(--radius-pill);background:var(--color-surface-base);color:var(--color-ink);font-weight:600;cursor:pointer}.member-detail-back:hover{opacity:.9}.member-detail-back:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.member-detail-status{color:var(--color-ink-muted)}.member-detail-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);text-align:center;padding:var(--space-6) var(--space-5)}.member-detail-avatar{width:96px;height:96px;font-size:var(--font-size-lg)}.member-detail-name{margin:var(--space-2) 0 0;color:var(--color-ink-name)}.member-detail-field{margin:0;color:var(--color-ink-muted)}.member-detail-call{display:inline-flex;align-items:center;gap:var(--space-2);min-height:56px;padding-inline:var(--space-5);margin-block-start:var(--space-3);border-radius:var(--radius-pill);background:var(--color-call);color:var(--color-on-call);font-weight:700;text-decoration:none}.member-detail-call svg{width:var(--icon-md);height:var(--icon-md);stroke:currentColor;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round}.member-detail-call:hover{opacity:.9}.member-detail-call:focus-visible{outline:3px solid var(--color-ink-heading);outline-offset:2px}.member-detail-interests-label{display:block;margin-block-end:var(--space-2);font-weight:600;color:var(--color-ink-section)}.member-detail-field .interest-chip-row{justify-content:center}.availability-header-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-block-end:var(--space-4);flex-wrap:wrap}.availability-large-btn{min-height:56px;font-size:var(--font-size-lg)}.availability-status{font-size:var(--font-size-base);color:var(--color-ink-muted)}.availability-success-text{color:var(--color-call);font-weight:700;font-size:var(--font-size-lg)}.availability-retry-row{display:flex;flex-direction:column;gap:var(--space-3);align-items:flex-start}.availability-hint{color:var(--color-ink-muted);margin-block-end:var(--space-4)}.availability-location{color:var(--color-ink-section);margin-block-end:var(--space-4)}.availability-gathering-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-3)}.availability-gathering-row{padding:0}.availability-gathering-link{display:flex;flex-direction:column;gap:var(--space-1);min-height:56px;justify-content:center;padding:var(--space-4);color:var(--color-ink);text-decoration:none}.availability-gathering-link:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.availability-gathering-title{font-size:var(--font-size-lg);font-weight:700;color:var(--color-ink-heading)}.availability-gathering-status{align-self:flex-start;font-weight:600;color:var(--color-ink-section)}.availability-gathering-status-closed{color:var(--color-call)}.availability-gathering-meta{color:var(--color-ink-muted);font-size:13.5px}.availability-date-picker{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap}.availability-add-date-btn{min-height:56px}.availability-date-chip-list{list-style:none;padding:0;margin:var(--space-3) 0 0;display:flex;flex-wrap:wrap;gap:var(--space-2)}.availability-date-chip{display:flex;align-items:center;gap:var(--space-2);min-height:44px;padding-inline:var(--space-3);border-radius:var(--radius-pill);background:var(--color-surface-base);color:var(--color-ink);font-weight:600}.availability-date-chip-remove{min-width:44px;min-height:44px;border:none;border-radius:50%;background:none;color:var(--color-error-ink);font-weight:700;cursor:pointer}.availability-date-chip-remove:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.availability-participants-label{color:var(--color-ink-section);font-weight:600}.availability-participant-list{list-style:none;padding:0;margin:var(--space-2) 0 0;display:flex;flex-direction:column;gap:var(--space-2)}.availability-participant-option{display:flex;align-items:center;gap:var(--space-3);min-height:56px;padding-inline:var(--space-4);border:2px solid var(--color-border-option);border-radius:var(--radius-card);background:var(--color-surface-card);color:var(--color-ink);font-size:var(--font-size-base);cursor:pointer}.availability-participant-option input{width:24px;height:24px}.availability-participant-option:has(input:focus-visible){outline:3px solid var(--color-primary);outline-offset:2px}.availability-form-actions{display:flex;gap:var(--space-4);margin-block-start:var(--space-4)}.availability-marking-list{display:flex;flex-direction:column;gap:var(--space-4);margin-block-end:var(--space-5)}.availability-marking-row{border:none;margin:0;padding:var(--space-4)}.availability-marking-date{font-size:var(--font-size-lg);font-weight:700;color:var(--color-ink-heading);padding-inline:var(--space-2)}.availability-mark-options{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-block-start:var(--space-3)}.availability-mark-btn{display:flex;align-items:center;gap:var(--space-2);min-height:56px;min-width:120px;flex:1 1 120px;justify-content:center;padding-inline:var(--space-4);border:2px solid var(--color-border-option);border-radius:var(--radius-card);background:var(--color-surface-card);color:var(--color-ink);font-size:var(--font-size-lg);font-weight:600;cursor:pointer}.availability-mark-btn:has(input:focus-visible){outline:3px solid var(--color-primary);outline-offset:2px}.availability-mark-btn input{width:24px;height:24px}.availability-mark-btn-selected.availability-mark-available{border-color:var(--color-call);color:var(--color-call)}.availability-mark-btn-selected.availability-mark-maybe{border-color:var(--color-ring-amber);color:var(--color-ink-section)}.availability-mark-btn-selected.availability-mark-unavailable{border-color:var(--color-error-ink);color:var(--color-error-ink)}.availability-results-card{margin-block-end:var(--space-5)}.availability-tally-list{list-style:none;padding:0;margin:var(--space-3) 0 0;display:flex;flex-direction:column;gap:var(--space-3)}.availability-tally-row{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3);border:2px solid var(--color-border-option);border-radius:var(--radius-card)}.availability-tally-row-best{border-color:var(--color-primary);background:var(--color-primary-soft)}.availability-tally-date{font-weight:700;color:var(--color-ink-heading)}.availability-best-badge{color:var(--color-primary);font-weight:700}.availability-tally-counts{display:flex;gap:var(--space-4);flex-wrap:wrap;font-size:var(--font-size-base)}.availability-tally-count-available{color:var(--color-call)}.availability-tally-count-unavailable{color:var(--color-error-ink)}.availability-close-card fieldset{border:none;margin:0;padding:0}.availability-close-card legend{font-weight:600;color:var(--color-ink-section);margin-block-end:var(--space-2)}.availability-close-date-option{display:flex;align-items:center;gap:var(--space-2);min-height:56px;font-size:var(--font-size-base);color:var(--color-ink)}.availability-close-date-option input{width:24px;height:24px}.availability-close-date-option:has(input:focus-visible){outline:3px solid var(--color-primary);outline-offset:2px}.quests-intro{color:var(--color-ink-muted);margin-block-end:var(--space-4)}.quests-large-btn{min-height:56px;font-size:var(--font-size-lg)}.quests-status{font-size:var(--font-size-base);color:var(--color-ink-muted)}.quests-retry-row{display:flex;flex-direction:column;gap:var(--space-3);align-items:flex-start}.quests-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-3)}.quests-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4)}.quests-prompt{font-size:var(--font-size-lg);font-weight:700;color:var(--color-ink-heading)}.quests-completed-badge{align-self:flex-start;font-weight:700;color:var(--color-call)}.quests-composer{display:flex;flex-direction:column;gap:var(--space-3)}.quests-response-label{font-weight:600;color:var(--color-ink-section)}.quests-response-textarea{min-height:140px;font-size:var(--font-size-base);padding:var(--space-3);border:2px solid var(--color-border-option);border-radius:var(--radius-card);background:var(--color-surface-card);color:var(--color-ink);resize:vertical}.quests-response-textarea:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.quests-composer-actions{display:flex;gap:var(--space-3);flex-wrap:wrap}.quests-completion-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);margin-block-end:var(--space-4);border:2px solid var(--color-primary);background:var(--color-primary-soft)}.quests-completion-headline{font-size:var(--font-size-lg);font-weight:700;color:var(--color-ink-heading)}.quests-completion-prompt{color:var(--color-ink-section)}.quests-completion-actions{display:flex;gap:var(--space-3);flex-wrap:wrap;align-items:center;margin-block-start:var(--space-2)}.notifications-status{font-size:var(--font-size-base);color:var(--color-ink-muted)}.notifications-retry-row{display:flex;flex-direction:column;gap:var(--space-3);align-items:flex-start}.notifications-large-btn{min-height:56px;font-size:var(--font-size-lg)}.notifications-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-3)}.notifications-row{padding:0;overflow:hidden}.notifications-row-link{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);min-height:56px;color:inherit;text-decoration:none}.notifications-row-link:focus-visible{outline:3px solid var(--color-primary);outline-offset:-3px}.notifications-row-icon{flex-shrink:0;width:var(--target-min);height:var(--target-min);border-radius:50%;background:var(--color-primary-soft);color:var(--color-primary-deep);display:flex;align-items:center;justify-content:center}.notifications-row-icon svg{width:var(--icon-lg);height:var(--icon-lg);stroke:currentColor;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round}.notifications-row-body{display:flex;flex-direction:column;gap:var(--space-1);min-width:0;flex:1}.notifications-row-text{font-size:var(--font-size-base);color:var(--color-ink)}.notifications-row-unread .notifications-row-text{font-weight:700;color:var(--color-ink-heading)}.notifications-row-time{font-size:var(--font-size-caption);color:var(--color-ink-muted)}.notifications-row-unread-dot{flex-shrink:0;width:10px;height:10px;border-radius:50%;background:var(--color-primary)}.auth-page{min-height:100dvh;display:grid;place-items:center;padding:var(--space-5);overflow-y:auto}.auth-shell{width:100%;min-width:0;max-width:min(1040px,100%);background:var(--color-surface-card);border:1px solid var(--color-line);border-radius:20px;box-shadow:var(--shadow-card);overflow:hidden;display:grid;grid-template-columns:1.05fr .95fr}.auth-form-side{order:2;min-width:0;padding:var(--space-6);display:flex;flex-direction:column;justify-content:center}.auth-app-download{align-self:center;margin-block-start:var(--space-6);display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--target-min);padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);border:1px solid var(--color-line);background:var(--color-surface-base);color:var(--color-ink-section);font-weight:600;text-decoration:none}.auth-app-download:hover{border-color:var(--color-primary);color:var(--color-primary)}.auth-app-download:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.auth-hero-side{order:1;border-inline-end:1px solid var(--color-line);padding:var(--space-6);display:flex;align-items:center}.auth-hero{width:100%}.auth-brand{display:flex;align-items:center;gap:var(--space-2);font-weight:800;font-size:var(--font-size-lg);color:var(--color-primary)}.auth-brand-mark{width:38px;height:38px;border-radius:11px;background:var(--color-primary);color:var(--color-on-primary);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-lg)}.auth-heading{margin:var(--space-5) 0 0;font-size:var(--font-size-xl);font-weight:800}.auth-subheading{margin:var(--space-2) 0 0;font-size:var(--font-size-base);color:var(--color-ink-section);line-height:1.55;max-width:340px}.auth-sign-out-notice{margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-card);background:var(--color-primary-soft);color:var(--color-ink);font-weight:600;max-width:340px}.auth-form{display:flex;flex-direction:column;gap:var(--space-5);margin-top:var(--space-5)}.auth-field{display:flex;flex-direction:column;gap:var(--space-2);text-align:start}.auth-label{color:var(--color-ink-section);font-weight:700;font-size:13.5px}.auth-phone{display:flex;align-items:center;direction:ltr;gap:var(--space-2);min-height:56px;border:2px solid var(--color-border-field);border-radius:var(--radius-card);background:var(--color-surface-card);padding-inline:var(--space-4)}.auth-phone:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.auth-phone-country{flex-shrink:0;max-width:45%;min-height:44px;border:0;outline:0;background:transparent;padding-inline-end:var(--space-3);border-inline-end:1px solid var(--color-line);color:var(--color-ink-section);font-weight:700;font-size:var(--font-size-base);font-family:inherit;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;cursor:pointer}.auth-phone-country:focus-visible{outline:none}.auth-phone-input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--color-ink);font-size:var(--font-size-lg);font-family:inherit;text-align:right;letter-spacing:.5px}.auth-phone-input:focus-visible{outline:none}.auth-submit{width:100%;min-height:56px;font-size:var(--font-size-lg)}.auth-pin-input{width:100%;min-height:56px;border:2px solid var(--color-border-field);border-radius:var(--radius-card);background:var(--color-surface-card);padding-inline:var(--space-4);color:var(--color-ink);font-size:var(--font-size-lg);font-family:inherit;text-align:center;letter-spacing:8px}.auth-pin-input:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.auth-invite-code-input{width:100%;min-height:56px;border:2px solid var(--color-border-field);border-radius:var(--radius-card);background:var(--color-surface-card);padding-inline:var(--space-4);color:var(--color-ink);font-size:var(--font-size-lg);font-family:inherit;text-align:center;text-transform:uppercase;letter-spacing:1px}.auth-invite-code-input:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.auth-switch{margin-top:var(--space-5);text-align:center}.auth-secondary{min-height:var(--target-min);background:none;border:none;color:var(--color-primary);font-weight:700;cursor:pointer}.auth-secondary:hover{text-decoration:underline}.auth-secondary:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.auth-error{text-align:start}.auth-hint{display:flex;align-items:center;gap:var(--space-2);margin:var(--space-4) 0 0;color:var(--color-call);font-size:13.5px;font-weight:700}.auth-otp-fieldset{border:none;margin:0;padding:0;min-width:0}.auth-otp-legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.auth-otp-row{display:flex;justify-content:flex-start;gap:var(--space-3)}.auth-otp-box{width:44px;height:56px;border-radius:var(--radius-card);border:2px solid var(--color-border-field);background:var(--color-surface-card);color:var(--color-ink);font-size:var(--font-size-xl);font-weight:700;text-align:center;padding:0}.auth-otp-box:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px;border-color:var(--color-primary)}.auth-hero-headline{margin:0;font-size:34px;font-weight:900;line-height:1.15;letter-spacing:-.5px;color:var(--color-ink)}.auth-hero-accent{color:var(--color-primary)}.auth-hero-lead{margin:var(--space-4) 0 0;font-size:var(--font-size-lg);color:var(--color-ink-section);line-height:1.6;max-width:360px}.auth-collage{position:relative;height:260px;margin-top:var(--space-5)}.auth-collage-card{position:absolute;border-radius:var(--radius-card);box-shadow:0 12px 30px #1e1e372e}.auth-collage-card-a{width:140px;height:180px;inset-inline-start:110px;top:10px;background:linear-gradient(135deg,var(--color-ring-blue),#3e6e8e)}.auth-collage-card-b{width:120px;height:110px;inset-inline-start:10px;top:30px;background:linear-gradient(135deg,var(--color-accent),#b4573b)}.auth-collage-card-c{width:110px;height:100px;inset-inline-start:50px;top:150px;background:linear-gradient(135deg,var(--color-ring-green),#2f8a57)}.auth-collage-emoji{position:absolute;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:26px;background:var(--color-surface-card);box-shadow:0 6px 16px #00000026}.auth-collage-emoji-a{inset-inline-start:0;top:0}.auth-collage-emoji-b{inset-inline-start:240px;top:140px;background:var(--color-primary);color:var(--color-on-primary)}.auth-collage-avatar{position:absolute;inset-inline-start:210px;top:10px;width:58px;height:58px;border-radius:50%;border:4px solid var(--color-surface-card);box-shadow:0 6px 16px #0003;display:flex;align-items:center;justify-content:center;color:var(--color-on-primary);font-weight:800;background:linear-gradient(145deg,var(--color-ring-rose),#b96a6a)}@media(max-width:820px){.auth-shell{grid-template-columns:1fr}.auth-hero-side{display:none}.auth-form-side{padding:var(--space-5) var(--space-4)}}@media(max-width:380px){.auth-otp-row{gap:var(--space-2)}}.admin-page{max-width:720px;margin-inline:auto;padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-5)}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.admin-header h1{margin:0}.admin-header-actions{display:flex;align-items:center;gap:var(--space-4)}.admin-username{font-weight:700;color:var(--color-ink)}.admin-tabs{display:flex;gap:var(--space-2);border-bottom:1px solid var(--color-line)}.admin-tab{min-height:56px;padding-inline:var(--space-5);border:none;border-bottom:3px solid transparent;background:none;color:var(--color-ink-section);font-weight:700;font-size:var(--font-size-base);cursor:pointer}.admin-tab:hover{color:var(--color-ink)}.admin-tab:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.admin-tab-active{color:var(--color-primary-deep);border-bottom-color:var(--color-primary)}.admin-tabpanel{display:flex;flex-direction:column;gap:var(--space-5)}.admin-tabpanel[hidden]{display:none}.admin-section{display:flex;flex-direction:column;gap:var(--space-4)}.admin-section h2{margin:0}.admin-section-lead{margin:0;color:var(--color-ink-section)}.admin-empty-state{color:var(--color-ink-section)}.admin-inline-form{display:flex;align-items:flex-end;gap:var(--space-3);flex-wrap:wrap}.admin-field-grow{flex:1;min-width:200px;margin-block-end:0}.admin-text-input{text-align:start;font-size:var(--font-size-base)}.admin-invite-reveal{display:flex;flex-direction:column;gap:var(--space-2);background:var(--color-primary-soft);border:1px solid var(--color-primary);border-radius:var(--radius-card);padding:var(--space-4)}.admin-invite-warning{margin:0;font-weight:800;color:var(--color-primary-deep)}.admin-invite-field{display:flex;flex-direction:column;gap:var(--space-2)}.admin-invite-label{font-weight:700;color:var(--color-ink)}.admin-invite-token{display:block;width:100%;padding:var(--space-3) var(--space-4);background:var(--color-surface-card);border:1px solid var(--color-line);border-radius:var(--radius-card);font-size:var(--font-size-lg);direction:ltr;text-align:center;word-break:break-all;-webkit-user-select:all;user-select:all}.admin-invite-button-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.admin-invite-password{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:var(--font-size-xl);font-weight:700;letter-spacing:.08em}.admin-invite-actions{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-3);flex-wrap:wrap}.admin-family-list,.admin-feature-list,.admin-account-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.admin-family-row,.admin-feature-row,.admin-account-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-line);border-radius:var(--radius-card);flex-wrap:wrap}.admin-reissue-form{flex-basis:100%;margin-block-start:var(--space-2)}.admin-family-info,.admin-account-info{display:flex;flex-direction:column;gap:var(--space-1)}.admin-family-name,.admin-account-name{font-weight:700;color:var(--color-ink);overflow-wrap:anywhere}.admin-family-name{display:inline-flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.admin-family-rename-button{font-weight:400}.admin-rename-form{flex-basis:100%;margin-block-start:var(--space-2)}.admin-family-meta,.admin-account-meta{font-size:var(--font-size-caption);color:var(--color-ink-section)}.admin-feature-group{display:flex;flex-direction:column;gap:var(--space-3)}.admin-feature-group h3{margin:0;font-size:var(--font-size-base)}.admin-feature-note{margin:0;font-size:var(--font-size-caption);color:var(--color-ink-section)}.admin-feature-info{display:flex;flex-direction:column;gap:var(--space-1)}.admin-feature-key{font-weight:700;color:var(--color-ink)}.admin-feature-description{font-size:var(--font-size-caption);color:var(--color-ink-section)}.admin-toggle{min-height:var(--target-min);min-width:88px;padding-inline:var(--space-4);border-radius:var(--radius-pill);border:2px solid var(--color-border-field);background:var(--color-surface-card);color:var(--color-ink-section);font-weight:700;cursor:pointer}.admin-toggle:disabled{opacity:.6;cursor:not-allowed}.admin-toggle:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.admin-toggle-on{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.admin-logging-select{min-height:var(--target-min);min-width:120px;padding-inline:var(--space-3);border:2px solid var(--color-border-field);border-radius:var(--radius-card);background:var(--color-surface-card);color:var(--color-ink);font-weight:700;font-size:var(--font-size-base);font-family:inherit;cursor:pointer}.admin-logging-select:disabled{opacity:.6;cursor:not-allowed}.admin-logging-select:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.admin-family-admins{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.admin-family-admin-button{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);min-height:var(--target-min);padding-inline:var(--space-2);border:none;border-radius:var(--radius-card);background:none;color:var(--color-ink);font-size:var(--font-size-caption);cursor:pointer}.admin-family-admin-button:hover{background:var(--color-surface-base)}.admin-family-admin-button:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.admin-family-admin-name{font-weight:700;overflow-wrap:anywhere}.admin-family-admin-phone{color:var(--color-ink-section)}.admin-family-no-admin{font-style:italic}.admin-detail-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.admin-detail-header h2{margin:0;font-size:var(--font-size-lg)}.admin-detail-body{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);text-align:center}.admin-detail-avatar{width:96px;height:96px;font-size:var(--font-size-lg)}.admin-detail-name{margin:0;font-size:var(--font-size-lg);overflow-wrap:anywhere}.admin-detail-field{margin:0;color:var(--color-ink-section)}.admin-detail-families{width:100%;text-align:start}.admin-detail-families h4{margin:0 0 var(--space-2)}.admin-detail-family-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.admin-detail-family-row{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-line);border-radius:var(--radius-card)}.admin-detail-family-heading{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.admin-detail-family-name{font-weight:700;color:var(--color-ink);overflow-wrap:anywhere}.admin-badge{display:inline-block;width:fit-content;padding:2px var(--space-2);border-radius:999px;font-size:var(--font-size-caption);font-weight:700;background:var(--color-chip-surface);color:var(--color-chip-ink)}.admin-badge-admin{background:var(--color-primary-soft);color:var(--color-primary-deep)}.admin-badge-blocked{background:var(--color-surface-base);color:var(--color-ink-muted, var(--color-ink));border:1px solid var(--color-line)}.admin-badge-archived{margin-inline-start:var(--space-2);background:color-mix(in srgb,var(--color-error-ink) 12%,transparent);color:var(--color-error-ink)}.admin-badge-scope{margin-inline-start:var(--space-2)}.admin-badge-overridden{margin-inline-start:var(--space-2);background:var(--color-primary-soft);color:var(--color-primary-deep)}.admin-badge-default{margin-inline-start:var(--space-2)}.admin-family-flag-actions{display:flex;align-items:center;gap:var(--space-2)}.admin-family-lifecycle-actions{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.admin-delete-family-dialog h2{margin:0;font-size:var(--font-size-lg);color:var(--color-error-ink)}.admin-delete-family-warning{background:color-mix(in srgb,var(--color-error-ink) 8%,transparent);border:1px solid var(--color-error-ink);border-radius:var(--radius-card);padding:var(--space-4)}.admin-delete-family-warning p{margin:0 0 var(--space-2)}.admin-delete-family-warning ul{margin:0;padding-inline-start:var(--space-5);display:flex;flex-direction:column;gap:var(--space-2)}.admin-delete-family-hint{margin:var(--space-1) 0 0;font-size:var(--font-size-base);color:var(--color-ink-section)}.admin-delete-family-actions{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.admin-delete-family-actions .btn-danger,.admin-delete-family-actions .btn-link{min-height:56px}.admin-pin-reset{width:100%;text-align:start}@media(max-width:600px){.admin-page{padding:var(--space-4)}.admin-tabs{min-width:0;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.admin-tab{flex:0 0 auto}.admin-family-row,.admin-account-row,.admin-feature-row{flex-direction:column;align-items:stretch}.admin-family-lifecycle-actions{width:100%}.admin-toggle{align-self:flex-start}.admin-field-grow{min-width:0;flex-basis:100%}}:root{color-scheme:light;--color-primary: #456f85;--color-primary-deep: #3c6478;--color-primary-soft: #ebeff2;--color-on-primary: #f2fafc;--color-surface-base: #eef4f4;--color-surface-card: #ffffff;--color-surface-avatar: #fbfdfc;--color-ink: #2f4750;--color-ink-heading: #3e6b7e;--color-ink-section: #4a6a76;--color-ink-warm-title: #47758b;--color-ink-tab: #5a7480;--color-ink-name: #3b565f;--color-ink-muted: #5a6e77;--color-ink-faint: #5f737c;--color-ink-placeholder: #4a6a76;--color-accent: #d8b583;--color-on-accent: #4a3a22;--color-chip-surface: #e3eef0;--color-chip-ink: #3f6273;--color-call: #2f7d46;--color-on-call: #ffffff;--color-ring-blue: #5e93a8;--color-ring-green: #86a98f;--color-ring-rose: #c4897e;--color-ring-amber: #d8b583;--color-memorial-surface: #eaede7;--color-memorial-border: #758480;--color-memorial-ink: #4c5a52;--color-memorial-ink-soft: #566459;--color-memorial-badge-border: #758480;--color-memorial-badge-ink: #4c5a52;--color-divider: #e6eeee;--color-line: #dee8e8;--color-border-field: #c7d6d9;--color-border-option: #d5e1e2;--color-photo-placeholder-a: #e1ecea;--color-photo-placeholder-b: #cbdcdb;--color-rail-icon-birthday-bg: #f9f3ec;--color-rail-icon-memorial-bg: #eaede7;--color-rail-icon-event-bg: #e1f0dc;--color-error-ink: #8c2f2f;--shadow-card: 0 1px 2px rgba(47, 71, 80, .04), 0 1px 3px rgba(47, 71, 80, .06);--font-size-base: 15px;--font-size-lg: 19px;--font-size-xl: 22px;--font-size-caption: 13px;--line-height-base: 1.5;--target-min: 44px;--icon-md: 20px;--icon-lg: 24px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--radius-card: 14px;--radius-card-lg: 16px;--radius-pill: 999px}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--color-primary: #6fb0c9;--color-primary-deep: #8ecfe3;--color-primary-soft: #1c2f36;--color-on-primary: #0b1a1f;--color-surface-base: #0f171b;--color-surface-card: #17232a;--color-surface-avatar: #1c2930;--color-ink: #e6eef1;--color-ink-heading: #a9d3e6;--color-ink-section: #a9c3cb;--color-ink-warm-title: #8fc4d8;--color-ink-tab: #9fb4bc;--color-ink-name: #cfe6ec;--color-ink-muted: #a3b7bf;--color-ink-faint: #93a7af;--color-ink-placeholder: #a9c3cb;--color-accent: #d9b984;--color-on-accent: #2a1f10;--color-chip-surface: #1e2c31;--color-chip-ink: #a9c9d3;--color-call: #2f7d46;--color-on-call: #ffffff;--color-ring-blue: #6fa8c2;--color-ring-green: #7fbf94;--color-ring-rose: #d99a95;--color-ring-amber: #d9b984;--color-memorial-surface: #23282a;--color-memorial-border: #7c8a86;--color-memorial-ink: #c9d2ce;--color-memorial-ink-soft: #b3bdb8;--color-memorial-badge-border: #7c8a86;--color-memorial-badge-ink: #c9d2ce;--color-divider: #223035;--color-line: #1c282d;--color-border-field: #33474e;--color-border-option: #2a3b41;--color-photo-placeholder-a: #24343a;--color-photo-placeholder-b: #1a262b;--color-rail-icon-birthday-bg: #2c2620;--color-rail-icon-memorial-bg: #23282a;--color-rail-icon-event-bg: #1c2b22;--color-error-ink: #d99a95;--shadow-card: 0 1px 2px rgba(0, 0, 0, .35), 0 1px 3px rgba(0, 0, 0, .45)}}:root[data-theme=light]{color-scheme:light;--color-primary: #456f85;--color-primary-deep: #3c6478;--color-primary-soft: #ebeff2;--color-on-primary: #f2fafc;--color-surface-base: #eef4f4;--color-surface-card: #ffffff;--color-surface-avatar: #fbfdfc;--color-ink: #2f4750;--color-ink-heading: #3e6b7e;--color-ink-section: #4a6a76;--color-ink-warm-title: #47758b;--color-ink-tab: #5a7480;--color-ink-name: #3b565f;--color-ink-muted: #5a6e77;--color-ink-faint: #5f737c;--color-ink-placeholder: #4a6a76;--color-accent: #d8b583;--color-on-accent: #4a3a22;--color-chip-surface: #e3eef0;--color-chip-ink: #3f6273;--color-call: #2f7d46;--color-on-call: #ffffff;--color-ring-blue: #5e93a8;--color-ring-green: #86a98f;--color-ring-rose: #c4897e;--color-ring-amber: #d8b583;--color-memorial-surface: #eaede7;--color-memorial-border: #758480;--color-memorial-ink: #4c5a52;--color-memorial-ink-soft: #566459;--color-memorial-badge-border: #758480;--color-memorial-badge-ink: #4c5a52;--color-divider: #e6eeee;--color-line: #dee8e8;--color-border-field: #c7d6d9;--color-border-option: #d5e1e2;--color-photo-placeholder-a: #e1ecea;--color-photo-placeholder-b: #cbdcdb;--color-rail-icon-birthday-bg: #f9f3ec;--color-rail-icon-memorial-bg: #eaede7;--color-rail-icon-event-bg: #e1f0dc;--color-error-ink: #8c2f2f;--shadow-card: 0 1px 2px rgba(47, 71, 80, .04), 0 1px 3px rgba(47, 71, 80, .06)}:root[data-theme=dark]{color-scheme:dark;--color-primary: #6fb0c9;--color-primary-deep: #8ecfe3;--color-primary-soft: #1c2f36;--color-on-primary: #0b1a1f;--color-surface-base: #0f171b;--color-surface-card: #17232a;--color-surface-avatar: #1c2930;--color-ink: #e6eef1;--color-ink-heading: #a9d3e6;--color-ink-section: #a9c3cb;--color-ink-warm-title: #8fc4d8;--color-ink-tab: #9fb4bc;--color-ink-name: #cfe6ec;--color-ink-muted: #a3b7bf;--color-ink-faint: #93a7af;--color-ink-placeholder: #a9c3cb;--color-accent: #d9b984;--color-on-accent: #2a1f10;--color-chip-surface: #1e2c31;--color-chip-ink: #a9c9d3;--color-call: #2f7d46;--color-on-call: #ffffff;--color-ring-blue: #6fa8c2;--color-ring-green: #7fbf94;--color-ring-rose: #d99a95;--color-ring-amber: #d9b984;--color-memorial-surface: #23282a;--color-memorial-border: #7c8a86;--color-memorial-ink: #c9d2ce;--color-memorial-ink-soft: #b3bdb8;--color-memorial-badge-border: #7c8a86;--color-memorial-badge-ink: #c9d2ce;--color-divider: #223035;--color-line: #1c282d;--color-border-field: #33474e;--color-border-option: #2a3b41;--color-photo-placeholder-a: #24343a;--color-photo-placeholder-b: #1a262b;--color-rail-icon-birthday-bg: #2c2620;--color-rail-icon-memorial-bg: #23282a;--color-rail-icon-event-bg: #1c2b22;--color-error-ink: #d99a95;--shadow-card: 0 1px 2px rgba(0, 0, 0, .35), 0 1px 3px rgba(0, 0, 0, .45)}*{box-sizing:border-box}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.skip-link{position:absolute;inset-inline-start:var(--space-3);top:-100px;z-index:100;background:var(--color-primary);color:var(--color-on-primary);font-weight:700;padding:var(--space-3) var(--space-5);border-radius:var(--radius-card);text-decoration:none;transition:top .1s ease-in}.skip-link:focus{top:var(--space-3)}.shell-content h1:focus,.shell-content main:focus{outline:none}html,body,#root{height:100%}body{margin:0;font-family:Segoe UI,Arial Hebrew,system-ui,-apple-system,sans-serif;font-size:var(--font-size-base);line-height:var(--line-height-base);letter-spacing:var(--letter-spacing-base, normal);color:var(--color-ink);background:var(--color-surface-base);text-align:start}h1,h2,h3{color:var(--color-ink-heading);line-height:1.3}h1{font-size:var(--font-size-xl)}h2{font-size:var(--font-size-lg)}p,label,input,button{font-size:var(--font-size-base)}button{font-family:inherit}a{color:var(--color-ink-heading)}.top-bar{background:var(--color-surface-card);border-bottom:1px solid var(--color-line);box-shadow:var(--shadow-card);min-height:64px;display:flex;align-items:center;gap:var(--space-5);width:100%;padding-inline:var(--space-5);position:sticky;top:0;z-index:5;flex-wrap:wrap}.logo{font-size:20px;font-weight:800;color:var(--color-primary);letter-spacing:-.3px;flex-shrink:0;display:inline-flex;align-items:center;min-height:56px;text-decoration:none}.logo:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-card)}.top-search{flex:1;max-width:640px;margin-inline:auto;display:flex;align-items:center;gap:var(--space-2);background:var(--color-surface-base);border-radius:var(--radius-pill);padding-inline-end:var(--space-4);color:var(--color-ink-placeholder);min-width:200px}.top-search:focus-within{outline:3px solid var(--color-primary);outline-offset:2px}.top-search input{flex:1;min-width:0;min-height:var(--target-min);border:none;background:none;color:var(--color-ink);font-size:var(--font-size-base)}.top-search input::placeholder{color:var(--color-ink-placeholder)}.top-search input:focus-visible{outline:none}.top-search-submit{flex-shrink:0;width:var(--target-min);height:var(--target-min);border:none;border-radius:var(--radius-pill);background:none;color:inherit;display:flex;align-items:center;justify-content:center;cursor:pointer}.top-search-submit:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.top-search svg{width:var(--icon-md);height:var(--icon-md);stroke:currentColor;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.shell-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.top-tools{display:flex;align-items:center;gap:var(--space-4);color:var(--color-ink-section);flex-shrink:0}.top-tools .tb{width:var(--target-min);height:var(--target-min);border-radius:50%;background:var(--color-surface-base);display:flex;align-items:center;justify-content:center}.top-tools .tb svg{width:var(--icon-lg);height:var(--icon-lg);stroke:currentColor;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round}.top-tools button.tb,.top-tools a.tb{border:none;cursor:pointer;padding:0;font:inherit;color:inherit;text-decoration:none;position:relative}.top-tools button.tb:focus-visible,.top-tools a.tb:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.tb-badge{position:absolute;top:2px;inset-inline-end:2px;min-width:18px;height:18px;padding-inline:4px;border-radius:var(--radius-pill);background:var(--color-primary);color:var(--color-on-primary);font-size:11px;font-weight:700;line-height:18px;text-align:center}.top-tools .tb-search-mobile{display:none}.me{display:flex;align-items:center;gap:var(--space-2);color:inherit;text-decoration:none;border-radius:var(--radius-pill);background:none;border:none;padding:0;font:inherit;cursor:pointer}.me:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.me b{font-weight:700;color:var(--color-ink)}.account-menu{position:relative}.account-menu-panel{position:absolute;inset-block-start:calc(100% + var(--space-2));inset-inline-end:0;display:flex;flex-direction:column;gap:2px;min-width:160px;background:var(--color-surface-card);border:1px solid var(--color-line);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:var(--space-2);z-index:10}.account-menu-item{display:flex;align-items:center;width:100%;min-height:var(--target-min);padding-inline:var(--space-3);border:none;border-radius:var(--radius-card);background:none;color:var(--color-ink);font-weight:600;text-align:start;cursor:pointer}.account-menu-item:hover{background:var(--color-surface-base)}.account-menu-item:focus-visible{outline:3px solid var(--color-primary);outline-offset:-2px}.account-menu-identity{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);padding-block-end:var(--space-3);margin-block-end:var(--space-2);border-block-end:1px solid var(--color-line)}.account-menu-identity b{font-weight:700;color:var(--color-ink)}.account-menu-section-head{font-size:12px;font-weight:700;color:var(--color-ink-section);padding:var(--space-2) var(--space-3) var(--space-1)}.account-menu-family-group{display:flex;flex-direction:column;gap:2px}.account-menu-family-item{display:flex;align-items:center;gap:var(--space-2)}.account-menu-divider{border:none;border-block-start:1px solid var(--color-line);margin-block:var(--space-2)}.family-switcher-check{width:1em;flex-shrink:0;color:var(--color-primary);font-weight:700}.app-main{padding:var(--space-5);max-width:1100px;margin-inline:auto}.shell-wrap{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-4) var(--space-4) var(--space-5)}.shell-content{flex:1;min-width:0}.side-col{flex-shrink:0;width:208px;position:sticky;top:calc(64px + var(--space-4));display:flex;flex-direction:column;gap:var(--space-4)}.side{display:flex;flex-direction:column;gap:2px;padding-block:var(--space-2)}.side-section-head{font-size:12px;font-weight:700;color:var(--color-ink-section);padding:var(--space-4) var(--space-3) var(--space-1)}.side-link{display:flex;align-items:center;gap:var(--space-3);min-height:var(--target-min);padding-inline:var(--space-3);border-radius:var(--radius-card);color:var(--color-ink-tab);font-weight:600;text-decoration:none}.side-link svg{width:var(--icon-lg);height:var(--icon-lg);stroke:currentColor;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.side-link:hover{background:color-mix(in srgb,var(--color-surface-base),var(--color-ink) 6%)}.side-link:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.side-link-active{background:var(--color-primary-soft);color:var(--color-primary);font-weight:700}.side-link-active svg{stroke:var(--color-primary)}.side-relative-row{display:flex;align-items:center;gap:var(--space-3);min-height:var(--target-min);padding-inline:var(--space-3);border-radius:var(--radius-card);color:inherit;text-decoration:none}.side-relative-row:hover{background:color-mix(in srgb,var(--color-surface-base),var(--color-ink) 6%)}.side-relative-row:focus-visible{outline:3px solid var(--color-primary);outline-offset:-2px}@media(max-width:1080px){.rail{display:none}.side-col{width:200px}}.bottom-tabs{display:none;position:fixed;inset-inline:0;bottom:0;z-index:20;background:var(--color-surface-card);border-top:1px solid var(--color-line);justify-content:space-around;padding:var(--space-2) var(--space-2) max(var(--space-2),env(safe-area-inset-bottom))}.bottom-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);min-height:56px;min-width:56px;border-radius:var(--radius-card);color:var(--color-ink-tab);font-weight:600;font-size:11px;text-decoration:none}.bottom-tab svg{width:var(--icon-lg);height:var(--icon-lg);stroke:currentColor;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.bottom-tab:focus-visible{outline:3px solid var(--color-primary);outline-offset:-3px}.bottom-tab-active{color:var(--color-primary)}.bottom-tab-active svg{stroke:var(--color-primary)}@media(max-width:820px){.top-bar{gap:var(--space-3);padding-inline:var(--space-4)}.top-search{display:none}.top-tools .tb-search-mobile{display:flex}.top-tools .tb-chat{display:none}.shell-wrap{flex-direction:column;align-items:stretch;padding-bottom:calc(56px + var(--space-2) * 2 + var(--space-4) + env(safe-area-inset-bottom))}.shell-content{order:1}.side-col{position:static;width:100%;order:3}.side{display:none}.bottom-tabs{display:flex}.rail{width:100%;position:static;order:2}}.rail{flex-shrink:0;width:208px;position:sticky;top:calc(64px + var(--space-4));display:flex;flex-direction:column;gap:var(--space-4)}.rail-card{display:flex;flex-direction:column;gap:var(--space-2);padding-block:var(--space-2)}.rail-card h3{margin:0}.rail-event-list{list-style:none;margin:0;padding:0}.rail-event-row{display:flex;align-items:center;gap:var(--space-3);padding-block:var(--space-2)}.rail-event-row+.rail-event-row{border-top:1px solid color-mix(in srgb,var(--color-ink) 15%,transparent)}.rail-event-icon{flex-shrink:0;width:44px;height:44px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-lg)}.rail-event-icon-birthday{background:var(--color-rail-icon-birthday-bg)}.rail-event-icon-memorial{background:var(--color-rail-icon-memorial-bg)}.rail-event-icon-event{background:var(--color-rail-icon-event-bg)}.rail-event-body{flex:1;min-width:0;display:flex;flex-direction:column}.rail-event-title{font-weight:700;color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-event-sub{font-size:12px;color:var(--color-ink-section);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-event-when{flex:none;font-size:12px;color:var(--color-ink-section);font-weight:600;white-space:nowrap}.home-hero-card{display:flex;align-items:center;gap:var(--space-4);margin-block-end:var(--space-5)}.home-hero-emoji{font-size:var(--font-size-xl);flex-shrink:0}.home-hero-body{display:flex;flex-direction:column;gap:var(--space-1)}.home-hero-kicker{margin:0;font-size:14px;color:var(--color-ink-muted);font-weight:600}.home-hero-title{margin:0;color:var(--color-ink-heading);font-size:var(--font-size-lg);font-weight:700}.home-hero-date{margin:0;font-size:var(--font-size-caption);color:var(--color-ink-section)}.home-member-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--space-4)}.home-member-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);text-align:center;padding:var(--space-4) var(--space-2)}.av{border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;flex-shrink:0}.av-40{width:40px;height:40px;font-size:15px}.av-56{width:56px;height:56px;font-size:var(--font-size-lg)}.avatar-photo{object-fit:cover;display:block}.avatar-grad-0{background:linear-gradient(145deg,var(--color-ring-green),#2f8a57)}.avatar-grad-1{background:linear-gradient(145deg,var(--color-ring-blue),#3e6e8e)}.avatar-grad-2{background:linear-gradient(145deg,var(--color-ring-rose),#b96a6a)}.avatar-grad-3{background:linear-gradient(145deg,var(--color-accent),#b4573b)}.avatar-grad-4{background:linear-gradient(145deg,#c79a5b,#b4573b)}.field{display:flex;flex-direction:column;gap:var(--space-2);margin-block-end:var(--space-5)}.field label{color:var(--color-ink-section);font-weight:600}.field input{min-height:var(--target-min);padding-inline:var(--space-4);border-radius:var(--radius-card);border:2px solid var(--color-border-field);background:var(--color-surface-card);color:var(--color-ink)}.field input:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.btn-primary{min-height:var(--target-min);min-width:var(--target-min);padding-inline:var(--space-5);border-radius:var(--radius-pill);border:none;background:var(--color-primary);color:var(--color-on-primary);font-weight:700;cursor:pointer}.btn-primary:hover:not(:disabled){background:var(--color-primary-deep)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-primary:focus-visible{outline:3px solid var(--color-ink-heading);outline-offset:2px}.btn-link{min-height:var(--target-min);background:none;border:none;color:var(--color-ink-heading);font-weight:600;cursor:pointer;text-decoration:underline}.btn-link:disabled{opacity:.5;cursor:not-allowed;text-decoration:none}.btn-link:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.btn-danger{min-height:var(--target-min);min-width:var(--target-min);padding-inline:var(--space-5);border-radius:var(--radius-pill);border:2px solid var(--color-error-ink);background:transparent;color:var(--color-error-ink);font-weight:700;cursor:pointer}.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--color-error-ink) 12%,transparent)}.btn-danger:disabled{opacity:.6;cursor:not-allowed}.btn-danger:focus-visible{outline:3px solid var(--color-ink-heading);outline-offset:2px}.btn-whatsapp{display:inline-flex;align-items:center;justify-content:center;min-height:56px;min-width:56px;padding-inline:var(--space-5);border-radius:var(--radius-pill);border:2px solid var(--color-primary-deep);background:transparent;color:var(--color-primary-deep);font-weight:700;font-size:var(--font-size-lg);text-decoration:none;cursor:pointer}.btn-whatsapp:hover{background:color-mix(in srgb,var(--color-primary-deep) 12%,transparent)}.btn-whatsapp:focus-visible{outline:3px solid var(--color-ink-heading);outline-offset:2px}.error-text{color:var(--color-error-ink);font-weight:600}.card{background:var(--color-surface-card);border:1px solid var(--color-line);border-radius:var(--radius-card);padding:var(--space-5);box-shadow:var(--shadow-card)}.member-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.member-row{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4)}.member-avatar{flex-shrink:0;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--color-surface-avatar);border:3px solid var(--color-ring-blue);color:var(--color-ink-name);font-weight:700;font-size:var(--font-size-lg)}.member-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.member-name{color:var(--color-ink-name);font-weight:700}.member-city{color:var(--color-ink-muted)}.member-phone{color:var(--color-call);font-weight:600;text-decoration:none;min-height:var(--target-min);display:inline-flex;align-items:center}.member-phone:hover{text-decoration:underline}
