.memory-media-picker{color:#426550;gap:10px;margin:18px 0;display:grid}.media-file-input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.media-file-list{gap:7px;display:grid}.media-file{background:#f7fbf2;border:1px solid #d6e8cd;border-radius:12px;align-items:center;gap:8px;min-width:0;padding:10px 12px;display:flex}.media-file>span{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;overflow:hidden}.media-file small{color:#769078;font-size:11px}.media-file button{cursor:pointer;color:#6a806d;background:#fff;border:0;border-radius:50%;padding:5px}.media-upload-button{color:#456e40;cursor:pointer;background:#f5faee;border:1.5px dashed #92b587;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:14px;font-weight:700;display:flex}.media-upload-button:hover{background:#eaf5df}.media-upload-button:disabled{opacity:.6;cursor:wait}.media-upload-note{color:#8b9c84;font-size:11px}.media-upload-progress{overflow-wrap:anywhere;font-size:12px}.memory-media-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0;display:grid}.memory-media-item{background:#f7faef;border:1px solid #e3ebdc;border-radius:14px;min-width:0;margin:0;overflow:hidden}.memory-media-item img,.memory-media-item video{object-fit:contain;background:#eef3e8;width:100%;height:auto;max-height:400px;display:block}.memory-media-item video{min-height:140px}.memory-media-item figcaption{color:#79906f;overflow-wrap:anywhere;flex-wrap:wrap;gap:8px;padding:9px 11px;font-size:11px;display:flex}.memory-media-item figcaption a{color:#4d7851}.media-loading{text-align:center;color:#829376;padding:40px 12px;font-size:12px;display:block}.media-retry{color:#926c41;cursor:pointer;background:#fff4e5;border:0;gap:8px;padding:14px;font-size:12px;display:flex}@media (max-width:600px){.memory-media-gallery{grid-template-columns:1fr}}
.character-portrait.profile-portrait{isolation:isolate;background:0 0;border:0;width:min(264px,100%);height:218px;margin:14px auto 8px}.profile-orb{z-index:-1;background:radial-gradient(circle at 40% 32%,#f6f8e9,#e9f0da);border:1px dashed #becfa4;border-radius:50%;width:176px;height:176px;position:absolute;top:22px;left:calc(50% - 88px)}.profile-kitty .profile-orb{background:radial-gradient(circle at 40% 32%,#fffaf0,#f2edda);border-color:#d7ceb0}.profile-portrait .portrait-orbit{inset:30px calc(50% - 80px) 28px}.profile-scene{flex-shrink:0;width:100%;height:100%;display:block;overflow:visible}.character-portrait.profile-portrait .character-art{width:120px;height:132px;overflow:visible}.profile-portrait .portrait-sparkle{top:51px;right:26px}.profile-squatter{transform-origin:60px 120px;animation:3.6s ease-in-out infinite profile-squat}.profile-koala .character-head{transform-origin:60px 85px;animation:3.6s ease-in-out infinite profile-strain}.profile-effort{animation:3.6s ease-in-out infinite profile-effort}.profile-sweat{animation:3.6s ease-in-out infinite profile-sweat}.profile-square-poop{animation:3.6s cubic-bezier(.35,0,.4,1) infinite both profile-poop-drop}.profile-dancer{transform-origin:60px 122px;animation:1.2s ease-in-out infinite profile-dance}.profile-kitty .character-arm-left{transform-origin:39px 96px;animation:.6s ease-in-out infinite alternate profile-wave}.profile-kitty .character-arm-right{transform-origin:80px 96px;animation:.6s ease-in-out infinite alternate-reverse profile-wave}.profile-kitty .character-foot-left{transform-origin:51px 111px;animation:.6s ease-in-out infinite alternate profile-step}.profile-kitty .character-foot-right{transform-origin:69px 111px;animation:.6s ease-in-out infinite alternate-reverse profile-step}.profile-note{animation:2.4s ease-in-out infinite profile-note}.profile-note-two{animation-delay:-.9s}.profile-lyric-bubble{color:#83a067;white-space:nowrap;background:#fffef7;border:1.5px solid #b5c995;border-radius:17px 17px 17px 6px;justify-content:center;align-items:center;gap:9px;padding:10px 16px 11px;animation:2.4s ease-in-out infinite profile-bubble;display:flex;position:absolute;top:5px;left:50%;box-shadow:0 4px #dfe8cd}.profile-lyric-bubble:after{content:"";background:#fffef7;border-bottom:1.5px solid #b5c995;border-right:1.5px solid #b5c995;width:10px;height:10px;position:absolute;bottom:-6px;left:44px;transform:rotate(45deg)}.profile-lyrics{color:#7d9463;letter-spacing:2px;font-size:19px;font-weight:700;line-height:24px}.profile-lyrics>span{animation:profile-syllable 1.2s ease-in-out calc(var(--syllable) * .15s) infinite;display:inline-block}@keyframes profile-squat{0%,18%,78%,to{transform:translateY(0)scale(1)}30%,52%{transform:translateY(5px)scale(1.04,.95)}38%,45%{transform:translateY(6px)scale(1.05,.94)}64%{transform:translateY(-2px)scale(.98,1.02)}}@keyframes profile-strain{0%,18%,70%,to{transform:translateY(0)rotate(0)}30%,50%{transform:translateY(5px)rotate(-3deg)}35%,45%,55%{transform:translateY(5px)rotate(2deg)}}@keyframes profile-effort{0%,20%,65%,to{opacity:0}30%,50%{opacity:.8}40%{opacity:.3}}@keyframes profile-sweat{0%,25%,75%,to{opacity:0;transform:translateY(-2px)}40%{opacity:1;transform:translateY(1px)}65%{opacity:0;transform:translateY(12px)}}@keyframes profile-poop-drop{0%,30%{opacity:0;transform:translate(-36px,-25px)scale(.25)rotate(-18deg)}40%{opacity:1;transform:translate(-28px,-21px)scale(.55)rotate(-10deg)}61%{opacity:1;transform:translateY(-7px)scale(1)rotate(4deg)}68%{opacity:1;transform:translateY(1px)scale(1.08,.9)}76%,92%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(0)scale(.85)}}@keyframes profile-dance{0%,to{transform:translate(0)rotate(-6deg)}25%{transform:translate(3px,-7px)rotate(0)}50%{transform:translate(0)rotate(6deg)}75%{transform:translate(-3px,-7px)rotate(0)}}@keyframes profile-wave{0%{transform:rotate(-12deg)}to{transform:rotate(24deg)}}@keyframes profile-step{0%{transform:translateY(0)rotate(-5deg)}to{transform:translateY(-7px)rotate(15deg)}}@keyframes profile-note{0%,to{opacity:.4;transform:translateY(4px)rotate(-4deg)}50%{opacity:1;transform:translateY(-8px)rotate(5deg)}}@keyframes profile-bubble{0%,to{transform:translate(-50%)rotate(-2deg)}50%{transform:translate(-50%,-3px)rotate(2deg)}}@keyframes profile-syllable{0%,35%,to{color:#7d9463;transform:translateY(0)}18%{color:#ce8ca6;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.profile-portrait *,.profile-portrait :after{animation:none!important}.profile-effort,.profile-sweat{opacity:0}.profile-lyric-bubble{transform:translate(-50%)}}
.app-shell.map-app-shell.has-timeline-events{--week-button-size:18px;--week-padding:1px;--week-icon-gap:2px;--week-lanes:1;--week-pitch:26px;--week-cursor-clearance:8px;--week-card-height:calc(var(--week-button-size) + 2 * (var(--week-padding) + 1px));--event-lane-space:calc(var(--week-card-height) + var(--week-cursor-clearance) + (var(--week-lanes) - 1) * var(--week-pitch));--event-top-space:calc(var(--event-lane-space) + var(--timeline-marker-top-extra,0px));--event-bottom-space:calc(var(--event-lane-space) + var(--timeline-marker-bottom-extra,0px));--event-bar-height:54px;--timeline-inset:12px;--timeline-date-gap:8px;--timeline-date-height:18px;--timeline-height:calc(1px + 2 * var(--timeline-inset) + var(--event-top-space) + var(--event-bar-height) + var(--event-bottom-space) + var(--timeline-date-gap) + var(--timeline-date-height))}.map-app-shell.has-timeline-events .timeline-section.energy-timeline{padding:var(--timeline-inset) 24px}.map-app-shell.has-timeline-events .energy-date-controls{left:50%;bottom:var(--map-overlay-gap,24px);z-index:12;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffef7ed;border:1px solid #c6d4b2;border-radius:15px;gap:16px;width:max-content;max-width:calc(100% - 24px);height:auto;min-height:52px;padding:8px 12px;position:absolute;transform:translate(-50%);box-shadow:0 3px #c6d3b24d,0 7px 22px #42633614}.has-timeline-events .energy-range{flex:0 0 var(--timeline-date-height);height:var(--timeline-date-height);min-height:var(--timeline-date-height);line-height:var(--timeline-date-height);margin-top:var(--timeline-date-gap)}.has-timeline-events .energy-bar{height:var(--event-bar-height)}.has-timeline-events .energy-track{height:calc(var(--event-top-space) + var(--event-bar-height) + var(--event-bottom-space));flex-basis:calc(var(--event-top-space) + var(--event-bar-height) + var(--event-bottom-space));padding-top:var(--event-top-space);padding-bottom:var(--event-bottom-space)}.has-timeline-events .energy-scrubber{top:var(--event-top-space);bottom:var(--event-bottom-space)}.has-timeline-events .energy-cursor-top{top:4px}.has-timeline-events .energy-cursor-bottom{bottom:4px}.timeline-event-markers{z-index:3;pointer-events:none;position:absolute;inset:0 5px}.timeline-week-bubbles{pointer-events:none;position:absolute;inset:0;overflow:visible}.timeline-week-outline{fill:#fffef8;stroke:#bdceaa;stroke-width:1px;filter:drop-shadow(0 1px #cad7b840)}.timeline-week-outline.is-current{stroke:#a78bc5;fill:#faf6ff}.timeline-week-group{align-items:center;gap:var(--week-icon-gap);padding:calc(var(--week-padding) + 1px);pointer-events:none;display:flex;position:absolute}.timeline-week-icon{--marker-ink:#78965c;flex:0 0 var(--week-button-size);width:var(--week-button-size);height:var(--week-button-size);color:var(--marker-ink);cursor:pointer;pointer-events:auto;background:0 0;border:0;border-radius:4px;place-items:center;padding:0;display:grid}.timeline-week-icon>svg{width:calc(var(--week-button-size) - 4px);height:calc(var(--week-button-size) - 4px);stroke-width:2px}.timeline-week-icon.is-pink{--marker-ink:#c582a0}.timeline-week-icon.is-purple{--marker-ink:#9780b1}.timeline-week-icon.is-yellow{--marker-ink:#b99457}.timeline-week-icon.is-future{opacity:.55}.timeline-week-icon:hover,.timeline-week-icon:focus-visible,.timeline-week-icon[aria-expanded=true]{opacity:1;background:#edf2e1}.timeline-week-icon.is-selected{color:#8b5ac4;opacity:1;background:#e9ddf5;box-shadow:0 0 0 1px #ded0ee}.timeline-week-icon:focus-visible{outline-offset:0;outline:1.5px solid #9f83bd}.timeline-event-popover{z-index:120;color:#566e43;background:#fffef8;border:1px solid #bfcead;border-radius:14px;padding:12px;position:fixed;box-shadow:0 4px #b5c39d33,0 12px 34px #314b3424}.timeline-popover-heading{border-bottom:1px dashed #dce4ce;justify-content:space-between;align-items:center;gap:10px;padding:0 2px 10px;display:flex}.timeline-popover-heading>span{gap:4px;display:grid}.timeline-popover-heading b{font-size:14px}.timeline-popover-heading small{color:#99a58b;font-variant-numeric:tabular-nums;font-size:10px}.timeline-popover-heading>button{color:#9cae89;background:#f5f8ee;border:1px solid #e1e7d6;border-radius:8px;place-items:center;width:26px;height:26px;display:grid}.timeline-event-popover ul{overscroll-behavior:contain;max-height:min(280px,42dvh);margin:6px 0 0;padding:0;list-style:none;overflow-y:auto}.timeline-event-popover li+li{border-top:1px solid #edf0e5}.timeline-event-row{color:#62794e;text-align:left;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:10px 8px;display:flex}.timeline-event-row:hover,.timeline-event-row:focus-visible{color:#4e6c38;background:#edf3e1}.timeline-event-row.is-current{color:#9171aa;background:#f2ebf8}.timeline-event-content{gap:4px;min-width:0;display:grid}.timeline-event-content time{color:#9baa8c;font-variant-numeric:tabular-nums;font-size:10px}.timeline-event-content strong{overflow-wrap:anywhere;font-size:12px;font-weight:500;line-height:1.65}.timeline-event-content small{color:#a0ac91;font-size:10px}.timeline-event-row>svg{opacity:.6;flex-shrink:0}@media (max-width:720px){.app-shell.map-app-shell.has-timeline-events{--week-button-size:12px;--week-icon-gap:2px;--week-lanes:2;--week-pitch:20px;--event-bar-height:48px}.map-app-shell.has-timeline-events .timeline-section.energy-timeline{padding-inline:16px}.timeline-week-icon>svg{width:10px;height:10px}}@media (max-height:500px){.app-shell.map-app-shell.has-timeline-events{--week-button-size:14px;--week-lanes:1;--week-pitch:22px;--event-bar-height:40px;--timeline-inset:8px;--timeline-date-gap:6px;--timeline-date-height:16px}.map-app-shell.has-timeline-events .timeline-section.energy-timeline{padding-inline:16px}.map-app-shell.has-timeline-events .energy-date-controls{min-height:42px;padding:6px 10px}}@media (max-width:1199px){.map-app-shell.has-timeline-events .adventure-layout>.energy-legend{bottom:calc(var(--map-overlay-gap) + 64px)}.map-app-shell.has-timeline-events .map-zoom{bottom:calc(var(--map-overlay-gap) + 170px)}.has-timeline-events .adventure-layout:has(.story-window:not(.is-collapsed))>.energy-date-controls{left:calc((100% - var(--story-width) - 2 * var(--map-overlay-gap)) / 2)}}@media (max-width:720px){.has-timeline-events .adventure-layout:has(.story-window:not(.is-collapsed))>.energy-date-controls{visibility:hidden}}@media (min-width:721px) and (max-width:1199px) and (max-height:500px){.map-app-shell.has-timeline-events .map-zoom{top:var(--map-overlay-gap);left:calc(var(--map-overlay-gap) + 172px);bottom:auto}}@media (orientation:portrait){.app-shell.map-app-shell.has-timeline-events{--event-top-space:14px;--event-bottom-space:14px}.map-app-shell.has-timeline-events .timeline-section.energy-timeline{padding-inline:16px}.timeline-event-markers{display:none}}
.memory-time-note{color:#99a78a;margin:-8px 0 18px;font-size:10px;line-height:19px}.memory-form-dialog .category-picker{flex-wrap:wrap;gap:8px;display:flex}.memory-form-dialog .category-option{flex:calc(25% - 6px);min-width:65px;padding:10px 6px}.memory-form-dialog .category-option>svg{flex-shrink:0}.memory-location-preview{color:#6c8755;background:#f3f7e9;border:1px dashed #cbd9b9;border-radius:9px;align-items:center;gap:8px;min-height:42px;padding:10px 12px;font-size:13px;font-weight:600;display:flex}.memory-location-preview[aria-busy=true]{opacity:.6}.memory-location-note{color:#9ba88c;font-size:10px;font-weight:400;line-height:19px}.memory-place{color:#8b9d78;align-items:center;gap:5px;font-size:11px;line-height:19px;display:inline-flex}
.map-app-shell .floating-party:not(.is-collapsed){width:min(600px, calc(100% - var(--story-width) - 3 * var(--map-overlay-gap)))}.map-app-shell .floating-party .party-card{max-height:calc(100dvh - var(--timeline-height) - 2 * var(--map-overlay-gap));background:#fffef7;border-radius:16px;flex-direction:column;padding:14px 16px 16px;display:flex}.floating-party .sidebar-card-heading{flex-shrink:0}.party-overview{overscroll-behavior:contain;grid-template-columns:148px minmax(0,1fr);align-items:center;gap:16px;min-height:0;margin-top:10px;display:grid;overflow-y:auto}.party-intro{min-width:0}.map-app-shell .floating-party .party-characters{margin-top:0}.map-app-shell .floating-party .party-avatar{width:54px;height:54px;margin:4px 0 6px}.map-app-shell .floating-party .party-avatar .character-art{width:54px;height:61px}.map-app-shell .floating-party .party-heart{margin-top:22px}.map-app-shell .floating-party .party-status{margin:8px 0 0;padding:4px 2px;font-size:7px}.party-achievements{min-width:0}.party-achievements-heading{color:#82936d;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.party-achievements-heading>span{align-items:center;gap:5px;font-size:10px;font-weight:700;display:flex}.party-achievements-heading>small{color:#9aa58c;font-size:9px}.achievement-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.achievement-tile{--achievement-accent:#b97190;--achievement-wash:#fbf0f3;background:linear-gradient(145deg, #fffef9, var(--achievement-wash));min-width:0;min-height:84px;color:var(--achievement-accent);text-align:left;border:1px solid #e6d8da;border-radius:12px;grid-column:span 2;grid-template-columns:27px minmax(0,1fr);align-items:center;gap:6px 8px;padding:11px 10px;transition:transform .18s,border-color .18s,box-shadow .18s;display:grid;position:relative;box-shadow:0 2px #aab39415}.achievement-tile:nth-last-child(-n+2){grid-column:span 3}.achievement-tile:hover{border-color:var(--achievement-accent);transform:translateY(-3px);box-shadow:0 5px #aab39422}.achievement-tile:active{transform:translateY(0)}.achievement-tile:focus-visible{outline-color:var(--achievement-accent)}.achievement-tile.achievement-countries{--achievement-accent:#6e946a;--achievement-wash:#f0f5e7;border-color:#dce6cc}.achievement-tile.achievement-flights{--achievement-accent:#678fa0;--achievement-wash:#edf5f4;border-color:#d4e4df}.achievement-tile.achievement-reunions{--achievement-accent:#bc9560;--achievement-wash:#fcf5e9;border-color:#eadfc7}.achievement-tile.achievement-together{--achievement-accent:#987da9;--achievement-wash:#f5eff8;border-color:#e5dbea}.achievement-icon{background:#fffefb99;border:1px solid;border-radius:9px;place-items:center;width:27px;height:27px;display:grid}.achievement-open{opacity:.65;position:absolute;bottom:11px;right:9px}.achievement-value{font-variant-numeric:tabular-nums;justify-self:end;align-items:baseline;gap:3px;display:flex}.achievement-value strong{letter-spacing:-.6px;font-size:25px;font-weight:800;line-height:30px}.achievement-value small{font-size:10px}.achievement-label{color:#6f7c60;grid-column:1/-1;padding-right:16px;font-size:10px;line-height:16px}.adventure-dialog.achievement-dialog{width:820px}.achievement-dialog-heading{align-items:center;gap:15px;padding-right:25px;display:flex}.achievement-medal{color:#bd9965;background:#fbf2df;border:1px dashed #d6b3a7;border-radius:18px;flex-shrink:0;place-items:center;width:59px;height:59px;display:grid;transform:rotate(-5deg)}.achievement-dialog .dialog-eyebrow{letter-spacing:.4px;margin:0 0 6px;font-size:10px;line-height:16px}.adventure-dialog.achievement-dialog h2{margin:0;font-size:24px;line-height:32px}.achievement-summary{color:#7b8e6c;flex-wrap:wrap;align-items:baseline;gap:6px;margin:22px 0 18px;font-size:14px;display:flex}.achievement-summary>strong{color:#a9708b;font-size:29px;font-weight:800}.achievement-summary small{color:#92a084;margin-left:auto;font-size:11px}.achievement-note{color:#97a187;margin:10px 0 20px;font-size:12px;line-height:22px}.achievement-city-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.achievement-city,.achievement-country{background:#f8faef;border:1px solid #e2e8d6;border-radius:12px;align-items:center;gap:12px;padding:15px;display:flex}.achievement-city>svg{color:#cc96ac;flex-shrink:0;margin-left:auto}.achievement-place-icon{color:#b97594;background:#f6e8eb;border-radius:12px;flex-shrink:0;place-items:center;width:39px;height:39px;display:grid}.achievement-city h3,.achievement-country h3{color:#61784f;margin:0 0 4px;font-size:16px;font-weight:700}.achievement-city div>span{color:#95a082;font-size:11px;line-height:18px}.achievement-country-list{gap:12px;display:grid}.achievement-country p{color:#8b9c78;margin:4px 0 0;font-size:12px;line-height:23px}.achievement-country .achievement-place-icon{color:#799c68;background:#eaf1de}.achievement-flight-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.achievement-flight{text-align:left;color:#7b9567;background:#f9fbf1;border:1px solid #e0e8d4;border-radius:11px;grid-template-columns:128px minmax(0,1fr) 16px;align-items:center;gap:14px;width:100%;padding:15px;display:grid}.achievement-flight:hover{background:#f0f5e5;border-color:#a8bd94}.achievement-flight-date{color:#96a387;align-items:center;gap:8px;font-size:11px;display:flex}.achievement-flight-route{align-items:center;gap:12px;min-width:0;font-size:14px;display:flex}.achievement-flight-route>strong{color:#5e7950;font-weight:600}.achievement-flight-route>svg{color:#a0b68e;flex-shrink:0}.achievement-reunion-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.achievement-reunion-person{min-width:0}.achievement-person-heading{align-items:center;gap:10px;padding:12px 5px 16px;display:flex}.achievement-person-heading>span{background:#ecf2df;border-radius:50%;flex-shrink:0;width:43px;height:43px;display:block}.achievement-person-heading .character-art{width:43px;height:48px}.achievement-person-heading h3{color:#60784f;margin:0 0 3px;font-size:15px;font-weight:700}.achievement-person-heading small{color:#a2aa91;font-size:10px}.achievement-person-heading>strong{color:#b4859b;margin-left:auto;font-size:25px}.achievement-person-heading>strong small{margin-left:4px}.achievement-reunion-person .achievement-flight{grid-template-columns:minmax(0,1fr) 16px;gap:8px;padding:12px}.achievement-reunion-person .achievement-flight-date{grid-column:1}.achievement-reunion-person .achievement-flight-route{grid-column:1;gap:8px;font-size:12px}.achievement-reunion-person .achievement-flight>svg{grid-area:1/2/3}.achievement-together-summary{align-items:center;gap:24px;margin:24px 0 16px;display:flex}.achievement-percentage{letter-spacing:-2px;color:#c97f9c;font-size:48px;font-weight:800;line-height:54px}.achievement-percentage small{margin-left:3px;font-size:21px}.achievement-together-summary>div{gap:8px;display:grid}.achievement-together-summary strong{color:#6c8358;font-size:16px}.achievement-together-summary div>span{color:#9ca68b;font-size:12px}.achievement-together-track{background:#b6ca94;border:1px solid #cbd8b6;border-radius:999px;height:17px;overflow:hidden}.achievement-together-track>span{border-radius:inherit;background:linear-gradient(#f2bcd2,#d88cac);height:100%;display:block}.achievement-section-title{color:#617a4f;margin:25px 0 5px;font-size:17px;font-weight:700}.achievement-distribution-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:25px 0 5px;display:flex}.achievement-distribution-heading .achievement-section-title{margin:0}.achievement-distribution-switch{background:#f0f4e7;border:1px solid #dfe6d2;border-radius:11px;gap:3px;padding:3px;display:inline-flex}.achievement-distribution-switch button{color:#8b9b78;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:5px;padding:7px 12px;font-size:12px;font-weight:600;display:inline-flex}.achievement-distribution-switch button[aria-pressed=true]{color:#b87894;background:#fff8fa;border-color:#e2c5d0;box-shadow:0 2px 3px #ac879114}.achievement-distribution-switch button:hover{color:#a76884}.achievement-ratio-places{color:#9aa68a;margin:0 0 9px;font-size:11px;line-height:20px}.achievement-city-ratios{gap:17px;display:grid}.achievement-city-ratio>div:first-child{color:#71865e;justify-content:space-between;gap:12px;margin-bottom:7px;font-size:13px;display:flex}.achievement-city-ratio>div>span{color:#a4ad95;font-size:12px}.achievement-city-ratio b{text-align:right;color:#b87d96;width:56px;font-weight:600;display:inline-block}.achievement-city-ratio-track{background:#edf1e3;border-radius:999px;height:7px;overflow:hidden}.achievement-city-ratio-track>span{border-radius:inherit;background:#d9a0b7;height:100%;display:block}.achievement-empty{color:#9aa58a;text-align:center;background:#f7faef;border:1px dashed #dce4cd;border-radius:12px;margin:25px 0;padding:22px;line-height:24px}@media (max-width:1199px){.map-app-shell .floating-party:not(.is-collapsed){width:min(600px, calc(100% - 2 * var(--map-overlay-gap)))}.adventure-layout:has(.floating-party:not(.is-collapsed))>.story-window{visibility:hidden}}@media (max-width:720px){.adventure-layout:has(.floating-party:not(.is-collapsed)) .map-zoom{visibility:hidden}.party-overview{grid-template-columns:1fr;gap:16px}.party-intro{width:100%;max-width:225px;margin:0 auto}.achievement-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.achievement-tile{grid-column:span 2;min-height:84px}.achievement-tile:nth-last-child(-n+2){grid-column:span 3}.achievement-value strong{font-size:25px}.achievement-label{font-size:9px}.adventure-dialog.achievement-dialog{padding:22px 18px}.adventure-dialog.achievement-dialog h2{font-size:19px}.achievement-dialog-heading{gap:12px}.achievement-medal{border-radius:13px;width:43px;height:43px}.achievement-dialog .dialog-eyebrow{font-size:8px;line-height:14px}.achievement-city-grid,.achievement-reunion-columns{grid-template-columns:1fr}.achievement-flight{grid-template-columns:minmax(0,1fr) 16px;gap:8px}.achievement-flight-date,.achievement-flight-route{grid-column:1}.achievement-flight>svg{grid-area:1/2/3}.achievement-together-summary{gap:16px}.achievement-percentage{font-size:40px}.achievement-together-summary strong{font-size:14px}.achievement-together-summary div>span{font-size:10px}}@media (max-width:380px){.achievement-tile{grid-template-columns:20px minmax(0,1fr);column-gap:4px;padding-inline:8px}.achievement-icon{border-radius:6px;width:20px;height:20px}.achievement-icon>svg{width:14px;height:14px}.achievement-value{gap:2px}.achievement-value strong{font-size:21px;line-height:26px}.achievement-value small{font-size:9px}.achievement-label{padding-right:0;font-size:9px}.achievement-open{width:10px;height:10px;top:5px;bottom:auto;right:5px}}@media (max-width:720px) and (max-height:620px){.adventure-layout:has(.floating-party:not(.is-collapsed))>.energy-date-controls{visibility:hidden}}@media (max-height:500px){:is(.adventure-layout:has(.floating-party:not(.is-collapsed))>.energy-date-controls,.adventure-layout:has(.floating-party:not(.is-collapsed))>.energy-legend,.adventure-layout:has(.floating-party:not(.is-collapsed)) .map-zoom){visibility:hidden}}
.access-gate{background:radial-gradient(at 45% 30%,#f5f9e9,#0000 65%),#e7f0e5;place-items:center;min-height:100dvh;padding:24px;display:grid;position:relative;overflow:hidden}.access-gate:before{content:"";pointer-events:none;background-image:radial-gradient(#9eb78b55 .8px,#0000 .8px);background-size:22px 22px;position:absolute;inset:0}.access-card{text-align:center;background:#fffef7;border:1px solid #c4d3b5;border-radius:25px;flex-direction:column;align-items:center;width:min(420px,100%);padding:38px 34px 26px;display:flex;position:relative;box-shadow:0 6px #c0cda755,0 25px 65px #526f4620}.access-book{color:#7d9b65;background:#edf3df;border:1px dashed #c1cfa9;border-radius:25px;flex-shrink:0;place-items:center;width:86px;height:86px;margin-bottom:22px;display:grid;position:relative;transform:rotate(-5deg)}.access-book i{color:#a87a8c;background:#efd1db;border:3px solid #fffef7;border-radius:50%;place-items:center;width:29px;height:29px;display:grid;position:absolute;bottom:-5px;right:-5px}.access-eyebrow{letter-spacing:2px;color:#a3ae8d;font-size:9px}.access-card h1{letter-spacing:1px;color:#49633b;margin:9px 0;font-size:29px;line-height:40px}.access-intro{color:#9ca88b;margin:0 0 27px;font-size:12px;line-height:22px}.access-card form{text-align:left;width:100%}.access-card label{color:#73845d;margin-bottom:9px;font-size:12px;font-weight:600;display:block}.access-password{color:#96a77c;background:#f8faef;border:1px solid #d5dfc6;border-radius:12px;align-items:center;gap:10px;padding:0 13px;display:flex}.access-password:focus-within{border-color:#95ad7b;box-shadow:0 0 0 3px #e6eddc}.access-password input{color:#536f40;background:0 0;border:0;outline:0;width:100%;min-width:0;height:47px;font-size:14px}.access-password input::placeholder{color:#b0b99f;font-size:12px}.access-submit{color:#fffef3;background:#8ca775;border:1px solid #65834f;border-radius:12px;justify-content:center;align-items:center;gap:12px;width:100%;min-height:46px;margin-top:18px;font-weight:700;display:flex;box-shadow:0 3px #587244}.access-submit:hover{background:#7f9c66}.access-error{color:#b77b80;margin:12px 0 0;font-size:12px;line-height:20px}.access-footer{color:#abb397;align-items:center;gap:6px;margin-top:28px;font-size:10px;display:flex}.access-decoration{color:#a3bb8c;opacity:.45;position:absolute}.access-decoration.one{top:calc(50% - 210px);left:calc(50% - 290px);transform:rotate(-25deg)}.access-decoration.two{color:#d1a4b4;bottom:calc(50% - 150px);right:calc(50% - 275px);transform:rotate(20deg)}.access-checking{color:#8fa179;align-items:center;gap:9px;min-height:90px;font-size:12px;display:flex}.access-retry{color:#a17e7e;justify-items:center;gap:14px;width:100%;font-size:12px;line-height:22px;display:grid}.access-change-password{color:#94a17f;background:0 0;border:0;font-size:11px}.party-header-actions{gap:6px;display:flex}@media (max-width:480px){.access-gate{padding:20px}.access-card{padding:30px 23px 24px}.access-card h1{font-size:26px}.access-footer{font-size:9px}}@media (max-height:600px){.access-gate{padding:12px}.access-card{max-height:calc(100dvh - 24px);padding:14px 28px;overflow-y:auto}.access-book{width:54px;height:54px;margin-bottom:10px}.access-book>svg{width:28px}.access-intro{margin-bottom:14px}.access-card h1{font-size:25px;line-height:31px}.access-footer{margin-top:15px}}
