:root{color-scheme:dark;--cream:#fff9ee;--gold:#edc98d}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#10191a;color:var(--cream);font-family:Arial,Helvetica,sans-serif}button{font:inherit;cursor:pointer}button:focus-visible{outline:3px solid var(--gold);outline-offset:5px}[hidden]{display:none!important}#experience{isolation:isolate;min-height:100svh;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(24px,4.5vw,72px)}#scene-picture,.veil{position:absolute;inset:0;z-index:-2}#scene-picture img{height:100%;width:100%;object-fit:cover;object-position:center}.veil{z-index:-1;background:linear-gradient(90deg,rgba(4,13,15,.45),transparent 65%),linear-gradient(0deg,rgba(4,13,15,.93) 0%,rgba(4,13,15,.58) 23%,transparent 62%,rgba(4,13,15,.3) 100%)}.masthead{display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{font-size:22px;letter-spacing:.25em;font-weight:800}.brand-dot{color:var(--gold);font-size:30px;letter-spacing:0}#music-toggle{display:flex;align-items:center;gap:10px;color:var(--cream);background:#0e1b1fc9;border:1px solid #ffffff45;border-radius:40px;padding:14px 18px;min-height:52px;backdrop-filter:blur(12px);position:relative}#music-toggle:hover{background:#253638}#music-toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}#music-state{font-size:12px;letter-spacing:.08em}.offline{opacity:.55}#offline-dot{width:7px;height:7px;background:#e9bd7d;border-radius:50%}.moment{margin-top:auto;padding-top:clamp(190px,40svh,540px);max-width:700px}.eyebrow{font-size:10px;letter-spacing:.23em;text-transform:uppercase;font-weight:600;color:var(--gold);margin:0 0 16px}h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(32px,4vw,62px);line-height:1.1;letter-spacing:-.025em;margin:0 0 18px;text-wrap:balance}blockquote{margin:0;max-width:480px}blockquote p{font-size:clamp(15px,1.25vw,19px);line-height:1.65;margin:0;color:#eee8df}cite{font-size:12px;display:block;margin-top:8px}.scene-footer{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-top:38px}.scene-footer>div{display:flex;gap:16px;align-items:center}#clock{font-variant-numeric:tabular-nums;font-size:22px;font-weight:300}#calendar{font-size:11px;letter-spacing:.03em;color:#e5e0d5}#connection-status{font-size:9px;letter-spacing:.16em;color:#ded9ce;text-align:right}#scene-fallback{position:absolute;top:30%;left:8%;right:8%;text-align:center;font-size:14px;color:#b4c2bd}#toast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);max-width:90vw;background:#17282b;border:1px solid #b2c1b05c;border-radius:12px;padding:16px 22px;z-index:10;font-size:14px;box-shadow:0 12px 40px #0006}dialog{width:min(860px,calc(100vw - 32px));max-height:calc(100svh - 32px);overflow:auto;border:1px solid #adbaae40;border-radius:22px;background:#122022;color:var(--cream);padding:28px;box-shadow:0 35px 100px #0008}dialog::backdrop{background:#000a;backdrop-filter:blur(8px)}.player-heading{display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:24px}.player-heading .eyebrow{margin-bottom:10px}h2{font-family:Georgia,serif;font-weight:400;margin:0;font-size:clamp(22px,3vw,30px)}#music-close{flex-shrink:0;border-radius:50%;border:1px solid #ffffff38;background:transparent;color:var(--cream);height:44px;width:44px}#player-wrap{aspect-ratio:16/9;background:#091113;border-radius:8px;overflow:hidden}#youtube-player,#player-wrap iframe{width:100%;height:100%;border:0}#player-status{font-size:14px;line-height:1.5}#music-retry{padding:11px 18px;color:#102024;background:var(--gold);border:0;border-radius:8px}.player-note{font-size:11px;color:#b9c4bd;line-height:1.6;margin-bottom:0}@media(max-width:700px) and (orientation:portrait){#experience{padding:calc(22px + env(safe-area-inset-top)) 24px calc(24px + env(safe-area-inset-bottom))}.brand{font-size:17px}.brand-dot{font-size:24px}#music-toggle{padding:12px;gap:7px;min-height:48px}#music-state{font-size:10px}.moment{padding-top:48svh}h1{font-size:36px;max-width:340px}.eyebrow{font-size:9px;margin-bottom:13px}.scene-footer{margin-top:28px;align-items:end}.scene-footer>div{display:block}#calendar{display:block;margin-top:7px;font-size:10px}#connection-status{font-size:8px;max-width:125px;line-height:1.6}.veil{background:linear-gradient(0deg,#061114f5 0%,#0611149c 28%,transparent 65%,#06111445 100%)}dialog{padding:20px;border-radius:18px}.player-heading{margin-bottom:20px}.player-heading h2{font-size:23px}}@media(max-height:550px){#experience{padding:20px 32px}.moment{padding-top:70px}h1{font-size:32px;margin-bottom:10px}.scene-footer{margin-top:20px}blockquote p{font-size:14px}.brand{font-size:18px}}@media(prefers-reduced-motion:no-preference){#music-toggle{transition:background .2s,opacity .2s}}@media(prefers-contrast:more){.veil{background:#0009}blockquote p,#calendar,#connection-status{color:#fff}}
/* Compact music selection. The official YouTube player remains unobstructed. */
#music-dialog{width:min(700px,calc(100vw - 28px));padding:20px;border-radius:17px}
#music-dialog .player-heading{margin-bottom:16px;align-items:center}
#music-dialog .player-heading .eyebrow{font-size:10px;margin-bottom:6px;letter-spacing:.14em}
#music-dialog h2{font-size:25px}
#music-dialog .music-content{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:16px}
.music-playback{min-width:0}#music-dialog #player-wrap{aspect-ratio:16/9;min-width:200px;min-height:200px}
#music-selected-title{font-size:13px;margin:10px 0 0;line-height:1.4;color:#fff9ee}
.music-list-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 9px}
#music-list-title{font:500 13px Arial,sans-serif;margin:0;color:#fff9ee}#music-count{font-size:11px;color:#b9c4bd;white-space:nowrap}
#music-list{display:flex;flex-direction:column;gap:5px;max-height:260px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#68736c #142426;padding:3px}
.music-track{display:flex;align-items:center;gap:8px;padding:7px;min-height:49px;flex-shrink:0;width:100%;text-align:left;border:1px solid transparent;border-radius:8px;background:#ffffff05;color:#fff9ee}
.music-track:hover{background:#ffffff0e}.music-track[aria-pressed="true"]{background:#edc98d12;border-color:#edc98d65}
.music-art{position:relative;width:42px;height:30px;flex-shrink:0;display:grid;place-items:center;border-radius:4px;background:#263b3c;overflow:hidden;color:#edc98d}.music-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.music-track-info{min-width:0;flex:1}.music-track-title{font-size:13px;line-height:1.35;display:block;overflow-wrap:anywhere}.music-track-category{display:block;font-size:11px;line-height:1.3;color:#b9c4bd;margin-top:3px}.music-track-mark{color:#edc98d;font-size:14px;flex-shrink:0;width:13px}
.music-transport{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:12px}.music-transport button{border:1px solid #ffffff38;color:#fff9ee;background:transparent;border-radius:25px;height:40px;min-width:40px;font-size:23px;padding:0 12px}.music-transport #music-play{background:#edc98d;color:#102024;border:0;min-width:86px;font-size:13px;font-weight:600}.music-transport button:disabled{opacity:.4;cursor:default}
#music-dialog #player-status{font-size:12px;line-height:1.5;min-height:18px;margin:10px 0 0}#music-dialog .player-note{margin:14px 0 0;font-size:11px}#music-dialog #music-retry{margin-top:9px;padding:8px 12px;font-size:12px}
@media(max-width:620px){#music-dialog{width:min(480px,calc(100vw - 24px));padding:18px}#music-dialog .music-content{grid-template-columns:minmax(0,1fr);gap:18px}#music-dialog h2{font-size:23px}#music-dialog #player-wrap{min-height:200px}#music-list{max-height:210px}.music-transport button{min-height:44px;min-width:44px}#music-dialog .player-heading .eyebrow{font-size:10px}#music-dialog #music-close{width:44px;height:44px}}

/* Automatic shared-sleep mist; no visitor animation control. */
#scene-mist{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
@media(prefers-reduced-motion:reduce){#scene-mist{display:none!important}}

/* Approved compact scene line, refresh quote, dynamic footer and portrait layout. */
.brand-dot{color:#11b9e8}.moment{max-width:850px}.scene-line{font-size:clamp(14px,1.15vw,18px);line-height:1.6;margin-bottom:15px;color:#eee8df}.scene-line #scene-caption{font-weight:500}blockquote{max-width:800px}blockquote p{font:400 clamp(28px,3.5vw,52px)/1.2 Georgia,serif;letter-spacing:-.02em;text-wrap:balance;color:#fff9ee}.scene-footer .footer-copy{display:flex;flex-direction:column;gap:10px;align-items:flex-end;text-align:right}#connection-status{font-size:11px}#copyright{font-size:11px;line-height:1.5;color:#c5c9c0}
@media(max-width:700px) and (orientation:portrait){#experience{min-height:max(100svh,800px);padding:24px 22px 26px}#scene-picture img{object-position:center top}.moment{padding-top:50svh;text-align:center;width:100%;max-width:none}.scene-line{font-size:13px;line-height:1.55;margin-bottom:14px}blockquote{max-width:100%;margin:auto}blockquote p{font-size:clamp(27px,7vw,36px);line-height:1.2}.scene-footer{flex-direction:column;align-items:center;text-align:center;gap:22px;margin-top:26px}.scene-footer>div{display:flex;flex-direction:column;gap:7px;align-items:center}#clock{font-size:38px}#calendar{font-size:12px;margin:0}.scene-footer .footer-copy{align-items:center;gap:12px}#connection-status{max-width:none;font-size:11px;text-align:center}#copyright{font-size:11px}body[data-scene="wholeweek-sleep"] #scene-picture img{object-fit:cover;object-position:center top}body[data-scene="wholeweek-sleep"] #scene-picture::before{display:none}}
/* Compact albums expand their own tracks directly underneath. */
.music-tabs{display:flex;gap:4px;padding:4px;background:#091719;border-radius:9px;margin-bottom:10px}.music-tabs button{flex:1;border:0;background:transparent;color:#b9c4bd;padding:9px;border-radius:6px;font-size:12px;min-height:40px}.music-tabs button[aria-selected="true"]{background:#304648;color:#fff9ee}.music-album{border-bottom:1px solid #ffffff18}.music-album summary{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 8px;font-size:13px;cursor:pointer;list-style:none}.music-album summary::-webkit-details-marker{display:none}.music-album summary::after{content:'⌄'}.music-album[open] summary::after{content:'⌃'}.music-album small{display:block;font-size:11px;color:#b9c4bd;margin-top:4px}.music-album-tracks{padding:0 0 8px 12px;display:flex;flex-direction:column;gap:4px}.music-empty{font-size:12px;line-height:1.6;color:#b9c4bd;margin:8px}.music-library{min-width:0}

@media(max-width:700px) and (orientation:portrait){#scene-picture{bottom:auto}#scene-picture img,body[data-scene="wholeweek-sleep"] #scene-picture img{display:block;width:100%;height:auto;object-fit:initial}.moment{padding-top:clamp(440px,150vw,960px)}.veil{background:linear-gradient(0deg,#061114 0%,#061114ee 13%,#06111460 31%,transparent 57%,#06111420 100%)}}

/* Phone home fits the available screen; full artwork stays visible above the copy. */
@media(max-width:700px) and (orientation:portrait){
 #experience{--copy-space:230px;min-height:max(100svh,540px);min-height:max(100dvh,540px);padding:max(14px,env(safe-area-inset-top)) 18px max(12px,env(safe-area-inset-bottom));display:grid;grid-template-rows:52px minmax(0,1fr) auto auto;row-gap:12px;justify-content:initial}
 #scene-picture{inset:0 0 var(--copy-space);height:auto}
 #scene-picture img,body[data-scene="wholeweek-sleep"] #scene-picture img{width:100%;height:100%;object-fit:contain;object-position:center top}
 .masthead{grid-row:1;z-index:1}.moment{grid-row:3;margin:0;padding:0;align-self:end}
 .scene-line{font-size:12px;line-height:1.4;margin-bottom:10px}
 blockquote p{font-size:clamp(23px,6.3vw,29px);line-height:1.16}
 cite{font-size:11px;margin-top:5px}
 .scene-footer{grid-row:4;margin:0;gap:8px;align-items:center}
 .scene-footer>div{flex-direction:row;gap:10px;align-items:center}
 #clock{font-size:25px;line-height:1.1}#calendar{font-size:10px}
 .scene-footer .footer-copy{gap:5px}#connection-status{font-size:10px;letter-spacing:.08em}#copyright{font-size:10px;line-height:1.4}
 .veil{background:linear-gradient(0deg,#061114 0%,#061114 22%,#061114b0 29%,transparent 43%,transparent 90%,#06111430 100%)}
}
@media(max-width:700px) and (orientation:portrait) and (max-height:700px){#experience{--copy-space:215px;row-gap:9px}.scene-line{margin-bottom:7px}blockquote p{font-size:23px}.scene-footer{gap:6px}}
/* Let long libraries scroll inside the dialog, without extending the home page. */
@media(max-width:620px){#music-dialog{max-height:calc(100dvh - 24px);padding:14px}#music-dialog .player-heading{margin-bottom:10px}#music-dialog .music-content{gap:12px}#music-dialog .player-note{margin-top:8px}#music-list{max-height:clamp(100px,calc(100dvh - 490px),210px)}}

@media(max-width:700px) and (orientation:portrait){
 #experience{--copy-space:250px;padding:18px 22px 18px;row-gap:14px}
 #scene-picture{inset:0 0 var(--copy-space);overflow:hidden}
 #scene-picture img,body[data-scene="wholeweek-sleep"] #scene-picture img{object-fit:cover;object-position:center top}
 .moment{text-align:center}.scene-line{font-size:12px;line-height:1.5;margin-bottom:16px;max-width:330px;margin-left:auto;margin-right:auto;color:#cbd2cd}
 blockquote p{font-size:28px;line-height:1.18;max-width:345px;margin:auto}
 .scene-footer{gap:18px}.scene-footer>div{gap:9px;justify-content:center}
 #clock,#calendar{font:400 12px/1.4 Arial,sans-serif;letter-spacing:.025em;color:#d8dfda;margin:0}
 #calendar{border-left:1px solid #78878280;padding-left:9px}
 .scene-footer .footer-copy{gap:9px}#connection-status{font-size:11px;letter-spacing:.06em}#copyright{font-size:9px;color:#9faeaa}
 .veil{background:linear-gradient(0deg,#061114 0%,#061114 28%,#061114ee 30%,transparent 51%,transparent 90%,#06111430 100%)}
}

/* Compact Phetonk installation controls; no automatic invitation or added page height. */
.header-actions{display:flex;align-items:center;gap:10px}
#install-toggle{width:44px;height:44px;padding:10px;display:grid;place-items:center;border:1px solid #fff5df66;border-radius:50%;background:#102527b8;color:#fff4d9;cursor:pointer;backdrop-filter:blur(8px)}
#install-toggle[hidden]{display:none}#install-toggle svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#install-dialog{position:fixed;inset:0;box-sizing:border-box;width:min(340px,calc(100vw - 36px));max-height:calc(100dvh - 36px);overflow:auto;padding:26px 24px 18px;border:1px solid #d8c5a352;border-radius:22px;background:#102527;color:#fff6e7;box-shadow:0 24px 80px #0009;text-align:center;font:15px/1.5 Arial,sans-serif}
#install-dialog::backdrop{background:#02101388;backdrop-filter:blur(5px)}
#install-close{position:absolute;right:8px;top:8px;width:34px;height:34px;border:0;background:none;color:#e7dfcf;font-size:18px;cursor:pointer}
.install-brand{display:flex;align-items:center;justify-content:center;gap:10px;font-size:22px;letter-spacing:.03em}.install-brand img{border-radius:13px}
#install-dialog h2{font:28px/1.15 Georgia,serif;margin:20px 0 9px}#install-dialog p{color:#d2d8d0;margin:0 0 20px}#install-guidance{font-size:13px;background:#ffffff0c;border-radius:10px;padding:10px}
#install-confirm{display:block;width:100%;border:0;border-radius:12px;background:#e7c992;color:#172424;padding:13px 8px;font-weight:700;font-size:14px;cursor:pointer}
#install-later{border:0;background:none;color:#c8d0c7;padding:12px 10px 0;cursor:pointer}
#offline-banner{position:fixed;z-index:4;top:82px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 40px);box-sizing:border-box;padding:9px 14px;border-radius:12px;background:#102527eb;color:#eee3cc;font:12px/1.5 Arial,sans-serif;text-align:center;border:1px solid #e7c99244}
@media(max-width:700px){.header-actions{gap:8px}#install-toggle{width:40px;height:40px;padding:8px}.header-actions #music-toggle{width:40px!important;height:40px!important}#offline-banner{top:70px}}
button:focus-visible{outline:2px solid #edc98d;outline-offset:3px}

/* Approved mobile framing for weekday reflection only. */
@media (max-width:700px) and (orientation:portrait) {
  body[data-scene="weekday-reflection"] #scene-picture img {
    position:absolute;
    width:min(100%,calc((100dvh - var(--copy-space)) * .73));
    height:auto;
    max-width:100%;
    left:50%;
    top:59%;
    transform:translate(-50%,-59%);
    object-position:center 59%;
  }
  body[data-scene="weekday-reflection"] .veil {
    background:linear-gradient(to top,#061114 0,#061114 var(--copy-space),transparent var(--copy-space));
  }
  body[data-scene="weekday-reflection"] #scene-mist {
    display:none;
  }
}
