:root{color-scheme:dark;--bg:#110e0b;--panel:#201b14;--line:#dfc69a1c;--muted:#a79984;--cream:#f0e7d4;--gold:#d3b578;--green:#a6d3ae}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 35% 28%,#48352238,transparent 70%),var(--bg);color:var(--cream);font:13px Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,select{font:inherit}button{cursor:pointer}button,select{touch-action:manipulation}button:disabled{cursor:default;opacity:.38}button,a,select,summary,canvas{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible,canvas:focus-visible{outline:2px solid var(--gold);outline-offset:4px}button{border:1px solid var(--line);background:#ffffff04;color:var(--cream);border-radius:5px;padding:11px 15px}button:hover:not(:disabled){background-color:#ffffff0c}[hidden]{display:none!important}.site-head{height:59px;max-width:1480px;margin:auto;padding:0 42px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:1.8px}.site-head>a:first-child{color:var(--muted)}.brand span{font-weight:400;color:var(--muted)}.site-head>div{display:flex;gap:14px;align-items:center}.site-head button{border:0;padding:4px;background:none;color:var(--muted);font-size:10px;letter-spacing:.3px}.site-head button span{color:var(--gold);font-size:20px;margin-left:8px}.site-head #fullscreen{font-size:25px}main{max-width:1360px;margin:auto;padding:24px 42px 14px}.intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px}.eyebrow{color:var(--gold);font-size:9px;letter-spacing:2px;font-weight:700;margin:0 0 10px}.intro .eyebrow span{opacity:.45;margin-left:15px;font-weight:400}h1{font:normal clamp(40px,4.6vw,62px)/1 Georgia,serif;letter-spacing:-2px;margin:0}h1 em{font-weight:normal;color:var(--gold)}.title-dart{font:normal 43px Georgia;display:inline-block;transform:rotate(-9deg);margin-left:19px;color:var(--gold);opacity:.65}.tagline{font-size:11px;letter-spacing:.4px;color:var(--muted);margin:11px 0 0}.record{border-left:1px solid var(--line);padding-left:26px;min-width:232px;display:grid;gap:6px}.record .eyebrow{margin:0}.record strong{font:36px Georgia}.record strong small{font:italic 17px Georgia;color:var(--muted)}.record>span:last-child{font-size:10px;color:var(--muted)}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 274px;gap:26px}.play-area{min-width:0}.scoreboard{display:grid;grid-template-columns:1fr 88px 1fr;align-items:center;border:1px solid var(--line);border-radius:8px 8px 0 0;background:linear-gradient(110deg,#29251a,#1c1b14);padding:13px 20px}.player{display:flex;align-items:center;justify-content:space-between;gap:8px;opacity:.4;transition:opacity .3s}.player.active{opacity:1}.player strong{font:40px/.95 Georgia;letter-spacing:-1px;font-variant-numeric:tabular-nums}.player-label{display:flex;align-items:center;gap:7px;font-size:11px}.player-label i{height:5px;width:5px;background:#a8cdb0;border-radius:50%}.active .player-label i{box-shadow:0 0 10px #bad4a5}.rival .player-label i{background:#daa987}.player small{display:block;color:var(--muted);font-size:7px;letter-spacing:1px;margin-top:9px}.versus{text-align:center;color:var(--gold)}.versus b{font:18px Georgia}.versus span{display:block;font:6px Arial;letter-spacing:1px;margin-top:5px}#viewport{position:relative;background:#101b15;overflow:hidden;border:1px solid #8e805026;border-top:0}#stage{position:absolute;width:1000px;height:720px;transform-origin:top left}canvas{width:1000px;height:720px;display:block;touch-action:none;cursor:crosshair}.scene-top,.scene-bottom{position:absolute;left:18px;right:18px;display:flex;align-items:center;justify-content:space-between;pointer-events:none;font-size:7px;letter-spacing:1.4px;color:#d6d9bc87}.scene-top{top:15px}.scene-top i{display:inline-block;width:4px;height:4px;background:var(--green);border-radius:50%;margin-right:5px}.scene-bottom{bottom:13px}.scene-bottom button{pointer-events:auto;padding:5px 8px;font-size:9px;color:var(--gold);background:#102018d9}.callout{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#101711ee;border:1px solid #c5ac6b55;box-shadow:0 8px 45px #0006;padding:14px 32px;text-align:center;pointer-events:none;min-width:170px;animation:arrive .18s ease-out}.callout span{display:block;color:var(--gold);font-size:8px;letter-spacing:2px;margin-bottom:4px}.callout strong{font:44px Georgia;color:var(--cream)}@keyframes arrive{from{opacity:0;transform:translate(-50%,-45%)}to{opacity:1;transform:translate(-50%,-50%)}}.visit-strip{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-top:0;border-radius:0 0 8px 8px;padding:10px 18px;background:#191b14}.darts-left{display:flex;gap:15px}.dart-slot{display:flex;align-items:center;gap:10px;font-size:7px;color:#a3988070}.dart-slot b{font-size:12px;color:#b1a486;min-width:25px}.dart-slot.hit b{color:var(--gold)}.dart-slot.current{color:var(--green)}.visit-total{display:flex;align-items:center;gap:12px;font-size:7px;letter-spacing:1px;color:var(--muted)}.visit-total strong{font:24px Georgia;color:var(--cream)}.throw-controls{display:flex;gap:24px;align-items:center;padding:16px 19px 13px;margin-top:12px;border:1px solid var(--line);border-radius:7px;background:linear-gradient(110deg,#382c1b66,#211b13)}.release-control{flex:1;min-width:0}.meter-label{display:flex;justify-content:space-between;gap:8px;font-size:7px;letter-spacing:1px;color:var(--muted);margin-bottom:10px}.meter-label b{font-weight:400;letter-spacing:.2px;color:var(--gold)}.meter{position:relative;height:8px;border-radius:3px;background:linear-gradient(90deg,#87664366,#c19a5744 35%,#a6d3ae44 44%,#a6d3ae77 56%,#c19a5744 65%,#87664366);border:1px solid #d0b27d22}.sweet-spot{position:absolute;left:44%;width:12%;top:-2px;bottom:-2px;border-left:1px solid #b8e3bfa0;border-right:1px solid #b8e3bfa0;background:#a6d3ae33}#needle{position:absolute;left:0;top:-5px;height:16px;width:3px;background:#f4e2bb;box-shadow:0 0 8px #e9c879aa;transform:translateX(-50%)}.meter-scale{display:flex;justify-content:space-between;font-size:6px;letter-spacing:1px;color:#958a76;margin-top:8px}.meter-scale span:nth-child(2){color:#a6c9a8}button.primary{background:linear-gradient(135deg,#e4cc96,#c4a064);color:#2b2113;border:1px solid #e3c69088;font-weight:700;box-shadow:0 2px 10px #0003;display:flex;align-items:center;justify-content:space-between;gap:18px}button.primary:hover:not(:disabled){filter:brightness(1.09)}#throw,#next{min-width:175px;min-height:45px;user-select:none;-webkit-user-select:none;touch-action:none}body[data-phase="charging"] #throw{background:#afd1a5;box-shadow:0 0 18px #afd1a518}.control-note{text-align:center;font-size:9px;color:var(--muted);margin:10px 0 0}.setup-card,.turn-card{padding:24px 22px 17px;border:1px solid var(--line);border-radius:8px;background:radial-gradient(ellipse at top left,#513c2566,transparent),#201c14}h2{font:italic 30px/1.15 Georgia;margin:0 0 13px;letter-spacing:-.5px}.soft,.turn-card>p:not(.eyebrow){color:#bcad93;font-size:11px;line-height:1.8}.setup-card .soft{margin-bottom:22px}fieldset{border:0;margin:0;padding:0}legend,label{display:block;font-size:8px;font-weight:700;letter-spacing:1.5px;color:var(--muted);margin:0 0 9px}.mode-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:3px}.mode-picker button{font-size:10px;padding:9px 3px;border-color:#d5b88622}.mode-picker [aria-pressed="true"]{color:#e3c791;border-color:#c4a36b88;background:#c4a36b16}.mode-description{font-size:10px;line-height:1.6;min-height:32px;color:var(--muted);margin:10px 0 19px}select{width:100%;border:1px solid #d1b88b26;background:#16150f;color:var(--cream);padding:10px 8px;border-radius:4px;font-size:11px;margin-bottom:16px}#start{width:100%;margin-top:5px;font-size:11px;padding:14px}.setup-foot{text-align:center;font-size:6px;letter-spacing:1.4px;color:#8e8068;margin:15px 0 0}.instructions{border-top:1px solid var(--line);margin-top:22px;padding-top:16px;font-size:10px;color:var(--muted);line-height:1.8}.instructions summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;color:#cbb999;font-size:10px}.instructions summary span{color:var(--gold)}.instructions ol{padding-left:17px}.instructions li{padding-left:3px;margin:10px 0}.instructions b{color:var(--cream)}.turn-card h2{font-size:31px}.turn-card #status{min-height:52px}.checkout{padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:19px}.checkout span{font-size:7px;letter-spacing:1.7px;color:var(--muted)}.checkout strong{display:block;margin-top:9px;font:20px Georgia;color:var(--gold)}.turn-meta{display:flex;justify-content:space-between;font-size:7px;letter-spacing:.7px;color:#8e866f;margin-top:15px}.turn-meta b{color:var(--cream);margin-left:5px}.session-card{padding:22px 4px 0}.session-stats{display:flex;gap:36px;margin-bottom:15px}.session-stats strong{display:block;font:26px Georgia}.session-stats span{font-size:7px;letter-spacing:1px;color:var(--muted)}.history{font-size:10px;color:var(--muted)}.history>div{display:grid;grid-template-columns:75px 1fr 26px;gap:6px;padding:9px 0;border-top:1px solid var(--line);font-size:9px}.history>div span:nth-child(2){color:#a28f70;font-size:8px}.history b{text-align:right;color:var(--gold)}.quiet{background:none;border:0;font-size:10px;color:var(--muted);margin-top:16px;padding-left:0}.cricket-card{margin-top:15px;padding:15px 18px;border:1px solid var(--line);border-radius:7px;background:#17221a55}.cricket-head,.cricket-row{display:grid;grid-template-columns:1fr 45px 1fr;text-align:center;align-items:center}.cricket-head{font-size:6px;color:var(--gold);letter-spacing:1px;margin-bottom:12px}.cricket-row{font-size:17px;border-top:1px solid var(--line);padding:4px 0;color:#d4c096}.cricket-row b{font:13px Georgia;color:#c0b093}.cricket-row .closed{color:var(--green)}.cricket-card p{font-size:8px;color:var(--muted);text-align:center;margin-bottom:0}footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:25px;padding-top:15px;font-size:8px;letter-spacing:1px;color:#837b69}footer a{letter-spacing:.3px;color:var(--muted)}dialog{width:min(440px,calc(100vw - 32px));color:var(--cream);background:radial-gradient(ellipse at top,#49391f,#201b13 80%);border:1px solid #c8ae7755;border-radius:12px;padding:30px;box-shadow:0 20px 80px #0008}dialog::backdrop{background:#080c09bb;backdrop-filter:blur(5px)}dialog p{color:var(--muted);font-size:12px;line-height:1.8}.dialog-buttons{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}#result{text-align:center}#result h2{font-size:39px}.result-medallion{color:var(--gold);font-size:64px;line-height:1.1;margin-bottom:14px}.result-stats{display:flex;justify-content:space-around;margin:25px 0;padding:20px 0;border-block:1px solid var(--line)}.result-stats strong{display:block;font:27px Georgia;color:var(--gold)}.result-stats span{font-size:7px;letter-spacing:1px;color:var(--muted);display:block;margin-top:6px}#result button{width:100%;margin-top:9px;padding:13px;font-size:11px}
@media(min-width:901px) and (max-height:800px){.site-head{height:45px}main{padding-top:17px}.intro{margin-bottom:17px}h1{font-size:45px}.intro .eyebrow{margin-bottom:7px}.tagline{margin-top:7px}.scoreboard{padding:10px 17px}.player strong{font-size:32px}.throw-controls{padding-block:12px;margin-top:9px}footer{margin-top:15px}.setup-card{padding-top:19px}.setup-card .soft{margin-bottom:16px}}
@media(max-width:1000px){main{padding:20px 24px}.site-head{padding:0 24px}.game-layout{grid-template-columns:minmax(0,1fr) 250px;gap:18px}.setup-card,.turn-card{padding:21px 17px}.player strong{font-size:33px}.scoreboard{padding:13px}.versus{width:66px}.scoreboard{grid-template-columns:1fr 66px 1fr}.throw-controls{gap:14px;padding-inline:13px}#throw,#next{min-width:140px;font-size:11px}.meter-label b{display:none}.record{min-width:210px}}
@media(max-width:760px){.site-head{height:49px;padding:0 18px;font-size:8px;letter-spacing:1px}.site-head>div{gap:11px}.site-head #fullscreen{display:none}.site-head button{font-size:9px}.brand{font-size:8px}main{padding:20px 16px 16px}.intro{margin-bottom:20px}h1{font-size:46px}.title-dart{font-size:31px;margin-left:9px}.eyebrow{font-size:7px;letter-spacing:1.5px}.intro .eyebrow span{display:none}.tagline{font-size:9px;letter-spacing:0;margin-top:8px}.record{min-width:0;padding-left:16px;margin-left:10px}.record strong{font-size:28px}.record strong small{font-size:12px}.record>span:last-child{max-width:100px;font-size:8px;line-height:1.5}.record .eyebrow{font-size:6px}.game-layout{display:flex;flex-direction:column;gap:20px}aside{display:grid;grid-template-columns:1fr 1fr;gap:18px}.setup-card,.turn-card{grid-column:1/-1}.setup-card .soft{display:none}.setup-card{padding:20px}.setup-card h2{font-size:29px;margin-bottom:18px}.setup-card fieldset{width:100%}.mode-picker button{font-size:12px}.mode-description{min-height:0;margin-bottom:16px}#opponent-settings{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}#opponent-settings>label{grid-column:1;grid-row:1}#opponent-settings>select{grid-column:1;grid-row:2}#difficulty-wrap{grid-column:2;grid-row:1/3}.setup-foot{margin:12px 0 0}#start{margin-top:0}.instructions{grid-column:1/-1;margin:0;padding-top:15px}.turn-card #status{min-height:0}.turn-card .checkout{margin-top:14px;padding:12px 0}.session-card{grid-column:1/-1;padding:0 3px}.cricket-card{grid-column:1/-1;margin:0}.quiet{margin:0}.player strong{font-size:34px}.player-label{font-size:10px}.player small{font-size:6px;margin-top:7px}.scoreboard{padding:13px}.scene-top{top:10px;left:12px;right:12px;font-size:5px}.scene-bottom{left:12px;right:12px;bottom:10px;font-size:6px}.scene-top>span:last-child{display:none}.darts-left{gap:12px}.dart-slot{gap:6px}.visit-strip{padding:10px 13px}.visit-total{font-size:6px;gap:8px}.throw-controls{padding:14px 13px;gap:18px}#throw,#next{min-width:142px;font-size:11px;padding:12px}.meter-label{font-size:6px;letter-spacing:.6px}.meter-scale{font-size:5px;letter-spacing:.2px}.control-note{font-size:8px;line-height:1.7;margin-inline:6px}footer{font-size:6px;letter-spacing:.5px}footer a{font-size:8px}.callout{padding:10px 24px;min-width:130px}.callout strong{font-size:35px}body[data-phase="menu"] .throw-controls,body[data-phase="menu"] .control-note{display:none}body[data-phase="menu"] .visit-strip{display:none}}
@media(max-width:360px){main{padding-inline:10px}.site-head{padding-inline:12px}.brand span{display:none}h1{font-size:40px}.tagline{font-size:8px}.record{padding-left:11px}.record .eyebrow{letter-spacing:1px}.throw-controls{gap:12px}#throw,#next{min-width:125px;font-size:10px}.scoreboard{grid-template-columns:1fr 56px 1fr}.player strong{font-size:30px}.player-label{font-size:9px}.darts-left{gap:7px}.setup-card{padding:16px}select{font-size:10px;padding-inline:5px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
/* Club night: the board keeps its cabinet; match information comes to the player. */
:root{--muted:#b2a68f}.intro{margin-bottom:19px}.tagline{font-size:12px}.player{opacity:.62}.player.active{opacity:1}.player-label{font-size:12px}.player small{font-size:8px;letter-spacing:.55px}.versus span{font-size:8px;letter-spacing:.6px}.mode-description{font-size:11px;min-height:0;margin:11px 0 16px}.setup-card{padding:20px}.setup-card h2{font-size:29px;margin-bottom:20px}select{font-size:12px;margin-bottom:14px}legend,label{font-size:9px;letter-spacing:1px}.setup-foot{font-size:7px;letter-spacing:1px}.mode-picker button{font-size:11px;padding:10px 3px}.portrait{width:54px;height:54px;flex:0 0 54px;border-radius:50%;overflow:hidden;background:#252b23}.portrait svg{display:block;width:100%;height:100%}.opponent-preview{display:flex;align-items:center;gap:11px;margin:0 0 18px}.opponent-preview b{font-size:11px;color:var(--cream)}.opponent-preview p{font-size:10px;line-height:1.6;color:var(--muted);margin:5px 0 0}.opponent-preview .portrait{width:46px;height:46px;flex-basis:46px}.match-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 2px 10px;font-size:9px;letter-spacing:.5px;color:var(--gold)}#leg-score{font-size:10px;letter-spacing:0;color:var(--cream)}.match-actions{display:flex;gap:8px}.match-actions button{padding:5px 7px;font-size:9px;background:#fff3}#pace[aria-pressed=true]{background:#a3bd8216;border-color:#a3bd8233;color:#c9d7b1}#pause{font-size:12px;padding-inline:9px}.tactical{display:flex;align-items:center;gap:14px;padding:10px 16px;background:#25271c;border-inline:1px solid var(--line);border-bottom:1px solid var(--line)}.tactical>span:first-child{font-size:8px;letter-spacing:1.1px;color:var(--muted)}.tactical strong{font:17px Georgia;color:var(--gold)}#pressure-label{margin-left:auto;font-size:8px;letter-spacing:1px;color:#d8a97b}.cricket-card{margin:0;padding:7px 12px 8px;background:#141f17;border-radius:0;border-top:0}.cricket-card table{table-layout:fixed;width:100%;border-collapse:collapse;text-align:center}.cricket-card caption{position:absolute;clip-path:inset(50%);height:1px;width:1px;overflow:hidden}.cricket-card thead th{font-size:10px;color:var(--gold);padding:3px 0;font-weight:400}.cricket-card th:first-child{width:64px;text-align:left;font-size:9px;overflow:hidden;text-overflow:ellipsis}.cricket-card tbody th{font-weight:400;color:var(--muted)}.cricket-card td{font:19px/1.15 Georgia;color:#b5a180;padding:2px 0}.cricket-card .closed{color:#afd5b0}.cricket-card tr.current{background:#bdd7980a}.daily-track{display:flex;border:1px solid var(--line);border-top:0;background:#1c2419}.daily-track>span{flex:1;display:flex;justify-content:center;align-items:center;gap:8px;font-size:8px;color:var(--muted);padding:9px 4px;border-right:1px solid var(--line)}.daily-track>span:last-child{border:0}.daily-track b{font:15px Georgia}.daily-track .current{background:#ceaf6a20;color:#e6d39f}.daily-track .done{color:#92b79a}.throw-controls{gap:12px;padding:14px 16px;margin-top:10px}.meter-label{font-size:9px;letter-spacing:.3px;margin-bottom:11px}.meter-scale{font-size:8px;letter-spacing:0}.meter-scale span:nth-child(2){position:absolute;left:62%;transform:translateX(-50%)}.meter-scale{position:relative}.meter{height:9px;background:linear-gradient(90deg,#74553866,#b8965b44 50%,#a6d3ae55 56%,#a6d3ae88 68%,#b9945344 74%,#ad614455)}.sweet-spot{left:55.5%;width:13%}.focus-button{padding:7px 10px;min-width:75px;min-height:47px;text-align:left;background:#1e251c}.focus-button>span{display:block;color:#d6d8b6;font-size:11px}.focus-button small{display:block;color:var(--muted);font-size:9px;margin-top:5px}.focus-button kbd{font:8px Arial;margin-left:4px;color:#919b80;border:1px solid #fff2;border-radius:3px;padding:1px 3px}.focus-button[aria-pressed=true]{border-color:#afc994;background:#a0c08622;box-shadow:0 0 14px #a0c08615}#throw,#next{min-width:147px;font-size:12px}.shot-feedback{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:10px 4px 8px;min-height:38px;font-size:10px;color:var(--muted)}.shot-feedback strong{color:var(--gold);font-weight:400;white-space:nowrap}.shot-feedback span{text-align:right;font-size:10px;line-height:1.5}.rival-bar{display:flex;align-items:center;gap:12px;padding:10px 13px;background:#1f211899;border:1px solid var(--line);border-radius:7px;margin-top:6px}.rival-bar .portrait{width:39px;height:39px;flex-basis:39px}.rival-bar>div:last-child{display:grid;gap:5px}.rival-bar b{font-size:10px;font-weight:400;color:var(--gold)}.rival-bar span{font:italic 14px Georgia;color:#d4c7ad}body[data-phase=ai] .rival-bar .portrait{animation:concentrate 2s ease-in-out infinite}@keyframes concentrate{50%{transform:rotate(-3deg) translateY(-1px)}}.scene-top{font-size:8px}.scene-bottom{font-size:9px;letter-spacing:.6px}.scene-bottom button{font-size:10px}.visit-total{font-size:9px}.dart-slot{font-size:8px}.dart-slot b{font-size:13px}.daily-card{margin-top:17px;padding:18px;border:1px solid #bbaa7130;border-radius:8px;background:linear-gradient(135deg,#29322555,#201c15)}.daily-heading{display:flex;justify-content:space-between;align-items:center;gap:7px}.daily-heading .eyebrow{font-size:8px;letter-spacing:1.2px;margin:0}.daily-heading>span:last-child{font-size:9px;color:var(--muted)}.daily-card h2{font-size:27px;margin:13px 0 8px}.daily-card p{font-size:11px;line-height:1.6;color:var(--muted);margin:0 0 13px}.daily-preview{display:flex;gap:6px}.daily-preview span{flex:1;text-align:center;border:1px solid var(--line);background:#0002;border-radius:4px;padding:8px 2px;font:14px Georgia;color:var(--gold)}.daily-record{display:flex;justify-content:space-between;gap:10px;font-size:9px;color:var(--muted);margin:12px 0}.daily-record span:last-child{color:#a9cba5}.daily-card button{display:flex;justify-content:space-between;width:100%;font-size:11px;color:#ead5a7;border-color:#d0b98444}.daily-card small{display:block;font-size:8px;color:var(--muted);line-height:1.5;margin-top:10px;text-align:center}.instructions{font-size:11px;line-height:1.8}.instructions summary{font-size:11px}.turn-card #status{font-size:12px}.turn-meta{font-size:8px}.history>div{font-size:10px;grid-template-columns:60px 1fr 33px}.history>div span:nth-child(2){font-size:10px}.result-legs{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin-top:18px}.result-legs>span{border:1px solid var(--line);border-radius:5px;padding:9px 12px;font-size:8px;color:var(--muted)}.result-legs b{display:block;font:16px Georgia;margin-top:5px}.result-legs .won b{color:#adc5a4}.result-legs .lost b{color:#d19a77}.result-reward{font-size:11px!important;color:#d7c493!important}dialog{max-height:calc(100dvh - 32px);overflow-y:auto}#pause-dialog{text-align:center}#resume{width:100%;margin-top:23px}#club-record{width:min(620px,calc(100vw - 26px));padding:28px}.close-dialog{float:right;background:none;border:0;font-size:25px;padding:0 3px}.club-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:20px 0;border-block:1px solid var(--line);margin:20px 0}.club-summary strong{display:block;font:30px Georgia;color:var(--gold)}.club-summary span{display:block;font-size:8px;letter-spacing:1px;margin-top:8px;color:var(--muted)}#club-trend p{font-size:10px;color:var(--muted)}#club-trend svg{display:block;width:100%;max-height:110px}#club-history article{display:flex;justify-content:space-between;gap:12px;padding:15px 0;border-top:1px solid var(--line);font-size:12px}#club-history article>div{display:grid;gap:7px}#club-history article>div:last-child{text-align:right}#club-history article span{font-size:10px;color:var(--muted)}#club-history article strong{color:var(--gold);font-weight:400}.empty-record{text-align:center;padding:28px 0}.empty-record strong{font:24px Georgia}.record-note{font-size:11px}.quiet{font-size:11px}body[data-phase=menu] .throw-controls,body[data-phase=menu] .shot-feedback,body[data-phase=menu] .visit-strip{display:none}
@media(min-width:761px){main{padding-top:20px}.site-head{height:53px}h1{font-size:52px}.intro .eyebrow{margin-bottom:8px}.intro .tagline{margin-top:9px}.record strong{font-size:31px}.scoreboard{padding:12px 18px}.intro{margin-bottom:20px}.setup-card{padding:18px}.setup-card h2{font-size:27px}footer{margin-top:18px}.rival-bar{padding-block:8px}}
@media(max-width:1100px) and (min-width:761px){.game-layout{grid-template-columns:minmax(0,1fr) 245px;gap:18px}.throw-controls{flex-wrap:wrap}.release-control{flex-basis:100%;margin-bottom:4px}.focus-button{flex:1}#throw,#next{flex:2}.shot-feedback{flex-direction:column;gap:4px}.shot-feedback span{text-align:left}.rival-bar span{font-size:12px}.match-bar{flex-wrap:wrap}#leg-score{margin-left:auto}.match-actions{margin-left:auto}.tactical{gap:8px;padding-inline:10px}.tactical strong{font-size:15px}}
@media(max-width:760px){.site-head{padding-inline:15px}.site-head>div{gap:12px}.site-head .brand{display:none}.site-head #open-record{font-size:10px}main{padding-top:16px}.intro{margin-bottom:17px}.tagline{font-size:10px}.record .eyebrow{font-size:7px}.record>span:last-child{font-size:9px}.game-layout{gap:15px}body:not([data-phase=menu]) .intro{display:none}body:not([data-phase=menu]) main{padding-top:12px}.scoreboard{padding:10px 12px}.player-label{font-size:11px}.player strong{font-size:32px}.player small{font-size:8px}.versus span{font-size:7px}.match-bar{font-size:8px;flex-wrap:wrap;row-gap:7px;padding-bottom:9px;letter-spacing:0}.match-actions{gap:5px}.match-actions button{font-size:8px;padding:5px 6px}#leg-score{font-size:9px}.tactical{padding:8px 10px;gap:8px;flex-wrap:wrap}.tactical>span:first-child{font-size:8px;letter-spacing:.3px}.tactical strong{font-size:14px}#pressure-label{font-size:7px}.cricket-card{grid-column:auto;padding:5px 7px 6px}.cricket-card th:first-child{width:46px;font-size:8px}.cricket-card thead th{font-size:9px}.cricket-card td{font-size:17px;padding:1px 0}.scene-top{font-size:7px}.scene-bottom{font-size:8px;bottom:9px}.scene-bottom button{font-size:9px;padding:3px 5px}.visit-strip{padding:7px 11px}.visit-total{font-size:8px}.dart-slot{font-size:8px}.dart-slot b{font-size:12px;min-width:22px}.throw-controls{flex-wrap:wrap;gap:10px;padding:12px;margin-top:9px}.release-control{flex-basis:100%;margin-bottom:3px}.meter-label{font-size:9px}.meter-label b{display:block;font-size:9px}.meter-scale{font-size:8px}#throw,#next{flex:2;min-height:43px;font-size:12px}.focus-button{flex:1;min-height:43px;padding:6px 10px}.focus-button>span{font-size:11px}.focus-button small{font-size:9px;margin-top:3px}.shot-feedback{flex-direction:column;align-items:flex-start;gap:4px;padding:10px 3px 5px;font-size:10px;min-height:0}.shot-feedback span{text-align:left;font-size:10px}.rival-bar{padding:8px 10px;margin-top:9px;gap:10px}.rival-bar .portrait{width:33px;height:33px;flex-basis:33px}.rival-bar span{font-size:12px}.rival-bar b{font-size:9px}.turn-card{padding:18px}.turn-card h2{font-size:27px}.turn-card .checkout{display:none}.turn-card #status{font-size:11px;margin:0}.turn-meta{font-size:9px}.daily-card{grid-column:1/-1;margin-top:0;padding:18px}.daily-card h2{font-size:28px}.daily-heading .eyebrow{font-size:9px}.daily-preview span{font-size:16px}.daily-card small{font-size:9px}.opponent-preview{grid-column:1/-1;margin-top:0;margin-bottom:16px}.setup-card h2{font-size:28px}.setup-card{padding:18px}#format-wrap{margin-top:0}.mode-description{font-size:11px}#opponent-settings{gap:0 12px}.session-card{padding:0 4px}.daily-track>span{padding-block:7px;gap:5px}.daily-track b{font-size:13px}.daily-track>span{font-size:8px}.setup-foot{font-size:7px}.history>div{font-size:11px}footer{font-size:8px;letter-spacing:0}.instructions{font-size:11px}.instructions summary{font-size:11px}.result-stats{margin-block:18px}.result-stats strong{font-size:26px}#club-record{padding:22px}.club-summary strong{font-size:26px}.club-summary span{font-size:7px;letter-spacing:.5px}#club-history article span{font-size:9px}#club-history article{font-size:11px}}
@media(max-width:360px){.match-bar #leg-score{order:3;width:100%;text-align:center}.match-actions{margin-left:auto}.player strong{font-size:27px}.player-label{font-size:10px}.player small{font-size:7px}.tactical strong{font-size:13px}.scene-top{font-size:6px}.scene-bottom{font-size:7px}.meter-label b{font-size:8px}.shot-feedback span{font-size:9px}}
/* During a match, give the board the space used by the room's title. */
body:not([data-phase=menu]) .intro{display:none}
@media(min-width:761px){aside>.cricket-card{border:1px solid var(--line);border-radius:7px;padding:10px 7px;margin-bottom:12px}aside>.cricket-card th:first-child{width:46px;font-size:8px}aside>.cricket-card thead th{font-size:9px}aside>.cricket-card td{font-size:18px}aside>.cricket-card caption{position:static;clip-path:none;width:auto;height:auto;text-align:left;margin:0 0 10px;color:var(--muted);font-size:10px;line-height:1.5}aside>.rival-bar{margin:0 0 12px;padding:13px 10px}.scene-bottom{font-size:8px}body:not([data-phase=menu]) .scoreboard{padding-block:10px}body:not([data-phase=menu]) .throw-controls{padding-block:10px}body:not([data-phase=menu]) .player strong{font-size:34px}}
@media(max-width:760px) and (max-height:700px){body[data-mode=cricket] .tactical{display:none}.scoreboard{padding-block:8px}.cricket-card{padding-block:4px}.cricket-card td{font-size:16px}.throw-controls{padding-block:9px}.match-bar{padding-bottom:7px}}
@media(max-width:360px){.match-bar #leg-score{order:0;width:auto;white-space:nowrap}.match-bar #leg-score span{display:none}.match-bar{flex-wrap:nowrap}.match-actions{margin-left:0}.match-bar #leg-label{font-size:7px}}
/* Phones (upright, or sideways with the wide layout): every label at 11px or more, every control at least 40px tall.
   Kept last so it wins over the layers above. */
@media(max-width:760px),(pointer:coarse) and (max-height:500px){.site-head{font-size:11px}.site-head .brand{display:inline-block;line-height:44px}.site-head #fullscreen{min-width:40px;min-height:44px}.site-head>a:first-child{display:inline-block;line-height:44px}.site-head button,.site-head #open-record{min-height:44px;padding:0 4px;font-size:12px}.eyebrow,.intro .eyebrow,.record .eyebrow,.daily-heading .eyebrow{font-size:11px;letter-spacing:1.2px}.tagline{font-size:12px}.record>span:last-child{font-size:11px;max-width:120px}
.match-bar{font-size:11px;letter-spacing:0}#leg-score{font-size:11px}.match-actions button{min-height:40px;min-width:40px;padding:0 10px;font-size:12px}#pause{font-size:14px}
.player small{font-size:11px;letter-spacing:.3px;margin-top:5px}.versus span{font-size:11px;letter-spacing:0}.tactical>span:first-child,#pressure-label{font-size:11px;letter-spacing:.3px}
.cricket-card th:first-child,.cricket-card thead th{font-size:11px}
.daily-track>span{font-size:11px}
.scene-top{font-size:11px;letter-spacing:1px}.scene-bottom{font-size:11px;letter-spacing:.6px}.scene-bottom button{min-height:40px;padding:0 10px;font-size:12px}.callout span{font-size:11px}
.dart-slot{font-size:11px}.visit-total{font-size:11px}
.meter-label,.meter-label b{font-size:11px}.meter-scale{font-size:11px}.focus-button kbd{font-size:11px}.focus-button small{font-size:11px}.shot-feedback,.shot-feedback span{font-size:12px}.rival-bar b{font-size:11px}
.turn-meta{font-size:11px}.session-stats span{font-size:11px}.history,.history>div span:nth-child(2){font-size:11px}.quiet{min-height:44px}.instructions summary{min-height:44px;align-items:center}
legend,label{font-size:11px}.mode-picker button{min-height:44px}select{min-height:44px;font-size:13px}.opponent-preview p{font-size:12px}.setup-foot{font-size:11px;letter-spacing:.8px}
.daily-heading>span:last-child,.daily-record,.daily-card small{font-size:11px}.daily-card button{min-height:44px;align-items:center}
footer{font-size:11px;flex-wrap:wrap;gap:0 14px}footer a{display:inline-flex;align-items:center;min-height:44px;font-size:13px}
.dialog-buttons button{min-height:44px}.result-legs>span,.result-stats span{font-size:11px}#result button{font-size:13px;min-height:44px}.club-summary span,#club-history article span,#club-trend p{font-size:11px}.close-dialog{min-width:44px;min-height:44px}}
@media(max-width:760px),(pointer:coarse) and (max-height:500px){.match-bar{padding-bottom:6px;row-gap:4px}.scoreboard{padding-block:8px}.player small{margin-top:3px;line-height:1.15}.tactical{padding-block:6px}.visit-strip{padding-block:5px}.throw-controls{padding:10px 12px;gap:8px;margin-top:7px}.meter-label{margin-bottom:8px}.meter-scale{margin-top:5px}.shot-feedback{padding-top:7px}}
@media(max-width:360px){.player-label{font-size:11px}.match-bar #leg-label{font-size:11px}}
@media(max-width:760px){body[data-phase=menu] .scene-top,body[data-phase=menu] .scene-bottom{display:none}}
@media(max-width:360px){.scoreboard{column-gap:6px;padding-inline:10px}.player{gap:4px}#opponent-settings{display:block}}
@media(pointer:coarse) and (max-height:500px){.checkout span{font-size:11px}.history>div{font-size:11px}aside>.cricket-card th:first-child,aside>.cricket-card thead th,aside>.cricket-card caption{font-size:11px}}

/* Phones: like Pool, the centre wordmark goes so the back link and the buttons fit on one line. */
@media(max-width:560px){.site-head .brand{display:none}.site-head a,.site-head button{white-space:nowrap}}

/* Sideways phones: the title block filled the whole screen and the table started below the fold. */
@media(pointer:coarse) and (orientation:landscape) and (max-height:500px){.intro{display:none}}
