/* HAEBOM 4.1 | A single interface language, progressive disclosure. */
:root{--v41-space-xs:6px;--v41-space-sm:12px;--v41-space-md:20px;--v41-space-lg:32px;--v41-radius:14px;--v41-content:960px;--v41-heading:clamp(27px,4.6vw,36px)}
/* Shared page geometry and titles */
.journal-layout{width:min(var(--v41-content),100%);padding-top:clamp(23px,4vw,42px);padding-bottom:calc(160px + env(safe-area-inset-bottom,0px))}
.tab-page-heading,.home-page-heading{margin:0 0 27px!important;padding:0!important;min-height:0}
.tab-page-heading h1,.home-page-heading h1,.quiet-home-title-line h1{font-size:var(--v41-heading)!important;font-weight:770!important;line-height:1.2;letter-spacing:-.055em!important;margin:0!important}
.tab-page-heading p,.home-page-heading .page-subtitle{margin:7px 0 0!important;color:var(--sub);font-size:14px!important;line-height:1.5}
.home-heading-holder{margin:0}
.quiet-home-date[hidden]{display:none!important}
/* Brand discovery remains the first major content; concise. */
.discovery-home{margin:0 0 22px!important}
.discovery-home-link{border-radius:var(--v41-radius)!important;min-height:148px!important;padding:22px clamp(20px,4vw,30px)!important;box-shadow:none!important}
.discovery-home-main{margin-top:9px!important}
.discovery-home-main strong{font-size:clamp(23px,4vw,32px)!important;letter-spacing:-.055em}
.discovery-home-eyebrow{font-size:10px;letter-spacing:.09em}
.discovery-banner-cta{margin-top:12px!important;font-weight:760;text-decoration:underline;text-underline-offset:4px}
.discovery-home-link:focus-visible,.discovery-home-link:hover{border-color:var(--brand)!important}
.home-compact-summary{margin:0 0 22px;padding-bottom:15px;border-bottom:1px solid var(--line)}
.home-compact-summary .quiet-home-total{margin:0;display:flex;align-items:baseline;gap:5px}
.home-compact-summary .quiet-home-total strong{font-size:22px!important;line-height:1.3}
.home-compact-summary .quiet-home-total span{font-size:13px!important}
.quiet-home-recent{margin-top:25px!important}
.quiet-home-recent,.quiet-home-upcoming,.quiet-home-revisit{margin-bottom:27px!important}
.quiet-home-collections,.quiet-home-years-section{margin:19px 0 0!important}
.home-archive-more{margin:25px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.home-archive-more>summary{min-height:54px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-size:14px;font-weight:680;color:var(--brand);list-style:none}
.home-archive-more>summary:after{content:'⌄';font-size:19px}
.home-archive-more[open]>summary:after{transform:rotate(180deg)}
.home-archive-more>summary::-webkit-details-marker{display:none}
.home-archive-more .quiet-section-heading h2{font-size:16px}
/* Footprints: three unmistakable and equal state tabs */
.footprint-sections{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important;padding:5px!important;background:#f0edeb;border:0!important;border-radius:14px;overflow:visible!important;margin:0 0 22px!important}
.footprint-section{border:0!important;border-radius:10px!important;min-width:0;min-height:47px;padding:8px 4px!important;font-size:clamp(12px,2.6vw,14px)!important;font-weight:670!important;white-space:nowrap;color:#746d69!important;transition:background .15s,color .15s,box-shadow .15s}
.footprint-section.active,.footprint-section[aria-current="page"]{background:#fff!important;color:var(--ink)!important;box-shadow:0 1px 5px rgba(35,25,25,.07)!important}
.footprint-pending{display:inline-flex;vertical-align:middle;align-items:center;justify-content:center;margin-left:2px;background:#e9e3df;border-radius:100px;min-width:20px;height:20px;padding:0 5px;font-size:11px}
.footprint-section.active .footprint-pending{background:var(--brand-pale);color:var(--brand)}
#footprint-overview[hidden],#trail-progress[hidden]{display:none!important}
/* Search is a visible button-like control, not plain text. */
.streamlined-archive .section-title-inline{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 15px!important}
.streamlined-archive .section-title-inline h2{font-size:17px!important;margin:0!important}
.archive-heading-subtitle{display:none}
.journal-filter-panel{margin-bottom:18px!important;border:0!important}
.journal-filter-panel>summary{display:flex;gap:9px;min-height:48px;align-items:center;justify-content:space-between;border:1px solid var(--line);background:#fff;border-radius:11px;padding:10px 15px!important;color:var(--ink)!important;font-size:14px!important;transition:border-color .15s,background .15s}
.journal-filter-panel>summary:hover,.journal-filter-panel[open]>summary{border-color:#bdaeb6;background:#fdfafc}
.journal-filter-panel .journal-controls{border:1px solid var(--line);border-top:0;border-radius:0 0 11px 11px;padding:17px 14px;background:#fff}
.journal-filter-panel[open]>summary{border-radius:11px 11px 0 0}
.filter-control-label{display:inline-flex;align-items:center;font-weight:710}
.footprint-collection-area{margin:14px 0 0!important;padding:17px 0 0!important;border-top:1px solid var(--line)!important;border-bottom:0!important}
.footprint-collection-head small{display:none}
.footprint-collection-grid{gap:8px!important}
.footprint-collection-grid .v37-collection-tile{flex-basis:115px!important}
.footprint-collection-grid .v37-collection-cover{aspect-ratio:1.6!important}
/* Record controls and cards: actions are subordinate, consistently spaced. */
.cards:not(.list-mode){gap:clamp(10px,2vw,18px)!important}
.experience-card{border:1px solid var(--line)!important;border-radius:var(--v41-radius)!important;background:#fff!important;box-shadow:none!important;transform:none!important}
.experience-card:hover{border-color:#d5c8c5!important;box-shadow:0 4px 14px rgba(50,35,35,.045)!important}
.experience-card .diary-page-copy,.experience-card.diary-text-only .diary-page-copy{background:transparent!important;border:0!important;border-top:0!important;min-height:0!important;padding:15px!important}
.diary-page-copy h3{font-size:16px!important;line-height:1.4!important;margin-top:8px!important}
.diary-page-bottom{margin-top:15px}
.card-actions button{min-height:36px!important;padding:8px 9px!important;border-radius:8px;background:#f7f4f1!important;font-size:12px!important;color:#6d6260!important}
.card-actions button:hover{background:#efe8eb!important;color:var(--brand)!important}
.diary-text-only .diary-page-copy{display:flex;flex-direction:column;justify-content:space-between;min-height:176px!important}
.quiet-list-heading .view-switch{flex-shrink:0}
/* Plans + bucket have no repeated promotional headings */
.plan-intro{padding:14px 0 18px!important;margin-bottom:18px;border-top:0!important}
.plan-intro-count strong{font-size:24px!important}
.planned-guidance.subtle-hint{margin:0 0 16px;color:var(--sub);font-size:13px;line-height:1.6}
.bucket-header{margin:10px 0 20px!important;gap:12px!important}
.bucket-header h2{font-size:18px!important;font-weight:740;margin:0!important}
.bucket-header h2 span{font-size:14px}
/* Consistent actionable links / buttons / settings rows */
.quiet-section-heading button,.quiet-section-title button,.recall-refresh{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 10px!important;border-radius:9px!important;color:var(--brand)!important;font-weight:730!important;text-decoration:none}
.quiet-section-heading button:hover,.quiet-section-title button:hover,.recall-refresh:hover{background:var(--brand-pale)!important}
.plan-create-btn,.editor-save,.discovery-actions button{border-radius:11px!important;min-height:46px}
.my-category-section,.my-tour-section,.my-recall-section,.data-zone{margin-top:22px!important}
/* Drawer / fixed bottom navigation breathing room */
.haebom-tabbar{box-shadow:0 4px 23px rgba(35,24,25,.07)!important}
.haebom-tab{min-height:54px!important}
#archive-view .journal-layout{padding-bottom:calc(170px + env(safe-area-inset-bottom,0px))}
@media(max-width:650px){
 .journal-layout{padding-top:24px!important}
 .discovery-home-link{min-height:142px!important;padding:19px!important}
 .discovery-home-copy{max-width:72%}
 .discovery-banner-art{transform:scale(.76);transform-origin:right center}
 .tab-page-heading,.home-page-heading{margin-bottom:22px!important}
 .streamlined-archive .section-title-inline{align-items:center}
 .streamlined-archive .section-title-inline h2{font-size:16px!important}
 .plan-create-btn{font-size:13px!important}
 .cards:not(.list-mode){grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .experience-card .diary-page-copy,.experience-card.diary-text-only .diary-page-copy{padding:12px!important}
 .diary-page-copy h3{font-size:15px!important}
 .card-actions{gap:3px}
 .card-actions button{padding:7px!important}
 .footprint-sections{gap:3px!important;padding:4px!important}
 .footprint-section{min-height:45px!important}
 .footprint-pending{min-width:18px;height:18px;padding:0 4px}
 .journal-filter-panel .journal-controls{padding:13px 11px}
}
@media(prefers-reduced-motion:reduce){.experience-card,.discovery-home-link,.footprint-section{transition:none!important}}
/* HAEBOM 4.2 | Unified collection design tokens — old 4.1 definitions above are inherited. */
:root{--v42-page:#fbfaf8;--v42-card:#fffefa;--v42-ink:#302a32;--v42-muted:#827984;--v42-mauve:#775c75;--v42-pale:#f1e9ef;--v42-line:#e9e3e1;--v42-radius:14px;--v42-gap:20px}
/* The main screens use identical typographic grammar */
.tab-page-heading,.home-page-heading{margin-bottom:24px!important;max-width:100%}
.tab-page-heading h1,.home-page-heading h1{font-weight:760!important;letter-spacing:-.06em!important;font-size:clamp(27px,4vw,34px)!important}
.tab-page-heading p,.home-page-heading .page-subtitle{font-size:13px!important;line-height:1.6;color:var(--v42-muted)!important;margin-top:7px!important}
.home-stats-quiet{display:none!important}
.cloud-status{font-size:12px!important;margin:8px 0 17px;min-height:0!important;opacity:.72}
.discovery-home{margin:0 0 25px!important}
.discovery-home-link{border-radius:18px!important;background:#eee5ed!important;border:1px solid #e1d4e0!important;min-height:154px!important;padding:21px 23px!important}
.discovery-home-link:hover{background:#eae0e8!important;box-shadow:0 7px 24px rgba(93,65,88,.06)}
.discovery-home-main strong{font-weight:780!important}
.discovery-home-eyebrow{font-size:10px!important;font-weight:660!important;letter-spacing:.07em!important}
.discovery-home-description{font-size:13px!important}
.discovery-banner-cta{font-size:12px;text-decoration:none!important;padding:5px 0!important;margin-top:12px!important;border-bottom:1px solid currentColor}
.discovery-banner-art{opacity:.9}
/* Four stable home sections. Upcoming and someday use legible two-row lists, only completed uses collectible cards. */
.v42-home-section{margin:0 0 30px;min-width:0}
.v42-section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.v42-section-heading h2{font-size:17px;font-weight:760;line-height:1.35;letter-spacing:-.035em;margin:0;color:var(--v42-ink)}
.v42-see-all{appearance:none;background:transparent;border:0;padding:9px 1px;min-height:40px;white-space:nowrap;color:var(--v42-muted);font-size:12px;font-weight:660;display:inline-flex;align-items:center;gap:5px;cursor:pointer}
.v42-see-all:hover,.v42-see-all:focus-visible{color:var(--v42-mauve)}
.v42-home-list{border-top:1px solid var(--v42-line)}
.v42-home-preview-row{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:69px;padding:13px 4px;background:transparent;border:0;border-bottom:1px solid var(--v42-line);text-align:left;cursor:pointer;color:var(--v42-ink);transition:background .18s ease}
.v42-home-preview-row:hover{background:#f8f5f7}
.v42-home-preview-info{min-width:0;display:flex;flex-direction:column;gap:4px}
.v42-home-preview-info strong{font-size:14px;line-height:1.4;letter-spacing:-.018em;font-weight:700;overflow-wrap:anywhere;word-break:keep-all}
.v42-home-preview-info small{font-size:12px;color:var(--v42-muted)}
.v42-day-tag{flex:none;color:var(--v42-mauve);background:#f3edf2;border-radius:7px;min-width:44px;padding:7px 9px;text-align:center;font-size:12px;font-weight:760;white-space:nowrap}
.v42-home-empty{display:flex;align-items:center;justify-content:space-between;min-height:75px;gap:10px;border-top:1px solid var(--v42-line);border-bottom:1px solid var(--v42-line)}
.v42-home-empty span{font-size:13px;color:var(--v42-muted);line-height:1.4}
.v42-home-empty button{font-size:12px;white-space:nowrap;background:#f1e9ef;border:0;color:var(--v42-mauve);border-radius:9px;padding:11px;cursor:pointer}
/* completed preview: always two equal keepsakes, never one oversize 'hero' among them */
.v42-home-completed .quiet-recent-gallery{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:auto!important;gap:12px!important}
.v42-home-completed .v37-memory,.v42-home-completed .v37-memory.v37-featured,.v42-home-completed .v37-memory.v37-secondary,.v42-home-completed .quiet-recent-gallery.v37-has-only-one .v37-featured{grid-row:auto!important;grid-column:auto!important;min-height:185px!important;border-radius:13px!important;padding:14px!important;box-shadow:none!important}
.v42-home-completed .v37-memory.v37-has-photo{background:#322b32;color:#fff}
.v42-home-completed .v37-memory.v37-without-photo{background:#f0e8e7;color:var(--v42-ink)}
.v42-home-completed .v37-memory-name{font-size:clamp(15px,2vw,19px)!important;line-height:1.38!important;letter-spacing:-.03em}
.v42-home-completed .v37-memory-type{position:static;margin-bottom:auto;font-size:10px;color:#887282}
.v42-home-completed .v37-memory-content{gap:5px}
.v42-home-completed .v37-memory-label,.v42-home-completed .v37-memory-day{font-size:11px}
.v42-home-completed .v37-memory.v37-has-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(23,18,25,.58),transparent 72%);z-index:-1}
/* all three state pages — icon, label and style consistency */
.footprint-sections{margin-bottom:21px!important;background:#f1ecee!important;border-radius:13px!important}
.footprint-section{white-space:normal!important;min-height:56px!important;padding:8px 2px!important;font-size:clamp(11px,2.5vw,13px)!important;display:flex!important;align-items:center;justify-content:center;gap:5px;line-height:1.3}
.footprint-section .v42-state-symbol{display:inline-flex;font-size:13px;line-height:1;color:var(--v42-mauve);font-weight:760;flex-shrink:0}
.footprint-pending{display:none!important}
.v42-subsection{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:0 0 18px}
.v42-subsection h2{font-size:17px;letter-spacing:-.03em;margin:0 0 5px;font-weight:760}
.v42-subsection p,.v42-sub-description{font-size:12px;color:var(--v42-muted);line-height:1.55;margin:0!important}
.v42-subsection .plan-create-btn{height:auto;min-height:42px;flex:none;background:var(--v42-pale);color:var(--v42-mauve);border:0;border-radius:10px;padding:10px 13px}
#tab-footprints .quiet-list-heading{margin-bottom:15px!important}
#tab-footprints .quiet-list-heading h2{font-weight:750}
.plan-empty-state{border:1px dashed #e0d5d8;border-radius:15px;padding:26px 15px!important;background:#fdfbfc;text-align:center}
.plan-empty-state h2{font-size:16px!important;margin:0 0 9px!important}
.plan-empty-state p{font-size:13px;color:var(--v42-muted);line-height:1.5;margin:0}
.plan-empty-state button{margin-top:12px}
/* collectable personal cards. Never show edit/delete in the gallery. */
.cards:not(.list-mode){gap:13px!important}
.experience-card.v42-collectible{background:var(--v42-card)!important;border:1px solid #eae2e3!important;border-radius:13px!important;overflow:hidden;box-shadow:0 1px 0 rgba(35,21,36,.02)!important;min-width:0;transition:transform .16s,box-shadow .16s}
.experience-card.v42-collectible:hover{transform:translateY(-2px)!important;box-shadow:0 6px 23px rgba(35,21,36,.07)!important}
.experience-card.v42-collectible .diary-photo{border-radius:0!important;aspect-ratio:4/3!important;min-height:0;background:#f0e8e8}
.experience-card.v42-collectible .diary-page-copy{padding:13px 13px 16px!important;background:transparent!important;border:0!important;min-height:0!important;display:flex;flex-direction:column;gap:9px}
.experience-card.v42-collectible .diary-page-top{display:flex;align-items:baseline;justify-content:space-between;gap:5px;color:#8e8086;font-size:10px!important;flex-wrap:wrap}
.experience-card.v42-collectible h3{margin:0!important;color:var(--v42-ink);line-height:1.42!important;font-size:clamp(14px,2vw,17px)!important;font-weight:750;letter-spacing:-.03em;word-break:keep-all;overflow-wrap:anywhere;-webkit-line-clamp:3}
.experience-card.v42-collectible.diary-text-only{background:#f2eae7!important;border-color:#ede1df!important}
.experience-card.v42-collectible.diary-text-only .diary-page-copy{min-height:157px!important;padding:16px!important;justify-content:space-between!important}
.experience-card.v42-collectible.diary-text-only .diary-page-top{border-bottom:1px solid #dfd2d3;padding-bottom:11px}
.experience-card.v42-collectible.diary-text-only h3{margin-top:auto!important;font-size:clamp(16px,2vw,20px)!important}
.experience-card.v42-collectible:focus-within{outline:3px solid #997a98;outline-offset:2px}
/* beautiful concise future cards */
.plan-list{border-top:1px solid var(--v42-line)}
.plan-item.v42-plan-row{appearance:none;display:grid!important;grid-template-columns:42px minmax(0,1fr) auto!important;align-items:center!important;gap:12px!important;text-align:left;width:100%;min-height:83px!important;margin:0!important;padding:15px 2px!important;border:0!important;border-bottom:1px solid var(--v42-line)!important;border-radius:0!important;background:transparent;color:var(--v42-ink);cursor:pointer;box-shadow:none!important;transition:background .16s}
.plan-item.v42-plan-row:hover{background:#f8f3f6}
.v42-plan-row .v42-plan-mark{width:40px;height:40px;border-radius:10px;background:#f0e9ef;display:grid;place-items:center;color:var(--v42-mauve);font-size:16px;font-weight:730}
.v42-plan-row .plan-copy{display:flex;flex-direction:column;gap:5px;min-width:0}
.v42-plan-row .plan-copy strong{font-size:14px;font-weight:720;line-height:1.5;word-break:keep-all;overflow-wrap:anywhere;color:var(--v42-ink)!important;text-decoration:none!important}
.v42-plan-row .plan-copy small{font-size:12px;color:var(--v42-muted)}
.v42-plan-row .v42-plan-remain{font-size:11px;color:var(--v42-mauve);font-weight:710;border-radius:7px;padding:6px;background:#f5f0f5;white-space:nowrap}
.v42-plan-row .v42-plan-mark:has(+.plan-copy){flex:none}
/* Both detail screens share a single semantics: view first, act second */
.v42-detail-dialog,.v42-reward-dialog{position:fixed;inset:0;margin:auto;border:0;border-radius:20px;padding:0;width:min(520px,calc(100% - 28px));max-height:min(85dvh,780px);box-shadow:0 26px 80px rgba(27,17,32,.23);background:#fffefa;color:var(--v42-ink);overflow:auto}
.v42-detail-dialog::backdrop,.v42-reward-dialog::backdrop{background:rgba(32,26,33,.55);backdrop-filter:blur(2px)}
.v42-detail-body{padding:22px 24px 25px}
.v42-detail-top{display:flex;justify-content:space-between;align-items:center;gap:14px;color:var(--v42-mauve);font-weight:750;font-size:12px;margin-bottom:14px}
.v42-detail-menu{position:relative;margin-left:auto}
.v42-more-button,.v42-detail-close{border:0;border-radius:8px;background:transparent;font-size:21px;min-width:44px;min-height:44px;cursor:pointer;color:var(--v42-muted)}
.v42-more-button:hover,.v42-detail-close:hover{background:#f3edf2}
.v42-detail-options{position:absolute;z-index:5;right:0;top:46px;min-width:120px;display:flex;flex-direction:column;gap:2px;background:#fff;border:1px solid #e5dce3;border-radius:12px;padding:6px;box-shadow:0 12px 30px rgba(38,22,32,.1)}
.v42-detail-options.hidden{display:none!important}
.v42-detail-options button{font-size:13px;text-align:left;padding:12px;border:0;background:transparent;border-radius:8px;cursor:pointer}
.v42-detail-options button:hover{background:#f8f3f6}
.v42-detail-options #v42-detail-delete{color:#ad525c}
.v42-detail-media{display:flex;gap:8px;max-width:100%;overflow-x:auto;border-radius:13px;margin-bottom:18px;scroll-snap-type:x mandatory}
.v42-detail-media img{width:100%;height:auto;max-height:300px;object-fit:cover;flex:0 0 100%;border-radius:13px;scroll-snap-align:center}
.v42-detail-body h2{font-size:clamp(21px,4vw,28px);line-height:1.36;letter-spacing:-.04em;margin:0 0 9px;word-break:keep-all;overflow-wrap:anywhere}
.v42-detail-meta{font-size:13px;color:var(--v42-muted);margin:0 0 19px}
.v42-detail-note{font-size:14px;color:#554c52;white-space:pre-wrap;line-height:1.8;margin:0 0 20px}
.v42-detail-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}
.v42-detail-actions button{border-radius:10px;min-height:46px;padding:10px 16px;cursor:pointer;font-size:14px;font-weight:690}
.v42-primary-action{background:var(--v42-mauve);color:white;border:1px solid var(--v42-mauve)}
.v42-secondary-action{background:#f5f0f4;color:var(--v42-mauve);border:1px solid #ebdfe8}
.v42-reward-content{text-align:center;padding:34px 26px 26px}
.v42-reward-mark{display:grid;place-items:center;margin:0 auto 16px;border:1px solid #d8c8d9;background:#f2eaf3;color:var(--v42-mauve);height:49px;width:49px;border-radius:50%;font-size:24px}
.v42-reward-caption{font-size:10px;letter-spacing:.15em;color:#88718a;font-weight:700;margin:0 0 10px}
.v42-reward-content h2{font-size:22px;line-height:1.4;letter-spacing:-.05em;margin:0 0 8px}
.v42-reward-content>p:not(.v42-reward-caption){font-size:13px;color:var(--v42-muted);margin:0 0 18px}
.v42-reward-item{border:1px solid #e8dee6;border-radius:13px;overflow:hidden;text-align:left;background:#f4ecee;margin:0 0 19px}
.v42-reward-photo{width:100%;height:130px;object-fit:cover;display:block}
.v42-reward-info{padding:17px;display:flex;flex-direction:column;gap:7px}
.v42-reward-info small{font-size:12px;color:var(--v42-muted)}
.v42-reward-info strong{font-size:18px;font-weight:760}
.v42-reward-close{height:46px;width:100%;background:var(--v42-mauve);color:#fff;border:0;border-radius:10px;font-weight:700;cursor:pointer}
/* The edit screen's dismiss is a text control, not a square outline. Accessibility focus remains. */
.journal-editor .editor-text-button{appearance:none!important;border:0!important;background:transparent!important;box-shadow:none!important;color:#766b74!important;border-radius:8px!important;padding:9px!important;text-decoration:none!important}
.journal-editor .editor-text-button:focus-visible,.v42-detail-dialog button:focus-visible,.v42-plan-row:focus-visible,.v42-home-preview-row:focus-visible{outline:3px solid var(--v42-mauve)!important;outline-offset:2px}
/* Capsule discover: sober monochrome, no random green emojis */
.discovery-home .discovery-banner-spark,.discovery-stamp{display:none!important}
.discovery-home .discovery-banner-art{filter:saturate(.72)}
.discovery-saved-shortcut{color:var(--v42-mauve)}
/* Full-width grounded bottom dock: remove floating bottom empty gap while respecting safe area once. */
@media(max-width:900px){
 .haebom-tabbar{position:fixed!important;bottom:0!important;left:0!important;transform:none!important;width:100%!important;max-width:none!important;min-height:unset!important;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0!important;padding:6px 10px calc(6px + env(safe-area-inset-bottom,0px))!important;border:0!important;border-top:1px solid var(--v42-line)!important;border-radius:18px 18px 0 0!important;box-shadow:0 -5px 20px rgba(29,21,29,.05)!important;background:rgba(255,254,252,.97)!important;backdrop-filter:blur(14px);z-index:40}
 .haebom-tab{height:53px!important;min-height:53px!important;padding:5px 0!important;border-radius:10px!important;gap:3px!important}
 .haebom-tab span:last-child{font-size:10px!important}
 .haebom-tab-fab{padding:0!important}
 .quiet-add-circle{width:45px;height:45px;box-shadow:none}
 #archive-view .journal-layout,.journal-layout{padding-bottom:calc(95px + env(safe-area-inset-bottom,0px))!important;padding-top:23px!important}
 .toast{bottom:calc(82px + env(safe-area-inset-bottom,0px))!important}
 .v42-detail-dialog,.v42-reward-dialog{width:calc(100% - 20px);max-height:88dvh}
}
@media(min-width:901px){.journal-layout{padding-bottom:86px!important}}
@media(max-width:650px){
 .v42-subsection{align-items:flex-start}
 .v42-subsection .plan-create-btn{max-width:140px;white-space:normal;font-size:12px!important}
 .v42-section-heading h2{font-size:16px}
 .cards:not(.list-mode){grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .experience-card.v42-collectible.diary-text-only .diary-page-copy{min-height:156px!important}
 .v42-detail-body{padding:17px 18px 21px}
 .v42-home-completed .v37-memory{min-height:174px!important}
}
@media(max-width:350px){.footprint-section{font-size:10px!important;gap:3px}.footprint-section .v42-state-symbol{font-size:11px}.v42-home-preview-info strong{font-size:13px}.v42-plan-row .plan-copy strong{font-size:13px}}
@media(prefers-reduced-motion:reduce){.v42-home-preview-row,.v42-collectible,.v42-plan-row,.v42-reward-dialog{transition:none!important;animation:none!important}}

/* Final v4.2 cleanup: app pages do not repeat the public landing footer or promotional recap. */
body:has(#archive-view.active)>.shell>.footer{display:none!important}
body:has(#archive-view.active) .quiet-home-revisit{display:none!important}
.footprint-section .v42-state-symbol svg{width:16px;height:16px;display:block}
.home-archive-more{margin-top:25px!important}

/* v4.3 — warm, compact, accessible Google-first authentication */
.auth-curtain{padding:calc(12px + env(safe-area-inset-top,0px)) 12px calc(12px + env(safe-area-inset-bottom,0px));background:rgba(34,29,34,.48)}
.auth-paper{width:min(448px,100%);max-height:calc(100dvh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));padding:30px clamp(20px,5vw,34px) 24px;border:1px solid #ece5e8;border-radius:24px;background:#fffdfa;box-shadow:0 26px 90px rgba(39,25,37,.20)}
.auth-branding{margin-bottom:8px}.auth-brand{font-size:30px;letter-spacing:-.07em;margin-bottom:7px}.auth-lead{font-size:12px;letter-spacing:.015em}
.auth-welcome{text-align:center;padding:16px 0 24px}.auth-welcome-mark{display:grid;place-items:center;margin:0 auto 15px;width:52px;height:52px;border-radius:18px;background:#f2eaf0;color:#876984;font-size:27px}.auth-welcome h3{margin:0;color:#322c32;font-size:clamp(22px,5vw,27px);letter-spacing:-.055em;line-height:1.4;font-weight:800}.auth-welcome p{margin:12px 0 0;color:#827781;font-size:13px;line-height:1.75}
.auth-google{width:100%;min-height:52px;display:flex;align-items:center;justify-content:center;gap:12px;background:#fff;color:#302c30;border:1px solid #dcd5db;border-radius:13px;font:inherit;font-size:14px;font-weight:750;cursor:pointer;transition:border-color .18s,background .18s,transform .18s}.auth-google:hover{border-color:#947b90;background:#fbf8fb}.auth-google:active{transform:scale(.99)}.auth-google:disabled{opacity:.6;cursor:wait}.auth-google:focus-visible{outline:3px solid #b69ab2;outline-offset:3px}
.auth-or{display:flex;align-items:center;gap:12px;margin:20px 0;color:#9a8e97;font-size:12px;white-space:nowrap}.auth-or:before,.auth-or:after{content:'';height:1px;background:#e8e0e6;flex:1}
.auth-tabs{margin-bottom:17px;background:#f3eef2}.auth-tab.active{color:#594658}.auth-primary{background:#80677e;border-radius:12px}.auth-primary:hover{background:#70586e}
.auth-footnote{text-align:center;line-height:1.7}
@media(max-width:480px){.auth-paper{padding:23px 20px 20px;border-radius:21px}.auth-welcome{padding:12px 0 19px}.auth-or{margin:16px 0}.auth-field{margin-bottom:12px}}
@media(prefers-reduced-motion:reduce){.auth-google{transition:none}}
