/* The interior rooms of the guild: each task has its own working surface. */
.game-room{--room-metal:#a88a57;--room-edge:#d5b57a69;--room-stone:#1b1521;--room-hilight:#e9c988}
.game-room .single-guild-context{display:flex;align-items:center;gap:12px;border:1px solid #b79a6455;background:linear-gradient(100deg,#35243f,#1c1523);border-radius:4px;padding:12px 16px;margin-bottom:18px}
.game-room .single-guild-context>.guild-avatar{width:34px;height:38px;font-size:20px;flex-shrink:0}
.game-room .single-guild-context strong{display:block;font-size:14px;color:#e7cda1;overflow-wrap:anywhere}
.game-room .single-guild-context small{display:block;font-size:12px;color:#bfaec9;margin-top:3px}
/* Rankings reuse the gold trim and practical stone panels of the guild rooms. */
.game-room .rankings-workspace{padding:24px;min-width:0}
.game-room .rankings-tabs.segmented-control{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:28px;max-width:none}
.game-room .rankings-tabs.segmented-control>.btn{padding:12px 8px;min-width:0;white-space:normal;line-height:1.5}
.game-room .rankings-heading,.game-room .ranking-list-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.game-room .rankings-heading{margin-bottom:20px}
.game-room .rankings-heading p{font-size:13px;color:#bdadc8;margin-top:7px}
.game-room .rankings-heading>.badge{font-size:12px}
.game-room .rankings-error,.game-room .rankings-coverage{margin:0 0 24px;font-size:13px;line-height:1.8}
.game-room .rankings-error p{margin:6px 0 12px}
.game-room .rankings-coverage p{margin-top:6px}
.game-room .rankings-coverage ul{padding-left:20px;margin:8px 0 0}
.game-room .rankings-loading{min-height:320px;display:grid;justify-items:center;align-content:center;gap:16px;text-align:center}
.game-room .rankings-loading p{font-size:13px;color:#bdadc8}
.game-room .rankings-mine{margin:24px 0 32px}
.game-room .rankings-mine>h3{font:700 18px/1.5 var(--display);color:#ead3a7;margin-bottom:14px}
.game-room .rankings-mine-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:14px}
.game-room .ranking-mine-card{min-width:0;display:flex;flex-direction:column;padding:18px;border:1px solid #c5a56880;border-radius:4px;background:linear-gradient(130deg,#49324f,#241a2c);box-shadow:inset 0 0 0 3px #0d0b1144}
.game-room .ranking-mine-title{display:flex;align-items:center;gap:10px;min-width:0}
.game-room .ranking-mine-title>.guild-avatar{width:34px;height:38px;font-size:20px;flex-shrink:0}
.game-room .ranking-mine-title>strong{font-size:15px;color:#f1dfb7;overflow-wrap:anywhere}
.game-room .ranking-mine-title>.badge{font-size:11px;margin-left:auto;flex-shrink:0}
.game-room .ranking-mine-result{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-top:14px}
.game-room .ranking-mine-result>span{font-size:13px;color:#cebbd8}
.game-room .ranking-mine-result>strong{font:700 24px/1.4 var(--display);color:#f3d291;font-variant-numeric:tabular-nums}
.game-room .ranking-mine-card>p{font-size:12px;line-height:1.8;color:#bfaecb;margin-top:7px;overflow-wrap:anywhere}
.game-room .ranking-mine-card>.btn{margin-top:auto;align-self:flex-end;padding:8px 0 0;min-height:44px;font-size:12px}
.game-room .ranking-list-heading>h3{font:700 21px/1.5 var(--display);color:#ead3a7}
.game-room .ranking-list-heading>span,.game-room .ranking-order-note{font-size:12px;color:#bcacc7;line-height:1.8}
.game-room .ranking-order-note{margin:8px 0 18px;max-width:70em}
.game-room .ranking-list{display:grid;gap:10px}
.game-room .ranking-row{display:grid;grid-template-columns:42px 48px minmax(140px,1fr) minmax(200px,.85fr);align-items:center;gap:16px;min-width:0;padding:20px;border:1px solid #9b7cac55;border-radius:4px;background:linear-gradient(110deg,#2c2034,#18131e);box-shadow:inset 0 0 0 3px #0c091125}
.game-room .ranking-row.is-leading{border-color:#c2a26980;background:linear-gradient(110deg,#3e2c39,#201923)}
.game-room .ranking-row.is-mine{box-shadow:inset 3px 0 #cdb071,inset 0 0 0 3px #0c091125}
.game-room .ranking-position{font:700 25px/1.2 var(--display);font-variant-numeric:tabular-nums;color:#bca8c8;text-align:center}
.game-room .is-leading>.ranking-position{color:#efd299}
.game-room .ranking-row>.guild-avatar{width:48px;height:54px;font-size:28px;flex-shrink:0}
.game-room .ranking-team{min-width:0}
.game-room .ranking-name{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
.game-room .ranking-name>strong{font-size:16px;color:#ecdae7;overflow-wrap:anywhere}
.game-room .ranking-name>.badge{font-size:11px}
.game-room .ranking-team>small{display:block;font-size:12px;color:#b6a5c0;margin-top:6px}
.game-room .ranking-score{min-width:0;text-align:right}
.game-room .ranking-score>strong{font:700 25px/1.4 var(--display);font-variant-numeric:tabular-nums;color:#efcf94;overflow-wrap:anywhere}
.game-room .ranking-score>small{display:block;font-size:12px;line-height:1.8;color:#bdacc8;margin-top:4px;overflow-wrap:anywhere}
.game-room .rankings-unranked{font-size:12px;color:#b7a7c2;line-height:1.8;padding:18px 0 0}
.game-room .rankings-rules{margin:28px 0 0}
/* Honor the actual competition rank, including ties and missing positions. */
.game-room .ranking-podium-section{margin:28px 0 32px}
.game-room .ranking-podium-heading{text-align:center;margin-bottom:15px}
.game-room .ranking-podium-heading>span{font-size:11px;letter-spacing:.22em;color:#d3b47c}
.game-room .ranking-podium-heading>h3{font:800 32px/1.4 var(--display);color:#f4d99e;letter-spacing:.08em}
.game-room .ranking-podium-heading>p{font-size:12px;color:#c8b6cf;margin-top:5px}
.game-room .ranking-podium{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:58px 20px 24px;border:1px solid #bb985a55;border-radius:6px;background:radial-gradient(ellipse at 50% 0,#e2bb5f24,transparent 65%),linear-gradient(160deg,#32243d,#17111e);isolation:isolate}
.game-room .ranking-podium:before{content:'';position:absolute;inset:auto 0 0;height:26px;background:linear-gradient(90deg,#5b426b,#8a6a51,#5b426b);border-radius:0 0 5px 5px;z-index:-1}
.game-room .ranking-podium-card{min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;padding:0 16px 24px;margin-top:28px;border:1px solid #aabbd673;border-radius:5px;background:linear-gradient(145deg,#39394e,#242232);box-shadow:0 7px 0 #5f596d;overflow-wrap:anywhere}
.game-room .ranking-podium-card[data-rank="1"]{margin-top:0;border:1px solid #d1ad67;background:radial-gradient(ellipse at 50% 10%,#72513480,transparent 70%),linear-gradient(145deg,#483443,#2c202d);box-shadow:0 8px 0 #937344,0 0 24px #c49b4f16;padding-bottom:30px}
.game-room .ranking-podium-card[data-rank="3"]{border-color:#bf8a6673;background:linear-gradient(145deg,#463039,#2d202b);box-shadow:0 7px 0 #785546}
.game-room .ranking-podium.is-classic>.ranking-podium-card{grid-row:1}
.game-room .ranking-podium.is-classic>.ranking-podium-card[data-rank="1"]{grid-column:2}
.game-room .ranking-podium.is-classic>.ranking-podium-card[data-rank="2"]{grid-column:1}
.game-room .ranking-podium.is-classic>.ranking-podium-card[data-rank="3"]{grid-column:3}
.game-room .ranking-podium.count-1{grid-template-columns:minmax(0,320px);justify-content:center}
.game-room .ranking-podium.count-2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px;margin-inline:auto}
.game-room .ranking-podium.is-flow>.ranking-podium-card{margin-top:0}
.game-room .ranking-medal{position:relative;display:grid;place-items:center;width:118px;max-width:100%;height:118px;margin:-45px auto 3px;flex:none}
.game-room .ranking-medal>img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 5px #0005)}
.game-room .ranking-medal-fallback{position:absolute;inset:18%;display:grid;place-items:center;border:2px solid #ebcc8b;border-radius:50%;font:800 35px/1 var(--display);color:#ffe4a3;background:linear-gradient(145deg,#ae854b,#523c26)}
.game-room .ranking-medal.has-image>.ranking-medal-fallback{visibility:hidden}
.game-room [data-rank="2"] .ranking-medal-fallback{border-color:#d2deef;color:#e9f0ff;background:linear-gradient(145deg,#8a9db9,#3c425a)}
.game-room [data-rank="3"] .ranking-medal-fallback{border-color:#dda780;color:#ffe2c3;background:linear-gradient(145deg,#b17d57,#5e3a2b)}
.game-room .ranking-podium-place{font-size:12px;font-weight:750;color:#dce6f6;background:#b9c6e21a;padding:4px 12px;border-radius:20px;margin:2px 0 13px}
.game-room [data-rank="1"]>.ranking-podium-place{color:#f7d89a;background:#c09a4b2b}
.game-room [data-rank="3"]>.ranking-podium-place{color:#f2c69f;background:#c18b5f29}
.game-room .ranking-podium-name{font:750 20px/1.55 var(--display);color:#f3e6ed;min-height:62px;display:flex;align-items:center;justify-content:center;width:100%;overflow-wrap:anywhere}
.game-room .ranking-podium-card[data-rank="1"]>.ranking-podium-name{color:#ffe8b7;font-size:22px}
.game-room .ranking-podium-card>.badge{font-size:10px;margin-top:6px}
.game-room .ranking-podium-value{font:800 37px/1.35 var(--display);font-variant-numeric:tabular-nums;color:#e2d7ed;margin-top:23px;overflow-wrap:anywhere;max-width:100%}
.game-room .ranking-podium-card[data-rank="1"]>.ranking-podium-value{font-size:42px;color:#f6d48d}
.game-room .ranking-podium-card[data-rank="3"]>.ranking-podium-value{color:#e9b991}
.game-room .ranking-podium-caption{font-size:11px;color:#c8b6cf;margin-top:5px;line-height:1.6}
.game-room .ranking-podium-card>.btn{font-size:12px;min-height:44px;margin-top:10px;padding:8px}
.game-room .ranking-podium-note{font-size:12px;line-height:1.8;color:#c9b6d0;margin:14px 0 0}
.game-room .ranking-score>.btn{margin:8px -8px -4px 0;min-height:44px;font-size:12px}
@media(max-width:899px){.game-room .ranking-podium{gap:10px;padding-inline:12px}.game-room .ranking-podium-card{padding-inline:10px}.game-room .ranking-podium-name{font-size:17px}.game-room .ranking-podium-card[data-rank="1"]>.ranking-podium-name{font-size:19px}.game-room .ranking-podium-value{font-size:31px}.game-room .ranking-podium-card[data-rank="1"]>.ranking-podium-value{font-size:35px}}
@media(max-width:599px){.game-room .ranking-podium-section{margin:22px 0 26px}.game-room .ranking-podium-heading>h3{font-size:29px}.game-room .ranking-podium-heading>p{font-size:12px}.game-room .ranking-podium{gap:7px;padding:44px 7px 18px}.game-room .ranking-podium-card{padding:0 5px 16px;margin-top:22px}.game-room .ranking-podium-card[data-rank="1"]{padding-bottom:22px}.game-room .ranking-medal{width:90px;height:90px;margin-top:-35px}.game-room .ranking-podium-place{font-size:10px;padding:4px 6px;margin-bottom:9px}.game-room .ranking-podium-name{font-size:14px;line-height:1.55;min-height:66px}.game-room .ranking-podium-card[data-rank="1"]>.ranking-podium-name{font-size:15px}.game-room .ranking-podium-value{font-size:26px;margin-top:14px}.game-room .ranking-podium-card[data-rank="1"]>.ranking-podium-value{font-size:29px}.game-room .ranking-podium-caption{font-size:10px}.game-room .ranking-podium-card>.badge{font-size:9px;padding:3px 4px}.game-room .ranking-podium-card>.btn{font-size:11px;padding:5px 1px}.game-room .ranking-podium-note{font-size:11px}}
@media(max-width:899px){.game-room .ranking-row{grid-template-columns:32px 44px minmax(0,1fr);gap:12px}.game-room .ranking-score{grid-column:3;text-align:left}.game-room .ranking-row>.guild-avatar{width:44px;height:50px}}
@media(max-width:699px){
 .game-room .rankings-workspace{padding:20px 16px}
 .game-room .rankings-tabs.segmented-control{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;margin-bottom:24px}
 .game-room .rankings-tabs.segmented-control>.btn{font-size:12px;padding:10px 4px;min-height:46px}
 .game-room .rankings-heading{gap:10px}
 .game-room .rankings-heading p{font-size:12px}
 .game-room .rankings-mine-grid{grid-template-columns:1fr}
 .game-room .ranking-row{grid-template-columns:26px 38px minmax(0,1fr);padding:16px 12px;gap:10px}
 .game-room .ranking-row>.guild-avatar{width:38px;height:44px;font-size:24px}
 .game-room .ranking-position{font-size:21px}
 .game-room .ranking-name>strong{font-size:15px}
 .game-room .ranking-score{grid-column:2/-1;padding-top:10px;border-top:1px solid #b08c552a}
 .game-room .ranking-score>strong{font-size:24px}
 .game-room .ranking-score>small{font-size:12px}
 .game-room .ranking-list-heading{gap:8px}
 .game-room .rankings-error,.game-room .rankings-coverage{font-size:12px}
}
.game-room .room-masthead{position:relative;isolation:isolate;display:grid;grid-template-columns:100px minmax(0,1fr) auto;align-items:center;gap:24px;min-height:250px;padding:38px 36px;margin:0 0 28px;border:1px solid #c7a66b99;border-radius:5px;background:linear-gradient(90deg,#130e18f5 0%,#130e18dc 42%,#130e1833 80%),url('/teams/assets/guild-dojo-wide.webp') center 47%/cover;box-shadow:inset 0 0 0 4px #0b090e99,0 10px 30px #0005;overflow:clip}
.game-room .room-masthead:after{content:"";position:absolute;inset:7px;border:1px solid #e0be7740;border-radius:2px;z-index:-1;pointer-events:none}
.game-room .room-wallet{background-image:linear-gradient(90deg,#130d18f2 0%,#130d18d9 40%,#130d1820 85%),url('/teams/assets/guild-vault.webp')}
.game-room .room-loadouts,.game-room .room-analytics{background-image:linear-gradient(90deg,#130d18f2 0%,#130d18d9 40%,#130d1820 85%),url('/teams/assets/guild-armory.webp')}
.game-room .room-masthead .page-heading-copy{max-width:580px;min-width:0}
.game-room .room-masthead h1{font:800 clamp(28px,2.8vw,42px)/1.35 var(--display);letter-spacing:.035em;color:#f2d89f;text-shadow:0 3px 6px #000;overflow-wrap:anywhere}
.game-room .room-masthead p{color:#d2c4d3;font-size:14px;line-height:1.85;text-shadow:0 1px 3px #000;margin-top:10px;max-width:37em}
.game-room .room-masthead .page-actions{align-self:end;position:relative;max-width:240px;justify-content:end}
.room-insignia{position:relative;display:grid;place-items:center;width:94px;height:108px;border:2px solid #d2b171;border-radius:34% 34% 45% 45%;background:linear-gradient(140deg,#794da0,#35213f 50%,#160f20);box-shadow:inset 0 0 0 4px #190f25,inset 0 0 0 5px #b3905b,0 4px 18px #0008;color:#edce88}
.room-insignia:after{content:"";position:absolute;inset:8px;border:1px solid #cda97070;border-radius:inherit;pointer-events:none}
.room-insignia svg{width:48px;height:48px;stroke-width:1.2;filter:drop-shadow(1px 3px 1px #211129)}
.game-room>.workspace-panel,.game-room .strategy-board,.game-room .team-settings-disclosure{border-color:var(--room-edge);background:linear-gradient(120deg,#2a2130,#18131e 70%);box-shadow:inset 0 0 0 3px #0d0b1144,0 7px 24px #0003;border-radius:5px}
.game-room h2{font-family:var(--display);font-size:22px;color:#ead3a7;letter-spacing:.025em}
.game-room h3{color:#f1e5d4}
.game-room .panel-toolbar{padding:20px 24px;border-bottom:1px solid #ad8b5844;background:linear-gradient(90deg,#a7885514,transparent)}
.game-room .panel-toolbar h2{font-size:22px}
.game-room .panel-toolbar p{font-size:13px;margin-top:5px;color:#beb0c6}
.game-room .btn{min-height:46px;font-size:14px}
.game-room .btn.small{font-size:13px;min-height:44px}
.game-room .btn.primary{border-width:1px;padding:12px 20px}
.game-room .section-head{gap:16px}
.game-room .section-head p{font-size:13px}
.game-room .subtle,.game-room .help{color:#bfb0c7}
.game-room input,.game-room select,.game-room textarea{font-size:15px;border-color:#a887b566;background:#100d17;box-shadow:inset 0 2px 5px #0005}
.game-room input:focus,.game-room textarea:focus{border-color:#d0ac72}
.game-room .detail-disclosure{border-color:#aa8c585c;background:linear-gradient(100deg,#26202d,#19141f);box-shadow:inset 0 1px #e1bf7720;padding:16px 22px}
.game-room .detail-disclosure>summary{font-size:14px;color:#deccad;min-height:44px}
.game-room .detail-disclosure p,.game-room .detail-disclosure li{font-size:13px;line-height:1.9}
.game-room .empty{position:relative;min-height:280px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;text-align:center;padding:36px 24px;background:radial-gradient(ellipse at 50% 20%,#6b3c7a22,transparent 70%)}
.empty-room-emblem{display:grid;place-items:center;position:relative;width:76px;height:80px;border:1px solid #c9a66f88;border-radius:38% 38% 45% 45%;background:linear-gradient(140deg,#4b2e5a,#1a1421);color:#cfac70;box-shadow:inset 0 0 0 4px #110d19,0 0 0 3px #94724430}
.empty-room-emblem svg{width:38px;height:38px}
.game-room .empty h3{font:700 23px/1.5 var(--display);color:#e9d3a5}
.game-room .empty p{max-width:40em;font-size:14px;line-height:1.8}
.game-room .empty>.btn,.game-room .empty>.actions{margin-top:8px}
/* Guild hall. The banner carries identity; the roster and progress are separate objects. */
.game-room>.guild-picker{border:1px solid #b79a6477;border-radius:4px;background:linear-gradient(100deg,#3b2947,#1c1523);margin-bottom:18px;box-shadow:inset 0 0 0 3px #130d1b66}
.game-room>.guild-picker summary{color:#e7cda1;min-height:54px;font-size:14px;flex-wrap:wrap}
.game-room>.guild-picker .guild-tablist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px 4px}
.game-room .guild-tab{border:1px solid #97815a44;background:#15111c;min-width:0;border-radius:3px;padding:12px}
.game-room .guild-tab.active{border-color:#d4ad71;background:linear-gradient(110deg,#633c7a,#2c1c39);box-shadow:inset 0 0 0 2px #1e122b}
.game-room .guild-tab .guild-avatar{width:48px;height:54px;border:1px solid #d4ad71;border-radius:35% 35% 45% 45%;font:700 24px var(--display)}
.game-room .guild-tab-copy strong{font-size:14px}.game-room .guild-tab-copy small{font-size:12px}
.game-room .team-summary{position:relative;overflow:hidden;padding:32px;background:linear-gradient(90deg,#170e20f2,#211426df 48%,#18101c70),url('/teams/assets/guild-dojo-wide.webp') center 40%/cover;border:1px solid #c9a56b;box-shadow:inset 0 0 0 5px #100a1688,0 12px 32px #0005;border-radius:5px;margin-bottom:18px}
.game-room .team-summary .team-identity{display:grid;grid-template-columns:104px minmax(0,1fr) auto;gap:24px;min-height:130px;padding:0 0 22px;background:none;border:0;box-shadow:none;border-radius:0;margin:0;overflow:visible}
.game-room .team-summary .team-identity:after{display:none}
.game-room .team-identity>.guild-avatar{width:100px;height:112px;border-radius:35% 35% 45% 45%;border:2px solid #dbb977;box-shadow:inset 0 0 0 5px #1c1027,0 0 0 4px #a98a4e55,0 6px 24px #0007;font:800 58px var(--display);background:linear-gradient(145deg,#775094,#341e42)}
.game-room .team-identity h1{font-size:38px}
.game-room .team-identity p{font-size:14px}
.game-room .team-identity .page-actions{align-self:center;max-width:320px;justify-content:end;gap:10px}
.game-room .team-identity .invite-team{border-color:#d9bd85;color:#f0d7a2;background:linear-gradient(#5a4731,#30251e);padding-inline:20px}
.hall-progress{display:flex;align-items:center;gap:16px;max-width:600px;margin:12px 0 20px;padding:16px 20px;background:#0e0a15ba;border:1px solid #b4945855;box-shadow:inset 0 0 0 3px #2b1c3266;border-radius:3px}
.hall-level{font-size:26px;color:#e6c687;font-weight:750;white-space:nowrap}
.hall-progress-copy{flex:1;min-width:0}
.hall-progress-copy>div:first-child{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px;font-size:13px;color:#c4b3cc}
.hall-progress-copy strong{color:#ebdcc4;font-weight:550;font-variant-numeric:tabular-nums}
.game-room .hall-progress .progress{height:10px;background:#08070c;border:1px solid #6e597d;border-radius:6px;box-shadow:inset 0 1px 3px #000a}
.game-room .hall-progress .progress>span{background:linear-gradient(#dfb7ff,#a667d9 50%,#7035aa);box-shadow:inset 0 1px #efd6ff99,0 0 6px #ba8eff44}
.game-room .team-capacity-line{gap:10px 18px;padding:16px 0 0;border-top:1px solid #aa8b5655;font-size:14px;color:#d0c0d7}
.game-room .team-capacity-line .badge{background:#ae865c22;color:#e5cda5;border:1px solid #b7955a55}
.game-room .team-capacity-line .subtle{font-size:13px}
.game-room .team-checkin{padding:16px 22px;background:linear-gradient(90deg,#28202d,#19131f);border:1px solid #aa8c5855;border-radius:4px;margin-bottom:24px}
.game-room .team-checkin strong{font-family:var(--display);font-size:19px;color:#e6cca0}
.game-room .team-checkin .subtle{font-size:13px;line-height:1.7}
.game-room .team-checkin .btn{border-color:#aa8b5b77}
.game-room .segmented-control{padding:5px;border:1px solid #b4946377;background:#120d1a;border-radius:3px;gap:5px;box-shadow:inset 0 0 0 2px #24172d}
.game-room .segmented-control>button{min-height:46px;padding:10px 24px;border-radius:2px;color:#c6b6d2;font-size:14px;box-shadow:none}
.game-room .segmented-control>button.active{background:linear-gradient(#8d5bb6,#59306e 49%,#432353 50%);border:1px solid #d4b37b;color:#f2dfb4;box-shadow:inset 0 0 0 2px #301b41}
.game-room .team-view-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:480px;margin-bottom:22px}
.game-room .team-workbench{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;background:transparent;border:0;box-shadow:none;align-items:start}
.game-room .roster-panel{padding:26px;background:linear-gradient(135deg,#2b2032,#19131f);border:1px solid var(--room-edge);border-radius:5px;box-shadow:inset 0 0 0 4px #0c091144,0 8px 24px #0003;min-width:0}
.game-room .roster-panel .section-head{padding-bottom:18px;border-bottom:1px solid #b08c5544;margin-bottom:18px;align-items:start}
.game-room .my-contribution{color:#d9b8ee;font-size:13px;background:#a779c31c;border:1px solid #bb8dd433;padding:7px 10px;border-radius:3px}
.game-room .legend{margin-bottom:18px;font-size:12px;color:#b8a5c3}
.game-room .member-table{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.game-room .member-row{display:grid;grid-template-columns:28px 50px minmax(0,1fr);gap:12px;padding:18px;border:1px solid #8d74995c!important;border-radius:4px;background:linear-gradient(130deg,#35233e,#1c1425);position:relative;box-shadow:inset 0 0 0 3px #120d1b55;align-items:center}
.game-room .member-row.is-me{border-color:#c39b5d99!important;background:linear-gradient(130deg,#4b334c,#241a2e)}
.game-room .member-row .rank{align-self:start;font-size:17px;color:#bb9c64;font-weight:700;padding-top:12px}
.game-room .member-avatar{width:48px;height:54px;font:700 24px var(--display);color:#d5b1ed;background:linear-gradient(140deg,#69497c,#32253f);border:1px solid #a887b56b;border-radius:35% 35% 44% 44%;display:grid;place-items:center}
.game-room .member-name strong{font-size:15px;line-height:1.7;overflow-wrap:anywhere}
.game-room .member-name small{font-size:12px;margin-top:4px}
.game-room .member-contribution{grid-column:2/-1;width:100%;padding-top:8px}
.game-room .member-contribution strong{font-size:16px;color:#dac0ed}
.game-room .member-contribution .split-bar{height:7px;margin-top:8px;background:#0a0810;border:1px solid #a484b533}
.game-room .member-actions{grid-column:1/-1;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:8px;padding-top:10px;border-top:1px solid #a484b52b;margin-top:4px}
.game-room .member-actions .btn{padding:8px 12px;font-size:13px;min-height:42px}
.game-room .roster-note{font-size:13px;line-height:1.9;margin-top:22px;color:#b7a6bf}
.game-room .growth-inspector{padding:26px;border:1px solid #d2ac67;border-radius:5px;background:radial-gradient(ellipse at 100% 0,#a57b3328,transparent 70%),linear-gradient(135deg,#3e3022,#211a18);box-shadow:inset 0 0 0 4px #160e1488,0 8px 24px #0004}
.game-room .growth-heading{padding-bottom:18px;border-bottom:1px solid #baa06144;margin-bottom:22px}
.game-room .growth-heading h2{font-size:23px}
.game-room .growth-level{display:grid;place-items:center;color:#f0d39b;font-size:20px;border:1px solid #b29254;border-radius:50%;width:60px;height:60px;background:radial-gradient(circle,#a07b3a33,#201813);box-shadow:inset 0 0 0 4px #211813}
.game-room .growth-total{display:flex;align-items:baseline;gap:8px;color:#b9a98a;font-size:14px}
.game-room .growth-total strong{font-size:42px;color:#e8c580}
.game-room .growth-inspector>.progress{height:10px;background:#15100d;border:1px solid #b7975844;border-radius:4px;margin-block:10px}
.game-room .growth-inspector>.progress>span{background:linear-gradient(#f3d592,#ae8240)}
.game-room .growth-inspector p{color:#cbb994;font-size:13px;line-height:1.9}
.game-room .milestone-heading{font:700 18px var(--display);color:#ead2a0;margin:26px 0 14px}
.game-room .milestones{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.game-room .milestone{padding:16px 10px;border:1px solid #b0925355;border-radius:3px;text-align:center;background:linear-gradient(#483923,#241c17);box-shadow:inset 0 0 0 3px #140e1766}
.game-room .milestone strong{display:block;color:#d8bb80;font-size:17px}
.game-room .milestone small{display:block;font-size:12px;color:#bba887;margin-top:6px}
.game-room .milestone.complete{border-color:#d0b16a;background:linear-gradient(#674d2b,#39291e)}
.game-room .level-rules{margin-top:22px;border-top:1px solid #b4946355;padding:10px 0 0;background:none;box-shadow:none;border-radius:0}
.game-room .level-rules>summary{font-size:13px}
.game-room .team-activity{padding:28px}
.game-room .team-activity .team-schedule{padding-bottom:28px;margin-bottom:28px;border-bottom:1px solid #aa8b5655}
.game-room .match-preview-row{background:#130e1b77;padding:18px;margin-top:12px;border:1px solid #8b70964d;border-radius:3px;grid-template-columns:54px minmax(0,1fr) auto}
.game-room .match-preview-date{background:linear-gradient(#664478,#30203b);padding:12px 4px;border:1px solid #bc9b67;border-radius:3px;gap:7px}
.game-room .match-preview-date strong{font-size:27px;color:#efdfc0}
.game-room .ledger-entry{padding:18px 0}
.game-room .ledger-symbol{color:#d5b67e;width:36px;height:40px;justify-content:center;border:1px solid #b18e5f4d;border-radius:4px;background:#b18e5f12}
.game-room .team-management{padding:24px;background:transparent;border:0;box-shadow:none}
.game-room .team-management .detail-disclosure{margin-top:0;margin-bottom:18px;padding:0 22px;border-color:#aa8b5b66;background:linear-gradient(120deg,#2d2135,#19121f)}
.game-room .team-management .detail-disclosure>summary{min-height:76px}
.game-room .disclosure-copy strong{font:700 20px var(--display);color:#e3c79b}
.game-room .disclosure-copy small{font-size:13px}
.game-room .panel-symbol{color:#d7b67b}
/* Growth vault: two resource sources, one distinct Bonus account. */
.game-room .wallet-workspace{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:0;padding:0;overflow:hidden}
.game-room .wallet-balance-main{padding:26px}
.game-room .wallet-balances{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.growth-resource{position:relative;display:flex;align-items:center;gap:18px;min-width:0;padding:28px 22px;border:1px solid #ac80c171;border-radius:4px;background:radial-gradient(ellipse at 10% 20%,#9766bc33,transparent 70%),linear-gradient(130deg,#3b244b,#21162c);box-shadow:inset 0 0 0 4px #140c1b99,0 6px 16px #0004;isolation:isolate}
.growth-resource.resource-event{border-color:#cfac6b88;background:radial-gradient(ellipse at 10% 20%,#b38e3d33,transparent 70%),linear-gradient(130deg,#4b3826,#251c19)}
.resource-emblem{display:grid;place-items:center;flex:none;width:65px;height:72px;color:#e0b5fa;border:2px solid #c098d7;border-radius:42%;background:linear-gradient(140deg,#6e418f,#2a1839);box-shadow:inset 0 0 0 4px #281332,0 0 0 3px #130b1a}
.resource-emblem svg{width:31px;height:31px;stroke-width:1.5}
.resource-event .resource-emblem{color:#f6d498;border-color:#debc7e;background:linear-gradient(140deg,#9d7940,#39271e);box-shadow:inset 0 0 0 4px #332114,0 0 0 3px #1e130f}
.resource-copy{min-width:0}
.resource-label{color:#e0cdea;font:700 18px var(--display)}
.resource-event .resource-label{color:#e3c697}
.resource-total{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin:10px 0 8px;line-height:1.1}
.resource-total strong{font-size:42px;font-weight:750;color:#f1ddfc;font-variant-numeric:tabular-nums;letter-spacing:-.025em}
.resource-event .resource-total strong{color:#f2d69e}
.resource-total>span{color:#b7a2c2;font-size:12px;white-space:nowrap}
.resource-copy p{font-size:12px;color:#bdabc8;line-height:1.8}
.resource-event .resource-copy p{color:#c0ac8c}
.game-room .wallet-bonus{position:relative;padding:32px 26px;background:linear-gradient(135deg,#493622,#29201b);border-left:1px solid #c3a06b66;border-radius:0;display:flex;align-items:start;justify-content:center;flex-direction:column}
.game-room .wallet-bonus:before{content:"";width:50px;height:50px;display:block;border:2px solid #c6a368;border-radius:50%;background:radial-gradient(circle,#b28a4333 0 35%,#241b15 37% 45%,#bc97555c 47% 50%,#33251b 52%);box-shadow:inset 0 0 0 4px #231914,0 0 0 3px #b28a4322;margin-bottom:18px}
.game-room .wallet-bonus h3{font:700 19px var(--display);color:#dec294}
.game-room .wallet-bonus>strong{font-size:30px;color:#ebc47b;margin:12px 0}
.game-room .wallet-bonus p{color:#c3ad8d;font-size:13px;line-height:1.9}
.game-room .wallet-balance-main>.subtle{font-size:13px;margin-top:20px}
.game-room .wallet-sync-status{margin-bottom:20px;padding:16px 20px;background:#271f22;border-color:#b4925655;border-left-color:#e0b86f;border-radius:4px}
.game-room .wallet-sync-status>strong{font-size:14px;color:#d9bd86}
.game-room .wallet-sync-status>p{font-size:13px;line-height:1.8}
.game-room .wallet-guild-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:22px}
.game-room .wallet-guild{display:grid;grid-template-columns:62px minmax(0,1fr);padding:22px;border:1px solid #9d7ca960;border-radius:4px;background:linear-gradient(125deg,#3d2948,#1a1423);gap:16px;align-items:center}
.game-room .wallet-guild+.wallet-guild{border:1px solid #9d7ca960}
.game-room .wallet-guild .guild-avatar{width:60px;height:68px;border-radius:34% 34% 45% 45%;border:1px solid #d2af72;font:700 34px var(--display)}
.game-room .wallet-guild h3{font:700 23px var(--display);color:#f0d4a1;overflow-wrap:anywhere}
.game-room .wallet-guild .row-meta{font-size:13px;line-height:1.8;display:block;margin-top:8px}
.game-room .wallet-guild .row-action{grid-column:1/-1;grid-row:auto;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px;justify-content:stretch}
.game-room .wallet-guild .row-action .btn{width:100%;border:1px solid #ac8a5a66}
.game-room .wallet-guild .row-action .btn:last-child{color:#efdbb0;background:linear-gradient(#6e478a,#43234f);border-color:#d4b27599}
.game-room .wallet-ledger{padding:26px}
.game-room .wallet-ledger>.section-head{border-bottom:1px solid #ac8a5a55;padding-bottom:20px}
.game-room .wallet-history .compact-row{padding:20px 0;border-color:#b69a6f29;gap:20px}
.game-room .history-description strong{font-size:14px;line-height:1.8;color:#e0cfdf}
.game-room .history-description small{font-size:12px;color:#b9a5c3}
.game-room .wallet-history .badge{font-size:16px;padding:8px 14px;border:1px solid #b8a5cd3d;background:#140e1a;white-space:nowrap}
/* Workshop: the real toy is the hero, with a three-slot equipment rack. */
.game-room .loadout-slotlist{gap:18px;margin-bottom:24px}
.game-room .equipment-slot{position:relative;display:grid;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:18px;padding:24px 20px;border:1px solid #9f80b36b;border-radius:5px;min-height:136px;background:linear-gradient(135deg,#35243f,#19121f);box-shadow:inset 0 0 0 4px #100b1788,0 5px 15px #0003;text-align:left}
.game-room .equipment-slot.active{border-color:#e6bf7a;background:linear-gradient(130deg,#6a4282,#382246 65%);box-shadow:inset 0 0 0 3px #251331,inset 0 0 0 4px #b78b4d88,0 0 16px #9e6ccd22;color:#f3e3fb}
.equipment-slot-number{position:absolute;right:12px;top:6px;font-size:13px;font-weight:700;color:#b394bc;letter-spacing:.04em}
.game-room .equipment-slot.active .equipment-slot-number{color:#efd19d}
.game-room .equipment-slot .part-photo{width:82px;height:82px;flex-basis:82px;border:2px solid #a88c635c;border-radius:50%;background:#eee9e6;box-shadow:0 0 0 4px #0d091166}
.game-room .equipment-slot.active .part-photo{border-color:#dabb81}
.game-room .equipment-slot .loadout-slot-copy{min-width:0;gap:5px}
.game-room .equipment-slot strong{font:700 19px var(--display);color:#e5cda6}
.equipment-part-name{display:block;font-size:13px;color:#c3b2cf;overflow-wrap:anywhere}
.game-room .equipment-slot small{font-size:12px;color:#a68ab6;display:block;margin-top:3px}
.game-room .equipment-slot.active small{color:#e1c596}
.game-room .loadout-workspace{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);border:1px solid #c09b645e;overflow:visible;background:linear-gradient(100deg,#24172e,#17111e);box-shadow:inset 0 0 0 4px #100b1766}
.game-room .loadout-preview{position:relative;isolation:isolate;padding:28px;gap:22px;background:radial-gradient(ellipse at 50% 38%,#92649333,transparent 65%)}
.game-room .loadout-preview>.loadout-top{padding-bottom:18px;border-color:#a581b34d}
.game-room .loadout-title h2{font:700 25px var(--display);color:#e4c38e}
.game-room .loadout-main-photo{width:min(100%,260px);padding:13px;border:2px solid #d5ad70;border-radius:50%;background:conic-gradient(from 45deg,#211128,#83603f,#22132d,#98704a,#211128);box-shadow:inset 0 0 0 4px #180e23,0 0 0 6px #b78c5022,0 18px 30px #0005}
.game-room .loadout-main-photo>.part-photo{display:grid;width:100%;height:auto;aspect-ratio:1;border:1px solid #d8bb8977;border-radius:50%;box-shadow:0 0 0 5px #1e1228}
.game-room .loadout-preview-empty{border-radius:50%;background:#21172d;color:#bd9ecd;aspect-ratio:1;font-size:13px;border:1px dashed #ad83c077}
.game-room .preview-parts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;margin-top:6px}
.game-room .preview-part{display:flex;align-items:center;flex-direction:column;gap:10px;text-align:center;padding:16px 8px;border:1px solid #9e7dae4d;border-radius:4px;background:#120d1a88}
.game-room .preview-part small{font-size:13px;color:#d5b1e1}
.game-room .preview-part .part-photo{width:54px;height:54px;flex-basis:54px;border:1px solid #d2ad7266;border-radius:50%}
.game-room .preview-part strong{font-size:12px;line-height:1.8;color:#c8b2d2;min-width:0;width:100%;overflow-wrap:anywhere;font-weight:500}
.integrated-part-symbol{display:grid;place-items:center;width:54px;height:54px;border:1px solid #a88a5a66;border-radius:50%;color:#cbb075;background:#2a201d}
.game-room .loadout-editor{padding:30px;border-color:#b08c5b5c}
.game-room .loadout-editor>.panel-toolbar{padding:0 0 20px;margin-bottom:22px;background:none}
.game-room .loadout-editor h3{font:700 24px var(--display);color:#ead0a2}
.game-room .part-field{margin-top:24px}
.game-room .part-label{color:#d7bdde;font-size:15px;margin-bottom:10px}
.game-room .part-label small{font-size:12px;color:#9b83aa}
.game-room .selected-part{padding:16px;border:1px solid #ad83c06b;border-radius:4px;background:linear-gradient(120deg,#3a2549,#20162c);box-shadow:inset 0 0 0 3px #100a1866;gap:16px}
.game-room .selected-part .part-photo{width:70px;height:70px;flex-basis:70px;border-radius:50%;border:1px solid #c8a37199}
.game-room .selected-part strong{font-size:15px;color:#eadced}
.game-room .selected-part small{font-size:13px;color:#b69bc3}
.game-room .remove-part{border:1px solid #9575a133;width:38px;height:38px;min-height:38px;min-width:38px;background:#100c17aa;border-radius:50%;font-size:24px}
.game-room .part-source{font-size:13px;color:#d0ac78}
.game-room .part-unneeded{border:1px solid #c6a36855;border-radius:4px;color:#cfb98a;background:#342a1e;padding:18px}
.game-room .part-results-panel{padding:12px;border:1px solid #b59a6a;background:linear-gradient(120deg,#35243f,#1a1221);border-radius:4px;box-shadow:inset 0 0 0 3px #110a1955,0 12px 25px #0006}
.game-room .part-results-caption{font-size:13px;color:#e4c28c;padding:4px 6px 12px}
.game-room .part-results{gap:8px;max-height:390px;padding:3px}
.game-room .part-option{min-height:86px;padding:12px;border:1px solid #93729e55;border-radius:3px;background:linear-gradient(100deg,#241a2d,#1b1324);gap:14px}
.game-room .part-option .part-photo{width:60px;height:60px;flex-basis:60px;border-radius:50%;border:1px solid #ad8f6577}
.game-room .part-option strong{font-size:14px;color:#e5d3eb;line-height:1.6}
.game-room .part-option small{font-size:12px;color:#b79cc4}
.game-room .part-option:hover,.game-room .part-option.active,.game-room .part-option[aria-selected=true]{border-color:#e0be7c;background:linear-gradient(100deg,#68407c,#382343);box-shadow:inset 0 0 0 2px #1b1028}
.game-room .save-toolbar{padding:18px 22px;border:1px solid #bd9a61;border-radius:4px;background:linear-gradient(100deg,#392341f5,#1d1328f5);box-shadow:inset 0 0 0 3px #120a1c88,0 8px 25px #0006;backdrop-filter:blur(16px)}
.game-room .save-toolbar strong{font-size:15px;color:#e5c990}.game-room .save-toolbar small{font-size:12px;color:#b5a0c0;line-height:1.8}
.game-room .save-toolbar .btn{min-height:48px;padding-inline:26px}
/* Match boards: dates and actual registration status stay prominent. */
.game-room .event-filter-bar{gap:18px;align-items:center;flex-wrap:wrap;margin-bottom:20px}
.game-room .event-scope-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.game-room .event-scope-filters>.btn{padding:12px 20px}
.game-room .event-team-filters{gap:10px;margin-bottom:16px}
.game-room .event-team-filter{border:1px solid #b08d5f66;background:linear-gradient(#2c1e35,#1c1424);padding:10px 16px;color:#c6b0d3;font-size:14px;border-radius:3px}
.game-room .event-team-filter.active{border-color:#d8b576;background:linear-gradient(#604071,#34213e);color:#f0dbb4;box-shadow:inset 0 0 0 2px #24152f}
.game-room .event-team-filter .guild-avatar{width:30px;height:34px;border:1px solid #af8d604d;border-radius:35%;font-family:var(--display);font-size:17px}
.game-room .event-feed-caption{font-size:13px;line-height:1.9;color:#b8a2c2;margin-bottom:20px}
.game-room .event-date-boundary{padding:12px 16px;background:#a47e4412;border:1px solid #b2905d55;border-radius:3px;color:#d3bb91;font-size:13px;margin-bottom:22px}
.game-room .event-date-boundary:after{background:#b2905d44}
.game-room .event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;background:none;border:0;box-shadow:none;border-radius:0;padding:0}
.game-room .event-card{position:relative;display:grid;grid-template-columns:70px minmax(0,1fr);gap:22px;align-items:start;padding:26px;border:1px solid #c19d685e!important;border-top:3px solid #c19d68!important;border-radius:4px;background:radial-gradient(ellipse at 0 0,#74458f22,transparent 70%),linear-gradient(130deg,#2e1f38,#17111e);box-shadow:inset 0 0 0 4px #0d091344,0 8px 24px #0003}
.game-room .event-date{gap:10px;min-width:0;width:70px;min-height:120px;padding:17px 8px;border:1px solid #c3a272;border-radius:3px;background:linear-gradient(150deg,#67417c,#2d1c3c);box-shadow:inset 0 0 0 4px #1c102b;align-self:start}
.game-room .event-date strong{font:700 38px/1 var(--display);color:#f1dcb4;letter-spacing:0}
.game-room .event-date>span{font-size:13px;color:#dac0b1}.game-room .event-date>small{font-size:12px;color:#a78eae}
.game-room .event-body{gap:14px}
.game-room .event-body h3{font:700 23px/1.6 var(--display);color:#f0d6ad;overflow-wrap:anywhere}
.game-room .event-status{gap:8px 10px}
.game-room .event-status .badge{font-size:12px;color:#cdb2da;background:#9a74ae12;padding:3px 7px;border:1px solid #9e7cae44;border-radius:2px;margin:0}
.game-room .event-status .badge:before{display:none}
.game-room .event-status .badge.green{color:#a4d1b5;background:#70b48b12;border-color:#83b48d44}
.game-room .event-info{font-size:13px;line-height:1.8;gap:6px 14px}
.game-room .event-action{grid-column:1/-1;display:grid;gap:10px;grid-template-columns:1fr;max-width:none;align-self:end;border-top:1px solid #a883b244;padding-top:18px;margin-top:0}
.game-room .event-action .btn{min-height:48px;font-size:15px}
.game-room .team-participants{margin-top:4px;padding:14px;border:1px solid #91709e55;border-radius:3px;background:#120d1a77}
.game-room .participant-heading{gap:6px;margin-bottom:10px}
.game-room .participant-heading strong{font-size:14px;color:#d5b4e6}.game-room .participant-heading small{font-size:12px;color:#b09abb}
.game-room .participant-chips{gap:8px}
.game-room .participant-chip{font-size:13px;line-height:1.7;padding:5px 9px;border:1px solid #8e71a34d;background:#75508b18;border-radius:2px}
.game-room .participant-chip.is-me{border-color:#77a58d55;background:#79a58b16;color:#9cc5ad}
.game-room .registration-status{font-size:13px;padding-top:5px;line-height:1.8}
.game-room .event-rewards{margin-top:26px;padding:8px 24px}
.game-room .event-reward-items{gap:16px;margin-top:18px}
.game-room .event-reward-items>div{padding:20px 16px;border:1px solid #b9986566;background:linear-gradient(130deg,#4a3425,#241b20);border-radius:3px;gap:10px}
.game-room .event-reward-items strong{font:700 21px var(--display);color:#edcc8a}.game-room .event-reward-items small{font-size:13px;line-height:1.8}
/* Strategy room: physical equipment pictures, distinct usage and podium boards. */
.game-room .analytics-summary{display:flex;gap:0;align-items:stretch;padding:0;background:#211729;border-color:#ac8a5c66;margin-bottom:24px}
.game-room .analytics-summary .metric{flex:1;padding:24px 30px;border-right:1px solid #a883b233;gap:10px;min-width:0}
.game-room .analytics-summary .metric:last-child{border:0}
.game-room .analytics-summary .metric-label{font-size:14px;color:#c6a9d5}
.game-room .analytics-summary .metric strong{font-size:28px;color:#ead4b2}
.game-room .analytics-summary .metric small{font-size:12px;line-height:1.8}
.game-room .analysis-kind-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:0;background:none;border:0;box-shadow:none;margin-bottom:24px;border-radius:0}
.game-room .analysis-kind-tabs>.btn{display:flex;align-items:center;justify-content:start;gap:16px;min-height:96px;border:1px solid #9772a766;border-radius:4px;background:linear-gradient(135deg,#35213f,#1b1325);padding:16px 20px;font-size:19px;font-family:var(--display);color:#d8bedf}
.game-room .analysis-kind-tabs>.btn.active{border:1px solid #d9b477;background:linear-gradient(135deg,#7a4b93,#3e254c);box-shadow:inset 0 0 0 3px #20122c;color:#f5dcad}
.game-room .analysis-kind-tabs .analytics-part-preview{width:60px;flex:none}
.game-room .analysis-kind-tabs .part-photo{width:58px;height:58px;flex-basis:58px;border-radius:50%;border:1px solid #b5976577}
.game-room .analysis-kind-tabs .analytics-part-preview.is-combo .part-photo{width:26px;height:26px;flex-basis:26px}
.game-room .analysis-kind-tabs .analytics-part-placeholder{border:1px solid #ad895b66;border-radius:50%;width:58px;height:58px;background:#24172d;color:#c8a374}
.game-room .analytics-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;background:transparent;border:0;box-shadow:none;padding:0}
.game-room .strategy-board{padding:24px;border:1px solid #b9986a77!important;border-radius:4px;background:linear-gradient(135deg,#2f2138,#19121f);box-shadow:inset 0 0 0 4px #100b174d,0 8px 24px #0004}
.game-room .strategy-board:nth-child(2){border-color:#c5a16b99!important;background:linear-gradient(135deg,#3c2e29,#1d171c)}
.game-room .strategy-board>.panel-toolbar{padding:0 0 20px;background:none;min-height:80px}
.game-room .strategy-board>.panel-toolbar h2{font-size:25px;color:#e7cba0}
.game-room .strategy-board>.panel-toolbar p{font-size:13px}
.game-room .analytics-ranking{gap:0}
.game-room .bar-item{display:grid;grid-template-columns:24px 66px minmax(0,1fr) 50px;gap:14px;align-items:center;padding:20px 0;border-bottom:1px solid #a787b12b}
.game-room .bar-item:last-child{border-bottom:0}
.game-room .bar-item>.rank{font-size:17px;color:#ac8a5a;font-weight:700}
.game-room .bar-item>.rank.top{color:#dfbc7e}
.game-room .analytics-part-preview{width:66px;min-width:0;gap:3px}
.game-room .analytics-part-preview .part-photo{width:64px;height:64px;flex-basis:64px;border-radius:50%;border:1px solid #c09a625e}
.game-room .analytics-part-preview.is-combo{display:grid;grid-template-columns:repeat(2,31px);gap:4px}
.game-room .analytics-part-preview.is-combo .part-photo{width:31px;height:31px;flex-basis:31px;border-radius:50%}
.game-room .analytics-part-placeholder{width:64px;height:64px;border:1px solid #aa865b66;border-radius:50%;color:#c5a46e;background:#251a30}
.game-room .analytics-row-copy>strong{font-size:15px;color:#e3cee8;line-height:1.7}
.game-room .analytics-row-copy>.bar-track{height:7px;background:#110b19;border:1px solid #9f78b233;margin-top:10px;margin-bottom:6px}
.game-room .analytics-row-copy>.bar-track>span{background:linear-gradient(#c394e7,#8455ad)}
.game-room .strategy-board:nth-child(2) .bar-track>span{background:linear-gradient(#edce93,#a67d3d)}
.game-room .analytics-row-copy>small{font-size:12px;color:#b89cc3}
.game-room .bar-item>.count{font-size:18px;color:#e0c08a;font-weight:650;text-align:right}
.game-room .analytics-empty{min-height:260px;display:grid;align-content:center;justify-items:center;text-align:center;padding:30px 24px;font-size:14px;color:#bba2c6;line-height:1.9}
.game-room .analytics-empty .empty-room-emblem{margin-bottom:22px}
/* Recruitment and confirmations use the same material language. */
.game-room #guild-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:24px}
.game-room .guild-directory-row{display:grid;grid-template-columns:70px minmax(0,1fr);gap:14px 18px;padding:24px;background:linear-gradient(135deg,#422951,#1c1425);border:1px solid #9e78af77!important;border-radius:4px;box-shadow:inset 0 0 0 3px #100b1744}
.game-room .guild-directory-row>.guild-avatar{width:68px;height:78px;border:1px solid #d1ac72;border-radius:34% 34% 45% 45%;font:700 39px var(--display);grid-row:1/3}
.game-room .guild-directory-row h3{font:700 24px var(--display);color:#efd5a5;line-height:1.6}
.game-room .guild-directory-stats{grid-column:2;display:flex;flex-wrap:wrap;gap:8px 16px;font-size:13px;color:#bfa5cb}
.game-room .guild-directory-copy .guild-description{font-size:14px;line-height:1.9;margin-top:7px}
.game-room .guild-directory-copy .row-meta{font-size:12px;margin-top:10px}
.game-room .guild-directory-row .row-action{grid-column:1/-1;width:100%;margin-top:4px;padding-top:18px;border-top:1px solid #9c7aaa44}
.game-room .guild-directory-row .row-action>.btn{width:100%;min-height:48px}
.game-shell #dialog{background:linear-gradient(135deg,#382641,#1a1125);border:1px solid #cfad72;border-radius:5px;box-shadow:inset 0 0 0 5px #0f091999,0 20px 80px #000b;color:#ecdfef}
.game-shell #dialog .dialog-head{padding-bottom:20px;margin-bottom:24px;border-bottom:1px solid #b58e5c66}
.game-shell #dialog .dialog-head h2{font:700 27px/1.5 var(--display);color:#edcf96;overflow-wrap:anywhere}
.game-shell #dialog .dialog-inner{padding:28px}
.game-shell #dialog .dialog-actions{gap:12px;padding-top:22px;border-color:#b28b5855}
.game-shell #dialog .dialog-actions .btn{min-height:46px}
.game-shell #dialog .loadout-summary{background:linear-gradient(135deg,#3f2b4b,#20172c);border:1px solid #b5915b66;border-radius:4px;padding:20px}
.game-shell #dialog .loadout-summary h3{font:700 21px var(--display);color:#e1c69a}
.game-shell #dialog .selected-part .part-photo{border:1px solid #c1a06c66;border-radius:50%}
.game-shell #dialog .price-summary{background:#120c1bb3;border:1px solid #b4945e77;border-radius:3px;padding:20px}
.game-shell #dialog .price-summary strong{color:#e7c58b}
@media(max-width:1200px){
 .game-room .room-masthead{grid-template-columns:80px minmax(0,1fr);padding:30px;gap:22px;min-height:240px}
 .game-room .room-masthead>.page-actions{grid-column:2;justify-self:start;justify-content:start;max-width:none;margin-top:2px}
 .room-insignia{width:76px;height:88px}.room-insignia svg{width:39px;height:39px}
 .game-room .team-summary .team-identity{grid-template-columns:90px minmax(0,1fr)}
 .game-room .team-identity>.guild-avatar{width:85px;height:98px;font-size:48px}
 .game-room .team-identity .page-actions{grid-column:2;justify-self:start;max-width:none;justify-content:start}
 .game-room .team-workbench{grid-template-columns:minmax(0,1fr) 300px;gap:20px}.game-room .member-table{grid-template-columns:1fr}
 .game-room .wallet-workspace{grid-template-columns:minmax(0,1fr) 240px}.game-room .wallet-balances{gap:14px}.growth-resource{flex-direction:column;align-items:start;padding:24px 20px;gap:16px}
 .game-room .equipment-slot{grid-template-columns:64px minmax(0,1fr);padding:22px 16px;gap:14px}.game-room .equipment-slot .part-photo{width:64px;height:64px;flex-basis:64px}.game-room .equipment-slot strong{font-size:17px}
 .game-room .analysis-kind-tabs>.btn{padding:16px;gap:12px;font-size:17px}.game-room .analysis-kind-tabs .analytics-part-preview{width:48px}.game-room .analysis-kind-tabs .part-photo{width:46px;height:46px;flex-basis:46px}
}
@media(max-width:900px){
 .game-room .team-workbench{grid-template-columns:1fr}.game-room .member-table{grid-template-columns:repeat(2,minmax(0,1fr))}.game-room .growth-inspector{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 30px;align-items:start}.game-room .growth-heading{grid-column:1/-1}.game-room .growth-total,.game-room .growth-progress,.game-room .growth-inspector>.progress,.game-room .growth-inspector>p{grid-column:1}.game-room .growth-inspector>.milestone-heading{grid-column:2;grid-row:2;margin-top:0}.game-room .growth-inspector>.milestones{grid-column:2;grid-row:3/7}.game-room .growth-inspector>.level-rules{grid-column:1/-1}
 .game-room .wallet-workspace{grid-template-columns:1fr}.game-room .wallet-balances{grid-template-columns:repeat(2,minmax(0,1fr))}.growth-resource{flex-direction:row}.game-room .wallet-bonus{padding:20px 26px;display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:0 18px;border-left:0;border-top:1px solid #a8875a66}.game-room .wallet-bonus:before{grid-row:1/3;margin:0}.game-room .wallet-bonus>strong{margin:0;grid-column:3;grid-row:1;font-size:25px}.game-room .wallet-bonus p{grid-column:2/-1;margin-top:8px}
 .game-room .analytics-comparison{gap:18px}.game-room .strategy-board{padding:20px}.game-room .bar-item{grid-template-columns:22px 54px minmax(0,1fr) 42px;gap:10px}.game-room .analytics-part-preview{width:54px}.game-room .analytics-part-preview .part-photo{width:52px;height:52px;flex-basis:52px}.game-room .analytics-part-preview.is-combo{grid-template-columns:repeat(2,25px)}.game-room .analytics-part-preview.is-combo .part-photo{width:25px;height:25px;flex-basis:25px}.game-room .analytics-row-copy>strong{font-size:14px}.game-room .bar-item>.count{font-size:16px}
 .game-room .loadout-preview{padding:24px}.game-room .loadout-editor{padding:24px}.game-room .loadout-slotlist{gap:12px}.game-room .equipment-slot{display:flex;flex-direction:column;gap:14px;text-align:center;padding:24px 14px 18px}.game-room .equipment-slot .part-photo{width:76px;height:76px;flex-basis:76px}
 .game-room .event-card{padding:22px;gap:18px;grid-template-columns:58px minmax(0,1fr)}.game-room .event-date{width:58px}.game-room .event-body h3{font-size:21px}
}
@media(max-width:699px){
 .game-room .room-masthead{min-height:194px;grid-template-columns:50px minmax(0,1fr);gap:14px;padding:24px 20px;margin-bottom:22px;align-items:center;background-position:64% center}
 .game-room .room-masthead:after{inset:5px}.game-room .room-masthead h1{font-size:27px;line-height:1.45;letter-spacing:.02em}.game-room .room-masthead p{font-size:13px;line-height:1.8;margin-top:8px;color:#c9b7d1}
 .room-insignia{width:48px;height:57px;border-width:1px;box-shadow:inset 0 0 0 3px #190f25,0 3px 10px #0008}.room-insignia:after{inset:5px}.room-insignia svg{width:26px;height:26px}
 .game-room .room-masthead>.page-actions{grid-column:1/-1;display:flex;justify-self:stretch;justify-content:start;gap:10px;padding:0;margin-top:2px}.game-room .room-masthead>.page-actions .btn{flex:1;font-size:13px;min-height:44px;padding:10px 12px}
 .game-room .room-masthead .page-heading-copy{max-width:none}.game-room h2{font-size:21px}.game-room .panel-toolbar{padding:18px}.game-room .panel-toolbar h2{font-size:21px}.game-room .panel-toolbar p{font-size:12px}.game-room .detail-disclosure{padding:13px 16px;margin-top:20px}.game-room .detail-disclosure>summary{font-size:13px}
 .game-room .empty{min-height:280px;padding:28px 20px;gap:12px}.game-room .empty h3{font-size:22px}.game-room .empty p{font-size:13px}.empty-room-emblem{width:64px;height:72px}.empty-room-emblem svg{width:32px;height:32px}
 .game-room>.guild-picker{margin-bottom:14px;padding:0 12px}.game-room>.guild-picker summary{font-size:13px;padding:12px 0;gap:6px 12px}.game-room>.guild-picker summary .subtle{font-size:12px}.game-room>.guild-picker .guild-tablist{grid-template-columns:1fr}.game-room .guild-tab{padding:12px}.game-room .guild-tab .guild-avatar{width:44px;height:50px;font-size:25px}
 .game-room .team-summary{padding:24px 20px;margin-bottom:16px}.game-room .team-summary .team-identity{grid-template-columns:66px minmax(0,1fr);gap:16px;min-height:0;padding:0 0 20px;margin:0;align-items:center}.game-room .team-identity>.guild-avatar{width:62px;height:74px;font-size:36px;box-shadow:inset 0 0 0 3px #1c1027,0 0 0 3px #a98a4e44}.game-room .team-identity h1{font-size:29px;line-height:1.5}.game-room .team-identity p{font-size:13px}.game-room .team-identity .page-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px;width:100%}.game-room .team-identity .page-actions>.btn{width:100%;min-height:46px;font-size:14px;padding:10px}.game-room .team-identity .page-actions>.btn.ghost{grid-column:1/-1;justify-self:end;width:auto;min-height:36px;font-size:12px;padding:6px 10px}
 .hall-progress{gap:12px;padding:14px;margin:2px 0 18px}.hall-level{font-size:22px}.hall-progress-copy>div:first-child{gap:8px;font-size:12px;margin-bottom:8px}.game-room .hall-progress .progress{height:9px}.game-room .team-capacity-line{padding-top:16px;gap:10px 14px;font-size:13px}.game-room .team-capacity-line .subtle{font-size:12px}.game-room .team-capacity-line .btn{min-height:38px;padding:6px 0;font-size:13px}
 .game-room .team-checkin{padding:16px;gap:14px;align-items:center;margin-bottom:20px}.game-room .team-checkin strong{font-size:18px}.game-room .team-checkin .subtle{font-size:12px;line-height:1.8;display:block;margin-top:6px}.game-room .team-checkin .btn{flex:none;font-size:12px;padding:10px 12px}
 .game-room .team-view-tabs{max-width:none;width:100%;gap:5px;margin-bottom:20px}.game-room .segmented-control>button{min-height:44px;font-size:14px;padding:10px 14px}.game-room .team-workbench{gap:20px}.game-room .roster-panel{padding:20px 16px}.game-room .roster-panel .section-head{gap:12px;flex-wrap:wrap;padding-bottom:16px;margin-bottom:16px}.game-room .section-head p{font-size:12px}.game-room .my-contribution{font-size:12px;padding:6px 9px}.game-room .member-table{grid-template-columns:1fr;gap:12px}.game-room .member-row{padding:16px;grid-template-columns:26px 46px minmax(0,1fr);gap:12px}.game-room .member-avatar{width:44px;height:50px;font-size:25px}.game-room .member-name strong{font-size:15px}.game-room .member-contribution{grid-column:2/-1}.game-room .member-actions{grid-column:1/-1}.game-room .roster-note{font-size:12px;margin-top:18px}.game-room .growth-inspector{display:block;padding:24px 20px}.game-room .growth-heading{margin-bottom:22px}.game-room .growth-total strong{font-size:40px}.game-room .milestone-heading{margin-top:26px}.game-room .milestone{padding:16px 8px}.game-room .level-rules{padding:10px 0 0}
 .game-room .team-activity{padding:20px 16px}.game-room .team-schedule .section-head{align-items:start;flex-wrap:wrap}.game-room .match-preview-row{padding:14px;gap:12px;grid-template-columns:46px minmax(0,1fr)}.game-room .match-preview-date{width:46px}.game-room .match-preview-copy strong{font-size:14px}.game-room .match-preview-row>.btn,.game-room .match-preview-row>.badge{grid-column:2;justify-self:start}.game-room .team-management{padding:0}.game-room .team-management .detail-disclosure{padding:0 16px}.game-room .disclosure-copy strong{font-size:19px}.game-room .disclosure-copy small{font-size:12px}
 .game-room .wallet-balance-main{padding:20px 16px}.game-room .wallet-balance-main>.panel-toolbar{padding:0 0 18px;margin-bottom:20px;gap:12px}.game-room .wallet-balance-main>.panel-toolbar h2{font-size:20px}.game-room .wallet-balance-main>.panel-toolbar .btn{font-size:13px;padding:10px 12px}.game-room .wallet-balances{grid-template-columns:1fr;gap:16px}.growth-resource{flex-direction:row;gap:20px;padding:24px 20px}.resource-emblem{width:62px;height:70px}.resource-label{font-size:20px}.resource-total strong{font-size:38px}.resource-copy p{font-size:12px}.game-room .wallet-balance-main>.subtle{font-size:12px}.game-room .wallet-bonus{padding:22px 20px;grid-template-columns:44px minmax(0,1fr);gap:0 16px}.game-room .wallet-bonus:before{width:42px;height:42px;grid-row:1/3}.game-room .wallet-bonus h3{font-size:17px;grid-column:2}.game-room .wallet-bonus>strong{grid-column:2;grid-row:2;font-size:25px;margin-top:8px}.game-room .wallet-bonus p{grid-column:1/-1;font-size:12px;margin-top:14px}
 .game-room .wallet-sync-status{padding:14px 16px}.game-room .wallet-sync-status>strong{font-size:13px}.game-room .wallet-sync-status>p{font-size:12px}.game-room .wallet-guild-list{grid-template-columns:1fr;gap:14px;padding:16px}.game-room .wallet-guild{padding:20px 16px;gap:16px;grid-template-columns:56px minmax(0,1fr)}.game-room .wallet-guild .guild-avatar{width:54px;height:64px;font-size:33px}.game-room .wallet-guild h3{font-size:22px}.game-room .wallet-guild .row-meta{font-size:12px}.game-room .wallet-guild .row-action .btn{font-size:13px;min-height:44px;padding:10px}.game-room .wallet-ledger{padding:22px 18px}.game-room .wallet-history .compact-row{gap:14px}.game-room .history-description strong{font-size:13px}.game-room .wallet-history .badge{font-size:14px;padding:6px 9px}
 .game-room .loadout-slotlist{gap:8px;margin-bottom:20px}.game-room .equipment-slot{padding:20px 7px 14px;gap:10px;min-height:160px;text-align:center}.equipment-slot-number{right:7px;top:4px;font-size:12px}.game-room .equipment-slot .part-photo{width:60px;height:60px;flex-basis:60px}.game-room .equipment-slot strong{font:700 15px/1.5 var(--display)}.equipment-part-name{font-size:12px;line-height:1.6}.game-room .equipment-slot small{font-size:12px}.game-room .equipment-slot .loadout-slot-copy{gap:3px;display:grid;justify-items:center}
 .game-room .loadout-workspace{display:block}.game-room .loadout-preview{padding:22px 18px;gap:20px}.game-room .loadout-title h2{font-size:24px}.game-room .loadout-main-photo{width:180px;padding:10px;box-shadow:inset 0 0 0 3px #180e23,0 0 0 5px #b78c5022,0 10px 24px #0005}.game-room .preview-parts{gap:10px;margin-top:4px}.game-room .preview-part{gap:8px;padding:14px 6px}.game-room .preview-part small{font-size:12px}.game-room .preview-part .part-photo{width:44px;height:44px;flex-basis:44px}.game-room .preview-part strong{font-size:12px;line-height:1.7}.integrated-part-symbol{width:44px;height:44px}.game-room .loadout-editor{padding:22px 18px;border-left:0;border-top:1px solid #a17aa64d}.game-room .loadout-editor h3{font-size:22px}.game-room .loadout-editor>.panel-toolbar{gap:12px}.game-room .loadout-editor>.panel-toolbar>span{font-size:12px;max-width:45%}.game-room .part-field{margin-top:22px}.game-room .part-label{font-size:14px}.game-room .selected-part{gap:12px;padding:14px}.game-room .selected-part .part-photo{width:56px;height:56px;flex-basis:56px}.game-room .selected-part strong{font-size:14px}.game-room .selected-part small{font-size:12px}.game-room .remove-part{width:34px;min-width:34px;height:34px;min-height:34px;font-size:24px}.game-room .part-results-panel{padding:10px}.game-room .part-option{padding:10px;gap:12px;min-height:78px}.game-room .part-option .part-photo{width:52px;height:52px;flex-basis:52px}.game-room .part-option strong{font-size:13px}.game-room .part-option small{font-size:12px}.game-room .save-toolbar{padding:14px;gap:12px}.game-room .save-toolbar strong{font-size:13px}.game-room .save-toolbar .btn{min-height:46px;font-size:13px;padding:10px 14px;max-width:48%}.game-room .save-toolbar small{font-size:12px}
 .game-room .event-scope-filters{width:100%;gap:3px;padding:4px}.game-room .event-scope-filters>.btn{padding:10px 6px;font-size:12px;min-height:46px}.game-room .event-filter-bar{gap:12px}.game-room .event-team-filter{padding:9px 12px;font-size:13px}.game-room .event-team-filter .guild-avatar{width:28px;height:32px}.game-room .event-feed-caption{font-size:12px}.game-room .event-date-boundary{font-size:12px;padding:12px;gap:8px}.game-room .event-grid{grid-template-columns:1fr;gap:18px}.game-room .event-card{padding:22px 18px;gap:16px;grid-template-columns:54px minmax(0,1fr)}.game-room .event-date{width:54px;min-height:112px;padding:17px 6px;gap:10px}.game-room .event-date strong{font-size:32px}.game-room .event-date>span,.game-room .event-date>small{font-size:12px}.game-room .event-body{gap:12px}.game-room .event-body h3{font-size:21px}.game-room .event-status{gap:6px}.game-room .event-status .badge{font-size:12px;line-height:1.7;padding:2px 5px}.game-room .event-info{font-size:12px;gap:7px}.game-room .team-participants{padding:12px}.game-room .participant-heading strong{font-size:13px}.game-room .participant-chip{font-size:12px;padding:5px 7px}.game-room .registration-status{font-size:12px}.game-room .event-action{padding-top:18px}.game-room .event-action .btn{font-size:14px}.game-room .event-rewards{padding:4px 16px}.game-room .event-reward-items{grid-template-columns:1fr;gap:12px}.game-room .event-reward-items>div{padding:18px}.game-room .event-reward-items strong{font-size:22px}
 .game-room .analytics-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.game-room .analytics-summary .metric{padding:20px;border-right:1px solid #9d78aa33;border-bottom:1px solid #9d78aa33}.game-room .analytics-summary .metric:nth-child(2){border-right:0}.game-room .analytics-summary .metric:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;border:0}.game-room .analytics-summary .metric:last-child>strong{grid-column:2;grid-row:1/3;align-self:center;text-align:right}.game-room .analytics-summary .metric-label{font-size:13px}.game-room .analytics-summary .metric strong{font-size:26px}.game-room .analysis-kind-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.game-room .analysis-kind-tabs>.btn{min-height:84px;padding:14px;gap:12px;font-size:17px}.game-room .analysis-kind-tabs .analytics-part-preview{width:44px}.game-room .analysis-kind-tabs .part-photo{width:42px;height:42px;flex-basis:42px}.game-room .analysis-kind-tabs .analytics-part-preview.is-combo .part-photo{width:19px;height:19px;flex-basis:19px}.game-room .analysis-kind-tabs .analytics-part-placeholder{width:42px;height:42px}.game-room .analytics-comparison{grid-template-columns:1fr;gap:20px}.game-room .strategy-board{padding:22px 18px}.game-room .strategy-board>.panel-toolbar{min-height:0;padding-bottom:20px}.game-room .strategy-board>.panel-toolbar h2{font-size:24px}.game-room .bar-item{grid-template-columns:20px 56px minmax(0,1fr) 42px;gap:10px;padding:20px 0}.game-room .analytics-part-preview{width:56px}.game-room .analytics-part-preview .part-photo{width:54px;height:54px;flex-basis:54px}.game-room .analytics-part-preview.is-combo{grid-template-columns:repeat(2,26px);gap:4px}.game-room .analytics-part-preview.is-combo .part-photo{width:26px;height:26px;flex-basis:26px}.game-room .analytics-row-copy>strong{font-size:13px;line-height:1.8}.game-room .analytics-row-copy>small{font-size:12px}.game-room .bar-item>.count{font-size:16px}.game-room .analytics-empty{min-height:220px;font-size:13px;padding:24px 16px}
 .game-room #guild-grid{grid-template-columns:1fr;gap:16px;padding:16px}.game-room .guild-directory-row{padding:22px 18px;grid-template-columns:56px minmax(0,1fr);gap:14px}.game-room .guild-directory-row>.guild-avatar{width:54px;height:64px;font-size:33px}.game-room .guild-directory-row h3{font-size:23px}.game-room .guild-directory-stats{font-size:12px;gap:8px 12px}.game-room .guild-directory-copy .guild-description{font-size:13px}.game-room .guild-directory-row .row-action{padding-top:16px}.game-room .guild-directory .panel-toolbar{align-items:stretch;flex-direction:column;gap:16px}.game-room .guild-directory .search-bar{width:100%;min-width:0}
 .game-shell #dialog .dialog-inner{padding:22px 18px}.game-shell #dialog .dialog-head h2{font-size:24px}.game-shell #dialog .dialog-actions{gap:10px}.game-shell #dialog .dialog-actions .btn{font-size:13px;min-height:46px}.game-shell #dialog .loadout-summary{padding:18px 14px}
}
@media(max-width:359px){
 .game-room .room-masthead{padding:22px 16px;gap:12px;grid-template-columns:44px minmax(0,1fr)}.room-insignia{width:42px;height:51px}.game-room .room-masthead h1{font-size:25px}.game-room .team-summary{padding:22px 16px}.game-room .team-summary .team-identity{grid-template-columns:56px minmax(0,1fr);gap:14px}.game-room .team-identity>.guild-avatar{width:54px;height:66px;font-size:33px}.game-room .team-identity h1{font-size:26px}.game-room .team-checkin{padding:14px 12px;gap:12px}.game-room .team-checkin .btn{font-size:12px;padding:10px}.game-room .member-row{padding:14px 12px;grid-template-columns:22px 40px minmax(0,1fr);gap:10px}.game-room .member-avatar{width:40px;height:47px;font-size:24px}.growth-resource{padding:22px 16px;gap:16px}.resource-emblem{width:52px;height:62px}.resource-label{font-size:18px}.resource-total strong{font-size:36px}.game-room .equipment-slot{padding:19px 5px 13px}.game-room .equipment-slot .part-photo{width:52px;height:52px;flex-basis:52px}.game-room .equipment-slot strong{font-size:14px}.game-room .equipment-slot-number{font-size:12px}.game-room .loadout-editor{padding:22px 14px}.game-room .selected-part{padding:12px;gap:10px}.game-room .selected-part .part-photo{width:48px;height:48px;flex-basis:48px}.game-room .selected-part strong{font-size:13px}.game-room .save-toolbar{padding:12px;gap:10px}.game-room .save-toolbar .btn{padding:10px;font-size:12px}.game-room .event-card{padding:20px 14px;gap:14px;grid-template-columns:48px minmax(0,1fr)}.game-room .event-date{width:48px}.game-room .event-body h3{font-size:20px}.game-room .strategy-board{padding:20px 14px}.game-room .bar-item{grid-template-columns:18px 48px minmax(0,1fr) 36px;gap:8px}.game-room .analytics-part-preview{width:48px}.game-room .analytics-part-preview .part-photo{width:46px;height:46px;flex-basis:46px}.game-room .analytics-part-preview.is-combo{grid-template-columns:repeat(2,22px)}.game-room .analytics-part-preview.is-combo .part-photo{width:22px;height:22px;flex-basis:22px}.game-room .bar-item>.count{font-size:14px}.game-room .analysis-kind-tabs>.btn{padding:12px 10px;gap:10px;font-size:16px}
}
@media(prefers-reduced-transparency:reduce){.game-room .save-toolbar{background:#30203e;backdrop-filter:none}.game-room .team-summary{background-image:linear-gradient(90deg,#170e20f5,#211426ee),url('/teams/assets/guild-dojo-wide.webp')}}
@media(prefers-contrast:more){.game-room{--room-edge:#e0c58dcc}.game-room .workspace-panel,.game-room .member-row,.game-room .equipment-slot,.game-room .strategy-board{border-color:#dbc08e!important}.game-room .subtle,.game-room .help,.game-room p{color:#dac9e3}.game-room .part-option small,.game-room .equipment-part-name{color:#d5bddf}}

@media(min-width:901px){.game-room .team-summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:14px 28px;padding:26px}.game-room .team-summary .team-identity{grid-column:1/-1;min-height:104px;padding:0 0 10px}.game-room .hall-progress{margin:0;max-width:none;width:100%}.game-room .team-summary .team-capacity-line{align-self:center;padding:0;border:0;justify-content:end}}
/* Keep small icon controls easy to touch even on the narrowest equipment editor. */
.game-room .remove-part{width:44px;min-width:44px;height:44px;min-height:44px}
.game-room .member-actions .btn{min-height:44px}
/* A donation is one transaction; its source breakdown spans the whole row. */
.game-room .wallet-history .donation-history-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px 16px}
.game-room .donation-sources{grid-column:1/-1;width:100%;min-width:0;font-family:inherit}
.game-room .donation-sources>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;gap:8px}
.game-room .donation-source-list{list-style:none;margin:0;padding:0 14px;background:#100b1780;border:1px solid #b69a6f29;border-radius:6px}
.game-room .donation-source-entry{padding:12px 0;min-width:0}
.game-room .donation-source-entry+.donation-source-entry{border-top:1px solid #b69a6f29}
.game-room .donation-source-amount{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.game-room .donation-source-entry small{display:block;overflow-wrap:anywhere;margin-top:4px;font-family:ui-monospace,SFMono-Regular,monospace}

/* Team records share the guild room's plum surfaces and brass details. */
.game-room .team-view-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));max-width:650px}
.game-room .team-view-tabs>.btn{min-width:0;white-space:nowrap;padding-inline:12px}
.game-room .team-introduction,.game-room .team-achievements,.game-room .guild-message-board{padding:26px;background:linear-gradient(135deg,#2b2032,#19131f);border:1px solid var(--room-edge);border-radius:5px;box-shadow:inset 0 0 0 4px #0c091144,0 8px 24px #0003;min-width:0}
.game-room .team-introduction{margin-bottom:22px}
.game-room .team-introduction .section-head{margin-bottom:14px}
.game-room .team-introduction-copy{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.9;color:#d6c8dc}
.game-room .guild-description-editor{display:grid;gap:10px;margin-bottom:22px}
.game-room .guild-description-editor .field{margin:0}
.game-room .guild-description-editor textarea,.game-room .guild-message-form textarea{resize:vertical;min-height:120px;font:inherit;line-height:1.8;width:100%;min-width:0}
.game-room .description-counter,.game-room .message-counter{color:#b8a9c2;font-size:12px}
.game-shell :is(.game-room,.achievement-dialog) .achievement-coverage{padding:16px 18px;margin:22px 0;border:1px solid #b896613d;background:#100b174d;border-radius:5px;font-size:13px;line-height:1.8}
.game-shell :is(.game-room,.achievement-dialog) .achievement-coverage strong{color:#e3ce9c}
.game-shell :is(.game-room,.achievement-dialog) .achievement-coverage p{font-size:13px;margin-top:4px}
.game-shell :is(.game-room,.achievement-dialog) .achievement-coverage ul,.game-shell :is(.game-room,.achievement-dialog) .achievement-rules ul{margin:10px 0 0;padding-left:20px}
.game-shell :is(.game-room,.achievement-dialog) .achievement-coverage li+li,.game-shell :is(.game-room,.achievement-dialog) .achievement-rules li+li{margin-top:6px}
.game-shell :is(.game-room,.achievement-dialog) .achievement-section-title{font:700 21px/1.5 var(--display);color:#eadde8;margin:20px 0 16px}
.game-shell :is(.game-room,.achievement-dialog) .achievement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.game-shell :is(.game-room,.achievement-dialog) .achievement-card{min-width:0;padding:20px 18px;border:1px solid #a8875a44;border-radius:5px;background:linear-gradient(130deg,#34253c,#211827);box-shadow:inset 0 0 0 3px #0c091125}
.game-shell :is(.game-room,.achievement-dialog) .achievement-card.has-achievement{border-color:#cead6c8c;background:linear-gradient(130deg,#44313e,#241a28)}
.game-shell :is(.game-room,.achievement-dialog) .achievement-card-head{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.game-shell :is(.game-room,.achievement-dialog) .achievement-card-head>div{flex:1;min-width:80px}
.game-shell :is(.game-room,.achievement-dialog) .achievement-card-head h3{font-size:15px;color:#e7d9e5}
.game-shell :is(.game-room,.achievement-dialog) .achievement-card-head small{font-size:11px;color:#baabc2;display:block;margin-top:3px}
.game-shell :is(.game-room,.achievement-dialog) .achievement-card-head .badge{font-size:11px;margin-left:auto}
.game-shell :is(.game-room,.achievement-dialog) .achievement-emblem{display:flex;align-items:center;justify-content:center;width:32px;height:36px;color:#cfb379;background:#b0956130;clip-path:polygon(50% 0,100% 20%,100% 74%,50% 100%,0 74%,0 20%)}
.game-shell :is(.game-room,.achievement-dialog) .achievement-emblem svg{width:20px;height:20px}
.game-shell :is(.game-room,.achievement-dialog) .achievement-total{font:700 25px/1.4 var(--display);color:#f1d394;display:block;margin:20px 0 8px;overflow-wrap:anywhere}
.game-shell :is(.game-room,.achievement-dialog) .achievement-next{font-size:12px;line-height:1.8;min-height:43px;color:#c7b6d0;margin-bottom:12px}
.game-shell :is(.game-room,.achievement-dialog) .achievement-card .progress{height:7px}
.game-shell :is(.game-room,.achievement-dialog) .achievement-tiers{font-size:12px;color:#c8b9d1;margin-top:12px}
.game-shell :is(.game-room,.achievement-dialog) .achievement-tiers>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:8px}
.game-shell :is(.game-room,.achievement-dialog) .achievement-tiers>summary:before{content:'›';font-size:19px;color:#d4b87f}
.game-shell :is(.game-room,.achievement-dialog) .achievement-tiers[open]>summary:before{transform:rotate(90deg)}
.game-shell :is(.game-room,.achievement-dialog) .achievement-badges{display:flex;flex-wrap:wrap;gap:7px}
.game-shell :is(.game-room,.achievement-dialog) .achievement-tier{padding:5px 7px;font-size:11px;color:#aa9bb6;border:1px solid #b79b713b;border-radius:4px}
.game-shell :is(.game-room,.achievement-dialog) .achievement-tier.earned{color:#f1d390;background:#a8854933;border-color:#d0ab6485}
.game-shell :is(.game-room,.achievement-dialog) .achievement-rules{padding:20px 0 0;margin-top:16px;border-bottom:0}
.game-shell :is(.game-room,.achievement-dialog) .achievement-rules>summary{min-height:44px}
/* Trophies have written metal/stage/status labels as well as color. */
.game-shell :is(.game-room,.achievement-dialog) .achievement-summary{display:flex;align-items:center;gap:20px;margin:24px 0 18px;padding:18px 22px;border:1px solid #c6a35c6b;border-radius:5px;background:radial-gradient(ellipse at 0 20%,#a17b3833,transparent 65%),linear-gradient(125deg,#36263e,#211729)}
.game-shell :is(.game-room,.achievement-dialog) .achievement-summary>div{min-width:0}
.game-shell :is(.game-room,.achievement-dialog) .achievement-summary-label{font-size:11px;letter-spacing:.15em;color:#c6afce}
.game-shell :is(.game-room,.achievement-dialog) .achievement-summary strong{display:block;font:750 30px/1.5 var(--display);color:#f3d797;overflow-wrap:anywhere}
.game-shell :is(.game-room,.achievement-dialog) .achievement-summary small{font-size:12px;color:#cdbbd5;display:block;margin-top:4px}
.game-shell :is(.game-room,.achievement-dialog) .achievement-coverage>summary{cursor:pointer;min-height:44px;align-content:center;color:#ead6ac;font-weight:700}
.game-shell :is(.game-room,.achievement-dialog) .achievement-card-head{flex-wrap:nowrap;gap:15px}
.game-shell :is(.game-room,.achievement-dialog) .achievement-card-head>div{min-width:0}
.game-shell :is(.game-room,.achievement-dialog) .achievement-card-head h3{font:750 17px/1.5 var(--display);overflow-wrap:anywhere}
.game-shell :is(.game-room,.achievement-dialog) .achievement-card-head small{font-size:11px;margin:0 0 3px;color:#bea9c7}
.game-shell :is(.game-room,.achievement-dialog) .achievement-earned-label{display:block;font-size:11px;line-height:1.6;margin-top:6px;color:#d8be8a}
.game-shell :is(.game-room,.achievement-dialog) .achievement-value-row{display:flex;gap:8px;justify-content:space-between;align-items:baseline;flex-wrap:wrap;margin:18px 0 8px}
.game-shell :is(.game-room,.achievement-dialog) .achievement-value-row>.achievement-total{font-size:24px;margin:0}
.game-shell :is(.game-room,.achievement-dialog) .achievement-value-row>.badge{font-size:10px}
.game-shell :is(.game-room,.achievement-dialog) .achievement-stage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:18px;padding-top:16px;border-top:1px solid #a58a6233}
.game-shell :is(.game-room,.achievement-dialog) .achievement-stage{display:flex;align-items:center;flex-direction:column;text-align:center;gap:4px;min-width:0;padding:10px 4px 9px;border:1px solid #ad8e5c35;background:#120c1c40;border-radius:4px;color:#bbaac7;overflow-wrap:anywhere}
.game-shell :is(.game-room,.achievement-dialog) .achievement-stage.is-earned{border-color:#bd95635c;background:linear-gradient(145deg,#54403644,#2b1d2e66)}
.game-shell :is(.game-room,.achievement-dialog) .achievement-stage>strong{font-size:10px;font-weight:650;line-height:1.5;color:#d5c7de}
.game-shell :is(.game-room,.achievement-dialog) .achievement-stage>span:not(.achievement-trophy){font-size:10px;line-height:1.5;color:#bdacc9;font-variant-numeric:tabular-nums}
.game-shell :is(.game-room,.achievement-dialog) .achievement-stage>small{font-size:10px;color:#ad9bbd;line-height:1.5}
.game-shell :is(.game-room,.achievement-dialog) .achievement-stage.is-earned>small{color:#d9bc7e}
.game-shell .achievement-trophy{--cup-light:#f1c49b;--cup-mid:#c38c62;--cup-dark:#77462d;--cup-edge:#dcab80;display:inline-block;position:relative;width:62px;height:70px;flex:none;filter:drop-shadow(0 5px 4px #0003)}
.game-shell .achievement-trophy.metal-silver{--cup-light:#eef4ff;--cup-mid:#adbed8;--cup-dark:#596c8c;--cup-edge:#d9e7ff}
.game-shell .achievement-trophy.metal-gold{--cup-light:#ffecad;--cup-mid:#dfb75f;--cup-dark:#8d5d23;--cup-edge:#f0d28e}
.game-shell .achievement-trophy.is-locked{--cup-light:#918398;--cup-mid:#62526e;--cup-dark:#3f314a;--cup-edge:#8a769a;filter:none}
.game-shell .trophy-handles{position:absolute;left:4%;right:4%;top:15%;height:39%;border:5px solid var(--cup-mid);border-top-width:4px;border-radius:12% 12% 45% 45%;box-shadow:inset 0 0 0 1px var(--cup-dark)}
.game-shell .trophy-cup{position:absolute;top:7%;left:19%;width:62%;height:59%;display:grid;place-items:center;clip-path:polygon(0 0,100% 0,90% 67%,75% 89%,58% 100%,42% 100%,25% 89%,10% 67%);background:linear-gradient(105deg,var(--cup-dark),var(--cup-mid) 18%,var(--cup-light) 40%,var(--cup-mid) 76%,var(--cup-dark));border-top:3px solid var(--cup-edge)}
.game-shell .trophy-cup>span{font-size:10px;line-height:1.25;color:var(--cup-dark);max-width:26px;text-align:center;overflow-wrap:anywhere;font-weight:900;text-shadow:0 1px #fff3}
.game-shell .trophy-stem{position:absolute;left:43%;top:62%;height:21%;width:14%;background:linear-gradient(90deg,var(--cup-dark),var(--cup-light),var(--cup-mid))}
.game-shell .trophy-base{position:absolute;bottom:6%;left:24%;width:52%;height:12%;border:1px solid var(--cup-edge);background:linear-gradient(var(--cup-light),var(--cup-mid) 50%,var(--cup-dark));clip-path:polygon(12% 0,88% 0,100% 100%,0 100%)}
.game-shell .achievement-trophy.is-compact{width:43px;height:48px;filter:drop-shadow(0 3px 2px #0003)}
.game-shell .achievement-trophy.is-compact .trophy-handles{border-width:3px}
.game-shell .achievement-trophy.is-compact .trophy-cup>span{font-size:8px;max-width:21px}
.game-shell #dialog.achievement-dialog{width:min(1120px,calc(100% - 32px));max-height:90dvh}
.game-shell .achievement-dialog .achievement-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}
.game-shell .achievement-dialog .dialog-head{position:sticky;top:-28px;z-index:2;background:#2c1d35;padding-top:10px}
.game-shell .achievement-inspection-team{display:flex;gap:15px;align-items:center}
.game-shell .achievement-inspection-team>.guild-avatar{width:48px;height:54px}
.game-shell .achievement-inspection-team>div{min-width:0}
.game-shell .achievement-inspection-team h3{font:750 22px/1.5 var(--display);color:#f1d49d;overflow-wrap:anywhere}
.game-shell .achievement-inspection-team p,.game-shell .achievement-inspection-note{font-size:12px;color:#c4b0ce;line-height:1.8}
.game-shell .achievement-inspection-note{margin-top:22px}
.game-shell .achievement-inspection-loading{display:flex;align-items:center;justify-content:center;gap:15px;min-height:160px;color:#d9c4e0;font-size:14px}
.game-shell .achievement-dialog .callout .btn{margin-top:12px}
@media(max-width:1000px){.game-shell .achievement-dialog .achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:599px){.game-shell #dialog.achievement-dialog{width:calc(100% - 20px);max-height:92dvh}.game-shell .achievement-dialog .dialog-inner{padding:20px 14px}.game-shell .achievement-dialog .dialog-head{top:-20px;padding-top:10px;margin-bottom:20px}.game-shell .achievement-dialog .dialog-head h2{font-size:17px}.game-shell .achievement-dialog .achievement-grid{grid-template-columns:1fr}.game-shell :is(.game-room,.achievement-dialog) .achievement-summary{padding:15px 14px;gap:13px}.game-shell :is(.game-room,.achievement-dialog) .achievement-summary strong{font-size:26px}.game-shell :is(.game-room,.achievement-dialog) .achievement-summary small{font-size:11px}.game-shell :is(.game-room,.achievement-dialog) .achievement-card-head h3{font-size:18px}.game-shell :is(.game-room,.achievement-dialog) .achievement-stage-grid{gap:8px}.game-shell :is(.game-room,.achievement-dialog) .achievement-stage>strong,.game-shell :is(.game-room,.achievement-dialog) .achievement-stage>small,.game-shell :is(.game-room,.achievement-dialog) .achievement-stage>span:not(.achievement-trophy){font-size:11px}.game-shell .achievement-inspection-team h3{font-size:20px}}
.game-room .personal-achievement-heading{padding-top:16px;margin-top:16px;border-top:1px solid #b69a6f33}
.game-room .personal-achievement-heading p{font-size:13px;line-height:1.8}
.game-room .personal-streak-note{display:flex;flex-wrap:wrap;gap:10px 22px;font-size:13px;color:#ddc494;margin:18px 0}
.game-room .personal-achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.game-room .guild-message-board>.section-head{padding-bottom:18px;border-bottom:1px solid #b69a6f44;flex-wrap:wrap;gap:14px}
.game-room .guild-message-form{margin:22px 0;min-width:0}
.game-room .guild-message-form .field{margin:0}
.game-room .guild-message-form textarea[readonly]{opacity:.8}
.game-room .message-compose-meta{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:10px}
.game-room .guild-message-form .callout{font-size:13px;margin-top:16px}
.game-room .guild-message-list{display:grid;gap:14px}
.game-room .guild-message{padding:18px;border:1px solid #ad8b5844;background:#120d1980;border-radius:5px;min-width:0}
.game-room .guild-message-heading{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}
.game-room .guild-message-heading strong{font-size:14px;color:#e4d1e6;overflow-wrap:anywhere}
.game-room .guild-message-heading time{font-size:12px;color:#ad9eb9}
.game-room .guild-message-heading>.btn{margin-left:auto;min-height:44px;font-size:12px}
.game-room .guild-message-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.9;margin-top:10px;color:#d5c5de}
.game-room .message-loading{font-size:13px;color:#baabc2;padding:14px 0}
@media(max-width:1000px){.game-shell :is(.game-room,.achievement-dialog) .achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:699px){
 .game-room .team-view-tabs{max-width:none;gap:3px;padding:4px}
 .game-room .team-view-tabs>.btn{font-size:13px;padding:10px 4px;min-height:44px}
 .game-room .team-introduction,.game-room .team-achievements,.game-room .guild-message-board{padding:22px 16px}
 .game-room .team-introduction .section-head h2,.game-room .team-achievements>.section-head h2,.game-room .guild-message-board>.section-head h2{font-size:22px}
 .game-shell :is(.game-room,.achievement-dialog) .achievement-grid,.game-room .personal-achievement-grid{grid-template-columns:1fr;gap:14px}
 .game-shell :is(.game-room,.achievement-dialog) .achievement-card{padding:18px 16px}
 .game-shell :is(.game-room,.achievement-dialog) .achievement-card-head{gap:12px}
 .game-shell :is(.game-room,.achievement-dialog) .achievement-card-head h3{font-size:16px}
 .game-shell :is(.game-room,.achievement-dialog) .achievement-card-head small,.game-shell :is(.game-room,.achievement-dialog) .achievement-card-head .badge{font-size:12px}
 .game-shell :is(.game-room,.achievement-dialog) .achievement-total{margin-top:16px;font-size:27px}
 .game-shell :is(.game-room,.achievement-dialog) .achievement-next{min-height:0;margin-bottom:14px}
 .game-shell :is(.game-room,.achievement-dialog) .achievement-coverage{padding:14px;font-size:12px}
 .game-shell :is(.game-room,.achievement-dialog) .achievement-coverage p{font-size:12px}
 .game-shell :is(.game-room,.achievement-dialog) .achievement-section-title{font-size:21px}
 .game-room .guild-message-board>.section-head{gap:12px}
 .game-room .guild-message-board>.section-head .btn{margin:0;font-size:12px}
 .game-room .guild-message{padding:16px 14px}
 .game-room .guild-message-heading{gap:6px 10px}
 .game-room .guild-message-heading time{font-size:11px}
 .game-room .guild-message-heading>.btn{padding-inline:8px}
}
