*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#191411;color:#ecdcb9;font-family:Georgia,serif}button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:2px solid #ffe1a0;outline-offset:5px}#room{height:100dvh;display:grid;place-items:center;opacity:0;transform:scale(1.07);transition:opacity 1.4s,transform 2.2s}body.inside #room{opacity:1;transform:scale(1)}.room-scroll{width:100%;max-height:100dvh;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.room-scroll::-webkit-scrollbar{display:none}.scene{position:relative;width:max(100vw,180dvh);height:max(50vw,90dvh);max-height:100dvh;min-width:100vw;overflow:hidden;margin:auto}.scene>img{width:100%;height:100%;display:block;object-fit:fill}.spot{position:absolute;border:0;background:transparent;color:#fff2bd;display:grid;place-items:center}.spot span,.glint{font-size:24px;text-shadow:0 0 12px #ffdfa0,0 0 25px #ffc14d;animation:breathe 3.4s ease-in-out infinite;transition:transform .25s}.spot:hover span{transform:scale(1.3)}.ada{left:23%;top:7%;width:24%;height:51%;border-radius:50%}.kemal{left:55%;top:7%;width:24%;height:51%;border-radius:50%}.spot.ada span,.spot.kemal span{position:absolute;right:10%;top:2%}.kemal span{animation-delay:1.3s}.drawer{left:1%;top:82%;width:18%;height:15%}.music-box{position:absolute;left:6.5%;top:70%;width:8%;border:0;background:none;padding:0;filter:drop-shadow(0 3px 5px #0008)}.music-box svg{display:block;width:100%}.glint{position:absolute;top:-10%;right:-5%;color:#ffe6a4}.music-box:hover{filter:brightness(1.2) drop-shadow(0 3px 5px #0008)}#entrance{position:fixed;inset:0;z-index:10;background:#1a1812;transition:opacity 1.2s,visibility 1.2s;perspective:1300px}body.inside #entrance{opacity:0;visibility:hidden;pointer-events:none}.wall{height:100%;position:relative;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 40%,#88836215,transparent 55%),repeating-linear-gradient(90deg,transparent 0,transparent 79px,#d6b57b0e 80px,#d6b57b0e 82px),linear-gradient(#3a4234,#252e26);box-shadow:inset 0 0 170px 45px #0009}.wall:before{content:'';position:absolute;inset:12px;border:1px solid #d0ab6930;pointer-events:none}.door-frame{position:relative;width:min(62vw,330px);height:min(76dvh,620px);border:14px solid #6c4a2e;border-top-width:20px;box-shadow:0 0 0 2px #b58b4d,0 0 0 10px #47301e,0 0 0 12px #b58b4d66,0 18px 50px #0008;background:radial-gradient(#ffcf73,#dca04c 50%,#805326);perspective:1300px;z-index:2}#door{display:block;position:absolute;inset:0;width:100%;height:100%;border:2px solid #9b713d;background:repeating-linear-gradient(90deg,#ffffff03 0,#ffffff03 2px,transparent 3px,transparent 8px),linear-gradient(95deg,#392519,#6a4229 40%,#4c2f20);transform-origin:left;transition:transform 1.8s cubic-bezier(.35,.05,.35,1),filter 1.5s;box-shadow:inset 0 0 30px #0005;backface-visibility:hidden}body.opening #door{transform:rotateY(-105deg);filter:brightness(.5)}.door-panels{position:absolute;inset:7% 11%;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1.6fr 1fr;gap:6% 10%}.door-panels i{border:4px ridge #9a7145;box-shadow:inset 3px 4px 12px #0007,2px 2px 4px #0004;background:#00000012}.knob{position:absolute;right:6%;top:52%;width:17px;height:17px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#ffdfa0,#bb8d3f 45%,#5b3614);box-shadow:0 2px 5px #0008}.keyhole{position:absolute;right:7.3%;top:58%;width:6px;height:12px;background:#1c140f;border-radius:50% 50% 2px 2px;box-shadow:0 0 0 3px #a07a42}.door-glint{position:absolute;right:3%;top:46%;color:#ffe6a4;font-size:28px;text-shadow:0 0 16px #f9d598;animation:breathe 3s infinite}.sconce{position:absolute;top:37%;width:16px;height:70px;background:linear-gradient(90deg,#89602c,#e2bc6d,#8a5e2a);border-radius:0 0 40% 40%;box-shadow:0 -25px 65px 25px #ffd07825}.sconce:before{content:'';position:absolute;width:14px;height:23px;top:-24px;border-radius:60% 40% 60% 40%;background:radial-gradient(#fff6c5,#f7b34d 60%,transparent 70%);box-shadow:0 0 35px 15px #fbc46525;animation:breathe 4s infinite}.sconce.left{left:calc(50% - min(31vw,165px) - 65px)}.sconce.right{right:calc(50% - min(31vw,165px) - 65px)}.floor{position:absolute;bottom:0;width:100%;height:12%;background:repeating-linear-gradient(95deg,#ffffff04 0,#ffffff04 1px,transparent 2px,transparent 100px),linear-gradient(#392a21,#1a1410);border-top:7px solid #7c623c}.threshold{position:absolute;bottom:-28px;left:-20px;right:-20px;height:10px;background:#c0a57c;box-shadow:0 7px 10px #0008}dialog{color:#4b3b30;background:#f3ead8;border:1px solid #c8a66b;border-radius:4px;padding:43px 32px 30px;width:min(92vw,510px);max-height:88dvh;box-shadow:0 30px 100px #0008;overflow-y:auto}dialog::backdrop{background:#100d0acc;backdrop-filter:blur(7px)}.close{position:absolute;right:10px;top:6px;font:26px Georgia;border:0;background:none;color:#8d795f;width:32px;height:32px;z-index:2}.kicker{font:9px system-ui;letter-spacing:2px;color:#8f6d40}.modal-title{font-size:30px;font-weight:normal;margin:14px 0 20px}.copy{white-space:pre-wrap;line-height:1.8;overflow-wrap:anywhere}.empty{color:#8e7d68;font-style:italic}.note{font:10px/1.6 system-ui;color:#8a7967;margin-top:20px}.action{border:1px solid #9b7b4c;background:#6d4c36;color:#fff4df;padding:11px 16px;font:11px system-ui;border-radius:2px}.action.secondary{background:none;color:#705d49}.buttons{display:flex;gap:8px;margin-top:20px}textarea{width:100%;padding:13px;border:1px solid #c4ae8b;background:#fffaf0;color:#49382d;font:16px/1.7 Georgia;border-radius:2px;min-height:200px;resize:vertical}#toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,15px);padding:12px 20px;max-width:90vw;width:max-content;color:#f6e8cb;background:#44372bef;border:1px solid #a88b5b;font:12px system-ui;opacity:0;pointer-events:none;transition:.2s;z-index:30}#toast.show{opacity:1;transform:translate(-50%,0)}dialog.vinyl-modal{background:linear-gradient(120deg,#614332,#34251e);border:7px ridge #997249;color:#f2dfb7;width:min(94vw,650px);padding:40px 24px 22px}.vinyl-modal .close{color:#e8c996}.crate{display:flex;justify-content:center;gap:12px;padding:8px 0 22px;border-bottom:7px ridge #8f6544;perspective:600px}.record-sleeve{width:29%;aspect-ratio:1;border:1px solid #c9af7e;padding:9px;background:var(--label);transform:rotate(var(--tilt));transition:transform .2s;box-shadow:2px 5px 10px #0005;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#fff3d3}.record-sleeve:hover,.record-sleeve.selected{transform:translateY(-12px) rotate(0deg)}.mini-record{width:66%;aspect-ratio:1;border-radius:50%;background:repeating-radial-gradient(circle,#1d1b19 0,#1d1b19 2px,#36312a 3px,#1d1b19 4px);display:grid;place-items:center}.mini-record:after{content:'';width:28%;height:28%;border-radius:50%;background:var(--label);box-shadow:0 0 0 1px #e2c394}.sleeve-name{font-size:11px;font-style:italic}.turntable{position:relative;max-width:400px;margin:25px auto 0;aspect-ratio:1.65;background:linear-gradient(130deg,#947153,#69472f);border:9px ridge #aa8660;border-radius:6px;box-shadow:0 12px 15px #0005}.platter{position:absolute;left:7%;top:8%;width:53%;aspect-ratio:1;border-radius:50%;background:repeating-radial-gradient(circle,#292723 0,#292723 3px,#39352f 4px,#292723 5px);box-shadow:0 2px 9px #0008;display:grid;place-items:center;border:3px solid #b2a080}.platter:after{content:'';position:absolute;width:6px;height:6px;background:#d9c59e;border-radius:50%}.platter.loaded{background:repeating-radial-gradient(circle,#151413 0,#151413 2px,#292723 3px,#151413 4px)}.record-label{width:31%;height:31%;border-radius:50%;display:grid;place-items:center;text-align:center;font-size:8px;padding:4px;color:#fff3d2;background:#76664d}.platter.playing .record-label{animation:spin 6s linear infinite}.tonearm{position:absolute;right:14%;top:10%;height:65%;width:8px;background:linear-gradient(90deg,#6b6658,#e6ddc5,#777264);border-radius:6px;transform-origin:50% 10%;transform:rotate(-13deg);transition:transform .7s;pointer-events:none;box-shadow:2px 2px 4px #0008}.tonearm:before{content:'';position:absolute;top:-3px;left:-7px;width:23px;height:23px;background:#b8a886;border:5px ridge #ddc9a1;border-radius:50%}.tonearm:after{content:'';position:absolute;bottom:-3px;left:-3px;width:15px;height:23px;background:#2c2823;border-radius:2px}.turntable.active .tonearm{transform:rotate(23deg)}.stop{position:absolute;right:10%;bottom:9%;width:29px;height:29px;border-radius:50%;background:#4a382b;border:3px ridge #d1af77;color:#efd7a9;font-size:11px}.vinyl-hint{text-align:center;font:10px/1.5 system-ui;color:#c8ad87;margin:23px 0 0}.platter.dragover{box-shadow:0 0 20px #efc97f}.volume{display:block;width:95px;position:absolute;right:4%;bottom:35%;accent-color:#bd9b69}@keyframes breathe{50%{opacity:.45;transform:scale(.85)}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:600px){dialog{padding:40px 22px 25px}.sleeve-name{font-size:10px}.record-sleeve{padding:7px}.crate{gap:9px}.vinyl-modal{padding:35px 15px 20px}.volume{width:70px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.crate{justify-content:flex-start;overflow-x:auto;overflow-y:hidden;padding:18px 12px 22px;scrollbar-width:thin;scrollbar-color:#b2905d #38271d}.record-sleeve{flex:0 0 145px;min-height:165px;aspect-ratio:auto;gap:7px}.sleeve-name{text-align:center;line-height:1.3}.sleeve-artist{font:8px system-ui;color:#fff0cfcc;text-align:center}.track-info{min-height:35px;text-align:center;margin:18px 0 0;display:flex;flex-direction:column;gap:7px}.track-caption{font:10px/1.5 system-ui;color:#e7d5b5}.store-link{font:9px system-ui;color:#d4b77d;text-underline-offset:3px}.vinyl-hint{margin-top:10px}.record-sleeve:focus-visible{outline-offset:-3px}@media(max-width:600px){.record-sleeve{flex-basis:124px;min-height:148px}.turntable{margin-top:20px}}

/* Odanın bütünü ilk bakışta görünür; genişlik veya yükseklik kırpılmaz. */
.room-scroll{width:100%;height:100dvh;max-height:none;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse at center,#3b2c21,#191411 80%)}
.scene{width:min(100vw,200dvh);height:auto;aspect-ratio:2 / 1;min-width:0;max-height:none;margin:0;overflow:hidden}
.scene>img{width:100%;height:100%;object-fit:contain}
/* Odanın yeni dokunulabilir parçaları */
.night-window{position:absolute;left:.8%;top:15%;width:15%;height:66%;z-index:1;background:linear-gradient(#142642,#344664 75%,#1b2d32);border:7px ridge #b38b55;box-shadow:inset 0 0 20px #0009,0 0 0 4px #493423;opacity:0;transition:opacity .8s;overflow:hidden;pointer-events:none}.night-open .night-window{opacity:1}.night-moon{position:absolute;width:22%;aspect-ratio:1;left:55%;top:13%;border-radius:50%;box-shadow:-6px 4px 0 #f6df9e;transform:rotate(-20deg);filter:drop-shadow(0 0 8px #f3d78d55)}.night-stars{position:absolute;inset:9% 8%;color:#d9dece;font-size:clamp(8px,1.1vw,20px);line-height:3;letter-spacing:8px}.night-hills{position:absolute;width:180%;height:35%;bottom:-9%;left:-40%;background:#102c32;border-radius:50%;transform:rotate(18deg);box-shadow:35px -16px 0 #263b4a}.window-bars{position:absolute;inset:0;background:linear-gradient(90deg,transparent 47%,#87643c 48%,#b3935d 51%,transparent 52%),linear-gradient(transparent 48%,#b3935d 49%,#87643c 51%,transparent 52%);box-shadow:inset 0 0 0 4px #b79b68}.rain-streaks{position:absolute;inset:-100% -20%;opacity:.4;background:repeating-linear-gradient(105deg,transparent 0,transparent 30px,#d5e8fa66 31px,transparent 32px,transparent 59px);animation:rainfall 1.3s linear infinite;transform:skew(-10deg)}#curtain{position:absolute;z-index:2;left:0;top:0;width:18%;height:100%;border:0;background:none;padding:0;overflow:visible}.curtain-fabric{position:absolute;inset:0;background:repeating-linear-gradient(90deg,#672530 0,#8c3440 8%,#4b1921 16%,#742a35 24%);clip-path:polygon(0 0,100% 0,80% 16%,58% 37%,43% 65%,37% 100%,0 100%);filter:drop-shadow(3px 4px 3px #0008);transition:transform 1.4s,clip-path 1.4s}.night-open .curtain-fabric{transform:translateX(-65%);clip-path:polygon(0 0,100% 0,95% 100%,0 100%)}.curtain-glint{position:absolute;left:25%;top:28%;color:#ffeac1;text-shadow:0 0 10px #ffd887;font-size:22px;animation:breathe 3s infinite}.night-open .curtain-glint{left:5%}.night-open>img{filter:brightness(.87);transition:filter 1.2s}#rainToggle{position:absolute;z-index:3;left:11%;top:73%;width:26px;height:26px;border:1px solid #dbc18b77;border-radius:50%;background:#162432aa;color:#e6dbb2;font-size:13px}#rainToggle[aria-pressed=true]{background:#a48d56;color:#fff}#bunny{position:absolute;left:86%;top:76%;width:10%;height:24%;background:none;border:0;z-index:2;transform-origin:bottom}.bunny-glint{position:absolute;left:45%;top:10%;font-size:20px;color:#ffeac3;text-shadow:0 0 10px #ffda96;animation:breathe 3.5s infinite}.squish{animation:squish .55s ease-out}.puff-cloud{position:absolute;bottom:55%;left:calc(20% + var(--i)*23%);color:#fff4dc;font-size:clamp(17px,3vw,44px);filter:drop-shadow(0 0 4px #dec2a5);animation:puff 1s ease-out forwards;animation-delay:calc(var(--i)*.05s);pointer-events:none}.table-album{position:absolute;left:13%;top:82%;width:8%;height:8%;z-index:3;transform:rotate(-6deg);border:0;background:none;padding:0;box-shadow:0 3px 5px #0006}.album-cover{display:grid;place-items:center;width:100%;height:100%;border:2px solid #b49867;border-left:7px solid #465b48;background:#6f8064;color:#e5c989;font-size:clamp(9px,1.5vw,22px);box-shadow:inset 0 0 0 3px #6f8064,inset 0 0 0 4px #c5b07a}.table-album .glint{font-size:16px;top:-25%;right:-10%}
/* Popup'lar oda içindeki eşyalara dönüşür. */
dialog{background:#f0e3c8;box-shadow:0 30px 110px #000a;animation:object-in .35s ease-out}dialog::backdrop{background:#140d0bb8;backdrop-filter:blur(8px)}dialog.paper-modal{border:0;border-radius:2px 8px 4px 3px;padding:38px 38px 32px;background:repeating-linear-gradient(0deg,transparent 0,transparent 28px,#9c7c4a12 29px,transparent 30px),linear-gradient(105deg,#e4d3af,#fcf1da 22%,#f5e8cc 80%,#dcc8a4);box-shadow:0 2px 0 #b4a184,3px 5px 0 #e5d5b5,0 25px 95px #000a;transform:rotate(-.5deg)}.seal{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#923f4d;color:#f2ccae;border:3px ridge #b66a6a;box-shadow:0 2px 5px #0003;margin-bottom:17px;font-size:23px}.paper-modal textarea{background:#fff8e650;border:0;border-bottom:1px solid #a18c6970;padding:4px;min-height:210px}.action{background:#74523d;border:1px solid #a58b64;border-radius:3px}.copy{font-size:17px;min-height:80px}.portrait-modal{border:12px ridge #c6a160;background:radial-gradient(ellipse at top,#f7edd6,#e6d4b3);border-radius:48px 48px 12px 12px;padding:40px 30px 28px}.portrait-modal:before{content:'✧';position:absolute;top:9px;left:calc(50% - 7px);color:#a88649}.portrait-modal .seal{background:#788468;border-color:#9ca37c}.portrait-modal .modal-title{font-style:italic}.loading-orb{font-size:34px;text-align:center;padding:40px;animation:breathe 1.4s infinite}.password,.photo-url{width:100%;padding:13px;border:1px solid #b9a485;background:#fff7e8;color:#493b30;border-radius:3px;font:15px Georgia;margin:0 0 15px}.paper-modal .modal-title{margin-top:0;font-style:italic}dialog.drawer-modal{width:min(92vw,680px);padding:33px 17px 20px;border:10px ridge #a37c53;background:repeating-linear-gradient(3deg,#6d4b34 0,#725038 2px,#6a4932 4px,#6a4932 15px);box-shadow:0 25px 100px #000a}.drawer-modal .close{color:#ead6af}.drawer-tray{position:relative;aspect-ratio:1.4;background:repeating-linear-gradient(95deg,#936b49 0,#936b49 3px,#8f6545 5px,#956e4d 25px);box-shadow:inset 0 6px 18px #0008,inset 0 0 0 7px #62432d;border:2px solid #b29164;overflow:hidden}.drawer-tray:before{content:'';position:absolute;left:61%;top:5%;bottom:5%;width:8px;background:#6b4931;border-left:2px solid #ba9568;box-shadow:3px 0 4px #0006}.drawer-item{position:absolute;border:0;background:none;padding:0;filter:drop-shadow(3px 5px 4px #0005);transition:transform .25s}.drawer-item:hover{filter:drop-shadow(5px 9px 5px #0006);transform:translateY(-5px) rotate(-3deg)}.envelope{left:7%;top:13%;width:46%;height:37%;background:#ecdfc0;transform:rotate(-7deg);border:1px solid #c5b08a}.flap{position:absolute;inset:0;clip-path:polygon(0 0,100% 0,50% 65%);background:#e1cfaa;filter:drop-shadow(0 2px 1px #aa9875)}.wax{position:absolute;left:calc(50% - 15px);top:43%;width:30px;height:30px;border:3px ridge #a35c58;border-radius:50%;background:#8f3e48;color:#e0b19b;display:grid;place-items:center}.tiny-key{left:70%;top:15%;width:18%;height:43%;transform:rotate(30deg)}.key-ring{position:absolute;top:0;left:20%;width:56%;aspect-ratio:1;border:7px ridge #d1b071;border-radius:50%}.key-stem{position:absolute;top:30%;bottom:3%;left:45%;width:8px;background:#c2a263;box-shadow:inset -2px 0 0 #96703b}.key-stem:after{content:'';position:absolute;bottom:5%;left:0;width:23px;height:9px;background:#c9a86b;box-shadow:0 -15px 0 #c9a86b}.key-tag{position:absolute;right:-15%;top:30%;font-size:24px;color:#e4c6a6}.postcard{left:11%;top:62%;width:42%;height:27%;background:#e9d8b7;border:6px solid #f3e6cc;transform:rotate(7deg);display:flex}.postcard-art{width:60%;height:100%;display:grid;place-items:center;background:linear-gradient(#40556a,#82938b);color:#f2dd9d;font-size:34px}.postcard-lines{flex:1;background:repeating-linear-gradient(transparent 0,transparent 14px,#b4a18188 15px,transparent 16px);margin:10px 7px}.pressed-flower{left:70%;top:62%;width:19%;height:30%;transform:rotate(-17deg)}.stem{position:absolute;top:30%;bottom:0;left:50%;width:3px;background:#626e48}.petals{position:absolute;left:15%;top:0;font-size:clamp(37px,5vw,65px);color:#c8a1aa;text-shadow:0 2px #6b4446}.flower-leaf{position:absolute;top:64%;left:50%;width:28px;height:12px;border-radius:100% 0;background:#8a925e;transform:rotate(-30deg)}.bloom{animation:flower-sway .8s ease-in-out}
/* Açık fotoğraf defteri */
dialog.album-modal{width:min(94vw,820px);padding:37px 18px 18px;border:7px solid #52664d;border-radius:8px;background:#40513f;color:#4b3b30}.album-modal .close{color:#f4e4bf}.photo-book{display:grid;grid-template-columns:1fr 1fr;min-height:310px;filter:drop-shadow(0 8px 10px #0005);animation:page-in .35s ease-out}.book-page{background:linear-gradient(90deg,#e9dbbd,#fff6df 12%,#f3e5c8 88%,#c9b793);padding:23px 20px;min-width:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:15px;box-shadow:0 3px 0 #c9b694,0 5px 0 #e0cfab}.memory-page{background:linear-gradient(90deg,#bca987,#f0e2c4 8%,#fff5de 85%,#eadaba);border-left:1px solid #baa784}.album-photo{width:100%;aspect-ratio:1;object-fit:cover;border:8px solid #fffaf0;border-bottom-width:23px;box-shadow:1px 3px 7px #0003;transform:rotate(-4deg)}.memory-page .seal{margin:0;background:#819174;border-color:#b1b88c}.memory-page .copy{text-align:center;min-height:50px;font-size:16px;font-style:italic;line-height:1.8;margin:0}.memory-page .action{font-size:10px;padding:8px 10px}.album-nav{display:flex;align-items:center;justify-content:center;gap:28px;margin:19px 0 0;color:#ddceaa}.page-arrow,.album-add{background:none;border:1px solid #b0a27a66;color:#e5d4ac;border-radius:50%;width:31px;height:31px;font-size:18px}.page-arrow:disabled{opacity:.25;cursor:default}.page-number{font:10px Georgia}.album-add{font-size:22px}.photo-url+textarea{min-height:140px}.drawer{z-index:1}
@keyframes rainfall{to{translate:-15px 100px}}@keyframes squish{35%{transform:scale(.93,1.05)}65%{transform:scale(1.05,.94)}100%{transform:scale(1)}}@keyframes puff{0%{opacity:0;transform:translateY(0) scale(.6)}20%{opacity:.8}100%{opacity:0;transform:translateY(-70px) scale(1.6)}}@keyframes object-in{from{opacity:0;translate:0 18px;scale:.97}to{opacity:1;translate:0 0;scale:1}}@keyframes page-in{from{opacity:.5;transform:rotateY(-8deg)}to{opacity:1;transform:rotateY(0)}}@keyframes flower-sway{25%{transform:rotate(-28deg)}70%{transform:rotate(-5deg)}}
@media(max-width:600px){.night-window{border-width:3px;box-shadow:0 0 0 1px #493423}.night-stars{font-size:7px;letter-spacing:1px}.night-moon{box-shadow:-3px 2px 0 #f6df9e}.window-bars{box-shadow:inset 0 0 0 2px #b79b68}.curtain-glint,.bunny-glint{font-size:15px}#rainToggle{width:20px;height:20px;font-size:10px}.table-album{height:9%}.album-cover{border-width:1px;border-left-width:3px}.table-album .glint{font-size:12px}dialog.paper-modal{padding:30px 23px 25px}dialog.portrait-modal{border-width:8px;padding:35px 22px 25px}.photo-book{min-height:210px}.book-page{padding:13px 10px;gap:10px}.album-photo{border-width:4px;border-bottom-width:15px}.memory-page .copy{font-size:12px}.memory-page .seal{width:31px;height:31px;font-size:17px}.memory-page .action{font-size:9px}.drawer-tray{aspect-ratio:1.15}.key-ring{border-width:4px}.key-stem{width:5px}.key-stem:after{width:15px;height:6px;box-shadow:0 -10px 0 #c9a86b}.petals{font-size:36px}.flower-leaf{width:18px;height:8px}.wax{width:24px;height:24px;left:calc(50% - 12px);font-size:14px}.night-open .curtain-fabric{transform:translateX(-72%)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
#curtain{pointer-events:none}.curtain-fabric,.curtain-glint{pointer-events:auto}.music-box{z-index:3}.night-stars{font-size:clamp(7px,1.1vw,20px)}
#curtain{pointer-events:auto}.drawer{z-index:3}
.record-cover{width:100%;aspect-ratio:1;object-fit:cover;display:block;box-shadow:0 2px 5px #0004;border:1px solid #eed9ad55}.record-sleeve{flex-basis:155px;padding:8px;min-height:200px}.couple-key{width:17%;height:48%;top:10%;transform-origin:50% 15%}.couple-key svg{width:100%;height:100%;display:block}.first-key{left:64%;transform:rotate(13deg)}.second-key{left:79%;transform:rotate(-13deg)}.couple-key:hover{transform:translateY(-5px) rotate(0deg)}.drawer-album{left:12%;top:61%;width:39%;height:29%;transform:rotate(6deg);background:linear-gradient(110deg,#4e624c,#78896b 30%,#586e51);border:2px solid #b2a16b;border-radius:2px 5px 5px 2px;box-shadow:2px 3px 0 #e0d4b5,3px 5px 0 #7e7253,inset 0 0 0 6px #5d7355,inset 0 0 0 7px #b8a477}.album-spine{position:absolute;left:0;top:0;bottom:0;width:12%;background:#40553f;border-right:2px solid #aaa078}.album-medallion{position:absolute;inset:20% 29% 20% 36%;border:1px solid #d4c28e;border-radius:50%;display:grid;place-items:center;font-size:clamp(18px,3vw,35px);color:#e0cc96}.album-pages{position:absolute;right:-3px;top:6%;bottom:6%;width:3px;background:repeating-linear-gradient(#eadfc6 0,#eadfc6 1px,#b2a486 2px)}.keepsake-keys{display:flex;justify-content:center;gap:15px;padding:5px 25px 20px;height:285px}.keepsake-key{width:120px;transform:rotate(-12deg);filter:drop-shadow(4px 6px 3px #0002)}.keepsake-key:last-child{transform:rotate(12deg)}.keepsake-key svg{width:100%;height:100%}@media(max-width:600px){.record-sleeve{flex-basis:135px;min-height:185px}.keepsake-keys{height:240px;padding:0 10px 20px;gap:0}}
.right-night-window{position:absolute;right:.8%;top:15%;width:15%;height:66%;z-index:1;background:#142642;border:7px ridge #b38b55;box-shadow:inset 0 0 20px #0009,0 0 0 4px #493423;opacity:0;transition:opacity .8s;overflow:hidden;pointer-events:none}.right-night-open .right-night-window{opacity:1}.pet-window-art{position:absolute;inset:0;background:url('assets/lizzy-brownie-window.png') center/cover no-repeat}.right-night-window .rain-streaks{opacity:.19}.right-night-window .window-bars{background:linear-gradient(90deg,transparent 48%,#87643c 49%,#b3935d 51%,transparent 52%),linear-gradient(transparent 36%,#b3935d 37%,#87643c 39%,transparent 40%)}#rightCurtain{position:absolute;z-index:2;right:0;top:0;width:18%;height:100%;border:0;background:none;padding:0;overflow:visible}.right-curtain-fabric{position:absolute;inset:0;background:repeating-linear-gradient(270deg,#672530 0,#8c3440 8%,#4b1921 16%,#742a35 24%);clip-path:polygon(0 0,100% 0,100% 100%,63% 100%,57% 65%,42% 37%,20% 16%);filter:drop-shadow(-3px 4px 3px #0008);transition:transform 1.4s,clip-path 1.4s}.right-night-open .right-curtain-fabric{transform:translateX(65%);clip-path:polygon(0 0,100% 0,100% 100%,5% 100%)}.right-curtain-glint{position:absolute;right:25%;top:28%;color:#ffeac1;text-shadow:0 0 10px #ffd887;font-size:22px;animation:breathe 3s infinite}.right-night-open .right-curtain-glint{right:5%}.right-night-open>img{filter:brightness(.87);transition:filter 1.2s}#bunny{z-index:4}@media(max-width:600px){.right-night-window{border-width:3px;box-shadow:0 0 0 1px #493423}.right-night-window .window-bars{box-shadow:inset 0 0 0 2px #b79b68}.right-curtain-glint{font-size:15px}.right-night-open .right-curtain-fabric{transform:translateX(72%)}}
.night-window{left:2%}.right-night-window{right:2%}.pet-window-art{background-size:100% 100%}.night-open .curtain-fabric{transform:translateX(-92%)}.right-night-open .right-curtain-fabric{transform:translateX(92%)}

.unlock-error{color:#8e3744;font:12px/1.6 system-ui;min-height:0;margin:0 0 12px}.unlock-error:empty{display:none}
