/* Level advert: one sign per level, placed on a clear wall (level.stamp) and dressed to match the room.
   Sized in world units (cqw of #world) so it scales with the room. Sits on top of game.css. */

/* Layering inside the room: room canvas, then the advert sign, then the actors canvas on top. */
#world{isolation:isolate;position:relative}
#world #game{position:absolute;inset:0;width:100%;height:100%;z-index:1;background:transparent;pointer-events:none}
#world #fx{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;background:transparent}

/* Retired extra walls. */
#world #slot-card,#world #slot-ticker,#ad-rail{display:none!important}

#world #slot-hero{
  position:absolute;left:var(--stamp-left,84%);top:var(--stamp-top,2%);right:auto;bottom:auto;
  width:var(--stamp-w,14%);height:var(--stamp-h,14.1%);min-width:0;min-height:0;aspect-ratio:auto;box-sizing:border-box;
  container:bb/size;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:0 1.8cqw;padding:1.2cqw 1.6cqw;
  z-index:5;pointer-events:auto;cursor:pointer;overflow:visible;visibility:visible;opacity:1;
  color:#fff;border-radius:.8cqw;border:1px solid color-mix(in srgb,var(--hot,#ffb1c1) 60%,transparent);
  background:linear-gradient(160deg,#2b303a,#151920);
  box-shadow:0 .6cqw 1.8cqw #000b,inset 0 0 0 .2cqw #0000004d;
  transform:none;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease,opacity .2s ease;
}
/* A doughnut or tool preview is behind the sign: fade it and let clicks reach the room. */
#world #slot-hero.ghost{opacity:.14;pointer-events:none}
#world #slot-hero:hover,#world #slot-hero:focus-visible{transform:translateY(-.25cqw);box-shadow:0 1cqw 2.4cqw #000c,0 0 1.4cqw color-mix(in srgb,var(--hot,#ffb1c1) 45%,transparent);filter:brightness(1.06)}
#world #slot-hero:focus-visible{outline:.2cqw solid #fff;outline-offset:.3cqw}
/* Inside the sign, sizes follow the sign itself (cqh/cqw/cqmin of the bb container). */
#world #slot-hero .sponsor-mark{
  width:min(62cqh,34cqw);height:min(62cqh,34cqw);min-width:0;display:grid;place-items:center;overflow:hidden;
  border-radius:10%;border:0;background:#fffaf4;box-shadow:0 .4cqh 2cqh #0008;font-size:0;
}
#world #slot-hero .sponsor-mark img{width:100%;height:100%;object-fit:contain}
#world #slot-hero .ad-ring{display:block;width:66%;height:66%;border-radius:50%;box-sizing:border-box;border:calc(min(62cqh,34cqw)*.17) solid var(--hot,#ffb1c1);background:#fffaf4;box-shadow:inset 0 3px 0 #fff8,0 3px 8px #0003;position:relative}
#world #slot-hero.for-sale .sponsor-mark{background:repeating-linear-gradient(135deg,#fff3f6 0 8%,#ffe3ec 8% 16%);outline:2px dashed color-mix(in srgb,var(--hot,#ffb1c1) 80%,#000);outline-offset:-7%}
#world #slot-hero .ad-copy{display:flex;flex-direction:column;align-items:flex-start;gap:min(3.5cqh,2cqw);min-width:0}
#world #slot-hero .ad-copy b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0;font:700 min(17cqh,8.4cqw)/1.05 Space,sans-serif;letter-spacing:-.02em;color:inherit;overflow-wrap:anywhere}
#world #slot-hero .ad-copy small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font:min(8cqh,4.3cqw)/1.3 Mono,monospace;letter-spacing:.02em;color:color-mix(in srgb,var(--hot,#ffb1c1) 70%,#fff);overflow-wrap:anywhere}
#world #slot-hero .ad-cta{display:inline-block;font:700 min(7.5cqh,4cqw)/1 Space,sans-serif;font-style:normal;letter-spacing:.04em;text-transform:uppercase;padding:min(3.5cqh,2cqw) min(6cqh,3.4cqw);border-radius:999px;background:var(--hot,#ffb1c1);color:#1b0f14;box-shadow:0 .5cqh 1.5cqh #0006;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#world #slot-hero .ad-tag{position:absolute;top:-.75cqw;right:.9cqw;padding:.12cqw .5cqw;border-radius:.4cqw;font:700 .7cqw/1.3 Mono,monospace;letter-spacing:.14em;color:#1b0f14;background:var(--hot,#ffb1c1);box-shadow:0 .15cqw .4cqw #0006}
/* Short signs: drop the call-to-action pill; very short: logo and name only. */
@container bb (max-height:120px){#world #slot-hero .ad-cta{display:none}}
@container bb (max-height:70px){#world #slot-hero .ad-copy small{display:none}#world #slot-hero .ad-copy b{-webkit-line-clamp:1}}
#world #slot-hero.for-sale{animation:ad-breathe 3.2s ease-in-out infinite}
@keyframes ad-breathe{0%,100%{box-shadow:0 .6cqw 1.8cqw #000b}50%{box-shadow:0 .6cqw 1.8cqw #000b,0 0 1.2cqw color-mix(in srgb,var(--hot,#ffb1c1) 40%,transparent)}}

/* Kitchen: chalkboard in a wooden frame. */
.play-screen[data-theme="kitchen"] #world #slot-hero{border:.45cqw solid #8a5a33;border-radius:.45cqw;background:radial-gradient(ellipse at 30% 20%,#34463b,#1b251f 70%);box-shadow:0 .6cqw 1.8cqw #000b,inset 0 0 1.2cqw #0008,0 0 0 .12cqw #4a2e17}
.play-screen[data-theme="kitchen"] #world #slot-hero .ad-copy b{font-family:Space,sans-serif;color:#f4efe2;text-shadow:0 0 .15cqw #fff5}
.play-screen[data-theme="kitchen"] #world #slot-hero .ad-copy small{color:#e9d9b0}
/* Factory: brushed steel plate, hazard stripe and rivets. */
.play-screen[data-theme="factory"] #world #slot-hero{border:0;border-top:.55cqw solid;border-image:repeating-linear-gradient(45deg,#ffc227 0 .6cqw,#1b2128 .6cqw 1.2cqw) 1;border-radius:0;background:radial-gradient(circle at .8cqw 1.6cqw,#b9c2cb .22cqw,transparent .26cqw),radial-gradient(circle at calc(100% - .8cqw) 1.6cqw,#b9c2cb .22cqw,transparent .26cqw),radial-gradient(circle at .8cqw calc(100% - .7cqw),#b9c2cb .22cqw,transparent .26cqw),radial-gradient(circle at calc(100% - .8cqw) calc(100% - .7cqw),#b9c2cb .22cqw,transparent .26cqw),linear-gradient(180deg,#5f6974,#3b434c),repeating-linear-gradient(90deg,#ffffff08 0 .15cqw,#0000 .15cqw .35cqw)}
/* Street: dark shop glass with a neon edge. */
.play-screen[data-theme="street"] #world #slot-hero{background:linear-gradient(160deg,#16202e,#0b111a);border:.18cqw solid var(--hot,#ffb1c1);box-shadow:0 0 1.2cqw color-mix(in srgb,var(--hot,#ffb1c1) 60%,transparent),inset 0 0 .9cqw color-mix(in srgb,var(--hot,#ffb1c1) 25%,transparent),0 .6cqw 1.8cqw #000b}
.play-screen[data-theme="street"] #world #slot-hero .ad-copy b{text-shadow:0 0 .6cqw color-mix(in srgb,var(--hot,#ffb1c1) 80%,transparent)}
/* Oven: brass plaque with corner screws. */
.play-screen[data-theme="oven"] #world #slot-hero{color:#2b1606;border:.12cqw solid #5a3510;border-radius:.5cqw;background:radial-gradient(circle at .7cqw .7cqw,#5a3510 .2cqw,transparent .24cqw),radial-gradient(circle at calc(100% - .7cqw) .7cqw,#5a3510 .2cqw,transparent .24cqw),radial-gradient(circle at .7cqw calc(100% - .7cqw),#5a3510 .2cqw,transparent .24cqw),radial-gradient(circle at calc(100% - .7cqw) calc(100% - .7cqw),#5a3510 .2cqw,transparent .24cqw),linear-gradient(135deg,#f0c27a,#b87a33 55%,#e2a95b)}
.play-screen[data-theme="oven"] #world #slot-hero .ad-copy small{color:#4a2a0c}
/* City: LED billboard with a glow in the brand colour. */
.play-screen[data-theme="times_square"] #world #slot-hero,.play-screen[data-theme="city"] #world #slot-hero{border:.25cqw solid #2e2b40;border-radius:.3cqw;background:radial-gradient(#ffffff12 .06cqw,transparent .08cqw) 0 0/.45cqw .45cqw,linear-gradient(160deg,#120d1f,#07060c);box-shadow:0 0 1.6cqw color-mix(in srgb,var(--hot,#ffb1c1) 55%,transparent),0 .6cqw 1.8cqw #000b}
.play-screen[data-theme="times_square"] #world #slot-hero .ad-copy b,.play-screen[data-theme="city"] #world #slot-hero .ad-copy b{text-shadow:0 0 .7cqw color-mix(in srgb,var(--hot,#ffb1c1) 85%,transparent)}
/* Island: painted wooden sign. */
.play-screen[data-theme="island"] #world #slot-hero{color:#fff4e0;border:.3cqw solid #5b3a1e;border-radius:.6cqw;background:repeating-linear-gradient(180deg,#a3703f 0 1.7cqw,#8a5d33 1.7cqw 1.8cqw)}
.play-screen[data-theme="island"] #world #slot-hero .ad-copy small{color:#ffe3b0}

@media (prefers-reduced-motion:reduce){#world #slot-hero{transition:none}#world #slot-hero.for-sale{animation:none}}

/* Bid form preview in the board modal (outside the room, so pixel sizes). */
.ad-preview.level-ad{position:relative;gap:16px}
.ad-preview.level-ad .sponsor-mark{width:64px;height:64px;border:0;border-radius:10px;background:#fffaf4;display:grid;place-items:center;overflow:hidden}
.ad-preview.level-ad .ad-ring{display:block;width:40px;height:40px;border-radius:50%;box-sizing:border-box;border:12px solid var(--hot,#ffb1c1)}
.ad-preview.level-ad .ad-copy b{font-size:22px}
.ad-preview.level-ad .ad-copy small{display:block;margin-top:6px;color:var(--hot,#ffb1c1);font:12px Mono,monospace}
.ad-preview.level-ad .ad-tag{position:absolute;top:-9px;right:14px;padding:2px 8px;border-radius:5px;font:700 9px Mono,monospace;letter-spacing:.14em;color:#1b0f14;background:var(--hot,#ffb1c1)}

/* Board modal. */
.board-slots.single{grid-template-columns:1fr}
.ad-board .now-playing{color:#ffb1c1;font-size:13px}
.ad-board li.is-live{background:#ffb1c114;box-shadow:inset 3px 0 0 #ffb1c1}

/* Landscape gate. */
#rotate-gate{display:none;position:fixed;inset:0;z-index:80;background:#0f141af2;color:#f4eef1;align-items:center;justify-content:center;text-align:center;padding:32px;font-family:Space,sans-serif}
#rotate-gate b{display:block;font-size:28px;margin:12px 0 8px}
#rotate-gate span{color:#b7a2ac;font-size:14px}
@media (max-width:600px) and (orientation:portrait){
  .play-screen:not([hidden]) #rotate-gate{display:flex;flex-direction:column}
  .play-screen:not([hidden]) #arena,.play-screen:not([hidden]) .tray,.play-screen:not([hidden]) .field-actions,.play-screen:not([hidden]) .mission-bar{visibility:hidden}
}
.ad-preview.level-ad .ad-cta{display:inline-block;margin-top:8px;font:700 11px Space,sans-serif;font-style:normal;text-transform:uppercase;letter-spacing:.04em;padding:6px 12px;border-radius:999px;background:var(--hot,#ffb1c1);color:#1b0f14}
