/* A restrained color palette and consistent tactile controls for every table. */
.home-game-layout .home-toolbar {
  gap:12px;
  background:linear-gradient(transparent,#21491b18);
}
.home-game-layout .home-toolbar :is(.home-primary-controls,.home-secondary-controls) {gap:8px;}
.home-game-layout .home-toolbar :is(.ctl-btn,.play-foot-action,.home-more-menu>summary) {
  --button-top:#fffdf4;--button-bottom:#e9efdf;--button-ink:#355039;--button-edge:#d8e3cd;
  background:linear-gradient(180deg,var(--button-top),var(--button-bottom));
  color:var(--button-ink);border:1px solid var(--button-edge);border-radius:11px;
  box-shadow:inset 0 1px 0 #ffffffb3,0 2px 0 #203d242b,0 4px 10px #1937181a;
  font-weight:800;letter-spacing:.01em;min-height:40px;padding-inline:14px;
  transition:background .16s ease,box-shadow .16s ease,transform .16s ease,border-color .16s ease;
}
.home-game-layout .home-toolbar :is(#btn-new,#new) {
  --button-top:#ffe7aa;--button-bottom:#efca73;--button-ink:#574019;--button-edge:#e9c578;
}
.home-game-layout .home-toolbar :is(#btn-hint,#hint) {
  --button-top:#e9f4fb;--button-bottom:#c9e2ef;--button-ink:#305569;--button-edge:#bcd6e5;
}
.home-game-layout .home-toolbar :is(#btn-undo,#undo,#notes) {
  --button-top:#f0ecfa;--button-bottom:#ded5ed;--button-ink:#584872;--button-edge:#d1c5e3;
}
.home-game-layout .home-toolbar #btn-autoplay {
  --button-top:#dbf1c8;--button-bottom:#b7db97;--button-ink:#345627;--button-edge:#adcc92;
  background:linear-gradient(180deg,var(--button-top),var(--button-bottom));
  color:var(--button-ink);border-color:var(--button-edge);border-radius:11px;order:4;
}
.home-game-layout .home-toolbar .sound-control {
  --button-top:#e2f3eb;--button-bottom:#c4e1d4;--button-ink:#315e50;--button-edge:#b8d8c9;
  order:5;min-width:40px;flex:none;
}
.home-game-layout .home-toolbar .sound-control[aria-pressed=false] {
  --button-top:#f2f2e9;--button-bottom:#e0e5d9;--button-ink:#626d5a;--button-edge:#d1d8c9;
  opacity:1;
}
.home-game-layout .sound-control .sound-slash {display:none;}
.home-game-layout .sound-control[aria-pressed=false] .sound-waves {display:none;}
.home-game-layout .sound-control[aria-pressed=false] .sound-slash {display:block;}
.home-game-layout .home-toolbar :is(#btn-autoplay,#notes)[aria-pressed=true] {
  background:linear-gradient(#fbe4b2,#e9c47b);color:#59431d;border-color:#e8c171;
  box-shadow:inset 0 2px 4px #70502324,0 1px 0 #ffffff33;
}
.home-game-layout .home-toolbar :is(.ctl-btn,.play-foot-action,.home-more-menu>summary):hover:not(:disabled) {
  background:linear-gradient(180deg,var(--button-top),var(--button-bottom));
  color:var(--button-ink);border-color:#ffffffe0;
  box-shadow:inset 0 1px 0 #fff,0 3px 0 #203d2426,0 6px 14px #17351629;
  transform:translateY(-1px);
}
.home-game-layout .home-toolbar :is(.ctl-btn,.play-foot-action,.home-more-menu>summary):active:not(:disabled) {
  transform:translateY(1px);box-shadow:inset 0 2px 4px #203d2420,0 1px 0 #ffffff30;
}
.home-game-layout .home-toolbar .ctl-btn:disabled {opacity:.55;box-shadow:inset 0 1px 0 #ffffff70;cursor:default;}
.home-game-layout .home-toolbar :is(.control-icon,svg) {width:17px;height:17px;}
.home-game-layout .home-more-panel {padding:8px;border-radius:13px;}
.home-game-layout .home-toolbar .home-more-panel :is(button,a) {
  background:transparent;color:#36513a;border:1px solid transparent;border-radius:8px;
  box-shadow:none;padding:10px 12px;font-weight:700;
}
.home-game-layout .home-toolbar .home-more-panel .daily-entry {
  font-family:var(--game-menu-font);font-size:14px;font-weight:800;
}
.home-game-layout .home-toolbar .home-more-panel :is(button,a):hover {
  background:#e6eedc;border-color:#d7e3cb;box-shadow:none;transform:none;
}
.home-game-layout .home-game-header :is(.home-game-menu>summary,.menu-button,select,.difficulty) {
  background:linear-gradient(#ffffff26,#ffffff14);border:1px solid #ffffff35;
  border-radius:9px;box-shadow:inset 0 1px 0 #ffffff18,0 2px 5px #1b411511;
  color:#fffdf4;transition:background .16s ease,border-color .16s ease;
}
.home-game-layout .home-game-header :is(.home-game-menu>summary,.menu-button,select,.difficulty):hover {background:#ffffff30;border-color:#ffffff66;}
.home-game-layout .home-game-header .draw-toggle {border-radius:9px;overflow:hidden;box-shadow:inset 0 1px 0 #ffffff1a;}
.home-game-layout .home-game-header .toggle-btn.active {background:linear-gradient(#fff0c4,#efdaa0);color:#4a4b29;}
.home-game-layout .home-game-menu nav {border-radius:13px;padding:8px;}
.home-game-layout .home-game-menu nav a {border-radius:7px;font-weight:700;}
body.homepage .home-game-layout .home-game-menu nav a {font-weight:700;}
.home-game-layout .home-daily-slot .daily-entry {
  background:linear-gradient(#94ba5f80,#749d4659);border-color:#c9df943b;border-radius:9px;
  box-shadow:inset 0 1px 0 #ffffff17;color:#fffde7;
  font-family:var(--game-menu-font);font-size:14px;font-weight:800;
}
.home-game-layout :is(button,a,summary):focus-visible {outline:3px solid #fff0b8;outline-offset:3px;}
@media(min-width:701px) and (max-width:1250px){
 .home-game-layout .home-toolbar {gap:8px;padding-inline:12px;}
 .home-game-layout .home-toolbar :is(.home-primary-controls,.home-secondary-controls) {gap:6px;}
 .home-game-layout .home-toolbar :is(.ctl-btn,.play-foot-action,.home-more-menu>summary) {padding-inline:10px;}
 .home-game-layout .home-toolbar .sound-control {padding-inline:10px;}
 .home-game-layout .home-toolbar .sound-label {display:none;}
}
@media(max-width:700px){
 .home-game-layout .home-toolbar :is(.home-primary-controls,.home-secondary-controls) {gap:5px;}
 .home-game-layout .home-toolbar :is(.ctl-btn,.play-foot-action,.home-more-menu>summary) {min-height:42px;padding-inline:10px;border-radius:9px;}
 .home-game-layout .home-toolbar .home-primary-controls .ctl-btn {padding-inline:4px;gap:4px;min-width:0;}
 .home-game-layout .home-toolbar .home-primary-controls .sound-control {flex:0 0 40px;padding:0;}
 .home-game-layout .home-toolbar .sound-label {display:none;}
 .home-game-layout .home-toolbar .sound-control .sound-icon {display:block;width:18px;height:18px;}
 .home-game-layout .home-toolbar .home-primary-controls .control-label {white-space:normal;line-height:1.15;}
 .home-game-layout .home-toolbar #btn-autoplay {flex:1.35 1 0;}
 .sudoku-page .home-game-layout .home-toolbar #btn-autoplay {flex:0 0 40px;}
 .sudoku-page .home-game-layout .home-toolbar #btn-autoplay .control-label {display:none;}
 .sudoku-page .home-game-layout .home-toolbar #btn-autoplay svg {display:block;}
}
@media(max-height:480px) and (orientation:landscape){
 .home-game-layout .home-toolbar :is(.ctl-btn,.play-foot-action,.home-more-menu>summary) {min-height:34px;padding-inline:8px;}
 .home-game-layout .home-toolbar .sound-label {display:none;}
 .home-game-layout .home-toolbar .sound-control {padding-inline:9px;}
}
@media(prefers-reduced-motion:reduce){
 .home-game-layout .home-toolbar :is(.ctl-btn,.play-foot-action,.home-more-menu>summary) {transition:none;}
 .home-game-layout .home-toolbar :is(.ctl-btn,.play-foot-action,.home-more-menu>summary):hover {transform:none;}
}
@media(max-width:700px){
 .sudoku-page.shared-play-page .home-game-layout .home-toolbar .controls .sound-control svg.sound-icon {display:block;}
 .sudoku-page.shared-play-page .home-game-layout .home-toolbar #new {white-space:normal;line-height:1.15;}
}
@media(max-width:700px) and (min-height:481px){
 .sudoku-page.shared-play-page .home-game-layout .board-panel {width:min(100%,calc(100dvh - var(--home-consent-space,0px) - 380px));}
}

/* The companion sits in the control row, outside every game's card area. */
.home-game-layout .home-toolbar #game-cat {
  display:inline-flex;position:relative;inset:auto;order:-3;flex:0 0 44px;
  width:44px;height:44px;min-width:44px;min-height:44px;margin:0;padding:0;
  border:0;border-radius:10px;background:transparent;box-shadow:none;
  overflow:visible;align-self:center;cursor:pointer;
}
.home-game-layout .home-toolbar #game-cat:hover {background:#ffffff0d;box-shadow:none;}
.home-game-layout .home-toolbar #game-cat .cat-svg {display:block;width:100%;height:100%;}
.home-game-layout .home-toolbar #game-cat .cat-speech {font-size:11px;}
@media(max-width:700px){
  .home-game-layout .home-toolbar .home-secondary-controls {flex-wrap:wrap;}
  .home-game-layout .home-toolbar #game-cat {flex-basis:38px;width:38px;min-width:38px;}
}
@media(max-height:480px) and (orientation:landscape){
  .home-game-layout .home-toolbar #game-cat {width:36px;height:34px;min-width:36px;min-height:34px;flex-basis:36px;}
}
