/* Optional Saminos simulation themes.
   If this file is missing, the simulation keeps the built-in Default theme only. */
body[data-theme="light"]{
  --theme-page-bg:linear-gradient(180deg,#eff6ff,#f8fafc);
  --theme-panel:rgba(255,255,255,0.72);
  --theme-panel-strong:rgba(255,255,255,0.82);
  --theme-panel-border:rgba(15,23,42,0.16);
  --theme-header:rgba(255,255,255,0.62);
  --theme-control:rgba(15,23,42,0.06);
  --theme-control-hover:rgba(15,23,42,0.12);
  --theme-gold:#b45309;
  --board-bg:#dbeafe;
  --text:#1e293b;
  --grid-line:rgba(15,23,42,0.18);
  --grid-line-strong:rgba(15,23,42,0.38);
}

body[data-theme="sakura"]{
  --theme-page-bg:
    radial-gradient(circle at 20% 10%,rgba(252,231,243,.58),transparent 32%),
    radial-gradient(circle at 86% 22%,rgba(254,205,211,.34),transparent 30%),
    linear-gradient(180deg,#f7edf2 0%,#f4edf6 48%,#edf1fa 100%);
  --theme-panel:rgba(255,255,255,0.70);
  --theme-panel-strong:rgba(255,255,255,0.82);
  --theme-panel-border:rgba(157,23,77,0.18);
  --theme-header:rgba(236,213,222,0.78);
  --theme-control:rgba(157,23,77,0.07);
  --theme-control-hover:rgba(157,23,77,0.14);
  --theme-gold:#9d174d;
  --board-bg:#dbeafe;
  --text:#2c1725;
  --grid-line:rgba(15,23,42,0.18);
  --grid-line-strong:rgba(15,23,42,0.38);
}

body[data-theme="sakura"] .hand,
body[data-theme="sakura"] .pool-view{
  background:rgba(255,255,255,0.46);
  border-color:rgba(157,23,77,0.20);
  box-shadow:inset 0 2px 10px rgba(157,23,77,0.08);
}

body[data-theme="sakura"] .player,
body[data-theme="sakura"] .topbar{
  box-shadow:0 18px 40px rgba(157,23,77,0.10);
}

body[data-theme="sakura"] .sammy-slot{
  background:rgba(255,255,255,0.34);
  border-color:rgba(157,23,77,0.18);
  box-shadow:0 12px 24px rgba(157,23,77,0.08);
}

body[data-theme="sakura"] .mini-card-container .character-stage{
  box-shadow:0 10px 22px rgba(157,23,77,0.18);
}

body[data-theme="sakura"] .boardRef{
  background:rgba(255,255,255,0.55);
  border-color:rgba(157,23,77,0.16);
}

/* v45 Sakura readability accents */
body[data-theme="sakura"] .slot-title{
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:1;
  padding:1px 8px 2px;
  border-radius:999px;
  background:rgba(244,114,182,0.20);
  border:1px solid rgba(157,23,77,0.24);
  box-shadow:0 4px 10px rgba(157,23,77,0.08);
  transform:translateY(-2px);
}
body[data-theme="sakura"] #toggleOverlaysBtn,
body[data-theme="sakura"] #themeBtn{
  background:rgba(244,114,182,0.24) !important;
  border-color:rgba(157,23,77,0.42) !important;
  color:#831843 !important;
  box-shadow:0 8px 18px rgba(157,23,77,0.10);
}
body[data-theme="sakura"] #toggleOverlaysBtn:hover,
body[data-theme="sakura"] #themeBtn:hover{
  background:rgba(244,114,182,0.34) !important;
}

/* v47 Sakura UI cleanup: do not vertically shove slot titles; theme selection/status placeholders and expanded log. */
body[data-theme="sakura"] .slot-title{
  transform:none !important;
  align-items:center;
  padding:2px 8px 2px;
}

body[data-theme="sakura"] .sammy-btn{
  background:rgba(244,114,182,0.24) !important;
  color:#831843 !important;
  box-shadow:0 5px 12px rgba(157,23,77,0.10);
}
body[data-theme="sakura"] .sammy-btn:hover{
  background:rgba(244,114,182,0.36) !important;
}
body[data-theme="sakura"] .sammy-btn.locked{
  background:rgba(244,114,182,0.14) !important;
  color:rgba(131,24,67,0.62) !important;
}

body[data-theme="sakura"] .status-icons > .status-icon:not(.status-filled),
body[data-theme="sakura"] .status-icon.status-placeholder:not(.status-filled){
  background:rgba(244,114,182,0.22) !important;
  border-color:rgba(157,23,77,0.42) !important;
  outline:1px solid rgba(157,23,77,0.28);
  outline-offset:1px;
  color:#831843 !important;
  box-shadow:0 4px 10px rgba(157,23,77,0.08), inset 0 1px 0 rgba(255,255,255,0.34);
}
body[data-theme="sakura"] .status-icons > .status-icon:not(.status-filled):hover,
body[data-theme="sakura"] .status-icon.status-placeholder:not(.status-filled):hover{
  background:rgba(244,114,182,0.32) !important;
}

/* Expanded game log / API modal Sakura treatment. Inline styles exist in the simulation, so these need !important. */
body[data-theme="sakura"] #consoleModal{
  background:rgba(67,18,45,0.58) !important;
  backdrop-filter:blur(7px) saturate(1.08) !important;
}
body[data-theme="sakura"] #consoleModal > div{
  background:linear-gradient(180deg,rgba(255,247,250,0.97),rgba(253,242,248,0.94)) !important;
  border:1px solid rgba(157,23,77,0.32) !important;
  box-shadow:0 24px 54px rgba(157,23,77,0.28), inset 0 1px 0 rgba(255,255,255,0.75) !important;
}
body[data-theme="sakura"] #consoleModal > div > div:first-child{
  border-bottom:1px solid rgba(157,23,77,0.26) !important;
  background:rgba(244,114,182,0.14) !important;
}
body[data-theme="sakura"] #consoleModal strong{
  color:#831843 !important;
  text-shadow:0 1px 0 rgba(255,255,255,0.72);
}
body[data-theme="sakura"] #modalConsoleContent{
  color:#3b1028 !important;
  background:rgba(255,255,255,0.42) !important;
}
body[data-theme="sakura"] #consoleModal button{
  background:rgba(244,114,182,0.22) !important;
  border-color:rgba(157,23,77,0.42) !important;
  color:#831843 !important;
}
body[data-theme="sakura"] #consoleModal button:hover{
  background:rgba(244,114,182,0.34) !important;
}

/* v58 Sakura board + API inspector cleanup.
   Sakura intentionally borrows the Light board surface so the grid stays readable. */
body[data-theme="sakura"] .board{
  border-color:rgba(157,23,77,0.24) !important;
  box-shadow:0 18px 32px rgba(157,23,77,0.16) !important;
}
body[data-theme="sakura"] .row-label,
body[data-theme="sakura"] .col-label,
body[data-theme="sakura"] .lane-label{
  color:rgba(44,23,37,0.78) !important;
  text-shadow:none !important;
}
body[data-theme="sakura"] .row-label[data-shared="true"]{color:#9d174d !important;opacity:.95 !important;}
body[data-theme="sakura"] .row-label[data-modifier="true"]{color:#7c3aed !important;opacity:.9 !important;}
body[data-theme="sakura"] .row-label[data-free="true"]{color:#047857 !important;opacity:.9 !important;}
body[data-theme="sakura"] .cell-label-overlay{color:rgba(44,23,37,0.38) !important;}
body[data-theme="sakura"] .board-pip{background:rgba(44,23,37,0.38) !important;box-shadow:none !important;}
body[data-theme="sakura"] .board-pip.m-row-pip{background:#831843 !important;}
body[data-theme="sakura"] .freeRowOverlay{background:rgba(255,255,255,0.20) !important;}
body[data-theme="sakura"] .specialRowOverlay{background:rgba(157,23,77,0.14) !important;}
body[data-theme="sakura"] .modifierRowOverlay{background:rgba(124,58,237,0.12) !important;}
body[data-theme="sakura"] .lane-lock-overlay{
  border-color:rgba(157,23,77,0.18) !important;
  color:rgba(131,24,67,0.72) !important;
}

body[data-theme="sakura"] #apiPanelBtn{
  background:rgba(244,114,182,0.24) !important;
  border-color:rgba(157,23,77,0.42) !important;
  color:#831843 !important;
  box-shadow:0 8px 18px rgba(157,23,77,0.10) !important;
}
body[data-theme="sakura"] #apiPanelBtn.active,
body[data-theme="sakura"] #apiPanelBtn:hover{
  background:rgba(244,114,182,0.34) !important;
  border-color:rgba(157,23,77,0.54) !important;
  color:#831843 !important;
}
body[data-theme="sakura"] .api-panel{
  background:linear-gradient(180deg,rgba(255,247,250,0.98),rgba(253,242,248,0.96)) !important;
  color:#3b1028 !important;
  border-color:rgba(157,23,77,0.32) !important;
  box-shadow:0 24px 54px rgba(157,23,77,0.24), inset 0 1px 0 rgba(255,255,255,0.75) !important;
}
body[data-theme="sakura"] .api-panel-header{
  color:#831843 !important;
  border-bottom-color:rgba(157,23,77,0.26) !important;
}
body[data-theme="sakura"] .api-panel pre{
  color:#3b1028 !important;
  background:rgba(255,255,255,0.58) !important;
  border-color:rgba(157,23,77,0.20) !important;
}
body[data-theme="sakura"] .api-panel button{
  background:rgba(244,114,182,0.22) !important;
  border-color:rgba(157,23,77,0.42) !important;
  color:#831843 !important;
}
body[data-theme="sakura"] .api-panel button:hover{background:rgba(244,114,182,0.34) !important;}

body[data-theme="light"] .api-panel{
  background:rgba(255,255,255,0.96) !important;
  color:#1e293b !important;
  border-color:rgba(15,23,42,0.18) !important;
  box-shadow:0 24px 54px rgba(15,23,42,0.16) !important;
}
body[data-theme="light"] .api-panel-header{
  color:#1d4ed8 !important;
  border-bottom-color:rgba(15,23,42,0.16) !important;
}
body[data-theme="light"] .api-panel pre{
  color:#1e293b !important;
  background:rgba(241,245,249,0.82) !important;
  border-color:rgba(15,23,42,0.14) !important;
}
body[data-theme="light"] #apiPanelBtn{
  background:rgba(15,23,42,0.06) !important;
  border-color:rgba(15,23,42,0.18) !important;
  color:#1e293b !important;
}
body[data-theme="light"] #apiPanelBtn.active,
body[data-theme="light"] #apiPanelBtn:hover{background:rgba(15,23,42,0.12) !important;}

