.modal.personal-room{width:1250px;max-height:88%;background-color:#110e0b}
.room-scene{padding:24px 28px 0;background:linear-gradient(90deg,#120f0bea,#120f0b80),url('../assets/bg-lobby.webp') center/cover;border:1px solid #6c513133;border-radius:5px}
.room-intro{max-width:760px}.room-intro h3{font:34px var(--serif);color:var(--gold2);margin:10px 0}.room-intro p{line-height:1.8;margin:8px 0;color:#d0c1a7}.room-intro small{color:#a0917a}
.room-shelf{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:20px 0 14px;border-bottom:8px ridge #382718}
.room-object{display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px;border:1px solid transparent;background:radial-gradient(ellipse at 50% 80%,#ac743a20,transparent 70%);color:var(--gold2);cursor:pointer;min-width:0}
.room-object:hover,.room-object:focus-visible{border-color:#aa8351;background-color:#ba874518}.room-object>img,.room-object>.portrait{width:115px;height:132px;object-fit:contain;filter:drop-shadow(0 8px 8px #0008)}.room-object>.portrait{background-size:cover;background-position:center;border:2px solid #80613d}
.room-object b{font:18px var(--tc)}.room-object span:not(.portrait){font:13px var(--tc);color:#b9ab94;line-height:1.5;text-align:center;overflow-wrap:anywhere}
.room-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 16px}.room-detail{min-height:160px}.room-detail h3{margin-top:0}.room-detail .badge{min-width:0}.room-detail .people-list{margin:0}
body.portrait .modal.personal-room{width:820px}body.portrait .room-shelf{gap:8px}body.portrait .room-scene{padding:20px 16px 0}body.portrait .room-object{padding:8px 3px}body.portrait .room-object span:not(.portrait){font-size:15px}
.room-scene{position:relative;isolation:isolate}.room-scene.room-wine{background-image:linear-gradient(90deg,#2b0b16ee,#45182e8a),url('../assets/bg-lobby.webp')}.room-scene.room-night{background-image:linear-gradient(90deg,#0b1423ed,#162d4b95),url('../assets/bg-lobby.webp')}
.room-owner{float:right;margin:4px 0 12px 20px}.room-owner .portrait{width:90px;height:110px;border:1px solid #7c6444}.room-title,.equipped-title{display:block;color:#ddc28e;font:16px var(--tc);letter-spacing:2px;margin:6px 0}.empty-display{height:132px;width:100%;display:grid;place-items:center;font:40px var(--serif)!important;color:#9b8058!important;border:1px dashed #69583e66}
.frame-gold>.portrait,.frame-gold>.file-portrait{outline:2px solid #c89b51;outline-offset:4px;box-shadow:0 0 18px #dfae4933}.frame-crimson>.portrait,.frame-crimson>.file-portrait{outline:2px solid #9e3143;outline-offset:4px;box-shadow:0 0 20px #a1193655}
.collection-intro{line-height:1.8;color:#bcae96;margin:4px 0 22px}.collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.collection-item{padding:20px 14px;min-width:0;text-align:center;background:linear-gradient(150deg,#29201766,#0c0b0a);border:1px solid #81613a55}.collection-item>img{width:100px;height:108px;object-fit:contain}.collection-item h3{font:20px var(--tc);line-height:1.5;margin:10px 0;color:#dcc399}.collection-item p{line-height:1.6;margin:8px 0}.collection-item small{display:block;line-height:1.7;color:#b3a58d}.collection-item button{margin-top:16px;width:100%}.collection-item.locked>img{filter:grayscale(1);opacity:.32}.collection-item.locked{color:#a4947c}
.story-list{display:grid;gap:10px}.story-row{display:flex;align-items:center;gap:16px;text-align:left;padding:18px 20px;background:linear-gradient(90deg,#44311d55,#14110e);border:1px solid #75563366;color:#e0cda9}.story-row b{font:21px var(--tc)}.story-row small{display:block;margin-top:8px;color:#a99c86}.story-row em{margin-left:auto}.story-dot{height:7px;width:7px;border-radius:50%;background:#e7b454;box-shadow:0 0 10px #d2933e}.story-dot.read{background:#635a4b;box-shadow:none}.story-scene{padding:22px;background:linear-gradient(120deg,#2b221966,#08090988);border-left:2px solid #8c683a}.story-scene h3{font:30px var(--tc);color:#e0cda9}.story-scene p{font:20px/2 var(--tc);color:#c9bda8;max-width:850px}.story-portrait{float:right;width:110px;height:140px;margin:0 0 20px 24px}.story-choices{display:flex;gap:14px;flex-wrap:wrap;margin:25px 0}.story-scene blockquote{color:#dfbf87;border-left:1px solid #9a7944;padding-left:16px;margin:24px 0;line-height:1.8}.story-scene>small{display:block;color:#b5a58c}.decor-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.decor-form label{display:flex;flex-direction:column;gap:12px;color:#cfb891}.decor-form select{width:100%;padding:12px;color:#e2cfac;background:#171410;border:1px solid #826441;font:18px var(--tc)}
.shop-balance{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #7a5a3655;padding:0 0 15px;margin-bottom:18px}.shop-balance strong{font:36px var(--serif);color:#e9c17a}.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.goods-preview{height:155px;display:grid;place-items:center}.goods-preview>.portrait{width:92px;height:120px}.goods-preview img{height:115px;object-fit:contain}.goods-preview.room-wine{background:radial-gradient(ellipse,#6c213b77,transparent 70%)}.goods-preview.room-night{background:radial-gradient(ellipse,#264e8277,transparent 70%)}.shop-feedback{min-height:1.7em;color:#e0bd7a;line-height:1.7}
body.portrait .collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body.portrait .room-tabs{gap:8px}body.portrait .room-tabs button{min-width:120px}body.portrait .story-choices{flex-direction:column}
.goods-preview.room-wine,.goods-preview.room-night{overflow:hidden;border:1px solid #79613e66;position:relative;background:#351320}.goods-preview.room-night{background:#122a47}.goods-preview.room-wine img,.goods-preview.room-night img{width:100%;height:100%;object-fit:cover;mix-blend-mode:luminosity;opacity:.65}
.identity-badge{width:30px;height:30px;object-fit:contain;vertical-align:middle;margin-right:6px}.tag.status{display:inline-flex;align-items:center}.level-frame-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;width:100%;max-width:510px}.level-frame-grid button{border:1px solid #665032;background:#17120e;padding:8px;color:#dcc79e}.level-frame-grid img{width:68px;height:68px;object-fit:contain;display:block;margin:auto}.level-frame-grid small{display:block;line-height:1.7}.level-frame-grid button[aria-pressed=true]{border-color:#e9c47c;background:#483319}.level-frame-grid button:disabled{opacity:.4;filter:grayscale(.8)}.frame-settings>span small{display:block;margin-top:8px}.portrait.level-framed{position:relative;background:none;border:0;padding:0;box-shadow:none;overflow:visible}.frame-photo{position:absolute;inset:18%;border-radius:50%;background:center/cover no-repeat}.level-frame-art{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.file-portrait.polaroid.level-framed{border:0;transform:none;filter:none}.room-owner .portrait.level-framed{width:110px;height:110px}
