/* Week is a reading surface, not a dashboard. All additions stay inside Life. */
body[data-life-lens="life"] .topbar{min-height:96px}
.life-week-page,.life-detail-time,.life-detail-review,.life-week-picker{
 --life-reading-muted:color-mix(in srgb,var(--spirit-muted,#62758d) 82%,var(--spirit-ink,#30425f));
 --life-font-soft:ui-rounded,"Hiragino Maru Gothic ProN","Yuanti SC","PingFang SC",var(--font-ui,system-ui);
 --life-muted:var(--life-reading-muted);--life-line:rgba(var(--spirit-rgb,133,160,193),.18);
 color:var(--spirit-ink,#30425f);font-family:var(--font-ui,system-ui);
}
body[data-page="life"] .life-page.life-week-page{
 margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;
 backdrop-filter:none;-webkit-backdrop-filter:none;
 --life-muted:var(--life-reading-muted);--life-line:rgba(var(--spirit-rgb,133,160,193),.18);
}
.life-week-page .life-week-scales{gap:14px;margin:0;border-bottom:1px solid var(--life-line)}
.life-week-page .life-week-scales button{position:relative;flex:1;min-width:0;min-height:46px;padding:9px 0 13px;border:0;background:none;font:14px/1.5 var(--font-ui);color:var(--life-muted)}
.life-week-page .life-week-scales button:disabled{opacity:.53;cursor:default}
.life-week-page .life-week-scales button[aria-pressed="true"]{font-weight:600;color:var(--spirit-ink)}
.life-week-page .life-week-scales button[aria-pressed="true"]::after{content:"";position:absolute;bottom:-1px;left:calc(50% - 13px);width:26px;height:2px;border-radius:10px;background:var(--spirit-accent)}
.life-week-nav{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:4px;margin:10px 0 24px}
.life-week-nav button{min-width:0;min-height:44px;background:transparent;border:0;color:var(--spirit-ink);border-radius:24px;font:13px/1.6 var(--font-ui);font-variant-numeric:tabular-nums}
.life-week-nav [data-life-week-shift]{font:300 24px/1 var(--font-ui);color:var(--life-muted)}
.life-week-nav [data-life-week-picker]{letter-spacing:.035em}
.life-week-page .life-section{margin:38px 0 0;padding:0;border:0}
.life-week-page .life-compass-section{margin-top:0}
.life-week-page .life-section-heading{
 display:flex;align-items:center;justify-content:space-between;gap:9px;margin:0 0 20px;padding:12px 19px;border:0;border-radius:999px;
 background:linear-gradient(110deg,rgba(255,255,255,.57),rgba(var(--spirit-rgb,133,160,193),.16) 44%,rgba(var(--spirit-rgb,133,160,193),.09));
 box-shadow:inset 0 1px 0 rgba(255,255,255,.54);
}
.life-week-page .life-section-heading h2{margin:0;font:400 21px/1.55 var(--font-display,Georgia,serif);letter-spacing:.02em;color:var(--spirit-ink)}
.life-week-page .life-section-heading>span{font:10px/1.5 var(--font-ui);letter-spacing:.065em;color:var(--life-muted);text-align:right}
.life-week-page .life-compass{max-width:350px;margin:0 auto}
.life-week-page .life-index-meta{display:grid;justify-content:center;justify-items:center;gap:5px;margin:20px 0 2px;text-align:center;font:11px/1.8 var(--font-ui);color:var(--life-muted);font-variant-numeric:tabular-nums}
.life-week-page .life-index-meta strong{font-weight:400;color:inherit}
.life-week-page .life-index-meta small{font:inherit}
.life-week-page .life-compass-center strong{font-size:27px;color:var(--spirit-ink)}
.life-week-page .life-compass-label>span{font-family:var(--life-font-soft);font-size:12px}
.life-week-page .life-compass-label>small{font-size:10px}
.life-compass-key{display:inline-block;width:5px;height:5px;margin-right:4px;border-radius:50%;background:var(--category-color);vertical-align:middle}
.life-petal-compass .life-compass-center{top:50%;min-width:68px;max-width:86px;min-height:46px;padding:4px 0}
.life-petal-compass .life-compass-center strong{max-width:86px;font-size:24px}
.life-petal-compass .life-petal-shape{cursor:pointer;transition:filter .2s ease}
.life-petal-compass .life-petal-shape:hover{filter:brightness(1.06)}
.life-petal-compass .life-compass-label>span{font-weight:500}
.life-petal-compass .compass-petal-light{opacity:.2}
.life-link-form .life-link-status:empty{display:none}

/* The shared length scale shows actual recorded time. Color keeps Time's six dimensions. */
.life-rhythm-list{display:grid;gap:5px;padding:0 3px}
.life-week-page .life-rhythm-day{display:grid;grid-template-columns:48px minmax(0,1fr) 47px;align-items:center;gap:12px;min-height:44px;width:100%;padding:4px 0;border:0;background:none;text-align:left;border-radius:18px}
.life-rhythm-label{display:grid;gap:2px;font:500 11px/1.4 var(--font-ui);letter-spacing:.04em;color:var(--spirit-ink)}
.life-rhythm-label small,.life-rhythm-label time{display:block;font:10px/1.4 var(--font-ui);letter-spacing:0;color:var(--life-muted)}
.life-rhythm-day>small{justify-self:end;font:10px/1.6 var(--font-ui);color:var(--life-muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.life-rhythm-band{display:flex;align-items:stretch;isolation:isolate;width:calc(var(--day-ratio,1) * 100%);height:17px;min-width:0;max-width:100%;border-radius:70% 22px 20px 60% / 12px 10px 12px 12px;overflow:hidden;background:transparent;box-shadow:none}
.life-rhythm-band i{display:block;flex:0 0 calc(var(--portion,0) * 100%);height:100%;min-width:0;background:var(--category-color);opacity:.77;box-shadow:inset 0 3px 5px #ffffff4d,inset 0 -2px 4px #ffffff20}
.life-rhythm-day:nth-child(2n) .life-rhythm-band{border-radius:24px 50% 55% 22px / 11px 10px 11px 10px}
.life-rhythm-legend{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:10px 15px;margin:18px 3px 0;padding-top:16px;border-top:1px solid var(--life-line)}
.life-rhythm-legend span{display:inline-flex;align-items:center;gap:6px;font:10px/1.6 var(--font-ui);color:var(--life-muted)}
.life-rhythm-legend i{width:6px;height:6px;border-radius:50%;background:var(--category-color)}

/* True events are a small editorial stream, without nesting cards. */
.life-week-event{display:block;position:relative;width:100%;min-height:60px;padding:17px 5px;text-align:left;background:none;border:0;border-radius:18px}
.life-week-event+.life-week-event{margin-top:1px}
.life-week-event strong{display:block;font:500 16px/1.75 var(--life-font-soft);color:var(--spirit-ink);overflow-wrap:anywhere}
.life-week-event>span{display:block}
.life-week-event small,.life-week-event time{font:11px/1.85 var(--font-ui);color:var(--life-muted);font-variant-numeric:tabular-nums}
.life-week-event small{display:block;margin-top:6px}
.life-week-event .life-category-tag{display:inline-flex;margin-top:7px;font-size:10px;padding:2px 9px}
.life-week-page .life-change-row{padding:17px 5px;min-height:68px}
.life-week-page .life-change-row+.life-change-row{border-top:1px solid var(--life-line)}
.life-week-page .life-change-row strong{font:500 15px/1.8 var(--life-font-soft)}
.life-week-page .life-change-row small{font:11px/1.8 var(--font-ui);margin-top:7px}
.life-week-page .life-change-scope{margin:12px 5px 0}

.life-week-review-open{display:block;width:100%;padding:3px 8px 9px;background:none;border:0;text-align:left;border-radius:20px;color:inherit}
.life-week-review-open .life-review-line{font:400 16px/2.05 var(--font-display,Georgia,serif);color:var(--spirit-ink);margin:0 0 12px;overflow-wrap:anywhere}
.life-week-review-open .life-review-line:last-of-type{margin-bottom:4px}
.life-week-review-open small{display:block;margin-top:15px;font:10px/1.8 var(--font-ui);color:var(--life-muted)}
.life-week-review .life-section-heading{background:linear-gradient(110deg,rgba(255,255,255,.54),rgba(var(--spirit-rgb),.12),rgba(var(--spirit-rgb),.04))}
.life-week-lights{padding-bottom:6px!important}
.life-week-light{display:block;width:100%;padding:14px 8px 22px;text-align:left;border:0;background:none;border-radius:20px;color:inherit}
.life-week-light+.life-week-light{border-top:1px solid var(--life-line);padding-top:23px}
.life-week-light p,.life-week-light>strong,.life-week-light blockquote{display:block;margin:0;font:400 17px/1.95 var(--font-display,Georgia,serif);font-weight:400;color:var(--spirit-ink);overflow-wrap:anywhere}
.life-week-light small{display:block;margin-top:12px;font:10px/1.8 var(--font-ui);color:var(--life-muted);font-variant-numeric:tabular-nums}
.life-week-light img{display:block;max-width:100%;height:150px;object-fit:cover;border-radius:20px;margin-bottom:16px}
.life-week-page .life-demo-note{font:10px/1.8 var(--font-ui);color:var(--life-muted);margin:0 3px 19px;padding:0 0 13px;border-bottom:1px solid var(--life-line)}

/* Time and reviews remain in Life; the context is visible behind the detail sheet. */
dialog.life-detail.life-detail-time,dialog.life-detail.life-detail-review{
 position:fixed;inset:auto 0 0;width:min(100%,430px);max-width:100%;height:auto;max-height:88dvh;margin:0 auto;padding:0;
 border:1px solid rgba(255,255,255,.72);border-bottom:0;border-radius:30px 30px 0 0;overflow:auto;overscroll-behavior:contain;
 background:linear-gradient(155deg,rgba(var(--spirit-rgb,133,160,193),.10),transparent 230px),rgb(var(--spirit-paper,246,249,252));
 box-shadow:0 -10px 40px #2635490d;color:var(--spirit-ink);
}
dialog.life-detail-time::before,dialog.life-detail-review::before{content:"";display:block;width:33px;height:3px;border-radius:8px;background:rgba(var(--spirit-rgb),.45);margin:12px auto 0}
dialog.life-detail-time::backdrop,dialog.life-detail-review::backdrop{background:#2432462b;backdrop-filter:blur(3px)}
.life-detail-time .life-detail-inner,.life-detail-review .life-detail-inner{padding:17px 24px calc(32px + env(safe-area-inset-bottom))}
.life-detail-time .life-detail-close,.life-detail-review .life-detail-close{width:44px;height:44px;margin:-7px -9px 0 0;color:var(--life-muted)}
.life-detail-time h2,.life-detail-review h2{font:400 26px/1.6 var(--font-display);color:var(--spirit-ink);margin-bottom:7px}
.life-detail-time :is(p,small),.life-detail-review :is(p,small){color:var(--spirit-ink)}
.life-detail-time .life-detail-date,.life-detail-review .life-detail-date{color:var(--life-muted);font-size:11px}
.life-week-time-list{display:grid;margin-top:23px}
.life-week-time-list button{display:grid;grid-template-columns:42px minmax(0,1fr);gap:14px;align-items:start;min-height:66px;width:100%;padding:14px 0;text-align:left;border:0;background:none;border-radius:14px;color:var(--spirit-ink)}
.life-week-time-list time{font:11px/1.8 var(--font-ui);color:var(--life-muted);font-variant-numeric:tabular-nums;padding-top:2px}
.life-week-time-list strong{display:block;font:500 15px/1.8 var(--life-font-soft);overflow-wrap:anywhere}
.life-week-time-list small{display:block;margin:5px 0 0;font:11px/1.8 var(--font-ui);color:var(--life-muted)}
.life-week-time-list .life-category-tag{display:inline-flex;margin-top:6px;font-size:10px}
.life-review-document p{font:400 16px/2 var(--font-display);margin:20px 0}
.life-review-document .life-source-row{font:11px/1.8 var(--font-ui);color:var(--life-muted);border-bottom:1px solid var(--life-line)}
.life-detail-review .life-review-demo,.life-detail-review .life-review-period,.life-detail-time .life-time-period{font:11px/1.8 var(--font-ui);color:var(--life-muted);margin:12px 0}
.life-review-source-links{display:flex;flex-wrap:wrap;gap:3px 16px}
.life-review-source-links button{font:11px/1.7 var(--font-ui);min-height:44px;padding:6px 0;text-align:left;color:var(--life-muted);text-decoration:underline;text-decoration-color:var(--life-line);text-underline-offset:5px}
.life-review-user-note{margin-top:28px;padding-top:24px;border-top:1px solid var(--life-line)}
.life-review-user-note pre{white-space:pre-wrap;overflow-wrap:anywhere;font:400 15px/1.9 var(--font-display);color:var(--spirit-ink)}
body[data-page="life"] dialog.life-detail:not(.life-detail-lens){
 position:fixed;inset:auto 0 0;width:min(100%,430px);max-width:100%;max-height:88dvh;margin:0 auto;padding:0;border:1px solid rgba(255,255,255,.72);border-bottom:0;border-radius:30px 30px 0 0;
 background:linear-gradient(155deg,rgba(var(--spirit-rgb,133,160,193),.10),transparent 230px),rgb(var(--spirit-paper,246,249,252));
 color:var(--spirit-ink);box-shadow:0 -10px 40px #2635490d;overscroll-behavior:contain;
}
body[data-page="life"] .life-detail:not(.life-detail-lens) .life-detail-inner{padding:24px 24px calc(32px + env(safe-area-inset-bottom))}
body[data-page="life"] .life-detail:not(.life-detail-lens) .life-detail-close{width:44px;height:44px;margin:-7px -9px 0 0;color:var(--spirit-muted)}
body[data-page="life"] .life-detail:not(.life-detail-lens) h2{font:400 26px/1.6 var(--font-display);color:var(--spirit-ink)}
body[data-page="life"] .life-detail:not(.life-detail-lens) :is(small,.life-detail-date,.life-lane-back){color:var(--spirit-muted)}

/* A week is selected as one row; no tiny individual date targets. */
dialog.life-week-picker{position:fixed;inset:auto 0 0;width:min(100%,430px);max-width:100%;max-height:90dvh;margin:0 auto;padding:0;border:0;border-radius:30px 30px 0 0;background:rgb(var(--spirit-paper,246,249,252));box-shadow:0 -10px 40px #2635490d;overflow:auto;overscroll-behavior:contain}
dialog.life-week-picker::backdrop{background:#2432462b;backdrop-filter:blur(3px)}
.life-week-picker-inner{padding:20px 20px calc(28px + env(safe-area-inset-bottom))}
.life-week-picker-header{display:grid;grid-template-columns:40px minmax(0,1fr) 40px 40px;align-items:center;gap:4px;margin-bottom:20px}
.life-week-picker-header strong{text-align:center;font:400 22px/1.6 var(--font-display);color:var(--spirit-ink)}
.life-week-picker-header button{min-height:44px;font:400 22px/1 var(--font-ui);border:0;border-radius:22px;background:none;color:var(--life-muted)}
.life-week-picker-weekdays,.life-week-picker-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center;align-items:center;width:100%}
.life-week-picker-weekdays{min-height:32px;margin-bottom:7px;color:var(--life-muted);font:11px/1.6 var(--font-ui)}
.life-week-picker-weeks{display:grid;gap:6px}
.life-week-picker-row{min-height:48px;padding:4px 0;border:0;border-radius:999px;background:none;color:var(--spirit-ink);font:14px/1.6 var(--font-ui);font-variant-numeric:tabular-nums}
.life-week-picker-row[aria-pressed="true"]{background:rgba(var(--spirit-rgb),.18)}
.life-week-picker-row span{display:grid;place-content:center;justify-self:center;width:32px;height:32px;border-radius:50%}
.life-week-picker-row .is-today{box-shadow:inset 0 0 0 1px var(--spirit-accent);color:var(--spirit-ink)}
.life-week-picker-row .is-outside{color:var(--life-muted);opacity:.60}
.life-week-picker button:focus-visible{outline:2px solid var(--spirit-accent);outline-offset:2px}

/* A week now reads as a few connected strands, ending in a letter from Mira. */
.life-week-page .life-flow-summary{display:inline-flex;align-items:center;justify-content:center;gap:9px;max-width:100%;min-height:44px;margin:2px 0 0;padding:8px 17px;border:0;border-radius:999px;
 background:color-mix(in srgb,var(--flow-color) 24%,rgba(255,255,255,.28));color:var(--flow-ink);font:11px/1.7 var(--font-ui)}
.life-flow-summary>span{color:var(--life-reading-muted)}
.life-flow-summary strong{display:inline-flex;gap:7px;align-items:center;font-weight:500!important;color:var(--flow-ink)!important}
.life-flow-summary i{width:7px;height:7px;flex:0 0 7px;background:var(--flow-color);border-radius:50%;box-shadow:0 0 9px color-mix(in srgb,var(--flow-color) 55%,transparent)}
.life-week-stories{display:grid;gap:26px;padding:3px 6px 0}
.life-week-story h3,.life-week-discovery h3{font:600 18px/1.7 var(--life-font-soft);color:var(--spirit-ink);letter-spacing:.01em;margin:12px 0 8px;overflow-wrap:anywhere}
.life-week-story>p,.life-week-discovery>p{font:400 15px/1.95 var(--font-display,Georgia,serif);color:var(--life-reading-muted);margin:0;overflow-wrap:anywhere}
.life-week-story .life-category-tag{font-size:10px;padding:2px 10px}
.life-story-sources{margin-top:8px;font-family:var(--font-ui);color:var(--life-reading-muted)}
.life-story-sources>summary{display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer;min-height:44px;width:fit-content;font:11px/1.8 var(--font-ui);color:var(--life-reading-muted);padding:4px 0}
.life-story-sources>summary::-webkit-details-marker{display:none}
.life-story-sources>summary::after{content:"+";display:grid;place-items:center;width:17px;height:17px;border-radius:50%;font:300 14px/1 var(--font-ui);background:rgba(var(--spirit-rgb),.12);color:var(--spirit-muted)}
.life-story-sources[open]>summary::after{content:"−"}
.life-story-sources>div{padding:2px 12px 8px;border-left:1px solid rgba(var(--spirit-rgb),.28);margin:4px 0 10px}
.life-narrative-source{display:block;width:100%;min-height:54px;padding:10px 0;border:0;background:none;border-radius:14px;text-align:left;color:var(--spirit-ink)}
.life-narrative-source>span{display:block;font:13px/1.8 var(--font-ui);overflow-wrap:anywhere}
.life-narrative-source>small{display:block;margin-top:4px;font:10px/1.7 var(--font-ui);color:var(--life-reading-muted);font-variant-numeric:tabular-nums}
.life-week-discovery{padding:0 6px}
.life-week-discovery+.life-week-discovery{margin-top:23px}
.life-week-discovery h3{margin-top:3px}
.life-discovery-evidence section+section{margin-top:15px}
.life-discovery-evidence h4{font:500 11px/1.8 var(--font-ui);color:var(--life-reading-muted);margin:9px 0 2px}

/* Seven quiet dates hold the explicitly saved moments. Gold belongs to Light,
   while typography and the reading surface inherit the selected companion. */
.life-week-page .life-week-lights{position:relative;isolation:isolate;margin-top:44px}
.life-week-lights::before{content:"";position:absolute;z-index:-1;pointer-events:none;inset:-18px -20px 0;background:radial-gradient(ellipse 80% 42% at 70% 5%,rgba(var(--spirit-rgb),.10),transparent),radial-gradient(ellipse 74% 55% at 24% 57%,rgba(255,251,234,.46),transparent)}
.life-lights-heading{padding:0 4px;margin-bottom:26px}
.life-lights-heading h2{font:400 26px/1.55 var(--font-display,Georgia,serif);letter-spacing:.035em;margin:0;color:var(--spirit-ink)}
.life-lights-heading p{font:10px/1.7 var(--font-display,Georgia,serif);letter-spacing:.24em;color:var(--life-reading-muted);margin:6px 0 0}
.life-light-calendar{padding:0 0 19px}
.life-light-month{margin:0 0 5px 4px;font:11px/1.7 var(--font-display,Georgia,serif);color:var(--life-reading-muted)}
.life-light-week{position:relative;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));isolation:isolate}
.life-light-week::before{content:"";position:absolute;z-index:-1;top:23px;left:calc(100% / 14);right:calc(100% / 14);height:1px;background:var(--life-line)}
.life-light-day{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0;min-height:91px;padding:0 0 8px;border:0;border-radius:20px;background:none;color:var(--life-reading-muted)}
.life-light-day-point{position:relative;display:grid;place-items:center;width:44px;height:46px;flex-shrink:0}
.life-light-day-point::before{content:"";width:4px;height:4px;border-radius:50%;background:color-mix(in srgb,var(--spirit-muted) 43%,#fff)}
.life-light-day-point.is-lit::before{width:25px;height:25px;border:1px solid #fffef1;background:radial-gradient(circle,#ffefc7 0%,#fff9e8 52%,#fffdfa88);box-shadow:0 0 13px 6px #ffe3a452,0 0 25px 11px #fff4d752}
.life-light-day-point i{position:absolute;width:9px;height:9px;border-radius:50%;background:#fffef7;box-shadow:0 0 5px 2px #f5d88b99}
.life-light-day[aria-pressed="true"] .life-light-day-point::before{width:31px;height:31px;box-shadow:0 0 14px 7px #ffe3a479,0 0 30px 13px #fff4d778}
.life-light-day[aria-pressed="true"] .life-light-day-point i{width:14px;height:14px;border-radius:0;clip-path:polygon(50% 0,64% 35%,100% 50%,64% 65%,50% 100%,36% 65%,0 50%,36% 35%)}
.life-light-day time{font:400 15px/1.3 var(--font-display,Georgia,serif);font-variant-numeric:tabular-nums}
.life-light-weekday{font:10px/1.6 var(--font-ui);letter-spacing:.015em}
.life-light-day[aria-pressed="true"] time{color:var(--spirit-ink)}
.life-light-moment{position:relative;display:grid;grid-template-columns:43px 17px minmax(0,1fr);gap:8px;padding:26px 3px 28px;scroll-margin-block:105px 35px}
.life-light-moment[hidden]{display:none}
.life-light-moment+.life-light-moment{border-top:1px solid var(--life-line)}
.life-light-dateline{display:flex;flex-direction:column;gap:5px;padding-top:3px;color:var(--life-reading-muted)}
.life-light-dateline time{font:15px/1.8 var(--font-display,Georgia,serif);font-variant-numeric:tabular-nums;letter-spacing:.01em;color:var(--spirit-ink)}
.life-light-dateline>span{font:10px/1.6 var(--font-ui)}
.life-light-row-glow{position:relative;width:17px;height:17px;margin-top:8px;border:1px solid #fffef4;border-radius:50%;background:radial-gradient(circle,#ffebba 0%,#fff8e5 55%,#fffdfa70);box-shadow:0 0 12px 6px #ffe2a344,0 0 23px 11px #fff2d344}
.life-light-row-glow::before{content:"";position:absolute;inset:5px;border-radius:50%;background:#fff;box-shadow:0 0 7px 3px #ffe6a991}
.life-light-row-glow::after{content:"";position:absolute;top:17px;left:6px;width:2px;height:56px;background:linear-gradient(#f5d89d38,transparent);filter:blur(1px)}
.life-light-moment.is-selected .life-light-row-glow{box-shadow:0 0 12px 7px #ffe2a377,0 0 28px 13px #fff2d355}
.life-light-source{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:13px;min-width:0;width:100%;border:0;padding:0 0 0 3px;border-radius:15px;background:none;text-align:left;color:var(--spirit-ink)}
.life-light-source.has-image{grid-template-columns:minmax(0,1fr) 76px}
.life-light-copy{min-width:0}
.life-light-quote{display:block;font:400 18px/1.85 var(--font-display,Georgia,serif);letter-spacing:.01em;overflow-wrap:anywhere;text-shadow:0 1px 12px #fffdf7}
.life-light-origin{display:flex;align-items:center;gap:7px;margin-top:17px;font:10px/1.8 var(--font-ui);color:var(--life-reading-muted)}
.life-light-origin svg{flex:0 0 15px;width:15px;height:15px;fill:none;stroke:currentColor}
.life-light-source img{display:block;width:76px;height:84px;object-fit:cover;border-radius:18px;margin:3px 0 0;box-shadow:0 4px 16px #61769008}
.life-light-toggle{display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;min-width:130px;margin:12px auto 0;padding:8px 23px;border:0;border-radius:999px;background:rgba(var(--spirit-rgb),.10);color:var(--life-reading-muted);font:11px/1.6 var(--font-ui)}
.life-light-toggle i{width:7px;height:7px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.life-light-toggle[aria-expanded="true"] i{transform:rotate(225deg) translate(-1px,-1px)}
@media(max-width:360px){
 .life-lights-heading h2{font-size:24px}
 .life-light-moment{grid-template-columns:39px 15px minmax(0,1fr);gap:7px;padding-inline:0}
 .life-light-dateline time{font-size:14px}
 .life-light-source.has-image{grid-template-columns:minmax(0,1fr)}
 .life-light-source img{width:100%;height:105px;margin-top:2px}
 .life-light-quote{font-size:17px}
 .life-light-row-glow{width:15px;height:15px}
}
.life-week-page .life-week-review{margin-top:42px;padding-top:3px;padding-bottom:5px}
.life-week-review .life-section-heading{background:none;box-shadow:none;border-radius:0;padding:11px 8px 10px;border-top:1px solid var(--life-line)}
.life-week-review .life-section-heading h2{font-size:25px}
.life-week-review .life-section-heading>span{font-size:10px}
.life-week-review .life-week-review-open{padding:3px 8px 10px}
@media(max-width:360px){
 .life-week-story h3,.life-week-discovery h3{font-size:17px}
 .life-week-story>p,.life-week-discovery>p{font-size:14px}
 .life-week-page .life-flow-summary{padding-inline:12px;font-size:10px;gap:7px}
}
.life-week-page :is(button,summary):focus-visible,.life-detail-time button:focus-visible,.life-detail-review button:focus-visible{outline:2px solid var(--spirit-accent);outline-offset:3px;border-radius:18px}
@media(hover:hover){
 .life-week-nav button:hover,.life-rhythm-day:hover,.life-week-event:hover,.life-week-review-open:hover,.life-week-light:hover{background-color:rgba(var(--spirit-rgb),.065)}
}
@media(max-width:360px){
 .life-week-page .life-section-heading{padding:11px 16px}
 .life-week-page .life-section-heading h2{font-size:20px}
 .life-week-page .life-section-heading>span{font-size:9px;letter-spacing:.035em}
 .life-week-page .life-compass-label>span{font-size:11px}
 .life-week-page .life-compass-center strong{font-size:24px}
 .life-week-page .life-rhythm-day{grid-template-columns:41px minmax(0,1fr) 43px;gap:9px}
 .life-detail-time .life-detail-inner,.life-detail-review .life-detail-inner{padding-inline:20px}
 .life-week-event strong{font-size:15px}
}

/* Four time scales share a reading system, each with its own rhythm. */
.life-period-page>.life-section:first-of-type{margin-top:0}
.life-period-page[data-life-scale-view="month"] .life-compass{max-width:295px}
.life-period-page[data-life-scale-view="year"] .life-compass{max-width:315px}
.life-period-page>.life-empty{padding:54px 6px;text-align:center;color:var(--life-reading-muted);font:14px/1.9 var(--font-display)}
.life-day-track{position:relative;padding:0 5px}
.life-day-interval{display:grid;grid-template-columns:46px 5px minmax(0,1fr);gap:15px;align-items:stretch;width:100%;min-height:72px;margin-top:var(--time-gap,0);padding:9px 0;border:0;background:none;text-align:left;color:var(--spirit-ink);border-radius:12px}
.life-day-interval>time{font:12px/1.8 var(--font-ui);font-variant-numeric:tabular-nums;color:var(--life-reading-muted)}
.life-day-interval small{display:block;font:10px/1.8 var(--font-ui);color:var(--life-reading-muted);margin-top:5px}
.life-day-interval>time small{margin-top:11px;opacity:.85}
.life-day-interval>i{border-radius:999px;background:var(--flow-color);opacity:.72;box-shadow:0 0 10px color-mix(in srgb,var(--flow-color) 18%,transparent)}
.life-day-interval strong{font:400 18px/1.65 var(--font-display);overflow-wrap:anywhere}
.life-day-event{display:block;width:100%;text-align:left;padding:19px 6px;border:0;border-radius:0;background:none;color:var(--spirit-ink)}
.life-day-event+.life-day-event{border-top:1px solid var(--life-line)}
.life-day-event>small{display:block;font:10px/1.7 var(--font-ui);color:var(--life-reading-muted);margin-bottom:7px}
.life-day-event>span{font:400 17px/1.9 var(--font-display);overflow-wrap:anywhere}
.life-day-event>img{display:block;width:100%;max-height:170px;object-fit:cover;border-radius:22px;margin-top:14px}
.life-day-group{padding:20px 5px 9px}
.life-day-group+.life-day-group{margin-top:13px;border-top:1px solid var(--life-line)}
.life-day-group>header{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:2px}
.life-day-group h3{margin:0;font:600 13px/1.8 var(--font-ui);letter-spacing:.06em;color:var(--spirit-ink)}
.life-day-group>header>small{font:10px/1.7 var(--font-ui);color:var(--life-reading-muted)}
.life-day-group .life-day-event{padding:11px 0}
.life-day-group .life-day-event+.life-day-event{border-top:0}
.life-day-group .life-day-event>span{font-size:16px;line-height:1.95}
.life-period-more{margin:12px 5px}
.life-period-more>summary{font:12px/1.8 var(--font-ui);color:var(--life-reading-muted);padding:12px 0;cursor:pointer}
.life-progress-path{display:block;width:100%;text-align:left;padding:8px 6px 22px;border:0;border-radius:0;background:none;color:var(--spirit-ink)}
.life-progress-path+.life-progress-path{padding-top:24px;border-top:1px solid var(--life-line)}
.life-progress-path>strong{display:block;font:500 18px/1.7 var(--life-font-soft);margin-bottom:9px;overflow-wrap:anywhere}
.life-progress-path>.life-category-tag{font-size:10px}
.life-progress-steps{display:grid;gap:20px;margin:22px 0 0 5px;border-left:1px solid var(--life-line);padding:0 0 0 18px}
.life-progress-steps>span{position:relative;display:grid;gap:5px}
.life-progress-steps>span::before{content:"";position:absolute;left:-21px;top:6px;width:5px;height:5px;border-radius:50%;background:var(--spirit-accent);opacity:.55}
.life-progress-steps time{font:11px/1.7 var(--font-ui);color:var(--life-reading-muted);font-variant-numeric:tabular-nums}
.life-progress-steps>span>span{font:15px/1.9 var(--font-display);overflow-wrap:anywhere}
.life-year-title{font:400 58px/1.2 var(--font-display);letter-spacing:.02em;margin:2px 4px 30px;color:var(--spirit-ink)}
.life-year-thread{position:relative;margin:0 4px}
.life-year-thread::before{content:"";position:absolute;left:46px;top:22px;bottom:22px;width:1px;background:var(--life-line)}
.life-year-month{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr);gap:27px;width:100%;min-height:64px;padding:15px 0 22px;border:0;border-radius:14px;background:none;text-align:left;color:var(--spirit-ink)}
.life-year-month::before{content:"";position:absolute;left:44px;top:24px;width:5px;height:5px;border-radius:50%;background:var(--spirit-muted);opacity:.55}
.life-year-month>time{font:400 25px/1.2 var(--font-display);font-variant-numeric:tabular-nums}
.life-year-month>time small{font:10px/1.8 var(--font-ui);margin-left:3px}
.life-year-month>span{display:grid;gap:8px;min-width:0;justify-items:start}
.life-year-month .life-category-tag{font-size:10px;padding:2px 9px}
.life-year-month strong{font:400 15px/1.85 var(--font-display);overflow-wrap:anywhere}
.life-year-month>span>small{font:10px/1.8 var(--font-ui);color:var(--life-reading-muted)}
.life-year-month.is-quiet{min-height:49px;padding:10px 0 13px;opacity:.45}
.life-year-month.is-quiet>time{font-size:18px}
.life-year-month.is-quiet::before{top:18px;width:3px;height:3px;left:45px}
.life-year-distribution>button{position:relative;display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:13px 5px 18px;margin-bottom:12px;border:0;border-radius:12px;background:none;color:var(--spirit-ink);text-align:left;font:13px/1.8 var(--font-ui)}
.life-year-distribution strong{font:400 14px/1.8 var(--font-display);font-variant-numeric:tabular-nums}
.life-year-distribution i{position:absolute;bottom:3px;left:5px;width:calc(var(--portion)*96%);height:5px;border-radius:999px;background:var(--category-color);opacity:.8}
.life-period-light{display:grid;grid-template-columns:17px minmax(0,1fr);gap:14px;width:100%;padding:21px 5px 25px;border:0;border-radius:0;background:none;text-align:left;color:var(--spirit-ink)}
.life-period-light+.life-period-light{border-top:1px solid var(--life-line)}
.life-period-light:has(img){grid-template-columns:17px minmax(0,1fr) 64px}
.life-period-light>span>time{display:block;font:11px/1.8 var(--font-ui);color:var(--life-reading-muted);margin-bottom:9px}
.life-period-light strong{font:400 18px/1.85 var(--font-display);overflow-wrap:anywhere}
.life-period-light small{display:block;margin-top:13px;font:10px/1.8 var(--font-ui);color:var(--life-reading-muted)}
.life-period-light>img{width:64px;height:82px;border-radius:17px;object-fit:cover;margin-top:8px}
.life-period-picker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.life-period-picker-grid button,.life-day-picker-grid button{min-width:0;min-height:48px;border:0;border-radius:24px;background:none;color:var(--spirit-ink);font:14px/1.8 var(--font-ui)}
.life-period-picker-grid button[aria-pressed="true"],.life-day-picker-grid button[aria-pressed="true"]{background:rgba(var(--spirit-rgb),.20)}
.life-day-picker-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px 0}
.life-day-picker-grid .is-outside{opacity:.4}
.life-day-picker-grid [aria-current="date"]{box-shadow:inset 0 0 0 1px rgba(var(--spirit-rgb),.35)}
.life-period-record-group{padding:0 5px;border-bottom:1px solid var(--life-line)}
.life-period-record-group>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:60px;cursor:pointer;list-style:none;font:400 18px/1.8 var(--font-display);color:var(--spirit-ink)}
.life-period-record-group>summary::-webkit-details-marker{display:none}
.life-period-record-group>summary small{font:10px/1.8 var(--font-ui);color:var(--life-reading-muted)}
.life-period-record-group>summary small::after{content:" +";font-size:15px;margin-left:9px}
.life-period-record-group[open]>summary small::after{content:" −"}
.life-period-record{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;padding:12px 0 17px;width:100%;border:0;border-radius:12px;background:none;text-align:left;color:var(--spirit-ink)}
.life-period-record>time{font:10px/1.9 var(--font-ui);color:var(--life-reading-muted);font-variant-numeric:tabular-nums}
.life-period-record strong{font:400 14px/1.9 var(--font-display);overflow-wrap:anywhere}
.life-period-record small{display:block;margin-top:4px;font:10px/1.7 var(--font-ui);color:var(--life-reading-muted)}
@media(max-width:360px){.life-day-interval{gap:11px}.life-period-light:has(img){grid-template-columns:15px minmax(0,1fr)}.life-period-light>img{grid-column:2;width:100%;height:115px}.life-period-light strong{font-size:17px}.life-year-title{font-size:50px}}
