/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.contents{display:contents}.hidden{display:none}.table{display:table}.table-row{display:table-row}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.italic{font-style:italic}.underline{text-decoration-line:underline}}:root{--ink:#081c24;--paper:#f4f1e9;--blue:#11658a;--lime:#d9f24a;--coral:#ef785e;--muted:#647278}*{box-sizing:border-box}html{background:var(--ink)}body{color:var(--ink);background:var(--paper);font-family:var(--font-geist-sans),Arial,sans-serif;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}.loading{background:var(--ink);color:#fff;place-items:center;min-height:100vh;display:grid}.app-shell{max-width:920px;min-height:100dvh;padding:24px max(18px,env(safe-area-inset-left)) calc(32px + env(safe-area-inset-bottom));margin:auto}.setup-shell{background:var(--ink);color:#fff;max-width:none}.brand-header{align-items:center;gap:24px;max-width:760px;margin:4vh auto 28px;display:flex}.brand-header h1{letter-spacing:-.065em;margin:8px 0 0;font-size:clamp(44px,10vw,76px);line-height:.83}.eyebrow,.step{font-family:var(--font-geist-mono),monospace;letter-spacing:.16em;margin:0;font-size:11px;font-weight:800}.eyebrow{color:var(--lime)}.ball-mark{background:var(--lime);border-radius:50%;flex:none;width:88px;height:88px;position:relative;overflow:hidden;transform:rotate(-22deg)}.ball-mark:before,.ball-mark:after{content:"";border:3px solid var(--ink);border-radius:50%;width:100px;height:100px;position:absolute;top:-9px;left:-72px}.ball-mark:after{left:57px}.card{background:var(--paper);color:var(--ink);border-radius:28px}.setup-card{max-width:760px;margin:auto;padding:clamp(20px,5vw,40px)}.seo-intro{color:#fff;max-width:760px;margin:72px auto 28px}.seo-intro>h2{letter-spacing:-.045em;max-width:650px;margin:10px 0 14px;font-size:clamp(30px,6vw,48px);line-height:1}.seo-intro>p:not(.eyebrow){color:#cbd7d9;max-width:680px;line-height:1.65}.feature-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px;display:grid}.feature-grid article,.seo-faq{background:#102a34;border:1px solid #36505a;border-radius:18px;padding:20px}.feature-grid h3,.seo-faq h2{color:var(--lime);margin:0 0 8px}.feature-grid p,.seo-faq p{color:#cbd7d9;margin:0;font-size:14px;line-height:1.55}.seo-faq{margin-top:12px}.rating-panel{text-align:center;border-top:1px solid #36505a;margin-top:36px;padding:34px 18px 8px}.rating-panel h2{letter-spacing:-.035em;margin:7px 0 12px;font-size:clamp(24px,5vw,34px)}.rating-stars{justify-content:center;gap:5px;margin:6px 0 12px;display:flex}.rating-stars button{color:#62747b;text-shadow:0 2px #06171d;background:0 0;border:0;padding:2px;font-size:clamp(38px,9vw,54px);line-height:1;transition:color .15s,transform .15s}.rating-stars button.filled{color:#ffd24a}.rating-stars button:hover,.rating-stars button:focus-visible{outline:none;transform:translateY(-3px)scale(1.06)}.rating-summary{color:#fff}.rating-message{min-height:20px;color:var(--lime);margin:8px 0 0;font-size:13px}.section-heading,.match-progress,.page-title{justify-content:space-between;align-items:end;gap:20px;display:flex}.section-heading h2,.match-progress h1,.page-title h1{letter-spacing:-.04em;margin:3px 0 0;font-size:clamp(27px,6vw,40px)}.section-heading>span{font-family:var(--font-geist-mono);color:var(--muted);font-weight:700}.step{color:var(--blue)}.name-list{grid-template-columns:1fr 1fr;gap:10px;margin:24px 0 14px;display:grid}.name-field{background:#fff;border:1.5px solid #d6d3ca;border-radius:14px;align-items:center;display:flex;overflow:hidden}.name-field:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue)}@supports (color:color-mix(in lab, red, red)){.name-field:focus-within{box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 14%,transparent)}}.name-field span{font-family:var(--font-geist-mono);color:#99a0a1;padding-left:14px;font-size:12px}.name-field input{background:0 0;border:0;outline:0;width:100%;min-width:0;padding:16px 12px;font-weight:650}.player-actions{justify-content:space-between;gap:12px;display:flex}.quiet-button,.text-button,.new-button{color:var(--blue);background:0 0;border:0;padding:10px 0;font-weight:700}.quiet-button:disabled{opacity:.35}.quiet-button.remove{color:#a84b3e}.hint{color:#a84b3e;margin:8px 0 0;font-size:13px}.primary-button,.secondary-button{border:0;border-radius:14px;justify-content:center;align-items:center;gap:12px;width:100%;min-height:58px;padding:14px 18px;font-weight:800;display:flex}.primary-button{background:var(--lime);color:var(--ink);margin-top:24px;box-shadow:0 8px #94a933}.primary-button:active:not(:disabled){transform:translateY(4px);box-shadow:0 4px #94a933}.primary-button:disabled{color:#929993;box-shadow:none;background:#d8d8cf}.primary-button span{font-size:24px}.secondary-button{box-shadow:none;background:#fff;border:1px solid #c9ccc7}.install-tip{color:#dce7e8;border:1px solid #36505a;border-radius:16px;max-width:760px;margin:16px auto 0;padding:15px 44px 15px 18px;position:relative}.install-tip strong{color:var(--lime)}.install-tip p{margin:3px 0 0;font-size:13px}.install-tip button{color:#fff;background:0 0;border:0;font-size:24px;position:absolute;top:10px;right:12px}.tournament-shell{padding-top:calc(16px + env(safe-area-inset-top))}.compact-header{border-bottom:1px solid #d9d6cd;justify-content:space-between;align-items:center;padding-bottom:14px;display:flex}.wordmark{background:0 0;border:0;align-items:center;gap:9px;padding:4px 0;font-size:16px;font-weight:850;display:flex}.mini-ball{background:var(--lime);border:2px solid var(--ink);border-radius:50%;width:20px;height:20px}.new-button{color:#7b4440;font-size:13px}.header-actions{align-items:center;gap:10px;display:flex}.share-button{background:var(--lime);color:var(--ink);border:0;border-radius:999px;padding:9px 13px;font-size:12px;font-weight:850}.tabs{background:#e6e2d9;border-radius:12px;grid-template-columns:1fr 1fr;margin:20px 0 28px;padding:4px;display:grid}.tabs button{color:var(--muted);background:0 0;border:0;border-radius:9px;padding:10px;font-weight:750}.tabs button.active{color:var(--ink);background:#fff;box-shadow:0 2px 8px #0b1c2312}.match-progress,.page-title{margin-bottom:18px}.match-progress>p,.page-title>p{font-family:var(--font-geist-mono);color:var(--muted);font-size:12px}.scoreboard{grid-template-columns:1fr 50px 1fr;align-items:center;display:grid}.team-card{text-align:center;border-radius:22px;min-width:0;padding:24px 14px}.team-card.blue{background:#d8e8ee}.team-card.coral{background:#f8ddd6}.team-card>p{font-family:var(--font-geist-mono);letter-spacing:.15em;color:var(--muted);margin:0;font-size:10px;font-weight:800}.team-card h2{letter-spacing:-.035em;overflow-wrap:anywhere;place-items:center;min-height:58px;margin:8px 0 12px;font-size:clamp(17px,4vw,24px);display:grid}.score-control{grid-template-columns:46px 1fr 46px;align-items:center;gap:8px;display:grid}.score-control button{background:#ffffffa8;border:1px solid #9aa9aa;border-radius:50%;width:46px;height:46px;font-size:25px;line-height:1}.score-control button,.target-control button{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.score-control button:active,.target-control button:active{background:#fff;transform:scale(.9)}.score-control input{width:100%;min-width:0;color:var(--ink);text-align:center;font-family:var(--font-geist-mono);letter-spacing:-.08em;appearance:textfield;background:0 0;border:0;outline:0;font-size:clamp(52px,12vw,80px);font-weight:850;line-height:1}.score-control input::-webkit-inner-spin-button{appearance:none;margin:0}.score-control input::-webkit-outer-spin-button{appearance:none;margin:0}.versus{font-family:var(--font-geist-mono);text-align:center;font-size:11px;font-weight:900}.score-guidance{color:var(--muted);text-align:center;margin:16px 0 -10px;font-size:13px}.score-guidance.ready{color:#367318;font-weight:750}.balance-note{border-left:4px solid var(--lime);background:#fff;border-radius:8px;justify-content:space-between;gap:12px;margin:-5px 0 14px;padding:11px 13px;font-size:12px;display:flex}.balance-note span{color:var(--muted);text-align:right}.fill-in-note{text-align:center;background:#fff0cb;border-radius:10px;margin:12px 0 0;padding:10px 12px;font-size:12px}.save-button{max-width:420px;margin-left:auto;margin-right:auto}.rotation-grid{grid-template-columns:1fr 1.6fr;gap:12px;margin-top:26px;display:grid}.rotation-card{background:#fff;border:1px solid #d2d2ca;border-radius:16px;min-height:104px;padding:17px}.rotation-card p{font-family:var(--font-geist-mono);letter-spacing:.12em;color:var(--muted);margin:0 0 8px;font-size:10px;font-weight:800}.rotation-card strong{line-height:1.35}.rotation-card.sit{border-top:4px solid var(--coral)}.rotation-card.next{border-top:4px solid var(--blue)}.text-button{color:var(--muted);margin:16px auto 0;font-size:13px;display:block}.leaderboard-view,.results-view{padding-top:8px}.table-card{background:#fff;border:1px solid #dedbd2;border-radius:18px;overflow:hidden}.table-head,.table-row{grid-template-columns:48px 1fr 64px 64px;align-items:center;gap:6px;padding:13px 16px;display:grid}.table-head{font-family:var(--font-geist-mono);letter-spacing:.08em;color:var(--muted);background:#e9e6de;font-size:9px}.table-head span:nth-child(n+3),.table-row span:nth-child(3),.table-row b{text-align:right}.table-row{border-top:1px solid #ece9e2;min-height:58px}.table-row:first-of-type{border-top:0}.rank{width:28px;height:28px;font-family:var(--font-geist-mono);border-radius:50%;place-items:center;font-size:12px;display:grid}.rank.top{background:var(--lime);font-weight:900}.table-row b{font-family:var(--font-geist-mono);font-size:19px}.secondary-button.full{margin-top:16px}.history-view{padding-top:8px}.history-list{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:14px;display:grid}.history-card{background:#fff;border:1px solid #dedbd2;border-radius:18px;padding:16px}.history-card header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.history-card header span{color:var(--muted);font-size:12px}.history-card .court-team{margin:8px 0}.empty-history{color:var(--muted);background:#fff;border:1px solid #dedbd2;border-radius:18px;padding:24px}.results-view{text-align:center;max-width:650px;margin:auto}.trophy{background:var(--lime);border-radius:50%;place-items:center;width:70px;height:70px;margin:30px auto 16px;font-size:30px;display:grid}.results-view h1{letter-spacing:-.065em;margin:12px 0;font-size:clamp(44px,11vw,76px);line-height:.9}.results-view h1 span{color:var(--blue)}.winner-score{color:var(--muted);margin:0 0 28px}.finish-actions{grid-template-columns:1fr 1fr;gap:12px;margin-top:18px;display:grid}.finish-actions .primary-button{margin-top:0}.round-picker{background:#fff;border:1px solid #d6d3ca;border-radius:14px;justify-content:space-between;align-items:center;gap:14px;margin-top:22px;padding:16px;display:flex}.round-picker>div:first-child{flex-direction:column;gap:3px;display:flex}.round-picker span{color:var(--muted);font-size:11px}.round-picker>div:last-child{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.round-picker button{background:#f4f1e9;border:1px solid #c8ccc6;border-radius:10px;width:40px;height:40px;font-weight:850}.round-picker button.selected{background:var(--ink);color:#fff;border-color:var(--ink)}.points-picker{background:#fff;border:1px solid #d6d3ca;border-radius:14px;justify-content:space-between;align-items:center;gap:14px;margin-top:10px;padding:16px;display:flex}.points-picker>div:first-child{flex-direction:column;gap:3px;display:flex}.points-picker span{color:var(--muted);font-size:11px}.target-control{grid-template-columns:38px 50px 38px;align-items:center;gap:5px;display:grid}.target-control button{background:#f4f1e9;border:1px solid #c8ccc6;border-radius:10px;width:38px;height:38px;font-size:20px;font-weight:850}.target-control input{border:1.5px solid var(--blue);text-align:center;width:50px;height:42px;font-family:var(--font-geist-mono);appearance:textfield;background:#fff;border-radius:10px;font-size:20px;font-weight:900}.target-control input::-webkit-inner-spin-button{appearance:none;margin:0}.target-control input::-webkit-outer-spin-button{appearance:none;margin:0}.join-box{border-top:1px solid #d8d4ca;margin-top:28px;padding-top:20px}.join-box>p{font-family:var(--font-geist-mono);letter-spacing:.14em;color:var(--muted);margin:0 0 9px;font-size:10px;font-weight:800}.join-box>div{grid-template-columns:1fr auto;gap:8px;display:grid}.join-box input{text-transform:uppercase;min-width:0;font-family:var(--font-geist-mono);letter-spacing:.14em;border:1.5px solid #d0cec6;border-radius:12px;padding:13px;font-weight:800}.join-box button{background:var(--blue);color:#fff;border:0;border-radius:12px;padding:0 20px;font-weight:800}.join-box button:disabled{opacity:.4}.error-banner{color:#8c3428;text-align:center;background:#ffe1db;border-radius:10px;padding:10px 13px;font-size:13px}.courts-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;gap:16px;display:grid}.court-panel{background:#fff;border:1px solid #d2d2ca;border-radius:20px;padding:14px;box-shadow:0 8px 28px #081c240b}.court-panel.complete{opacity:.72}.court-panel>header{justify-content:space-between;align-items:center;gap:10px;padding:0 2px 12px;display:flex}.court-panel>header>div{align-items:baseline;gap:8px;display:flex}.court-panel>header span{font-family:var(--font-geist-mono);letter-spacing:.15em;color:var(--muted);font-size:10px;font-weight:800}.court-panel>header strong{background:var(--ink);color:#fff;width:34px;height:34px;font-family:var(--font-geist-mono);border-radius:50%;place-items:center;font-size:18px;display:grid}.court-panel>header>b{color:var(--blue);font-size:11px}.court-team{border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:12px;display:grid}.court-team.blue{background:#d8e8ee}.court-team.coral{background:#f8ddd6}.court-team>strong{overflow-wrap:anywhere;line-height:1.2}.court-team>div{grid-template-columns:38px 48px 38px;align-items:center;gap:4px;display:grid}.court-team button{touch-action:manipulation;-webkit-user-select:none;user-select:none;background:#ffffffb8;border:1px solid #9aa9aa;border-radius:50%;width:38px;height:38px;font-size:21px}.court-team button:active:not(:disabled){transform:scale(.9)}.court-team input{text-align:center;width:48px;font-family:var(--font-geist-mono);appearance:textfield;background:0 0;border:0;outline:0;font-size:31px;font-weight:900}.court-team input::-webkit-inner-spin-button{appearance:none;margin:0}.court-team input::-webkit-outer-spin-button{appearance:none;margin:0}.court-vs{text-align:center;font-family:var(--font-geist-mono);color:var(--muted);height:18px;font-size:9px;font-weight:900;line-height:18px}.court-save{background:var(--lime);width:100%;min-height:45px;color:var(--ink);border:0;border-radius:11px;margin-top:11px;font-weight:850}.court-save:disabled{color:#8e9691;background:#e4e3dd}.next-courts{flex-direction:column;gap:6px;display:flex}.next-courts span{line-height:1.35}.winner-celebration{isolation:isolate;margin:6px 0;padding:6px 0;position:relative}.winner-celebration h1{z-index:2;position:relative}.fireworks{z-index:1;pointer-events:none;width:1px;height:1px;position:absolute;inset:50%}.fireworks i{--distance:clamp(95px,24vw,175px);background:var(--lime);opacity:0;transform-origin:50% 0;width:9px;height:22px;animation:2.4s cubic-bezier(.17,.67,.3,1) infinite firework-burst;animation-delay:calc((var(--i) % 7) * 90ms);border-radius:999px;position:absolute;top:0;left:0}.fireworks i:nth-child(4n+1){background:#ef785e}.fireworks i:nth-child(4n+2){background:#35aee2}.fireworks i:nth-child(4n+3){background:#ffd24a}.fireworks i:nth-child(3n){width:7px;height:15px}@keyframes firework-burst{0%{opacity:0;transform:rotate(calc(var(--i) * 12.857deg)) translateY(-25px) scale(.2)}12%{opacity:1}60%{opacity:1;transform:rotate(calc(var(--i) * 12.857deg)) translateY(calc(var(--distance) * -1)) scale(1)}to{opacity:0;transform:rotate(calc(var(--i) * 12.857deg)) translateY(calc((var(--distance) + 32px) * -1)) rotate(80deg) scale(.4)}}@media (prefers-reduced-motion:reduce){.fireworks i{opacity:.75;transform:rotate(calc(var(--i) * 12.857deg)) translateY(-120px) scale(.65);animation:none}}@media (width<=620px){.app-shell{padding-left:14px;padding-right:14px}.brand-header{margin-top:2vh}.ball-mark{width:65px;height:65px}.setup-card{border-radius:22px;padding:20px 16px}.seo-intro{margin-top:48px}.feature-grid{grid-template-columns:1fr}.name-list{grid-template-columns:1fr;gap:8px}.scoreboard{grid-template-columns:1fr;gap:7px}.versus{height:18px}.team-card{text-align:left;grid-template-columns:1fr 1.2fr;grid-template-areas:"label score""names score";align-items:center;padding:16px 12px;display:grid}.team-card>p{grid-area:label}.team-card h2{grid-area:names;min-height:0;margin:5px 10px 0 0;display:block}.score-control{grid-area:score}.score-control input{text-align:center;font-size:52px}.round-picker,.points-picker{align-items:flex-start}.header-actions{gap:5px}.share-button{padding:8px 10px}.rotation-grid,.courts-grid{grid-template-columns:1fr}.rotation-card{min-height:auto}.table-head,.table-row{grid-template-columns:40px 1fr 54px 56px;padding-left:10px;padding-right:10px}.finish-actions{grid-template-columns:1fr}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
