/* White canvas, jewel colors and clear touch targets. */
.plum{--tone:#a92783;--tint:#fbe6f5}.sage{--tone:#137b51;--tint:#e1f7eb}.ochre{--tone:#9b650b;--tint:#fff1c6}.blue{--tone:#275eaf;--tint:#e3edff}.rose{--tone:#b84148;--tint:#ffe5de}.night{--tone:#5943ac;--tint:#ebe5ff}
.product-art{background:radial-gradient(ellipse at 50% 115%,#fff9,transparent 65%),var(--tint)}
.product-card{border-color:#e7e7eb;box-shadow:0 4px 14px #29213d05}.product-card:hover{box-shadow:0 12px 30px #29213d10}
.card-action{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 23px;border-radius:12px;font-size:14px;font-weight:700;letter-spacing:.2px;border:1px solid transparent;transition:background .18s,box-shadow .18s,transform .18s}
.access-action{background:#16864d;color:#fff;border-color:#137844;box-shadow:0 4px 0 #0c5f36}
.access-action:hover{background:#107541;box-shadow:0 5px 0 #094e2c,0 8px 18px #16864d24;transform:translateY(-1px)}
.offer-action{background:#ebecef;color:#424650;border-color:#d4d7dd;box-shadow:0 4px 0 #b9bec8}
.offer-action:hover{background:#dfe2e8;box-shadow:0 5px 0 #a5adbb;transform:translateY(-1px)}
.card-action:active{transform:translateY(3px);box-shadow:0 1px 0 #818894}.product-footer{padding:18px 22px 22px;gap:12px}
.button{min-height:48px;border-radius:11px;font-weight:700;box-shadow:0 3px 0 #40263e}.button:active{transform:translateY(2px);box-shadow:none}.button.secondary{box-shadow:0 3px 0 #b9d4b5}
.back-link{min-height:44px;padding:10px 0;font-weight:700}.language{min-height:44px}.top-actions .text-button{min-height:44px}
.access-story{background:radial-gradient(circle at 60% 80%,#ffd87388,transparent 48%),linear-gradient(140deg,#fff4de,#ffe5f0)}.access-art{opacity:1}.brand-mark,.hero-seal{color:#c78d1a}
body{container-type:inline-size}.banner-carousel{width:100cqw;margin:0 calc(50% - 50cqw) 38px;border-radius:0;overflow:hidden;position:relative;border:0;background:#fff;box-shadow:none}
.banner-viewport{min-height:272px}.banner-slide{min-height:272px;padding:35px 42px;display:flex;align-items:center;justify-content:space-between;gap:28px;animation:banner-enter .65s ease both;overflow:hidden;position:relative}.banner-slide[hidden]{display:none}
.banner-lotus{background:radial-gradient(circle at 92% 100%,#ffd172 0,transparent 40%),linear-gradient(110deg,#fff0f8,#fbc9e7);--banner-ink:#84256c;--banner-art:#cd2f91}
.banner-sun{background:radial-gradient(circle at 95% 20%,#ffe48c 0,transparent 45%),linear-gradient(110deg,#fff9e9,#ffe9c3);--banner-ink:#845313;--banner-art:#dc8419}
.banner-moon{background:radial-gradient(circle at 92% 100%,#c9ddff 0,transparent 40%),linear-gradient(110deg,#f2edff,#ddd1fb);--banner-ink:#53368b;--banner-art:#7856be}
.banner-copy{position:relative;z-index:1;max-width:660px}.banner-copy .eyebrow{color:var(--banner-ink);margin-bottom:12px}.banner-copy h2{font-size:clamp(28px,3vw,39px);color:var(--banner-ink);margin-bottom:12px;letter-spacing:-.7px}.banner-copy p{font-size:14px;max-width:520px;line-height:1.7;color:#514650;margin-bottom:22px}.banner-copy .card-action{min-width:150px}
.banner-art{font-size:150px;color:var(--banner-art);position:relative;display:grid;place-items:center;width:205px;min-width:205px;height:205px;text-shadow:0 8px 1px #fff7}.banner-art:before,.banner-art:after{content:'';position:absolute;inset:0;border:1px solid currentColor;opacity:.22;border-radius:50%}.banner-art:after{inset:18px}.banner-art img{width:100%;height:100%;object-fit:cover;border-radius:50%}
@keyframes banner-enter{from{opacity:.4;transform:translateX(12px)}to{opacity:1;transform:translateX(0)}}
.journal-grid,.lineage-grid{align-items:start}.entry-card{padding:0;overflow:hidden}.entry-summary{min-height:80px;display:flex;align-items:center;gap:12px;padding:20px;cursor:pointer;list-style:none}.entry-summary::-webkit-details-marker{display:none}.entry-label{font-family:Georgia,'Nirmala UI',serif;font-size:21px;flex:1}.entry-badge{font-size:11px;white-space:nowrap;background:#f0f1f3;color:#777b84;border-radius:20px;padding:5px 10px}.entry-chevron{color:#647068;font-size:24px;transition:transform .2s}.entry-card[open] .entry-chevron{transform:rotate(180deg)}.entry-card[data-filled=true]{border-color:#b9e1c8}.entry-card[data-filled=true] .entry-badge{color:#146138;background:#e4f6eb}.entry-card[data-filled=true] .entry-badge:before{content:'✓ ';font-weight:bold}.entry-card[open]{box-shadow:0 5px 20px #243e3010}.entry-body{padding:0 20px 20px}.entry-body textarea{min-height:155px;background:#fff;resize:vertical;font-size:16px}.entry-meta{display:flex;align-items:center;justify-content:space-between;margin:8px 0 15px}.close-entry{width:100%;background:#16864d;border-color:#137844;box-shadow:0 3px 0 #0c5f36;font-size:13px}.close-entry:hover{background:#107541}.writing-note{margin:25px 0;color:#6f6a72}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.terms-link{text-decoration:underline;text-underline-offset:4px}.terms-page{max-width:800px;padding-top:30px}.terms-page section{margin:35px 0}.terms-page h2{font-size:26px}.terms-page section p{line-height:1.9;color:#655f68}.terms-page h1{font-size:44px}.audio-slot{display:flex;flex-direction:column;align-items:stretch;background:#f7f7f9}.audio-status:empty{display:none}.audio-status{font-size:12px;padding:0 10px}.audio-slot audio{min-width:0}.day-content h3{font-size:23px}.practice-instruction{background:#f7f9f7;padding:14px;border-radius:8px;line-height:1.8}.intention{margin:15px 0;padding:0 0 0 14px;border-left:3px solid #d9b956;font-family:Georgia,'Nirmala UI',serif;font-size:17px;color:#6b4b1e}.answer-card summary{min-height:75px}.answer-card>p{line-height:1.9}.editorial-note{font-size:14px}
.spinner{width:30px;height:30px;border-width:3px}.overlay{background:#fffffff7}.overlay>p{font-size:21px}
@media(max-width:600px){.banner-carousel{margin-bottom:30px;border-radius:0}.banner-viewport,.banner-slide{min-height:335px}.banner-slide{padding:26px 23px;align-items:flex-start}.banner-copy{max-width:100%}.banner-copy h2{font-size:31px;max-width:90%;line-height:1.15}.banner-copy p{font-size:13px;max-width:90%}.banner-copy .card-action{min-width:165px}.banner-art{position:absolute;bottom:12px;right:-23px;min-width:120px;width:120px;height:120px;font-size:90px;opacity:.18;pointer-events:none}.banner-copy .eyebrow{font-size:9px}.product-footer{gap:12px}.product-footer .card-action{flex:1;max-width:190px}.status-dot{font-size:11px}.entry-summary{min-height:76px;padding:18px 16px;gap:8px}.entry-label{font-size:20px}.entry-badge{font-size:10px;padding:5px 8px}.entry-body{padding:0 16px 18px}.site-footer{gap:12px}.terms-page h1{font-size:34px}.day-content .button{min-height:48px}.audio-card{align-items:flex-start}.audio-cover{width:48px;height:65px;font-size:34px}.audio-slot{padding:7px}.home-hero{padding-bottom:15px}}
@media(prefers-reduced-motion:reduce){.spinner,.banner-slide{animation:none!important}.card-action:hover{transform:none}}
.custom-player{padding:18px;background:#f6f8f6;border:1px solid #e2eae3;border-radius:12px;gap:12px}.custom-player audio[hidden]{display:none}.player-controls{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.player-play,.player-finish{min-height:48px;border-radius:10px;font-weight:700;font-size:13px;padding:12px 18px;cursor:pointer}.player-play{display:flex;align-items:center;justify-content:center;gap:10px;background:#16864d;color:#fff;border:1px solid #137844;box-shadow:0 3px 0 #0c5f36;min-width:132px}.player-play:hover{background:#107541}.player-play[aria-pressed=true]{background:#285c42}.player-play>span:first-child{font-size:19px}.player-finish{background:#fff;color:#285c42;border:1px solid #b8d0be;margin-left:auto}.player-finish:hover{background:#e9f4ec}.player-volume{display:flex;flex:1;min-width:90px;max-width:180px;flex-direction:column;gap:3px;color:#5d6d60;font-size:11px}.player-volume input{width:100%;min-height:30px;accent-color:#16864d;cursor:pointer}.player-guidance{font-size:12px;line-height:1.75;color:#69726a;margin:0}.custom-player button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.day-content .player-controls{gap:12px}.day-content .player-finish{width:100%}.custom-player .audio-status{padding:0}.custom-player .audio-status:empty{display:none}
@media(max-width:600px){.custom-player{padding:14px}.player-controls{gap:12px}.player-play{flex:1;min-width:120px}.player-volume{flex:1;min-width:85px}.player-finish{width:100%;margin:0}.audio-card:has(.custom-player){flex-wrap:wrap}.audio-card:has(.custom-player) .audio-cover{display:none}.player-guidance{font-size:12px}}
/* Install page: app-store layout with the VWI brand (never a copy of a real store) */
.install-page{width:min(720px,89%);margin:40px auto 0}.store-head{display:grid;grid-template-columns:120px 1fr;gap:24px;align-items:center}.store-icon{width:120px;height:120px;border-radius:26px;box-shadow:0 6px 20px rgba(98,66,95,.18)}.store-info h1{font-size:clamp(26px,4vw,36px);letter-spacing:-.6px;margin-bottom:6px}.store-dev{color:var(--plum);font-size:13px;font-weight:700;margin-bottom:12px}.store-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.store-chips li{font-size:11px;border:1px solid var(--line);border-radius:999px;padding:4px 10px;color:var(--muted)}
.store-action{margin:28px 0;padding:22px;border:1px solid var(--line);border-radius:12px;background:#faf7f2}.store-action>:last-child{margin-bottom:0}.button.store-install{width:100%;font-size:16px;font-weight:700;padding:16px}.store-note{margin-bottom:14px}.store-steps{margin:0 0 6px;padding-left:22px;display:grid;gap:8px}
.store-shots{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:10px;margin-bottom:32px}.store-shots img{flex:0 0 auto;width:200px;height:auto;aspect-ratio:390/844;border-radius:16px;border:1px solid var(--line);scroll-snap-align:start;background:#eee8df}
.store-about h3{font-size:20px;margin:24px 0 12px}.store-inside{list-style:none;padding:0;margin:0;display:grid;gap:10px}.store-inside li{display:flex;gap:12px;align-items:center}.store-inside li span:first-child{color:var(--gold);width:20px;text-align:center}.store-skip{display:inline-block;margin-top:24px}
@media(max-width:600px){.install-page{margin-top:24px}.store-head{grid-template-columns:84px 1fr;gap:16px}.store-icon{width:84px;height:84px;border-radius:19px}.store-shots img{width:160px}}
.install-tip{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:12px;padding:12px 16px;margin:0 0 28px;background:#faf7f2;font-size:14px}.install-tip img{width:40px;height:40px;border-radius:10px;flex:0 0 auto}.install-tip strong{margin-left:auto;color:var(--plum);white-space:nowrap}
@media(max-width:600px){.install-tip{font-size:13px;gap:10px;padding:10px 12px}.install-tip strong{font-size:12px}}
.legal-links{display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:flex-end}
@media(max-width:600px){.legal-links{justify-content:flex-start}}
