*{box-sizing:border-box}html{background:#000}body{margin:0;background:#000;color:#D9E8FC;font:400 18px/1.55 Inter,Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}main{padding:0 3.333%;max-width:none;margin:0}.profile-cover{height:auto;aspect-ratio:1344/242;width:100%;position:relative;overflow:hidden;border-radius:8px}.profile-cover>img{width:100%;height:100%;display:block;object-fit:cover}.cover-edit{position:absolute;right:18px;bottom:16px;border:1px solid #D9E8FC;border-radius:22px;background:#0b0d11b8;padding:6px 18px;opacity:0;transition:opacity .2s}.profile-cover:hover .cover-edit,.cover-edit:focus-visible{opacity:1}.profile-details{display:grid;grid-template-columns:204px minmax(0,1fr) 318px;column-gap:24px;min-height:255px;margin-top:-66px;position:relative;z-index:1}.profile-left{display:flex;flex-direction:column;align-items:center;gap:32px}.profile-avatar{width:160px;height:160px;border-radius:50%;object-fit:cover;border:0}.edit-profile{border:1px solid #394550;border-radius:30px;padding:4px 12px;background:transparent;font-size:18px;white-space:nowrap}.edit-profile:hover{border-color:#D9E8FC}.profile-main{padding-top:89px;min-width:0}.identity{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.identity h1{font:500 24px/1.3 Unbounded,sans-serif;margin:0;letter-spacing:-.03em}.favorite-game{display:flex;align-items:center;gap:9px;color:#65707d;white-space:nowrap}.game-emoji{font-size:30px;line-height:1}.owner-badge{font-size:16px;border:1px solid #a968f0;color:#67dafa;border-radius:24px;padding:2px 14px;line-height:1.4}.handle{color:#65707d;margin:8px 0 24px}.bio{margin:0;max-width:780px;line-height:1.75}.social-links{padding-top:192px;display:flex;flex-direction:column;gap:2px}.social-links a{display:flex;align-items:center;gap:14px;white-space:nowrap}.social-links a:hover{color:#4DCAF3}.social-links svg{width:28px;height:28px;fill:none;stroke:#65707d;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.rooms{margin-top:65px}.rooms-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.rooms h2{font:500 40px Unbounded,sans-serif;letter-spacing:-.05em;margin:0}.room-arrows{display:flex;gap:10px}.room-arrows button{width:74px;height:34px;border:1px solid #394550;border-radius:24px;background:transparent;font-size:24px;line-height:1}.room-arrows button:not(:disabled):hover{border-color:#D9E8FC}.rooms-scroll{display:flex;gap:24px;overflow-x:auto;scrollbar-width:none;padding-bottom:16px;scroll-behavior:smooth}.rooms-scroll::-webkit-scrollbar{display:none}.room-card{position:relative;flex:0 0 318px;height:245px;border-radius:8px;padding:24px;background:linear-gradient(135deg,#30364c,#13141f);font:500 18px Unbounded;overflow:hidden}.room-card:hover{outline:1px solid #D9E8FC}.room-card:not(.main-room){display:flex;justify-content:space-between;gap:10px}.room-card:nth-child(2){color:#4DCAF3}.room-card .card-dots{color:#586275}.main-room{flex-basis:660px}.outline-name{font:500 68px Unbounded;color:transparent;-webkit-text-stroke:1px #D9E8FC;white-space:nowrap}.room-card-bottom{position:absolute;left:24px;right:24px;bottom:20px;display:flex;justify-content:space-between}@media(max-width:1000px){.profile-details{grid-template-columns:180px 1fr;gap:16px}.social-links{grid-column:2;padding-top:20px}.profile-main{padding-top:85px}.rooms{margin-top:45px}.main-room{flex-basis:480px}}@media(max-width:650px){main{padding:0 16px}.profile-cover{aspect-ratio:3/1}.profile-details{grid-template-columns:112px 1fr;gap:12px;margin-top:-42px}.profile-avatar{width:105px;height:105px}.profile-left{gap:15px}.edit-profile{font-size:12px}.profile-main{padding-top:58px}.identity{gap:8px}.identity h1{font-size:19px}.favorite-game{font-size:13px}.owner-badge{font-size:12px}.bio{font-size:14px}.handle{font-size:14px;margin-bottom:14px}.social-links{grid-column:1/-1;padding:8px 0 0;font-size:14px}.rooms h2{font-size:28px}.room-card{flex-basis:250px}.main-room{flex-basis:320px}.outline-name{font-size:38px}}
/* v1.3.10 profile fidelity */
.identity h1{color:#D9E8FC;-webkit-text-stroke:0;text-shadow:none;background:none;-webkit-text-fill-color:#D9E8FC}
.owner-badge{position:relative;isolation:isolate;border:0;padding:3px 15px;background:linear-gradient(105deg,#84FBFF 0%,#DA07FF 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.owner-badge::before{content:"";position:absolute;inset:0;border-radius:999px;border:1px solid transparent;background:linear-gradient(105deg,#84FBFF 0%,#DA07FF 100%) border-box;-webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.social-links .profile-social-icon{width:28px;height:28px;display:block;object-fit:contain;flex:none}
.room-arrows button{display:grid;place-items:center;font-size:0}
.room-arrows button img{width:41px;height:13px;display:block;max-width:75%}
#rooms-prev img{transform:scaleX(-1)}

/* v1.3.11 — consistent profile text size, except display name. */
.profile-details .favorite-game,
.profile-details .owner-badge,
.profile-details .handle,
.profile-details .bio,
.profile-details .social-links,
.profile-details .social-links a,
.profile-details .edit-profile {font-size:18px;}
.profile-details .identity h1 {font-size:24px;}

/* v1.3.12 — 12-column Rooms skeleton: fixed Main (6 columns), scrollable extras (3 each). */
.rooms-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:24px;min-width:0;overflow:visible}
.rooms-layout .room-card{height:352px;min-height:352px;min-width:0;border-radius:8px;padding:0;display:block;outline:none;box-shadow:none;transition:background .2s ease}
.rooms-layout .main-room{width:100%;background:linear-gradient(105deg,#30364C 0%,#0C0D17 100%)}
.rooms-layout .rooms-scroll{min-width:0;display:flex;gap:24px;overflow-x:auto;overflow-y:hidden;padding:0;scrollbar-width:none;scroll-snap-type:x mandatory;scroll-behavior:smooth}
.rooms-layout .rooms-scroll::-webkit-scrollbar{display:none}
.rooms-layout .extra-room{flex:0 0 calc((100% - 24px)/2);width:calc((100% - 24px)/2);background:linear-gradient(105deg,#232736 0%,#0C0D17 100%);scroll-snap-align:start}
.rooms-layout .extra-room:hover{background:linear-gradient(105deg,#30364C 0%,#0C0D17 100%);outline:none}
.rooms-layout .main-room:hover{outline:none}
@media(max-width:1000px){.rooms-layout{gap:16px}.rooms-layout .rooms-scroll{gap:16px}.rooms-layout .extra-room{flex-basis:calc((100% - 16px)/2);width:calc((100% - 16px)/2)}}
@media(max-width:650px){.rooms-layout{grid-template-columns:1fr;row-gap:16px}.rooms-layout .room-card{height:352px}.rooms-layout .extra-room{flex-basis:calc((100% - 16px)/2)}}

/* v1.3.13 — Main collection card; extra rooms intentionally remain empty. */
.rooms-layout .main-room{position:relative;isolation:isolate;cursor:pointer}
.main-room-render{position:absolute;z-index:0;top:30px;left:50%;transform:translateX(-50%);width:774px;max-width:none;height:auto;object-fit:contain;opacity:.10;filter:drop-shadow(32.74px 41.94px 31.94px rgba(0,0,0,.25));transition:opacity .28s ease;pointer-events:none}
.main-room-labels{position:absolute;inset:0;z-index:1;pointer-events:none;transition:opacity .2s ease}
.main-room-title{position:absolute;top:24px;left:24px;margin:0;font:500 60px/60px Unbounded,sans-serif;letter-spacing:-.045em;color:#D9E8FC;-webkit-text-stroke:1px #D9E8FC;-webkit-text-fill-color:transparent;paint-order:stroke fill;max-width:calc(100% - 48px);overflow-wrap:break-word}
.main-room-count{position:absolute;left:8px;bottom:8px;font:400 200px/.8 Splash,cursive;transform:rotate(8deg);transform-origin:bottom left;color:#C47DEB;white-space:nowrap}
.main-room-likes{position:absolute;right:24px;bottom:24px;display:flex;align-items:center;gap:8px;font:400 14px/1.2 Unbounded,sans-serif;color:#D9E8FC}
.main-room-likes img{display:block;width:19px;height:17px}
.main-room-menu{position:absolute;z-index:3;top:24px;right:24px;display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;background:none;opacity:0;transition:opacity .2s ease}
.main-room-menu img{max-width:100%;max-height:100%}
.main-room:hover .main-room-render,.main-room:focus-visible .main-room-render{opacity:1}
.main-room:hover .main-room-labels,.main-room:focus-visible .main-room-labels{opacity:0}
.main-room:hover .main-room-menu,.main-room:focus-within .main-room-menu{opacity:1}
@media(max-width:850px){.main-room-title{font-size:clamp(26px,5vw,60px);line-height:1.05}.main-room-count{font-size:clamp(95px,17vw,200px)}}

/* v1.3.14: native SVG outline, not CSS glyph stroke (avoids fragmented contours). */
.main-room-title{font-size:0;line-height:0;-webkit-text-stroke:0;letter-spacing:normal;overflow-wrap:normal;max-width:calc(100% - 48px)}
.main-room-title svg{display:block;width:650px;max-width:100%;height:auto;overflow:visible}
.main-room-title svg text{font-family:Unbounded,sans-serif;font-size:60px;font-weight:500;letter-spacing:-2.7px;fill:none;stroke:#D9E8FC;stroke-width:.85px;stroke-linejoin:round;paint-order:stroke;}

/* v1.3.15: keep the handwritten count within the card, without clipping. */
.rooms-layout .main-room-count{left:35px;bottom:37px;transform:rotate(8deg);transform-origin:left bottom;line-height:1;display:block;}
/* The menu uses the exact room-menu visual vocabulary from Shelf Editor. */
.rooms-layout .main-room-menu img{filter:none;transition:filter .16s ease;}
.rooms-layout .main-room-menu:hover img,.rooms-layout .main-room-menu:focus-visible img{filter:brightness(0) invert(1);}
.profile-room-menu{position:fixed;z-index:1000;background:#252b35;border:1px solid #646d7a;border-radius:10px;padding:5px;box-shadow:0 8px 25px #0008;display:flex;flex-direction:column;min-width:155px;}
.profile-room-menu button{color:#D9E8FC;text-align:left;background:transparent;border:0;padding:10px;font:inherit;font-size:14px;}
.profile-room-menu button:not(:disabled):hover{background:#45505e;color:#fff;}
.profile-room-menu .op-menu-divider{height:1px;background:#4b5260;margin:5px 6px;}
.profile-room-menu button.op-menu-danger{color:#f701df;}
.profile-room-menu button.op-menu-danger:not(:disabled):hover{color:#f701df;}
/* An SVG filter constructs the outside silhouette once, rather than stroking each glyph's overlapping paths. */
.main-room-title svg text{fill:#fff;stroke:none;letter-spacing:-2.7px;}

/* v1.3.16 — secondary room cards. */
.rooms-layout .extra-room{position:relative;isolation:isolate;color:#D9E8FC;cursor:pointer}
.extra-room-name{position:absolute;top:24px;left:24px;right:48px;font:500 18px/28px Unbounded,sans-serif;color:#D9E8FC;transition:color .2s ease;overflow-wrap:break-word}
.extra-room-count{position:absolute;bottom:8px;left:8px;font:400 120px/1 Splash,cursive;color:#3B444E;white-space:nowrap;transition:color .2s ease;pointer-events:none}
.extra-room-likes{position:absolute;bottom:24px;right:24px;display:flex;align-items:center;gap:8px;font:400 14px/1.2 Unbounded,sans-serif;color:#D9E8FC;pointer-events:none}
.extra-room-likes img{width:19px;height:17px;display:block}
.extra-room-menu{position:absolute;top:24px;right:24px;z-index:3;width:24px;height:24px;padding:0;border:0;background:none;display:grid;place-items:center;opacity:0;transition:opacity .2s ease}
.extra-room-menu img{max-width:100%;max-height:100%;transition:filter .16s ease}
.extra-room:hover .extra-room-name,.extra-room:hover .extra-room-count{color:#4DCAF3}
.extra-room:hover .extra-room-menu,.extra-room:focus-within .extra-room-menu{opacity:1}
.extra-room-menu:hover img,.extra-room-menu:focus-visible img{filter:brightness(0) invert(1)}

/* v1.3.18 — use the editor's exact dropdown styling, no row backgrounds. */
.profile-room-menu.room-menu.op-room-menu{box-sizing:border-box;width:max-content;min-width:0;max-width:240px;padding:10px 12px;background:#000;border:1px solid #394550;border-radius:10px;box-shadow:-18px 16px 25px rgba(0,0,0,.35);gap:0}
.profile-room-menu.room-menu.op-room-menu button{display:block;box-sizing:border-box;width:100%;padding:5px 0!important;text-align:left;color:#D9E8FC!important;background:transparent!important;border:0!important;border-radius:0!important;font:400 14px/26px Inter,sans-serif!important;white-space:nowrap;cursor:pointer}
.profile-room-menu.room-menu.op-room-menu button:not(:disabled):hover:not(:disabled){color:#4DCAF3!important;background:transparent!important}
.profile-room-menu.room-menu.op-room-menu button.op-menu-danger{color:#F701DF!important}
.profile-room-menu.room-menu.op-room-menu button.op-menu-danger:not(:disabled):hover:not(:disabled){color:#ff7bec!important}
.profile-room-menu.room-menu.op-room-menu button:disabled{opacity:.4!important;cursor:default!important;pointer-events:none!important}
.profile-room-menu.room-menu.op-room-menu>.op-menu-divider{display:block;flex:0 0 auto;width:100%;height:1px;background:#394550!important;border:0!important;margin:7px 0!important;padding:0!important;pointer-events:none}
/* Cover hover area includes the bottom strip, including where profile content overlaps. */
.profile-cover{isolation:isolate}
.profile-cover .cover-edit{z-index:4;background:transparent!important;border:1px solid #394550!important;color:#D9E8FC}
.profile-cover .cover-edit:hover,.profile-cover .cover-edit:focus-visible{border-color:#D9E8FC!important}
.profile-intro:has(.profile-cover:hover) .cover-edit,.profile-cover:has(.cover-edit:hover) .cover-edit{opacity:1}
.profile-details{pointer-events:none}
.profile-details button,.profile-details a,.profile-details .profile-avatar{pointer-events:auto}
/* If the overlapping avatar/details intercepts pointer movement, keep the cover control visible. */
.profile-intro:has(.profile-details:hover) .cover-edit{opacity:1}
.room-arrows button:disabled{opacity:.4;cursor:default;pointer-events:none;border-color:#394550!important}

/* v1.3.19 — cover edit only on cover hover, never on unrelated links */
.profile-intro:has(.profile-details:hover) .cover-edit{opacity:0!important}
.profile-cover:hover .cover-edit,.profile-cover .cover-edit:focus-visible{opacity:1!important}
.profile-avatar-wrap{position:relative;flex:none;width:160px;height:160px;border-radius:50%;overflow:hidden}
.profile-avatar-wrap .profile-avatar{display:block;width:100%;height:100%;object-fit:cover}
.profile-avatar-wrap::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.6);opacity:0;transition:opacity .2s;pointer-events:none}
.avatar-edit{position:absolute;z-index:2;top:50%;left:50%;transform:translate(-50%,-50%);background:transparent!important;color:#fff!important;border:1px solid #fff!important;border-radius:24px;padding:4px 15px;font:400 18px/1.4 Inter,sans-serif;opacity:0;pointer-events:none;transition:opacity .2s;white-space:nowrap}
.profile-avatar-wrap:hover::after,.profile-avatar-wrap:focus-within::after{opacity:1}
.profile-avatar-wrap:hover .avatar-edit,.profile-avatar-wrap:focus-within .avatar-edit{opacity:1;pointer-events:auto}
@media(max-width:650px){.profile-avatar-wrap{width:105px;height:105px}.avatar-edit{font-size:14px}}

/* v1.3.22 — profile games, same 12-column rhythm as rooms */
.profile-games{margin-top:80px;margin-bottom:80px}
.profile-games-tabs{display:flex;gap:40px;align-items:center;margin-bottom:48px;flex-wrap:wrap}
.profile-games-tab{padding:0;border:0;background:transparent;color:#3B444E;font:500 clamp(24px,3vw,40px)/1.25 Unbounded,sans-serif;cursor:pointer}
.profile-games-tab.active{color:#D9E8FC}.profile-games-tab:not(.active):hover{color:#4DCAF3}
.profile-games-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.profile-game{position:relative;height:382px;min-width:0;perspective:900px;cursor:pointer}
.profile-game-panel{position:absolute;inset:40px 0 0;border-radius:8px;background:linear-gradient(105deg,#232736,#0C0D17);transition:background .2s}
.profile-game:hover .profile-game-panel{background:linear-gradient(105deg,#30364C,#0C0D17)}
.profile-game-cover-wrap{position:absolute;z-index:1;top:0;left:50%;height:200px;max-width:84%;transform:translateX(-50%);transform-style:preserve-3d;transition:transform .18s ease-out;pointer-events:none;filter:drop-shadow(12px 14px 12px rgba(0,0,0,.55))}
.profile-game-cover{height:200px;max-width:100%;width:auto;object-fit:contain;display:block;transform:rotateY(var(--tilt-x,0deg)) rotateX(var(--tilt-y,0deg));transition:transform .15s ease-out}
.profile-game-cover-fallback{height:200px;min-width:120px;max-width:100%;display:grid;place-items:center;text-align:center;padding:15px;background:#32394b;color:#D9E8FC;font:500 15px Unbounded,sans-serif}
.profile-game-info{position:absolute;left:24px;right:24px;bottom:24px;z-index:2;font:200 18px/28px Unbounded,sans-serif;pointer-events:none}
.profile-game-title{font-weight:500;margin-bottom:2px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.profile-game-meta{font-weight:200}.profile-game-year{display:flex;gap:12px}.profile-game-region{color:#3B444E}
.profile-game-like{position:absolute;right:24px;bottom:24px;display:flex;align-items:center;gap:8px;font:400 14px Unbounded,sans-serif;opacity:0;z-index:3;pointer-events:none}
.profile-game-like img{width:19px;height:17px}.profile-game:hover .profile-game-like{opacity:1}
.profile-game-dots{position:absolute;top:64px;right:24px;z-index:5;width:24px;height:24px;border:0;background:transparent;padding:0;opacity:0;display:grid;place-items:center}
.profile-game-dots img{max-width:100%;max-height:100%}.profile-game:hover .profile-game-dots,.profile-game:focus-within .profile-game-dots{opacity:1}.profile-game-dots:hover img{filter:brightness(0) invert(1)}
.profile-games-more{display:block;margin:60px auto 0;padding:0 44px;height:56px;border:1px solid #394550;border-radius:40px;background:transparent;color:#D9E8FC;font:500 28px/1 Unbounded,sans-serif}.profile-games-more:hover{border-color:#D9E8FC}.profile-games-more:disabled{opacity:.4;cursor:default}
@media(max-width:1050px){.profile-games-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.profile-games-grid{grid-template-columns:1fr}.profile-games-tabs{gap:20px}}

/* v1.3.23 — lightweight 3D game boxes, using the actual editor textures and dimensions. */
.profile-game-cover-wrap{width:200px;max-width:90%;display:flex;justify-content:center;align-items:flex-start;filter:none;perspective:850px}
.profile-game-box3d{--box-w:165px;--box-d:25px;position:relative;width:var(--box-w);height:200px;transform-style:preserve-3d;transform:rotateY(calc(-10deg + var(--tilt-x,0deg))) rotateX(var(--tilt-y,0deg));transition:transform .19s ease-out;filter:drop-shadow(12px 17px 11px rgba(0,0,0,.55));will-change:transform}
.profile-game-face{position:absolute;top:0;left:0;height:200px;overflow:hidden;backface-visibility:hidden;background:#30364c}
.profile-game-face img{width:100%;height:100%;object-fit:fill;display:block}
.profile-game-front{width:var(--box-w);transform:translateZ(calc(var(--box-d) / 2))}
.profile-game-spine{width:var(--box-d);transform-origin:left center;transform:translateX(var(--box-w)) rotateY(90deg)}
.profile-game-back{width:var(--box-w);transform:rotateY(180deg) translateZ(calc(var(--box-d) / 2))}
.profile-game-box3d .profile-game-cover-fallback{width:var(--box-w);min-width:0}
@media(prefers-reduced-motion:reduce){.profile-game-box3d{transition:none;transform:none!important}}

/* v1.3.24: flat cover at rest; tilt only on pointer movement. */
.profile-game-box3d{transform:rotateY(var(--tilt-x,0deg)) rotateX(var(--tilt-y,0deg));transform-style:preserve-3d;display:flex;align-items:stretch;justify-content:center;overflow:visible}
.profile-game-flat-cover{width:100%;height:100%;display:block;object-fit:fill;backface-visibility:hidden}
.profile-game-box3d.profile-game-cover-fallback{width:var(--box-w);min-width:0}

/* Empty cover is deliberately blank; the illustrated placeholder comes later. */
.profile-game-cover-fallback{color:transparent!important;font-size:0!important}
#profile-inspection-frame{position:fixed;inset:0;width:100vw;height:100vh;border:0;z-index:1000;display:none;background:#090909}
#profile-inspection-frame.is-open{display:block}
body.profile-inspection-open{overflow:hidden}

/* v1.3.26: profile remains visible underneath the shared 3D inspector. */
#profile-inspection-frame{background:transparent!important;}
body.profile-inspection-open::before{content:"";position:fixed;inset:0;background:rgba(0,0,0,.44);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);z-index:999;pointer-events:none;}

/* v1.3.27: keep the profile visible under the transparent inspector iframe. */
#profile-inspection-frame,#profile-inspection-frame.is-open{background-color:transparent!important;color-scheme:normal;}

/* v1.3.28: never expose the embedded editor during first inspection boot. */
#profile-inspection-frame.is-loading{opacity:0!important;pointer-events:none!important;}

/* v1.3.45 — shared Figma count angle: left edge lower than right. */
.rooms-layout .main-room-count,
.rooms-layout .extra-room-count,
.home-collections-grid .main-room-count,
.home-collections-grid .extra-room-count {
  transform: rotate(-8deg);
  transform-origin: left bottom;
}

/* Center the avatar Edit control independently of inherited button line-height. */
.profile-avatar-wrap .avatar-edit{display:flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;min-height:34px!important;line-height:1!important;padding:0 15px!important;margin:0!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important}

/* Shared OLDPLAY modal design for owner profile actions */
#opProfileActionOverlay[hidden]{display:none!important}#opProfileActionOverlay{position:fixed;inset:0;z-index:200000;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.85);padding:20px;box-sizing:border-box;color:#D9E8FC;font-family:Inter,sans-serif}.op-profile-modal-open{overflow:hidden}.op-profile-action-dialog{position:relative;box-sizing:border-box;width:100%;max-width:480px;max-height:calc(100dvh - 40px);overflow-y:auto;background:#090909;border:1px solid #3B444E;border-radius:10px;padding:28px}.op-profile-action-dialog h2{font:500 23px/1.35 Unbounded,sans-serif;margin:0 58px 25px 0}.op-profile-action-close{position:absolute;right:28px;top:28px;width:42px;height:42px;background:transparent;border:0;padding:0;cursor:pointer}.op-profile-action-close img{width:42px;height:42px;display:block}.op-profile-action-close:hover img{content:url('icon-close-popup-hover.svg')}.op-profile-label{display:block;font:400 12px/1.5 Inter,sans-serif;color:#59616b;margin-bottom:8px}#opProfileRoomName{width:100%;box-sizing:border-box;height:46px;padding:11px 12px;background:#000;border:1px solid #3B444E;border-radius:10px;color:#D9E8FC;font:400 14px Inter,sans-serif;outline:none}#opProfileRoomName:hover,#opProfileRoomName:focus{border-color:#D9E8FC}.op-profile-visibility{margin-top:24px}.op-profile-visibility-option{display:flex;gap:12px;align-items:flex-start;margin-top:19px;cursor:pointer}.op-profile-visibility-option.is-disabled{cursor:default}.op-profile-visibility-option input{appearance:none;flex:0 0 18px;width:18px;height:18px;border:1px solid #3B444E;border-radius:50%;background:#000;margin:2px 0 0;display:grid;place-items:center;cursor:pointer}.op-profile-visibility-option input:checked{background:#D9E8FC;border-color:#D9E8FC}.op-profile-visibility-option input:checked:after{content:'';width:6px;height:6px;border-radius:50%;background:#000}.op-profile-visibility-option input:not(:disabled):hover{border-color:#D9E8FC}.op-profile-visibility-option input:disabled{opacity:.4;cursor:default}.op-profile-visibility-option strong{display:block;font:500 14px/1.5 Inter,sans-serif}.op-profile-visibility-option small{display:block;font:400 12px/1.5 Inter,sans-serif;color:#75808d;margin-top:4px}.op-profile-note,.op-profile-warning{font:400 14px/1.6 Inter,sans-serif;color:#75808d}.op-profile-note{font-size:12px;margin-top:18px}.op-profile-action-submit{display:block;width:100%;height:46px;margin-top:26px;border-radius:10px;background:#D9E8FC!important;border:1px solid #D9E8FC!important;color:#10141C!important;font:500 14px Inter,sans-serif;cursor:pointer}.op-profile-action-submit:hover:not(:disabled){background:#57D2FF!important;border-color:#57D2FF!important;color:#10141C!important}.op-profile-action-submit:disabled{opacity:.4;cursor:default}#opProfileActionError{color:#f68a9b;font:400 12px Inter,sans-serif}@media(max-width:600px){.op-profile-action-dialog{padding:22px 18px}.op-profile-action-dialog h2{font-size:20px}.op-profile-action-close{top:22px;right:18px}}

.op-preview-state .rooms-layout{display:block}.op-preview-state .op-visitor-empty-card,.op-preview-state .op-owner-empty-card{height:352px;border-radius:8px;background:linear-gradient(110deg,#30364c,#0c0d17);padding:24px}.op-visitor-empty-inner,.op-owner-empty-inner{height:100%;border:1px solid #3B444E;border-radius:3px}.op-visitor-empty-inner{padding:32px 40px;color:transparent;-webkit-text-stroke:1px #D9E8FC;font:500 clamp(32px,5vw,68px)/.95 Unbounded,sans-serif;letter-spacing:-.045em}.op-owner-empty-inner{display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:30px 40px;gap:30px}.op-owner-empty-art{align-self:stretch;color:transparent;-webkit-text-stroke:1px #D9E8FC;font:500 clamp(30px,4vw,65px)/.95 Unbounded,sans-serif;letter-spacing:-.045em}.op-owner-empty-art em{display:block;color:#C47DEB;-webkit-text-stroke:0;font:italic 85px cursive;transform:rotate(-14deg);margin:-10px 0 0 90px}.op-owner-empty-info{display:flex;flex-direction:column;gap:45px;align-items:flex-start}.op-owner-empty-info strong{font:500 clamp(17px,2vw,29px)/1.2 Unbounded,sans-serif}.op-owner-empty-info a{display:block;text-align:center;width:min(100%,430px);border-radius:50px;background:#D9E8FC;color:#10141c;padding:13px;font:500 22px Unbounded,sans-serif}.op-owner-empty-info a:hover{background:#57D2FF}.op-preview-no-extra-rooms .rooms-layout{display:grid;grid-template-columns:2fr 1fr}.op-extra-placeholder{height:352px;border-radius:8px;background:linear-gradient(110deg,#30364c,#0c0d17);padding:24px;display:flex;flex-direction:column}.op-extra-placeholder strong{font:500 18px Unbounded,sans-serif}.op-extra-placeholder p{font:400 18px/1.55 Inter,sans-serif;margin:16px 0;color:#D9E8FC}.op-extra-placeholder a{margin-top:auto;border:1px solid #3B444E;border-radius:12px;padding:9px;text-align:center;font:400 16px Inter,sans-serif}.op-extra-placeholder a:hover{border-color:#D9E8FC}@media(max-width:700px){.op-owner-empty-inner{grid-template-columns:1fr;padding:18px}.op-owner-empty-art em{display:none}.op-owner-empty-info{gap:12px}.op-preview-no-extra-rooms .rooms-layout{grid-template-columns:1fr}.op-visitor-empty-inner{padding:24px}}
/* Profile intro: align owner controls and links with the first line of Bio.
   Shared by normal and preview profile states. */
@media (min-width:1001px){
  .op-profile-page .profile-left{gap:20px;}
  .op-profile-page .social-links{padding-top:180px;}
}
@media (min-width:651px) and (max-width:1000px){
  .op-profile-page .profile-left{gap:20px;}
}
/* Avatar and cover are display-only; editing lives in Edit profile. */
.op-profile-page .avatar-edit,.op-profile-page .cover-edit{display:none!important;}
.op-profile-page .profile-avatar-wrap,.op-profile-page .profile-cover{cursor:default;}

/* Profile avatar and cover never respond to hover. */
.op-profile-page .profile-avatar-wrap::after{display:none!important;opacity:0!important;background:transparent!important}
.op-profile-page .profile-avatar-wrap:hover::after,.op-profile-page .profile-avatar-wrap:focus-within::after{display:none!important;opacity:0!important}
.op-profile-page .profile-avatar-wrap,.op-profile-page .profile-avatar{filter:none!important;transition:none!important}
.op-profile-page .social-links a[hidden]{display:none!important}

/* v1.4.04 — owner empty state: match main room's continuous outline and Splash lettering. */
.op-owner-empty-art{position:relative;min-height:250px;align-self:stretch;overflow:visible;font-size:0;-webkit-text-stroke:0;letter-spacing:normal}
.op-owner-empty-art .op-owner-outline{display:block;width:100%;height:auto;overflow:visible}
.op-owner-empty-art .op-owner-outline text{font-family:Unbounded,sans-serif;font-weight:500;font-size:62px;letter-spacing:-2.8px;fill:#fff}
.op-owner-empty-art em{position:absolute;left:15%;bottom:7px;margin:0;display:block;font:400 144px/1 Splash,cursive;color:#C47DEB;transform:rotate(-8deg);transform-origin:left bottom;white-space:nowrap;-webkit-text-stroke:0}
@media(max-width:700px){.op-owner-empty-art{min-height:160px}.op-owner-empty-art em{display:block;font-size:clamp(70px,15vw,144px);bottom:0}}

/* v1.4.06 — visitor empty: continuous SVG outline; emoji remains full-color. */
.op-visitor-empty-inner{position:relative;-webkit-text-stroke:0;font-size:0;letter-spacing:normal;overflow:hidden}
.op-visitor-empty-inner .op-visitor-outline{display:block;width:min(100%,950px);height:auto;overflow:visible}
.op-visitor-empty-inner .op-visitor-outline text{font-family:Unbounded,sans-serif;font-weight:500;font-size:68px;letter-spacing:-3px;fill:#fff}
.op-visitor-empty-inner .op-visitor-cry{position:absolute;left:min(790px,83%);top:175px;font-size:55px;line-height:1;color:initial;-webkit-text-stroke:0}
@media(max-width:800px){.op-visitor-empty-inner .op-visitor-cry{left:auto;right:5%;top:auto;bottom:8%;font-size:clamp(26px,6vw,50px)}}

/* v1.4.07: emoji follows the third SVG line instead of floating at the card edge. */
.op-visitor-empty-inner .op-visitor-outline .op-visitor-emoji{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:53px;letter-spacing:normal;fill:initial;stroke:none;filter:none}

/* v1.4.09: Keep the same two equal room columns as the standard profile. */
.op-preview-no-extra-rooms .rooms-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:24px}
.op-preview-no-extra-rooms .rooms-layout>.main-room{width:100%;min-width:0}
.op-preview-no-extra-rooms .rooms-layout>.rooms-scroll{display:block;min-width:0;width:100%;overflow:visible;padding:0}
.op-preview-no-extra-rooms .op-extra-placeholder{width:100%;height:352px;box-sizing:border-box;min-width:0;background:linear-gradient(105deg,#30364C 0%,#0C0D17 100%);padding:24px;display:flex;flex-direction:column}
.op-preview-no-extra-rooms .op-extra-placeholder strong{font:500 18px/1.4 Unbounded,sans-serif}
.op-preview-no-extra-rooms .op-extra-placeholder p{font:400 18px/1.55 Inter,sans-serif;max-width:360px;margin:16px 0 0}
.op-preview-no-extra-rooms .op-extra-placeholder a{display:block;width:100%;margin-top:auto;border:1px solid #3B444E;border-radius:12px;padding:9px;text-align:center;background:transparent;color:#D9E8FC;font:400 16px/1.4 Inter,sans-serif}
.op-preview-no-extra-rooms .op-extra-placeholder a:hover{border-color:#D9E8FC}
@media(max-width:1000px){.op-preview-no-extra-rooms .rooms-layout{column-gap:16px}}
@media(max-width:650px){.op-preview-no-extra-rooms .rooms-layout{grid-template-columns:minmax(0,1fr);row-gap:16px}}

/* Preview: match standard Main Room / additional-room card proportions. */
@media (min-width:651px){.op-preview-no-extra-rooms .rooms-layout{grid-template-columns:minmax(0,2fr) minmax(0,1fr)} }

/* v1.4.12 — preview uses the exact standard profile card grid. */
@media (min-width:651px){
 .op-preview-no-extra-rooms .rooms-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:24px!important}
 .op-preview-no-extra-rooms .rooms-layout>.rooms-scroll{display:flex!important;gap:24px!important;min-width:0}
 .op-preview-no-extra-rooms .op-extra-placeholder{flex:0 0 calc((100% - 24px)/2)!important;width:calc((100% - 24px)/2)!important;min-width:0}
}
@media (min-width:651px) and (max-width:1000px){.op-preview-no-extra-rooms .rooms-layout{gap:16px!important}.op-preview-no-extra-rooms .op-extra-placeholder{flex-basis:calc((100% - 16px)/2)!important;width:calc((100% - 16px)/2)!important}}
@media(max-width:650px){.op-preview-no-extra-rooms .rooms-layout{grid-template-columns:minmax(0,1fr)!important}.op-preview-no-extra-rooms .op-extra-placeholder{width:100%}}

.op-preview-no-extra-rooms .op-extra-placeholder .op-extra-create{display:block;width:100%;margin-top:auto;border:1px solid #3B444E;border-radius:12px;padding:9px;text-align:center;background:transparent;color:#D9E8FC;font:400 16px/1.4 Inter,sans-serif;cursor:pointer}
.op-preview-no-extra-rooms .op-extra-placeholder .op-extra-create:hover{border-color:#D9E8FC}

/* Unified calibrated PNG previews for secondary rooms. */
.rooms-layout .extra-room{overflow:hidden}
.extra-room-render{position:absolute;z-index:0;left:50%;top:32px;transform:translateX(-50%);width:100%;height:auto;display:block;object-fit:contain;opacity:.10;pointer-events:none;filter:drop-shadow(12px 18px 14px rgba(0,0,0,.25));transition:opacity .28s ease}
.extra-room:hover .extra-room-render,.extra-room:focus-visible .extra-room-render{opacity:1}
.extra-room-name,.extra-room-count,.extra-room-likes{z-index:1}

/* Preview Lab calibration: use the raw 1750x1000 PNG as the only framing source.
   No legacy per-card translation, enlargement or top offsets. */
.rooms-layout .main-room-render,
.rooms-layout .extra-room-render,
.home-collections-grid .main-room-render {
  position:absolute;inset:0;top:0;left:0;right:0;bottom:0;
  width:100%;height:100%;max-width:none;transform:none;
  object-fit:cover;object-position:center center;
  display:block;pointer-events:none;
}

/* Profile card polish: adjust only the narrow extra-room display crop.
   The source PNG and calibrated Three.js camera are unchanged. */
.rooms-layout .extra-room-render{
  transform:none;
}
/* On hover the handwritten box count disappears on narrow extra rooms. */
.rooms-layout .extra-room:hover .extra-room-count,
.rooms-layout .extra-room:focus-within .extra-room-count{
  opacity:0;
}
/* Keep the Main Room reaction control visible when other overlay labels fade. */
.rooms-layout .main-room:hover .main-room-labels,
.rooms-layout .main-room:focus-visible .main-room-labels{
  opacity:1;
}
.rooms-layout .main-room:hover .main-room-title,
.rooms-layout .main-room:hover .main-room-count,
.rooms-layout .main-room:focus-visible .main-room-title,
.rooms-layout .main-room:focus-visible .main-room-count{
  opacity:0;
}
.rooms-layout .main-room-likes{
  position:absolute;
  z-index:2;
  opacity:1;
}

/* v443 — keep two extras on desktop; show one per slide only at 651–1024px. */
@media (min-width:651px) and (max-width:1024px){
 .op-profile-page .rooms-layout .extra-room{flex:0 0 100%;width:100%;}
}
@media (max-width:650px){
 .op-profile-page .profile-details{display:flex;flex-direction:column;gap:0;margin-top:-42px;min-width:0;}
 .op-profile-page .profile-left{align-items:flex-start;gap:0;}
 .op-profile-page .profile-left>.edit-profile{display:none!important;}
 .op-profile-page .profile-main{padding-top:18px;width:100%;min-width:0;}
 .op-profile-page .social-links{padding-top:18px;width:100%;min-width:0;}
 .op-profile-page .rooms-layout{grid-template-columns:minmax(0,1fr)!important;gap:16px;}
 .op-profile-page .rooms-layout>.rooms-scroll{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;overflow:visible;overflow-x:visible;overflow-y:visible;width:100%;min-width:0;padding:0;scroll-snap-type:none;}
 .op-profile-page .rooms-layout .extra-room{width:100%;min-width:0;flex:none;display:block;}
 .op-profile-page .room-arrows{display:none;}
 .op-profile-page .rooms-layout .extra-room:nth-child(n+5){display:none;}
 .op-profile-page .rooms-layout .rooms-scroll.rooms-expanded .extra-room:nth-child(n+5){display:block;}
 .op-profile-page .profile-rooms-more:not([hidden]){display:block;}
}
@media (max-width:500px){
 .op-profile-page .rooms-layout .rooms-scroll{grid-template-columns:minmax(0,1fr);}
}
.profile-rooms-more{display:none;margin:24px auto 0;padding:10px 32px;border:1px solid #394550;border-radius:30px;background:transparent;color:#D9E8FC;font:500 16px Inter,sans-serif;}
.profile-rooms-more:hover{border-color:#D9E8FC;}

/* v444 — at 501–650px, an unpaired final extra room fills both columns. */
@media (min-width:501px) and (max-width:650px){
  .op-profile-page .rooms-layout>.rooms-scroll>.extra-room:last-child:nth-child(odd){
    grid-column:1 / -1;
  }
}

/* v445 — retain the desktop avatar inset when the profile stacks below 650px. */
@media (max-width:650px){
  .op-profile-page .profile-left .profile-avatar-wrap{margin-left:22px;}
}
