@font-face{font-family:Story;src:url('/baby-room/assets/baloo.woff2') format('woff2');font-weight:400 800;font-display:swap}
@font-face{font-family:Reading;src:url('/baby-room/assets/nunito.woff2') format('woff2');font-weight:400 900;font-display:swap}
:root{--paper:#f4eee2;--ink:#244541;--muted:#586c64;--line:#d8cdb6;--gold:#a77536;--glow:.2;color-scheme:light;font-family:Reading,Georgia,serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 7% 14%,#fff9e9,transparent 55%),var(--paper)}button,input,select{font:inherit}button,a,input,select,summary{ -webkit-tap-highlight-color:transparent}button,select{min-height:44px}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.5}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #b45c33;outline-offset:4px}[hidden]{display:none!important}.skip{position:fixed;left:15px;top:-100px;z-index:2000;background:#fff5de;padding:12px}.skip:focus{top:12px}
.masthead,main,footer{max-width:1320px;margin:auto;padding-inline:40px}.masthead{height:92px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{text-decoration:none;font:600 27px/1 Story,Georgia,serif}.brand span{display:block;font:800 8px Reading;letter-spacing:.18em;margin-top:10px}.review-label{font-size:11px;color:var(--muted)}.page-title{display:flex;justify-content:space-between;align-items:center;margin:30px 0 24px}.eyebrow{font:900 10px Reading;letter-spacing:.16em;margin:0 0 8px;color:var(--muted)}h1,h2{font-family:Story,Georgia,serif;font-weight:500;margin:0;line-height:1.1}h1{font-size:clamp(38px,4.4vw,60px);letter-spacing:-.03em}h2{font-size:30px}.page-title>p{font-size:15px;line-height:1.6;margin:0;color:var(--muted)}.room-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(320px,1fr);gap:34px;align-items:start}
.room{height:620px;min-width:0;position:sticky;top:18px;isolation:isolate;overflow:hidden;border-radius:30px;background:#090c0d;color:#f8e8c3;border:1px solid #182728;box-shadow:0 18px 44px #57421e18;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:34px;--room-colour:#be6832}.light-field{position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse at 50% 42%,var(--room-colour),transparent 80%);opacity:0;transition:opacity 2s,background 2s}.room:not([data-light=off]) .light-field{opacity:var(--glow)}.room[data-light=rose]{--room-colour:#a53337}.room[data-light=blue]{--room-colour:#34639d}.room-caption{text-align:center;z-index:1}.room-overline{font-size:9px;letter-spacing:.2em;color:#b9bdb0}.room-caption p{font:500 32px Story;margin:20px 0 3px}.room-caption>span:last-child{font-size:11px;color:#bec1b5}.base-scene{position:relative;width:100%;min-height:230px;display:grid;place-items:center}.base-ring{position:absolute;width:85%;height:58%;bottom:7%;border:1px solid #a3874533;border-radius:50%;background:radial-gradient(ellipse,#d8b57815,transparent 65%);box-shadow:0 0 0 16px #ffe9bd03,0 0 0 17px #ffe9bd08}.sound-base{z-index:1;position:relative;border:0;background:none;color:#e4d6b9;display:flex;flex-direction:column;align-items:center;gap:15px;min-height:190px;width:100%;justify-content:center}.sound-base:disabled{opacity:.8}.sound-base>span{font-size:12px}.base-keepsake{width:135px;height:135px;filter:drop-shadow(0 16px 15px #0007)}.sound-base[data-playing=true] .base-keepsake{filter:drop-shadow(0 0 22px #f6c05d55)}.room-bottom{width:100%;display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:11px;color:#d0c6b2}.room-bottom button,.leave-room{border:1px solid #a38e674d;background:#ffffff08;color:#ece0c7;padding:10px 15px;border-radius:30px;font-size:12px}.room-bottom button span{margin-left:10px}.photos{position:absolute;inset:0;z-index:-1;background:#07090a}.photos img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:.6;transition:opacity 1.5s}.photos img.out{opacity:0}.room.has-photos .room-caption,.room.has-photos .base-scene{visibility:hidden}
.controls{padding:5px 0}.control-heading{margin:0 0 25px}.control-heading h2{font-size:29px}.controls fieldset{border:0;padding:0;margin:0 0 20px}.controls legend,.slider-label,.ending-volume label{font-weight:800;font-size:12px;display:block;width:100%}.controls legend>span{float:right;font-size:11px;font-weight:400;color:var(--muted)}.swatches{display:flex;gap:10px;margin-top:12px}.swatches button{flex:1;border:1px solid transparent;background:none;display:flex;flex-direction:column;align-items:center;gap:7px;font-size:11px;border-radius:14px;padding:7px 3px}.swatches button[aria-pressed=true]{border-color:#899e8e;background:#fffcf36b}.swatch{width:34px;height:34px;border-radius:50%;display:block;border:2px solid #fff8e6;box-shadow:0 1px 5px #49351433}.swatch.off{background:#152125}.swatch.amber{background:#d89754}.swatch.rose{background:#b66058}.swatch.blue{background:#6994b1}.slider-label>span,#volume-label{float:right;font-weight:400}.slider-label input{display:block;width:100%}input[type=range]{accent-color:#496d65;min-height:36px;margin:4px 0;width:100%}.fine{font-size:11px;line-height:1.6;color:var(--muted);margin:5px 0 18px}.ending-volume{display:grid;grid-template-columns:1.2fr 1fr;gap:22px;margin:18px 0}.ending-volume select{width:100%;background:#fff9ed;border:1px solid var(--line);border-radius:8px;padding:8px;font-size:12px;margin-top:10px}.ending-volume input{margin-top:10px}.transport{display:flex;gap:10px}.transport button{border:1px solid #97aaa0;background:none;min-height:48px;border-radius:40px;padding:10px 18px;font-weight:800;font-size:13px}.transport #play{background:var(--ink);color:#fff8e7;flex:1;border-color:var(--ink)}.status{min-height:35px;font-size:12px;line-height:1.5;margin:12px 0;color:var(--muted)}.family-setting{border-top:1px solid var(--line);padding:15px 0}.family-setting summary{cursor:pointer;font-weight:800;font-size:13px;min-height:44px;line-height:1.5}.family-setting summary span{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-left:15px}.family-setting p{font-size:12px;line-height:1.6}.file-picker{display:block;font-weight:800;font-size:12px}.file-picker input{display:block;max-width:100%;font-size:11px;min-height:44px;margin-top:8px}input::file-selector-button{border:1px solid #a4ac93;border-radius:8px;background:#fff9ea;color:var(--ink);min-height:44px;padding:8px 10px;margin-right:8px;font:800 11px Reading}.photo-actions{display:flex;flex-wrap:wrap;gap:8px}.photo-actions button,.keepsake-link{border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#fff8eb;font-size:11px}.inline-check{display:flex;align-items:center;gap:8px;font-size:11px;min-height:44px}.inline-check input{width:18px;height:18px;accent-color:var(--ink)}.keepsake-link{width:100%;text-align:left;margin-top:14px;font-weight:800}.keepsake-link span{float:right}
.sound-shelf{margin:36px 0 30px;padding-top:26px;border-top:1px solid var(--line)}.shelf-title{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:20px}.shelf-title>p{font-size:12px;line-height:1.6;color:var(--muted)}.keepsakes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.keepsake{border:1px solid var(--line);border-radius:20px;background:linear-gradient(130deg,#fffaf0,#f0e5d2);display:flex;gap:14px;align-items:center;text-align:left;padding:20px;min-width:0;transition:transform .2s,border-color .2s}.keepsake:hover{transform:translateY(-3px);border-color:#8b9d82}.keepsake[aria-pressed=true]{border:2px solid #52796a;padding:19px}.keepsake svg{width:66px;height:66px;flex-shrink:0}.keepsake b{font:500 23px Story;display:block}.keepsake small{font-size:11px;color:var(--muted);display:block}.shelf-note{margin:12px 0 0}.parent-note{border-block:1px solid var(--line);padding:18px 0;font-size:12px;line-height:1.8}.parent-note summary{font-weight:800;min-height:44px;cursor:pointer}.parent-note>div{max-width:830px}.parent-note button{padding:10px 20px;background:none;border:1px solid #799487;border-radius:10px}footer{display:flex;justify-content:space-between;gap:15px;padding-block:30px;color:var(--muted);font-size:11px}footer>span:first-child{font:500 23px Story}dialog{width:min(500px,90vw);border:1px solid #caba9b;border-radius:24px;padding:28px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#081615b0}dialog p{line-height:1.6;font-size:14px}.dialog-close{float:right;background:none;border:0;font-size:12px}.primary-link{display:block;text-decoration:none;text-align:center;background:var(--ink);color:var(--paper);border-radius:10px;padding:14px;font-weight:800;font-size:13px}
.room:fullscreen,.room.room-full{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;padding:0;border:0;border-radius:0;z-index:1000;background:#000}.room:fullscreen .room-caption,.room:fullscreen .base-scene,.room:fullscreen .room-bottom,.room.room-full .room-caption,.room.room-full .base-scene,.room.room-full .room-bottom{display:none}.leave-room{position:absolute;bottom:max(20px,env(safe-area-inset-bottom));right:max(20px,env(safe-area-inset-right));z-index:3}.room:fullscreen .light-field,.room.room-full .light-field{background:var(--room-colour)}body.room-open{overflow:hidden}
@media(max-width:1000px){.masthead,main,footer{padding-inline:24px}.room-layout{gap:24px;grid-template-columns:minmax(0,1.2fr) minmax(300px,1fr)}.room{padding:25px;height:620px}.keepsake{padding:12px;gap:8px}.keepsake[aria-pressed=true]{padding:11px}.keepsake svg{width:50px;height:50px}.keepsake b{font-size:20px}}
@media(max-width:700px){.masthead,main,footer{padding-inline:18px}.masthead{height:78px}.brand{font-size:23px}.review-label{max-width:85px;text-align:right;font-size:9px}.page-title{display:block;margin:24px 0 20px}.page-title>p{font-size:13px;margin-top:10px}.page-title>p br{display:none}.room-layout{display:flex;flex-direction:column;gap:28px}.room{position:relative;top:auto;width:100%;height:430px;padding:24px;border-radius:24px}.room-caption p{font-size:28px;margin-top:15px}.base-scene{min-height:160px}.base-keepsake{height:105px;width:105px}.sound-base{min-height:170px}.room-bottom{font-size:10px;gap:5px}.room-bottom button{font-size:11px;padding:10px}.controls{width:100%}.control-heading{margin-bottom:20px}.swatches button{min-height:70px}.shelf-title{display:block}.shelf-title h2{font-size:29px}.keepsakes{grid-template-columns:1fr;gap:10px}.keepsake{padding:14px 20px;gap:20px}.keepsake[aria-pressed=true]{padding:13px 19px}.keepsake svg{width:60px;height:60px}.keepsake b{font-size:25px}.sound-shelf{margin-top:10px}.shelf-note{font-size:11px}footer{flex-wrap:wrap}footer>span:last-child{width:100%}.room-full,.room:fullscreen{border-radius:0}}
.skip:not(:focus){width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%)}
@media(max-width:700px){main{display:flex;flex-direction:column}.page-title{order:0}.room-layout{display:contents}.room{order:1}.sound-shelf{order:2;margin-top:25px;margin-bottom:25px}.controls{order:3;margin-bottom:20px}.parent-note{order:4}noscript{order:5}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

.home-link{font-size:12px;text-underline-offset:4px;min-height:44px;display:flex;align-items:center}
.room[data-light=orange]{--room-colour:#ff7e24}
.room[data-light=red]{--room-colour:#900c18}
.room[data-light=blue]{--room-colour:#285fa8}
.swatch.orange{background:#ff7e24}.swatch.red{background:#900c18}
.swatch.blue{background:#285fa8}
.room[data-light=off] .light-field{opacity:0}
.room:fullscreen .light-field,.room.room-full .light-field{background:var(--room-colour);inset:0}
input[type=range]:disabled{opacity:.45}
.keepsake span{min-width:0}.keepsake small{line-height:1.5}
.dialog-close{float:none;display:block;margin-left:auto;margin-bottom:12px}
.leave-room{background:#0b151de6;color:#fff3db;border-color:#eaddc080}
.leave-room:focus-visible{outline:3px solid #fff3db;outline-offset:4px}
.photos{background:#21110a}
.photos[data-tone=red]{background:#24090c}
.photos img{opacity:.45;transition:opacity 3s ease}
.photos[data-mode=static] img{transition:none}
.photo-options{display:grid;gap:12px;margin:16px 0 10px}
.photo-options label,.photo-select{display:block;font-size:12px;font-weight:800}
.photo-options select,.photo-select select{display:block;width:100%;min-width:0;max-width:100%;margin-top:7px;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff9ed;color:var(--ink);font-size:12px}
.photo-edit{margin:12px 0}
#photo-controls{min-width:0;margin-top:16px}
#photo-controls:disabled{opacity:.6}
#photo-controls legend{margin-bottom:12px}
.fullscreen-stop{position:absolute;bottom:max(20px,env(safe-area-inset-bottom));left:max(20px,env(safe-area-inset-left));z-index:3;border:1px solid #eaddc080;border-radius:30px;background:#200d0be6;color:#fff3db;min-height:44px;padding:10px 15px;font-size:12px}
.fullscreen-stop:focus-visible{outline:3px solid #fff3db;outline-offset:4px}
dialog{max-height:calc(100dvh - 32px);overflow:auto}
@media(min-width:701px) and (max-width:1000px){.keepsakes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.home-link{font-size:10px;max-width:80px;text-align:right}.room-caption>span:last-child{display:block;max-width:230px;line-height:1.6}.keepsake small{font-size:11px}}
