:root{--white:#FFFFFF;--paper:#F4F7F1;--green:#1F5A3C;--grass:#2E7D57;--trim:#3A8D5B;--deep:#0F3B25;--ink:#0F2C1E;--mute:#5C6F5E;--ball:#D7DD5A;--busy:#B8802E;--full:#9C3A2A;--wet:#5C7888;--dash:rgba(15,44,30,.2);--faint:rgba(15,44,30,.08)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter Tight,-apple-system,system-ui,sans-serif;-webkit-font-smoothing:antialiased}body{min-height:100vh}nav{display:flex;align-items:center;justify-content:space-between;padding:18px 36px;border-bottom:2px solid var(--ink);background:var(--paper)}.wordmark{font-family:"DM Serif Display",serif;font-style:italic;font-size:22px;color:var(--ink);text-decoration:none}.wordmark em{color:var(--green);font-style:italic}nav .right{display:flex;align-items:center;gap:18px;font-family:JetBrains Mono,monospace;font-size:12px}nav a{color:var(--ink);text-decoration:none}nav a.on{border-bottom:1px solid var(--green);padding-bottom:1px}nav a.get-app{background:var(--ink);color:var(--ball);padding:6px 12px;border:2px solid var(--ink);box-shadow:3px 3px 0 var(--green);text-decoration:none;font-family:Antonio,sans-serif;font-weight:700;font-size:10px;letter-spacing:1.6px;text-transform:uppercase}.container{max-width:1200px;margin:0 auto;padding:24px 36px 80px}.top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}.eyebrow{font-family:Antonio,sans-serif;font-weight:700;font-size:11px;letter-spacing:2.2px;color:var(--green);text-transform:uppercase}.display{font-family:"DM Serif Display",serif;font-size:42px;line-height:.96;letter-spacing:-1.2px;color:var(--ink);margin-top:4px}.display em{font-style:italic;color:var(--green)}.mono{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--mute);letter-spacing:.3px}.grid{display:grid;grid-template-columns:1.4fr 1fr;gap:28px;margin-top:22px}@media(max-width:900px){.grid{grid-template-columns:1fr}}.card{background:var(--white);border:2px solid var(--ink);box-shadow:8px 8px 0 var(--green)}.card-pad{padding:20px 24px}.card-top{display:flex;justify-content:space-between;align-items:center;padding:18px 24px 16px;border-bottom:2px solid var(--ink)}.caps{font-family:Antonio,sans-serif;font-weight:700;font-size:10px;letter-spacing:1.4px;color:var(--mute);text-transform:uppercase}.ttl{font-family:"DM Serif Display",serif;font-size:22px;color:var(--ink);letter-spacing:-.3px}.format-row{display:flex;gap:6px}.format-chip{padding:6px 10px;font-family:Antonio,sans-serif;font-weight:700;font-size:10px;letter-spacing:1.4px;text-transform:uppercase;background:transparent;color:var(--ink);border:1.5px solid var(--dash);cursor:pointer}.format-chip.on{background:var(--green);color:var(--white);border-color:var(--green)}.player-row{display:grid;grid-template-columns:36px 1fr 56px 56px 56px 70px;gap:0;align-items:center;padding:14px 0}.player-row+.player-row{border-top:1px dashed var(--dash)}.avatar{width:36px;height:36px;border-radius:50%;background:var(--grass);color:var(--white);display:flex;align-items:center;justify-content:center;font-family:"DM Serif Display",serif;font-style:italic;font-size:16px}.player-row .name-block{padding-left:12px}.player-row .name{font-family:"DM Serif Display",serif;font-size:20px;color:var(--ink);letter-spacing:-.2px}.player-row .name input{font:inherit;color:inherit;background:transparent;border:0;border-bottom:1px dashed var(--dash);padding:1px 2px;width:100%;max-width:240px;outline:0}.player-row .name input:focus{border-bottom-color:var(--green)}.set-cell{text-align:center}.set-cell input{width:48px;height:48px;border:2px solid var(--dash);background:var(--white);text-align:center;font-family:Antonio,sans-serif;font-weight:700;font-size:30px;color:var(--ink);outline:0;letter-spacing:-.8px}.set-cell input:focus{border-color:var(--green)}.set-cell input.win{color:var(--green)}.won-badge{display:inline-block;padding:4px 8px;background:var(--green);color:var(--white);font-family:Antonio,sans-serif;font-weight:700;font-size:10px;letter-spacing:1.5px;text-transform:uppercase}.header-row{display:grid;grid-template-columns:36px 1fr 56px 56px 56px 70px;gap:0;align-items:center;padding:0 0 6px;font-family:Antonio,sans-serif;font-weight:700;font-size:9px;letter-spacing:1.4px;color:var(--mute);text-transform:uppercase}.header-row>div+div{padding-left:4px}.header-row .h-set{text-align:center}.notes{padding:14px 24px 20px;border-top:1px dashed var(--dash);display:flex;align-items:flex-start;gap:16px}.notes textarea{flex:1;font-family:"DM Serif Display",serif;font-style:italic;font-size:16px;color:var(--ink);letter-spacing:-.2px;border:0;outline:0;background:transparent;resize:vertical;min-height:44px;line-height:1.4}.side{display:flex;flex-direction:column;gap:14px}.field{border:2px solid var(--dash);background:var(--white);padding:10px 14px 12px}.field:focus-within{border-color:var(--green);box-shadow:4px 4px 0 var(--deep)}.field-lbl{font-family:Antonio,sans-serif;font-weight:700;font-size:10px;letter-spacing:1.6px;color:var(--mute);text-transform:uppercase}.field input,.field select{display:block;width:100%;border:0;outline:0;background:transparent;font-family:"DM Serif Display",serif;font-size:18px;color:var(--ink);margin-top:2px;letter-spacing:-.2px;-webkit-appearance:none;appearance:none}.ghost-btn{padding:12px 18px;background:transparent;color:var(--ink);border:2px solid var(--dash);font-family:Antonio,sans-serif;font-weight:700;font-size:13px;letter-spacing:2px;text-transform:uppercase;cursor:pointer}.ghost-btn:hover{border-color:var(--ink)}.btn{padding:14px 18px;background:var(--ink);color:var(--white);border:2px solid var(--ink);box-shadow:4px 4px 0 var(--green);font-family:Antonio,sans-serif;font-weight:700;font-size:13px;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:transform 80ms,box-shadow 80ms}.btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--green)}.btn:disabled{opacity:.5;cursor:not-allowed}.actions{display:flex;gap:10px;margin-top:auto}.actions .ghost-btn{flex:1;text-align:center}.actions .btn{flex:2;text-align:center}.err,.ok{margin-top:10px;padding:10px 12px;font-family:JetBrains Mono,monospace;font-size:11.5px}.err{border:1.5px solid var(--full);background:#fbe9e5;color:var(--full)}.ok{border:1.5px solid var(--green);background:#e8f1eb;color:var(--green)}.gate{max-width:560px;margin:60px auto 80px;padding:0 36px;text-align:left}.gate .e{font-family:Antonio,sans-serif;font-weight:700;font-size:11px;letter-spacing:2.2px;color:var(--green);text-transform:uppercase}.gate .h{font-family:"DM Serif Display",serif;font-size:44px;line-height:.95;letter-spacing:-1.4px;color:var(--ink);margin-top:8px}.gate .h em{font-style:italic;color:var(--green)}.gate p{font-family:"DM Serif Display",serif;font-style:italic;font-size:18px;color:var(--mute);line-height:1.4;margin:14px 0 0;max-width:420px}.gate .actions{margin-top:22px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}.gate .signin{padding:14px 18px;background:var(--ink);color:var(--white);border:2px solid var(--ink);box-shadow:4px 4px 0 var(--green);font-family:Antonio,sans-serif;font-weight:700;font-size:13px;letter-spacing:2px;text-transform:uppercase;text-decoration:none;transition:transform 80ms,box-shadow 80ms}.gate .signin:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--green)}.gate .sub{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--mute)}.gate .sub a{color:var(--green);border-bottom:1px solid var(--green);text-decoration:none;padding-bottom:1px}
