/* Each game carries its own visual language, including its scoring dialog. */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
#app[data-game="scrabble"]{background:#183f32;background-image:linear-gradient(#ffffff05 1px,transparent 1px),linear-gradient(90deg,#ffffff05 1px,transparent 1px);background-size:34px 34px;min-height:100vh;padding-bottom:24px;--green:#24523f;--line:#d6c8a9}
#app[data-game="scrabble"] .game-shell{max-width:1000px}
#app[data-game="scrabble"] .topbar{border-color:#ffffff30}
#app[data-game="scrabble"] .topbar :is(.brand,.text-button,.game-chip){color:#f4e6c5}
#app[data-game="scrabble"] .game-layout{grid-template-columns:minmax(0,1fr);max-width:760px;margin:auto;gap:0;padding-top:25px}
#app[data-game="scrabble"] .standings-card{display:none}
.tile-title{text-align:center;padding:8px 0 22px}
.letter-rack{display:flex;justify-content:center;gap:6px;padding:12px 12px 16px;border-bottom:6px solid #9e7248;width:max-content;max-width:100%;margin:auto;background:linear-gradient(0deg,#654329 0,#93643e 14%,transparent 14%);border-radius:4px}
.letter-rack>span{position:relative;display:grid;place-items:center;width:48px;height:53px;color:#342c21;background:linear-gradient(130deg,#f9edcf,#dcc395);border:1px solid #bda16a;border-radius:4px;box-shadow:0 3px 0 #ad895b,0 5px 8px #0004;font:bold 30px Georgia,serif}
.letter-rack small{position:absolute;bottom:4px;right:5px;font:700 10px system-ui}
.tile-title p{color:#e2d9bc;font-size:13px;letter-spacing:.02em;margin-bottom:0}
.scrabble-scores{display:flex;gap:8px;margin:0 0 18px}
.scrabble-scores>div{flex:1;min-width:0;display:grid;text-align:center;background:#f2e8cf;border:2px solid transparent;border-radius:5px;padding:10px;color:#3f3a2b}
.scrabble-scores>div.current{background:#fff5db;border-color:#e1bd67;box-shadow:0 0 0 3px #e1bd6725}
.scrabble-scores span{overflow-wrap:anywhere;font-size:13px;font-weight:700}
.scrabble-scores strong{font:700 30px Georgia,serif}
.scrabble-scores small{font-size:9px;letter-spacing:.12em;color:#74654e}
#app[data-game="scrabble"] .tool-tabs{gap:0;border-radius:5px;overflow:hidden;border:1px solid #d4c5a0}
#app[data-game="scrabble"] .tool-tabs button{border:0;border-right:1px solid #d4c5a0;border-radius:0;background:#e3d8be;display:block;text-align:center;min-height:48px}
#app[data-game="scrabble"] .tool-tabs small{display:none}
#app[data-game="scrabble"] .tool-tabs svg{display:none}
#app[data-game="scrabble"] .tool-tabs .active{background:#fff6e1;box-shadow:inset 0 -4px #ae523e}
#app[data-game="scrabble"] .scrabble-status{border:0;background:transparent;color:#fbedd2;padding:4px 0 14px;margin:0;border-radius:0}
#app[data-game="scrabble"] .scrabble-status small,#app[data-game="scrabble"] .scrabble-status aside{color:#cdbf9c}
#app[data-game="scrabble"] .scrabble-status i{border-radius:4px;background:#e4d1a7!important;color:#2f392c;box-shadow:0 2px 0 #9d8154}
#app[data-game="scrabble"] .score-card{border:1px solid #b9a57e;border-radius:5px;background:#fcf6e6;box-shadow:0 8px 0 -4px #dccba8,0 12px 24px #0003;padding:22px}
#app[data-game="scrabble"] .action-tabs button{border-radius:4px;box-shadow:0 2px 0 #bdaf8e;background:#ede2c8}
#app[data-game="scrabble"] .action-tabs button.selected{background:#285542;color:#fff9e4;border-color:#285542}
#app[data-game="scrabble"] .action-tabs button.selected small{color:#eee2bd}
#app[data-game="scrabble"] .points-field{margin:20px 0 10px;font-size:13px;color:#62543e}
#app[data-game="scrabble"] .points-field>div{background:repeating-linear-gradient(0deg,transparent,transparent 31px,#95aca040 32px);border-bottom-color:#799480}
#app[data-game="scrabble"] .points-field input{color:#294838;font-family:Georgia,serif}
#app[data-game="scrabble"] .bingo{border:1px solid #dfc889;background:#f4e8bb;border-radius:4px}
#app[data-game="scrabble"] .bingo input{width:21px;height:21px;accent-color:#285542}
#app[data-game="scrabble"] .save-row button{min-height:48px;border-radius:4px}
#app[data-game="scrabble"] .history{border-radius:4px;background:#fcf6e6;margin-top:28px;overflow:hidden;box-shadow:0 4px 10px #0002}
.scorepad-title{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:#e4d7b9;border-bottom:1px solid #cbb68a;gap:12px}
.scorepad-title>span{font:700 15px Georgia,serif;letter-spacing:.08em}
.scorepad-title small{font-size:11px;color:#74634d}
.scorepad-scroll{overflow-x:auto}
.scorepad-scroll table{border-collapse:collapse;width:100%;font-size:13px}
.scorepad-scroll th,.scorepad-scroll td{padding:12px;text-align:center;border:1px solid #b8c8b480}
.scorepad-scroll th{font-size:12px;background:#f5ebd3}
.scorepad-scroll td span{color:#786648;margin-right:12px}
.scorepad-scroll td b{font:700 19px Georgia,serif;color:#28503e}
.scorepad-scroll td small{display:block;font-size:10px;color:#7e725d}
.scorepad-scroll .unplayed{color:#b9b098}
#app[data-game="yahtzee"]{--ys-red:#ba302e;--ys-red-dark:#862724;--ys-cream:#fffdf7;background:#edeae3;min-height:100vh}
#app[data-game="yahtzee"] .game-shell{max-width:1040px}
#app[data-game="yahtzee"] .game-layout.wide{display:block;padding-top:22px}
#app[data-game="yahtzee"] .standings-card{display:none}
.dice-title{display:flex;gap:12px;align-items:center;margin-bottom:20px}
.dice-emblem{font-size:54px;color:#b1322d;line-height:1}
#app[data-game="yahtzee"] .dice-title h1{font:bold 38px Georgia,serif;margin:0;letter-spacing:-.035em}
.dice-title p{font-size:13px;color:#73665c;margin:3px 0 0}
.ys-shell{gap:10px}
.ys-player-strip button{border-radius:5px}
.ys-turn{border-radius:5px;padding:10px 14px}
.ys-scorecard{border-radius:3px;box-shadow:3px 4px 0 #d3cec4,5px 7px 0 #e3dfd7}
.ys-scorecard-head{padding:10px 14px}
.paper-sections{display:grid;grid-template-columns:1fr 1fr}
.paper-sections>div+div{border-left:2px solid #a24940}
.ys-row{min-height:49px;grid-template-columns:minmax(0,1fr) 64px}
.ys-row>span{padding:8px 12px;position:relative}
.ys-row>span:has(.category-die){padding-left:47px}
.category-die{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:27px;font-style:normal;color:#aa332c}
.ys-row>em small{display:none}
.ys-row.filled>em b{font:italic 700 23px Georgia,serif;color:#244661}
.ys-row>span small{font-size:10px}
.ys-section>header{padding:8px 12px}
.ys-section>header span{display:none}
.ys-totals>div,.ys-bonus-row{grid-template-columns:minmax(0,1fr) 64px;min-height:38px}
.ys-bonus-row>span{display:grid;gap:0}
.ys-bonus-row button{min-width:23px;min-height:44px}
.ys-totals>div>b{font-size:12px}
.ys-grand-total{min-height:53px;grid-template-columns:1fr 100px}
.ys-grand-total>span{display:flex;justify-content:flex-start;align-items:center;gap:16px}
.ys-grand-total>span small{font-size:12px}
.yt-score-dialog{color:#25231f;background:#fffcf4;--ys-red:#ba302e;--ys-red-dark:#862724;--ys-cream:#fffdf7}
.yt-score-dialog .ys-score-choices{display:grid;margin:12px 0;justify-content:initial;grid-template-columns:repeat(3,1fr)}
.ys-score-choices button{min-height:60px}
.ys-score-choices button:focus{outline:2px solid #ba302e;background:#f9e4dc}
.yt-score-dialog #save-yt{min-height:54px;color:white}
.ys-dice-helper nav button{padding:0}
@media(max-width:660px){
  .letter-rack{gap:4px;padding:8px 4px 12px}
  .letter-rack>span{width:32px;height:38px;font-size:23px}
  .letter-rack small{font-size:8px;right:3px;bottom:3px}
  #app[data-game="scrabble"] .score-card{padding:16px}
  .scrabble-scores{gap:5px}
  .scrabble-scores>div{padding:7px 4px}
  .scrabble-scores strong{font-size:25px}
  .scrabble-scores span{font-size:11px}
  #app[data-game="scrabble"] .tool-tabs b{font-size:12px}
  #app[data-game="scrabble"] .scrabble-status aside span{display:block;font-size:9px}
  .paper-sections{grid-template-columns:1fr}
  .paper-sections>div+div{border-left:0}
  .ys-row{min-height:44px}
  .ys-row>span{padding:6px 11px}
  .ys-row>span strong{font-size:15px}
  .ys-row>span small{font-size:10px}
  .ys-player-strip{gap:6px}
  .ys-player-strip button{flex-basis:143px;padding:7px}
  .ys-player-strip i{display:none}
  .ys-player-strip button{grid-template-columns:1fr auto}
  .ys-turn{padding:8px 12px}
  .ys-scorecard-head>span b{font-size:14px}
  .ys-scorecard-head>span small{font-size:11px}
  #app[data-game="yahtzee"] .game-layout.wide{padding-top:16px}
  .dice-title{margin-bottom:15px}
  .ys-tip{font-size:11px}
}
