/* Free Market rooms, live (js/fm-rooms.js) */
.fmr .bar{display:flex;justify-content:space-between;align-items:center;gap:10px}
.fmr-live{display:inline-flex;align-items:center;gap:6px;font:800 11.5px var(--f-ui);letter-spacing:.12em;text-transform:uppercase;color:#d9ffd6}
.fmr-live i{width:8px;height:8px;border-radius:50%;background:#7dff7a;box-shadow:0 0 8px #7dff7a;animation:fmrBlink 1.6s ease-in-out infinite}
@keyframes fmrBlink{50%{opacity:.35}}
.fmr-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:rgba(42,24,10,.18);border-bottom:1.5px solid rgba(42,24,10,.25)}
.fmr-stats>div{background:#fff8e6;padding:10px 16px;display:flex;flex-direction:column;gap:1px;min-width:0}
.fmr-stats b{font:800 24px/1.1 var(--f-game);color:var(--ink);font-variant-numeric:tabular-nums}
.fmr-stats small{font-size:12.5px;color:var(--ink-3)}
.fmr-body{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:0;align-items:stretch}
.fmr-body>*{min-width:0}

/* scene */
.fmr-scene{position:relative;display:grid;gap:4px;padding:30px 12px 18px;overflow:hidden;isolation:isolate;
  background:linear-gradient(rgba(255,255,255,0),rgba(243,232,205,.55) 90%),url(/img/fm/far-sky.webp) center top/cover}
.fmr-scene::before{content:"";position:absolute;left:-2%;right:-2%;bottom:0;height:46%;z-index:-1;background:url(/img/fm/seg-market.webp) center bottom/auto 100% repeat-x;opacity:.28;filter:saturate(.7)}
.fmr-tier{position:relative;display:flex;justify-content:space-around;align-items:flex-end;padding:0 3%;min-height:calc(var(--tier,92px) * .83 + 30px)}
.fmr-tier:nth-child(odd){margin-right:7%}.fmr-tier:nth-child(even){margin-left:7%}
.fmr-tier::after{content:"";position:absolute;left:0;right:0;bottom:-14px;height:24px;background:url(/img/world/ledge-l.webp) center top/100% 44px no-repeat;z-index:-1}
.fmr-room{position:relative;width:var(--w);flex:none;border:0;padding:0;background:none;cursor:pointer;color:inherit;
  filter:drop-shadow(0 0 calc(var(--heat) * 14px) rgba(255,190,60,calc(var(--heat) * .95)));transition:transform .2s cubic-bezier(.3,.9,.3,1)}
.fmr-room .st{display:block;width:100%;height:auto;pointer-events:none}
.fmr-room:hover,.fmr-room:focus-visible{transform:translateY(-3px)}
.fmr-room[aria-pressed=true]{transform:translateY(-3px)}
.fmr-room[aria-pressed=true] .st{filter:brightness(1.12)}
.fmr-room[aria-pressed=true]::after{content:"";position:absolute;left:8%;right:8%;bottom:-6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 10px #fff}
.fmr-num{position:absolute;left:50%;bottom:4%;transform:translateX(-50%);min-width:24px;padding:1px 6px 0;border-radius:6px;background:#2a180a;color:#ffe9a8;font:800 12.5px/1.35 var(--f-game);text-align:center;box-shadow:0 0 0 1.5px #c99a4a}
.fmr-tag{position:absolute;bottom:calc(100% - 4px);left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:3px;white-space:nowrap;
  padding:1px 6px 1px 2px;border-radius:9px;background:#fffdf5;border:1.5px solid #2a180a;box-shadow:0 2px 0 rgba(42,24,10,.35);font:800 11.5px/1 var(--f-game);color:var(--ink);z-index:2}
.fmr-tag::after{content:"";position:absolute;left:50%;top:100%;margin-left:-4px;border:4px solid transparent;border-top-color:#2a180a}
.fmr-tag img{width:22px;height:22px;object-fit:contain;image-rendering:pixelated}
.fmr-room.new .fmr-tag{animation:fmrPop .9s cubic-bezier(.2,1.4,.4,1) both;background:#ffe48a;transition:background 1.6s 1.4s}
.fmr-room.new::before{content:"";position:absolute;left:50%;top:40%;width:10px;height:10px;margin:-5px;border-radius:50%;background:radial-gradient(circle,#fff6b0,#ffc533 60%,transparent 70%);animation:fmrBurst .9s ease-out both;pointer-events:none;z-index:3}
@keyframes fmrPop{0%{transform:translate(-50%,10px) scale(.4);opacity:0}60%{transform:translate(-50%,-6px) scale(1.12);opacity:1}100%{transform:translate(-50%,0) scale(1)}}
@keyframes fmrBurst{0%{transform:scale(1);opacity:1}100%{transform:scale(9);opacity:0}}

/* side panel */
.fmr-side{display:flex;flex-direction:column;gap:6px;border-radius:0;border:0;border-left:1.5px solid rgba(42,24,10,.35);padding:10px 12px 12px;min-height:0}
.fmr-tabs{display:flex;gap:4px;padding:0;margin:0 0 2px;background:none;border:0}
.fmr-tabs [role=tab]{flex:1;border:1.5px solid var(--tip-line);background:transparent;color:var(--tip-dim);border-radius:8px;padding:7px 6px 5px;font:800 13px var(--f-game);cursor:pointer}
.fmr-tabs [role=tab][aria-selected=true]{background:#2f3a6b;color:#fff;border-color:#8fa3dc}
.fmr-room-h{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;background:rgba(242,184,28,.12);border:1px solid rgba(255,211,107,.45)}
.fmr-room-h strong{display:block;font:800 18px/1.1 var(--f-game);color:var(--gold-ink)}
.fmr-room-h small{font-size:11.5px;color:var(--tip-dim)}
.fmr-x{flex:none;border:1px solid var(--tip-line);background:transparent;color:#fff;border-radius:16px;padding:5px 9px;font:700 12px var(--f-ui);cursor:pointer}
.fmr-list{list-style:none;margin:0;padding:0;display:grid;gap:3px;align-content:start}
.fmr-list li{overflow:hidden}
.fmr-list a{display:grid;width:100%;box-sizing:border-box;grid-template-columns:34px minmax(0,1fr) auto;gap:8px;align-items:center;padding:4px 6px;border-radius:7px;text-decoration:none;color:#fff}
.fmr-list a:hover{background:rgba(143,163,220,.14)}
.fmr-list .ic{width:34px;height:34px;display:grid;place-items:center;border-radius:7px;background:radial-gradient(circle,#3b4675,#1c2240);border:1px solid var(--tip-line)}
.fmr-list .ic img{width:28px;height:28px;object-fit:contain}
.fmr-list .n{position:relative;font:700 13.5px/1.2 var(--f-ui);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fmr-list .n small{display:block;font-weight:400;font-size:11.5px;color:var(--tip-dim)}
.fmr-list b{justify-self:end;font:800 15px var(--f-game);text-align:right;white-space:nowrap;color:var(--gold-ink)}
.fmr-list b small{display:block;font:700 10.5px var(--f-ui);color:var(--tip-dim)}
.fmr-list .hot .n i{display:block;height:3px;margin-top:3px;border-radius:2px;background:linear-gradient(90deg,#ffd36b,#f08a24);transform-origin:left;transform:scaleX(var(--k));width:100%}
.fmr-list li.in{animation:fmrIn .55s cubic-bezier(.2,.8,.2,1) both}
.fmr-list li.in a{animation:fmrGlow 2.2s ease-out both}
@keyframes fmrIn{from{opacity:0;max-height:0;transform:translateY(-10px)}to{opacity:1;max-height:60px;transform:none}}
@keyframes fmrGlow{from{background:rgba(255,211,107,.28)}to{background:transparent}}
.fmr-empty{padding:14px 6px;color:var(--tip-dim);font-size:13px}
.fmr-note{margin:0;padding:8px 16px 10px}

@media (max-width:980px){
  .fmr-body{grid-template-columns:minmax(0,1fr)}
  .fmr-side{border-left:0;border-top:1.5px solid rgba(42,24,10,.35)}
}
@media (max-width:620px){
  .fmr-stats>div{padding:8px 10px}
  .fmr-stats b{font-size:18px}
  .fmr-stats small{font-size:11px;line-height:1.2}
  .fmr-scene{padding:26px 4px 14px}
  .fmr-tier{padding:0;min-height:72px}
  .fmr-tier:nth-child(odd),.fmr-tier:nth-child(even){margin:0}
  .fmr-tag{padding:1px;border-radius:7px}
  .fmr-tag span{display:none}
  .fmr-tag img{width:18px;height:18px}
  .fmr-num{font-size:10.5px;min-width:18px;padding:0 4px}
}
@media (prefers-reduced-motion:reduce){.fmr-live i,.fmr-room.new .fmr-tag,.fmr-room.new::before,.fmr-list li.in,.fmr-list li.in a{animation:none}}
/* the list never changes the page height (tapping a stall must not move the page) */
.fmr-side{overflow-anchor:none;height:520px;overflow:hidden}
.fmr-list{overflow:hidden}
@media (min-width:981px){.fmr-side{height:auto}}
