:root{--sans:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "SF Mono", Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font:16px/1.5 var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}*{box-sizing:border-box}html,body,#root{height:100%}body{color:#f4f3ef;background:#050505;margin:0}h1,h2,h3,p{margin:0}button{font:inherit}input,select,textarea{font:inherit;color:inherit}.page{--ink:#f4f3ef;--ink-soft-08:#f4f3ef14;--ink-soft-14:#f4f3ef24;--ink-soft-16:#f4f3ef29;--ink-soft-18:#f4f3ef2e;--ink-soft-92:#f4f3efeb;--muted:#f4f3ef99;--bg:#050505;--glass-bg:#1414168c;--glass-border:var(--ink-soft-14);--glass-inset:var(--ink-soft-08);--glass-shadow:0 30px 60px -20px #000000b3;--input-bg:#0f0f11b3;--input-border:var(--ink-soft-16);--btn-bg:var(--ink-soft-92);--btn-ink:#0a0a0c;--select-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8' fill='none'%3E%3Cpath d='M1 1L7 7L13 1' stroke='%23f4f3ef' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");width:100%;min-height:100svh;font-family:var(--sans);color:var(--ink);background:var(--bg);transition:background-color .6s,color .6s;position:relative;overflow:hidden}.page[data-color=black]:not([data-stage=board]){--ink:#0a0a0c;--ink-soft-08:#0a0a0c14;--ink-soft-14:#0a0a0c24;--ink-soft-16:#0a0a0c29;--ink-soft-18:#0a0a0c2e;--ink-soft-92:#0a0a0ceb;--muted:#0a0a0c8c;--bg:#f4f3ef;--glass-bg:#f0f0f28c;--glass-shadow:0 30px 60px -20px #0003;--input-bg:#fafafcb3;--select-arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8' fill='none'%3E%3Cpath d='M1 1L7 7L13 1' stroke='%230a0a0c' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.page__scene{z-index:0;position:absolute;inset:0}.page__curtain{z-index:5;pointer-events:none;opacity:1;background:#000;transition:opacity 1.1s ease-out;position:absolute;inset:0}.page[data-stage=intro] .page__curtain,.page[data-stage=selecting] .page__curtain,.page[data-stage=form] .page__curtain,.page[data-stage=board] .page__curtain{opacity:0}.carousel-ui{z-index:3;pointer-events:none;justify-content:center;padding:0 24px 56px;display:flex;position:absolute;inset:auto 0 0}.carousel-ui>*{pointer-events:auto}.carousel-ui{flex-direction:column;align-items:center;gap:16px}.carousel-ui__nav{opacity:0;align-items:center;gap:28px;animation:.9s ease-out .6s forwards fade-up;display:inline-flex;transform:translateY(12px)}.color-toggle{font-family:var(--mono);letter-spacing:.32em;opacity:0;align-items:center;gap:12px;font-size:11px;animation:.9s ease-out .45s forwards fade-up;display:inline-flex;transform:translateY(12px)}.color-toggle__option{font:inherit;letter-spacing:inherit;color:var(--ink);opacity:.4;cursor:pointer;touch-action:manipulation;background:0 0;border:0;padding:0;transition:opacity .18s}.color-toggle__option.is-active,.color-toggle__option:hover:not(:disabled){opacity:1}.color-toggle__option:disabled{cursor:default;opacity:.2}.color-toggle__sep{color:var(--muted);opacity:.5}.carousel-ui__arrow,.carousel-ui__choose{cursor:pointer;height:32px;color:var(--ink);opacity:.75;touch-action:manipulation;background:0 0;border:0;justify-content:center;align-items:center;padding:0;transition:opacity .18s,transform .18s;display:inline-flex}.carousel-ui__arrow{width:32px}.carousel-ui__arrow svg{display:block}.carousel-ui__arrow:hover:not(:disabled),.carousel-ui__choose:hover:not(:disabled){opacity:1}.carousel-ui__arrow:active,.carousel-ui__choose:active{transform:translateY(1px)}.carousel-ui__arrow:disabled,.carousel-ui__choose:disabled{opacity:.3;cursor:default}.carousel-ui__choose{letter-spacing:.32em;text-transform:uppercase;font-size:12px;font-weight:600;line-height:1}.logo-mark{z-index:4;opacity:0;pointer-events:none;-webkit-user-select:none;user-select:none;width:32px;height:32px;animation:.7s ease-out .3s forwards fade-up;position:absolute;top:28px;left:32px;transform:translateY(-8px)}.page__form-col{z-index:3;opacity:0;justify-content:center;align-items:center;width:50%;padding:64px 56px;animation:.7s cubic-bezier(.2,.7,.2,1) .25s forwards slide-in;display:flex;position:absolute;top:0;bottom:0;right:0;transform:translate(40px)}.form{background:0 0;border:0;flex-direction:column;gap:22px;width:100%;max-width:460px;padding:0;display:flex}.form__eyebrow{font-family:var(--mono);letter-spacing:.32em;text-transform:uppercase;color:var(--muted);font-size:11px}.form__title{letter-spacing:-.01em;color:var(--ink);font-size:28px;font-weight:600;line-height:1.15}.form__lede{color:var(--muted);max-width:44ch;margin-bottom:4px;font-size:13px}.form__row--two{grid-template-columns:1fr 1fr;gap:18px;display:grid}.form label{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--muted);flex-direction:column;gap:6px;font-size:10px;font-weight:500;display:flex}.form input,.form select{border:0;border-bottom:1px solid var(--ink-soft-18);height:36px;color:var(--ink);font-family:var(--sans);letter-spacing:normal;text-transform:none;background:0 0;border-radius:0;padding:0;font-size:15px;font-weight:400;transition:border-color .18s}.form input::placeholder{color:var(--muted);opacity:.5}.form input:focus-visible,.form select:focus-visible{border-bottom-color:var(--ink);outline:none}.form select{appearance:none;background-image:var(--select-arrow);background-position:right 4px center;background-repeat:no-repeat;padding-right:24px}.form__submit{height:32px;color:var(--ink);letter-spacing:.32em;text-transform:uppercase;cursor:pointer;opacity:.75;background:0 0;border:0;align-self:flex-start;margin-top:8px;padding:0;font-size:12px;font-weight:600;transition:opacity .18s,transform .18s}.form__submit:hover:not(:disabled){opacity:1}.form__submit:active:not(:disabled){transform:translateY(1px)}.form__submit:disabled{opacity:.4;cursor:default}.form__optional{letter-spacing:.22em;color:var(--muted);opacity:.7;text-transform:uppercase;margin-left:6px;font-size:9px}.form__hint{min-height:16px;font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--muted);opacity:0;align-items:center;gap:10px;margin-top:4px;font-size:10px;animation:.35s ease-out forwards fade-up;display:flex}.form__hint--warn{color:#d48a7a}.form__hint-avatar{object-fit:cover;background:var(--ink-soft-08);border:1px solid var(--glass-border);border-radius:50%;width:22px;height:22px}.form__hint-text{text-transform:none;letter-spacing:normal;font-family:var(--sans);align-items:baseline;gap:10px;font-size:12px;display:inline-flex}.form__hint-name{color:var(--ink)}.form__hint-rating{color:var(--muted);font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;font-size:10px}.board-banner{z-index:3;text-align:center;pointer-events:none;opacity:0;flex-direction:column;gap:8px;animation:.8s ease-out .6s forwards fade-up;display:flex;position:absolute;top:48px;left:0;right:0}.board-banner__eyebrow{width:100%;font-family:var(--mono);letter-spacing:.32em;color:var(--muted);font-size:11px;display:block}.board-banner__lede{font-family:var(--mono);letter-spacing:.32em;color:var(--muted);text-transform:uppercase;margin-top:8px;font-size:11px}@keyframes fade-up{to{opacity:1;transform:translateY(0)}}@keyframes slide-in{to{opacity:1;transform:translate(0)}}@media (width<=1024px){.page__form-col{align-items:flex-end;width:100%;padding:24px 16px}.form{padding:24px}.form__title{font-size:26px}.carousel-ui__name{font-size:32px}}@media (width<=768px){.page__form-col{padding:24px 20px 28px;padding-top:max(24px, env(safe-area-inset-top));padding-bottom:max(28px, env(safe-area-inset-bottom));align-items:center}.form{gap:18px;padding:0}.form__title{font-size:22px}.form__lede{font-size:12.5px}.form__row--two{grid-template-columns:1fr;gap:14px}.carousel-ui{gap:12px;padding:0 16px 36px}.carousel-ui__nav{gap:20px}.carousel-ui__arrow{width:44px;height:44px}.carousel-ui__choose{min-width:96px;height:44px;padding:0 14px}.color-toggle{gap:14px;font-size:12px}.color-toggle__option{padding:10px 4px}.logo-mark{width:28px;height:28px;top:20px;left:20px}}.dashboard,.dashboard-login{--ink:#f4f3ef;--ink-soft-08:#f4f3ef14;--ink-soft-14:#f4f3ef24;--ink-soft-16:#f4f3ef29;--ink-soft-92:#f4f3efeb;--muted:#f4f3ef99;--bg:#050505;--glass-bg:#1414168c;--glass-border:var(--ink-soft-14);--glass-shadow:0 30px 60px -20px #000000b3;--input-bg:#0f0f11b3;--input-border:var(--ink-soft-16);--btn-bg:var(--ink-soft-92);--btn-ink:#0a0a0c}.dashboard{background:var(--bg);min-height:100svh;color:var(--ink);font-family:var(--sans);opacity:0;padding:24px;animation:.55s ease-out 50ms forwards dashboard-fade-up;transform:translateY(8px)}@keyframes dashboard-fade-up{to{opacity:1;transform:translateY(0)}}.dashboard__header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.dashboard__brand{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--muted);align-items:center;gap:12px;font-size:12px;display:inline-flex}.dashboard__brand-logo{width:32px;height:32px;display:block}.dashboard__user{color:var(--muted);align-items:center;gap:12px;font-size:13px;display:flex}.dashboard__btn{background:var(--btn-bg);color:var(--btn-ink);font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;border:1px solid #0000;border-radius:6px;padding:6px 12px;font-size:11px;transition:border-color .15s,color .15s}.dashboard__btn:hover:not(:disabled){border-color:var(--ink)}.dashboard__btn:disabled{opacity:.5;cursor:not-allowed}.dashboard__btn--ghost{color:var(--ink);border:1px solid var(--ink-soft-16);background:0 0}.dashboard-login{background:var(--bg);justify-content:center;align-items:center;min-height:100svh;padding:24px;display:flex}.dashboard-login__card{background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--glass-border);width:100%;max-width:360px;box-shadow:var(--glass-shadow);border-radius:12px;flex-direction:column;gap:16px;padding:32px;display:flex}.dashboard-login__title{letter-spacing:-.01em;margin-bottom:4px;font-size:22px;font-weight:600}.dashboard-login__eyebrow{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--muted);font-size:11px}.dashboard-login label{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.dashboard-login input{background:var(--input-bg);border:1px solid var(--input-border);color:var(--ink);border-radius:6px;padding:10px 12px;font-size:14px}.dashboard-login input:focus{border-color:var(--ink);outline:none}.dashboard-login__error{color:var(--ink);letter-spacing:.05em;font-size:12px}.dashboard-login__hint{color:var(--muted);letter-spacing:.05em;font-size:12px}.dashboard__stats{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px;display:grid}.dashboard__stat{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;flex-direction:column;gap:6px;padding:16px;display:flex}.dashboard__stat-label{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--muted);font-size:10px}.dashboard__stat-value{font-variant-numeric:tabular-nums;font-size:24px}.dashboard__stat-sub{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.dashboard__stats--three{grid-template-columns:repeat(3,1fr)}@media (width<=720px){.dashboard__stats--three{grid-template-columns:1fr}}.dashboard__stats-row{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px;display:grid}.dashboard__search{background:var(--input-bg);border:1px solid var(--input-border);width:100%;color:var(--ink);border-radius:8px;margin-bottom:12px;padding:12px 14px;font-size:14px}.dashboard__search:focus{border-color:var(--ink);outline:none}.dashboard__table-wrap{border:1px solid var(--glass-border);background:var(--glass-bg);border-radius:10px;overflow-x:auto}.dashboard__table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13px}.dashboard__table th,.dashboard__table td{text-align:left;border-bottom:1px solid var(--ink-soft-08);white-space:nowrap;padding:10px 12px}.dashboard__table tbody tr{transition:background .15s}.dashboard__table tbody tr:hover{background:var(--ink-soft-08)}.dashboard__table th{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:10px}.dashboard__table th:hover,.dashboard__table th[data-sorted=true]{color:var(--ink)}.dashboard__table tr:last-child td{border-bottom:0}.dashboard__chess{color:var(--ink);align-items:center;gap:8px;text-decoration:none;display:inline-flex}.dashboard__chess:hover{text-decoration:underline}.dashboard__chess-avatar{object-fit:cover;border-radius:50%;width:20px;height:20px}.dashboard__link{color:var(--ink);text-decoration:none}.dashboard__link:hover{text-decoration:underline}.dashboard__muted{color:var(--muted)}.dashboard__footer{color:var(--muted);margin-top:10px;font-size:12px}.dashboard__state{text-align:center;color:var(--muted);padding:32px}.dashboard__skeleton-row{background:var(--ink-soft-08);border-radius:6px;height:36px;margin-bottom:6px;animation:1.2s ease-in-out infinite dashboard-shimmer}@keyframes dashboard-shimmer{0%,to{opacity:.6}50%{opacity:1}}@media (width<=720px){.dashboard{padding:16px}.dashboard__stats{grid-template-columns:1fr 1fr}.dashboard__stats-row{grid-template-columns:1fr}}.dashboard__tabs{background:var(--ink-soft-08);border-radius:8px;gap:4px;padding:4px;display:flex;position:relative}.dashboard__tabs-indicator{background:var(--ink-soft-14);pointer-events:none;z-index:0;will-change:transform, width;border-radius:6px;transition:transform .32s cubic-bezier(.4,0,.2,1),width .32s cubic-bezier(.4,0,.2,1);position:absolute;top:4px;bottom:4px;left:0}.dashboard__tabs-indicator[data-ready=false]{opacity:0}.dashboard__tab{z-index:1;color:var(--muted);font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:6px 14px;font-size:11px;transition:color .2s;position:relative}.dashboard__tab:hover,.dashboard__tab[data-active=true]{color:var(--ink)}.dashboard__panel{animation:.28s ease-out dashboard-panel-fade}@keyframes dashboard-panel-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (width<=720px){.dashboard__header{flex-wrap:wrap;gap:12px}}.dashboard__section-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.dashboard__section-title{letter-spacing:-.01em;font-size:18px;font-weight:600}.dashboard__tournaments-grid{grid-template-columns:1fr;gap:12px;display:grid}@media (width>=720px){.dashboard__tournaments-grid{grid-template-columns:1fr 1fr}}.dashboard__tournament-card{background:var(--glass-bg);border:1px solid var(--glass-border);cursor:pointer;color:var(--ink);text-align:left;border-radius:10px;flex-direction:column;gap:8px;padding:16px;transition:border-color .15s,transform .15s;display:flex}.dashboard__tournament-card:hover{border-color:var(--ink-soft-16)}.dashboard__tournament-card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.dashboard__tournament-name{font-size:15px}.dashboard__tournament-status{letter-spacing:.14em;text-transform:uppercase;background:var(--ink-soft-08);color:var(--muted);border-radius:999px;padding:3px 8px;font-size:10px}.dashboard__tournament-status[data-status=ongoing]{background:var(--ink-soft-16);color:var(--ink)}.dashboard__tournament-status[data-status=finished]{background:var(--ink-soft-08);color:var(--muted)}.dashboard__tournament-meta{color:var(--muted);font-size:12px}.dashboard__modal-backdrop{z-index:100;background:#000000a6;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.dashboard__modal{background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:12px;flex-direction:column;gap:16px;width:100%;max-width:380px;padding:24px;display:flex}.dashboard__modal-title{font-size:18px}.dashboard__modal-body{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.dashboard__btn--destructive{color:var(--ink);border:1px solid var(--ink);background:0 0}.dashboard__btn--destructive:hover:not(:disabled){background:var(--ink-soft-08)}.dashboard__modal-label{color:var(--muted);letter-spacing:.04em;flex-direction:column;gap:6px;font-size:12px;display:flex}.dashboard__input{background:var(--input-bg);border:1px solid var(--input-border);color:var(--ink);font-size:14px;font:inherit;border-radius:6px;padding:10px 12px}.dashboard__input:focus{border-color:var(--ink);outline:none}.dashboard__error{color:var(--ink);font-size:12px}.dashboard__modal-actions{justify-content:flex-end;gap:8px;display:flex}.dashboard__tournament-detail{flex-direction:column;gap:16px;display:flex}.dashboard__back-btn{color:var(--muted);font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0;font-size:11px;transition:color .15s,transform .15s}.dashboard__back-btn:hover{color:var(--ink);transform:translate(-2px)}.dashboard__tournament-detail>*{opacity:0;animation:.45s ease-out forwards dashboard-section-in;transform:translateY(6px)}.dashboard__tournament-detail>:first-child{animation-delay:20ms}.dashboard__tournament-detail>:nth-child(2){animation-delay:80ms}.dashboard__tournament-detail>:nth-child(3){animation-delay:.14s}.dashboard__tournament-detail>:nth-child(4){animation-delay:.2s}.dashboard__tournament-detail>:nth-child(5){animation-delay:.26s}.dashboard__tournament-detail>:nth-child(n+6){animation-delay:.32s}@keyframes dashboard-section-in{to{opacity:1;transform:translateY(0)}}.dashboard__tournament-status[data-status=ongoing]{animation:2.4s ease-in-out infinite dashboard-status-pulse}@keyframes dashboard-status-pulse{0%,to{opacity:.85}50%{opacity:1}}.dashboard__detail-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.dashboard__detail-title{letter-spacing:-.01em;margin-bottom:6px;font-size:26px;font-weight:600}.dashboard__detail-meta{color:var(--muted);letter-spacing:.04em;align-items:center;gap:10px;font-size:12px;display:flex}.dashboard__detail-actions{flex-wrap:wrap;gap:8px;display:flex}.dashboard__modal--lg{max-width:560px}.dashboard__picker-list{border:1px solid var(--ink-soft-08);border-radius:8px;max-height:360px;overflow-y:auto}.dashboard__picker-row{border-bottom:1px solid var(--ink-soft-08);cursor:pointer;grid-template-columns:auto 1fr 1fr auto;align-items:center;gap:12px;padding:10px 12px;font-size:13px;display:grid}.dashboard__picker-row:last-child{border-bottom:0}.dashboard__picker-row:hover{background:var(--ink-soft-08)}.dashboard__picker-name{color:var(--ink)}.dashboard__picker-chess,.dashboard__picker-rating{color:var(--muted);font-variant-numeric:tabular-nums}.dashboard__participants{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;flex-direction:column;gap:4px;padding:8px;display:flex}.dashboard__participant{border-radius:6px;grid-template-columns:1.4fr 1fr 1.2fr auto;align-items:center;gap:12px;padding:10px 12px;font-size:13px;transition:background .15s;display:grid}.dashboard__participant:hover{background:var(--ink-soft-08)}.dashboard__participant[data-withdrawn=true]{opacity:.5}.dashboard__participant-name{color:var(--ink)}.dashboard__participant-chess{color:var(--muted)}.dashboard__participant-rating{color:var(--muted);font-variant-numeric:tabular-nums;align-items:center;gap:6px;display:inline-flex}.dashboard__participant-actions{gap:6px;display:inline-flex}.dashboard__btn--xs{padding:4px 8px;font-size:10px}.dashboard__input--inline{width:70px;padding:4px 6px;font-size:12px}@media (width<=720px){.dashboard__participant{grid-template-columns:1fr;gap:6px}.dashboard__picker-row{grid-template-columns:auto 1fr;row-gap:4px}.dashboard__picker-chess,.dashboard__picker-rating{grid-column:2}}.dashboard__pairings{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;flex-direction:column;gap:2px;padding:8px;display:flex}.dashboard__pairing{border-radius:6px;grid-template-columns:30px 1.2fr 1.2fr auto;align-items:center;gap:12px;padding:8px 12px;font-size:13px;transition:background .15s;display:grid}.dashboard__pairing:not(.dashboard__pairing--head):hover{background:var(--ink-soft-08)}.dashboard__pairing--head{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding-bottom:4px;font-size:10px}.dashboard__pairing-actions{align-items:center;gap:4px;display:inline-flex}.dashboard__pairing-check{color:var(--ink);font-size:11px}@media (width<=720px){.dashboard__pairing{grid-template-columns:1fr;gap:4px}.dashboard__pairing--head{display:none}}.dashboard__standings-wrap{border:1px solid var(--glass-border);background:var(--glass-bg);border-radius:10px;overflow-x:auto}.dashboard__standings-wrap tr[data-withdrawn=true]{opacity:.5}.dashboard__past-rounds{flex-direction:column;gap:8px;display:flex}.dashboard__accordion-head{color:var(--ink);border:1px solid var(--glass-border);text-align:left;cursor:pointer;letter-spacing:.05em;background:0 0;border-radius:8px;width:100%;padding:10px 14px;font-size:13px}.dashboard__accordion-head:hover{border-color:var(--ink-soft-16)}.dashboard__pairings--past{margin-top:4px}.dashboard__warning{color:var(--ink);border:1px solid var(--ink-soft-16);background:var(--ink-soft-08);border-radius:6px;padding:8px 12px;font-size:12px}
