@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Patrick+Hand:wght@400;600;700;800&display=swap";.user-context-container{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem;text-align:center;font-family:var(--font-primary)}.user-context-error{max-width:var(--content-max-width-small);padding:2rem;border:2px solid var(--error-dark);border-radius:8px;background-color:var(--error-light)}.user-context-error-title{color:var(--error-dark);margin-bottom:1rem}.user-context-error-text{color:var(--primary);margin-bottom:1.5rem}.user-context-retry-button{padding:.75rem 1.5rem;background-color:var(--primary-button);color:var(--link-color);border:none;border-radius:4px;cursor:pointer;font-size:var(--font-size-base);font-weight:600;transition:opacity .2s ease}.user-context-retry-button:hover{opacity:.9}.user-context-loading{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;text-align:center;font-family:var(--font-primary)}.user-context-spinner{width:40px;height:40px;border:4px solid var(--background-primary);border-top:4px solid var(--primary-button);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.user-context-loading-text{color:var(--primary)}.families-container{max-width:var(--content-max-width);margin:0 auto;padding:2rem;background-color:var(--background-white);border-radius:8px;box-shadow:0 2px 4px var(--black-10);width:100%;box-sizing:border-box;overflow-x:hidden}.families-auth-message{padding:2rem;text-align:center}.families-header{text-align:center;margin-bottom:2rem}.families-title{font-size:var(--font-size-3xl);margin-bottom:.5rem;font-weight:700;color:var(--primary);font-family:var(--font-primary)}.families-subtitle{font-size:var(--font-size-xl);color:var(--text-secondary);margin-bottom:1rem;font-family:var(--font-primary)}.families-section{margin-bottom:2rem}.families-section-title{font-size:var(--font-size-2xl);margin:3rem 0 1rem;color:var(--primary);font-family:var(--font-primary)}.families-cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.families-card{background:var(--background-white);border:1px solid var(--border-light);border-radius:12px;padding:1.5rem;transition:all .3s ease;display:flex;flex-direction:column;min-height:14rem}.families-create-button{background:var(--gradient-button);color:var(--link-color);border:none;border-radius:8px;padding:1rem 2rem;font-size:var(--font-size-lg);font-weight:600;font-family:var(--font-primary);cursor:pointer;transition:all .3s ease;display:block;margin:0 auto 2rem;max-width:300px;width:100%}.families-create-button:hover{background:linear-gradient(135deg,var(--secondary) 0%,var(--tertiary) 100%);transform:translateY(-2px);box-shadow:0 8px 20px var(--black-30)}.families-create-button:active{transform:translateY(0);box-shadow:0 4px 10px var(--black-30)}.families-create-button:disabled{background:var(--disabled);cursor:not-allowed;opacity:.8}.families-create-button:disabled:hover{transform:none}.families-card--family{background:var(--gradient-background);border:1px solid var(--border-light)}.families-card--family:hover{transform:translateY(-2px);box-shadow:0 8px 20px var(--black-30)}.families-card--family:active{transform:translateY(0);box-shadow:0 4px 10px var(--black-30)}.families-card-icon{font-size:var(--font-size-2xl);margin-bottom:1rem;text-align:center}.families-card-title{font-size:var(--nav-icon-font-size);font-weight:600;margin-bottom:.75rem;font-family:var(--font-primary)}.families-card-title--family{color:var(--primary)}.families-card-description{font-size:var(--font-size-sm);line-height:1.5;margin-bottom:1rem;flex-grow:1;font-family:var(--font-primary)}.families-card-meta-row{display:flex;align-items:flex-end;gap:1rem;margin-top:0}.families-card-meta{flex:1 1 0;min-width:0;margin-bottom:0}.families-card-meta-item{margin:.25rem 0;font-size:var(--font-size-md);color:var(--text-secondary);font-family:var(--font-primary)}.families-card-actions{display:flex;gap:.75rem;flex-shrink:0;justify-content:flex-end}.families-card-action{flex:1;padding:.5rem;border-radius:6px;font-size:var(--font-size-md);font-weight:500;cursor:pointer;transition:all .2s ease;font-family:var(--font-primary);background:var(--background-white);color:var(--primary);border:1px solid var(--primary)}.families-card-action:hover{transform:translateY(-1px);box-shadow:0 4px 8px var(--black-15);background:var(--gradient-button);color:var(--link-color)}.families-card-action--danger{flex:0 0 auto;color:var(--text-secondary);border-color:var(--border-light)}.families-card-action--danger:hover{background:var(--error-bg);color:var(--error);border-color:var(--error)}.families-card-action:disabled{opacity:.6;cursor:not-allowed;transform:none}.families-help{text-align:center;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border-light)}.families-help-text{color:var(--text-secondary);font-size:var(--font-size-sm);margin:0;font-family:var(--font-primary)}.families-help-link{color:var(--primary);text-decoration:none;font-weight:500}.families-help-link:hover{text-decoration:underline}.families-empty-state{grid-column:1 / -1;text-align:center;padding:2rem;background-color:var(--background-primary);border-radius:8px;border:2px dashed var(--border-light)}.families-empty-text{color:var(--text-secondary);font-size:var(--font-size-lg);margin:0;font-style:italic}.spinner-container{display:flex;justify-content:center;align-items:center;padding:3rem 2rem;min-height:200px}.spinner-content{text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem}.spinner{position:relative;border-radius:50%;background:conic-gradient(from 0deg,var(--primary) 0deg,var(--primary-bg-medium) 90deg,var(--primary-bg-light) 180deg,transparent 270deg,var(--primary) 360deg);animation:spin 1.2s linear infinite;margin:0}.spinner:before{content:"";position:absolute;top:3px;left:3px;right:3px;bottom:3px;background:var(--background-white);border-radius:50%}.spinner-message{color:var(--text-secondary);font-family:var(--font-primary);font-size:var(--font-size-base);margin:0;font-weight:500}@media (max-width: 768px){.families-container{padding:1rem;margin:0 .5rem}.families-cards-grid{grid-template-columns:1fr;gap:1rem}}@media (max-width: 480px){.families-container{padding:1rem;margin:0 .5rem}.families-title{font-size:var(--font-size-2xl)}.families-cards-grid{grid-template-columns:1fr;gap:.75rem}}.families-card--clickable{cursor:pointer}.gedcom-upload-container{max-width:var(--content-max-width);margin:0 auto;padding:2rem;background-color:var(--background-white);border-radius:8px;box-shadow:0 2px 4px var(--black-10)}.gedcom-upload-header{margin-bottom:2rem}.gedcom-upload-title{margin:0;font-family:var(--font-primary);font-size:var(--font-size-2xl);font-weight:600;color:var(--primary)}.gedcom-upload-description{color:var(--text-secondary);margin-bottom:2rem;font-family:var(--font-primary)}.gedcom-upload-section{margin-bottom:1.5rem}.gedcom-upload-label{display:block;margin-bottom:.5rem;font-weight:500;font-family:var(--font-primary)}.gedcom-upload-input{width:100%;padding:.5rem;border:1px solid var(--gray-border);border-radius:4px;font-size:var(--font-size-base);font-family:var(--font-primary)}.gedcom-upload-file-info{margin-bottom:1.5rem;padding:1rem;background-color:var(--background-primary);border-radius:4px;border:1px solid var(--gray-border-light)}.gedcom-upload-file-info strong{font-family:var(--font-primary)}.gedcom-upload-error{margin-bottom:1.5rem;padding:1rem;background-color:var(--warning-light);color:var(--warning-dark);border-radius:4px;border:1px solid var(--warning-border);font-family:var(--font-primary)}.gedcom-upload-success{margin-bottom:1.5rem;padding:1rem;background-color:var(--success-message);color:var(--success-message-text);border-radius:4px;border:1px solid var(--success-message-border);font-family:var(--font-primary)}.gedcom-upload-actions{display:flex;gap:1rem}.gedcom-upload-button{padding:.75rem 1.5rem;border-radius:4px;font-size:var(--font-size-base);font-family:var(--font-primary);font-weight:500;cursor:pointer;border:none;transition:all .2s ease}.gedcom-upload-button--cancel{background-color:transparent;color:var(--text-secondary);border:1px solid var(--gray-border)}.gedcom-upload-button--cancel:hover:not(:disabled){background-color:var(--background-primary)}.gedcom-upload-button--cancel:disabled{cursor:not-allowed;opacity:.6}.gedcom-upload-button--upload{background:var(--gradient-button);color:var(--link-color);border-radius:12px;font-weight:600;display:flex;align-items:center;gap:.5rem;justify-content:left;box-sizing:border-box;min-width:calc(14ch + 3rem)}.gedcom-upload-button--upload:disabled{background:var(--disabled);cursor:not-allowed}.gedcom-upload-button--upload:not(:disabled):hover{opacity:.9}.gedcom-upload-button--reset{background-color:transparent;color:var(--disabled);border:1px solid var(--disabled)}.gedcom-upload-button--reset:hover:not(:disabled){background-color:var(--background-primary)}.gedcom-upload-button--reset:disabled{cursor:not-allowed;opacity:.6}.gedcom-upload-status-text{text-transform:capitalize}.gedcom-upload-auth-message,.gedcom-upload-no-family{padding:2rem;text-align:center}.gedcom-upload-no-family-text{margin-bottom:1rem;color:var(--text-secondary)}.gedcom-upload-select-family-link{display:inline-block;padding:.75rem 1.5rem;background-color:var(--gradient-button);color:var(--link-color);text-decoration:none;border-radius:6px;font-size:var(--font-size-base);font-weight:600}.gedcom-upload-select-family-link:hover{opacity:.9}@media (max-width: 768px){.gedcom-upload-container{padding:1.5rem}}@media (max-width: 430px){.gedcom-upload-container{padding:1rem}.gedcom-upload-title{font-size:var(--font-size-lg)}.gedcom-upload-description{margin-bottom:1.5rem;font-size:var(--font-size-sm)}.gedcom-upload-section{margin-bottom:1rem}.gedcom-upload-file-info,.gedcom-upload-error,.gedcom-upload-success{padding:.75rem;margin-bottom:1rem}.gedcom-upload-actions{flex-direction:column;gap:.75rem}.gedcom-upload-button{width:100%;padding:.625rem 1rem}}.pedigree-screen{width:100%;height:100%;display:flex;flex-direction:column;min-height:0;padding:2rem;max-width:var(--content-max-width);margin:0 auto;box-sizing:border-box;overflow-y:auto}.pedigree-container{display:flex;flex-direction:column;gap:max(1rem,calc(var(--pedigree-line-vertical-space-px, 50) * 1px - 1rem));padding:1rem;width:100%;flex:1 1 auto;min-height:min-content;box-sizing:border-box;position:relative;z-index:0}.generation-grandparents{margin-bottom:.75rem}.generation-parents,.generation-root{margin-top:.25rem;margin-bottom:.75rem}.generation-children{margin-top:.25rem}.generation{display:flex;justify-content:space-around;align-items:center;gap:20px;position:relative;flex:0 0 auto;min-height:max(132px,calc(var(--pedigree-card-height-px, 120) * 1px + 12px))}.generation-label{position:absolute;left:50%;top:-.35rem;transform:translate(-50%,-100%);z-index:5;text-shadow:2px 0 0 var(--background-white),-2px 0 0 var(--background-white),0 2px 0 var(--background-white),0 -2px 0 var(--background-white);font-family:var(--font-primary);font-size:var(--font-size-4xs);font-weight:500;color:var(--text-subtle);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;pointer-events:none}.generation-grandparents{display:grid;grid-template-columns:1fr 1fr;gap:2rem;justify-items:center;align-items:center}.partnership,.grandparent-partnership{display:flex;gap:2rem;justify-content:center;align-items:center}.generation-children{flex-wrap:wrap}.generation-children__content{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:2rem}.generation-children__loading{font-size:var(--font-size-3xs);color:var(--text-subtle)}.spouse-pair{display:flex;gap:20px;justify-content:center;align-items:center}.spouse-switcher{position:relative;z-index:10}.spouse-switcher-toggle{background:var(--white-95);border:1px solid var(--gray-border-light);border-radius:4px;box-shadow:0 1px 2px var(--black-10);cursor:pointer;padding:2px 6px;display:flex;align-items:center;gap:2px;transition:all .2s ease}.spouse-switcher-toggle:hover{background:var(--background-white);box-shadow:0 2px 4px var(--black-15)}.spouse-switcher-content{display:flex;align-items:center;gap:2px}.spouse-switcher-count{color:var(--text-primary);font-size:var(--font-size-4xs);font-weight:600}.spouse-switcher-label{color:var(--text-secondary);font-size:var(--font-size-4xs);font-weight:500}.spouse-switcher-arrow{color:var(--text-secondary);font-size:.5rem;margin-left:1px}.spouse-switcher-dropdown{background:var(--background-white);border:1px solid var(--border-light);border-radius:6px;box-shadow:0 4px 12px var(--black-15);z-index:20;min-width:180px;max-width:240px;padding:4px 0}.spouse-option{display:block;width:100%;padding:8px 12px;border:none;background:var(--background-white);color:var(--text-primary);cursor:pointer;font-size:var(--font-size-3xs);text-align:center;transition:background-color .2s ease;outline:none}.spouse-option:hover{background-color:var(--background-primary)}.spouse-option.active{background-color:var(--background-tertiary);color:var(--link-color)}.spouse-option:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.spouse-option:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px}.relationship-line{transition:stroke .2s ease}.relationship-line:hover{stroke-width:3!important}.connection-point{transition:fill .2s ease}.pedigree-screen__header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:2rem}.pedigree-screen__show-pets-toggle{display:flex;align-items:center;gap:.5rem;font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-primary)}.pedigree-screen__switch{width:36px;height:20px;min-width:36px;background-color:var(--gray-border-light);border-radius:10px;position:relative;cursor:pointer;border:1px solid var(--gray-border);transition:background-color .2s ease;padding:0}.pedigree-screen__switch[data-state=checked]{background-color:var(--tertiary);border-color:var(--tertiary)}.pedigree-screen__switch:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.pedigree-screen__switch-thumb{display:block;position:absolute;top:2px;left:2px;width:14px;height:14px;background-color:var(--background-white);border-radius:50%;box-shadow:0 1px 2px var(--black-15);transition:left .2s ease;pointer-events:none}.pedigree-screen__switch[data-state=checked] .pedigree-screen__switch-thumb{left:20px}.pedigree-screen__title{margin:0;font-family:var(--font-primary);font-size:var(--font-size-2xl);font-weight:600;color:var(--primary)}.pedigree-screen__error{padding:2rem;text-align:center}.pedigree-screen__error-title{color:var(--error-dark);font-family:var(--font-primary)}.pedigree-screen__error-hint{margin:1rem 0 0;font-family:var(--font-primary);color:var(--text-secondary)}.pedigree-screen__refresh-link{color:var(--tertiary);text-decoration:underline;cursor:pointer}.pedigree-screen__refresh-link:hover{color:var(--primary)}.pedigree-screen__loading{display:flex;justify-content:center;align-items:center;height:400px}.pedigree-screen__loading-content{text-align:center}.pedigree-screen__spinner{width:40px;height:40px;border:4px solid var(--background-primary);border-top:4px solid var(--primary-button);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem;background-color:var(--background-white)}.pedigree-screen__loading-text{font-family:var(--font-primary)}@media (max-height: 850px){.pedigree-screen{padding:1rem 2rem}.pedigree-container{gap:.5rem;padding:.5rem}.generation{gap:12px}.generation-grandparents{margin-bottom:.5rem;gap:1rem}.generation-parents,.generation-root{margin-top:.25rem;margin-bottom:.5rem}.generation-children{margin-top:.25rem}.partnership{gap:1rem}}@media (max-height: 550px){.pedigree-container{gap:.25rem;padding:.25rem}.generation{gap:8px}.generation-grandparents{margin-bottom:.25rem}.generation-parents,.generation-root{margin-top:.125rem;margin-bottom:.25rem}.generation-children{margin-top:.125rem}}@media (max-width: 768px){.pedigree-container{gap:24px;padding:12px}.generation{gap:12px;min-height:132px}.spouse-pair{gap:12px}.generation-grandparents{margin-bottom:.5rem;gap:.5rem}.grandparent-partnership,.partnership{gap:.5rem}.generation-parents,.generation-root{margin-top:.25rem;margin-bottom:.5rem}.generation-children{margin-top:.25rem}}@media (max-width: 449px){.pedigree-screen{padding:1rem}}@media (max-width: 430px){.pedigree-container{gap:15px;padding:8px}.generation,.spouse-pair{gap:8px}.generation-grandparents{display:none}.generation-parents{margin-top:.25rem;margin-bottom:.5rem;max-height:70px}.generation-root{margin-top:.25rem;margin-bottom:.5rem}.generation-children{margin-top:.25rem}.grandparent-partnership,.partnership{gap:.5rem}}@media (max-width: 768px){.pedigree-screen__title,.family-members-screen__title,.family-sources-screen__title,.family-media-screen__title,.invite-family-members-title{font-size:var(--font-size-xl)}.pedigree-screen__header,.family-members-screen__header,.family-sources-screen__header,.family-media-screen__header,.invite-family-members-header{margin-bottom:1rem}}@media (max-width: 449px){.pedigree-screen__title,.family-members-screen__title,.family-sources-screen__title,.family-media-screen__title,.invite-family-members-title{font-size:var(--font-size-lg)}.pedigree-screen__header,.family-members-screen__header,.family-sources-screen__header,.family-media-screen__header,.invite-family-members-header{margin-bottom:.5rem}}@media (max-height: 850px){.pedigree-screen__header,.family-members-screen__header,.family-sources-screen__header,.family-media-screen__header,.invite-family-members-header{margin-bottom:1rem}}@media (max-height: 550px){.pedigree-screen__header,.family-members-screen__header,.family-sources-screen__header,.family-media-screen__header,.invite-family-members-header{margin-bottom:.5rem}}.tooltip-content{padding:.5rem .75rem;font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-inverse);background-color:var(--text-dark);border-radius:4px;max-width:280px;z-index:9999}.person-card{padding:8px 8px 36px;border-radius:8px;width:180px;min-height:148px;height:148px;font-family:var(--font-primary);box-shadow:0 2px 4px var(--black-10);cursor:default;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;position:relative;z-index:2;background-color:var(--background-white)}.person-card--tree{cursor:pointer;transition:all .2s ease}.person-card--tree:hover{box-shadow:0 6px 16px var(--black-30),0 2px 6px var(--black-15)}.person-card--tree.person-card--not-clickable{cursor:default}.person-card--tree.person-card--not-clickable:hover{box-shadow:0 2px 4px var(--black-10)}.person-card--not-clickable{cursor:default}.person-card-error{border:2px dashed var(--background-primary);background-color:var(--background-primary);color:var(--text-secondary);font-size:var(--font-size-3xs)}.person-card-error-id{font-size:var(--font-size-4xs);margin-top:4px}.person-card-name-container{display:flex;align-items:flex-start;gap:6px;width:100%;margin-bottom:6px}.person-card-name{font-weight:600;font-size:var(--font-size-xs);color:var(--primary);word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;line-height:1.2;text-align:left;flex:1;min-width:0;min-height:2.4em}.person-card-name--deceased{color:var(--text-secondary)}.person-card-indicator{font-size:var(--font-size-sm);line-height:1;flex-shrink:0;width:20px;text-align:center}.person-card-body{display:flex;flex-direction:row;align-items:flex-start;gap:8px;flex:1;width:100%}.person-card-photo{width:40px;height:40px;flex-shrink:0;overflow:hidden;border-radius:6px}.person-card-photo-img{width:100%;height:100%;object-fit:cover;display:block}.person-card--pet{border-radius:30px;background-repeat:no-repeat;background-position:center center;background-size:72px 72px;overflow:hidden}.person-card--pet .person-card-body,.person-card--pet .person-card-name-container{position:relative;z-index:1}.person-card--pet-category-dog,.person-card--pet-category-cat,.person-card--pet-category-bird,.person-card--pet-category-reptile,.person-card--pet-category-aquatic,.person-card--pet-category-mammal,.person-card--pet-category-other,.person-card--pet-category-equine,.person-card--pet-category-amphibian,.person-card--pet-category-invertebrate,.person-card--pet-category-exotic{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cellipse fill='%23f2f2f2' cx='32' cy='42' rx='12' ry='14'/%3E%3Cellipse fill='%23f2f2f2' cx='16' cy='24' rx='8' ry='10'/%3E%3Cellipse fill='%23f2f2f2' cx='48' cy='24' rx='8' ry='10'/%3E%3Cellipse fill='%23f2f2f2' cx='26' cy='10' rx='7' ry='9'/%3E%3Cellipse fill='%23f2f2f2' cx='38' cy='10' rx='7' ry='9'/%3E%3C/svg%3E")}.person-card-photo-placeholder{width:100%;height:100%;border-radius:6px;background-color:var(--gray-bg);border:2px solid var(--gray-border-light);display:flex;align-items:center;justify-content:center;overflow:hidden}.person-card-photo-icon{font-size:var(--font-size-lg);opacity:.5}.person-card-metadata{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:2px;flex:1;min-width:0}.person-card-bottom-row{position:absolute;bottom:8px;left:8px;right:8px;display:flex;align-items:center;justify-content:space-between;gap:4px;z-index:15}.person-card-actions{display:flex;gap:4px;margin-left:auto}.person-card-action{width:24px;height:24px;padding:0;border:1px solid var(--gray-border-light);border-radius:4px;background-color:var(--background-white);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);line-height:1;transition:all .2s ease;box-shadow:0 1px 2px var(--black-10)}.person-card-action:hover{background-color:var(--gray-hover);border-color:var(--primary);transform:scale(1.1);box-shadow:0 2px 4px var(--black-15)}.person-card-action:active{transform:scale(.95)}.person-card-action-wrap{position:relative}.person-card-action-wrap--add{display:flex;align-items:center}.person-card-action--add{font-size:var(--font-size-lg);font-weight:600;line-height:1;color:var(--tertiary)}.person-card-action--add:hover{border-color:var(--tertiary)}.person-card-add-dropdown{min-width:100px;padding:4px 0;background-color:var(--background-white);border:1px solid var(--gray-border-light);border-radius:4px;box-shadow:0 2px 8px var(--black-15);z-index:20;display:flex;flex-direction:column}.person-card-add-dropdown__item{padding:6px 12px;font-family:var(--font-primary);font-size:var(--font-size-sm);text-align:left;background:none;border:none;cursor:pointer;color:var(--primary);outline:none}.person-card-add-dropdown__item:hover:not(:disabled){background-color:var(--gray-hover)}.person-card-add-dropdown__item--disabled{color:var(--text-secondary);opacity:.6;cursor:not-allowed}.person-card-years{font-size:var(--font-size-3xs);color:var(--text-secondary);margin-bottom:2px;font-weight:600}.person-card-age{font-size:var(--font-size-4xs);color:var(--text-secondary);margin-bottom:2px}.person-card--tree-anchor{border:2px solid var(--primary)}.person-card--generation-0{border:2px solid var(--brown-light)}.person-card--generation-parents{border:2px solid var(--tertiary)}.person-card--generation-children{border:2px solid var(--brown-dark)}.person-card--gray-border{border:2px solid var(--border-light)}.person-card--deceased{background-color:var(--background-primary)}@media (max-width: 820px){.person-card{width:160px;min-height:153px;height:153px;padding:8px 8px 36px}.person-card-photo{width:40px;height:40px}.person-card-name{font-size:var(--font-size-sm)}.person-card-years,.person-card-age{font-size:var(--font-size-4xs)}}@media (max-width: 430px){.person-card{width:140px;min-height:146px;height:146px;padding:6px 6px 34px;gap:4px}.person-card-photo{width:40px;height:40px;margin-bottom:2px}.person-card-action{width:20px;height:20px;font-size:var(--font-size-xs)}.person-card-actions{gap:2px}.person-card-name{font-size:var(--font-size-3xs)}.person-card-years,.person-card-age{font-size:var(--font-size-4xs)}}.relationship-lines-svg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;opacity:1;visibility:visible}.error-boundary{padding:2rem;text-align:center}.error-boundary-details{white-space:pre-wrap}.family-creation-container{max-width:var(--content-max-width-small);margin:0 auto;padding:2rem;background-color:var(--background-white);border-radius:8px;box-shadow:0 2px 4px var(--black-10)}.family-creation-title{font-family:var(--font-primary);font-weight:600;margin-bottom:.5rem}.family-creation-description{color:var(--text-secondary);margin-bottom:2rem;font-family:var(--font-primary)}.family-creation-disabled-message{margin-bottom:1.5rem;padding:1rem;background-color:var(--background-primary);color:var(--text-secondary);border-radius:8px;border:1px solid var(--gray-border-light);font-family:var(--font-primary)}.family-creation-field{margin-bottom:1.5rem}.family-creation-label{display:block;margin-bottom:.5rem;font-weight:500;font-family:var(--font-primary)}.family-creation-input{width:100%;padding:.75rem;border:1px solid var(--gray-border);border-radius:8px;font-size:var(--font-size-base);font-family:var(--font-primary);background-color:var(--background-white)}.family-creation-input:disabled{background-color:var(--background-primary)}.family-creation-error{margin-bottom:1.5rem;padding:1rem;background-color:var(--warning-light);color:var(--warning-dark);border-radius:8px;border:1px solid var(--warning-border);font-family:var(--font-primary)}.family-creation-success{margin-bottom:1.5rem;padding:1rem;background-color:var(--success-message);color:var(--success-message-text);border-radius:8px;border:1px solid var(--success-message-border);font-family:var(--font-primary)}.family-creation-buttons{display:flex;gap:1rem;justify-content:flex-end}.family-creation-button{padding:.75rem 1.5rem;border-radius:8px;font-size:var(--font-size-base);font-family:var(--font-primary);font-weight:500;cursor:pointer}.family-creation-button--cancel{background-color:transparent;color:var(--text-secondary);border:1px solid var(--gray-border)}.family-creation-button--cancel:disabled{cursor:not-allowed}.family-creation-button--submit{background:var(--gradient-button);color:var(--link-color);border:none;font-weight:600}.family-creation-button--submit:disabled{background:var(--disabled);cursor:not-allowed}.family-creation-button--submit:not(:disabled){background:var(--gradient-button)}.family-creation-next-steps{margin-top:2rem;padding:1.5rem;background-color:var(--background-primary);border-radius:8px;border:1px solid var(--gray-border-light)}.family-creation-next-steps-title{font-family:var(--font-primary);font-weight:600;margin-bottom:1rem}.family-creation-next-steps-content{font-family:var(--font-primary);color:var(--text-secondary)}.family-creation-next-steps-item{margin-bottom:.5rem}.family-creation-next-steps-item:last-child{margin-bottom:0}.family-creation-auth-message{padding:2rem;text-align:center}.family-creation-auth-message h2{font-family:var(--font-primary);font-weight:600}.family-members-screen{display:flex;flex-direction:column;height:100%;width:100%;padding:2rem;max-width:var(--content-max-width);margin:0 auto}.family-members-screen__header{margin-bottom:2rem}.family-members-screen__title{margin:0;font-family:var(--font-primary);font-size:var(--font-size-2xl);font-weight:600;color:var(--primary)}.family-members-screen__filter-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.family-members-screen__filter-buttons{display:flex;gap:.5rem}.family-members-screen__filter-button{padding:.5rem 1rem;font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:500;color:var(--text-dark);background-color:var(--background-white);border:1px solid var(--border-light);border-radius:4px;cursor:pointer;transition:all .2s ease}.family-members-screen__filter-button:hover{background-color:var(--gray-hover);border-color:var(--gray-border-hover)}.family-members-screen__filter-button--active{background-color:var(--primary);color:var(--link-color);border-color:var(--primary)}.family-members-screen__filter-button--active:hover{background-color:var(--secondary);border-color:var(--secondary)}.family-members-screen__search-wrap{position:relative;display:inline-block}.family-members-screen__search{padding:.5rem 2rem .5rem 1rem;font-family:var(--font-primary);font-size:var(--font-size-md);color:var(--text-dark);background-color:var(--background-white);border:1px solid var(--border-light);border-radius:4px;min-width:300px;transition:border-color .2s ease}.family-members-screen__search:focus{outline:none;border-color:var(--primary)}.family-members-screen__search-clear{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);width:1.25rem;height:1.25rem;padding:0;border:none;background:none;color:var(--text-secondary);font-size:var(--font-size-lg);line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:2px}.family-members-screen__search-clear:hover{color:var(--text-primary);background-color:var(--gray-hover)}.family-members-screen__grid{display:grid;grid-template-columns:repeat(auto-fill,180px);justify-content:space-between;row-gap:1.5rem;max-width:100%;padding-bottom:2rem}@media (min-width: 900px){.family-members-screen__grid{grid-template-columns:repeat(4,180px);justify-content:space-between}}@media (min-width: 700px) and (max-width: 899px){.family-members-screen__grid{grid-template-columns:repeat(3,180px);justify-content:space-between}}@media (min-width: 450px) and (max-width: 699px){.family-members-screen__grid{grid-template-columns:repeat(2,180px);justify-content:space-between}}@media (max-width: 449px){.family-members-screen{padding:1rem}.family-members-screen__grid{grid-template-columns:repeat(2,140px);justify-content:space-between;gap:1rem}}@media (max-width: 768px){.family-members-screen__filter-button{font-size:var(--font-size-sm);padding:.4rem .75rem}.family-members-screen__search{font-size:var(--font-size-sm)}}@media (max-width: 480px){.family-members-screen__filter-button{font-size:var(--font-size-xs);padding:.35rem .5rem}.family-members-screen__search{font-size:var(--font-size-xs)}}.family-members-screen__loading{display:flex;flex-direction:column;justify-content:center;align-items:center;height:400px;text-align:center}.family-members-screen__empty{display:flex;justify-content:center;align-items:center;padding:3rem;text-align:center}.family-members-screen__empty-text{font-family:var(--font-primary);color:var(--text-secondary)}.family-members-screen__error{padding:2rem;text-align:center}.family-members-screen__error-title{color:var(--error);font-family:var(--font-primary)}.family-members-screen__spinner{width:40px;height:40px;border:4px solid var(--background-primary);border-top:4px solid var(--primary-button);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.family-members-screen__loading-text{font-family:var(--font-primary)}.media-tag-modal[data-state=closed]{display:none}.media-tag-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--black-50);display:flex;align-items:center;justify-content:center}.media-tag-modal__content[data-state=closed]{display:none}.media-tag-modal__content{position:relative;margin:auto;background:var(--background-white);border-radius:8px;max-width:360px;width:90vw;display:flex;flex-direction:column;overflow:hidden}.media-tag-modal__header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--gray-border-light)}.media-tag-modal__title{margin:0;font-family:var(--font-primary);font-size:var(--font-size-lg);font-weight:600}.media-tag-modal__close{padding:.25rem .5rem;font-size:var(--font-size-2xl, 1.5rem);line-height:1;background:none;border:none;cursor:pointer;color:var(--text-secondary)}.media-tag-modal__close:hover{color:var(--text-primary)}.media-tag-modal__body{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.media-tag-modal__hint{margin:0;font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-secondary)}.media-tag-modal__tag-list{display:flex;flex-direction:column;gap:.5rem}.media-tag-modal__tag-list-label{font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:500;color:var(--text-dark)}.media-tag-modal__tag-item{display:flex;align-items:center;gap:.5rem;font-family:var(--font-primary);font-size:var(--font-size-base);cursor:pointer}.media-tag-modal__tag-item input{margin:0}.media-tag-modal__create{display:flex;flex-direction:column;gap:.5rem}.media-tag-modal__create-label{font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:500;color:var(--text-dark)}.media-tag-modal__create-row{display:flex;gap:.5rem}.media-tag-modal__create-input{flex:1;padding:.5rem .75rem;font-family:var(--font-primary);font-size:var(--font-size-base);border:1px solid var(--border-light);border-radius:4px}.media-tag-modal__create-button{padding:.5rem 1rem;font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:500;color:var(--primary);background:transparent;border:1px solid var(--primary);border-radius:4px;cursor:pointer}.media-tag-modal__create-button:hover:not(:disabled){background:var(--primary-bg-light)}.media-tag-modal__create-button:disabled{opacity:.5;cursor:not-allowed}.media-tag-modal__footer{padding:1rem 1.5rem;border-top:1px solid var(--gray-border-light)}.media-tag-modal__done-button{width:100%;padding:.5rem 1rem;font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:500;color:var(--background-white);background:var(--primary-button);border:none;border-radius:4px;cursor:pointer}.media-tag-modal__done-button:hover{opacity:.9}.media-card{display:flex;flex-direction:column;background:var(--background-white);border:1px solid var(--gray-border-light);border-radius:8px;overflow:hidden;cursor:default;transition:border-color .2s ease,box-shadow .2s ease}.media-card[role=button]{cursor:pointer}.media-card[role=button]:hover{border-color:var(--primary);box-shadow:0 2px 8px var(--black-10)}.media-card__thumb{position:relative;aspect-ratio:1;background:var(--gray-bg);display:flex;align-items:center;justify-content:center;min-height:140px}.media-card__img{width:100%;height:100%;object-fit:cover;display:block}.media-card__placeholder{font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-secondary);text-align:center;padding:.5rem}.media-card__tag-toggle-wrap{position:absolute;bottom:.25rem;right:.25rem}.media-card__tag-toggle{padding:.2rem .4rem;font-size:var(--font-size-md);background:var(--white-90);border:1px solid var(--gray-border-light);border-radius:4px;cursor:pointer}.media-card__tag-toggle:hover{background:var(--background-white)}.media-card__tag-menu{position:absolute;top:100%;right:0;margin-top:.25rem;padding:.5rem;background:var(--background-white);border:1px solid var(--gray-border-light);border-radius:6px;box-shadow:0 2px 8px var(--black-15);z-index:10;min-width:140px}.media-card__tag-menu-section{display:flex;flex-direction:column;gap:.25rem}.media-card__tag-menu-item{display:flex;align-items:center;gap:.5rem;font-family:var(--font-primary);font-size:var(--font-size-sm);cursor:pointer}.media-card__tag-menu-item input{margin:0}.media-card--small{width:48px;height:48px;min-width:48px;min-height:48px}.media-card--small .media-card__thumb{min-height:0;height:100%;width:100%}.media-card--small .media-card__tag-toggle-wrap{display:none}.tag-filter-dropdown{position:relative}.tag-filter-dropdown__bar{display:flex;align-items:center;gap:.5rem}.tag-filter-dropdown__trigger{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem 1rem;font-family:var(--font-primary);font-size:var(--font-size-md);color:var(--text-dark);background-color:var(--background-white);border:1px solid var(--border-light);border-radius:4px;min-width:160px;max-width:240px;cursor:pointer;transition:border-color .2s ease}.tag-filter-dropdown__trigger:hover{border-color:var(--gray-border-hover)}.tag-filter-dropdown__trigger:focus{outline:none;border-color:var(--primary)}.tag-filter-dropdown__trigger-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-filter-dropdown__trigger-arrow{flex-shrink:0;font-size:var(--font-size-xs);color:var(--text-secondary)}.tag-filter-dropdown__panel{min-width:200px;max-width:280px;max-height:320px;display:flex;flex-direction:column;background:var(--background-white);border:1px solid var(--border-light);border-radius:4px;box-shadow:0 4px 12px var(--black-50);z-index:100}.tag-filter-dropdown__mode-slider{display:flex;gap:0;flex-shrink:0}.tag-filter-dropdown__mode-option{flex:1;padding:.4rem .75rem;font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary);background:var(--gray-bg);border:1px solid var(--border-light);cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.tag-filter-dropdown__mode-option:first-child{border-radius:4px 0 0 4px;border-right-width:0}.tag-filter-dropdown__mode-option:last-child{border-radius:0 4px 4px 0}.tag-filter-dropdown__mode-option:hover{background:var(--gray-hover);color:var(--text-primary)}.tag-filter-dropdown__mode-option[data-state=on]{background:var(--primary);color:var(--link-color);border-color:var(--primary)}.tag-filter-dropdown__mode-option[data-state=on]:hover{background:var(--secondary);border-color:var(--secondary);color:var(--link-color)}.tag-filter-dropdown__search-wrap{padding:.5rem .75rem;border-bottom:1px solid var(--gray-border-light)}.tag-filter-dropdown__search{width:100%;padding:.4rem .75rem;font-family:var(--font-primary);font-size:var(--font-size-sm);border:1px solid var(--border-light);border-radius:4px}.tag-filter-dropdown__search:focus{outline:none;border-color:var(--primary)}.tag-filter-dropdown__search::placeholder{color:var(--text-secondary)}.tag-filter-dropdown__clear-link{display:block;width:100%;padding:.35rem .75rem;font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--primary);background:none;border:none;cursor:pointer;text-align:left;text-decoration:underline}.tag-filter-dropdown__clear-link:hover{color:var(--secondary)}.tag-filter-dropdown__empty{padding:.75rem 1rem;font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-secondary)}.tag-filter-dropdown__list{padding:.5rem 0;overflow-y:auto;max-height:220px}.tag-filter-dropdown__option{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-family:var(--font-primary);font-size:var(--font-size-sm);cursor:pointer;transition:background .15s ease}.tag-filter-dropdown__option:hover{background:var(--gray-hover)}.tag-filter-dropdown__checkbox{flex-shrink:0;width:1rem;height:1rem;cursor:pointer}.tag-filter-dropdown__option-label{overflow:hidden;text-overflow:ellipsis}.family-media-screen{display:flex;flex-direction:column;height:100%;width:100%;padding:2rem;max-width:var(--content-max-width);margin:0 auto}.family-media-screen__header{display:flex;align-items:center;margin-bottom:2rem}.family-media-screen__back-button{font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:500;padding:.5rem 1rem;background:var(--gray-bg);border:1px solid var(--gray-border-light);border-radius:4px;cursor:pointer;color:var(--text-primary)}.family-media-screen__back-button:hover{background:var(--gray-border-light)}.family-media-screen__title{margin:0;font-family:var(--font-primary);font-size:var(--font-size-2xl);font-weight:600;color:var(--primary)}.family-media-screen__content{margin-top:1rem}.family-media-screen__placeholder{font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-secondary);margin:0}.family-media-screen__error{padding:1rem;font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-primary)}.family-media-screen__error p{margin:0 0 1rem}.family-media-screen__upload-toggle{padding:.5rem 1rem;font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:500;color:var(--primary);background:transparent;border:1px solid var(--primary);border-radius:4px;cursor:pointer}.family-media-screen__upload-toggle:hover{background:var(--primary-bg-light)}.family-media-screen__upload-form{margin-bottom:1.5rem;margin-top:1rem;padding:1rem;background:var(--gray-bg);border-radius:8px;display:flex;flex-direction:column;gap:1rem;max-width:400px}.family-media-screen__upload-person-label{font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-dark)}.family-media-screen__upload-person-select{padding:.5rem 1rem;font-family:var(--font-primary);font-size:var(--font-size-md);border:1px solid var(--border-light);border-radius:4px}.family-media-screen__filter-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.family-media-screen__filter-group{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.family-media-screen__filter-buttons{display:flex;gap:.5rem}.family-media-screen__filter-separator{width:1px;height:1.5rem;background:var(--gray-border-light)}.family-media-screen__filter-button{padding:.5rem 1rem;font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:500;color:var(--text-dark);background-color:var(--background-white);border:1px solid var(--border-light);border-radius:4px;cursor:pointer;transition:all .2s ease}.family-media-screen__filter-button:hover{background-color:var(--gray-hover);border-color:var(--gray-border-hover)}.family-media-screen__filter-button--active{background-color:var(--primary);color:var(--link-color);border-color:var(--primary)}.family-media-screen__filter-button--active:hover{background-color:var(--secondary);border-color:var(--secondary)}.family-media-screen__tag-filter-wrap{min-width:0}.family-media-screen__count{font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-secondary);margin:0 0 1rem}.family-media-screen__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,160px));justify-content:space-between;gap:.75rem;max-width:100%;padding-bottom:2rem}@media (max-width: 449px){.family-media-screen{padding:1rem}.family-media-screen__header{flex-wrap:wrap;gap:.5rem}.family-media-screen__title{min-width:0}.family-media-screen__grid{grid-template-columns:repeat(auto-fill,140px);gap:.5rem}.family-media-screen__filter-bar{flex-direction:column;align-items:stretch}.family-media-screen__filter-buttons{justify-content:flex-start}.family-media-screen__tag-filter-wrap{width:100%}.family-media-screen__tag-filter-wrap .tag-filter-dropdown__trigger{width:100%;max-width:none}}@media (max-width: 768px){.family-media-screen__back-button,.family-media-screen__filter-button{font-size:var(--font-size-sm);padding:.4rem .75rem}}@media (max-width: 480px){.family-media-screen__back-button,.family-media-screen__filter-button{font-size:var(--font-size-xs);padding:.35rem .5rem}}.family-media-screen__loading{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:300px;text-align:center}.family-media-screen__spinner{width:40px;height:40px;border:4px solid var(--background-primary);border-top:4px solid var(--primary-button);border-radius:50%;animation:family-media-screen-spin 1s linear infinite;margin:0 auto 1rem}.family-media-screen__loading-text{font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-secondary)}.family-media-screen__empty{display:flex;justify-content:center;align-items:center;padding:3rem;text-align:center}.family-media-screen__empty-text{font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-secondary)}.family-media-screen__error-inline{padding:1.5rem;text-align:center}.family-media-screen__error-inline p{margin:0 0 .5rem;font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--error)}.family-media-screen__error-inline--server{background:var(--error-bg);border:1px solid var(--error);border-radius:8px}@keyframes family-media-screen-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.media-upload-form{display:flex;flex-direction:column;gap:.5rem}.media-upload-form__dropzone{display:flex;align-items:center;justify-content:center;min-height:120px;padding:1.5rem;background:var(--gray-bg);border:2px dashed var(--gray-border-light);border-radius:8px;cursor:pointer;transition:border-color .2s ease,background-color .2s ease}.media-upload-form__dropzone:hover:not(.media-upload-form__dropzone--uploading){border-color:var(--primary);background:var(--primary-bg-light)}.media-upload-form__dropzone--active{border-color:var(--primary);background:var(--primary-bg-light)}.media-upload-form__dropzone--uploading{cursor:wait}.media-upload-form__file-input{position:absolute;width:0;height:0;opacity:0;overflow:hidden;clip:rect(0,0,0,0)}.media-upload-form__prompt{display:flex;flex-direction:column;align-items:center;gap:.25rem}.media-upload-form__prompt-icon{font-size:var(--font-size-3xl);opacity:.6}.media-upload-form__prompt-text{font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-secondary);text-align:center}.media-upload-form__prompt-hint{font-family:var(--font-primary);font-size:var(--font-size-xs);color:var(--text-subtle)}.media-upload-form__progress{position:relative;width:100%;max-width:240px;height:24px;background:var(--gray-border-light);border-radius:4px;overflow:hidden}.media-upload-form__progress-bar{position:absolute;left:0;top:0;height:100%;background:var(--primary-button);transition:width .2s ease}.media-upload-form__progress-text{position:relative;z-index:1;font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-primary)}.media-upload-form__error{display:flex;align-items:center;gap:.5rem;padding:.5rem 0}.media-upload-form__error p{margin:0;font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--error)}.media-upload-form__retry-button{padding:.25rem .75rem;font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:500;color:var(--primary);background:transparent;border:1px solid var(--primary);border-radius:4px;cursor:pointer}.media-upload-form__retry-button:hover{background:var(--primary-bg-light)}.media-upload-form__success{margin:0;font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--success)}.media-upload-form--compact .media-upload-form__dropzone{min-height:80px;padding:1rem}.media-upload-form--compact .media-upload-form__prompt-icon{font-size:var(--font-size-2xl)}.media-upload-form--compact .media-upload-form__prompt-text{font-size:var(--font-size-xs)}.change-photo-modal[data-state=closed]{display:none}.change-photo-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--black-50);display:flex;align-items:center;justify-content:center}.change-photo-modal__content[data-state=closed]{display:none}.change-photo-modal__content{position:relative;margin:auto;background:var(--background-white);border-radius:8px;max-width:90vw;max-height:85vh;display:flex;flex-direction:column;overflow:hidden}.change-photo-modal__header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--gray-border-light)}.change-photo-modal__title{margin:0;font-family:var(--font-primary);font-size:var(--font-size-lg);font-weight:600}.change-photo-modal__close{padding:.25rem .5rem;font-size:var(--font-size-2xl, 1.5rem);line-height:1;background:none;border:none;cursor:pointer;color:var(--text-secondary)}.change-photo-modal__close:hover{color:var(--text-primary)}.change-photo-modal__tabs{display:flex;gap:0;padding:0 1.5rem;border-bottom:1px solid var(--gray-border-light)}.change-photo-modal__tab{padding:.75rem 1rem;font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:500;color:var(--text-secondary);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;margin-bottom:-1px}.change-photo-modal__tab:hover{color:var(--text-primary)}.change-photo-modal__tab--active{color:var(--primary);border-bottom-color:var(--primary)}.change-photo-modal__upload-panel{padding:1.5rem;overflow-y:auto}.change-photo-modal__gallery-panel{display:flex;flex-direction:column;overflow:hidden;min-height:0}.change-photo-modal__filter-bar{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid var(--gray-border-light);flex-wrap:wrap}.change-photo-modal__filter-buttons{display:flex;gap:.5rem}.change-photo-modal__filter-button{padding:.5rem 1rem;font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:500;color:var(--text-dark);background-color:var(--background-white);border:1px solid var(--border-light);border-radius:4px;cursor:pointer}.change-photo-modal__filter-button:hover{background-color:var(--gray-hover);border-color:var(--gray-border-hover)}.change-photo-modal__filter-button--active{background-color:var(--primary);color:var(--link-color);border-color:var(--primary)}.change-photo-modal__tag-filter{display:flex;align-items:center;gap:.5rem}.change-photo-modal__tag-label{font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-dark);margin:0}.change-photo-modal__tag-select{padding:.5rem 1rem;font-family:var(--font-primary);font-size:var(--font-size-sm);border:1px solid var(--border-light);border-radius:4px;min-width:120px}.change-photo-modal__count{padding:.5rem 1.5rem;margin:0;font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-secondary)}.change-photo-modal__loading,.change-photo-modal__empty{padding:2rem 1.5rem;font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-secondary)}.change-photo-modal__grid{display:grid;grid-template-columns:repeat(auto-fill,120px);gap:1rem;padding:1rem 1.5rem;overflow-y:auto;flex:1;min-height:200px}.change-photo-modal__grid--small{grid-template-columns:repeat(auto-fill,48px);grid-auto-rows:48px;gap:.5rem;align-content:start}.change-photo-modal__citation-upload{display:flex;flex-direction:column;gap:.5rem}.change-photo-modal__citation-upload-input{position:absolute;width:.1px;height:.1px;opacity:0;overflow:hidden;z-index:-1}.change-photo-modal__citation-upload-button{padding:.5rem 1rem;font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:500;color:var(--text-dark);background-color:var(--background-white);border:1px solid var(--border-light);border-radius:4px;cursor:pointer;width:fit-content}.change-photo-modal__citation-upload-button:hover:not(:disabled){background-color:var(--gray-hover);border-color:var(--gray-border-hover)}.change-photo-modal__citation-upload-button:disabled{opacity:.7;cursor:not-allowed}.change-photo-modal__citation-upload-error{margin:0;font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--error-color)}.image-enlarge-overlay{--image-enlarge-overlay-max-height: calc(100vh - 11rem) ;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--black-50);display:flex;align-items:center;justify-content:center}.image-enlarge-overlay[data-state=closed],.image-enlarge-overlay__content[data-state=closed]{display:none}.image-enlarge-overlay__content{position:relative;margin:auto;z-index:1;display:flex;align-items:center;justify-content:center;max-width:95vw;max-height:var(--image-enlarge-overlay-max-height);min-height:0}.image-enlarge-overlay__close{position:absolute;top:.5rem;right:.5rem;padding:.25rem .5rem;font-size:var(--font-size-2xl, 1.5rem);line-height:1;background:var(--background-white);border:1px solid var(--gray-border-light);border-radius:4px;cursor:pointer;color:var(--text-secondary);z-index:2;transition:background-color .2s ease,color .2s ease}.image-enlarge-overlay__close:hover{background-color:var(--gray-hover);color:var(--text-primary)}.image-enlarge-overlay__image-wrap{position:relative;max-width:90vw;max-height:var(--image-enlarge-overlay-max-height);min-height:0;display:flex;align-items:center;justify-content:center}.image-enlarge-overlay__image{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:8px;box-shadow:0 4px 24px var(--black-30)}.image-enlarge-overlay__loading,.image-enlarge-overlay__error{padding:2rem;font-family:var(--font-primary);font-size:var(--font-size-base);color:var(--text-secondary)}.image-enlarge-overlay__loading{display:flex;flex-direction:column;align-items:center;gap:1rem}.image-enlarge-overlay__spinner{width:40px;height:40px;border:4px solid var(--gray-border-light);border-top:4px solid var(--primary);border-radius:50%;animation:image-enlarge-spin 1s linear infinite}.image-enlarge-overlay__error{background:var(--background-white);border-radius:8px}@keyframes image-enlarge-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.family-sources-screen{display:flex;flex-direction:column;height:100%;width:100%;padding:2rem;max-width:var(--content-max-width);margin:0 auto}.family-sources-screen__header{display:flex;align-items:center;margin-bottom:2rem}.family-sources-screen__title{margin:0;font-family:var(--font-primary);font-size:var(--font-size-2xl);font-weight:600;color:var(--primary)}.family-sources-screen__back-button{font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:500;padding:.5rem 1rem;background:var(--gray-bg);border:1px solid var(--gray-border-light);border-radius:4px;cursor:pointer;color:var(--text-primary)}.family-sources-screen__back-button:hover{background:var(--gray-border-light)}.family-sources-screen__add-toggle{padding:.5rem 1rem;font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:500;color:var(--primary);background:transparent;border:1px solid var(--primary);border-radius:4px;cursor:pointer;margin-bottom:1.5rem;width:fit-content}.family-sources-screen__add-toggle:hover{background:var(--primary-bg-light)}.family-sources-screen__placeholder{font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-secondary);margin:0 0 1rem}.family-sources-screen__form{margin-bottom:1.5rem;padding:1rem;background:var(--gray-bg);border-radius:8px;display:flex;flex-direction:column;gap:1rem;max-width:480px}.family-sources-screen__form-row{display:flex;flex-direction:column;gap:.25rem}.family-sources-screen__form-label{font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-dark)}.family-sources-screen__form-input,.family-sources-screen__form-select{padding:.4rem .75rem;font-family:var(--font-primary);font-size:var(--font-size-sm);border:1px solid var(--border-light);border-radius:4px;line-height:1.3}.family-sources-screen__form-textarea{padding:.5rem 1rem;font-family:var(--font-primary);font-size:var(--font-size-sm);border:1px solid var(--border-light);border-radius:4px;min-height:4rem;resize:vertical}.family-sources-screen__form-hint{font-family:var(--font-primary);font-size:var(--font-size-xs);color:var(--text-secondary);margin-top:.25rem}.family-sources-screen__form-hint--error{color:var(--error)}.family-sources-screen__citation-upload{display:flex;align-items:center;gap:.5rem;margin-top:.25rem}.family-sources-screen__citation-upload-input{position:absolute;width:0;height:0;opacity:0;overflow:hidden;clip:rect(0,0,0,0)}.family-sources-screen__citation-upload-button{padding:.375rem .75rem;font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:500;color:var(--primary);background:transparent;border:1px solid var(--primary);border-radius:4px;cursor:pointer}.family-sources-screen__citation-upload-button:hover:not(:disabled){background:var(--primary-bg-light)}.family-sources-screen__citation-upload-button:disabled{cursor:not-allowed;opacity:.7}.family-sources-screen__citation-media-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.family-sources-screen__citation-media-label{font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-secondary)}.family-sources-screen__form-actions{display:flex;gap:.5rem}.family-sources-screen__count{font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-secondary);margin:0 0 1rem}.family-sources-screen__list{display:flex;flex-direction:column;gap:1rem}.family-sources-screen__source-card{border:1px solid var(--gray-border-light);border-radius:8px;padding:1rem;background:var(--background-white)}.family-sources-screen__source-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem}.family-sources-screen__source-header-actions{display:flex;gap:.5rem;flex-shrink:0}.family-sources-screen__source-title{margin:0;font-family:var(--font-primary);font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary)}.family-sources-screen__source-type{font-family:var(--font-primary);font-size:var(--font-size-xs);color:var(--text-secondary);text-transform:capitalize}.family-sources-screen__source-meta{font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-secondary);margin:.25rem 0 .75rem}.family-sources-screen__source-media-label{font-weight:500}.family-sources-screen__source-view-image{padding:.2rem .5rem;font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:500;color:var(--primary);background:transparent;border:1px solid var(--gray-border-light);border-radius:4px;cursor:pointer}.family-sources-screen__source-view-image:hover:not(:disabled){color:var(--primary-hover);background:var(--primary-bg-light);text-decoration:none}.family-sources-screen__source-view-image:disabled{opacity:.6;cursor:not-allowed}.family-sources-screen__source-media-edit{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.family-sources-screen__source-media-select{min-width:200px}.family-sources-screen__source-link-image{padding:.25rem .5rem;font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:500;color:var(--primary);background:transparent;border:1px solid var(--gray-border-light);border-radius:4px;cursor:pointer}.family-sources-screen__source-link-image:hover{color:var(--primary-hover);background:var(--primary-bg-light);text-decoration:none}.family-sources-screen__source-meta a{color:var(--primary)}.family-sources-screen__source-actions{display:flex;gap:.5rem;margin-top:.75rem}.family-sources-screen__source-expand{padding:.35rem .75rem;font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--primary);background:transparent;border:1px solid var(--primary);border-radius:4px;cursor:pointer}.family-sources-screen__source-expand:hover{background:var(--primary-bg-light)}.family-sources-screen__citations{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--gray-border-light)}.family-sources-screen__citations-title{margin:0 0 .5rem;font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:600;color:var(--text-secondary)}.family-sources-screen__citation-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem 0;font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-primary);border-bottom:1px solid var(--gray-bg)}.family-sources-screen__citation-item:last-child{border-bottom:none}.family-sources-screen__citation-item-text{min-width:0}.family-sources-screen__citation-item-actions{display:flex;gap:.5rem;flex-shrink:0}.family-sources-screen__form--inline{max-width:100%}.family-sources-screen__loading{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:300px;text-align:center}.family-sources-screen__spinner{width:40px;height:40px;border:4px solid var(--background-primary);border-top:4px solid var(--primary-button);border-radius:50%;animation:family-sources-screen-spin 1s linear infinite;margin:0 auto 1rem}.family-sources-screen__loading-text{font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-secondary)}.family-sources-screen__empty{display:flex;justify-content:center;align-items:center;padding:3rem;text-align:center}.family-sources-screen__empty-text{font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-secondary)}.family-sources-screen__error{padding:1rem;font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--error)}.family-sources-screen__error-inline{padding:1.5rem;text-align:center}.family-sources-screen__error-inline p{margin:0 0 .5rem;font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--error)}@keyframes family-sources-screen-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 449px){.family-sources-screen{padding:1rem}}.inline-help-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--black-50);z-index:1000}.inline-help-modal-content{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:var(--content-max-width-medium);max-height:85vh;background-color:var(--background-white);border-radius:8px;box-shadow:0 4px 20px var(--shadow-black-medium);z-index:1001;overflow:hidden;display:flex;flex-direction:column}.inline-help-modal__inner{display:flex;flex-direction:column;overflow:hidden;max-height:85vh}.inline-help-modal__header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-light);flex-shrink:0}.inline-help-modal__title{font-family:var(--font-primary);font-size:var(--font-size-xl);font-weight:600;color:var(--primary);margin:0}.inline-help-modal__actions{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.inline-help-modal__full-doc-link{font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--primary);text-decoration:none}.inline-help-modal__full-doc-link:hover{text-decoration:underline}.inline-help-modal__close{display:flex;align-items:center;justify-content:center;padding:.25rem;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;border-radius:4px}.inline-help-modal__close:hover{color:var(--primary);background:var(--gray-hover)}.inline-help-modal__body{padding:1.5rem;overflow-y:auto}.inline-help-modal__image-wrap{margin:0 0 1rem;border-radius:8px;overflow:hidden;border:1px solid var(--border-light)}.inline-help-modal__image{display:block;width:100%;height:auto;max-height:300px;object-fit:contain}.inline-help-modal__content{font-family:var(--font-primary);font-size:var(--font-size-base);color:var(--text-secondary);line-height:1.6}.inline-help-modal__paragraph{margin:0 0 1rem}.inline-help-modal__paragraph:last-child{margin-bottom:0}.inline-help-modal__table-wrap{margin:1rem 0 0;padding:1rem 1.25rem;background-color:var(--background-primary);border:1px solid var(--border-light);border-radius:8px;overflow-x:auto}.inline-help-modal__table{margin:0;font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,Consolas,monospace;font-size:var(--font-size-sm);line-height:1.5;color:var(--text-primary);white-space:pre;letter-spacing:.02em}@media (max-width: 480px){.inline-help-modal__header{flex-direction:column;gap:.75rem}.inline-help-modal__title{font-size:var(--font-size-lg)}.inline-help-modal__content{font-size:var(--font-size-sm)}}.inline-help-button{display:flex;align-items:center;justify-content:center;padding:.25rem;background:transparent;border:none;border-radius:4px;color:var(--gray-border);cursor:pointer;transition:color .2s ease}.inline-help-button:hover{color:var(--primary)}.inline-help-button--small{padding:.15rem}.claim-profile-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--black-30);display:flex;justify-content:center;align-items:center;z-index:1000}.claim-profile-modal-content{background-color:var(--background-white);border-radius:8px;padding:2rem;max-width:var(--content-max-width-small);width:90%;max-height:80vh;overflow:auto;box-shadow:0 4px 6px var(--black-10)}.claim-profile-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.claim-profile-modal-header-actions{display:flex;align-items:center;gap:.25rem}.claim-profile-modal-title{font-family:var(--font-primary);font-size:var(--font-size-2xl);font-weight:600;margin:0;color:var(--primary)}.claim-profile-modal-close{background:none;border:none;font-size:var(--font-size-2xl);cursor:pointer;color:var(--text-secondary);padding:.25rem .5rem;line-height:1}.claim-profile-modal-close:hover{color:var(--primary)}.claim-profile-modal-search{margin-bottom:1.5rem}.claim-profile-modal-search-input{width:100%;padding:.75rem;border:1px solid var(--gray-border);border-radius:6px;font-size:var(--font-size-base);font-family:var(--font-primary)}.claim-profile-modal-error{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:.75rem 1rem;background-color:var(--error-bg);color:var(--error);border:1px solid var(--error);border-radius:6px;font-family:var(--font-primary);font-size:var(--font-size-sm)}.claim-profile-modal-error-dismiss{background:none;border:none;font-size:1.25rem;line-height:1;cursor:pointer;padding:.25rem;opacity:.8;flex-shrink:0}.claim-profile-modal-error-dismiss:hover{opacity:1}.claim-profile-modal-loading{text-align:center;padding:2rem}.claim-profile-modal-spinner{width:40px;height:40px;border:4px solid var(--background-primary);border-top:4px solid var(--primary-button);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem;background-color:var(--background-white)}.claim-profile-modal-loading-text{font-family:var(--font-primary);color:var(--text-secondary)}.claim-profile-modal-empty{padding:2rem;text-align:center;color:var(--text-secondary);font-family:var(--font-primary)}.claim-profile-modal-results{display:flex;flex-direction:column;gap:.75rem}.claim-profile-modal-person{padding:1rem;border:1px solid var(--gray-border);border-radius:6px;display:flex;justify-content:space-between;align-items:center}.claim-profile-modal-person-info{flex:1}.claim-profile-modal-person-name{font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:500;color:var(--primary);margin-bottom:.25rem}.claim-profile-modal-person-birth{font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-secondary)}.claim-profile-modal-claim-button{padding:.5rem 1rem;background-color:var(--primary-button);color:var(--link-color);border:none;border-radius:6px;cursor:pointer;font-family:var(--font-primary);font-weight:500;font-size:var(--font-size-sm);transition:opacity .2s ease}.claim-profile-modal-claim-button:hover:not(:disabled){opacity:.9}.claim-profile-modal-claim-button:disabled{background-color:var(--disabled);cursor:not-allowed}.claim-profile-modal-footer{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--gray-border);display:flex;justify-content:flex-end}.claim-profile-modal-cancel-button{padding:.5rem 1rem;background-color:transparent;color:var(--text-secondary);border:1px solid var(--gray-border);border-radius:6px;cursor:pointer;font-family:var(--font-primary);font-weight:500;font-size:var(--font-size-sm)}.claim-profile-modal-cancel-button:hover{background-color:var(--background-primary)}@media (max-width: 768px){.claim-profile-modal-claim-button,.claim-profile-modal-cancel-button{font-size:var(--font-size-sm);padding:.4rem .75rem}}@media (max-width: 480px){.claim-profile-modal-claim-button,.claim-profile-modal-cancel-button{font-size:var(--font-size-xs);padding:.35rem .5rem}}.claim-profile-banner{margin-bottom:2rem;padding:1rem 1.5rem;background-color:var(--primary-bg-light);border:2px solid var(--primary-button);border-radius:8px;display:flex;justify-content:space-between;align-items:center}.claim-profile-banner-text{font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:500;color:var(--primary);margin:0}.claim-profile-banner-button{padding:.5rem 1rem;background-color:var(--primary-button);color:var(--link-color);border:none;border-radius:6px;cursor:pointer;font-family:var(--font-primary);font-weight:500;font-size:var(--font-size-md);transition:opacity .2s ease}.claim-profile-banner-button:hover{opacity:.9}.edit-family-name-modal-overlay[data-state=closed]{display:none}.edit-family-name-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--black-30);display:flex;justify-content:center;align-items:center}.edit-family-name-modal[data-state=closed]{display:none}.edit-family-name-modal{position:relative;margin:auto;z-index:1;background-color:var(--background-white);border-radius:8px;padding:2rem;max-width:28rem;width:90%;box-shadow:0 4px 6px var(--black-10)}.edit-family-name-modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.5rem}.edit-family-name-modal-title{font-family:var(--font-primary);font-size:var(--font-size-2xl);font-weight:600;margin:0;color:var(--primary)}.edit-family-name-modal-desc{font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-secondary);margin:0 0 1.5rem;line-height:1.5}.edit-family-name-modal-label{display:block;font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:600;color:var(--text-secondary);margin-bottom:.5rem}.edit-family-name-modal-input{width:100%;padding:.75rem;border:1px solid var(--gray-border);border-radius:6px;font-size:var(--font-size-base);font-family:var(--font-primary);margin-bottom:1rem;box-sizing:border-box}.edit-family-name-modal-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px var(--black-10)}.edit-family-name-modal-error{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:-.5rem 0 1rem;padding:.75rem 1rem;background-color:var(--error-bg);color:var(--error);border:1px solid var(--error);border-radius:6px;font-family:var(--font-primary);font-size:var(--font-size-sm)}.edit-family-name-modal-error-dismiss{background:none;border:none;font-size:1.25rem;line-height:1;cursor:pointer;padding:.25rem;opacity:.8;flex-shrink:0}.edit-family-name-modal-error-dismiss:hover{opacity:1}.edit-family-name-modal-actions{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.5rem}.edit-family-name-modal-actions-primary{display:flex;gap:.75rem;margin-left:auto}.edit-family-name-modal-button{font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:500;padding:.5rem 1rem;border-radius:6px;cursor:pointer;border:1px solid transparent}.edit-family-name-modal-button--primary{background-color:var(--primary);color:#fff;border-color:var(--primary)}.edit-family-name-modal-button--primary:hover:not(:disabled){opacity:.9}.edit-family-name-modal-button--secondary{background-color:transparent;color:var(--text-secondary);border-color:var(--gray-border)}.edit-family-name-modal-button--secondary:hover:not(:disabled){color:var(--primary);border-color:var(--primary)}.edit-family-name-modal-button:disabled{opacity:.6;cursor:not-allowed}.family-user-details-modal-overlay[data-state=closed]{display:none}.family-user-details-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--black-30);display:flex;justify-content:center;align-items:center;padding:1rem;overflow-y:auto;z-index:9999}.family-user-details-modal[data-state=closed]{display:none}.family-user-details-modal{position:relative;margin:auto;z-index:1;background-color:var(--background-white);border-radius:8px;padding:2rem;max-width:32rem;width:100%;max-height:calc(100vh - 2rem);box-shadow:0 4px 6px var(--black-10);display:flex;flex-direction:column;overflow:hidden}.family-user-details-modal-title{font-family:var(--font-primary);font-size:var(--font-size-2xl);font-weight:600;margin:0 0 .5rem;color:var(--primary);flex-shrink:0}.family-user-details-modal-desc{font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-secondary);margin:0 0 1rem;line-height:1.5;flex-shrink:0}.family-user-details-modal-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem;overflow-y:auto;max-height:min(50vh,20rem);-webkit-overflow-scrolling:touch}.family-user-details-modal-row{padding:.75rem;border:1px solid var(--gray-border);border-radius:6px;background-color:var(--background-white)}.family-user-details-modal-row-primary{display:flex;flex-direction:column;gap:.25rem}.family-user-details-modal-nickname{font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:500;color:var(--primary)}.family-user-details-modal-email{font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-secondary)}.family-user-details-modal-row-secondary{margin-top:.5rem;font-family:var(--font-primary);font-size:var(--font-size-xs);color:var(--text-secondary)}.family-user-details-modal-actions{display:flex;justify-content:flex-end;flex-shrink:0}.family-user-details-modal-button{font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:500;padding:.5rem 1rem;border-radius:6px;cursor:pointer;border:1px solid transparent}.family-user-details-modal-button--primary{background-color:var(--primary);color:#fff;border-color:var(--primary)}.family-user-details-modal-button--primary:hover:not(:disabled){opacity:.9}@media (max-width: 768px){.family-user-details-modal-overlay{padding:.75rem}.family-user-details-modal{padding:1.5rem;max-width:calc(100% - 1.5rem)}.family-user-details-modal-title{font-size:var(--font-size-xl)}.family-user-details-modal-desc{font-size:var(--font-size-sm);margin-bottom:.75rem}.family-user-details-modal-list{gap:.75rem;margin-bottom:.75rem;max-height:min(45vh,18rem)}.family-user-details-modal-row{padding:.6rem}.family-user-details-modal-nickname{font-size:var(--font-size-sm)}.family-user-details-modal-email{font-size:var(--font-size-xs)}.family-user-details-modal-row-secondary{font-size:var(--font-size-2xs)}.family-user-details-modal-button{font-size:var(--font-size-sm);padding:.4rem .75rem}}@media (max-width: 480px){.family-user-details-modal-overlay{padding:.5rem}.family-user-details-modal{padding:1rem;max-height:calc(100vh - 1rem);max-width:calc(100% - 1rem)}.family-user-details-modal-title{font-size:var(--font-size-lg);margin-bottom:.35rem}.family-user-details-modal-desc{font-size:var(--font-size-xs);margin-bottom:.5rem}.family-user-details-modal-list{gap:.5rem;margin-bottom:.5rem;max-height:min(40vh,14rem)}.family-user-details-modal-row{padding:.5rem}.family-user-details-modal-nickname{font-size:var(--font-size-sm)}.family-user-details-modal-email{font-size:var(--font-size-xs)}.family-user-details-modal-row-secondary{margin-top:.35rem;font-size:var(--font-size-2xs)}.family-user-details-modal-button{font-size:var(--font-size-xs);padding:.35rem .5rem}}@media (max-width: 449px){.family-user-details-modal-overlay{padding-left:.5rem;padding-right:.5rem}.family-user-details-modal{padding-left:.75rem;padding-right:.75rem}}@media (max-height: 480px){.family-user-details-modal{padding:1rem;max-height:calc(100vh - 1rem)}.family-user-details-modal-desc,.family-user-details-modal-list{margin-bottom:.75rem}}.family-overview-container{display:flex;flex-direction:column;max-width:var(--content-max-width);margin:0 auto;padding:2rem 3rem;width:100%;box-sizing:border-box}.family-overview-header{margin-bottom:2rem}.family-overview-title-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.family-overview-title{font-family:var(--font-primary);font-size:var(--font-size-3xl);font-weight:600;margin:0 0 .5rem;color:var(--primary)}.family-overview-edit-name-btn{flex-shrink:0;background:none;border:none;font-size:1rem;cursor:pointer;padding:.2rem;line-height:1;opacity:.7;transition:opacity .2s}.family-overview-edit-name-btn:hover{opacity:1}.family-overview-card{background-color:var(--background-white);border-radius:8px;padding:2rem;box-shadow:0 2px 4px var(--black-10)}.family-overview-card-title{font-family:var(--font-primary);font-size:var(--font-size-2xl);font-weight:600;margin-bottom:1.5rem;color:var(--primary)}.family-overview-grid{display:grid;gap:1.5rem}.family-overview-field-label{font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:600;color:var(--text-secondary);margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.05em}.family-overview-field-value{font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:500;color:var(--primary)}.family-overview-field-value--secondary{font-family:var(--font-primary);font-size:var(--font-size-base);color:var(--primary)}.family-overview-field-value--small{font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-secondary);margin-top:.25rem}.family-overview-error{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:2rem;background-color:var(--error-bg);border:1px solid var(--error);border-radius:4px;margin:1rem}.family-overview-error-title{margin:0;color:var(--error);font-family:var(--font-primary);font-size:var(--font-size-base)}.family-overview-error-dismiss{background:none;border:none;font-size:1.25rem;line-height:1;cursor:pointer;padding:.25rem;opacity:.8;flex-shrink:0}.family-overview-error-dismiss:hover{opacity:1}.family-overview-not-found-title{font-family:var(--font-primary);font-size:var(--font-size-base)}.family-overview-not-found{padding:2rem;text-align:center}.family-overview-actions{margin-top:2rem;justify-content:center}.family-overview-invitations-section{margin-top:2rem}.family-overview-invitations-header{display:flex;justify-content:space-between;align-items:baseline;cursor:pointer;-webkit-user-select:none;user-select:none}.family-overview-invitations-header--expanded{margin-bottom:1rem}.family-overview-invitations-toggle{font-size:var(--font-size-base);-webkit-user-select:none;user-select:none;color:var(--text-secondary)}.family-overview-invitations-content{margin-top:1rem}.family-overview-table{width:100%;border-collapse:collapse}.family-overview-table tbody tr{border-bottom:1px solid var(--black-10)}.family-overview-table tbody tr:last-child{border-bottom:none}.family-overview-table-label{font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;padding:1rem 1rem 1rem 0;vertical-align:top;width:40%}.family-overview-table-value{font-family:var(--font-primary);font-size:var(--font-size-base);color:var(--primary);padding:1rem 0;vertical-align:top}.family-overview-table-value-primary{font-weight:500;margin-bottom:.25rem}.family-overview-table-value-secondary{font-size:var(--font-size-sm);color:var(--text-secondary)}.family-overview-members-cell{display:inline-flex;align-items:center;gap:.75rem}.family-overview-add-self-btn{font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:500;color:var(--primary);background:transparent;border:1px solid var(--primary);border-radius:4px;padding:.35rem .75rem;cursor:pointer;white-space:nowrap}.family-overview-add-self-btn:hover{background:var(--primary);color:var(--link-color)}.family-overview-roles-table{width:10rem;border-collapse:collapse}.family-overview-role-name{font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-secondary);padding:.25rem 1rem .25rem 0;vertical-align:middle}.family-overview-role-count{font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--primary);text-align:right;padding:.25rem 0;vertical-align:middle}.family-overview-role-count-btn{font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--primary);background:none;border:none;padding:0;cursor:pointer;text-decoration:none}.family-overview-role-count-btn:hover{text-decoration:underline}@media (max-width: 768px){.family-overview-container{padding:1.5rem 2rem}.family-overview-title{font-size:var(--font-size-2xl)}.family-overview-edit-name-btn{font-size:var(--font-size-sm);padding:.15rem}.family-overview-card{padding:1.5rem}.family-overview-card-title{font-size:var(--font-size-xl)}.family-overview-table-label,.family-overview-table-value{font-size:var(--font-size-sm);padding:.75rem .75rem .75rem 0}.family-overview-table-value{padding:.75rem 0}.family-overview-table-value-secondary{font-size:var(--font-size-xs)}.family-overview-actions .families-card-action{font-size:var(--font-size-sm);padding:.4rem .75rem}.family-overview-role-name,.family-overview-role-count{font-size:var(--font-size-xs)}}@media (max-width: 480px){.family-overview-container{padding:1rem}.family-overview-header{margin-bottom:1.5rem}.family-overview-title{font-size:var(--font-size-xl)}.family-overview-edit-name-btn{font-size:var(--font-size-xs);padding:.1rem}.family-overview-card{padding:1rem}.family-overview-card-title{font-size:var(--font-size-lg);margin-bottom:1rem}.family-overview-table-label{width:35%;font-size:var(--font-size-xs);padding:.5rem .5rem .5rem 0}.family-overview-table-value{font-size:var(--font-size-xs);padding:.5rem 0}.family-overview-table-value-secondary{font-size:var(--font-size-2xs)}.family-overview-actions{margin-top:1.5rem;flex-wrap:wrap;gap:.5rem}.family-overview-actions .families-card-action{font-size:var(--font-size-xs);padding:.35rem .5rem;flex:0 1 auto;min-width:0}.family-overview-role-name,.family-overview-role-count{font-size:var(--font-size-2xs)}.family-overview-invitations-toggle{font-size:var(--font-size-sm)}}@media (max-width: 449px){.family-overview-container{padding-left:1rem;padding-right:1rem}}.family-member-typeahead{position:relative;width:100%}.family-member-typeahead-label{display:block;margin-bottom:.5rem;font-weight:600;font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--primary)}.family-member-typeahead-input-wrapper{position:relative;display:flex;align-items:center}.family-member-typeahead-input{width:100%;padding:.5rem;border:1px solid var(--gray-border-light);border-radius:4px;font-size:var(--font-size-base);font-family:var(--font-primary);color:var(--primary)}.family-member-typeahead-input:disabled{background-color:var(--gray-bg);cursor:not-allowed;opacity:.6}.family-member-typeahead-clear{position:absolute;right:.5rem;background:none;border:none;font-size:var(--font-size-2xl);color:var(--text-secondary);cursor:pointer;padding:0;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;line-height:1;transition:color .2s ease}.family-member-typeahead-clear:hover:not(:disabled){color:var(--primary)}.family-member-typeahead-clear:disabled{cursor:not-allowed;opacity:.5}.family-member-typeahead-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:.25rem;background-color:var(--background-white);border:1px solid var(--gray-border-light);border-radius:4px;box-shadow:0 4px 6px var(--black-10);z-index:1000;max-height:12rem;overflow-y:auto;overflow-x:hidden}.family-member-typeahead-option{width:100%;padding:.75rem;border:none;background:none;text-align:left;font-family:var(--font-primary);font-size:var(--font-size-base);color:var(--primary);cursor:pointer;transition:background-color .15s ease}.family-member-typeahead-option-content{display:flex;flex-direction:column;gap:.25rem}.family-member-typeahead-option-name{font-weight:500;color:var(--primary)}.family-member-typeahead-option-details{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:400}.family-member-typeahead-option:hover:not(:disabled),.family-member-typeahead-option--highlighted{background-color:var(--gray-hover)}.family-member-typeahead-option:disabled{cursor:not-allowed;opacity:.6}.family-member-typeahead-empty{padding:.75rem;text-align:center;font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-secondary)}.family-member-typeahead-footer{padding:.5rem .75rem;border-top:1px solid var(--gray-border-light);font-family:var(--font-primary);font-size:var(--font-size-xs);color:var(--text-secondary);text-align:center;background-color:var(--gray-bg-light)}.family-member-typeahead-help-text{margin-top:.25rem;font-size:var(--font-size-sm);color:var(--text-secondary);font-family:var(--font-primary)}.invite-form{padding:1rem;border:1px solid var(--gray-border-light);border-radius:4px;margin-bottom:1rem}.invite-form-title{margin-top:0;font-family:var(--font-primary);font-size:var(--font-size-xl);font-weight:600;color:var(--primary)}.invite-form-success{padding:1rem;background-color:var(--success-message);border:1px solid var(--success-message-border);border-radius:4px;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center;position:relative}.invite-form-success-text{margin:0;color:var(--success-message-text);font-family:var(--font-primary);font-size:var(--font-size-base);flex:1}.invite-form-success-close{background:none;border:none;font-size:var(--font-size-2xl);color:var(--success-message-text);cursor:pointer;padding:0;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;line-height:1;transition:opacity .2s ease;margin-left:1rem;opacity:.7}.invite-form-success-close:hover{opacity:1}.invite-form-error{padding:.75rem;background-color:var(--warning-light);border:1px solid var(--warning-border);border-radius:4px;margin-bottom:1rem;color:var(--warning-dark);font-family:var(--font-primary);font-size:var(--font-size-sm)}.invite-form-field{margin-bottom:1rem}.invite-form-label{display:block;margin-bottom:.5rem;font-weight:600;font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--primary)}.invite-form-input{width:100%;padding:.4rem .75rem;border:1px solid var(--gray-border-light);border-radius:4px;font-size:var(--font-size-sm);font-family:var(--font-primary);color:var(--primary);line-height:1.3}.invite-form-input:disabled{background-color:var(--gray-bg);cursor:not-allowed;opacity:.6}.invite-form-help-text{margin-top:.25rem;font-size:var(--font-size-sm);color:var(--text-secondary);font-family:var(--font-primary)}.invite-form-actions{display:flex;gap:.5rem;justify-content:flex-end}.invite-form-button{padding:.5rem 1rem;border-radius:4px;font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:opacity .2s ease}.invite-form-button:disabled{cursor:not-allowed;opacity:.6}.invite-form-button--cancel{border:1px solid var(--gray-border-light);background-color:var(--background-white);color:var(--primary)}.invite-form-button--cancel:hover:not(:disabled){background-color:var(--gray-bg)}.invite-form-button--submit{border:none;background-color:var(--primary-button);color:var(--link-color)}.invite-form-button--submit:hover:not(:disabled){opacity:.9}@media (max-width: 768px){.invite-form{padding:.875rem}.invite-form-field{margin-bottom:.875rem}}@media (max-width: 430px){.invite-form{padding:.75rem;margin-bottom:.75rem}.invite-form-title{font-size:var(--font-size-lg)}.invite-form-success{padding:.75rem;margin-bottom:.75rem}.invite-form-error{padding:.625rem;margin-bottom:.75rem}.invite-form-field{margin-bottom:.75rem}.invite-form-actions{flex-direction:column;gap:.5rem}.invite-form-button{width:fit-content;max-width:100%}}.invitations-list{width:100%}.invitations-list-title{margin-top:0;font-family:var(--font-primary);font-size:var(--font-size-xl);font-weight:600;color:var(--primary)}.invitations-list-loading{padding:1rem;text-align:center;font-family:var(--font-primary);font-size:var(--font-size-base);color:var(--text-secondary)}.invitations-list-error{padding:1rem;background-color:var(--warning-light);border:1px solid var(--warning-border);border-radius:4px;color:var(--warning-dark);font-family:var(--font-primary);font-size:var(--font-size-sm)}.invitations-list-empty{padding:1rem;text-align:center;color:var(--text-secondary);font-family:var(--font-primary);font-size:var(--font-size-base)}.invitations-list-table{width:100%;border-collapse:collapse;table-layout:fixed;overflow-x:auto;display:block}@media (min-width: 768px){.invitations-list-table{display:table}}.invitations-list-table thead tr{border-bottom:2px solid var(--gray-border-light)}.invitations-list-table th{padding:.5rem;text-align:left;font-family:var(--font-primary);font-size:var(--font-size-xs);font-weight:600;color:var(--primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invitations-list-table th:nth-child(1){width:30%}.invitations-list-table th:nth-child(2){width:15%}.invitations-list-table th:nth-child(3){width:20%}.invitations-list-table th:nth-child(4){width:35%}.invitations-list-table tbody tr{border-bottom:1px solid var(--gray-border-light)}.invitations-list-table td{padding:.5rem;font-family:var(--font-primary);font-size:var(--font-size-xs);color:var(--primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invitations-list-name{font-weight:600;margin-bottom:.25rem;color:var(--primary)}.invitations-list-email{color:var(--text-secondary);font-size:var(--font-size-xs)}.invitations-list-status{padding:.2rem .4rem;border-radius:4px;color:var(--link-color);font-size:var(--font-size-xs);font-weight:600;font-family:var(--font-primary);text-transform:uppercase;display:inline-block}.invitations-list-status--pending{background-color:var(--warning-yellow)}.invitations-list-status--accepted{background-color:var(--success-dark)}.invitations-list-status--expired{background-color:var(--disabled)}.invitations-list-status--cancelled{background-color:var(--error)}.invitations-list-actions{display:flex;gap:.25rem;flex-wrap:wrap}.invitations-list-button{padding:.2rem .4rem;border-radius:4px;background-color:var(--background-white);cursor:pointer;font-size:var(--font-size-xs);font-family:var(--font-primary);font-weight:500;transition:opacity .2s ease;white-space:nowrap}.invitations-list-button:hover{opacity:.8}.invitations-list-button--resend{border:1px solid var(--primary-button);color:var(--primary-button)}.invitations-list-button--cancel{border:1px solid var(--error);color:var(--error)}.invitations-list-button--copy{border:1px solid var(--primary-button);color:var(--primary-button);background-color:var(--primary-button);color:var(--link-color)}.invitations-list-button--copy:hover{opacity:.9}.invitations-list-button--delete{border:1px solid var(--error);color:var(--error);background-color:var(--background-white)}@media (max-width: 768px){.invitations-list-title{font-size:var(--font-size-lg)}.invitations-list-table{display:block}.invitations-list-table thead{display:none}.invitations-list-table tbody{display:block}.invitations-list-table tbody tr{display:flex;flex-direction:column;border:1px solid var(--gray-border-light);border-radius:4px;margin-bottom:1rem;padding:1rem;background-color:var(--background-white)}.invitations-list-table tbody tr:last-child{margin-bottom:0}.invitations-list-table tbody tr td:first-child{display:block;width:100%;padding:0 0 .75rem;border-bottom:1px solid var(--gray-border-light);margin-bottom:.75rem;white-space:normal;overflow:visible;text-overflow:unset}.invitations-list-name{font-size:var(--font-size-sm);margin-bottom:.25rem}.invitations-list-email{font-size:var(--font-size-xs);color:var(--text-secondary)}.invitations-list-table tbody tr td:nth-child(2),.invitations-list-table tbody tr td:nth-child(3),.invitations-list-table tbody tr td:nth-child(4){display:block;width:100%;padding:.25rem 0;border:none;white-space:normal;overflow:visible;text-overflow:unset}.invitations-list-table tbody tr td:nth-child(2){margin-bottom:.5rem}.invitations-list-table tbody tr td:nth-child(3){margin-bottom:.75rem;font-size:var(--font-size-xs);color:var(--text-secondary)}.invitations-list-table tbody tr td:nth-child(4){padding-top:.75rem;border-top:1px solid var(--gray-border-light)}.invitations-list-table tbody tr td:nth-child(4) .invitations-list-actions{display:flex;flex-wrap:wrap;gap:.5rem}}@media (max-width: 430px){.invitations-list-title{font-size:var(--font-size-lg)}.invitations-list-loading,.invitations-list-error,.invitations-list-empty{padding:.75rem;font-size:var(--font-size-sm)}.invitations-list-table tbody tr{padding:.75rem}.invitations-list-table tbody tr td:first-child{padding-bottom:.5rem;margin-bottom:.5rem}.invitations-list-name{font-size:var(--font-size-xs);margin-bottom:.25rem}.invitations-list-email{font-size:var(--font-size-3xs)}.invitations-list-table tbody tr td:nth-child(3){font-size:var(--font-size-3xs);margin-bottom:.5rem}.invitations-list-table tbody tr td:nth-child(4){padding-top:.5rem}.invitations-list-table tbody tr td:nth-child(4) .invitations-list-actions{gap:.375rem}.invitations-list-button{padding:.375rem .625rem;font-size:var(--font-size-3xs)}}.invite-family-members-screen{padding:2rem;max-width:var(--content-max-width);margin:0 auto}.invite-family-members-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.invite-family-members-title{margin:0;font-family:var(--font-primary);font-size:var(--font-size-2xl);font-weight:600;color:var(--primary)}.invite-family-members-back-button{padding:.5rem 1rem;border:1px solid var(--gray-border-light);border-radius:4px;background-color:var(--background-white);color:var(--primary);font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:background-color .2s ease}.invite-family-members-back-button:hover{background-color:var(--gray-bg)}.invite-family-members-content{display:flex;flex-direction:column;gap:2rem}.invite-family-members-list{margin-top:1rem}.invite-family-members-error{padding:2rem;text-align:center}.invite-family-members-error-title{font-family:var(--font-primary);font-size:var(--font-size-xl);color:var(--error)}@media (max-width: 768px){.invite-family-members-screen{padding:1.5rem}}@media (max-width: 430px){.invite-family-members-screen{padding:1rem}.invite-family-members-header{flex-direction:column;align-items:flex-start;gap:1rem}.invite-family-members-back-button{width:100%;text-align:center}.invite-family-members-content{gap:1.5rem}.invite-family-members-error{padding:1.5rem}.invite-family-members-error-title{font-size:var(--font-size-lg)}}.accept-invitation-screen{display:flex;flex-direction:column;min-height:100vh}.accept-invitation-loading{display:flex;justify-content:center;align-items:center;min-height:100vh}.accept-invitation-error{display:flex;justify-content:center;align-items:center;min-height:100vh;flex-direction:column;padding:2rem}.accept-invitation-error h1{font-family:var(--font-primary);font-size:var(--font-size-xxl);color:var(--primary);margin:0 0 1rem}.accept-invitation-error p{font-family:var(--font-primary);font-size:var(--font-size-base);color:var(--primary);margin:.5rem 0}.accept-invitation-error-message{margin-top:1rem;font-size:var(--font-size-sm);color:var(--text-secondary)}.accept-invitation-error-button{margin-top:2rem;padding:.75rem 1.5rem;background-color:var(--primary);color:var(--text-inverse);border:none;border-radius:4px;cursor:pointer;font-family:var(--font-primary);font-size:var(--font-size-base);transition:background-color .2s ease}.accept-invitation-error-button:hover{background-color:var(--primary-hover)}.accept-invitation-banner{background-color:var(--background-secondary);padding:1rem;text-align:center}.accept-invitation-banner h2{margin:0 0 .5rem;font-size:var(--font-size-lg);font-family:var(--font-primary);color:var(--white-80)}.accept-invitation-banner-family-name{margin:0 0 .5rem;font-size:var(--font-size-xl);font-weight:700;color:var(--secondary);font-family:var(--font-primary);font-style:italic}.accept-invitation-banner-text{margin:0;color:var(--white-80);font-family:var(--font-primary);font-size:var(--font-size-base)}.accept-invitation-banner-status{margin:.5rem 0 0;font-size:var(--font-size-sm);color:var(--success-dark);font-family:var(--font-primary)}.accept-invitation-handler{text-align:center;padding:2rem}.accept-invitation-handler-success{color:var(--success);font-family:var(--font-primary);font-size:var(--font-size-base)}.accept-invitation-handler-error{color:var(--error);font-family:var(--font-primary);font-size:var(--font-size-base)}.accept-invitation-handler-text{font-family:var(--font-primary);font-size:var(--font-size-base);color:var(--primary)}.changelog{max-width:var(--content-max-width-medium);margin:0 auto;padding:2rem 1.5rem}.changelog__header{text-align:center;margin-bottom:3rem}.changelog__title{font-family:var(--font-primary);font-size:var(--font-size-2xl);color:var(--text-primary);margin:0 0 .5rem}.changelog__subtitle{font-family:var(--font-primary);font-size:var(--font-size-md);color:var(--text-secondary);margin:0}.changelog__releases{display:flex;flex-direction:column;gap:2rem}.changelog__release{background:#fff;border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;transition:box-shadow .3s ease}.changelog__release--highlighted{box-shadow:0 0 0 2px var(--primary);animation:highlight-pulse 2s ease-out}@keyframes highlight-pulse{0%{box-shadow:0 0 0 4px var(--primary)}to{box-shadow:0 0 0 2px var(--primary)}}.changelog__release-header{margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color)}.changelog__version-link{text-decoration:none;display:flex;align-items:baseline;gap:.5rem}.changelog__version-link:hover .changelog__date,.changelog__version-link:hover .changelog__version{color:var(--primary)}.changelog__date{font-family:var(--font-primary);font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);transition:color .2s ease}.changelog__version{font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-secondary);transition:color .2s ease}.changelog__changes{margin:0;padding-left:1.5rem;list-style-type:disc}.changelog__change{font-family:var(--font-primary);font-size:var(--font-size-base);color:var(--text-primary);line-height:1.6;margin-bottom:.5rem}.changelog__change:last-child{margin-bottom:0}@media (max-width: 600px){.changelog{padding:1.5rem 1rem}.changelog__release-header{flex-direction:column;gap:.25rem}.changelog__title{font-size:var(--font-size-xl)}}.help{max-width:var(--content-max-width-medium);margin:0 auto;padding:2rem 1.5rem}.help__header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:2rem}.help__title{font-family:var(--font-primary);font-size:var(--font-size-2xl);color:var(--text-primary);margin:0}.help__version{font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--primary);text-decoration:none}.help__version:hover{text-decoration:underline}.help__tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;border-bottom:1px solid var(--border-light);padding-bottom:.5rem;flex-wrap:wrap}.help__tab{font-family:var(--font-primary);font-size:var(--font-size-base);padding:.75rem 1.25rem;background:transparent;border:none;border-radius:6px 6px 0 0;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.help__tab:hover{color:var(--text-primary);background:var(--gray-hover)}.help__tab[data-state=active]{color:var(--primary);background:var(--background-white);border:1px solid var(--border-light);border-bottom-color:var(--background-white);margin-bottom:-1px}.help__faqs{display:flex;flex-direction:column;gap:.75rem}.help__faq{background:var(--background-white);border:1px solid var(--border-light);border-radius:8px;overflow:hidden}.help__faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:transparent;border:none;font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:500;color:var(--text-primary);text-align:left;cursor:pointer;transition:background .2s ease}.help__faq-question:hover{background:var(--gray-hover)}.help__faq-icon{font-size:var(--font-size-xs);color:var(--text-secondary);transition:transform .2s ease}.help__faq-question[data-state=open] .help__faq-icon{transform:rotate(180deg)}.help__faq-answer{padding:1rem 1.25rem;font-family:var(--font-primary);font-size:var(--font-size-base);color:var(--text-secondary);line-height:1.6;border-top:1px solid var(--border-light)}.help__docs{display:flex;flex-direction:column;gap:1.5rem}.help__doc-section{background:var(--background-white);border:1px solid var(--border-light);border-radius:8px;padding:1.25rem}.help__doc-title{font-family:var(--font-primary);font-size:var(--font-size-lg);color:var(--text-primary);margin:0 0 .75rem}.help__doc-image-wrap{margin:0 0 1rem;border-radius:8px;overflow:hidden;border:1px solid var(--border-light)}.help__doc-image{display:block;width:100%;height:auto;max-height:300px;object-fit:contain}.help__doc-content{font-family:var(--font-primary);font-size:var(--font-size-base);color:var(--text-secondary);line-height:1.6;margin:0}.help__doc-paragraph{margin:0 0 1rem}.help__doc-paragraph:last-child{margin-bottom:0}.help__doc-table-wrap{margin:1rem 0 0;padding:1rem 1.25rem;background-color:var(--background-primary);border:1px solid var(--border-light);border-radius:8px;overflow-x:auto}.help__doc-table{margin:0;font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,Consolas,monospace;font-size:var(--font-size-sm);line-height:1.5;color:var(--text-primary);white-space:pre;letter-spacing:.02em}.help__chat{display:flex;justify-content:center;align-items:center;min-height:300px}.help__chat-placeholder{text-align:center;padding:3rem;background:var(--background-white);border:2px dashed var(--border-light);border-radius:12px;max-width:var(--content-max-width-xs)}.help__chat-icon{font-size:var(--font-size-3xl);display:block;margin-bottom:1rem}.help__chat-title{font-family:var(--font-primary);font-size:var(--font-size-xl);color:var(--text-primary);margin:0 0 .5rem}.help__chat-description{font-family:var(--font-primary);font-size:var(--font-size-base);color:var(--text-secondary);margin:0;line-height:1.5}.help__contact{display:flex;justify-content:center;align-items:center;min-height:300px}.help__contact-content{background:var(--background-white);border:1px solid var(--border-light);border-radius:12px;padding:2rem;max-width:500px;width:100%}.help__contact-title{font-family:var(--font-primary);font-size:var(--font-size-xl);color:var(--text-primary);margin:0 0 .75rem}.help__contact-description{font-family:var(--font-primary);font-size:var(--font-size-base);color:var(--text-secondary);margin:0 0 1.5rem;line-height:1.5}.help__contact-info{margin-top:1.5rem}.help__contact-text{font-family:var(--font-primary);font-size:var(--font-size-base);color:var(--text-secondary);margin:0 0 1rem;line-height:1.6}.help__contact-email{font-family:var(--font-primary);font-size:var(--font-size-lg);margin:0}.help__contact-link{color:var(--primary);text-decoration:none;font-weight:500}.help__contact-link:hover{text-decoration:underline}@media (max-width: 600px){.help{padding:1.5rem 1rem}.help__title{font-size:var(--font-size-xl)}.help__version{font-size:var(--font-size-xs)}.help__header{flex-direction:column;gap:.5rem}.help__tabs{gap:.25rem}.help__tab{padding:.5rem .75rem;font-size:var(--font-size-sm)}.help__faq-question,.help__faq-answer{padding:.75rem 1rem;font-size:var(--font-size-sm)}.help__doc-section{padding:1rem}.help__doc-title{font-size:var(--font-size-base)}.help__doc-content{font-size:var(--font-size-sm)}.help__chat-placeholder{padding:2rem 1.5rem}.help__chat-icon{font-size:var(--font-size-3xl)}.help__chat-title{font-size:var(--font-size-lg)}.help__chat-description{font-size:var(--font-size-sm)}.help__contact-content{padding:1.5rem}.help__contact-title{font-size:var(--font-size-lg)}.help__contact-description,.help__contact-text{font-size:var(--font-size-sm)}.help__contact-email{font-size:var(--font-size-base)}}.profile{max-width:var(--content-max-width-medium);margin:0 auto;padding:2rem 1.5rem}.profile__header{margin-bottom:2rem}.profile__title{font-family:var(--font-primary);font-size:var(--font-size-2xl);color:var(--text-primary);margin:0 0 .5rem}.profile__subtitle{font-family:var(--font-primary);font-size:var(--font-size-base);color:var(--text-secondary);margin:0}.profile__sections{display:flex;flex-direction:column;gap:2rem}.profile__section{background:var(--background-white);border:1px solid var(--gray-border-light);border-radius:8px;padding:1.5rem}.profile__section-title{font-family:var(--font-primary);font-size:var(--font-size-lg);color:var(--text-primary);margin:0 0 1rem}.profile__form{display:flex;flex-direction:column;gap:1rem}.profile__field{display:flex;flex-direction:column;gap:.25rem}.profile__label{font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-secondary)}.profile__input{font-family:var(--font-primary);font-size:var(--font-size-sm);padding:.4rem .75rem;border:1px solid var(--gray-border-light);border-radius:6px;color:var(--text-primary);background:var(--background-white);line-height:1.3}.profile__input:focus{outline:none;border-color:var(--primary)}.profile__message{font-family:var(--font-primary);font-size:var(--font-size-sm);padding:.5rem .75rem;border-radius:6px}.profile__message--success{color:var(--success-message-text);background:var(--success-message);border:1px solid var(--success-message-border)}.profile__message--error{color:var(--error-dark);background:var(--error-bg);border:1px solid var(--error-light)}.profile__button{font-family:var(--font-primary);font-size:var(--font-size-base);padding:.5rem 1rem;background:var(--primary-button);color:var(--text-inverse);border:none;border-radius:6px;cursor:pointer;align-self:flex-start}.profile__button:hover:not(:disabled){background:var(--tertiary)}.profile__button:disabled{opacity:.7;cursor:not-allowed}.profile__button--secondary{background:var(--gray-bg);color:var(--text-primary);margin-left:.5rem}.profile__button--secondary:hover:not(:disabled){background:var(--gray-border-light)}.date-field{margin-bottom:1.5rem}.date-field:last-child{margin-bottom:0}.date-field__label{display:block;margin-bottom:.35rem;font-weight:600;font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--primary)}.date-field__hint{display:block;margin-top:.25rem;font-size:var(--font-size-sm);color:var(--text-secondary);font-family:var(--font-primary)}.date-field__error-message{display:block;margin-top:.25rem;font-size:var(--font-size-sm);color:var(--error);font-family:var(--font-primary)}.date-field__date-with-clear{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.15rem;border:1px solid var(--gray-border-light);border-radius:4px;background-color:var(--background-white)}.date-field__clear-button{padding:.15rem .35rem;font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-secondary);background:none;border:1px solid var(--gray-border-light);border-radius:4px;cursor:pointer;transition:color .2s ease,border-color .2s ease,background-color .2s ease}.date-field__clear-button:hover:not(:disabled){color:var(--text-primary);background-color:var(--gray-hover);border-color:var(--gray-border-hover)}.date-field__clear-button:disabled{cursor:not-allowed;opacity:.6}.date-field__date-parts{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;padding:0;position:relative}.date-field__date-parts .date-field__input{width:auto;min-width:0;padding:.15rem .25rem;border:1px solid var(--gray-border-light);border-radius:4px;font-size:var(--font-size-sm);font-family:var(--font-primary);color:var(--text-primary);background-color:var(--background-white);transition:border-color .2s ease;line-height:1.3}.date-field__date-parts .date-field__input:focus{outline:none;border-color:var(--primary)}.date-field__date-parts .date-field__input:disabled{background-color:var(--gray-bg);cursor:not-allowed;opacity:.6}.date-field__date-parts.date-field__input--error .date-field__input{border-color:var(--error)}.date-field__date-parts .date-field__date-part--month,.date-field__date-parts .date-field__date-part--day{width:2.2rem}.date-field__date-parts .date-field__date-part--year{width:3rem}.date-field__date-parts .date-field__date-part--hidden{position:absolute;width:0;height:0;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;pointer-events:none}.profile-photo-upload{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem}.profile-photo-upload__image-area{position:relative;width:200px;height:200px;min-height:200px;flex-shrink:0;overflow:hidden;border-radius:8px}.profile-photo-upload__placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:var(--gray-bg);border:2px dashed var(--gray-border-light);border-radius:8px;gap:.5rem}.profile-photo-upload__placeholder-icon{font-size:var(--font-size-3xl);opacity:.5}.profile-photo-upload__placeholder-text{font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-secondary)}.profile-photo-upload__placeholder--status .profile-photo-upload__placeholder-text{color:var(--text-secondary)}.profile-photo-upload__photo-wrap{position:absolute;top:0;right:0;bottom:0;left:0}.profile-photo-upload__image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;border-radius:8px;border:1px solid var(--gray-border-light)}.profile-photo-upload__image--clickable{cursor:pointer}.profile-photo-upload__enlarge-icon{position:absolute;top:.5rem;right:.5rem;z-index:1;display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:var(--black-50);border-radius:4px;color:var(--background-white);opacity:.5;pointer-events:none}.profile-photo-upload__enlarge-icon svg{flex-shrink:0;width:12px;height:12px}.profile-photo-upload__change-button{position:absolute;bottom:.5rem;z-index:1;left:50%;transform:translate(-50%);padding:.25rem .5rem;font-family:var(--font-primary);font-size:var(--font-size-4xs);font-weight:500;line-height:1.2;color:var(--primary);background-color:var(--white-95);border:1px solid var(--gray-border-light);border-radius:4px;cursor:pointer;box-shadow:0 1px 3px var(--black-15);transition:background-color .2s ease,border-color .2s ease}.profile-photo-upload__change-button:hover{background-color:var(--background-white);border-color:var(--gray-border-hover)}.profile-photo-upload__error{margin:0;font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--error)}.profile-photo-upload__success{margin:0;font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--success)}.person-edit-form{width:100%;padding:2rem;background-color:var(--background-white);border:1px solid var(--gray-border-light);border-radius:8px;max-width:var(--content-max-width);margin:0 auto;box-sizing:border-box}.person-edit-form__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:1rem}.person-edit-form__title{margin:0;font-family:var(--font-primary);font-size:var(--font-size-2xl);font-weight:600;color:var(--primary)}.person-edit-form__subtitle{font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-secondary)}.person-edit-form__header-actions{display:flex;gap:1rem;align-items:center}.person-edit-form__cancel-button{padding:.5rem 1rem;font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:500;color:var(--primary);background-color:var(--background-white);border:1px solid var(--gray-border-light);border-radius:4px;cursor:pointer;transition:all .2s ease}.person-edit-form__cancel-button:hover:not(:disabled){background-color:var(--gray-hover);border-color:var(--gray-border-hover)}.person-edit-form__cancel-button:disabled{cursor:not-allowed;opacity:.6}.person-edit-form__submit-button{padding:.5rem 1rem;font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:500;color:var(--link-color);background-color:var(--primary-button);border:none;border-radius:4px;cursor:pointer;transition:opacity .2s ease}.person-edit-form__submit-button:hover:not(:disabled){opacity:.9}.person-edit-form__submit-button:disabled{cursor:not-allowed;opacity:.6}.person-edit-form__error{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;background-color:var(--error-bg);border:1px solid var(--error);border-radius:4px;margin-bottom:1rem;color:var(--error);font-family:var(--font-primary);font-size:var(--font-size-sm)}.person-edit-form__error-dismiss{background:none;border:none;font-size:1.25rem;line-height:1;cursor:pointer;padding:.25rem;opacity:.8;flex-shrink:0}.person-edit-form__error-dismiss:hover{opacity:1}.person-edit-form__photo-section,.person-edit-form__section{width:100%;margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--gray-border-light);box-sizing:border-box}.person-edit-form__section:last-of-type{border-bottom:none;margin-bottom:0}.person-edit-form__section-title{margin:0 0 1.5rem;font-family:var(--font-primary);font-size:var(--font-size-lg);font-weight:600;color:var(--primary)}.person-edit-form__field{margin-bottom:1.5rem}.person-edit-form__field:last-child{margin-bottom:0}.person-edit-form__field--full{grid-column:1 / -1}.person-edit-form__checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-weight:600;margin-bottom:0;line-height:1.25rem}.person-edit-form__checkbox{width:1.25rem;height:1.25rem;margin:0;flex-shrink:0;accent-color:var(--primary);cursor:pointer;vertical-align:middle}.person-edit-form__checkbox:disabled{cursor:not-allowed;opacity:.6}.person-edit-form__field-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem;width:100%;box-sizing:border-box}.person-edit-form__field-group:last-child{margin-bottom:0}.person-edit-form__field-group .person-edit-form__field{margin-bottom:0}.person-edit-form__label{display:block;margin-bottom:.5rem;font-weight:600;font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--primary)}.person-edit-form__label.person-edit-form__checkbox-label{display:flex}.person-edit-form__input,.person-edit-form__select{width:100%;padding:.4rem .75rem;border:1px solid var(--gray-border-light);border-radius:4px;font-size:var(--font-size-sm);font-family:var(--font-primary);color:var(--text-primary);background-color:var(--background-white);transition:border-color .2s ease;line-height:1.3}.person-edit-form__input::placeholder{color:var(--text-subtle);opacity:1}.person-edit-form__input::-webkit-input-placeholder{color:var(--text-subtle)}.person-edit-form__input::-moz-placeholder{color:var(--text-subtle);opacity:1}.person-edit-form__input:-ms-input-placeholder{color:var(--text-subtle)}.person-edit-form__input:focus,.person-edit-form__select:focus{outline:none;border-color:var(--primary)}.person-edit-form__input:disabled,.person-edit-form__select:disabled{background-color:var(--gray-bg);cursor:not-allowed;opacity:.6}.person-edit-form__input--error{border-color:var(--error)}.person-edit-form__error-message{display:block;margin-top:.25rem;font-size:var(--font-size-sm);color:var(--error);font-family:var(--font-primary)}.person-edit-form__hint{display:block;margin-top:.25rem;font-size:var(--font-size-sm);color:var(--text-secondary);font-family:var(--font-primary)}.person-edit-form__actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:2rem;margin-top:2rem}.person-edit-form__button{padding:.75rem 1.5rem;border-radius:4px;font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:all .2s ease}.person-edit-form__button:disabled{cursor:not-allowed;opacity:.6}.person-edit-form__button--cancel{border:1px solid var(--gray-border-light);background-color:var(--background-white);color:var(--primary)}.person-edit-form__button--cancel:hover:not(:disabled){background-color:var(--gray-hover);border-color:var(--gray-border-hover)}.person-edit-form__button--submit{border:none;background-color:var(--primary-button);color:var(--link-color)}.person-edit-form__button--submit:hover:not(:disabled){opacity:.9}@media (max-width: 768px){.person-edit-form{padding:1.5rem}.person-edit-form__header{flex-direction:column;align-items:stretch;gap:1rem}.person-edit-form__title{font-size:var(--font-size-xl)}.person-edit-form__subtitle{font-size:var(--font-size-xs)}.person-edit-form__header-actions{gap:.5rem}.person-edit-form__cancel-button,.person-edit-form__submit-button{font-size:var(--font-size-sm);padding:.4rem .75rem}.person-edit-form__field-group{grid-template-columns:1fr}.person-edit-form__section-title{font-size:var(--font-size-base)}.person-edit-form__label,.person-edit-form__input,.person-edit-form__select,.form-select-trigger,.form-select-item{font-size:var(--font-size-sm)}.person-edit-form__actions{gap:.5rem}.person-edit-form__button{font-size:var(--font-size-sm);padding:.4rem .75rem}}@media (max-width: 480px){.person-edit-form{padding:1rem}.person-edit-form__header{gap:.75rem}.person-edit-form__title{font-size:var(--font-size-lg)}.person-edit-form__subtitle{font-size:var(--font-size-xs)}.person-edit-form__header-actions{gap:.375rem}.person-edit-form__cancel-button,.person-edit-form__submit-button{font-size:var(--font-size-xs);padding:.35rem .5rem}.person-edit-form__section-title{font-size:var(--font-size-sm)}.person-edit-form__label,.person-edit-form__input,.person-edit-form__select,.form-select-trigger,.form-select-item{font-size:var(--font-size-xs)}.person-edit-form__actions{gap:.375rem}.person-edit-form__button{font-size:var(--font-size-xs);padding:.35rem .5rem}.person-edit-form__section{margin-bottom:1.5rem;padding-bottom:1.5rem}.person-edit-form__field{margin-bottom:1rem}.person-edit-form__hint{font-size:var(--font-size-xs)}}.citation-links-field{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--gray-border-light)}.citation-links-field__label{font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:600;color:var(--text-dark)}.citation-links-field__hint,.citation-links-field__loading{margin:0;font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-secondary)}.citation-links-field__error{font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--error)}.citation-links-field__list{margin:0;padding:0;list-style:none}.citation-links-field__item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.35rem 0;font-family:var(--font-primary);font-size:var(--font-size-sm);border-bottom:1px solid var(--gray-bg)}.citation-links-field__item-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.citation-links-field__item:last-child{border-bottom:none}.citation-links-field__item-label{color:var(--text-primary);min-width:0}.citation-links-field__remove{flex-shrink:0;padding:.25rem .5rem;font-family:var(--font-primary);font-size:var(--font-size-xs);color:var(--text-secondary);background:transparent;border:1px solid var(--gray-border-light);border-radius:4px;cursor:pointer}.citation-links-field__remove:hover:not(:disabled){background:var(--gray-bg);color:var(--text-primary)}.citation-links-field__view-image{padding:.2rem .5rem;font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:500;color:var(--primary);background:transparent;border:1px solid var(--gray-border-light);border-radius:4px;cursor:pointer}.citation-links-field__view-image:hover:not(:disabled){color:var(--primary-hover);background:var(--primary-bg-light);text-decoration:none}.citation-links-field__view-image:disabled{opacity:.6;cursor:not-allowed}.citation-links-field__remove:disabled{opacity:.6;cursor:not-allowed}.citation-links-field__add{display:flex;flex-direction:column;gap:.5rem;margin-top:.25rem}.citation-links-field__add-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.citation-links-field__create-form{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:var(--gray-bg);border-radius:6px;border:1px solid var(--gray-border-light)}.citation-links-field__create-row{display:flex;flex-direction:column;gap:.2rem}.citation-links-field__create-label{font-family:var(--font-primary);font-size:var(--font-size-xs);font-weight:500;color:var(--text-secondary)}.citation-links-field__create-input{padding:.4rem .75rem;font-family:var(--font-primary);font-size:var(--font-size-sm);border:1px solid var(--border-light);border-radius:4px}.citation-links-field__create-select{min-width:120px}.citation-links-field__link-form{display:flex;align-items:center;gap:.5rem}.citation-links-field .form-select-trigger{min-width:180px}.citation-links-field__add-button{padding:.4rem .75rem;font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:500;color:var(--link-color);background-color:var(--primary-button);border:none;border-radius:4px;cursor:pointer}.citation-links-field__add-button:hover:not(:disabled){opacity:.9}.citation-links-field__add-button:disabled{opacity:.6;cursor:not-allowed}.record-info-popover{position:relative;display:inline-flex;align-items:center;flex-shrink:0}.record-info-popover__trigger,.record-info-popover__trigger-icon{display:inline-flex;align-items:center;justify-content:center}.record-info-popover__trigger{background:none;border:none;padding:0;margin:0 0 0 .25rem;cursor:pointer;font-size:var(--font-size-base);color:var(--text-secondary);opacity:.8;transition:opacity .2s ease}.record-info-popover__trigger:hover{opacity:1;color:var(--primary)}.record-info-popover__trigger-icon{font-style:normal;font-size:1rem;line-height:1}.record-info-popover__panel{padding:.75rem 1rem;background-color:var(--background-white);border:1px solid var(--gray-border-light);border-radius:4px;box-shadow:var(--shadow-card);z-index:10;min-width:200px;max-width:320px;font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-primary)}.record-info-popover__section{margin-bottom:.5rem}.record-info-popover__section:last-child{margin-bottom:0}.record-info-popover__row{display:flex;flex-wrap:wrap;gap:.25rem .5rem;margin-bottom:.25rem}.record-info-popover__row:last-child{margin-bottom:0}.record-info-popover__row strong{color:var(--text-dark);font-weight:600}.record-info-popover__details{padding-top:.5rem;border-top:1px solid var(--gray-border-light)}.record-info-popover__detail-block{margin-bottom:.5rem}.record-info-popover__detail-block:last-child{margin-bottom:0}.record-info-popover__detail-block strong{color:var(--text-dark);font-weight:600;display:block;margin-bottom:.25rem}.record-info-popover__detail-text{color:var(--text-primary);line-height:1.5;font-size:var(--font-size-sm)}.record-info-popover__media{padding-top:.5rem;border-top:1px solid var(--gray-border-light);display:flex;flex-direction:column;gap:.5rem}.record-info-popover__media-label{font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:600;color:var(--text-dark)}.record-info-popover__media-actions{display:flex;flex-wrap:wrap;gap:.5rem}.record-info-popover__view-image{padding:.375rem .75rem;font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:500;color:var(--link-color);background-color:var(--primary-button);border:none;border-radius:4px;cursor:pointer;transition:opacity .2s ease}.record-info-popover__view-image:hover:not(:disabled){opacity:.9}.record-info-popover__view-image:disabled{opacity:.7;cursor:wait}.record-info-popover__loading{padding-top:.5rem;border-top:1px solid var(--gray-border-light);color:var(--text-secondary);font-size:var(--font-size-xs)}.person-facts{display:flex;flex-direction:column;gap:0;margin-top:0;padding-top:0}.person-facts__header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:0;padding-bottom:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.person-facts__header:hover{color:var(--primary)}.person-facts__header-button{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0;background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;text-align:left;cursor:pointer}.person-facts__chevron{flex-shrink:0;transition:transform .2s ease}.person-facts__header-button[data-state=closed] .person-facts__chevron{transform:rotate(-90deg)}.person-facts__title{margin:0;font-family:var(--font-primary);font-size:var(--font-size-xl);font-weight:600;color:var(--primary)}.person-facts__add-button{padding:.5rem 1rem;font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:500;color:var(--link-color);background-color:var(--primary-button);border:none;border-radius:4px;cursor:pointer;transition:opacity .2s ease}.person-facts__add-button:hover:not(:disabled){opacity:.9}.person-facts__add-button:disabled{opacity:.5;cursor:not-allowed}.person-facts__error{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;margin-bottom:.75rem;background-color:var(--error-bg);border:1px solid var(--error);border-radius:4px;color:var(--error);font-family:var(--font-primary);font-size:var(--font-size-sm)}.person-facts__error-dismiss{background:none;border:none;font-size:1.25rem;line-height:1;cursor:pointer;padding:.25rem;opacity:.8;flex-shrink:0}.person-facts__error-dismiss:hover{opacity:1}.person-facts__loading{padding:2rem;text-align:center;color:var(--text-secondary);font-family:var(--font-primary)}.person-facts__empty{padding:.75rem 0 .5rem;text-align:left;color:var(--text-secondary);font-family:var(--font-primary);font-style:italic;font-size:var(--font-size-sm)}.person-facts__form{padding:1rem 0 1.25rem;margin-top:.25rem;background-color:transparent;border:none;border-bottom:1px solid var(--gray-border-light);border-radius:0;display:flex;flex-direction:column;gap:.75rem}.person-facts__form-title{margin:0;font-family:var(--font-primary);font-size:var(--font-size-lg);font-weight:600;color:var(--primary)}.person-facts__form-field{display:flex;flex-direction:column;gap:.5rem}.person-facts__form-row{display:flex;flex-direction:column;gap:.75rem}@media (min-width: 640px){.person-facts__form-row--type-detail{flex-direction:row;align-items:flex-end;gap:1rem}.person-facts__form-row--type-detail .person-facts__form-field--type{flex:0 0 180px;min-width:180px}.person-facts__form-row--type-detail .person-facts__form-field--detail{flex:1;min-width:0}}.person-facts__form-label{font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:500;color:var(--text-dark)}.person-facts__required{color:var(--error)}.person-facts__form-type-description{margin:0 0 .25rem;font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.4}.person-facts__form-select,.person-facts__form-input{padding:.4rem .75rem;font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-primary);background-color:var(--background-white);border:1px solid var(--gray-border-light);border-radius:4px;transition:border-color .2s ease;line-height:1.3}.person-facts__form-textarea{padding:.5rem;font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-primary);background-color:var(--background-white);border:1px solid var(--gray-border-light);border-radius:4px;transition:border-color .2s ease;resize:vertical;min-height:60px}.person-facts__form-select:focus,.person-facts__form-input:focus,.person-facts__form-textarea:focus{outline:none;border-color:var(--primary)}.person-facts__form-select:disabled{background-color:var(--gray-bg);cursor:not-allowed}.person-facts__form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:.5rem}.person-facts__cancel-button,.person-facts__save-button{padding:.5rem 1rem;font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:500;border:none;border-radius:4px;cursor:pointer;transition:opacity .2s ease}.person-facts__cancel-button{color:var(--text-primary);background-color:var(--background-white);border:1px solid var(--gray-border-light)}.person-facts__cancel-button:hover{background-color:var(--gray-hover);border-color:var(--gray-border-hover)}.person-facts__save-button{color:var(--link-color);background-color:var(--primary-button)}.person-facts__save-button:hover{opacity:.9}.person-facts__body{margin-top:.25rem}.person-facts__list{display:flex;flex-direction:column;gap:0}.person-facts__item{padding:.5rem 0 .75rem;background-color:transparent;border:none;border-bottom:1px solid var(--gray-border-light);border-radius:0}.person-facts__item:last-child{border-bottom:none}.person-facts__item-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.person-facts__item-content{display:flex;align-items:baseline;flex:1;flex-wrap:wrap;min-width:0}.person-facts__item-type-wrapper{display:inline-flex;align-items:center;gap:.25rem}.person-facts__item-type{font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:700;color:var(--text-dark);white-space:nowrap}.person-facts__item-separator{color:var(--text-primary);flex-shrink:0}.person-facts__item-detail{font-family:var(--font-primary);font-size:var(--font-size-base);color:var(--text-primary);word-wrap:break-word;overflow-wrap:break-word;min-width:0;vertical-align:baseline;line-height:1.5;padding-left:.5rem}.person-facts__item-actions{display:flex;gap:.5rem;flex-shrink:0}.person-facts__item-notes-wrapper{position:relative;display:inline-flex;align-items:baseline;margin-left:.5rem;flex-shrink:0;vertical-align:baseline}.person-facts__item-notes-icon{background:none;border:none;cursor:pointer;font-size:var(--font-size-sm);padding:0;margin:0;display:inline-flex;align-items:center;justify-content:center;opacity:.7;transition:opacity .2s ease;vertical-align:baseline;line-height:1}.person-facts__item-notes-icon:hover{opacity:1}.person-facts__item-notes-tooltip{position:absolute;top:100%;right:0;margin-top:.5rem;padding:.75rem;background-color:var(--background-white);border:1px solid var(--gray-border-light);border-radius:4px;box-shadow:var(--shadow-card);z-index:10;min-width:200px;max-width:400px}.person-facts__item-notes-content{font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-primary);margin-bottom:.75rem}.person-facts__item-notes-content:last-child{margin-bottom:0}.person-facts__item-notes-content strong{color:var(--text-dark);font-weight:600;display:block;margin-bottom:.25rem}.person-facts__item-notes-text{color:var(--text-primary);line-height:1.5}.person-facts__item-source-content{font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-secondary);padding-top:.75rem;border-top:1px solid var(--gray-border-light)}.person-facts__item-source-content strong{color:var(--text-dark);font-weight:600;display:block;margin-bottom:.25rem}.person-facts__item-source-text{color:var(--text-secondary);line-height:1.5}.person-facts__edit-button,.person-facts__delete-button{padding:.375rem .75rem;font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:500;border:none;border-radius:4px;cursor:pointer;transition:opacity .2s ease}.person-facts__edit-button{color:var(--primary);background-color:var(--background-white);border:1px solid var(--gray-border-light)}.person-facts__edit-button:hover:not(:disabled){color:var(--primary-hover);background-color:var(--gray-hover);border-color:var(--primary)}.person-facts__delete-button{color:var(--error);background-color:var(--background-white);border:1px solid var(--error)}.person-facts__delete-button:hover:not(:disabled){background-color:var(--error-bg);border-color:var(--error)}.person-facts__edit-button:disabled,.person-facts__delete-button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.person-facts__title{font-size:var(--font-size-lg)}.person-facts__add-button{width:fit-content;max-width:100%;font-size:var(--font-size-sm)}.person-facts__form-title{font-size:var(--font-size-base)}.person-facts__form-label,.person-facts__form-select,.person-facts__form-input,.person-facts__form-textarea,.person-facts__cancel-button,.person-facts__save-button,.person-facts__item-type,.person-facts__item-detail{font-size:var(--font-size-sm)}.person-facts__edit-button,.person-facts__delete-button{font-size:var(--font-size-xs);padding:.3rem .6rem}.person-facts__header{flex-direction:column;align-items:stretch}.person-facts__item-notes-content,.person-facts__item-source-content{font-size:var(--font-size-xs)}.person-facts__item-notes-tooltip{right:auto;left:0}}@media (max-width: 480px){.person-facts__title{font-size:var(--font-size-base)}.person-facts__add-button{font-size:var(--font-size-xs);padding:.4rem .75rem}.person-facts__form-title{font-size:var(--font-size-sm)}.person-facts__form-label,.person-facts__form-select,.person-facts__form-input,.person-facts__form-textarea{font-size:var(--font-size-xs)}.person-facts__cancel-button,.person-facts__save-button{font-size:var(--font-size-xs);padding:.35rem .6rem}.person-facts__item-row{flex-wrap:wrap;align-items:baseline}.person-facts__item-content{flex:1;min-width:0}.person-facts__item-actions{flex-basis:100%;justify-content:flex-end;margin-top:.5rem}.person-facts__item-type,.person-facts__item-detail{font-size:var(--font-size-xs)}.person-facts__edit-button,.person-facts__delete-button{font-size:var(--font-size-2xs);padding:.25rem .5rem}.person-facts__item-notes-content,.person-facts__item-source-content{font-size:var(--font-size-2xs)}}.person-life-events{display:flex;flex-direction:column;gap:0;margin-top:0;padding-top:0}.person-life-events__header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:0;padding-bottom:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.person-life-events__header:hover{color:var(--primary)}.person-life-events__header-button{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0;background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;text-align:left;cursor:pointer}.person-life-events__chevron{flex-shrink:0;transition:transform .2s ease}.person-life-events__header-button[data-state=closed] .person-life-events__chevron{transform:rotate(-90deg)}.person-life-events__title{margin:0;font-family:var(--font-primary);font-size:var(--font-size-xl);font-weight:600;color:var(--primary)}.person-life-events__add-button{padding:.5rem 1rem;font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:500;color:var(--link-color);background-color:var(--primary-button);border:none;border-radius:4px;cursor:pointer;transition:opacity .2s ease;flex-shrink:0}.person-life-events__add-button:hover:not(:disabled){opacity:.9}.person-life-events__add-button:disabled{opacity:.5;cursor:not-allowed}.person-life-events__body{margin-top:.25rem}.person-life-events__form{padding:1rem 0 1.25rem;margin-top:.25rem;background-color:transparent;border:none;border-bottom:1px solid var(--gray-border-light);border-radius:0;display:flex;flex-direction:column;gap:.75rem}.person-life-events__form-title{margin:0;font-family:var(--font-primary);font-size:var(--font-size-lg);font-weight:600;color:var(--primary)}.person-life-events__form-field{display:flex;flex-direction:column;gap:.5rem}.person-life-events__form-row{display:flex;flex-direction:column;gap:.75rem}@media (min-width: 640px){.person-life-events__form-row--event-precision-date{flex-direction:row;flex-wrap:nowrap;align-items:flex-end;gap:1rem}.person-life-events__form-row--event-precision-date .person-life-events__form-field--event-type{flex:1 1 auto;min-width:0}.person-life-events__form-row--event-precision-date .person-life-events__form-field--event-type .person-life-events__form-select{min-width:0;width:100%}.person-life-events__form-row--event-precision-date .person-life-events__form-field--date{flex:0 0 auto;min-width:220px}.person-life-events__form-row--event-precision-date .date-field__date-with-clear{flex-wrap:nowrap}}.person-life-events__form-label{font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:500;color:var(--text-dark)}.person-life-events__form-type-description{margin:0 0 .25rem;font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.4}.person-life-events__required{color:var(--error)}.person-life-events__form-select,.person-life-events__form-input{padding:.4rem .75rem;font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-primary);background-color:var(--background-white);border:1px solid var(--gray-border-light);border-radius:4px;transition:border-color .2s ease;line-height:1.3}.person-life-events__form-select:focus,.person-life-events__form-input:focus{outline:none;border-color:var(--primary)}.person-life-events__participants{margin-top:.25rem}.person-life-events__participants-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.5rem}.person-life-events__participants-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.4rem .5rem;background-color:var(--gray-bg);border-radius:4px}.person-life-events__participants-item--readonly{opacity:.9}.person-life-events__participants-name{font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-primary)}.person-life-events__participants-remove{padding:.25rem .5rem;font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--error);background:none;border:1px solid var(--error);border-radius:4px;cursor:pointer;flex-shrink:0}.person-life-events__participants-remove:hover:not(:disabled){opacity:.9}.person-life-events__participants-remove:disabled{opacity:.5;cursor:not-allowed;color:var(--text-secondary);border-color:var(--text-secondary)}.person-life-events__participants-add{margin-top:.5rem}.person-life-events__form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:.5rem}.person-life-events__cancel-button,.person-life-events__save-button{padding:.5rem 1rem;font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:500;border:none;border-radius:4px;cursor:pointer;transition:opacity .2s ease}.person-life-events__cancel-button{color:var(--text-primary);background-color:var(--background-white);border:1px solid var(--gray-border-light)}.person-life-events__cancel-button:hover{background-color:var(--gray-hover);border-color:var(--gray-border-hover)}.person-life-events__save-button{color:var(--link-color);background-color:var(--primary-button)}.person-life-events__save-button:hover{opacity:.9}.person-life-events__loading{padding:.75rem 0 .5rem;color:var(--text-secondary);font-family:var(--font-primary);font-size:var(--font-size-sm)}.person-life-events__error{padding:.5rem 0 .75rem;margin-bottom:.25rem;background-color:transparent;border:none;color:var(--error);font-family:var(--font-primary);font-size:var(--font-size-sm)}.person-life-events__empty{padding:.75rem 0 .5rem;text-align:left;color:var(--text-secondary);font-family:var(--font-primary);font-style:italic;font-size:var(--font-size-sm)}.person-life-events__list{display:flex;flex-direction:column;gap:0}.person-life-events__item{padding:.5rem 0 .75rem;background-color:transparent;border:none;border-bottom:1px solid var(--gray-border-light);border-radius:0}.person-life-events__item:last-child{border-bottom:none}.person-life-events__item-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.person-life-events__item-main{display:flex;align-items:baseline;gap:.5rem;flex:1;flex-wrap:wrap;min-width:0}.person-life-events__item-type{font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:700;color:var(--text-dark);white-space:nowrap}.person-life-events__item-separator{font-family:var(--font-primary);font-size:var(--font-size-sm);font-style:italic;color:var(--text-primary);flex-shrink:0}.person-life-events__item-date-inline{font-family:var(--font-primary);font-size:var(--font-size-base);color:var(--text-primary);white-space:nowrap}.person-life-events__item-place-inline{font-family:var(--font-primary);font-size:var(--font-size-base);color:var(--text-primary)}.person-life-events__item-detail{font-family:var(--font-primary);font-size:var(--font-size-base);color:var(--text-primary);word-wrap:break-word;overflow-wrap:break-word;min-width:0}.person-life-events__item-info-wrapper{position:relative;display:inline-flex;align-items:baseline;margin-left:.25rem;flex-shrink:0;vertical-align:baseline}.person-life-events__item-info-icon{background:none;border:none;cursor:pointer;font-size:var(--font-size-sm);padding:0;margin:0;display:inline-flex;align-items:center;justify-content:center;opacity:.7;transition:opacity .2s ease;vertical-align:baseline;line-height:1}.person-life-events__item-info-icon:hover{opacity:1}.person-life-events__item-info-tooltip{position:absolute;top:100%;right:0;margin-top:.5rem;padding:.75rem;background-color:var(--background-white);border:1px solid var(--gray-border-light);border-radius:4px;box-shadow:var(--shadow-card);z-index:10;min-width:200px;max-width:400px}.person-life-events__item-info-content{font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-primary);margin-bottom:.75rem}.person-life-events__item-info-content:last-child{margin-bottom:0}.person-life-events__item-info-content strong{color:var(--text-dark);font-weight:600;display:block;margin-bottom:.25rem}.person-life-events__item-info-text{color:var(--text-primary);line-height:1.5}.person-life-events__item-info-source{padding-top:.75rem;border-top:1px solid var(--gray-border-light)}.person-life-events__item-actions{display:flex;gap:.5rem;flex-shrink:0}.person-life-events__edit-button,.person-life-events__delete-button{padding:.375rem .75rem;font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:500;border:none;border-radius:4px;cursor:pointer;transition:opacity .2s ease}.person-life-events__edit-button{color:var(--primary);background-color:var(--background-white);border:1px solid var(--gray-border-light)}.person-life-events__edit-button:hover:not(:disabled){color:var(--primary-hover);background-color:var(--gray-hover);border-color:var(--primary)}.person-life-events__delete-button{color:var(--error);background-color:var(--background-white);border:1px solid var(--error)}.person-life-events__delete-button:hover:not(:disabled){background-color:var(--error-bg);border-color:var(--error)}.person-life-events__edit-button:disabled,.person-life-events__delete-button:disabled{opacity:.5;cursor:not-allowed}.person-life-events__item-meta{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;margin-top:.25rem;font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-secondary)}.person-life-events__item-date,.person-life-events__item-place{display:flex;gap:.25rem;flex-shrink:0}.person-life-events__item-meta-label{font-weight:600;color:var(--text-dark)}@media (max-width: 768px){.person-life-events__title{font-size:var(--font-size-lg)}.person-life-events__add-button{width:fit-content;max-width:100%;font-size:var(--font-size-sm)}.person-life-events__form-title{font-size:var(--font-size-base)}.person-life-events__form-label,.person-life-events__form-select,.person-life-events__form-input,.person-life-events__cancel-button,.person-life-events__save-button,.person-life-events__item-type,.person-life-events__item-separator,.person-life-events__item-date-inline,.person-life-events__item-place-inline{font-size:var(--font-size-sm)}.person-life-events__edit-button,.person-life-events__delete-button{font-size:var(--font-size-xs);padding:.3rem .6rem}.person-life-events__header{flex-direction:column;align-items:stretch}.person-life-events__loading,.person-life-events__empty{font-size:var(--font-size-sm)}.person-life-events__item-info-content,.person-life-events__item-info-source{font-size:var(--font-size-xs)}.person-life-events__item-info-tooltip{right:auto;left:0}}@media (max-width: 480px){.person-life-events__title{font-size:var(--font-size-base)}.person-life-events__add-button{font-size:var(--font-size-xs);padding:.4rem .75rem}.person-life-events__form-title{font-size:var(--font-size-sm)}.person-life-events__form-label,.person-life-events__form-select,.person-life-events__form-input,.person-life-events__participants-name,.person-life-events__participants-remove{font-size:var(--font-size-xs)}.person-life-events__cancel-button,.person-life-events__save-button{font-size:var(--font-size-xs);padding:.35rem .6rem}.person-life-events__item-row{flex-wrap:wrap;align-items:baseline}.person-life-events__item-main{flex:1;min-width:0;gap:.25rem}.person-life-events__item-actions{flex-basis:100%;justify-content:flex-end;margin-top:.5rem}.person-life-events__item-type,.person-life-events__item-separator,.person-life-events__item-date-inline,.person-life-events__item-place-inline{font-size:var(--font-size-xs)}.person-life-events__edit-button,.person-life-events__delete-button{font-size:var(--font-size-2xs);padding:.25rem .5rem}.person-life-events__loading,.person-life-events__empty{font-size:var(--font-size-xs)}.person-life-events__item-info-content,.person-life-events__item-info-source{font-size:var(--font-size-2xs)}}.person-relationships{display:flex;flex-direction:column;gap:0;margin-top:0;padding-top:0}.person-relationships__header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:0;padding-bottom:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none}.person-relationships__header:hover{color:var(--primary)}.person-relationships__header-button{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0;background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;text-align:left;cursor:pointer}.person-relationships__chevron{flex-shrink:0;transition:transform .2s ease}.person-relationships__header-button[data-state=closed] .person-relationships__chevron{transform:rotate(-90deg)}.person-relationships__title{margin:0;font-family:var(--font-primary);font-size:var(--font-size-xl);font-weight:600;color:var(--primary)}.person-relationships__content{display:flex;flex-direction:column;gap:1.5rem}.person-relationships__error{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;font-family:var(--font-primary);font-size:var(--font-size-base);color:var(--error);background-color:var(--error-bg);border:1px solid var(--error);border-radius:4px}.person-relationships__error-dismiss{background:none;border:none;font-size:1.25rem;line-height:1;cursor:pointer;padding:.25rem;opacity:.8;flex-shrink:0}.person-relationships__error-dismiss:hover{opacity:1}.person-relationships__section{display:flex;flex-direction:column;gap:.75rem}.person-relationships__section-title{margin:0;font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:600;color:var(--text-primary)}.person-relationships__row{display:flex;flex-wrap:nowrap;align-items:center;gap:1rem}.person-relationships__type-label{flex-shrink:0;width:130px;font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-secondary)}.person-relationships__name{flex:1;min-width:0;font-family:var(--font-primary);font-size:var(--font-size-base);color:var(--text-primary);text-align:left}.person-relationships__remove-button{flex-shrink:0;padding:.25rem .5rem;font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:500;color:var(--error);background-color:var(--background-white);border:1px solid var(--error);border-radius:4px;cursor:pointer;transition:opacity .2s ease}.person-relationships__remove-button:hover:not(:disabled){background-color:var(--error-bg);border-color:var(--error)}.person-relationships__remove-button:disabled{opacity:.5;cursor:not-allowed}.person-relationships__empty-hint{margin:0;font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-secondary)}.person-relationships__section-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.person-relationships__add-pet-button{padding:.25rem .5rem;font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:500;color:var(--primary);background-color:var(--background-white);border:1px solid var(--primary);border-radius:4px;cursor:pointer}.person-relationships__add-pet-button:hover{background-color:var(--primary-bg-light)}.person-relationships__pet-link{background:none;border:none;padding:0;font:inherit;color:var(--primary);text-decoration:underline;cursor:pointer}.person-relationships__pet-link:hover{color:var(--primary-dark, var(--primary))}.person-relationships__pet-meta{color:var(--text-secondary);font-size:var(--font-size-sm)}@media (max-width: 768px){.person-relationships__title{font-size:var(--font-size-lg)}.person-relationships__section-title{font-size:var(--font-size-sm)}.person-relationships__type-label{width:110px;min-width:110px;font-size:var(--font-size-xs)}.form-select-trigger--compact{min-width:110px;padding:.2rem .4rem;font-size:var(--font-size-xs)}.form-select-item{padding:.2rem .4rem;font-size:var(--font-size-xs)}.person-relationships__name{font-size:var(--font-size-sm)}.person-relationships__remove-button{font-size:var(--font-size-xs);padding:.2rem .4rem}.person-relationships__empty-hint{font-size:var(--font-size-xs)}.person-relationships__error{font-size:var(--font-size-sm)}.person-relationships__header{flex-direction:column;align-items:stretch}.person-relationships__row{gap:.75rem;flex-wrap:wrap}}@media (max-width: 480px){.person-relationships__title{font-size:var(--font-size-base)}.person-relationships__section-title{font-size:var(--font-size-xs)}.person-relationships__type-label{width:95px;min-width:95px;font-size:var(--font-size-2xs)}.form-select-trigger--compact{min-width:95px;padding:.15rem .35rem;font-size:var(--font-size-2xs)}.form-select-item{padding:.15rem .35rem;font-size:var(--font-size-2xs)}.person-relationships__name{font-size:var(--font-size-xs)}.person-relationships__remove-button{font-size:var(--font-size-2xs);padding:.15rem .35rem}.person-relationships__empty-hint{font-size:var(--font-size-2xs)}.person-relationships__content{gap:1rem}.person-relationships__section,.person-relationships__row{gap:.5rem}}.role-explanation-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--black-30);display:flex;justify-content:center;align-items:center;z-index:1000}.role-explanation-modal-content{background-color:var(--background-white);border-radius:8px;padding:2rem;max-width:600px;width:90%;max-height:80vh;overflow:auto;box-shadow:0 4px 6px var(--black-10)}.role-explanation-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.role-explanation-modal-title{font-family:var(--font-primary);font-size:var(--font-size-2xl);font-weight:600;margin:0;color:var(--primary)}.role-explanation-modal-close{background:none;border:none;font-size:var(--font-size-2xl);cursor:pointer;color:var(--text-secondary);padding:.25rem .5rem;line-height:1}.role-explanation-modal-close:hover{color:var(--primary)}.role-explanation-modal-body{margin-bottom:1.5rem}.role-explanation-modal-loading{text-align:center;padding:2rem}.role-explanation-modal-spinner{width:40px;height:40px;border:4px solid var(--background-primary);border-top:4px solid var(--primary-button);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem;background-color:var(--background-white)}.role-explanation-modal-loading p{font-family:var(--font-primary);color:var(--text-secondary)}.role-explanation-modal-error{margin-bottom:1rem;padding:.75rem;background-color:var(--warning-light);color:var(--warning-dark);border-radius:6px;font-family:var(--font-primary);font-size:var(--font-size-sm)}.role-explanation-modal-effective-role{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1rem;background-color:var(--background-primary);border-radius:6px}.role-explanation-modal-effective-role-label{font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:500;color:var(--text-primary)}.role-explanation-modal-role-badge{display:inline-block;padding:.375rem .75rem;border-radius:4px;font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:600;text-transform:capitalize}.role-explanation-modal-role-badge--owner{background-color:var(--primary-button);color:var(--link-color)}.role-explanation-modal-role-badge--admin{background-color:var(--primary);color:var(--background-white)}.role-explanation-modal-role-badge--editor{background-color:var(--primary-light);color:var(--primary)}.role-explanation-modal-role-badge--contributor{background-color:var(--background-primary);color:var(--primary);border:1px solid var(--primary)}.role-explanation-modal-role-badge--viewer{background-color:var(--gray-hover);color:var(--text-secondary)}.role-explanation-modal-role-badge--denied{background-color:var(--warning-light);color:var(--warning-dark)}.role-explanation-modal-summary{margin-bottom:1.5rem;padding:1rem;background-color:var(--background-primary);border-radius:6px;font-family:var(--font-primary);font-size:var(--font-size-base);color:var(--text-primary)}.role-explanation-modal-summary-hint{margin-top:.75rem;font-size:var(--font-size-sm);color:var(--text-secondary)}.role-explanation-modal-docs-link{margin-bottom:1.5rem}.role-explanation-modal-docs-link-a{font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--primary);text-decoration:none}.role-explanation-modal-docs-link-a:hover{text-decoration:underline}.role-explanation-modal-section{margin-bottom:1.5rem}.role-explanation-modal-section-title{font-family:var(--font-primary);font-size:var(--font-size-lg);font-weight:600;margin:0 0 1rem;color:var(--primary)}.role-explanation-modal-sources{display:flex;flex-direction:column;gap:1rem}.role-explanation-modal-source-item{padding:1rem;border:1px solid var(--gray-border);border-radius:6px;background-color:var(--background-white)}.role-explanation-modal-source-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.role-explanation-modal-source-type{font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:500;color:var(--text-primary)}.role-explanation-modal-source-description{font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:.5rem}.role-explanation-modal-source-details{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--gray-border-light)}.role-explanation-modal-detail{display:flex;gap:.5rem;font-family:var(--font-primary);font-size:var(--font-size-sm)}.role-explanation-modal-detail-label{font-weight:500;color:var(--text-secondary)}.role-explanation-modal-detail-value{color:var(--text-primary)}.role-explanation-modal-blocks{display:flex;flex-direction:column;gap:.75rem}.role-explanation-modal-block-item{display:flex;gap:.75rem;padding:.75rem;background-color:var(--warning-light);border:1px solid var(--warning-dark);border-radius:6px}.role-explanation-modal-block-icon{font-size:var(--font-size-lg)}.role-explanation-modal-block-content{flex:1}.role-explanation-modal-block-source{font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:500;color:var(--warning-dark);margin-bottom:.25rem}.role-explanation-modal-block-reason{font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-secondary)}.role-explanation-modal-grants{display:flex;flex-direction:column;gap:.75rem}.role-explanation-modal-grant-item{display:flex;align-items:center;gap:1rem;padding:.75rem;border:1px solid var(--gray-border);border-radius:6px;background-color:var(--background-white)}.role-explanation-modal-grant-type{font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary);min-width:80px}.role-explanation-modal-grant-source{flex:1;font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-secondary)}.role-explanation-modal-footer{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--gray-border);display:flex;justify-content:flex-end}.role-explanation-modal-close-button{padding:.5rem 1rem;background-color:transparent;color:var(--text-secondary);border:1px solid var(--gray-border);border-radius:6px;cursor:pointer;font-family:var(--font-primary);font-weight:500;font-size:var(--font-size-sm)}.role-explanation-modal-close-button:hover{background-color:var(--background-primary)}@media (max-width: 768px){.role-explanation-modal-close-button{font-size:var(--font-size-sm);padding:.4rem .75rem}}@media (max-width: 480px){.role-explanation-modal-close-button{font-size:var(--font-size-xs);padding:.35rem .5rem}}.person-profile-screen{display:flex;flex-direction:column;height:100%;width:100%;max-width:var(--content-max-width);margin:0 auto;padding:2rem 3rem;box-sizing:border-box}.person-profile-screen__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:1rem}.person-profile-screen__header-actions{display:flex;gap:1rem;align-items:center}.person-profile-screen__back-button{padding:.5rem 1rem;font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:500;color:var(--primary);background-color:var(--background-white);border:1px solid var(--gray-border-light);border-radius:4px;cursor:pointer;transition:all .2s ease;flex-shrink:0}.person-profile-screen__back-button:hover{background-color:var(--gray-hover);border-color:var(--gray-border-hover)}.person-profile-screen__tree-button{padding:.5rem 1rem;font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:500;color:var(--primary);background-color:var(--background-white);border:1px solid var(--gray-border-light);border-radius:4px;cursor:pointer;transition:all .2s ease}.person-profile-screen__tree-button:hover{background-color:var(--gray-hover);border-color:var(--gray-border-hover)}.person-profile-screen__edit-button{padding:.5rem 1rem;font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:500;color:var(--link-color);background-color:var(--primary-button);border:none;border-radius:4px;cursor:pointer;transition:opacity .2s ease}.person-profile-screen__edit-button:hover{opacity:.9}.person-profile-screen__why-cant-edit-button{padding:.5rem 1rem;font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:500;color:var(--primary);background-color:var(--background-white);border:1px solid var(--gray-border-light);border-radius:4px;cursor:pointer;transition:all .2s ease;text-decoration:underline;text-decoration-color:var(--primary);text-underline-offset:2px}.person-profile-screen__why-cant-edit-button:hover{background-color:var(--gray-hover);border-color:var(--gray-border-hover);text-decoration-color:var(--primary-button)}.person-profile-screen__delete-button{padding:.5rem 1rem;font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:500;color:var(--error);background-color:transparent;border:1px solid var(--error);border-radius:4px;cursor:pointer;transition:background-color .2s ease,color .2s ease;margin-left:auto}.person-profile-screen__delete-button:hover:not(:disabled){color:var(--background-white);background-color:var(--error)}.person-profile-screen__delete-button:active:not(:disabled){color:var(--background-white);background-color:var(--error)}.person-profile-screen__delete-button:disabled{opacity:.6;cursor:not-allowed}.person-profile-screen__delete-error{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;margin-bottom:1rem;background-color:var(--error-bg);border:1px solid var(--error);border-radius:4px;font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--error)}.person-profile-screen__delete-error-dismiss{background:none;border:none;font-size:1.25rem;line-height:1;cursor:pointer;padding:.25rem;opacity:.8}.person-profile-screen__delete-error-dismiss:hover{opacity:1}.person-profile-screen__content{display:flex;flex-direction:column;gap:2rem}.person-profile-screen__section.person-relationships .person-relationships__title{margin-bottom:.75rem}.person-profile-screen__profile-section{display:flex;gap:2rem;padding:2rem;background-color:var(--background-white);border:1px solid var(--gray-border-light);border-radius:8px}.person-profile-screen__photo-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;width:200px;height:200px;min-width:200px;background-color:var(--gray-bg);border:2px dashed var(--gray-border-light);border-radius:8px;gap:.5rem}.person-profile-screen__photo-icon{font-size:var(--font-size-3xl);opacity:.5}.person-profile-screen__photo-text{margin:0;font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-secondary)}.person-profile-screen__info{flex:1;display:flex;flex-direction:column;gap:1rem}.person-profile-screen__name-row{display:flex;align-items:center;gap:.5rem}.person-profile-screen__name{margin:0;font-family:var(--font-primary);font-size:var(--font-size-2xl);font-weight:600;color:var(--primary)}.person-profile-screen__role-info-button{display:flex;align-items:center;justify-content:center;padding:.25rem;background:transparent;border:none;border-radius:4px;color:var(--gray-border);cursor:pointer;transition:color .2s ease}.person-profile-screen__role-info-button:hover{color:var(--primary)}.person-profile-screen__full-name{margin:0;font-family:var(--font-primary);font-size:var(--font-size-base);color:var(--text-secondary)}.person-profile-screen__details{display:flex;flex-direction:column;gap:.75rem}.person-profile-screen__detail-row{display:flex;gap:1rem}.person-profile-screen__detail-label{font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:600;color:var(--text-dark);min-width:120px}.person-profile-screen__detail-value{font-family:var(--font-primary);font-size:var(--font-size-base);color:var(--text-primary)}.person-profile-screen__section{padding:2rem;background-color:var(--background-white);border:1px solid var(--gray-border-light);border-radius:8px}.person-profile-screen__section-title{margin:0 0 1rem;font-family:var(--font-primary);font-size:var(--font-size-xl);font-weight:600;color:var(--primary)}.person-profile-screen__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.person-profile-screen__list-item{font-family:var(--font-primary);font-size:var(--font-size-base);color:var(--text-primary);padding:.5rem 0;border-bottom:1px solid var(--gray-border-light)}.person-profile-screen__list-item:last-child{border-bottom:none}.person-profile-screen__contacts{display:flex;flex-direction:column;gap:.75rem}.person-profile-screen__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-bottom:1rem;font-family:var(--font-primary);font-size:var(--font-size-base);color:var(--text-secondary)}.person-profile-screen__species,.person-profile-screen__breed{font-family:var(--font-primary);font-size:var(--font-size-base);color:var(--text-secondary)}.person-profile-screen__living-status{font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:500;color:var(--text-primary)}.person-profile-screen__meta--labeled{flex-direction:column;align-items:flex-start;gap:.5rem}.person-profile-screen__meta-row{display:flex;gap:.5rem;font-family:var(--font-primary);font-size:var(--font-size-base);color:var(--text-primary)}.person-profile-screen__meta-label{flex-shrink:0;color:var(--text-secondary)}.person-profile-screen__pet-info-grid{display:grid;grid-template-columns:minmax(90px,auto) 1fr;row-gap:.5rem;column-gap:1rem;align-items:baseline;font-family:var(--font-primary);font-size:var(--font-size-base)}.person-profile-screen__pet-info-grid .person-profile-screen__detail-row{display:contents}.person-profile-screen__pet-info-grid .person-profile-screen__detail-label{min-width:unset}.person-profile-screen__dates{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin-bottom:1.5rem;font-family:var(--font-primary);font-size:var(--font-size-base);color:var(--text-primary)}.person-profile-screen__dates>div{font-family:var(--font-primary);font-size:var(--font-size-base);color:var(--text-primary)}.person-profile-screen__owner-dates{flex-shrink:0;font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-secondary)}.person-relationships__row--pet-owner{flex-wrap:wrap}.person-relationships__owner-dates{flex-shrink:0;font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-secondary)}.person-profile-screen__loading{display:flex;flex-direction:column;justify-content:center;align-items:center;height:400px;text-align:center}.person-profile-screen__spinner{width:40px;height:40px;border:4px solid var(--background-primary);border-top:4px solid var(--primary-button);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.person-profile-screen__loading-text{font-family:var(--font-primary);color:var(--text-secondary)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.person-profile-screen__error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center;gap:1rem}.person-profile-screen__error-title{margin:0;color:var(--error);font-family:var(--font-primary);font-size:var(--font-size-lg)}@media (max-width: 768px){.person-profile-screen{padding:1rem}.person-profile-screen__profile-section{flex-direction:column;padding:1.5rem}.person-profile-screen__photo-placeholder{width:100%;max-width:200px;margin:0 auto}.person-profile-screen__photo-icon{font-size:var(--font-size-3xl)}.person-profile-screen__photo-text{font-size:var(--font-size-xs)}.person-profile-screen__header{flex-direction:column;align-items:stretch;gap:1rem}.person-profile-screen__header-actions{gap:.5rem;width:100%}.person-profile-screen__back-button{font-size:var(--font-size-sm);padding:.4rem .75rem;align-self:flex-start;max-width:fit-content}.person-profile-screen__tree-button,.person-profile-screen__edit-button,.person-profile-screen__why-cant-edit-button,.person-profile-screen__delete-button{font-size:var(--font-size-sm);padding:.4rem .75rem;flex:1}.person-profile-screen__name{font-size:var(--font-size-xl)}.person-profile-screen__full-name{font-size:var(--font-size-sm)}.person-profile-screen__section-title{font-size:var(--font-size-lg)}.person-profile-screen__detail-label,.person-profile-screen__detail-value{font-size:var(--font-size-sm)}.person-profile-screen__detail-label{min-width:100px}.person-profile-screen__pet-info-grid{font-size:var(--font-size-sm);grid-template-columns:minmax(80px,auto) 1fr;column-gap:.75rem}.person-profile-screen__list-item,.person-profile-screen__loading-text{font-size:var(--font-size-sm)}.person-profile-screen__error-title{font-size:var(--font-size-base)}}@media (max-width: 480px){.person-profile-screen{padding:.75rem}.person-profile-screen__header{gap:.75rem}.person-profile-screen__header-actions{gap:.375rem}.person-profile-screen__back-button,.person-profile-screen__tree-button,.person-profile-screen__edit-button,.person-profile-screen__why-cant-edit-button,.person-profile-screen__delete-button{font-size:var(--font-size-xs);padding:.35rem .5rem}.person-profile-screen__profile-section,.person-profile-screen__section{padding:1rem}.person-profile-screen__photo-icon{font-size:var(--font-size-2xl)}.person-profile-screen__photo-text{font-size:var(--font-size-2xs)}.person-profile-screen__name{font-size:var(--font-size-lg)}.person-profile-screen__full-name{font-size:var(--font-size-xs)}.person-profile-screen__section-title{font-size:var(--font-size-base)}.person-profile-screen__detail-label,.person-profile-screen__detail-value{font-size:var(--font-size-xs)}.person-profile-screen__detail-label{min-width:85px}.person-profile-screen__pet-info-grid{font-size:var(--font-size-xs);grid-template-columns:minmax(70px,auto) 1fr;column-gap:.5rem;row-gap:.375rem}.person-profile-screen__list-item,.person-profile-screen__loading-text{font-size:var(--font-size-xs)}.person-profile-screen__error-title{font-size:var(--font-size-sm)}}.add-pet-screen{width:100%;max-width:var(--content-max-width, 800px);margin:0 auto;padding:2rem}.add-pet-screen__error{padding:2rem;background-color:var(--background-white);border:1px solid var(--gray-border-light);border-radius:8px}.add-pet-screen__error h3{margin:0 0 1rem;font-family:var(--font-primary);font-size:var(--font-size-xl);color:var(--primary)}.add-pet-screen__error p{margin:0 0 1.5rem;font-family:var(--font-primary);font-size:var(--font-size-base);color:var(--text-secondary)}.add-pet-screen__form{display:flex;flex-direction:column;gap:1.5rem}.add-pet-screen__form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem 2rem;align-items:start}.add-pet-screen__form-row .person-edit-form__field{margin-bottom:0}.add-pet-screen__dates-row{grid-template-columns:repeat(2,minmax(220px,1fr))}.add-pet-screen__death-section{display:flex;flex-direction:column;gap:1rem}.add-pet-screen__deceased-row{display:flex;flex-direction:column;gap:.25rem}.add-pet-screen__deceased-row .add-pet-screen__deceased-label{margin-bottom:0}.add-pet-screen__deceased-hint{margin:0}.add-pet-screen__death-date-row{grid-template-columns:minmax(220px,1fr)}.add-pet-screen__date-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.add-pet-screen__precision-select{width:auto;min-width:6rem;flex-shrink:0}.add-pet-screen__deceased-label{font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:600;color:var(--primary)}.add-pet-screen__deceased-label span{flex:0 0 auto}.add-pet-screen__owners-section{margin-top:.5rem;padding-top:1.5rem;border-top:1px solid var(--gray-border-light)}.add-pet-screen__owners-hint{margin-bottom:1rem}.add-pet-screen__owners-list{display:flex;flex-direction:column;gap:.75rem}.add-pet-screen__owners-list .form-select-trigger{min-width:80px}.add-pet-screen__owner-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:1rem;padding:.5rem 0}.add-pet-screen__owner-checkbox{display:flex;align-items:center;gap:.5rem;min-width:0}.add-pet-screen__owner-name{font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-pet-screen__owner-edit-block{display:flex;flex-direction:column;gap:.5rem;padding:.75rem 0;border-bottom:1px solid var(--gray-border-light)}.add-pet-screen__owner-edit-block:last-child{border-bottom:none}.add-pet-screen__owner-edit-row-1{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;min-height:2rem}.add-pet-screen__owner-edit-row-1 .add-pet-screen__owner-name{flex:1;min-width:0}.add-pet-screen__owner-edit-row-2{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;padding-left:0}.add-pet-screen__owner-edit-row-2 .add-pet-screen__owner-actions{margin-left:auto}.add-pet-screen__owner-dates-edit{display:flex;align-items:center;gap:.5rem}.add-pet-screen__date-input{min-width:0;max-width:140px}.add-pet-screen__date-sep{font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-secondary)}.add-pet-screen__owner-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;flex-shrink:0}.add-pet-screen__owner-actions .add-pet-screen__save-owner-button{margin-left:auto}.add-pet-screen__save-owner-button:disabled{opacity:.5;cursor:not-allowed}.person-relationships__revert-button{flex-shrink:0;padding:.25rem .5rem;font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary);background-color:var(--background-white);border:1px solid var(--gray-border-light);border-radius:4px;cursor:pointer;transition:opacity .2s ease}.person-relationships__revert-button:hover:not(:disabled){color:var(--text-primary);border-color:var(--gray-border)}.person-relationships__revert-button:disabled{opacity:.5;cursor:not-allowed}.add-pet-screen__add-owner{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--gray-border-light)}.add-pet-screen__add-owner-title{font-size:var(--font-size-base);margin-bottom:.75rem}.add-pet-screen__add-owner-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;justify-content:flex-start}.add-pet-screen__add-owner-row .add-pet-screen__add-button{margin-left:auto}.add-pet-screen__add-owner-select{min-width:180px}.add-pet-screen__role-select{min-width:120px}.add-pet-screen__owner-edit-row-1 .form-select-trigger{flex-shrink:0;min-width:80px;width:auto}@media (max-width: 768px){.add-pet-screen__form-row{grid-template-columns:1fr}.add-pet-screen{padding:1.5rem 2rem}.add-pet-screen__error{padding:1.5rem}.add-pet-screen__error h3{font-size:var(--font-size-lg)}.add-pet-screen__error p,.add-pet-screen__owner-name{font-size:var(--font-size-sm)}.add-pet-screen__owner-edit-row-1 .form-select-trigger{min-width:120px}}@media (max-width: 480px){.add-pet-screen,.add-pet-screen__error{padding:1rem}.add-pet-screen__error h3{font-size:var(--font-size-base)}.add-pet-screen__error p{font-size:var(--font-size-sm);margin-bottom:1rem}.add-pet-screen__owner-name{font-size:var(--font-size-xs)}.add-pet-screen__owner-row{gap:.75rem}.add-pet-screen__owner-edit-row-1 .form-select-trigger{min-width:110px}.add-pet-screen__deceased-label{font-size:var(--font-size-xs)}}@media (max-width: 449px){.add-pet-screen{padding-left:1rem;padding-right:1rem}.add-pet-screen__owner-row{grid-template-columns:minmax(0,1fr) auto;gap:.5rem}.add-pet-screen__owner-edit-row-1 .form-select-trigger{min-width:100px}}.record-metadata-popover{position:relative;display:inline-flex;align-items:center;flex-shrink:0}.record-metadata-popover__trigger,.record-metadata-popover__trigger-icon{display:inline-flex;align-items:center;justify-content:center}.record-metadata-popover__trigger{background:none;border:none;padding:0;margin:0 0 0 .25rem;cursor:pointer;font-size:var(--font-size-base);color:var(--text-secondary);opacity:.8;transition:opacity .2s ease}.record-metadata-popover__trigger:hover{opacity:1;color:var(--primary)}.record-metadata-popover__trigger-icon{font-style:normal;font-size:1rem;line-height:1}.record-metadata-popover__panel{padding:.75rem 1rem;background-color:var(--background-white);border:1px solid var(--gray-border-light);border-radius:4px;box-shadow:var(--shadow-card);z-index:10;min-width:200px;max-width:320px;font-family:var(--font-primary);font-size:var(--font-size-sm);color:var(--text-primary)}.record-metadata-popover__section{margin-bottom:.5rem}.record-metadata-popover__section:last-child{margin-bottom:0}.record-metadata-popover__row{display:flex;flex-wrap:wrap;gap:.25rem .5rem;margin-bottom:.25rem}.record-metadata-popover__row:last-child{margin-bottom:0}.record-metadata-popover__row strong{color:var(--text-dark);font-weight:600}.form-select-trigger{width:100%;min-width:0;padding:.4rem 2rem .4rem .75rem;font-family:var(--font-primary);font-size:var(--font-size-sm);border:1px solid var(--gray-border-light);border-radius:4px;background-color:var(--background-white);cursor:pointer;display:inline-flex;align-items:center;justify-content:space-between;gap:.5rem;text-align:left;transition:border-color .2s ease}.form-select-trigger:hover:not(:disabled){border-color:var(--primary)}.form-select-trigger:focus{outline:none;border-color:var(--primary)}.form-select-trigger:disabled{background-color:var(--gray-bg);cursor:not-allowed;opacity:.6}.form-select-trigger[data-placeholder]{color:var(--text-secondary)}.form-select-content{background:var(--background-white);border:1px solid var(--gray-border-light);border-radius:4px;box-shadow:0 4px 12px var(--black-50);padding:4px 0;z-index:9999;max-height:280px;overflow-y:auto}.form-select-item{padding:.4rem .75rem;font-family:var(--font-primary);font-size:var(--font-size-sm);cursor:pointer;outline:none}.form-select-item[data-highlighted]{background:var(--gray-hover)}.form-select-item[data-state=checked]{background:var(--primary-bg-light)}.form-select-trigger--compact{width:auto;min-width:90px;flex-shrink:0;padding:.25rem .5rem}.add-family-member-screen{width:100%;max-width:var(--content-max-width, 800px);margin:0 auto;padding:2rem}.add-family-member-screen__error{padding:2rem;background-color:var(--background-white);border:1px solid var(--gray-border-light);border-radius:8px}.add-family-member-screen__error h3{margin:0 0 1rem;font-family:var(--font-primary);font-size:var(--font-size-xl);color:var(--primary)}.add-family-member-screen__error p{margin:0 0 1.5rem;font-family:var(--font-primary);font-size:var(--font-size-base);color:var(--text-secondary)}.add-family-member-screen__additional-parents{margin-top:1.5rem}.add-family-member-screen__additional-parents-hint{margin-bottom:1rem}.add-family-member-screen__additional-parents-list{display:flex;flex-direction:column;gap:.75rem}.add-family-member-screen__additional-parent-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;padding:.5rem 0}.add-family-member-screen__additional-parent-checkbox{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.add-family-member-screen__additional-parent-name{font-family:var(--font-primary);font-size:var(--font-size-base);color:var(--text-primary)}.add-family-member-screen__additional-parents-list .form-select-trigger{min-width:140px}@media (max-width: 768px){.add-family-member-screen{padding:1.5rem 2rem}.add-family-member-screen__error{padding:1.5rem}.add-family-member-screen__error h3{font-size:var(--font-size-lg)}.add-family-member-screen__error p{font-size:var(--font-size-sm)}}@media (max-width: 480px){.add-family-member-screen,.add-family-member-screen__error{padding:1rem}.add-family-member-screen__error h3{font-size:var(--font-size-base)}.add-family-member-screen__error p{font-size:var(--font-size-sm);margin-bottom:1rem}}@media (max-width: 449px){.add-family-member-screen{padding-left:1rem;padding-right:1rem}}.header{background:var(--gradient-hero);padding:var(--header-padding);border-bottom:1px solid var(--border-white-transparent);display:flex;justify-content:space-between;align-items:flex-end;box-shadow:var(--shadow-header);position:sticky;top:0;z-index:100;min-height:var(--header-min-height);width:100%;max-width:100%;box-sizing:border-box}.header__brand{display:flex;align-items:center;flex-shrink:1;min-width:0}.header__brand-link{text-decoration:none;display:flex;align-items:center;gap:1rem}.header__logo{margin:0;color:var(--primary);font-size:var(--logo-font-size);font-weight:700;font-family:var(--font-display);text-shadow:var(--shadow-logo);line-height:1.2}.header__nav-section{display:flex;align-items:center;gap:var(--nav-gap);flex-wrap:wrap;flex-shrink:0;margin-bottom:.4em}.header__nav{display:flex;gap:var(--nav-button-gap);flex-wrap:wrap}.header__nav-link{padding:var(--nav-button-padding);background-color:transparent;color:var(--link-color);border:2px solid var(--border-white-semi-transparent);border-radius:var(--link-border-radius);cursor:pointer;font-size:var(--nav-button-font-size);font-weight:500;font-family:var(--font-primary);transition:var(--link-transition);display:flex;align-items:center;gap:.5rem;text-decoration:none}.header__nav-link--active{background-color:var(--link-active-bg)}.header__nav-link:hover:not(.header__nav-link--active){background-color:var(--link-hover-bg)}@media (max-width: 768px){.header{padding:clamp(.35rem,1.5vw,.75rem) clamp(.4rem,3vw,1rem)}.header__nav-section{gap:1rem;margin-bottom:.5em}.header__nav{gap:.25rem}.header__nav-link{padding:.5rem 1rem;font-size:var(--font-size-2xs)}}@media (max-width: 480px){.header{padding:.35rem .6rem;min-height:60px}.header__nav-section{gap:.5rem;margin-bottom:.65em}.header__nav{flex-direction:column;gap:.25rem}.header__nav-link{padding:.5rem .75rem;font-size:var(--font-size-3xs)}}.header__brand-logo{width:clamp(4rem,4vw,6rem);height:clamp(4rem,4vw,6rem);object-fit:contain}.profile-menu-container{position:relative}.profile-menu-button{display:flex;align-items:center;gap:clamp(.3rem,1.5vw,.5rem);padding:clamp(.12rem,1vw,.2rem) clamp(.25rem,2vw,.4rem);background-color:transparent;border-radius:var(--link-border-radius);border:2px solid var(--border-white-semi-transparent);cursor:pointer;transition:var(--link-transition);font-size:clamp(var(--font-size-3xs),2vw,var(--font-size-xs));font-weight:500;font-family:var(--font-primary);color:var(--link-color)}.profile-menu-button:hover{background-color:var(--link-hover-bg)}.profile-menu-avatar{width:clamp(18px,4.5vw,24px);height:clamp(18px,4.5vw,24px);min-width:18px;min-height:18px;background-color:var(--primary);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--link-color);font-size:clamp(var(--font-size-3xs),2vw,var(--font-size-xs));font-weight:600;font-family:var(--font-primary)}.profile-menu-chevron{transition:transform .2s ease}.profile-menu-button[data-state=open] .profile-menu-chevron{transform:rotate(180deg)}.profile-menu-dropdown{background-color:var(--background-white);border:1px solid var(--gray-border-slate);border-radius:8px;box-shadow:0 10px 15px -3px var(--black-10),0 4px 6px -4px var(--black-10);min-width:200px;z-index:1000}.profile-menu-header{padding:.75rem 1rem;border-bottom:1px solid var(--gray-hover);font-size:var(--font-size-sm);font-family:var(--font-primary);color:var(--text-secondary-light)}.profile-menu-name{font-weight:600;color:var(--text-dark);font-family:var(--font-primary)}.profile-menu-link{display:block;padding:.75rem 1rem;font-size:var(--font-size-sm);font-family:var(--font-primary);color:var(--text-dark);text-decoration:none;transition:background-color .2s ease;border:none;border-bottom:1px solid var(--gray-hover)}.profile-menu-link:hover{background-color:var(--gray-hover)}.profile-menu-status{font-size:var(--font-size-3xs);margin-top:.25rem;font-family:var(--font-primary)}.profile-menu-signout{width:100%;padding:.75rem 1rem;background-color:transparent;border:none;text-align:left;cursor:pointer;font-size:var(--font-size-sm);font-family:var(--font-primary);color:var(--text-dark);transition:background-color .2s ease;display:flex;align-items:center;gap:.5rem}.profile-menu-signout:hover{background-color:var(--gray-hover)}@media (max-width: 768px){.profile-menu-button{gap:.35rem;padding:.15rem .35rem;font-size:var(--font-size-2xs)}.profile-menu-avatar{width:20px;height:20px;min-width:20px;min-height:20px;font-size:var(--font-size-3xs)}}@media (max-width: 480px){.profile-menu-button{gap:.25rem;padding:.1rem .25rem;font-size:var(--font-size-3xs)}.profile-menu-avatar{width:18px;height:18px;min-width:18px;min-height:18px;font-size:var(--font-size-3xs)}}.breadcrumb{display:flex;align-items:center}.breadcrumb__list{display:flex;align-items:center;list-style:none;margin:0;padding:0;gap:.25rem}.breadcrumb__item{display:flex;align-items:center;gap:.25rem;font-family:var(--font-primary);font-size:var(--font-size-sm)}.breadcrumb__link{color:var(--text-dark)!important;text-decoration:none;transition:color .2s ease;font-weight:400!important}.breadcrumb__link:hover{color:var(--primary)!important;text-decoration:underline}.breadcrumb__link--second-to-last{font-weight:700!important;color:var(--text-dark)!important}.breadcrumb__link--second-to-last:hover{color:var(--primary)!important;text-decoration:underline}.breadcrumb__separator{color:var(--text-secondary-light);-webkit-user-select:none;user-select:none}.breadcrumb__current{color:var(--primary);font-weight:700}@media (max-width: 480px){.breadcrumb__item{font-size:var(--font-size-xs)}}.subheader{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;background-color:var(--background-white);border-bottom:1px solid var(--border-light);z-index:90;position:relative}.subheader__breadcrumb-wrap{display:flex;align-items:center;flex:1;min-width:0;gap:.5rem}.subheader__help-button{display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:auto;width:32px;height:32px;padding:0;background:transparent;border:none;border-radius:6px;color:var(--gray-border);cursor:pointer;transition:color .2s ease}.subheader__help-button:hover{color:var(--primary)}.subheader__menu-button{display:flex;align-items:center;justify-content:center;padding:0;background-color:transparent;border:none;color:var(--text-dark);cursor:pointer;transition:color .2s ease;font-family:var(--font-primary)}.subheader__menu-button:hover{color:var(--primary)}.subheader__family-context{display:flex;align-items:center;gap:.5rem;margin-left:auto;padding:.25rem .75rem;font-family:var(--font-primary);font-size:var(--font-size-sm)}.subheader__family-label{color:var(--gray-text-light);font-weight:400}.subheader__family-name{color:var(--primary);font-weight:600}@media (max-width: 768px){.subheader{padding:.75rem 1.5rem}.subheader__family-label{display:none}}@media (max-width: 480px){.subheader{padding:.75rem 1rem;gap:.75rem}.subheader__family-context{padding:.25rem .5rem;font-size:var(--font-size-xs)}}.footer{background:var(--gradient-hero);border-top:1px solid var(--border-white-transparent);padding:var(--footer-padding);margin-top:auto;text-align:center;color:var(--link-color)}.footer__container{margin:0 auto;display:flex;flex-direction:column;gap:1rem;align-items:center}.footer__content{display:flex;gap:2rem;align-items:center;flex-wrap:wrap;justify-content:center}.footer__copyright{color:var(--white-90);font-size:var(--font-size-sm);font-family:var(--font-primary);font-weight:500}.footer__links{display:flex;gap:1.5rem;align-items:center}.footer__link{color:var(--white-90);font-size:var(--font-size-sm);font-family:var(--font-primary);font-weight:500;text-decoration:none;transition:var(--link-transition)}.footer__link:hover{color:var(--primary)}@media (max-width: 768px){.footer__content{flex-direction:column;gap:1rem}.footer__links{gap:1rem}}@media (max-width: 480px){.footer__content{gap:.75rem}.footer__links{flex-direction:column;gap:.75rem}.footer__copyright,.footer__link{font-size:var(--font-size-2xs)}}.nav-sidebar__backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--black-30);z-index:9;animation:fadeIn .2s ease-in-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.nav-sidebar{position:absolute;top:0;left:0;bottom:0;width:12rem;background-color:var(--background-white);box-shadow:2px 0 8px var(--shadow-black-medium);border-right:1px solid var(--gray-border-slate);z-index:10;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;transform:translate(-100%);transition:transform .3s ease-in-out}.nav-sidebar--open{transform:translate(0)}.nav-sidebar__menu{list-style:none;margin:0;padding:0;flex:1;overflow-y:auto}.nav-sidebar__menu-group{margin-bottom:1rem}.nav-sidebar__menu-group-title{padding:.5rem .75rem;font-family:var(--font-primary);font-size:var(--font-size-sm);font-weight:700;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.5px;margin-top:.5rem}.nav-sidebar__menu-list{list-style:none;margin:0;padding:0}.nav-sidebar__menu-item{margin:0}.nav-sidebar__link{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;color:var(--text-dark);text-decoration:none;font-family:var(--font-primary);font-size:var(--font-size-md);font-weight:500;transition:background-color .2s ease,color .2s ease;border-left:3px solid transparent}.nav-sidebar__link:hover{background-color:var(--gray-hover);color:var(--text-dark)}.nav-sidebar__link--active{background-color:var(--primary);border-left-color:var(--primary);color:var(--link-color);pointer-events:none;cursor:default}.nav-sidebar__link--active:hover{background-color:var(--primary);color:var(--link-color)}.nav-sidebar__link--disabled{cursor:not-allowed;opacity:.6;pointer-events:none}.nav-sidebar__link-icon{font-size:var(--nav-icon-font-size);display:flex;align-items:center;justify-content:center;width:1.5rem}.nav-sidebar__link-text{flex:1}@media (max-width: 768px){.nav-sidebar{width:240px}.nav-sidebar__link{padding:.75rem 1.25rem;font-size:var(--font-size-sm)}}@media (max-width: 480px){.nav-sidebar{width:200px}.nav-sidebar__link{padding:.75rem 1rem;font-size:var(--font-size-sm)}.nav-sidebar__link-icon{font-size:var(--font-size-lg)}}.layout{display:grid;grid-template-rows:auto auto 1fr auto;grid-template-columns:1fr;min-height:100vh;background-color:var(--gray-bg);width:100%;max-width:100%;overflow-x:hidden;box-sizing:border-box}.layout>header{grid-row:1}.layout>.subheader{grid-row:2}.layout__body{grid-row:3;position:relative;overflow-x:hidden;overflow-y:auto;display:flex;width:100%}.layout>footer{grid-row:4}.layout__main{flex:1;overflow-x:hidden;overflow-y:auto;background:var(--background-primary);width:100%;max-width:100%;padding:.5rem;box-sizing:border-box}@media (max-width: 768px){.layout__main{padding:.75rem}}@media (max-width: 480px){.layout__main{padding:.5rem}}@media (max-width: 320px){.layout__main{padding:.25rem}}:root{--primary: #eca66a;--secondary: #d88a5d;--tertiary: #387d65;--primary-hover: #d88a5d;--primary-button: #387d65;--brown-light: #7e412e;--brown-dark: #522d19;--primary-bg-light: #eca66a1a;--primary-bg-medium: #eca66a33;--background-primary: #f8f9fa;--background-secondary: #0b5b79;--background-secondary-transparent: #0b5b7950;--background-tertiary: #387d65;--background-white: #ffffff;--background-gray: #a0a0a0;--background-overlay: #e6ffffff;--background-light: #f0f0f0;--text-primary: #333333;--text-secondary: #666666;--text-subtle: #cecdcd;--text-light: #f0f0f0;--text-accent: #eca66a;--text-dark: #1e293b;--text-inverse: #f0f0f0;--error: #dc2626;--error-light: #ffcdd2;--error-dark: #c10505;--error-bg: #fef2f2;--success: #2e7d32;--success-light: #e8f5e8;--success-dark: #2e7d32;--success-bg: #c8e6c9;--success-message: #d4edda;--success-message-text: #155724;--success-message-border: #c3e6cb;--warning-light: #f8d7da;--warning-dark: #721c24;--warning-border: #f5c6cb;--warning-yellow: #ffc107;--info-light: #e1f5fe;--info-dark: #01579b;--gray-light: #f8f9fa;--gray-bg: #f5f5f5;--gray-bg-light: #f8fafc;--gray-text: #666666;--gray-text-light: #64748b;--gray-border: #8e8e8e;--gray-border-light: #e9ecef;--gray-border-slate: #e2e8f0;--gray-hover: #f1f5f9;--gray-border-hover: #cbd5e1;--border: #e2e8f0;--border-light: #e2e8f0;--border-white-transparent: #ffffff33;--border-white-semi-transparent: #ffffff4d;--disabled: #6c757d;--white-95: #fffffff2;--white-90: #ffffffe6;--white-80: #ffffffcc;--white-70: #ffffffb3;--white-20: #ffffff33;--white-10: #ffffff1a;--black-15: #00000026;--black-10: #0000001a;--black-30: #0000004d;--black-50: #00000080;--gradient-hero: linear-gradient(135deg, #0b5b79 0%, #387d65 50%, #d88a5d 100%);--gradient-button: linear-gradient(45deg, #eca66a, #d88a5d);--gradient-background: linear-gradient(135deg, #f8f9fa 0%, #e8f5e8 50%, #fef7ed 100%);--shadow-primary-light: #33eca66a;--shadow-primary-medium: #4deca66a;--shadow-black-medium: #26000000;--shadow-text: #1a000000;--shadow-header: 0 4px 20px #00000026, 0 2px 8px #0000001a;--shadow-logo: 0 2px 4px #0000004d;--shadow-card: 0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--link-color: #ffffff;--link-hover-bg: #ffffff1a;--link-active-bg: #ffffff33}:root{--font-primary: "Inter", sans-serif;--font-display: "Patrick Hand", cursive;--font-size-4xl: 4rem;--font-size-3xl: 2.5rem;--font-size-2xl: 1.5rem;--font-size-xl: 1.2rem;--font-size-lg: 1.125rem;--font-size-base: 1rem;--font-size-md: .9375rem;--font-size-sm: .875rem;--font-size-xs: .8125rem;--font-size-2xs: .8rem;--font-size-3xs: .75rem;--font-size-4xs: .6875rem;--nav-button-font-size: clamp(.8rem, 2vw, .9rem);--logo-font-size: clamp(3rem, 4vw, 5rem);--nav-icon-font-size: 1.25rem}[data-amplify-authenticator]{--amplify-components-authenticator-router-box-shadow: 0 25px 50px -12px var(--shadow-black-medium), 0 0 0 1px var(--shadow-primary-light);--amplify-components-authenticator-router-border-width: 0;--amplify-components-authenticator-router-border-radius: 20px;--amplify-components-authenticator-router-background-color: var(--background-white);--amplify-components-authenticator-form-padding: 3rem 2.5rem;max-width:min(400px,calc(100vw - 10px));width:100%;margin:0 auto;--amplify-components-button-primary-background: var(--gradient-button);--amplify-components-button-primary-color: var(--background-white);--amplify-components-button-primary-border-radius: 12px;--amplify-components-button-primary-font-weight: 600;--amplify-components-button-primary-padding: 1rem 2rem;--amplify-components-button-primary-font-size: var(--font-size-base);--amplify-components-button-link-color: var(--primary);--amplify-components-button-link-hover-color: var(--secondary);--amplify-components-fieldcontrol-border-color: var(--border-light);--amplify-components-fieldcontrol-focus-border-color: var(--primary);--amplify-components-fieldcontrol-border-radius: 8px;--amplify-components-fieldcontrol-padding: .75rem 1rem;--amplify-components-text-color: var(--text-primary);--amplify-components-heading-color: var(--text-primary)}[data-amplify-authenticator] .amplify-authenticator__subtitle,.amplify-heading--4{font-family:var(--font-primary);font-size:var(--font-size-base);color:var(--white-80)}[data-amplify-authenticator] .amplify-button{font-family:var(--font-primary);color:var(--text-subtle);background:var(--text-tertiary);border-radius:6px;border:none;cursor:pointer}[data-amplify-authenticator] .amplify-button--primary{background:var(--primary);color:var(--background-white);border-radius:12px;border:none;font-weight:600;padding:1rem 2rem;margin-top:1.5rem;margin-bottom:1rem;margin-left:auto;margin-right:auto;display:block;width:fit-content}[data-amplify-authenticator] .amplify-button--primary:hover{cursor:pointer;background:var(--secondary)}[data-amplify-authenticator] .amplify-button--link{color:var(--primary);background:transparent;border:none;padding:0;margin:0;font-size:var(--font-size-base);font-weight:500;text-decoration:underline}[data-amplify-authenticator] .amplify-button--link{cursor:pointer;text-decoration:none;color:var(--secondary)}[data-amplify-authenticator] .amplify-button--link:focus{outline:none}[data-amplify-authenticator] .amplify-input{border:none;border-radius:0;padding:.5rem;background:var(--background-primary);opacity:.5;box-shadow:none;width:100%;max-width:var(--content-max-width-xs)}[data-amplify-authenticator] .amplify-input:focus{border-bottom-color:var(--primary);box-shadow:none;outline:none}[data-amplify-authenticator] .amplify-flex .amplify-field-group .amplify-field-group--horizontal{width:100%}[data-amplify-authenticator] .amplify-visually-hidden{display:none}[data-amplify-authenticator] .amplify-passwordfield .amplify-field-group{position:relative}[data-amplify-authenticator] .amplify-passwordfield .amplify-field-group__outer-end{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);z-index:10}[data-amplify-authenticator] .amplify-passwordfield .amplify-field-group__outer-end .amplify-button{background:transparent;border:none;padding:.25rem;color:var(--text-secondary);min-width:auto}[data-amplify-authenticator] .amplify-passwordfield .amplify-field-group__outer-end .amplify-button:hover{color:var(--background-tertiary);cursor:pointer}[data-amplify-authenticator] .amplify-label{color:var(--text-accent);font-family:var(--font-primary);margin:.5rem 0;display:block}[data-amplify-authenticator] .amplify-tabs__item{font-family:var(--font-primary);font-weight:500;padding:1rem 1.5rem;border:none;border-radius:8px 8px 0 0;margin:0 .2rem;transition:all .2s ease}[data-amplify-authenticator] .amplify-flex fieldset,[data-amplify-authenticator] fieldset{border:none;border-bottom-left-radius:8px;border-bottom-right-radius:8px;border-top-right-radius:8px;background-color:var(--background-secondary-transparent)}[data-amplify-authenticator] .amplify-tabs__item:hover{cursor:pointer}[data-amplify-authenticator] .amplify-tabs__item--active{color:var(--primary);background-color:var(--background-white);border:none;font-weight:600}[data-amplify-authenticator] .amplify-tabs__item:hover:not(.amplify-tabs__item--active){background-color:var(--background-primary);color:var(--text-primary)}[data-amplify-authenticator] .amplify-tabs__item:not(.amplify-tabs__item--active){background-color:var(--background-gray);color:var(--text-subtle)}[data-amplify-authenticator] .amplify-field-group__control{transition:all .2s ease}[data-amplify-authenticator]:before{content:"WeTree";display:block;text-align:center;font-family:var(--font-display);font-size:var(--font-size-4xl);font-weight:700;color:var(--primary);text-shadow:0 2px 4px var(--shadow-text);margin-bottom:1rem;padding-top:2rem}[data-amplify-authenticator]:after{content:"Build, explore, and preserve your family's heritage together";display:block;text-align:center;font-family:var(--font-primary);font-size:var(--font-size-lg);color:var(--text-light);font-weight:500;margin:2rem 0;padding-bottom:1rem}[data-amplify-authenticator] [data-amplify-footer]{margin-top:2rem;margin-bottom:3rem;text-align:center}[data-amplify-authenticator] .amplify-spinner,[data-amplify-authenticator] [data-amplify-spinner],[data-amplify-authenticator] .amplify-loader{display:none!important}[data-amplify-authenticator] .amplify-button--loading,[data-amplify-authenticator] .amplify-button[data-loading=true]{position:relative;color:transparent!important;display:flex;align-items:center;justify-content:center;min-height:3rem}[data-amplify-authenticator] .amplify-button--loading>*,[data-amplify-authenticator] .amplify-button[data-loading=true]>*{opacity:0!important}[data-amplify-authenticator] .amplify-button--loading .amplify-button__loader-wrapper,[data-amplify-authenticator] .amplify-button[data-loading=true] .amplify-button__loader-wrapper{display:none!important}[data-amplify-authenticator] .amplify-button--loading:after,[data-amplify-authenticator] .amplify-button[data-loading=true]:after{content:"";width:1.5rem;height:1.5rem;border:2px solid var(--background-white);border-top:2px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite;z-index:10}@keyframes spin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}[data-amplify-authenticator] h3.amplify-heading{font-family:var(--font-primary);color:var(--text-light);font-weight:600;font-size:var(--font-size-xl);padding:.5rem 0;text-align:center}[data-amplify-authenticator] .amplify-alert__body{font-family:var(--font-primary);color:var(--text-error);background-color:var(--background-gray);font-weight:600;font-size:var(--font-size-base);padding:.5rem 0;text-align:center;margin-top:1rem}[data-amplify-authenticator] .amplify-alert__icon,[data-amplify-authenticator] .amplify-alert__dismiss{display:none}@media (max-width: 480px){[data-amplify-authenticator]{padding:1rem 0}[data-amplify-authenticator] .amplify-authenticator__router{max-width:100%;margin:1rem auto 0}}*,*:before,*:after{box-sizing:border-box}:root{--header-min-height: clamp(20px, 6vw, 50px);--header-padding: clamp(.5rem, 2vw, .75rem) clamp(.5rem, 4vw, 1rem);--footer-padding: 1rem;--nav-gap: clamp(1rem, 3vw, 2rem);--nav-button-gap: clamp(.25rem, 1vw, .5rem);--nav-button-padding: clamp(.25rem, 2vw, .5rem) clamp(.25rem, 3vw, .5rem);--content-max-width: 1200px;--content-max-width-medium: 800px;--content-max-width-small: 600px;--content-max-width-xs: 400px;--breakpoint-tablet: 768px;--breakpoint-mobile: 480px;--breakpoint-mobile-small: 430px;--breakpoint-mobile-xs: 320px;--link-border-radius: 8px;--link-transition: all .2s ease}body{background:var(--gradient-hero);background-size:cover;background-repeat:no-repeat;background-attachment:fixed;min-height:100vh;margin:0;padding:0;overflow-x:hidden;width:100%;max-width:100%;box-sizing:border-box}html{margin:0;padding:0;width:100%;height:100%;overflow-x:hidden;box-sizing:border-box}body{margin:0;padding:0;width:100%;height:100%;box-sizing:border-box}#root{width:100%;max-width:100%;overflow-x:hidden}button,[role=button]{width:fit-content;max-width:100%}
