.board{background:#f5ecde!important;border-color:#e7d8c4!important;box-shadow:inset 0 2px 18px rgba(104,73,43,.05)!important}
.stats{grid-template-columns:repeat(4,1fr)!important}
.stats .stat{border:0!important}
.stats .stat+.stat{border-left:1px solid var(--line)!important}
.stars strong,.win-stars{color:#e9a33b!important;letter-spacing:1px;font-size:12px!important;white-space:nowrap}
.win-stars{text-align:center;font-size:24px!important;margin:8px 0 2px!important}
.star-full{color:#e9a33b!important}.star-empty{color:#ddd2c3!important}.star-half{color:transparent!important;background:linear-gradient(90deg,#e9a33b 50%,#ddd2c3 50%)!important;background-clip:text!important;-webkit-background-clip:text!important}
.lives-icon{width:52px;height:52px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;background:#fff0ea;color:var(--orange);font:800 25px Manrope,sans-serif}
.lost-rating{margin:18px 0 4px!important}.lost-rating strong{display:block;margin-top:6px;font-size:23px;letter-spacing:2px}
.level-badge{border:0;background:transparent;font:inherit;cursor:pointer;border-radius:12px;padding:4px 7px;margin:-4px -7px;transition:.2s}
.level-badge:hover,.level-badge:focus-visible{background:#f5ecde;transform:translateY(-1px);outline:2px solid rgba(238,118,92,.18)}
.levels-card{width:min(94vw,560px)!important;max-height:min(82vh,720px);overflow:auto}
.levels-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:20px}
.level-item{min-height:78px;border:1px solid #e5ddd1;border-radius:13px;background:#faf7f0;color:#765d46;padding:9px 6px;display:grid;place-items:center;gap:3px;cursor:pointer;transition:.18s}
.level-item:hover:not(:disabled){transform:translateY(-2px);border-color:#cfad83;background:#fffaf1}
.level-item.current{box-shadow:0 0 0 2px var(--orange);border-color:transparent}
.level-item.complete{background:#fffaf0}
.level-item:disabled{opacity:.38;cursor:not-allowed}
.level-number{font:800 17px Manrope,sans-serif}.level-stars{color:#e9a33b;font-size:10px;white-space:nowrap}.level-time{font-size:9px;color:#938477}
@media(max-width:560px){.levels-grid{grid-template-columns:repeat(3,1fr)}.stats strong{font-size:12px}.stars strong{font-size:9px!important}}
.board svg{overflow:hidden!important}

/* Responsive layout: desktop, tablet and mobile */
html{width:100%;min-width:280px;-webkit-text-size-adjust:100%}
body{width:100%;min-width:280px}
button,.snake{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.shell{width:min(calc(100% - 24px),720px)}
.board-wrap{width:min(100%,480px);max-width:calc(100vw - 56px)}
.board{aspect-ratio:1;width:92%;height:auto!important}

@media(max-width:700px){
  .shell{width:min(calc(100% - 16px),680px);padding-top:16px}
  .game-card{padding:26px 24px 22px}
  .board-wrap{max-width:calc(100vw - 48px)}
}

@media(max-width:520px){
  .shell{width:100%;padding:0}
  .topbar{padding:14px 16px 0;margin-bottom:12px}
  .game-card{border-radius:26px 26px 0 0;padding:22px 16px 18px;min-height:calc(100svh - 70px)}
  .game-head h1{font-size:clamp(23px,7vw,28px)}
  .stats{margin:17px 0 12px;padding:9px 0}
  .stat{min-width:0}.stat span{font-size:8px}.stat strong{font-size:12px}
  .stars strong{font-size:clamp(8px,2.4vw,11px)!important;letter-spacing:0!important}
  .board-wrap{width:100%;max-width:none}
  .board{width:100%!important;padding:8px!important;border-radius:20px!important}
  .instruction{font-size:11px;line-height:1.45;margin:12px 4px 14px}
  .controls{gap:7px}.controls button{height:48px;padding:0 8px;font-size:11px}
  footer{padding-bottom:14px;font-size:8px}
  .modal{padding:14px}.modal-card{padding:30px 22px;border-radius:23px;max-height:calc(100svh - 28px);overflow:auto}
}

@media(max-width:360px){
  .topbar{padding-inline:12px}.brand{font-size:12px}.round-btn{width:38px;height:38px}
  .game-card{padding-inline:11px}.game-head h1{font-size:22px}
  .stats{grid-template-columns:repeat(2,1fr)!important;row-gap:8px;padding:8px}
  .stats .stat{min-height:34px}.stats .stat:nth-child(3){border-left:0!important;border-top:1px solid var(--line)!important;padding-top:7px}.stats .stat:nth-child(4){border-top:1px solid var(--line)!important;padding-top:7px}
  .controls button{font-size:10px}.controls svg{width:14px}.primary-btn span{display:none}
  .levels-grid{grid-template-columns:repeat(2,1fr)}
}

@media(orientation:landscape) and (max-height:650px){
  .shell{width:min(calc(100% - 20px),900px);padding:10px 0}
  .topbar{display:none}.game-card{padding:16px 24px;border-radius:24px}
  .game-head h1{font-size:22px}.eyebrow{margin-bottom:4px}.level-badge strong{font-size:20px}
  .stats{margin:10px 0 8px;padding:6px 0}
  .board-wrap{width:min(58vh,390px)}.instruction{margin:7px 0 8px}.controls button{height:40px}
  footer{display:none}
}
.board-glow{background:#eadbc5!important;opacity:.48!important}
.maze-grid{opacity:.36!important;fill:#cdbb9f;stroke:none!important}
.snake{color:#65482f!important}
.snake:hover,.snake:focus,.snake.hint,.snake.blocked,.snake.escaping{color:var(--orange)!important}
.snake-line{stroke-width:.38;stroke-linecap:round;stroke-linejoin:round;vector-effect:none}
.snake-hit{stroke-width:.58;vector-effect:none;pointer-events:stroke}
.snake-head{stroke-linejoin:round}
.snake.escaping{color:var(--orange);pointer-events:none;animation:none!important;opacity:1!important;transform:none!important;transition:none!important}
.snake.escaping .snake-line,.snake.escaping .snake-head{filter:drop-shadow(0 0 .15px currentColor)}
