body.bank-responsive{overflow-wrap:anywhere}.bank-responsive main,.bank-responsive .row>*,.bank-responsive .card,.bank-responsive .card-body,.bank-responsive .d-flex>div,.bank-responsive fieldset,.bank-responsive .min-w-0{min-width:0}.bank-responsive img{max-width:100%}.bank-responsive .badge{white-space:normal;line-height:1.4}.bank-responsive .btn{white-space:normal}.bank-responsive .table-responsive{overscroll-behavior-x:contain;max-width:100%;position:relative}.bank-responsive .table-responsive:focus-visible{outline-offset:2px;outline:3px solid #315c4b}.bank-responsive .table td{overflow-wrap:anywhere}.bank-responsive .page-actions{flex-wrap:wrap;gap:.5rem;display:flex}.bank-responsive .modal-dialog{max-height:calc(100dvh - var(--bs-modal-margin) * 2)}.bank-responsive .modal-content,.bank-responsive .modal-content>form{max-height:calc(100dvh - var(--bs-modal-margin) * 2);flex-direction:column;min-height:0;display:flex}.bank-responsive .modal-body{overscroll-behavior-y:contain;min-height:0;overflow-y:auto}.bank-responsive .modal-header,.bank-responsive .modal-footer,.bank-responsive .modal-header .btn-close{flex-shrink:0}.bank-responsive .modal-title{min-width:0}.bank-responsive dialog{max-height:calc(100dvh - 2rem);overflow-y:auto}.bank-responsive .dropdown-menu{max-width:calc(100vw - 1.5rem);max-height:calc(100dvh - 5rem);overflow-y:auto}.bank-responsive .dropdown-item{white-space:normal}.bank-responsive .app-frame{align-items:stretch;max-width:1800px;margin-inline:auto;display:flex}.bank-responsive .app-sidebar,.bank-responsive .admin-sidebar{flex-shrink:0;width:220px;min-height:calc(100vh - 64px)}.bank-responsive .app-main{flex:1;width:0;padding-inline:clamp(.75rem,1.5vw,1.5rem)}.bank-responsive .app-main>.container,.bank-responsive .app-main>.container-fluid{width:100%}.bank-responsive .app-header{flex-wrap:nowrap;gap:.5rem}.bank-responsive .app-header .navbar-brand{white-space:normal;min-width:0;margin-right:auto;font-size:clamp(1rem,1.5vw,1.25rem)}.bank-responsive .sidebar-toggle{flex-shrink:0}.bank-responsive .auth-shell{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.bank-responsive .auth-main,.bank-responsive .auth-brand{min-width:0}.bank-responsive .auth-title{font-size:clamp(1.6rem,3vw,2rem)}.bank-responsive .pricing-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}.bank-responsive .plan-settings .plan-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}.bank-responsive .pricing-price{flex-wrap:wrap}.bank-responsive .pricing-price strong{font-size:clamp(2rem,4vw,3.2rem)}.bank-responsive .pricing-current{flex-wrap:wrap;justify-content:center}.bank-responsive .diagram-card h3{overflow-wrap:anywhere}.bank-responsive .diagram-card .card-body>div{flex:16rem}.bank-responsive .diagram-card .card-body>div>.d-flex{flex-wrap:wrap}.bank-responsive .diagram-card-edit{flex-shrink:0}.bank-responsive .person-hero{grid-template-columns:minmax(0,260px) minmax(0,1fr)}.bank-responsive .person-family-card>div{min-width:0}.bank-responsive .people-page-heading h1{font-size:clamp(1.8rem,3vw,2.5rem)}.bank-responsive .history-entry-body{min-width:0}.bank-responsive .history-scroll{margin-inline:1rem}.bank-responsive .history-scroll:before,.bank-responsive .history-scroll:after{left:-.75rem;right:-.75rem}.bank-responsive .kakejiku-heading{max-width:100%}.bank-responsive #familyTreeViewTabs{gap:.25rem}.bank-responsive #familyTreeViewTabs .nav-link{padding:.65rem .75rem}.bank-responsive #family-tree-diagram,.bank-responsive #mentor-diagram{overscroll-behavior-x:contain}.bank-responsive #family-tree-page .kakejiku-stage{max-width:100%}.bank-responsive #tree-settings-panel{max-width:calc(100vw - 2rem)}@media (width<=1199.98px) and (width>=992px){.bank-responsive .app-sidebar,.bank-responsive .admin-sidebar{width:190px}.bank-responsive .person-hero{grid-template-columns:170px minmax(0,1fr)}}@media (width<=991.98px){.bank-responsive .app-frame{display:block}.bank-responsive .app-main{width:100%}.bank-responsive .app-sidebar,.bank-responsive .admin-sidebar{width:min(300px,88vw);min-height:0}.bank-responsive .app-sidebar .offcanvas-body,.bank-responsive .admin-sidebar .offcanvas-body{overflow-y:auto}.bank-responsive .auth-brand,.bank-responsive .auth-main{padding:2rem}}@media (width<=767.98px){.bank-responsive .btn,.bank-responsive .nav-link,.bank-responsive summary{min-height:44px}.bank-responsive .form-control,.bank-responsive .form-select{min-height:44px;font-size:1rem}.bank-responsive .btn-close{min-width:24px;min-height:24px}.bank-responsive .form-check-label{padding-block:.35rem}.bank-responsive .form-check-input{width:1.2em;height:1.2em}.bank-responsive .form-switch .form-check-input{width:2.4em}.bank-responsive .page-actions>.btn,.bank-responsive .page-actions>form{flex:10rem}.bank-responsive .page-actions>form>.btn{width:100%}.bank-responsive .modal-footer>.btn{flex:8rem}.bank-responsive .table-responsive>.table{min-width:40rem}.bank-responsive .app-header>.dropdown{flex-shrink:0}.bank-responsive #account-menu-button{padding-inline:.5rem!important}.bank-responsive #account-menu-button .text-truncate{max-width:16vw}.bank-responsive .auth-main{padding:1.5rem}.bank-responsive .person-hero{grid-template-columns:1fr}.bank-responsive .person-portrait-frame{width:min(190px,100%);margin-inline:auto}.bank-responsive .person-album{grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr))}.bank-responsive .person-lifespan{font-size:clamp(1.2rem,4vw,1.8rem)}.bank-responsive .overview-chart-column>span{overflow-wrap:anywhere;text-align:center}.bank-responsive .admin-overview .overview-chart-label{white-space:normal}.bank-responsive .diagram-card .stretched-link{width:100%}.bank-responsive .tree-row{gap:10px}.bank-responsive .tree-person{flex:1;min-width:0;padding:10px 6px}.bank-responsive .tree-preview{padding-inline:12px}.bank-responsive .price{white-space:normal;font-size:clamp(1.8rem,7vw,2.5rem)}.bank-responsive .footer-links{grid-template-columns:1fr}.bank-responsive #family-tree-page .kakejiku-stage{padding:12px}.bank-responsive #family-tree-page .kakejiku-paper{padding-inline:.5rem}.bank-responsive .family-tree-page-header>.d-flex{width:100%}.bank-responsive #family-tree-page .tree-settings-panel{width:min(360px,100vw - 3rem)}.bank-responsive .history-scroll{padding-inline:.75rem}.bank-responsive .history-entry{grid-template-columns:52px 14px minmax(0,1fr);gap:.75rem}.bank-responsive .history-entry:not(:last-of-type):after{left:58px}.bank-responsive .history-entry-gap-condensed:before{left:46px}.bank-responsive .history-entry-date strong{font-size:1rem}.bank-responsive .share-card{margin-block:1rem;padding:1.25rem}}@media (width<=399.98px){.bank-responsive .admin-overview .overview-panel{padding:14px}.bank-responsive .overview-metrics>div{width:100%}.bank-responsive .app-header .navbar-brand{font-size:.95rem}.bank-responsive .app-header .sidebar-toggle{padding-inline:.5rem}}@media (height<=500px){.bank-responsive .modal{--bs-modal-margin:.5rem}.bank-responsive .modal-header,.bank-responsive .modal-footer{padding-block:.5rem}.bank-responsive .dropdown-menu{max-height:calc(100dvh - 4rem)}}.bank-responsive .hero .row{--bs-gutter-x:1.5rem}.bank-responsive .table-responsive>.table.responsive-settings-table{table-layout:fixed;min-width:0}.bank-responsive .responsive-settings-table .form-control{min-width:0;padding-inline:.4rem}.bank-responsive .responsive-settings-table th{width:33.333%}@media (width<=767.98px){.bank-responsive #family-tree-page .family-tree-actions .btn,.bank-responsive #family-tree-page .mentor-actions .btn{min-height:44px}}.bank-responsive .era-picker-dialog[open]{flex-direction:column;display:flex;overflow:hidden}.bank-responsive .era-picker-body{min-height:0;overflow-y:auto}.bank-responsive .era-picker-header,.bank-responsive .era-picker-footer{flex-wrap:wrap;flex-shrink:0}.bank-responsive .era-picker-footer .btn{flex:8rem}.bank-responsive #account-menu-panel{max-height:calc(100dvh - 6rem)}.bank-responsive .modal-footer>div{flex-wrap:wrap;gap:.5rem;display:flex}@media (width<=575.98px){.bank-responsive .modal-footer>div{width:100%}.bank-responsive .modal-footer>div>.btn{flex:1;margin-inline:0!important}.bank-responsive .upgrade-comparison-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bank-responsive .upgrade-cell:nth-child(3n+1){background:#f7faf8;grid-column:1/-1}.bank-responsive .upgrade-cell:nth-child(3n+2){border-left:0}.bank-responsive .upgrade-label,.bank-responsive .upgrade-value{font-size:.9rem}.bank-responsive #life-events .person-timeline li{grid-template-columns:minmax(0,1fr);gap:.5rem}.bank-responsive #life-events .person-timeline-year{text-align:left}}.journey-page{color:#263c32;max-width:900px;margin:auto;padding:16px 12px 48px;line-height:1.8}.journey-heading{margin:0 0 28px}.journey-heading h1{font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(1.6rem,3vw,2.1rem);line-height:1.5}.journey-kicker{color:#315c4b;margin-bottom:8px;font-size:.875rem;font-weight:600}.journey-card{color:#263c32;overflow-wrap:anywhere;background:#fff;border:1px solid #dce4dd;border-radius:20px;margin-bottom:24px;padding:clamp(20px,3vw,32px)}.journey-card--tint{background:#f6f7f0;border-color:#d8dfce}.journey-card h2{margin:0 0 16px;font-size:1.2rem;line-height:1.6}.journey-status{color:#315c4b;background:#e7f0e9;border-radius:24px;padding:5px 13px;font-size:.875rem;font-weight:600;display:inline-flex}.journey-status--attention{color:#75551e;background:#f7ecd7}.journey-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:20px 0;display:grid}.journey-meta dt{color:#5d6d64;margin-bottom:4px;font-size:.875rem;font-weight:400}.journey-meta dd{margin:0;font-weight:600}.journey-price{font-size:clamp(1.8rem,4vw,2.5rem);font-weight:600;line-height:1.4}.journey-price small{font-size:1rem;font-weight:400}.journey-features{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;padding-left:1.4em;display:grid}.journey-note{color:#596a60;font-size:.9rem;line-height:1.85}.journey-details{border-top:1px solid #dce4dd;margin-top:20px;padding-top:16px}.journey-details summary{cursor:pointer;color:#315c4b;padding:8px 0;font-weight:600}.journey-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px;display:flex}.journey-actions form{margin:0}.journey-actions .btn{white-space:normal;border-radius:12px;min-height:46px;padding:10px 20px}.journey-card .btn-success,.journey-page .btn-success{background:#315c4b;border-color:#315c4b}.journey-card .btn-success:hover,.journey-page .btn-success:hover{background:#234538}.journey-page button:disabled{opacity:1;color:#68746c;cursor:not-allowed;background:#e5e9e5;border-color:#ced6d0}.journey-page :is(a,button,input,summary):focus-visible,.journey-card :is(a,button,input,summary):focus-visible{outline-offset:4px;box-shadow:none;outline:3px solid #96763c}.journey-confirm{cursor:pointer;background:#faf8f2;border:1px solid #deded1;border-radius:12px;gap:12px;padding:16px;line-height:1.8;display:flex}.journey-confirm input{accent-color:#315c4b;flex:0 0 20px;width:20px;height:20px;margin-top:4px}.journey-confirm+.journey-note{margin:12px 0 0}.journey-steps{color:#657269;flex-wrap:wrap;gap:8px 16px;margin:0 0 24px;padding:0;font-size:.85rem;list-style:none;display:flex}.journey-steps [aria-current]{color:#315c4b;border-bottom:2px solid #315c4b;font-weight:700}.retention-status{max-width:1160px;margin:0 auto 24px}.retention-status p:last-child{margin-bottom:0}.selection-summary{background:#eaf1eb;border-left:4px solid #315c4b;border-radius:0 12px 12px 0;margin-bottom:24px;padding:16px 20px}.selection-card{background:#fff;border:1px solid #dce4dd;border-radius:16px;min-width:0;margin-bottom:20px;padding:24px}.selection-card:has([data-tree-choice]:checked){border-color:#315c4b;box-shadow:inset 0 0 0 1px #315c4b}.selection-card legend{float:none;width:auto;margin-bottom:0;font-size:1.15rem}.selection-option{cursor:pointer;overflow-wrap:anywhere;align-items:flex-start;gap:10px;min-height:44px;padding:10px 8px;display:flex}.selection-option input{accent-color:#315c4b;flex:0 0 20px;width:20px;height:20px;margin-top:4px}.selection-option:has(input:disabled){color:#6b756e;cursor:default;background:#f3f4f1;border-radius:8px}.selection-people{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px;display:grid}.selection-members[hidden]{display:none}@media (width<=575px){.journey-meta,.journey-features,.selection-people{grid-template-columns:1fr}.journey-actions{flex-direction:column;align-items:stretch}.journey-actions .btn,.journey-actions form{width:100%}.journey-card{border-radius:16px}.selection-card{padding:16px}}.admin-tree{color:#34443d;font-size:.875rem}.admin-tree-list{margin:0;padding:0;list-style:none}.admin-tree-list>li+li{margin-top:.25rem}.admin-tree-group>summary,.admin-tree-link{min-height:44px;color:inherit;overflow-wrap:anywhere;border-radius:.375rem;align-items:center;padding:.55rem .5rem;text-decoration:none;display:flex}.admin-tree-group>summary{cursor:pointer;gap:.5rem;font-weight:600;list-style:none}.admin-tree-group>summary::-webkit-details-marker{display:none}.admin-tree-group>summary:before{content:"";border-bottom:2px solid;border-right:2px solid;flex-shrink:0;width:.45rem;height:.45rem;transform:rotate(-45deg)}.admin-tree-group[open]>summary:before{transform:rotate(45deg)}.admin-tree-group>.admin-tree-list{border-left:1px solid #cddbd4;margin:.25rem 0 .5rem .7rem;padding-left:.5rem}.admin-tree-group.has-current>summary,.admin-tree-group>summary:hover,.admin-tree-link:hover{color:#24513d;background:#edf4ef}.admin-tree-link.active{color:#fff;background:#315c4b;font-weight:600}.admin-tree-group>summary:focus-visible,.admin-tree-link:focus-visible{outline-offset:2px;outline:3px solid #3175b9}
