@import "https://fonts.googleapis.com/css2?family=Space+Mono:ital,wght@0,400;0,700;1,400&family=Inter:wght@300;400;500;600&display=swap";:root{--color-bg:#0a0a0a;--color-surface:#111;--color-surface-raised:#1a1a1a;--color-border:#2a2a2a;--color-border-strong:#3a3a3a;--color-text:#e8e8e8;--color-text-muted:#888;--color-text-dim:#555;--color-accent:#d91a1a;--color-accent-hover:#ff2e2e;--color-success:#2dd4a8;--color-warning:#f0a030;--color-error:#e53e3e;--font-display:"Space Mono", "Courier New", monospace;--font-body:"Inter", -apple-system, system-ui, sans-serif;--text-xs:.6875rem;--text-sm:.75rem;--text-base:.875rem;--text-lg:1rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:2rem;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-sm:2px;--radius-md:4px;--radius-lg:8px;--transition-fast:.12s ease;--transition-base:.2s ease;--transition-slow:.35s ease}[data-theme=light]{--color-bg:#f5f5f0;--color-surface:#fff;--color-surface-raised:#eeeee8;--color-border:#ddddd5;--color-border-strong:#ccb;--color-text:#1a1a1a;--color-text-muted:#666;--color-text-dim:#999;--color-accent:#c41414;--color-accent-hover:#e01e1e;--color-success:#1a9970;--color-warning:#c88020;--color-error:#c53030}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--color-bg:#f5f5f0;--color-surface:#fff;--color-surface-raised:#eeeee8;--color-border:#ddddd5;--color-border-strong:#ccb;--color-text:#1a1a1a;--color-text-muted:#666;--color-text-dim:#999;--color-accent:#c41414;--color-accent-hover:#e01e1e;--color-success:#1a9970;--color-warning:#c88020;--color-error:#c53030}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);background-color:var(--color-bg);min-height:100dvh;line-height:1.6}a{color:var(--color-text);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-accent)}.container{width:100%;max-width:960px;padding:0 var(--space-4);margin:0 auto}.header{padding:var(--space-4) 0;border-bottom:1px solid var(--color-border);margin-bottom:var(--space-8);justify-content:space-between;align-items:center;display:flex}.header__logo-wrap{align-items:center;display:flex}.header__logo{font-family:var(--font-display);font-size:var(--text-sm);letter-spacing:4px;text-transform:uppercase;color:var(--color-text);font-weight:700;text-decoration:none}.header__logo:hover{opacity:.6}.header__logo-community{font-family:var(--font-display);font-size:var(--text-sm);letter-spacing:2px;text-transform:uppercase;color:var(--color-text);opacity:.35;cursor:default;margin-left:2px;font-weight:700}.header__nav{gap:var(--space-4);align-items:center;display:flex}.header__link{font-family:var(--font-display);font-size:var(--text-xs);letter-spacing:1.5px;text-transform:uppercase;color:var(--color-text-muted);transition:color var(--transition-fast);padding:var(--space-1) 0;position:relative}.header__link:hover,.header__link--active{color:var(--color-text)}.header__link--active:after{content:"";background:var(--color-accent);height:1px;position:absolute;bottom:-2px;left:0;right:0}.header__badge{background:var(--color-accent);color:#fff;min-width:16px;height:16px;font-size:9px;font-weight:700;font-family:var(--font-display);border-radius:8px;justify-content:center;align-items:center;margin-left:4px;padding:0 4px;display:inline-flex}.header__new-match{font-family:var(--font-display);font-size:var(--text-xs);letter-spacing:1.5px;text-transform:uppercase;color:var(--color-text);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-3);transition:all var(--transition-fast)}.header__new-match:hover{border-color:var(--color-text);color:var(--color-text);background:var(--color-surface-raised)}.header__profile-menu{position:relative}.header__avatar-btn{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.header__avatar-initial{border:1.5px solid var(--color-text-muted);width:24px;height:24px;font-family:var(--font-display);color:var(--color-text-muted);transition:all var(--transition-fast);letter-spacing:0;border-radius:50%;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:flex}.header__avatar-btn:hover .header__avatar-initial{border-color:var(--color-text);color:var(--color-text)}.header__dropdown{top:calc(100% + var(--space-2));background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:160px;padding:var(--space-1) 0;z-index:100;position:absolute;right:0;box-shadow:0 8px 24px #0006}.header__dropdown-item{width:100%;padding:var(--space-3) var(--space-4);font-family:var(--font-display);font-size:var(--text-xs);letter-spacing:1.5px;text-transform:uppercase;color:var(--color-text-muted);text-align:left;cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;display:block}.header__dropdown-item:hover{color:var(--color-text);background:var(--color-surface-raised)}.header__dropdown-item--danger{color:var(--color-error)}.header__dropdown-item--danger:hover{background:var(--color-error);color:#fff}.header__dropdown-divider{background:var(--color-border);height:1px;margin:var(--space-1) 0}.btn{justify-content:center;align-items:center;gap:var(--space-2);font-family:var(--font-display);font-size:var(--text-xs);letter-spacing:2px;text-transform:uppercase;padding:var(--space-3) var(--space-6);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:0 0;font-weight:700;display:inline-flex}.btn:hover{border-color:var(--color-text);background:var(--color-surface-raised)}.btn--primary{background:var(--color-text);color:var(--color-bg);border-color:var(--color-text)}.btn--primary:hover{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.btn--danger{border-color:var(--color-error);color:var(--color-error)}.btn--danger:hover{background:var(--color-error);color:#fff}.btn--sm{padding:var(--space-2) var(--space-4);letter-spacing:1.5px;font-size:10px}.btn--block{width:100%}.btn:disabled{opacity:.3;cursor:not-allowed}.input-group{margin-bottom:var(--space-5)}.input-group__label{font-family:var(--font-display);font-size:var(--text-xs);letter-spacing:2px;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:var(--space-2);display:block}.input{width:100%;padding:var(--space-3) var(--space-4);font-family:var(--font-display);font-size:var(--text-sm);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:border-color var(--transition-fast);outline:none}.input:focus{border-color:var(--color-text-muted)}.input::placeholder{color:var(--color-text-dim)}select.input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23888' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:32px}.tabs{border-bottom:1px solid var(--color-border);margin-bottom:var(--space-6);scrollbar-width:none;-ms-overflow-style:none;gap:0;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{font-family:var(--font-display);font-size:var(--text-xs);letter-spacing:1.5px;text-transform:uppercase;padding:var(--space-3) var(--space-5);color:var(--color-text-dim);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;position:relative}.tab:hover{color:var(--color-text-muted)}.tab--active{color:var(--color-text);border-bottom-color:var(--color-accent)}.tab__icon{margin-right:var(--space-2)}.game-selector{margin-bottom:var(--space-6)}.game-selector__select{appearance:none;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-8) var(--space-2) var(--space-3);font-family:var(--font-display);font-size:var(--text-sm);letter-spacing:1px;text-transform:uppercase;color:var(--color-text);cursor:pointer;transition:border-color var(--transition-fast);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 5l3 3 3-3' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;min-width:180px}.game-selector__select:hover{border-color:var(--color-border-strong)}.game-selector__select:focus{border-color:var(--color-text-muted);outline:none}.game-selector__select option{background:var(--color-surface);color:var(--color-text);font-family:var(--font-body);text-transform:none;letter-spacing:0}.format-pills{gap:var(--space-2);margin-bottom:var(--space-6);margin-top:calc(-1 * var(--space-3));display:flex}.format-pill{font-family:var(--font-display);letter-spacing:1px;text-transform:uppercase;color:var(--color-text-dim);border:1px solid var(--color-border);padding:var(--space-1) var(--space-3);cursor:pointer;transition:all var(--transition-fast);background:0 0;border-radius:999px;font-size:10px}.format-pill:hover{border-color:var(--color-text-muted);color:var(--color-text-muted)}.format-pill--active{border-color:var(--color-text);color:var(--color-text);background:var(--color-surface-raised)}.ranking-table{border-collapse:collapse;width:100%}.ranking-table th{font-family:var(--font-display);letter-spacing:2px;text-transform:uppercase;color:var(--color-text-dim);padding:var(--space-2) var(--space-3);text-align:left;border-bottom:1px solid var(--color-border);font-size:10px;font-weight:400}.ranking-table th:first-child{text-align:center;width:48px}.ranking-table td{padding:var(--space-3);border-bottom:1px solid var(--color-border);font-size:var(--text-sm);vertical-align:middle}.ranking-table tr{transition:background var(--transition-fast);cursor:pointer}.ranking-table tbody tr:hover{background:var(--color-surface-raised)}.rank-position{width:28px;height:28px;font-family:var(--font-display);font-size:var(--text-xs);color:var(--color-text-muted);justify-content:center;align-items:center;font-weight:700;display:inline-flex}.rank-position--top{color:var(--color-accent)}.rating-value{font-family:var(--font-display);font-weight:700;font-size:var(--text-sm)}.rating-rd{font-family:var(--font-display);color:var(--color-text-dim);margin-left:var(--space-1);font-size:10px}.rating-change{font-family:var(--font-display);font-size:var(--text-xs);font-weight:700}.rating-change--positive{color:var(--color-success)}.rating-change--negative{color:var(--color-error)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-5);transition:border-color var(--transition-fast)}.card:hover{border-color:var(--color-border-strong)}.card__title{font-family:var(--font-display);font-size:var(--text-xs);letter-spacing:2px;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:var(--space-3)}.card__value{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700}.match-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-3);justify-content:space-between;align-items:center;gap:var(--space-4);transition:border-color var(--transition-fast);display:flex}.match-card:hover{border-color:var(--color-border-strong)}.match-card__game{font-family:var(--font-display);font-size:var(--text-xs);letter-spacing:1.5px;text-transform:uppercase;color:var(--color-text-muted)}.match-card__players{font-size:var(--text-sm);color:var(--color-text);flex:1}.match-card__result{font-family:var(--font-display);font-size:var(--text-xs);letter-spacing:1px;text-transform:uppercase;font-weight:700}.match-card__result--win{color:var(--color-success)}.match-card__result--loss{color:var(--color-error)}.match-card__result--draw{color:var(--color-warning)}.match-card__date{font-family:var(--font-display);color:var(--color-text-dim);font-size:10px}.match-log__row{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-3);transition:border-color var(--transition-fast);grid-template-columns:240px 1fr auto;display:grid}.match-log__row:hover{border-color:var(--color-border-strong)}.match-log__game{font-family:var(--font-display);font-size:var(--text-xs);letter-spacing:1.5px;text-transform:uppercase;color:var(--color-text-muted);white-space:nowrap}.match-log__players{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text);min-width:0}.match-log__player{color:var(--color-text);transition:color var(--transition-fast);font-weight:600;text-decoration:none}.match-log__player:hover{color:var(--color-accent);text-underline-offset:2px;text-decoration:underline}.match-log__verb,.match-log__vs{color:var(--color-text-dim);font-weight:400}.match-log__outcome{font-family:var(--font-display);letter-spacing:1px;text-transform:uppercase;margin-left:var(--space-2);font-size:10px}.match-log__outcome--draw{color:var(--color-warning)}.match-log__outcome--win{color:var(--color-text-dim)}.match-log__placement{font-family:var(--font-display);font-size:var(--text-xs);color:var(--color-text-dim)}.match-log__date{font-family:var(--font-display);color:var(--color-text-dim);white-space:nowrap;font-size:10px}.rank-badges{margin-left:var(--space-2)}.rank-badge{font-family:var(--font-display);letter-spacing:.5px;vertical-align:middle;border-radius:3px;margin-left:3px;padding:1px 5px;font-size:9px;font-weight:700;display:inline-block}.rank-badge--global{color:var(--color-success);background:#2dd4a826;border:1px solid #2dd4a84d}.rank-badge--game{color:var(--color-accent);background:#d91a1a1a;border:1px solid #d91a1a33}.auth-page{flex-direction:column;justify-content:center;align-items:center;min-height:80dvh;display:flex}.auth-form{width:100%;max-width:360px}.auth-form__title{font-family:var(--font-display);font-size:var(--text-sm);letter-spacing:3px;text-transform:uppercase;margin-bottom:var(--space-8);text-align:center}.auth-form__footer{text-align:center;margin-top:var(--space-6);font-size:var(--text-sm);color:var(--color-text-muted)}.auth-form__footer a{color:var(--color-text);text-underline-offset:3px;text-decoration:underline}.profile-header{margin-bottom:var(--space-8)}.profile-header__name{font-family:var(--font-display);font-size:var(--text-2xl);margin-bottom:var(--space-1);font-weight:700}.profile-header__meta{font-size:var(--text-sm);color:var(--color-text-muted)}.profile-stats{gap:var(--space-3);margin-bottom:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.section-label{font-family:var(--font-display);font-size:var(--text-xs);letter-spacing:2px;text-transform:uppercase;color:var(--color-text-dim);margin-bottom:var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border)}.info-tooltip{width:14px;height:14px;color:var(--color-text-dim);cursor:help;margin-left:var(--space-1);vertical-align:middle;justify-content:center;align-items:center;font-size:10px;font-style:normal;display:inline-flex;position:relative}.info-tooltip:hover:after{content:attr(title);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-family:var(--font-body);letter-spacing:0;text-transform:none;color:var(--color-text-muted);white-space:normal;z-index:50;pointer-events:none;width:220px;font-size:11px;font-weight:400;line-height:1.5;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0003}.message{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-display);font-size:var(--text-sm);text-align:center;margin-bottom:var(--space-4)}.message--success{border-color:var(--color-success);color:var(--color-success)}.message--error{border-color:var(--color-error);color:var(--color-error)}.message--info{color:var(--color-text-muted)}.empty-state{text-align:center;padding:var(--space-16) var(--space-4);color:var(--color-text-dim)}.empty-state__icon{font-size:var(--text-3xl);margin-bottom:var(--space-4)}.empty-state__text{font-family:var(--font-display);font-size:var(--text-sm);letter-spacing:1px;text-transform:uppercase}@media (width<=640px){.header{gap:var(--space-2)}.header__nav{gap:var(--space-3);scrollbar-width:none;-ms-overflow-style:none;overflow-x:auto}.header__nav::-webkit-scrollbar{display:none}.header__dropdown{top:auto;right:var(--space-4);left:var(--space-4);min-width:unset;position:fixed}.match-card{align-items:flex-start;gap:var(--space-2);flex-direction:column}.match-log__row{gap:var(--space-2);grid-template-columns:1fr auto}.match-log__game{grid-column:1/-1}.ranking-table{font-size:var(--text-sm)}.ranking-table th:nth-child(n+4),.ranking-table td:nth-child(n+4){display:none}.profile-stats{grid-template-columns:repeat(2,1fr)}}.spinner{border:2px solid var(--color-border);border-top-color:var(--color-text);border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.loading{padding:var(--space-16);justify-content:center;align-items:center;gap:var(--space-3);font-family:var(--font-display);font-size:var(--text-xs);letter-spacing:2px;text-transform:uppercase;color:var(--color-text-dim);display:flex}.steps{gap:var(--space-2);margin-bottom:var(--space-8);display:flex}.step{background:var(--color-border);height:2px;transition:background var(--transition-base);border-radius:1px;flex:1}.step--active{background:var(--color-accent)}.step--complete{background:var(--color-text-muted)}.select-list{list-style:none}.select-list__item{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-2);cursor:pointer;transition:all var(--transition-fast);font-size:var(--text-sm);display:flex}.select-list__item:hover{border-color:var(--color-border-strong);background:var(--color-surface)}.select-list__item--selected{border-color:var(--color-accent);background:var(--color-surface)}.select-list__icon{font-size:var(--text-lg)}.select-list__name{flex:1}.select-list__meta{font-family:var(--font-display);color:var(--color-text-dim);letter-spacing:1px;text-transform:uppercase;font-size:10px}.notification-dot{background:var(--color-accent);border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite pulse;display:inline-block}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.page-enter{animation:fadeIn var(--transition-base)}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
