.collection-entry{width:100%;display:flex;align-items:center;gap:10px;text-align:left;background:#d8c5e9;border:1.5px solid #8f6faa;border-radius:10px;padding:9px 11px;margin:0 0 9px;color:#5d4174;box-shadow:0 2px 0 #9a7eb7}.collection-entry-icon{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;border-radius:9px;background:#f7ecd9;font-size:26px;line-height:1;color:#997993}.collection-entry-copy{flex:1;min-width:0}.collection-entry-copy strong{display:flex;align-items:center;gap:10px;font-size:11px}.collection-entry-copy b{font:600 10px ui-monospace,monospace;border-radius:20px;background:#bba2d2;padding:3px 7px;white-space:nowrap}.collection-entry-copy small{display:block;font-size:9px;line-height:1.6;margin-top:3px;color:#86649a}.collection-entry>span:last-child{font-size:23px}.win .win-gift{display:flex;flex-direction:column;align-items:center;gap:3px;border:1px solid #c4a3cf;border-radius:8px;background:#efe2f4;padding:7px 14px;margin-top:4px;color:#7f548d;font-size:11px}.win-gift small{font-size:9px;color:#9b7ca6}
#collectionDialog{max-width:680px;padding:20px;background:#f8f1fa;max-height:92dvh;scrollbar-gutter:stable}.room-eyebrow{font:700 9px/1.3 ui-monospace,monospace;letter-spacing:2px;color:#a18aad;margin:0 0 3px}#collectionDialog h2{margin:0;font-size:23px}.room-overview{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:18px;font-size:11px;color:#9b80a3}.room-overview b{font:700 13px ui-monospace,monospace;color:#7b5b90;white-space:nowrap}.room-progress{height:6px;background:#e5d7ed;border-radius:20px;overflow:hidden;margin:10px 0 16px}.room-progress span{display:block;background:#b194c6;height:100%;border-radius:20px;transition:width .3s}.room-backdrop{position:relative;width:100%;aspect-ratio:1.6;isolation:isolate;border:2px solid #b69bbd;border-radius:13px;overflow:hidden;background:#fbf6e9}.room-scene{display:block;width:100%;height:100%}.room-hamster{position:absolute;width:15%;aspect-ratio:96/104;left:42.5%;bottom:14%;background:none;border:0;padding:0;filter:drop-shadow(0 3px 0 #b69ba52a);z-index:1;transform-origin:50% 100%}.room-hamster:focus-visible{outline:2px dashed #a682af;outline-offset:3px}.room-caption{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);font-size:9px;color:#9b809e;white-space:nowrap;background:#fff9efcc;border-radius:20px;padding:4px 10px}.room-speech{font-size:11px;line-height:1.75;color:#94769f;text-align:center;min-height:36px;margin:10px 4px}.room-themes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;border-top:1px dashed #dac8e2;padding-top:15px}.room-themes button{border:1px solid #d6c1e0;border-radius:7px;background:#fffafc;color:#9b80aa;padding:8px 3px;font-size:11px;min-height:40px}.room-themes small{display:inline-block;margin-left:5px;font:9px ui-monospace,monospace;opacity:.75}.room-themes [aria-pressed=true]{background:#8f6aa4;border-color:#76568b;color:#fff7ff;box-shadow:0 2px 0 #634a77}.room-next{font-size:10px;color:#9d81a9;margin:17px 0 10px;line-height:1.7}.room-items{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.room-item{position:relative;border:1px solid #d5bfdf;border-radius:9px;background:#fffaf3;padding:7px 5px 9px;min-width:0;text-align:center}.item-art{position:relative;display:block;aspect-ratio:1}.item-art>svg{display:block;width:100%;height:100%}.room-item strong{display:block;font-size:10px;font-weight:650;line-height:1.7;margin-top:3px}.room-item small{display:block;font-size:8px;line-height:1.6;color:#a387b0;margin-top:3px}.room-item[aria-pressed=true]{border-color:#aa87bc;box-shadow:inset 0 0 0 1px #cbb2d8}.room-item.locked{opacity:1;background:#eee7f1;border-color:#e1d4e8;color:#aa96b2;cursor:default}.room-item.locked .item-art>svg{filter:grayscale(1);opacity:.2}.item-lock{position:absolute;inset:0;display:grid;place-items:center;font-size:22px;color:#aa96b2}.room-footnote{font-size:9px;line-height:1.85;color:#ad94b8;border-top:1px dashed #dfcee7;padding-top:12px;margin:15px 0 0}@media(max-width:480px){#collectionDialog{padding:15px}.room-items{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.room-item{padding:7px 7px 10px}.item-art{max-width:88px;margin:auto}.room-themes button{font-size:10px;padding:9px 2px}.room-themes small{display:block;margin:4px 0 0}.room-overview{font-size:10px}.room-speech{font-size:10px;margin:9px 0}.room-caption{font-size:8px;padding:3px 8px;bottom:5px}.room-next{font-size:9px}.collection-entry-copy small{font-size:8px}}
@media(prefers-reduced-motion:reduce){.room-progress span{transition:none}}

/* The room keeps the collection's original colours, with a taller living space. */
#collectionDialog{max-width:720px;background:linear-gradient(150deg,#fffaf5,#f4edf9 65%);border-color:#bda2c7;border-radius:22px;padding:24px;box-shadow:0 24px 90px #29203555}
#collectionDialog h2{color:#725581;letter-spacing:.5px}.room-eyebrow{color:#b196b6}.room-overview{margin-top:17px;color:#937b9a}.room-progress{height:5px;background:#e9dfea}.room-progress span{background:linear-gradient(90deg,#d6b9c8,#a58abf)}
.room-backdrop{aspect-ratio:4/3;border:1px solid #c4a8b5;border-radius:18px;box-shadow:inset 0 0 0 5px #fff7ec,0 5px 15px #76537912;background:#f8ecdd;container-type:inline-size}
.room-scene{position:absolute;inset:0;transition:filter .8s}.room-backdrop[data-night=true] .room-scene{filter:saturate(.8)}
.room-light{position:absolute;right:12px;top:12px;border:1px solid #d7c3d1;background:#fff9eee8;border-radius:20px;color:#876b8b;padding:7px 11px;font-family:inherit;font-size:10px;font-weight:600;line-height:1.3;z-index:2;box-shadow:0 2px 5px #6e4e6c0a}
.companion-state{position:absolute;top:15px;left:13px;display:flex;gap:6px;align-items:center;color:#967d91;font-size:10px;background:#fff9eee0;padding:5px 9px;border-radius:20px;max-width:60%;z-index:2}.companion-state i{width:5px;height:5px;background:#9fb28c;border-radius:50%}.room-backdrop[data-night=true] .companion-state i{background:#baa3d6}
/* The character GIF remains separate from the room illustration. */
.room-hamster{width:28%;aspect-ratio:1;left:36%;bottom:12%;background:none;image-rendering:auto;filter:drop-shadow(0 2px 2px #6f4f6220);touch-action:manipulation;cursor:pointer;transform-origin:50% 95%;transition:filter .12s;-webkit-tap-highlight-color:transparent}
.room-hamster:hover{filter:drop-shadow(0 3px 3px #6f4f6233)}.hamster-floor-shadow{position:absolute;left:39%;bottom:13%;width:22%;height:3%;background:#785769;opacity:.14;border-radius:50%;filter:blur(2px)}
.room-sleep-marks{position:absolute;left:58%;bottom:40%;color:#a58db5;display:none;font:italic 24px Georgia,serif;pointer-events:none}.room-sleep-marks span{position:absolute;left:16px;top:-15px;font-size:17px}.room-sleep-marks small{position:absolute;left:30px;top:-28px;font-size:12px}.room-backdrop:has(.room-hamster[data-action=sleep]) .room-sleep-marks{display:block;animation:room-zzz 3s ease-in-out infinite}
.room-caption{bottom:9px;font-size:10px;line-height:1.4;padding:5px 12px;border:1px solid #e5d5dd88;background:#fff9efe6;z-index:2}.room-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:13px}.room-actions button{border:1px solid #ddccdf;border-radius:10px;background:#fffbf8;color:#87668e;padding:10px 3px;font-size:11px;line-height:1.4;min-height:40px;box-shadow:0 2px 0 #e3d6e7;transition:background .15s,transform .15s}.room-actions button:hover{background:#f0e5f4;transform:translateY(-1px)}.room-actions button:active{transform:translateY(1px);box-shadow:none}.room-actions button span{color:#b092bd;font-size:16px;vertical-align:-1px;margin-right:2px}.room-actions button:focus-visible,.room-light:focus-visible{outline:2px solid #a682af;outline-offset:3px}
.room-speech{font-size:12px;min-height:42px;margin:12px 6px 9px;display:flex;align-items:center;justify-content:center;color:#957a9d}.room-themes{gap:7px;padding-top:14px}.room-themes button{border-radius:10px;background:#fffbf8;min-height:44px}.room-themes [aria-pressed=true]{background:#9b7aa9;border-color:#896797;box-shadow:0 2px 0 #7e5f8c}.room-items{gap:9px}.room-item{border-radius:13px;background:linear-gradient(145deg,#fffdf5,#f9eff5);border-color:#dfcfe3;padding:8px 6px 11px}.room-item[aria-pressed=true]{border-color:#b59ac6;box-shadow:inset 0 0 0 1px #d8c5e0,0 3px 8px #8f6b9b0a}.room-item strong{color:#81648c}.room-item.locked strong{color:#a995b0}.room-next{margin-top:15px}.room-footnote{color:#aa92b1}
@keyframes room-zzz{0%,100%{opacity:.4;transform:translateY(2px)}50%{opacity:.9;transform:translateY(-4px)}}
@media(max-width:480px){#collectionDialog{padding:14px;border-radius:18px;max-height:94dvh}.room-backdrop{border-radius:13px}.room-light{right:8px;top:8px;font-size:9px;padding:6px 8px}.companion-state{top:9px;left:8px;font-size:8px;gap:4px;padding:5px 7px}.room-hamster{width:28%;left:36%;bottom:12%}.room-caption{font-size:8px;bottom:6px;padding:4px 9px}.room-actions{gap:5px;margin-top:10px}.room-actions button{font-size:10px;padding:9px 2px;min-height:40px}.room-actions button span{display:block;font-size:16px;margin:0 0 2px}.room-speech{font-size:10px;margin:10px 0 8px;min-height:36px}.room-items{grid-template-columns:repeat(3,minmax(0,1fr))}.room-themes button{font-size:10px}.room-sleep-marks{font-size:18px;bottom:42%}.room-sleep-marks span{font-size:13px;left:12px;top:-11px}.room-sleep-marks small{font-size:9px;left:23px;top:-21px}}
@media(prefers-reduced-motion:reduce){.room-hamster[data-motion],.room-backdrop .room-sleep-marks{animation:none}.room-actions button,.room-scene{transition:none}}

/* The approved GIF owns the animation; the button never moves the artwork. */
.room-hamster[data-motion]{animation:none;transform:none;transition:filter .12s}
.room-companion-image{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-drag:none}

/* Cloth and timber details stay legible in the collection and the room. */
.item-art{border-radius:10px;background:radial-gradient(ellipse at 50% 65%,#ead9dd45,transparent 68%)}
.room-backdrop[data-night=true] #roomObjects .room-furniture-body{filter:brightness(.83) saturate(.85)}
.room-lamp-halo{mix-blend-mode:screen}

/* Paintings retain their own day/night colour; only loose gifts dim at night. */
.room-backdrop[data-night=true] .room-scene{filter:none}
.room-backdrop[data-night=true] #roomObjects .room-furniture-body{filter:brightness(.9) saturate(.92)}
.room-bedding{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}
.room-backdrop[data-resting-place=bed] .room-hamster{left:59.5%;bottom:18.3%;width:23%;filter:none}
.room-backdrop[data-sleeping=true] .hamster-floor-shadow{opacity:0}
.room-backdrop[data-resting-place=bed] .room-sleep-marks{left:70%;bottom:39%;z-index:3}
.room-caption,.room-light,.companion-state{z-index:4}
#roomSpecial span{display:inline-block;font-size:22px;line-height:1;margin:0;font-weight:700}
/* These five approved GIFs contain their props. Avoid a second copy on the floor. */
.room-backdrop:is([data-interaction=play],[data-interaction=water],[data-interaction=stargaze],[data-interaction=candles]) .room-hamster{width:37%;left:31.5%;bottom:7%;filter:drop-shadow(0 2px 2px #6f4f6220)}
.room-backdrop[data-interaction=outing] .room-hamster{width:31%;left:34.5%;bottom:7%}
.room-backdrop:is([data-interaction=play],[data-interaction=water],[data-interaction=outing],[data-interaction=stargaze],[data-interaction=candles]) .hamster-floor-shadow{opacity:0}
.room-backdrop[data-interaction=play] [data-room-gift=gift-11],
.room-backdrop[data-interaction=water] :is([data-room-gift=gift-21],[data-room-gift=gift-23]),
.room-backdrop[data-interaction=outing] :is([data-room-gift=gift-26],[data-room-gift=gift-27]),
.room-backdrop[data-interaction=stargaze] [data-room-gift=gift-34],
.room-backdrop[data-interaction=candles] [data-room-gift=gift-39]{visibility:hidden}
.room-backdrop[data-resting-place=chair] .room-hamster{left:38.5%;bottom:15%;width:26%;filter:none}
.room-backdrop[data-resting-place=chair] .hamster-floor-shadow{opacity:0}
.room-backdrop[data-area="3"][data-interaction=read] [data-room-gift=gift-17]{visibility:hidden}
.room-backdrop[data-night=true] .room-bedding image{filter:brightness(.9) saturate(.92)}
.room-backdrop[data-resting-place=bed] .room-sleep-marks{left:66%;bottom:34%}

/* Naps use the seat or floor plane instead of the standing-character anchor. */
.room-backdrop[data-resting-place=mat] .room-hamster{width:26%;left:37%;bottom:7.5%;filter:none}
.room-backdrop[data-resting-place=mat] .room-sleep-marks{left:54%;bottom:34%}
.room-backdrop[data-resting-place=chair][data-sleeping=true] .room-sleep-marks{left:51%;bottom:38%}
