:root{--paper: #F6F7FA;--surface: #FFFFFF;--ink: #14213D;--ink-soft: #55607A;--court: #2A55B8;--court-dark: #1E3F8C;--win: #1E7A55;--loss: #A33A3A;--shuttle: #F0C02E;--line: #D3D9E4;--num: "Barlow Condensed", "Arial Narrow", "Roboto Condensed", "Helvetica Neue", Arial, sans-serif;--text: "Source Sans 3", "Segoe UI", "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.45 var(--text);padding-bottom:calc(64px + env(safe-area-inset-bottom))}button,input,select{font:inherit;color:inherit}a{color:inherit;text-decoration:none}:focus-visible{outline:3px solid var(--court);outline-offset:2px}.page{max-width:560px;margin:0 auto;background:var(--paper);min-height:100vh}.pad{padding:0 20px;margin:14px 0}.quiet{color:var(--ink-soft)}.small{font-size:.875rem}.top{padding:18px 20px 14px;border-bottom:3px double var(--ink)}.top-row{min-height:22px;display:flex;align-items:center}.wordmark{font:700 1.05rem/1 var(--num);letter-spacing:.04em;color:var(--court)}.back{font:600 1rem/1 var(--text);color:var(--court);padding:8px 0;display:inline-block}.top h1{margin:6px 0 0;font:700 2.4rem/1 var(--num);letter-spacing:.01em}.section{font:700 1.5rem/1 var(--num);margin:26px 20px 8px;padding-top:14px;border-top:1px solid var(--line)}.controls{padding:16px 20px 6px;display:grid;gap:12px}.segment{display:grid;grid-template-columns:1fr 1fr;border:2px solid var(--ink);border-radius:6px;overflow:hidden}.segment button{min-height:44px;border:0;background:transparent;font-weight:600;cursor:pointer}.segment button+button{border-left:2px solid var(--ink)}.segment button[aria-selected=true]{background:var(--ink);color:var(--paper)}.chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{flex:none;min-height:40px;padding:0 14px;border:1.5px solid var(--line);background:var(--surface);border-radius:20px;cursor:pointer}.chip[aria-pressed=true]{border-color:var(--court);background:var(--court);color:#fff}.board{list-style:none;margin:8px 0 0;padding:0}.row{border-bottom:1px solid var(--line);position:relative}.row a{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:4px;padding:12px 20px 12px 16px;min-height:68px}.row a:active{background:#eceff5}.row.first:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--shuttle)}.rank{font:700 2.2rem/1 var(--num);text-align:right;padding-right:12px;font-variant-numeric:tabular-nums}.who{display:grid;gap:2px;min-width:0}.name{font-weight:600;font-size:1.06rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meta{display:flex;flex-wrap:wrap;gap:0 12px;font-size:.84rem;color:var(--ink-soft)}.score{display:grid;justify-items:end;gap:2px}.pts{font:700 1.7rem/1 var(--num);font-variant-numeric:tabular-nums}.move{font-size:.78rem;font-weight:600}.move.up{color:var(--win)}.move.down{color:var(--loss)}.move.same{color:var(--ink-soft)}.notice{margin:20px;padding:14px 16px;border-left:4px solid var(--court);background:var(--surface)}.notice p{margin:0 0 8px}.notice p:last-child{margin:0}.btn{min-height:46px;padding:0 20px;border:2px solid var(--ink);background:transparent;border-radius:6px;font-weight:600;cursor:pointer}.btn.primary{background:var(--court);border-color:var(--court);color:#fff}.btn.primary:active{background:var(--court-dark)}.btn:disabled{opacity:.6;cursor:default}.link{background:none;border:0;padding:8px 0;color:var(--court);font-weight:600;text-decoration:underline;cursor:pointer}.swap{color:var(--ink-soft)}.form{padding:20px;display:grid;gap:16px}.form label,.form legend{display:grid;gap:6px;font-weight:600}.form fieldset{border:0;margin:0;padding:0;display:grid;gap:6px}.form legend{padding:0}.form input,.form select{min-height:48px;padding:0 12px;border:2px solid var(--line);border-radius:6px;background:var(--surface);font-weight:400}.form input:focus,.form select:focus{border-color:var(--court)}.choice{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice.three{grid-template-columns:repeat(3,1fr)}.choice button{min-height:48px;border:2px solid var(--line);background:var(--surface);border-radius:6px;font-weight:600;cursor:pointer}.choice button[aria-pressed=true]{border-color:var(--court);background:var(--court);color:#fff}.error{margin:0;padding:10px 12px;border-left:4px solid var(--loss);background:#fbeeee;color:#6e2020;font-weight:600}.foot{display:grid;gap:10px;justify-items:start;margin-top:28px}.identity{padding:20px 20px 4px}.identity h2{margin:0;font:700 2rem/1.05 var(--num)}.identity p{margin:4px 0 0}.figures{display:grid;grid-template-columns:repeat(4,1fr);margin:14px 0 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.figures div{padding:12px 6px 12px 20px;border-left:1px solid var(--line)}.figures div:first-child{border-left:0}.figures dt{font-size:.8rem;color:var(--ink-soft)}.figures dd{margin:2px 0 0;font:700 1.7rem/1 var(--num);font-variant-numeric:tabular-nums}.figures div:first-child dd{font-size:1.9rem}.results{list-style:none;margin:0;padding:0}.res{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:12px 20px;border-bottom:1px solid var(--line);min-height:60px}.res-main{display:grid}.res-type{font-weight:600}.res-date{font-size:.84rem;color:var(--ink-soft)}.wl{font-weight:600;font-size:.9rem}.wl.won{color:var(--win)}.wl.lost{color:var(--loss)}.res-pts{display:grid;justify-items:end;font:700 1.3rem/1 var(--num);min-width:96px}.res-note{font:400 .78rem/1.3 var(--text);color:var(--ink-soft);text-align:right}.res.out .res-pts{color:var(--ink-soft);font-weight:600}.res.out{background:repeating-linear-gradient(135deg,transparent 0 8px,rgba(20,33,61,.035) 8px 9px)}.res.counted .res-note{color:var(--win);font-weight:600}.tabs{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);background:var(--ink);padding-bottom:env(safe-area-inset-bottom);z-index:10}.tabs a{font-size:.9rem;min-height:56px;display:grid;place-items:center;color:#b9c2d6;font-weight:600;border-top:4px solid transparent}.tabs a[aria-current=page]{color:#fff;border-top-color:var(--shuttle)}@media (min-width: 600px){.tabs{left:50%;transform:translate(-50%);width:560px}}.btn.block{display:grid;place-items:center}.match{padding:14px 20px;border-bottom:1px solid var(--line);display:grid;gap:4px}.match-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.wl.act{color:var(--court)}.wl.plain{color:var(--ink-soft)}.teams{margin:2px 0 0;display:grid;gap:0;font-size:1.02rem}.teams .vs{font-size:.78rem;color:var(--ink-soft)}.strong{font-weight:600}.scoreline{margin:0;font:700 1.5rem/1.1 var(--num);font-variant-numeric:tabular-nums}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.form.tight{padding:8px 0 0}.picked{display:flex;align-items:center;gap:10px;padding:10px 12px;border:2px solid var(--line);background:var(--surface);border-radius:6px;min-height:48px}.picked-label{font-size:.8rem;color:var(--ink-soft);min-width:84px}.picked .link{margin-left:auto;padding:0}.found{list-style:none;margin:0;padding:0;border:2px solid var(--line);border-radius:6px;background:var(--surface)}.found li+li{border-top:1px solid var(--line)}.found button{width:100%;min-height:48px;padding:0 12px;border:0;background:none;display:flex;justify-content:space-between;align-items:center;text-align:left;cursor:pointer;font-weight:600}.game{display:grid;grid-template-columns:1fr 64px 16px 64px;align-items:center;gap:8px}.game-n{font-weight:400}.game input{text-align:center;font:700 1.3rem/1 var(--num);padding:0}.dash{text-align:center;color:var(--ink-soft)}.tcard{display:grid;gap:4px;padding:14px 20px;border-bottom:1px solid var(--line);min-height:76px}.tcard:active{background:#eceff5}.tname{font:700 1.5rem/1.1 var(--num)}.pill{display:inline-block;padding:1px 10px;border-radius:12px;border:1.5px solid var(--line);background:var(--surface);font-size:.8rem;font-weight:600;width:fit-content}.pill.registration_open{border-color:var(--win);color:var(--win)}.pill.in_progress{border-color:var(--court);color:var(--court)}.pill.cancelled{border-color:var(--loss);color:var(--loss)}.info p{margin:6px 0 0}.panel{margin:14px 20px;padding:14px 16px;border:2px solid var(--ink);border-radius:6px;background:var(--surface)}.panel-title{margin:0 0 8px;font:700 1.2rem/1 var(--num)}.cat{padding:14px 20px;border-bottom:1px solid var(--line);display:grid;gap:6px}.cat p{margin:0}.entries{list-style:none;margin:4px 0;padding:0;display:grid;gap:4px}.entry{padding:8px 10px;background:var(--surface);border:1px solid var(--line);border-radius:6px}.entry-row{display:flex;justify-content:space-between;gap:12px}.small-btn{min-height:38px;padding:0 14px}.subhead{margin:14px 20px 4px;font:700 1.1rem/1 var(--num)}.table{width:calc(100% - 40px);margin:0 20px;border-collapse:collapse;font-variant-numeric:tabular-nums}.table th,.table td{text-align:right;padding:8px 6px;border-bottom:1px solid var(--line)}.table th:nth-child(2),.table td:nth-child(2){text-align:left;width:100%}.table th{font-size:.8rem;color:var(--ink-soft);font-weight:600}.inline-add{display:grid;grid-template-columns:1fr auto;gap:8px}.inline-add input{min-height:46px;padding:0 12px;border:2px solid var(--line);border-radius:6px;background:var(--surface);min-width:0}.inline-add .error{grid-column:1 / -1}.match-head select{min-height:38px;border:2px solid var(--line);border-radius:6px;background:var(--surface);padding:0 8px}.fixture-link{display:grid;gap:4px}.scoreline.big{font-size:3.2rem}.subhead.nopad{margin:6px 0 0}.scorer{margin-top:10px;padding-top:12px;border-top:1px dashed var(--line);display:grid;gap:10px}.pad-score{display:grid;grid-template-columns:1fr 1fr;gap:10px}.point{min-height:150px;border:3px solid var(--ink);border-radius:8px;background:var(--surface);display:grid;align-content:space-between;justify-items:center;padding:10px 6px;cursor:pointer;touch-action:manipulation}.point:active{background:var(--shuttle)}.pt-name{font-weight:600;font-size:.95rem;text-align:center}.pt-num{font:700 4.6rem/1 var(--num);font-variant-numeric:tabular-nums}.admin-box{margin-top:8px;padding-top:8px;border-top:1px dashed var(--line);display:grid;gap:8px}.inline-label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:600}.inline-label select{min-height:40px;border:2px solid var(--line);border-radius:6px;background:var(--surface);padding:0 8px;max-width:60%}@media (prefers-reduced-motion: reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.entries.pad,.form.tight.pad{margin-left:20px;margin-right:20px;padding-left:0;padding-right:0}a.btn{display:inline-grid;place-items:center}.problems{margin:8px 0 12px;padding-left:20px;display:grid;gap:6px}.problems li{line-height:1.4}.tcard.slim{min-height:0;padding:12px 20px}.tcard.slim .tname{font:600 1.05rem/1.3 var(--sans, inherit)}.manage-row{margin:8px 0 0;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.link.danger{color:var(--loss)}.subtabs{display:flex;gap:6px;padding:12px 20px;overflow-x:auto;border-bottom:1px solid var(--line)}.subtabs button{flex:0 0 auto;min-height:44px;padding:0 14px;border:2px solid var(--line);border-radius:22px;background:#fff;font:600 .95rem var(--sans, inherit);color:var(--ink)}.subtabs button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.table-wrap{overflow-x:auto;padding:0 20px;margin-bottom:8px}.table.stats{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.table.stats caption{text-align:left;font-weight:700;padding:14px 0 6px;font-size:1.1rem}.table.stats th,.table.stats td{padding:10px 6px;text-align:center;border-bottom:1px solid var(--line)}.table.stats th:nth-child(2),.table.stats td:nth-child(2){text-align:left}.table.stats td.tname-cell{font-weight:600;min-width:120px}.pair{border-bottom:1px solid var(--line);padding:4px 20px}.pair summary{display:grid;gap:2px;padding:10px 0;cursor:pointer;min-height:44px}.pair-name{font-weight:600}.pair-rec{color:#5a6478;font-size:.9rem}.pair-history{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:6px}.best{list-style:none;margin:0;padding:0}.best li{display:grid;gap:2px;padding:12px 20px;border-bottom:1px solid var(--line)}.best li.top{background:#fff8dc}.hist-score{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.table.stats th,.table.stats td{padding-left:4px;padding-right:4px}.table.stats td.tname-cell{min-width:96px}.table-wrap{padding:0 12px}.table.stats{margin:0;width:100%}
