/* Reflection reader, sharing, and a growing collection. */
.reflection-share { margin-top:18px; }
.reflection-share-button,.library-today-link,.archive-more button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:50px; padding:12px 19px; border:1px solid #85bed0; border-radius:12px; color:#0c3a4e; background:linear-gradient(110deg,#dff8ff,#a6e2f2); font:inherit; font-weight:800; text-decoration:none; cursor:pointer; transition:transform .2s,box-shadow .2s; }
.reflection-share-button:hover,.library-today-link:hover,.archive-more button:hover { transform:translateY(-2px); box-shadow:0 8px 20px #1a829c25; }
.reflection-share-button[hidden] { display:none; }
.reflection-share-button svg { flex:none; width:21px; height:21px; }
.reflection-share-status { min-height:1.25em; margin:6px 0 0; color:#17657d; font-size:.95rem; line-height:1.4; }
.reflection-share-status:empty { display:none; }
.reflection-share-manual { margin-top:10px; color:#234d5c; font-size:.95rem; }
.reflection-share-manual label { display:block; font-weight:700; }
.reflection-share-manual input { display:block; width:100%; margin-top:6px; padding:10px; border:1px solid #a8cbd5; border-radius:8px; color:#183b4d; background:#fff; font:inherit; }
.reflection-detail-hero,.reflection-library-hero { color:#f7fbff; background:linear-gradient(90deg,#051a2bf2,#0a2b3ce6 55%,#071c2b9e),url('/assets/galaxy-horizon.webp') center/cover; }
.reflection-detail-hero>.container,.reflection-library-hero>.container { padding-top:clamp(135px,14vw,180px); padding-bottom:clamp(45px,7vw,80px); }
.reflection-back { display:inline-block; margin-bottom:28px; color:#b9e8f5; font-weight:700; text-underline-offset:5px; }
.reflection-detail-kicker,.reflection-detail-label { margin:0 0 14px; color:#ffd392; font-size:.78rem; font-weight:800; letter-spacing:.12em; line-height:1.5; }
.reflection-detail-hero h1,.reflection-library-hero h1 { max-width:15ch; margin:0; font-size:clamp(2.7rem,5vw,5rem); letter-spacing:-.04em; line-height:1.08; }
.reflection-library-hero h1 em { color:#a9e6f8; font-style:normal; font-weight:400; }
.reflection-detail-hero p:not(.reflection-detail-kicker),.reflection-library-hero p:not(.reflection-detail-kicker) { max-width:40rem; color:#d0e5ed; font-size:clamp(1.08rem,1rem + .4vw,1.3rem); line-height:1.7; }
.library-today-link { margin-top:12px; }
.reflection-detail-main,.reflection-library-main { padding:clamp(3.5rem,6vw,6rem) 0; background:#f5fafb; }
.reflection-detail-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1fr); align-items:start; gap:clamp(2.5rem,7vw,7rem); }
.reflection-detail-art { max-width:32rem; }
.reflection-detail-art img { display:block; width:100%; height:auto; border-radius:16px; box-shadow:0 18px 45px #123b4d20; }
.reflection-full-size { display:inline-block; margin-top:15px; color:#17647d; font-weight:800; text-underline-offset:4px; }
.reflection-detail-label { color:#287991; }
.reflection-detail-copy h2,.library-heading h2 { margin:0; color:#143c50; font-size:clamp(2rem,3.3vw,3rem); line-height:1.13; letter-spacing:-.035em; }
.reflection-transcript { color:#385d6b; font-size:clamp(1.06rem,1rem + .2vw,1.2rem); line-height:1.75; }
.reflection-transcript p { margin:1em 0; }
.reflection-detail-copy .reflection-lesson h2 { margin:0 0 17px; font-size:clamp(1.45rem,1.2rem + .8vw,2rem); line-height:1.18; }
.reflection-detail-actions { display:flex; flex-wrap:wrap; gap:14px 28px; margin-top:25px; }
.reflection-detail-actions a { color:#126580; font-weight:800; text-underline-offset:4px; line-height:1.5; }
.library-heading { display:flex; justify-content:space-between; align-items:end; gap:2rem; margin-bottom:2rem; }
.library-heading>p { max-width:25rem; margin:0; color:#486b7a; font-size:1.06rem; line-height:1.65; }
.archive-tools { padding:clamp(18px,3vw,28px); margin-bottom:2rem; border:1px solid #c8e1e8; border-radius:16px; background:#fff; }
.archive-tools[hidden],.archive-more[hidden],.archive-empty[hidden],.archive-item[hidden] { display:none!important; }
.archive-fields { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr); gap:14px; }
.archive-fields label { display:block; color:#204b5d; font-size:.95rem; font-weight:800; }
.archive-fields input { display:block; width:100%; min-width:0; min-height:48px; margin-top:7px; padding:10px 12px; border:1px solid #aacdd8; border-radius:9px; background:#f8fcfd; color:#163e50; font:inherit; font-size:1rem; }
.archive-tool-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px 20px; margin-top:16px; }
.archive-tool-actions button,.archive-tool-actions a { padding:6px 0; border:0; background:none; color:#176780; font:inherit; font-size:.95rem; font-weight:800; text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.archive-count { min-height:1.4em; margin:12px 0 0; color:#51727e; font-size:.95rem; line-height:1.5; }
.reflection-archive-grid { margin:0; padding:0; list-style:none; align-items:start; }
.archive-item { min-width:0; content-visibility:auto; contain-intrinsic-size:auto 520px; }
.archive-item .collection-card { height:100%; text-decoration:none; }
.archive-item .collection-card span { font-size:1.05rem; }
.archive-item time { display:block; padding:0 5px; color:#547887; font-size:.83rem; font-weight:600; line-height:1.4; }
.archive-item .archive-card-action { margin-top:auto; color:#1b7591; font-size:.9rem; }
.archive-empty { padding:1rem 0; color:#496b79; font-size:1.1rem; }
.archive-more { display:flex; justify-content:center; position:relative; margin-top:2.4rem; }
.archive-more [data-archive-sentinel] { position:absolute; bottom:0; width:1px; height:1px; pointer-events:none; }
.daily-collection-link { display:inline-flex; margin-top:26px; }
.collection-card:focus-visible,.reflection-share-button:focus-visible,.archive-tools :is(input,button,a):focus-visible,.archive-more button:focus-visible,.library-today-link:focus-visible { outline:3px solid #c18b39; outline-offset:4px; }
@media(max-width:760px) { .reflection-detail-grid { grid-template-columns:1fr; gap:2.5rem; }.reflection-detail-art { max-width:36rem; }.library-heading { display:block; }.library-heading>p { margin-top:14px; }.archive-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }.archive-fields label:first-child { grid-column:1/-1; } }
@media(max-width:620px) { .reflection-detail-hero>.container,.reflection-library-hero>.container { padding-top:120px; padding-bottom:44px; }.reflection-back { margin-bottom:24px; }.reflection-detail-hero h1,.reflection-library-hero h1 { font-size:clamp(2.5rem,10vw,3.5rem); }.reflection-archive-grid { grid-template-columns:minmax(0,1fr); gap:16px; }.archive-item .collection-card { padding:12px; }.archive-item .collection-card span { font-size:1.1rem; }.reflection-share-button { width:100%; }.archive-tool-actions { gap:8px 16px; } }
@media(prefers-reduced-motion:reduce) { .reflection-share-button,.library-today-link,.archive-more button { transition:none; } }
