/* ============================================================================
   r549 — BOARD SKIN: "FROSTFIRE RINK"  (theme: Frostfire Night)
   ----------------------------------------------------------------------------
   Design language: a frozen rink. Square-cut edges (0px), ice glass you can see
   through, hairline white grid, corner brackets, a cut-crystal rhombus centre
   and snow drifting across the playfield.
   Deliberately the opposite of the marble court: cold, thin, monospaced,
   hairline — no gold, no arches, no gems.
   Geometry untouched.
   ========================================================================== */

html[data-cosmetic-board="frostfire"] #screen-game .lkb-frame {
  padding: 13px;
  border-radius: 0;
  background:
    linear-gradient(158deg, rgba(226,245,255,.85) 0%, rgba(176,214,238,.6) 42%, rgba(120,168,204,.55) 100%),
    repeating-linear-gradient(74deg, rgba(255,255,255,.35) 0 1px, transparent 1px 7px);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.75),
    inset 0 2px 0 rgba(255,255,255,.85),
    inset 0 -2px 0 rgba(96,142,178,.45),
    0 14px 34px rgba(4,16,28,.55),
    0 0 0 1px rgba(176,224,255,.55),
    0 0 26px rgba(120,196,255,.28);
}

/* corner brackets — a surveyor's frame, not an arch */
html[data-cosmetic-board="frostfire"] #screen-game .lkb-frame::before {
  content: '';
  position: absolute;
  inset: 4px;
  border: 1px solid rgba(255,255,255,.6);
  background:
    linear-gradient(#eaf7ff, #eaf7ff) left top / 14px 2px no-repeat,
    linear-gradient(#eaf7ff, #eaf7ff) left top / 2px 14px no-repeat,
    linear-gradient(#eaf7ff, #eaf7ff) right top / 14px 2px no-repeat,
    linear-gradient(#eaf7ff, #eaf7ff) right top / 2px 14px no-repeat,
    linear-gradient(#eaf7ff, #eaf7ff) left bottom / 14px 2px no-repeat,
    linear-gradient(#eaf7ff, #eaf7ff) left bottom / 2px 14px no-repeat,
    linear-gradient(#eaf7ff, #eaf7ff) right bottom / 14px 2px no-repeat,
    linear-gradient(#eaf7ff, #eaf7ff) right bottom / 2px 14px no-repeat;
  opacity: .9;
  pointer-events: none;
  z-index: 3;
}

/* --- surface: ice glass ------------------------------------------------- */
html[data-cosmetic-board="frostfire"] #screen-game .lkb-board {
  border-radius: 0;
  background:
    radial-gradient(ellipse at 26% 16%, rgba(255,255,255,.92), transparent 56%),
    radial-gradient(ellipse at 80% 88%, rgba(150,206,240,.5), transparent 60%),
    repeating-linear-gradient(64deg, rgba(255,255,255,.30) 0 1px, transparent 1px 22px),
    repeating-linear-gradient(-24deg, rgba(160,206,236,.22) 0 1px, transparent 1px 30px),
    linear-gradient(160deg, #f7fcff 0%, #e6f4fe 46%, #d3e9f9 100%);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.95),
    inset 0 0 44px rgba(96,158,198,.32),
    inset 0 -18px 40px rgba(120,176,210,.22);
}

/* cold shimmer — a thin blade of light crossing the ice */
html[data-cosmetic-board="frostfire"] #screen-game .lkb-board::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(102deg,
    transparent 40%,
    rgba(255,255,255,.55) 47%,
    rgba(214,244,255,.8) 49.5%,
    rgba(255,255,255,.45) 52%,
    transparent 60%);
  background-size: 100% 100%;
  /* r554: background-position অ্যানিমেশন বাদ (পুরো বোর্ড রিপেইন্ট) —
     এখন গ্লাসের আভা transform/opacity-তে শ্বাস নেয়। */
  animation: bf-glint 9s cubic-bezier(.5,0,.5,1) infinite;
}

/* r550 — "ছোট বল এর মত" বরফ-বিন্দু বাদ। এখন বরফের বদলে বোর্ডের ওপর দিয়ে
   আরেকটা ধীর, নরম কাচের আলো কাটা যায় (বিন্দু নয়, ব্যান্ড)। */
html[data-cosmetic-board="frostfire"] #screen-game .lkb-board::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 20;
  pointer-events: none;
  background-image:
    linear-gradient(16deg, rgba(255, 255, 255, 0) 30%, rgba(224, 246, 255, .34) 48%, rgba(255, 255, 255, 0) 66%),
    linear-gradient(188deg, rgba(196, 232, 255, .18), rgba(196, 232, 255, 0) 54%);
  background-size: 100% 100%, 100% 100%;
  /* r554: এখানেও background-position সরানো হলো — নিঃশ্বাস শুধু transform/opacity */
  animation: bf-mist-drift 15s linear infinite;
  opacity: .8;
}

@keyframes bf-glint {
  0%, 100% { transform: translate3d(-6%, 0, 0) scale(1.03); opacity: .38; }
  50%      { transform: translate3d(6%, 0, 0) scale(1.07); opacity: .82; }
}
@keyframes bf-mist-drift {
  0%, 100% { transform: translate3d(-4%, 0, 0) scale(1.02); opacity: .55; }
  50%      { transform: translate3d(4%, -1%, 0) scale(1.05); opacity: .95; }
}

/* --- track cells: hairline glass ---------------------------------------- */
html[data-cosmetic-board="frostfire"] #screen-game .lkb-track-cell {
  background: linear-gradient(150deg, rgba(255,255,255,.88) 0%, rgba(236,247,255,.62) 100%);
  box-shadow:
    inset 0 0 0 1px rgba(150,196,224,.55),
    inset 0 1px 0 rgba(255,255,255,.95);
  border-radius: 0;
}

/* --- bases: frosted wells, player hue kept ------------------------------ */
html[data-cosmetic-board="frostfire"] #screen-game .lkb-base {
  border-radius: 0;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.85),
    inset 0 -2px 8px rgba(30,72,104,.22);
}
html[data-cosmetic-board="frostfire"] #screen-game .lkb-base-inner {
  border-radius: 0;
  background:
    linear-gradient(150deg, rgba(255,255,255,.92), rgba(226,243,255,.72));
  box-shadow:
    0 0 0 1px rgba(255,255,255,.95),
    0 0 0 2px rgba(132,184,216,.45),
    0 6px 18px rgba(20,54,80,.28),
    inset 0 2px 6px rgba(255,255,255,.9);
}
html[data-cosmetic-board="frostfire"] #screen-game .lkb-base .lkb-goti {
  background:
    radial-gradient(circle at 40% 34%, #ffffff 0%, #e8f6ff 70%, #cfe8f8 100%);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.95),
    inset 0 1px 3px rgba(96,146,178,.25),
    0 0 9px rgba(150,214,255,.5);
}

html[data-cosmetic-board="frostfire"] #screen-game .lkb-pocket-mark {
  background: radial-gradient(circle at 38% 32%, #ffffff, #bfe2f8 60%, #8dc3e0);
  border-radius: 50%;
  box-shadow: 0 0 6px rgba(150,214,255,.75);
  opacity: .9;
}

/* --- centre: cut crystal rhombus ---------------------------------------- */
html[data-cosmetic-board="frostfire"] #screen-game .lkb-crown {
  border-radius: 0;
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
  background:
    linear-gradient(135deg, #ffffff 0%, #dff2ff 38%, #a8d4f0 68%, #7fb6d8 100%);
  border: none;
  box-shadow:
    0 0 18px rgba(190,232,255,.9),
    0 0 46px rgba(120,196,255,.5);
  animation: bf-cut 4.2s ease-in-out infinite;
}
html[data-cosmetic-board="frostfire"] #screen-game .lkb-crown::after {
  content: '❄';
  font-size: 11px;
  color: #ffffff;
  text-shadow: 0 0 8px rgba(120,196,255,.95), 0 1px 2px rgba(24,64,96,.5);
}
@keyframes bf-cut {
  /* r554: filter: brightness() প্রতি ফ্রেমে লেয়ার রি-র্যাস্টার করত;
     এখন একই উজ্জ্বলতা opacity-তে বোঝানো হয় (কম্পোজিটর) */
  0%, 100% { transform: translate(-50%,-50%) scale(1); opacity: .88; }
  50% { transform: translate(-50%,-50%) scale(1.09); opacity: 1; }
}

html[data-cosmetic-board="frostfire"] #screen-game .lkb-star-wrap {
  filter: drop-shadow(0 1px 2px rgba(60,120,160,.5));
}
html[data-cosmetic-board="frostfire"] #screen-game .lkb-arrow-wrap {
  filter: drop-shadow(0 1px 2px rgba(30,86,124,.55)) drop-shadow(0 0 6px rgba(224,246,255,.9));
}

@media (prefers-reduced-motion: reduce) {
  html[data-cosmetic-board="frostfire"] #screen-game .lkb-board::before,
  html[data-cosmetic-board="frostfire"] #screen-game .lkb-board::after,
  html[data-cosmetic-board="frostfire"] #screen-game .lkb-crown { animation: none; }
}
