.power-scene{border:0;position:fixed;inset:0;margin:0;width:100%;height:100dvh;max-width:none;max-height:none;padding:0;background:transparent;color:#f5ead4;overflow:auto;overscroll-behavior:contain}.power-scene::backdrop{background:#071725cc;animation:power-dim 1.7s ease both}.power-scene[open]{display:grid;place-items:center}.power-scene button{font:13px 'Segoe UI',sans-serif;cursor:pointer}.power-scene button:focus-visible,.power-scene a:focus-visible,.power-scene summary:focus-visible{outline:3px solid #f3c877;outline-offset:4px}.power-controls{display:flex;justify-content:center;gap:9px;flex-wrap:wrap}.power-controls button{padding:10px 15px;border:1px solid #d9c59a80;border-radius:6px;color:#f5ead4;background:#243b44}.power-controls button:hover{background:#3f5860}.power-controls [data-wake]{background:#e9d7b0;color:#283e40;border-color:#e9d7b0}.power-kicker{font:10px Consolas,monospace;letter-spacing:1.5px;line-height:1.6}.power-scene [data-status]{min-height:2.8em;font:12px/1.6 'Segoe UI',sans-serif;margin:16px 0 10px}.dial-window{width:min(480px,calc(100vw - 30px));min-width:0;background:#f1f2e9;color:#283946;border:2px solid #e8efeb;border-radius:5px;box-shadow:12px 18px 0 #0003,0 20px 80px #0005}.dial-titlebar{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(90deg,#224968,#437e94);color:#f6faf2;padding:7px 9px;font:13px 'Segoe UI',sans-serif}.dial-titlebar button{border:1px solid #cfdedb;background:#e6ede7;color:#233f49;width:26px;height:25px;padding:0;font-size:20px}.dial-content{padding:26px 28px 22px;text-align:center}.dial-content .power-kicker{color:#607583}.dial-content h1{font:34px Georgia,serif;color:#1e4857;margin:14px 0 20px}.dial-route{display:flex;justify-content:center;align-items:center;gap:20px;background:#dfe9e6;padding:22px 10px;border:1px inset #b3c4bf}.dial-route svg{width:72px;height:64px;fill:none;stroke:#446c7e;stroke-width:3}.dial-dots{font:24px Consolas,monospace;letter-spacing:4px;color:#638882}.dial-steps{list-style:none;padding:0;display:flex;justify-content:space-between;gap:8px;font:11px Consolas,monospace;color:#62727b;margin:20px 0 12px}.dial-steps li:before{content:'○ ';color:#809992}.dial-steps li.done{color:#235645}.dial-steps li.done:before{content:'● ';color:#39846a}.dial-progress{appearance:none;width:100%;height:14px;border:1px solid #8fa6a2;padding:2px;background:#e3e8e2}.dial-progress::-webkit-progress-bar{background:#e3e8e2}.dial-progress::-webkit-progress-value{background:repeating-linear-gradient(90deg,#426f82 0 12px,#dce5df 12px 15px)}.dial-progress::-moz-progress-bar{background:#426f82}.dial-content .power-controls button{font-size:12px}.power-credits{text-align:left;color:#576974;font:10px/1.6 'Segoe UI',sans-serif;margin-top:21px;border-top:1px solid #b6c9c233;padding-top:10px}.power-credits summary{cursor:pointer}.power-credits a{color:#325c70}.power-scene[data-stage='2'] .dial-route svg:last-child{stroke:#b98639;fill:#ffe8ab}.power-scene[data-mode='sleep']{display:block;text-align:center;background:radial-gradient(ellipse at 50% 100%,#32464a88,transparent 65%);min-height:100dvh}.sleep-message{position:relative;z-index:3;width:min(520px,calc(100% - 32px));margin:clamp(20px,5vh,52px) auto 310px}.sleep-message .power-kicker{color:#d9c6a2;font-size:9px}.sleep-message h1{font:clamp(25px,3.8vw,39px)/1.2 Georgia,serif;font-weight:400;color:#fff0d6;margin:12px 0}.sleep-intro{font:13px 'Segoe UI',sans-serif;color:#c0cbd0;margin:0 0 18px}.sleep-player-wrap{position:absolute;top:120px;left:50%;transform:translateX(-50%);width:400px;max-width:100%;height:225px;padding:0;border:0;overflow:hidden;opacity:0;pointer-events:none}.sleep-player-wrap iframe{display:block;border:0;width:400px;height:225px;opacity:0;pointer-events:none}.sleep-message [data-status]{font-size:11px;min-height:1.6em;margin:12px 0}.sleep-source{display:inline-block;font:10px/1.5 'Segoe UI',sans-serif;color:#bbcbc8;margin-top:12px;text-decoration:none}.sleep-source:hover{text-decoration:underline}.sleep-bedroom{position:fixed;width:min(850px,95vw);height:300px;bottom:0;left:50%;transform:translate(-50%,115%);transition:transform 2.4s cubic-bezier(.2,.8,.22,1) .6s;pointer-events:none;z-index:2}.scene-ready .sleep-bedroom{transform:translate(-50%,12px)}.bed-shadow{position:absolute;width:100%;height:65px;border-radius:50%;background:#040e17aa;bottom:-15px;filter:blur(18px)}.cozy-bed{position:absolute;bottom:0;left:10%;width:70%;height:290px;filter:drop-shadow(0 8px 12px #0005)}.bed-headboard{position:absolute;left:2%;right:2%;top:0;height:165px;background:linear-gradient(110deg,#bb9878,#92785f 60%,#b28f6d);border:9px solid #80654f;border-radius:40px 40px 12px 12px;box-shadow:inset 0 0 0 2px #e6c7a455,inset 0 4px 15px #533f3622;display:flex;justify-content:space-evenly;align-items:center;padding-bottom:25px}.bed-headboard span{width:8px;height:8px;border-radius:50%;background:#80654f;box-shadow:1px 1px 0 #d8b48a,-1px -1px 4px #5d483944}.bed-mattress{position:absolute;inset:93px 0 30px;background:#eee1c8;border-radius:22px;box-shadow:inset 0 -12px 15px #bead91}.bed-pillow{position:absolute;top:67px;width:35%;height:85px;border-radius:35% 25% 30% 20%;background:linear-gradient(155deg,#fff8e5,#ede2c8 65%,#cdbfa4);border:1px solid #fbefd7;box-shadow:0 10px 13px #74694e55,inset 7px 8px 17px #fff8ea,inset -9px -12px 15px #c9b898}.bed-pillow:after{content:'';position:absolute;inset:8px;border:1px solid #cfc3a766;border-radius:inherit}.pillow-left{left:10%;transform:rotate(-7deg)}.pillow-right{right:10%;transform:rotate(7deg)}.bed-cushion{position:absolute;top:103px;left:38%;width:24%;height:65px;border-radius:25%;background:repeating-linear-gradient(90deg,#c98f76 0 7px,#d4a08b 7px 9px);transform:rotate(-3deg);box-shadow:0 7px 9px #80605055,inset 0 0 16px #ad715f}.bed-duvet{position:absolute;top:154px;left:-2%;right:-2%;height:115px;border-radius:12px 12px 30px 30px;background:repeating-linear-gradient(90deg,transparent 0 47px,#c0ceae22 47px 49px),linear-gradient(110deg,#b0bea0,#7b9881 55%,#a4b69a);box-shadow:inset 9px 0 16px #dfdfba55,inset -12px -14px 18px #4e716655,0 7px 5px #2d433144}.duvet-fold{position:absolute;top:0;left:0;right:0;height:27px;border-radius:9px 9px 16px 16px;background:linear-gradient(#e2ddbf,#c6cdb1);box-shadow:0 5px 4px #51655333}.duvet-seam{position:absolute;bottom:15px;left:8px;right:8px;height:1px;border-top:2px dashed #d8dfbb55}.bed-frame{position:absolute;bottom:18px;left:0;right:0;height:22px;background:linear-gradient(#886e56,#685747);border-radius:0 0 7px 7px;z-index:-1}.bed-leg{position:absolute;bottom:0;width:19px;height:24px;background:#71573f;border-radius:0 0 3px 3px}.leg-left{left:5%}.leg-right{right:5%}.bedside{position:absolute;right:3%;bottom:0;width:16%;height:235px}.bedside-table{position:absolute;bottom:18px;left:0;right:0;height:87px;background:linear-gradient(90deg,#826651,#a48360,#78624e);border-radius:8px 8px 0 0;box-shadow:0 6px 12px #0005}.bedside-table:after{content:'';position:absolute;top:13px;left:15%;width:70%;height:42px;border:1px solid #6e514266;border-radius:3px;background:radial-gradient(circle at 50% 45%,#d5b17b 0 3px,transparent 4px)}.lamp-stem{position:absolute;bottom:110px;height:80px;width:5px;background:#c2a579;left:48%}.lamp-base{position:absolute;bottom:107px;left:29%;width:45%;height:8px;background:#b49262;border-radius:50%}.lamp-shade{position:absolute;bottom:168px;left:15%;width:72%;height:62px;background:repeating-linear-gradient(90deg,#f5d6a6 0 8px,#ebc693 8px 10px);clip-path:polygon(20% 0,80% 0,100% 100%,0 100%);border-radius:7px;filter:drop-shadow(0 0 8px #fbe4ac)}.lamp-glow{position:absolute;bottom:65px;left:-80%;width:260%;height:280px;background:radial-gradient(ellipse,#ffc97525,transparent 66%)}.bedside-book{position:absolute;bottom:107px;right:0;width:40px;height:12px;border:3px solid #6f878b;background:#e3d7be;transform:rotate(-8deg)}.sleep-stars{position:fixed;inset:0;pointer-events:none}.sleep-stars i{position:absolute;top:18%;left:15%;width:3px;height:3px;border-radius:50%;background:#e3d5b5;box-shadow:0 0 8px #e3d5b577}.sleep-stars i:nth-child(2){top:36%;left:80%}.sleep-stars i:nth-child(3){top:54%;left:11%}.sleep-stars i:nth-child(4){top:9%;left:71%}.sleep-stars i:nth-child(5){top:46%;left:90%}.sleep-stars i:nth-child(6){top:66%;left:76%}.sleep-moon{position:absolute;top:9%;left:10%;width:55px;height:55px;border-radius:50%;box-shadow:12px 8px 0 #d9ceb07a;transform:rotate(-20deg)}@keyframes power-dim{from{background:#07172533}to{background:#071725eb}}@media(max-width:600px){.sleep-message{margin-top:24px;margin-bottom:250px}.sleep-message h1{font-size:27px}.sleep-intro{font-size:12px}.sleep-bedroom{width:100vw;height:255px;overflow:hidden}.cozy-bed{height:255px;left:6%;width:72%}.bed-headboard{height:145px}.bed-pillow{top:62px;height:72px}.bed-cushion{top:99px;height:55px}.bed-duvet{top:143px;height:92px}.bed-mattress{top:90px}.bedside{right:3%;height:225px;width:17%}.dial-content{padding:21px 19px}.dial-content h1{font-size:30px}.power-controls button{font-size:11px;padding:9px 12px}.sleep-moon{left:1%;top:2%;opacity:.5}}@media(max-height:650px){.power-scene[data-mode='sleep']{padding-bottom:0}.sleep-message{margin-top:16px;margin-bottom:270px}.sleep-bedroom{position:absolute;top:480px;bottom:auto}.sleep-message h1{font-size:26px}}@media(prefers-reduced-motion:reduce){.power-scene::backdrop{animation:none;background:#071725dd}.sleep-bedroom{transition:none}.scene-ready .sleep-bedroom{transform:translate(-50%,12px)}}@media print{.power-scene{display:none!important}}

.power-scene:not([open]){display:none}

/* Narrow dial-up layout */
.dial-route svg{flex:0 0 60px}.dial-dots{flex:1;min-width:0;overflow:hidden;white-space:nowrap;letter-spacing:2px}

/* Sleep keeps the excerpt audio behind a soft, sleeping cloud. */
.sleep-cloud-scene{position:relative;width:min(400px,100%);height:210px;margin:0 auto;pointer-events:none}
.sleep-cloud-scene:before{content:"";position:absolute;inset:0 -10%;background:radial-gradient(ellipse at 50% 65%,#bed7ee18,transparent 64%);filter:blur(15px)}
.sleep-cloud{position:absolute;width:88%;height:166px;left:4%;top:26px;filter:drop-shadow(0 16px 20px #030f2244);animation:cloud-drift 7s ease-in-out infinite}
.cloud-puff,.cloud-base{position:absolute;display:block;background:linear-gradient(145deg,#fff8ee 8%,#e4e8f0 63%,#a8bad1);box-shadow:inset 5px 7px 15px #fffaf180}
.puff-one{width:28%;height:88px;left:1%;top:55px;border-radius:52% 55% 35% 60%}
.puff-two{width:39%;height:125px;left:19%;top:4px;border-radius:54% 60% 40% 40%}
.puff-three{width:34%;height:110px;left:49%;top:25px;border-radius:60% 54% 50% 40%}
.puff-four{width:27%;height:82px;right:0;top:64px;border-radius:60% 55% 55% 40%}
.cloud-base{height:76px;left:7%;right:7%;bottom:13px;border-radius:35% 35% 46% 48%;background:linear-gradient(180deg,#e9eaf0 0%,#d7e0ec 56%,#aabfd6 100%);box-shadow:inset 0 -7px 14px #8ba1c133}
.cloud-face{position:absolute;left:39%;top:108px;width:27%;display:flex;justify-content:space-between}
.cloud-face i{width:16px;height:8px;border:2px solid #6b7890;border-top:0;border-radius:0 0 16px 16px;transform:rotate(7deg)}
.cloud-face i+i{transform:rotate(-7deg)}
.cloud-cheek{position:absolute;top:124px;width:20px;height:9px;border-radius:50%;background:#cba7ac66;filter:blur(2px)}
.cheek-left{left:34%}.cheek-right{left:67%}
.cloud-dream{position:absolute;font:italic 22px Georgia,serif;color:#d4dfebaa;text-shadow:0 0 15px #aec5e344;transform:rotate(-10deg)}
.dream-one{right:13%;top:62px;font-size:16px}.dream-two{right:7%;top:36px;font-size:21px}.dream-three{right:1%;top:4px;font-size:27px}
@keyframes cloud-drift{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-7px) rotate(1deg)}}
@media(max-width:600px){.sleep-cloud-scene{height:195px}.sleep-cloud{transform-origin:center;scale:.93}}
@media(prefers-reduced-motion:reduce){.sleep-cloud{animation:none}}
