:root{--main-bg-color:#ffffff;--text-color:#3f5c72;--header-text-color:var(--text-color);--link-color:var(--text-color);--highlight-color:#f05d2b;--future-border:#dee2e6;--future-bg-color:#eee;--body-font-size-desktop:16px;--body-font-size-mobile:12px;--header-font-size-desktop:72px;--header-font-size-mobile:36px}@font-face{font-family:redhatdisplay-medium;src:url(/fonts/RedHatDisplay-Medium.ttf);unicode-range:U+0-24F,U+131,U+152-153,U+259,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+1E??,U+2000-206F,U+2074,U+20A0-20BF,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:redhatdisplay-xtrabold;src:url(/fonts/RedHatDisplay-ExtraBold.ttf);unicode-range:U+0-24F,U+131,U+152-153,U+259,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+1E??,U+2000-206F,U+2074,U+20A0-20BF,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:after,:before{box-sizing:border-box;background-color:var(--main-bg-color);color:inherit;margin:0;padding:0;scroll-padding-top:70px}@media only screen and (max-width:768px){*,:after,:before{scroll-padding-top:62px}}body{font-family:redhatdisplay-medium,serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-optical-sizing:auto;font-weight:500;font-size:var(--body-font-size-desktop);font-style:normal;line-height:1.5;color:var(--text-color);background-color:inherit}@media only screen and (max-width:768px){body{font-size:var(--body-font-size-mobile)}}h1{font-family:redhatdisplay-xtrabold,serif;font-weight:800;font-size:var(--header-font-size-desktop);margin:0;color:var(--header-text-color);transition:all .25s}@media only screen and (max-width:768px){h1{font-size:var(--header-font-size-mobile)}}h1.tiny{font-size:var(--header-font-size-mobile);transition:all .25s}h1 a,h1 a:hover{border:none}a{color:var(--link-color);border-bottom:dotted var(--link-color)1px;text-decoration:none}a:hover{color:var(--highlight-color);text-decoration:none;border-bottom:solid var(--highlight-color)1px}.life-in-weeks{border-radius:5px;margin:0 20% 40%}.life-in-weeks .future-date{background-color:var(--future-bg-color)!important;border-color:var(--future-border)!important}.life-in-weeks .week,.life-in-weeks .anniversary{height:2em;max-height:2em;padding:2px 5px;margin:2px 1px;flex-grow:1}.life-in-weeks .anniversary-style{border:2.5px solid #e6a8d7!important;background-color:#ff69b4!important;color:#fff!important}.life-in-weeks .current-week{border:2.5px solid #ff4500!important;background-color:#ffe0b2!important;position:relative}.life-in-weeks .current-week-marker{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;height:2em;margin:2px 8px;padding:0 2px;font-size:.7em;font-weight:700;color:#ff4500;letter-spacing:-.5px;user-select:none}.life-in-weeks .current-week-marker .marker-line{width:2px;flex-grow:1;background-color:#ff4500}.life-in-weeks .current-week-marker .marker-label{white-space:nowrap;background-color:inherit}.life-in-weeks .progress-container{width:100%;height:12px;background-color:var(--future-bg-color);border-radius:6px;overflow:hidden}.life-in-weeks .progress-bar-custom{height:100%;width:0%;background:linear-gradient(90deg,#FF69B4,#FF8C00);border-radius:6px;transition:width 1s ease-out}.life-in-weeks .progress-label{text-align:center;font-size:var(--bs-btn-font-size,var(--body-font-size-desktop));color:var(--text-color);opacity:.7;margin-top:4px}.life-in-weeks .progress-highlight{color:var(--highlight-color);font-weight:700;background-color:inherit}.life-in-weeks .week:empty{flex-basis:1.5em}.life-in-weeks .btn{--bs-btn-color:var(--text-color);--bs-btn-font-size:var(--body-font-size-desktop)}.life-in-weeks blockquote{margin-top:50px}@media only screen and (max-width:768px){.life-in-weeks{margin:0 2%}.life-in-weeks .btn{--bs-btn-font-size:var(--body-font-size-mobile)}}.life-in-weeks li{list-style-type:none}.life-in-weeks li a{color:var(--link-color);text-decoration:none}.life-in-weeks li a:hover{color:var(--highlight-color);text-decoration:none;border:none}@keyframes fadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.life-in-weeks .navbar{--bs-navbar-padding-y:0;margin-bottom:2em;display:none;opacity:0;animation:fadeIn .5s ease-out forwards}.life-in-weeks .navbar .nav-pills{--bs-nav-pills-border-radius:0;--bs-nav-pills-link-active-bg:var(--main-bg-color);--bs-nav-link-padding-x:0.5rem;--bs-nav-link-padding-y:0;--bs-nav-link-color:var(--highlight-color);--bs-nav-pills-link-active-color:var(--highlight-color);border-bottom:solid var(--highlight-color)1px}@media only screen and (max-width:768px){.life-in-weeks .navbar .nav-pills{--bs-nav-link-padding-x:0.35rem}}.custom-tooltip{--bs-tooltip-bg:var(--highlight-color);--bs-tooltip-color:var(--bs-white)}.btn-auth{background:0 0;border:none;cursor:pointer;font-size:inherit;padding:0;line-height:1;opacity:.7}.btn-auth:hover{opacity:1}.private-event{display:none}#authModal .modal-content{background-color:var(--main-bg-color);border:1px solid var(--future-border)}#authModal .modal-title{font-size:1rem;color:var(--text-color);background-color:var(--main-bg-color)}#authModal .form-control{background-color:var(--main-bg-color);color:var(--text-color);border-color:var(--future-border);font-size:.9rem}#authModal .form-control:focus{border-color:var(--highlight-color);box-shadow:0 0 0 .15rem rgba(240,93,43,.25)}#authModal .auth-submit-btn{background-color:var(--highlight-color);color:#fff;border:none}#authModal .auth-submit-btn:hover{opacity:.85}#authModal .auth-logout-btn{background-color:var(--main-bg-color);color:var(--text-color);border:1px solid var(--future-border)}#authModal .auth-logout-btn:hover{border-color:var(--highlight-color);color:var(--highlight-color)}.page-tabs{display:flex;align-items:center;gap:.35rem;padding:.35rem 0 .5rem;background-color:var(--main-bg-color)}.page-tabs .page-tab{border:1px solid var(--future-border);border-radius:999px;padding:.15rem .75rem;font-size:.9rem;color:var(--text-color);text-decoration:none;white-space:nowrap}.page-tabs .page-tab:hover{border-color:var(--highlight-color);color:var(--highlight-color)}.page-tabs .page-tab.active{border-color:var(--highlight-color);color:var(--highlight-color);font-weight:700}.page-tabs .page-tab-tools{margin-left:auto;display:flex;align-items:center;gap:.4rem;background-color:var(--main-bg-color)}.btn-icon{background-color:var(--main-bg-color);border:1px solid transparent;border-radius:999px;cursor:pointer;font-family:inherit;font-size:.9rem;line-height:1.4;padding:.15rem .5rem;color:var(--text-color);opacity:.75}.btn-icon:hover{opacity:1;border-color:var(--future-border)}.lang-switch{position:relative;background-color:var(--main-bg-color)}.lang-switch #lang-current{background-color:inherit;font-size:.8rem}.lang-switch .lang-menu{display:none;position:absolute;right:0;top:calc(100% + .3rem);z-index:1080;min-width:8.5rem;padding:.25rem;border:1px solid var(--future-border);border-radius:8px;background-color:var(--main-bg-color);box-shadow:0 4px 16px rgba(63,92,114,.14)}.lang-switch .lang-menu.open{display:block}.lang-switch .lang-menu button{display:block;width:100%;text-align:left;border:none;border-radius:6px;background-color:var(--main-bg-color);color:var(--text-color);font-family:inherit;font-size:.85rem;padding:.3rem .6rem;cursor:pointer;white-space:nowrap}.lang-switch .lang-menu button:hover{background-color:#fff2ec;color:var(--highlight-color)}.lang-switch .lang-menu button.active{color:var(--highlight-color);font-weight:700}body.lang-loading .life-in-weeks{opacity:.55;transition:opacity .15s}.linked-week{animation:linkedWeekPulse 2.4s ease-out 1;position:relative;z-index:2}@keyframes linkedWeekPulse{0%,100%{box-shadow:0 0 rgba(240,93,43,0)}15%{box-shadow:0 0 0 4px rgba(240,93,43,.55)}70%{box-shadow:0 0 0 4px rgba(240,93,43,.35)}}.map-page{margin:0 8% 6%}@media only screen and (max-width:768px){.map-page{margin:0 2% 8%}}.map-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;margin-bottom:.6rem}.map-toolbar .map-btn{border:1px solid var(--future-border);border-radius:999px;background-color:var(--main-bg-color);color:var(--text-color);font-family:inherit;font-size:.85rem;padding:.15rem .7rem;cursor:pointer}.map-toolbar .map-btn:hover{border-color:var(--highlight-color);color:var(--highlight-color)}.map-toolbar .map-hint{margin-left:auto;font-size:.78rem;opacity:.55;background-color:var(--main-bg-color)}@media only screen and (max-width:768px){.map-toolbar .map-hint{margin-left:0}}#xpty-map{font-family:redhatdisplay-medium,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Heiti SC,Noto Sans CJK SC,Source Han Sans SC,sans-serif;height:68vh;min-height:360px;max-height:680px;border:1px solid var(--future-border);border-radius:8px;background-color:#aad3df}#xpty-map *,#xpty-map *::before,#xpty-map *::after{background-color:transparent}#xpty-map .leaflet-bar a,#xpty-map .leaflet-control-attribution{background-color:rgba(255,255,255,.9)}#xpty-map .leaflet-popup-content-wrapper,#xpty-map .leaflet-popup-tip{background-color:#fff}#xpty-map .map-error{padding:2rem;text-align:center;opacity:.6}@media only screen and (max-width:768px){#xpty-map{height:62vh}}.xpty-popup .leaflet-popup-content{margin:0;width:290px!important}@media only screen and (max-width:480px){.xpty-popup .leaflet-popup-content{width:240px!important}}.xpty-popup .leaflet-popup-content-wrapper{border-radius:8px;padding:0;overflow:hidden}.map-pop{font-family:redhatdisplay-medium,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Heiti SC,Noto Sans CJK SC,Source Han Sans SC,sans-serif;color:var(--text-color);background-color:#fff}.map-pop .map-pop-head{display:flex;align-items:center;gap:.4rem;padding:.5rem .75rem;font-weight:700;font-size:.95rem;border-bottom:2px solid var(--future-border);background-color:#fff}.map-pop .map-pop-dot{width:.7em;height:.7em;border-radius:50%;display:inline-block;flex:none}.map-pop .map-pop-count{margin-left:auto;font-weight:500;font-size:.8rem;opacity:.6;background-color:#fff}.map-pop .map-pop-body{max-height:260px;overflow-y:auto;background-color:#fff}.map-pop .map-pop-row{display:flex;gap:.5rem;align-items:baseline;width:100%;padding:.35rem .75rem;border:none;border-bottom:1px solid #f1f3f5;text-decoration:none;color:var(--text-color);background-color:#fff}.map-pop .map-pop-row:hover{background-color:#fff5f1;color:var(--highlight-color);border-bottom:1px solid #f1f3f5}.map-pop .map-pop-row.is-private{background-color:#fffdf3}.map-pop .map-pop-date{flex:0 0 5.2em;font-size:.72rem;opacity:.55;font-variant-numeric:tabular-nums;background-color:inherit}.map-pop .map-pop-title{flex:auto;min-width:0;font-size:.85rem;line-height:1.35;background-color:inherit}.xpty-tip{font-family:redhatdisplay-medium,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Heiti SC,Noto Sans CJK SC,Source Han Sans SC,sans-serif;font-size:.8rem}.map-legend{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.75rem}.map-legend .legend-item{display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--future-border);border-radius:999px;background-color:var(--main-bg-color);color:var(--text-color);font-family:inherit;font-size:.8rem;padding:.1rem .6rem .1rem .35rem;cursor:pointer}.map-legend .legend-item:hover{border-color:var(--highlight-color);color:var(--highlight-color)}.map-legend .legend-swatch{width:.85em;height:.85em;border-radius:50%;display:inline-block;flex:none}.map-legend .legend-count{font-size:.72rem;opacity:.55;background-color:inherit}