@font-face{font-family:RaKoHand;src:url('fonts/Caveat.ttf') format('truetype');font-style:normal;font-weight:400 700;font-display:swap}
/* Every viewport/header rule applies exclusively to the optional chalk display. */
body.game-body.chalk-display{display:flex!important;flex-direction:column;height:100dvh!important;min-height:0!important;overflow:hidden!important;margin:0;box-sizing:border-box}
body.game-body.chalk-display>.game-topbar{position:static;flex:0 0 auto;display:flex!important;flex-direction:row!important;flex-wrap:wrap;align-items:center!important;gap:4px 8px;padding:5px 8px;min-height:0;width:100%;max-width:100%;box-sizing:border-box}
body.chalk-display .game-topbar h1{font-size:15px;line-height:1.1;margin:0;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.chalk-display #gameSubline,body.chalk-display .tiny-version,body.chalk-display #matchCenterScore{display:none!important}
body.chalk-display .game-topbar .back{padding:5px 7px;font-size:12px;min-height:0}
body.game-body.chalk-display .game-id-chip{order:0;width:auto;min-height:0!important;flex:0 0 auto;align-self:center;padding:2px 7px;min-width:0;gap:0}
body.chalk-display .game-id-chip span{font-size:8px}body.chalk-display .game-id-chip strong{font-size:20px;line-height:1}
body.game-body.chalk-display .top-actions{display:flex;flex-direction:row;max-width:100%;align-items:center;align-content:start;gap:4px;flex-wrap:wrap;margin-left:auto}
body.game-body.chalk-display .top-actions .button{flex:0 0 auto;min-height:28px!important;height:auto!important;max-height:none!important;padding:4px 7px!important;font-size:12px!important;line-height:1.1;border-radius:7px}
body.chalk-display .top-actions svg{width:13px;height:13px}
body.game-body.chalk-display>.game-layout{flex:1 1 0;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(240px,300px);grid-template-rows:minmax(0,1fr);min-height:0!important;height:auto!important;width:100%;padding:4px 8px 8px;gap:8px;box-sizing:border-box;overflow:hidden;align-items:stretch!important}
body.game-body.chalk-display.mode-display>.game-layout{grid-template-columns:minmax(0,1fr)}
body.chalk-display .score-section{display:flex!important;flex-direction:column;min-height:0;min-width:0;gap:4px;overflow:hidden}
body.chalk-display .game-status-stack{flex:0 0 auto;display:flex;flex-direction:column;gap:2px;margin:0;padding:0}
body.chalk-display .game-message-shell{min-height:0;margin:0;gap:4px}
body.game-body.chalk-display .game-message{height:auto!important;max-height:none!important;flex:1 1 auto;min-height:0!important;margin:0!important;padding:4px 7px!important;font-size:14px!important;line-height:1.2;border-radius:6px}
body.chalk-display .autodarts-hint{min-height:0;margin:0!important;padding:3px 7px;font-size:11px;line-height:1.2}
body.chalk-display #dartSourceSelection{display:flex;align-items:center;flex-wrap:wrap;gap:3px 8px}
body.chalk-display .autodarts-permanent-actions button{min-height:24px;padding:2px 6px;font-size:11px}
body.chalk-display .game-finished-panel{flex:0 0 auto;padding:4px 7px;margin:0;font-size:13px}
body.chalk-display .game-finished-highlights,body.chalk-display .game-finished-details{display:none}
body.chalk-display .game-finished-actions .button{padding:3px 7px;min-height:26px;font-size:12px}
body.game-body.chalk-display .touch-panel{position:static!important;top:auto;align-self:stretch;height:auto!important;max-height:none;box-sizing:border-box;min-height:0!important;margin:0;padding:8px;gap:6px;overflow:hidden;display:flex;flex-direction:column;justify-content:center}
body.chalk-display .touch-panel h2{font-size:15px;margin:0}
body.chalk-display .touch-panel .multiplier-row,body.chalk-display .touch-panel .special-grid,body.chalk-display .touch-panel .button-row{gap:4px;margin:0}
body.chalk-display .touch-panel .number-grid{min-height:0;gap:4px;grid-template-columns:repeat(5,minmax(0,1fr))}
body.chalk-display .touch-panel button{min-height:30px!important;padding:5px 2px!important;font-size:15px!important;line-height:1.1}
body.game-body.chalk-display .players-grid.chalk-grid[data-count]{flex:1 1 0;display:grid!important;grid-template-columns:repeat(var(--chalk-columns,2),minmax(0,1fr))!important;grid-template-rows:auto repeat(var(--chalk-player-rows,1),minmax(0,1fr)) auto!important;grid-auto-rows:minmax(0,1fr)!important;align-content:stretch!important;gap:0!important;height:auto!important;min-height:0!important;min-width:0;overflow:hidden!important;box-sizing:border-box;padding:8px 12px!important;border:9px solid #795133;border-image:repeating-linear-gradient(3deg,#69432b 0px,#a07245 3px,#795135 7px,#4b3223 9px,#956c43 12px) 10;background:#18231e url('chalk-surface.svg') center/cover;box-shadow:inset 0 0 24px #0008;color:#eeecdf;isolation:isolate}
.chalk-grid .chalk-board-title{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:2px 16px;padding:0 4px 6px;border-bottom:1px solid #e1ddc74d;font:500 22px/1.05 RaKoHand,cursive;color:#eeecdf;min-width:0}
.chalk-grid .chalk-board-title>span:first-child{color:#e7d99c;white-space:nowrap}
.chalk-grid .chalk-variant-name{font-size:18px;max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chalk-grid .chalk-game-details{display:flex;flex-wrap:wrap;gap:2px 12px;font-size:19px}
.chalk-grid .chalk-game-details>span{white-space:nowrap}.chalk-grid .chalk-game-details>span+span:before{content:'·';opacity:.5;margin-right:10px}
.chalk-grid .chalk-player{--chalk-ink:#eeecdf;min-height:0;min-width:0;display:flex;flex-direction:column;padding:7px 12px;border-right:1px solid #ecebd355;border-bottom:1px solid #ecebd322;overflow:hidden;background:none;color:#eeecdf;font:500 var(--chalk-row-size,24px)/1.1 RaKoHand,cursive}
.chalk-grid .chalk-heading{flex:0 0 auto;display:flex;flex-wrap:wrap;gap:3px 8px;justify-content:space-between;align-items:center;min-height:0;padding:0;border:0}
.chalk-grid .chalk-heading h2{font:600 var(--chalk-name-size,40px)/1.05 RaKoHand,cursive;color:inherit;margin:0;overflow-wrap:anywhere;max-width:100%}
.chalk-grid .chalk-status{font-size:18px;white-space:nowrap;opacity:.8}.chalk-grid .is-active .chalk-status{color:#e5d294;opacity:1;text-decoration:underline}
.chalk-grid .chalk-current{flex:0 0 auto;text-align:center;display:flex;align-items:baseline;justify-content:center;gap:10px;padding:2px 0}
.chalk-grid .chalk-current>span{font-size:18px;opacity:.75}
.chalk-grid .chalk-score{font:700 var(--chalk-score-size,100px)/1.06 RaKoHand,cursive;color:var(--chalk-ink);letter-spacing:.01em;text-shadow:.5px .5px #eeecdf33}
.chalk-grid .is-active{--chalk-ink:#e5d294}.chalk-grid .chalk-tone-finish-one,.chalk-grid .chalk-tone-winner{--chalk-ink:#b4d9a1}.chalk-grid .chalk-tone-finish-three,.chalk-grid .chalk-tone-leader{--chalk-ink:#a8cbe5}.chalk-grid .chalk-tone-bogey,.chalk-grid .chalk-tone-warning{--chalk-ink:#e2a5aa}
.chalk-grid .chalk-situation{color:var(--chalk-ink)}
.chalk-grid .chalk-match{flex:0 0 auto;display:flex;justify-content:center;gap:20px;padding:0;font-size:18px}.chalk-grid .chalk-match b{margin-left:4px}
.chalk-grid .chalk-member,.chalk-grid .chalk-hint,.chalk-grid .chalk-situation,.chalk-grid .chalk-recent{flex:0 0 auto;margin:1px 0;font-size:16px;line-height:1.1;text-align:center}
.chalk-grid .chalk-visits{flex:1 1 0;min-height:0;max-height:none;overflow:hidden;outline-offset:2px}.chalk-grid [hidden]{display:none!important}
.chalk-grid table{width:100%;border-collapse:collapse;table-layout:fixed;font:inherit;color:inherit;background:none;margin:0}
.chalk-grid th,.chalk-grid td{box-sizing:border-box;padding:0 3px;text-align:right;border:0;border-bottom:1px solid #e7e8d52b;background:none!important;font:inherit;color:inherit;white-space:nowrap;height:var(--chalk-row-height,30px);line-height:1}
.chalk-grid th:first-child,.chalk-grid td:first-child{text-align:left}.chalk-grid th:last-child,.chalk-grid td:last-child{font-weight:700}
.chalk-grid thead{position:static;background:none}.chalk-grid thead th{font-size:16px;height:22px;border-bottom:1px solid #e5e6d788}
.chalk-grid tr.is-current{color:#e5d294}.chalk-grid .chalk-empty{white-space:normal;text-align:center;font-size:14px;font-weight:400}
.chalk-grid .chalk-darts{flex:0 0 auto;display:flex;gap:10px;flex-wrap:wrap;justify-content:center;padding:3px 0}.chalk-grid .chalk-dart{white-space:nowrap}.chalk-grid .chalk-dart small{font-size:12px;opacity:.6}
.chalk-grid .chalk-board-footer{grid-column:1/-1;align-self:end;text-align:center;font:400 21px/1.1 RaKoHand,cursive;margin:3px 0 0;color:#cecabb}
.chalk-grid.chalk-dense .chalk-player{padding:3px 6px}
.chalk-grid.chalk-dense .chalk-status,.chalk-grid.chalk-dense .chalk-match,.chalk-grid.chalk-dense .chalk-member,.chalk-grid.chalk-dense .chalk-hint,.chalk-grid.chalk-dense .chalk-situation,.chalk-grid.chalk-dense .chalk-recent,.chalk-grid.chalk-dense .chalk-current>span{font-size:12px}
.chalk-grid.chalk-dense .chalk-current{gap:4px;padding:0}.chalk-grid.chalk-dense thead th{font-size:11px;height:15px}
.chalk-grid.chalk-ultra .chalk-player{padding:2px 5px}.chalk-grid.chalk-ultra .chalk-heading{flex-wrap:nowrap;gap:3px;min-height:17px}.chalk-grid.chalk-ultra .chalk-heading h2{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}.chalk-grid.chalk-ultra .chalk-status{font-size:10px;white-space:nowrap}
.chalk-grid.chalk-ultra .chalk-match,.chalk-grid.chalk-ultra .chalk-recent,.chalk-grid.chalk-ultra .chalk-current>span{font-size:10px;margin:0;line-height:1}.chalk-grid.chalk-ultra .chalk-member,.chalk-grid.chalk-ultra .chalk-hint,.chalk-grid.chalk-ultra .chalk-situation{display:none}
body.game-body.chalk-display>.remote-panel-bottom{flex:0 0 auto!important;order:9999!important;width:calc(100% - 16px);padding:3px 6px;margin:0 8px 4px!important;min-height:0;box-sizing:border-box}
body.chalk-display>.remote-panel-bottom h3,body.chalk-display>.remote-panel-bottom h4,body.chalk-display>.remote-panel-bottom .remote-hint{display:none}
body.chalk-display>.remote-panel-bottom p{margin:0 0 2px;font-size:10px;line-height:1.1}
body.chalk-display>.remote-panel-bottom .remote-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:3px}
body.chalk-display>.remote-panel-bottom .button{min-height:25px;padding:3px;font-size:10px;line-height:1.1;white-space:nowrap}
body.chalk-display>.remote-panel-bottom .remote-autodarts{margin:2px 0 0;padding:0}
@media(max-width:700px){
 body.chalk-display>.game-topbar{padding:3px 5px;gap:3px 5px}body.chalk-display .game-topbar h1{font-size:12px;max-width:180px}
 body.chalk-display .top-actions{flex-basis:100%;margin-left:0;gap:3px}body.chalk-display .top-actions .button{font-size:10px!important;min-height:24px!important;padding:3px 5px!important}
 body.game-body.chalk-display.mode-combined>.game-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:3px}
 body.chalk-display .touch-panel{padding:4px;gap:3px}body.chalk-display .touch-panel h2{display:none}body.chalk-display .touch-panel button{min-height:26px!important;padding:3px 2px!important;font-size:12px!important}body.chalk-display .touch-panel .number-grid{gap:2px}
 body.game-body.chalk-display>.game-layout{padding:3px 4px 4px;gap:3px}body.chalk-display .game-message{font-size:12px!important;padding:3px 5px!important}body.chalk-display .autodarts-hint{font-size:10px;padding:2px 4px}
 body.game-body.chalk-display .players-grid.chalk-grid[data-count]{border-width:6px;padding:5px!important}.chalk-grid .chalk-board-title{font-size:17px;gap:2px 6px;padding-bottom:3px}.chalk-grid .chalk-variant-name{display:none}.chalk-grid .chalk-game-details{font-size:14px;gap:2px 6px}.chalk-grid .chalk-board-footer{font-size:16px;line-height:1;margin-top:2px}
}
/* Tactics keeps every target in a fixed matrix, independent of visit history. */
body.game-body.chalk-display .players-grid.chalk-grid.chalk-tactics[data-count]{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto minmax(0,1fr) auto!important;grid-auto-rows:auto!important}
.chalk-grid .chalk-tactics-panel{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;min-width:0;overflow:hidden}
.chalk-grid .chalk-tactics-turn{font:500 17px/1.1 RaKoHand,cursive;color:#e5d294;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin:3px 0;text-align:center}
.chalk-grid .chalk-tactics-matrix{min-height:0;min-width:0;overflow:hidden}
.chalk-grid .chalk-tactics-table{width:100%;height:100%;table-layout:fixed;border-collapse:collapse;font:500 var(--chalk-tactics-mark,28px)/1 RaKoHand,cursive}
.chalk-grid .chalk-tactics-target-col{width:40px}
.chalk-grid .chalk-tactics-table th,.chalk-grid .chalk-tactics-table td{text-align:center;vertical-align:middle;line-height:1;white-space:nowrap;padding:0 3px;border-right:1px solid #ecebd333;overflow:hidden;height:auto}
.chalk-grid .chalk-tactics-table th:last-child,.chalk-grid .chalk-tactics-table td:last-child{border-right:0}
.chalk-grid .chalk-tactics-table thead th{font-size:var(--chalk-tactics-name,24px);font-weight:500;height:auto;padding:2px 3px}
.chalk-grid .chalk-tactics-table thead tr:first-child th:first-child,.chalk-grid .chalk-tactics-table .chalk-tactics-points>th{font-size:14px}
.chalk-grid .chalk-tactics-name{display:block;max-width:100%;font-size:inherit;line-height:1.08;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chalk-grid .chalk-tactics-member{display:block;font-size:12px;line-height:1.1;overflow:hidden;text-overflow:ellipsis}
.chalk-grid .chalk-tactics-table small{display:block;font:400 12px/1.1 RaKoHand,cursive;color:inherit;white-space:nowrap}
.chalk-grid .chalk-tactics-score{display:block;font:700 var(--chalk-tactics-score,40px)/1.05 RaKoHand,cursive}
.chalk-grid .chalk-tactics-points td{padding:2px 3px}
.chalk-grid .chalk-tactics-table tbody tr{height:var(--chalk-tactics-row,30px)}
.chalk-grid .chalk-tactics-table tbody th,.chalk-grid .chalk-tactics-table tbody td{height:var(--chalk-tactics-row,30px);font-size:var(--chalk-tactics-mark,28px);line-height:1}
.chalk-grid .chalk-tactics-table .is-active{color:#e5d294}
.chalk-grid .chalk-tactics-table thead .is-active .chalk-tactics-name{text-decoration:underline;text-underline-offset:3px}
.chalk-grid .chalk-tactics-table .is-hit{color:#a8cbe5}.chalk-grid .chalk-tactics-table .is-closed,.chalk-grid .chalk-tactics-table .is-winner{color:#b4d9a1}
.chalk-grid .chalk-tactics-table .is-open{color:#eeecdf70}.chalk-grid .chalk-tactics-table .is-all-closed th{color:#cecabb80}
.chalk-grid .chalk-tactics-table .is-all-closed td{color:#cecabb60}
.chalk-grid .chalk-tactics-marks{display:inline-flex;align-items:center;justify-content:center;width:100%;vertical-align:middle}
.chalk-grid .chalk-tactics-tally{display:block;flex:0 1 auto;width:calc(var(--chalk-tactics-mark,28px)*var(--chalk-tally-ratio,1));height:var(--chalk-tactics-mark,28px);max-width:calc(100% - 4px);overflow:visible}
.chalk-grid .chalk-hit-x{opacity:.95}.chalk-grid .chalk-hit-oval{stroke-width:1.5;opacity:.9}
.chalk-grid .chalk-tactics-table .is-all-closed{background-image:linear-gradient(transparent calc(50% - 1px),#cecabb9c calc(50% - 1px),#cecabb9c calc(50% + 1px),transparent calc(50% + 1px))}
.chalk-grid .chalk-tactics-footer{display:flex;flex-wrap:nowrap;justify-content:center;gap:12px;font:400 16px/1.1 RaKoHand,cursive;color:#cecabb;overflow:hidden;white-space:nowrap;margin:3px 0 0}
.chalk-grid.chalk-tactics-tight .chalk-tactics-table thead th{padding:1px 2px}.chalk-grid.chalk-tactics-tight .chalk-tactics-member,.chalk-grid.chalk-tactics-tight .chalk-tactics-table small{font-size:10px}
@media(max-width:700px){.chalk-grid .chalk-tactics-target-col{width:32px}.chalk-grid .chalk-tactics-turn{font-size:13px;margin:2px 0}.chalk-grid .chalk-tactics-footer{font-size:12px;margin:2px 0 0}.chalk-grid .chalk-tactics-table td,.chalk-grid .chalk-tactics-table th{padding-left:1px;padding-right:1px}.chalk-grid .chalk-tactics-table thead tr:first-child th:first-child,.chalk-grid .chalk-tactics-table .chalk-tactics-points>th{font-size:10px}}
body.game-body.chalk-display #playersGrid.chalk-tactics[data-count]{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto minmax(0,1fr) auto!important}
.chalk-grid.chalk-tactics>.chalk-tactics-panel{grid-column:1/-1;grid-row:2}
.chalk-grid.chalk-tactics>.chalk-tactics-footer{grid-column:1/-1;grid-row:3}
.chalk-grid .chalk-tactics-target-col{width:52px}
.chalk-grid .chalk-tactics-table tbody th{font-size:min(28px,var(--chalk-tactics-mark,28px))}
@media(max-width:700px){.chalk-grid .chalk-tactics-target-col{width:34px}.chalk-grid .chalk-tactics-table tbody th{font-size:min(22px,var(--chalk-tactics-mark,22px))}}
.chalk-grid.chalk-tactics-short .chalk-tactics-table .chalk-tactics-member,.chalk-grid.chalk-tactics-short .chalk-tactics-table .chalk-tactics-match{display:none}
.chalk-grid.chalk-tactics-short .chalk-tactics-table thead th,.chalk-grid.chalk-tactics-short .chalk-tactics-points td{padding-top:0;padding-bottom:0}
