/* An interactive room layered over the approved cabinet, not a flattened UI. */
.trophy-room-dialog{padding:0;border:0;margin:auto;width:min(100vw,calc(100dvh * .5628));height:min(100dvh,177.7vw);max-width:100vw;max-height:100dvh;overflow:hidden;background:#dfceb1;color:#192b22;border-radius:0;box-shadow:0 24px 90px #14251bd0}
.trophy-room-dialog::backdrop,.trophy-detail::backdrop{background:#15251cbb;backdrop-filter:blur(5px)}
.trophy-stage{position:relative;width:100%;height:100%;container-type:size;background:#e8d7b9 url('trophy-art/room-background.png') center/100% 100% no-repeat;font-family:Georgia,'Times New Roman',serif;color:#1a2a20;isolation:isolate}
.trophy-stage *, .trophy-detail *{box-sizing:border-box}.trophy-stage button{font-family:inherit;cursor:pointer;color:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.trophy-stage button:disabled{cursor:default;opacity:.4}.trophy-stage button:focus-visible{outline:3px solid #fff0bb;outline-offset:3px;box-shadow:0 0 0 5px #243d2c}.trophy-stage button{min-width:0}
.trophy-header{position:absolute;left:5%;right:5%;top:2.1%;height:5%;display:flex;gap:2%;align-items:center}.trophy-header h2{margin:0;white-space:nowrap;font-size:6.2cqw;letter-spacing:-.12cqw;line-height:1.1;font-weight:650}.trophy-back-icon{flex:0 0 7%;border:0;background:none;font-size:10cqw;line-height:.8;padding:0;height:100%;text-align:left}.trophy-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:1.4cqw;margin-left:auto}.trophy-header-emblem{width:6.5cqw;height:8cqw;display:flex;align-items:center}.trophy-header-emblem svg{width:100%;height:100%;filter:drop-shadow(0 1px 1px #77521c55)}.trophy-waiting{border:1px solid #f0d68e;border-radius:999px;background:linear-gradient(145deg,#3e503b,#18271c);box-shadow:0 2px 3px #38271844,inset 0 1px 2px #fff4;color:#fff4da!important;font-size:2.5cqw;line-height:1.15;white-space:nowrap;min-height:7.2cqw;padding:1.6cqw 2.2cqw}.trophy-waiting>span{font-size:3.7cqw;vertical-align:-.25cqw;margin-left:.6cqw}
.trophy-members{position:absolute;left:17%;right:17%;top:8.2%;height:9%;display:flex;justify-content:center;align-items:flex-start;gap:4cqw;overflow-x:auto;scrollbar-width:none;overscroll-behavior-inline:contain}.trophy-members::-webkit-scrollbar{display:none}.trophy-member{flex:0 0 13cqw;border:0;padding:0;background:none;text-align:center}.trophy-member-avatar{display:grid;place-items:center;margin:auto;width:10.6cqw;height:10.6cqw;border-radius:50%;border:1px solid #f8eddb;background:linear-gradient(130deg,#b6a58c,#96846d);box-shadow:0 2px 5px #775d3825;color:#fff5df;font-size:4.5cqw}.trophy-member.is-selected .trophy-member-avatar{background:linear-gradient(135deg,#44553b,#19271b);outline:.5cqw solid #d99d36;outline-offset:.35cqw;box-shadow:0 0 0 .3cqw #fce2a0,inset 0 1px 3px #c3cc9e66}.trophy-member-name{display:block;margin-top:1.35cqw;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:15cqw;font-size:2.8cqw;color:#684c31}.trophy-member.is-selected .trophy-member-name{font-weight:700;color:#18271d}
.trophy-collection-heading{position:absolute;left:13%;right:13%;top:18.9%;text-align:center}.trophy-collection-heading h3{font-size:4.4cqw;line-height:1.15;font-weight:650;letter-spacing:-.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0 0 1.45cqw}.trophy-collection-heading p{font:600 1.75cqw/1.2 system-ui,sans-serif;letter-spacing:.45cqw;text-transform:uppercase;color:#6f4e30;margin:0}
.trophy-cabinet-slots{position:absolute;left:9.8%;width:80.4%;top:31.8%;height:40%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:43% 43%;row-gap:14%;column-gap:1.4%;align-items:end}.trophy-piece{position:relative;display:block;width:100%;height:100%;padding:0;border:0;background:none;filter:drop-shadow(0 .6cqw .5cqw #100b0866);transition:transform .15s ease;isolation:isolate}.trophy-piece:hover{transform:translateY(-.4cqw)}.trophy-piece img{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;pointer-events:none;user-select:none}.trophy-plaque{position:absolute;left:16%;bottom:13.6%;width:68%;font-size:1.9cqw;color:#1c160b;text-shadow:0 1px #ffdc8644;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:.8% 0;background:linear-gradient(110deg,#efcf7e,#c99439 60%,#f4d891);border:1px solid #e5bd66;border-radius:1px;box-shadow:inset 0 1px #ffefb566;line-height:1.15}.trophy-mystery .trophy-plaque{bottom:16.8%}.trophy-mystery-note{position:absolute;left:8%;right:8%;top:77.7%;text-align:center;margin:0;font-size:2.9cqw;line-height:1.4;color:#70533a}.trophy-pagination{position:absolute;left:21%;right:21%;top:81.8%;height:6.2%;display:flex;align-items:center;justify-content:space-between;gap:3cqw}.trophy-pagination>button{flex:0 0 10.5cqw;width:10.5cqw;height:10.5cqw;border-radius:50%;padding:0;border:1px solid #fff9eb;background:linear-gradient(135deg,#f7ead3,#dfceb0);box-shadow:0 3px 5px #6b553833;font-size:9cqw;line-height:.8}.trophy-pagination>div{text-align:center;flex:1;font-size:3.4cqw;white-space:nowrap}.trophy-page-dots{display:flex;align-items:center;justify-content:center;gap:1.7cqw;margin-top:1.7cqw}.trophy-page-dots i{display:block;width:1.7cqw;height:1.7cqw;border-radius:50%;background:#b6a488}.trophy-page-dots i.is-current{background:#233a2a}
.trophy-back-rooms{position:absolute;left:5.6%;right:5.6%;top:89.4%;height:6.4%;border-radius:999px;border:2px solid #ecd394;background:linear-gradient(115deg,#3d4e36,#17261b);box-shadow:inset 0 2px 4px #ffffff22,0 4px 8px #715c3f44;color:#fff0d1!important;font-size:4.4cqw;font-weight:650;display:flex;align-items:center;justify-content:center;gap:2cqw;padding:.5cqw 2cqw}.trophy-back-rooms svg{width:7cqw;height:7cqw;color:#e3c07c;flex:none}.trophy-live-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.trophy-empty-message{position:absolute;left:15%;right:15%;top:38%;font-size:3cqw;line-height:1.5;text-align:center;color:#fff0d0;text-shadow:0 2px 4px #130c05}
.trophy-state{display:flex;flex-direction:column;align-items:center;padding:7% 8%;text-align:center}.trophy-state h2{font-size:6cqw;margin:0}.trophy-state p{margin-top:20%;font-size:3.6cqw;line-height:1.5;background:#f8ebcfdd;border-radius:14px;padding:5%}.trophy-state>button:not(.trophy-back-rooms){border:1px solid #ead393;background:#29412e;color:#fff2d5;border-radius:99px;padding:3% 8%;font-size:3.6cqw}
.trophy-detail{width:min(380px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;border:1px solid #f1d797;border-radius:24px;background:radial-gradient(ellipse at top,#fff5dc,#eaddc5);color:#233326;padding:20px 24px 28px;font-family:Georgia,serif;box-shadow:0 20px 60px #13221980}.trophy-detail-close{position:absolute;right:12px;top:12px;width:44px;height:44px;border:0;border-radius:50%;color:#2a3e2d;background:#f9f0df;font-size:26px;cursor:pointer}.trophy-detail>img{display:block;width:65%;height:200px;object-fit:contain;margin:0 auto}.trophy-detail h3{text-align:center;font-size:26px;line-height:1.15;margin:8px 0 24px}.trophy-detail dl{font:15px/1.5 system-ui,sans-serif;margin:0}.trophy-detail dt{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#765b35;font-weight:700;margin-top:18px}.trophy-detail dd{margin:5px 0 0}.trophy-detail :focus-visible{outline:3px solid #a97b25;outline-offset:3px}
/* The global shortcut stays to the left of the waiting-games button. */
.rps-notification-slot{padding-top:7px;padding-bottom:11px;align-items:center;gap:10px}.trophy-header-button{width:44px;height:44px;padding:3px;border:1px solid #cda75b;background:linear-gradient(145deg,#fff7d9,#d8b161);border-radius:14px;box-shadow:0 2px 4px #58422a2b;cursor:pointer;flex:none}.trophy-header-button svg{width:100%;height:100%}.rps-pending-badge{border:1px solid #d2b26d;background:linear-gradient(135deg,#43583f,#203725);color:#fff1d6!important;border-radius:24px;padding:10px 16px!important;box-shadow:0 2px 4px #59422b22}.rps-global-notifications{gap:10px}.trophy-header-button:focus-visible{outline:3px solid #56724f;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.trophy-stage *{transition:none!important;animation:none!important}}
@media(forced-colors:active){.trophy-stage,.trophy-detail{background:Canvas;color:CanvasText}.trophy-stage button,.trophy-member-avatar,.trophy-plaque{border:1px solid ButtonText;background:Canvas;color:CanvasText!important}.trophy-collection-heading p,.trophy-mystery-note{color:CanvasText}.trophy-piece{filter:none}.trophy-back-rooms{color:ButtonText!important}.trophy-page-dots i{background:GrayText}.trophy-page-dots i.is-current{background:Highlight}}
/* Disco Nights: approved image pixels for Gizmo/ball, isolated clean plate. */
.trophy-detail:has(.trophy-disco){padding-top:20px}.trophy-disco{position:relative;width:100%;margin:0 auto}.trophy-disco-stage{position:relative;display:block;isolation:isolate;width:100%;aspect-ratio:1212/1298;border:0;padding:0;overflow:hidden;background:none;cursor:pointer;border-radius:16px}.trophy-disco-stage>img,.trophy-disco-layers,.trophy-disco-layers>img,.trophy-disco-layers>svg{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.trophy-disco-layers{display:none;pointer-events:none}.trophy-disco[data-playing=true] .trophy-disco-rest{visibility:hidden}.trophy-disco[data-playing=true] .trophy-disco-layers{display:block}.trophy-disco-controls{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin:8px 0;font:13px/1.3 system-ui,sans-serif}.trophy-disco-controls[hidden]{display:none}.trophy-disco-controls>span{width:100%;text-align:center}.trophy-disco-controls button{min-height:44px;padding:9px 18px;border:1px solid #bfa164;border-radius:24px;background:#f9edcf;color:#354b33;font:inherit;cursor:pointer}.trophy-disco-hint{margin:6px 0 12px;text-align:center;color:#6f5b38;font:12px/1.4 system-ui,sans-serif}.trophy-disco-ball{transform-origin:604px 317px;animation:trophy-ball-spin 5s linear infinite}.trophy-disco-gizmo{transform-origin:660px 853px;animation:trophy-gizmo-sway 2s ease-in-out infinite;filter:drop-shadow(1px 7px 3px #51332633)}.trophy-disco-cast{mix-blend-mode:screen;animation:trophy-warm-reflection 2.5s ease-in-out infinite}.trophy-disco-glint{mix-blend-mode:screen;animation:trophy-soft-glint 2.5s ease-in-out infinite;transform-origin:604px 317px}.trophy-disco[data-reduced-motion=true] :is(.trophy-disco-ball,.trophy-disco-gizmo,.trophy-disco-cast,.trophy-disco-glint){animation:none!important}.trophy-disco[data-reduced-motion=true] .trophy-disco-rest{visibility:visible}.trophy-disco[data-reduced-motion=true] .trophy-disco-layers{display:none}
@keyframes trophy-ball-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes trophy-gizmo-sway{0%,100%{transform:rotate(-3.2deg) translateY(0)}25%{transform:rotate(0deg) translateY(-5px)}50%{transform:rotate(3.2deg) translateY(0)}75%{transform:rotate(0deg) translateY(-5px)}}@keyframes trophy-warm-reflection{0%,100%{opacity:.12;transform:translateX(-40px)}50%{opacity:.36;transform:translateX(45px)}}@keyframes trophy-soft-glint{0%,100%{opacity:.05;transform:rotate(-30deg)}50%{opacity:.3;transform:rotate(35deg)}}
@media(prefers-reduced-motion:reduce){.trophy-disco *{animation:none!important}.trophy-disco[data-playing=true] .trophy-disco-rest{visibility:visible}.trophy-disco[data-playing=true] .trophy-disco-layers{display:none}}

/* Trophy assets already carry their engraved plaques. Keep live names accessible without painting a second plaque. */
.trophy-plaque{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;padding:0;border:0}
