@import"https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Space+Grotesk:wght@400;500;600;700&display=swap";.feedback-trigger-wrapper{position:fixed;bottom:20px;right:20px;display:flex;align-items:center;gap:0;z-index:999}.feedback-trigger{padding:10px 16px;font-size:.8125rem;font-weight:600;background:#7fa650;color:#fff;border:none;border-radius:20px 0 0 20px;cursor:pointer;box-shadow:0 2px 8px #0000004d;transition:all .15s}.feedback-trigger:hover{background:#8fb85a}.feedback-dismiss{padding:10px;font-size:.75rem;font-weight:600;background:#5a7a3a;color:#fffc;border:none;border-left:1px solid rgba(0,0,0,.2);border-radius:0 20px 20px 0;cursor:pointer;box-shadow:0 2px 8px #0000004d;transition:all .15s;display:flex;align-items:center;justify-content:center}.feedback-dismiss:hover{background:#4a6a2a;color:#fff}.feedback-trigger-wrapper:hover .feedback-trigger,.feedback-trigger-wrapper:hover .feedback-dismiss{transform:translateY(-1px);box-shadow:0 4px 12px #0006}.feedback-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;animation:fadeIn .2s ease-out}.feedback-modal{position:relative;background:#262421;border-radius:8px;padding:28px;max-width:440px;width:100%;box-shadow:0 16px 48px #0006;animation:slideUp .2s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.feedback-close{position:absolute;top:12px;right:12px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;color:#9e9b98;font-size:1rem;cursor:pointer;transition:all .15s}.feedback-close:hover{background:#3d3a36;color:#fff}.feedback-header{text-align:center;margin-bottom:20px}.feedback-header h2{font-size:1.375rem;font-weight:700;color:#fff;margin-bottom:6px}.feedback-header p{color:#9e9b98;font-size:.875rem}.feedback-form{display:flex;flex-direction:column;gap:16px}.feedback-types{display:flex;gap:8px}.type-btn{flex:1;padding:10px 12px;font-size:.8125rem;font-weight:600;background:#312e2b;border:2px solid transparent;border-radius:6px;color:#9e9b98;cursor:pointer;transition:all .15s}.type-btn:hover{background:#3d3a36;color:#dad5d0}.type-btn.active{background:#7fa65026;border-color:#7fa650;color:#7fa650}.input-group{display:flex;flex-direction:column;gap:6px}.input-group label{font-size:.8125rem;font-weight:600;color:#dad5d0}.input-group textarea,.input-group input{padding:12px 14px;font-size:.9375rem;font-family:inherit;border:2px solid #3d3a36;border-radius:6px;background:#312e2b;color:#fff;transition:border-color .15s;resize:vertical}.input-group textarea:focus,.input-group input:focus{outline:none;border-color:#7fa650}.input-group textarea::placeholder,.input-group input::placeholder{color:#7a7775}.char-count{align-self:flex-end;font-size:.6875rem;color:#7a7775}.input-hint{font-size:.6875rem;color:#7a7775}.feedback-buttons{display:flex;gap:10px;margin-top:4px}.feedback-buttons .btn{flex:1;padding:12px 16px;font-size:.875rem;font-weight:600;border-radius:6px;cursor:pointer;transition:all .15s;border:none}.feedback-buttons .btn-secondary{background:#3d3a36;color:#dad5d0}.feedback-buttons .btn-secondary:hover{background:#4d4a46}.feedback-buttons .btn-primary{background:#7fa650;color:#fff}.feedback-buttons .btn-primary:hover:not(:disabled){background:#8fb85a}.feedback-buttons .btn-primary:disabled{opacity:.5;cursor:not-allowed}.feedback-success{text-align:center;padding:40px 20px}.success-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;background:#7fa650;border-radius:50%;font-size:1.75rem;color:#fff;margin-bottom:16px}.feedback-success h3{font-size:1.25rem;font-weight:700;color:#fff;margin-bottom:6px}.feedback-success p{color:#9e9b98;font-size:.875rem}@media(max-width:480px){.feedback-trigger-wrapper{bottom:16px;right:16px}.feedback-trigger{padding:8px 14px;font-size:.75rem}.feedback-dismiss{padding:8px;font-size:.6875rem}.feedback-overlay{padding:0;align-items:flex-end}.feedback-modal{padding:24px 20px;border-radius:12px 12px 0 0;max-width:100%;max-height:90vh;max-height:90dvh;overflow-y:auto;animation:slideUpMobile .25s ease-out}@keyframes slideUpMobile{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.feedback-header h2{font-size:1.25rem}.feedback-types{flex-wrap:wrap}.type-btn{flex:1 1 calc(50% - 4px);min-width:0}.type-btn:last-child{flex:1 1 100%}.input-group textarea{min-height:100px}.feedback-buttons{flex-direction:column-reverse;gap:8px}.feedback-buttons .btn{width:100%;padding:14px 16px}}@media(max-width:360px){.feedback-trigger-wrapper{bottom:12px;right:12px}.feedback-trigger{padding:8px 12px;font-size:.6875rem}.feedback-dismiss{padding:8px 6px;font-size:.625rem}.feedback-modal{padding:20px 16px}.type-btn{padding:8px 10px;font-size:.75rem}}.login-overlay{position:fixed;inset:0;background:#000000d9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.login-modal{position:relative;background:var(--color-bg-secondary);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);padding:32px;max-width:400px;width:100%;box-shadow:var(--shadow-xl);animation:slideUp .25s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-close-btn{position:absolute;top:16px;right:16px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--color-border-default);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:1.125rem;cursor:pointer;transition:all var(--transition-fast)}.login-close-btn:hover{background:var(--color-bg-hover);border-color:var(--color-border-hover);color:var(--color-text-primary)}.login-header{text-align:center;margin-bottom:24px}.login-header h2{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);margin-bottom:8px;letter-spacing:-.02em}.login-header p{color:var(--color-text-secondary);font-size:.9375rem;line-height:1.5}.login-benefits{display:flex;flex-direction:column;gap:10px;margin-bottom:24px;padding:16px;background:var(--color-accent-muted);border-radius:var(--radius-md);border:1px solid var(--color-border-accent)}.benefit-row{display:flex;align-items:center;gap:12px;font-size:.875rem;color:var(--color-text-primary)}.benefit-row .benefit-icon{font-size:1rem;flex-shrink:0}.login-form{display:flex;flex-direction:column;gap:16px}.input-group{display:flex;flex-direction:column;gap:8px}.input-group label{font-size:.8125rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.03em}.input-group input{padding:14px 16px;font-size:1rem;border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-tertiary);color:var(--color-text-primary);transition:all var(--transition-fast)}.input-group input:focus{outline:none;border-color:var(--color-accent-primary);background:var(--color-bg-hover)}.input-group input::placeholder{color:var(--color-text-muted)}.error-text{color:var(--color-accent-red);font-size:.8125rem;margin-top:-4px}.success-text{color:var(--color-accent-primary);font-size:.8125rem;margin-top:-4px}.btn-full{width:100%;padding:14px 20px;font-size:1rem;font-weight:600;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:none}.btn-primary{background:linear-gradient(180deg,var(--color-accent-primary) 0%,#6a9344 100%);color:var(--color-text-primary);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md),var(--shadow-glow)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-ghost{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border-default)}.btn-ghost:hover{background:var(--color-bg-hover);border-color:var(--color-border-hover);color:var(--color-text-primary)}.login-guest-section{margin-top:20px}.login-divider{display:flex;align-items:center;gap:16px;margin-bottom:16px}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--color-border-default)}.login-divider span{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;font-weight:600;letter-spacing:.05em}.guest-note{text-align:center;font-size:.75rem;color:var(--color-text-muted);margin-top:10px}.ranked-note{text-align:center;font-size:.8125rem;color:var(--color-text-secondary);margin-top:20px;padding:12px 16px;background:var(--color-bg-tertiary);border-radius:var(--radius-sm);border:1px solid var(--color-border-default)}@media(max-width:480px){.login-overlay{padding:0;align-items:flex-end}.login-modal{padding:40px 24px 28px;border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-width:100%;max-height:90vh;max-height:90dvh;overflow-y:auto;animation:slideUpMobile .3s ease-out}@keyframes slideUpMobile{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.login-header h2{font-size:1.375rem}.login-close-btn{top:12px;right:12px;width:32px;height:32px}.btn-full{padding:16px 20px}}@media(max-width:360px){.login-modal{padding:36px 20px 24px}}.login-btn{padding:8px 16px;font-size:.85rem;font-weight:600;background:linear-gradient(135deg,#81b64c,#6a9a3d);color:#0a0a0a;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.login-btn:hover{background:linear-gradient(135deg,#92c45d,#81b64c);transform:translateY(-1px)}.user-badge-container{position:relative}.user-badge{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#ffffff14;border:1px solid rgba(255,255,255,.1);border-radius:8px;cursor:pointer;transition:all .2s ease;color:#e0e0e0}.user-badge:hover{background:#ffffff1f;border-color:#ffffff26}.user-avatar{font-size:1.1rem}.user-name{font-weight:600;font-size:.85rem;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-elo{font-size:.75rem;font-weight:700;color:#ffc107;background:#ffc10726;padding:2px 6px;border-radius:4px}.dropdown-backdrop{position:fixed;inset:0;z-index:99}.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:180px;background:#1a1a1a;border:1px solid rgba(255,255,255,.1);border-radius:10px;box-shadow:0 12px 32px #0006;z-index:100;animation:dropdownSlide .2s ease-out;overflow:hidden}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-header{padding:14px 16px;display:flex;flex-direction:column;gap:6px}.dropdown-username{font-weight:600;color:#fff;font-size:.95rem}.dropdown-elo{display:flex;align-items:center;gap:6px}.dropdown-elo .elo-label{font-size:.75rem;color:#9e9b98}.dropdown-elo .elo-value{font-size:.85rem;font-weight:700;color:#ffc107}.dropdown-divider{height:1px;background:#ffffff1a}.dropdown-item{width:100%;padding:12px 16px;font-size:.85rem;color:#e0e0e0;background:none;border:none;cursor:pointer;text-align:left;transition:background .15s ease}.dropdown-item:hover{background:#ffffff14}.dropdown-item.logout{color:#e57373}.dropdown-item.logout:hover{background:#e573731a}.db-indicator{font-size:.7rem;margin-left:2px}.dropdown-stats{padding:10px 16px}.stat-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0}.stat-row .stat-label{font-size:.8rem;color:#9e9b98}.stat-row .stat-value{font-size:.85rem;font-weight:600;color:#e0e0e0}.stat-row .win{color:#81b64c}.stat-row .loss{color:#e57373}.stat-row .draw{color:#9e9b98}.dropdown-sync-status{padding:8px 16px;font-size:.75rem;text-align:center}.sync-online{color:#81b64c}.sync-offline{color:#ffc107}@media(max-width:480px){.user-name{display:none}.user-badge{padding:6px 10px;gap:6px}.login-btn{padding:6px 12px;font-size:.75rem;white-space:nowrap;flex-shrink:0}}.guest-blocked-container{flex:1;display:flex;align-items:center;justify-content:center;padding:32px 24px;background:var(--color-bg-primary)}.guest-blocked-content{background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:48px 32px;max-width:500px;width:100%;box-shadow:var(--shadow-xl);border:1px solid var(--color-border-default);text-align:center}.guest-blocked-icon{font-size:4rem;margin-bottom:16px}.guest-blocked-title{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);margin-bottom:12px}.guest-blocked-description{color:var(--color-text-secondary);font-size:.9375rem;line-height:1.6;margin-bottom:20px}.guest-blocked-target{display:inline-flex;align-items:center;gap:8px;background:var(--color-bg-tertiary);padding:10px 16px;border-radius:var(--radius-md);margin-bottom:32px}.target-label{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;font-weight:600}.target-page{color:var(--color-accent-gold);font-weight:600}.guest-blocked-actions{display:flex;flex-direction:column;gap:12px}.btn{padding:14px 24px;font-size:.9375rem;font-weight:600;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:none}.btn-primary{background:linear-gradient(180deg,var(--color-accent-primary) 0%,#6a9344 100%);color:var(--color-text-primary);box-shadow:var(--shadow-md)}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg),var(--shadow-glow)}.btn-secondary{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-border-default)}.btn-secondary:hover{background:var(--color-bg-hover);border-color:var(--color-border-hover)}@media(max-width:600px){.guest-blocked-content{padding:32px 20px}.guest-blocked-icon{font-size:3rem}.guest-blocked-title{font-size:1.25rem}}:root{--header-height: 60px;--bottom-nav-height: 70px;--safe-area-bottom: env(safe-area-inset-bottom, 0px);--color-bg-primary: #1b1c1f;--color-bg-secondary: #222326;--color-bg-tertiary: #2a2b2f;--color-bg-elevated: #323338;--color-bg-hover: #3a3b41;--color-bg-glass: rgba(34, 35, 38, .8);--color-accent-primary: #7fa650;--color-accent-hover: #8fb85a;--color-accent-muted: rgba(127, 166, 80, .15);--color-accent-gold: #f0b90b;--color-accent-blue: #5d9cec;--color-accent-red: #e74c3c;--color-text-primary: #ffffff;--color-text-secondary: #b0b0b0;--color-text-muted: #777777;--color-text-inverse: #1a1a1a;--color-border-default: rgba(255, 255, 255, .08);--color-border-hover: rgba(255, 255, 255, .15);--color-border-accent: rgba(127, 166, 80, .5);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--shadow-md: 0 6px 16px rgba(0, 0, 0, .45);--shadow-lg: 0 12px 28px rgba(0, 0, 0, .55);--shadow-xl: 0 24px 56px rgba(0, 0, 0, .65);--shadow-glow: 0 0 20px rgba(127, 166, 80, .3);--shadow-soft: 0 12px 36px rgba(0, 0, 0, .4);--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 50%;--font-sans: "Space Grotesk", sans-serif;--font-display: "DM Serif Display", serif;--font-mono: "SF Mono", "Monaco", "Inconsolata", monospace;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100%;width:100%;overflow-x:hidden}html{overflow-y:auto;-webkit-overflow-scrolling:touch}body{font-family:var(--font-sans);background:radial-gradient(circle at top,rgba(127,166,80,.08),transparent 40%),linear-gradient(180deg,#18191c,#1c1d22 45%,#16171a);color:var(--color-text-primary);-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.01em;line-height:1.5}.app{min-height:100vh;min-height:100dvh;width:100vw;display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto;background:transparent}.app-header{background:linear-gradient(180deg,#262421fa,#22201df2);border-bottom:1px solid rgba(127,166,80,.18);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:0 24px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;height:var(--header-height);gap:20px;position:sticky;top:0;z-index:100}.header-right{display:flex;align-items:center;gap:16px}.user-menu{display:flex;align-items:center;gap:12px}.user-info{font-size:.875rem;color:var(--color-text-primary);font-weight:500}.logout-btn{padding:8px 14px;background:transparent;border:1px solid var(--color-border-default);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.logout-btn:hover{background:var(--color-bg-hover);border-color:var(--color-border-hover);color:var(--color-text-primary)}.login-link{padding:10px 18px;font-size:.875rem;font-weight:600;background:linear-gradient(180deg,var(--color-accent-primary) 0%,#6a9344 100%);color:var(--color-text-primary);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-normal);white-space:nowrap;box-shadow:var(--shadow-sm);text-decoration:none}.login-link:hover{transform:translateY(-1px);box-shadow:var(--shadow-md),var(--shadow-glow)}.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at top,rgba(127,166,80,.08),transparent 45%),linear-gradient(180deg,#18191c,#1c1d22 45%,#16171a);color:var(--color-text-primary)}.loading-screen .spinner{border:3px solid var(--color-bg-tertiary);border-top:3px solid var(--color-accent-primary);border-radius:var(--radius-full);width:44px;height:44px;animation:spin .8s linear infinite;margin-bottom:20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-screen p{margin:0;color:var(--color-text-secondary);font-size:.9375rem}.app-logo{font-size:1.125rem;font-weight:700;color:var(--color-text-primary);display:flex;align-items:center;gap:10px;text-decoration:none;transition:color var(--transition-fast);letter-spacing:.1em;text-transform:uppercase}.app-logo:hover{color:var(--color-accent-primary)}.nav-links{display:flex;gap:8px}.nav-link{padding:8px 16px;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:.875rem;font-weight:600;cursor:pointer;text-decoration:none;display:flex;align-items:center;gap:6px;transition:all var(--transition-fast)}.nav-link:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.nav-link.active{background:var(--color-accent-primary);color:var(--color-text-primary);box-shadow:var(--shadow-sm)}.nav-link.disabled{opacity:.4;cursor:not-allowed;color:var(--color-text-muted)}.nav-link.disabled:hover{background:transparent;color:var(--color-text-muted)}.offline-indicator{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#f0b90b1a;border:1px solid rgba(240,185,11,.25);border-radius:var(--radius-sm);color:var(--color-accent-gold);font-size:.75rem;font-weight:600;white-space:nowrap}@media(max-width:600px){.offline-indicator{font-size:.6875rem;padding:4px 8px}}@media(max-width:480px){.offline-indicator{display:none}}.chess-game,.online-chess-game{flex:1;display:flex;padding:16px;gap:16px;overflow:hidden;min-height:0;background:var(--color-bg-primary);--game-viewport: 100vh}@supports (height: 100dvh){.chess-game,.online-chess-game{--game-viewport: 100dvh}}.online-chess-game{background:transparent}.game-container{display:flex;gap:12px;width:100%;max-width:1400px;margin:0 auto;min-height:0;height:100%}.board-section{display:flex;flex-direction:column;gap:8px;flex:1;min-width:0;min-height:0;max-width:650px;justify-content:center}.board-wrapper{flex:0 0 auto;min-height:240px;min-width:240px;border-radius:8px;overflow:hidden;background:#769656;display:flex;align-items:center;justify-content:center;aspect-ratio:1 / 1;margin:0 auto;width:min(600px,92vw,calc(var(--game-viewport) - var(--header-height) - var(--bottom-nav-height) - 130px - var(--safe-area-bottom)));max-width:600px;box-shadow:var(--shadow-lg),var(--shadow-soft);position:relative;border:1px solid rgba(0,0,0,.1)}.board-wrapper>*{width:100%;height:100%}.victory-burst{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:200;pointer-events:none;display:flex;flex-direction:column;align-items:center;gap:6px;animation:victory-enter .35s ease-out,victory-fade .6s ease-out 1.8s forwards}.victory-spark{width:120px;height:14px;border-radius:999px;background:radial-gradient(circle,#f0b90bd9,#f0b90b40 58%,#f0b90b00 72%);filter:drop-shadow(0 0 12px rgba(240,185,11,.45));animation:victory-pulse .8s ease-out}.victory-text{font-size:.85rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:6px 14px;border-radius:999px;color:#1b1c1f;background:linear-gradient(135deg,#f0b90b,#ffdd6b);box-shadow:0 6px 14px #00000040}@keyframes victory-enter{0%{opacity:0;transform:translate(-50%) translateY(8px) scale(.96)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}@keyframes victory-fade{to{opacity:0}}@keyframes victory-pulse{0%{opacity:.2;transform:scaleX(.6)}60%{opacity:.9;transform:scaleX(1)}to{opacity:.6;transform:scaleX(.85)}}@media(max-width:600px){.victory-text{font-size:.75rem;padding:5px 12px}.victory-spark{width:96px;height:12px}}@media(prefers-reduced-motion:reduce){.victory-burst,.victory-spark{animation:none}}.player-bar{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--color-bg-secondary);border-radius:var(--radius-md);min-height:56px;flex-shrink:0;border:2px solid transparent;transition:all var(--transition-fast)}.player-bar.active{background:var(--color-bg-secondary);border-color:var(--color-accent-primary);box-shadow:0 0 0 1px #81b64c33,0 2px 8px #81b64c26}.player-avatar{width:36px;height:36px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;background:#3d3a36;flex-shrink:0}.player-details{display:flex;flex-direction:column;min-width:0;gap:2px}.player-name{font-weight:700;font-size:.9375rem;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-rating{font-size:.75rem;color:#9e9b98;font-weight:500}.captured-pieces{display:flex;align-items:center;gap:0;margin-left:auto;flex-shrink:0}.captured-piece{display:inline-flex;margin-left:-4px}.captured-piece:first-child{margin-left:0}.material-diff{font-size:.75rem;font-weight:700;color:#fff;margin-left:6px;background:#7fa6504d;padding:2px 6px;border-radius:3px}.bot-message-inline{flex:1;min-width:0;margin-left:12px;background:var(--color-bg-tertiary);padding:8px 12px;border-radius:var(--radius-sm);border-left:3px solid var(--color-accent-primary);animation:fadeInMessage .3s ease-out}@keyframes fadeInMessage{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.bot-quote{font-size:.8125rem;color:var(--color-text-secondary);font-style:italic;line-height:1.4}.coach-message{position:relative;border-left-color:#4caf50;background:#4caf501a}.coach-quote{-webkit-line-clamp:3;color:#81c784}.sidebar{display:flex;flex-direction:column;gap:8px;width:340px;flex-shrink:0;min-width:0;overflow:hidden}.sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.game-id-label{font-size:.8125rem;color:#9e9b98;font-weight:500;letter-spacing:.02em}.settings-btn{padding:6px 12px;background:transparent;border:1px solid #4d4a47;border-radius:4px;color:#b3b3b3;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s}.settings-btn:hover{background:#3d3a36;border-color:#5d5a57;color:#fff}.sidebar-panel{background:#262421;border-radius:8px;padding:16px;box-shadow:0 2px 8px #0000001a;border:1px solid rgba(0,0,0,.1)}.online-game-info,.game-status-panel,.draw-offer-panel,.reactions-panel,.online-controls{background:#262421;border-radius:8px;padding:14px;border:1px solid rgba(255,255,255,.08);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:10px}.game-code-display{display:flex;flex-direction:column;gap:4px}.game-code-display .label{font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:#9e9b98}.game-code-display .code{font-size:1.25rem;font-weight:700;color:#fff;letter-spacing:.08em}.opponent-status{display:flex;align-items:center;gap:8px;font-size:.8125rem;color:#b8b8b8}.opponent-status .status-dot{width:8px;height:8px;border-radius:999px;background:#7fa650;box-shadow:0 0 8px #7fa65080}.opponent-status.disconnected .status-dot{background:#e74c3c;box-shadow:0 0 8px #e74c3c80}.game-status-panel .status-message{font-weight:600;font-size:.9rem;color:#fff}.game-status-panel .player-color{font-size:.8125rem;color:#b0b0b0}.draw-offer-panel{gap:12px}.draw-offer-panel .draw-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.reactions-panel .reactions-label{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:#9e9b98}.reactions-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.reaction-btn{border:1px solid rgba(255,255,255,.12);background:#0003;color:#fff;border-radius:6px;padding:6px 0;cursor:pointer;font-size:.95rem}.reaction-btn:hover{background:#ffffff14}.sidebar-panel-title{font-size:.6875rem;font-weight:700;color:#9e9b98;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.bot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.bot-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;background:#312e2b;border-radius:4px;cursor:pointer;transition:all .15s;border:2px solid transparent}.bot-card:hover{background:#3d3a36}.bot-card.selected{border-color:#7fa650;background:#7fa65026}.bot-avatar{font-size:1.5rem;line-height:1}.bot-name{font-size:.6875rem;font-weight:600;color:#fff;text-align:center}.bot-rating{font-size:.625rem;color:#9e9b98}.bot-special-section{margin-top:12px;padding-top:12px;border-top:1px solid #3d3a36}.bot-special-label{display:block;font-size:.625rem;font-weight:700;color:#9e9b98;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.bot-special-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.game-controls{flex-shrink:0}.game-status{font-size:.875rem;font-weight:700;padding:12px;border-radius:4px;background:#312e2b;margin-bottom:10px;text-align:center;color:#fff}.game-status.status-check{background:#ffc10733;color:#ffc107;box-shadow:inset 0 0 0 1px #ffc10766}.game-status.status-checkmate{background:#e5737333;color:#ef5350;box-shadow:inset 0 0 0 1px #e5737366}.game-status.status-draw{background:#9e9e9e33;color:#bdbdbd;box-shadow:inset 0 0 0 1px #9e9e9e66}.control-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.btn{padding:10px 12px;border-radius:4px;font-size:.8125rem;font-weight:600;cursor:pointer;border:none;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .15s;white-space:nowrap;min-height:44px}.btn-primary{background:#7fa650;color:#fff}.btn-primary:hover{background:#8fb85a}.btn-primary:active{background:#6f9545}.btn-secondary{background:#3d3a36;color:#fff}.btn-secondary:hover{background:#4d4a46}.btn-secondary:active{background:#353330}.btn-danger{background:#c62828;color:#fff}.btn-danger:hover{background:#d32f2f}.btn-danger:active{background:#b71c1c}.btn-ghost{background:transparent;color:#b3b3b3;border:1px solid #4d4a47}.btn-ghost:hover{background:#3d3a36;color:#fff}.btn-large{padding:14px 20px;font-size:.9375rem}.btn:disabled{opacity:.5;cursor:not-allowed}.move-history{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.moves-container{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.moves-container::-webkit-scrollbar{width:6px}.moves-container::-webkit-scrollbar-track{background:#1a1816;border-radius:3px}.moves-container::-webkit-scrollbar-thumb{background:#4d4a46;border-radius:3px}.moves-list{display:flex;flex-direction:column}.move-row{display:flex;padding:6px 10px;font-family:SF Mono,Menlo,Monaco,Consolas,monospace;font-size:.8125rem;border-radius:2px;cursor:pointer}.move-row:nth-child(odd){background:#ffffff05}.move-row:hover{background:#ffffff0f}.move-row.current{background:#7fa65033}.move-number{color:#7a7775;width:32px;flex-shrink:0;font-weight:500}.white-move,.black-move{flex:1;font-weight:500}.white-move{color:#fff}.black-move{color:#b3b3b3}.chess-board{width:100%;height:100%;display:flex;flex-direction:column;--board-light: #eeeed2;--board-dark: #769656}.chess-board.theme-green{--board-light: #eeeed2;--board-dark: #769656}.chess-board.theme-brown{--board-light: #f0d9b5;--board-dark: #b58863}.chess-board.theme-blue{--board-light: #dee3e6;--board-dark: #8ca2ad}.chess-board.theme-purple{--board-light: #e8e0f0;--board-dark: #9070a0}.chess-row{display:flex;flex:1}.chess-square{flex:1;display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;-webkit-user-select:none;user-select:none}.chess-square.light{background-color:var(--board-light)}.chess-square.dark{background-color:var(--board-dark)}.chess-square.selected{background-color:#baca44!important}.chess-square.valid-move:after{content:"";position:absolute;width:28%;height:28%;background-color:#0000001f;border-radius:50%;pointer-events:none}.chess-square.valid-capture:after{content:"";position:absolute;width:100%;height:100%;border:5px solid rgba(0,0,0,.12);border-radius:50%;box-sizing:border-box;pointer-events:none}.chess-piece-wrapper{width:90%;height:90%;cursor:grab;display:flex;align-items:center;justify-content:center;-webkit-user-drag:element}.chess-piece-wrapper:active{cursor:grabbing}.chess-piece-wrapper svg{width:100%;height:100%;pointer-events:none}.chess-piece-wrapper.animating{transition:transform .15s ease-out}.rank-label,.file-label{position:absolute;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:700;font-size:.6875rem;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:1}.rank-label{left:2px;top:2px}.file-label{right:2px;bottom:1px}.chess-square.light .rank-label,.chess-square.light .file-label{color:#769656}.chess-square.dark .rank-label,.chess-square.dark .file-label{color:#eeeed2}.online-play-page{flex:1;display:flex;align-items:center;justify-content:center;padding:16px;overflow:auto}.lobby-container{background:#262421;border-radius:8px;padding:28px;width:100%;max-width:440px;box-shadow:0 8px 24px #0000004d}.lobby-content{display:flex;flex-direction:column;gap:20px}.elo-display{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px;background:#312e2b;border-radius:6px;margin-bottom:8px}.elo-label{font-size:.75rem;color:#9e9b98;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.elo-value{font-size:1.75rem;font-weight:700;color:#fff}.mode-title{font-size:1.125rem;font-weight:700;color:#fff;text-align:center;margin-bottom:4px}.mode-options{display:flex;flex-direction:column;gap:10px}.mode-option{display:flex;align-items:center;gap:16px;padding:16px;background:#312e2b;border:2px solid transparent;border-radius:6px;cursor:pointer;transition:all .15s;text-align:left;width:100%}.mode-option:hover{background:#3d3a36;border-color:#7fa650}.mode-icon{font-size:1.75rem;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#262421;border-radius:6px;flex-shrink:0}.mode-info{flex:1}.mode-info h3{font-size:1rem;font-weight:700;color:#fff;margin-bottom:4px}.mode-info p{font-size:.8125rem;color:#9e9b98;line-height:1.4}.login-required{display:inline-block;font-size:.6875rem;color:#ffc107;margin-top:4px;font-weight:600}.lobby-section{display:flex;flex-direction:column;gap:12px}.lobby-section h2{font-size:1rem;font-weight:700;color:#fff}.section-desc{font-size:.8125rem;color:#9e9b98;margin-top:-8px}.color-selector{display:flex;flex-direction:column;gap:8px}.selector-label{font-size:.8125rem;color:#9e9b98;font-weight:500}.color-options{display:flex;gap:8px}.color-option{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;background:#312e2b;border:2px solid transparent;border-radius:6px;cursor:pointer;transition:all .15s;color:#fff;font-weight:600;font-size:.875rem}.color-option:hover{background:#3d3a36}.color-option.selected{border-color:#7fa650;background:#7fa65026}.piece-icon{width:24px;height:24px}.lobby-divider{display:flex;align-items:center;gap:16px;color:#7a7775;font-size:.75rem;font-weight:600}.lobby-divider:before,.lobby-divider:after{content:"";flex:1;height:1px;background:#3d3a36}.join-form{display:flex;flex-direction:column;gap:10px}.join-input{padding:14px 16px;background:#312e2b;border:2px solid #3d3a36;border-radius:6px;color:#fff;font-size:1rem;font-weight:600;text-align:center;letter-spacing:2px;text-transform:uppercase;transition:border-color .15s}.join-input:focus{outline:none;border-color:#7fa650}.join-input::placeholder{color:#7a7775;letter-spacing:normal;text-transform:none;font-weight:400}.error-message{padding:10px 12px;background:#ef535026;border-radius:4px;color:#ef5350;font-size:.8125rem;font-weight:500}.back-btn{margin-top:8px}.waiting-container{flex:1;display:flex;align-items:center;justify-content:center;padding:16px}.waiting-content{display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center;max-width:360px}.waiting-animation{position:relative;width:80px;height:80px}.pulse-ring{position:absolute;inset:0;border:3px solid #7fa650;border-radius:50%;animation:pulse 1.5s ease-out infinite}@keyframes pulse{0%{transform:scale(1);opacity:1}to{transform:scale(1.5);opacity:0}}.waiting-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#262421;border-radius:50%}.waiting-icon img{width:48px;height:48px}.waiting-content h2{font-size:1.25rem;font-weight:700;color:#fff}.waiting-desc{font-size:.875rem;color:#9e9b98}.matchmaking-info{width:100%}.search-stats{display:flex;gap:24px;justify-content:center;margin-bottom:12px}.stat{display:flex;flex-direction:column;align-items:center;gap:4px}.stat-label{font-size:.6875rem;color:#9e9b98;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:1.25rem;font-weight:700;color:#fff}.expanded-search{font-size:.75rem;color:#ffc107;font-weight:500}.game-code-box{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px;background:#262421;border-radius:8px;width:100%}.code-label{font-size:.6875rem;color:#9e9b98;text-transform:uppercase;letter-spacing:.5px}.code-value{font-size:2rem;font-weight:700;color:#fff;letter-spacing:4px;font-family:SF Mono,Menlo,Monaco,Consolas,monospace}.copy-btn{padding:8px 16px;background:#7fa650;border:none;border-radius:4px;color:#fff;font-size:.8125rem;font-weight:600;cursor:pointer;transition:background .15s}.copy-btn:hover{background:#8fb85a}.share-options{width:100%}.player-info-waiting{font-size:.875rem;color:#9e9b98}.player-info-waiting strong{color:#fff}.modal-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1100;padding:16px}.modal{background:#262421;border-radius:8px;width:100%;max-width:440px;max-height:85vh;overflow-y:auto;box-shadow:0 16px 48px #0006}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #3d3a36}.modal-title{font-size:1.0625rem;font-weight:700;color:#fff}.modal-close{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:#9e9b98;font-size:1.25rem;cursor:pointer;border-radius:4px;transition:all .15s;flex-shrink:0}.modal-close:hover{background:#3d3a36;color:#fff}.modal-body{padding:20px}.loading-container{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.spinner{width:40px;height:40px;border:3px solid #3d3a36;border-top-color:#7fa650;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{font-size:.9375rem;color:#9e9b98}.hidden{display:none!important}.text-center{text-align:center}.text-primary{color:#fff}.text-secondary{color:#9e9b98}@media(max-width:1024px){.sidebar{width:280px}.bot-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.chess-game,.online-chess-game{padding:8px;padding-bottom:calc(var(--bottom-nav-height) + var(--safe-area-bottom) + 8px);gap:8px;overflow-y:auto;overflow-x:hidden}.online-chess-game{padding-bottom:calc(8px + env(safe-area-inset-bottom))}.game-container{flex-direction:column;gap:8px}.board-section{max-width:none;align-items:center}.board-wrapper{width:min(100%,92vw,calc(var(--game-viewport) - var(--header-height) - var(--bottom-nav-height) - 140px - var(--safe-area-bottom)));min-height:200px;min-width:200px}.player-bar .bot-message-inline{margin-left:8px;padding:4px 8px}.player-bar .bot-message-inline .bot-quote{font-size:.75rem}.sidebar{width:100%;flex-direction:row;flex-wrap:wrap;gap:8px;height:auto;max-height:none}.sidebar-header{width:100%}.sidebar-panel{flex:1 1 100%;min-width:0}.move-history{width:100%;flex:none;max-height:120px}.bot-grid{grid-template-columns:repeat(4,1fr)}.game-controls{position:fixed;bottom:0;left:0;right:0;background:#1a1b1ff5;padding:10px 12px;padding-bottom:calc(10px + env(safe-area-inset-bottom));z-index:100;box-shadow:0 -6px 18px #0006;border-top:1px solid rgba(255,255,255,.12);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.game-controls .bot-display-wrapper,.game-controls .player-info{display:none}.game-controls .game-status{margin-bottom:8px;padding:8px;font-size:.8125rem}.game-controls .control-buttons{grid-template-columns:repeat(3,1fr);gap:8px}.game-controls .btn{padding:10px 8px;font-size:.75rem;min-height:44px}}@media(max-width:600px){.app-header{padding:0 10px}.nav-links::-webkit-scrollbar{display:none}.app-logo{font-size:.9375rem}.nav-link{padding:6px 10px;font-size:.8125rem;flex-shrink:0}.app-header .login-btn{padding:5px 10px;font-size:.75rem}.chess-game,.online-chess-game{padding:6px;padding-bottom:calc(65px + env(safe-area-inset-bottom));gap:6px}.online-chess-game{padding-bottom:calc(6px + env(safe-area-inset-bottom))}.board-wrapper{width:min(100%,calc(100vw - 12px),calc(var(--game-viewport) - 260px));min-height:240px;min-width:240px}.player-bar{padding:6px 10px;min-height:44px}.player-bar .bot-message-inline{overflow:hidden}.player-avatar{width:32px;height:32px;font-size:1.25rem}.player-name{font-size:.875rem}.sidebar-panel{padding:10px}.bot-grid{grid-template-columns:repeat(3,1fr);gap:4px}.bot-card{padding:8px 4px}.bot-avatar{font-size:1.25rem}.bot-name{font-size:.6875rem}.reactions-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.btn{padding:8px 10px;font-size:.75rem;min-height:42px}.game-controls{padding:8px 10px;padding-bottom:calc(8px + env(safe-area-inset-bottom))}.game-controls .game-status{padding:6px;font-size:.75rem;margin-bottom:6px}.game-controls .btn{min-height:42px;padding:8px 6px}}@media(max-width:400px){.app-header{padding:0 8px;gap:6px}.app-logo{font-size:.875rem}.nav-link{padding:4px 8px;font-size:.75rem}.app-header .login-btn{padding:4px 8px;font-size:.6875rem}.chess-game,.online-chess-game{padding-bottom:calc(60px + env(safe-area-inset-bottom))}.online-chess-game{padding-bottom:calc(6px + env(safe-area-inset-bottom))}.board-wrapper{width:min(100%,calc(100vw - 8px),calc(var(--game-viewport) - 240px));min-height:220px;min-width:220px}.sidebar-panel{flex:1 1 100%;min-width:0}.reactions-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.control-buttons{grid-template-columns:repeat(3,1fr)}.btn{padding:8px 4px;font-size:.6875rem;min-height:40px}.game-controls{padding:6px 8px;padding-bottom:calc(6px + env(safe-area-inset-bottom))}.game-controls .game-status{display:none}.game-controls .control-buttons{gap:4px}.game-controls .btn{min-height:40px;padding:6px 4px;font-size:.625rem}}@media print{.app-header,.sidebar,.feedback-trigger{display:none!important}.chess-game,.online-chess-game{padding:0}.board-section{max-width:100%}}.app-header{background:linear-gradient(180deg,#262421fa,#22201df2);border-bottom:1px solid rgba(127,166,80,.18);box-shadow:0 12px 32px #0006;height:var(--header-height);padding:0 24px}.header-content{display:flex;align-items:center;justify-content:space-between;padding:0;max-width:1200px;margin:0 auto;height:100%}.page-title{color:#e5e6e8;font-size:.95rem;margin:0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;flex:1;text-transform:uppercase;letter-spacing:.08em}.hide-bottom-nav .bottom-nav,.hide-bottom-nav .chess-game .sidebar{display:none}.hide-bottom-nav .chess-game .board-section{max-width:none}.hide-bottom-nav .game-controls{display:none!important}.hide-bottom-nav .chess-game{padding-bottom:calc(230px + var(--safe-area-bottom))}@media(max-width:768px){.hide-bottom-nav .board-wrapper{width:min(92vw,calc(var(--game-viewport) - var(--header-height) - 120px - 140px - var(--safe-area-bottom)));max-width:92vw}}@media(max-width:420px){.hide-bottom-nav .chess-game{padding-bottom:calc(250px + var(--safe-area-bottom))}.hide-bottom-nav .board-wrapper{width:min(92vw,calc(var(--game-viewport) - var(--header-height) - 120px - 160px - var(--safe-area-bottom)))}}.bottom-nav{background:linear-gradient(180deg,#1f1e1cfa,#1a1917fc);border-top:1px solid rgba(127,166,80,.35);padding:0;height:calc(var(--bottom-nav-height) + var(--safe-area-bottom));position:fixed;bottom:0;left:0;right:0;z-index:1000;box-shadow:0 -10px 32px #00000080;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.nav-content{max-width:1200px;margin:0 auto;padding:0 1rem;display:flex;justify-content:space-around;gap:.25rem;height:var(--bottom-nav-height);align-items:stretch}.nav-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;background:transparent;border:none;color:#dcdddea6;padding:0 .5rem;cursor:pointer;font-size:.75rem;font-weight:600;transition:all .2s;min-width:60px;flex:1;text-decoration:none;gap:2px;position:relative}.nav-tab:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:0;height:3px;background:var(--color-accent-primary);transition:width .2s;border-radius:3px 3px 0 0}.nav-tab.active:after{width:40%}.nav-tab:hover{color:#dcddde;transform:translateY(-1px)}.nav-tab.active{color:var(--color-accent-primary)}.nav-tab.active:hover{background:#6fa03d}.nav-tab.disabled{opacity:.5;cursor:not-allowed}.nav-icon{font-size:1.2rem;margin-bottom:2px}.nav-label{line-height:1.2}.app{padding-bottom:calc(var(--bottom-nav-height) + var(--safe-area-bottom))}@media(max-width:768px){.app-header{height:var(--header-height);padding:0 12px}.app-header .header-content{width:100%;display:flex;gap:8px;align-items:center}.app-logo{font-size:.875rem;letter-spacing:.08em}.page-title{font-size:.875rem;text-align:center}.user-info{display:none}.logout-btn{min-height:44px;padding:8px 10px}.bottom-nav{height:calc(var(--bottom-nav-height) + var(--safe-area-bottom))}.nav-tab{min-width:0;padding:0 .25rem}}@media(max-width:480px){.app-header{padding:0 8px}.page-title{display:none}.header-right{margin-left:auto}.logout-btn{font-size:.75rem;padding:7px 10px}.nav-label{font-size:.7rem}}@media(orientation:landscape)and (max-height:500px){.app{--header-height: 36px;--bottom-nav-height: 46px}.game-container{flex-direction:row!important;align-items:flex-start;height:100%}.board-section{flex:0 0 auto;max-width:none}.board-wrapper,.hide-bottom-nav .board-wrapper{width:min(calc(100dvh - 110px),48vw)!important;max-width:48vw!important;min-width:180px;min-height:180px}.chess-game,.online-chess-game{padding:4px 8px!important;padding-bottom:calc(var(--bottom-nav-height) + var(--safe-area-bottom))!important;gap:6px!important;overflow-y:hidden}.hide-bottom-nav .chess-game{padding-bottom:calc(4px + var(--safe-area-bottom))!important}.sidebar{width:160px!important;flex-direction:column!important;flex-shrink:0;overflow-y:auto;max-height:calc(100dvh - 56px);height:auto}.move-history{max-height:80px!important}.app-header{min-height:36px!important;padding:3px 10px!important}.app-header .header-content{padding:3px 10px}.app-logo{font-size:.8125rem!important}.game-controls{padding:4px 8px!important;padding-bottom:calc(4px + env(safe-area-inset-bottom))!important}.game-controls .btn{min-height:36px!important;padding:5px 4px!important;font-size:.6875rem!important}.bottom-nav{padding:0!important;height:calc(var(--bottom-nav-height) + var(--safe-area-bottom))!important}.nav-tab{min-height:36px!important;padding:3px 4px!important}.nav-icon{font-size:1rem;margin-bottom:0}.nav-label{font-size:.6rem!important}.app{padding-bottom:calc(var(--bottom-nav-height) + var(--safe-area-bottom))!important}}
