:root{font-family:Avenir Next,Segoe UI,sans-serif;color:#19231e;background:#f4f1e9;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--paper: #f4f1e9;--ink: #19231e;--muted: #72776e;--green: #175c45;--green-dark: #104735;--orange: #ec6848;--line: #d9d7ce;--serif: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;--mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace}*{box-sizing:border-box}#nl-badge-frame{display:none!important}body{min-width:320px;min-height:100vh;margin:0;background:radial-gradient(#1d35281a .7px,transparent .7px);background-size:9px 9px}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible{outline:3px solid #ec6848a8;outline-offset:3px}.app-shell{min-height:100vh;padding:0 7.2vw 44px}.topbar{min-height:76px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:11px;color:var(--ink);font-size:13px;font-weight:850;letter-spacing:1.8px;text-decoration:none}.brand-logo{width:38px;aspect-ratio:1;border-radius:8px;object-fit:cover}.brand-dot,.title-period{color:var(--orange)}.topbar-meta,.eyebrow,.rules-line,.player-number,.turn-tag,.winner-tag,.player-card-bottom,.name-field>span,.player-count legend,.dart-input>span,.visit-total>span,.game-footer,.dart-counter{font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:1.1px}.topbar-meta{display:flex;align-items:center;gap:9px;color:var(--muted)}.topbar-meta .sign-out-button{min-height:30px;padding:0 9px;border:1px solid var(--line);background:transparent;color:var(--green);font-size:10px;font-weight:700;cursor:pointer}.topbar-meta .sign-out-button:hover{border-color:var(--green)}.court-indicator{padding:4px 6px;border:1px solid var(--line);color:var(--green);font:9px var(--mono);white-space:nowrap}.local-mode-tag{padding:4px 6px;border:1px solid var(--line);color:var(--muted);font-size:8px}.offline-dot{display:inline-block;width:7px;aspect-ratio:1;border-radius:50%;background:var(--orange);box-shadow:0 0 0 3px #ec68481c}.database-message{max-width:1180px;margin:12px auto 0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;color:var(--orange);font-size:12px}.database-message button{flex:none;padding:0;border:0;background:transparent;color:var(--green);font:inherit;font-weight:700;cursor:pointer}.live-dot{display:inline-block;width:7px;aspect-ratio:1;border-radius:50%;background:#5a9c67;box-shadow:0 0 0 3px #5a9c671c}.setup-layout{position:relative;min-height:calc(100vh - 120px);display:grid;grid-template-columns:1fr 390px;align-items:center;gap:8vw;max-width:1180px;margin:0 auto;padding:55px 0 80px}.bull-off-layout{position:relative;min-height:calc(100vh - 120px);display:grid;grid-template-columns:1fr 430px;align-items:center;gap:7vw;max-width:1180px;margin:0 auto;padding:55px 0 80px}.setup-copy{position:relative;z-index:1;padding-bottom:44px;animation:rise-in .5s both}.bull-off-copy{position:relative;z-index:1;padding-bottom:35px;animation:rise-in .4s both}.eyebrow{margin:0 0 17px;color:var(--green)}.setup-copy h1,.game-heading h1{margin:0;font-family:var(--serif);font-size:180px;font-weight:500;line-height:.78}.bull-off-copy h1{margin:0;font-family:var(--serif);font-size:116px;font-weight:500;line-height:.85}.intro{max-width:340px;margin:34px 0 26px;color:#51594f;font-family:var(--serif);font-size:23px;line-height:1.4}.rules-line{display:flex;align-items:center;gap:12px;color:var(--muted)}.rules-line span{color:var(--green)}.rules-line i,.game-footer i{width:4px;aspect-ratio:1;border-radius:50%;background:var(--orange)}.setup-panel{position:relative;z-index:1;padding:28px 30px 24px;border:1px solid #d0d0c6;background:#f8f6efeb;box-shadow:9px 10px #175c450e;animation:rise-in .5s 80ms both}.bull-off-panel{padding:27px 29px 22px;border:1px solid #d0d0c6;background:#f8f6efeb;box-shadow:9px 10px #175c450e;animation:rise-in .4s 70ms both}.auth-shell{min-height:100vh}.auth-layout{min-height:calc(100vh - 110px);display:grid;grid-template-columns:minmax(0,1fr) 410px;align-items:center;gap:8vw;max-width:1080px;margin:0 auto;padding:48px 0 72px}.auth-copy{animation:rise-in .4s both}.auth-copy h1{margin:0;font-family:var(--serif);font-size:160px;font-weight:500;line-height:.85}.auth-copy .intro{max-width:360px}.auth-panel{display:grid;gap:15px;padding:28px;border:1px solid #d0d0c6;background:#f8f6efeb;box-shadow:7px 8px #175c450e;animation:rise-in .4s 70ms both}.auth-panel>.eyebrow{margin:0}.auth-panel h2{margin:0 0 3px;font-family:var(--serif);font-size:30px;font-weight:500}.auth-field{display:grid;gap:7px}.auth-field>span{color:var(--muted);font:10px var(--mono);letter-spacing:1px}.auth-field input{width:100%;height:45px;padding:0 11px;border:1px solid var(--line);border-radius:0;background:#fffefa;color:var(--ink);font-size:14px}.auth-message{margin:0;color:#9b452f;font-size:12px;line-height:1.5}.auth-submit{width:100%;margin-top:3px}.auth-mode-toggle{min-height:35px;padding:0;border:0;background:transparent;color:var(--green);font-size:12px;text-align:left;cursor:pointer}.auth-mode-toggle:hover{text-decoration:underline}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;padding-bottom:19px;border-bottom:1px solid var(--line)}.panel-heading .eyebrow{margin-bottom:7px}.panel-heading h2,.entry-title h2,.winner-banner h2{margin:0;font-family:var(--serif);font-size:28px;font-weight:500}.panel-index{color:#8b8b80;font:10px var(--mono)}.player-count{margin:20px 0 17px;padding:0;border:0}.player-count legend{margin-bottom:10px;color:var(--muted)}.count-options{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.count-option{min-height:39px;border:1px solid var(--line);background:transparent;cursor:pointer;transition:color .14s,background .14s,border-color .14s}.count-option:hover{border-color:var(--green)}.count-option.selected{border-color:var(--green);background:var(--green);color:#fff}.count-option:disabled{cursor:not-allowed;opacity:.45}.team-mode-toggle{min-height:37px;margin:-5px 0 16px;font-size:11px}.match-format{margin:0 0 18px;padding:0;border:0}.match-format legend{margin-bottom:9px;color:var(--muted);font:10px var(--mono);font-weight:700;letter-spacing:1.1px}.format-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.court-select{margin:0 0 18px;padding:0;border:0}.court-select legend{margin-bottom:9px;color:var(--muted);font:10px var(--mono);font-weight:700;letter-spacing:1.1px}.court-options{grid-template-columns:repeat(5,minmax(0,1fr))}.game-mode-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.format-option{min-height:36px;padding:0 5px;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:11px;cursor:pointer}.format-option.selected{border-color:var(--green);background:var(--green);color:#fff}.match-format>p{margin:7px 0 0;color:var(--muted);font-size:10px}.name-fields{display:grid;gap:11px}.name-field{display:grid;gap:6px}.name-field>span,.dart-input>span,.visit-total>span{color:var(--muted)}.name-field input{width:100%;height:42px;padding:0 12px;border:1px solid var(--line);border-radius:0;background:#fffefa;color:var(--ink);font-size:14px}.name-field input::placeholder{color:#a9aaa1}.player-library{margin-top:20px;padding-top:15px;border-top:1px solid var(--line)}.player-library-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}.player-library-heading .eyebrow{margin:0 0 4px}.player-library-heading>div>span{color:var(--muted);font-size:11px}.player-library-count{color:var(--green);font:11px var(--mono)}.add-roster-player{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.add-roster-player input{width:100%;min-width:0;height:39px;padding:0 10px;border:1px solid var(--line);border-radius:0;background:#fffefa;color:var(--ink);font-size:13px}.add-roster-player button,.player-library-list button{min-height:34px;padding:0 11px;border:1px solid var(--green);background:transparent;color:var(--green);font-size:11px;font-weight:700;cursor:pointer}.add-roster-player button:disabled{border-color:var(--line);color:#a6a69c;cursor:not-allowed}.roster-slot-picker{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:11px}.roster-slot-picker>span{color:var(--muted);font:9px var(--mono);letter-spacing:.8px}.roster-slot-picker select{min-height:32px;max-width:150px;padding:0 7px;border:1px solid var(--line);background:#fffefa;color:var(--ink);font-size:11px}.player-library-list{max-height:148px;overflow-y:auto;margin:7px 0 0;padding:0;border-top:1px solid var(--line);list-style:none}.player-library-list li{min-height:39px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);color:var(--ink);font-size:12px}.player-library-name{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-library-actions{display:flex;flex:none;gap:5px}.player-library-list button{min-height:28px;flex:none;padding:0 9px}.player-library-list button:hover{background:var(--green);color:#fff}.player-library-list .player-library-delete{border-color:#c55a42;color:#b24029}.player-library-list .player-delete-confirm{border-color:#b24029;background:#b24029;color:#fff}.player-library-list .player-delete-confirm:hover{background:#963822}.player-library-empty{margin:8px 0 0;color:var(--muted);font-size:11px}.primary-button{min-height:47px;display:inline-flex;align-items:center;justify-content:space-between;gap:22px;padding:0 16px;border:1px solid var(--green);background:var(--green);color:#fff;font-size:13px;font-weight:700;cursor:pointer;transition:background .14s,transform .14s}.primary-button:hover:not(:disabled){transform:translateY(-1px);background:var(--green-dark)}.primary-button:disabled{cursor:not-allowed;opacity:.45}.primary-button span{font-size:17px;font-weight:400}.start-button{width:100%;margin-top:17px}.form-note{margin:12px 0 0;color:var(--muted);font-size:11px}.coin-toss-control{display:grid;justify-items:start;gap:7px;margin-top:17px}.coin-choice-label{margin:0;color:var(--muted);font:10px var(--mono);letter-spacing:1px}.coin-toss-button{min-height:54px;display:inline-flex;align-items:center;gap:12px;padding:5px 15px 5px 6px;border:1px solid var(--line);background:#fffefa;color:var(--ink);font-size:12px;font-weight:700;cursor:pointer}.coin-toss-button:hover{border-color:var(--green)}.coin-mark{position:relative;width:42px;height:42px;display:block;flex:none;border:1px solid #a7792e;border-radius:50%;background:linear-gradient(145deg,#f7e2a0,#d4aa54 55%,#bd8838);box-shadow:inset 0 0 0 2px #fff2c4,inset 0 0 0 4px #c39543,0 2px #8e682d,0 3px 5px #19231e30;transform-style:preserve-3d;transition:transform .24s ease-out}.coin-mark:before{position:absolute;top:6px;right:6px;bottom:6px;left:6px;border:1px solid #a77b33;border-radius:50%;content:"";box-shadow:inset 0 0 0 1px #fff0bc}.coin-face{position:absolute;top:8px;right:8px;bottom:8px;left:8px;display:grid;place-items:center;border:1px solid #c7a253;border-radius:50%;background:radial-gradient(circle at 32% 25%,#fff5c9,#efd17f 54%,#d3a64b);color:#65502a;font:700 6px var(--mono);backface-visibility:hidden}.coin-face-mynt,.coin-mark.landed-mynt{transform:rotateY(180deg)}.coin-mark.is-flipping.spin-to-kron{animation:coin-spin-kron .9s cubic-bezier(.17,.7,.18,1) both}.coin-mark.is-flipping.spin-to-mynt{animation:coin-spin-mynt .9s cubic-bezier(.17,.7,.18,1) both}.coin-toss-button>span:last-child{min-width:96px;text-align:left}.coin-toss-control p{margin:0;color:var(--muted);font-size:11px}.bull-order{margin:0;padding:0;list-style:none}.bull-order li{min-height:51px;display:flex;align-items:center;gap:12px;border-top:1px solid var(--line)}.bull-order-number{color:var(--orange);font:10px var(--mono)}.bull-order li strong{flex:1;font-size:13px}.bull-first-tag{color:var(--green);font:9px var(--mono);letter-spacing:.7px}.bull-winner-field{display:grid;gap:7px;margin-top:18px}.bull-winner-field>span{color:var(--muted);font:10px var(--mono);letter-spacing:1px}.bull-winner-field select{width:100%;min-height:44px;padding:0 10px;border:1px solid var(--line);border-radius:0;background:#fffefa;color:var(--ink)}.bull-back-button{margin-top:9px}.bull-off-panel>.coin-toss-button{margin:18px 0 8px}.bull-toss-note{margin:0 0 8px;color:var(--muted);font-size:11px}.bull-trigger{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:16px;padding:13px 15px;border:1px solid #ec684866;background:#f8f6ef}.bull-trigger>div{display:grid;gap:5px}.bull-trigger>div>span{color:var(--orange);font:10px var(--mono);letter-spacing:1px}.bull-trigger>div>strong{font-size:13px}.bull-trigger-button{min-height:39px;flex:none;padding:0 13px;border:1px solid var(--orange);background:var(--orange);color:#fff;font-size:12px;font-weight:700;cursor:pointer}.bull-trigger-button:hover{background:#d85838}.saved-history{grid-column:1 / -1;align-self:start;justify-self:center;width:min(100%,860px);padding-top:12px}.saved-history-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding-bottom:12px}.saved-history-heading .eyebrow{margin-bottom:5px}.saved-history-heading h2{margin:0;font-family:var(--serif);font-size:25px;font-weight:500}.saved-history-heading>span{color:var(--muted);font:9px var(--mono);letter-spacing:1px}.history-filters{display:grid;grid-template-columns:minmax(0,1fr) 150px 112px;gap:9px;margin:0 0 12px}.history-filters label{min-width:0;display:grid;gap:6px}.history-filters label>span{color:var(--muted);font:9px var(--mono);letter-spacing:.8px}.history-filters input,.history-filters select{width:100%;min-width:0;height:38px;padding:0 9px;border:1px solid var(--line);border-radius:0;background:#fffefa;color:var(--ink);font-size:12px}.saved-history ul{margin:0;padding:0;list-style:none}.saved-history-list{max-height:370px;overflow-y:auto;border-top:1px solid var(--line)}.saved-history li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.history-match-main{min-width:0;display:grid;gap:4px}.history-match-main time{color:var(--muted);font:10px var(--mono)}.saved-history li strong{color:var(--green)}.history-match-summary{grid-column:1 / -1;color:var(--muted);font-size:11px}.history-match-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:7px}.history-details-button{min-height:30px;padding:0 9px;border:1px solid var(--green);background:transparent;color:var(--green);font-size:11px;font-weight:700;cursor:pointer}.history-details-button:hover{background:var(--green);color:#fff}.history-delete-button,.history-delete-cancel,.history-delete-confirm{min-height:30px;padding:0 9px;border:1px solid #b24029;background:transparent;color:#b24029;font-size:11px;font-weight:700;cursor:pointer}.history-delete-button:hover,.history-delete-cancel:hover{background:#b2402910}.history-delete-confirm{background:#b24029;color:#fff}.history-delete-confirm:hover{background:#96331f}.history-delete-prompt{color:#b24029;font-size:11px;font-weight:700}.reopen-match-button{grid-column:2;justify-self:start;min-height:30px;padding:0 9px;border:1px solid var(--line);background:transparent;color:var(--green);font-size:11px;font-weight:700;cursor:pointer}.reopen-match-button:hover{border-color:var(--green);background:#175c4510}.history-match-actions .reopen-match-button{grid-column:auto}.saved-history-empty{margin:12px 0 0;color:var(--muted);font-size:12px}.history-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:25;display:grid;place-items:center;padding:18px;background:#19231e99}.history-dialog{width:min(100%,900px);max-height:calc(100vh - 36px);overflow-y:auto;padding:22px 24px;border:1px solid var(--line);background:var(--paper);box-shadow:0 14px 44px #101b1640}.history-dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--line)}.history-dialog-heading .eyebrow{margin-bottom:6px}.history-dialog-heading h2{margin:0;font-family:var(--serif);font-size:28px;font-weight:500}.history-dialog-heading p:last-child{margin:7px 0 0;color:var(--muted);font-size:11px}.history-dialog-heading>button{flex:none}.history-dialog-starter{margin:12px 0 0;color:var(--muted);font-size:11px}.history-player-detail{padding:15px 0;border-bottom:1px solid var(--line)}.history-player-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.history-player-heading h3{margin:0;font-size:14px}.history-player-heading h3 span{color:var(--orange);font:9px var(--mono)}.history-player-heading>strong{color:var(--green);font:11px var(--mono)}.history-player-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:12px 0}.history-player-stats>div{min-width:0;display:grid;gap:4px}.history-player-stats dt{color:var(--muted);font:8px var(--mono)}.history-player-stats dd{margin:0;color:var(--green);font:600 13px var(--mono)}.history-player-detail h4{margin:14px 0 6px;color:var(--muted);font:9px var(--mono)}.history-visits{margin:0;padding:0;list-style:none}.history-visits li{display:grid;grid-template-columns:128px minmax(0,1fr) minmax(105px,auto);gap:6px 10px;align-items:center;padding:7px 0;border-top:1px solid #d9d7ce88}.history-visits li>span:first-child{color:var(--muted);font:9px var(--mono)}.history-visits li>strong{overflow-wrap:anywhere;font:10px var(--mono)}.history-visits li>span:last-child{color:var(--muted);font:9px var(--mono);text-align:right}.history-no-visits{margin:0;color:var(--muted);font-size:11px}.setup-stamp{position:absolute;right:-30px;bottom:22px;width:94px;aspect-ratio:1;display:grid;align-content:center;justify-content:center;border:1px solid #ec684860;border-radius:50%;color:var(--orange);font:8px/1.35 var(--mono);letter-spacing:1px;text-align:center;transform:rotate(11deg)}.setup-stamp b{font-size:15px}.game-layout{max-width:1180px;margin:0 auto;padding:48px 0 0;animation:rise-in .4s both}.game-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:30px}.game-heading .eyebrow{margin-bottom:15px}.game-heading h1{font-size:78px}.heading-slash{padding:0 6px;color:var(--orange)}.game-actions{display:flex;gap:22px;padding-bottom:5px}.text-button{display:inline-flex;align-items:center;gap:8px;padding:9px 0;border:0;background:none;color:var(--green);font-size:13px;font-weight:700;cursor:pointer}.text-button span{font-size:20px}.text-button:disabled{color:#a6a69c;cursor:not-allowed}.new-game-button{color:var(--muted)}.player-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.player-grid.players-1{grid-template-columns:minmax(0,1fr)}.player-grid.players-3,.player-grid.players-4{grid-template-columns:repeat(2,minmax(0,1fr))}.player-card{min-width:0;padding:18px 21px 13px;border:1px solid var(--line);background:#f8f6efdb;transition:border-color .16s,box-shadow .16s}.player-card.is-active{border-color:var(--green);box-shadow:inset 3px 0 0 var(--green)}.player-card.is-winner{border-color:var(--orange);box-shadow:inset 3px 0 0 var(--orange)}.player-card-top,.player-name-wrap,.player-card-bottom{display:flex;align-items:center}.player-card-top{min-height:28px;justify-content:space-between;gap:8px}.player-name-wrap{min-width:0;gap:10px}.player-number{color:var(--orange)}.player-name-wrap h2{overflow:hidden;margin:0;font-size:14px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.player-team-tag{flex:none;color:var(--orange);font:9px var(--mono)}.turn-tag,.winner-tag{display:flex;align-items:center;gap:7px;color:var(--green);font-size:9px}.winner-tag{color:var(--orange)}.score-display{margin:20px 0 16px;font-family:var(--mono);font-size:76px;font-weight:500;line-height:1;font-variant-numeric:tabular-nums}.cricket-score{display:flex;align-items:baseline;gap:10px}.cricket-score>span{color:var(--muted);font:10px var(--mono);letter-spacing:1px}.cricket-mark-board{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin:-4px 0 14px;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.cricket-mark{min-width:0;display:grid;justify-items:center;gap:7px}.cricket-mark strong{color:var(--muted);font:700 10px var(--mono)}.cricket-mark>span{height:15px;display:flex;align-items:center;gap:4px}.cricket-mark i{width:2px;height:12px;background:var(--line);transform:rotate(32deg)}.cricket-mark i.marked{background:var(--green)}.score-edit-button{display:flex;flex-direction:column;align-items:flex-start;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.score-edit-button:disabled{cursor:default;opacity:1}.score-edit-cue{margin-top:6px;color:var(--muted);font:9px var(--mono);letter-spacing:.8px}.score-edit-button:not(:disabled):hover .score-edit-cue{color:var(--green)}.score-edit-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:18px;background:#19231e99}.score-edit-dialog{width:min(100%,420px);padding:25px;border:1px solid var(--line);background:var(--paper);box-shadow:0 14px 44px #101b1640}.score-edit-dialog form{display:grid;gap:14px}.score-edit-dialog .eyebrow{margin:0}.score-edit-dialog h2{margin:0;font-family:var(--serif);font-size:27px;font-weight:500}.score-edit-field{display:grid;gap:7px}.score-edit-field>span{color:var(--muted);font:10px var(--mono);letter-spacing:1px}.score-edit-field input{width:100%;height:50px;padding:0 12px;border:1px solid var(--line);border-radius:0;background:#fffefa;color:var(--green);font:24px var(--mono)}.score-edit-note,.score-edit-error{margin:0;color:var(--muted);font-size:12px}.score-edit-error{color:#b24029}.score-edit-actions{display:flex;align-items:center;justify-content:flex-end;gap:18px;margin-top:3px}.legs-progress{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:-5px 0 13px}.legs-progress>div{display:flex;gap:5px}.leg-pip{width:19px;height:4px;background:var(--line)}.leg-pip.earned{background:var(--green)}.legs-progress>span{color:var(--muted);font:9px var(--mono);letter-spacing:.8px}.player-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:12px;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.player-stats.has-fastest-checkout{grid-template-columns:repeat(5,minmax(0,1fr))}.player-stats>div{min-width:0;display:grid;gap:4px}.player-stats strong{color:var(--green);font:600 15px var(--mono);font-variant-numeric:tabular-nums}.player-stats>div:first-child strong{font-size:17px}.player-stats span{overflow:hidden;color:var(--muted);font:8px var(--mono);letter-spacing:.4px;text-overflow:ellipsis;white-space:nowrap}.player-card-bottom{min-height:26px;justify-content:space-between;padding-top:10px;border-top:1px solid var(--line);color:var(--muted);font-size:9px}.last-visit{color:var(--green)}.bust-label{color:var(--orange)}.score-entry{margin-top:20px;padding:22px 24px 15px;border:1px solid var(--line);background:#f8f6ef}.checkout-hint{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px;padding:10px 12px;border-left:3px solid var(--orange);background:#ec684810}.checkout-hint-copy{min-width:0;display:grid;gap:5px}.checkout-hint-copy>span{color:var(--muted);font:10px var(--mono);letter-spacing:1px}.checkout-hint-copy>strong{color:var(--green);font:700 15px var(--mono)}.checkout-table-toggle{min-height:32px;display:inline-flex;align-items:center;gap:7px;margin:-5px 0 11px;padding:0;border:0;background:transparent;color:var(--green);font-size:11px;font-weight:700;cursor:pointer}.checkout-table-toggle>span{width:16px;display:inline-grid;place-items:center;color:var(--orange);font:17px var(--mono)}.checkout-table{max-height:230px;overflow-y:auto;margin:-2px 0 14px;border:1px solid var(--line);background:#fffefa}.checkout-table-heading{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 11px;border-bottom:1px solid var(--line);background:#f4f1e9}.checkout-table-heading strong,.checkout-table-heading span{color:var(--muted);font:9px var(--mono)}.checkout-table-heading span{text-align:right}.checkout-table-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.checkout-table-row{min-width:0;display:grid;grid-template-columns:30px minmax(0,1fr);align-items:start;gap:7px;padding:5px 9px;border-bottom:1px solid #d9d7ce88}.checkout-table-row strong{color:var(--green);font:700 10px var(--mono);font-variant-numeric:tabular-nums}.checkout-table-row>span{color:var(--ink);font:9px/1.3 var(--mono);overflow-wrap:anywhere}.checkout-apply{min-height:36px;flex:none;padding:0 12px;border:1px solid var(--green);background:transparent;color:var(--green);font-size:11px;font-weight:700;cursor:pointer}.checkout-apply:hover{background:var(--green);color:#fff}.entry-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.entry-title .eyebrow{margin:0 0 6px}.entry-title h2{font-size:21px}.entry-title h2 span{color:var(--muted);font:13px Avenir Next,Segoe UI,sans-serif}.dart-counter{color:var(--muted)}.entry-mode{display:flex;gap:5px;margin:0 0 13px}.entry-mode button{min-height:33px;padding:0 12px;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:11px;cursor:pointer}.entry-mode button[aria-pressed=true]{border-color:var(--green);background:var(--green);color:#fff}.cricket-entry-note{margin:-2px 0 13px;color:var(--muted);font-size:11px;line-height:1.5}.dart-inputs{display:grid;grid-template-columns:repeat(3,minmax(74px,1fr)) minmax(76px,.9fr) auto;gap:9px;align-items:end}.dart-input{display:grid;gap:7px}.dart-input>span,.visit-total>span{font:10px var(--mono);letter-spacing:1px}.dart-input select{width:100%;min-width:0;height:48px;padding:0 8px;border:1px solid var(--line);border-radius:0;background:#fffefa;color:var(--green);font:12px Avenir Next,Segoe UI,sans-serif}.visit-total{height:48px;display:grid;align-content:center;justify-content:center;gap:2px;border:1px solid var(--line)}.visit-total>span{font-size:8px;text-align:center}.visit-total strong{color:var(--green);font:17px var(--mono);text-align:center}.manual-score-entry{display:grid;grid-template-columns:minmax(140px,1fr) minmax(90px,auto) auto auto;gap:12px;align-items:end}.manual-score-field{display:grid;gap:7px}.manual-score-field>span{color:var(--muted);font:10px var(--mono);letter-spacing:1px}.manual-score-field input{width:100%;min-width:0;height:48px;padding:0 12px;border:1px solid var(--line);border-radius:0;background:#fffefa;color:var(--green);font:22px var(--mono)}.manual-darts-field{display:grid;gap:7px}.manual-darts-field>span{color:var(--muted);font:9px var(--mono);letter-spacing:.7px}.manual-darts-field select{min-height:48px;padding:0 8px;border:1px solid var(--line);border-radius:0;background:#fffefa;color:var(--ink);font-size:12px}.manual-double-toggle{display:inline-flex;align-items:center;gap:9px;min-height:48px;color:var(--ink);font-size:12px;cursor:pointer}.manual-double-toggle input{position:absolute;width:1px;height:1px;opacity:0}.custom-check{width:17px;height:17px;display:grid;flex:none;place-items:center;border:1px solid #a9aaa1;background:#fffefa}.manual-double-toggle input:checked+.custom-check{border-color:var(--green);background:var(--green)}.manual-double-toggle input:checked+.custom-check:after{width:7px;height:4px;border-bottom:2px solid white;border-left:2px solid white;content:"";transform:rotate(-45deg) translateY(-1px)}.manual-double-toggle input:focus-visible+.custom-check{outline:3px solid #ec6848a8;outline-offset:3px}.submit-score{min-width:133px;height:48px}.entry-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding-top:14px}.quick-scores{display:flex;gap:6px}.quick-scores button{min-width:43px;min-height:29px;padding:0 8px;border:1px solid var(--line);background:transparent;color:var(--muted);font:11px var(--mono);cursor:pointer}.quick-scores button:hover{border-color:var(--green);color:var(--green)}.entry-message{min-height:18px;margin:12px 0 0;color:var(--muted);font-size:11px}.winner-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px;padding:22px 24px;border:1px solid #ec684866;background:#f8f6ef}.winner-banner .eyebrow{margin-bottom:7px;color:var(--orange)}.match-scoreline{margin:10px 0 0;color:var(--green);font:11px var(--mono)}.match-scoreline>span{margin-left:8px;color:var(--muted)}.email-report-status{margin:9px 0 0;color:var(--muted);font-size:11px;line-height:1.4}.game-footer{display:flex;justify-content:space-between;gap:12px;margin-top:23px;color:#898b81;font-size:9px}.game-footer>span:first-child{display:inline-flex;align-items:center;gap:8px}@keyframes coin-spin-kron{0%{transform:rotateY(0)}to{transform:rotateY(1800deg)}}@keyframes coin-spin-mynt{0%{transform:rotateY(0)}to{transform:rotateY(1980deg)}}@keyframes rise-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media(max-width:760px){.app-shell{padding:0 22px 32px}.topbar{min-height:65px}.topbar-meta{font-size:8px}.setup-layout{min-height:auto;grid-template-columns:1fr;gap:19px;padding:30px 0 28px}.bull-off-layout{min-height:auto;grid-template-columns:1fr;gap:21px;padding:32px 0 28px}.auth-layout{min-height:auto;grid-template-columns:1fr;gap:22px;padding:34px 0}.auth-copy h1{font-size:100px}.auth-copy .intro{margin:14px 0 0;font-size:18px}.auth-panel{padding:21px 19px}.setup-copy,.bull-off-copy{padding:0}.setup-copy .eyebrow{margin-bottom:12px}.setup-copy h1{font-size:108px}.bull-off-copy h1{font-size:82px}.intro{margin:17px 0 13px;font-size:18px;line-height:1.35}.rules-line{gap:8px;font-size:9px;letter-spacing:.8px}.setup-stamp{top:13px;right:4px;bottom:auto;width:62px}.setup-stamp b{font-size:12px}.setup-panel,.bull-off-panel{padding:18px 17px 15px;box-shadow:5px 6px #175c450e}.panel-heading{padding-bottom:14px}.player-count{margin:15px 0 13px}.match-format{margin-bottom:13px}.name-fields{gap:8px}.name-field input{height:40px}.player-library{margin-top:14px;padding-top:12px}.player-library-list{max-height:120px}.coin-toss-control,.start-button{margin-top:13px}.saved-history{padding-top:0}.history-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.history-filter-search{grid-column:1 / -1}.history-dialog{padding:19px}.history-player-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.game-layout{padding-top:32px}.game-heading{margin-bottom:21px}.game-heading h1{font-size:65px}.game-heading .eyebrow{font-size:9px}.player-card{padding:15px 15px 11px}.score-display{margin:17px 0 13px;font-size:62px}.score-entry{padding:19px 17px 13px}.dart-inputs{grid-template-columns:repeat(3,minmax(54px,1fr))}.manual-score-entry{grid-template-columns:minmax(0,1fr) minmax(90px,.7fr)}.manual-score-entry>.submit-score{grid-column:1 / -1}.manual-double-toggle{grid-column:1 / -1}.visit-total{grid-column:1 / 2}.submit-score{grid-column:2 / 4;width:100%}}@media(max-width:480px){.app-shell{padding-right:16px;padding-left:16px}.brand{font-size:11px;letter-spacing:1.2px}.topbar{min-height:59px}.brand-logo{width:34px}.game-heading{align-items:flex-start}.game-actions{flex-direction:column;align-items:flex-end;gap:1px}.player-grid,.player-grid.players-3,.player-grid.players-4{grid-template-columns:minmax(0,1fr)}.player-card{padding:12px 15px 10px}.bull-trigger{align-items:stretch;flex-direction:column}.bull-trigger-button{width:100%}.score-display{margin:12px 0 10px;font-size:57px}.entry-title{align-items:baseline}.entry-title h2{font-size:19px}.checkout-hint{align-items:flex-start;flex-direction:column;gap:9px}.checkout-hint-copy>strong{font-size:14px}.checkout-apply{width:100%}.dart-inputs{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.dart-input select{height:46px;padding:0 4px;font-size:11px}.manual-score-entry{grid-template-columns:minmax(0,1fr)}.manual-double-toggle,.manual-score-entry>.submit-score{width:100%}.visit-total{grid-column:1 / 2}.submit-score{grid-column:2 / 4;min-width:0}.entry-bottom{align-items:flex-start}.game-footer,.winner-banner{flex-direction:column;align-items:flex-start}.saved-history-list li{grid-template-columns:minmax(0,1fr)}.history-match-actions{justify-content:flex-start}.reopen-match-button{grid-column:auto}.history-dialog-backdrop{padding:8px}.history-dialog{max-height:calc(100vh - 16px);padding:16px 13px}.history-dialog-heading h2{font-size:24px}.history-visits li{grid-template-columns:minmax(0,1fr) auto}.history-visits li>strong{grid-column:1 / -1;grid-row:2}.player-library-list li{align-items:flex-start;flex-direction:column;padding:7px 0}.player-library-actions{width:100%;justify-content:flex-end}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
