.character-art{object-fit:contain;display:block}.scene-pair{transform-origin:50% 95%;position:absolute;inset:8% 18% 2%}.scene-pair .character-art{width:100%;height:100%}[data-character-motion]{transform-origin:50% 92%}@media (prefers-reduced-motion:no-preference){:root[data-motion=full] [data-character-motion=greet][data-play]{animation:1.1s ease-in-out .1s both character-greet}:root[data-motion=full] [data-character-motion=hop][data-play]{animation:.65s ease-in-out 60ms both character-saved-hop}:root[data-motion=full] [data-character-motion=nod][data-play]{animation:.8s ease-in-out .18s both character-nod}:root[data-motion=full] .character-welcome>.character-art+.character-art[data-play]{animation-delay:.45s}}@keyframes character-greet{0%,to{transform:none}22%{animation-timing-function:ease-out;transform:translateY(-1.5%)rotate(-.9deg)}47%{transform:translateY(-.5%)rotate(.7deg)}72%{transform:rotate(-.25deg)}}@keyframes character-saved-hop{0%,to{transform:none}18%{animation-timing-function:cubic-bezier(.16,1,.3,1);transform:translateY(.8%)scale(.985)}45%{animation-timing-function:ease-in;transform:translateY(-3%)scale(1.02)}72%{transform:translateY(.6%)scale(.995)}}@keyframes character-nod{0%,to{transform:none}42%{transform:translateY(.6%)rotate(1deg)}}.character-preview-replay{min-height:44px;margin:-8px auto 12px;display:block}.mascot-scene .scene-character>img{object-fit:contain;width:100%;height:100%}.calendar-empty-day{align-items:center;gap:14px;display:flex}.calendar-empty-day .character-art{flex:0 0 82px;width:82px;height:70px}.milestone-popup .milestone-characters{width:100%;height:174px;margin:0 auto 8px}.character-welcome{gap:4px;height:72px;margin-bottom:12px;display:flex}.character-welcome .character-art{width:70px;height:72px}.home-wishes-empty>.character-art,.journal-empty>.character-art{width:184px;max-width:100%;height:132px;margin:0 auto 16px}.character-collection{border-top:1px solid var(--line);margin:24px 0;padding-top:18px}.character-collection summary{cursor:pointer;padding:8px 0;font-weight:700}.character-preview{background:var(--canvas);border:1px solid var(--line);border-radius:18px;justify-items:center;gap:8px;margin:16px 0;padding:16px;scroll-margin-top:88px;display:grid}.character-preview img{object-fit:contain;width:100%;height:230px}.character-collection-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px;display:grid}.character-collection-grid button{justify-items:center;gap:7px;min-width:0;padding:9px;font-size:12px;display:grid}.character-collection-grid button[aria-pressed=true]{border-color:var(--accent,#e9253a);color:#66243a;background:#fff0f3}.character-collection-grid img{object-fit:contain;width:90px;max-width:100%;height:85px}.character-form-intro{align-items:center;gap:14px;margin:0 0 18px;display:flex}.character-form-intro>.character-art,.call-intro>.feature-character{flex:0 0 96px;width:96px;height:86px}.character-form-intro p{color:var(--muted);margin:0}.character-empty>.character-art,.map-empty-art>.character-art{width:160px;max-width:100%;height:126px;margin:0 auto 12px}.character-error{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.character-error>.character-art{flex:0 0 48px;width:48px;height:56px}.character-error>span{flex:150px}.toast>.saved-character{flex:0 0 40px;width:40px;height:44px}.sidebar-companions{display:none}@media (width>=901px){.app-shell{background:linear-gradient(135deg, var(--canvas), color-mix(in srgb, var(--pale) 45%, var(--canvas)))}.app-shell .sidebar{background:linear-gradient(180deg, var(--canvas), color-mix(in srgb, var(--pale) 70%, var(--canvas)));padding-top:28px}.sidebar .brand{padding-bottom:32px}.sidebar nav button,.sidebar-settings{border-radius:16px}.sidebar nav button[aria-current=page]{background:var(--canvas);box-shadow:0 4px 14px color-mix(in srgb, var(--red) 8%, transparent);outline:1px solid color-mix(in srgb, var(--red) 13%, transparent)}.sidebar-companions{flex-shrink:0;justify-items:center;margin-top:auto;padding:22px 0 14px;display:grid}.sidebar-companions .character-art{width:150px;height:115px}.sidebar-companions p{color:var(--muted);margin:8px 0 0;font-size:11px}.sidebar .sidebar-profile{margin-top:0}.workspace .topbar{background:color-mix(in srgb, var(--canvas) 80%, transparent)}.home-wishes-page .home-character-greeting{background:linear-gradient(120deg, var(--pale), color-mix(in srgb, #ffc967 12%, var(--canvas)));border:1px solid color-mix(in srgb, var(--red) 12%, transparent);border-radius:28px;min-height:180px;padding:16px 30px}.home-wishes-page .home-character-greeting p{letter-spacing:-.035em;font-size:23px}.home-wishes-page .home-character-greeting span{font-size:14px}.home-wishes-page .home-character-greeting .character-art{flex-basis:235px;width:235px;height:180px}.home-wishes-page .home-totals{gap:18px}.home-wishes-page .home-total{border:1px solid color-mix(in srgb, var(--red) 10%, transparent)}.home-wishes-page .home-date-plans,.home-wishes-page .home-wishes-upcoming{border:1px solid var(--line);background:var(--canvas);border-radius:24px;margin-bottom:22px;padding:24px}.home-wishes-page .home-wishes-heading .primary{border-radius:999px;padding-inline:20px}.app-shell .calendar-wrap,.app-shell .wishes-page{border-radius:24px}}@media (width>=901px) and (height<=740px){.sidebar-companions{padding-top:10px}.sidebar-companions .character-art{height:70px}.sidebar-companions p{display:none}}:root[data-native-shell=mac] .page-transition{animation:none!important}.first-run{margin-bottom:24px}.first-run h2{margin:4px 0 10px}.first-run h3{margin-top:0}.first-run-step{color:var(--muted);letter-spacing:.04em;font-size:12px}.first-run-choices{flex-wrap:wrap;gap:10px;margin:18px 0;display:flex}.first-run-panel{gap:12px;max-width:520px;margin:20px 0;display:grid}.first-run-panel button{justify-self:start}.first-run>small{margin-top:12px;display:block}.first-run-cli{max-width:660px}.first-run-cli ol{padding-left:22px}.first-run-cli li{margin-block:18px}.first-run-cli li p{font-size:13px}.first-run-cli pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface-soft,#f1efeb);border-radius:10px;padding:12px;font-size:12px}.first-run-cli form{gap:10px;margin-top:12px;display:grid}.first-run-cli button{margin-block:6px}@media (width<=600px){.first-run-choices{flex-direction:column}.first-run-panel{max-width:100%}}.first-run-choices>button{min-height:44px}.first-run-cli+.first-run-choices{margin-top:16px}.memory-edit-place{border:1px solid var(--line);border-radius:16px;gap:12px;margin:12px 0 20px;padding:16px;display:grid}.memory-edit-place p{margin:0}.memory-edit-place small{color:var(--muted);line-height:1.6}.memory-edit-place button{justify-self:start}.manual-refresh-status p{background:var(--surface-soft,#f1efeb);overflow-wrap:anywhere;border-radius:12px;margin:0 0 12px;padding:10px 12px}.refresh-active svg{animation:1s linear infinite manual-refresh-spin}@keyframes manual-refresh-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.refresh-active svg{animation:none}}.schedule-fields{background:var(--canvas);border:1px solid var(--line);border-radius:16px;min-width:0;max-width:100%;margin:16px 0 24px;padding:16px}.schedule-modes,.activity-outcome{flex-wrap:wrap;gap:10px;margin:16px 0;display:flex}.schedule-modes button,.activity-outcome button{flex:120px;min-height:44px}.schedule-modes button[aria-pressed=true],.activity-outcome button[aria-pressed=true]{background:var(--red);color:#fff;border-color:var(--red)}.meeting-picker{margin:20px 0}.wish-meeting-plan{border:1px solid var(--line);border-radius:18px;flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0;padding:16px;display:flex}.wish-meeting-plan>div{overflow-wrap:anywhere;flex:160px;gap:5px;min-width:0;display:grid}.wish-meeting-plan small{color:var(--muted)}.calendar-month-summary{background:var(--surface);border-radius:16px;flex-wrap:wrap;gap:10px 18px;margin:12px 0 18px;padding:14px 16px;display:flex}.calendar-month-summary>span{align-items:center;gap:6px;display:inline-flex}.calendar-month-summary strong{font-size:22px}.calendar-month-summary small{color:var(--muted);flex-basis:100%;font-size:11px}.calendar-grid>button.call-day{color:#5c4480;background:#f0ebff}.calendar-grid>button.call-day[aria-pressed=true]{border-color:var(--text)}.call-marker{color:#8262b5}.calendar-call-action{align-items:center;gap:8px;margin-block:12px;display:inline-flex}.call-intro{color:#8262b5;align-items:center;gap:16px;display:flex}.day-record{border:1.5px solid var(--red);background:var(--canvas);min-width:0;box-shadow:3px 4px 0 var(--pale);border-radius:20px;margin-block:12px;position:relative;overflow:hidden}.day-record.is-planned{border-style:dashed;border-color:color-mix(in srgb, var(--red), transparent 45%);box-shadow:none}.day-record-head{background:color-mix(in srgb, var(--red), transparent 94%);text-align:left;width:100%;color:inherit;border:0;gap:3px;padding:14px 44px 12px 16px;display:grid;position:relative}.day-record.is-planned .day-record-head{background:var(--surface)}.day-record-kicker{color:var(--red);align-items:center;gap:4px;font-size:11px;font-weight:700;display:inline-flex}.day-record-title{font-size:19px;font-weight:750;line-height:1.35}.day-record-meta{color:var(--muted);font-size:12px}.day-record-edit{color:var(--muted);position:absolute;top:50%;right:16px;transform:translateY(-50%)}.day-record-section{padding:10px 16px 0}.day-record-label{color:var(--red);align-items:center;gap:4px;margin-bottom:6px;font-size:11px;font-weight:700;display:inline-flex}.day-record-label b{margin-left:2px}.day-record-label.muted{color:var(--muted)}.day-record-wishes,.day-record-notes{gap:6px;margin:0;padding:0;list-style:none;display:grid}.day-record-wish{border:1px solid var(--line);background:var(--canvas);text-align:left;width:100%;color:inherit;border-radius:14px;align-items:center;gap:10px;padding:10px 12px;display:flex}.day-record-wish>svg:first-child{color:var(--red);flex-shrink:0}.day-record-wish>svg:last-child{color:var(--muted);flex-shrink:0}.day-record-wish>span{flex-direction:column;flex:auto;gap:1px;min-width:0;display:flex}.day-record-wish strong{font-size:14px;line-height:1.45}.day-record-wish small{color:var(--muted);font-size:11px}.day-record-wish.is-plain{border-style:dashed}.day-record-notes li{padding-left:2px;font-size:13px}.day-record-notes.muted li{color:var(--muted)}.day-record-actions{flex-wrap:wrap;gap:4px 12px;padding:6px 8px 8px;display:flex}.calendar-activity-titles{gap:6px;font-size:13px;font-weight:500;display:grid}.calendar-record-group{min-width:0;margin-block:12px}.calendar-record-group .calendar-record{width:100%}.schedule-shortcuts{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.schedule-shortcuts button{min-height:36px;padding:7px 13px;font-size:13px}.schedule-fields small{color:var(--muted);margin-top:8px;display:block}.tag-filter-disclosure{margin:12px 0}.tag-filter-disclosure summary{cursor:pointer;padding:8px 0;font-size:13px}.calendar-page{max-width:800px;margin:auto}.calendar-page h1{font-size:clamp(22px,4vw,30px)}.met-count{white-space:nowrap;color:var(--muted);font-size:13px}.met-count strong{color:var(--red);margin:0 4px;font-size:26px}.calendar-toolbar{align-items:center;gap:12px;margin:24px 0 16px;display:flex}.calendar-toolbar h2{text-align:center;flex:1;margin:0;font-size:20px}.calendar-toolbar button{min-width:40px;padding:8px}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekdays{text-align:center;color:var(--muted);padding-bottom:8px;font-size:12px}.calendar-grid{gap:4px}.calendar-grid button{border:1px solid var(--line);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-width:0;min-height:68px;padding:8px 0;display:flex}.calendar-grid button.adjacent>span:first-child{color:var(--muted)}.calendar-grid button.met-day,.calendar-swatch.met-day{background:color-mix(in srgb, var(--red) 25%, var(--canvas));border-color:color-mix(in srgb, var(--red) 45%, var(--canvas))}.calendar-grid button.planned-day,.calendar-swatch.planned-day{background:color-mix(in srgb, var(--blue) 13%, var(--canvas));border-color:color-mix(in srgb, var(--blue) 35%, var(--canvas))}.calendar-grid button.today>span:first-child{text-underline-offset:4px;font-weight:800;text-decoration:underline}.calendar-grid button[aria-pressed=true]{border-color:var(--text);box-shadow:inset 0 0 0 1px var(--text)}.calendar-grid button.met-day .calendar-markers,.calendar-swatch.met-day{color:color-mix(in srgb, var(--red) 65%, var(--text))}.planned-marker,.calendar-swatch.planned-day{color:var(--blue)}.calendar-markers{flex-wrap:wrap;justify-content:center;align-items:center;gap:2px 3px;max-width:100%;min-height:10px;display:flex;overflow:hidden}.calendar-markers>svg{flex-shrink:0}.calendar-markers>:nth-child(n+4){display:none}.planned-dot,.fulfilled-dot,.record-dot{background:#4c82b8;border-radius:50%;width:6px;height:6px;display:inline-block}.fulfilled-dot{background:#e2a449}.record-dot{background:#9a97a0}.calendar-legend{color:var(--muted);flex-wrap:wrap;gap:4px 12px;font-size:11px;display:flex}.calendar-legend>span{align-items:center;gap:5px;display:inline-flex}.calendar-swatch{border:1px solid;border-radius:6px;justify-content:center;align-items:center;width:21px;height:21px;display:inline-flex}.calendar-day-details{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.calendar-day-details h2{font-size:20px}.calendar-day-details>small{margin-top:16px;line-height:1.6;display:block}.calendar-event{text-align:left;align-items:center;gap:12px;width:100%;margin-top:10px;display:flex}.calendar-event strong{overflow-wrap:break-word}.calendar-event small{color:var(--muted);white-space:nowrap}.calendar-record{border-left:2px solid var(--red);padding:8px 12px}.met-day-saved{color:var(--red);opacity:1!important}.pair-guide{border:1px solid var(--line);background:var(--canvas);border-radius:20px;margin:12px 0 26px;padding:22px}.pair-guide h2{font-size:20px}.pair-guide p,.pair-guide small{color:var(--muted);line-height:1.7}.photos.photo-carousel{scroll-snap-type:x mandatory;scrollbar-width:thin;gap:10px;padding-bottom:10px;display:flex;overflow-x:auto}.photos.photo-carousel>*{scroll-snap-align:center;flex:0 0 min(82%,420px)}.photos.photo-carousel img{object-fit:cover;width:100%;height:240px}.photos.photo-carousel>button{border-radius:14px;padding:0;overflow:hidden}.locality-list{gap:8px;display:grid}.locality-row{align-items:center;gap:8px;display:flex}.locality-row label{flex:1}@media (width<=700px){.sidebar nav button{padding-inline:1px;font-size:10px}.calendar-grid button{gap:3px;min-height:56px;padding:6px 0}.calendar-markers>svg{width:10px;height:10px}.calendar-occasion-label{display:none}.calendar-page .section-head{flex-direction:column;align-items:flex-start;gap:4px}.calendar-toolbar{gap:6px}.calendar-toolbar h2{font-size:18px}}.next-occasion{text-align:left;border:1px solid color-mix(in srgb, var(--red), transparent 75%);background:color-mix(in srgb, var(--red), transparent 95%);border-radius:18px;align-items:center;gap:14px;width:100%;padding:16px 18px;display:flex}.next-occasion>span{flex:1;gap:4px;display:grid}.next-occasion small{color:var(--muted)}.next-occasion strong{font-size:18px}.next-occasion>svg,.occasion-marker,.occasion-legend{color:#8763bc}.occasion-legend{align-items:center;gap:3px;display:flex}.calendar-occasion-label{font-size:9px;line-height:1}.occasion-card{background:#8763bc12;border-radius:16px;align-items:flex-start;gap:12px;margin-bottom:16px;padding:16px;display:flex}.occasion-card>svg{color:#8763bc;flex-shrink:0}.occasion-card h3{margin:0;font-size:19px}.occasion-card p{font-size:13px;line-height:1.6}.calendar-record{text-align:left;gap:5px;width:100%;display:grid}.calendar-record small{color:var(--muted)}.calendar-record small svg{vertical-align:middle}.celebration-record{border-left-color:#8763bc}.locality-row label,.locality-row input,.locality-row select{min-width:0}.day-record-memories{gap:6px;display:grid}.day-record-memories .memory-tile{padding:10px 10px 10px 12px}.day-record-actions .text-button{align-items:center;gap:5px;display:inline-flex}.travel-editor,.travel-guide{background:#f4f9f8;border:1px solid #c8d9db;border-radius:18px;min-width:0;margin:18px 0;padding:16px}.travel-toggle{cursor:pointer;align-items:center;gap:12px;display:flex}.travel-toggle>span{flex:1;min-width:0}.travel-toggle strong,.travel-toggle small{display:block}.travel-toggle small{color:#536968;margin-top:4px;font-size:12px}.travel-toggle input{accent-color:#27685d;flex-shrink:0;width:22px;height:22px}.travel-editor-body{gap:14px;margin-top:16px;display:grid}.travel-editor-item{background:#fff;border:1px solid #d5e1df;border-radius:12px;min-width:0;padding:12px}.travel-editor-item>summary{overflow-wrap:anywhere;margin-bottom:10px;font-weight:600}.travel-editor-item>summary small{color:#536968;font-weight:400;display:block}.travel-editor-row{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:10px;display:grid}.travel-editor input:not([type=checkbox]),.travel-editor select,.travel-editor textarea{box-sizing:border-box;width:100%;min-width:0;max-width:100%}.travel-editor-row>*{min-width:0}.travel-guide header{align-items:center;gap:8px;display:flex}.travel-guide header h3{flex:1;margin:0}.travel-day h4{color:#365f5b;margin:20px 0 10px;font-size:14px}.travel-day ol{gap:10px;margin:0;padding:0;list-style:none;display:grid}.travel-card{overflow-wrap:anywhere;background:#fff;border:1px solid #d5e1df;border-radius:12px;min-width:0;padding:14px}.travel-card-meta{color:#536968;align-items:center;gap:10px;margin-bottom:6px;font-size:12px;display:flex}.travel-card-meta time{color:#234d47;font-size:16px;font-weight:650}.travel-note{white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0;line-height:1.7}.travel-address{align-items:baseline;gap:4px;font-size:13px;display:flex}.travel-address svg{flex-shrink:0}.travel-link{color:#205b82;text-underline-offset:3px;align-items:center;gap:8px;min-height:44px;margin-top:10px;text-decoration:underline;display:flex}.travel-link small{color:#536968;font-size:11px;text-decoration:none;display:block}.travel-guide a:focus-visible,.comment-bubble a:focus-visible{outline-offset:3px;border-radius:3px;outline:2px solid #246895}.comment-bubble a{color:inherit;text-underline-offset:3px;overflow-wrap:anywhere;text-decoration:underline}.date-cancel-note{color:#615c58;background:#f1eeeb;border-radius:10px;padding:12px}.date-check.date-cancel-note{padding-inline:20px}.travel-booker{color:#536968;margin:8px 0;font-size:13px}@media (width<=380px){.travel-editor-row{grid-template-columns:minmax(0,1fr)}.travel-editor,.travel-guide{padding:12px}}.memory-gallery{min-width:0;margin-block:18px}.memory-gallery-rail{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;border-radius:16px;gap:12px;padding-right:8%;scroll-padding:0;display:flex;position:relative;overflow-x:auto}.memory-gallery-rail::-webkit-scrollbar{display:none}.memory-gallery-rail>.memory-gallery-slide{scroll-snap-align:start;background:var(--surface,#f5f2ef);border:0;border-radius:16px;flex:0 0 100%;padding:0;display:block;position:relative;overflow:hidden}.memory-gallery-rail:has(>:only-child){padding-right:0}.photo-preview{aspect-ratio:4/3;background:#f2efea;width:100%;display:block;position:relative}.memory-gallery .photo-preview img{object-fit:contain;width:100%;height:100%;display:block;position:absolute;inset:0}.photo-preview-state{color:#726b63;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:18px;font-size:13px;display:flex;position:absolute;inset:0}.photo-preview-state span{font-size:11px}.photo-expand-label{color:#534b43;background:#fffdf7ed;border-radius:99px;padding:5px 10px;font-size:11px;position:absolute;bottom:10px;right:10px}.memory-gallery-controls{justify-content:space-between;align-items:center;gap:12px;padding-top:8px;display:flex}.photo-page-count{font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap;font-size:13px}.photo-page-buttons,.photo-viewer-controls{align-items:center;gap:8px;display:flex}.photo-page-buttons button,.photo-viewer-controls button{justify-content:center;min-width:44px;min-height:44px}.photo-page-dots{flex-wrap:wrap;justify-content:center;display:flex}.photo-page-dots button{background:0 0;border:0;place-items:center;width:28px;height:32px;padding:0;display:grid}.photo-page-dots button span{background:var(--muted);opacity:.3;border-radius:99px;width:6px;height:6px}.photo-page-dots button[aria-current] span{opacity:1;background:var(--accent,#d54b5b);width:16px}.photo-gallery-hint{color:var(--muted);text-align:center;margin:4px 0 0;font-size:11px}.photo-viewer-image{background:#f2efea;border-radius:14px;place-items:center;height:min(52dvh,560px);min-height:180px;display:grid;position:relative;overflow:hidden}.photo-viewer-image img{object-fit:contain;max-width:100%;max-height:100%}.photo-zoom-canvas{overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom;scrollbar-width:thin;position:absolute;inset:0;overflow:auto}.photo-zoom-plane{position:relative}.photo-zoom-plane img{object-fit:contain;width:100%;height:100%;display:block}.photo-zoom-plane img[hidden]{display:none}.photo-zoom-controls{justify-content:center;align-items:center;gap:8px;margin-top:8px;font-size:12px;display:flex}.photo-zoom-controls button{justify-content:center;min-width:44px;min-height:44px;padding:8px}.photo-viewer-state{text-align:center;z-index:1;flex-direction:column;justify-content:center;align-items:center;padding:16px;display:flex;position:absolute;inset:0}.photo-viewer-controls{flex-wrap:wrap;justify-content:center;margin-top:12px}.photo-download{align-items:center;gap:6px;min-height:44px;margin-left:auto;padding:10px;display:inline-flex}.photo-information{margin-top:16px}.photo-information>summary{color:var(--muted);cursor:pointer;padding-block:10px}:root[data-appearance=dark] .photo-preview,:root[data-appearance=dark] .photo-viewer-image{background:#262421}@media (width<=700px){.memory-gallery-rail:not(:has(>:only-child)){padding-right:14%}}@media (width<=420px){.photo-viewer-controls{gap:8px}.photo-viewer-controls button{padding:8px}.photo-viewer-controls .photo-download{flex-basis:100%;justify-content:center;margin-left:0}}.journal-photo-album{min-width:0}.journal-photo-album .memory-gallery{margin:0}.photo-open-journal{justify-content:center;width:100%;margin-top:18px}.journal-cover>.photo-preview{aspect-ratio:auto;min-width:0;height:100%;min-height:0;overflow:hidden}.journal-cover .photo-preview img{position:absolute;inset:0}.activity-timeline{margin:0;padding:0;list-style:none}.activity-timeline li{position:relative}.activity-timeline li:not(:last-child):before{content:"";border-left:2px solid color-mix(in srgb, var(--red), transparent 75%);position:absolute;top:34px;bottom:-2px;left:13px}.activity-timeline .timeline-step{text-align:left;width:100%;color:inherit;font:inherit;background:0 0;border:0;align-items:flex-start;gap:10px;padding:6px 0;display:flex}.activity-timeline button.timeline-step{border-radius:12px}@media (hover:hover){.activity-timeline button.timeline-step:hover{background:color-mix(in srgb, var(--red), transparent 95%)}}.timeline-number{background:color-mix(in srgb, var(--red) 10%, var(--canvas));width:28px;height:28px;color:var(--red);font-family:var(--mono);z-index:1;border-radius:50%;flex-shrink:0;place-items:center;font-size:11px;font-weight:750;display:grid}.is-done .timeline-number{background:var(--red);color:#fff}.is-skipped .timeline-number{background:var(--surface);color:var(--muted)}.timeline-body{flex-direction:column;flex:auto;gap:2px;min-width:0;padding-top:4px;display:flex}.timeline-body strong{align-items:center;gap:5px;font-size:14px;line-height:1.45;display:flex}.timeline-check{color:var(--red);flex-shrink:0}.is-skipped .timeline-body strong{color:var(--muted);text-decoration:line-through;-webkit-text-decoration-color:color-mix(in srgb, var(--muted), transparent 50%);text-decoration-color:color-mix(in srgb, var(--muted), transparent 50%)}.timeline-body small{color:var(--muted);font-size:11px}.timeline-body .timeline-wish{color:var(--red)}.timeline-body p{white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0 2px;font-size:13px;line-height:1.7}.activity-timeline .timeline-step>svg:last-child{color:var(--muted);flex-shrink:0;margin-top:8px}.activity-timeline.compact .timeline-step{padding:4px 0}.activity-timeline.compact .timeline-number{width:24px;height:24px;font-size:10px}.activity-timeline.compact li:not(:last-child):before{top:30px;left:11px}.activity-timeline.compact .timeline-body strong{font-size:13px}.timeline-details>summary{cursor:pointer;color:var(--red);margin:8px 0 4px;font-size:12px;font-weight:700;list-style:none}.timeline-details>summary::-webkit-details-marker{display:none}.timeline-day+.timeline-day{margin-top:10px}.timeline-day-label{color:var(--red);letter-spacing:.02em;flex-wrap:wrap;align-items:center;gap:4px 10px;margin:4px 0;font-size:12px;font-weight:750;display:flex}.timeline-day-place{color:var(--muted);align-items:center;gap:3px;font-size:11px;font-weight:600;display:inline-flex}.timeline-photos{flex-wrap:wrap;gap:6px;min-width:0;margin-top:8px;display:flex}.timeline-photos .photo-preview{border-radius:12px;flex-shrink:0;width:clamp(52px,16vw,100px);height:clamp(52px,16vw,100px);overflow:hidden}.timeline-photos .photo-preview img{object-fit:cover;width:100%;height:100%}.activity-timeline-groups>.event-add-memory{margin-top:16px}.journal-detail .activity-timeline .timeline-step{padding:14px 8px}.journal-detail .timeline-day-label{margin-block:20px 8px}.wish-comments{border-top:1px solid var(--border,#e6ddd9);margin-block:24px;padding-top:20px}.comment-heading,.comment-heading h3,.comment-compose-footer{align-items:center;gap:8px;display:flex}.comment-heading,.comment-compose-footer{justify-content:space-between}.comment-heading h3{margin:0}.comment-list{gap:20px;margin:20px 0;padding:0;list-style:none;display:grid}.comment-row{align-items:flex-end;gap:6px;display:flex}.comment-row.mine{flex-direction:row-reverse}.comment-avatar{flex:0 0 64px;justify-content:center;align-items:center;display:flex}.comment-avatar .character-art{object-fit:contain;width:76px;max-width:none;height:76px}.comment-content{min-width:0;max-width:calc(100% - 70px)}.comment-byline{flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:0 8px 5px;font-size:.78rem;display:flex}.comment-byline time{opacity:.65;font-size:.7rem}.mine .comment-byline{justify-content:flex-end}.comment-bubble{color:#293d4d;white-space:pre-wrap;overflow-wrap:anywhere;background:#eef3f7;border-radius:18px 18px 18px 4px;margin:0;padding:12px 15px;line-height:1.65;position:relative}.mine .comment-bubble{color:#623b49;background:#fff0f3;border-radius:18px 18px 4px}.comment-reactions{flex-wrap:wrap;align-items:center;gap:6px;min-height:34px;margin:6px 8px 0;display:flex;position:relative}.mine .comment-reactions{justify-content:flex-end}.reaction-chip,.reaction-add{border:1px solid var(--border,#e6ddd9);color:inherit;cursor:pointer;background:#fff;border-radius:999px;justify-content:center;align-items:center;gap:4px;min-height:32px;padding:2px 10px;font-size:.95rem;line-height:1;display:inline-flex}.reaction-chip.mine{background:#fff0f3;border-color:#e8748e}.reaction-chip small{opacity:.7;font-size:.72rem}.reaction-add{opacity:.75;min-width:44px;min-height:44px;margin:-6px 0;padding:0}.reaction-popover{z-index:5;border:1px solid var(--border,#e6ddd9);box-sizing:border-box;background:#fff;border-radius:26px;flex-wrap:wrap;justify-content:center;gap:2px;width:max-content;max-width:min(300px,100vw - 40px);padding:5px;display:flex;position:absolute;bottom:calc(100% + 6px);left:0;box-shadow:0 10px 30px #70233826}.mine .reaction-popover{left:auto;right:0}.reaction-popover button{cursor:pointer;background:0 0;border:0;border-radius:50%;min-width:44px;min-height:44px;padding:0;font-size:1.2rem}.reaction-popover button.mine{background:#fff0f3;box-shadow:inset 0 0 0 1.5px #e8748e}.reaction-popover button:hover:not(:disabled){background:#f6f1f2}.comment-empty{text-align:center;color:var(--muted,#777);padding:20px 8px}.comment-compose textarea{resize:vertical;box-sizing:border-box;width:100%;min-height:90px}.comment-compose-footer{margin-top:8px}.comment-compose-footer>span{opacity:.65;font-size:.75rem}.comment-compose-footer button{align-items:center;gap:7px;display:inline-flex}@media (width<=360px){.comment-avatar{flex-basis:48px}.comment-avatar .character-art{width:58px;height:68px}.comment-content{max-width:calc(100% - 54px)}.comment-heading h3{font-size:1rem}}.wish-comments.frameless{border-top:0;margin-top:6px;padding-top:0}.wish-comments.frameless .comment-heading{display:none}.wish-comments.frameless>.muted{margin-top:0}@media (width<=480px){.date-chapter .wish-comments{margin-inline:-14px;padding-inline:10px;background:#fdf9fa;border-top:0;border-radius:0 0 20px 20px;margin-bottom:-14px;padding-bottom:14px}.wish-detail-sheet .wish-comments,.date-conversation-sheet .wish-comments{margin-inline:-12px;padding-inline:4px}.comment-list{gap:14px;margin:14px 0}.comment-row{gap:4px}.comment-avatar{flex-basis:54px}.comment-avatar .character-art{width:64px;height:72px}.comment-content{max-width:calc(100% - 58px)}.comment-bubble{padding:10px 13px}}@media (prefers-color-scheme:dark){.date-chapter .wish-comments{background:#2b2326}}.date-anniversary{flex-wrap:wrap;align-items:center;gap:4px 10px;margin:4px 0 8px;font-size:14px;display:flex}.date-anniversary>svg,.custom-anniversary>svg{color:#8763bc}.anniversary-form{margin:4px 0 10px}.custom-anniversary .actions{flex-wrap:wrap;gap:8px;display:flex}.relationship-custom>span>svg{vertical-align:-2px}:root[data-appearance=dark] .reaction-popover,:root[data-appearance=dark] .reaction-chip,:root[data-appearance=dark] .reaction-add{background:var(--surface-elevated,#2b2326);border-color:var(--border,#4a3a40)}:root[data-appearance=dark] .reaction-popover button:hover:not(:disabled){background:var(--surface-hover,#3a3134)}:root[data-appearance=dark] .reaction-chip.mine,:root[data-appearance=dark] .reaction-popover button.mine{background:#4a2a33}@media (prefers-color-scheme:dark){:root[data-appearance=system] .reaction-popover,:root[data-appearance=system] .reaction-chip,:root[data-appearance=system] .reaction-add{background:var(--surface-elevated,#2b2326);border-color:var(--border,#4a3a40)}:root[data-appearance=system] .reaction-popover button:hover:not(:disabled){background:var(--surface-hover,#3a3134)}:root[data-appearance=system] .reaction-chip.mine,:root[data-appearance=system] .reaction-popover button.mine{background:#4a2a33}}.wish-comments .comment-list:empty{min-height:0;margin:0}.wish-comments>[role=status]{min-height:72px;color:var(--muted);align-items:center;display:flex}.home-pinned,.home-conversations{margin:34px 0}.home-pinned-list,.conversation-list{gap:10px;display:grid}.home-pinned-date,.conversation-row{text-align:left;border:1px solid var(--line);background:var(--canvas);width:100%;color:inherit;font:inherit;cursor:pointer;border-radius:18px;align-items:center;gap:12px;padding:13px 15px;display:flex}.home-pinned-date{background:#fff6f8;border:1.5px solid #f2c4cf}.home-pinned-date .pin-badge{color:#d64f72;flex-shrink:0;display:inline-flex}.conversation-row.unread,.home-pinned-date.unread{border-color:#e8748e}.conversation-avatar{color:#b04a66;background:#f6f1f2;border-radius:50%;flex:0 0 46px;justify-content:center;align-items:center;width:46px;height:46px;display:flex;overflow:hidden}.conversation-avatar .character-art{object-fit:cover;object-position:top;width:46px;height:46px}.conversation-body{flex:1;gap:4px;min-width:0;display:grid}.conversation-title{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.conversation-title strong{color:var(--text);overflow-wrap:break-word;min-width:min(100%,12ch);word-break:auto-phrase;flex:auto;font-size:15px}.conversation-title small{white-space:nowrap;font-size:12px}.conversation-title .pin-mark{color:#d64f72}.conversation-last{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.unread .conversation-last{color:var(--text);font-weight:650}.conversation-meta{color:var(--muted);flex-shrink:0;justify-items:end;gap:6px;display:grid}.conversation-meta time{font-size:11px}.unread-dot{background:#e8748e;border-radius:50%;width:10px;height:10px;display:block}.unread-count{vertical-align:middle;color:#fff;background:#e8748e;border-radius:999px;margin-left:8px;padding:4px 8px;font-size:11px;line-height:1;display:inline-block}.date-conversation-when{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 12px;display:flex}.date-conversation-actions{flex-wrap:wrap;gap:8px;margin-bottom:4px;display:flex}.date-conversation-actions button{align-items:center;gap:6px;display:inline-flex}.home-date-plan-row{align-items:stretch;gap:8px;display:flex}.home-date-plan-row .home-date-plan{flex:1;min-width:0}.home-date-talk{border:1px solid var(--line);background:var(--canvas);color:#b04a66;cursor:pointer;border-radius:18px;flex:0 0 54px;justify-content:center;align-items:center;min-height:44px;display:flex;position:relative}.home-date-talk .unread-dot{position:absolute;top:8px;right:8px}:root[data-appearance=dark] .home-pinned-date{background:#3a2a30;border-color:#7a4a5c}:root[data-appearance=dark] .conversation-avatar{background:#3a3134}@media (prefers-color-scheme:dark){:root[data-appearance=system] .home-pinned-date{background:#3a2a30;border-color:#7a4a5c}:root[data-appearance=system] .conversation-avatar{background:#3a3134}}.home-conversations>[role=status],.home-pinned>[role=status]{align-items:center;min-height:64px;display:flex}.conversations-page .section-head h1{align-items:center;gap:8px;display:flex}.conversation-search{border:1px solid var(--line);background:var(--canvas);min-height:46px;color:var(--muted);border-radius:14px;align-items:center;gap:8px;margin:14px 0 12px;padding:0 12px;display:flex}.conversation-search input{min-width:0;color:var(--text);background:0 0;border:0;outline:none;flex:1;font-size:16px}.conversation-search input:focus-visible{outline:none}.conversation-search:focus-within{border-color:var(--red);box-shadow:0 0 0 3px color-mix(in srgb, var(--red) 16%, transparent)}.conversation-filters{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.conversation-filters button{border:1px solid var(--line);background:var(--canvas);min-height:40px;color:var(--text);border-radius:999px;padding:6px 14px;font-size:13px}.conversation-filters button[aria-pressed=true]{background:var(--red);border-color:var(--red);color:#fff}.search-body{white-space:normal;-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.search-body mark{color:inherit;background:#ffe2a8;border-radius:3px;padding:0 1px}.comment-row.focused .comment-bubble{transition:box-shadow .4s;box-shadow:0 0 0 3px #ffd27a}.notices-page{max-width:850px;margin:0 auto;padding-bottom:28px}.notices-heading{justify-content:space-between;align-items:center;gap:20px;margin:16px 0 28px;display:flex}.notices-heading h1{align-items:center;gap:10px;margin:4px 0 10px;font-size:clamp(24px,3vw,32px);display:flex}.notices-heading p{color:var(--muted);margin:0}.notices-heading>button{flex-shrink:0;align-items:center;gap:6px;min-height:44px;display:inline-flex}.notice-eyebrow{letter-spacing:.08em;font-size:12px}.notices-tools{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.notice-filters{gap:6px;display:flex}.notice-filters button{border-radius:999px;min-height:44px;padding:8px 20px}.notice-filters button[aria-pressed=true]{color:#fff;background:#475d74;border-color:#475d74}.notice-filters span{margin-left:5px}.notice-list{gap:12px;display:grid}.notice-card{text-align:left;background:var(--canvas);border:1px solid var(--line);width:100%;color:var(--text);border-radius:18px;align-items:flex-start;gap:14px;padding:20px;display:flex;position:relative}.notice-card.is-unread{background:#f5faff;border-color:#9abbd5}.notice-card-icon{color:#556f87;background:#edf1f5;border-radius:13px;flex:0 0 40px;place-items:center;height:40px;display:grid}.notice-card-icon.announcement{color:#ac6176;background:#fbecf0}.notice-card-content{flex:1;gap:8px;min-width:0;display:grid}.notice-card-top{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:5px 12px;padding-right:8px;font-size:11px;display:flex}.notice-card-content strong{overflow-wrap:anywhere;font-size:16px;line-height:1.6}.notice-card-preview{color:var(--muted);-webkit-line-clamp:2;overflow-wrap:anywhere;white-space:normal;-webkit-box-orient:vertical;font-size:13px;line-height:1.8;display:-webkit-box;overflow:hidden}.notice-target{color:#536f89;align-items:center;gap:5px;padding-top:3px;font-size:12px;display:inline-flex}.notice-unread-dot{background:#5889b2;border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px}.notices-empty{border:1px dashed var(--line);text-align:center;color:var(--muted);border-radius:20px;padding:48px 20px}.notices-empty h2{color:var(--text);font-size:18px}.notices-empty p{font-size:14px;line-height:1.8}.notice-more{min-height:44px;margin:20px auto 0;display:block}.notice-meta{color:var(--muted);font-size:12px;line-height:1.8}.notice-full-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:24px 0 32px;line-height:1.9}.notice-destination{white-space:normal;justify-content:center;align-items:center;gap:8px;width:100%;min-height:48px;display:flex}.notice-compose form{gap:18px;margin-top:20px;display:grid}.notice-compose label{gap:8px;display:grid}.notice-compose input,.notice-compose textarea,.notice-compose select{width:100%;min-width:0}@media (width<=600px){.notices-heading{flex-direction:column;align-items:flex-start;gap:14px;margin-top:10px}.notices-heading>button{align-self:flex-end}.notices-heading p{font-size:13px;line-height:1.8}.notice-card{gap:10px;padding:16px 14px}.notice-card-icon{border-radius:10px;flex-basis:32px;height:32px}.notice-card-content strong{font-size:15px}.topbar .toolbar{gap:2px}.topbar .toolbar .icon-button{width:36px;min-width:36px}}@media (prefers-color-scheme:dark){:root:not([data-appearance=light]) .notice-card.is-unread{background:#263544}}.wish-timing-actions{min-width:0}.wish-timing-actions>[role=group]{flex-wrap:wrap;gap:8px;display:flex}.wish-timing-actions button{border:1px solid var(--line);background:var(--surface);min-width:0;min-height:44px;color:var(--text);border-radius:999px;padding:8px 12px;font-size:12px;line-height:1.4}.detail-gentle-timing{margin-block:12px 18px}.detail-gentle-timing>summary{cursor:pointer;color:var(--muted);align-items:center;gap:4px;min-height:32px;font-size:13px;list-style:none;display:inline-flex}.detail-gentle-timing>summary::-webkit-details-marker{display:none}.detail-gentle-timing>summary:before{content:"▸";font-size:11px}.detail-gentle-timing[open]>summary:before{content:"▾"}.detail-gentle-timing>p{color:var(--muted);margin:6px 0 8px;font-size:12px}.detail-gentle-timing .wish-timing-actions button{padding:6px 12px}.toast .toast-undo{min-height:44px;color:var(--red);flex-shrink:0;padding:6px 10px}.toast>span{overflow-wrap:anywhere;min-width:0}.toast>svg,.toast>.icon-button{flex-shrink:0}.activity-editor{border:1px solid var(--line);background:var(--canvas,#fff);border-radius:22px;margin:22px 0;padding:18px}.activity-editor>header{align-items:center;gap:10px;margin-bottom:16px;display:flex}.activity-editor h3,.activity-editor p,.chapter-heading h3{margin:0}.activity-editor>header p{color:var(--muted);margin-top:4px;font-size:12px;line-height:1.6}.activity-editor>header small{white-space:nowrap;color:var(--muted);margin-left:auto}.activity-heading-icon{color:var(--red);flex-shrink:0;place-items:center;display:grid}.activity-list,.chapter-timeline{margin:0;padding:0;list-style:none}.activity-item{border-top:1px solid var(--line);gap:12px;padding:14px 0;display:flex;position:relative}.activity-number{background:color-mix(in srgb, var(--red) 9%, var(--surface,#fff));width:32px;height:32px;color:var(--red);border-radius:11px;flex-shrink:0;place-items:center;font-size:12px;font-weight:750;display:grid}.activity-fields{flex:1;min-width:0}.activity-fields .field{margin-top:0}.activity-fields summary{color:var(--muted);font-size:12px}.activity-wish-state{color:var(--red);font-size:12px;margin:4px 0 12px!important}.activity-tools{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.activity-tools button{justify-content:center;align-items:center;gap:4px;min-width:44px;min-height:44px;padding:8px;display:flex}.activity-tools .activity-remove{color:var(--muted);margin-left:auto;font-size:11px}.activity-add{gap:14px;margin-top:10px;display:grid}.activity-add>button{border:1px dashed color-mix(in srgb, var(--red) 45%, var(--line));color:var(--red);justify-content:center;align-items:center;gap:6px;min-height:46px;display:flex}.activity-picker{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.activity-picker .field{flex:1;min-width:160px;margin:0}.activity-picker button{min-height:44px}.activity-empty{text-align:center;color:var(--muted);padding:18px 8px 24px;font-size:13px;line-height:1.9}.activity-footnote{color:var(--muted);font-size:11px;line-height:1.6;margin-top:12px!important}.chapter-preview{gap:9px;margin:12px 0;display:grid}.chapter-preview>span{align-items:baseline;gap:9px;font-size:13px;display:flex}.chapter-preview b{color:var(--red);flex-shrink:0;font-size:10px}.date-chapter{border:1px solid var(--line);border-radius:22px;margin:20px 0 26px;padding:20px}.chapter-heading{justify-content:space-between;align-items:center;gap:12px;margin:16px 0;display:flex}.chapter-heading button{flex-shrink:0;min-height:44px;font-size:12px}.chapter-timeline li{align-items:flex-start;gap:12px;padding:14px 0;display:flex;position:relative}.chapter-timeline li:not(:last-child):before{content:"";border-left:1px dashed var(--line);position:absolute;top:48px;bottom:-9px;left:15px}.chapter-timeline h4{overflow-wrap:break-word;margin:4px 0 6px;font-size:16px}.chapter-timeline p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 8px;font-size:13px}.chapter-timeline small,.chapter-count{color:var(--red);font-size:12px}.chapter-count{border-top:1px solid var(--line);margin-bottom:0;padding-top:14px}.chapter-manage{margin:20px 0;font-size:12px}@media (width<=480px){.activity-editor,.date-chapter{padding:14px}.activity-item{gap:8px}.activity-tools .activity-remove{margin-left:0}.chapter-heading{flex-wrap:wrap}}.journal-memories{margin-top:18px}.journal-memories .chapter-heading{margin:0 0 10px}.journal-memories .chapter-heading h3{font-size:15px}.journal-memories .chapter-heading .text-button{padding-right:0;font-size:13px}.journal-memory-tiles{gap:8px;display:grid}.journal-memories-empty{margin:0;font-size:13px}.memory-tile{border:1px solid var(--line);background:var(--canvas);text-align:left;width:100%;color:inherit;border-radius:16px;align-items:center;gap:12px;padding:12px 12px 12px 14px;display:flex}.memory-tile>svg{color:var(--muted);flex-shrink:0}.memory-tile-text{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.memory-tile-text small{color:var(--red);font-size:11px;font-weight:700}.memory-tile-text strong{font-size:14px;line-height:1.45}.memory-tile-excerpt{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.5;display:-webkit-box;overflow:hidden}.memory-tile-meta{color:var(--muted);align-items:center;gap:4px;margin-top:2px;font-size:11px;display:inline-flex}.memory-tile-photos{flex-shrink:0;gap:4px;display:flex}.memory-tile-photos .photo-preview{border-radius:10px;width:44px;height:44px;overflow:hidden}.memory-tile-photos .photo-preview img{object-fit:cover;width:100%;height:100%}.journal-talk{margin-top:18px}.chapter-manage{margin:14px 0 0}.journal .journal-range{color:var(--muted);margin:2px 0 0;font-size:13px}.date-chapter .chapter-heading{margin:0 0 8px}.date-chapter .chapter-heading .eyebrow{font-size:11px}.date-chapter .chapter-heading h3{margin:2px 0 0;font-size:17px}.chapter-edit{border:1px solid var(--line);background:var(--canvas);width:40px;min-width:40px;height:40px;min-height:40px;color:var(--muted);border-radius:50%}.journal-talk .comment-heading h3{font-size:15px}.journal-talk .comment-heading .text-button{color:var(--muted);font-size:12px}.journal-talk .comment-heading h3 svg{width:16px;height:16px}.journal .journal-place{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 8px;margin:6px 0 0;font-size:13px;display:flex}.journal .journal-place>svg{color:var(--red)}.journal .journal-place .text-button{padding:2px 0;font-size:12px}.locality-unlock-note{color:var(--muted,#6d6863);background:#f4f0eb;border-radius:12px;padding:.6rem .75rem;font-size:.85rem;line-height:1.6}.locality-visit-picker{gap:.5rem;margin:.8rem 0;font-size:.85rem;display:grid}.locality-visit-picker select{width:100%;min-width:0}.locality-summary{min-width:0}.photo-location{border:1px solid var(--line);background:color-mix(in srgb, var(--pale), var(--surface) 65%);border-radius:20px;margin:18px 0;padding:20px}.photo-location-heading{color:var(--red);align-items:flex-start;gap:12px;display:flex}.photo-location-heading h3{color:var(--text);margin:0 0 4px;font-size:18px}.photo-location-heading p{color:var(--muted);margin:0;font-size:13px}.photo-location-options{gap:10px;margin:16px 0;display:grid}.photo-location-option{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.photo-location-option>div{min-width:0}.photo-location button{white-space:normal;overflow-wrap:anywhere;height:auto}.photo-place-correct{margin-top:8px}.memory-place-summary{flex-wrap:wrap;align-items:center;gap:10px;margin-block:12px;display:flex}.memory-place-summary span{overflow-wrap:anywhere;min-width:0}.photo-location-option strong{font-size:17px;display:block}.photo-location-option small{color:var(--muted);margin-top:4px;display:block}.photo-location-option button{background:var(--surface);flex-shrink:0}.photo-location>.muted{margin-bottom:0;font-size:12px;line-height:1.65}@media (width<=420px){.photo-location{padding:16px}.photo-location-option{flex-direction:column;align-items:flex-start}}.wish-memories{border-block:1px solid var(--line,#ece8e5);margin-block:20px;padding-block:20px}.wish-memories-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.wish-memories-heading h3{margin:0;font-size:1.1rem}.wish-memories-heading>span{color:var(--muted,#757179);white-space:nowrap;font-size:.8rem}.wish-memories .memory-card{box-shadow:none;background:0 0;border:0;padding:16px 0}.wish-memories .memory-card+.memory-card{border-top:1px solid var(--line,#ece8e5)}.wish-memories .memory-card h2{font-size:1rem}.memory-wish-link{color:var(--accent,#d64162);text-align:left;overflow-wrap:anywhere;margin-bottom:12px;font-size:.85rem}.save-confirmation.sheet{max-width:660px;padding:0;overflow:hidden auto}.save-confirmation .sheet-heading{margin-bottom:0;padding:28px 28px 0}.save-confirmation>.notice{margin:16px 28px}.save-intro{padding:16px 28px 22px}.save-intro p{color:var(--muted);margin:0 0 12px;font-size:14px;line-height:1.7}.save-intro>span{border:1px solid var(--line);color:var(--muted);border-radius:10px;padding:6px 10px;font-size:12px;display:inline-block}.save-preview-list{padding:0 28px 12px}.save-preview-group{border:1px solid var(--line);background:var(--canvas);border-radius:22px;margin:0 0 18px;padding:0 20px}.save-group-label{color:var(--blue);margin:18px 0 0;font-size:12px;font-weight:650}.save-preview-item{padding:22px 0}.save-preview-item+.save-preview-item{border-top:1px dashed var(--line)}.save-item-heading{align-items:flex-start;gap:12px;display:flex}.save-item-heading>div{min-width:0}.save-item-icon{background:var(--canvas);height:42px;color:var(--red);border:1.5px solid;border-radius:15px;flex:0 0 42px;place-items:center;display:grid;transform:rotate(-5deg)}.save-preview-item:nth-child(2) .save-item-icon{color:var(--blue)}.save-preview-item:nth-child(3) .save-item-icon{color:var(--green)}.save-item-kind{color:var(--muted);margin:0 0 5px;font-size:11px}.save-item-heading h3{letter-spacing:-.025em;overflow-wrap:break-word;margin:0;font-size:20px;font-weight:750;line-height:1.5}.save-details{margin:20px 0 0}.save-details>div{border-top:1px solid var(--line);padding:12px 0}.save-details>div:last-child{padding-bottom:0}.save-details dt{color:var(--muted);margin-bottom:6px;font-size:12px;font-weight:600}.save-details dd{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:15px;line-height:1.65}.save-previous,.save-next{display:block}.save-previous{color:var(--muted);margin-bottom:8px;font-size:13px}.save-change .save-next{border-left:3px solid var(--red);background:var(--pale);border-radius:0 10px 10px 0;padding:8px 12px}.save-value-label{color:var(--muted);min-width:3em;margin-right:10px;font-size:11px;display:inline-block}.save-confirmation-footer{border-top:1px solid var(--line);background:var(--canvas);z-index:2;padding:16px 28px 24px;position:sticky;bottom:-1px}.save-status{color:var(--muted);margin:0 0 12px;font-size:12px;line-height:1.6}.save-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.save-actions button{border-radius:16px;min-height:48px}.save-actions .primary{justify-content:center;align-items:center;gap:6px;min-width:152px;display:flex}.save-actions .text-button{color:var(--muted);padding-inline:0;font-size:13px}@media (width<=600px){.save-confirmation .sheet-heading{padding:22px 20px 0}.save-intro{padding:15px 20px 18px}.save-preview-list{padding-inline:20px}.save-preview-group{padding-inline:16px}.save-confirmation-footer{padding:14px 20px calc(16px + env(safe-area-inset-bottom))}.save-actions{flex-direction:column-reverse;gap:12px}.save-actions button{width:100%}}.character-stage{isolation:isolate;pointer-events:none;width:100%;min-width:0;height:100%;display:grid;position:relative}.character-stage .character-stage-art{object-fit:contain;transform-origin:50% 88%;z-index:1;width:100%;height:100%;min-height:0;display:block;position:relative}.character-preview>.character-stage{width:min(100%,360px);height:230px}.character-ground{opacity:0;transform-origin:50%;background:radial-gradient(#976b6030 0%,#976b600d 55%,#0000 74%);border-radius:50%;width:46%;height:5%;position:absolute;bottom:4%;left:27%}.character-accents{z-index:2;position:absolute;inset:0}.character-accent{left:var(--fx-x);top:var(--fx-y);aspect-ratio:1;opacity:0;color:#ec8496;width:clamp(9px,5%,17px);position:absolute}.character-accent svg{fill:currentColor;width:100%;height:100%;display:block}.character-accent:has(.character-accent-star){color:#e5ad3e}.character-accent:nth-child(2n){color:#efaf9c}.character-accent:nth-child(3n):has(.character-accent-star){color:#d69abc}.character-stage[data-profile=embrace] .character-accent{left:calc(43% + var(--fx-order) * 7%);top:calc(24% - var(--fx-order) * 5%)}.character-stage[data-profile=toast] .character-accent{left:calc(46% + var(--fx-order) * 4%);top:calc(45% - var(--fx-order) * 6%)}.character-stage[data-profile=gift] .character-accent{left:calc(38% + var(--fx-order) * 12%);top:calc(43% - var(--fx-order) * 4%)}@media (prefers-reduced-motion:no-preference){:root[data-motion=full] .character-stage[data-playing]>.character-stage-art{animation-duration:var(--cue-duration);animation-delay:var(--cue-delay);will-change:transform;animation-timing-function:ease-in-out;animation-iteration-count:1;animation-fill-mode:both}:root[data-motion=full] .character-stage[data-playing][data-profile=leap]>img{animation-name:stage-leap}:root[data-motion=full] .character-stage[data-playing][data-profile=cheer]>img{animation-name:stage-cheer}:root[data-motion=full] .character-stage[data-playing][data-profile=float]>img{animation-name:stage-float}:root[data-motion=full] .character-stage[data-playing][data-profile=embrace]>img{animation-name:stage-embrace}:root[data-motion=full] .character-stage[data-playing][data-profile=toast]>img{animation-name:stage-toast}:root[data-motion=full] .character-stage[data-playing][data-profile=bloom]>img{animation-name:stage-bloom}:root[data-motion=full] .character-stage[data-playing][data-profile=gift]>img{animation-name:stage-gift}:root[data-motion=full] .character-stage[data-playing][data-profile=spark]>img{animation-name:stage-spark}:root[data-motion=full] .character-stage[data-playing][data-profile=greet]>img{animation-name:character-greet}:root[data-motion=full] .character-stage[data-playing][data-profile=hop]>img{animation-name:character-saved-hop}:root[data-motion=full] .character-stage[data-playing][data-profile=nod]>img{animation-name:character-nod}:root[data-motion=full] .character-stage[data-playing] .character-ground{animation:stage-ground var(--cue-duration) ease-in-out var(--cue-delay) both}:root[data-motion=full] .character-stage[data-playing][data-profile=leap] .character-ground{animation-name:stage-ground-leap}:root[data-motion=full] .character-stage[data-playing][data-profile=cheer] .character-ground{animation-name:stage-ground-cheer}:root[data-motion=full] .character-stage[data-playing][data-profile=float] .character-ground{animation-name:stage-ground-float}:root[data-motion=full] .character-stage[data-playing] .character-accent{animation:.62s cubic-bezier(.16,1,.3,1) both stage-accent;animation-delay:calc(var(--cue-accent) + var(--fx-order) * 80ms)}:root[data-motion=full] .character-stage[data-playing][data-profile=cheer] .character-accent{animation-delay:calc(var(--cue-accent) + var(--fx-order) * .16s)}:root[data-motion=full] .character-stage[data-playing][data-profile=float] .character-accent{animation-name:stage-drift;animation-duration:1.1s;animation-delay:calc(var(--cue-accent) + var(--fx-order) * .22s)}:root[data-motion=full] .character-stage[data-playing][data-profile=embrace] .character-accent{animation-name:stage-heart-rise;animation-duration:.8s;animation-delay:calc(var(--cue-accent) + var(--fx-order) * .1s)}:root[data-motion=full] .character-stage[data-playing][data-profile=toast] .character-accent{animation-name:stage-clink;animation-duration:.47s;animation-delay:calc(var(--cue-accent) + var(--fx-order) * 60ms)}:root[data-motion=full] .character-stage[data-playing][data-profile=bloom] .character-accent{animation-duration:.9s}:root[data-motion=full] .character-stage[data-playing][data-profile=spark] .character-accent{animation-name:stage-twinkle;animation-duration:.8s;animation-delay:calc(var(--cue-accent) + var(--fx-order) * .13s)}}@keyframes stage-leap{0%,to{transform:none}16%{animation-timing-function:cubic-bezier(.16,1,.3,1);transform:translateY(2.5%)scale(.975)}35%{animation-timing-function:ease-out;transform:translateY(-9%)rotate(-1.2deg)scale(1.025)}45%{animation-timing-function:cubic-bezier(.55,0,1,.45);transform:translateY(-8%)rotate(.6deg)scale(1.02)}60%{animation-timing-function:cubic-bezier(.16,1,.3,1);transform:translateY(1.5%)scale(.985)}72%{transform:translateY(-1.5%)scale(1.005)}88%{transform:none}}@keyframes stage-cheer{0%,to{transform:none}12%{animation-timing-function:cubic-bezier(.16,1,.3,1);transform:translateY(1.5%)scale(.985)}24%{animation-timing-function:ease-in;transform:translateY(-4.5%)rotate(-.8deg)}36%{animation-timing-function:cubic-bezier(.16,1,.3,1);transform:translateY(.8%)}48%{animation-timing-function:ease-in;transform:translateY(-3%)rotate(.8deg)}64%{transform:translateY(.5%)scale(.995)}82%{transform:none}}@keyframes stage-float{0%,to{transform:none}10%{animation-timing-function:cubic-bezier(.2,.7,.3,1);transform:translateY(.8%)}38%{transform:translateY(-6%)rotate(-.8deg)}57%{transform:translateY(-7%)rotate(.8deg)}75%{transform:translateY(-5%)rotate(-.4deg)}}@keyframes stage-embrace{0%,to{transform:none}18%{animation-timing-function:cubic-bezier(.2,.8,.2,1);transform:rotate(.6deg)}29%{transform:translateY(-1%)rotate(-.5deg)scale(1.035)}38%{transform:translateY(-.5%)scale(1.005)}45%{transform:translateY(-1%)scale(1.02)}66%{transform:rotate(-.3deg)scale(1.012)}}@keyframes stage-toast{0%,to{transform:none}28%{animation-timing-function:cubic-bezier(.6,0,.8,.2);transform:rotate(-1.2deg)translateY(.5%)}35%,40%{transform:rotate(.6deg)translateY(-.5%)}55%{transform:rotate(-.3deg)}76%{transform:rotate(.12deg)}}@keyframes stage-bloom{0%,to{transform:none}12%{animation-timing-function:cubic-bezier(.16,1,.3,1);transform:scale(.98)}45%{transform:translateY(-2%)scale(1.03)}62%{transform:translateY(-1.2%)scale(1.02)}}@keyframes stage-gift{0%,to{transform:none}20%,28%{animation-timing-function:cubic-bezier(.16,1,.3,1);transform:translateY(1%)rotate(.8deg)scale(.99)}38%{animation-timing-function:ease-in;transform:translateY(-5%)rotate(-.5deg)scale(1.025)}57%{transform:translateY(.7%)scale(.99)}72%{transform:translateY(-.5%)}}@keyframes stage-spark{0%,to{transform:none}15%{animation-timing-function:ease-out;transform:translateY(-2.5%)scale(1.01)}58%{transform:translateY(-2.5%)scale(1.01)}}@keyframes stage-ground{0%,to{opacity:0;transform:scale(.9)}20%,70%{opacity:.55;transform:none}}@keyframes stage-ground-leap{0%,to{opacity:0;transform:scaleX(1)}16%{opacity:.7;transform:scaleX(1.06)}35%,45%{opacity:.25;transform:scaleX(.68)}60%{opacity:.75;transform:scaleX(1.14)scaleY(.7)}72%{opacity:.45;transform:scaleX(.95)}88%{opacity:.3;transform:none}}@keyframes stage-ground-cheer{0%,to{opacity:0}12%,36%,64%{opacity:.6;transform:scaleX(1.08)}24%,48%{opacity:.25;transform:scaleX(.8)}}@keyframes stage-ground-float{0%,to{opacity:0;transform:none}10%{opacity:.45}38%,75%{opacity:.18;transform:scaleX(.75)}90%{opacity:.3;transform:scaleX(.95)}}@keyframes stage-accent{0%{opacity:0;transform:translate(-50%,-50%)scale(.2)}22%{opacity:.9}62%{opacity:.7}to{opacity:0;transform:translate(calc(-50% + var(--fx-dx)), calc(-50% + var(--fx-dy))) rotate(var(--fx-turn)) scale(.75)}}@keyframes stage-heart-rise{0%{opacity:0;transform:translate(-50%)scale(.4)}24%{opacity:.85;transform:translate(-50%,-5px)scale(1)}to{opacity:0;transform:translate(calc(-50% + var(--fx-dx) * .35), -28px) rotate(var(--fx-turn)) scale(.65)}}@keyframes stage-drift{0%{opacity:0;transform:translate(-50%)scale(.5)}25%{opacity:.8}to{opacity:0;transform:translate(calc(-50% + var(--fx-dx) * .5), -24px) rotate(var(--fx-turn)) scale(.8)}}@keyframes stage-clink{0%{opacity:0;transform:translate(-50%,-50%)scale(.2)rotate(-20deg)}22%{opacity:1;transform:translate(-50%,-50%)scale(1.2)}to{opacity:0;transform:translate(-50%,-70%)scale(.5)rotate(25deg)}}@keyframes stage-twinkle{0%{opacity:0;transform:translate(-50%,-50%)rotate(-20deg)scale(.2)}30%{opacity:.95;transform:translate(-50%,-50%)rotate(0)scale(1.1)}65%{opacity:.65;transform:translate(-50%,-50%)rotate(8deg)scale(.9)}to{opacity:0;transform:translate(-50%,-70%)rotate(15deg)scale(.3)}}.celebration-popup{z-index:80;bottom:calc(88px + env(safe-area-inset-bottom));border:1.5px solid var(--line);background:var(--canvas);width:min(380px,100vw - 28px);min-height:275px;color:var(--text);isolation:isolate;pointer-events:none;border-radius:29px;padding:18px 22px 24px;position:fixed;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 16px 60px #7023381a,0 2px 6px #70233808}.celebration-popup:before{content:"";z-index:-1;background:0 0;position:absolute;inset:0}.celebration-art{color:#e9253a;width:320px;max-width:100%;height:174px;margin:0 auto;position:relative}.scene-backdrop{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.scene-character{aspect-ratio:1;color:#e9253a;transform-origin:50% 85%;filter:drop-shadow(0 3px 2px #b8334a09);width:24%;position:absolute}.scene-character>svg{width:100%;height:100%;display:block;overflow:visible}.scene-main{top:22%;left:27%;rotate:-12deg}.scene-partner{width:20%;top:30%;left:51%;rotate:12deg}.scene-love{width:8%;position:absolute;top:7%;left:47%;rotate:8deg}.scene-love svg{width:100%;height:100%;display:block}.chapter-bouquet .scene-main{width:23%;top:11%;left:29%;rotate:-17deg}.chapter-bouquet .scene-partner{width:18%;top:20%;left:51%;rotate:14deg}.scene-lid{transform-box:fill-box;transform-origin:50%;transform:translate(-11px,-43px)rotate(-12deg)}.chapter-cascade .scene-main{width:25%;top:24%;left:21%;rotate:-15deg}.chapter-cascade .scene-partner{width:21%;top:29%;left:56%;rotate:15deg}.chapter-cascade .scene-love{width:7%;top:27%;left:48%}.chapter-halo .scene-main{width:22%;top:22%;left:33%;rotate:-8deg}.chapter-halo .scene-partner{width:16%;top:39%;left:51%;rotate:9deg}.chapter-halo .scene-love{width:6%;top:11%;left:49%}.story-star .scene-character,.story-sun .scene-character{color:#ffbf24}.story-star .scene-partner,.story-birds .scene-character{color:#168ded}.story-birds .scene-partner{color:#ff6474;transform:scaleX(-1)}.story-leaf .scene-character{color:#4da880;width:21%;top:20%}.story-leaf .scene-partner{color:#90caa0;width:17%;top:29%}.story-moon .scene-character{color:#ffbf24}.story-moon .scene-partner{color:#168ded;width:13%;top:30%;left:61%}.story-flower .scene-partner{color:#ff8caf}.story-ribbon .scene-main{width:22%}.story-ribbon .scene-partner{color:#168ded;width:17%}.scene-trail{border-top:2px dashed #ffbf2480;border-radius:50%;width:21%;height:23%;position:absolute;top:36%;left:18%;rotate:-25deg}.story-sun .scene-main{width:25%;top:12%;left:33%}.story-sun .scene-partner{width:12%;top:44%;left:60%}.story-flower .scene-main{width:22%;top:11%;left:32%}.story-flower .scene-partner{width:20%;top:24%;left:50%}.scene-face{opacity:.95}.scene-wing{transform-box:fill-box;transform-origin:20%}.celebration-copy{text-align:center;max-width:310px;margin:0 auto}.celebration-copy>span{color:#e9253a;letter-spacing:1.8px;margin-bottom:7px;font-size:10px;font-weight:700;display:block}.celebration-copy strong{overflow-wrap:break-word;font-size:15px;font-weight:650;line-height:1.7;display:block}.celebration-copy p{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin:7px 0 0;font-size:11px;line-height:1.5;overflow:hidden}.celebration-close{pointer-events:auto;width:44px;min-height:44px;color:var(--muted);border-radius:50%;place-items:center;display:grid;top:8px;right:8px;background:0 0!important;border:0!important;padding:0!important;position:absolute!important}.celebration-close:hover{color:#e9253a;background:var(--pale)!important}.celebration-close:focus-visible{outline-offset:-5px;outline:2px solid #e9253a}.celebration-particle{color:#ffbf24;opacity:0;width:12px;height:12px;position:absolute;top:43%;left:49%}.celebration-particle:nth-of-type(3n){color:#168ded}.celebration-particle:nth-of-type(3n+1){color:#e9253a}.celebration-particle svg{width:100%;height:100%;display:block}.celebration-motion-full{animation:.28s ease-out both story-arrival}.celebration-motion-full .scene-main{animation:2.5s cubic-bezier(.2,.7,.2,1) both story-meet-left}.celebration-motion-full .scene-partner{animation:2.5s cubic-bezier(.2,.7,.2,1) both story-meet-right}.celebration-motion-full .scene-love{animation:2.8s ease-out both story-love}.celebration-motion-full .scene-lid{animation:2.4s ease-in-out both story-open}.celebration-motion-full .chapter-bouquet .scene-character{animation-name:story-emerge}.celebration-motion-full .chapter-bouquet .scene-partner{animation-delay:.15s}.celebration-motion-full .chapter-cascade .scene-main{animation-name:story-page-left}.celebration-motion-full .chapter-cascade .scene-partner{animation-name:story-page-right}.celebration-motion-full .chapter-halo .scene-character{animation-name:story-medal}.celebration-motion-full .story-flower .scene-character,.celebration-motion-full .story-leaf .scene-character{animation-name:story-bloom}.celebration-motion-full .story-birds .scene-wing{animation:.4s ease-in-out 4 alternate story-wing}.celebration-motion-full .story-sun .scene-main{animation-name:story-sunrise}.celebration-motion-full .story-moon .scene-main{animation-name:story-moon-sway}.celebration-motion-full .celebration-particle{animation:1.4s ease-out both story-spark;animation-delay:calc(.66s + var(--particle-index) * 50ms)}.celebration-gallery-note{color:#8a6e75;margin:12px 0 20px;font-size:12px;line-height:1.8}.celebration-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.celebration-gallery-grid>button{border:1px solid var(--line);background:var(--canvas);border-radius:19px;flex-direction:column;align-items:center;min-width:0;padding:10px 8px 15px;transition:box-shadow .2s,border-color .2s;display:flex;box-shadow:0 3px 12px #81344604}.celebration-gallery-grid>button:hover:not(:disabled){border-color:#ff8291;box-shadow:0 5px 17px #e9253a0b}.celebration-gallery-grid>button:disabled{opacity:.4;cursor:default}.celebration-gallery-grid .celebration-art{aspect-ratio:320/180;width:100%;height:auto;margin:0}.celebration-gallery-grid button>span{color:var(--muted);margin-top:7px;font-size:10px;line-height:1.6}.celebration-gallery-grid .scene-character{filter:none}@keyframes story-arrival{0%{opacity:0;translate:0 14px;scale:.98}to{opacity:1;translate:0;scale:1}}@keyframes story-meet-left{0%{opacity:0;translate:-35px 8px;scale:.82}22%{opacity:1}45%{translate:7px -3px;rotate:3deg;scale:1.05}65%,to{translate:0;scale:1}}@keyframes story-meet-right{0%{opacity:0;translate:35px 8px;scale:.82}22%{opacity:1}45%{translate:-7px -3px;rotate:-3deg;scale:1.05}65%,to{translate:0;scale:1}}@keyframes story-love{0%,20%{opacity:0;translate:0 15px;scale:.3}45%{opacity:1;translate:0 -3px;scale:1.13}65%,to{opacity:1;translate:0;scale:1}}@keyframes story-open{0%,10%{transform:translate(0)rotate(0)}44%{transform:translate(-16px,-49px)rotate(-17deg)}70%,to{transform:translate(-11px,-43px)rotate(-12deg)}}@keyframes story-emerge{0%,13%{opacity:0;translate:0 51px;scale:.4}45%{opacity:1;translate:0 -8px;scale:1.08}70%,to{opacity:1;translate:0;scale:1}}@keyframes story-page-left{0%{opacity:0;translate:24px 35px;rotate:32deg;scale:.5}20%{opacity:1}50%{translate:-3px -7px;rotate:-22deg;scale:1.05}75%,to{translate:0;rotate:-15deg;scale:1}}@keyframes story-page-right{0%{opacity:0;translate:-24px 35px;rotate:-32deg;scale:.5}20%{opacity:1}50%{translate:3px -7px;rotate:22deg;scale:1.05}75%,to{translate:0;rotate:15deg;scale:1}}@keyframes story-medal{0%{opacity:0;rotate:-30deg;scale:.5}45%{opacity:1;rotate:5deg;scale:1.06}70%,to{opacity:1;rotate:0deg;scale:1}}@keyframes story-bloom{0%{opacity:0;translate:0 25px;scale:.18}20%{opacity:1}48%{translate:0 -4px;rotate:8deg;scale:1.09}72%,to{translate:0;scale:1}}@keyframes story-wing{0%{rotate:-12deg;scale:1 .8}to{rotate:20deg;scale:1 1.1}}@keyframes story-sunrise{0%{opacity:0;translate:0 45px;scale:.65}35%{opacity:1}60%{translate:0 -3px;scale:1.05}80%,to{translate:0;scale:1}}@keyframes story-moon-sway{0%{opacity:0;translate:-18px 5px;rotate:-20deg}20%{opacity:1}48%{translate:7px -3px;rotate:10deg}80%,to{translate:0;rotate:-12deg}}@keyframes story-spark{0%{opacity:0;translate:0;scale:.4}20%{opacity:.9}65%{opacity:.8}to{opacity:0;translate:var(--particle-x) var(--particle-y);rotate:70deg;scale:.8}}.celebration-motion-reduced,.celebration-motion-reduced *{transition:none!important;animation:none!important}.celebration-motion-reduced .celebration-particle{display:none}@media (width>=601px){.celebration-popup{bottom:26px}}@media (width<=360px){.celebration-popup{min-height:265px;padding:15px 16px 22px}.celebration-art{height:161px}.celebration-copy strong{font-size:14px}.celebration-gallery-grid{gap:8px}.celebration-gallery-grid>button{padding:8px 4px 12px}}@media (height<=540px){.celebration-popup{min-height:0;padding:10px 16px 15px;bottom:12px}.celebration-popup .celebration-art{width:230px;height:125px}.celebration-copy p{display:none}}@media (prefers-reduced-motion:reduce){.celebration-popup,.celebration-popup *{transition:none!important;animation:none!important}.celebration-particle{display:none!important}}.mascot-scene .scene-character{aspect-ratio:120/130;transform:none}.mascot-scene .scene-main{width:26%;top:22%;left:26%}.mascot-scene .scene-partner{width:32%;top:14%;left:49%}.mascot-scene.chapter-bouquet .scene-main{top:13%;left:27%}.mascot-scene.chapter-bouquet .scene-partner{top:5%;left:49%}.mascot-scene.chapter-cascade .scene-main{top:19%;left:20%}.mascot-scene.chapter-cascade .scene-partner{top:11%;left:54%}.mascot-scene.chapter-halo .scene-main{width:23%;top:25%;left:29%}.mascot-scene.chapter-halo .scene-partner{width:28%;top:17%;left:49%}.mascot-keepsake{width:11%;color:var(--celebration-color,#df9ba9);position:absolute;top:68%;left:46%}.mascot-keepsake svg{width:100%;display:block;overflow:visible}.mascot-scene .scene-love{width:6%;top:4%}.story-mascots>g>svg{width:120px;height:130px}.stay-map,.stay-journal{min-width:0;margin:20px 0}.stay-map{border:1px solid var(--line);background:#fffdf8;border-radius:20px;overflow:hidden}.stay-map-title,.stay-map-controls,.stay-map-legend,.stay-map-preview{padding:20px 24px}.stay-map-title,.stay-map-preview-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.stay-map h2,.stay-journal h2{margin:4px 0 8px;font-size:24px;line-height:1.4}.stay-map-title p{color:var(--muted);margin:4px 0}.stay-map-controls{align-items:end;gap:12px;padding-top:0;padding-bottom:10px;display:flex}.stay-map-controls label{flex:1;gap:6px;max-width:350px;font-size:12px;display:grid}.stay-map-controls select{width:100%;min-height:44px}.stay-map-caption{color:var(--muted);padding:0 24px;font-size:12px;line-height:1.8}.stay-map-scroll{overscroll-behavior:contain;border-block:1px solid var(--line);background:#f5f3ec;max-height:650px;overflow:auto}.stay-map-scroll svg{width:100%;min-width:1280px;max-width:none;height:auto;display:block}.stay-map-scroll svg.is-zoomed{min-width:1600px}.stay-map-region{fill:#9ba094;letter-spacing:4px;font-size:22px}.stay-map-landmark{fill:#866651;font-size:18px;font-weight:650}.stay-map-pin{cursor:pointer;outline:none}.stay-map-pin rect{fill:#fffdf8;stroke:#cccabc;stroke-width:1.4px}.stay-map-pin text{fill:#44473e;font-size:13px;font-weight:550}.stay-map-pin circle{fill:#bbb8ab}.stay-map-pin.is-shortlisted rect{stroke:#c38b50;fill:#fff3df}.stay-map-pin.is-shortlisted circle{fill:#b47c45}.stay-map-pin.is-stayed rect{fill:#e4f1e9;stroke:#39836f}.stay-map-pin.is-stayed circle{fill:#39836f}.stay-map-pin.is-selected rect,.stay-map-pin:focus-visible rect{stroke:#364f49;stroke-width:3.5px;fill:#fff}.stay-map-pin:hover rect{stroke-width:3px}.stay-map-legend{flex-wrap:wrap;gap:12px;padding-block:12px;font-size:12px;display:flex}.stay-map-legend .shortlisted{color:#a6753b}.stay-map-legend .stayed{color:#327c65}.stay-map-legend small{margin-left:auto}.stay-map-preview{border-top:1px solid var(--line)}.stay-map-preview-head h3{margin:4px 0 12px;font-size:23px}.stay-map-preview-head h3 small{font-size:12px;font-weight:400}.stay-map-routes{grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0;display:grid}.stay-map-routes>div{background:#f3f2eb;border-radius:12px;gap:8px;padding:12px;display:grid}.stay-map-routes strong{font-size:20px}.stay-map-routes span,.stay-map-routes a{font-size:12px}.stay-map-routes a{align-items:center;gap:3px;display:flex}.stay-station-journey{border:1px solid var(--line);border-radius:12px;margin:12px 0;padding:13px 16px;font-size:13px}.stay-station-journey summary{cursor:pointer;line-height:1.8}.stay-station-journey summary small{color:var(--muted);display:block}.stay-station-journey ol{gap:0;padding:16px 0;list-style:none;display:flex;overflow:auto}.stay-station-journey li{border-top:3px solid #a8c4bb;flex:none;padding:14px 18px 0;position:relative}.stay-station-journey li:before{content:"";background:#5c8c7c;border-radius:50%;width:9px;height:9px;position:absolute;top:-6px;left:50%}.stay-main-tabs{gap:8px;margin:22px 0;display:flex}.stay-main-tabs button[aria-pressed=true]{background:var(--ink);color:#fff}.stay-catalog-entry{background:#f5f8f2;border:1px dashed #bbc7ba;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;margin:16px 0;padding:18px;display:flex}.stay-catalog-entry p{color:var(--muted);margin:5px 0 0;font-size:12px;line-height:1.7}.stay-journal-card{border:1px solid var(--line);background:#fff;border-radius:16px;grid-template-columns:160px 1fr;gap:24px;margin:14px 0;padding:24px;display:grid}.stay-journal-date{color:#4e7768;font-size:14px}.stay-journal-date span{margin-top:6px;display:block}.stay-journal-card h3{margin:6px 0 10px}.stay-journal-note{white-space:pre-wrap;background:#f6f5ef;border-radius:8px;padding:10px;font-size:13px}.stay-workspace{min-width:0}.stay-catalog-entry button{flex-shrink:0}.stay-rail-count-note{color:var(--muted);display:block}.stay-route-transfers{color:#365348;background:#e4eae1;border-radius:6px;justify-self:start;padding:3px 7px;font-weight:600}.stay-search-explore,.stay-map-unlocated{border:1px solid var(--line);overflow-wrap:anywhere;background:#f9f9f3;border-radius:12px;margin:12px 0 20px;padding:18px 20px}.stay-search-explore p,.stay-map-unlocated p{color:var(--muted);margin:6px 0 12px;font-size:12px;line-height:1.8}.stay-search-links,.stay-search-results,.stay-map-unlocated>div{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.stay-search-links a{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;gap:5px;min-height:44px;padding:10px 12px;font-size:13px;display:inline-flex}.stay-search-links a svg{flex-shrink:0}.stay-search-results{margin-bottom:18px;font-size:13px}.stay-search-results span{margin-right:auto}.stay-map-unlocated{margin:16px}.stay-map-unlocated button[aria-pressed=true]{background:#e4f1e9;border-color:#39836f}@media (width<=600px){.stay-map-title,.stay-map-controls,.stay-map-preview{padding:16px}.stay-map h2,.stay-journal h2{font-size:20px}.stay-map-caption{padding:0 16px}.stay-map-scroll{max-height:470px}.stay-map-preview-head{flex-direction:column;align-items:start}.stay-map-routes{grid-template-columns:repeat(2,1fr)}.stay-map-title>svg{display:none}.stay-journal-card{grid-template-columns:1fr;gap:10px;padding:18px}.stay-catalog-entry{flex-direction:column;align-items:stretch}.stay-main-tabs button{flex:1}.stay-map-legend{padding:12px;font-size:11px}}.stay-page{--stay-muted:var(--muted);min-width:0}.stay-page h1{letter-spacing:-.045em;font-size:clamp(25px,3vw,34px);line-height:1.35}.stay-page h2{margin:0;font-size:19px;line-height:1.5}.stay-page h3{margin:0 0 14px;font-size:15px}.stay-page p{line-height:1.75}.stay-page small,.stay-table small{color:var(--muted);font-size:12px;font-weight:400;line-height:1.6;display:block}.stay-page .stay-back{margin-bottom:22px}.stay-heading{justify-content:space-between;align-items:center;gap:20px;margin:0 0 24px;display:flex}.stay-heading>div{min-width:0}.stay-heading p{color:var(--muted);margin:8px 0 0;font-size:14px}.stay-heading .stay-eyebrow{letter-spacing:.04em;margin:0 0 6px;font-size:12px;font-weight:600}.stay-heading-icon{color:var(--red);flex-shrink:0}.stay-entry{background:var(--pale);border:1px solid color-mix(in srgb, var(--red) 16%, var(--line));text-align:left;width:100%;color:var(--ink);border-radius:16px;align-items:center;gap:14px;margin:0 0 24px;padding:18px 20px;display:flex}.stay-entry>span{flex:1;min-width:0}.stay-entry>svg{color:var(--red);flex-shrink:0}.stay-entry strong{font-size:15px;display:block}.stay-entry small{color:var(--muted);margin-top:4px;font-size:12px;display:block}.stay-workspace{border:0;min-width:0;margin:0;padding:0}.stay-save-bar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding:14px 0 22px;font-size:13px;display:flex}.stay-save-bar>span{min-width:0;color:var(--muted)}.stay-save-bar button{flex-shrink:0}.stay-criteria-summary{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:0 0 24px;display:flex}.stay-criteria-summary p{margin:6px 0;font-size:14px}.stay-criteria-summary button{flex-shrink:0}.stay-toolbar{grid-template-columns:minmax(0,1fr) 150px auto;align-items:end;gap:12px;margin:24px 0 20px;display:grid}.stay-field{gap:7px;min-width:0;margin:0;font-size:13px;font-weight:550;display:grid}.stay-field :is(input,select,textarea){width:100%;min-width:0;max-width:100%;font:inherit;box-sizing:border-box;min-height:44px;font-size:16px;font-weight:400}.stay-field textarea{resize:vertical;min-height:90px}.stay-field-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.stay-form{gap:18px;min-width:0;display:grid}.stay-form h3{margin:8px 0 0}.stay-form p{margin:0;font-size:14px;line-height:1.75}.stay-form>button{min-height:46px}.stay-list-heading{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:10px;font-size:13px;display:flex}.stay-segment{border:1px solid var(--line);border-radius:12px;gap:3px;padding:3px;display:flex}.stay-segment button{background:0 0;border:0;min-height:38px;padding:6px 14px}.stay-segment button[aria-pressed=true]{color:var(--red);background:var(--pale)}.stay-area-row{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:20px 0;display:flex}.stay-compare-check{cursor:pointer;justify-content:center;align-self:stretch;align-items:center;min-width:28px;display:flex}.stay-page input[type=checkbox],.stay-page input[type=radio]{width:18px;height:18px;min-height:18px;accent-color:var(--red);flex-shrink:0;margin:0}.stay-area-open{text-align:left;min-width:0;color:var(--ink);box-shadow:none;background:0 0;border:0;border-radius:0;flex:1;grid-template-columns:minmax(130px,1.2fr) minmax(100px,1fr) minmax(125px,1.1fr) 92px 18px;align-items:center;gap:18px;padding:4px 0;display:grid}.stay-area-open:hover{color:var(--red);background:0 0}.stay-area-open>div{min-width:0}.stay-area-name h2{margin:7px 0 4px;font-size:21px}.stay-area-name>span:last-child{color:var(--muted);font-size:12px}.stay-decision{color:var(--muted);font-size:11px;font-weight:550}.stay-decision.shortlisted{color:var(--red)}.stay-decision.on_hold{color:var(--muted)}.stay-area-access{gap:8px;font-size:15px;display:grid}.stay-area-access span{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.stay-area-score>strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:22px}.stay-area-score>strong small{display:inline}.stay-area-rent{font-variant-numeric:tabular-nums;font-size:15px}.stay-score-caption{margin-top:18px}.stay-caution{color:#925719!important}.stay-comparison-bar{background:var(--canvas);border-top:1px solid var(--line);z-index:3;justify-content:flex-end;align-items:center;gap:12px;padding:16px 0;display:flex;position:sticky;bottom:0}.stay-comparison-bar>span{margin-right:auto;font-size:13px}.stay-empty{text-align:center;color:var(--muted);padding:48px 20px}.stay-empty h2{color:var(--ink);margin:16px 0 8px}.stay-empty .actions{justify-content:center}.stay-empty.compact{background:var(--surface);border-radius:12px;padding:22px}.stay-area-actions{grid-template-columns:1fr 1fr;gap:16px;max-width:600px;display:grid}.stay-section{border-top:1px solid var(--line);margin-top:32px;padding-top:26px}.stay-section>header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:22px;display:flex}.stay-section>header h2{align-items:center;gap:8px;display:flex}.stay-facts,.stay-safety{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;display:grid}.stay-facts dl,.stay-sources dl,.stay-review dl{margin:0}.stay-facts dl>div,.stay-sources dl>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:12px 0;font-size:14px;display:flex}.stay-page dd{text-align:right;min-width:0;margin:0}.stay-page dt{color:var(--muted);flex-shrink:0}.stay-safety{padding:24px 0}.stay-safety p{margin:8px 0;font-size:14px}.stay-sources{border-block:1px solid var(--line);padding:14px 0}.stay-sources summary{cursor:pointer;min-height:32px;font-size:14px}.stay-sources a{align-items:center;gap:4px;font-size:14px;display:inline-flex}.stay-sources>div{padding:16px 0}.stay-lodging{border-bottom:1px solid var(--line);padding:22px 0}.stay-lodging-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.stay-lodging-head label{align-items:center;gap:12px;min-width:0;display:flex}.stay-lodging-head a{white-space:nowrap;gap:4px;font-size:13px;display:inline-flex}.stay-lodging-facts{grid-template-columns:1fr 1fr;gap:16px;margin:8px 0;display:grid}.stay-lodging-facts p{margin:6px 0;font-size:14px}.stay-lodging-facts strong{font-size:21px}.stay-lodging>p{overflow-wrap:anywhere;white-space:pre-wrap;font-size:14px}.stay-history{border-bottom:1px solid var(--line);padding:16px 0 24px}.stay-history>button{margin:0 8px 8px 0}.stay-history>p{color:var(--muted);font-size:14px}.stay-review{padding:16px 0 0}.stay-review strong{font-size:14px}.stay-review dl>div{grid-template-columns:60px minmax(0,1fr);gap:14px;margin:12px 0;font-size:13px;display:grid}.stay-review dd{text-align:left;white-space:pre-wrap;overflow-wrap:anywhere}.stay-conflict{border:1px solid var(--red);border-radius:12px;margin-bottom:20px;padding:20px}.stay-conflict pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:180px;font-size:12px;overflow:auto}.stay-conflict fieldset{min-width:0;margin:16px 0}.stay-comparison-sheet{width:min(980px,100vw - 32px);max-width:980px}.stay-table-scroll{border:1px solid var(--line);border-radius:12px;max-width:100%;overflow:auto}.stay-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:500px;font-size:14px}.stay-table th,.stay-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;overflow-wrap:anywhere;padding:16px}.stay-table th{background:var(--surface);font-weight:600}.stay-table thead th{font-size:16px}.stay-table td small{margin-top:4px}.stay-area-open{grid-template-columns:minmax(130px,.85fr) minmax(155px,1fr) minmax(220px,1.5fr);align-items:start;gap:12px 24px}.stay-area-name{grid-area:1/1}.stay-rail-access{overflow-wrap:anywhere;min-width:0;font-size:12px;line-height:1.7}.stay-rail-title{color:var(--muted);align-items:center;gap:6px;display:flex}.stay-rail-station{margin-top:5px}.stay-rail-station>span{color:var(--ink);display:block}.stay-area-open>.stay-rail-access{grid-area:2/1}.stay-area-access{grid-area:1/2/3}.stay-area-access>span{align-items:start}.stay-area-access strong{text-align:right;white-space:nowrap}.stay-area-access .stay-family-access{border-top:1px dashed var(--line);padding-top:8px}.stay-rent-options{grid-area:1/3/3;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.stay-rent-option{overflow-wrap:anywhere;min-width:0}.stay-rent-option>strong{font-size:13px;display:block}.stay-rent-option>strong small{display:inline}.stay-rent-value{font-variant-numeric:tabular-nums;margin:8px 0;font-size:16px;font-weight:550}.stay-family-warning{color:#885217;background:#fff5e5;border-radius:10px;grid-column:1/-1;padding:9px 12px;font-size:12px}.stay-family-warning small{color:#885217}.stay-area-open>svg{display:none}.stay-area-actions{margin-top:20px}@media (width<=700px){.stay-heading-icon{display:none}.stay-heading p{font-size:13px}.stay-save-bar{gap:10px;padding:0 0 18px;display:grid}.stay-save-bar button{width:100%}.stay-criteria-summary{display:block}.stay-criteria-summary button{margin-top:12px}.stay-toolbar{grid-template-columns:minmax(0,1fr) auto}.stay-toolbar>.stay-field:first-child{grid-column:1/-1}.stay-area-row{align-items:flex-start;gap:8px;padding:20px 0}.stay-compare-check{align-self:auto;min-height:44px}.stay-area-open{grid-template-columns:minmax(0,1fr);gap:16px}.stay-area-name{grid-area:1/1}.stay-area-name h2{font-size:23px}.stay-area-open>.stay-rail-access{grid-area:2/1}.stay-area-access{grid-area:3/1;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}.stay-area-access>span{display:block}.stay-area-access strong{text-align:left;display:block}.stay-area-access strong small{margin-left:6px;display:inline}.stay-rent-options{border-top:1px dashed var(--line);grid-area:4/1;padding-top:12px}.stay-family-warning{grid-area:5/1}.stay-list-heading{flex-wrap:wrap;gap:12px}.stay-facts,.stay-safety{grid-template-columns:1fr;gap:24px}.stay-area-actions{grid-template-columns:1fr}.stay-section{margin-top:28px;padding-top:22px}.stay-section>header h2{font-size:18px}.stay-lodging-head{flex-wrap:wrap;align-items:flex-start;gap:8px}.stay-lodging-facts{grid-template-columns:1fr;gap:0}.stay-comparison-bar{bottom:calc(74px + env(safe-area-inset-bottom));gap:8px}.stay-comparison-bar button{font-size:13px}.stay-entry{margin-bottom:20px;padding:16px}}@media (width<=380px){.stay-field-pair{grid-template-columns:1fr}}.stay-family-warning.is-long{color:#a12d3d;background:#fff0f2}.stay-family-warning.is-long small,.stay-long-access{color:#a12d3d}@media (width>=701px) and (width<=1100px){.stay-area-open{grid-template-columns:minmax(0,1fr) minmax(160px,1fr)}.stay-rent-options{border-top:1px dashed var(--line);grid-area:3/1/auto/-1;padding-top:12px}}.stay-housing-summary{border:1px solid var(--line);background:var(--surface);border-radius:16px;margin:18px 0 22px;padding:18px 20px}.stay-housing-summary p{margin:8px 0}.stay-housing-summary small,.stay-housing-summary .caption{color:var(--muted)}.stay-housing-summary details{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.stay-housing-summary summary{cursor:pointer;font-weight:600}.stay-housing-note{white-space:pre-wrap;overflow-wrap:anywhere}.stay-rent-basis{font-size:11px;line-height:1.5}.stay-view-options{flex-wrap:wrap;align-items:end;gap:12px;margin:12px 0 18px;display:flex}.stay-view-options>.stay-field{flex:250px;max-width:390px}.stay-view-options>small{color:var(--muted);flex-basis:100%;font-size:12px}.stay-column-options{flex-wrap:wrap;align-self:center;gap:12px;display:flex}.stay-column-options label{align-items:center;gap:6px;min-height:36px;font-size:13px;display:flex}.stay-column-options input,.stay-table-area>input{width:18px;height:18px;accent-color:var(--accent);flex-shrink:0}.stay-overview-scroll{border:1px solid var(--line);isolation:isolate;border-radius:14px;width:100%;max-width:100%;max-height:70vh;overflow:auto}.stay-overview-table{border-collapse:separate;border-spacing:0;text-align:left;width:100%;font-size:13px}.stay-overview-table caption{text-align:left;color:var(--muted);caption-side:bottom;padding:12px 16px;font-size:12px}.stay-overview-table th,.stay-overview-table td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);vertical-align:top;background:var(--canvas,#fff);min-width:132px;padding:14px}.stay-overview-table thead th{z-index:2;background:var(--surface,#f5f6f9);vertical-align:middle;position:sticky;top:0}.stay-overview-table thead button{box-shadow:none;text-align:left;color:inherit;background:0 0;border:0;min-height:40px;padding:0;font-size:12px;font-weight:600}.stay-overview-table th:first-child{z-index:1;min-width:180px;max-width:220px;position:sticky;left:0;box-shadow:2px 0 4px #00000006}.stay-overview-table thead th:first-child{z-index:3}.stay-overview-table small{color:var(--muted);margin-top:6px;font-size:11px;font-weight:400;line-height:1.5;display:block}.stay-table-area{align-items:start;gap:10px;display:flex}.stay-table-area>input{margin-top:9px}.stay-table-open{box-shadow:none;text-align:left;background:0 0;border:0;min-height:32px;padding:3px 0;font-size:15px;font-weight:700}.stay-table-warning{color:#885217;background:#fff5e5;border-radius:7px;margin-top:8px;padding:5px 7px;font-size:11px;font-weight:500;display:block}.stay-table-warning.is-long{color:#a12d3d;background:#fff0f2}@media (width<=700px){.stay-housing-summary{padding:15px}.stay-view-options>.stay-field{flex-basis:180px;min-width:0}.stay-overview-table th:first-child{min-width:142px;max-width:160px}.stay-overview-table th,.stay-overview-table td{padding:11px}.stay-overview-scroll{max-height:65vh}}.stay-values-entry{text-align:left;border:1px solid var(--line);background:var(--canvas);border-radius:16px;justify-content:space-between;align-items:center;gap:12px;width:100%;margin:8px 0 20px;padding:18px 20px;display:flex}.stay-values-entry span{gap:5px;min-width:0;display:grid}.stay-values-entry small{color:var(--muted);font-weight:400;line-height:1.6}.stay-values-entry svg{flex-shrink:0}.stay-priorities-sheet{max-width:860px}.stay-priority-list{gap:10px;padding:0;list-style:none;display:grid}.stay-priority-card{border:1px solid var(--line);background:var(--canvas);cursor:grab;border-radius:14px;align-items:center;gap:10px;padding:14px 10px;display:flex}.stay-priority-card>svg{color:var(--muted);flex-shrink:0}.stay-priority-rank{color:var(--red);min-width:22px;font-weight:750}.stay-priority-copy{flex:1;min-width:0}.stay-priority-copy strong{font-size:14px;line-height:1.5}.stay-priority-copy label{align-items:center;gap:5px;min-height:28px;margin-top:6px;font-size:12px;display:flex}.stay-priority-copy input{width:17px;height:17px}.stay-priority-move{flex-direction:column;gap:3px;display:flex}.stay-priority-move button{place-items:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;display:grid}.stay-priority-columns{grid-template-columns:1fr 1fr;gap:14px;margin-top:20px;display:grid}.stay-priority-columns section{min-width:0}.stay-priority-columns h3{overflow-wrap:anywhere;font-size:15px}.stay-priority-columns ol{gap:10px;padding:0;list-style:none;display:grid}.stay-priority-columns li{border:1px solid var(--line);border-radius:12px;grid-template-columns:20px 1fr;align-content:start;gap:5px;min-height:95px;padding:12px;font-size:13px;display:grid}.stay-priority-columns li>span{color:var(--red);font-weight:700}.stay-priority-columns li>small{color:var(--red);grid-column:2}.stay-priority-note{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}.stay-priorities-sheet>p{line-height:1.7}@media (width<=420px){.stay-priority-card{gap:6px;padding:10px 6px}.stay-priority-columns{gap:8px}.stay-priority-columns li{grid-template-columns:15px 1fr;min-height:110px;padding:10px 8px}.stay-priority-card>svg{display:none}}.stay-station-search{background:#f4faf6;border:1px solid #cbded5;border-radius:18px;min-width:0;margin:12px 0 16px;padding:20px}.stay-station-search-heading{justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px;display:flex}.stay-station-search-heading strong{align-items:center;gap:8px;font-size:17px;display:flex}.stay-station-search-heading>span{color:#526b61;font-size:12px}.stay-station-search-form{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.stay-station-search-form input{background:#fff;border-radius:12px;min-height:48px}.stay-station-search-form button{border-radius:12px;justify-content:center;min-width:88px;min-height:48px}.stay-station-search p{overflow-wrap:anywhere;margin:10px 0;font-size:14px;line-height:1.7}.stay-station-search .stay-station-hint{color:#53665e;margin:8px 0 12px;font-size:12px}.stay-station-results{gap:12px;margin:12px 0;padding:0;list-style:none;display:grid}.stay-station-results>li{background:#fff;border:1px solid #dfe8e2;border-radius:14px;justify-content:space-between;align-items:center;gap:20px;min-width:0;padding:18px;display:flex}.stay-station-result-content{flex:1;min-width:0}.stay-station-result-title{grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;margin-bottom:12px;display:grid}.stay-station-result-title>strong{overflow-wrap:anywhere;font-size:21px;line-height:1.4}.stay-station-result-title>span{color:#59665f;grid-row:2;font-size:13px}.stay-station-result-title>b{color:#34584a;white-space:nowrap;background:#eaf4ed;border-radius:10px;grid-area:1/2/3;align-self:center;padding:5px 10px;font-size:22px}.stay-station-result-title>b small{margin-left:4px;font-size:12px}.stay-rail-chips{flex-wrap:wrap;gap:6px;min-width:0;margin-top:5px;display:flex}.stay-rail-chips>span{color:#34483e;overflow-wrap:anywhere;background:#f5f8f5;border:1px solid #dce5df;border-radius:7px;max-width:100%;padding:4px 8px;font-size:13px;line-height:1.6;display:inline-block}.stay-station-result-actions{flex-shrink:0;align-items:center;gap:12px;display:flex}.stay-station-result-actions>:is(a,button){justify-content:center;align-items:center;min-height:44px;font-size:14px;display:inline-flex}.stay-station-result-actions>a{padding:6px 8px}.stay-station-credit{color:#53665e;flex-wrap:wrap;align-items:baseline;gap:2px 14px;font-size:12px;display:flex}.stay-station-credit small{font-size:12px}.stay-station-credit details{border:0;margin:0;padding:0}.stay-station-credit summary{cursor:pointer;align-content:center;min-height:44px}.stay-station-location{color:var(--muted);font-size:13px;line-height:1.8}.stay-candidate-toolbar{grid-template-columns:minmax(0,1fr) auto;margin:12px 0}.stay-candidate-toolbar>.stay-field:first-child{grid-column:auto}.stay-candidate-toolbar select{min-height:44px}.stay-search-explore{margin:12px 0;padding:0 16px}.stay-search-explore>summary,.stay-card-route-links>summary{cursor:pointer;min-height:48px;padding:12px 0;font-size:14px;font-weight:600}.stay-search-explore-content{padding:4px 0 16px}.stay-planning-options{border:1px solid var(--line);border-radius:14px;margin:16px 0;padding:0 16px}.stay-planning-options>summary{cursor:pointer;padding:14px 0;font-size:14px;font-weight:600}.stay-planning-options>summary small{color:var(--muted);padding-top:4px;font-weight:400;display:block}.stay-planning-content{padding:14px 0 4px}.stay-card-station-tools{width:100%;padding:0 0 12px 36px}.stay-area-row{flex-wrap:wrap}.stay-area-row>.stay-area-open{flex-basis:calc(100% - 42px)}.stay-card-route-links .stay-search-links{padding-bottom:10px}.stay-table-map-link,.stay-table-route-link{align-items:center;min-height:44px;font-size:13px;display:inline-flex}.stay-overview-table .stay-station-journey{padding:10px;font-size:12px}.stay-overview-table .stay-route-transfers{color:#365348;display:table}.stay-overview-table td:has(.stay-rail-access){min-width:240px}.stay-station-meta{color:var(--muted);margin-bottom:6px;font-size:13px;display:block}@media (width<=700px){.stay-area-access strong small{margin:4px 0 0;display:block}.stay-save-bar{gap:10px;margin-bottom:16px;padding:8px 0 14px;display:flex}.stay-save-bar button{width:auto;min-height:44px;font-size:12px}.stay-station-search{margin-top:12px;padding:14px}.stay-station-search-heading{flex-direction:column;align-items:start;gap:4px}.stay-station-search-heading strong{font-size:16px}.stay-station-search-form button{min-width:72px;padding-inline:10px}.stay-station-results>li{flex-direction:column;align-items:stretch;gap:14px;padding:14px}.stay-station-result-actions{grid-template-columns:1fr 1.3fr;gap:8px;display:grid}.stay-station-result-actions>button{width:100%;min-width:0}.stay-map-routes{gap:8px}.stay-map-routes>div{min-width:0;padding:12px 10px}.stay-map-routes span{overflow-wrap:anywhere;font-size:13px}.stay-map-routes a{min-height:44px;font-size:13px}.stay-map-preview-head>button{width:100%}.stay-map-preview .stay-rail-title{color:var(--ink);font-size:14px;font-weight:600}.stay-rail-station>small{font-size:13px}.stay-station-journey summary{align-content:center;min-height:44px}.stay-card-station-tools{padding-left:0}.stay-area-open>.stay-rail-access{font-size:13px}.stay-area-access>span{min-width:0;padding:10px}.stay-area-access>span>small{overflow-wrap:anywhere;font-size:13px}.stay-area-access strong small{margin-top:5px;font-size:12px}.stay-overview-table th:first-child{min-width:122px;max-width:140px}.stay-table-area{gap:6px}.stay-overview-table th,.stay-overview-table td{padding:10px}.stay-overview-table td:has(.stay-rail-access){min-width:210px}}.prizes-page{gap:24px;min-width:0;display:grid}.prizes-page .home-wishes-heading h1{font-size:clamp(22px,4vw,30px)}.prize-switch{margin:14px 0 6px}.prize-switch button{flex:1}.prize-intro{color:var(--muted);margin:12px 0 4px;font-size:13px;line-height:1.85}.prize-count{align-items:baseline;gap:8px;margin:14px 0 4px;display:flex}.prize-count strong{color:var(--red);letter-spacing:-.05em;font-size:34px;font-weight:800;line-height:1.1}.prize-count span{color:var(--muted);font-size:13px}.badge-shelf.milestone-gallery{padding-top:4px}.shared-stamp-pending{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 10px;margin:16px 0 0;font-size:12px;display:flex}.shared-stamp-pending strong{color:var(--text)}.shared-stamp-pending .text-button{padding:4px 0;font-size:12px}.shared-stamp-slot{border:1px dashed color-mix(in srgb, var(--muted) 35%, var(--line));opacity:.85;border-radius:18px;flex-direction:column;align-items:center;gap:4px;min-width:0;padding:15px 7px 13px;display:flex}.shared-stamp-slot .shared-stamp-imprint.is-waiting{color:color-mix(in srgb, var(--muted) 60%, transparent)}.shared-stamp-first{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 10px;margin:16px 0 0;font-size:13px;display:flex}.prizes-page>.home-wishes-heading{align-items:flex-start;gap:16px;margin:0}.prizes-page>.reward-goals,.prizes-page.wishes-page>.prize-switch{margin:0}.prizes-page.wishes-page .prize-switch button{min-height:44px}.prizes-page .badge-series{margin:24px 0}.badge-series .badge-series-toggle{min-height:44px;margin-top:16px}.badge-series .badge-series-hint{color:var(--muted);margin:8px 0 16px;font-size:12px;line-height:1.7}.prizes-page.wishes-page .badge-collection{grid-template-columns:repeat(auto-fit,minmax(min(100%,120px),1fr));gap:12px}.prizes-page .collection-badge{overflow-wrap:anywhere;min-width:0}.prizes-page .collection-badge>strong{font-size:26px}@media (width<=540px){.prizes-page{gap:20px}.prizes-page.wishes-page .badge-collection{grid-template-columns:repeat(2,minmax(0,1fr))}.badge-series .badge-series-toggle{width:100%}}.prizes-page .collection-badge>strong{overflow-wrap:anywhere;max-width:100%}.reward-goals{background:color-mix(in srgb, var(--red) 3%, var(--canvas));border:1px solid var(--line);border-radius:24px;margin:20px 0 30px;padding:clamp(16px,3vw,28px)}.reward-goals>header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.reward-goals h2{margin:5px 0 0;font-size:clamp(19px,2vw,24px)}.reward-goals>header button{align-items:center;gap:6px;display:flex}.reward-totals{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:12px;display:grid}.reward-totals>div{background:var(--canvas);border-radius:16px;flex-direction:column;gap:6px;padding:16px;display:flex}.reward-totals strong{overflow-wrap:anywhere;min-width:0;max-width:100%;color:var(--ink);flex-wrap:wrap;align-items:baseline;gap:4px;font-size:32px;font-weight:600;display:flex}.reward-totals small{margin-left:6px;font-size:13px}.reward-totals b{color:#b9a299;font-size:20px;font-weight:400}.reward-goal-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px;margin-top:20px;display:grid}.reward-goal{background:var(--canvas);border:1px solid var(--line);overflow-wrap:anywhere;border-radius:18px;min-width:0;padding:20px}.reward-goal.is-achieved{background:color-mix(in srgb, #c39559 6%, var(--canvas));border-color:#c39559}.reward-goal-condition{color:var(--muted);margin-top:0;font-size:13px}.reward-goal h3{align-items:flex-start;gap:10px;font-size:18px;line-height:1.6;display:flex}.reward-goal h3 svg{flex-shrink:0;margin-top:4px}.reward-goal progress{accent-color:#b88b54;width:100%;height:8px}.reward-progress{flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:13px;display:flex}.reward-goal-actions{border-top:1px solid var(--line);flex-wrap:wrap;gap:8px;margin-top:16px;padding-top:12px;display:flex}.reward-goal-actions button{min-height:44px;font-size:13px}.reward-empty{padding:20px 0;line-height:1.8}.reward-goals details{margin-top:16px}@media (width<=540px){.reward-totals{grid-template-columns:1fr}.reward-goal,.reward-goals{padding:16px}.reward-goals>header button{justify-content:center;width:100%;min-height:44px}}.reward-goals>.muted{margin:14px 0 20px;line-height:1.8}.reward-goal-grid:empty{display:none}.reward-goals>details>summary{cursor:pointer;min-height:44px;padding:10px 0}.reward-presets{gap:8px;margin:0 0 20px;display:flex}.reward-presets button{flex:1;min-height:44px}.reward-presets button[aria-pressed=true]{border-color:var(--red);background:color-mix(in srgb, var(--red) 8%, var(--canvas))}.experience-stamp-counts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;margin:14px 0;font-size:12px;display:grid}.experience-stamp-counts>div{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:4px;min-width:0;padding:7px 0;display:flex}.experience-stamp-counts dt{color:var(--muted)}.experience-stamp-counts dd{font-variant-numeric:tabular-nums;margin:0;font-weight:700}.experience-stamp-kind{color:var(--muted);font-size:10px;line-height:1.5}.experience-stamp-counts dt,.experience-stamp-counts dd,.experience-stamp-kind{overflow-wrap:anywhere;max-width:100%}.shared-wish-stamp>strong,.shared-wish-stamp time,.shared-stamp-date-missing{overflow-wrap:anywhere;min-width:0;max-width:100%}.anniversaries-page{min-width:0}.anniversaries-page>section{margin-top:22px}.anniversaries-page h2{margin:0 0 10px;font-size:15px}.anniversaries-page h2 small{color:var(--muted);margin-left:8px;font-size:12px;font-weight:600}.anniversaries-subhead{justify-content:space-between;align-items:center;gap:10px;display:flex}.anniversaries-subhead h2{margin:0}.anniversaries-subhead .text-button{white-space:nowrap;padding-right:0;font-size:12px}.anniversary-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.anniversary-row{border:1px solid var(--line);background:var(--canvas);text-align:left;width:100%;color:inherit;border-radius:16px;align-items:center;gap:12px;padding:13px 14px;display:flex}.anniversary-row.today{border-color:var(--red);background:color-mix(in srgb, var(--red), transparent 94%)}.anniversary-row>svg:first-child{color:#8763bc;flex-shrink:0}.anniversary-row>svg:last-child{color:var(--muted);flex-shrink:0}.anniversary-main{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.anniversary-main strong{font-size:15px;line-height:1.45}.anniversary-main small,.anniversary-next small{color:var(--muted);font-size:11px}.anniversary-next{text-align:right;flex-direction:column;flex-shrink:0;align-items:flex-end;gap:2px;display:flex}.anniversary-next strong{color:var(--red);white-space:nowrap;font-size:13px}.anniversaries-empty{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 10px;margin:0;font-size:13px;display:flex}.anniversaries-empty .text-button{padding:4px 0}.occasions-link{color:#6a4a9c;background:#8763bc12;border:1px solid #8763bc66;border-radius:999px;align-items:center;gap:6px;min-height:40px;margin:10px 0 2px;padding:6px 14px;font-size:13px;font-weight:650;display:inline-flex}.calendar-record-talk{align-items:center;gap:6px;display:inline-flex}.calendar-record-talk .unread-dot{width:9px;height:9px;margin-left:2px}.event-when{color:var(--muted);align-items:center;gap:6px;margin:0 0 8px;font-size:13px;display:flex}.event-note{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 12px;font-size:14px;line-height:1.8}.event-actions{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.event-actions button{align-items:center;gap:5px;display:inline-flex}.event-memory{margin-bottom:16px}.event-memory-head{justify-content:space-between;align-items:center;gap:10px;margin:0 0 8px;display:flex}.event-memory h3{align-items:center;gap:6px;margin:0;font-size:15px;display:flex}.event-memory-head .text-button{padding-right:0;font-size:12px}.event-memory-body{gap:10px;display:grid}.event-memory-body .event-note{margin:0}.event-photo-strip{background:0 0;border:0;flex-wrap:wrap;align-items:center;gap:6px;min-width:0;padding:0;display:flex}.event-photo-strip .photo-preview{border-radius:14px;width:72px;height:72px;overflow:hidden}.event-photo-strip .photo-preview img{object-fit:cover;width:100%;height:100%}.event-photo-strip>span{color:var(--muted);font-size:12px}.event-add-memory{border:1px dashed color-mix(in srgb, var(--red), transparent 45%);background:color-mix(in srgb, var(--red), transparent 95%);width:100%;min-height:52px;color:var(--red);border-radius:16px;justify-content:center;align-items:center;gap:6px;font-weight:650;display:flex}.event-talk-hint{margin:8px 0;font-size:13px}.timeline-marker{color:var(--muted);flex-shrink:0;margin-top:8px}.home-wishes-page,.wishes-page{min-width:0}.home-wishes-page .home-wishes-heading,.wishes-page .home-wishes-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:26px;display:flex}.home-wishes-page .home-wishes-heading h1,.wishes-page .home-wishes-heading h1{letter-spacing:-.055em;margin:0;font-size:clamp(28px,4vw,36px);font-weight:750}.home-wishes-page .home-wishes-date{color:var(--muted);margin:0 0 7px;font-size:13px;font-weight:550}.home-wishes-page .home-wishes-add,.wishes-page .home-wishes-add{border-radius:12px;flex-shrink:0;gap:5px;min-height:44px;padding:10px 14px;font-size:14px;font-weight:650}.home-wishes-page .home-wishes-counts{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr 1.1fr;gap:12px;margin-bottom:14px;padding:0 0 26px;display:grid}.home-wishes-page .home-wishes-counts button{text-align:left;background:0 0;border:0;border-radius:6px;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:4px;min-width:0;padding:6px 0;display:flex}.home-wishes-page .home-wishes-counts strong{color:var(--text);font-family:var(--mono,ui-monospace, monospace);letter-spacing:-.065em;overflow-wrap:break-word;font-size:clamp(25px,4.8vw,36px);font-weight:700;line-height:1.3}.home-wishes-page .home-wishes-counts button:first-child strong{color:var(--red)}.home-wishes-page .home-wishes-counts strong small{color:var(--muted);letter-spacing:0;margin-left:3px;font-family:inherit;font-size:12px;font-weight:500}.home-wishes-page .home-wishes-counts span{color:var(--muted);font-size:12px;line-height:1.4}.home-wishes-page .home-wishes-section-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;margin-bottom:5px;display:flex}.home-wishes-page .home-wishes-section-heading h2{font-size:19px;font-weight:700}.home-wishes-page .home-wishes-section-heading .text-button{padding-right:0;font-size:13px}.home-wishes-page .home-wishes-list,.wishes-page .home-wishes-list{min-width:0}.home-wishes-page .home-wishes-list .wish-card,.wishes-page .home-wishes-list .wish-card{border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;gap:15px;min-height:94px;padding:19px 0}.home-wishes-page .home-wishes-list .wish-card:last-child,.wishes-page .home-wishes-list .wish-card:last-child{border-bottom:0}.home-wishes-page .home-wishes-list .wish-copy strong,.wishes-page .home-wishes-list .wish-copy strong{letter-spacing:-.025em;font-size:18px;font-weight:650;line-height:1.45}.home-wishes-page .home-wishes-list .card-number{width:23px;min-width:23px;height:auto;font-family:var(--mono,ui-monospace, monospace);color:var(--muted);background:0 0;border-radius:0;align-self:flex-start;padding-top:3px;font-size:12px}.home-wishes-page .home-wishes-list .next-step,.wishes-page .home-wishes-list .next-step{font-size:13px;line-height:1.6}.home-wishes-page .home-wishes-list .card-arrow,.wishes-page .home-wishes-list .card-arrow{color:var(--muted)}.home-wishes-page .home-wishes-empty,.wishes-page .home-wishes-empty{padding:28px 0 20px}.home-wishes-page .home-wishes-empty h3,.wishes-page .home-wishes-empty h2{font-size:17px;font-weight:650;line-height:1.6}.home-wishes-page .home-wishes-empty p,.wishes-page .home-wishes-empty p{color:var(--muted);margin-top:7px;font-size:14px}.home-wishes-page .home-wishes-empty .text-button,.wishes-page .home-wishes-empty .text-button{margin-top:12px;padding-left:0;font-size:14px}.wishes-page .wishes-search{background:var(--surface);min-height:48px;color:var(--muted);border:1px solid #0000;border-radius:12px;align-items:center;padding-left:14px;display:flex}.wishes-page .wishes-search:focus-within{border-color:var(--red);box-shadow:0 0 0 3px color-mix(in srgb, var(--red) 16%, transparent)}.wishes-page .wishes-search input:focus-visible{outline:none}.wishes-page .wishes-search input{background:0 0;border:0;min-width:0;min-height:48px;padding:11px 10px;font-size:16px}.wishes-page .wishes-search .icon-button{flex-shrink:0}.wishes-page .wishes-search input::-webkit-search-cancel-button{display:none}.wishes-page .wishes-states{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:4px;margin:14px 0 16px;display:flex}.wishes-page .wishes-states button{color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:10px;font-size:13px;font-weight:550}.wishes-page .wishes-states button[aria-pressed=true]{color:var(--red);border-bottom-color:var(--red);font-weight:700}.wishes-page .wishes-tools{flex-wrap:wrap;align-items:center;gap:10px 20px;display:flex}.wishes-page .wishes-period{flex:185px;align-items:center;gap:10px;min-width:0;font-size:13px;display:flex}.wishes-page .wishes-period>span{color:var(--muted);flex-shrink:0}.wishes-page .wishes-period select{background:0 0;flex:1;width:auto;min-width:0;max-width:220px;font-size:16px}.wishes-page .wishes-sort{background:0 0;border:0;flex-shrink:0;align-items:center;gap:6px;padding:8px 0;font-size:13px;font-weight:550;display:inline-flex}.wishes-page .wishes-results-heading{min-height:44px;color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 12px;margin-top:18px;font-size:12px;display:flex}.wishes-page .wishes-results-heading strong{color:var(--text);font-family:var(--mono,ui-monospace, monospace);font-weight:650}.wishes-page .wishes-results-heading .text-button{padding-right:0;font-size:12px}.milestone-summary{border-top:1px solid var(--line);min-width:0;margin-top:28px;padding-top:20px}.milestone-summary .milestone-summary-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;display:flex}.milestone-summary .milestone-summary-heading h2{margin:0 0 3px;font-size:15px;font-weight:650}.milestone-summary .milestone-summary-heading p{color:var(--muted);font-size:12px}.milestone-summary .milestone-summary-heading strong{font-family:var(--mono,ui-monospace, monospace);font-weight:600}.milestone-summary .milestone-summary-heading .text-button{padding-right:0;font-size:12px}.milestone-summary .milestone-summary-progress{background:var(--line);border-radius:3px;height:3px;margin-top:13px;overflow:hidden}.milestone-summary .milestone-summary-progress>span{border-radius:inherit;background:var(--red);height:100%;transition:width .25s ease-out;display:block}.milestone-gallery .badge-series h3{flex-wrap:wrap}.milestone-gallery .collection-badge{background:var(--surface);border:0;border-radius:12px}.milestone-gallery .collection-badge>svg{max-width:64px}.milestone-gallery .collection-badge.locked{background:0 0}.milestone-gallery .badge-empty>svg{width:90px}@media (hover:hover){.home-wishes-page .home-wishes-counts button:hover strong,.home-wishes-page .home-wishes-list .wish-card:hover .card-arrow,.wishes-page .home-wishes-list .wish-card:hover .card-arrow{color:var(--red)}}@media (width<=420px){.home-wishes-page .home-wishes-counts{gap:9px}.home-wishes-page .home-wishes-counts strong{font-size:25px}.wishes-page .wishes-tools{gap:6px 12px}.wishes-page .wishes-sort{font-size:12px}.milestone-gallery .badge-collection{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.milestone-summary .milestone-summary-progress>span{transition:none}}:root[data-motion=reduced] .milestone-summary-progress>span,:root[data-motion=off] .milestone-summary-progress>span{transition:none}.wishes-page .home-wishes-heading{margin-bottom:12px}.wishes-page .wishes-states{flex-wrap:nowrap;gap:8px;margin:10px 0}.wishes-page .wishes-states button{white-space:nowrap;padding:8px 10px;font-size:12px}.wishes-page .fulfilled-view-switch{border-radius:12px;gap:4px;max-width:none;margin:0 0 10px;padding:3px}.wishes-page .fulfilled-view-switch button,.wishes-page .fulfilled-view-switch.wish-gallery-view-switch.wish-discovery-switch button{border-radius:9px;flex-direction:row;gap:4px;min-height:40px;padding:6px 4px;font-size:12px}.wishes-page .fulfilled-view-switch svg{width:15px;height:15px}.wishes-page .wish-tag-filter-compact{background:0 0;border:0;margin:0;padding:0}.wish-tag-filter-compact .wish-tag-options{scrollbar-width:thin;flex-wrap:nowrap;gap:8px;padding:2px 0 6px;overflow-x:auto}.wish-tag-filter-compact .wish-tag-options .wish-tag-choice{flex-shrink:0;min-height:36px;padding:6px 10px;font-size:12px}.wishes-page .wishes-results-heading{gap:4px 12px;margin-top:0}.wishes-page .wish-timing{border:0;margin:0 0 0 auto;padding:0;position:relative}.wish-timing>summary{cursor:pointer;align-items:center;gap:6px;min-height:36px;padding:0;font-size:12px;display:flex}.wish-timing>summary:after{content:"⌄"}.wish-timing>.wishes-tools{z-index:5;border:1px solid var(--line);background:var(--canvas);border-radius:16px;width:min(300px,100vw - 48px);padding:16px;position:absolute;top:100%;right:0;box-shadow:0 8px 24px #00000012}@media (width<=360px){.wishes-page .wishes-states button{padding-inline:8px}.wishes-page .fulfilled-view-switch button,.wishes-page .fulfilled-view-switch.wish-gallery-view-switch.wish-discovery-switch button{gap:3px;font-size:11px}.wishes-page .fulfilled-view-switch svg{width:13px;height:13px}}.home-wish-suggestion{border-bottom:1px solid var(--line);padding-bottom:18px}.home-wish-suggestion:last-child,.home-wishes-page .home-wish-suggestion .wish-card{border-bottom:0}.shared-stamp-page{min-width:0}.shared-stamp-page.wishes-page .home-wishes-heading h1{font-size:clamp(22px,4vw,30px)}.shared-stamp-cover{border:1.5px solid var(--red);background:var(--canvas);box-shadow:4px 5px 0 var(--pale);border-radius:27px;grid-template-columns:1fr auto;align-items:center;gap:16px;margin-top:27px;padding:24px 28px 20px;display:grid}.shared-stamp-cover-label{color:var(--red);font-size:12px;font-weight:650}.shared-stamp-cover p{align-items:baseline;gap:9px;margin:5px 0;display:flex}.shared-stamp-cover strong{color:var(--red);letter-spacing:-.06em;font-variant-numeric:tabular-nums;font-size:clamp(40px,8vw,56px);font-weight:800;line-height:1.1}.shared-stamp-cover p>span{color:var(--muted);font-size:15px;font-weight:600}.shared-stamp-cover-note{color:var(--muted);font-size:12px}.shared-stamp-cover>.joy-doodle{width:90px;color:var(--red);transform:rotate(9deg)}.shared-stamp-progress{background:var(--surface);border-radius:9px;grid-column:1/-1;width:100%;height:6px;overflow:hidden}.shared-stamp-progress>span{border-radius:inherit;background:var(--red);height:100%;display:block}.shared-stamp-legend{color:var(--muted);flex-wrap:wrap;gap:15px;padding:20px 0 4px;font-size:11px;display:flex}.shared-stamp-legend>span{align-items:center;gap:6px;display:flex}.shared-stamp-legend i{border-radius:50%;width:14px;height:14px;display:inline-block}.legend-unfulfilled{border:1px dashed var(--muted)}.legend-fulfilled{border:1px solid var(--red);background:var(--red)}.shared-stamp-search{margin-top:14px}.shared-stamp-sheet{border:1px solid var(--line);background:var(--canvas);border-radius:27px;margin-top:20px;padding:20px}.shared-stamp-sheet-heading{border-bottom:1px dashed var(--line);justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;padding-bottom:16px;display:flex}.shared-stamp-sheet-heading h2{margin:0;scroll-margin-top:24px;font-size:15px;line-height:1.7}.shared-stamp-sheet-heading>span{font-family:var(--mono);color:var(--muted);flex-shrink:0;font-size:11px}.shared-stamp-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:15px 7px;display:grid}.shared-wish-stamp{--stamp-ink:var(--red);background:var(--canvas);text-align:center;border:1px solid #0000;border-radius:18px;flex-direction:column;align-self:stretch;align-items:center;gap:4px;min-width:0;padding:15px 7px 13px;display:flex;position:relative}.shared-wish-stamp:nth-child(4n+2),.home-stamp-book-mini>.shared-stamp-imprint:nth-child(4n+2){--stamp-ink:var(--blue)}.shared-wish-stamp:nth-child(4n+3),.home-stamp-book-mini>.shared-stamp-imprint:nth-child(4n+3){--stamp-ink:var(--green)}.shared-wish-stamp:nth-child(4n+4),.home-stamp-book-mini>.shared-stamp-imprint:nth-child(4n+4){--stamp-ink:var(--purple)}.shared-stamp-number{color:var(--muted);font-size:10px;font-family:var(--mono);align-self:flex-start}.shared-stamp-imprint{color:var(--stamp-ink,var(--red));aspect-ratio:1;border:1.5px solid;border-radius:50%;place-items:center;width:88px;max-width:100%;margin:2px 0 10px;display:grid;position:relative;transform:rotate(-7deg)}.shared-stamp-imprint>.joy-doodle{width:83%}.shared-wish-stamp:nth-child(2n) .shared-stamp-imprint{transform:rotate(7deg)}.shared-stamp-imprint.is-inked{outline-offset:-6px;outline:1px solid}.shared-stamp-imprint.is-waiting{color:var(--muted);border-style:dashed;border-color:color-mix(in srgb, var(--muted) 50%, var(--line));transform:none}.shared-stamp-outline{opacity:.43;place-items:center;width:80%;display:grid}.shared-stamp-check{background:var(--canvas);width:19px;height:19px;color:var(--stamp-ink,var(--red));border:1px solid;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:1px;right:-3px}.shared-wish-stamp>strong{overflow-wrap:break-word;text-wrap:pretty;font-size:13px;font-weight:650;line-height:1.65}.shared-stamp-status{color:var(--muted);margin-top:5px;font-size:10px;line-height:1.5}.shared-wish-stamp.is-inked .shared-stamp-status{color:var(--stamp-ink);font-weight:650}.shared-wish-stamp time,.shared-stamp-date-missing{font-size:10px;font-family:var(--mono);color:var(--muted)}.shared-stamp-pagination{border-top:1px dashed var(--line);justify-content:space-between;align-items:center;gap:8px;margin-top:20px;padding-top:18px;display:flex}.shared-stamp-pagination button{background:var(--canvas);border-radius:14px;align-items:center;gap:5px;padding:9px 11px;font-size:12px;display:flex}.shared-stamp-pagination button:disabled{cursor:default}.shared-stamp-pagination>span{font-family:var(--mono);color:var(--muted);font-size:11px}.shared-stamp-footnote{color:var(--muted);margin:17px 0;font-size:11px;line-height:1.85}.shared-stamp-empty{text-align:center;color:var(--muted);padding:36px 12px;font-size:13px}.shared-stamp-empty .joy-doodle{width:85px;color:var(--red);margin:0 auto 14px}.shared-stamp-empty h3{color:var(--text);font-size:18px}.shared-stamp-empty p{max-width:340px;margin:14px auto 20px;font-size:13px;line-height:1.8}.home-stamp-book{border:1.5px solid var(--red);background:var(--canvas);text-align:left;width:100%;box-shadow:3px 4px 0 var(--pale);border-radius:25px;flex-direction:column;gap:14px;margin:0 0 20px;padding:20px 23px;display:flex}.home-stamp-book-top{color:var(--red);justify-content:space-between;align-items:center;gap:10px;display:flex}.home-stamp-book-top>span{align-items:center;gap:7px;font-size:14px;font-weight:700;display:flex}.home-stamp-book-middle{justify-content:space-between;align-items:center;gap:16px;display:flex}.home-stamp-book-count{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.home-stamp-book-count>strong{letter-spacing:-.05em;color:var(--red);font-size:38px;font-weight:800;line-height:1.1}.home-stamp-book-count>span{color:var(--muted);font-size:12px}.home-stamp-book-mini{align-items:center;gap:6px;display:flex}.home-stamp-book-mini>.shared-stamp-imprint{width:44px;margin:0}.home-stamp-book-mini .shared-stamp-check{width:13px;height:13px;bottom:0;right:-1px}.home-stamp-book-mini .shared-stamp-check svg{width:8px;height:8px}.home-stamp-book-mini>.joy-doodle{width:46px;color:var(--red)}.home-stamp-book-hint{color:var(--muted);font-size:11px}.wishes-page .wish-gallery-view-switch.wish-discovery-switch{max-width:580px}.wishes-page .wish-discovery-switch button{white-space:nowrap;flex-direction:column;gap:4px;min-height:62px;padding:8px 3px;font-size:12px;line-height:1.45}.wish-discovery-intro{margin:18px 0 20px}.wish-discovery-intro p{letter-spacing:-.035em;margin:0 0 4px;font-size:20px;font-weight:750}.wish-discovery-intro>span{color:var(--muted);font-size:13px}.wish-board,.wish-draw{min-width:0}.wish-board-jumps{flex-wrap:wrap;gap:7px;margin-bottom:18px;display:flex}.wish-board-jumps button{background:var(--canvas);border-radius:30px;align-items:center;gap:7px;padding:8px 12px;font-size:12px;display:flex}.wish-board-jumps button span{color:var(--muted);font-family:var(--mono);font-size:11px}.wish-board-scroll{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--line) transparent;border-radius:22px;grid-auto-columns:minmax(248px,31%);grid-auto-flow:column;align-items:start;gap:16px;padding:5px 4px 22px;scroll-padding-inline:4px;display:grid;overflow-x:auto}.wish-board-column{--board-ink:var(--red);border:1px solid var(--line);border-top:4px solid var(--board-ink);scroll-snap-align:start;background:var(--canvas);border-radius:23px;min-width:0;padding:15px 12px 12px}.wish-board-this_year,.wish-board-custom{--board-ink:var(--blue)}.wish-board-five_years,.wish-board-unclassified{--board-ink:var(--green)}.wish-board-someday{--board-ink:var(--purple)}.wish-board-column>header{align-items:center;gap:10px;min-height:80px;padding:0 4px 15px;display:flex}.wish-board-column>header>.joy-doodle{width:43px;color:var(--board-ink);flex-shrink:0}.wish-board-column h2{margin:0;font-size:17px;font-weight:750;line-height:1.55}.wish-board-column h2 span{color:var(--board-ink);font-family:var(--mono);margin-left:4px;font-size:12px}.wish-board-column header p{color:var(--muted);margin:4px 0 0;font-size:11px}.wish-board-stack{gap:12px;display:grid}.wish-board-note{text-align:left;border:1px solid color-mix(in srgb, var(--board-ink) 18%, var(--line));min-height:166px;box-shadow:0 3px 0 color-mix(in srgb, var(--board-ink) 9%, var(--canvas));background:var(--canvas);border-radius:15px;flex-direction:column;align-items:stretch;gap:10px;padding:18px 15px 12px;display:flex;position:relative}.wish-board-note:before{content:"";background:var(--board-ink);border-radius:4px;width:24px;height:7px;position:absolute;top:-4px;right:17px;transform:rotate(5deg)}.wish-board-note strong{overflow-wrap:anywhere;font-size:16px;font-weight:700;line-height:1.6}.wish-board-step{color:var(--muted);overflow-wrap:anywhere;font-size:12px;line-height:1.7}.wish-board-meta{color:var(--muted);overflow-wrap:anywhere;align-items:flex-start;gap:5px;font-size:11px;display:flex}.wish-board-meta svg{flex-shrink:0;margin-top:1px}.wish-board-open{color:var(--board-ink);border-top:1px dashed var(--line);justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:10px;font-size:11px;display:flex}.wish-board-empty{color:var(--muted);text-align:center;border:1px dashed var(--line);border-radius:15px;min-height:160px;margin:0;padding:44px 10px;font-size:12px;line-height:1.9}.wish-board-footnote{color:var(--muted);flex-wrap:wrap;align-items:center;gap:5px;margin:0;font-size:12px;display:flex}.wish-board-footnote .text-button{font-size:12px}.wish-draw{text-align:center;padding-bottom:20px}.wish-draw-ticket{--ticket-ink:var(--red);border:1.5px solid var(--ticket-ink);background:var(--canvas);box-shadow:5px 6px 0 color-mix(in srgb, var(--ticket-ink) 13%, var(--canvas));border-radius:29px;max-width:500px;margin:28px auto 25px;position:relative}.wish-draw-ticket-top{color:var(--ticket-ink);border-bottom:1px dashed color-mix(in srgb, var(--ticket-ink) 35%, var(--line));justify-content:center;align-items:center;gap:10px;margin:0 22px;padding:18px 2px;font-size:12px;font-weight:700;display:flex}.wish-draw-content{place-items:center;min-height:275px;padding:26px 26px 24px;display:grid}.wish-draw-awaiting h2,.wish-draw-result h2{letter-spacing:-.025em;overflow-wrap:break-word;margin:8px 0;font-size:23px;font-weight:750;line-height:1.65}.wish-draw-awaiting>p{color:var(--muted);font-size:13px}.wish-draw-mini-tickets{justify-content:center;height:130px;margin-bottom:15px;padding-top:10px;display:flex;position:relative}.wish-draw-mini-tickets>.joy-doodle{background:var(--canvas);width:85px;height:102px;color:var(--blue);border:1.5px solid;border-radius:15px;padding:10px;transform:rotate(-15deg)translate(10px,6px)}.wish-draw-mini-tickets>.joy-doodle:nth-child(2){color:var(--red);z-index:1;transform:translateY(-5px)}.wish-draw-mini-tickets>.joy-doodle:nth-child(3){color:var(--green);transform:rotate(15deg)translate(-10px,6px)}.wish-draw-result>.joy-doodle{width:84px;color:var(--ticket-ink);margin:0 auto 8px;transform:rotate(-7deg)}.wish-draw-kicker{color:var(--ticket-ink);margin:0;font-size:12px;font-weight:650}.wish-draw-period{color:var(--muted);margin:8px 0 0;font-size:12px}.wish-draw-step{color:var(--text);overflow-wrap:anywhere;margin:0;padding:15px 0 0;font-size:13px;line-height:1.8}.wish-draw-step>span{color:var(--muted);margin-bottom:3px;font-size:10px;display:block}.wish-draw-ticket-bottom{border-top:1px dashed color-mix(in srgb, var(--ticket-ink) 35%, var(--line));gap:8px;padding:22px;display:grid;position:relative}.wish-draw-ticket-bottom:before,.wish-draw-ticket-bottom:after{content:"";border:1.5px solid var(--ticket-ink);background:var(--canvas);border-radius:50%;width:16px;height:16px;position:absolute;top:-9px}.wish-draw-ticket-bottom:before{left:-9px}.wish-draw-ticket-bottom:after{right:-9px}.wish-draw-ticket-bottom button{border-radius:17px;justify-content:center;align-items:center;gap:8px;min-height:50px;display:flex}.wish-draw-ticket-bottom .wish-draw-again{background:var(--canvas);color:var(--muted);border:0;font-size:13px}.wish-draw-note{max-width:410px;color:var(--muted);margin:18px auto 8px;font-size:12px;line-height:1.85}.wish-draw-progress{font-family:var(--mono);color:var(--red);margin:8px 0;font-size:11px}.wish-draw-no-change{color:var(--muted);margin:10px 0 0;font-size:11px}@media (width<=700px){.wish-board-scroll{grid-auto-columns:82%;gap:12px}.shared-stamp-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 5px}.shared-stamp-cover{padding:21px}.shared-stamp-cover>.joy-doodle{width:72px}.shared-stamp-cover-note{font-size:11px}.shared-stamp-sheet{padding:17px 12px}.shared-stamp-sheet-heading{padding-inline:4px}.shared-wish-stamp{padding:12px 5px}.shared-wish-stamp>strong{font-size:12px}.shared-stamp-imprint{width:77px}.home-stamp-book{padding:18px}.home-stamp-book-mini{gap:4px}.home-stamp-book-mini>.shared-stamp-imprint{width:36px}.home-stamp-book-middle{gap:10px}}@media (width<=389px){.wishes-page .wish-discovery-switch button{font-size:11px}.wish-discovery-intro p{font-size:18px}.wish-discovery-intro>span{font-size:12px}.wish-draw-content{padding:24px 18px}.wish-draw-awaiting h2,.wish-draw-result h2{font-size:21px}.wish-draw-ticket-bottom{padding:18px}.shared-stamp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 7px}.shared-stamp-imprint{width:87px}.shared-stamp-sheet-heading h2{font-size:13px}.shared-stamp-pagination button{padding-inline:7px;font-size:11px}.shared-stamp-cover{gap:10px;padding:20px 17px}.shared-stamp-cover>.joy-doodle{width:57px}.home-stamp-book-middle{flex-wrap:wrap;gap:13px}.home-stamp-book-mini{margin-left:auto}}@media (hover:hover){.wish-board-note:hover{background:var(--canvas);border-color:var(--board-ink)}.shared-wish-stamp:hover{background:var(--canvas);border-color:var(--line)}.home-stamp-book:hover{background:var(--canvas);box-shadow:4px 5px 0 var(--pale)}}@media (prefers-reduced-motion:no-preference){:root:not([data-motion=off]):not([data-motion=reduced]) .wish-draw-result{animation:.36s cubic-bezier(.2,.8,.25,1) both wish-ticket-reveal}}@keyframes wish-ticket-reveal{0%{opacity:0;transform:translateY(12px)rotate(-3deg)scale(.97)}to{opacity:1;transform:translateY(0)rotate(0)scale(1)}}@media (width<=359px){.wishes-page .wish-discovery-switch button{padding-inline:2px;font-size:10px}}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.home-totals{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.home-totals .home-total{text-align:left;background:var(--pale);min-width:0;min-height:128px;color:var(--text);border:1px solid #0000;border-radius:24px;flex-direction:column;justify-content:space-between;gap:14px;padding:18px 20px;display:flex}.home-totals .home-total-done{background:color-mix(in srgb, var(--pale) 28%, var(--surface))}.home-total-label{align-items:center;gap:8px;font-size:14px;font-weight:600;line-height:1.5;display:flex}.home-total-label svg{color:var(--red);flex-shrink:0}.home-total-bottom{justify-content:space-between;align-items:center;gap:6px;display:flex}.home-total-bottom>strong{letter-spacing:-.05em;font-variant-numeric:tabular-nums;overflow-wrap:break-word;flex-wrap:wrap;align-items:baseline;gap:5px;min-width:0;font-size:clamp(30px,4vw,40px);font-weight:750;line-height:1.1;display:flex}.home-total-bottom small{color:var(--muted);letter-spacing:0;font-size:13px;font-weight:500}.home-total-bottom>svg{color:var(--red);flex-shrink:0}.home-totals .home-total:hover{border-color:color-mix(in srgb, var(--red), transparent 75%);background:color-mix(in srgb, var(--pale) 88%, var(--red))}.relationship-card{--celebration-ink:color-mix(in srgb, var(--red) 80%, var(--text));border:1px solid var(--line);background:var(--canvas);border-radius:24px;margin-bottom:30px;padding:10px 20px 0}.relationship-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.relationship-heading>span{color:var(--muted);align-items:center;gap:7px;font-size:13px;font-weight:550;display:flex}.relationship-heading>span>svg{color:var(--red)}.relationship-heading .icon-button{width:44px;height:44px}.relationship-age{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-top:3px;display:flex}.relationship-age>strong{letter-spacing:-.05em;font-variant-numeric:tabular-nums;align-items:baseline;gap:5px;font-size:32px;font-weight:700;line-height:1.3;display:flex}.relationship-age>strong>small{letter-spacing:0;margin-right:6px;font-size:15px;font-weight:550}.relationship-days{background:var(--pale);color:var(--celebration-ink);font-variant-numeric:tabular-nums;border-radius:12px;padding:5px 10px;font-size:18px;font-weight:700}.relationship-days>small{margin-left:3px;font-size:12px;font-weight:550}.relationship-start{color:var(--muted);margin-top:6px;font-size:13px}.relationship-next{color:var(--muted);margin:8px 0 16px;font-size:12px}.relationship-unset{padding:8px 0 12px}.relationship-unset p{font-size:16px;font-weight:600}.relationship-unset .text-button{padding-left:0}.relationship-celebrations{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:70px;display:flex}.celebration-album-link{text-align:left;background:0 0;border:0;align-items:center;gap:9px;min-width:0;padding:10px 0;font-size:12px;display:flex}.celebration-album-link>svg:first-child{color:var(--red);flex-shrink:0}.celebration-album-link>svg:last-child{width:14px;color:var(--muted);flex-shrink:0}.celebration-album-link>span{flex-direction:column;gap:1px;display:flex}.celebration-album-link strong{font-variant-numeric:tabular-nums;font-size:22px;font-weight:700;line-height:1.25}.celebration-album-link small{color:var(--muted);margin-left:4px;font-size:12px;font-weight:500}.celebration-add{background:var(--pale);color:var(--celebration-ink);border:0;border-radius:14px;flex-shrink:0;align-items:center;gap:3px;padding:10px;font-size:12px;display:flex}.journal-collections{background:var(--surface);border-radius:16px;gap:6px;width:fit-content;max-width:100%;margin:22px 0 16px;padding:4px;display:flex}.journal-collections button{background:0 0;border:0;border-radius:12px;min-height:44px;padding:9px 15px;font-size:14px}.journal-collections button[aria-pressed=true]{background:var(--canvas);color:var(--red);box-shadow:0 2px 6px #24131a08}.app-shell[data-page=memories] .section-head h1{text-wrap:balance}.journal-celebration-tag{color:var(--red);margin:0 0 10px;font-size:12px;font-weight:600;display:block}.celebration-form-note{background:var(--pale);border-radius:14px;margin:0 0 18px;padding:14px 16px;font-size:14px;line-height:1.7}@media (width>=900px){.home-totals .home-total{min-height:134px;padding:20px 24px}.relationship-card{padding:10px 24px 0}}@media (width<=359px){.home-totals{gap:10px}.home-totals .home-total{border-radius:21px;padding:16px 13px}.home-total-label{gap:5px;font-size:12px}.home-total-label svg{width:16px}.home-total-bottom>strong{font-size:28px}.home-total-bottom>svg{width:14px}.relationship-card{padding-left:14px;padding-right:14px}.relationship-celebrations{gap:5px}.celebration-album-link{gap:6px}.celebration-add{padding:9px 7px;font-size:11px}.journal-collections button{padding:9px 12px;font-size:13px}}.home-heading-heart{vertical-align:middle;width:34px;color:var(--red);margin-left:10px;display:inline-block;transform:rotate(12deg)}.home-wishes-page .home-wishes-add{border-radius:50%;gap:0;width:48px;height:48px;padding:0;font-size:0}.home-wishes-page .home-wishes-add svg{width:22px;height:22px}.home-totals{gap:13px;margin-bottom:22px}.home-totals .home-total{border:0;border-radius:27px;gap:20px;min-height:175px;padding:20px;position:relative;overflow:hidden}.home-totals .home-total-wishes{background:var(--red);color:var(--on-accent)}.home-totals .home-total-done{background:var(--canvas);color:var(--text)}.home-total-label{z-index:1;font-size:14px;font-weight:650;line-height:1.5;display:block;position:relative}.home-total-bottom{z-index:1;position:relative}.home-total-bottom>strong{font-size:43px;font-weight:800;line-height:1}.home-total-bottom small{color:inherit;opacity:.8;font-size:12px}.home-total-bottom>svg{width:30px;height:30px;color:inherit;background:color-mix(in srgb, var(--canvas) 16%, transparent);border-radius:50%;padding:6px}.home-total-done .home-total-bottom>svg{background:var(--canvas)}.home-total-doodle{opacity:.8;width:60px;position:absolute;top:18px;right:15px;transform:rotate(11deg)}.home-total-done .home-total-doodle{width:67px;color:var(--red);opacity:1;top:48px}.home-total-wishes .home-total-doodle{opacity:.65;width:47px;top:58px;right:14px}.home-totals .home-total-wishes:hover{background:color-mix(in srgb, var(--red) 95%, var(--text))}.home-totals .home-total-done:hover{background:var(--pale)}.relationship-card{border-color:var(--line);border-radius:26px;padding:8px 20px 0}.relationship-heading>span{color:var(--text);font-size:12px}.relationship-age>strong{font-size:35px;font-weight:800}.relationship-next{background:var(--surface);color:var(--text);border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:15px 0 18px;padding:12px 15px;font-size:13px;display:flex}.relationship-next>span{overflow-wrap:anywhere;flex:auto;min-width:0;max-width:100%}.relationship-next strong{white-space:nowrap;flex:none;margin-inline-start:auto;font-size:12px;font-weight:500}.relationship-next b{letter-spacing:-.04em;color:var(--red);font-variant-numeric:tabular-nums;padding:0 3px;font-size:25px}.relationship-next.relationship-today{background:var(--pale);color:var(--red);font-weight:700}.home-wishes-page .home-wishes-empty{background:var(--surface);border-radius:22px;margin-top:12px;padding:20px}.home-wishes-page .home-wishes-section-heading h2{font-size:18px}@media (width<=359px){.home-totals .home-total{border-radius:23px;min-height:168px;padding:17px 15px}.home-total-label{font-size:13px}.home-total-bottom>strong{font-size:38px}.home-total-done .home-total-doodle{width:55px;right:12px}.relationship-next{padding:10px 12px;font-size:12px}.home-heading-heart{width:28px;margin-left:7px}}.home-total.home-total-done{border:1.5px solid var(--line)}.home-wish-total{flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;padding:0 2px 3px;display:flex}.home-wish-total h2{margin:0;font-size:18px;line-height:1.5}.home-wish-total p{color:var(--muted);margin:3px 0 0;font-size:12px;line-height:1.5}.home-wish-total>strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;flex-wrap:wrap;align-items:baseline;gap:5px;max-width:100%;font-size:36px;line-height:1.1;display:flex}.home-wish-total small{color:var(--muted);font-size:13px;font-weight:500}.joy-doodle{width:100%;height:auto;display:block}.wishes-kicker{color:var(--muted);margin-bottom:6px;font-size:12px}.wishes-page .home-wishes-add{border-radius:50%;gap:0;width:48px;height:48px;padding:0;font-size:0}.wishes-page .home-wishes-add svg{width:22px;height:22px}.wishes-page .wishes-search{border-radius:18px}.wishes-page .wishes-states{border:0;gap:6px;margin-top:16px}.wishes-page .wishes-states button{background:var(--surface);border:0;border-radius:15px;padding:10px 13px}.wishes-page .wishes-states button[aria-pressed=true]{background:var(--text);color:var(--canvas)}.fulfilled-view-switch{border:1px solid var(--line);border-radius:18px;gap:4px;margin-top:22px;padding:5px;display:flex}.fulfilled-view-switch button{min-width:0;color:var(--muted);background:0 0;border:0;border-radius:13px;flex:1;justify-content:center;align-items:center;gap:6px;padding:9px 6px;font-size:13px;display:flex}.fulfilled-view-switch button[aria-pressed=true],.fulfilled-view-switch button[aria-selected=true]{background:var(--pale);color:var(--red);font-weight:700}.wishes-page-done .wishes-results-heading{margin:12px 0 9px}.fulfilled-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:27px 14px;display:grid}.fulfilled-card{min-width:0}.fulfilled-cover{background:var(--surface);aspect-ratio:1;border-radius:24px;position:relative}.fulfilled-cover .journal-cover,.fulfilled-cover .journal-cover-state,.fulfilled-cover .fulfilled-illustration{aspect-ratio:1;border-radius:inherit;border:0;width:100%;height:100%;min-height:0;padding:0;overflow:hidden}.fulfilled-cover .journal-cover{grid-template-columns:1fr;gap:3px;display:grid}.fulfilled-cover .journal-cover.tiles-2,.fulfilled-cover .journal-cover.tiles-3,.fulfilled-cover .journal-cover.tiles-4{grid-template-columns:1fr 1fr}.fulfilled-cover .journal-cover.tiles-3>.photo-preview:first-child{grid-row:span 2}.fulfilled-cover .journal-cover img{object-fit:cover;width:100%;height:100%;min-height:0}.fulfilled-cover .journal-photo-count{display:none}.fulfilled-cover .journal-cover-state{color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:12px;font-size:11px;display:flex}.fulfilled-cover .journal-cover-state button{gap:4px;padding:8px;font-size:12px;display:flex}.fulfilled-illustration{color:var(--red);background:var(--canvas);flex-direction:column;justify-content:center;align-items:center;gap:7px;display:flex}.fulfilled-card:nth-child(4n+2) .fulfilled-illustration{background:var(--canvas);color:var(--blue)}.fulfilled-card:nth-child(4n+3) .fulfilled-illustration{background:var(--canvas);color:var(--purple)}.fulfilled-card:nth-child(4n+4) .fulfilled-illustration{background:var(--canvas);color:var(--green)}.fulfilled-illustration .joy-doodle{width:49%;max-width:116px;transform:rotate(-7deg)}.fulfilled-illustration>span{letter-spacing:.04em;font-size:12px;font-weight:700}.fulfilled-number{pointer-events:none;width:24px;height:24px;font-family:var(--mono);background:var(--canvas);color:var(--text);border-radius:8px;place-items:center;padding:3px 7px;font-size:11px;font-weight:600;display:grid;position:absolute;top:10px;left:10px}.fulfilled-caption{text-align:left;background:0 0;border:0;flex-direction:column;gap:5px;width:100%;min-width:0;padding:12px 3px 3px;display:flex}.fulfilled-caption:hover{background:0 0}.fulfilled-date{font-family:var(--mono);color:var(--muted);font-size:12px;font-weight:500;display:block}.fulfilled-caption strong{overflow-wrap:anywhere;font-size:16px;font-weight:750;line-height:1.55}.fulfilled-place{color:var(--muted);overflow-wrap:anywhere;align-items:baseline;gap:3px;font-size:11px;line-height:1.5;display:flex}.fulfilled-place svg{align-self:flex-start;margin-top:2px}.fulfilled-more{border-radius:16px;align-items:center;gap:8px;margin:28px auto 0;display:flex}.wishes-page-done .home-wishes-empty{text-align:center;padding:40px 15px}.wishes-page-done .home-wishes-empty .joy-doodle{width:85px;color:var(--red);margin:0 auto 22px}@media (width>=700px){.fulfilled-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 20px}.fulfilled-caption strong{font-size:17px}}@media (width>=1200px){.fulfilled-cards{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=359px){.fulfilled-cards{gap:22px 10px}.fulfilled-cover{border-radius:20px}.fulfilled-caption strong{font-size:14px}.fulfilled-view-switch button{gap:4px;font-size:12px}}@media (hover:hover) and (prefers-reduced-motion:no-preference){:root:not([data-motion=off]):not([data-motion=reduced]) .fulfilled-illustration:hover .joy-doodle{transform:rotate(4deg)scale(1.05)}}.fulfilled-illustration .joy-doodle{transition:transform .2s}@media (prefers-reduced-motion:reduce){.fulfilled-illustration .joy-doodle{transition:none}}:root[data-motion=off] .fulfilled-illustration .joy-doodle,:root[data-motion=reduced] .fulfilled-illustration .joy-doodle{transition:none}@media (width<=359px){.wishes-page .wishes-states button{padding:10px 9px;font-size:12px}.fulfilled-view-switch button{white-space:nowrap;padding:9px 4px}.fulfilled-view-switch button svg{width:15px;height:15px}}.fulfilled-cover{border:1.5px solid var(--line)}.wish-gallery{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:14px;display:grid}.wish-gallery-card{--wish-ink:var(--red);border:1px solid var(--line);background:var(--canvas);min-width:0;min-height:250px;color:var(--text);text-align:left;box-shadow:0 3px 0 color-mix(in srgb, var(--line) 50%, transparent);border-radius:25px;flex-direction:column;align-items:stretch;gap:15px;padding:18px;display:flex}.wish-gallery-card:nth-child(4n+2){--wish-ink:var(--blue)}.wish-gallery-card:nth-child(4n+3){--wish-ink:var(--green)}.wish-gallery-card:nth-child(4n+4){--wish-ink:var(--purple)}.wish-gallery-card:only-child{grid-column:1/-1;width:100%;max-width:520px;min-height:220px}.wish-gallery-top{justify-content:space-between;align-items:center;gap:8px;min-height:64px;display:flex}.wish-gallery-period{border:1px solid color-mix(in srgb, var(--wish-ink) 30%, var(--line));max-width:calc(100% - 62px);color:var(--wish-ink);overflow-wrap:anywhere;border-radius:9px;align-items:center;padding:5px 7px;font-size:11px;font-weight:700;line-height:1.45;display:inline-flex}.wish-gallery-top>.joy-doodle{width:58px;color:var(--wish-ink);flex-shrink:0;transform:rotate(7deg)}.wish-gallery-card:nth-child(2n) .joy-doodle{transform:rotate(-7deg)}.wish-gallery-title{letter-spacing:-.025em;overflow-wrap:break-word;text-wrap:pretty;font-size:18px;font-weight:750;line-height:1.55}.wish-gallery-step{-webkit-line-clamp:3;overflow-wrap:anywhere;color:var(--muted);-webkit-box-orient:vertical;font-size:13px;line-height:1.7;display:-webkit-box;overflow:hidden}.wish-gallery-step>span{margin-bottom:2px;font-size:10px;font-weight:650;display:block}.wish-gallery-bottom{flex-direction:column;gap:7px;margin-top:auto;display:flex}.wish-gallery-meta{color:var(--muted);overflow-wrap:anywhere;align-items:flex-start;gap:5px;font-size:12px;line-height:1.6;display:flex}.wish-gallery-meta svg{flex-shrink:0;margin-top:2px}.wish-gallery-open{border-top:1px dashed var(--line);color:var(--wish-ink);overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:8px;margin-top:5px;padding-top:12px;font-size:11px;line-height:1.6;display:flex}.wish-gallery-open svg{flex-shrink:0}.wish-gallery-card:focus-visible{outline:3px solid var(--red);outline-offset:4px}.wishes-page .wish-gallery-view-switch{max-width:320px;margin-top:14px}.wishes-page:not(.wishes-page-done) .home-wishes-empty{text-align:center;border:1px dashed var(--line);background:var(--canvas);border-radius:25px;padding:36px 18px}.wishes-page:not(.wishes-page-done) .home-wishes-empty .joy-doodle{width:80px;color:var(--red);margin:0 auto 14px}.wishes-page:not(.wishes-page-done) .home-wishes-empty .text-button{margin-inline:auto}@media (width>=850px){.wish-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}}@media (width<=480px){.wish-gallery{gap:12px}.wish-gallery-card{border-radius:21px;gap:12px;min-height:235px;padding:13px}.wish-gallery-top{flex-wrap:wrap;gap:3px;min-height:76px}.wish-gallery-period{max-width:100%}.wish-gallery-top>.joy-doodle{width:54px;margin-left:auto}.wish-gallery-title{font-size:16px}.wish-gallery-meta{font-size:11px}.wish-gallery-step{font-size:12px}}@media (width<=359px){.wish-gallery{grid-template-columns:minmax(0,1fr)}.wish-gallery-card{min-height:220px;padding:18px}.wish-gallery-top{min-height:55px}.wish-gallery-title{font-size:18px}}@media (hover:hover){.wish-gallery-card:hover{border-color:var(--wish-ink);background:var(--canvas)}}@media (hover:hover) and (prefers-reduced-motion:no-preference){:root:not([data-motion=off]):not([data-motion=reduced]) .wish-gallery-card{transition:transform .18s,border-color .18s,box-shadow .18s}:root:not([data-motion=off]):not([data-motion=reduced]) .wish-gallery-card:hover{box-shadow:0 6px 0 color-mix(in srgb, var(--line) 50%, transparent);transform:translateY(-3px)}}.wishes-page .wish-gallery-card{border-radius:18px;gap:10px;min-height:190px;padding:14px}.wishes-page .wish-gallery-card:only-child{max-width:420px;min-height:170px}.wishes-page .wish-gallery-top{flex-wrap:nowrap;min-height:40px}.wishes-page .wish-gallery-top>.joy-doodle{width:36px}.wishes-page .wish-gallery-period{max-width:calc(100% - 42px);padding:4px 6px}.wishes-page .wish-gallery-open{margin-top:2px;padding-top:7px}.wishes-page .wish-gallery-step{-webkit-line-clamp:2}.journal{--journal-numbers:"SFMono-Regular", ui-monospace, monospace;min-width:0}.journal .journal-filters{grid-template-columns:minmax(0,1fr) minmax(145px,180px);gap:10px;margin-top:20px;display:grid}.journal .journal-filters>*{min-width:0;margin-bottom:0}.journal .journal-filters .field>span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.journal .journal-filters input,.journal .journal-filters select{width:100%;min-width:0;min-height:48px}.journal .journal-result-count{color:var(--muted);margin:8px 0 12px;font-size:13px}.journal .journal-result-count>span{font-family:var(--journal-numbers);font-variant-numeric:tabular-nums;color:var(--ink)}.journal .journal-timeline{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:30px 28px;display:grid}.journal .journal-entry-item{display:contents}.journal .journal-month{color:var(--ink);grid-column:1/-1;align-items:baseline;gap:12px;margin:18px 0 -8px;display:flex}.journal .journal-month>span{font-family:var(--journal-numbers);color:var(--muted);font-size:15px;font-weight:500}.journal .journal-month>strong{letter-spacing:-.05em;font-size:clamp(30px,3vw,38px);font-weight:750;line-height:1.2}.journal .journal-page{--journal-ink:var(--red);background:var(--canvas);border:1px solid var(--line);min-width:0;box-shadow:none;border-radius:28px;margin:0;padding:10px}.journal .journal-entry-item:nth-child(4n+2) .journal-page{--journal-ink:var(--blue)}.journal .journal-entry-item:nth-child(4n+3) .journal-page{--journal-ink:var(--green)}.journal .journal-entry-item:nth-child(4n+4) .journal-page{--journal-ink:var(--purple)}.journal .journal-cover,.journal .journal-cover-state{aspect-ratio:4/3;background:var(--canvas);width:100%;min-width:0;color:var(--muted);box-shadow:none;border:0;border-radius:20px;margin:0}.journal .journal-cover{contain:size;cursor:pointer;grid-template-rows:minmax(0,1fr);grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:0;display:grid;position:relative;overflow:hidden}.journal .journal-cover img{object-fit:cover;width:100%;min-width:0;height:100%;min-height:0;display:block}.journal .journal-cover.tiles-1{grid-template-columns:1fr}.journal .journal-cover.tiles-3,.journal .journal-cover.tiles-4{grid-template-rows:repeat(2,minmax(0,1fr))}.journal .journal-cover.tiles-3>.photo-preview:first-child{grid-row:span 2}.journal .journal-photo-count{color:#fff;font-variant-numeric:tabular-nums;pointer-events:none;background:#242326b8;border-radius:8px;align-items:center;gap:5px;padding:6px 9px;font-size:11px;display:inline-flex;position:absolute;bottom:12px;right:12px}.journal .journal-cover-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;font-size:13px;line-height:1.6;display:flex}.journal .journal-paper{cursor:pointer;border:1px dashed color-mix(in srgb, var(--journal-ink) 25%, var(--line));background:var(--canvas);color:var(--journal-ink);position:relative;overflow:hidden}.journal .journal-paper>svg{color:var(--journal-ink)}.journal .journal-cover-state.journal-paper{aspect-ratio:auto;flex-direction:row;gap:12px;height:112px;min-height:0;padding:12px 20px}.journal .journal-paper>.character-art{object-fit:contain;flex-shrink:0;width:150px;height:88px}.journal .journal-paper>.joy-doodle{flex-shrink:0;width:72px;transform:rotate(-6deg)}.journal .journal-paper>span{border:1px solid;border-radius:7px;padding:3px 9px;font-size:11px;font-weight:650;transform:rotate(3deg)}.journal .journal-cover-error button{border:1px solid var(--line);background:var(--canvas);min-height:44px;color:var(--ink);border-radius:12px;justify-content:center;align-items:center;gap:7px;padding:8px 14px;font-size:13px;display:inline-flex}.journal .journal-open{width:100%;color:var(--ink);box-shadow:none;text-align:left;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:12px;padding:19px 10px 13px;display:flex}.journal .journal-entry-copy{gap:10px;min-width:0;display:grid}.journal .journal-date{color:var(--ink);flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.journal .journal-date-value{font-family:var(--journal-numbers);font-variant-numeric:tabular-nums;letter-spacing:-.065em;font-size:clamp(28px,3vw,34px);font-weight:650;line-height:1.15}.journal .journal-weekday,.journal .journal-date-year{color:var(--muted);letter-spacing:0;font-size:12px;font-weight:400}.journal .journal-entry-title{overflow-wrap:break-word;letter-spacing:-.025em;font-size:20px;font-weight:650;line-height:1.5}.journal .journal-note{-webkit-line-clamp:2;overflow-wrap:anywhere;white-space:pre-line;color:var(--muted);-webkit-box-orient:vertical;font-size:15px;line-height:1.7;display:-webkit-box;overflow:hidden}.journal .journal-open small{color:var(--muted);font-size:11px;font-weight:400}.journal .journal-open>svg{color:var(--journal-ink);flex-shrink:0;margin-top:8px}.journal .journal-cover:focus-visible,.journal .journal-paper:focus-visible,.journal .journal-open:focus-visible{outline:3px solid var(--red);outline-offset:4px}@media (hover:hover){.journal .journal-open:hover .journal-entry-title{color:var(--red)}.journal .journal-cover:hover,.journal .journal-paper:hover{opacity:.9}}.journal .journal-empty{color:var(--muted);text-align:center;padding:64px 20px}.journal .journal-empty>svg{color:var(--red);width:86px;margin:0 auto}.journal .journal-empty h2{color:var(--ink);letter-spacing:-.04em;margin:22px 0 12px;font-size:25px;line-height:1.5}.journal .journal-empty p{margin:0 0 22px;font-size:15px;line-height:1.8}.journal .journal-detail-date{margin:4px 0 24px}.journal .journal-linked{border-top:1px solid var(--line);padding:24px 0}.journal .journal-linked h3{overflow-wrap:break-word;margin:8px 0}.journal .journal-linked p{margin:10px 0;font-size:14px;line-height:1.7}.journal .journal-linked button{margin:5px 8px 0 0}.journal .journal-collections{border:1px solid var(--line);background:var(--canvas);border-radius:19px;gap:5px;padding:5px}.journal .journal-collections button{min-width:0;color:var(--muted);border:0;border-radius:13px;justify-content:center;align-items:center;gap:6px;padding:10px 13px;display:flex}.journal .journal-collections button>svg{flex-shrink:0}.journal .journal-collections button[aria-pressed=true]{color:var(--red);background:var(--pale);box-shadow:none;font-weight:700}.journal .journal-celebration-tag{border:1px solid color-mix(in srgb, var(--red) 40%, var(--line));width:fit-content;color:var(--red);background:var(--canvas);border-radius:7px;margin:0;padding:4px 9px;font-size:11px}.journal+.journal-metrics{border-top:1px solid var(--line);margin-top:32px;padding-top:16px}.journal+.journal-metrics>summary{cursor:pointer;min-height:44px;font-size:13px}@media (width<=700px){.journal .journal-timeline{grid-template-columns:minmax(0,1fr);row-gap:28px}.journal .journal-month{margin-top:14px}}@media (width<=420px){.journal .journal-filters{grid-template-columns:minmax(0,1fr) 148px}.journal .journal-open{padding-top:18px}.journal .journal-cover-error{gap:10px;padding:18px}.journal .journal-collections{width:100%}.journal .journal-collections button{flex:1;gap:5px;padding:9px 5px;font-size:12px}}@media (width<=359px){.journal .journal-filters{grid-template-columns:minmax(0,1fr) 132px}.journal .journal-collections button{gap:4px;font-size:11px}.journal .journal-entry-title{font-size:18px}}@media (hover:hover) and (prefers-reduced-motion:no-preference){:root:not([data-motion=off]):not([data-motion=reduced]) .journal .journal-page{transition:border-color .18s,box-shadow .18s}:root:not([data-motion=off]):not([data-motion=reduced]) .journal .journal-page:hover{border-color:var(--journal-ink);box-shadow:0 4px 0 color-mix(in srgb, var(--line) 50%, transparent)}}.journal .journal-date-end{letter-spacing:-.02em;color:var(--muted);font-size:.72em}.visit-count-legend{color:#536279;flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0 22px;font-size:12px;display:flex}.visit-count-legend span{align-items:center;gap:6px;display:inline-flex}.visit-count-legend i{border:1px solid #becbdb;border-radius:4px;width:17px;height:17px;display:inline-block}.visit-count-legend .wanted-outline{border:2px solid var(--map-accent);background:#fff}.map-surface svg.map-canvas path{transition:fill .2s,stroke .2s}.region-grid button[aria-pressed=true]{outline-offset:2px;outline:2px solid #182b49}.region-grid button small{color:inherit}@media (prefers-reduced-motion:reduce){.map-surface svg.map-canvas path{transition:none}}:root{--map-accent:#075985}:root[data-appearance=dark]{--map-accent:#7dd3fc}@media (prefers-color-scheme:dark){:root[data-appearance=system]{--map-accent:#7dd3fc}}.map-interactive{min-width:0}.map-controls{flex-wrap:wrap;align-items:center;gap:7px;margin-bottom:9px;display:flex}.map-controls button{justify-content:center;align-items:center;gap:6px;min-width:44px;min-height:44px;padding:8px 10px;font-size:12px;display:inline-flex}.map-controls button[aria-pressed=true]{background:var(--pale);color:var(--red);border-color:var(--red)}.map-controls output{text-align:center;font-variant-numeric:tabular-nums;min-width:42px;font-size:12px}.map-gesture-hint{color:var(--muted);margin:5px 0 12px;font-size:11px;line-height:1.7}.map-surface .map-interactive>svg{touch-action:pan-x pan-y pinch-zoom;-webkit-user-select:none;user-select:none;cursor:grab;background:#f7f9fc;border-radius:12px;overflow:hidden}.map-surface .map-interactive>svg:active{cursor:grabbing}.map-surface .map-interactive>svg.map-touch-active{touch-action:none}.map-surface .map-interactive>svg:focus-visible{outline:3px solid var(--map-accent);outline-offset:3px}.map-surface .map-interactive>svg path{vector-effect:non-scaling-stroke}.sheet.map-expanded-dialog{width:min(1200px,100vw - 28px);max-height:calc(100dvh - 28px);padding:18px}.map-surface .map-expanded-dialog .map-interactive>svg{width:100%;height:clamp(220px,60dvh,760px);max-height:none}.map-expanded-selection{flex-wrap:wrap;align-items:center;gap:12px;padding-top:14px;font-size:12px;display:flex}.map-expanded-selection label{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.map-expanded-selection select{width:auto;max-width:100%}.map-expanded-selection p{margin:0}@media (width<=600px){.map-controls{gap:5px}.map-controls button{padding:8px}.map-controls button span{font-size:11px}.sheet.map-expanded-dialog{width:calc(100vw - 16px);padding:12px}.map-surface .map-expanded-dialog .map-interactive>svg{height:52dvh}}@media (prefers-reduced-motion:reduce){.map-interactive>svg path{transition:none}}.map-surface .map-controls svg{flex-shrink:0;width:18px;height:18px;max-height:none}.map-surface .map-controls svg path{fill:none;stroke:currentColor;stroke-width:2px;cursor:inherit}.map-expanded-dialog>.sheet-heading .icon-button svg{width:20px;height:20px;color:var(--ink);fill:none;stroke:currentColor}.map-expanded-dialog>.sheet-heading .icon-button svg path{fill:none;stroke:currentColor;stroke-width:2px}.map-summary{color:var(--muted);flex-wrap:wrap;gap:12px 24px;margin:20px 0;font-size:13px;display:flex}.map-summary strong{color:var(--ink);letter-spacing:-.04em;margin-right:4px;font-size:28px;font-weight:650}.map-discovery{margin:22px 0 18px}.map-search{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:12px;align-items:center;gap:10px;padding-left:13px;display:flex}.map-search input{background:0 0;border:none;min-width:0}.map-search:focus-within{outline:2px solid var(--red);outline-offset:2px}.map-search input:focus{box-shadow:none;outline:none}.map-filter-row{flex-wrap:wrap;gap:7px;margin:12px 0;display:flex}.map-filter-row button{border-radius:20px;min-height:40px;padding:8px 12px;font-size:12px}.map-filter-row button[aria-pressed=true]{background:var(--red);color:#fff;border-color:var(--red)}.map-region-results{border-top:1px solid var(--line);padding-top:4px}.map-region-results .region-grid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));max-height:235px;padding:4px;overflow-y:auto}.map-region-results .region-grid button{text-wrap:pretty;padding:10px 6px}.map-region-results .region-grid small{font-size:10px}.map-selection-caption{flex-wrap:wrap;align-items:baseline;gap:8px 14px;margin:10px 0 14px;display:flex}.map-selection-caption strong{font-size:20px}.map-selection-caption span,.region-detail-count{color:var(--muted);font-size:12px}.region-detail{margin-bottom:22px}.region-detail .section-head{align-items:baseline;margin-bottom:0}.region-detail .section-head h2{margin-bottom:0}.map-focus-motion{transition:transform .3s cubic-bezier(.22,.61,.36,1)}@media (prefers-reduced-motion:reduce){.map-focus-motion{transition:none}}.map-surface svg.map-canvas[data-gesturing=true]>g{will-change:transform;transition:none}.map-surface svg.map-canvas[data-gesturing=true] path{filter:none;transition:none}.map-surface.japan,.map-surface.world{--map-boundary:#9aaabd;background:var(--canvas);border-radius:24px;padding:20px}.map-surface .map-interactive>svg.map-canvas{background:var(--canvas);border:1px solid var(--line);border-radius:18px;width:100%;height:auto;max-height:620px}.map-surface.japan svg.map-canvas{max-height:620px}.map-surface .map-interactive>svg .map-region-fill:hover{filter:brightness(.94)}.map-surface .map-interactive>svg [data-map-layer=outlines] path{cursor:inherit;transition:none}.map-controls{gap:8px;margin-bottom:10px}.map-controls button{border:1px solid var(--line);background:var(--canvas);border-radius:14px;font-weight:650}.map-controls button:hover:not(:disabled){border-color:var(--red);color:var(--red)}.map-controls button[aria-pressed=true]{color:var(--red);background:var(--pale);border-color:var(--red)}.map-controls output{color:var(--text);font-weight:700}.map-gesture-hint{font-size:12px}.map-selection-caption{border:1px solid var(--line);background:var(--canvas);border-radius:16px;padding:12px 15px}.map-selection-caption strong{color:var(--map-accent)}.map-area-shortcuts{gap:9px;margin-top:16px;display:grid}.map-area-shortcuts>span{color:var(--muted);font-size:12px;font-weight:650}.map-area-shortcuts>div{gap:8px;padding:3px 2px 7px;display:flex;overflow-x:auto}.map-area-shortcuts button{border:1px solid var(--line);background:var(--canvas);border-radius:16px;flex-shrink:0;min-height:44px;padding:10px 14px;font-size:12px}.map-area-shortcuts button:hover{border-color:var(--red);color:var(--red)}.map-surface .map-expanded-dialog .map-interactive>svg.map-canvas{height:min(60dvh,760px);max-height:none}.map-search{background:var(--canvas);border-radius:16px}.map-filter-row button{border:1px solid var(--line);background:var(--canvas);min-height:44px;font-weight:600}.map-filter-row button[aria-pressed=true]{background:var(--red)}.tokyo-map-frame{--tokyo-river:#dcefff;--tokyo-rail:#ddf3e6;--tokyo-park:#e5f8da}.tokyo-map-frame .tokyo-map-scroll{background:var(--canvas);border-radius:24px;position:relative}.tokyo-map-frame .tokyo-map-canvas{min-width:680px}.tokyo-map-frame .tokyo-pin-label{background:var(--canvas);border:1px solid var(--line);border-radius:8px;padding:2px 5px;font-size:12px;line-height:1.5}.tokyo-map-frame .tokyo-pin-dot{width:30px;height:30px;box-shadow:0 0 0 3px var(--canvas);font-size:12px}.tokyo-map-frame .tokyo-map-pin.selected{z-index:1}.tokyo-map-frame .tokyo-map-pin.selected .tokyo-pin-dot{box-shadow:0 0 0 4px var(--canvas), 0 0 0 6px var(--map-accent)}.tokyo-map-frame .tokyo-map-pin.selected .tokyo-pin-label{color:var(--map-accent);border-color:var(--map-accent)}.tokyo-map-pan{justify-content:space-between;align-items:center;gap:8px;margin-top:10px;display:flex}.tokyo-map-pan button{border:1px solid var(--line);background:var(--canvas);border-radius:14px;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:9px 12px;font-size:12px;display:inline-flex}.tokyo-map-pan>span{color:var(--muted);text-align:center;font-size:11px}:root[data-appearance=dark] .map-surface{--map-boundary:#7b8ca2}:root[data-appearance=dark] .tokyo-map-frame{--tokyo-river:#193b56;--tokyo-rail:#254236;--tokyo-park:#29432d}:root[data-motion=reduced] .map-focus-motion,:root[data-motion=off] .map-focus-motion{transition:none}@media (prefers-color-scheme:dark){:root[data-appearance=system] .map-surface{--map-boundary:#7b8ca2}:root[data-appearance=system] .tokyo-map-frame{--tokyo-river:#193b56;--tokyo-rail:#254236;--tokyo-park:#29432d}}@media (width<=600px){.map-surface.japan,.map-surface.world{border-radius:22px;padding:12px}.map-controls button{padding:8px 10px;font-size:12px}.map-surface .map-expanded-dialog .map-interactive>svg.map-canvas{height:52dvh}.map-surface .caption{font-size:11px;line-height:1.7}.tokyo-map-pan button{gap:4px;padding-inline:8px}}.map-interactive>.map-controls{margin-top:14px}@media (width<=600px){.map-keyboard-hint{display:none}}.tokyo-map-frame .tokyo-gesture-canvas{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;aspect-ratio:4/3;border-radius:18px;width:100%;height:auto;display:block;overflow:hidden}.tokyo-gesture-canvas .tokyo-map-canvas,.tokyo-gesture-canvas .tokyo-map-pin{touch-action:none}.tokyo-gesture-canvas[data-gesturing=true]{cursor:grabbing}.tokyo-map-frame .tokyo-gesture-canvas .tokyo-map-canvas{width:600px;min-width:600px;height:450px}.fulfilled-months{gap:24px;display:grid}.fulfilled-months h2{margin:0 0 10px;font-size:18px}.fulfilled-months h2 small{color:var(--muted);font-size:13px;font-weight:500}.journey-atlas{--atlas-blue:#426d8b;--map-boundary:#9aaabd}.municipality-atlas .map-canvas{-webkit-user-select:none;user-select:none;cursor:grab;width:100%;height:auto;max-height:560px;display:block;overflow:hidden}.municipality-atlas .map-canvas.map-touch-active{touch-action:none}.municipality-atlas .map-controls,.municipality-atlas .map-gesture-hint{padding:8px 12px}.atlas-prefecture-shortcuts{flex-wrap:wrap;gap:7px;margin:14px 0;display:flex}.atlas-prefecture-shortcuts button{border-radius:20px;align-items:center;gap:4px;padding:7px 10px;font-size:12px;display:inline-flex}.atlas-prefecture-shortcuts button[aria-pressed=true]{background:var(--ink);color:var(--canvas)}.atlas-breadcrumb{align-items:center;gap:8px;margin:12px 0;font-size:13px;display:flex}.atlas-breadcrumb button{align-items:center;gap:5px;display:inline-flex}.atlas-map-heading{flex-wrap:wrap;align-items:baseline;gap:12px;margin:12px 0;display:flex}.atlas-map-heading h2{margin:0;font-size:18px}.atlas-map-heading>span{color:var(--muted);font-size:13px}.municipality-atlas .map-interactive{border:1px solid var(--line);background:var(--canvas);border-radius:20px;overflow:hidden}.map-interactive,.tokyo-map-frame{position:relative}.municipality-map-labels text{fill:var(--ink);paint-order:stroke;stroke:var(--canvas);stroke-width:2px;stroke-linejoin:round;font-weight:650}.map-region-fill:focus{outline:none;stroke:var(--map-accent)!important;stroke-width:2px!important}.atlas-hover-card{z-index:6;border:1px solid var(--line);background:var(--canvas);border-radius:20px;width:min(290px,100% - 28px);max-height:80%;padding:13px;position:absolute;top:14px;right:14px;overflow:auto;box-shadow:0 12px 35px #20304826}.atlas-preview-title{margin:0 0 10px;padding-right:25px;font-weight:750}.atlas-preview-title small{color:var(--muted);font-size:12px;font-weight:400;display:block}.atlas-preview-close{z-index:1;background:0 0;border:0;min-width:35px;min-height:35px;padding:4px;font-size:21px;position:absolute;top:5px;right:5px}.journey-card{border:1px solid var(--line);background:var(--canvas);border-radius:20px;overflow:hidden}.journey-card.compact{border:none;border-radius:12px}.journey-photo-preview{background:var(--surface,var(--canvas));grid-template-columns:repeat(2,1fr);gap:3px;display:grid}.journey-photo-preview>.photo-preview{aspect-ratio:auto;border-radius:0;width:100%;height:130px}.journey-photo-preview>.photo-preview:only-child{grid-column:1/-1;height:170px}.journey-photo-preview img{object-fit:cover;width:100%;height:100%}.compact .journey-photo-preview>.photo-preview{height:76px}.compact .journey-photo-preview>.photo-preview:only-child{height:130px}.journey-photo-empty{min-height:110px;color:var(--muted);background:color-mix(in srgb, var(--atlas-blue) 7%, var(--canvas));flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;gap:8px;font-size:12px;display:flex}.journey-card-copy{padding:16px}.compact .journey-card-copy{padding:10px 0 0}.journey-card-copy>small{color:var(--muted);font-size:11px}.journey-card h3{overflow-wrap:anywhere;margin:8px 0;font-size:17px;line-height:1.5}.journey-card .text-button{text-align:left;align-items:center;gap:5px;display:inline-flex}.journey-excerpt{-webkit-line-clamp:2;color:var(--muted);-webkit-box-orient:vertical;font-size:13px;display:-webkit-box;overflow:hidden}.journey-card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:18px;margin:18px 0;display:grid}.journey-records{margin:8px 0;font-size:12px}.journey-records summary{cursor:pointer;color:var(--muted);padding:10px 4px}.journey-records .actions{flex-wrap:wrap;gap:8px;display:flex}.atlas-finder{flex-wrap:wrap;align-items:center;gap:10px;margin:20px 0 10px;display:flex}.atlas-finder>input{flex:1;min-width:0}.atlas-check{align-items:center;gap:7px;font-size:12px;display:inline-flex}.atlas-check input,.trip-link-choice input{flex-shrink:0;width:18px;height:18px}.municipality-list{grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:6px;max-height:265px;padding:4px;display:grid;overflow:auto}.municipality-list button{text-align:left;justify-content:space-between;align-items:center;gap:4px;padding:10px;font-size:12px;display:flex}.municipality-list button small{color:var(--muted);white-space:nowrap}.municipality-list button[aria-pressed=true]{border-color:var(--red);background:color-mix(in srgb, var(--red) 9%, var(--canvas))}.atlas-link-trips{align-items:center;gap:7px;margin:24px 0;display:flex}.atlas-wishes{margin:18px 0}.trip-link-choice{border-bottom:1px solid var(--line);align-items:flex-start;gap:10px;padding:12px 4px;font-size:13px;display:flex}.trip-link-choice small{color:var(--muted);font-size:11px;display:block}@media (width<=480px){.journey-atlas .map-summary{flex-wrap:wrap;gap:8px}.journey-card-grid{grid-template-columns:1fr}.atlas-finder>input{flex-basis:100%}.atlas-hover-card{max-height:70%}}@media (prefers-reduced-motion:reduce){.journey-atlas *{scroll-behavior:auto}}.dates-panel{border:1px solid var(--line);background:var(--canvas);border-radius:22px;margin:34px 0;padding:24px}.dates-panel .section-head{margin-top:0}.date-stats{color:var(--muted);flex-wrap:wrap;gap:12px 22px;padding:18px 0;display:flex}.date-stats span{align-items:center;gap:7px;font-size:12px;display:flex}.date-stats strong{color:var(--text);font-size:25px}.date-check{align-items:flex-start;gap:12px;min-height:44px;padding:12px 0;font-size:14px;display:flex}.date-check input{accent-color:#e9253a;flex-shrink:0;width:21px;height:21px;margin:1px 0}.date-check small{color:var(--muted);margin-top:5px;font-size:12px;display:block}.date-links{border:0;max-height:260px;margin:12px 0;padding:0;overflow:auto}.date-links legend{color:var(--muted);font-size:12px;font-weight:600}.date-record{border-bottom:1px solid var(--line);padding:18px 0}.date-record strong{overflow-wrap:break-word;font-size:15px}.date-record p{color:var(--muted);margin:6px 0;font-size:12px}.date-record .actions{margin:12px 0 0}.milestone-badges{flex-wrap:wrap;gap:12px;margin:16px 0;display:flex}.milestone-badge{border:1px solid var(--line);background:var(--canvas);min-width:105px;max-width:100%;color:var(--purple);border-radius:16px;flex-direction:column;align-items:center;gap:7px;padding:15px 12px;display:flex}.milestone-badge strong{font-size:12px}.milestone-badge small{color:var(--muted);font-size:9px}.milestone-badge.historical{background:var(--canvas);border-color:var(--line);color:var(--muted)}.milestone-popup{z-index:81;width:min(380px,100vw - 28px);bottom:calc(92px + env(safe-area-inset-bottom));background:var(--canvas);border:1px solid var(--line);text-align:center;pointer-events:none;border-radius:26px;padding:26px 28px;animation:.3s ease-out milestone-appear;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 16px 50px #6f45351a}.milestone-popup>svg{color:#e9253a;margin-bottom:15px}.milestone-popup h2{overflow-wrap:break-word;font-size:21px;line-height:1.6}.milestone-popup p{color:var(--muted);margin-bottom:0;font-size:12px}.milestone-popup>button{pointer-events:auto;background:0 0;border:0;place-items:center;width:44px;height:44px;display:grid;position:absolute;top:5px;right:5px}.milestone-popup.reduce{animation:none}@keyframes milestone-appear{0%{opacity:0;translate:0 12px}to{opacity:1;translate:0}}@media (width>=601px){.milestone-popup{bottom:30px}}@media (width<=390px){.dates-panel{padding:18px 15px}}@media (prefers-reduced-motion:reduce){.milestone-popup{animation:none}}.calendar-day-details{flex-direction:column;align-items:stretch;gap:12px;display:flex}.calendar-day-details>h2,.calendar-day-details>p{margin:0}.calendar-day-details>button{max-width:100%;margin:0}.calendar-day-details .calendar-event,.calendar-day-details .calendar-record{margin:0}.calendar-candidates{border-top:1px solid var(--line);margin-top:4px;padding-top:14px}.calendar-candidates summary{align-content:center;min-height:44px;display:list-item}.calendar-candidate-list,.home-date-list{gap:12px;display:grid}.home-date-plans{margin:34px 0}.home-date-plan{border:1px solid var(--line);text-align:left;background:var(--canvas);border-radius:18px;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:18px 20px;display:flex}.home-date-plan>span{gap:7px;min-width:0;display:grid}.home-date-plan small,.home-date-plan>span>span{color:var(--muted);font-size:12px}.home-date-plan strong{overflow-wrap:break-word;font-size:17px}.home-date-plan>svg{flex-shrink:0}.home-date-empty{flex-wrap:wrap;align-items:center;gap:12px;padding:18px 0;display:flex}.home-date-empty p{color:var(--muted);margin:0}.journal-range-end{color:var(--muted);font-size:13px}.journal-fulfilled-links{margin:20px 0}.journal-fulfilled-links button{text-align:left}.photo-manage-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;margin:16px 0;display:flex}.photo-delete-preview{text-align:center;margin:0 0 16px}.photo-delete-preview img{object-fit:contain;border-radius:14px;width:100%;max-height:200px;display:block}.photo-delete-preview figcaption{overflow-wrap:anywhere;color:var(--muted);margin-top:8px;font-size:12px}.photo-manage-link{margin-top:8px}.activity-picker .field{min-width:min(160px,100%)}.activity-tools{gap:10px}.chapter-heading>div,.chapter-timeline li>div{min-width:0}.chapter-heading,.home-wishes-section-heading{flex-wrap:wrap}@media (width<=480px){.calendar-day-details .calendar-event{flex-wrap:wrap;gap:8px;padding:14px}.calendar-event strong,.calendar-record strong{overflow-wrap:break-word;min-width:0}.home-wishes-section-heading h2{font-size:21px}.home-date-plan{padding:16px}}h1,h2,h3,h4,summary,.eyebrow,strong,.relationship-heading>span,.home-total-label,.calendar-legend span,.setting-row strong{word-break:normal;overflow-wrap:break-word}@supports (word-break:auto-phrase){h1,h2,h3,h4,strong{word-break:auto-phrase}}.relationship-heading>span,.home-wishes-section-heading h2,.calendar-legend span{white-space:nowrap}.section-head h1,.home-wishes-section-heading h2,.chapter-heading h3,.comment-heading h3,.sheet-title-block>div,.next-occasion>span,.calendar-event strong{flex:auto;min-width:0}.section-head,.home-wishes-section-heading{flex-wrap:wrap}.comment-bubble,.detail-note,.body-text,.conversation-last{word-break:normal;overflow-wrap:anywhere}.talk-button{position:relative}.talk-badge{background:var(--red,#e8748e);color:#fff;text-align:center;border-radius:999px;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;line-height:18px;position:absolute;top:2px;right:2px}.nowrap{white-space:nowrap}:root{font-synthesis:none;color:#23252a;--red:#e61b45;--accent:#e61b45;--muted:#656b7b;--line:#e6e8ef;--pale:#fff0f3;--green:#00856a;--surface:#f5f6f9;--canvas:#fff;--text:#252738;--ink:var(--text);--sidebar:#fffffff5;--shadow:0 24px 80px #18171c20;--mono:ui-monospace, "SFMono-Regular", Consolas, monospace;--on-accent:#fff;--blue:#3a63ea;--purple:#7950d8;background:#fff;font-family:-apple-system,BlinkMacSystemFont,Helvetica Neue,Hiragino Sans,sans-serif;font-size:16px;line-height:1.5}:root[data-appearance=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--red:#ff536b;--accent:#ff536b;--muted:#a5a5b0;--line:#38383d;--pale:#422b31;--green:#83c4ae;--surface:#252529;--canvas:#19191d;--text:#f2f2f7;--sidebar:#1c1c20f0;--on-accent:#1c1115;--blue:#91adff;--purple:#c1a5ff;background:var(--canvas);color:var(--text)}@media (prefers-color-scheme:dark){:root[data-appearance=system]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--red:#ff536b;--accent:#ff536b;--muted:#a5a5b0;--line:#38383d;--pale:#422b31;--green:#83c4ae;--surface:#252529;--canvas:#19191d;--text:#f2f2f7;--sidebar:#1c1c20f0;--on-accent:#1c1115;--blue:#91adff;--purple:#c1a5ff;background:var(--canvas);color:var(--text)}}*{box-sizing:border-box}body{color:var(--text);background:var(--canvas);margin:0}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer;overflow-wrap:anywhere;border:1px solid var(--line);background:var(--surface);min-width:0;max-width:100%;min-height:44px;color:var(--text);border-radius:12px;padding:9px 16px;transition:background .15s,transform .12s}button:hover{background:color-mix(in srgb, var(--text), var(--surface) 94%)}button:active{transform:scale(.98)}button:disabled{opacity:.55;cursor:progress}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--red);outline-offset:3px}a{color:var(--red);text-underline-offset:3px}h1,h2,h3,p{margin:0}h1{letter-spacing:-.8px;font-size:34px;font-weight:750;line-height:1.3}h2{letter-spacing:-.35px;font-size:21px;font-weight:600}h3{font-size:16px;font-weight:600}p{line-height:1.7}small{color:var(--muted);font-size:12px}svg{stroke-width:1.7px;flex-shrink:0}.primary,.button-link{background:var(--red);color:var(--on-accent);border-color:#0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 18px;font-weight:650;text-decoration:none;display:inline-flex}.primary:hover{background:color-mix(in srgb, var(--red), black 9%)}.muted,.caption,.page-intro,.setting-help{color:var(--muted)}.caption{font-size:13px}.page-intro{margin-top:8px;font-size:14px}.eyebrow,.page-kicker{color:var(--muted);letter-spacing:0;font-size:12px;font-weight:500}.page-kicker{margin-bottom:8px}.actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px;display:flex}.icon-button{background:0 0;border:0;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:inline-flex}.text-button{color:var(--red);background:0 0;border:0;align-items:center;gap:6px;padding:8px;display:inline-flex}.app-shell{grid-template-columns:218px minmax(0,1fr);min-height:100dvh;display:grid}.sidebar{background:var(--sidebar);border-right:1px solid var(--line);flex-direction:column;height:100dvh;padding:36px 20px 24px;display:flex;position:sticky;top:0}.brand{letter-spacing:-.9px;align-items:center;gap:10px;padding:0 4px 48px;font-size:21px;font-weight:750;line-height:1.05;display:flex}.brand-icon{border-radius:12px;flex-shrink:0;width:42px;height:42px}.sidebar nav{gap:8px;display:grid}.sidebar nav button,.sidebar-settings{text-align:left;min-height:48px;color:var(--muted);background:0 0;border:0;align-items:center;gap:12px;padding:11px 14px;font-size:14px;display:flex;position:relative}.sidebar nav button:hover,.sidebar-settings:hover{background:var(--surface)}.sidebar nav button[aria-current=page]{color:var(--red);background:var(--pale);font-weight:700}.sidebar-settings{margin-top:28px}.sidebar-profile{border-top:1px solid var(--line);overflow-wrap:anywhere;align-items:center;gap:10px;margin-top:auto;padding:20px 0 0;font-size:12px;display:flex}.sidebar-profile small{margin-top:3px;font-size:11px;display:block}.workspace{min-width:0}.topbar{z-index:5;background:color-mix(in srgb, var(--canvas), transparent 5%);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);justify-content:space-between;align-items:center;gap:12px;height:74px;padding:0 44px;display:flex;position:sticky;top:0}.topbar-identity{min-width:0}.mobile-brand{display:none}.breadcrumb{color:var(--muted);overflow-wrap:anywhere;align-items:center;gap:9px;font-size:13px;font-weight:500;display:flex}.sync-indicator{background:var(--green);border-radius:50%;flex-shrink:0;width:5px;height:5px}.toolbar{flex-shrink:0;align-items:center;gap:8px;display:flex}.toolbar-add{min-height:44px;color:var(--on-accent);background:var(--red);border:0;border-radius:14px;align-items:center;gap:6px;padding:10px 17px;font-weight:650;display:inline-flex}.toolbar-add:hover{background:color-mix(in srgb, var(--red), black 8%)}.mobile-settings{display:none}.main-content{max-width:1080px;margin:0 auto;padding:30px 44px 72px}.sync-status{min-height:22px;color:var(--muted);text-align:right;margin-bottom:14px;font-size:13px}.sync-status-quiet{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;min-height:0;margin:0;padding:0;position:absolute;overflow:hidden}.section-head{justify-content:space-between;align-items:center;gap:14px;margin-bottom:24px;display:flex}.page-add{flex-shrink:0;gap:5px;padding:10px 14px;font-size:14px;font-weight:650}.section-head>div{min-width:0}.section-head h1{margin-bottom:4px}.wish-card{text-align:left;border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0;align-items:center;gap:18px;width:100%;min-height:104px;padding:23px 4px;display:flex}.wish-card:last-child{border-bottom:0}.wish-card:hover{background:color-mix(in srgb, var(--surface), transparent 25%)}.wish-copy{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.wish-copy strong{letter-spacing:-.35px;overflow-wrap:anywhere;font-size:19px;font-weight:650;line-height:1.45}.wish-copy .eyebrow{font-size:12px;font-weight:500}.card-number{font-family:var(--mono);color:var(--muted);align-self:flex-start;min-width:24px;padding-top:4px;font-size:12px}.card-arrow{color:var(--muted);width:17px}.next-step,.place{color:var(--muted);font-size:13px}.next-step{margin-top:2px}.add-wide{width:100%;margin-top:16px}.empty{text-align:center;color:var(--muted);padding:32px 20px}.empty h3{color:var(--text);margin:14px 0 7px}.empty p{max-width:310px;margin:auto;font-size:14px}.empty-symbol{color:var(--red);opacity:.6}.empty button{margin-top:20px}.filters{align-items:center;gap:8px;margin:16px 0;display:flex}.filters select{flex:1;min-width:0}.filters button{white-space:nowrap}.field{flex-direction:column;gap:7px;min-width:0;margin:15px 0;display:flex}.field>span{font-size:13px;font-weight:500}.field-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}input:not([type=checkbox]),select,textarea{border:1px solid var(--line);background:var(--canvas);width:100%;min-height:44px;color:var(--text);border-radius:16px;min-width:0;padding:14px 15px;font-size:16px}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23727b89' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 8 5 5 5-5'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:16px}input[type=date]{appearance:none;text-align:left;min-inline-size:0;max-inline-size:min(100%,18rem);display:block}input[type=date]::-webkit-date-and-time-value{text-align:left;min-height:1.5em}input[type=date]::-webkit-datetime-edit{min-width:0;padding:0}textarea{resize:vertical;line-height:1.6}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.7}input[type=file]{padding:9px;font-size:12px}input[type=file]::file-selector-button{background:var(--canvas);color:var(--red);font:inherit;cursor:pointer;border:0;border-radius:6px;margin-right:10px;padding:6px 9px}input[type=checkbox]{accent-color:var(--red)}details{border-top:1px solid var(--line);margin-top:18px;padding:16px 0}summary{cursor:pointer;min-height:44px;color:var(--red);align-content:center;font-size:13px;font-weight:500;list-style:none}summary::-webkit-details-marker{display:none}summary:before{content:"›";width:14px;font-weight:700;transition:transform .15s ease-out;display:inline-block}details[open]>summary:before{transform:rotate(90deg)}details>p{margin:10px 0}.sheet{border:1px solid var(--line);overscroll-behavior:none;background:var(--canvas);width:min(580px,100vw - 32px);min-width:0;max-width:calc(100% - 16px);max-height:90svh;color:var(--text);box-shadow:var(--shadow);border-radius:30px;margin:auto;padding:28px;position:fixed;inset:0;overflow:hidden auto}.sheet::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#20264150}.sheet-heading{justify-content:space-between;align-items:center;gap:16px;margin:-3px 0 18px;display:flex}.sheet-heading h2{letter-spacing:-.6px;overflow-wrap:break-word;font-size:24px;font-weight:750;line-height:1.45}.sheet-heading>.icon-button{background:var(--canvas);border:1px solid var(--line);border-radius:50%;width:44px;min-width:44px;height:44px;min-height:44px}.sheet-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:25px;display:flex}.sheet-footer .muted{font-size:11px}.sheet fieldset{min-width:0}.body-text{white-space:pre-wrap;overflow-wrap:anywhere}.sheet .body-text{margin:12px 0}.first-step{background:var(--canvas);border-radius:12px;margin:20px 0;padding:17px}.first-step span{color:var(--muted);font-size:11px}.first-step p{margin-top:6px}.sheet .caption{margin-top:18px}.diff{border:1px solid var(--line);border-radius:12px;margin:12px 0;padding:15px}.diff>strong{font-size:15px}.diff p{flex-wrap:wrap;align-items:baseline;gap:8px;margin-top:9px;font-size:13px;display:flex}.diff p>span{color:var(--muted);min-width:70px}.diff del{color:var(--muted)}.diff b{font-weight:500}.error,.notice,.inline-success{overflow-wrap:anywhere;border-radius:11px;margin:14px 0;padding:13px 16px;font-size:13px}.sheet>.notice{left:50%;bottom:calc(18px + env(safe-area-inset-bottom));z-index:6;pointer-events:none;border-radius:999px;width:max-content;max-width:calc(100vw - 48px);margin:0;padding:8px 14px;font-size:12px;position:fixed;transform:translate(-50%);box-shadow:0 6px 20px #20264126}.error{color:var(--red);background:#b72f4110;border:1px solid #e31c3930}.error button{margin-left:8px}.inline-success{color:var(--green);background:color-mix(in srgb, var(--green), transparent 93%)}.toast{z-index:30;background:var(--surface);box-shadow:var(--shadow);border:1px solid var(--line);border-radius:14px;align-items:center;gap:10px;max-width:calc(100vw - 30px);padding:6px 8px 6px 18px;font-size:13px;display:flex;position:fixed;bottom:24px;left:calc(50% + 105px);transform:translate(-50%)}.toast>svg{color:var(--green)}.outbox,.upload-retry{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--red);border-radius:10px;margin-bottom:16px;padding:12px;font-size:13px}.upload-retry button{margin:6px}.undo{color:var(--muted);background:0 0;border:0;margin-top:24px;padding-left:0;font-size:12px}.sort-card{text-align:center;padding:30px 10px}.sort-card h3{margin-bottom:9px;font-size:24px}.sort-card>p{color:var(--muted);font-size:13px}.sort-actions{grid-template-columns:1fr 1fr;gap:10px;margin:28px 0 20px;display:grid}.sort-actions button{justify-content:center;align-items:center;gap:9px;min-height:64px;display:flex}.sort-actions svg{color:var(--red)}.segmented{background:color-mix(in srgb, var(--muted), transparent 88%);border-radius:9px;width:max-content;margin:16px 0;padding:3px;display:flex}.segmented button{background:0 0;border:0;border-radius:7px;min-width:95px;min-height:34px;padding:6px 20px;font-size:13px}.segmented button[aria-pressed=true]{background:var(--surface);box-shadow:0 1px 4px #00000016}.legend{color:var(--muted);gap:18px;margin:15px 0;font-size:11px;display:flex}.legend span{align-items:center;gap:5px;display:flex}.legend span:first-child{color:var(--red)}.legend span:last-child{color:var(--green)}.map-surface{border:1px solid var(--line);background:var(--surface);border-radius:17px;margin-bottom:28px;padding:18px}.map-surface svg.map-canvas{width:100%;max-height:390px;display:block}.map-surface svg.map-canvas path{fill:#d8dfe3;stroke:var(--surface);stroke-width:.7px;cursor:pointer;vector-effect:non-scaling-stroke;transition:fill .16s}.map-surface svg.map-canvas path:hover,.map-surface svg.map-canvas path.selected{fill:#a5b6c4;stroke:var(--red);stroke-width:1.5px}.map-surface svg.map-canvas path.done{fill:color-mix(in srgb, var(--green), white 34%)}.map-surface svg.map-canvas path.want{stroke:var(--red);stroke-width:1.5px}.map-surface .caption{margin-top:12px;font-size:10px}.region-grid{grid-template-columns:repeat(5,1fr);gap:7px;margin:16px 0;display:grid}.region-grid button{min-height:44px;padding:7px 3px;font-size:12px}.region-grid button.visited{background:color-mix(in srgb, var(--green), transparent 93%);color:var(--green)}.region-grid button.desired{border-color:color-mix(in srgb, var(--red), transparent 50%)}.region-grid button[aria-pressed=true]{outline:2px solid var(--red)}.region-grid small{margin-top:2px;font-size:9px;display:block}.region-detail{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px}.region-detail h2{margin-bottom:16px}.region-detail p{margin:8px 0}.visit-row{border-bottom:1px solid var(--line);padding:12px 0;font-size:13px}.history-row{border:0;border-bottom:1px solid var(--line);text-align:left;border-radius:0;justify-content:space-between;width:100%;display:flex}.subtle-stat{color:var(--muted);margin-top:22px;font-size:12px}.memory-card{border:1px solid var(--line);background:var(--surface);border-radius:16px;margin:22px 0;padding:24px}.memory-card h2{margin:9px 0 12px;font-size:20px}.photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:20px 0;display:grid}.photos img{aspect-ratio:1;object-fit:cover;border-radius:10px;width:100%;display:block}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.photo-grid button{padding:0;overflow:hidden}.photo-grid img{aspect-ratio:1;object-fit:cover;width:100%;display:block}.settings-sheet{width:min(900px,100vw - 40px);max-height:90svh;padding:0;overflow:hidden}.settings-sheet>.sheet-heading{background:var(--surface);border-bottom:1px solid var(--line);margin:0;padding:16px 20px}.settings-layout{grid-template-columns:190px minmax(0,1fr);height:min(700px,90svh - 68px);min-height:350px;display:grid}.settings-nav{background:var(--canvas);border-right:1px solid var(--line);padding:18px 10px;overflow:auto}.settings-nav button{text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;width:100%;margin-bottom:3px;padding:9px 10px;font-size:13px;display:flex}.settings-nav button>svg:last-child{opacity:.4;width:12px;margin-left:auto}.settings-nav button[aria-current=page]{background:var(--pale);color:var(--red);font-weight:600}.settings-content{overscroll-behavior:contain;background:var(--canvas);min-width:0;padding:28px 30px;overflow:auto}.settings-title{margin-bottom:25px;font-size:23px}.setting-group{margin:24px 0}.setting-group>h3{color:var(--muted);margin:0 2px 9px;font-size:13px;font-weight:500}.setting-group-body{background:var(--surface);border:0;border-radius:16px;overflow:hidden}.setting-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;min-height:62px;padding:13px 16px;display:flex}.setting-row:last-child{border:0}.setting-row strong{font-size:15px;font-weight:550}.setting-row small{margin-top:4px;font-size:12px;line-height:1.5;display:block}.setting-value{max-width:50%;color:var(--muted);text-align:right;flex-shrink:0;font-size:13px}.setting-value select{min-height:44px;padding:7px 9px;font-size:13px}.setting-value button{min-height:44px;padding:6px 12px;font-size:13px}.setting-form{padding:15px 17px}.setting-form>.field:first-child{margin-top:0}.setting-form p{font-size:13px}.setting-help{margin:8px 2px 0;font-size:12px;line-height:1.6}.setting-form form{margin-top:24px}.profile-heading{align-items:center;gap:14px;padding:20px 17px 0;display:flex}.profile-heading strong{font-size:16px;font-weight:550}.profile-heading p{color:var(--muted);font-size:13px}.profile-avatar{width:49px;height:49px;color:var(--red);background:var(--pale);border-radius:50%;flex-shrink:0;place-items:center;font-size:19px;font-weight:500;display:grid}.profile-avatar.small{width:32px;height:32px;font-size:13px}.member-dot{background:var(--green);border-radius:50%;width:7px;height:7px;display:block}.pill{background:var(--canvas);border-radius:5px;padding:3px 8px;font-size:10px;display:inline-block}.switch-row{justify-content:space-between;align-items:center;gap:20px;display:flex}.switch-row strong{font-size:15px;font-weight:550}.switch-row small{margin-top:4px;font-size:12px;display:block}.switch-row input{width:19px;height:19px}.secret-code{background:var(--canvas);border-radius:10px;margin:14px 0;padding:12px}.secret-code textarea{word-break:break-all;font-family:ui-monospace,monospace;font-size:12px}.secret-code button{margin:8px 6px 0 0}.danger-button{color:var(--red);background:0 0}.danger-fill{color:#fff;background:#b73546;border-color:#0000}.danger-fill:hover{background:#a32c3b}.danger-summary{background:var(--canvas);border-radius:10px;margin:15px 0;padding:15px;font-size:13px}.about-mark{text-align:center;color:var(--red);padding:18px}.about-mark h3{color:var(--text);margin:12px 0 6px;font-size:26px}.about-mark p{color:var(--muted);font-size:13px}.loading{min-height:100dvh;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:15px;font-size:13px;display:flex}.loading svg{color:var(--red)}.login{background:var(--canvas);place-items:center;min-height:100dvh;padding:30px;display:grid}.login-card{text-align:center;background:var(--canvas);width:min(430px,100%);box-shadow:none;border:0;border-radius:0;padding:42px 30px}.login .brand-mark{color:#fff;background:#fff;border-radius:20px;place-items:center;width:73px;height:73px;margin:0 auto 22px;display:grid}.login h1{margin-bottom:12px;font-size:35px}.login p{color:var(--muted);font-size:16px}.login .caption{margin-top:30px;font-size:12px}.login .button-link{margin-top:28px}.local-entry{border-top:1px solid var(--line);margin-top:30px;padding-top:23px}.local-entry .actions{flex-direction:column;justify-content:center}.local-entry button{width:100%;font-size:13px}.local-entry small{margin-top:12px;display:block}.location-picker .location-options{flex-wrap:wrap;gap:6px;display:flex}.location-picker button{padding:6px 9px;font-size:12px}.location-picker button[aria-pressed=true]{background:var(--pale);color:var(--red)}@media (width>=1300px){.main-content{padding-top:32px}.home-heading{margin-bottom:34px}}@media (width<=1000px){.app-shell{grid-template-columns:190px minmax(0,1fr)}.main-content{padding:26px 28px 65px}.topbar{padding:0 26px}.counts button{padding:4px 18px}.home-orbit{width:90px;height:90px}.settings-content{padding:22px}.settings-layout{overscroll-behavior:contain;grid-template-columns:165px minmax(0,1fr)}}@media (width<=700px){.app-shell{display:block}.sidebar{z-index:20;width:100%;height:auto;padding:6px 8px calc(8px + env(safe-area-inset-bottom));border-right:0;border-top:1px solid var(--line);background:var(--sidebar);position:fixed;top:auto;bottom:0}.sidebar .brand,.sidebar-settings,.sidebar-profile{display:none}.sidebar nav{justify-content:space-around;gap:0;display:flex}.sidebar nav button{white-space:nowrap;border-radius:9px;flex-direction:column;flex:1;gap:4px;min-width:0;min-height:54px;padding:5px 3px;font-size:11px;background:0 0!important}.sidebar nav button svg{width:21px;height:21px}.sidebar nav button[aria-current=page] svg{fill:color-mix(in srgb, var(--red), transparent 86%)}.workspace{padding-bottom:80px}.topbar{height:70px;padding:0 20px}.mobile-settings{display:inline-flex}.toolbar{gap:1px}.toolbar-add{padding:8px}.toolbar-add span{display:none}.breadcrumb{font-size:12px}.main-content{padding:16px 20px 35px}.sync-status{margin-bottom:7px;font-size:12px}.home-heading{gap:8px;margin-bottom:22px}.home-heading h1{font-size:29px}.home-orbit{flex-shrink:0;width:78px;height:82px}.home-orbit svg{width:34px}.home-heading .page-intro{font-size:12px}.counts{border-radius:14px;margin-bottom:27px;padding:13px 0}.counts button{min-height:64px;padding:5px 14px}.counts strong{font-size:25px}.counts span{font-size:10px}.section-head{margin-bottom:16px}.section-head h1{font-size:26px}h2{font-size:17px}.wish-card{gap:12px;padding:20px 0}.wish-copy strong{font-size:18px}.card-number{width:27px;height:27px;font-size:11px}.filters{flex-wrap:wrap;gap:5px}.filters select{padding:9px 6px;font-size:12px}.filters button{padding:8px;font-size:12px}.sheet{width:calc(100vw - 16px);max-height:92svh;top:max(12px, env(safe-area-inset-top));border-radius:24px;margin:0 auto;padding:22px;bottom:auto}.sheet-footer{flex-direction:column;align-items:flex-start}.sheet-footer button{width:100%}.settings-sheet{width:calc(100vw - 16px);max-height:92svh;padding:0}.settings-layout{height:calc(92svh - 64px);min-height:0;display:block;overflow:auto}.settings-nav{overscroll-behavior-x:contain;border-right:0;border-bottom:1px solid var(--line);z-index:2;gap:5px;padding:9px 12px;display:flex;position:sticky;top:0;overflow-x:auto}.settings-nav button{flex-shrink:0;gap:5px;width:auto;min-height:40px;margin:0;padding:7px 9px}.settings-nav button>svg:first-child{width:14px}.settings-nav button>svg:last-child{display:none}.settings-content{padding:20px 16px;overflow:visible}.settings-title{margin-bottom:20px;font-size:21px}.setting-row{gap:10px;padding:12px}.setting-row strong{font-size:14px}.setting-value{max-width:48%}.setting-value select{font-size:16px}.setting-form{padding:15px 13px}.setting-group{margin:20px 0}.toast{left:50%;bottom:calc(85px + env(safe-area-inset-bottom));width:max-content;max-width:calc(100vw - 30px);font-size:12px}.region-grid{grid-template-columns:repeat(4,1fr)}.map-surface{padding:12px}.map-surface svg.map-canvas{max-height:330px}.memory-card{padding:20px 17px}.memory-card h2{font-size:18px}.login{padding:20px}.login-card{padding:34px 22px}.photos{gap:6px}}@media (width<=359px){.main-content{padding:15px 14px 30px}.counts button{padding:4px 10px}.counts strong{font-size:23px}.counts span{font-size:9px}.field-row{grid-template-columns:1fr;gap:0}.region-grid{grid-template-columns:repeat(3,1fr)}.home-orbit{width:56px}.home-heading h1{font-size:26px}.settings-content{padding:18px 12px}.setting-row{flex-wrap:wrap;align-items:flex-start}.setting-value{max-width:100%}.section-head .text-button{font-size:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}button:active{transform:none}}@media (width<=700px){.topbar .breadcrumb{display:none}.mobile-brand{letter-spacing:-.5px;align-items:center;gap:8px;font-size:15px;font-weight:750;display:flex}.mobile-brand img{border-radius:8px;width:28px;height:28px}.toolbar-add{justify-content:center;width:44px;padding:0}.setting-value select,.sheet input,.sheet select,.sheet textarea{font-size:16px}}@media (width<=359px){.topbar{gap:6px;padding:0 14px}.mobile-brand{gap:6px;font-size:13px}.main-content{padding:14px 16px 30px}}@media (width<=700px){.sidebar{background:var(--canvas)}}.wish-list:not(:empty){border:1px solid var(--line);border-radius:15px;overflow:hidden}.record-more{border:0;margin:0;padding:0;position:relative}.record-more summary{min-height:44px;color:var(--muted);align-items:center;padding:8px 14px;display:flex}.record-more[open] .danger-button{white-space:normal;background:var(--surface);width:100%;height:auto;box-shadow:var(--shadow);position:static}.record-more[open]{flex:100%;min-width:0}.record-more[open] fieldset{min-width:0}.memory-card .actions>button{align-items:center;gap:7px;font-size:12px;display:flex}.memory-card details summary svg{vertical-align:middle;margin-right:5px}.sidebar-profile>span:last-child{min-width:0}.sidebar-profile{font-size:11px}.sidebar-profile>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.backup-panel>h3{margin-bottom:12px}.backup-panel>button{margin:14px 6px 12px 0;font-size:12px}.brand-icon img,.brand-mark img{object-fit:contain;border-radius:inherit;width:100%;height:100%}.loading-icon{border-radius:18px;width:72px;height:72px}.home-heading{align-items:center}.home-lighthouse{flex-shrink:0;width:190px}.story-illustration{width:100%;height:auto;display:block;overflow:visible}.counts button:first-child{background:var(--pale);border-radius:18px;padding-left:20px}.counts button:first-child strong{color:var(--red);font-variant-numeric:tabular-nums;letter-spacing:-2px;font-size:clamp(38px,7vw,60px)}.counts strong{font-variant-numeric:tabular-nums}.collection-panel{border:1px solid var(--line);background:var(--surface);border-radius:20px;margin:24px 0 34px;padding:23px 25px 10px}.collection-progress-copy{justify-content:space-between;align-items:center;gap:22px;display:flex}.collection-progress-copy h2{margin:5px 0 9px;font-size:20px}.collection-progress-copy p{color:var(--muted);max-width:390px;font-size:13px}.collection-progress-copy>svg{flex:0 0 140px;width:140px}.collection-progress{background:var(--pale);border-radius:8px;height:5px;margin-top:19px;overflow:hidden}.collection-progress>span{background:var(--red);border-radius:8px;height:100%;transition:width .45s cubic-bezier(.2,.8,.2,1);display:block}.collection-progress-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:5px 15px;margin-top:6px;display:flex}.badge-series{margin:30px 0}.badge-series h3{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.badge-series h3 small{font-weight:400}.badge-collection{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.collection-badge{border:1px solid var(--line);background:var(--canvas);text-align:center;border-radius:14px;flex-direction:column;align-items:center;min-width:0;padding:9px 5px 13px;display:flex}.collection-badge.earned{background:var(--surface);border-color:color-mix(in srgb, var(--red), var(--line) 75%)}.collection-badge>svg{width:100%;max-width:100px}.collection-badge strong{letter-spacing:-1px;font-size:26px;font-weight:600}.collection-badge strong small{letter-spacing:0;margin-left:3px;font-size:11px}.collection-badge span{color:var(--muted);margin-top:2px;font-size:10px}.collection-badge.locked svg,.collection-badge.past svg{opacity:.42;filter:grayscale()}.collection-badge.locked strong{color:var(--muted)}.time-badges{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.time-badges button{flex-direction:column;align-items:center;padding:8px;display:flex}.time-badges strong{font-size:13px}.badge-replay{text-align:center;padding:4px 10px 24px}.badge-replay>svg{max-width:340px;margin:auto}.badge-replay h2{margin:8px 0 12px}.badge-replay p{color:var(--muted);margin-bottom:25px;font-size:13px}.badge-empty{text-align:center;margin:25px auto}.badge-empty>svg{width:160px;margin:auto}.empty-illustration{width:160px;margin:0 auto 12px}.empty .empty-symbol{display:none}.journal-empty>.story-illustration{width:180px;margin:auto}.map-empty-art{justify-content:center;align-items:center;gap:16px;margin:20px 0;display:flex}.map-empty-art>svg{width:110px}.map-empty-art p{font-size:12px}.tokyo-map-heading{justify-content:space-between;align-items:center;margin-top:12px;font-size:14px;font-weight:600;display:flex}.tokyo-map-scroll{overscroll-behavior-x:contain;border:1px solid var(--line);background:var(--surface);scrollbar-width:thin;border-radius:20px;overflow-x:auto}.tokyo-map-canvas{aspect-ratio:600/450;width:100%;min-width:640px;position:relative}.tokyo-map-canvas>svg{width:100%;height:100%;position:absolute;inset:0}.tokyo-map-pin{background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:44px;min-height:44px;padding:4px 1px;display:flex;position:absolute;transform:translate(-50%,-50%)}.tokyo-map-pin:hover,.tokyo-map-pin:active{background:0 0;transform:translate(-50%,-50%)}.tokyo-pin-dot{color:#23354d;border:2px solid;border-radius:50%;place-items:center;width:27px;height:27px;font-size:11px;font-weight:650;transition:box-shadow .2s,scale .2s;display:grid;box-shadow:0 1px 5px #2030460b}.tokyo-map-pin.selected .tokyo-pin-dot{box-shadow:0 0 0 4px var(--surface), 0 0 0 6px var(--red);scale:1.08}.tokyo-pin-label{white-space:nowrap;color:var(--text);background:var(--surface);border-radius:4px;padding:1px 4px;font-size:10px}.tokyo-map-caption{margin-top:9px}.tokyo-area-results{margin-top:17px}.tokyo-city-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0;display:grid}.tokyo-city-list button{text-align:left;flex-direction:column;align-items:flex-start;gap:5px;padding:12px;font-size:13px;display:flex}.tokyo-city-list button[aria-pressed=true]{border-color:var(--red);background:var(--pale)}.tokyo-area-picker{margin:15px 0}.tokyo-area-picker .actions{margin-top:8px}.tokyo-area-picker .caption{margin-top:6px}.rich-story-art>svg{max-width:320px}.milestone-popup>.story-illustration{width:210px;height:125px;margin:-10px auto 8px}.milestone-popup{background:var(--surface);border-color:var(--line);color:var(--text)}.milestone-popup p{color:var(--muted)}.dates-panel{background:var(--surface);border-color:var(--line)}.date-stats,.date-record p{color:var(--muted)}.date-stats strong{color:var(--text)}:root[data-motion=full] .page-transition{animation:.26s ease-out both page-settle}:root[data-motion=full] .sheet[open]{animation:.26s cubic-bezier(.2,.8,.2,1) both sheet-settle}:root[data-motion=full] .sheet::backdrop{animation:.2s ease-out quiet-fade}:root[data-motion=full] .record-saved{animation:.8s ease-out saved-record}:root[data-motion=full] .journal-card{animation:.3s ease-out both page-settle}:root[data-motion=full] .journal-photo img,:root[data-motion=full] .memory-photos img{animation:.4s ease-out quiet-fade}.busy-dot{background:currentColor;border-radius:50%;width:7px;height:7px;display:inline-block}:root[data-motion=full] .busy-dot{animation:.8s ease-in-out 5 alternate busy-breathe}:root[data-motion=full] .story-play .story-rise,:root[data-motion=full] .story-play .story-book{transform-origin:50% 85%;animation:.7s cubic-bezier(.2,.8,.2,1) both story-rise}:root[data-motion=full] .story-play .story-water{animation:1.3s ease-in-out 2 alternate story-water}:root[data-motion=full] .story-play .story-light{transform-origin:158px 61px;animation:1.5s ease-in-out 2 alternate story-light}:root[data-motion=full] .story-play .story-sail{transform-origin:160px 147px;animation:1.2s ease-in-out 3 alternate story-sail}:root[data-motion=full] .story-play .story-flower{transform-box:fill-box;transform-origin:50%;animation:.8s ease-out both story-flower}:root[data-motion=full] .story-play .story-flower-1{animation-delay:.12s}:root[data-motion=full] .story-play .story-flower-2{animation-delay:.24s}:root[data-motion=full] .story-play .story-ribbon,:root[data-motion=full] .story-play .story-heart{animation:1s ease-out both quiet-fade}:root[data-motion=full] .story-play .story-stamp{transform-origin:50%;animation:.8s cubic-bezier(.2,.8,.2,1) both story-stamp}:root[data-motion=full] .story-play .story-postmark{animation:1s .25s both quiet-fade}:root[data-motion=full] .story-play .story-spark{transform-box:fill-box;transform-origin:50%;animation:1s ease-out both story-flower}:root[data-motion=full] .story-play .story-spark-1{animation-delay:.2s}:root[data-motion=full] .story-play .story-spark-2{animation-delay:.4s}:root[data-motion=full] .story-play .story-spark-3{animation-delay:.6s}@keyframes page-settle{0%{opacity:0;translate:0 5px}to{opacity:1;translate:0}}@keyframes sheet-settle{0%{opacity:0;translate:0 12px}to{opacity:1;translate:0}}@keyframes quiet-fade{0%{opacity:0}to{opacity:1}}@keyframes saved-record{0%{background:var(--pale);box-shadow:0 0 0 2px var(--red)}to{box-shadow:0 0 #0000}}@keyframes busy-breathe{to{opacity:.3}}@keyframes story-rise{0%{opacity:0;translate:0 9px;scale:.88}to{opacity:1;translate:0;scale:1}}@keyframes story-water{to{translate:5px}}@keyframes story-light{0%{opacity:.25;rotate:-3deg}to{opacity:1;rotate:3deg}}@keyframes story-sail{0%{translate:0 1px;rotate:-2deg}to{translate:0 -2px;rotate:2deg}}@keyframes story-flower{0%{opacity:0;scale:.5}to{opacity:1;scale:1}}@keyframes story-stamp{0%{opacity:0;rotate:-12deg;scale:1.15}to{opacity:1;rotate:0deg;scale:1}}:root[data-motion=off] *,:root[data-motion=off] :before,:root[data-motion=off] :after,:root[data-motion=reduced] *,:root[data-motion=reduced] :before,:root[data-motion=reduced] :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}:root[data-motion=off] button:active,:root[data-motion=reduced] button:active{scale:1}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (width<=600px){.home-lighthouse{width:112px;margin-left:-12px}.home-heading h1{max-width:230px;font-size:26px}.home-heading .page-intro{max-width:230px}.counts button:first-child{padding-left:12px}.counts button span{font-size:10px}.collection-panel{padding:17px 16px 8px}.collection-progress-copy{gap:7px}.collection-progress-copy>svg{flex-basis:82px;width:82px}.collection-progress-copy h2{font-size:17px}.collection-progress-copy p{font-size:12px}.badge-collection{grid-template-columns:repeat(3,minmax(0,1fr))}.tokyo-city-list{grid-template-columns:repeat(2,minmax(0,1fr))}.collection-progress-footer .text-button{font-size:12px}.time-badges{grid-template-columns:repeat(2,minmax(0,1fr))}}:root[data-motion=full] .save-feedback .counts strong{animation:.75s ease-out count-saved}@keyframes count-saved{0%{translate:0}35%{translate:0 -3px}to{translate:0}}:root[data-motion=off] button:active:not(.tokyo-map-pin),:root[data-motion=reduced] button:active:not(.tokyo-map-pin){transform:none!important}@media (prefers-reduced-motion:reduce){button:active:not(.tokyo-map-pin){transform:none!important}}.celebration-popup .celebration-art.rich-story-art,.celebration-gallery-grid .celebration-art.rich-story-art{aspect-ratio:320/190;height:auto}.celebration-popup .celebration-art.rich-story-art{margin-bottom:10px}.celebration-art.rich-story-art>.story-illustration{width:100%;height:100%;display:block}.sheet .sheet-title-block{flex:auto;align-items:center;gap:15px;min-width:0;display:flex}.sheet-title-block>div{flex:auto;min-width:0}.sheet .sheet-eyebrow{white-space:nowrap;color:var(--muted);margin:0 0 4px;font-size:11px;font-weight:650}.sheet-motif{height:57px;color:var(--red);border:1.5px solid;border-radius:20px;flex:0 0 57px;place-items:center;display:grid;transform:rotate(-6deg)}.sheet-motif .joy-doodle{width:44px;height:44px}.sheet-motif.motif-flower{color:var(--purple);transform:rotate(5deg)}.sheet-motif.motif-ticket{color:var(--blue)}.sheet-motif.motif-lighthouse{color:var(--green)}.sheet .field>span{color:var(--text);font-weight:650}.sheet .field input:focus,.sheet .field textarea:focus,.sheet .field select:focus{border-color:var(--red)}.sheet .field input[type=file]{border-style:dashed;padding:10px}.sheet input[type=file]::file-selector-button{background:var(--pale);color:var(--red);border-radius:11px;min-height:44px;padding:10px 12px;font-size:13px}.sheet form>.primary:last-child{border-radius:16px;width:100%;min-height:48px;margin-top:18px}.sheet .sheet-footer .primary{border-radius:16px;min-height:48px}.sheet .sheet-footer .muted{font-size:12px}.sheet .actions>button{border-radius:14px;justify-content:center;align-items:center;gap:7px;display:inline-flex}.sheet .actions>button:not(.primary):not(.danger-fill){background:var(--canvas)}.sheet .form-details{border-top:1px dashed var(--line);margin-top:16px;padding-top:8px}.sheet.wish-form-sheet form>.field:first-child input{border-radius:18px;min-height:66px;font-size:20px;font-weight:650}.sheet.wish-form-sheet form>.text-button{border:1px dashed var(--line);border-radius:14px;justify-content:center;width:100%;font-size:13px}.wish-detail-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:25px 0 20px;display:grid}.wish-detail-facts>div{border:1px solid var(--line);border-radius:18px;align-items:flex-start;gap:10px;min-width:0;padding:16px 13px;display:flex}.wish-detail-facts svg{color:var(--blue);margin-top:4px}.wish-detail-facts>div:nth-child(2) svg{color:var(--green)}.wish-detail-facts span{min-width:0}.wish-detail-facts small{margin-bottom:3px;font-size:11px;display:block}.wish-detail-facts strong{overflow-wrap:break-word;font-size:14px;line-height:1.6;display:block}.sheet .first-step{border:1px dashed var(--red);border-radius:18px;padding:18px}.sheet .first-step>span{color:var(--red);align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.sheet .first-step p{font-size:15px}.sheet .detail-note{padding:4px 2px 14px;font-size:15px}.sheet .detail-primary-actions{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;padding-bottom:8px;display:grid}.sheet .detail-primary-actions button{justify-content:center;gap:6px;min-height:48px;padding-inline:10px}.sheet .photo-selection-hint{color:var(--muted);margin:8px 0;font-size:13px}.sheet .photo-upload-help{border:0;margin:4px 0 16px;padding:0}.sheet .photo-upload-help summary{color:var(--muted);font-size:12px}.sheet .photo-upload-help p{font-size:12px}.sheet .date-links{border:1px solid var(--line);border-radius:18px}.sheet .date-check{align-items:center;min-height:44px}.sheet .date-check input{flex-shrink:0;width:20px;height:20px}.sheet .sort-card{border:1px solid var(--line);border-radius:24px;margin-top:18px;padding-inline:18px}.sheet .sort-actions button{background:var(--canvas);border-radius:18px}.sheet .sort-actions button:nth-child(2) svg{color:var(--blue)}.sheet .sort-actions button:nth-child(3) svg{color:var(--purple)}.sheet .sort-actions button:nth-child(4) svg{color:var(--green)}.settings-sheet.sheet>.sheet-heading{background:var(--canvas);padding:20px 24px}.settings-sheet .settings-nav button{border-radius:14px;min-height:44px;margin-bottom:5px}.settings-sheet .settings-nav button[aria-current=page]{background:var(--canvas);box-shadow:inset 0 0 0 1.5px var(--red)}.settings-sheet .settings-nav button>svg:first-child{width:18px;height:18px}.settings-sheet .setting-group-body{background:var(--canvas);border:1px solid var(--line);border-radius:20px}.settings-sheet .setting-group>h3{color:var(--text);margin-bottom:12px;font-weight:700}.settings-sheet .settings-layout{height:min(700px,90svh - 106px)}.settings-sheet .settings-title{font-weight:750}.settings-sheet .profile-avatar{border:1.5px solid var(--red);background:var(--canvas);border-radius:17px;font-weight:700;transform:rotate(-5deg)}.sheet .danger-summary{border:1px solid var(--line)}.sheet .danger-button{border-color:var(--line)}@media (width<=700px){.sheet .sheet-title-block{gap:11px}.sheet .sheet-heading{align-items:flex-start;gap:10px}.sheet .sheet-heading h2{font-size:20px}.sheet-motif{border-radius:15px;flex-basis:46px;height:46px}.sheet-motif .joy-doodle{width:36px;height:36px}.settings-sheet.sheet>.sheet-heading{padding:17px 18px}.settings-sheet .settings-layout{height:calc(92svh - 90px)}.settings-sheet .settings-nav button{margin:0;padding:9px 12px}.sheet .field-row{gap:10px}.sheet .field-row input,.sheet .field-row select{padding-inline:9px}}@media (width<=359px){.sheet .sheet-heading h2{font-size:19px}.sheet .sheet-motif{display:none}.wish-detail-facts{grid-template-columns:1fr}}.map-search input:not([type=checkbox]){box-shadow:none;background:0 0;border:0;border-radius:0}.wish-detail-facts>div:only-child{grid-column:1/-1}.sheet .memory-card{background:var(--canvas);border-radius:20px;padding:18px}.sheet .memory-card .photos{margin-top:16px}.map-participant-filter{border:0;margin:0 0 10px;padding:0}.map-participant-filter>summary{color:var(--muted);font-size:12px}.map-participant-filter>.field{margin-top:0}@media (width<=700px){.map-summary{gap:12px;padding-block:10px}.map-summary strong{font-size:25px}.sheet .memory-card{padding:14px}}.map-region-finder{border:0;margin:0 0 10px;padding:0}.map-region-finder>summary{color:var(--red);font-size:13px}.map-region-finder .map-search{margin-top:8px}.tag-tone-0{--tag-ink:var(--red)}.tag-tone-1{--tag-ink:var(--blue)}.tag-tone-2{--tag-ink:var(--green)}.tag-tone-3{--tag-ink:var(--purple)}.wish-tag-chips{flex-wrap:wrap;gap:5px;min-width:0;display:flex}.wish-tag-chips .wish-tag-chip{background:color-mix(in srgb, var(--tag-ink) 7%, var(--canvas));max-width:100%;color:color-mix(in srgb, var(--tag-ink) 72%, var(--text));overflow-wrap:anywhere;border-radius:8px;align-items:center;gap:4px;padding:4px 7px;font-size:11px;font-weight:650;line-height:1.45;display:inline-flex}.wish-tag-chip>span{opacity:.65}.wish-copy>.wish-tag-chips{margin:7px 0 3px}.wish-detail-sheet .wish-tag-chips{margin:18px 0}.wish-detail-sheet .wish-tag-chip{padding:7px 10px;font-size:13px}.wish-tag-picker,.wish-tag-filter{border:1px solid var(--line);background:var(--canvas);border-radius:22px;min-width:0;margin:18px 0;padding:18px}.wish-tags-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.wish-tags-heading h2,.wish-tags-heading h3{letter-spacing:-.02em;align-items:center;gap:8px;margin:0;font-size:16px;display:flex}.wish-tags-heading p{color:var(--muted);margin:5px 0 0;font-size:12px}.wish-tags-heading>span{color:var(--muted);white-space:nowrap;font-size:12px}.wish-tag-options{flex-wrap:wrap;gap:8px;display:flex}.wish-tag-options .wish-tag-choice{border:1px solid color-mix(in srgb, var(--tag-ink,var(--muted)) 23%, var(--line));max-width:100%;min-height:44px;color:color-mix(in srgb, var(--tag-ink,var(--muted)) 72%, var(--text));background:var(--canvas);border-radius:16px;justify-content:center;align-items:center;gap:7px;padding:9px 13px;font-size:13px;font-weight:650;line-height:1.5;transition:background .14s,border-color .14s;display:inline-flex}.wish-tag-choice>span{overflow-wrap:anywhere;min-width:0}.wish-tag-choice svg{flex-shrink:0}.wish-tag-choice small{min-width:16px;font-size:11px}.wish-tag-options .wish-tag-choice[aria-pressed=true]{background:color-mix(in srgb, var(--tag-ink,var(--muted)) 11%, var(--canvas));border-color:color-mix(in srgb, var(--tag-ink,var(--muted)) 72%, var(--text));box-shadow:inset 0 0 0 1px var(--tag-ink,var(--muted))}.wish-custom-tag{margin-top:14px}.wish-custom-tag label{color:var(--muted);margin-bottom:7px;font-size:12px;display:block}.wish-custom-tag>div{align-items:center;gap:8px;display:flex}.wish-custom-tag input{border-radius:12px;width:100%;min-width:0;min-height:44px}.wish-custom-tag button{min-height:44px;color:var(--red);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;gap:4px;padding:8px 10px;display:flex}.tag-expand{min-height:44px;margin-top:2px;font-size:12px}.tag-filter-hint{color:var(--muted);font-size:13px}.tag-match-mode{border-top:1px dashed var(--line);flex-wrap:wrap;gap:5px;margin-top:12px;padding-top:12px;display:flex}.tag-match-mode button{min-height:44px;color:var(--muted);border-radius:12px;font-size:12px}.tag-match-mode button[aria-pressed=true]{background:var(--text);color:var(--canvas);border-color:var(--text)}.wishes-page .wish-discovery-switch{grid-template-columns:repeat(5,minmax(0,1fr));max-width:650px;display:grid}.wish-tag-collection-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;display:grid}.wish-tag-collection{border:1px solid var(--line);border-top:3px solid var(--tag-ink);background:var(--canvas);border-radius:23px;min-width:0;padding:18px}.wish-tag-collection>header{align-items:center;gap:10px;padding:0 0 16px;display:flex}.wish-tag-collection h2{overflow-wrap:anywhere;min-width:0;margin:0;font-size:18px}.wish-tag-collection header>span:last-child{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:12px}.tag-collection-icon{width:38px;height:38px;color:color-mix(in srgb, var(--tag-ink) 72%, var(--text));background:color-mix(in srgb, var(--tag-ink) 8%, var(--canvas));border-radius:13px;flex-shrink:0;place-items:center;display:grid;transform:rotate(-6deg)}.tag-collection-icon svg{width:20px;height:20px}.wish-tag-collection-list{gap:8px;display:grid}.wish-tag-collection-list .wish-card{box-shadow:none;border-radius:15px;padding:13px}.wish-tag-collection-list .wish-card>.wish-mark{display:none}.wish-tag-collection>.text-button{min-height:44px;margin-top:10px;font-size:12px}.wish-tag-collections .wish-discovery-intro>span{display:block}.wish-draw-result .wish-tag-chips{justify-content:center;margin:10px 0}@media (width<=700px){.wish-tag-collection-grid{grid-template-columns:minmax(0,1fr)}}@media (width<=380px){.wish-tag-picker,.wish-tag-filter{padding:13px}.wish-tag-options{gap:6px}.wish-tag-options .wish-tag-choice{padding:8px 10px;font-size:12px}.wish-tags-heading{gap:5px}.wish-tags-heading .text-button{font-size:11px}}@media (prefers-reduced-motion:reduce){.wish-tag-options .wish-tag-choice{transition:none}}:root[data-motion=reduced] .wish-tag-choice,:root[data-motion=off] .wish-tag-choice{transition:none}.tag-draft-notice{color:var(--text);background:var(--surface);overflow-wrap:anywhere;border-radius:14px;padding:14px;font-size:13px}.tag-previous-draft{margin:12px 0;font-size:13px}.tag-previous-draft summary{min-height:44px;padding:12px 0;display:list-item}.tag-previous-draft p,.tag-previous-draft dt{color:var(--muted)}.tag-previous-draft dd{white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;margin:4px 0 12px}.decoration-art{object-fit:contain;pointer-events:none;width:100%;height:100%;display:block}.home-character-greeting{justify-content:space-between;align-items:center;gap:16px;min-width:0;margin:-4px 0 22px;display:flex}.home-character-greeting>div{min-width:0}.home-character-greeting p{margin:0 0 5px;font-size:15px;font-weight:650}.home-character-greeting span{color:var(--muted);font-size:12px;line-height:1.7}.home-character-greeting .character-art{flex:0 0 148px;width:148px;height:108px}.home-heading-heart{transform:none}.image-celebration .scene-pair{inset:9% 12% 6%}.image-celebration>.decoration-art{position:absolute}.image-celebration .decoration-scene-prop{width:26%;height:30%;bottom:0;right:7%}.image-celebration .decoration-scene-left{width:15%;height:27%;top:17%;left:5%}.image-celebration .decoration-scene-right{width:15%;height:28%;top:8%;right:4%}.image-celebration .decoration-scene-confetti{width:15%;height:27%;bottom:4%;left:6%}.image-celebration .celebration-particle{z-index:2}.decoration-story-main,.decoration-story-float{transform-box:fill-box;transform-origin:50%}.sheet .sheet-motif{background:0 0;border:0;flex-basis:44px;height:44px;transform:none}.sheet .sheet-title-block{gap:12px}.sheet .sheet-title-block h2{text-wrap:pretty}.sheet .sheet-heading{align-items:flex-start}.sheet .sheet-heading>.icon-button{flex-shrink:0}.sheet :is(input,select,textarea):focus-visible{outline-offset:2px;outline-width:2px}.sheet .field-row{grid-template-columns:repeat(2,minmax(0,1fr))}.sheet .actions{flex-wrap:wrap}.sheet .actions>button{white-space:normal;overflow-wrap:anywhere;min-width:0}.sheet :is(p,strong,.notice,.error){overflow-wrap:anywhere}.activity-editor>header>div{min-width:0}.activity-editor>header{align-items:flex-start}.activity-editor>header small{align-self:flex-start;padding-top:3px}@media (prefers-reduced-motion:no-preference){:root[data-motion=full] .story-play .decoration-story-main{animation:2.6s ease-in-out 2 decoration-sway}:root[data-motion=full] .story-play .decoration-story-float{animation:2.2s ease-in-out 2 decoration-float}:root[data-motion=full] .story-play .decoration-delay{animation-delay:.25s}}@keyframes decoration-sway{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes decoration-float{0%,to{transform:translateY(0)rotate(-3deg)}50%{transform:translateY(-6px)rotate(3deg)}}@media (width<=700px){.sidebar{padding-inline:4px}.sidebar nav{grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.sidebar nav button{letter-spacing:-.04em;padding-inline:0;font-size:clamp(10px,2.65vw,11px)}.sidebar nav button span{max-width:100%}.sheet{border-radius:24px;width:calc(100vw - 24px);max-height:calc(100svh - 24px);padding:20px}.sheet .sheet-heading{gap:12px;margin-bottom:20px}.sheet .sheet-heading h2{font-size:22px;line-height:1.4}.settings-sheet{padding:0}.settings-layout{height:calc(100svh - 124px)}.home-character-greeting{gap:8px}.home-character-greeting .character-art{flex-basis:116px;width:116px;height:94px}.home-character-greeting p{font-size:13px}.home-character-greeting span{font-size:11px}.map-interactive{flex-direction:column;display:flex}.map-interactive>.map-controls{background:var(--surface,var(--canvas));border-radius:16px;order:-2;margin:0 0 10px;padding:8px}.map-interactive>.map-selection-caption{order:-3}.map-controls{flex-wrap:wrap}.map-controls button{min-height:44px}}@media (width<=380px){.sheet{width:calc(100vw - 16px);padding:16px}.settings-sheet{padding:0}.sheet .sheet-heading h2{font-size:20px}.sheet .sheet-title-block{gap:8px}.sheet .sheet-motif{flex-basis:34px;width:34px;height:34px}.sheet-motif .joy-doodle{width:34px;height:34px}.sheet .field-row{grid-template-columns:minmax(0,1fr);gap:0}.save-item-heading{display:block;position:relative}.save-item-icon{border-radius:9px;width:28px;height:28px;position:absolute;top:0;left:0;transform:none}.save-item-icon svg{width:17px;height:17px}.save-item-kind{min-height:28px;padding:5px 0 0 36px}.save-item-heading h3{margin-top:8px;font-size:17px;font-weight:650;line-height:1.65}.save-preview-group{border-radius:16px;padding-inline:14px}.activity-editor{border-radius:16px;padding:12px}.activity-empty{text-align:left;padding:10px 0 12px}.activity-editor>header{gap:8px}.activity-editor>header p{font-size:12px}.activity-heading-icon{display:none}.sheet input:not([type=checkbox]),.sheet select,.sheet textarea{border-radius:12px;padding:12px}.home-character-greeting .character-art{flex-basis:104px;width:104px}.character-collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=359px){.journal-heading{flex-wrap:wrap;gap:14px}.journal-heading h1{font-size:25px}.journal-heading>.primary{margin-left:0}.journal-heading>div{flex-basis:100%}}select,.sheet select,.sheet .field-row select{padding-inline-end:38px}.app-shell,.app-shell .workspace,.app-shell .main-content,.page-transition{min-width:0}.app-shell .main-content{max-width:1200px;padding-inline:clamp(24px,3.5vw,48px)}.app-shell .topbar{padding-inline:clamp(24px,3.5vw,48px)}.main-content :is(.section-head,.home-wishes-heading,.calendar-head){align-items:center;gap:16px}.main-content :is(.section-head,.home-wishes-heading,.calendar-head)>div{min-width:0}.main-content :is(.section-head,.home-wishes-heading,.calendar-head) h1{letter-spacing:-.04em;margin:0;font-size:clamp(26px,3vw,34px);line-height:1.35}.main-content button{max-width:100%}.main-content :is(button,a):focus-visible,.sidebar button:focus-visible{outline:3px solid var(--red);outline-offset:3px}.app-shell .sidebar{overscroll-behavior:contain;overflow-y:auto}.app-shell .sidebar .brand{font-size:20px;line-height:1.1}.app-shell .sidebar nav button{min-height:48px}.app-shell .sidebar nav svg{flex-shrink:0}.app-shell .sidebar-profile>span:last-child{min-width:0}.home-wishes-page .home-character-greeting{background:0 0;border:0;border-radius:0;min-height:120px;padding:16px 0}.home-wishes-page .home-character-greeting p{font-size:17px}.home-wishes-page .relationship-card{padding-bottom:24px}.home-wishes-page .relationship-card>.occasions-link{margin-bottom:0}.home-wishes-page .home-character-greeting .character-art{flex-basis:160px;width:160px;height:120px}.wishes-page .wish-gallery{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px}.wishes-page .wish-gallery-card{min-height:190px;box-shadow:0 2px 0 color-mix(in srgb, var(--line) 45%, transparent);padding:20px}.wishes-page .wish-gallery-title{font-size:18px;line-height:1.6}.wishes-page .wish-discovery-switch{flex-wrap:wrap;gap:3px;max-width:100%;padding:4px;display:flex}.wishes-page .wish-discovery-switch button{flex-direction:row;flex:92px;gap:6px;min-height:44px;padding:9px 10px;font-size:13px}.wishes-page .wishes-states{flex-wrap:wrap;gap:6px;display:flex}.wishes-page .wishes-states button{min-height:44px}.calendar-name-day{margin-bottom:10px}.calendar-plan-secondary{border:1px solid var(--line);background:var(--canvas);color:var(--text);min-height:46px}.calendar-legend{flex-wrap:wrap;gap:8px 14px;line-height:1.6;display:flex}.calendar-legend span{white-space:normal}.sheet{overscroll-behavior:contain;max-height:calc(100dvh - 40px);overflow:auto}.sheet .sheet-heading{min-width:0;position:relative}.sheet .sheet-heading h2{font-size:clamp(21px,2vw,26px);line-height:1.45}.sheet :is(input,select,textarea){min-width:0;max-width:100%}.sheet .field-row>*{min-width:0}.sheet .actions{gap:10px}.sheet .actions>button{min-height:44px}@media (width>=701px) and (width<=1000px){.app-shell{grid-template-columns:176px minmax(0,1fr)}.app-shell .sidebar{padding-inline:14px}.app-shell .sidebar nav button{gap:9px;padding-inline:12px}.app-shell .main-content,.app-shell .topbar{padding-inline:24px}.home-wishes-page .home-date-plans,.home-wishes-page .home-wishes-upcoming{border:0;padding:18px 0}}@media (width<=700px){.app-shell{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);height:100dvh;min-height:0;display:grid;position:fixed;inset:0;overflow:hidden}.app-shell .topbar{gap:8px;height:64px;padding-inline:16px}.topbar .mobile-brand{gap:7px;min-width:0}.topbar .mobile-brand span{font-size:14px;line-height:1.25}.topbar .mobile-brand img{flex-shrink:0;width:28px;height:28px}.topbar .toolbar{gap:0}.topbar .toolbar .icon-button{width:38px;min-width:38px;min-height:44px}.app-shell .main-content{padding:20px 16px calc(32px + env(safe-area-inset-bottom))}.app-shell .workspace{overscroll-behavior-y:contain;grid-row:1;min-height:0;padding-bottom:0;overflow-y:auto}.app-shell .sidebar{width:auto;padding:5px 4px calc(7px + env(safe-area-inset-bottom));grid-row:2;position:relative;inset:auto;overflow:visible}.app-shell .sidebar nav button{gap:4px;min-height:54px}.main-content :is(.section-head,.home-wishes-heading){flex-wrap:nowrap;margin-bottom:22px}.main-content :is(.section-head,.home-wishes-heading) h1{font-size:27px}.main-content :is(.section-head,.home-wishes-heading)>button{flex-shrink:0}.home-wishes-page .home-character-greeting{gap:12px;min-height:90px;margin-bottom:18px;padding:0}.home-wishes-page .home-character-greeting p{font-size:14px;line-height:1.7}.home-wishes-page .home-character-greeting .character-art{flex-basis:112px;width:112px;height:90px}.wishes-page .wish-gallery{grid-template-columns:1fr;gap:14px}.wishes-page .wish-gallery-card,.wishes-page .wish-gallery-card:only-child{gap:10px;max-width:none;min-height:0;padding:18px}.wishes-page .wish-gallery-title{font-size:18px}.wishes-page .wish-gallery-top{min-height:28px}.wishes-page .wish-gallery-top>.joy-doodle{width:32px;height:32px}.wishes-page .wish-discovery-switch button{flex-basis:82px;padding:8px;font-size:12px}.sheet{border-radius:20px;width:calc(100vw - 20px);max-height:calc(100dvh - 24px);padding:20px}.sheet.settings-sheet{padding:0}.sheet .sheet-heading{gap:10px}.sheet .sheet-title-block{gap:9px;min-width:0}.sheet .sheet-title-block .sheet-motif{flex-basis:34px;width:34px;height:34px}.sheet .field-row{grid-template-columns:1fr}}@media (height<=700px) and (width>=701px){.app-shell .sidebar{padding-top:20px;padding-bottom:16px}.sidebar .brand{padding-bottom:22px}.sidebar .sidebar-companions{display:none}.sidebar .sidebar-settings{margin-top:16px}}@media (prefers-reduced-motion:reduce){.page-transition{animation:none!important}}.offline-status{border:1px solid var(--map-accent,#075985);background:var(--surface,#fff);border-radius:16px;margin:0 0 16px;padding:16px;line-height:1.65}.offline-status p{margin:8px 0 12px;font-size:.88rem}.offline-status button{min-height:44px}.draft-status{margin:16px 0 12px;font-size:.8rem;line-height:1.65}
