.moon-stage{isolation:isolate;background:linear-gradient(#0a1530 0%,#162a55 60%,#24407a 100%);border-radius:28px;overflow:hidden;box-shadow:0 10px 40px #0a153033}.moon-stars{position:absolute;inset:0}.moon-stars i{opacity:.7;background:#fff;border-radius:50%;width:2px;height:2px;animation:4s ease-in-out infinite moon-twinkle;position:absolute}@keyframes moon-twinkle{50%{opacity:.2}}.moon-stage[data-running=false] .moon-stars i{animation-play-state:paused}.moon-sky-glow{background:radial-gradient(circle at 50% var(--moon-y), #f6e7b955 0%, transparent 45%);opacity:calc(.45 + .55 * var(--moon-progress));position:absolute;inset:0}.breathing-moon{left:50%;top:var(--moon-y);aspect-ratio:1;background:radial-gradient(circle at 38% 35%,#fffbe8 0%,#f6e7b9 55%,#e3cf92 100%);border-radius:50%;width:27%;transition:top 50ms linear;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 24px #f6e7b9aa,0 0 70px #f6e7b955}.breathing-moon:before,.breathing-moon:after{content:"";opacity:.55;background:#d9c486;border-radius:50%;position:absolute}.breathing-moon:before{width:22%;height:22%;top:26%;left:56%}.breathing-moon:after{width:14%;height:14%;top:60%;left:30%;box-shadow:22px -4px 0 -2px #d9c486}.moon-hills{width:100%;height:34%;display:block;position:absolute;bottom:0;left:0;right:0}.moon-reflection{width:22%;height:10%;opacity:calc(.15 + .5 * var(--moon-progress));filter:blur(2px);background:radial-gradient(#f6e7b9 0%,#0000 70%);border-radius:50%;position:absolute;bottom:4%;left:50%;transform:translate(-50%)}.moon-stage .breath-label{color:#fff;text-shadow:0 1px 6px #0a1530;pointer-events:none;position:absolute;bottom:12%;left:0;right:0}.moon-stage .breath-label strong{font-size:22px}.moon-stage .breath-label span{font-size:34px;line-height:1.1}.moon-breathing-hint{color:#75836d;text-align:center;max-width:390px;margin:0;font-size:13px;line-height:1.7}.moon-panel{color:#fff;background:#0d1a38;border-radius:20px;justify-items:center;gap:12px;width:100%;padding-bottom:22px;display:grid;overflow:hidden;box-shadow:0 10px 40px #0a153033;container-type:inline-size}.moon-panel .moon-stage{aspect-ratio:auto;width:100%;height:clamp(260px,52cqw,440px);box-shadow:none;border-radius:0}.present .moon-panel .moon-stage{width:100%;height:min(440px,45vh)}.moon-panel .breathing-moon{width:clamp(76px,18cqw,140px)}.moon-panel .moon-reflection{width:clamp(60px,14cqw,110px)}.moon-panel .breath-status{color:#c9d6ee;padding:0 16px}.moon-panel .moon-outline{color:#fff;background:0 0;border-color:#fff6}.moon-panel .moon-outline:hover{color:#fff;background:#ffffff1a}@media (prefers-reduced-motion:reduce){.moon-stars i{animation:none}.breathing-moon{transition:none;top:36%}.moon-sky-glow{opacity:.6;background:radial-gradient(circle at 50% 36%,#f6e7b933 0%,#0000 45%)}.moon-reflection{opacity:.4}}.bedroom-visual{isolation:isolate;background:#e9dfcc}.bedroom-svg svg{width:100%;height:auto;display:block}.bedroom-svg [data-when]{pointer-events:none;transition:opacity .45s}.bedroom-svg [data-when$=\:good]{opacity:0}.bedroom-svg .bedroom-night{opacity:.05;transition:opacity .7s}.bedroom-svg .dim{transition:filter .7s}.bedroom-svg .mood{opacity:0;transition:opacity .4s}.bedroom-visual[data-mood=awake] .mood-awake,.bedroom-visual[data-mood=tired] .mood-tired,.bedroom-visual[data-mood=sleepy] .mood-sleepy,.bedroom-visual[data-mood=asleep] .mood-asleep,.bedroom-visual[data-warm=true] .mood-warm{opacity:1}.bedroom-visual[data-character=hidden] [id$=-sleeper]{opacity:0}.bedroom-visual[data-cool=true] .bedroom-thermo-ring{stroke:#34b36a}.bedroom-visual[data-cool=true] .bedroom-thermo-led{fill:#34b36a}.bedroom-visual[data-cool=true] .bedroom-temp{fill:#7be3a0}.bedroom-stages{color:#87907e;gap:20px;margin:8px 0 23px;padding:0;font-size:12px;list-style:none;display:flex}.bedroom-stages li{align-items:center;gap:7px;display:flex}.bedroom-stages li>span{border:1px solid #d9e1d2;border-radius:50%;place-items:center;width:24px;height:24px;font-size:10px;display:grid}.bedroom-stages li[aria-current=step]{color:#355f50;font-weight:650}.bedroom-stages li[aria-current=step]>span{color:#fff;background:#355f50;border-color:#355f50}.bedroom-control:disabled{cursor:default;opacity:.8}.bedroom-window-badge{color:#3b5f46;pointer-events:none;background:#edf3e5e8;border-radius:20px;padding:4px 9px;font-size:10px;position:absolute;bottom:10px;left:10px}.bedroom-setting-panel{background:#f5f7f0;border:1px solid #d4dfca;border-radius:12px;margin:20px 0;padding:22px}.bedroom-setting-panel h3{margin-bottom:10px;font-size:18px}.bedroom-setting-panel p{color:#6f7d65;font-size:13px;line-height:1.7}.bedroom-setting-panel select{min-height:44px;margin-top:9px}.bedroom-setting-panel input[type=range]{accent-color:#426f4f;width:100%;min-height:40px}.bedroom-ventilation-choices{border:0;margin-top:18px;padding:0}.bedroom-ventilation-choices legend{margin-bottom:8px;font-size:13px;font-weight:600}.bedroom-ventilation-choices label{color:#607357;cursor:pointer;align-items:center;gap:10px;min-height:44px;font-size:13px;display:flex}.bedroom-ventilation-choices input{accent-color:#426f4f}.bedroom-temperature-controls{justify-content:center;align-items:center;gap:23px;margin:18px 0;display:flex}.bedroom-temperature-controls output{color:#3a5b43;text-align:center;font-variant-numeric:tabular-nums;min-width:100px;font-size:30px}.bedroom-phase-actions{flex-wrap:wrap;gap:12px;margin:25px 0;display:flex}.bedroom-score-card{background:#f1f5e9;border:1px solid #d7e1cd;border-radius:15px;margin-top:30px;padding:24px}.bedroom-score-header{justify-content:space-between;align-items:center;gap:18px;display:flex}.bedroom-score-header h3{letter-spacing:-.4px;margin:8px 0;font-size:20px}.bedroom-score-header>strong{letter-spacing:-1.5px;color:#3a5d41;align-items:baseline;font-size:45px;display:flex}.bedroom-score-header>strong>small{letter-spacing:0;color:#839276;margin-left:3px;font-size:13px}.bedroom-score-card p,.bedroom-score-card details{color:#6e7f61;margin:14px 0 0;font-size:12px;line-height:1.75}.bedroom-score-card summary{cursor:pointer;color:#527349;font-weight:650}.bedroom-score-card a{text-underline-offset:3px;text-decoration:underline}.bedroom-score-card .bedroom-score-limit{border-top:1px solid #d8e1ce;padding-top:15px}.bedroom-score-comparison strong{color:#4b6d43}@media (max-width:600px){.bedroom-stages{gap:11px;font-size:10px}.bedroom-stages li{gap:4px}.bedroom-stages li>span{width:21px;height:21px}.bedroom-score-card{padding:18px}.bedroom-score-header h3{font-size:17px}.bedroom-score-header>strong{font-size:34px}}.bedroom-visual[data-lamp=ready] .bedroom-night{opacity:.74}.bedroom-visual[data-lamp=ready] .dim{filter:brightness(.42)saturate(.8)}.bedroom-visual[data-lamp=ready] .dim-soft{filter:brightness(.7)}.bedroom-svg .curtain{transition:transform .75s;transform:scaleX(.26)}.bedroom-svg .curtain-l{transform-origin:20px 50px}.bedroom-svg .curtain-r{transform-origin:220px 50px}.bedroom-visual[data-curtains=ready] .curtain{transform:scaleX(1)}.bedroom-visual[data-lamp=ready] [data-when=lamp\:bad],.bedroom-visual[data-curtains=ready] [data-when=curtains\:bad],.bedroom-visual[data-window=ready] [data-when=window\:bad],.bedroom-visual[data-heating=ready] [data-when=heating\:bad],.bedroom-visual[data-tv=ready] [data-when=tv\:bad],.bedroom-visual[data-phone=ready] [data-when=phone\:bad],.bedroom-visual[data-clock=ready] [data-when=clock\:bad],.bedroom-visual[data-standby=ready] [data-when=standby\:bad],.bedroom-visual[data-laptop=ready] [data-when=laptop\:bad]{opacity:0}.bedroom-visual[data-lamp=ready] [data-when=lamp\:good],.bedroom-visual[data-curtains=ready] [data-when=curtains\:good],.bedroom-visual[data-window=ready] [data-when=window\:good],.bedroom-visual[data-heating=ready] [data-when=heating\:good],.bedroom-visual[data-tv=ready] [data-when=tv\:good],.bedroom-visual[data-phone=ready] [data-when=phone\:good],.bedroom-visual[data-clock=ready] [data-when=clock\:good],.bedroom-visual[data-standby=ready] [data-when=standby\:good],.bedroom-visual[data-laptop=ready] [data-when=laptop\:good]{opacity:1}.bedroom-endpoint{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.bedroom-zone{z-index:2;cursor:pointer;background:0 0;border:2px solid #0000;border-radius:7px;position:absolute}.bedroom-zone.round{border-radius:50%}:is(.bedroom-zone:hover,.bedroom-zone:focus-visible,.bedroom-zone.selected){background:#ffe2a110;border-color:#ffe2a1;outline:none;box-shadow:0 0 0 1px #28453644}.bedroom-readiness{margin:23px 0}.bedroom-readiness>div:first-child{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.bedroom-readiness strong{color:#36523f;font-size:17px}.bedroom-readiness>div:first-child>span{color:#768270;font-size:12px}.bedroom-readiness-track{background:#e8eee3;border-radius:20px;height:6px;margin:13px 0 15px;overflow:hidden}.bedroom-readiness-track>span{background:#688c61;height:100%;transition:width .3s;display:block}.bedroom-summary-chips{flex-wrap:wrap;gap:8px;display:flex}.bedroom-summary-chips>span{color:#7c8577;background:#f3f4ef;border:1px solid #e1e5db;border-radius:20px;align-items:center;gap:4px;padding:5px 10px;font-size:11px;display:inline-flex}.bedroom-summary-chips>span.ready{color:#476442;background:#e8efdf;border-color:#c2d1b7}.bedroom-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.bedroom-control{text-align:left;background:#fff;border:1px solid #dde4d6;border-radius:10px;flex-direction:column;gap:4px;min-height:65px;padding:12px 14px;transition:background .2s,border-color .2s;display:flex}.bedroom-control>span{color:#3f5340;font-size:13px;font-weight:600}.bedroom-control>small{color:#8b725a;align-items:center;gap:4px;font-size:11px;display:flex}.bedroom-control.ready{background:#f0f4ea;border-color:#c4d2b9}.bedroom-control.ready>small{color:#66815a}:is(.bedroom-control:hover,.bedroom-control:focus-visible){outline-offset:2px;border-color:#728c66;outline:2px solid #728c6633}.bedroom-finished{color:#476641;background:#eaf2e1;border:1px solid #c9d7bf;border-radius:12px;align-items:flex-start;gap:13px;margin:22px 0;padding:18px;display:flex}.bedroom-finished>svg{flex-shrink:0;margin-top:2px}.bedroom-finished p{margin:7px 0 0;font-size:13px;line-height:1.7}.bedroom-ready>.actions{margin-top:23px}@media (max-width:600px){.bedroom-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.bedroom-readiness>div:first-child{flex-direction:column;align-items:flex-start;gap:5px}.bedroom-control{padding:11px 12px}}@media (prefers-reduced-motion:reduce){.bedroom-svg *,.bedroom-readiness-track>span,.bedroom-control{transition:none!important}}
