
.kce-wc-composition{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:#050505;container-type:inline-size;isolation:isolate}
.kce-wc-composition-bg{position:absolute;inset:0;overflow:hidden;z-index:1}
.kce-wc-bg-image{position:absolute;width:100%;height:100%;object-fit:cover;object-position:var(--bg-x,50%) var(--bg-y,50%);transform:scale(var(--bg-zoom,1));transform-origin:var(--bg-x,50%) var(--bg-y,50%)}
.kce-wc-bg-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#181818;color:#aaa;font-weight:700;font-size:2.3cqw}
.kce-wc-template-overlay{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:3;pointer-events:none}
.kce-wc-winner-title{position:absolute;z-index:4;top:4.7%;left:28%;right:24%;text-align:center;color:#e11;font:italic 900 2.25cqw/1 Impact,'Arial Narrow',Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;text-shadow:0 .16cqw .28cqw rgba(0,0,0,.85)}
.kce-wc-winner-title:before,.kce-wc-winner-title:after{content:"";display:inline-block;width:22%;height:.12cqw;background:#e11;vertical-align:middle;margin:0 1.2cqw}
.kce-wc-winner-name{position:absolute;z-index:4;top:10%;left:23%;right:24%;text-align:center;color:#fff;font:italic 900 var(--winner-size,6cqw)/.92 Impact,'Arial Narrow',Arial,sans-serif;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-shadow:0 .16cqw .28cqw rgba(0,0,0,.85)}
.kce-wc-details{position:absolute;z-index:4;left:2.7%;top:43%;width:32%;display:flex;flex-direction:column;gap:2.1cqw;color:#fff;font-family:Arial,sans-serif}
.kce-wc-details div{display:block;padding-left:4.3cqw;position:relative;min-height:3.1cqw}
.kce-wc-details div:before{position:absolute;left:.3cqw;top:.15cqw;width:2.3cqw;text-align:center;color:#fff;font-size:2.1cqw;font-weight:900}
.kce-wc-details div:nth-child(1):before{content:"🏆";filter:grayscale(1) brightness(4)}
.kce-wc-details div:nth-child(2):before{content:"🏁";filter:grayscale(1) brightness(4)}
.kce-wc-details div:nth-child(3):before{content:"◒";font-size:2.6cqw}
.kce-wc-details div:nth-child(4):before{content:"▣";font-size:2.5cqw}
.kce-wc-details span{display:block;color:#e11;font-size:1.35cqw;font-weight:900;line-height:1;text-transform:uppercase}
.kce-wc-details strong{display:block;margin-top:.35cqw;font-size:1.65cqw;line-height:1.05;text-transform:uppercase;white-space:normal}
.kce-wc-track-logo{position:absolute;z-index:4;left:34%;right:34%;bottom:3.3%;height:13%;display:flex;align-items:center;justify-content:center}
.kce-wc-track-logo img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 .2cqw .28cqw rgba(0,0,0,.8))}

.kce-wc-public{width:100%;max-width:1920px;margin:0 auto}
.kce-wc-current-winner{width:100%;margin:0 auto 40px}
.kce-wc-previous{max-width:1600px;margin:0 auto;padding:0 20px 50px}
.kce-wc-previous-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 16px}
.kce-wc-previous-head h2{margin:0;text-transform:uppercase;font-size:32px}
.kce-wc-carousel-nav{display:flex;gap:8px}
.kce-wc-carousel-nav button{width:42px;height:42px;border:1px solid #ccc;background:#111;color:#fff;font-size:28px;line-height:1;cursor:pointer}
.kce-wc-carousel{overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory}
.kce-wc-carousel::-webkit-scrollbar{display:none}
.kce-wc-carousel-track{display:flex;gap:18px}
.kce-wc-carousel-slide{flex:0 0 min(72%,900px);scroll-snap-align:start;box-shadow:0 6px 22px rgba(0,0,0,.25)}
.kce-wc-public-empty{text-align:center;padding:60px 20px;font-size:20px}
@media(max-width:850px){.kce-wc-carousel-slide{flex-basis:92%}}

/* Alpha3.2 locked Winners Circle template */
.kce-wc-composition{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  background:#050505;
  container-type:inline-size;
  isolation:isolate;
}
.kce-wc-composition-bg{position:absolute;inset:0;overflow:hidden;z-index:1}
.kce-wc-bg-image{
  position:absolute;width:100%;height:100%;
  object-fit:cover;
  object-position:var(--bg-x,50%) var(--bg-y,50%);
  transform:scale(var(--bg-zoom,1));
  transform-origin:var(--bg-x,50%) var(--bg-y,50%);
}
.kce-wc-template-vignette{
  position:absolute;inset:0;z-index:2;pointer-events:none;
  background:
    linear-gradient(90deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.67) 23%,rgba(0,0,0,.24) 46%,rgba(0,0,0,.06) 70%,rgba(0,0,0,.18) 100%),
    linear-gradient(180deg,rgba(0,0,0,.18) 0%,rgba(0,0,0,.04) 45%,rgba(0,0,0,.34) 100%);
}
.kce-wc-fixed-logo{position:absolute;z-index:5;object-fit:contain;pointer-events:none}
.kce-wc-kce-logo{left:1.7%;top:1.7%;width:20.5%;height:auto}
.kce-wc-amsoil-logo{
  right:1.9%;top:3.4%;width:19%;height:auto;
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
}
.kce-wc-srh-logo{right:1.8%;bottom:3.1%;width:18.8%;height:auto}

.kce-wc-winner-title{
  position:absolute;z-index:5;
  top:2.7%;left:22.7%;right:22.7%;
  text-align:center;color:#e11919;
  font:italic 900 2.0cqw/1 Impact,'Arial Narrow',Arial,sans-serif;
  letter-spacing:.055em;text-transform:uppercase;
  text-shadow:0 .14cqw .22cqw rgba(0,0,0,.9);
}
.kce-wc-winner-title span{display:flex;align-items:center;gap:1.25cqw;justify-content:center}
.kce-wc-winner-title span:before,.kce-wc-winner-title span:after{
  content:"";height:.13cqw;background:#e11919;flex:1 1 auto;max-width:14cqw;
}
.kce-wc-winner-name{
  position:absolute;z-index:5;
  top:7.5%;left:22%;right:22%;
  text-align:center;color:#fff;
  font:italic 900 var(--winner-size,6cqw)/.94 Impact,'Arial Narrow',Arial,sans-serif;
  text-transform:uppercase;white-space:nowrap;overflow:hidden;
  -webkit-text-stroke:.08cqw #111;
  text-shadow:0 .25cqw .35cqw rgba(0,0,0,.9);
}

/* Carbon-style left information panel */
.kce-wc-info-panel{
  position:absolute;z-index:5;
  left:0;top:34%;width:25%;
  padding:1.25cqw 1.25cqw 1.2cqw 1.45cqw;
  background:
    linear-gradient(145deg,rgba(28,30,33,.95),rgba(8,9,10,.91)),
    repeating-linear-gradient(45deg,rgba(255,255,255,.025) 0 2px,rgba(0,0,0,.025) 2px 4px);
  border-top:.15cqw solid rgba(255,255,255,.32);
  border-bottom:.15cqw solid rgba(255,255,255,.32);
  border-right:.22cqw solid #d71920;
  clip-path:polygon(0 0,89% 0,100% 16%,100% 84%,89% 100%,0 100%);
  box-shadow:.35cqw .25cqw .65cqw rgba(0,0,0,.48);
}
.kce-wc-info-row{
  display:grid;grid-template-columns:3.35cqw 1fr;
  align-items:center;min-height:4.6cqw;
  border-bottom:.08cqw solid rgba(220,25,32,.68);
}
.kce-wc-info-row:last-child{border-bottom:0}
.kce-wc-info-icon{
  font-size:2.1cqw;line-height:1;text-align:center;
  filter:grayscale(1) brightness(3.5);
}
.kce-wc-info-row span{
  display:block;color:#ed1c24;
  font:900 1.02cqw/1 Arial,sans-serif;
  text-transform:uppercase;
}
.kce-wc-info-row strong{
  display:block;margin-top:.28cqw;color:#fff;
  font:700 1.18cqw/1.1 Arial,sans-serif;
  text-transform:none;
  white-space:normal;
}
.kce-wc-track-icon{font-size:2.45cqw}

.kce-wc-track-logo{
  position:absolute;z-index:5;
  left:35%;right:35%;bottom:2.8%;height:14%;
  display:flex;align-items:center;justify-content:center;
}
.kce-wc-track-logo img{
  max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;
  filter:drop-shadow(0 .18cqw .28cqw rgba(0,0,0,.9));
}
.kce-wc-track-logo-missing{
  color:#fff;text-transform:uppercase;
  font:italic 900 1.7cqw/1 Impact,'Arial Narrow',Arial,sans-serif;
  text-align:center;
}
.kce-wc-property{
  position:absolute;z-index:5;left:2.7%;bottom:2.6%;
  color:#fff;font:500 .86cqw/1 Arial,sans-serif;
  text-shadow:0 .1cqw .2cqw rgba(0,0,0,.9);
}

/* Hide prior overlay image if older cached markup ever appears */
.kce-wc-template-overlay{display:none!important}

/* Alpha3.2: current winner is ~50% of the former full-width output */
.kce-wc-public{
  width:100%;
  max-width:1200px;
  margin:0 auto;
}
.kce-wc-current-winner{
  width:min(960px,100%);
  margin:0 auto 34px;
}
.kce-wc-previous{
  max-width:1100px;
}
.kce-wc-carousel-slide{
  flex:0 0 min(48%,520px);
}
@media(max-width:850px){
  .kce-wc-current-winner{width:100%}
  .kce-wc-carousel-slide{flex-basis:88%}
}

/* ============================================================
   v0.1.0-alpha3.2.1 — Website Template & Composer Repair
   ============================================================ */

/* The composition itself is always a true 16:9 canvas. */
.kce-wc-composition{
  position:relative!important;
  width:100%!important;
  aspect-ratio:16/9!important;
  height:auto!important;
  overflow:hidden!important;
  background:#060606!important;
  container-type:inline-size!important;
  isolation:isolate!important;
}

/* Screenshot layer only. */
.kce-wc-composition-bg{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
  z-index:1!important;
}

.kce-wc-bg-image{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:var(--bg-x,50%) var(--bg-y,50%)!important;
  transform:scale(var(--bg-zoom,1))!important;
  transform-origin:center center!important;
}

/* Keep a full-canvas dark treatment, just not as heavy as before. */
.kce-wc-template-vignette{
  position:absolute!important;
  inset:0!important;
  z-index:2!important;
  pointer-events:none!important;
  background:
    linear-gradient(rgba(0,0,0,.23),rgba(0,0,0,.23)),
    linear-gradient(90deg,
      rgba(0,0,0,.56) 0%,
      rgba(0,0,0,.44) 20%,
      rgba(0,0,0,.20) 38%,
      rgba(0,0,0,.10) 62%,
      rgba(0,0,0,.18) 100%)!important;
}

/* Fixed logos: never affected by screenshot controls. */
.kce-wc-kce-logo{
  left:2.5%!important;
  top:2.7%!important;
  width:15.8%!important;
  height:auto!important;
  max-height:25%!important;
  object-fit:contain!important;
}

.kce-wc-amsoil-logo{
  right:2.6%!important;
  top:4.0%!important;
  width:15.2%!important;
  height:auto!important;
  max-height:14%!important;
  object-fit:contain!important;
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
}

/* RACE WINNER and winner name each get their own row. */
.kce-wc-winner-title{
  position:absolute!important;
  z-index:5!important;
  top:2.5%!important;
  left:27%!important;
  right:22%!important;
  text-align:center!important;
  color:#ed1c24!important;
  font:italic 900 1.55cqw/1 Impact,'Arial Narrow',Arial,sans-serif!important;
  letter-spacing:.055em!important;
  text-transform:uppercase!important;
  text-shadow:0 .12cqw .2cqw rgba(0,0,0,.9)!important;
}
.kce-wc-winner-title span{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:1cqw!important;
}
.kce-wc-winner-title span:before,
.kce-wc-winner-title span:after{
  content:""!important;
  height:.11cqw!important;
  background:#ed1c24!important;
  flex:1 1 auto!important;
  max-width:12cqw!important;
}

.kce-wc-winner-name{
  position:absolute!important;
  z-index:5!important;
  top:7.4%!important;
  left:22%!important;
  right:21%!important;
  color:#fff!important;
  text-align:center!important;
  font:italic 900 var(--winner-size,5.2cqw)/.96 Impact,'Arial Narrow',Arial,sans-serif!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  -webkit-text-stroke:.065cqw #111!important;
  text-shadow:0 .22cqw .3cqw rgba(0,0,0,.88)!important;
}

/* Left information panel — smaller, cleaner, more room for long values. */
.kce-wc-info-panel{
  position:absolute!important;
  z-index:5!important;
  left:1.1%!important;
  top:35.4%!important;
  width:24.5%!important;
  padding:.8cqw 1cqw .8cqw 1.1cqw!important;
  background:
    linear-gradient(145deg,rgba(22,23,25,.92),rgba(7,8,9,.88)),
    repeating-linear-gradient(45deg,rgba(255,255,255,.02) 0 2px,rgba(0,0,0,.02) 2px 4px)!important;
  border:.08cqw solid rgba(255,255,255,.28)!important;
  border-right:.22cqw solid #ed1c24!important;
  border-radius:.7cqw!important;
  clip-path:none!important;
  box-shadow:.22cqw .22cqw .55cqw rgba(0,0,0,.38)!important;
}

.kce-wc-info-row{
  display:grid!important;
  grid-template-columns:2.6cqw 1fr!important;
  align-items:center!important;
  min-height:3.7cqw!important;
  border-bottom:.06cqw solid rgba(237,28,36,.62)!important;
}
.kce-wc-info-row:last-child{border-bottom:0!important}

.kce-wc-info-icon{
  font-size:1.5cqw!important;
  line-height:1!important;
  text-align:center!important;
}

.kce-wc-info-row span{
  display:block!important;
  color:#ed1c24!important;
  font:900 .75cqw/1 Arial,sans-serif!important;
  text-transform:uppercase!important;
}

.kce-wc-info-row strong{
  display:block!important;
  margin-top:.23cqw!important;
  color:#fff!important;
  font:700 .88cqw/1.12 Arial,sans-serif!important;
  text-transform:none!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}

/* Bottom-center track logo / fallback */
.kce-wc-track-logo{
  position:absolute!important;
  z-index:5!important;
  left:37%!important;
  right:37%!important;
  bottom:2.4%!important;
  height:10.5%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.kce-wc-track-logo img{
  max-width:100%!important;
  max-height:100%!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
  filter:drop-shadow(0 .15cqw .24cqw rgba(0,0,0,.85))!important;
}
.kce-wc-track-logo-missing{
  color:#fff!important;
  font:italic 900 1.05cqw/1 Impact,'Arial Narrow',Arial,sans-serif!important;
  text-transform:uppercase!important;
  text-align:center!important;
}

/* Footer */
.kce-wc-srh-logo{
  right:2.4%!important;
  bottom:3.2%!important;
  width:15.1%!important;
  height:auto!important;
  max-height:14%!important;
}

.kce-wc-property{
  left:2.8%!important;
  bottom:2.8%!important;
  font-size:.52cqw!important;
}

/* Composer geometry — preview stays 16:9 and controls never squeeze it. */
.kce-wc-composer-layout{
  display:grid!important;
  grid-template-columns:minmax(620px,900px) minmax(285px,350px)!important;
  gap:22px!important;
  align-items:start!important;
  justify-content:center!important;
}

.kce-wc-composer-preview-wrap{
  width:100%!important;
  max-width:900px!important;
  margin:0!important;
  padding:8px!important;
  box-sizing:border-box!important;
  background:#111!important;
  border-radius:8px!important;
}

.kce-wc-composer-preview-wrap .kce-wc-composition{
  width:100%!important;
  max-width:none!important;
}

.kce-wc-composer-controls{
  min-width:0!important;
}

@media(max-width:1180px){
  .kce-wc-composer-layout{
    grid-template-columns:1fr!important;
  }
  .kce-wc-composer-preview-wrap{
    max-width:900px!important;
    margin:0 auto!important;
  }
}

/* Website presentation: intentionally much smaller than original 1920-wide output. */
.kce-wc-public{
  width:100%!important;
  max-width:1080px!important;
  margin:0 auto!important;
}
.kce-wc-current-winner{
  width:min(900px,100%)!important;
  margin:0 auto 28px!important;
}
.kce-wc-previous{
  max-width:1000px!important;
  padding:0 12px 40px!important;
}
.kce-wc-previous-head h2{
  font-size:24px!important;
}
.kce-wc-carousel-track{
  gap:12px!important;
}
.kce-wc-carousel-slide{
  flex:0 0 min(31%,300px)!important;
}
@media(max-width:850px){
  .kce-wc-current-winner{width:100%!important}
  .kce-wc-carousel-slide{flex-basis:76%!important}
}

/* v0.1.0-alpha3.2.2 — requested layout corrections only */
.kce-wc-winner-name{top:10.2%!important}
.kce-wc-info-panel{
  width:21.5%!important;
  background:
    linear-gradient(145deg,rgba(22,23,25,.72),rgba(7,8,9,.66)),
    repeating-linear-gradient(45deg,rgba(255,255,255,.02) 0 2px,rgba(0,0,0,.02) 2px 4px)!important;
}
.kce-wc-info-row{grid-template-columns:2.35cqw 1fr!important}
.kce-wc-info-row span{font-size:.74cqw!important}
.kce-wc-info-row strong{
  font-size:.82cqw!important;
  line-height:1.12!important;
  overflow-wrap:anywhere!important;
}
.kce-wc-amsoil-logo{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  filter:none!important;
}

/* v0.1.0-alpha3.2.3 — left information typography +10% */
.kce-wc-info-row span{font-size:.81cqw!important}
.kce-wc-info-row strong{font-size:.90cqw!important}

/* v0.1.0-alpha3.2.4 — visibly larger left information text */
.kce-wc-info-row span{
  font-size:1.00cqw!important;
}
.kce-wc-info-row strong{
  font-size:1.12cqw!important;
  line-height:1.14!important;
}

/* ============================================================
   v0.1.0-alpha3.2.5 — Track Logo Scale + Lighter Shading
   Only the two requested visual changes.
   ============================================================ */

/* Lighter full-picture shading while keeping the entire screenshot shaded. */
.kce-wc-template-vignette{
  background:
    linear-gradient(rgba(0,0,0,.12),rgba(0,0,0,.12)),
    linear-gradient(90deg,
      rgba(0,0,0,.38) 0%,
      rgba(0,0,0,.29) 20%,
      rgba(0,0,0,.13) 38%,
      rgba(0,0,0,.06) 62%,
      rgba(0,0,0,.10) 100%)!important;
}

/* Bottom-center Schedule Manager track logo: approximately 400% of prior size. */
.kce-wc-track-logo{
  left:15%!important;
  right:15%!important;
  bottom:1.5%!important;
  height:38%!important;
}

.kce-wc-track-logo img{
  max-width:100%!important;
  max-height:100%!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
}

/* Keep text fallback reasonable if a track truly has no logo. */
.kce-wc-track-logo-missing{
  left:34%!important;
  right:34%!important;
  height:10.5%!important;
}

/* v0.1.0-alpha3.2.6 — track logo 10% smaller */
.kce-wc-track-logo{
  height:34.2%!important;
}

/* v0.1.0-alpha3.2.7 — track logo 20% smaller than alpha3.2.6 */
.kce-wc-track-logo{
  height:27.36%!important;
}

/* ============================================================
   v0.1.0-alpha3.2.8 — KCE Motorsports Frame
   Frames the entire finished winner composition.
   ============================================================ */
.kce-wc-composition{
  box-sizing:border-box!important;
  border:.22cqw solid rgba(218,222,226,.92)!important;
  outline:.12cqw solid rgba(20,20,22,.98)!important;
  outline-offset:-.52cqw!important;
  box-shadow:
    0 0 0 .34cqw rgba(8,8,10,.98),
    0 0 0 .48cqw rgba(237,28,36,.88),
    0 .55cqw 1.25cqw rgba(0,0,0,.72)!important;
}

/* Thin racing-red inner accent line. */
.kce-wc-composition:before{
  content:""!important;
  position:absolute!important;
  inset:.62cqw!important;
  z-index:20!important;
  pointer-events:none!important;
  border:.09cqw solid rgba(237,28,36,.78)!important;
  clip-path:polygon(
    0 0, 12% 0, 13.2% 1.15%, 86.8% 1.15%, 88% 0, 100% 0,
    100% 100%, 88% 100%, 86.8% 98.85%, 13.2% 98.85%, 12% 100%, 0 100%
  )!important;
}

/* Metallic corner details without covering the artwork. */
.kce-wc-composition:after{
  content:""!important;
  position:absolute!important;
  inset:.18cqw!important;
  z-index:21!important;
  pointer-events:none!important;
  background:
    linear-gradient(135deg,rgba(237,28,36,.98) 0 1.6cqw,transparent 1.65cqw) top left,
    linear-gradient(225deg,rgba(237,28,36,.98) 0 1.6cqw,transparent 1.65cqw) top right,
    linear-gradient(45deg,rgba(237,28,36,.98) 0 1.6cqw,transparent 1.65cqw) bottom left,
    linear-gradient(315deg,rgba(237,28,36,.98) 0 1.6cqw,transparent 1.65cqw) bottom right!important;
  background-repeat:no-repeat!important;
  background-size:4.2cqw 4.2cqw!important;
}

/* Give the public winner frame breathing room for its outside shadow/rim. */
.kce-wc-current-winner{
  padding:.55cqw!important;
  box-sizing:border-box!important;
}

/* ============================================================
   v0.1.0-alpha3.2.12 — Vertical Screenshot Positioning Fix
   Screenshot X/Y controls now move the image focal point directly.
   ============================================================ */
.kce-wc-bg-image{
  left:var(--bg-x,50%)!important;
  top:var(--bg-y,50%)!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  transform:translate(-50%,-50%) scale(var(--bg-zoom,1))!important;
  transform-origin:center center!important;
}

/* ============================================================
   v0.1.0-alpha3.2.13 — Center Brightness Enhancement
   Preserve edge darkness, brighten center only.
   ============================================================ */
.kce-wc-template-vignette{
  background:
    radial-gradient(
      ellipse at 56% 48%,
      rgba(0,0,0,.00) 0%,
      rgba(0,0,0,.02) 24%,
      rgba(0,0,0,.08) 46%,
      rgba(0,0,0,.18) 68%,
      rgba(0,0,0,.28) 100%
    ),
    linear-gradient(90deg,
      rgba(0,0,0,.38) 0%,
      rgba(0,0,0,.29) 20%,
      rgba(0,0,0,.10) 38%,
      rgba(0,0,0,.03) 58%,
      rgba(0,0,0,.08) 74%,
      rgba(0,0,0,.10) 100%)!important;
}

/* ============================================================
   v0.1.0-alpha3.2.14 — Major Center Brightness
   Keep perimeter darkness; make center substantially brighter.
   ============================================================ */
.kce-wc-template-vignette{
  background:
    radial-gradient(
      ellipse 72% 68% at 56% 48%,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,0) 34%,
      rgba(0,0,0,.02) 50%,
      rgba(0,0,0,.08) 64%,
      rgba(0,0,0,.18) 79%,
      rgba(0,0,0,.28) 100%
    ),
    linear-gradient(90deg,
      rgba(0,0,0,.38) 0%,
      rgba(0,0,0,.27) 16%,
      rgba(0,0,0,.08) 31%,
      rgba(0,0,0,0) 43%,
      rgba(0,0,0,0) 70%,
      rgba(0,0,0,.05) 82%,
      rgba(0,0,0,.10) 100%)!important;
}

/* ============================================================
   v0.1.0-alpha3.3 — Historical Artwork Mode
   Finished historical images publish exactly as uploaded.
   ============================================================ */
.kce-wc-historical-artwork{
  width:100%;
  line-height:0;
  background:transparent;
  border:0;
  outline:0;
  box-shadow:none;
  padding:0;
  margin:0;
}
.kce-wc-historical-artwork img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  border:0;
  outline:0;
  box-shadow:none;
  padding:0;
  margin:0;
}
.kce-wc-historical-empty{
  min-height:280px;
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:1.4;
  background:#181818;
  color:#aaa;
  font-weight:700;
}
.kce-wc-template-choice label{
  display:block;
  margin:8px 0;
}
.kce-wc-template-choice small{
  display:block;
  margin-top:8px;
}

/* ============================================================
   v0.1.0-alpha3.3.1 — Legacy Photo Frame
   Historical artwork stays untouched internally, but receives
   the same simple KCE frame treatment around its outside edge.
   ============================================================ */
.kce-wc-historical-artwork{
  position:relative!important;
  box-sizing:border-box!important;
  border:.22cqw solid rgba(218,222,226,.92)!important;
  outline:.12cqw solid rgba(20,20,22,.98)!important;
  outline-offset:-.52cqw!important;
  box-shadow:
    0 0 0 .34cqw rgba(8,8,10,.98),
    0 0 0 .48cqw rgba(237,28,36,.88),
    0 .55cqw 1.25cqw rgba(0,0,0,.72)!important;
}

.kce-wc-historical-artwork:before{
  content:""!important;
  position:absolute!important;
  inset:.62cqw!important;
  z-index:2!important;
  pointer-events:none!important;
  border:.09cqw solid rgba(237,28,36,.78)!important;
  clip-path:polygon(
    0 0, 12% 0, 13.2% 1.15%, 86.8% 1.15%, 88% 0, 100% 0,
    100% 100%, 88% 100%, 86.8% 98.85%, 13.2% 98.85%, 12% 100%, 0 100%
  )!important;
}

.kce-wc-historical-artwork:after{
  content:""!important;
  position:absolute!important;
  inset:.18cqw!important;
  z-index:3!important;
  pointer-events:none!important;
  background:
    linear-gradient(135deg,rgba(237,28,36,.98) 0 1.6cqw,transparent 1.65cqw) top left,
    linear-gradient(225deg,rgba(237,28,36,.98) 0 1.6cqw,transparent 1.65cqw) top right,
    linear-gradient(45deg,rgba(237,28,36,.98) 0 1.6cqw,transparent 1.65cqw) bottom left,
    linear-gradient(315deg,rgba(237,28,36,.98) 0 1.6cqw,transparent 1.65cqw) bottom right!important;
  background-repeat:no-repeat!important;
  background-size:4.2cqw 4.2cqw!important;
}

.kce-wc-historical-artwork img{
  position:relative;
  z-index:1;
}

/* ============================================================
   v0.1.0-alpha3.3.2 — Continuous Previous Winners + Lightbox
   ============================================================ */

.kce-wc-carousel{
  overflow:hidden!important;
  scroll-snap-type:none!important;
  scrollbar-width:none!important;
  position:relative!important;
}

.kce-wc-carousel-track{
  display:flex!important;
  width:max-content!important;
  gap:12px!important;
  will-change:transform!important;
}

.kce-wc-carousel-slide{
  flex:0 0 300px!important;
  width:300px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  color:inherit!important;
  cursor:pointer!important;
  text-align:initial!important;
  font:inherit!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}

.kce-wc-carousel-slide:hover{
  transform:scale(1.025);
  transition:transform .18s ease;
}

.kce-wc-carousel-slide:focus-visible{
  outline:2px solid rgba(237,28,36,.95)!important;
  outline-offset:4px!important;
}

.kce-wc-carousel-slide .kce-wc-composition,
.kce-wc-carousel-slide .kce-wc-historical-artwork{
  width:100%!important;
  pointer-events:none!important;
}

/* Full-size popup */
.kce-wc-lightbox[hidden]{
  display:none!important;
}

.kce-wc-lightbox{
  position:fixed!important;
  inset:0!important;
  z-index:999999!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:28px!important;
  box-sizing:border-box!important;
}

.kce-wc-lightbox-backdrop{
  position:absolute!important;
  inset:0!important;
  background:rgba(0,0,0,.88)!important;
  backdrop-filter:blur(5px)!important;
}

.kce-wc-lightbox-dialog{
  position:relative!important;
  z-index:2!important;
  width:min(94vw,1600px)!important;
  max-height:92vh!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}

.kce-wc-lightbox-content{
  width:100%!important;
  max-height:92vh!important;
}

.kce-wc-lightbox-content .kce-wc-composition,
.kce-wc-lightbox-content .kce-wc-historical-artwork{
  width:100%!important;
  max-width:1600px!important;
  margin:0 auto!important;
}

.kce-wc-lightbox-content .kce-wc-historical-artwork img{
  width:auto!important;
  max-width:100%!important;
  max-height:88vh!important;
  margin:0 auto!important;
  object-fit:contain!important;
}

.kce-wc-lightbox-close{
  position:fixed!important;
  z-index:3!important;
  top:18px!important;
  right:24px!important;
  width:48px!important;
  height:48px!important;
  border:1px solid rgba(255,255,255,.45)!important;
  border-radius:50%!important;
  background:rgba(10,10,12,.85)!important;
  color:#fff!important;
  font-size:34px!important;
  line-height:42px!important;
  cursor:pointer!important;
}

.kce-wc-lightbox-open{
  overflow:hidden!important;
}

@media(max-width:850px){
  .kce-wc-carousel-slide{
    flex-basis:260px!important;
    width:260px!important;
  }

  .kce-wc-lightbox{
    padding:14px!important;
  }
}

/* v0.1.0-alpha3.3.4 — Current Winner Lightbox trigger */
button.kce-wc-current-winner{
  display:block!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:inherit!important;
  font:inherit!important;
  text-align:initial!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  cursor:pointer!important;
}

button.kce-wc-current-winner:focus-visible{
  outline:2px solid rgba(237,28,36,.95)!important;
  outline-offset:5px!important;
}

button.kce-wc-current-winner > .kce-wc-composition,
button.kce-wc-current-winner > .kce-wc-historical-artwork{
  pointer-events:none!important;
}

/* ============================================================
   v0.1.0-alpha3.3.5 — Public Winners Circle 20% Scale Increase
   Public output only. Composition design and internal artwork
   geometry remain unchanged.
   ============================================================ */

.kce-wc-public{
  width:100%!important;
  max-width:1440px!important;
  margin:0 auto!important;
}

.kce-wc-current-winner{
  width:min(1152px,100%)!important;
  margin:0 auto 41px!important;
}

.kce-wc-previous{
  max-width:1320px!important;
  padding:0 24px 60px!important;
}

.kce-wc-previous-head{
  gap:24px!important;
  margin-bottom:19px!important;
}

.kce-wc-previous-head h2{
  font-size:38px!important;
}

.kce-wc-carousel-nav{
  gap:10px!important;
}

.kce-wc-carousel-nav button{
  width:50px!important;
  height:50px!important;
  font-size:34px!important;
}

.kce-wc-carousel-track{
  gap:22px!important;
}

/* Alpha3.3.4 displayed cards at max 520px. Increase visual
   card size by ~20% while preserving the existing carousel. */
.kce-wc-carousel-slide{
  flex:0 0 min(58%,624px)!important;
  box-shadow:0 8px 27px rgba(0,0,0,.25)!important;
}

.kce-wc-public-empty{
  padding:72px 24px!important;
  font-size:24px!important;
}

@media(max-width:850px){
  .kce-wc-public{max-width:100%!important}
  .kce-wc-current-winner{width:100%!important}
  .kce-wc-previous{padding-left:14px!important;padding-right:14px!important}
  .kce-wc-carousel-slide{flex-basis:92%!important}
  .kce-wc-previous-head h2{font-size:32px!important}
  .kce-wc-carousel-nav button{width:44px!important;height:44px!important;font-size:30px!important}
}

/* ============================================================
   v0.1.0-alpha3.3.6 — Carousel Cards 10% Smaller
   Keep the alpha3.3.5 carousel/container width unchanged while
   reducing each desktop slide so more winners are visible.
   ============================================================ */
.kce-wc-carousel-slide{
  flex:0 0 min(52.2%,562px)!important;
}

/* Keep the existing mobile presentation readable. */
@media(max-width:850px){
  .kce-wc-carousel-slide{flex-basis:92%!important}
}

/* ============================================================
   v0.1.0-alpha3.3.7 — Carousel Cards 35% Smaller
   Carousel/container width remains unchanged from alpha3.3.5/6.
   Individual desktop slides are 35% smaller than the 624px
   alpha3.3.5 card size so more winners appear at one time.
   ============================================================ */
.kce-wc-carousel-slide{
  flex:0 0 min(37.7%,406px)!important;
}

/* Preserve the established mobile presentation. */
@media(max-width:850px){
  .kce-wc-carousel-slide{flex-basis:92%!important}
}

/* ============================================================
   v0.1.0-alpha3.3.8 — Carousel Cards 50% Smaller Than alpha3.3.7
   Keep the carousel/container width unchanged. The alpha3.3.7
   desktop card was ~406px / 37.7%; halve that card size.
   ============================================================ */
.kce-wc-carousel-slide{
  flex:0 0 min(18.85%,203px)!important;
}

/* Preserve the established mobile presentation. */
@media(max-width:850px){
  .kce-wc-carousel-slide{flex-basis:92%!important}
}
/* ============================================================
   v0.1.0-alpha3.3.10 — Historical Frame Unit Context Fix
   Template NO now establishes the same container-query context as
   template artwork so cqw frame and corner dimensions match.
   ============================================================ */
.kce-wc-historical-artwork{
  container-type:inline-size!important;
  isolation:isolate!important;
}

/* ============================================================
   v0.1.0-alpha3.3.11 — Uploaded Picture Brightness
   Brightness applies ONLY to the uploaded background image.
   Template overlays, logos, text and other composition layers
   remain unchanged.
   ============================================================ */
.kce-wc-composition .kce-wc-bg-image{
  filter:brightness(var(--bg-brightness,1))!important;
}

/* ============================================================
   v0.1.0-alpha3.5.4 — Cumulative Current Winner Trophy Layout
   Built directly from alpha3.5.1. Public page only.
   ============================================================ */
.kce-wc-public{
  max-width:1920px!important;
}

.kce-wc-current-stage{
  width:min(1920px,100%)!important;
  margin:0 auto 41px!important;
  padding:0 12px!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:minmax(240px,384px) minmax(0,1152px) minmax(240px,384px)!important;
  align-items:center!important;
  justify-content:center!important;
  column-gap:0!important;
}

.kce-wc-current-stage .kce-wc-current-winner{
  width:100%!important;
  max-width:1152px!important;
  margin:0!important;
  min-width:0!important;
  position:relative!important;
  z-index:2!important;
}

.kce-wc-current-trophy{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
  pointer-events:none!important;
  user-select:none!important;
  position:relative!important;
  z-index:1!important;
}

.kce-wc-current-trophy-left{
  justify-content:flex-end!important;
}

.kce-wc-current-trophy-right{
  justify-content:flex-start!important;
}

.kce-wc-current-trophy img{
  display:block!important;
  width:480px!important;
  max-width:none!important;
  height:auto!important;
  object-fit:contain!important;
}

@media(max-width:1700px){
  .kce-wc-current-stage{
    grid-template-columns:minmax(180px,300px) minmax(0,1152px) minmax(180px,300px)!important;
  }

  .kce-wc-current-trophy img{
    width:400px!important;
  }
}

@media(max-width:1350px){
  .kce-wc-current-stage{
    grid-template-columns:minmax(130px,220px) minmax(0,1fr) minmax(130px,220px)!important;
  }

  .kce-wc-current-trophy img{
    width:340px!important;
  }
}

@media(max-width:900px){
  .kce-wc-current-stage{
    display:block!important;
    padding:0!important;
    margin-bottom:41px!important;
  }

  .kce-wc-current-trophy{
    display:none!important;
  }

  .kce-wc-current-stage .kce-wc-current-winner{
    width:100%!important;
    max-width:none!important;
  }
}
