@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Noto+Serif+SC:wght@400;500;600;700&display=swap";:root{font-family:Manrope,PingFang SC,sans-serif;color:#1f241d;background:radial-gradient(circle at top,rgba(207,149,92,.18),transparent 24%),linear-gradient(180deg,#fbf5eb,#efe1cd 56%,#e4d6c2);--bg-paper: rgba(255, 249, 239, .84);--bg-panel: rgba(255, 252, 246, .82);--ink: #22261f;--muted: #677062;--sage: #4d6858;--sage-soft: #dbe7d8;--clay: #b66f49;--sunset: #dc9e65;--gold: #efc786;--line: rgba(44, 52, 39, .12);--shadow: 0 24px 60px rgba(88, 73, 52, .13);--radius-lg: 24px;--radius-md: 20px;--radius-sm: 16px}*{box-sizing:border-box}html,body,#app{margin:0;min-height:100%}body{min-height:100vh}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;-webkit-tap-highlight-color:transparent}a,button,input,textarea,select,[role=button]{-webkit-tap-highlight-color:transparent}a,button,.chip-button,.primary-button,.ghost-button,.bottom-nav__item{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}a:focus,button:focus,input:focus,textarea:focus,select:focus{outline:none}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{box-shadow:0 0 0 2px #4f6a572e}a::selection,button::selection{background:transparent}img,video{display:block;max-width:100%}.app-shell,.splash-screen{position:relative;min-height:100vh;overflow:hidden}.app-shell__grain,.splash-screen__halo{position:absolute;inset:0;pointer-events:none}.app-shell__grain{background-image:linear-gradient(#ffffff0d,#ffffff0d),radial-gradient(circle at 12% 18%,rgba(79,106,87,.12),transparent 20%),radial-gradient(circle at 86% 8%,rgba(181,109,71,.14),transparent 16%),radial-gradient(circle at 50% 88%,rgba(239,199,132,.13),transparent 22%)}.shell-frame{position:relative;z-index:1;max-width:1440px;min-height:100vh;margin:0 auto;padding:20px 16px 120px}.app-sidebar{display:none}.shell-main{display:grid;gap:22px}.page{display:grid;gap:18px}.page-grid{display:grid;gap:16px}.page-grid--memory{align-items:start}.splash-screen{display:grid;place-items:center;padding:24px}.splash-screen__halo{background:radial-gradient(circle at center,rgba(182,132,83,.26),transparent 24%),radial-gradient(circle at 30% 60%,rgba(82,112,92,.18),transparent 20%),radial-gradient(circle at 70% 35%,rgba(240,199,132,.22),transparent 18%);filter:blur(10px)}.splash-screen__card,.hero-panel,.home-panel,.goal-banner,.toolbar-card,.editor-panel,.memory-note,.profile-card,.settings-block,.developing-card,.memory-stat-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:var(--bg-paper);border:1px solid rgba(255,255,255,.56);box-shadow:var(--shadow)}.splash-screen__card{width:min(100%,580px);padding:40px 30px;border-radius:34px;text-align:center}.splash-screen__brand,.section-header__eyebrow,.hero-panel__eyebrow,.profile-card__eyebrow{margin:0 0 10px;text-transform:uppercase;letter-spacing:.24em;font-size:12px;color:var(--muted)}.splash-screen h1,.hero-panel h1,.section-header h2,.entry-card h2,.home-panel h3,.editor-panel__head h1,.toolbar-card h1,.developing-card h1,.profile-card h1{margin:0;font-family:"Noto Serif SC","Source Han Serif SC",serif;line-height:1.18;letter-spacing:-.01em}.splash-screen h1{font-size:clamp(2.4rem,7vw,4rem)}.splash-screen p:last-of-type,.hero-panel__intro,.section-header__description,.memory-note p,.profile-card__signature,.developing-card p,.editor-panel__head p,.home-panel p,.mini-card span,.memory-album__meta p,.media-preview__fallback p,.project-card__summary,.project-card__goal p,.project-card__meta p,.timeline-stop p,.footprint-pill p,.memory-asset p,.settings-block p,.feature-card p{color:var(--muted)}.hero-panel{padding:26px;border-radius:var(--radius-lg)}.hero-panel h1{max-width:9.5em;text-wrap:balance;font-size:clamp(2.5rem,5.2vw,4.4rem)}.hero-panel__stats,.action-grid,.home-dual-grid,.memory-dashboard,.feature-grid{display:grid;gap:16px}.hero-panel__stats,.memory-dashboard{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-top:20px}.stat-card,.entry-card,.project-card,.memory-album,.memory-asset,.mini-card,.feature-card{background:var(--bg-panel);border:1px solid var(--line);box-shadow:0 18px 40px #62503a14}.stat-card,.memory-stat-card{padding:18px;border-radius:var(--radius-md)}.stat-card{min-height:152px}.stat-card strong,.memory-stat-card strong{display:block;margin:10px 0 4px;font-size:1.9rem}.action-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.entry-card{position:relative;min-height:270px;display:flex;flex-direction:column;gap:12px;padding:24px;border-radius:28px;overflow:hidden}.entry-card:before{content:"";position:absolute;right:-18px;top:-18px;width:140px;height:140px;border-radius:30px;border:1px dashed rgba(255,255,255,.42);transform:rotate(10deg)}.entry-card h2{font-size:2rem}.entry-card strong{margin-top:auto;align-self:flex-start;padding:10px 16px;border-radius:999px;background:#ffffffb3}.entry-card--sage{background:linear-gradient(145deg,#4f6a57f5,#8caa8be0);color:#f5f0e8}.entry-card--sunset{background:linear-gradient(145deg,#b86f48f5,#e6b870e6);color:#fff7ea}.entry-card--sage p,.entry-card--sage span,.entry-card--sunset p,.entry-card--sunset span{color:#fff7eee0}.home-dual-grid,.feature-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.home-panel,.toolbar-card,.memory-note,.settings-block,.developing-card,.profile-card,.editor-panel{padding:22px;border-radius:28px}.mini-list,.project-stack,.memory-list{display:grid;gap:16px}.mini-card{padding:16px;border-radius:20px}.mini-card p{margin:0;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.mini-card span{line-height:1.55}.mini-card strong{display:block;margin:6px 0}.page-grid{grid-template-columns:1fr}.sticky-panel{align-self:start}.editor-panel__head,.toolbar-card,.memory-album__head,.project-card__head,.card-actions,.memory-asset__actions,.pagination-bar,.filter-chips,.subsection__head,.profile-card__meta,.memory-toolbar__actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}.stack-form,.inline-editor{display:grid;gap:14px}.stack-form label,.inline-editor label{display:grid;gap:8px}.stack-form label.full,.inline-editor label.full,.subsection.full{grid-column:1 / -1}.stack-form input,.stack-form textarea,.stack-form select,.inline-editor input,.inline-editor textarea{width:100%;padding:14px 16px;border-radius:18px;border:1px solid var(--line);background:#fffdf8eb;color:var(--ink)}.stack-form textarea,.inline-editor textarea{min-height:100px;resize:vertical}.subsection{display:grid;gap:12px;padding:16px;border-radius:20px;background:#fffaf2b3;border:1px solid var(--line)}.inline-grid{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.inline-grid--double{grid-template-columns:180px 1fr}.project-card{display:grid;overflow:hidden;border-radius:24px;transition:transform .2s ease,box-shadow .2s ease}.project-card:hover{transform:scale(1.01);box-shadow:0 28px 68px #5849342e}.project-card__cover{width:100%;aspect-ratio:16 / 8;object-fit:cover}.project-card__body{display:grid;gap:16px;padding:22px}.project-card__topline,.project-card__meta,.memory-album__chips,.memory-asset__topline{display:flex;flex-wrap:wrap;gap:8px 10px;color:var(--muted);font-size:13px}.project-card__meta{justify-content:space-between}.status-chip,.memory-album__chips span,.project-card__topline span,.memory-asset__topline span,.profile-card__meta span,.chip-button{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;background:#fff8eee0;border:1px solid rgba(54,61,49,.08)}.chip-button{cursor:pointer}.chip-button.is-active{background:#4f6a5724;color:var(--sage)}.status-planning{color:#7a5534}.status-ongoing{color:#2d5d3f}.status-archived{color:#5b6170}.project-card__goal,.project-card__memo,.upload-panel{padding:16px;border-radius:18px;background:#fffaf2c7;border:1px solid var(--line)}.project-card__goal strong,.project-card__memo span,.timeline-stop strong,.footprint-pill strong,.memory-asset h4,.feature-card h2,.memory-note strong,.developing-card strong,.settings-block strong,.subsection__head strong,.media-preview__fallback strong{display:block;margin-bottom:8px}.project-card__meta .label{display:block;margin-bottom:6px;font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.project-card__timeline{display:grid;gap:14px}.timeline-stop{display:grid;grid-template-columns:60px 1fr;gap:12px;padding-left:10px;border-left:1px dashed rgba(79,106,87,.34)}.timeline-stop__date{font-weight:700;color:var(--sage)}.project-card__footprints{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.footprint-pill,.feature-card{padding:16px;border-radius:20px}.footprint-pill span{display:inline-flex;margin-bottom:10px;padding:6px 10px;border-radius:999px;background:#4f6a571a;color:var(--sage)}.memory-note{display:grid;gap:8px}.memory-album{border-radius:28px;overflow:hidden;padding:16px}.memory-album__summary{display:grid;grid-template-columns:120px 1fr;gap:14px;width:100%;background:transparent;border:none;padding:0;text-align:left;cursor:pointer}.memory-album__cover-wrap{overflow:hidden;border-radius:20px}.memory-album__cover{width:100%;aspect-ratio:1;object-fit:cover}.memory-album__grid{display:grid;gap:12px;padding-top:16px}.memory-asset{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:16px;padding:12px;border-radius:22px}.media-preview{border-radius:18px;overflow:hidden;background:#f1e8dae0;min-height:220px}.media-preview img,.media-preview video{width:100%;height:100%;object-fit:cover}.media-preview__fallback{height:100%;display:grid;place-items:center;text-align:center;padding:24px}.memory-asset__body{display:grid;gap:10px}.inline-editor{margin-top:8px;padding:14px;border-radius:18px;border:1px solid var(--line);background:#fffcf7cc}.upload-panel{display:grid;gap:14px}.upload-dropzone{position:relative;display:grid;place-items:center;gap:8px;min-height:140px;padding:18px;border-radius:20px;border:1px dashed rgba(79,106,87,.32);background:linear-gradient(180deg,#fffaf3e6,#f3ece1db);text-align:center;cursor:pointer}.upload-dropzone input{position:absolute;inset:0;opacity:0;cursor:pointer}.update-banner{position:fixed;left:50%;bottom:90px;transform:translate(-50%);z-index:80;width:min(calc(100% - 32px),420px);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-radius:999px;background:var(--sage);color:#fff;font-size:14px;font-weight:500;box-shadow:0 8px 24px #2c342738}.update-banner button{flex-shrink:0;padding:6px 16px;border:0;border-radius:999px;background:#fff;color:var(--sage);font-weight:600;font-size:13px;cursor:pointer}@media(max-width:420px){.update-banner{bottom:78px;font-size:13px;padding:10px 14px}}.app-version-label{text-align:center;font-size:11px;color:var(--muted);opacity:.5;margin:0 0 80px;padding:0;pointer-events:none}.bottom-nav{position:fixed;left:50%;bottom:16px;transform:translate(-50%);width:min(calc(100% - 24px),760px);display:grid;grid-template-columns:repeat(5,1fr);gap:8px;padding:10px;border-radius:999px;background:#23261fe0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 18px 50px #1215113d;z-index:20}.bottom-nav__item{display:grid;place-items:center;gap:2px;padding:8px 4px;border-radius:999px;color:#eee8dcb8;font-size:12px}.bottom-nav__icon{font-size:16px}.bottom-nav__item.is-active{background:#fff9ef24;color:#fff7ea}.primary-button,.ghost-button,.memory-asset__actions a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:11px 16px;border-radius:999px;border:none;cursor:pointer;transition:transform .2s ease,opacity .2s ease}.primary-button:hover,.ghost-button:hover,.memory-asset__actions a:hover,.chip-button:hover{transform:translateY(-1px)}.primary-button{background:linear-gradient(120deg,var(--sage),#779470);color:#fffaf3}.ghost-button,.memory-asset__actions a,.chip-button{background:#fffaf2bd;color:var(--ink);border:1px solid var(--line)}.danger-button{color:#8a4139}.pagination-bar{padding-bottom:10px}.feature-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.feature-scroll{display:flex;gap:8px;overflow-x:auto;padding:4px 0 8px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.feature-scroll::-webkit-scrollbar{display:none}.feature-chip{flex-shrink:0;padding:8px 16px;border-radius:999px;background:var(--bg-panel);border:1px solid var(--line);font-size:.88rem;font-weight:500;white-space:nowrap}.hero-panel--compact{padding:24px}.hero-panel__stats--row{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}.stat-card--inline{min-height:auto;padding:10px 16px;display:flex;align-items:baseline;gap:6px;border-radius:999px}.stat-card--inline strong{margin:0;font-size:1.1rem}.stat-card--inline span{font-size:.82rem;color:var(--muted)}.action-grid--2col{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.memory-album__inline-meta{margin:0;color:var(--muted);font-size:.85rem;line-height:1.5}.project-card--compact,.memory-album--compact{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.project-card--compact:hover,.memory-album--compact:hover{transform:translateY(-2px);box-shadow:0 24px 48px #62503a1f}.developing-card__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.developing-card__grid article{padding:16px;border-radius:20px;background:#fffaf2b8;border:1px solid var(--line)}@media(min-width:980px){.shell-frame{display:grid;grid-template-columns:320px minmax(0,1fr);gap:22px;padding-bottom:32px}.app-sidebar{display:grid;align-self:start;gap:18px;position:sticky;top:20px}.app-sidebar__brand,.app-sidebar__panel,.app-sidebar__item{padding:20px;border-radius:22px;background:var(--bg-paper);border:1px solid rgba(255,255,255,.56);box-shadow:var(--shadow)}.app-sidebar__brand p,.app-sidebar__panel p{margin:0 0 10px;text-transform:uppercase;letter-spacing:.18em;font-size:12px;color:var(--muted)}.app-sidebar__brand h1{margin:0 0 12px;font-family:"Noto Serif SC","Source Han Serif SC",serif;font-size:1.9rem;line-height:1.2}.app-sidebar__brand span,.app-sidebar__panel span,.app-sidebar__item span{color:var(--muted)}.app-sidebar__nav{display:grid;gap:12px}.app-sidebar__item{display:grid;gap:6px}.app-sidebar__item.is-active{background:linear-gradient(145deg,#fff9eff2,#dee9dad6)}.page-grid{grid-template-columns:minmax(320px,400px) minmax(0,1fr)}.sticky-panel{position:sticky;top:20px}.project-card{grid-template-columns:320px 1fr}.project-card__cover{aspect-ratio:auto;height:100%}.bottom-nav{display:none}}@media(max-width:979px){.shell-frame{padding:16px 12px 110px}.page,.shell-main{gap:18px}}@media(max-width:760px){.splash-screen__card,.hero-panel,.home-panel,.toolbar-card,.editor-panel,.memory-note,.profile-card,.settings-block,.developing-card,.memory-stat-card{border-radius:24px}.page-home{gap:16px}.section-header{gap:4px}.section-header h2{font-size:1.9rem;line-height:1.2}.section-header__description{font-size:14px;line-height:1.55}.hero-panel{padding:18px 16px;border-radius:22px}.hero-panel h1{max-width:none;font-size:clamp(2.05rem,10.2vw,2.8rem);line-height:1.08;letter-spacing:-.03em}.hero-panel__intro{margin:10px 0 0;font-size:15px;line-height:1.62}.hero-panel__stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px}.stat-card{min-height:0;padding:14px;border-radius:20px}.stat-card strong{margin:6px 0 4px;font-size:2rem;line-height:1}.stat-card small{display:block;font-size:12px;line-height:1.45}.action-grid{gap:12px}.entry-card{min-height:188px;padding:18px 16px;border-radius:24px}.entry-card h2{font-size:1.7rem;line-height:1.14}.entry-card p,.entry-card span{font-size:14px;line-height:1.5}.entry-card strong{padding:9px 14px;font-size:13px}.action-grid--mini{grid-template-columns:repeat(2,minmax(0,1fr))}.mini-entry{gap:6px;padding:14px;border-radius:18px}.mini-entry strong{font-size:15px}.mini-entry span{font-size:13px;line-height:1.45}.home-dual-grid{gap:12px}.home-panel,.toolbar-card,.memory-note,.settings-block,.developing-card,.profile-card,.editor-panel,.route-board__hero,.route-board__map,.export-sheet{padding:16px}.mini-card{padding:14px;border-radius:18px}.mini-card strong{margin:4px 0 6px;font-size:17px;line-height:1.25}.mini-card span{font-size:13px}.inline-grid,.inline-grid--double,.memory-album__summary,.memory-asset{grid-template-columns:1fr}.memory-album__summary{display:grid}.memory-album__cover-wrap{max-width:150px}.bottom-nav{width:calc(100% - 16px);bottom:10px;padding:6px;gap:4px}.bottom-nav__item{padding:8px 2px;font-size:11px}.bottom-nav__icon{font-size:14px}}@media(max-width:420px){.shell-frame{padding:12px 10px 102px}.hero-panel{padding:16px 14px}.hero-panel__eyebrow,.section-header__eyebrow{margin-bottom:8px;font-size:11px;letter-spacing:.16em}.hero-panel h1{font-size:clamp(1.9rem,9.4vw,2.45rem)}.hero-panel__intro{font-size:14px}.hero-panel__stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card:last-child{grid-column:1 / -1}.entry-card{min-height:172px}.entry-card h2{font-size:1.56rem}.action-grid--mini{grid-template-columns:1fr}}.content-panel{display:grid;gap:18px}.action-grid--mini{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.mini-entry{display:grid;gap:8px;padding:18px;border-radius:22px;background:#fffaf2bd;border:1px solid var(--line)}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-page__panel{width:min(100%,560px);display:grid;gap:18px;padding:26px;border-radius:30px;background:var(--bg-paper);border:1px solid rgba(255,255,255,.56);box-shadow:var(--shadow)}.auth-page__intro p{margin:0 0 10px;text-transform:uppercase;letter-spacing:.2em;font-size:12px;color:var(--muted)}.auth-page__intro h1{margin:0 0 10px;font-family:"Noto Serif SC","Source Han Serif SC",serif;line-height:1.2}.auth-page__intro span{color:var(--muted)}.auth-toggle{display:flex;gap:10px}.auth-submit{width:100%}.error-text{margin:0;color:#9b3f36}.route-board{display:grid;gap:18px}.route-board__hero,.route-board__map,.export-sheet{padding:22px;border-radius:28px;background:var(--bg-paper);border:1px solid rgba(255,255,255,.56);box-shadow:var(--shadow)}.route-board__hero{display:flex;justify-content:space-between;gap:14px;align-items:center}.route-board__hero h2,.export-sheet h1{margin:0 0 8px;font-family:"Noto Serif SC","Source Han Serif SC",serif}.route-board__map{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.route-stop-card{display:grid;gap:8px;min-height:170px;padding:18px;border-radius:22px;background:linear-gradient(180deg,#fffbf5f0,#ebe4d6db);border:1px solid var(--line)}.route-board__side{display:grid;gap:14px}.export-sheet pre{overflow:auto;margin:0;padding:16px;border-radius:20px;background:#22261feb;color:#f4ecdd;font-size:12px;line-height:1.6}.toggle-row{display:flex!important;align-items:center;gap:10px}.project-card--compact{grid-template-columns:1fr}.project-card--compact .project-card__cover{aspect-ratio:16 / 9}.project-card__head--stack{align-items:flex-start}.project-card__metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.project-metric{display:grid;gap:4px;padding:12px;border-radius:18px;background:#fffaf2bd;border:1px solid var(--line);text-align:center}.project-metric strong{font-size:1.2rem;line-height:1}.project-metric span{color:var(--muted);font-size:12px}.project-card__meta--compact{gap:12px}.card-actions--split,.card-actions--wrap-mobile{justify-content:flex-start}.page-journal-list,.page-journal-editor{gap:16px}.journal-detail-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.journal-detail-header .section-header{flex:1}.journal-detail-header__edit{width:56px;height:56px;flex-shrink:0;display:grid;place-items:center;border:1px solid var(--line);border-radius:20px;background:#fffaf2d1;color:var(--ink);cursor:pointer;box-shadow:0 16px 36px #62503a1a;transition:transform .2s ease,opacity .2s ease}.journal-detail-header__edit:hover{transform:translateY(-1px)}.toolbar-card--hero span{color:var(--muted);line-height:1.55}.journal-filter-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.journal-quick-entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mini-entry--soft{background:#fff8efc7}.editor-panel--solo{padding:18px}.editor-summary-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.editor-summary-strip article{display:grid;gap:4px;padding:12px;border-radius:18px;background:#fffaf2b3;border:1px solid var(--line)}.editor-summary-strip strong{font-size:1.15rem}.editor-summary-strip span{color:var(--muted);font-size:12px}.inline-grid--double-form{grid-template-columns:repeat(2,minmax(0,1fr))}.page-grid--journal-detail{align-items:start}.journal-detail-grid{display:grid;gap:12px}.route-preview-list{display:grid;gap:10px}.route-preview-item{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start;padding:12px;border-radius:16px;background:#fffaf2ad;border:1px solid var(--line)}.route-preview-item span{display:grid;place-items:center;width:28px;height:28px;border-radius:999px;background:#4f6a571f;color:var(--sage);font-weight:700}.route-preview-item p{margin:4px 0 0;color:var(--muted);line-height:1.5}@media(min-width:980px){.project-card--compact{grid-template-columns:280px 1fr}.project-card--compact .project-card__cover{height:100%;aspect-ratio:auto}.page-grid--journal-detail{grid-template-columns:minmax(320px,380px) minmax(0,1fr)}}@media(max-width:760px){.toolbar-card--hero{padding:16px}.toolbar-card--hero h1{font-size:1.85rem;line-height:1.14}.journal-detail-header{gap:12px}.journal-detail-header__edit{width:50px;height:50px;border-radius:18px}.journal-quick-entry-grid{grid-template-columns:1fr}.project-card--compact .project-card__body{gap:14px;padding:16px}.project-card--compact .project-card__cover{aspect-ratio:16 / 8}.project-card__summary{font-size:14px;line-height:1.52}.project-card__metrics{gap:8px}.project-metric{padding:10px 8px;border-radius:16px}.project-metric strong{font-size:1.05rem}.card-actions--split{display:grid;grid-template-columns:1fr auto;align-items:stretch}.card-actions--wrap-mobile{gap:8px}.editor-panel--solo{padding:14px}.editor-summary-strip{gap:8px}.editor-summary-strip article{padding:10px;border-radius:16px}.inline-grid--double-form{grid-template-columns:1fr}.route-preview-item{padding:10px}}@media(max-width:420px){.toolbar-card--hero h1{font-size:1.72rem}.journal-detail-header{gap:10px}.journal-detail-header__edit{width:46px;height:46px;border-radius:16px}.project-card--compact .project-card__body{padding:14px}.project-card__metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card__meta--compact{display:grid;gap:10px}.card-actions--split{grid-template-columns:1fr}.editor-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}.route-editor-stack{display:grid;gap:12px}.route-add-button{width:100%;margin-top:12px;display:grid;gap:4px;justify-items:start;padding:16px 18px;border-radius:20px;border:1px dashed rgba(79,106,87,.3);background:linear-gradient(180deg,#eef5ebf0,#fffcf6f0);color:var(--ink);text-align:left;cursor:pointer}.route-add-button strong{margin:0;font-size:1rem}.route-add-button span{color:var(--muted);font-size:13px;line-height:1.5}.route-editor-sheet{display:grid;gap:16px}.editor-summary-strip--route{grid-template-columns:repeat(2,minmax(0,1fr))}.route-editor-sheet__submit{width:100%}.route-stop-editor{display:grid;gap:16px}.route-stop-editor__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.route-stop-editor__summary{display:grid;gap:4px;padding:14px 16px;border-radius:20px;background:#fffaf2c7;border:1px solid var(--line)}.route-stop-editor__summary strong{font-size:1.05rem}.route-stop-editor__summary span{color:var(--muted);font-size:13px}.route-stop-editor__field{display:grid;gap:8px}.route-stop-editor__field>span{font-size:13px;font-weight:700;color:var(--ink)}.route-stop-editor__field input,.route-stop-editor__field textarea{width:100%;border:1px solid rgba(64,72,57,.12);border-radius:20px;background:linear-gradient(180deg,#fffdf8fa,#f7f1e7f0);box-shadow:inset 0 1px #fffc,0 10px 24px #62503a0f;color:var(--ink)}.route-stop-editor__field input{min-height:60px;padding:0 18px;font-size:17px}.route-stop-editor__field textarea{min-height:124px;padding:16px 18px;resize:vertical;line-height:1.65}.route-stop-editor__field input::placeholder,.route-stop-editor__field textarea::placeholder{color:#677062b8}.route-stop-editor__field--budget input{font-weight:700;color:var(--sage)}.route-stop-editor__field--textarea textarea{min-height:136px}.route-stop-editor__location-tools,.route-stop-editor__media{display:grid;gap:10px;padding:14px 16px;border-radius:22px;background:#fff9efc2;border:1px solid rgba(64,72,57,.1)}.route-stop-editor__search{gap:12px}.route-stop-editor__search-results{display:grid;gap:8px}.route-stop-editor__search-item{display:grid;gap:4px;width:100%;padding:14px 16px;border:1px solid rgba(64,72,57,.12);border-radius:18px;background:#fffdf8eb;color:var(--ink);text-align:left;cursor:pointer}.route-stop-editor__search-item strong,.route-stop-editor__search-item span,.route-stop-editor__search-item small{margin:0}.route-stop-editor__search-item span{color:var(--sage);font-size:13px;font-weight:700}.route-stop-editor__search-item small{color:var(--muted);line-height:1.5}.route-stop-editor__picker{position:relative;min-height:240px;overflow:hidden;border-radius:20px;background:radial-gradient(circle at top,rgba(233,212,182,.4),transparent 30%),linear-gradient(180deg,#f6f0e4f5,#eae2d3eb);border:1px solid rgba(64,72,57,.1)}.route-stop-editor__picker-map{width:100%;min-height:240px}.route-stop-editor__picker-map.is-hidden{opacity:0;pointer-events:none}.route-stop-editor__picker-empty{position:absolute;inset:0;display:grid;place-items:center;gap:10px;padding:18px;text-align:center}.route-stop-editor__picker-empty strong,.route-stop-editor__picker-empty p{margin:0}.route-stop-editor__picker-empty p{color:var(--muted);line-height:1.6}.route-image-empty--danger{color:#9b3f36}.route-stop-editor__actions{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px}.route-stop-editor__actions .primary-button{margin-left:auto}.route-editor-modal-overlay{position:fixed;inset:0;z-index:96;display:flex;align-items:flex-end;justify-content:center;padding:16px;background:#15181357;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.route-editor-modal{width:min(100%,920px);max-height:min(calc(100vh - 24px),920px);display:grid;grid-template-rows:auto minmax(0,1fr);border-radius:30px;overflow:hidden;background:var(--bg-paper);border:1px solid rgba(255,255,255,.56);box-shadow:var(--shadow)}.route-editor-modal__header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 16px;align-items:flex-start;padding:18px 20px 16px;border-bottom:1px solid var(--line);background:#fffaf2d1}.route-editor-modal__header p,.route-editor-modal__header h2,.route-editor-modal__header span{margin:0}.route-editor-modal__header p{margin-bottom:8px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.route-editor-modal__header h2{font-family:"Noto Serif SC","Source Han Serif SC",serif;font-size:1.55rem;line-height:1.16}.route-editor-modal__header span{display:block;margin-top:8px;max-width:38rem;color:var(--muted);font-size:14px;line-height:1.6}.route-editor-modal__body{overflow:auto;padding:18px 20px 22px}.route-editor-modal-enter-active,.route-editor-modal-leave-active{transition:opacity .2s ease}.route-editor-modal-enter-active .route-editor-modal,.route-editor-modal-leave-active .route-editor-modal{transition:transform .25s ease}.route-editor-modal-enter-from,.route-editor-modal-leave-to{opacity:0}.route-editor-modal-enter-from .route-editor-modal,.route-editor-modal-leave-to .route-editor-modal{transform:translateY(28px)}.route-editor-card{display:grid;gap:12px;padding:14px;border-radius:20px;background:#fffcf6c7;border:1px solid var(--line)}.route-editor-card__head{display:flex;justify-content:space-between;gap:12px;align-items:center}.route-editor-card__head p{margin:0 0 4px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.route-editor-card__head strong{font-size:1rem}.route-editor-card textarea{min-height:88px}.journal-pro-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.journal-pro-metrics article,.route-summary-badges article{display:grid;gap:4px;padding:14px;border-radius:18px;background:#fffaf2c7;border:1px solid var(--line)}.journal-pro-metrics strong,.route-summary-badges strong{font-size:1.15rem}.journal-pro-metrics span,.route-summary-badges span{color:var(--muted);font-size:12px}.keyword-row{display:flex;flex-wrap:wrap;gap:8px}.keyword-chip{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;background:#4f6a571a;color:var(--sage);font-size:13px}.memory-note--pro{gap:10px}.route-preview-item--pro{grid-template-columns:32px 1fr}.route-preview-item__head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;align-items:flex-start}.route-preview-item__title{display:grid;gap:6px;min-width:0}.route-preview-item__title p{margin:0}.route-preview-item__edit{width:40px;height:40px;display:grid;place-items:center;flex-shrink:0;border:1px solid var(--line);border-radius:14px;background:#fffaf2db;color:var(--ink);cursor:pointer}.route-preview-item--pro small{display:block;margin-top:6px;color:var(--muted);line-height:1.5}.page-route-map{gap:18px}.route-map-hero{align-items:start}.route-map-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.route-map-stats article{display:grid;gap:4px;padding:14px;border-radius:18px;background:#fffaf2c7;border:1px solid var(--line)}.route-map-stats strong{font-size:1.15rem}.route-map-stats span{color:var(--muted);font-size:12px}.route-map-layout{display:grid;gap:18px}.route-map-panel,.route-track-panel{display:grid;gap:14px;padding:18px;border-radius:26px;background:var(--bg-paper);border:1px solid rgba(255,255,255,.56);box-shadow:var(--shadow)}.route-map-stage{position:relative;min-height:360px;overflow:hidden;border-radius:24px;background:radial-gradient(circle at top,rgba(233,212,182,.5),transparent 30%),linear-gradient(180deg,#f6f0e4f5,#eae2d3eb);border:1px solid rgba(64,72,57,.1)}.route-map-canvas{width:100%;min-height:360px}.route-map-canvas.is-hidden{opacity:0;pointer-events:none}.route-map-empty{position:absolute;inset:0;display:grid;place-items:center;gap:12px;padding:24px;text-align:center}.route-map-empty strong{font-size:1.1rem;color:var(--ink)}.route-map-empty p{margin:0;max-width:28rem;color:var(--muted);line-height:1.6}.route-region-strip{display:flex;flex-wrap:wrap;gap:8px}.route-region-strip span{display:inline-flex;align-items:center;padding:8px 14px;border-radius:999px;background:#4f6a571f;color:var(--sage);font-size:13px;font-weight:600}.route-track-list{display:grid;gap:12px}.route-track-item{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;padding:14px;border-radius:20px;background:#fffcf6c7;border:1px solid var(--line)}.route-track-item>span{display:grid;place-items:center;width:42px;height:42px;border-radius:16px;background:linear-gradient(135deg,#4f6a572e,#d99e6333);color:var(--sage);font-weight:800}.route-track-item>div{display:grid;gap:8px}.route-track-item p,.route-track-item small{margin:0}.route-track-item p{color:var(--ink);line-height:1.55}.route-track-item small{color:var(--muted);line-height:1.55}.route-map-marker{width:34px;height:34px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,#5f7c67,#81a07c);box-shadow:0 10px 18px #2a3b2e38;color:#fff8ed;font-size:15px;font-weight:800}.route-studio-grid{display:grid;gap:18px}.route-studio-main,.route-studio-side{display:grid;gap:16px}.route-board__hero--pro{align-items:start}.route-summary-badges{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%}.route-blueprint-card{padding:20px;border-radius:28px;background:var(--bg-paper);border:1px solid rgba(255,255,255,.56);box-shadow:var(--shadow)}.route-blueprint-list{display:grid;gap:12px;margin-top:14px}.route-blueprint-item{display:grid;grid-template-columns:42px 1fr;gap:12px;padding:14px;border-radius:20px;background:#fffcf6c7;border:1px solid var(--line)}.route-blueprint-item__index{display:grid;place-items:center;width:42px;height:42px;border-radius:16px;background:linear-gradient(135deg,#4f6a572e,#d99e6333);color:var(--sage);font-weight:800}.route-blueprint-item__body{display:grid;gap:8px}.route-blueprint-item__meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 12px;align-items:center}.route-blueprint-item__meta span{color:var(--muted);font-size:13px}.route-blueprint-item__body p{margin:0;color:var(--muted);line-height:1.58}@media(min-width:980px){.route-map-layout{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);align-items:start}.route-studio-grid{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:start}.route-summary-badges{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:760px){.route-editor-card{padding:12px;border-radius:18px}.route-map-stats{gap:8px}.route-map-panel,.route-track-panel{padding:16px;border-radius:24px}.route-map-stage,.route-map-canvas{min-height:320px}.journal-pro-metrics,.route-summary-badges{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.journal-pro-metrics article,.route-summary-badges article{padding:10px;border-radius:16px}.route-add-button{margin-top:10px;padding:14px 16px;border-radius:18px}.route-stop-editor__grid{grid-template-columns:1fr;gap:10px}.route-editor-modal-overlay{padding:12px}.route-editor-modal{max-height:calc(100vh - 12px);border-radius:26px}.route-editor-modal__header{padding:16px}.route-editor-modal__header h2{font-size:1.38rem}.route-editor-modal__body{padding:16px 16px 18px}.route-stop-editor__actions{display:grid}.route-stop-editor__actions .primary-button{margin-left:0}.route-stop-editor__search-item{padding:12px 14px}.route-stop-editor__picker,.route-stop-editor__picker-map{min-height:220px}.route-stop-editor__field input{min-height:56px;font-size:16px}.route-stop-editor__field textarea{min-height:116px}.route-track-item{grid-template-columns:36px minmax(0,1fr);padding:12px;border-radius:18px}.route-track-item>span{width:36px;height:36px;border-radius:14px}.route-map-marker{width:30px;height:30px;border-radius:12px;font-size:14px}.route-blueprint-card{padding:16px;border-radius:24px}.route-blueprint-item{grid-template-columns:36px 1fr;padding:12px;border-radius:18px}.route-blueprint-item__index{width:36px;height:36px;border-radius:14px}}@media(max-width:420px){.editor-summary-strip,.journal-pro-metrics,.route-map-stats,.route-summary-badges{grid-template-columns:repeat(2,minmax(0,1fr))}.route-editor-modal-overlay{padding:0}.route-editor-modal{width:100%;max-height:100vh;min-height:100vh;border-radius:0}.route-editor-modal__header{padding:14px 12px}.route-editor-modal__header h2{font-size:1.26rem}.route-editor-modal__header span{font-size:13px}.route-editor-modal__body{padding:12px}.route-stop-editor__actions{display:grid}.route-stop-editor__location-tools,.route-stop-editor__media{padding:12px;border-radius:18px}.route-stop-editor__picker,.route-stop-editor__picker-map{min-height:200px;border-radius:18px}.route-map-panel,.route-track-panel{padding:14px;border-radius:20px}.route-map-stage,.route-map-canvas{min-height:280px;border-radius:20px}.route-map-empty{padding:18px}.route-editor-card__head,.route-blueprint-item__meta{align-items:flex-start}}.page-memory-list{gap:16px}.memory-album--compact{display:grid;gap:14px;padding:14px;border-radius:22px}.memory-album--compact .memory-album__summary{width:100%;display:grid;grid-template-columns:120px 1fr;gap:14px;cursor:pointer}.memory-album__cover-wrap--wide .memory-album__cover{aspect-ratio:1}.memory-album__footer{display:grid;gap:12px}.memory-album__mini-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.memory-album__mini-stats article{display:grid;gap:4px;padding:12px;border-radius:18px;background:#fffaf2c2;border:1px solid var(--line)}.memory-album__mini-stats strong{font-size:1.05rem}.memory-album__mini-stats span{color:var(--muted);font-size:12px}.editor-summary-strip--memory{grid-template-columns:repeat(2,minmax(0,1fr))}.upload-panel--detail{padding:18px}.memory-gallery-board,.memory-asset-board{display:grid;gap:14px}.memory-gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.memory-gallery-card{display:grid;gap:10px;padding:10px;border-radius:24px;background:#fffbf5c2;border:1px solid var(--line);box-shadow:0 14px 32px #3e33210f}.memory-gallery-card__preview{display:block}.memory-gallery-card .media-preview{min-height:0;aspect-ratio:1;border-radius:18px}.memory-gallery-card__body{display:grid;gap:8px}.memory-gallery-card__body h4{margin:0;font-size:15px;line-height:1.35;word-break:break-word}.memory-gallery-card__body p{margin:0;font-size:13px;line-height:1.55;color:var(--muted)}.memory-gallery-card__body small{color:var(--muted)}.memory-gallery-card__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.memory-gallery-card__actions a,.memory-gallery-card__actions button{width:100%;min-height:38px;padding:9px 10px;font-size:12px}.memory-gallery-card__actions button{justify-content:center}@media(min-width:980px){.memory-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.memory-asset-board--stack{gap:12px}.memory-asset--detail{grid-template-columns:minmax(180px,240px) 1fr}@media(min-width:980px){.memory-album--compact .memory-album__summary{grid-template-columns:180px 1fr}}@media(max-width:760px){.memory-album--compact{padding:12px;border-radius:22px}.memory-album--compact .memory-album__summary{grid-template-columns:92px 1fr;gap:12px}.memory-album__mini-stats{gap:8px}.memory-album__mini-stats article{padding:10px;border-radius:16px}.memory-gallery-grid{gap:10px}.memory-gallery-card{padding:9px;border-radius:22px}.memory-gallery-card__actions,.memory-asset--detail{grid-template-columns:1fr}.upload-panel--detail{padding:14px}}@media(max-width:420px){.memory-album--compact .memory-album__summary{grid-template-columns:1fr}.memory-album__cover-wrap--wide{max-width:116px}.editor-summary-strip--memory,.memory-album__mini-stats,.memory-gallery-grid,.memory-gallery-card__actions{grid-template-columns:1fr}}.export-hero{align-items:start}.export-stat-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%}.export-stat-strip article{display:grid;gap:4px;padding:12px;border-radius:18px;background:#fffaf2c2;border:1px solid var(--line)}.export-stat-strip strong{font-size:1.15rem}.export-stat-strip span,.export-image-card__meta span{color:var(--muted);font-size:12px}.export-gallery{display:grid;gap:14px}.export-image-card{display:grid;grid-template-columns:minmax(136px,180px) 1fr;gap:14px;padding:14px;border-radius:24px;background:var(--bg-paper);border:1px solid rgba(255,255,255,.56);box-shadow:var(--shadow)}.export-image-card .media-preview{min-height:136px}.export-image-card__body{display:grid;gap:10px}.export-image-card__body h3{margin:0;font-family:"Noto Serif SC","Source Han Serif SC",serif;font-size:1.18rem;line-height:1.24}.export-image-card__body p{margin:0;color:var(--muted);line-height:1.58}.export-image-card__meta{display:flex;flex-wrap:wrap;gap:8px 12px}.export-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 2px 4px}@media(min-width:980px){.export-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.export-stat-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.export-stat-strip article{padding:10px;border-radius:16px}.export-image-card{grid-template-columns:1fr;padding:12px;border-radius:20px}.export-pagination{padding-bottom:0}}@media(max-width:420px){.export-stat-strip{grid-template-columns:1fr}.export-pagination{flex-direction:column;align-items:stretch}}.subsection__head--tight{margin-bottom:10px}.route-editor-images{display:grid;gap:10px}.route-upload-button{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:#fff8eee0;color:var(--ink);cursor:pointer}.route-upload-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.route-image-empty{margin:0;color:var(--muted);line-height:1.56}.route-image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.route-image-tile{display:block;overflow:hidden;border-radius:18px;border:1px solid var(--line);background:#fffcf6e6}.route-image-tile img{width:100%;aspect-ratio:1;object-fit:cover}.route-image-tile--editor{position:relative}.route-image-remove{position:absolute;top:8px;right:8px;min-height:30px;padding:0 10px;border:0;border-radius:999px;background:#22261fd1;color:#fffaf2;cursor:pointer}.route-image-grid--preview,.route-image-grid--board{margin-top:10px}@media(min-width:980px){.route-image-grid--board{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:420px){.route-image-grid{gap:8px}.route-upload-button{width:100%}}.route-location-panel{display:grid;gap:10px;margin-top:10px;padding:12px;border-radius:18px;background:#fffaf2bd;border:1px solid var(--line)}.route-location-panel p{margin:0;color:var(--ink);line-height:1.56;word-break:break-all}.route-location-actions{display:flex;flex-wrap:wrap;gap:10px}.route-location-actions .ghost-button,.route-location-actions .primary-button{min-height:40px}@media(max-width:420px){.route-location-actions{display:grid;grid-template-columns:1fr 1fr}}.route-toast{font-size:13px;color:var(--sage);margin:0;animation:route-toast-in .25s ease}@keyframes route-toast-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.route-editor-card{gap:14px;padding:16px;border-radius:22px;background:linear-gradient(180deg,#fffcf6f0,#f4ecdfe6);border:1px solid rgba(44,52,39,.1)}.route-editor-card__title{display:grid;gap:4px}.route-editor-card__meta{color:var(--muted);font-size:12px;line-height:1.45}.route-editor-card__content{display:grid;gap:12px}.route-editor-card label{display:grid;gap:8px}.route-editor-card label>span{font-size:13px;color:var(--ink)}.route-editor-card input,.route-editor-card textarea{background:#fffcf6eb}.route-editor-card textarea{min-height:74px}.route-editor-card .route-location-actions{margin-top:-2px}.route-preview-item--pro,.route-blueprint-item{align-items:start}.route-preview-item--pro>div,.route-blueprint-item__body{display:grid;gap:8px}.route-preview-item--pro p,.route-preview-item--pro small,.route-blueprint-item__body p{margin:0}.route-preview-item--pro .route-location-panel,.route-blueprint-item .route-location-panel{margin-top:2px;padding:10px;border-radius:16px}.route-preview-item--pro .route-location-actions .ghost-button,.route-preview-item--pro .route-location-actions .primary-button,.route-blueprint-item .route-location-actions .ghost-button,.route-blueprint-item .route-location-actions .primary-button{min-height:36px;padding:0 14px}@media(max-width:760px){.route-editor-card{gap:12px;padding:14px;border-radius:20px}.route-editor-card__content{gap:10px}.route-editor-card__head .ghost-button{min-height:38px;padding:0 14px}}@media(max-width:420px){.route-editor-card__head{align-items:flex-start}.route-editor-card__head .ghost-button{width:auto}.route-editor-card__meta{font-size:11px}}.page-memory-detail{gap:20px}.page-grid--memory-detail{align-items:start}.memory-hero-card{gap:18px}.memory-pro-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.memory-uploader-card{padding:18px;border-radius:20px;background:var(--bg-panel);border:1px solid var(--line);box-shadow:0 18px 40px #62503a14;display:grid;gap:14px}.album-stats-strip{display:flex;gap:6px;padding:0 4px;color:var(--muted);font-size:.85rem}.album-stats-strip span+span:before{content:"·";margin-right:6px}.album-photo-wall{padding:0}.album-grid{display:grid;gap:4px;grid-template-columns:repeat(3,minmax(0,1fr))}.album-grid.memory-moments__grid--single{grid-template-columns:minmax(0,1fr)}.album-grid.memory-moments__grid--double{grid-template-columns:repeat(2,minmax(0,1fr))}.album-cell{position:relative;overflow:hidden;border-radius:6px}.album-cell__btn{appearance:none;padding:0;border:0;background:linear-gradient(90deg,#c8beae33 25%,#c8beae59,#c8beae33 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;cursor:zoom-in;display:block;width:100%}.album-cell__btn img{width:100%;aspect-ratio:1 / 1;object-fit:cover;display:block;transition:transform .2s ease}.album-grid.memory-moments__grid--single .album-cell__btn img{aspect-ratio:4 / 3}.album-cell__label{position:absolute;bottom:0;left:0;right:0;padding:20px 8px 6px;font-size:.78rem;color:#fff;background:linear-gradient(transparent,#00000073);pointer-events:none;line-height:1.3}.album-cell__hover-actions{position:absolute;top:6px;right:6px;display:flex;gap:4px;opacity:0;transition:opacity .15s ease;pointer-events:none}.album-cell:hover .album-cell__hover-actions{opacity:1;pointer-events:auto}.album-cell:hover .album-cell__btn img{transform:scale(1.03)}.album-cell__hover-actions button{width:30px;height:30px;padding:0;display:grid;place-items:center;border:0;border-radius:8px;background:#0000008c;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.album-cell__hover-actions button:hover{background:#000000bf}.batch-toolbar{display:flex;align-items:center;gap:8px;padding:8px 0}.batch-toolbar--entry{justify-content:flex-end}.batch-toolbar__count{font-size:.85rem;color:var(--ink-muted);margin-right:auto}.album-cell__checkbox{position:absolute;top:6px;left:6px;width:24px;height:24px;border-radius:50%;border:2px solid rgba(255,255,255,.7);background:#0003;cursor:pointer;z-index:3;transition:background .15s ease,border-color .15s ease}.album-cell__checkbox--checked{background:var(--accent);border-color:var(--accent)}.album-cell__checkbox--checked:after{content:"";position:absolute;top:4px;left:7px;width:6px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.album-cell--selected .album-cell__btn img{opacity:.7}.album-cell--selectable .album-cell__hover-actions{display:none}.album-cell__editor{position:absolute;inset:0;background:#fffcf6f5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:12px;display:grid;gap:8px;align-content:start;z-index:5;border-radius:6px;overflow-y:auto}.album-cell__editor label{display:grid;gap:3px;font-size:.82rem}.album-cell__editor label span{font-weight:600;color:var(--muted)}.album-cell__editor input,.album-cell__editor textarea{padding:6px 8px;border:1px solid var(--line);border-radius:8px;font-size:.85rem;background:#fff}.album-cell__editor textarea{min-height:48px;resize:vertical}.album-fab{position:fixed;bottom:80px;right:24px;width:52px;height:52px;border:0;border-radius:50%;background:var(--sage);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 24px #4d68584d;z-index:40;transition:transform .15s ease,box-shadow .15s ease}.album-fab:hover{transform:scale(1.08);box-shadow:0 12px 32px #4d685866}.action-sheet-overlay{position:fixed;inset:0;z-index:90;background:#0006;display:flex;align-items:flex-end;justify-content:center}.action-sheet{width:100%;max-width:420px;background:var(--bg-paper);border-radius:20px 20px 0 0;padding:16px 16px calc(env(safe-area-inset-bottom,12px) + 12px);display:grid;gap:6px}.action-sheet__header{padding:8px 4px 12px;border-bottom:1px solid var(--line)}.action-sheet__header h4{margin:0;font-size:1rem;line-height:1.4}.action-sheet__header small{color:var(--muted);font-size:.82rem}.action-sheet__actions{display:grid;gap:2px}.action-sheet__item{display:flex;align-items:center;gap:12px;padding:14px 8px;border:0;background:transparent;font-size:.95rem;cursor:pointer;border-radius:12px;color:var(--ink);text-decoration:none}.action-sheet__item:hover{background:#4d68580f}.action-sheet__item--danger{color:#8a4139}.action-sheet__cancel{margin-top:4px;padding:14px;border:0;border-radius:14px;background:#2c34270f;font-size:.95rem;font-weight:600;color:var(--muted);cursor:pointer}.action-sheet-enter-active,.action-sheet-leave-active{transition:opacity .2s ease}.action-sheet-enter-active .action-sheet,.action-sheet-leave-active .action-sheet{transition:transform .25s ease}.action-sheet-enter-from,.action-sheet-leave-to{opacity:0}.action-sheet-enter-from .action-sheet,.action-sheet-leave-to .action-sheet{transform:translateY(100%)}.memory-asset__actions--compact{display:flex;flex-wrap:wrap;gap:8px}.memory-asset__actions--compact a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border-radius:999px;border:1px solid rgba(44,52,39,.12);background:#ffffffbd}.memory-asset__actions--compact .ghost-button{min-height:38px;padding-inline:14px}.memory-asset-board--compact{gap:14px}.memory-asset--compact{padding:14px;border-radius:20px}.memory-asset--compact .media-preview{border-radius:14px;overflow:hidden}.inline-editor--memory{margin-top:10px}.pswp{--pswp-bg: rgba(17, 20, 18, .92)}.pswp-loader-spinner{position:absolute;top:50%;left:50%;width:40px;height:40px;margin:-20px 0 0 -20px;border:3px solid rgba(255,255,255,.15);border-top-color:#fffc;border-radius:50%;animation:pswp-spin .65s linear infinite;pointer-events:none;z-index:10}@keyframes pswp-spin{to{transform:rotate(360deg)}}@media(max-width:920px){.page-grid--memory-detail{grid-template-columns:1fr}}@media(max-width:720px){.album-grid{gap:3px;grid-template-columns:repeat(3,minmax(0,1fr))}.album-grid.memory-moments__grid--single{grid-template-columns:1fr}.album-grid.memory-moments__grid--double{grid-template-columns:repeat(2,minmax(0,1fr))}.album-cell__hover-actions{display:none}}@media(max-width:560px){.memory-uploader-card,.memory-asset--compact{padding:14px;border-radius:18px}.album-grid{gap:2px;grid-template-columns:repeat(3,minmax(0,1fr))}.album-grid.memory-moments__grid--single{grid-template-columns:1fr}.album-grid.memory-moments__grid--double{grid-template-columns:repeat(2,minmax(0,1fr))}.album-cell{border-radius:4px}.album-fab{bottom:72px;right:16px;width:48px;height:48px}.memory-asset__actions--compact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.memory-asset__actions--compact a,.memory-asset__actions--compact .ghost-button{width:100%}}.page-fade-enter-active,.page-fade-leave-active{transition:opacity .18s ease}.page-fade-enter-from,.page-fade-leave-to{opacity:0}.skeleton{background:linear-gradient(90deg,#c8beae33 25%,#c8beae59,#c8beae33 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.empty-state{display:grid;place-items:center;gap:10px;padding:32px 20px;border:2px dashed var(--line);border-radius:var(--radius-md);text-align:center;color:var(--muted)}.empty-state strong{font-size:1.1rem;color:var(--ink)}.empty-state p{margin:0;font-size:14px;max-width:360px}.album-cell__cover-badge{position:absolute;left:8px;top:8px;z-index:2;padding:4px 8px;border-radius:999px;background:#22261fc2;color:#fffaf2;font-size:12px;line-height:1}.album-cell__hover-actions button[title=当前封面]{color:#e8c46d}.memory-list-search{display:grid;gap:12px}.memory-search-field{display:grid;gap:8px}.memory-search-field span{font-size:13px;color:var(--muted)}.memory-search-field input{width:100%;min-height:52px;padding:0 16px;border-radius:18px;border:1px solid var(--line);background:#fffdf8eb;color:var(--ink)}.memory-list-sentinel{width:100%;height:2px}.memory-list-loading{margin:-4px 0 0;text-align:center;color:var(--ink);font-size:14px}.memory-list-loading--muted{color:var(--muted)}
