/* Our Little Universe — Presence Update · handcrafted 2.5D room, mobile first */
.presence-feature-spotlight{display:flex;align-items:center;gap:20px;padding:23px 26px;border:1px solid #f3cf9b88;border-radius:20px;background:radial-gradient(circle at 15% 40%,#a45f8a45,transparent 40%),linear-gradient(110deg,#553852,#2c2748);margin:14px 0 22px;box-shadow:0 20px 45px #100e233d}
.presence-feature-spotlight .pfs-icon{font-size:38px;white-space:nowrap}.pfs-icon span{color:#ffe0a1;font-size:15px}.presence-feature-spotlight>div:nth-child(2){flex:1}.presence-feature-spotlight h3{font:600 31px/1.1 var(--serif);color:#fff0d9;margin:4px 0 6px}.presence-feature-spotlight p{font-size:12px;color:#e4d3e2;line-height:1.5;margin:0}.presence-feature-spotlight .btn{white-space:nowrap}
.presence-hero{position:relative;overflow:hidden;text-align:center;padding:52px 22px 36px;background:radial-gradient(ellipse at 50% 30%,#77577e86,transparent 60%),radial-gradient(ellipse at 90% 90%,#5c435966,transparent 42%),linear-gradient(155deg,#191a35,#382640 71%,#271e39);border:1px solid #e5c5b768;border-radius:24px;isolation:isolate;box-shadow:0 22px 45px #0805143d}.presence-hero:before{content:'✧ · ✦ · ✧ · ✦ · ✧';position:absolute;left:-10%;top:9%;width:120%;letter-spacing:45px;color:#fce6b996;font-size:19px;animation:twinkle 6s ease-in-out infinite alternate}.presence-hero .eyebrow{position:relative;z-index:1;color:#efd7b2}.presence-orb{position:absolute;font-size:280px;line-height:1;left:50%;top:7%;transform:translateX(-50%);font-family:var(--serif);color:#ead2b226;filter:drop-shadow(0 0 28px #f3e0c133)}.presence-hero h2{position:relative;font:600 clamp(48px,7vw,83px)/.92 var(--serif);margin:22px 0 28px;color:#fff4e7}.presence-hero h2 em{font-weight:500;color:#eec7ce}.hub-people{display:flex;align-items:center;justify-content:center;gap:clamp(7px,6vw,50px);position:relative;z-index:1}.hub-person{width:clamp(100px,25vw,180px);display:flex;flex-direction:column;align-items:center;gap:6px}.hub-face{font-size:clamp(56px,8vw,95px);filter:drop-shadow(0 6px 25px #f2b1d188)}.hub-person b{font:600 23px var(--serif);color:#ffeacf}.hub-person small{font-size:11px;color:#d9bbcb;min-height:28px}.hub-middle{font:58px var(--serif);color:#fac3cc;text-shadow:0 0 19px #fecad799}.hub-middle span{display:block;font:14px var(--sans,Arial);color:#f4d99d;letter-spacing:7px}.hub-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:25px;position:relative;z-index:1}.hub-footnote{position:relative;z-index:1;font-size:11px;color:#dbc8d8;max-width:540px;margin:17px auto 0;line-height:1.5}
@keyframes twinkle{to{opacity:.28;transform:translateY(9px)}}
/* The shared room is a playful 2.5D illustration, not a camera feed. */
.immersive-room{min-height:clamp(440px,48vw,600px);display:block;padding:0;isolation:isolate;background:linear-gradient(to bottom,#322a47 0%,#4b344d 63%,#694654 64%,#32243a 100%);border:2px solid #bd9c9d;box-shadow:0 16px 50px #09071775,inset 0 0 110px #19142e94}.immersive-room:after{content:'';position:absolute;inset:0;z-index:15;box-shadow:inset 0 0 115px #160c2d8e;pointer-events:none;border-radius:19px}
.room-night-sky{position:absolute;inset:5% 13% 37%;z-index:1;background:radial-gradient(circle at 65% 40%,#c5abb086,transparent 35%),linear-gradient(140deg,#171c3d,#48344f 70%,#292849);border:13px solid #8a6476;border-bottom-width:16px;border-radius:75px 75px 7px 7px;overflow:hidden;box-shadow:inset 0 0 40px #080d2280,0 0 0 6px #3c2f49}.room-night-sky:after{content:'';position:absolute;inset:0;border-left:3px solid #966e84;left:50%;width:0;box-shadow:0 0 5px #b18d8c}.rm-moon{width:77px;height:77px;border-radius:50%;background:#f7e0ba;position:absolute;right:15%;top:13%;box-shadow:0 0 31px #ffd9ad99,0 0 110px #e8b98b78}.rm-stars{position:absolute;top:18%;left:9%;color:#fce6c2;font-size:19px;letter-spacing:24px;animation:twinkle 5s ease-in-out infinite alternate}.rm-rain{position:absolute;inset:0;background:repeating-linear-gradient(106deg,transparent 0 15px,#c8b5d740 16px 17px,transparent 18px 34px);opacity:.65;animation:rainfall 1.7s linear infinite}.scene-fire .rm-rain,.scene-library .rm-rain,.scene-stars .rm-rain{opacity:0}.scene-stars .room-night-sky{background:linear-gradient(140deg,#14182f,#232d55,#46334d)}.scene-stars .rm-moon{right:42%;top:11%}.scene-fire .room-night-sky{background:radial-gradient(circle at 50% 90%,#d3835777,transparent 55%),linear-gradient(150deg,#3c2840,#654458)}.scene-library .room-night-sky{background:linear-gradient(90deg,#3b2636 0 10%,#80664e 10% 15%,#3a2e3f 15% 32%,#887056 32% 36%,#3a2e3f 36% 52%,#887056 52% 57%,#3a2e3f 57% 75%,#887056 75% 81%,#392c42 81%)}.scene-library .room-night-sky:before{content:'📚  📚  📖  📚';position:absolute;inset:40% 0;z-index:1;font-size:37px;text-shadow:0 0 18px #efc885}.scene-library .rm-moon{display:none}
@keyframes rainfall{to{background-position:0 65px}}
.rm-floor{position:absolute;z-index:2;inset:62% 0 0;background:repeating-linear-gradient(92deg,#715367 0 21%,#78576c 21.3% 22%,#6b4b60 22.3% 47%);clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}.rm-rug{position:absolute;z-index:3;bottom:5%;left:20%;width:60%;height:18%;background:radial-gradient(ellipse,#9d718c,#593d59 71%,#e0aa9866 73%,transparent 76%);border-radius:50%;filter:blur(2px)}.rm-picture{position:absolute;z-index:2;left:3%;top:17%;padding:12px;font:25px var(--serif);border:6px ridge #b6927c;box-shadow:0 4px 18px #0009;color:#f1cbb2;background:#533c59}.rm-ceiling-lights{position:absolute;z-index:8;top:3%;left:7%;right:7%;font-size:24px;color:#ffdc97;letter-spacing:clamp(18px,6vw,80px);text-shadow:0 0 12px #ffd69a;display:none;animation:twinkle 2s alternate infinite}.room-prop-lights .rm-ceiling-lights{display:block}
.rm-sofa{position:absolute;z-index:5;left:26%;width:48%;height:37%;bottom:12%;filter:drop-shadow(3px 14px 8px #100a2c83)}.rm-sofa-back{position:absolute;inset:0 0 25%;background:linear-gradient(120deg,#a27d8b,#b58d96,#71586e);border-radius:42px 42px 15px 15px;border:6px solid #76536c;box-shadow:inset 0 7px 22px #d7b7b73d}.rm-sofa-seat{position:absolute;left:-7%;right:-7%;bottom:0;height:47%;background:linear-gradient(#c5a4a9,#8d6d84 75%);border-radius:24px 24px 15px 15px;border:5px solid #6e506b;box-shadow:0 15px 0 -10px #422f4e}
.rm-fireplace{position:absolute;z-index:5;bottom:16%;left:2%;width:18%;height:25%;background:linear-gradient(#936a6c,#533750);border:7px solid #a98779;border-bottom-width:12px;border-radius:9px;display:none}.rm-fireplace span{font-size:57px;filter:drop-shadow(0 0 22px #ffac61);animation:flame 1.6s ease-in-out infinite alternate}.room-prop-fire .rm-fireplace,.scene-fire .rm-fireplace{display:flex;align-items:center;justify-content:center}@keyframes flame{to{transform:scale(.85) rotate(-3deg);filter:drop-shadow(0 0 30px #ffad68)}}
.rm-candle,.rm-lantern,.rm-tea,.rm-blanket{display:none;position:absolute;z-index:12;filter:drop-shadow(0 0 18px #f8ba799f)}.rm-candle{right:9%;bottom:28%;font-size:38px}.rm-lantern{right:7%;top:33%;font-size:32px}.rm-tea{left:43%;bottom:13%;font-size:29px;letter-spacing:8px}.rm-blanket{left:37%;bottom:22%;background:#d6a2b6;color:#ad7a91;width:29%;height:10%;border-radius:10px;transform:rotate(-7deg);font-size:0}.room-prop-candles .rm-candle,.room-prop-candles .rm-lantern{display:block}.room-prop-tea .rm-tea{display:block}.room-prop-blanket .rm-blanket{display:block}
.room-seats{position:absolute;z-index:9;left:28%;right:28%;bottom:19%;display:flex;justify-content:space-between;gap:6px}.room-character{display:flex;flex-direction:column;align-items:center;min-width:0;opacity:.45;filter:grayscale(.6);transition:opacity .35s,filter .35s,transform .35s}.room-character>span{font-size:clamp(34px,6vw,65px);line-height:1.1;filter:drop-shadow(0 8px 6px #251b36ac)}.room-character b{font:600 clamp(12px,2vw,20px) var(--serif);color:#fff1df;text-shadow:0 2px 5px #24192e}.room-character small{font-size:10px;max-width:100px;color:#f6c9cd;text-shadow:0 1px 3px black}.room-character.is-here{opacity:1;filter:none;transform:translateY(-6px)}.room-character.is-here>span{filter:drop-shadow(0 0 18px #ffe0b4bf)}
.rm-scene-caption{position:absolute;z-index:13;left:12px;right:12px;top:17px;display:flex;align-items:center;gap:8px;justify-content:center;border-radius:30px;background:#25162bcf;border:1px solid #e5c4ba7a;padding:7px 14px;max-width:max-content;margin:auto;box-shadow:0 6px 15px #0005}.rm-scene-caption>span{font-size:25px}.rm-scene-caption h2{font:600 23px var(--serif);margin:0;color:#ffeac8}.rm-scene-caption p{font-size:10px;color:#ead4de;margin:0;max-width:320px}
.room-reaction-float{position:absolute;z-index:25;left:50%;top:50%;pointer-events:none;font-size:clamp(62px,10vw,100px);opacity:0;transform:translate(-50%,-20%)}.room-reaction-float.fly{animation:roomReactionFlight 3.1s ease-out forwards}@keyframes roomReactionFlight{0%{opacity:0;transform:translate(-50%,40%) scale(.4)}18%{opacity:1;transform:translate(-50%,0) scale(1.18)}60%{opacity:1;transform:translate(-50%,-35%) scale(1)}100%{opacity:0;transform:translate(-50%,-115%) scale(.7)}}
.room-action-section{background:#36263f8c;border:1px solid #d8b5a45e;border-radius:18px;padding:19px;margin:14px 0}.room-action-heading h3{font:600 29px var(--serif);margin:5px 0}.room-action-heading p{font-size:11px;color:#d5c3ce;margin:0 0 13px}.room-objects,.room-reactions{display:flex;flex-wrap:wrap;gap:8px}.room-objects button,.room-reactions button{border:1px solid #dbbbc172;border-radius:13px;background:#4a3751;color:#f5e5e4;padding:12px 15px;font:600 12px var(--sans,Arial);cursor:pointer;transition:transform .15s,background .15s}.room-objects button:hover,.room-reactions button:hover{transform:translateY(-2px)}.room-objects button[aria-pressed=true]{background:#836073;color:#fff3dd;border-color:#fad6a7;box-shadow:0 0 15px #ecaf7866}.room-reactions button{min-width:80px;font-size:24px;display:flex;flex-direction:column;align-items:center;gap:4px}.room-reactions button span{font-size:11px}.latest-reaction{margin:13px 0 0;font-size:11px;color:#f7d4c7}
.escape-ambience{height:148px;margin:16px 0 0;border-radius:16px;background:radial-gradient(ellipse at 50% 80%,#a9897650,transparent 60%),linear-gradient(#211a36,#573650);overflow:hidden;position:relative;border:1px solid #e9c19673}.escape-hall{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;background:repeating-linear-gradient(90deg,transparent 0 22%,#8a6c9250 22.1% 23%,transparent 23.1% 50%)}.escape-door{width:95px;height:150px;border:7px ridge #ac865e;border-radius:52px 52px 4px 4px;background:linear-gradient(90deg,#422c4b,#75607f 52%,#3b2a46);font-size:32px;color:#fcd8a2;text-align:center;box-shadow:0 0 65px #f6c68e66, inset 0 0 35px #130b23}.escape-door span{display:block;font-size:38px;margin-top:4px}.escape-candles{position:absolute;left:0;right:0;bottom:10px;text-align:center;color:#dfc68f;letter-spacing:70px;font-size:24px}.escape-activity{border:1px solid #dfbd9e66;border-radius:11px;padding:10px 13px;background:#3a2b44;color:#edd5df;font-size:11px;margin:11px 0 13px;min-height:35px}
@media(max-width:800px){.presence-feature-spotlight{flex-wrap:wrap}.presence-feature-spotlight .btn{width:100%;justify-content:center}.room-night-sky{inset:6% 9% 37%}.room-seats{left:27%;right:27%}.rm-scene-caption p{display:none}}
@media(max-width:600px){.presence-hero{padding:43px 10px 30px}.presence-hero h2{font-size:56px}.presence-hero:before{letter-spacing:20px}.hub-person b{font-size:18px}.hub-person small{font-size:9px}.hub-middle{font-size:36px}.hub-middle span{font-size:9px;letter-spacing:2px}.hub-actions .btn{width:100%;justify-content:center}.presence-feature-spotlight{padding:18px}.presence-feature-spotlight h3{font-size:26px}.immersive-room{min-height:400px}.room-night-sky{inset:13% 8% 36%;border-width:8px;border-bottom-width:13px;border-radius:48px 48px 4px 4px}.rm-moon{width:45px;height:45px}.rm-stars{letter-spacing:6px;font-size:12px}.rm-picture{display:none}.rm-sofa{left:19%;width:62%;height:32%;bottom:16%}.room-seats{left:23%;right:23%;bottom:26%}.room-character>span{font-size:42px}.room-character b{font-size:15px}.room-character small{font-size:8px;line-height:1.1}.rm-scene-caption{top:10px;padding:6px 13px}.rm-scene-caption h2{font-size:17px}.rm-scene-caption>span{font-size:19px}.rm-fireplace{width:20%;height:19%;bottom:21%;left:2%;border-width:4px}.rm-fireplace span{font-size:37px}.rm-candle{right:4%;font-size:23px}.rm-lantern{right:3%;font-size:25px}.rm-tea{left:40%;bottom:12%;font-size:19px}.rm-blanket{bottom:26%}.room-action-section{padding:13px}.room-objects button{padding:10px 12px;font-size:11px}.room-reactions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.room-reactions button{padding:9px 2px;min-width:0;font-size:23px}.room-reactions button span{font-size:9px}.escape-ambience{height:115px}}
@media(prefers-reduced-motion:reduce){.presence-hero:before,.rm-stars,.rm-rain,.rm-ceiling-lights,.rm-fireplace span,.room-reaction-float.fly{animation:none}.room-reaction-float.fly{opacity:1}}

/* Interactive objects in the room: accessible, keyboard/touch-friendly, unmistakably clickable. */
.room-portal{appearance:none;-webkit-appearance:none;position:absolute;border:0;background:transparent;padding:0;margin:0;z-index:17;color:#ffebdc;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;text-decoration:none;transition:transform .2s ease,filter .2s ease;touch-action:manipulation}
.room-portal:hover,.room-portal:focus-visible{transform:translateY(-4px) scale(1.045);filter:drop-shadow(0 0 12px #ffd99e9e)}.room-portal:focus-visible{outline:3px solid #ffe0a3;outline-offset:6px;border-radius:8px}
.room-tv{right:6%;top:19%;width:36%;height:28%;justify-content:center}
.tv-frame{width:100%;height:86%;padding:7px;background:linear-gradient(125deg,#7b677a,#261f36 55%,#9c7e85);border:4px solid #cfb0a0;border-radius:13px;box-shadow:2px 13px 22px #130c25ac, inset 0 0 7px #eacfac7b}
.tv-screen{height:100%;width:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;border:2px solid #7b6692;border-radius:4px;background:radial-gradient(circle at 50% 52%,#ad719b91,transparent 48%),linear-gradient(140deg,#312e62,#271d3b);box-shadow:inset 0 0 35px #09081c;color:#fff0d7}
.tv-icon{display:grid;place-items:center;height:42px;width:42px;border:1px solid #fff7dba8;border-radius:50%;font-size:23px;padding-left:3px;background:#cab2d02b;box-shadow:0 0 20px #e1ace9aa}.tv-subtitle{font-size:clamp(7px,.95vw,11px);font-weight:700;letter-spacing:1px}
.portal-caption{background:#291c35e5;border:1px solid #f1d0acb5;border-radius:24px;padding:4px 9px;font:700 clamp(9px,1.1vw,12px) var(--sans,Arial);white-space:nowrap;color:#ffe9ca;text-shadow:0 1px 4px #13091d;box-shadow:0 6px 14px #130b1d89}
.room-coffee-table{position:absolute;z-index:13;left:37%;bottom:2.6%;width:26%;height:15%;background:radial-gradient(ellipse at 50% 25%,#d2a37c,#94677d 69%,#58354a 74%);border:4px solid #c59b86;border-radius:50%;box-shadow:0 14px 8px #0f09248c}
.room-deck{bottom:5.5%;left:40%;width:20%;height:15%;justify-content:center}
.deck-fan{position:relative;width:min(90px,100%);height:61px;filter:drop-shadow(0 7px 8px #170b24aa)}
.fan-card{position:absolute;left:27%;top:2%;width:35px;height:51px;border-radius:4px;border:2px solid #dcbf8d;background:linear-gradient(145deg,#5e3356,#39233f);font:700 24px var(--serif);color:#fce6c1;display:grid;place-items:center;box-shadow:0 3px 9px #1e1323}
.fan-card.c1{transform:rotate(-27deg) translateX(-16px)}.fan-card.c2{transform:translateY(-3px);z-index:2}.fan-card.c3{transform:rotate(27deg) translateX(16px)}.fan-card.c2{color:#f0a7b5}
.rm-portal-tip{position:absolute;z-index:18;bottom:1%;left:0;right:0;text-align:center;font-size:9px;letter-spacing:.03em;color:#f7dfcf;text-shadow:0 1px 7px #210923;pointer-events:none}
.room-return-bar{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:6px 0 17px}.room-return-bar>span{font-size:12px;color:#e4cbbf}
@media(max-width:700px){.room-tv{right:4%;top:25%;width:44%;height:21%}.tv-frame{padding:4px;border-width:3px}.tv-icon{width:31px;height:31px;font-size:16px}.tv-subtitle{font-size:7px;letter-spacing:.3px}.room-deck{left:34%;width:32%;bottom:6%;height:14%}.room-coffee-table{left:30%;width:40%;bottom:3%;height:15%}.room-seats{bottom:29%}.rm-scene-caption{top:10px}.rm-portal-tip{bottom:0;font-size:8px}}
@media(max-width:400px){.room-tv{top:26%;height:20%}.tv-icon{height:27px;width:27px}.tv-subtitle{font-size:6px}.deck-fan{height:55px}.room-deck{bottom:7%}.room-coffee-table{bottom:4%}}

/* Reading nook and a beautiful sun-responsive window. The window responds to the
   viewer's local clock, not precise weather/geographical sunrise/sunset data. */
.room-night-sky{overflow:hidden;transition:background 1.8s ease,box-shadow 1.8s ease}
.immersive-room.day-morning .room-night-sky{background:linear-gradient(180deg,#77adbb 0%,#c5dce0 53%,#f1d8ae 100%)}
.immersive-room.day-afternoon .room-night-sky{background:linear-gradient(180deg,#5ca5c1 0%,#aadbe1 55%,#f2d59f 100%)}
.immersive-room.day-evening .room-night-sky{background:linear-gradient(170deg,#8d6c9c 0%,#e6a47b 52%,#f6d2aa 100%)}
.immersive-room.day-night .room-night-sky{background:linear-gradient(160deg,#111e40,#3f335c 80%)}
.immersive-room.day-morning .rm-moon,.immersive-room.day-afternoon .rm-moon,.immersive-room.day-evening .rm-moon{width:68px;height:68px;background:#ffe2a4;right:18%;top:19%;box-shadow:0 0 33px #fff5c6bb,0 0 108px #ffecb7aa}
.immersive-room.day-night .rm-moon{width:66px;height:66px;top:13%;right:13%}
.immersive-room.day-morning .rm-stars,.immersive-room.day-afternoon .rm-stars,.immersive-room.day-evening .rm-stars{opacity:0}
.immersive-room.day-evening .rm-moon{top:59%;right:19%;background:#ffc28b;box-shadow:0 0 35px #fdcd959c,0 0 80px #ffad7e88}
.rm-cloud{position:absolute;z-index:1;background:#fdf9e2aa;width:90px;height:18px;border-radius:70px;filter:blur(5px);opacity:0;transition:opacity 1s;box-shadow:28px -7px 4px #fcf8e1aa,48px 3px 9px #fff1d8a8}
.rm-cloud-one{top:37%;left:5%}.rm-cloud-two{top:21%;left:48%;transform:scale(.7)}
.immersive-room.day-morning .rm-cloud,.immersive-room.day-afternoon .rm-cloud,.immersive-room.day-evening .rm-cloud{opacity:.8}
.rm-hills{position:absolute;z-index:2;bottom:-4%;left:-10%;width:120%;height:28%;background:linear-gradient(150deg,#416876,#638d73);clip-path:polygon(0 90%,15% 45%,26% 67%,43% 17%,54% 48%,72% 15%,84% 57%,100% 17%,100% 100%,0 100%);opacity:.15}
.immersive-room.day-morning .rm-hills,.immersive-room.day-afternoon .rm-hills,.immersive-room.day-evening .rm-hills{opacity:.9}
.rm-sunbeams{position:absolute;inset:6% -10% -15% 40%;z-index:2;pointer-events:none;opacity:0;transform-origin:85% 10%;background:conic-gradient(from -16deg at 80% 5%, transparent 0deg,#ffe8b640 14deg,transparent 19deg,#fbe8c52b 31deg,transparent 37deg);filter:blur(8px)}
.immersive-room.day-morning .rm-sunbeams,.immersive-room.day-afternoon .rm-sunbeams,.immersive-room.day-evening .rm-sunbeams{opacity:1}
.immersive-room.day-morning .rm-rain,.immersive-room.day-afternoon .rm-rain,.immersive-room.day-evening .rm-rain{opacity:0}
.immersive-room.scene-rain .rm-rain{opacity:.5}
.immersive-room.scene-library.day-night .room-night-sky,.immersive-room.scene-library.day-evening .room-night-sky,.immersive-room.scene-library.day-morning .room-night-sky,.immersive-room.scene-library.day-afternoon .room-night-sky{background:linear-gradient(150deg,#5f709a,#d9ae8c)}
.scene-library .room-night-sky:before{display:none}
/* The window is directly behind the sofa, turning it into a reading seat. */
.room-bookshelf{position:absolute;z-index:10;left:1.7%;bottom:29%;width:20%;height:40%;border:0;padding:0;color:#fbe4c3;background:transparent;cursor:pointer;filter:drop-shadow(0 12px 12px #17102785);transition:transform .2s}
.room-bookshelf:hover,.room-bookshelf:focus-visible{transform:translateY(-3px)}
.bookshelf-wood{display:block;height:92%;width:100%;border:5px ridge #ac7b62;background:linear-gradient(95deg,#4d3041,#765063 19%,#4a303d 81%,#87604e);border-radius:5px;box-shadow:inset 0 0 20px #140b1a9c;position:relative}
.shelf-title{position:absolute;left:1px;right:1px;top:3%;font:700 clamp(6px,1vw,10px) Georgia,serif;letter-spacing:1px;color:#ffe5c1}
.shelf-spines{position:absolute;inset:24% 8% 14%;display:flex;align-items:flex-end;gap:3px;border-bottom:7px solid #b48a65;justify-content:center}
.book-spine{writing-mode:vertical-rl;text-align:center;background:linear-gradient(90deg,var(--book-dark,#6b4655),var(--book-mid,#8f6677) 52%,var(--book-light,#c6aab7) 58%,var(--book-dark,#5a3d49));font:600 clamp(7px,1vw,11px) Georgia,serif;letter-spacing:.03em;line-height:1.08;padding:8px 2px;height:66%;max-width:28%;min-width:10%;border-left:1px solid #f9e0b055;border-right:1px solid #3c233144;box-shadow:inset 1px 0 0 #fff3d35a,inset -1px 0 0 #3015236a,0 3px 5px #1e132059}
.book-spine.featured-spine{height:95%;min-width:16%;max-width:32%;background:linear-gradient(90deg,var(--book-dark,#8d4c18),var(--book-mid,#cf7f2c) 50%,var(--book-light,#f3bf69) 58%,var(--book-dark,#8d4c18));color:#fff8e8;font-weight:700;text-shadow:0 1px 2px #41220dcc;box-shadow:inset 2px 0 0 #ffebc27d,inset -2px 0 0 #7a421678,0 4px 6px #1b111a6e}
.book-spine.muted-spine:nth-child(3){height:82%;--book-dark:#644d77;--book-mid:#8a6aa2;--book-light:#c4afdd}.book-spine.muted-spine:nth-child(4){height:62%;--book-dark:#3e6d71;--book-mid:#66a1a5;--book-light:#b7e1e4}.book-spine.muted-spine:nth-child(1){height:74%;--book-dark:#7a6757;--book-mid:#a38b79;--book-light:#d6c3aa}.book-spine.muted-spine:nth-child(5){height:69%;--book-dark:#6e4f65;--book-mid:#a37ca0;--book-light:#dac6d8}
.shelf-base{position:absolute;bottom:-10%;left:-7%;right:-7%;height:12px;background:#a67a58;border-radius:3px;box-shadow:0 7px 5px #1a0d1f66}
.room-bookshelf .portal-caption{display:block;font-size:clamp(8px,1.2vw,11px);white-space:nowrap;text-shadow:0 2px 5px #160b1b}
.room-daylight-status{display:flex;align-items:center;gap:12px;margin-top:15px;margin-bottom:13px;padding:13px 17px;border:1px solid #edcca875;background:linear-gradient(100deg,#5d475c,#3b344c);border-radius:17px}
.daylight-symbol{font-size:32px}.room-daylight-status>div{flex:1}.room-daylight-status strong{display:block;color:#ffead3;font:600 19px Georgia,serif}.room-daylight-status small{display:block;font-size:11px;color:#f1d9d1}.room-daylight-status button{white-space:nowrap}
.room-library-panel{margin:15px 0;padding:23px;background:linear-gradient(135deg,#4d3850,#2d293f);border:1px solid #e9c78e85;border-radius:20px;box-shadow:0 12px 30px #1c122b66}.room-library-panel[hidden]{display:none}.room-library-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.room-library-header h3{font:600 32px Georgia,serif;margin:5px 0 12px}.room-library-panel p{color:#e7d7d8;font-size:13px;line-height:1.55}.room-book-entries{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:12px;margin:18px 0}.room-book-item{border:1px solid #d7b5a88c;border-radius:13px;background:#483447;color:#fff0df;padding:16px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:7px}.room-book-item:focus-visible,.room-book-item:hover{outline:2px solid #f2cca7}.room-book-item strong{font:600 19px Georgia,serif}.room-book-item small{font-size:12px;color:#e7cfbe}.room-library-form,.room-reading-note form{display:flex;flex-direction:column;gap:8px;margin-top:15px}.room-library-fields{display:flex;gap:7px;flex-wrap:wrap}.room-library-fields input{min-width:135px;flex:1}.room-library-panel label{color:#ffe3c7;font-size:12px}.room-library-panel input,.room-library-panel textarea{color:#ffffff;background:#2c2031;border:1px solid #9e7b8f;border-radius:10px;padding:12px;font:inherit}.room-library-panel input::placeholder,.room-library-panel textarea::placeholder{color:#c9b8c6}.room-reading-note{border-top:1px solid #d8bcab6e;margin-top:20px;padding-top:12px}.room-reading-feed-item{border-left:2px solid #d8b997;margin:8px 0;padding:8px 12px;background:#a96d8330;border-radius:4px;font-size:12px}.room-reading-feed-item small{display:block;color:#d7bccd;margin:4px 0}
@media(max-width:520px){.room-daylight-status{gap:8px;padding:12px}.room-daylight-status strong{font-size:15px}.room-daylight-status small{font-size:10px}.room-daylight-status button{font-size:9px!important;padding:8px!important}.room-bookshelf{left:1%;bottom:39%;width:21%;height:29%}.bookshelf-wood{border-width:3px}.shelf-spines{gap:1px}.book-spine{font-size:7px;padding:2px 1px}.room-library-panel{padding:15px}.room-library-header h3{font-size:23px}}

/* Our Dropbox photo album: a small, tappable keepsake hanging in the cozy room. */
.room-photo-album{left:42%;top:22%;width:16%;height:27%;z-index:16;justify-content:flex-start}
.album-cover{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-height:84px;max-height:112px;aspect-ratio:4/5;border:5px ridge #d9ad7a;border-radius:6px 9px 9px 6px;background:linear-gradient(125deg,#9a506c 0%,#713e59 29%,#3b294e 90%);box-shadow:inset 9px 0 9px #160c2777,0 10px 15px #110b218c,0 0 0 2px #f4dbae55;color:#ffe5be}
.album-cover:before{content:'';position:absolute;inset:7px;border:1px solid #dfb9829e;border-radius:4px;pointer-events:none}
.album-cover strong{font:700 clamp(8px,1.15vw,13px) Georgia,serif;letter-spacing:.7px;text-align:center;line-height:1.1;white-space:normal;position:relative}
.album-cover small{font:italic 12px Georgia,serif;color:#ecd4cf;margin-top:5px}
.album-couple{font-size:clamp(13px,2vw,22px);white-space:nowrap;line-height:1.5}
.album-sparkles{color:#edd1a5;font:15px Georgia,serif;white-space:nowrap}
.room-photo-album .portal-caption{white-space:nowrap;font-size:clamp(8px,1vw,11px);background:#30203ca6;border-radius:5px;padding:3px 7px;color:#ffe9d4;text-shadow:0 1px 5px #190d22}
.album-launch-row{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin:0 0 18px;color:#ecd6d7;font-size:12px}
.room-album-panel{margin:15px 0;padding:22px;background:linear-gradient(135deg,#4f3451,#29283b);border:1px solid #f2d29b85;border-radius:19px;box-shadow:0 12px 30px #1c122b66}
.room-album-panel[hidden],.album-open-link[hidden]{display:none}
.room-album-panel h3{font:600 30px Georgia,serif;margin:5px 0 10px;color:#ffe4cc}
.room-album-panel p{color:#ecdfe6;font-size:13px;line-height:1.55}
.room-album-panel label{font-size:12px;color:#fbe5c9}
.room-album-panel input{width:100%;box-sizing:border-box;background:#251c34;color:#fff;border:1px solid #a8869b;border-radius:9px;padding:13px;min-width:0;font:inherit}
.room-album-panel input::placeholder{color:#afa1ae}
.album-open-link{margin:8px 0 10px;display:inline-flex}
.album-form-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.room-album-panel .album-privacy{font-size:12px;color:#e4cbd9;margin-top:15px;border-top:1px solid #b492a855;padding-top:13px}
@media(max-width:700px){.room-photo-album{left:30%;top:29%;width:20%;height:23%}.album-cover{border-width:3px;min-height:56px;max-height:80px}.album-cover:before{inset:4px}.album-cover strong{font-size:8px}.album-cover small{font-size:9px;margin-top:2px}.album-sparkles{font-size:10px}.album-couple{font-size:13px}.room-photo-album .portal-caption{font-size:8px;letter-spacing:0}.room-album-panel{padding:15px}.room-album-panel h3{font-size:23px}}
@media(max-width:400px){.room-photo-album{top:29%;left:29%;width:20%}.album-cover{min-height:49px;max-height:66px}.album-cover strong{font-size:7px}.album-couple{font-size:11px}.album-sparkles{font-size:9px}.room-photo-album .portal-caption{font-size:7px;padding:2px 4px}}

/* Photo album link correction: make editing visible inside and under the room */
.room-album-edit-badge{position:absolute;top:21%;left:57%;z-index:47;appearance:none;border:1px solid #f9dfb3cc;border-radius:999px;background:#2f2138ee;color:#ffedcb;padding:6px 10px;font:700 11px/1.15 system-ui,sans-serif;box-shadow:0 4px 15px #150c20b5;cursor:pointer;max-width:130px}
.room-album-edit-badge:hover,.room-album-edit-badge:focus-visible{background:#634360;outline:2px solid #f5d9ba}
.album-edit-feedback{min-height:1.25rem;color:#d6f3d9!important;font-weight:700;margin-top:12px}
.album-launch-row #albumSettingsToggle{min-height:43px;white-space:normal;text-align:center}
#roomAlbumUrl{min-height:46px!important;touch-action:manipulation;user-select:text!important;-webkit-user-select:text!important}
#roomAlbumUrl:focus{outline:3px solid #ead1a6!important;outline-offset:2px}
@media(max-width:700px){.room-album-edit-badge{left:51%;top:23%;padding:4px 7px;font-size:9px;max-width:75px}}
@media(max-width:390px){.room-album-edit-badge{left:50%;top:24%;font-size:8px;padding:3px 6px}}

.album-repair-notice{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;background:linear-gradient(125deg,#64405a,#332440);border:2px solid #d6ab76;border-radius:18px;padding:20px 22px;margin:12px 0 24px;box-shadow:0 8px 25px #1b142b65;color:#fff5e6}
.album-repair-notice strong{font:700 21px Georgia,serif;color:#ffe0ae}.album-repair-notice p{font-size:13px;color:#f4e4e9;margin:6px 0}
.album-repair-notice .btn{min-height:45px;white-space:normal}
@media(max-width:650px){.album-repair-notice{padding:15px}.album-repair-notice .btn{width:100%;text-align:center;justify-content:center}}
