/* Retain banner canvas only. Original pre-Ice Arena appearance has been restored. */
/* Banner canvas is the same in administration and on the live Arena. */
.arena-event-banner-slot{margin:0 0 12px}
.arena-event-banner-slot[hidden]{display:none!important}
.ice-banner-stage{
  width:100%;
  position:relative;
  overflow:hidden;
  box-sizing:border-box;
  container-type:inline-size;
  isolation:isolate;
  background-image:none;
  border:1px solid #b2ecff7a;
  box-shadow:inset 0 1px 1px #f3fcff9e,0 5px 17px #00152050;
}
.ice-banner-stage::after{content:none;}
.ice-banner-layer{
  position:absolute;
  display:flex;
  align-items:center;
  min-width:0;
  min-height:0;
  overflow:hidden;
  padding:0 2px;
  box-sizing:border-box;
  line-height:1.08;
  letter-spacing:-.02em;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  text-shadow:0 1px 2px #00182f55;
  font-variant-numeric:tabular-nums;
}
.ice-banner-type-timer{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:clip;
  text-shadow:none;
  letter-spacing:-.04em;
}
.ice-banner-type-image{padding:0;pointer-events:none}
.ice-banner-type-image img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
.ice-banner-missing-image{border:1px dashed #b5e2fbaa;color:#deeeff;font-size:12px!important;justify-content:center!important}
.ice-banner-editable .ice-banner-layer-edit{
  border:1px dashed #e0fbff80;
  touch-action:none;
  cursor:grab;
  pointer-events:auto;
}
.ice-banner-editable .ice-banner-layer-edit.is-selected{
  outline:2px solid #fff;
  outline-offset:1px;
  border-color:#4daaff;
  cursor:move;
  box-shadow:0 0 12px #57c8ff91;
}
.ice-banner-editable .ice-banner-layer-edit:focus-visible{outline:2px solid white}
@media(prefers-reduced-motion:reduce){.ice-banner-stage::after{animation:none}}

/* Live event banners lead directly to their linked leaderboard. */
.ice-banner-stage.ice-banner-link{
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}
.ice-banner-stage.ice-banner-link:focus-visible{
  outline:2px solid #8ddaff;
  outline-offset:3px;
}
.ice-banner-stage.ice-banner-link:active{filter:brightness(1.08)}

/* WYSIWYG canvas: editor handles do not become part of the published timer. */
.ice-banner-layer{
  text-rendering:geometricPrecision;
  -webkit-font-smoothing:antialiased;
  font-synthesis:weight;
}
.ice-banner-layer .ice-banner-inline{
  display:inline;
  max-width:100%;
  font:inherit;
  line-height:inherit;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
.ice-banner-gram-inline{
  width:1em;
  height:1em;
  display:inline-block;
  vertical-align:-.13em;
  margin:0 .10em;
  object-fit:contain;
  -webkit-text-stroke:0;
}
.ice-banner-type-gram img.ice-gram-layer-icon{
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  pointer-events:none;
}
.ice-banner-type-timer .ice-clock-digits{
  display:inline-block;
  white-space:nowrap;
  color:inherit;
  font:inherit;
  font-variant-numeric:tabular-nums lining-nums;
  -webkit-font-smoothing:antialiased;
  text-rendering:geometricPrecision;
}
.ice-banner-type-timer .ice-banner-inline{white-space:nowrap}
.ice-banner-editable .ice-banner-layer-edit,
.ice-banner-editable .ice-banner-layer-edit.is-selected{
  border:0;
  outline:0;
  box-shadow:none;
}
.ice-banner-editable .ice-banner-layer-edit.is-selected:focus-visible{
  outline:0;
}
.ice-banner-editable .ice-banner-layer-edit{touch-action:none}
.ice-banner-layer .ice-banner-handle{
  display:none;
  position:absolute;
  z-index:50;
  width:11px;
  height:11px;
  box-sizing:border-box;
  border:2px solid white;
  border-radius:3px;
  background:#178bd3;
  box-shadow:0 0 0 1px #154569b0,0 1px 5px #0008;
  touch-action:none;
  pointer-events:auto;
}
.ice-banner-editable .ice-banner-layer-edit.is-selected .ice-banner-handle{display:block}
.ice-banner-handle-nw{top:0;left:0;cursor:nwse-resize}
.ice-banner-handle-n{top:0;left:50%;transform:translateX(-50%);cursor:ns-resize}
.ice-banner-handle-ne{top:0;right:0;cursor:nesw-resize}
.ice-banner-handle-e{top:50%;right:0;transform:translateY(-50%);cursor:ew-resize}
.ice-banner-handle-se{bottom:0;right:0;cursor:nwse-resize}
.ice-banner-handle-s{bottom:0;left:50%;transform:translateX(-50%);cursor:ns-resize}
.ice-banner-handle-sw{bottom:0;left:0;cursor:nesw-resize}
.ice-banner-handle-w{top:50%;left:0;transform:translateY(-50%);cursor:ew-resize}
.ice-banner-editable .ice-banner-canvas-handle{
  position:absolute;
  z-index:120;
  width:18px;
  height:18px;
  box-sizing:border-box;
  border-radius:6px;
  border:2px solid #fff;
  background:#1689d2;
  box-shadow:0 0 0 1px #0c4f80,0 2px 8px #001a2d88;
  touch-action:none;
  pointer-events:auto;
}
.ice-banner-canvas-left{left:0;top:50%;transform:translateY(-50%);cursor:ew-resize}
.ice-banner-canvas-right{right:0;top:50%;transform:translateY(-50%);cursor:ew-resize}
.ice-banner-canvas-bottom{bottom:0;left:50%;transform:translateX(-50%);cursor:ns-resize}
.ice-banner-canvas-right-bottom{right:0;bottom:0;cursor:nwse-resize}
.ice-banner-editable .ice-banner-inline[contenteditable=true]{
  cursor:text;
  outline:1px solid #ffffff9c;
  border-radius:3px;
  background:#ffffff12;
}

/* Gift/GIF layers use an absolute centered image so moving or resizing the
   parent cannot introduce flex alignment offsets. The object-fit is preserved. */
.ice-banner-layer.ice-banner-type-image{
  display:block;
  padding:0!important;
  margin:0!important;
  box-sizing:border-box;
  transform:none;
  overflow:hidden;
}
.ice-banner-layer.ice-banner-type-image>img{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  padding:0!important;
  margin:0!important;
  transform:none!important;
  object-position:center center!important;
  pointer-events:none!important;
  vertical-align:top;
  -webkit-user-drag:none;
}
.ice-banner-editable .ice-banner-layer-edit.is-selected::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:18;
  pointer-events:none;
  border:1px solid rgba(140,219,255,.62);
  border-radius:inherit;
}
.ice-banner-editable .ice-banner-type-timer:not(.is-selected)::after{content:none}
.ice-banner-editable .ice-banner-type-timer.is-selected::after{border-color:rgba(140,219,255,.48)}
/* No outlines or decorative lines survive in the real published banner. */
.ice-banner-stage:not(.ice-banner-editable) .ice-banner-layer{outline:0!important;border:0!important;box-shadow:none}

/* Larger inset resize handles stay clickable inside the clipped banner. */
.ice-banner-editable .ice-banner-layer-edit.is-selected{outline:1px solid #8ad8ff!important;outline-offset:-1px!important}
.ice-banner-editable .ice-banner-layer-edit.is-selected .ice-banner-handle{width:16px;height:16px;border-radius:4px}
.ice-banner-handle-nw{top:2px;left:2px}
.ice-banner-handle-n{top:2px}
.ice-banner-handle-ne{top:2px;right:2px}
.ice-banner-handle-e{right:2px}
.ice-banner-handle-se{bottom:2px;right:2px}
.ice-banner-handle-s{bottom:2px}
.ice-banner-handle-sw{bottom:2px;left:2px}
.ice-banner-handle-w{left:2px}
.ice-banner-canvas-left{left:5px}
.ice-banner-canvas-right{right:5px}
.ice-banner-canvas-bottom{bottom:5px}
.ice-banner-canvas-right-bottom{right:5px;bottom:5px}
.ice-banner-editable .ice-banner-layer-edit{user-select:none;-webkit-user-select:none}

/* Clear countdown glyphs at all canvas sizes; JS scales only overflowing labels.
   Drag handles remain interactive, numbers use stable tabular character widths. */
.ice-banner-layer.ice-banner-type-timer{
 display:flex;align-items:center;gap:3px;white-space:nowrap;
 font-variant-numeric:tabular-nums lining-nums;
 font-feature-settings:"tnum" 1;
 letter-spacing:0;
 text-shadow:0 1px 3px rgba(0,0,0,.4);
}
.ice-banner-type-timer .ice-clock-digits{flex:0 0 auto;min-width:0;white-space:nowrap}
.ice-banner-type-timer .ice-banner-inline{flex:0 1 auto;white-space:nowrap}
.ice-banner-editable .ice-banner-type-timer{user-select:none;-webkit-user-select:none}
