@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&display=swap";@font-face{font-family:HUN-din;src:url(/fonts/hun-din.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--bg-root: #050505;--bg-surface: #0a0a09;--bg-panel: #111110;--bg-elevated: #1a1918;--bg-hover: #242320;--bg-input: #0d0d0c;--gold-50: #f9f3e7;--gold-100: #f0e3c8;--gold-200: #e5cea0;--gold-300: #dab978;--gold-400: #CFB991;--gold-500: #C28E0E;--gold-600: #a87a0c;--gold-700: #8E6F3E;--gold-800: #6b530e;--gold-900: #473709;--accent: #CFB991;--accent-hover: #decca8;--accent-muted: #8E6F3E;--accent-bright: #DAAA00;--accent-dim: rgba(207, 185, 145, .1);--accent-glow: rgba(207, 185, 145, .15);--text-primary: #e4e0da;--text-secondary: #8a8580;--text-muted: #555960;--text-accent: var(--accent);--border: #1e1d1b;--border-accent: rgba(207, 185, 145, .2);--border-strong: #333230;--success: #22c55e;--success-dim: rgba(34, 197, 94, .15);--error: #ef4444;--error-dim: rgba(239, 68, 68, .15);--warning: #f59e0b;--info: #3b82f6;--difficulty-easy: #22c55e;--difficulty-medium: #f59e0b;--difficulty-hard: #ef4444;--verdict-pass: #22c55e;--verdict-wrong: #ef4444;--verdict-tle: #f59e0b;--verdict-mle: #f59e0b;--verdict-rte: #ef4444;--verdict-ce: #a855f7;--font-body: "HUN-din", -apple-system, BlinkMacSystemFont, sans-serif;--font-display: "HUN-din", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Consolas", monospace;--text-xs: .7rem;--text-sm: .8rem;--text-base: .9rem;--text-lg: 1.05rem;--text-xl: 1.25rem;--text-2xl: 1.6rem;--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;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--transition-fast: .12s ease;--transition-base: .2s ease;--transition-slow: .35s ease;--z-dropdown: 100;--z-modal: 200;--z-toast: 300}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;overflow:auto}body{font-family:var(--font-body);font-weight:400;font-size:var(--text-base);color:var(--text-primary);background:var(--bg-root);line-height:1.5;font-feature-settings:"zero" off;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::selection{background:#cfb9914d;color:var(--text-primary)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a{color:var(--accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-hover)}code,pre{font-family:var(--font-mono)}.gold-text{color:var(--accent)}.mono{font-family:var(--font-mono)}.text-muted{color:var(--text-secondary)}.text-center{text-align:center}.navbar{display:flex;align-items:center;justify-content:space-between;height:48px;padding:0 var(--space-6);background:var(--bg-surface);border-bottom:1px solid var(--accent-muted);position:relative;z-index:10}.navbar__logo{font-size:var(--text-lg);font-weight:900;color:var(--accent);text-decoration:none;letter-spacing:2px;transition:color var(--transition-fast)}.navbar__logo:hover{color:var(--accent-hover)}.navbar__right{display:flex;align-items:center;gap:var(--space-4)}.navbar__user{font-size:var(--text-sm);color:var(--text-secondary);font-weight:500;text-decoration:none;transition:color var(--transition-fast)}.navbar__user:hover{color:var(--accent)}.navbar__logout{padding:var(--space-1) var(--space-3);background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:var(--font-body);font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-base);text-transform:uppercase;letter-spacing:1px}.navbar__logout:hover{border-color:var(--text-secondary);color:var(--text-primary)}.navbar__login-link{font-size:var(--text-sm);color:var(--accent);text-decoration:none;font-weight:500;transition:color var(--transition-fast)}.navbar__login-link:hover{color:var(--accent-hover)}.navbar__admin-link{padding:var(--space-1) var(--space-3);background:var(--accent-dim);border:1px solid var(--border-accent);border-radius:var(--radius-sm);color:var(--accent-muted);font-size:var(--text-xs);font-weight:600;text-decoration:none;text-transform:uppercase;letter-spacing:1px;transition:all var(--transition-base)}.navbar__admin-link:hover{border-color:var(--accent);color:var(--accent)}.friends-panel-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:var(--z-modal);opacity:0;transition:opacity var(--transition-base);pointer-events:none}.friends-panel-backdrop--open{opacity:1;pointer-events:auto}.friends-panel{position:fixed;top:0;right:0;width:320px;height:100vh;background:var(--bg-surface);border-left:1px solid var(--border);z-index:calc(var(--z-modal) + 1);display:flex;flex-direction:column;transform:translate(100%);transition:transform var(--transition-slow)}.friends-panel--open{transform:translate(0)}.friends-panel__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border)}.friends-panel__title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:1px}.friends-panel__close{background:none;border:none;color:var(--text-muted);font-size:var(--text-xl);cursor:pointer;padding:var(--space-1);line-height:1;transition:color var(--transition-fast)}.friends-panel__close:hover{color:var(--text-primary)}.friends-panel__pending{padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border)}.friends-panel__pending-title{font-size:var(--text-xs);font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-2)}.friends-panel__pending-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) 0}.friends-panel__pending-name{font-size:var(--text-sm);color:var(--text-primary)}.friends-panel__pending-actions{display:flex;gap:var(--space-2)}.friends-panel__pending-btn{padding:2px var(--space-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:none;font-family:var(--font-body);font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-fast)}.friends-panel__pending-btn--accept{color:var(--success);border-color:var(--success)}.friends-panel__pending-btn--accept:hover{background:var(--success-dim)}.friends-panel__pending-btn--decline{color:var(--text-muted)}.friends-panel__pending-btn--decline:hover{color:var(--error);border-color:var(--error)}.friends-panel__list{flex:1;overflow-y:auto;padding:var(--space-3) 0}.friends-panel__section-label{font-size:var(--text-xs);font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;padding:var(--space-2) var(--space-5)}.friends-panel__item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-5);cursor:pointer;transition:background var(--transition-fast);position:relative}.friends-panel__item:hover{background:var(--bg-hover)}.friends-panel__item-avatar{width:32px;height:32px;border-radius:50%;background:var(--bg-elevated);border:1px solid var(--border-strong);display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:700;color:var(--accent-muted);flex-shrink:0}.friends-panel__item-info{flex:1;min-width:0}.friends-panel__item-name{font-size:var(--text-sm);font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.friends-panel__item-elo{font-size:var(--text-xs);color:var(--text-muted);font-family:var(--font-mono)}.friends-panel__item-actions{display:flex;gap:var(--space-1);opacity:0;transition:opacity var(--transition-fast);flex-shrink:0}.friends-panel__item:hover .friends-panel__item-actions{opacity:1}.friends-panel__action-btn{padding:2px var(--space-2);background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:var(--font-body);font-size:var(--text-xs);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast)}.friends-panel__action-btn:hover{color:var(--accent);border-color:var(--accent-muted)}.friends-panel__action-btn--more{padding:2px var(--space-1);font-weight:700;letter-spacing:1px}.friends-panel__empty{padding:var(--space-8) var(--space-5);text-align:center;color:var(--text-muted);font-size:var(--text-sm)}.friends-panel__context{position:fixed;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:var(--space-1) 0;min-width:160px;z-index:calc(var(--z-modal) + 2);box-shadow:0 8px 24px #00000080}.friends-panel__context-item{display:block;width:100%;padding:var(--space-2) var(--space-4);background:none;border:none;color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-sm);text-align:left;cursor:pointer;transition:background var(--transition-fast)}.friends-panel__context-item:hover{background:var(--bg-hover)}.friends-panel__context-item--danger{color:var(--error)}.friends-panel__context-item--danger:hover{background:var(--error-dim)}.friends-panel__add{padding:var(--space-4) var(--space-5);border-top:1px solid var(--border)}.friends-panel__add-form{display:flex;gap:var(--space-2)}.friends-panel__add-input{flex:1;background:var(--bg-input);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-sm);transition:border-color var(--transition-base)}.friends-panel__add-input:focus{border-color:var(--accent);outline:none}.friends-panel__add-btn{padding:var(--space-2) var(--space-3);background:var(--accent);color:var(--bg-root);border:none;border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);font-weight:700;cursor:pointer;transition:background var(--transition-base)}.friends-panel__add-btn:hover{background:var(--accent-hover)}.friends-panel__add-status{font-size:var(--text-xs);margin-top:var(--space-2)}.friends-panel__back{background:none;border:none;color:var(--text-secondary);font-size:var(--text-lg);cursor:pointer;padding:var(--space-1) var(--space-2);line-height:1;transition:color var(--transition-fast)}.friends-panel__back:hover{color:var(--accent)}.friends-panel__chat-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4)}.friends-panel__chat-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:var(--text-sm)}.friends-panel__chat-bubble{max-width:80%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);font-size:var(--text-sm);line-height:1.4;word-wrap:break-word}.friends-panel__chat-bubble--me{align-self:flex-end;background:var(--accent-dim);border:1px solid var(--border-accent)}.friends-panel__chat-bubble--them{align-self:flex-start;background:var(--bg-elevated);border:1px solid var(--border)}.friends-panel__chat-text{color:var(--text-primary)}.friends-panel__chat-time{font-size:10px;color:var(--text-muted);margin-top:2px}.friends-panel__chat-compose{display:flex;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border)}.friends-panel__chat-input{flex:1;background:var(--bg-input);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-sm);transition:border-color var(--transition-base)}.friends-panel__chat-input:focus{border-color:var(--accent);outline:none}.friends-panel__chat-send{padding:var(--space-2) var(--space-3);background:var(--accent);color:var(--bg-root);border:none;border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);font-weight:700;cursor:pointer;transition:background var(--transition-base)}.friends-panel__chat-send:hover{background:var(--accent-hover)}.friends-panel__chat-send:disabled{opacity:.4;cursor:not-allowed}.friends-panel__add-status--success{color:var(--success)}.friends-panel__add-status--error{color:var(--error)}.navbar__friends-btn{background:none;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);padding:var(--space-1) var(--space-3);font-family:var(--font-body);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:1px;cursor:pointer;transition:all var(--transition-base)}.navbar__friends-btn:hover{border-color:var(--accent-muted);color:var(--accent)}.friends-panel__toast{position:fixed;top:60px;right:var(--space-5);background:var(--bg-elevated);border:1px solid var(--border-accent);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-5);min-width:220px;max-width:320px;z-index:var(--z-toast);cursor:pointer;box-shadow:0 8px 24px #00000080;animation:toast-slide-in .3s ease,toast-fade-out .5s ease 3.5s forwards}.friends-panel__toast-from{font-size:var(--text-sm);font-weight:700;color:var(--accent);margin-bottom:2px}.friends-panel__toast-content{font-size:var(--text-sm);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-toast{position:fixed;top:60px;right:var(--space-5);display:flex;align-items:center;gap:var(--space-3);background:var(--bg-elevated);border:1px solid var(--border-accent);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-5);min-width:220px;max-width:340px;z-index:var(--z-toast);cursor:pointer;box-shadow:0 8px 24px #00000080;animation:toast-slide-in .3s ease,toast-fade-out .5s ease 3.5s forwards}.notification-toast__indicator{width:3px;align-self:stretch;border-radius:2px;background:var(--accent);flex-shrink:0}.notification-toast--chat-message .notification-toast__indicator{background:var(--accent)}.notification-toast--friend-online .notification-toast__indicator{background:var(--success)}.notification-toast--friend-offline .notification-toast__indicator{background:var(--text-muted)}.notification-toast--challenge-received .notification-toast__indicator{background:var(--warning)}.notification-toast--achievement-unlocked .notification-toast__indicator{background:var(--accent-bright)}.notification-toast--achievement-unlocked .notification-toast__title{color:var(--accent-bright)}.notification-toast__content{min-width:0}.notification-toast__title{font-size:var(--text-sm);font-weight:700;color:var(--accent);margin-bottom:2px}.notification-toast--friend-online .notification-toast__title{color:var(--success)}.notification-toast--challenge-received .notification-toast__title{color:var(--warning)}.notification-toast__body{font-size:var(--text-sm);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-toast--interactive{animation:toast-slide-in .3s ease;cursor:default}.notification-toast__actions{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.notification-toast__btn{padding:4px 14px;border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:opacity .15s}.notification-toast__btn:hover{opacity:.85}.notification-toast__btn--accept{background:var(--success);color:var(--bg-base)}.notification-toast__btn--decline{background:var(--danger, #e53e3e);color:#fff}@keyframes toast-slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes toast-fade-out{0%{opacity:1}to{opacity:0}}.login-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 48px);padding:var(--space-6)}.login-page__brand{font-size:3rem;font-weight:900;color:var(--accent);letter-spacing:4px;margin-bottom:var(--space-1)}.login-page__tagline{font-size:var(--text-sm);color:var(--text-muted);letter-spacing:3px;text-transform:uppercase;margin-bottom:var(--space-10)}.login-form{width:100%;max-width:360px;display:flex;flex-direction:column;gap:var(--space-4)}.login-form__field{display:flex;flex-direction:column;gap:var(--space-1)}.login-form__label{font-size:var(--text-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px}.login-form__input{width:100%;padding:var(--space-3) var(--space-4);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-base);transition:border-color var(--transition-base);outline:none}.login-form__input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim)}.login-form__submit{margin-top:var(--space-2);padding:var(--space-3) var(--space-6);background:var(--accent);border:none;border-radius:var(--radius-md);color:var(--bg-root);font-family:var(--font-body);font-size:var(--text-base);font-weight:700;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:all var(--transition-base)}.login-form__submit:hover{background:var(--accent-hover)}.login-form__submit:active{transform:scale(.98)}.login-page__link{margin-top:var(--space-6);font-size:var(--text-sm);color:var(--text-secondary)}.login-page__link a{color:var(--accent);font-weight:500}.login-page__error{margin-top:var(--space-4);padding:var(--space-2) var(--space-4);background:var(--error-dim);border-radius:var(--radius-sm);color:var(--error);font-size:var(--text-sm);text-align:center;max-width:360px;width:100%}.register-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 48px);padding:var(--space-6)}.register-page__brand{font-size:3rem;font-weight:900;color:var(--accent);letter-spacing:4px;margin-bottom:var(--space-1)}.register-page__tagline{font-size:var(--text-sm);color:var(--text-muted);letter-spacing:3px;text-transform:uppercase;margin-bottom:var(--space-10)}.register-form{width:100%;max-width:360px;display:flex;flex-direction:column;gap:var(--space-4)}.register-form__field{display:flex;flex-direction:column;gap:var(--space-1)}.register-form__label{font-size:var(--text-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px}.register-form__input{width:100%;padding:var(--space-3) var(--space-4);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-base);transition:border-color var(--transition-base);outline:none}.register-form__input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-dim)}.register-form__hint{font-size:var(--text-xs);color:var(--text-muted);margin-top:2px}.register-form__submit{margin-top:var(--space-2);padding:var(--space-3) var(--space-6);background:var(--accent);border:none;border-radius:var(--radius-md);color:var(--bg-root);font-family:var(--font-body);font-size:var(--text-base);font-weight:700;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:all var(--transition-base)}.register-form__submit:hover{background:var(--accent-hover)}.register-form__submit:active{transform:scale(.98)}.register-page__link{margin-top:var(--space-6);font-size:var(--text-sm);color:var(--text-secondary)}.register-page__link a{color:var(--accent);font-weight:500}.register-page__success{margin-top:var(--space-4);padding:var(--space-2) var(--space-4);background:var(--success-dim);border-radius:var(--radius-sm);color:var(--success);font-size:var(--text-sm);text-align:center;max-width:360px;width:100%}.register-page__error{margin-top:var(--space-4);padding:var(--space-2) var(--space-4);background:var(--error-dim);border-radius:var(--radius-sm);color:var(--error);font-size:var(--text-sm);text-align:center;max-width:360px;width:100%}.dashboard-page{display:flex;flex-direction:column;align-items:center;min-height:calc(100vh - 48px);padding:var(--space-10) var(--space-6)}.dashboard__welcome{font-size:var(--text-lg);color:var(--text-secondary);margin-bottom:var(--space-1);text-transform:uppercase;letter-spacing:2px}.dashboard__username{font-size:var(--text-3xl);font-weight:900;color:var(--accent);letter-spacing:2px;margin-bottom:var(--space-8)}.dashboard__elo-block{display:flex;flex-direction:column;align-items:center;margin-bottom:var(--space-10)}.dashboard__elo-label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:3px;margin-bottom:var(--space-1)}.dashboard__elo-value{font-size:4rem;font-weight:900;font-family:var(--font-mono);color:var(--accent);line-height:1;margin-bottom:var(--space-2)}.dashboard__elo-badge{padding:var(--space-1) var(--space-4);background:var(--accent-dim);border:1px solid var(--border-accent);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600;color:var(--accent-muted);text-transform:uppercase;letter-spacing:2px}.dashboard__active-match{display:flex;align-items:center;gap:var(--space-4);width:100%;max-width:520px;padding:var(--space-4) var(--space-6);margin-bottom:var(--space-6);background:linear-gradient(135deg,#c28e0e1f,#dab97814);border:2px solid var(--gold-500);border-radius:var(--radius-lg);text-decoration:none;cursor:pointer;transition:all var(--transition-base);animation:active-match-glow 2s ease-in-out infinite alternate}.dashboard__active-match:hover{transform:translateY(-2px);border-color:var(--gold-400);box-shadow:0 0 32px #c28e0e40}@keyframes active-match-glow{0%{box-shadow:0 0 8px #c28e0e26}to{box-shadow:0 0 20px #c28e0e4d}}.dashboard__active-match-pulse{width:12px;height:12px;border-radius:50%;background:var(--gold-500);flex-shrink:0;animation:pulse-dot 1.5s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.dashboard__active-match-content{display:flex;flex-direction:column;flex:1;min-width:0}.dashboard__active-match-label{font-size:var(--text-xs);font-weight:700;color:var(--gold-400);text-transform:uppercase;letter-spacing:2px}.dashboard__active-match-detail{font-size:var(--text-sm);color:var(--text-secondary);margin-top:2px}.dashboard__active-match-action{font-size:var(--text-sm);font-weight:700;color:var(--gold-500);text-transform:uppercase;letter-spacing:1px;white-space:nowrap}.dashboard__actions{display:flex;gap:var(--space-4);margin-bottom:var(--space-10);flex-wrap:wrap;justify-content:center}.dashboard__action-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-6) var(--space-8);background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);text-decoration:none;min-width:140px}.dashboard__action-card:hover{background:var(--bg-elevated);transform:translateY(-2px);border-color:var(--border-strong)}.dashboard__action-card--play{padding:var(--space-8) var(--space-12);border-color:var(--gold-700)}.dashboard__action-card--play:hover{border-color:var(--accent);box-shadow:0 0 24px var(--accent-dim)}.dashboard__action-label{font-size:var(--text-lg);font-weight:700;color:var(--text-primary);letter-spacing:2px;text-transform:uppercase}.dashboard__action-card--play .dashboard__action-label{font-size:var(--text-2xl);color:var(--accent)}.dashboard__action-sub{font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--space-1)}.dashboard__admin-section{display:flex;flex-direction:column;align-items:center;width:100%;margin-bottom:var(--space-10)}.dashboard__admin-heading{font-size:var(--text-xs);font-weight:700;color:var(--accent-muted);text-transform:uppercase;letter-spacing:3px;margin-bottom:var(--space-4)}.dashboard__action-card--admin{border-color:var(--border-accent)}.dashboard__action-card--admin:hover{border-color:var(--accent);box-shadow:0 0 16px var(--accent-dim)}.dashboard__stats{display:flex;gap:var(--space-8);margin-bottom:var(--space-8)}.dashboard__stat{display:flex;flex-direction:column;align-items:center}.dashboard__stat-value{font-size:var(--text-xl);font-weight:700;font-family:var(--font-mono);color:var(--text-primary)}.dashboard__stat-label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-top:2px}.dashboard__ws-indicator{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--text-muted);margin-top:auto;padding-top:var(--space-8)}.dashboard__ws-dot{width:8px;height:8px;border-radius:50%;background:var(--error);transition:background var(--transition-base)}.dashboard__ws-dot--connected{background:var(--success)}@media(max-width:500px){.dashboard__actions{flex-direction:column;align-items:center}.dashboard__elo-value{font-size:3rem}}.queue-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 48px);padding:var(--space-6)}.queue-page__title{font-size:var(--text-3xl);font-weight:800;color:var(--accent);letter-spacing:2px;text-transform:uppercase;margin-bottom:var(--space-2)}.queue-page__elo{font-size:var(--text-lg);color:var(--text-secondary);margin-bottom:var(--space-10);font-family:var(--font-mono)}.queue-page__elo-value{color:var(--accent);font-weight:700;font-size:var(--text-xl)}.queue-lang-select{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-6)}.queue-lang-label{font-size:var(--text-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.queue-lang-dropdown{background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);font-family:var(--font-body);font-size:var(--text-base);cursor:pointer;transition:border-color var(--transition-base)}.queue-lang-dropdown:hover{border-color:var(--accent-muted)}.queue-lang-dropdown:focus{border-color:var(--accent);outline:none}.queue-modes{display:flex;gap:var(--space-6);margin-bottom:var(--space-8)}.queue-mode-card{display:flex;flex-direction:column;align-items:center;justify-content:center;width:220px;height:180px;background:var(--bg-panel);border:2px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);position:relative;overflow:hidden}.queue-mode-card:hover{background:var(--bg-elevated);transform:translateY(-2px)}.queue-mode-card--ranked{border-color:var(--gold-700)}.queue-mode-card--ranked:hover{border-color:var(--accent);box-shadow:0 0 24px var(--accent-dim)}.queue-mode-card--ffa{border-color:var(--border-strong)}.queue-mode-card--ffa:hover{border-color:var(--text-secondary)}.queue-mode-card__label{font-size:var(--text-xl);font-weight:800;letter-spacing:3px;color:var(--text-primary);text-transform:uppercase}.queue-mode-card--ranked .queue-mode-card__label{color:var(--accent)}.queue-mode-card__sub{font-size:var(--text-sm);color:var(--text-secondary);margin-top:var(--space-2)}.queue-mode-card__elo-badge{margin-top:var(--space-3);padding:var(--space-1) var(--space-3);background:var(--accent-dim);border:1px solid var(--border-accent);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--accent);font-weight:600}.queue-searching{display:flex;flex-direction:column;align-items:center;gap:var(--space-6)}.queue-searching__text{font-size:var(--text-2xl);font-weight:700;color:var(--accent);letter-spacing:6px;text-transform:uppercase;animation:pulse-text 2s ease-in-out infinite}@keyframes pulse-text{0%,to{opacity:1}50%{opacity:.5}}.queue-searching__line{width:300px;height:2px;background:var(--bg-elevated);position:relative;overflow:hidden;border-radius:1px}.queue-searching__line:after{content:"";position:absolute;top:0;left:-40%;width:40%;height:100%;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:scan-line 1.5s ease-in-out infinite}@keyframes scan-line{0%{left:-40%}to{left:100%}}.queue-searching__timer{font-family:var(--font-mono);font-size:var(--text-lg);color:var(--text-secondary)}.queue-searching__cancel{padding:var(--space-2) var(--space-6);background:transparent;border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--text-secondary);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-base);letter-spacing:1px;text-transform:uppercase}.queue-searching__cancel:hover{border-color:var(--error);color:var(--error)}.queue-match-found{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);animation:match-found-in .3s ease-out}@keyframes match-found-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.queue-match-found__title{font-size:var(--text-3xl);font-weight:900;color:var(--accent);letter-spacing:4px;text-transform:uppercase}.queue-match-found__opponent{font-size:var(--text-lg);color:var(--text-secondary)}.queue-match-found__opponent-name{color:var(--text-primary);font-weight:600}.queue-match-found__opponent-elo{font-family:var(--font-mono);color:var(--accent-muted);margin-left:var(--space-2)}.queue-page__error{color:var(--error);font-size:var(--text-sm);margin-top:var(--space-4);padding:var(--space-2) var(--space-4);background:var(--error-dim);border-radius:var(--radius-sm)}@media(max-width:500px){.queue-modes{flex-direction:column}.queue-mode-card{width:100%;max-width:280px;height:140px}}.match-page{display:grid;grid-template-rows:auto 1fr;height:100vh;background:var(--bg-root);overflow:auto}.match-body{display:grid;grid-template-columns:40% 60%;min-height:0;overflow:auto}.match-left{min-height:0;overflow:auto}.match-right{display:flex;flex-direction:column;min-height:0;overflow:hidden}.match-editor-area{flex:7;display:flex;flex-direction:column;min-height:0;overflow:hidden}.match-editor-toolbar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);background:var(--bg-panel);border-bottom:1px solid var(--border);gap:var(--space-3)}.match-editor-container{flex:1;min-height:0}.match-submit-btn{background:var(--accent);color:var(--bg-root);border:none;border-radius:var(--radius-md);padding:var(--space-2) var(--space-5);font-family:var(--font-body);font-size:var(--text-sm);font-weight:700;cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast);text-transform:uppercase;letter-spacing:.05em}.match-submit-btn:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.match-submit-btn:active:not(:disabled){transform:translateY(0)}.match-submit-btn:disabled{opacity:.5;cursor:not-allowed}.match-results-area{flex:3;min-height:0;overflow:hidden}.match-ended-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#050505d9;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);animation:overlay-fade-in .3s ease}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}.match-ended-card{background:var(--bg-panel);border:1px solid var(--border-accent);border-radius:var(--radius-xl);padding:var(--space-10) var(--space-12);text-align:center;min-width:320px;max-width:600px;width:90%;animation:card-scale-in .3s ease}@keyframes card-scale-in{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.match-ended-title{font-size:var(--text-3xl);font-weight:900;margin-bottom:var(--space-3);text-transform:uppercase;letter-spacing:.1em}.match-ended-title--win{color:var(--accent)}.match-ended-title--lose{color:var(--error)}.match-ended-title--draw{color:var(--text-secondary)}.match-ended-elo{font-family:var(--font-mono);font-size:var(--text-xl);font-weight:600;margin-bottom:var(--space-6)}.match-ended-elo--positive{color:var(--success)}.match-ended-elo--negative{color:var(--error)}.match-ended-elo--zero{color:var(--text-secondary)}.match-ended-actions{display:flex;gap:var(--space-3);justify-content:center;flex-wrap:wrap}.match-ended-btn{background:var(--accent);color:var(--bg-root);border:none;border-radius:var(--radius-md);padding:var(--space-3) var(--space-8);font-family:var(--font-body);font-size:var(--text-base);font-weight:700;cursor:pointer;transition:background var(--transition-fast);text-transform:uppercase;letter-spacing:.05em}.match-ended-btn:hover{background:var(--accent-hover)}.match-ended-solution-btn{background:transparent;color:var(--accent);border:1px solid var(--border-accent);border-radius:var(--radius-md);padding:var(--space-3) var(--space-8);font-family:var(--font-body);font-size:var(--text-base);font-weight:700;cursor:pointer;transition:all var(--transition-fast);text-transform:uppercase;letter-spacing:.05em}.match-ended-solution-btn:hover:not(:disabled){background:var(--accent-dim);border-color:var(--accent)}.match-ended-solution-btn:disabled{opacity:.5;cursor:not-allowed}.match-solution-container{margin-top:var(--space-5);max-height:300px;overflow:auto;border-radius:var(--radius-md);background:var(--bg-panel);border:1px solid var(--border);text-align:left}.match-solution-code{padding:var(--space-4);margin:0;font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-primary);white-space:pre;overflow-x:auto;line-height:1.6}.match-cancel-btn{background:transparent;color:var(--text-secondary);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-base);margin-left:auto}.match-cancel-btn:hover:not(:disabled){color:var(--error);border-color:var(--error)}.match-cancel-btn:disabled{opacity:.4;cursor:not-allowed}.match-cancel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#050505cc;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.match-cancel-card{background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-xl);padding:var(--space-8);text-align:center;max-width:380px}.match-cancel-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;color:var(--text-primary);margin-bottom:var(--space-3)}.match-cancel-text{color:var(--text-secondary);font-size:var(--text-sm);margin-bottom:var(--space-6);line-height:1.6}.match-cancel-actions{display:flex;gap:var(--space-3);justify-content:center}.match-cancel-accept,.match-cancel-decline{padding:var(--space-2) var(--space-6);border:none;border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;cursor:pointer;transition:all var(--transition-base)}.match-cancel-accept{background:var(--error);color:#fff}.match-cancel-accept:hover{background:#dc2626}.match-cancel-decline{background:var(--bg-panel);color:var(--text-primary);border:1px solid var(--border-strong)}.match-cancel-decline:hover{border-color:var(--accent)}.match-draft-status{font-size:var(--text-xs);font-family:var(--font-mono);letter-spacing:.05em;transition:opacity var(--transition-base)}.match-draft-status--saving{color:var(--text-muted)}.match-draft-status--saved{color:var(--success);animation:draft-saved-fade 2s ease forwards}@keyframes draft-saved-fade{0%{opacity:1}70%{opacity:1}to{opacity:0}}.match-loading{display:flex;align-items:center;justify-content:center;height:100vh;background:var(--bg-root);color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-base)}.match-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background:var(--bg-root);gap:var(--space-4)}.match-error-message{color:var(--error);font-family:var(--font-mono);font-size:var(--text-base)}.match-error-back{color:var(--accent);font-size:var(--text-sm);cursor:pointer;background:none;border:1px solid var(--border-accent);border-radius:var(--radius-md);padding:var(--space-2) var(--space-5);font-family:var(--font-body);transition:background var(--transition-fast)}.match-error-back:hover{background:var(--accent-dim)}.match-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-5);background:var(--bg-panel);border-bottom:1px solid var(--border);gap:var(--space-5);min-height:56px}.match-timer{font-family:var(--font-mono);font-size:var(--text-2xl);font-weight:700;color:var(--accent);min-width:100px;text-align:center;letter-spacing:.05em}.match-timer--ended{font-size:var(--text-lg);color:var(--error);animation:match-over-pulse 1.5s ease-in-out infinite}@keyframes match-over-pulse{0%,to{opacity:.7}50%{opacity:1}}.match-player{display:flex;align-items:center;gap:var(--space-3);flex:1}.match-player--me{justify-content:flex-end}.match-player--opponent{justify-content:flex-start}.match-player-info{display:flex;flex-direction:column;gap:2px}.match-player--me .match-player-info{align-items:flex-end}.match-player--opponent .match-player-info{align-items:flex-start}.match-player-name{font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.match-player--me .match-player-name{color:var(--accent)}.match-player-passed{font-size:var(--text-xs);font-family:var(--font-mono);color:var(--text-secondary)}.match-progress-bar{width:120px;height:6px;background:var(--bg-elevated);border-radius:3px;overflow:hidden;flex-shrink:0}.match-progress-fill{height:100%;border-radius:3px;transition:width var(--transition-base)}.match-progress-fill--me{background:var(--accent)}.match-progress-fill--opponent{background:var(--text-muted)}.problem-panel{height:100%;overflow-y:auto;padding:var(--space-5);background:var(--bg-panel);border-right:1px solid var(--border)}.problem-panel-loading{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--text-sm)}.problem-panel-loading:after{content:"";display:inline-block;width:6px;height:6px;margin-left:var(--space-2);background:var(--accent);border-radius:50%;animation:problem-loading-pulse 1s ease-in-out infinite}@keyframes problem-loading-pulse{0%,to{opacity:.3}50%{opacity:1}}.problem-header{margin-bottom:var(--space-5)}.problem-title{font-size:var(--text-xl);font-weight:700;color:var(--text-primary);margin-bottom:var(--space-3)}.problem-tags{display:flex;gap:var(--space-2);flex-wrap:wrap}.problem-badge{display:inline-block;padding:2px var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.problem-badge--easy{background:#22c55e26;color:var(--difficulty-easy)}.problem-badge--medium{background:#f59e0b26;color:var(--difficulty-medium)}.problem-badge--hard{background:#ef444426;color:var(--difficulty-hard)}.problem-badge--category{background:var(--accent-dim);color:var(--accent-muted)}.problem-statement{font-family:var(--font-body);font-size:var(--text-base);line-height:1.7;color:var(--text-primary)}.problem-haiku{font-style:italic;color:var(--difficulty-medium, #f59e0b);margin-bottom:var(--space-5);line-height:1.8;font-size:var(--text-base)}.problem-description{margin-bottom:var(--space-4);line-height:1.7}.problem-example{margin-bottom:var(--space-4)}.problem-section-title{font-weight:700;font-size:var(--text-base);color:var(--text-primary);margin-bottom:var(--space-2)}.problem-example-body{background:var(--bg-surface, rgba(255, 255, 255, .03));border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.8}.problem-io-line{margin-bottom:var(--space-1, 4px)}.problem-io-label{font-weight:700;color:var(--accent-muted, var(--accent))}.problem-explanation{margin-top:var(--space-2);color:var(--text-secondary)}.problem-constraints{margin-bottom:var(--space-4)}.problem-constraints-list{list-style:none;padding:0;margin:0}.problem-constraints-list li{position:relative;padding-left:var(--space-4);margin-bottom:var(--space-1, 4px);font-size:var(--text-sm);color:var(--text-secondary);font-family:var(--font-mono)}.problem-constraints-list li:before{content:"•";position:absolute;left:var(--space-1, 4px);color:var(--accent-muted, var(--accent))}.problem-inline-code{background:var(--accent-dim, rgba(255, 255, 255, .06));padding:1px var(--space-1, 4px);border-radius:var(--radius-sm, 3px);font-family:var(--font-mono);font-size:.9em;color:var(--accent-muted, var(--accent))}.problem-limits{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border);display:flex;gap:var(--space-5);color:var(--text-secondary);font-size:var(--text-xs);font-family:var(--font-mono)}.code-editor-wrapper{display:flex;flex-direction:column;height:100%;background:var(--bg-surface);border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border)}.code-editor-container{flex:1;min-height:0}.code-editor-disabled-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#05050580;z-index:10;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:var(--text-lg);font-family:var(--font-mono)}.language-select-wrapper{position:relative;display:inline-block}.language-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-8) var(--space-2) var(--space-3);font-family:var(--font-mono);font-size:var(--text-sm);cursor:pointer;transition:border-color var(--transition-fast);min-width:120px}.language-select:hover{border-color:var(--border-strong)}.language-select:focus{border-color:var(--accent);outline:none}.language-select:disabled{opacity:.5;cursor:not-allowed}.language-select-wrapper:after{content:"";position:absolute;right:12px;top:50%;transform:translateY(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--text-secondary);pointer-events:none}.test-results{height:100%;overflow-y:auto;padding:var(--space-3);background:var(--bg-panel);border-top:1px solid var(--border)}.test-results-placeholder{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:var(--text-sm);font-family:var(--font-mono)}.test-results-status{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);font-size:var(--text-sm);font-family:var(--font-mono);gap:var(--space-2)}.test-results-status-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);animation:test-status-pulse 1.2s ease-in-out infinite}@keyframes test-status-pulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.test-results-error{padding:var(--space-3);background:var(--error-dim);border:1px solid var(--error);border-radius:var(--radius-md);color:var(--error);font-family:var(--font-mono);font-size:var(--text-sm);white-space:pre-wrap}.test-results-header{font-size:var(--text-sm);font-weight:600;color:var(--text-secondary);margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.05em}.test-results-grid{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.test-badge{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:600;cursor:pointer;border:1px solid transparent;transition:border-color var(--transition-fast),transform var(--transition-fast)}.test-badge:hover{transform:scale(1.1)}.test-badge--active{border-color:var(--text-primary)}.test-badge--PASS{background:#22c55e33;color:var(--verdict-pass)}.test-badge--WRONG_ANSWER{background:#ef444433;color:var(--verdict-wrong)}.test-badge--RUNTIME_ERROR{background:#ef444433;color:var(--verdict-rte)}.test-badge--TIME_LIMIT_EXCEEDED{background:#f59e0b33;color:var(--verdict-tle)}.test-badge--MEMORY_LIMIT_EXCEEDED{background:#f59e0b33;color:var(--verdict-mle)}.test-badge--COMPILATION_ERROR{background:#a855f733;color:var(--verdict-ce)}.test-detail{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3);font-family:var(--font-mono);font-size:var(--text-xs)}.test-detail-label{color:var(--text-secondary);font-size:var(--text-xs);margin-bottom:2px;text-transform:uppercase;letter-spacing:.05em}.test-detail-content{white-space:pre-wrap;color:var(--text-primary);max-height:80px;overflow-y:auto;margin-bottom:var(--space-2)}.test-detail-content:last-child{margin-bottom:0}.profile-page{max-width:600px;margin:0 auto;padding:var(--space-8) var(--space-6)}.profile-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-xl);padding:var(--space-8);display:flex;flex-direction:column;align-items:center;gap:var(--space-5)}.profile-avatar{width:96px;height:96px;border-radius:50%;object-fit:cover;border:2px solid var(--accent-muted);background:var(--bg-elevated)}.profile-username{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:800;color:var(--accent);letter-spacing:1px}.profile-elo-block{display:flex;align-items:center;gap:var(--space-3)}.profile-elo-value{font-family:var(--font-mono);font-size:var(--text-xl);font-weight:700;color:var(--text-primary)}.profile-elo-badge{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);background:var(--accent-dim);color:var(--accent);border:1px solid var(--border-accent)}.profile-bio{color:var(--text-secondary);font-size:var(--text-base);text-align:center;line-height:1.6;max-width:400px}.profile-bio--empty{font-style:italic;color:var(--text-muted)}.profile-divider{width:100%;height:1px;background:var(--border);margin:var(--space-2) 0}.profile-actions{display:flex;gap:var(--space-3)}.profile-action-link{padding:var(--space-2) var(--space-5);border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--text-secondary);font-family:var(--font-body);font-size:var(--text-sm);text-decoration:none;text-transform:uppercase;letter-spacing:.05em;transition:all var(--transition-base)}.profile-action-link:hover{border-color:var(--accent);color:var(--accent)}.profile-top-language{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-3) var(--space-5);background:var(--bg-elevated);border:1px solid var(--border-accent);border-radius:var(--radius-md);text-decoration:none;transition:border-color var(--transition-base),transform var(--transition-base)}.profile-top-language:hover{border-color:var(--accent);transform:translateY(-2px)}.profile-top-language__label{font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.profile-top-language__name{font-family:var(--font-display);font-size:var(--text-xl);font-weight:800;color:var(--accent);letter-spacing:.5px}.profile-top-language__stats{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-secondary)}.profile-top-language__record{color:var(--text-muted);font-size:var(--text-xs)}.profile-achievements{width:100%;display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.profile-achievements-title{font-size:var(--text-sm);font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.profile-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3)}.profile-badge{position:relative;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border:1px solid var(--border-accent);border-radius:var(--radius-md);cursor:default;transition:border-color var(--transition-base),transform var(--transition-base)}.profile-badge:hover{border-color:var(--accent);transform:translateY(-2px)}.profile-badge__icon{font-size:22px;line-height:1}.profile-badge__tooltip{display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--bg-elevated);border:1px solid var(--border-accent);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);min-width:180px;max-width:240px;z-index:10;box-shadow:0 4px 16px #00000080;flex-direction:column;gap:2px;text-align:center}.profile-badge:hover .profile-badge__tooltip{display:flex}.profile-badge__tooltip-name{font-size:var(--text-sm);font-weight:700;color:var(--accent)}.profile-badge__tooltip-desc{font-size:var(--text-xs);color:var(--text-secondary);line-height:1.4}.profile-badge__tooltip-date{font-size:var(--text-xs);color:var(--text-muted);margin-top:2px}.profile-loading,.profile-error{display:flex;align-items:center;justify-content:center;min-height:300px;color:var(--text-secondary)}.profile-error{color:var(--error)}.edit-profile-page{max-width:480px;margin:0 auto;padding:var(--space-8) var(--space-6)}.edit-profile-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:800;color:var(--accent);text-transform:uppercase;letter-spacing:1px;margin-bottom:var(--space-6);text-align:center}.edit-profile-form{display:flex;flex-direction:column;gap:var(--space-5)}.edit-profile-field{display:flex;flex-direction:column;gap:var(--space-2)}.edit-profile-label{font-size:var(--text-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.edit-profile-input,.edit-profile-textarea{background:var(--bg-input);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-base);transition:border-color var(--transition-base)}.edit-profile-input:focus,.edit-profile-textarea:focus{border-color:var(--accent);outline:none}.edit-profile-textarea{min-height:100px;resize:vertical}.edit-profile-submit{padding:var(--space-3) var(--space-6);background:var(--accent);color:var(--bg-root);border:none;border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-base);font-weight:700;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;transition:background var(--transition-base)}.edit-profile-submit:hover{background:var(--accent-hover)}.edit-profile-message{text-align:center;font-size:var(--text-sm);color:var(--success)}.edit-profile-error{text-align:center;font-size:var(--text-sm);color:var(--error)}.edit-profile-back{display:block;text-align:center;margin-top:var(--space-4);font-size:var(--text-sm);color:var(--text-secondary);text-decoration:none;transition:color var(--transition-fast)}.edit-profile-back:hover{color:var(--accent)}.change-pw-page{max-width:480px;margin:0 auto;padding:var(--space-8) var(--space-6)}.change-pw-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:800;color:var(--accent);text-transform:uppercase;letter-spacing:1px;margin-bottom:var(--space-6);text-align:center}.change-pw-form{display:flex;flex-direction:column;gap:var(--space-5)}.change-pw-field{display:flex;flex-direction:column;gap:var(--space-2)}.change-pw-label{font-size:var(--text-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.change-pw-input{background:var(--bg-input);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-base);transition:border-color var(--transition-base)}.change-pw-input:focus{border-color:var(--accent);outline:none}.change-pw-submit{padding:var(--space-3) var(--space-6);background:var(--accent);color:var(--bg-root);border:none;border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-base);font-weight:700;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;transition:background var(--transition-base)}.change-pw-submit:hover{background:var(--accent-hover)}.change-pw-message{text-align:center;font-size:var(--text-sm);color:var(--success)}.change-pw-error{text-align:center;font-size:var(--text-sm);color:var(--error)}.change-pw-back{display:block;text-align:center;margin-top:var(--space-4);font-size:var(--text-sm);color:var(--text-secondary);text-decoration:none;transition:color var(--transition-fast)}.change-pw-back:hover{color:var(--accent)}.messages-page{display:flex;flex-direction:column;height:calc(100vh - 48px);max-width:700px;margin:0 auto;padding:var(--space-4) var(--space-6)}.messages-target{display:flex;gap:var(--space-2);margin-bottom:var(--space-4)}.messages-target__input{flex:1;background:var(--bg-input);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-sm);transition:border-color var(--transition-base)}.messages-target__input:focus{border-color:var(--accent);outline:none}.messages-target__btn{padding:var(--space-2) var(--space-4);background:var(--accent);color:var(--bg-root);border:none;border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);font-weight:700;cursor:pointer;transition:background var(--transition-base)}.messages-target__btn:hover{background:var(--accent-hover)}.messages-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--space-3);border-bottom:1px solid var(--border);margin-bottom:var(--space-3)}.messages-header__name{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;color:var(--accent)}.messages-header__status{font-size:var(--text-xs);color:var(--text-muted)}.messages-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) 0}.messages-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:var(--text-sm)}.messages-bubble{max-width:75%;padding:var(--space-2) var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-sm);line-height:1.5;word-wrap:break-word}.messages-bubble--me{align-self:flex-end;background:var(--accent-dim);color:var(--text-primary);border:1px solid var(--border-accent)}.messages-bubble--them{align-self:flex-start;background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border)}.messages-bubble__time{font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--space-1)}.messages-compose{display:flex;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--border)}.messages-compose__input{flex:1;background:var(--bg-input);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-sm);transition:border-color var(--transition-base)}.messages-compose__input:focus{border-color:var(--accent);outline:none}.messages-compose__send{padding:var(--space-3) var(--space-5);background:var(--accent);color:var(--bg-root);border:none;border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);font-weight:700;cursor:pointer;transition:background var(--transition-base)}.messages-compose__send:hover{background:var(--accent-hover)}.messages-compose__send:disabled{opacity:.4;cursor:not-allowed}.messages-error{color:var(--error);font-size:var(--text-xs);text-align:center;padding:var(--space-2)}.history-page{display:flex;flex-direction:column;align-items:center;min-height:calc(100vh - 48px);padding:var(--space-10) var(--space-6)}.history__title{font-size:var(--text-2xl);font-weight:900;color:var(--accent);letter-spacing:2px;text-transform:uppercase;margin-bottom:var(--space-8)}.history__filters{display:flex;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap;justify-content:center}.history__filter-select{padding:var(--space-2) var(--space-4);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;transition:border-color var(--transition-fast)}.history__filter-select:hover,.history__filter-select:focus{border-color:var(--border-accent);outline:none}.history__container{width:100%;max-width:800px}.history__table{width:100%;border-collapse:collapse}.history__table th{padding:var(--space-3) var(--space-4);font-size:var(--text-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;text-align:left;border-bottom:1px solid var(--border)}.history__table td{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--text-primary);border-bottom:1px solid var(--border);vertical-align:middle}.history__table tr:hover td{background:var(--bg-hover)}.history__badge{display:inline-block;padding:1px var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.history__badge--easy{color:var(--difficulty-easy);background:#22c55e1f}.history__badge--medium{color:var(--difficulty-medium);background:#f59e0b1f}.history__badge--hard{color:var(--difficulty-hard);background:#ef44441f}.history__result{font-weight:700;text-transform:uppercase;font-size:var(--text-xs);letter-spacing:1px}.history__result--win{color:var(--success)}.history__result--loss{color:var(--error)}.history__result--draw{color:var(--text-muted)}.history__elo-change{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600}.history__elo-change--positive{color:var(--success)}.history__elo-change--negative{color:var(--error)}.history__elo-change--neutral{color:var(--text-muted)}.history__score{font-family:var(--font-mono);font-size:var(--text-sm)}.history__loading,.history__empty,.history__error{text-align:center;padding:var(--space-10);color:var(--text-secondary);font-size:var(--text-sm)}.history__error{color:var(--error)}.history__load-more{display:block;margin:var(--space-6) auto 0;padding:var(--space-2) var(--space-8);background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast)}.history__load-more:hover{background:var(--bg-elevated);border-color:var(--border-accent)}.history__load-more:disabled{opacity:.5;cursor:not-allowed}.history__date{font-size:var(--text-xs);color:var(--text-secondary);white-space:nowrap}.history__view-solution{padding:2px var(--space-2);background:none;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:var(--font-body);font-size:var(--text-xs);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast)}.history__view-solution:hover,.history__view-solution--active{border-color:var(--accent-muted);color:var(--accent)}.history__solution-row td{padding:0!important;border-bottom:1px solid var(--border)}.history__solution-panel{background:var(--bg-root);border:1px solid var(--border);border-radius:var(--radius-md);margin:var(--space-2) var(--space-4) var(--space-4);overflow:hidden}.history__solution-loading,.history__solution-error{padding:var(--space-6);text-align:center;font-size:var(--text-sm);color:var(--text-muted)}.history__solution-error{color:var(--error)}.history__solution-tabs{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);background:var(--bg-panel)}.history__solution-tab{padding:var(--space-1) var(--space-3);background:none;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-muted);font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:all var(--transition-fast)}.history__solution-tab:hover{color:var(--text-primary)}.history__solution-tab--active{color:var(--accent);border-color:var(--accent);background:var(--accent-dim)}.history__solution-close{margin-left:auto;padding:var(--space-1) var(--space-2);background:none;border:none;color:var(--text-muted);font-family:var(--font-body);font-size:var(--text-xs);cursor:pointer;transition:color var(--transition-fast)}.history__solution-close:hover{color:var(--text-primary)}.history__solution-code{margin:0;padding:var(--space-4);overflow-x:auto;font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.6;color:var(--text-primary);background:var(--bg-root);white-space:pre;-moz-tab-size:4;tab-size:4}@media(max-width:600px){.history__table th:nth-child(5),.history__table td:nth-child(5){display:none}.history__table th,.history__table td{padding:var(--space-2) var(--space-2);font-size:var(--text-xs)}}.stats-page{display:flex;flex-direction:column;align-items:center;min-height:calc(100vh - 48px);padding:var(--space-10) var(--space-6)}.stats__title{font-size:var(--text-2xl);font-weight:900;color:var(--accent);letter-spacing:2px;text-transform:uppercase;margin-bottom:var(--space-8)}.stats__filters{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-8);width:100%;max-width:800px;justify-content:center}.stats__filter{display:flex;flex-direction:column;gap:var(--space-1)}.stats__filter-label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:1px}.stats__filter-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg-panel);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-5) var(--space-2) var(--space-3);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;transition:border-color var(--transition-fast);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%238a8580'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;min-width:130px}.stats__filter-select:hover{border-color:var(--border-strong)}.stats__filter-select:focus{outline:none;border-color:var(--accent)}.stats__filter-select option{background:var(--bg-elevated);color:var(--text-primary)}.stats__container{width:100%;max-width:800px}.stats__summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-4);margin-bottom:var(--space-8)}.stats__card{display:flex;flex-direction:column;align-items:center;padding:var(--space-5) var(--space-4);background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg)}.stats__card-value{font-size:var(--text-xl);font-weight:700;font-family:var(--font-mono);color:var(--text-primary);line-height:1.2}.stats__card-value--accent{color:var(--accent)}.stats__card-value--win{color:var(--success)}.stats__card-value--loss{color:var(--error)}.stats__card-label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-top:var(--space-1)}.stats__chart-section{margin-bottom:var(--space-8);background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-6)}.stats__chart-title{font-size:var(--text-sm);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:var(--space-5)}.stats__loading,.stats__empty,.stats__error{text-align:center;padding:var(--space-10);color:var(--text-secondary);font-size:var(--text-sm)}.stats__error{color:var(--error)}@media(max-width:500px){.stats__summary{grid-template-columns:repeat(2,1fr)}}.lb-page{display:flex;flex-direction:column;align-items:center;min-height:calc(100vh - 48px);padding:var(--space-10) var(--space-6)}.lb__title{font-size:var(--text-2xl);font-weight:900;color:var(--accent);letter-spacing:2px;text-transform:uppercase;margin-bottom:var(--space-8)}.lb__container{width:100%;max-width:800px}.lb__table{width:100%;border-collapse:collapse}.lb__table th{padding:var(--space-3) var(--space-4);font-size:var(--text-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;text-align:left;border-bottom:1px solid var(--border)}.lb__table td{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--text-primary);border-bottom:1px solid var(--border);vertical-align:middle}.lb__table tr:hover td{background:var(--bg-hover)}.lb__row--current td{background:var(--accent-dim);border-top:1px solid var(--border-accent);border-bottom:1px solid var(--border-accent)}.lb__row--current:hover td{background:var(--accent-dim)}.lb__username--current{color:var(--accent);font-weight:700}.lb__rank{font-family:var(--font-mono);font-weight:600;font-size:var(--text-sm);color:var(--text-secondary)}.lb__elo{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600}.lb__winrate{font-family:var(--font-mono);font-size:var(--text-sm)}.lb__loading,.lb__empty,.lb__error{text-align:center;padding:var(--space-10);color:var(--text-secondary);font-size:var(--text-sm)}.lb__error{color:var(--error)}.lb__my-position{margin-top:var(--space-8);padding:var(--space-6);background:var(--bg-panel);border:1px solid var(--border-accent);border-radius:var(--radius-lg)}.lb__my-position-title{font-size:var(--text-lg);font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:1px;margin-bottom:var(--space-5);text-align:center}.lb__my-position-stats{display:flex;justify-content:space-around;gap:var(--space-4)}.lb__my-position-stat{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.lb__my-position-label{font-size:var(--text-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px}.lb__my-position-value{font-family:var(--font-mono);font-size:var(--text-xl);font-weight:700;color:var(--text-primary)}@media(max-width:600px){.lb__table th,.lb__table td{padding:var(--space-2) var(--space-2);font-size:var(--text-xs)}.lb__my-position-stats{flex-direction:column;align-items:center}}.submit-problem-page{max-width:600px;margin:0 auto;padding:var(--space-10) var(--space-6)}.submit-problem__title{font-size:var(--text-2xl);font-weight:900;color:var(--accent);letter-spacing:2px;text-transform:uppercase;margin-bottom:var(--space-8);text-align:center}.submit-problem__form{display:flex;flex-direction:column;gap:var(--space-5)}.submit-problem__field{display:flex;flex-direction:column;gap:var(--space-2)}.submit-problem__label{font-size:var(--text-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.submit-problem__input,.submit-problem__select{background:var(--bg-input);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-base);transition:border-color var(--transition-base)}.submit-problem__input:focus,.submit-problem__select:focus{border-color:var(--accent);outline:none}.submit-problem__textarea{background:var(--bg-input);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-base);min-height:160px;resize:vertical;transition:border-color var(--transition-base)}.submit-problem__textarea:focus{border-color:var(--accent);outline:none}.submit-problem__select{cursor:pointer}.submit-problem__submit{padding:var(--space-3) var(--space-6);background:var(--accent);color:var(--bg-root);border:none;border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-base);font-weight:700;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;transition:background var(--transition-base)}.submit-problem__submit:hover{background:var(--accent-hover)}.submit-problem__submit:disabled{opacity:.5;cursor:not-allowed}.submit-problem__message{text-align:center;font-size:var(--text-sm);color:var(--success);margin-top:var(--space-4)}.submit-problem__error{text-align:center;font-size:var(--text-sm);color:var(--error);margin-top:var(--space-4)}.tc-submit-page{max-width:600px;margin:0 auto;padding:var(--space-10) var(--space-6)}.tc-submit__title{font-size:var(--text-2xl);font-weight:900;color:var(--accent);letter-spacing:2px;text-transform:uppercase;margin-bottom:var(--space-4);text-align:center}.tc-submit__count{text-align:center;font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-8)}.tc-submit__count-value{font-family:var(--font-mono);font-weight:700;color:var(--text-primary)}.tc-submit__form{display:flex;flex-direction:column;gap:var(--space-5)}.tc-submit__field{display:flex;flex-direction:column;gap:var(--space-2)}.tc-submit__label{font-size:var(--text-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.tc-submit__textarea{background:var(--bg-input);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--text-sm);min-height:80px;resize:vertical;transition:border-color var(--transition-base)}.tc-submit__textarea:focus{border-color:var(--accent);outline:none}.tc-submit__checkbox-field{display:flex;align-items:center}.tc-submit__checkbox-label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer}.tc-submit__checkbox{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.tc-submit__submit{padding:var(--space-3) var(--space-6);background:var(--accent);color:var(--bg-root);border:none;border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-base);font-weight:700;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;transition:background var(--transition-base)}.tc-submit__submit:hover{background:var(--accent-hover)}.tc-submit__submit:disabled{opacity:.5;cursor:not-allowed}.tc-submit__message{text-align:center;font-size:var(--text-sm);color:var(--success);margin-top:var(--space-4)}.tc-submit__form-error{text-align:center;font-size:var(--text-sm);color:var(--error);margin-top:var(--space-4)}.tc-submit__loading,.tc-submit__error{text-align:center;padding:var(--space-10);color:var(--text-secondary);font-size:var(--text-sm)}.tc-submit__error{color:var(--error)}.tc-submit__summary{margin-top:var(--space-6);padding:var(--space-4);background:var(--accent-dim);border:1px solid var(--border-accent);border-radius:var(--radius-md);text-align:center;font-size:var(--text-sm);font-weight:600;color:var(--accent)}.my-subs-page{display:flex;flex-direction:column;align-items:center;min-height:calc(100vh - 48px);padding:var(--space-10) var(--space-6)}.my-subs__title{font-size:var(--text-2xl);font-weight:900;color:var(--accent);letter-spacing:2px;text-transform:uppercase;margin-bottom:var(--space-6)}.my-subs__submit-btn{display:inline-block;padding:var(--space-2) var(--space-6);background:var(--accent);color:var(--bg-root);border:none;border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);font-weight:700;text-transform:uppercase;letter-spacing:.1em;text-decoration:none;cursor:pointer;margin-bottom:var(--space-8);transition:background var(--transition-base)}.my-subs__submit-btn:hover{background:var(--accent-hover);color:var(--bg-root)}.my-subs__container{width:100%;max-width:900px}.my-subs__table{width:100%;border-collapse:collapse}.my-subs__table th{padding:var(--space-3) var(--space-4);font-size:var(--text-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;text-align:left;border-bottom:1px solid var(--border)}.my-subs__table td{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--text-primary);border-bottom:1px solid var(--border);vertical-align:middle}.my-subs__table tr:hover td{background:var(--bg-hover)}.my-subs__cell-title{font-weight:600}.my-subs__cell-category{text-transform:capitalize}.my-subs__cell-count{font-family:var(--font-mono)}.my-subs__badge{display:inline-block;padding:1px var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.my-subs__badge--easy{color:var(--difficulty-easy);background:#22c55e1f}.my-subs__badge--medium{color:var(--difficulty-medium);background:#f59e0b1f}.my-subs__badge--hard{color:var(--difficulty-hard);background:#ef44441f}.my-subs__status{display:inline-block;padding:1px var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.5px}.my-subs__status--pending{color:var(--warning);background:#f59e0b1f}.my-subs__status--approved{color:var(--success);background:#22c55e1f}.my-subs__status--rejected{color:var(--error);background:#ef44441f}.my-subs__actions{display:flex;gap:var(--space-3);align-items:center}.my-subs__action-wrapper{display:inline-block}.my-subs__action-wrapper--disabled{cursor:not-allowed}.my-subs__action-link{padding:2px var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:var(--font-body);font-size:var(--text-xs);text-decoration:none;white-space:nowrap;transition:all var(--transition-fast)}.my-subs__action-link:hover{border-color:var(--accent-muted);color:var(--accent)}.my-subs__action-link--disabled{opacity:.35;pointer-events:none;cursor:not-allowed}.my-subs__loading,.my-subs__empty,.my-subs__error{text-align:center;padding:var(--space-10);color:var(--text-secondary);font-size:var(--text-sm)}.my-subs__error{color:var(--error)}@media(max-width:600px){.my-subs__table th:nth-child(3),.my-subs__table td:nth-child(3),.my-subs__table th:nth-child(4),.my-subs__table td:nth-child(4){display:none}.my-subs__table th,.my-subs__table td{padding:var(--space-2) var(--space-2);font-size:var(--text-xs)}}.edit-problem-page{max-width:640px;margin:0 auto;padding:var(--space-8) var(--space-6)}.edit-problem__title{font-size:var(--text-2xl);font-weight:900;color:var(--accent);letter-spacing:2px;text-transform:uppercase;margin-bottom:var(--space-6);text-align:center}.edit-problem__approved-notice{text-align:center;padding:var(--space-3) var(--space-4);margin-bottom:var(--space-6);background:var(--error-dim);border:1px solid var(--error);border-radius:var(--radius-md);color:var(--error);font-size:var(--text-sm);font-weight:600}.edit-problem__form{display:flex;flex-direction:column;gap:var(--space-5)}.edit-problem__field{display:flex;flex-direction:column;gap:var(--space-2)}.edit-problem__label{font-size:var(--text-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.edit-problem__input,.edit-problem__select,.edit-problem__textarea{background:var(--bg-input);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-base);transition:border-color var(--transition-base)}.edit-problem__input:focus,.edit-problem__select:focus,.edit-problem__textarea:focus{border-color:var(--accent);outline:none}.edit-problem__input:disabled,.edit-problem__select:disabled,.edit-problem__textarea:disabled{opacity:.5;cursor:not-allowed}.edit-problem__textarea{min-height:200px;resize:vertical;font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.6}.edit-problem__select{cursor:pointer}.edit-problem__row{display:flex;gap:var(--space-4)}.edit-problem__row .edit-problem__field{flex:1}.edit-problem__submit{padding:var(--space-3) var(--space-6);background:var(--accent);color:var(--bg-root);border:none;border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-base);font-weight:700;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;transition:background var(--transition-base)}.edit-problem__submit:hover{background:var(--accent-hover)}.edit-problem__submit:disabled{opacity:.5;cursor:not-allowed}.edit-problem__message{text-align:center;margin-top:var(--space-4);font-size:var(--text-sm);color:var(--success)}.edit-problem__error-msg{text-align:center;margin-top:var(--space-4);font-size:var(--text-sm);color:var(--error)}.edit-problem__back{display:block;text-align:center;margin-top:var(--space-6);font-size:var(--text-sm);color:var(--text-secondary);text-decoration:none;transition:color var(--transition-fast)}.edit-problem__back:hover{color:var(--accent)}.edit-problem__loading,.edit-problem__error{display:flex;align-items:center;justify-content:center;min-height:300px;color:var(--text-secondary);font-size:var(--text-sm)}.edit-problem__error{color:var(--error)}@media(max-width:500px){.edit-problem__row{flex-direction:column}}.review-page{display:flex;flex-direction:column;align-items:center;min-height:calc(100vh - 48px);padding:var(--space-10) var(--space-6)}.review__title{font-size:var(--text-2xl);font-weight:900;color:var(--accent);letter-spacing:2px;text-transform:uppercase;margin-bottom:var(--space-8)}.review__toast{position:fixed;top:var(--space-6);right:var(--space-6);padding:var(--space-3) var(--space-6);background:var(--bg-elevated);border:1px solid var(--success);border-radius:var(--radius-md);color:var(--success);font-size:var(--text-sm);font-weight:600;z-index:var(--z-toast);animation:review-toast-in .2s ease}@keyframes review-toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.review__container{width:100%;max-width:900px}.review__table{width:100%;border-collapse:collapse}.review__table th{padding:var(--space-3) var(--space-4);font-size:var(--text-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;text-align:left;border-bottom:1px solid var(--border)}.review__table td{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--text-primary);border-bottom:1px solid var(--border);vertical-align:top}.review__table tr:hover td{background:var(--bg-hover)}.review__cell-title{font-weight:600}.review__cell-category{text-transform:capitalize}.review__cell-author{color:var(--accent);font-weight:500}.review__cell-count{font-family:var(--font-mono)}.review__badge{display:inline-block;padding:1px var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.review__badge--easy{color:var(--difficulty-easy);background:#22c55e1f}.review__badge--medium{color:var(--difficulty-medium);background:#f59e0b1f}.review__badge--hard{color:var(--difficulty-hard);background:#ef44441f}.review__action-buttons{display:flex;gap:var(--space-2)}.review__btn{padding:var(--space-1) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;background:none;transition:all var(--transition-fast)}.review__btn:disabled{opacity:.5;cursor:not-allowed}.review__btn--approve{color:var(--success);border-color:var(--success)}.review__btn--approve:hover:not(:disabled){background:var(--success-dim)}.review__btn--reject{color:var(--error);border-color:var(--error)}.review__btn--reject:hover:not(:disabled){background:var(--error-dim)}.review__btn--reject-confirm{color:var(--error);border-color:var(--error)}.review__btn--reject-confirm:hover:not(:disabled){background:var(--error-dim)}.review__btn--cancel{color:var(--text-muted);border-color:var(--border)}.review__btn--cancel:hover{color:var(--text-secondary);border-color:var(--border-strong)}.review__reject-form{display:flex;flex-direction:column;gap:var(--space-2);min-width:200px}.review__reject-input{background:var(--bg-input);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-xs);resize:vertical;transition:border-color var(--transition-fast)}.review__reject-input:focus{border-color:var(--error);outline:none}.review__reject-actions{display:flex;gap:var(--space-2)}.review__loading,.review__empty,.review__error,.review__denied{text-align:center;padding:var(--space-10);color:var(--text-secondary);font-size:var(--text-sm)}.review__error{color:var(--error)}.review__denied{color:var(--error);font-weight:700;font-size:var(--text-lg);text-transform:uppercase;letter-spacing:1px}@media(max-width:600px){.review__table th:nth-child(3),.review__table td:nth-child(3),.review__table th:nth-child(5),.review__table td:nth-child(5){display:none}.review__table th,.review__table td{padding:var(--space-2) var(--space-2);font-size:var(--text-xs)}}.codehist-page{display:flex;flex-direction:column;align-items:center;min-height:calc(100vh - 48px);padding:var(--space-10) var(--space-6)}.codehist__title{font-size:var(--text-2xl);font-weight:900;color:var(--accent);letter-spacing:2px;text-transform:uppercase;margin-bottom:var(--space-6)}.codehist__performance{display:flex;align-items:center;gap:var(--space-4);background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-6);margin-bottom:var(--space-8)}.codehist__performance-label{font-size:var(--text-sm);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px}.codehist__performance-value{font-size:var(--text-xl);font-weight:700;font-family:var(--font-mono);color:var(--accent)}.codehist__container{width:100%;max-width:800px}.codehist__list{display:flex;flex-direction:column;gap:var(--space-3)}.codehist__card{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:border-color var(--transition-fast)}.codehist__card:hover{border-color:var(--border-strong, var(--border))}.codehist__card-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-4) var(--space-5);background:none;border:none;cursor:pointer;text-align:left;color:inherit;font-family:inherit;gap:var(--space-4)}.codehist__card-header:hover{background:var(--bg-elevated)}.codehist__card-left{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.codehist__problem-title{font-size:var(--text-sm);font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.codehist__badges{display:flex;gap:var(--space-2);flex-wrap:wrap}.codehist__badge{display:inline-block;padding:1px var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.codehist__badge--easy{color:var(--difficulty-easy, #22c55e);background:#22c55e1f}.codehist__badge--medium{color:var(--difficulty-medium, #f59e0b);background:#f59e0b1f}.codehist__badge--hard{color:var(--difficulty-hard, #ef4444);background:#ef44441f}.codehist__badge--lang{color:var(--accent);background:#cfb9911f}.codehist__badge--mode{color:var(--text-muted);background:#8a85801f}.codehist__card-right{display:flex;align-items:center;gap:var(--space-4);flex-shrink:0}.codehist__passed{font-size:var(--text-xs);font-family:var(--font-mono);font-weight:600;color:var(--success);white-space:nowrap}.codehist__date{font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap}.codehist__expand-icon{font-size:var(--text-xs);color:var(--text-muted);transition:transform var(--transition-fast);display:inline-block}.codehist__expand-icon--open{transform:rotate(180deg)}.codehist__code-panel{border-top:1px solid var(--border);background:var(--bg-root)}.codehist__code-block{margin:0;padding:var(--space-4) var(--space-5);overflow-x:auto;font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.6;color:var(--text-primary);white-space:pre;-moz-tab-size:4;tab-size:4}.codehist__loading,.codehist__empty,.codehist__error{text-align:center;padding:var(--space-10);color:var(--text-secondary);font-size:var(--text-sm)}.codehist__error{color:var(--error)}@media(max-width:600px){.codehist__card-header{flex-direction:column;align-items:flex-start}.codehist__card-right{width:100%;justify-content:space-between;margin-top:var(--space-2)}.codehist__performance{flex-direction:column;gap:var(--space-2);text-align:center}}.gstats-page{display:flex;flex-direction:column;align-items:center;min-height:calc(100vh - 48px);padding:var(--space-10) var(--space-6)}.gstats__title{font-size:var(--text-2xl);font-weight:900;color:var(--accent);letter-spacing:2px;text-transform:uppercase;margin-bottom:var(--space-8)}.gstats__container{width:100%;max-width:860px;display:flex;flex-direction:column;gap:var(--space-8)}.gstats__section{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-6)}.gstats__section--centered{display:flex;flex-direction:column;align-items:center}.gstats__section-header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-5)}.gstats__section-header .gstats__section-title{margin-bottom:0}.gstats__section-title{font-size:var(--text-sm);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:var(--space-5)}.gstats__filter{display:flex;flex-direction:column;gap:var(--space-1)}.gstats__filter-label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:1px}.gstats__filter-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg-panel);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-5) var(--space-2) var(--space-3);font-family:var(--font-body);font-size:var(--text-sm);cursor:pointer;transition:border-color var(--transition-fast);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%238a8580'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;min-width:150px}.gstats__filter-select:hover{border-color:var(--border-strong)}.gstats__filter-select:focus{outline:none;border-color:var(--accent)}.gstats__filter-select option{background:var(--bg-elevated);color:var(--text-primary)}.gstats__stat-card{display:flex;flex-direction:column;align-items:center;padding:var(--space-8) var(--space-10)}.gstats__stat-value{font-size:4rem;font-weight:900;font-family:var(--font-mono);color:var(--accent);line-height:1;margin-bottom:var(--space-2)}.gstats__stat-subtitle{font-size:var(--text-sm);color:var(--text-muted);text-transform:uppercase;letter-spacing:1.5px}.gstats__loading,.gstats__empty{text-align:center;padding:var(--space-10);color:var(--text-secondary);font-size:var(--text-sm)}.gstats__error{text-align:center;padding:var(--space-10);color:var(--error);font-size:var(--text-sm)}@media(max-width:500px){.gstats__section-header{flex-direction:column}.gstats__stat-value{font-size:3rem}}.pm-page{display:flex;flex-direction:column;align-items:center;min-height:calc(100vh - 48px);padding:var(--space-10) var(--space-6)}.pm__title{font-size:var(--text-2xl);font-weight:900;color:var(--accent);letter-spacing:2px;text-transform:uppercase;margin-bottom:var(--space-8)}.pm__auth-message{color:var(--text-secondary);font-size:var(--text-sm)}.pm__forms-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6);width:100%;max-width:860px;margin-bottom:var(--space-8)}.pm__panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-6)}.pm__panel-title{font-size:var(--text-sm);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:var(--space-5)}.pm__form{display:flex;flex-direction:column;gap:var(--space-4)}.pm__field{display:flex;flex-direction:column;gap:var(--space-1)}.pm__field-label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:1px}.pm__input{background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-family:var(--font-body);font-size:var(--text-sm);transition:border-color var(--transition-fast)}.pm__input::placeholder{color:var(--text-muted)}.pm__input:hover{border-color:var(--border-strong)}.pm__input:focus{outline:none;border-color:var(--accent)}.pm__button{margin-top:var(--space-2);padding:var(--space-2) var(--space-6);background:var(--accent-dim);color:var(--accent);border:1px solid var(--border-accent);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;text-transform:uppercase;letter-spacing:1px;cursor:pointer;transition:all var(--transition-base)}.pm__button:hover:not(:disabled){background:var(--accent);color:var(--bg-root);border-color:var(--accent)}.pm__button:disabled{opacity:.4;cursor:not-allowed}.pm__success{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--success-dim);color:var(--success);border:1px solid rgba(34,197,94,.25);border-radius:var(--radius-md);font-size:var(--text-sm)}.pm__error{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--error-dim);color:var(--error);border:1px solid rgba(239,68,68,.25);border-radius:var(--radius-md);font-size:var(--text-sm)}.pm__lobbies{width:100%;max-width:860px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-6)}.pm__loading,.pm__empty{text-align:center;padding:var(--space-8);color:var(--text-secondary);font-size:var(--text-sm)}.pm__table-wrapper{overflow-x:auto}.pm__table{width:100%;border-collapse:collapse}.pm__th{text-align:left;font-size:var(--text-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border)}.pm__tr{transition:background var(--transition-fast)}.pm__tr:hover{background:var(--bg-hover)}.pm__td{padding:var(--space-3);font-size:var(--text-sm);color:var(--text-primary);border-bottom:1px solid var(--border)}.pm__td--name{font-weight:600;color:var(--accent)}.pm__td--center{text-align:center}.pm__td--muted{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--text-xs)}@media(max-width:640px){.pm__forms-row{grid-template-columns:1fr}}.focus-page{display:flex;flex-direction:column;align-items:center;min-height:calc(100vh - 48px);padding:var(--space-10) var(--space-6)}.focus__title{font-size:var(--text-2xl);font-weight:900;color:var(--accent);letter-spacing:2px;text-transform:uppercase;margin-bottom:var(--space-8)}.focus__container{width:100%;max-width:800px}.focus__chart-section{margin-bottom:var(--space-8);background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-6)}.focus__chart-title{font-size:var(--text-sm);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:var(--space-5)}.focus__loading,.focus__empty,.focus__error{text-align:center;padding:var(--space-10);color:var(--text-secondary);font-size:var(--text-sm)}.focus__error{color:var(--error)}.lang-page{display:flex;flex-direction:column;align-items:center;min-height:calc(100vh - 48px);padding:var(--space-10) var(--space-6)}.lang__title{font-size:var(--text-2xl);font-weight:900;color:var(--accent);letter-spacing:2px;text-transform:uppercase;margin-bottom:var(--space-8)}.lang__container{width:100%;max-width:800px}.lang__chart-section{margin-bottom:var(--space-8);background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-6)}.lang__chart-title{font-size:var(--text-sm);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:var(--space-5)}.lang__winrate-labels{display:flex;justify-content:center;gap:var(--space-6);margin-top:var(--space-4);flex-wrap:wrap}.lang__winrate-label{font-size:var(--text-xs);font-family:var(--font-mono);color:var(--text-muted)}.lang__summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}.lang__summary-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.lang__summary-language{font-size:var(--text-base);font-weight:700;color:var(--accent);letter-spacing:.5px}.lang__summary-stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.lang__summary-stat{display:flex;flex-direction:column;gap:var(--space-1)}.lang__summary-value{font-size:var(--text-lg);font-weight:700;font-family:var(--font-mono);color:var(--text-primary);line-height:1.2}.lang__summary-value--win{color:var(--success)}.lang__summary-value--accent{color:var(--accent)}.lang__summary-label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:1px}.lang__loading,.lang__empty,.lang__error{text-align:center;padding:var(--space-10);color:var(--text-secondary);font-size:var(--text-sm)}.lang__error{color:var(--error)}@media(max-width:500px){.lang__summary-cards{grid-template-columns:1fr}}
