/* Quick Play v2: single premium Royal Wooden 3D visual layer. */
:root{
  --nnqp-gold:#d99a32;
  --nnqp-gold-bright:#ffe09a;
  --nnqp-bg:#100704;
  --nnqp-panel:#2a120b;
  --nnqp-light:#e8bd78;
  --nnqp-dark:#54230f;
}

body[data-board-theme="royal-wooden-3d"],body.quick-play-open{
  background:
    radial-gradient(circle at 50% -8%,rgba(174,101,35,.23),transparent 38%),
    repeating-radial-gradient(circle at 18px 18px,transparent 0 9px,rgba(113,63,34,.11) 10px 11px,transparent 12px) 0 0/38px 38px,
    linear-gradient(180deg,#1a0b06,#0c0503 74%,#120705)!important;
}

.quick-play-screen,.online-arena{
  width:min(100%,520px)!important;
  min-height:100dvh;
  margin-inline:auto!important;
  color:#f8dfad!important;
  background:linear-gradient(180deg,rgba(29,13,8,.99),rgba(13,6,4,.995))!important;
  box-shadow:0 0 0 1px rgba(222,157,56,.42),0 20px 55px rgba(0,0,0,.76)!important;
}

.quick-play-topbar,.online-topbar{
  min-height:48px!important;
  background:linear-gradient(180deg,#2a140c,#120805)!important;
  border-bottom:1px solid rgba(228,167,68,.58)!important;
  box-shadow:0 4px 14px rgba(0,0,0,.46)!important;
}

.quick-play-heading strong,.online-match-identity strong{
  color:#ffe4a8!important;
  font-family:Georgia,serif!important;
  letter-spacing:.1em!important;
  text-shadow:0 2px 7px rgba(0,0,0,.78)!important;
}

.quick-play-main,.online-main{gap:4px!important;padding:5px 7px 8px!important;}

.quick-play-player-strip,.online-player-strip{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr)!important;
  align-items:center!important;
  min-height:88px!important;
  padding:6px!important;
  border:1px solid rgba(224,157,55,.74)!important;
  border-radius:15px!important;
  background:
    linear-gradient(180deg,rgba(101,42,18,.94),rgba(39,16,9,.98))!important;
  box-shadow:inset 0 0 0 2px rgba(255,220,145,.07),0 8px 18px rgba(0,0,0,.46)!important;
}

.quick-play-player-card,.online-player-strip .fighter{
  display:grid!important;
  grid-template-columns:52px minmax(0,1fr)!important;
  align-items:center!important;
  gap:7px!important;
  min-width:0!important;
  padding:3px!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

.quick-play-avatar,.fighter-avatar{
  position:relative!important;
  width:49px!important;height:49px!important;
  overflow:hidden!important;
  border:3px solid var(--nnqp-gold)!important;
  border-radius:50%!important;
  background:#1c0d08!important;
  box-shadow:0 5px 10px rgba(0,0,0,.72),inset 0 0 10px rgba(255,224,150,.18)!important;
}
.quick-play-avatar img,.fighter-avatar img{width:100%!important;height:100%!important;object-fit:cover!important;}
.quick-play-player-copy strong,.fighter strong{color:#fff0c8!important;font-family:Georgia,serif!important;font-size:12px!important;text-shadow:0 2px 3px rgba(0,0,0,.75)!important;}
.quick-play-player-copy small,.fighter small{color:#deb274!important;font-size:8.5px!important;}

.quick-play-stake,.online-stake-panel{display:grid!important;justify-items:center!important;gap:2px!important;color:#ffe08b!important;text-align:center!important;}
.quick-play-stake b,.online-stake-panel>strong{display:none!important;}
.quick-play-stake::after,.online-stake-panel::after{content:'♟  ♙';color:#f3c66d;font-size:13px;line-height:1;letter-spacing:2px;text-shadow:0 2px 4px rgba(0,0,0,.72);}

.quick-play-center-status,.online-status{
  border:1px solid rgba(204,143,55,.5)!important;
  border-radius:14px!important;
  color:#f7d99d!important;
  background:linear-gradient(180deg,rgba(31,16,10,.98),rgba(15,7,5,.99))!important;
  box-shadow:inset 0 0 16px rgba(255,183,70,.05),0 3px 8px rgba(0,0,0,.35)!important;
}

.quick-play-board-frame,.online-board-frame{
  position:relative!important;
  width:min(calc(100vw - 16px),500px)!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  margin:4px auto!important;
  padding:13px!important;
  box-sizing:border-box!important;
  border:5px solid #1d0903!important;
  border-radius:18px!important;
  background:
    linear-gradient(145deg,rgba(255,255,255,.09),transparent 16% 78%,rgba(0,0,0,.24)),
    repeating-linear-gradient(94deg,#2d1006 0 8px,#6f3215 9px 17px,#9a5523 18px 23px,#4c1d0b 24px 33px)!important;
  box-shadow:
    0 0 0 2px #e1a542,
    0 0 0 6px #3a1206,
    0 22px 42px rgba(0,0,0,.78),
    inset 0 0 0 2px rgba(255,228,166,.18),
    inset 0 0 28px rgba(255,172,54,.28),
    inset 0 -10px 18px rgba(0,0,0,.42)!important;
}
.quick-play-board-frame::before,.online-board-frame::before{
  content:'';position:absolute;inset:6px;border:1px solid rgba(255,229,170,.28);border-radius:11px;pointer-events:none;box-shadow:inset 0 0 12px rgba(255,188,76,.1);
}
.quick-play-board-frame::after,.online-board-frame::after{
  content:'';position:absolute;inset:10px;border:1px solid rgba(54,17,5,.9);border-radius:7px;pointer-events:none;
}

.quick-play-board,.online-chessboard,.chessboard{
  display:grid!important;
  grid-template-columns:repeat(8,minmax(0,1fr))!important;
  grid-template-rows:repeat(8,minmax(0,1fr))!important;
  width:100%!important;height:100%!important;aspect-ratio:1/1!important;
  overflow:hidden!important;
  border:2px solid #241008!important;
  border-radius:5px!important;
  box-shadow:
    inset 0 0 0 1px rgba(255,235,191,.28),
    inset 0 0 22px rgba(26,7,2,.55),
    0 5px 12px rgba(0,0,0,.42)!important;
}

.chessboard .square,.quick-play-board .square,.online-chessboard .square{
  position:relative!important;display:grid!important;place-items:center!important;min-width:0!important;min-height:0!important;padding:0!important;overflow:visible!important;border:0!important;
}
.chessboard .square.light,.quick-play-board .square.light,.online-chessboard .square.light{
  background:
    linear-gradient(145deg,rgba(255,255,255,.22),transparent 34%),
    repeating-linear-gradient(6deg,rgba(112,61,22,.045) 0 1px,transparent 1px 5px),
    linear-gradient(135deg,#f2ce8e,#dba75f 58%,#b97534)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.16),inset 0 -1px rgba(95,42,13,.12)!important;
}
.chessboard .square.dark,.quick-play-board .square.dark,.online-chessboard .square.dark{
  background:
    linear-gradient(145deg,rgba(255,255,255,.075),transparent 34%),
    repeating-linear-gradient(8deg,rgba(0,0,0,.075) 0 1px,transparent 1px 5px),
    linear-gradient(135deg,#77401e,#4d2412 58%,#2b1107)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.035),inset 0 -1px rgba(0,0,0,.22)!important;
}

.nnqp-piece{
  display:block!important;
  width:97%!important;height:117%!important;
  overflow:visible!important;pointer-events:none!important;
  transform:translateY(-7%) scale(1.02)!important;
  transform-origin:center bottom!important;
  opacity:1!important;visibility:visible!important;
}
.nnqp-piece.white{filter:drop-shadow(0 8px 4px rgba(48,15,2,.58)) drop-shadow(0 0 2px rgba(255,245,219,.9)) saturate(1.08) contrast(1.04)!important;}
.nnqp-piece.black{filter:drop-shadow(0 8px 4px rgba(0,0,0,.9)) drop-shadow(0 0 2px rgba(229,159,48,.58)) saturate(1.12) contrast(1.1)!important;}
.nnqp-piece.piece-p{width:86%!important;height:105%!important;transform:translateY(-1%) scale(1.01)!important;}
.nnqp-piece.piece-q,.nnqp-piece.piece-k{height:120%!important;}

.chessboard .coord{z-index:8!important;color:#451704!important;font-size:8px!important;font-weight:900!important;text-shadow:0 1px rgba(255,237,191,.72)!important;}

.nnqp-turn-ring{position:absolute;z-index:5;inset:-7px;width:calc(100% + 14px);height:calc(100% + 14px);overflow:visible;pointer-events:none;transform:rotate(-90deg);opacity:0;}
.nnqp-turn-ring circle{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round;}
.nnqp-turn-ring .track{stroke:rgba(255,255,255,.16);stroke-width:4.8;}
.nnqp-turn-ring .progress{stroke:#f1bd35;stroke-width:4.8;stroke-dasharray:100;stroke-dashoffset:0;transition:stroke-dashoffset .2s linear;}
.fighter.nnqp-turn-active .nnqp-turn-ring{opacity:1;}
.fighter.nnqp-turn-self .nnqp-turn-ring .progress{stroke:#53d56d;}

@media(min-width:700px){.quick-play-screen,.online-arena{width:min(94vw,880px)!important}.quick-play-board-frame,.online-board-frame{width:min(68vh,620px)!important}}
@media(max-width:380px){.quick-play-player-strip,.online-player-strip{grid-template-columns:minmax(0,1fr) 60px minmax(0,1fr)!important}.quick-play-player-card,.online-player-strip .fighter{grid-template-columns:42px minmax(0,1fr)!important;gap:4px!important}.quick-play-avatar,.fighter-avatar{width:40px!important;height:40px!important}.quick-play-board-frame,.online-board-frame{width:calc(100vw - 10px)!important;padding:9px!important}.nnqp-piece{width:98%!important;height:116%!important}}


/* Premium tournament board refresh and confirmed last-move states. */
.quick-play-board-frame,.online-board-frame{
  border-color:#210b04!important;
  background:
    linear-gradient(135deg,rgba(255,238,190,.18),transparent 18% 76%,rgba(0,0,0,.32)),
    repeating-linear-gradient(92deg,#351306 0 7px,#7b3c18 8px 15px,#b06a2d 16px 20px,#5a250d 21px 31px)!important;
  box-shadow:
    0 0 0 2px #f0b94f,
    0 0 0 7px #421708,
    0 24px 48px rgba(0,0,0,.82),
    inset 0 1px 0 rgba(255,239,194,.32),
    inset 0 0 32px rgba(244,170,60,.32),
    inset 0 -12px 20px rgba(0,0,0,.5)!important;
}
.chessboard .square.light,.quick-play-board .square.light,.online-chessboard .square.light{
  background:
    linear-gradient(145deg,rgba(255,255,255,.3),transparent 36%),
    repeating-linear-gradient(7deg,rgba(114,61,20,.045) 0 1px,transparent 1px 5px),
    linear-gradient(135deg,#f5d79d,#e3b66f 58%,#bd7d3d)!important;
}
.chessboard .square.dark,.quick-play-board .square.dark,.online-chessboard .square.dark{
  background:
    linear-gradient(145deg,rgba(255,255,255,.1),transparent 36%),
    repeating-linear-gradient(8deg,rgba(0,0,0,.085) 0 1px,transparent 1px 5px),
    linear-gradient(135deg,#7d4320,#512513 58%,#2b1007)!important;
}
.nnqp-piece{
  position:relative!important;
  z-index:4!important;
  width:94%!important;
  height:113%!important;
  transform:translateY(-5%) scale(1.015)!important;
  will-change:transform;
}
.nnqp-piece.white{
  filter:drop-shadow(0 8px 4px rgba(45,13,2,.62)) drop-shadow(0 0 2px rgba(255,252,235,.95)) saturate(1.05) contrast(1.07)!important;
}
.nnqp-piece.black{
  filter:drop-shadow(0 8px 4px rgba(0,0,0,.94)) drop-shadow(0 0 2px rgba(255,185,62,.68)) saturate(1.08) contrast(1.16)!important;
}
.chessboard .square.last-move-from::before,
.online-chessboard .square.last-move-from::before,
.chessboard .square.last-move-to::before,
.online-chessboard .square.last-move-to::before{
  content:''!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
  background:linear-gradient(145deg,rgba(255,241,127,.42),rgba(218,151,35,.28))!important;
  box-shadow:inset 0 0 0 2px rgba(255,226,105,.62),inset 0 0 14px rgba(255,193,53,.36)!important;
}
.chessboard .square.last-move-to::after,
.online-chessboard .square.last-move-to::after{
  content:''!important;
  position:absolute!important;
  inset:8%!important;
  z-index:2!important;
  border:2px solid rgba(255,239,151,.9)!important;
  border-radius:12%!important;
  background:transparent!important;
  box-shadow:0 0 8px rgba(255,187,52,.55),inset 0 0 6px rgba(255,211,93,.28)!important;
  pointer-events:none!important;
}
.online-chessboard .square.last-move{
  box-shadow:none!important;
}
.online-chessboard .square.selected::after,
.online-chessboard .square.legal::after,
.online-chessboard .square.king-in-check::after{
  z-index:6!important;
}
@media (max-width:575.98px){
  .quick-play-board-frame,.online-board-frame{padding:11px!important;border-width:4px!important;border-radius:16px!important;}
  .nnqp-piece{width:95%!important;height:112%!important;}
}
@media (prefers-reduced-motion:reduce){
  .nnqp-piece{will-change:auto;}
}


/* 2026-08-08 v3: visibly distinct premium maple-and-walnut tournament board. */
body[data-board-theme="royal-wooden-3d"],body.quick-play-open{
  background:radial-gradient(circle at 50% 0,rgba(116,145,160,.16),transparent 42%),linear-gradient(180deg,#111820,#070b0f 78%)!important;
}
.quick-play-screen,.online-arena{
  color:#f5ead7!important;
  background:linear-gradient(180deg,#121a21,#080d11)!important;
  box-shadow:0 0 0 1px rgba(208,177,124,.32),0 24px 65px rgba(0,0,0,.72)!important;
}
.quick-play-topbar,.online-topbar{
  background:linear-gradient(180deg,#1d2931,#0d1419)!important;
  border-bottom-color:rgba(209,177,119,.52)!important;
}
.quick-play-player-strip,.online-player-strip{
  border-color:rgba(194,151,91,.62)!important;
  background:linear-gradient(135deg,rgba(35,48,56,.98),rgba(15,23,29,.99))!important;
}
.quick-play-board-frame,.online-board-frame{
  padding:15px!important;
  border:5px solid #321d13!important;
  border-radius:12px!important;
  background:
    linear-gradient(135deg,rgba(255,255,255,.13),transparent 22% 76%,rgba(0,0,0,.32)),
    repeating-linear-gradient(88deg,#6f3f26 0 10px,#955f3c 11px 21px,#56301f 22px 34px)!important;
  box-shadow:
    0 0 0 2px #c99b58,
    0 0 0 6px #21120d,
    0 25px 52px rgba(0,0,0,.72),
    inset 0 0 0 2px rgba(250,224,183,.2),
    inset 0 0 24px rgba(255,218,157,.18)!important;
}
.quick-play-board-frame::before,.online-board-frame::before{inset:7px;border-color:rgba(255,225,180,.38)!important;}
.quick-play-board-frame::after,.online-board-frame::after{inset:11px;border-color:rgba(42,21,13,.72)!important;}
.chessboard .square.light,.quick-play-board .square.light,.online-chessboard .square.light{
  background:
    linear-gradient(145deg,rgba(255,255,255,.22),transparent 38%),
    repeating-linear-gradient(4deg,rgba(99,67,39,.035) 0 1px,transparent 1px 6px),
    linear-gradient(135deg,#f0dfbd,#dfc79f 58%,#c9aa7e)!important;
}
.chessboard .square.dark,.quick-play-board .square.dark,.online-chessboard .square.dark{
  background:
    linear-gradient(145deg,rgba(255,255,255,.08),transparent 38%),
    repeating-linear-gradient(6deg,rgba(35,15,8,.07) 0 1px,transparent 1px 6px),
    linear-gradient(135deg,#9b6949,#74462f 58%,#512d20)!important;
}
.nnqp-piece.white{filter:drop-shadow(0 7px 4px rgba(35,22,13,.52)) drop-shadow(0 0 1px #fff) saturate(.72) contrast(1.05) brightness(1.08)!important;}
.nnqp-piece.black{filter:drop-shadow(0 8px 4px rgba(0,0,0,.88)) drop-shadow(0 0 1px rgba(220,229,232,.38)) saturate(.55) contrast(1.18) brightness(.92)!important;}


/* Approved luxury board: override legacy per-theme selectors. */
body[data-board-theme="royal-wooden-3d"] .quick-play-board-frame,
body[data-board-theme="royal-wooden-3d"] .online-board-frame,
body.quick-play-open .quick-play-board-frame,
body.quick-play-open .online-board-frame{
  padding:15px!important;border:5px solid #321d13!important;border-radius:12px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.13),transparent 22% 76%,rgba(0,0,0,.32)),repeating-linear-gradient(88deg,#6f3f26 0 10px,#955f3c 11px 21px,#56301f 22px 34px)!important;
  box-shadow:0 0 0 2px #c99b58,0 0 0 6px #21120d,0 25px 52px rgba(0,0,0,.72),inset 0 0 0 2px rgba(250,224,183,.2),inset 0 0 24px rgba(255,218,157,.18)!important;
}
body[data-board-theme="royal-wooden-3d"] .quick-play-board .square.light,
body[data-board-theme="royal-wooden-3d"] .online-chessboard .square.light,
body.quick-play-open .quick-play-board .square.light,
body.quick-play-open .online-chessboard .square.light{
  background:linear-gradient(145deg,rgba(255,255,255,.22),transparent 38%),repeating-linear-gradient(4deg,rgba(99,67,39,.035) 0 1px,transparent 1px 6px),linear-gradient(135deg,#f0dfbd,#dfc79f 58%,#c9aa7e)!important;
}
body[data-board-theme="royal-wooden-3d"] .quick-play-board .square.dark,
body[data-board-theme="royal-wooden-3d"] .online-chessboard .square.dark,
body.quick-play-open .quick-play-board .square.dark,
body.quick-play-open .online-chessboard .square.dark{
  background:linear-gradient(145deg,rgba(255,255,255,.08),transparent 38%),repeating-linear-gradient(6deg,rgba(35,15,8,.07) 0 1px,transparent 1px 6px),linear-gradient(135deg,#9b6949,#74462f 58%,#512d20)!important;
}


/* Glassy Staunton WebP asset renderer. */
.nnqp-piece.nnqp-piece-asset{
  display:block!important;
  position:absolute!important;
  z-index:4!important;
  left:50%!important;
  bottom:-8%!important;
  width:100%!important;
  height:142%!important;
  max-width:none!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  transform:translateX(-50%)!important;
  transform-origin:center bottom!important;
  filter:none!important;
  pointer-events:none!important;
  user-select:none!important;
  -webkit-user-drag:none!important;
}
.nnqp-piece.nnqp-piece-asset.piece-p{width:92%!important;height:132%!important;bottom:-5%!important;}
.nnqp-piece.nnqp-piece-asset.piece-n{width:106%!important;height:142%!important;}
.nnqp-piece.nnqp-piece-asset.piece-q,
.nnqp-piece.nnqp-piece-asset.piece-k{height:147%!important;bottom:-8%!important;}

body[data-board-theme="royal-wooden-3d"] .quick-play-board-frame,
body[data-board-theme="royal-wooden-3d"] .online-board-frame,
body.quick-play-open .quick-play-board-frame,
body.quick-play-open .online-board-frame{
  border-color:#24140e!important;
  background:
    linear-gradient(145deg,rgba(255,255,255,.19),transparent 20% 72%,rgba(0,0,0,.38)),
    repeating-linear-gradient(87deg,#3a2016 0 8px,#70432e 9px 18px,#a06c47 19px 22px,#4c2a1c 23px 34px)!important;
  box-shadow:
    0 0 0 1px #f3d08a,
    0 0 0 3px #8b6638,
    0 0 0 7px #1b0e0a,
    0 26px 55px rgba(0,0,0,.78),
    inset 0 1px 0 rgba(255,248,226,.38),
    inset 0 0 28px rgba(255,220,159,.2),
    inset 0 -12px 20px rgba(0,0,0,.42)!important;
}
body[data-board-theme="royal-wooden-3d"] .quick-play-board .square.light,
body[data-board-theme="royal-wooden-3d"] .online-chessboard .square.light,
body.quick-play-open .quick-play-board .square.light,
body.quick-play-open .online-chessboard .square.light{
  background:
    linear-gradient(145deg,rgba(255,255,255,.38),transparent 28% 76%,rgba(121,77,34,.08)),
    repeating-radial-gradient(ellipse at 22% 18%,rgba(129,86,41,.045) 0 1px,transparent 2px 7px),
    linear-gradient(135deg,#f7e8c9,#e5cc9e 58%,#cda66f)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.42),inset 0 -1px rgba(89,52,23,.16)!important;
}
body[data-board-theme="royal-wooden-3d"] .quick-play-board .square.dark,
body[data-board-theme="royal-wooden-3d"] .online-chessboard .square.dark,
body.quick-play-open .quick-play-board .square.dark,
body.quick-play-open .online-chessboard .square.dark{
  background:
    linear-gradient(145deg,rgba(255,255,255,.18),transparent 28% 74%,rgba(0,0,0,.2)),
    repeating-radial-gradient(ellipse at 70% 35%,rgba(230,183,121,.035) 0 1px,transparent 2px 7px),
    linear-gradient(135deg,#714226,#4c2819 58%,#2d160f)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.13),inset 0 -1px rgba(0,0,0,.28)!important;
}
@media(max-width:575.98px){
  .nnqp-piece.nnqp-piece-asset{height:138%!important;}
  .nnqp-piece.nnqp-piece-asset.piece-p{height:129%!important;}
  .nnqp-piece.nnqp-piece-asset.piece-q,
  .nnqp-piece.nnqp-piece-asset.piece-k{height:143%!important;}
}


/* Keep every trimmed WebP asset inside its own square. */
.nnqp-piece.nnqp-piece-asset{width:100%!important;height:96%!important;bottom:0!important;}
.nnqp-piece.nnqp-piece-asset.piece-p{width:82%!important;height:82%!important;bottom:2%!important;}
.nnqp-piece.nnqp-piece-asset.piece-r{width:90%!important;height:92%!important;}
.nnqp-piece.nnqp-piece-asset.piece-n{width:98%!important;height:96%!important;}
.nnqp-piece.nnqp-piece-asset.piece-b{width:94%!important;height:98%!important;}
.nnqp-piece.nnqp-piece-asset.piece-q{width:98%!important;height:99%!important;}
.nnqp-piece.nnqp-piece-asset.piece-k{width:98%!important;height:100%!important;}
@media(max-width:575.98px){
  .nnqp-piece.nnqp-piece-asset{width:98%!important;}
  .nnqp-piece.nnqp-piece-asset.piece-p{width:80%!important;}
}


/* Captured pieces are tray thumbnails, never board-positioned assets. */
.nnqp-piece.nnqp-piece-asset.online-captured-piece{
  position:static!important;
  display:inline-block!important;
  left:auto!important;
  bottom:auto!important;
  width:22px!important;
  height:30px!important;
  max-width:22px!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  transform:none!important;
  filter:none!important;
  vertical-align:bottom!important;
  flex:0 0 22px!important;
}
@media(max-width:575.98px){
  .nnqp-piece.nnqp-piece-asset.online-captured-piece{width:18px!important;height:25px!important;max-width:18px!important;flex-basis:18px!important;}
}
