body .game-library:has(.game-zahlensteine:not(.control-hidden)) {grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));}
body .game-zahlensteine .game-art {font-family:Georgia,serif;color:#f1d799;}
body .table-view[data-game="zahlensteine"]:not(.has-standings)[data-status="running"],body .table-view[data-game="zahlensteine"]:not(.has-standings)[data-status="finished"] {grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr);}
body .table-view[data-game="zahlensteine"]:not(.has-standings) > .playmat {grid-column:1;grid-row:3;display:block;}
body .table-view[data-game="zahlensteine"] .hand-panel {display:none;}
body .table-view[data-game="zahlensteine"] .melds-area {padding:0;display:block;}
body .zs-panel {height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto minmax(72px,22%);gap:6px;}
body .zs-status {font-size:.83rem;line-height:1.3;color:#f0dfc4;min-height:18px;}
body :is(.zs-panel,.zs-board,.zs-rack,.zs-hand) {min-width:0;}
body .zs-board {position:relative;min-height:0;--zs-size:42px;}
body .zs-group {position:absolute;display:flex;flex-wrap:wrap;gap:2px;padding:5px;border:1px solid #cfb58665;border-radius:6px;min-height:0;background:#20171a44;}
body .zs-group.zs-invalid {border:1px dashed #ffad84;background:#80331d44;}
body .zs-tile {flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;width:var(--zs-size);height:calc(var(--zs-size)*1.35);min-height:0;padding:0;border:1px solid #e0c996;border-radius:4px;background:linear-gradient(145deg,#fffbec,#e6d9b9);box-shadow:0 2px 2px #0005;font:700 calc(var(--zs-size)*.62)/1 Georgia,serif;opacity:1;touch-action:manipulation;}
body .zs-tile small {font:700 calc(var(--zs-size)*.36)/1 sans-serif;margin-top:1px;flex-shrink:0;}
body .zs-color-0 {color:#17549b;} body .zs-color-1 {color:#ae2634;} body .zs-color-2 {color:#216543;} body .zs-color-3 {color:#b85000;} body .zs-color-joker {color:#49380e;}
body .zs-tile.zs-selected {outline:3px solid #fff090;outline-offset:1px;transform:translateY(-2px);}
body .zs-tile:disabled {opacity:1;cursor:default;}
body .zs-actions {display:flex;gap:5px;justify-content:center;flex-wrap:wrap;}
body .zs-actions button {padding:6px 10px;min-height:32px;font-size:.8rem;}
body .zs-rack {display:grid;grid-template-rows:22px minmax(0,1fr);gap:4px;padding:4px 6px;min-height:0;border-top:1px solid #c4a66e66;background:#25191b66;border-radius:6px;}
body .zs-rack-label {display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:#e7d5b2;}
body .zs-rack-label button {min-height:20px;font-size:.7rem;padding:1px 7px;}
body .zs-hand {min-height:0;display:flex;gap:3px;flex-wrap:wrap;align-content:center;justify-content:center;}
body .zs-empty {text-align:center;color:#ddc6b1;font-size:.9rem;margin:20px 0;}
body .zs-rules {grid-column:1/-1;padding-left:20px;margin:0;line-height:1.45;} body .zs-rules li {margin-bottom:8px;}
body #rulesDialog:has(.zs-rules)[open] {display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:min(660px,calc(100dvh - 24px));}
body #rulesDialog:has(.zs-rules) .dialog-body {overflow-y:auto;margin:0;padding-right:6px;}
@media(max-width:700px) and (orientation:portrait){
  body .game-library:has(.game-zahlensteine:not(.control-hidden)){grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(5,minmax(0,1fr));}
  body .zs-panel {grid-template-rows:auto minmax(0,1fr) auto minmax(88px,24%);gap:4px;}
  body .zs-actions {gap:4px;} body .zs-actions button{font-size:.73rem;padding:5px 7px;}
}
@media(max-height:450px){
  body .zs-panel {grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr) 27%;gap:4px;}
  body .zs-status {grid-column:1/-1;font-size:.72rem;}
  body .zs-board {grid-column:1;grid-row:2;}
  body .zs-rack {grid-column:2;grid-row:2;border-top:0;border-left:1px solid #c4a66e66;padding:3px;}
  body .zs-rack-label {font-size:.65rem;} body .zs-rack-label button {flex:none;font-size:.65rem;padding:1px 4px;}
  body .zs-actions {grid-column:1/-1;grid-row:3;gap:3px;}
  body .zs-actions button {font-size:.7rem;min-height:28px;padding:3px 7px;}
  body .zs-empty {font-size:.75rem;}
}
