/* Little objects, designed in the same palette and perspective as the house. */
.decor-art{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;user-select:none}
.feature-hotspot{position:absolute;transform:translate(-50%,-50%);z-index:7;padding:0;border:0;background:transparent;display:block;min-width:29px;min-height:29px;cursor:pointer}
.feature-hotspot:active{transform:translate(-50%,-50%)}
.feature-hotspot:focus-visible{outline:2px solid #78856e;outline-offset:3px;border-radius:3px}
.feature-fridge{left:42.8%;top:34.5%;width:8%;height:20%}
.feature-music{left:84%;top:50.7%;width:10%;height:8%}
.feature-gallery{left:37.4%;top:52.8%;width:4.8%;height:7%}
.feature-badge{position:absolute;top:-10px;right:2px;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#f8f7edee;color:#68735f;border:1px solid #d5d9c9;box-shadow:0 3px 11px #36372b24;font:10px Georgia,serif;transition:transform .18s,background .18s,color .18s}
.feature-hotspot:hover .feature-badge{background:#57684e;color:#fff;transform:translateY(-3px)}
.feature-label{position:absolute;top:100%;left:50%;transform:translateX(-50%);white-space:nowrap;color:#64755b;background:#f9f8f0ed;border:1px solid #d5d8cc;font-size:10px;padding:6px 9px;box-shadow:0 4px 12px #4c4c3a16}
.labels-off .feature-label{opacity:0}.labels-off .feature-hotspot:hover .feature-label,.labels-off .feature-hotspot:focus-visible .feature-label{opacity:1}
.feature-dialog{width:min(740px,calc(100vw - 24px));max-width:740px}
.feature-dialog .dialog-content{padding:30px 32px 35px}
.feature-eyebrow{font:9px 'Courier New',monospace;letter-spacing:2px;color:#9b9e8c;margin:0 0 10px}
.feature-heading{font:normal 28px/1.3 Georgia,'Malgun Gothic',serif;color:#56654f;letter-spacing:-.7px;margin:0 0 9px}
.feature-intro{font:12px/1.9 'Malgun Gothic',sans-serif;color:#8c9685;margin:0 0 22px}
.feature-tip{font:10px/1.9 'Malgun Gothic',sans-serif;color:#98a28f;border-top:1px solid #dfe2d4;padding-top:13px;margin:23px 0 0}
.music-screen{border:1px solid #d9ded1;background:#e9ece2;min-height:220px;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:18px;color:#7d8976;font-size:12px;text-align:center}
.music-screen iframe{aspect-ratio:16/9;display:block;width:100%;max-height:360px;border:0;background:#171b17}
.record-decoration{width:92px;height:92px;border-radius:50%;background:repeating-radial-gradient(circle at center,#333e36 0 3px,#424b42 4px 5px,#323b34 6px 8px);box-shadow:3px 7px 17px #2732223b;display:grid;place-items:center}
.record-decoration span{width:22px;height:22px;border-radius:50%;background:#d8c6ab;border:5px solid #bcaa91}
.music-playback{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:13px 0 15px;color:#67745d;font-size:11px;text-align:center}.music-playback[hidden]{display:none}.music-playback button{border:1px solid #d0d7c7;background:#f0f2e8;padding:9px 12px;font-size:10px}
.music-list{display:grid;gap:7px;margin-top:14px}
.music-list-item{width:100%;border:1px solid #d9dfd2;padding:12px 14px;background:#faf9f2;display:flex;gap:15px;align-items:center;text-align:left;transition:background .18s}
.music-list-item:hover,.music-list-item.is-current{background:#e8ede0}
.music-list-index{font:17px Georgia,serif;color:#afb6a3;width:24px}
.music-list-copy{display:grid;gap:4px;min-width:0;flex:1}
.music-list-copy strong{font-weight:500;font-size:12px;color:#55624c}
.music-list-copy span{font-size:10px;color:#98a28f}
.music-list-arrow{font-size:14px;color:#85927a}
.music-empty,.gallery-empty{padding:42px 20px;text-align:center;font-size:12px;line-height:2;color:#96a28e;background:#f0f2e9;border:1px solid #dce1d5}
.gallery-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px 15px;padding:14px 9px 9px}
.memory-card{background:#fffef8;border:1px solid #dad9c9;padding:9px 9px 16px;box-shadow:2px 5px 12px #30362a1f;transform:rotate(-2deg);min-width:0}
.memory-card:nth-child(even){transform:rotate(2deg)}.memory-card:nth-child(3n){transform:rotate(-.7deg)}
.memory-card img{display:block;width:100%;aspect-ratio:1/1.03;object-fit:cover;background:#e6e6da}
.memory-card-body{padding:12px 5px 0}
.memory-card time{font:9px 'Courier New',monospace;letter-spacing:1px;color:#a9ab9d}
.memory-card h3{font-size:12px;font-weight:500;margin:7px 0 5px;line-height:1.5;overflow-wrap:anywhere}
.memory-card p{font-size:10px;line-height:1.8;color:#818d79;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}
.editor-dynamic-row{border:1px solid #d9e0d2;background:#fafaf5;border-radius:3px;padding:13px;margin:10px 0;display:grid;gap:8px}
.editor-dynamic-row label{font-size:11px;color:#62735b}.editor-dynamic-row input,.editor-dynamic-row textarea{width:100%;padding:9px;border:1px solid #d8dccf;background:white;color:#3d483c;font:12px/1.6 'Malgun Gothic',sans-serif}
.editor-dynamic-title{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:#536349}
.editor-dynamic-title button{border:1px solid #d8cfc6;background:#f7eee9;color:#a0665d;padding:6px 10px;font-size:10px}
.editor-dynamic-add{border:1px dashed #a7b69a;background:#eff3e8;color:#64765b;width:100%;padding:12px 10px;font-size:12px;margin-top:10px}
.editor-gallery-preview{width:100px;max-height:110px;object-fit:cover;border:5px solid #fff;box-shadow:0 2px 8px #313b2d29}
.editor-gallery-upload{display:block;max-width:100%;font-size:11px}
@media(max-width:1100px){.header-nav{gap:13px}}
@media(max-width:720px){.feature-label{display:none}.feature-badge{width:20px;height:20px;font-size:8px;top:-5px}.feature-fridge{min-width:32px}.feature-gallery{min-width:30px}.feature-music{min-width:35px}.header-nav .nav-link{display:none}.mobile-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.mobile-nav button{font-size:9px}.feature-dialog .dialog-content{padding:25px 18px}.feature-heading{font-size:23px}.gallery-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 10px;padding:13px 3px}.memory-card{padding:7px 7px 13px}}
@media(max-width:375px){.gallery-board{grid-template-columns:1fr}.memory-card{max-width:245px;margin:auto;width:100%}}

/* Persistent mini video: the genuine YouTube embed stays visible, with its own controls unobstructed. */
.floating-music{position:fixed;right:16px;bottom:16px;z-index:60;width:360px;max-width:calc(100vw - 24px);border:1px solid #cbd2c1;border-radius:9px;background:#f9f8f1;box-shadow:0 14px 48px #252d253d;overflow:hidden;color:#52624e}
.floating-music[hidden]{display:none!important}
.floating-music-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:11px 12px 10px;background:#f2f4ea}
.floating-music-text{min-width:0;display:grid;gap:3px}
.floating-music-kicker{font:8px 'Courier New',monospace;letter-spacing:1.3px;color:#8b967f}
.floating-music-text strong{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:295px}
.floating-music-text>span:last-child{font-size:10px;color:#86917d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.floating-music-stop{display:grid;place-items:center;flex-shrink:0;width:27px;height:27px;border:1px solid #d4d9cc;background:#fffdf8;color:#67755d;border-radius:50%;font-size:20px;line-height:1}
.floating-music-video{background:#161a17;height:205px;min-height:200px;width:100%}
.floating-music-video iframe{display:block;border:0;width:100%;height:100%;min-height:200px}
.floating-music-controls{display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:6px;padding:9px 11px}
.floating-music-controls button{border:1px solid #d3d9ca;background:#f1f3eb;color:#62725a;padding:8px 4px;border-radius:3px;font-size:10px;min-height:34px}
.floating-music-controls button:hover{background:#e5eadd}
body:has(.admin-toolbar:not([hidden])) .floating-music{bottom:90px}
@media(max-width:720px){.floating-music{right:10px;bottom:10px;width:min(340px,calc(100vw - 20px))}.floating-music-video{height:205px}.floating-music-text strong{max-width:250px}body:has(.admin-toolbar:not([hidden])) .floating-music{bottom:90px}}
