:root{--header-height:60px;--radius:12px;--radius-sm:9px;--bg:#0d0d12;--surface:#15151d;--surface-raised:#1c1c26;--border:#282833;--border-strong:#353544;--text:#f1f1f6;--text-muted:#93939f;--hover:#ffffff0f;--accent:#a855f7;--accent-strong:#c084fc;--accent-soft:#a855f724;--accent-contrast:#fff;--danger:#f87171;--positive:#4ade80;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:system-ui,Segoe UI,Roboto,sans-serif;line-height:1.5}*,:before,:after{box-sizing:border-box}body{background:var(--bg);min-height:100svh;color:var(--text);margin:0}.header-bar{z-index:100;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0}.header-bar__inner{height:var(--header-height);align-items:center;gap:12px;max-width:1120px;margin:0 auto;padding:0 16px;display:flex;position:relative}.header-bar__brand{border-radius:var(--radius);color:var(--text);letter-spacing:-.01em;align-items:center;gap:10px;padding:4px;font-weight:600;text-decoration:none;display:inline-flex}.header-bar__logo{background:var(--accent);width:34px;height:34px;color:var(--accent-contrast);border-radius:9px;flex:none;place-items:center;display:grid}.header-bar__wordmark{font-size:1.0625rem}.header-bar__menu{flex:1;align-items:center;gap:8px;display:flex}.header-bar__nav{align-items:center;gap:4px;display:flex}.header-bar__link{border-radius:var(--radius);color:var(--text-muted);white-space:nowrap;padding:8px 12px;font-size:.9375rem;font-weight:500;text-decoration:none}.header-bar__link:hover{background:var(--hover);color:var(--text)}.header-bar__link--active{background:var(--accent-soft);color:var(--accent)}.header-bar__login{border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;margin-left:auto;padding:8px 16px;font-size:.9375rem;font-weight:500}.header-bar__login:hover{background:var(--hover)}.header-bar__toggle{border:1px solid var(--border);border-radius:var(--radius);width:40px;height:40px;color:var(--text);cursor:pointer;background:0 0;flex:none;place-items:center;padding:0;display:none}.header-bar__toggle:hover{background:var(--hover)}.header-bar__toggle-bars,.header-bar__toggle-bars:before,.header-bar__toggle-bars:after{background:currentColor;border-radius:1px;width:17px;height:2px;display:block}.header-bar__toggle-bars:before,.header-bar__toggle-bars:after{content:"";position:relative}.header-bar__toggle-bars:before{top:-5px}.header-bar__toggle-bars:after{top:3px}.header-bar__link:focus-visible,.header-bar__brand:focus-visible,.header-bar__login:focus-visible,.header-bar__toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (width<=720px){.header-bar__toggle{display:grid}.header-bar__brand{margin-right:auto}.header-bar__menu{background:var(--surface);border-bottom:1px solid var(--border);flex-direction:column;align-items:stretch;gap:4px;padding:8px 16px 16px;display:none;position:absolute;top:100%;left:0;right:0}.header-bar__menu--open{display:flex}.header-bar__nav{flex-direction:column;align-items:stretch;gap:2px}.header-bar__link,.header-bar__login{text-align:left;padding:12px}.header-bar__login{margin-top:8px;margin-left:0}}.status-badge{letter-spacing:.02em;white-space:nowrap;border-radius:999px;flex:none;padding:3px 10px;font-size:.75rem;font-weight:600}.status-badge--muted{color:var(--text-muted);background:var(--hover)}.status-badge--accent{color:var(--accent-strong);background:var(--accent-soft)}.status-badge--danger{color:var(--danger);background:#f871711f}.btn{border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:6px;padding:8px 16px;font-size:.9375rem;font-weight:500;display:inline-flex}.btn:hover{background:var(--hover)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:disabled{opacity:.5;cursor:default}.btn:disabled:hover{background:0 0}.btn--primary{background:var(--accent);color:var(--accent-contrast);border-color:#0000}.btn--primary:hover{background:var(--accent-strong)}.btn--primary:disabled:hover{background:var(--accent)}.btn--icon{width:28px;height:28px;color:var(--text-muted);border-color:#0000;justify-content:center;padding:4px}.btn--icon:hover{color:var(--danger);background:#f871711f}.stat-grid{grid-template-columns:repeat(var(--stat-count,3), 1fr);gap:12px;margin:0;display:grid}.stat-grid__stat{flex-direction:column;gap:2px;min-width:0;display:flex}.stat-grid__stat dt{letter-spacing:.02em;color:var(--text-muted);font-size:.75rem;font-weight:500}.stat-grid__stat dd{font-variant-numeric:tabular-nums;color:var(--text);margin:0;font-size:1.25rem;font-weight:600;line-height:1.2}.stat-grid__value{align-items:center;gap:4px;display:inline-flex}.stat-grid__edit,.stat-grid__confirm{width:24px;height:24px;font-size:.875rem;line-height:1}.stat-grid__edit{opacity:0;transition:opacity .12s}.stat-grid__stat:hover .stat-grid__edit,.stat-grid__edit:focus-visible{opacity:1}.stat-grid__edit:hover,.stat-grid__confirm:hover{color:var(--accent-strong);background:var(--accent-soft)}.stat-grid__form{align-items:center;gap:4px;display:flex}.stat-grid__input{border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--surface-raised);width:100%;min-width:0;color:var(--text);font:inherit;font-variant-numeric:tabular-nums;padding:2px 6px;font-size:1rem;font-weight:600}.stat-grid__input:focus-visible{outline:none}@media (hover:none){.stat-grid__edit{opacity:1}}@media (width<=560px){.stat-grid{grid-template-columns:repeat(var(--stat-count-narrow,3), 1fr);gap:8px}.stat-grid__stat dt{font-size:.6875rem}.stat-grid__stat dd{font-size:1.0625rem}}.game-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-raised);padding:16px;transition:border-color .12s}.game-card:hover{border-color:var(--accent)}.game-card__head{justify-content:space-between;align-items:start;gap:12px;margin-bottom:14px;display:flex}.game-card__heading{flex-direction:column;gap:1px;min-width:0;display:flex}.game-card__date{letter-spacing:.02em;color:var(--text-muted);font-size:.75rem;font-weight:500}.game-card__title{color:var(--text);margin:0;font-size:1rem;font-weight:600}.panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-direction:column;min-height:180px;padding:20px;display:flex}.panel__head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.panel__title{letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:1rem;font-weight:600}.panel__body{flex:1}.game-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.game-list__form{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.game-list__input{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-raised);color:var(--text);font:inherit;padding:8px 12px;font-size:.9375rem}.game-list__input--title{flex:1;min-width:150px}.game-list__input--buy-in{font-variant-numeric:tabular-nums;width:110px}.game-list__input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.game-list__input::placeholder{color:var(--text-muted)}.game-list__error{border-radius:var(--radius-sm);color:var(--danger);background:#f871711a;border:1px solid #f8717166;margin:0 0 14px;padding:10px 12px;font-size:.9375rem}.game-list__link{color:inherit;border-radius:var(--radius-sm);text-decoration:none;display:block}.game-list__link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.game-list__message{color:var(--text-muted);margin:0}.game-list__message--error{color:var(--danger)}.add-player{position:relative}.add-player__menu{z-index:20;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-raised);min-width:190px;max-height:260px;padding:6px;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto;box-shadow:0 10px 24px #00000073}.add-player__option{border-radius:var(--radius-sm);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:8px 10px;font-size:.9375rem;display:block}.add-player__option:hover{background:var(--accent-soft);color:var(--accent-strong)}.add-player__empty{color:var(--text-muted);margin:0;padding:8px 10px;font-size:.875rem}.round-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-raised);padding:16px;transition:border-color .12s}.round-card:hover{border-color:var(--accent)}.round-card__head{justify-content:space-between;align-items:start;gap:12px;margin-bottom:14px;display:flex}.round-card__heading{flex-direction:column;gap:1px;min-width:0;display:flex}.round-card__date{letter-spacing:.02em;color:var(--text-muted);font-size:.75rem;font-weight:500}.round-card__title{color:var(--text);margin:0;font-size:1rem;font-weight:600}.game-detail{flex-direction:column;gap:20px;display:flex}.game-detail__info{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:20px}.game-detail__head{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:16px;margin-bottom:18px;display:flex}.game-detail__heading{flex-direction:column;gap:2px;min-width:0;display:flex}.game-detail__date{letter-spacing:.02em;color:var(--text-muted);font-size:.75rem;font-weight:500}.game-detail__title-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.game-detail__title{letter-spacing:-.01em;color:var(--text);margin:0;font-size:1.375rem;font-weight:650}.game-detail__error{border-radius:var(--radius-sm);color:var(--danger);background:#f871711a;border:1px solid #f8717166;margin:0 0 14px;padding:10px 12px;font-size:.9375rem}.game-detail__panels{grid-template-columns:1fr 1fr;align-items:start;gap:20px;display:grid}.game-detail__rounds{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.game-detail__round-link{color:inherit;border-radius:var(--radius-sm);text-decoration:none;display:block}.game-detail__round-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.game-detail__players{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.game-detail__player{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-raised);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px 10px 16px;display:flex}.game-detail__player-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin-right:auto;font-weight:500;overflow:hidden}.game-detail__player-standing{font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;font-weight:600}.game-detail__player-standing--up{color:var(--positive)}.game-detail__player-standing--down{color:var(--danger)}.game-detail__player-standing--even{color:var(--text-muted)}.game-detail__message{color:var(--text-muted);margin:0}.game-detail__message--error{color:var(--danger)}@media (width<=860px){.game-detail__panels{grid-template-columns:1fr}}.round-detail{flex-direction:column;gap:20px;display:flex}.round-detail__info{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:20px}.round-detail__head{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:16px;margin-bottom:18px;display:flex}.round-detail__heading{flex-direction:column;gap:2px;min-width:0;display:flex}.round-detail__date{letter-spacing:.02em;color:var(--text-muted);font-size:.75rem;font-weight:500}.round-detail__title-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.round-detail__title{letter-spacing:-.01em;color:var(--text);margin:0;font-size:1.375rem;font-weight:650}.round-detail__actions{flex-wrap:wrap;gap:8px;display:flex}.round-detail__error{border-radius:var(--radius-sm);color:var(--danger);background:#f871711a;border:1px solid #f8717166;margin:0 0 14px;padding:10px 12px;font-size:.9375rem}.round-detail__players{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.round-detail__player{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-raised);flex-wrap:wrap;align-items:center;gap:12px;padding:10px 12px 10px 16px;display:flex}.round-detail__player-info{align-items:baseline;gap:10px;min-width:0;margin-right:auto;display:flex}.round-detail__player-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.round-detail__player-net{font-variant-numeric:tabular-nums;color:var(--text-muted);font-size:.8125rem}.round-detail__result-form{gap:8px;display:flex}.round-detail__chip-input{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:110px;color:var(--text);font:inherit;font-variant-numeric:tabular-nums;padding:8px 10px;font-size:.9375rem}.round-detail__chip-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.round-detail__chip-input::placeholder{color:var(--text-muted)}.round-detail__message{color:var(--text-muted);margin:0}.round-detail__message--error{color:var(--danger)}@media (width<=560px){.round-detail__player:has(.round-detail__result-form){grid-template-columns:1fr auto;grid-template-areas:"info remove""form form";align-items:center;padding-right:10px;display:grid}.round-detail__player-info{grid-area:info;margin-right:0}.round-detail__player>.btn--icon{grid-area:remove}.round-detail__result-form{grid-area:form}.round-detail__chip-input{flex:1;width:auto;min-width:0}}.home{grid-template-columns:1fr 1fr;align-items:start;gap:20px;display:grid}.home__placeholder{color:var(--text-muted);margin:0}@media (width<=860px){.home{grid-template-columns:1fr}}.players__form{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.players__input{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-raised);min-width:160px;color:var(--text);font:inherit;flex:1;padding:8px 12px;font-size:.9375rem}.players__input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.players__input::placeholder{color:var(--text-muted)}.players__error{border-radius:var(--radius-sm);color:var(--danger);background:#f871711a;border:1px solid #f8717166;margin:0 0 14px;padding:10px 12px;font-size:.9375rem}.players__list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.players__player{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--text);text-overflow:ellipsis;white-space:nowrap;padding:12px 16px;font-weight:500;overflow:hidden}.players__message{color:var(--text-muted);margin:0}.players__message--error{color:var(--danger)}.app-main{max-width:1120px;margin:0 auto;padding:24px 16px}
