/* A quieter paper layer over the existing impressionist garden. */
:root{--text-title:#714d65;--text-body:#634f5c;--text-muted:#73606b;--moment-paper:#f8f7ef;--moment-edge:#d2dbce;--moment-sage:#718d7c;--moment-shadow:0 8px 28px #314b3c0d,0 2px 4px #314b3c05;--serif:'Songti SC','STSong','Songti SC','STSong','SimSun',serif}
.brand{letter-spacing:1px;font-family:Georgia,'Songti SC',serif}
.mobile-logo,.site-menu-head>span{font-family:Georgia,'Songti SC',serif;letter-spacing:.02em}
html:not([data-visual-theme="film"]) .layout{--ink:#634f5c;--muted:#73606b;--accent:#44675b;--accent-dark:#315345}
html:not([data-visual-theme="film"]) .layout :is(.pagehead h1,.section-title h2,.partner-heading h1,.journey-card h3,.journey-cover h2){color:var(--text-title)}
.journey-heading h1{font-weight:500;letter-spacing:.035em;text-wrap:balance}
.journey-cover{box-shadow:var(--moment-shadow)}
html:not([data-visual-theme="film"]) .journey-cover{background:var(--moment-paper);border-color:var(--moment-edge);border-radius:24px;isolation:isolate}
html:not([data-visual-theme="film"]) .journey-cover-main{background:linear-gradient(130deg,#e6eee2,#f7f6ee 72%)}
html:not([data-visual-theme="film"]) .journey-cover-note{background:#f1f0e8;border-color:var(--moment-edge)}
.journey-cover h2{font-size:clamp(25px,2.5vw,30px);line-height:1.6;letter-spacing:.025em}
html:not([data-visual-theme="film"]) :is(.journey-recap,.journey-description,.journey-details p){color:var(--text-body)}
html:not([data-visual-theme="film"]) :is(.journey-cover-note h3,.journey-cover-note p,.journey-cover-note small,.journey-range,.journey-metrics span,.journey-metrics strong,.journey-confirmed,.journey-card-bottom>span,.journey-location,.journey-time>.link,.journey-details>summary){color:var(--text-muted)}
.journey-toolbar{padding:20px 22px;border:1px solid var(--moment-edge);border-radius:18px;background:var(--moment-paper)}
.journey-toolbar h2{color:var(--text-title);font-size:22px}
.journey-toolbar p{font-size:13px;color:var(--text-body);line-height:1.8}
html:not([data-visual-theme="film"]) .journey-track:before{width:2px;background:linear-gradient(#94aa96,#c2b9c6 50%,#c6b897)}
.journey-row{margin-bottom:32px}
html:not([data-visual-theme="film"]) .journey-row .journey-card{background:var(--moment-paper);border:1px solid var(--moment-edge);border-radius:22px;box-shadow:var(--moment-shadow);padding:26px;transition:transform .3s ease,box-shadow .3s ease;--moment-wash:#e5eddf}
html:not([data-visual-theme="film"]) .journey-row.turn .journey-card{--moment-wash:#eedfe2}
html:not([data-visual-theme="film"]) .journey-row.warm .journey-card{--moment-wash:#eee4cc}
html:not([data-visual-theme="film"]) .journey-row.future .journey-card{--moment-wash:#e0e9ec}
.journey-card-top{margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--moment-edge)}
html:not([data-visual-theme="film"]) .journey-row .journey-kind{background:var(--moment-wash);border-color:var(--moment-edge);color:var(--text-body);font-size:12px;padding:5px 11px;letter-spacing:.025em}
.journey-confirmed{font-size:12px;white-space:nowrap}
.journey-card h3{font-size:24px;line-height:1.5;font-weight:500;letter-spacing:.035em;margin:0 0 12px;text-wrap:balance}
.journey-description{font-size:15px;line-height:1.95;margin:14px 0 20px}
.journey-location{font-size:13px;min-height:44px;line-height:1.6}
.journey-location svg{width:16px;height:16px}
.journey-card-bottom{border-color:var(--moment-edge);flex-wrap:wrap;gap:4px 12px}
.journey-card-bottom>span,.journey-card-bottom .link,.journey-details>summary{font-size:12px}
.journey-card .link,.journey-time>.link{min-height:44px}
.journey-details>summary{min-height:44px;display:list-item;padding-block:12px}
.journey-details>p{font-size:14px}
html:not([data-visual-theme="film"]) .journey-feeling{background:#f0ede2;color:var(--text-body);border-color:#b9ad83;font-size:13px;padding:12px 14px;border-radius:10px}
.journey-time{margin-top:16px;padding:12px 16px;justify-self:end;max-width:100%;border-radius:16px;background:#f8f7efed;border:1px solid var(--moment-edge)}
.journey-row.left .journey-time{justify-self:start}
html:not([data-visual-theme="film"]) .journey-time>span{color:var(--text-muted);font-size:12px}
html:not([data-visual-theme="film"]) .journey-time>strong{color:var(--text-muted);font-size:23px;line-height:1.55}
.journey-time>.link{padding-inline:0}
html:not([data-visual-theme="film"]) .journey-year-label span{background:var(--moment-paper);background-image:none;color:var(--text-muted);border-color:var(--moment-edge);font-size:15px;border-radius:20px;padding:8px 20px;box-shadow:0 3px 12px #314b3c08}
.journey-undated-hint{background:var(--moment-paper);color:var(--text-muted);padding:8px 14px;border-radius:10px;max-width:calc(100% - 38px)}
.journey-photo{margin:20px 0 16px;padding:8px;border-radius:14px;background:#fffdf7;border:1px solid #e2e4d7;box-shadow:0 3px 14px #314b3c0a;transform:rotate(-.6deg)}
.journey-row.left .journey-photo{transform:rotate(.6deg)}
.journey-photo-open{display:block;width:100%;min-height:44px;padding:0;border:0;background:#f0f0e6;border-radius:8px;overflow:hidden;cursor:zoom-in}
.journey-photo img{display:block;width:100%;height:clamp(180px,18vw,280px);object-fit:contain;transition:transform .4s ease}
.journey-photo figcaption{font-size:13px;color:var(--text-muted);padding:12px 8px 4px;line-height:1.7;overflow-wrap:anywhere}
.journey-photo-action{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:13px;border:1px dashed var(--moment-edge);border-radius:12px;padding:8px 14px;margin:2px 0 18px;background:#edf0e7;color:var(--text-body)}
.journey-photo-action svg{width:17px;height:17px}
.photo-moment-title{font-size:15px;color:var(--text-title)}
.photo-preview{min-height:190px;display:grid;place-items:center;background:#edf0e7;border:1px solid var(--moment-edge);border-radius:14px;overflow:hidden;text-align:center;color:var(--text-body);font-size:14px}
.photo-preview img{display:block;width:100%;max-height:320px;object-fit:contain}
.photo-pick{margin:14px 0 22px;min-height:44px;width:100%}
.photo-privacy{font-size:13px;line-height:1.8;color:var(--text-body)}
.photo-error{font-size:14px;line-height:1.8;color:var(--text-title)}
.photo-error:empty{display:none}
#modal:has(#moment-photo-form),#modal:has(.photo-lightbox){background:var(--moment-paper);background-image:none;border-color:var(--moment-edge);box-shadow:0 24px 80px #243c3626}
#moment-photo-form input{font-size:16px}
#moment-photo-form .photo-pick{background:#edf0e7;background-image:none}
#moment-photo-form .modal-actions .btn{background:var(--moment-paper);background-image:none}
#moment-photo-form .modal-actions .btn.primary{background:var(--accent);color:white;border-color:var(--accent);background-image:none}
#moment-photo-form .modal-actions{flex-wrap:wrap;align-items:center}
#moment-photo-form .modal-actions .link{margin-right:auto;min-height:44px}
.photo-lightbox{margin:0;text-align:center}.photo-lightbox img{display:block;width:100%;max-height:65dvh;object-fit:contain;border-radius:10px}.photo-lightbox figcaption{margin-top:14px;font-size:14px;color:var(--text-muted)}
.modal-head button{min-width:44px;min-height:44px}
@media(hover:hover) and (pointer:fine){.journey-row .journey-card:hover,.journey-row .journey-card:focus-within{transform:translateY(-3px);box-shadow:0 14px 36px #314b3c15}.journey-photo-open:hover img{transform:scale(1.015)}}
@media(prefers-reduced-motion:no-preference){.journey-cover{animation:moment-arrive .45s ease both}@keyframes moment-arrive{from{opacity:.65;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}
@media(max-width:820px){.journey-time,.journey-row.left .journey-time{margin:0 0 12px;padding:10px 14px;justify-self:stretch}.journey-time>.link{margin-left:auto}.journey-row{margin-bottom:28px}.journey-cover{border-radius:20px}.journey-toolbar{flex-wrap:wrap;gap:14px;padding:18px}.journey-toolbar .btn{min-height:44px}.journey-card h3{font-size:21px}.journey-description{font-size:15px}.journey-photo img{height:220px}.journey-cover-note{border-radius:0}.journey-metrics{justify-content:space-between;gap:12px}}
@media(max-width:760px){html:not([data-visual-theme="film"]) .layout[data-view="story"] .main{padding-inline:16px}.journey-heading h1{font-size:28px}.journey-row,.journey-row.left{grid-template-columns:16px minmax(0,1fr);column-gap:12px}.journey-track:before{left:5px}.journey-dot{margin-left:0}.journey-row .journey-card{padding:20px!important;border-radius:18px!important}.journey-time>strong{font-size:21px!important}.journey-time>span{letter-spacing:1px}.journey-card-bottom>span{width:100%}.journey-photo img{height:210px}.journey-cover-main,.journey-cover-note{padding:22px}.journey-end{padding-left:28px}.journey-actions .btn{padding-inline:14px}.journey-confirmed{font-size:11px}.journey-photo-action{width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){.journey-cover,.journey-row .journey-card,.journey-photo img{animation:none;transition:none}.journey-row .journey-card:hover,.journey-row .journey-card:focus-within{transform:none}.journey-photo-open:hover img{transform:none}}
