@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Noto+Serif+SC:wght@400;600;700&display=swap";:root{--bg-primary: #0a0a12;--bg-secondary: #12121e;--bg-card: #1a1a2e;--bg-card-hover: #222240;--bg-glass: rgba(26, 26, 46, .7);--accent-red: #7a4a28;--accent-red-glow: rgba(230, 57, 70, .3);--accent-gold: #ffd700;--accent-gold-soft: #d4a017;--accent-gold-glow: rgba(255, 215, 0, .2);--accent-blue: #4cc9f0;--accent-green: #06d6a0;--text-primary: #f0f0f5;--text-secondary: #a0a0b8;--text-muted: #6a6a80;--border-subtle: rgba(255, 255, 255, .06);--border-accent: rgba(255, 215, 0, .2);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-glow-gold: 0 0 20px rgba(255, 215, 0, .15);--shadow-glow-red: 0 0 20px rgba(122, 74, 40, .15);--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-serif: "Noto Serif SC", "KaiTi", serif;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);min-height:100vh;overflow-x:hidden;line-height:1.6;background-image:url(/assets/bg-pattern.png);background-size:cover;background-position:center;background-attachment:fixed;background-blend-mode:overlay}#app{min-height:100vh;position:relative}.bg-pattern{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.bg-pattern:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#0a0a12d9,#12121e99,#0a0a12e6),url(/assets/bg-hero.png);background-size:cover;background-position:center;animation:bgFloat 30s ease-in-out infinite;opacity:.5}@keyframes bgFloat{0%,to{transform:translate(0) rotate(0)}33%{transform:translate(-2%,1%) rotate(1deg)}66%{transform:translate(1%,-1%) rotate(-.5deg)}}.particle{position:fixed;border-radius:50%;pointer-events:none;opacity:0;animation:particleFloat linear infinite}@keyframes particleFloat{0%{opacity:0;transform:translateY(100vh) rotate(0)}10%{opacity:.6}90%{opacity:.6}to{opacity:0;transform:translateY(-10vh) rotate(360deg)}}.app-shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh;background:var(--bg-primary);transition:grid-template-columns .3s ease}.app-shell.game-active{grid-template-columns:64px 1fr}.sidebar-overlay{display:none}.app-shell.game-active .app-sidebar:not(.collapsed){position:fixed;left:0;top:0;bottom:0;width:220px;z-index:200;box-shadow:4px 0 24px #00000080}.app-shell.game-active .sidebar-overlay.active{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:199}.app-sidebar{background:linear-gradient(180deg,#5c3a1e,#3d2510);display:flex;flex-direction:column;height:100vh;position:sticky;top:0;overflow-y:auto;overflow-x:hidden;transition:all .3s ease;z-index:50}.app-sidebar.sidebar-hidden{transform:translate(-100%);position:absolute}.app-sidebar.collapsed{width:64px}.app-sidebar.collapsed .sidebar-label,.app-sidebar.collapsed .sidebar-arrow,.app-sidebar.collapsed .sidebar-sub,.app-sidebar.collapsed .sidebar-logo-text{display:none}.app-sidebar.collapsed .sidebar-header{justify-content:center}.sidebar-header{display:flex;align-items:center;gap:10px;padding:20px 20px 16px;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-logo-icon{font-size:1.6rem;color:gold}.sidebar-logo-text{font-family:var(--font-serif);font-size:1.15rem;font-weight:700;color:#fff;letter-spacing:.5px}.sidebar-nav{flex:1;padding:8px 0}.sidebar-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 20px;background:none;border:none;color:#ffffffbf;font-family:var(--font-sans);font-size:.92rem;font-weight:500;cursor:pointer;transition:all .15s ease;text-align:left}.sidebar-item:hover{background:#ffffff14;color:#fff}.sidebar-icon{width:24px;text-align:center;font-size:1.1rem;flex-shrink:0}.sidebar-label{flex:1}.sidebar-arrow{font-size:.85rem;transition:transform .2s;opacity:.5}.sidebar-group-toggle.active .sidebar-arrow{transform:rotate(90deg);opacity:1}.sidebar-sub{max-height:0;overflow:hidden;transition:max-height .25s ease;background:#00000026}.sidebar-sub.open{max-height:300px}.sidebar-sub-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 20px 10px 32px;background:none;border:none;color:#fff9;font-family:var(--font-sans);font-size:.85rem;cursor:pointer;transition:all .15s ease;text-align:left}.sidebar-sub-item:hover{background:#ffffff0f;color:#ffffffe6}.sidebar-sub-item.active{background:#ffffff1f;color:#fff;font-weight:600}.sidebar-sub-icon{width:20px;text-align:center;font-size:.9rem}.sidebar-footer{border-top:1px solid rgba(255,255,255,.1);padding:4px 0}.sidebar-user-item{border-top:1px solid rgba(255,255,255,.06)}.sidebar-user-avatar{width:28px;height:28px;border-radius:50%;background:#ffffff26;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;overflow:hidden}.sidebar-user-avatar img{width:100%;height:100%;object-fit:cover}.app-content{min-height:100vh;overflow-y:auto;background:linear-gradient(135deg,#0f0f1ef2,#141428e6),url(/assets/bg-game.png) center/cover}.game-active .app-content{height:100vh;max-height:100vh;overflow:hidden;background:none}.lobby-page{padding:40px;max-width:700px;margin:0 auto;animation:fadeIn .3s ease-out}.quick-play-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:18px 32px;background:linear-gradient(135deg,#7a4a28,#5c3a1e);color:#fff;border:none;border-radius:10px;font-family:var(--font-sans);font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .25s;letter-spacing:1px;margin-bottom:20px;box-shadow:0 4px 16px #5c3a1e59}.quick-play-btn:hover{background:linear-gradient(135deg,#6a3a18,#4c2a10);box-shadow:0 6px 24px #5c3a1e80;transform:translateY(-2px)}.qp-icon{font-size:1.6rem}.qp-text{font-size:1.15rem}.lobby-tc-row{margin-bottom:20px}.lobby-stats{display:flex;justify-content:center;gap:28px;margin-bottom:24px;font-size:.85rem;color:var(--text-muted)}.lobby-stat{display:flex;align-items:center;gap:6px}.lobby-section{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;padding:20px 24px;margin-bottom:20px}.lobby-section-title{font-family:var(--font-sans);font-size:1rem;font-weight:700;color:var(--text-primary);margin-bottom:14px}.rooms-table-wrap{overflow-x:auto}.rooms-table{width:100%;border-collapse:collapse;font-size:.85rem}.rooms-table th{text-align:left;padding:8px 12px;font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-subtle)}.rooms-table td{padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.04);color:var(--text-secondary)}.rooms-table tr:hover td{background:#ffffff08}.room-id{color:var(--text-muted);font-weight:500;white-space:nowrap}.room-name{font-weight:500;color:var(--text-primary)}.room-mode-badge{font-weight:600;font-size:.8rem}.room-join-link{background:none;border:none;color:#7a4a28;font-weight:700;font-size:.85rem;cursor:pointer;font-family:var(--font-sans);transition:color .15s}.room-join-link:hover{color:#5c3a1e;text-decoration:underline}.puzzle-card{display:flex;gap:16px;align-items:flex-start}.puzzle-preview{flex-shrink:0}.puzzle-board-mini{width:80px;height:80px;background:linear-gradient(135deg,#eedac1,#e2c6a4);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#8b5120;border:1px solid rgba(139,81,32,.3)}.puzzle-info{flex:1}.puzzle-title{font-size:.95rem;font-weight:700;color:var(--text-primary);margin-bottom:4px}.puzzle-desc{font-size:.8rem;color:var(--text-muted);line-height:1.4;margin-bottom:10px}.puzzle-solve-btn{padding:6px 16px;background:none;border:1.5px solid #7a4a28;border-radius:6px;color:#7a4a28;font-family:var(--font-sans);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s}.puzzle-solve-btn:hover{background:#5c3a1e1a}.lobby-secondary{display:flex;flex-direction:column;gap:10px}.lobby-sec-btn{width:100%;padding:12px 20px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:10px;color:var(--text-secondary);font-family:var(--font-sans);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:10px}.lobby-sec-btn:hover{background:var(--bg-card-hover);color:var(--text-primary)}.sec-icon{font-size:1.1rem}.lobby-join-row{display:flex;gap:8px}.lobby-join-input{flex:1;height:44px;padding:0 16px;background:#ffffff0d;border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-primary);font-family:var(--font-sans);font-size:.95rem;text-transform:uppercase;letter-spacing:2px;text-align:center}.lobby-join-input:focus{outline:none;border-color:var(--accent-gold-soft)}.lobby-join-btn{padding:0 20px;height:44px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-secondary);font-family:var(--font-sans);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.lobby-join-btn:hover{background:var(--bg-card-hover);color:var(--accent-gold);border-color:var(--accent-gold-soft)}.time-control-wrap{position:relative;margin-bottom:20px}.time-control-btn{width:100%;display:flex;align-items:center;gap:16px;padding:16px 20px;background:#ffffff0a;border:2px solid rgba(183,52,43,.4);border-radius:10px;cursor:pointer;transition:all .2s;text-align:left;color:var(--text-primary);font-family:var(--font-sans)}.time-control-btn:hover{border-color:#b7342bb3;background:#ffffff0f}.tc-main{display:flex;align-items:center;gap:10px}.tc-icon{font-size:1.3rem}.tc-value{font-size:1.4rem;font-weight:800;color:var(--accent-red)}.tc-desc{flex:1;font-size:.85rem;color:var(--text-muted)}.tc-arrow{font-size:1rem;color:var(--text-muted);transition:transform .2s}.time-control-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:20;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:10px;box-shadow:0 12px 32px #00000080;overflow:hidden;animation:fadeIn .15s}.tc-option{display:flex;align-items:center;gap:12px;width:100%;padding:14px 20px;background:none;border:none;border-bottom:1px solid rgba(255,255,255,.04);color:var(--text-secondary);font-family:var(--font-sans);font-size:.9rem;cursor:pointer;transition:all .15s;text-align:left}.tc-option:last-child{border-bottom:none}.tc-option:hover{background:#ffffff0f;color:var(--text-primary)}.tc-option.active{background:#b7342b1f;color:var(--accent-red)}.tc-opt-icon{font-size:1.1rem;width:24px;text-align:center}.tc-opt-info{flex:1;display:flex;flex-direction:column;gap:2px}.tc-opt-name{font-weight:600}.tc-opt-desc{font-size:.78rem;color:var(--text-muted)}.tc-opt-short{font-weight:700;font-size:.85rem;color:var(--text-muted)}.play-stats{display:flex;justify-content:center;gap:28px;margin-bottom:20px;font-size:.85rem;color:var(--text-muted)}.play-stat{display:flex;align-items:center;gap:6px}.stat-dot{width:8px;height:8px;border-radius:50%;animation:pulse 2s infinite}.stat-dot.online{background:#2ecc71}.stat-dot.games{background:var(--accent-gold)}.stat-num{font-weight:700;color:var(--text-primary)}.play-main-btn{width:100%;height:52px;background:linear-gradient(135deg,#b73a2b,#c0392b);color:#fff;border:none;border-radius:10px;font-family:var(--font-sans);font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .2s;letter-spacing:1px}.play-main-btn:hover{background:linear-gradient(135deg,#a0321f,#b73a2b);box-shadow:0 4px 20px #b7342b80;transform:translateY(-1px)}.play-secondary{display:flex;flex-direction:column;gap:12px}.play-sec-btn{width:100%;padding:14px 20px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:10px;color:var(--text-secondary);font-family:var(--font-sans);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:10px}.play-sec-btn:hover{background:var(--bg-card-hover);color:var(--text-primary);border-color:#ffd70033}.play-sec-icon{font-size:1.1rem}.play-join-row{display:flex;gap:8px}.play-join-input{flex:1;height:46px;padding:0 16px;background:#ffffff0d;border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-primary);font-family:var(--font-sans);font-size:.95rem;text-transform:uppercase;letter-spacing:2px;text-align:center}.play-join-input:focus{outline:none;border-color:var(--accent-gold-soft)}.play-join-btn{padding:0 20px;height:46px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-secondary);font-family:var(--font-sans);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.play-join-btn:hover{background:var(--bg-card-hover);color:var(--accent-gold);border-color:var(--accent-gold-soft)}.placeholder-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;padding:60px 40px;text-align:center}.placeholder-icon{font-size:3rem;margin-bottom:16px}.placeholder-title{font-size:1.2rem;font-weight:700;color:var(--text-primary);margin-bottom:8px}.placeholder-desc{font-size:.9rem;color:var(--text-muted);max-width:400px;margin:0 auto}.settings-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;padding:28px}.settings-section-title{font-size:1rem;font-weight:600;color:var(--text-secondary);margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid var(--border-subtle)}.settings-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.04)}.settings-label{font-size:.95rem;color:var(--text-primary)}.settings-toggle-group{display:flex;gap:4px;background:#ffffff0a;border-radius:8px;padding:3px}.settings-toggle-btn{padding:6px 14px;background:none;border:none;border-radius:6px;color:var(--text-muted);font-family:var(--font-sans);font-size:.8rem;cursor:pointer;transition:all .2s}.settings-toggle-btn.active{background:#b7342b4d;color:var(--accent-red);font-weight:600}.settings-switch{position:relative;width:48px;height:26px;display:inline-block}.settings-switch input{opacity:0;width:0;height:0}.settings-slider{position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffff1f;border-radius:13px;cursor:pointer;transition:all .3s}.settings-slider:before{content:"";position:absolute;width:20px;height:20px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:all .3s}.settings-switch input:checked+.settings-slider{background:#b73a2b}.settings-switch input:checked+.settings-slider:before{transform:translate(22px)}.settings-save-btn{margin-top:24px;padding:12px 32px;background:linear-gradient(135deg,#b73a2b,#c0392b);color:#fff;border:none;border-radius:8px;font-family:var(--font-sans);font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}.settings-save-btn:hover{box-shadow:0 4px 16px #b7342b66}.landing-page{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:var(--space-xl);position:relative;z-index:1}.landing-hero{text-align:center;margin-bottom:var(--space-xl);animation:fadeInUp .8s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.landing-icon{width:100px;height:100px;margin-bottom:var(--space-md);display:inline-block;animation:iconPulse 3s ease-in-out infinite;filter:drop-shadow(0 0 30px rgba(255,215,0,.4));background:url(/assets/logo.png) center/contain no-repeat;border-radius:50%}@keyframes iconPulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.landing-title{font-family:var(--font-serif);font-size:clamp(2rem,5vw,3.5rem);font-weight:700;background:linear-gradient(135deg,var(--accent-gold),#fff5cc,var(--accent-gold));background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:shimmer 3s ease-in-out infinite;margin-bottom:var(--space-sm)}@keyframes shimmer{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.landing-subtitle{font-size:1.1rem;color:var(--text-secondary);font-weight:300;letter-spacing:.5px}.landing-actions{display:flex;flex-direction:column;gap:var(--space-md);width:100%;max-width:460px;animation:fadeInUp .8s ease-out .2s both}.btn{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);border:none;border-radius:var(--radius-md);font-family:var(--font-sans);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal);position:relative;overflow:hidden;text-decoration:none}.btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.1),transparent);opacity:0;transition:opacity var(--transition-fast)}.btn:hover:before{opacity:1}.btn-primary{background:linear-gradient(135deg,#7a4a28,#5c3a1e);color:#fff;box-shadow:var(--shadow-md),var(--shadow-glow-red)}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg),0 0 30px #5c3a1e4d}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm)}.btn-secondary:hover{background:var(--bg-card-hover);border-color:var(--accent-gold-glow);transform:translateY(-2px);box-shadow:var(--shadow-md),var(--shadow-glow-gold)}.btn-gold{background:linear-gradient(135deg,var(--accent-gold-soft),var(--accent-gold));color:#1a1a2e;box-shadow:var(--shadow-md),var(--shadow-glow-gold)}.btn-gold:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg),0 0 30px #ffd70059}.btn-sm{padding:var(--space-sm) var(--space-md);font-size:.875rem}.btn-icon{width:40px;height:40px;padding:0;border-radius:var(--radius-sm);font-size:1.2rem}.btn span.icon{font-size:1.3rem}.join-area{display:flex;gap:var(--space-sm);animation:fadeInUp .8s ease-out .4s both}.input{flex:1;padding:var(--space-md);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-primary);font-family:var(--font-sans);font-size:1rem;transition:all var(--transition-normal);outline:none}.input:focus{border-color:var(--accent-gold);box-shadow:0 0 0 3px var(--accent-gold-glow)}.input::placeholder{color:var(--text-muted)}.divider{display:flex;align-items:center;gap:var(--space-md);color:var(--text-muted);font-size:.85rem;animation:fadeInUp .8s ease-out .3s both}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--border-subtle)}.gr-dark{--gr-bg: #0e0e1a;--gr-panel: #1a1a2e;--gr-panel-border: rgba(255,255,255,.08);--gr-text: #e0e0e6;--gr-text-muted: #888;--gr-card-bg: rgba(30, 30, 50, .85);--gr-header-bg: rgba(40, 40, 60, .9);--gr-timer-red-bg: rgba(160, 80, 40, .7);--gr-timer-black-bg: rgba(40, 40, 60, .8);--gr-icon-bg: rgba(255,255,255,.06);--gr-icon-hover: rgba(255,255,255,.12);--gr-badge-bg: #b07030}.gr-light{--gr-bg: #d8cfc0;--gr-panel: #f5f0e8;--gr-panel-border: rgba(0,0,0,.08);--gr-text: #2c2c2c;--gr-text-muted: #777;--gr-card-bg: rgba(255, 252, 245, .9);--gr-header-bg: rgba(92, 58, 30, .9);--gr-timer-red-bg: #5c3a1e;--gr-timer-black-bg: #222;--gr-icon-bg: rgba(0,0,0,.05);--gr-icon-hover: rgba(0,0,0,.1);--gr-badge-bg: #b07030}.game-room{display:flex;align-items:stretch;height:100vh;max-height:100vh;overflow:hidden;position:relative;z-index:1;background-color:var(--gr-bg);color:var(--gr-text);font-family:var(--font-sans)}.gr-board-area{flex:1;display:flex;align-items:center;justify-content:center;min-width:0;padding:12px;position:relative}.gr-back-btn{position:absolute;top:12px;left:12px;width:36px;height:36px;border-radius:50%;border:1px solid var(--gr-panel-border);background:var(--gr-card-bg);color:var(--gr-text);font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;z-index:10}.gr-back-btn:hover{background:var(--gr-icon-hover);transform:scale(1.1)}.gr-canvas{border-radius:10px;cursor:pointer;max-height:calc(100vh - 24px);max-width:100%;transition:transform .3s}.gr-board-controls{position:absolute;bottom:16px;left:16px;display:flex;gap:4px}.gr-board-ctrl{width:34px;height:34px;border-radius:8px;border:1px solid var(--gr-panel-border);background:var(--gr-card-bg);color:var(--gr-text-muted);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.gr-board-ctrl:hover{background:var(--gr-icon-hover);color:var(--gr-text)}.gr-panel{width:300px;min-width:280px;flex-shrink:0;display:flex;flex-direction:column;background:var(--gr-panel);border-left:1px solid var(--gr-panel-border);overflow-y:auto;overflow-x:hidden}.gr-panel-section{border-bottom:1px solid var(--gr-panel-border)}.gr-panel-section:last-child{border-bottom:none}.gr-panel-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;font-weight:700;font-size:.85rem;background:var(--gr-header-bg);color:#fff;flex-shrink:0}.gr-light .gr-panel-header{color:#fff}.gr-move-section{flex:0 0 auto}.gr-move-list{max-height:160px;overflow-y:auto;padding:6px 8px}.gr-move-list::-webkit-scrollbar{width:4px}.gr-move-list::-webkit-scrollbar-track{background:transparent}.gr-move-list::-webkit-scrollbar-thumb{background:var(--gr-panel-border);border-radius:2px}.gr-move-nav{display:flex;gap:3px}.gr-nav-btn{width:26px;height:26px;border-radius:4px;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;color:#fff;font-size:.8rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.gr-nav-btn:hover{background:#fff3}.move-entry{display:flex;align-items:center;gap:6px;padding:3px 6px;border-radius:4px;font-size:.82rem;font-family:var(--font-serif);transition:background .15s}.move-entry:hover{background:var(--gr-icon-hover)}.move-number{color:var(--gr-text-muted);font-size:.72rem;min-width:20px;font-family:var(--font-sans)}.move-piece{font-size:.95rem}.move-piece.red{color:#b07030}.move-piece.black{color:var(--gr-text)}.move-notation{color:var(--gr-text-muted);font-family:var(--font-sans);font-size:.78rem}.move-capture-icon{font-size:.68rem;color:#b07030;opacity:.7}.move-history-empty{text-align:center;color:var(--gr-text-muted);font-size:.82rem;padding:16px}.gr-players-section{flex:1 1 auto;overflow-y:auto}.gr-player-row{display:flex;align-items:center;gap:10px;padding:8px 14px;border-bottom:1px solid var(--gr-panel-border);transition:all .2s}.gr-player-row.gr-player-active{background:#b0703014;border-left:3px solid #b07030}.gr-avatar{width:36px;height:36px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;object-fit:cover}.gr-avatar-red{background:linear-gradient(135deg,#5c3a1e,#8b6030);color:gold;border:2px solid rgba(139,96,48,.5)}.gr-avatar-black{background:linear-gradient(135deg,#222,#444);color:#ddd;border:2px solid rgba(100,100,120,.5)}img.gr-avatar{border:2px solid #b07030}.gr-player-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.gr-player-name{font-weight:600;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gr-player-rank{font-size:.7rem;color:var(--gr-text-muted)}.gr-timer{font-family:Fira Mono,Roboto Mono,monospace;font-size:1.2rem;font-weight:800;padding:4px 10px;border-radius:6px;flex-shrink:0;text-align:center;min-width:60px;transition:all .3s}.gr-timer-red{background:var(--gr-timer-red-bg);color:#ffc888}.gr-timer-black{background:var(--gr-timer-black-bg);color:#ccc}.gr-timer-active{box-shadow:0 0 12px #b070304d;transform:scale(1.02)}.gr-timer-danger{animation:grPulse 1s ease-in-out infinite;color:#ff6b6b}@keyframes grPulse{0%,to{opacity:1}50%{opacity:.7}}.gr-game-controls{display:flex;gap:6px;padding:8px 14px}.gr-ctrl-btn{flex:1;padding:8px;border-radius:6px;border:1px solid var(--gr-panel-border);background:var(--gr-icon-bg);color:var(--gr-text);font-family:var(--font-sans);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s;text-align:center}.gr-ctrl-btn:hover{background:var(--gr-icon-hover)}.gr-ctrl-draw{border-color:#ffffff26}.gr-ctrl-resign{background:#5c3a1e;color:#fff;border-color:#5c3a1e}.gr-ctrl-resign:hover{background:#7a4a28}.gr-ctrl-accept{background:#27ae6026;color:#27ae60;border-color:#27ae604d}.gr-ctrl-small{font-size:.75rem;padding:6px}.gr-draw-offer{padding:8px 14px;background:#b0703014;border:1px solid rgba(176,112,48,.2);margin:0 14px 8px;border-radius:6px;text-align:center;font-size:.82rem}.gr-draw-offer span{display:block;margin-bottom:6px;font-weight:600}.gr-draw-actions{display:flex;gap:6px}.gr-extra-controls{display:flex;gap:4px;padding:4px 14px 8px;flex-wrap:wrap}.gr-captures{display:flex;flex-direction:column;gap:2px;font-family:var(--font-serif);font-size:.78rem;color:var(--gr-text-muted);padding:2px 14px}.gr-room-info{display:flex;align-items:center;gap:8px;padding:6px 14px}.gr-mode-badge{font-size:.68rem;padding:2px 8px;border-radius:20px;color:#fff;font-weight:600}.gr-room-code{font-size:.68rem;color:var(--gr-text-muted);font-family:monospace}.gr-status-badge{font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:4px;background:#ffffff1a}.gr-status-win{color:gold;background:#ffd70026}.gr-status-check{color:#ff6b6b;animation:grPulse .5s ease-in-out 3}.gr-status-draw{color:var(--gr-text-muted)}.gr-theme-section{padding:8px 14px}.gr-theme-label{font-size:.72rem;color:var(--gr-text-muted);display:block;margin-bottom:4px}.gr-theme-options{display:flex;gap:4px}.gr-theme-opt{flex:1;padding:5px;border-radius:4px;border:1px solid var(--gr-panel-border);background:var(--gr-icon-bg);color:var(--gr-text);font-size:.7rem;cursor:pointer;text-align:center;transition:all .2s}.gr-theme-opt:hover{background:var(--gr-icon-hover)}.gr-theme-opt.active{border-color:#b07030;color:#b07030;background:#b0703014}.gr-chat-section{flex:0 0 auto}.gr-chat-body{max-height:160px;min-height:80px;overflow-y:auto;padding:6px 8px;transition:max-height .25s ease,min-height .25s ease,padding .25s ease}.gr-chat-placeholder{text-align:center;color:var(--gr-text-muted);font-size:.8rem;padding:20px 10px}.gr-chat-toggle{cursor:pointer;-webkit-user-select:none;user-select:none}.gr-chat-chevron{font-size:.9rem;color:#fff9;transition:transform .2s;cursor:pointer}.gr-chat-collapsed .gr-chat-body{max-height:0;min-height:0;padding:0 8px;overflow:hidden}.gr-chat-collapsed .gr-chat-chevron{transform:rotate(-90deg)}.gr-mic-btn{width:26px;height:26px;border-radius:4px;border:1px solid rgba(255,255,255,.2);background:#ffffff1a;color:#fff;font-size:.8rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.gr-mic-active{background:#b070304d!important;border-color:#b07030!important}.gr-chat-body .chat-panel{margin:0;border:none;border-radius:0;background:transparent}@media(min-width:1400px){.app-shell.game-active{grid-template-columns:220px 1fr}.app-shell.game-active .app-sidebar{width:220px!important;position:sticky!important;box-shadow:none!important}.app-shell.game-active .app-sidebar .sidebar-label,.app-shell.game-active .app-sidebar .sidebar-arrow,.app-shell.game-active .app-sidebar .sidebar-sub,.app-shell.game-active .app-sidebar .sidebar-logo-text{display:unset}.app-shell.game-active .app-sidebar .sidebar-header{justify-content:flex-start}.app-shell.game-active .sidebar-overlay{display:none!important}}.game-room:fullscreen .gr-canvas{max-height:calc(100vh - 24px)}.game-bg{background:linear-gradient(180deg,#0c0c18,#141422,#0a0a14)}.game-topbar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);background:#0a0a19f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08);position:relative;z-index:200;flex-wrap:wrap;flex-shrink:0}.theme-picker{width:100%;display:flex;gap:var(--space-xs);padding:var(--space-sm) 0 0;animation:fadeIn .2s ease-out}.theme-option{flex:1;padding:var(--space-sm) var(--space-xs);background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:var(--font-sans);font-size:.75rem;cursor:pointer;transition:all var(--transition-fast);text-align:center}.theme-option:hover{background:var(--bg-card-hover);color:var(--text-primary)}.theme-option.active{border-color:var(--accent-gold);color:var(--accent-gold);background:#ffd70014}.menu-dropdown-wrapper{position:relative}.menu-dropdown{position:absolute;top:100%;right:0;z-index:100;min-width:180px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-xs) 0;box-shadow:0 8px 24px #0006;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:fadeIn .15s ease-out}.menu-item{display:block;width:100%;padding:8px 16px;background:none;border:none;color:var(--text-secondary);font-family:var(--font-sans);font-size:.85rem;text-align:left;cursor:pointer;transition:all var(--transition-fast)}.menu-item:hover{background:var(--bg-card-hover);color:var(--text-primary)}.menu-danger{color:var(--accent-red)!important}.menu-divider{border:none;border-top:1px solid var(--border-subtle);margin:4px 0}.move-nav{display:flex;justify-content:center;gap:var(--space-xs);padding:4px 0}.btn-nav{width:36px;height:28px;font-size:.75rem;padding:0;display:flex;align-items:center;justify-content:center}.game-room:fullscreen{background-size:cover}.game-room:fullscreen .game-container{height:calc(100vh - 50px)}.topbar-left{display:flex;align-items:center;gap:var(--space-sm)}.topbar-title{font-family:var(--font-serif);font-size:1.1rem;font-weight:600;color:var(--accent-gold)}.topbar-right{display:flex;align-items:center;gap:var(--space-xs)}.game-container{display:flex;flex:1;gap:var(--space-lg);padding:var(--space-sm) var(--space-lg);max-width:1200px;margin:0 auto;width:100%;align-items:flex-start;overflow:hidden;min-height:0}.board-wrapper{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);flex-shrink:0;max-height:100%;overflow:hidden}.player-card{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:6px 12px;background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-subtle);width:100%;min-width:300px;transition:all var(--transition-normal)}.player-card.active{border-color:var(--accent-gold);box-shadow:var(--shadow-glow-gold)}.player-card-left{display:flex;align-items:center;gap:var(--space-sm)}.player-card-info{display:flex;flex-direction:column;gap:2px}.player-card-right{display:flex;align-items:center;gap:var(--space-sm)}.player-elo{font-size:.7rem;color:var(--accent-gold-soft);font-weight:500;opacity:.8}.clock-box{font-size:1.15rem;font-weight:800;font-family:Fira Mono,Roboto Mono,monospace;padding:4px 12px;border-radius:var(--radius-sm);min-width:70px;text-align:center;transition:all .3s ease}.clock-box.clock-red{background:#b4282840;color:#ff6b6b;border:1px solid rgba(230,57,70,.3)}.clock-box.clock-black{background:#28283c80;color:#bbb;border:1px solid rgba(120,120,160,.3)}.clock-box.clock-active{transform:scale(1.05)}.clock-box.clock-red.clock-active{background:#b4282873;box-shadow:0 0 12px #e6394666}.clock-box.clock-black.clock-active{background:#3c3c5ab3;box-shadow:0 0 12px #7878b44d}.clock-box.clock-danger{color:#ff4757;animation:pulse 1s ease-in-out infinite}.clock-box.clock-critical{background:#ff32324d!important;color:#f22;animation:pulse .5s ease-in-out infinite}.player-avatar{width:36px;height:36px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;object-fit:cover;border:2px solid var(--border-subtle)}img.player-avatar{border:2px solid var(--accent-gold-soft)}.player-avatar-red{background:linear-gradient(135deg,#8b1a1a,#c0392b);color:gold;border-color:#e6394680;box-shadow:0 0 8px #e639464d}.player-avatar-black{background:linear-gradient(135deg,#1a1a2e,#2a2a40);color:#ccc;border-color:#7878a066;box-shadow:0 0 8px #64649633}.player-name{font-weight:600;font-size:.95rem}.player-captures{display:flex;gap:2px;font-family:var(--font-serif);font-size:.75rem;color:var(--text-muted)}.turn-indicator{font-size:.65rem;padding:1px 6px;border-radius:var(--radius-full);background:var(--accent-gold);color:#1a1a2e;font-weight:700;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.game-canvas{border-radius:var(--radius-md);cursor:pointer;max-width:100%!important;max-height:calc(100vh - 200px)!important;object-fit:contain;height:auto!important;width:auto!important}.game-sidebar{display:flex;flex-direction:column;gap:var(--space-md);flex:1;min-width:260px;max-width:320px}.status-bar{padding:var(--space-md);background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-subtle);text-align:center}.status-text{font-size:1rem;font-weight:600}.status-text.check{color:var(--accent-red);animation:checkFlash .5s ease-in-out 3}@keyframes checkFlash{0%,to{opacity:1}50%{opacity:.5}}.status-text.checkmate{color:var(--accent-gold);font-size:1.1rem}.game-controls{display:flex;gap:var(--space-sm);flex-wrap:wrap}.game-controls .btn{flex:1;min-width:0}.move-history{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-subtle);overflow:hidden;flex:1}.move-history-header{padding:var(--space-sm) var(--space-md);font-weight:600;font-size:.875rem;color:var(--text-secondary);border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;gap:var(--space-sm)}.move-history-list{max-height:300px;overflow-y:auto;padding:var(--space-sm)}.move-history-list::-webkit-scrollbar{width:4px}.move-history-list::-webkit-scrollbar-track{background:transparent}.move-history-list::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:2px}.chat-panel{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-subtle);display:flex;flex-direction:column;overflow:hidden;margin-top:var(--space-sm)}.chat-header{padding:var(--space-sm) var(--space-md);font-weight:600;font-size:.875rem;color:var(--text-secondary);border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;justify-content:space-between}.spectator-badge{font-size:.75rem;color:var(--text-muted);background:#ffffff0d;padding:2px 8px;border-radius:var(--radius-sm)}.chat-messages{max-height:200px;min-height:100px;overflow-y:auto;padding:var(--space-sm);display:flex;flex-direction:column;gap:4px}.chat-messages::-webkit-scrollbar{width:4px}.chat-messages::-webkit-scrollbar-track{background:transparent}.chat-messages::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:2px}.chat-msg{display:flex;align-items:baseline;gap:6px;font-size:.8rem;line-height:1.4;padding:2px 0}.chat-role{font-size:.7rem;flex-shrink:0}.chat-sender{font-weight:600;flex-shrink:0}.chat-text{color:var(--text-primary);word-break:break-word}.chat-time{font-size:.65rem;color:var(--text-muted);margin-left:auto;flex-shrink:0}.chat-system{font-size:.75rem;color:var(--accent-gold);font-style:italic;padding:2px 0}.chat-input-row{display:flex;gap:var(--space-xs);padding:var(--space-sm);border-top:1px solid var(--border-subtle)}.chat-input{flex:1;background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);padding:var(--space-xs) var(--space-sm);font-family:var(--font-sans);font-size:.8rem;outline:none;transition:border-color var(--transition-fast)}.chat-input:focus{border-color:var(--accent-gold-soft)}.chat-send{padding:var(--space-xs) var(--space-sm);font-size:.85rem}.voice-active{background:#e6394633!important;border-color:var(--accent-red)!important;animation:voicePulse 1.5s infinite}@keyframes voicePulse{0%,to{box-shadow:0 0 #e639464d}50%{box-shadow:0 0 0 6px #e6394600}}.move-entry{display:flex;align-items:center;gap:var(--space-sm);padding:4px var(--space-sm);border-radius:var(--radius-sm);font-size:.85rem;font-family:var(--font-serif);transition:background var(--transition-fast)}.move-entry:hover{background:var(--bg-card-hover)}.move-number{color:var(--text-muted);font-size:.75rem;min-width:24px;font-family:var(--font-sans)}.move-piece{font-size:1rem}.move-piece.red{color:var(--accent-red)}.move-piece.black{color:var(--text-primary)}.move-notation{color:var(--text-secondary);font-family:var(--font-sans);font-size:.8rem}.move-history-empty{text-align:center;color:var(--text-muted);font-size:.85rem;padding:var(--space-lg)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-lg);animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-xl);max-width:440px;width:100%;box-shadow:var(--shadow-lg);animation:modalIn .3s ease-out}@keyframes modalIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg)}.modal-title{font-size:1.2rem;font-weight:700}.modal-close{background:none;border:none;color:var(--text-muted);font-size:1.5rem;cursor:pointer;padding:var(--space-xs);transition:color var(--transition-fast);line-height:1}.modal-close:hover{color:var(--text-primary)}.modal-body{margin-bottom:var(--space-lg)}.modal-actions{display:flex;gap:var(--space-sm);justify-content:flex-end}.invite-section{margin-bottom:var(--space-lg)}.invite-label{font-size:.85rem;color:var(--text-secondary);margin-bottom:var(--space-sm)}.invite-link-box{display:flex;gap:var(--space-sm);align-items:center}.invite-link-input{flex:1;padding:var(--space-sm) var(--space-md);background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-primary);font-family:monospace;font-size:.85rem;outline:none}.copy-feedback{font-size:.8rem;color:var(--accent-green);text-align:center;margin-top:var(--space-sm);opacity:0;transition:opacity var(--transition-fast)}.copy-feedback.show{opacity:1}.room-code{font-family:monospace;font-size:2rem;font-weight:700;text-align:center;letter-spacing:8px;color:var(--accent-gold);padding:var(--space-lg);background:var(--bg-primary);border-radius:var(--radius-md);border:1px dashed var(--border-accent);margin-bottom:var(--space-md)}.game-over-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .5s ease-out}.game-over-card{text-align:center;padding:var(--space-2xl);animation:modalIn .5s ease-out .2s both}.game-over-icon{font-size:72px;margin-bottom:var(--space-lg);animation:iconPulse 2s ease-in-out infinite}.game-over-title{font-family:var(--font-serif);font-size:2.5rem;font-weight:700;background:linear-gradient(135deg,var(--accent-gold),#fff5cc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--space-sm)}.game-over-subtitle{color:var(--text-secondary);font-size:1.1rem;margin-bottom:var(--space-xl)}.game-over-actions{display:flex;gap:var(--space-md);justify-content:center}.toast-container{position:fixed;top:var(--space-lg);right:var(--space-lg);z-index:2000;display:flex;flex-direction:column;gap:var(--space-sm)}.toast{padding:var(--space-sm) var(--space-md);background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-md);font-size:.9rem;animation:toastIn .3s ease-out;display:flex;align-items:center;gap:var(--space-sm)}.toast.success{border-color:var(--accent-green)}.toast.warning{border-color:var(--accent-gold)}.toast.error{border-color:var(--accent-red)}@keyframes toastIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.landing-footer{margin-top:var(--space-2xl);text-align:center;animation:fadeInUp .8s ease-out .5s both}.landing-footer p{color:var(--text-muted);font-size:.8rem}.landing-footer a{color:var(--accent-gold-soft);text-decoration:none;transition:color var(--transition-fast)}.landing-footer a:hover{color:var(--accent-gold)}.landing-section-label{font-size:.85rem;color:var(--text-secondary);text-align:center;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:var(--space-xs)}.mode-select-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-sm);width:100%}.mode-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);padding:var(--space-md) var(--space-sm);background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);position:relative;font-family:var(--font-sans);color:var(--text-primary);text-align:center}.mode-card:hover{background:var(--bg-card-hover);border-color:var(--accent-gold);transform:translateY(-3px);box-shadow:var(--shadow-md),var(--shadow-glow-gold)}.mode-card-recommended{border-color:#ffd7004d}.mode-card-icon{font-size:2rem}.mode-card-name{font-weight:600;font-size:.9rem}.mode-card-time{font-family:Courier New,monospace;font-size:1.3rem;font-weight:700;color:var(--accent-gold)}.mode-card-desc{font-size:.7rem;color:var(--text-muted);line-height:1.3}.mode-badge-hot{position:absolute;top:-6px;right:-6px;background:var(--accent-red);color:#fff;font-size:.55rem;font-weight:700;letter-spacing:.5px;padding:2px 6px;border-radius:var(--radius-sm)}.selected-mode-display{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--bg-card);border:1px solid var(--border-accent);border-radius:var(--radius-md);font-size:.95rem}.mode-display-icon{font-size:1.4rem}.mode-display-text{font-weight:600}.clock-display{font-family:Courier New,monospace;font-size:1.2rem;font-weight:700;padding:4px 10px;border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);min-width:64px;text-align:center;flex-shrink:0;border:1px solid var(--border-subtle);transition:all var(--transition-fast)}.clock-display.clock-active{background:#ffd7001a;border-color:var(--accent-gold);color:var(--accent-gold)}.clock-display.clock-danger{color:var(--accent-red);border-color:var(--accent-red);animation:clockPulse 1s ease-in-out infinite}.clock-display.clock-critical{color:#f44;background:#ff00001a;border-color:#f44;animation:clockCritical .5s ease-in-out infinite;font-size:1.3rem}@keyframes clockPulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes clockCritical{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}.mode-badge{font-size:.7rem;font-weight:700;padding:3px 8px;border-radius:var(--radius-full);color:#fff;letter-spacing:.3px;flex-shrink:0}.draw-offer-bar{padding:var(--space-sm) var(--space-md);background:#ffd7001a;border:1px solid var(--accent-gold);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);font-size:.9rem;animation:fadeIn .3s ease-out}.draw-offer-actions{display:flex;gap:var(--space-xs)}.move-capture-icon{font-size:.7rem;color:var(--accent-red);opacity:.7}.landing-auth-bar{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-sm);width:100%;max-width:460px;margin-bottom:var(--space-md);animation:fadeIn .5s ease-out}.auth-user-btn{display:flex;align-items:center;gap:var(--space-sm);background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-full);padding:4px 12px 4px 4px;cursor:pointer;transition:all var(--transition-fast);color:var(--text-primary);font-family:var(--font-sans);font-size:.85rem}.auth-user-btn:hover{background:var(--bg-card-hover);border-color:var(--accent-gold)}.auth-avatar{width:28px;height:28px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--accent-gold);color:#1a1a2e;font-weight:700;font-size:.75rem;flex-shrink:0}.auth-avatar img{width:100%;height:100%;object-fit:cover}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f3460);background-size:cover;padding:var(--space-lg)}.auth-card{width:100%;max-width:420px;background:#1a1a2eeb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,215,0,.12);border-radius:16px;padding:40px 36px 32px;box-shadow:0 20px 60px #00000080;display:flex;flex-direction:column;align-items:center;animation:fadeIn .4s ease-out}.auth-logo{display:flex;align-items:center;gap:10px;margin-bottom:28px}.auth-logo-icon{font-size:1.8rem;color:var(--accent-red)}.auth-logo-text{font-family:var(--font-serif);font-size:1.4rem;font-weight:700;color:var(--accent-gold);letter-spacing:.5px}.auth-tabs{display:flex;width:100%;margin-bottom:24px;border-bottom:1px solid rgba(255,255,255,.08)}.auth-tab{flex:1;padding:12px 0;background:none;border:none;border-bottom:3px solid transparent;color:var(--text-muted);font-family:var(--font-sans);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.auth-tab:hover{color:var(--text-secondary)}.auth-tab.active{color:var(--accent-red);border-bottom-color:var(--accent-red)}.auth-form{width:100%;display:flex;flex-direction:column;gap:18px}.auth-field{display:flex;flex-direction:column;gap:6px}.auth-field label{font-size:.85rem;font-weight:500;color:var(--text-secondary)}.auth-field input{width:100%;height:48px;padding:0 16px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:var(--text-primary);font-family:var(--font-sans);font-size:.95rem;transition:all .2s ease;box-sizing:border-box}.auth-field input::placeholder{color:#ffffff40}.auth-field input:focus{outline:none;border-color:var(--accent-gold-soft);background:#ffffff14;box-shadow:0 0 0 3px #ffd70014}.auth-password-wrap{position:relative}.auth-password-wrap input{padding-right:48px}.auth-eye-btn{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:40px;height:40px;background:none;border:none;cursor:pointer;font-size:1rem;opacity:.4;transition:opacity .2s;display:flex;align-items:center;justify-content:center}.auth-eye-btn:hover{opacity:.8}.auth-forgot{align-self:flex-end;font-size:.8rem;color:var(--accent-gold-soft);text-decoration:none;margin-top:-8px}.auth-forgot:hover{color:var(--accent-gold);text-decoration:underline}.auth-submit-btn{width:100%;height:50px;margin-top:6px;background:linear-gradient(135deg,#b73a2b,#c0392b);color:#fff;border:none;border-radius:10px;font-family:var(--font-sans);font-size:1.05rem;font-weight:700;cursor:pointer;transition:all .2s ease;letter-spacing:.5px}.auth-submit-btn:hover{background:linear-gradient(135deg,#a0321f,#b73a2b);box-shadow:0 4px 16px #b7342b66;transform:translateY(-1px)}.auth-submit-btn:active{transform:translateY(0)}.auth-guest-link{margin-top:16px;background:none;border:none;color:var(--accent-red);font-family:var(--font-sans);font-size:.9rem;font-weight:600;cursor:pointer;transition:color .2s}.auth-guest-link:hover{color:#ff6b6b;text-decoration:underline}.auth-divider{width:100%;display:flex;align-items:center;gap:12px;margin:20px 0 16px}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:#ffffff14}.auth-divider span{font-size:.78rem;color:var(--text-muted);white-space:nowrap}.auth-social{display:flex;gap:16px;justify-content:center}.auth-social-btn{width:48px;height:48px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.auth-social-btn:hover{background:#ffffff1f;border-color:#fff3;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.auth-social-disabled{opacity:.45;cursor:default;position:relative;width:auto;padding:0 14px;gap:8px}.auth-social-disabled:hover{transform:none;box-shadow:none;opacity:.6}.auth-social-label{font-family:var(--font-sans);font-size:.65rem;color:var(--text-muted);white-space:nowrap}.auth-status{width:100%;text-align:center;padding:10px 16px;border-radius:8px;font-size:.85rem;margin-top:12px;animation:fadeIn .3s}.auth-error{background:#e639461f;color:#ff6b6b;border:1px solid rgba(230,57,70,.2)}.auth-success{background:#2ecc711f;color:#2ecc71;border:1px solid rgba(46,204,113,.2)}.auth-loading{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--text-muted)}.auth-back-link{margin-top:20px;background:none;border:none;color:var(--text-muted);font-family:var(--font-sans);font-size:.8rem;cursor:pointer;transition:color .2s}.auth-back-link:hover{color:var(--text-secondary)}.spinner{width:18px;height:18px;border:2px solid var(--border-subtle);border-top-color:var(--accent-gold);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:480px){.auth-card{padding:28px 20px 24px;border-radius:12px}.auth-field input{height:44px}.auth-submit-btn{height:46px}}.profile-header{text-align:center;margin-bottom:var(--space-lg);position:relative;animation:fadeInUp .5s ease-out}.profile-back{position:absolute;left:0;top:0}.profile-avatar{width:80px;height:80px;border-radius:50%;margin:0 auto var(--space-md);overflow:hidden;border:3px solid var(--accent-gold);box-shadow:var(--shadow-glow-gold);display:flex;align-items:center;justify-content:center;background:var(--bg-card)}.profile-avatar img{width:100%;height:100%;object-fit:cover}.avatar-placeholder{font-size:2rem;font-weight:700;color:var(--accent-gold)}.profile-name{font-family:var(--font-serif);font-size:1.5rem;font-weight:700;color:var(--text-primary)}.elo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-sm);margin-bottom:var(--space-lg);animation:fadeInUp .5s ease-out .1s both}.elo-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-md) var(--space-sm);text-align:center}.elo-card-primary{border-color:var(--accent-gold);box-shadow:var(--shadow-glow-gold)}.elo-mode{font-size:.75rem;color:var(--text-muted);margin-bottom:4px}.elo-value{font-size:1.6rem;font-weight:700;color:var(--accent-gold);font-family:Courier New,monospace}.elo-sub{font-size:.65rem;color:var(--text-muted);margin-top:4px}.stats-section{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-md);animation:fadeInUp .5s ease-out .2s both}.stats-header{font-weight:600;font-size:.9rem;margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border-subtle)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-sm);margin-bottom:var(--space-md)}.stat-item{text-align:center}.stat-value{font-size:1.5rem;font-weight:700}.stat-label{font-size:.7rem;color:var(--text-muted)}.stat-win .stat-value{color:#27ae60}.stat-draw .stat-value{color:var(--accent-gold)}.stat-loss .stat-value{color:var(--accent-red)}.stats-extra{display:flex;justify-content:space-between;font-size:.8rem;color:var(--text-secondary)}.winrate-bar-container{margin-bottom:var(--space-lg);animation:fadeInUp .5s ease-out .3s both}.winrate-bar{display:flex;height:8px;border-radius:4px;overflow:hidden;background:var(--bg-card)}.winrate-segment{transition:width .5s ease}.winrate-win{background:#27ae60}.winrate-draw{background:var(--accent-gold)}.winrate-loss{background:var(--accent-red)}.winrate-legend{display:flex;gap:var(--space-md);justify-content:center;margin-top:var(--space-sm);font-size:.7rem}.legend-win{color:#27ae60}.legend-draw{color:var(--accent-gold)}.legend-loss{color:var(--accent-red)}.ranking-header{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg);animation:fadeInUp .5s ease-out}.ranking-title{font-family:var(--font-serif);font-size:1.4rem;font-weight:700;background:linear-gradient(135deg,var(--accent-gold),#fff5cc);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.ranking-tabs{display:flex;gap:var(--space-xs);margin-bottom:var(--space-md);animation:fadeInUp .5s ease-out .1s both}.ranking-tab{flex:1;padding:var(--space-sm) var(--space-md);background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);font-family:var(--font-sans);font-size:.85rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);text-align:center}.ranking-tab:hover{background:var(--bg-card-hover)}.ranking-tab.active{background:var(--accent-gold);color:#1a1a2e;border-color:var(--accent-gold)}.ranking-loading{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-2xl);color:var(--text-muted);font-size:.9rem}.ranking-table-wrap{animation:fadeInUp .3s ease-out;max-width:100%;overflow-x:auto}.ranking-table{width:100%;border-collapse:collapse;font-size:.85rem}.ranking-table th{background:var(--bg-card);padding:var(--space-sm) var(--space-md);text-align:left;font-weight:600;color:var(--text-secondary);font-size:.75rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-subtle)}.ranking-table td{padding:var(--space-sm) var(--space-md);border-bottom:1px solid rgba(255,255,255,.04)}.ranking-table tr:hover td{background:#ffd70008}.rank-me td{background:#ffd70014!important}.rank-top3 td{font-weight:600}.rank-num{min-width:32px;text-align:center}.rank-elo{font-family:Courier New,monospace;color:var(--accent-gold)}.rank-player{display:flex;align-items:center;gap:var(--space-sm)}.rank-avatar{width:28px;height:28px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--bg-card-hover);color:var(--text-muted);font-size:.7rem;font-weight:700;flex-shrink:0}.rank-avatar img{width:100%;height:100%;object-fit:cover}.rank-wdl{font-size:.8rem}.wdl-win{color:#27ae60}.wdl-draw{color:var(--accent-gold)}.wdl-loss{color:var(--accent-red)}.ranking-empty{text-align:center;color:var(--text-muted);padding:var(--space-xl);font-size:.9rem}.my-rank{text-align:center;padding:var(--space-md);background:var(--bg-card);border:1px solid var(--accent-gold);border-radius:var(--radius-md);margin-top:var(--space-md);font-size:.9rem;animation:fadeIn .3s}@media(max-width:900px){.game-container{flex-direction:column;align-items:center;padding:var(--space-md)}.game-sidebar{width:100%;max-width:100%;min-width:unset}.game-canvas{max-width:100%}.board-wrapper{width:100%}.player-card{min-width:unset}}@media(max-width:500px){.landing-page{padding:var(--space-md)}.landing-icon{font-size:56px}.landing-title{font-size:1.8rem}.game-topbar{padding:var(--space-xs) var(--space-sm)}.topbar-title{font-size:.9rem}.game-over-title{font-size:1.8rem}.game-over-actions{flex-direction:column}}.hidden{display:none!important}.text-red{color:var(--accent-red)}.text-gold{color:var(--accent-gold)}.text-muted{color:var(--text-muted)}.text-center{text-align:center}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}@media(max-width:768px){.app-shell{grid-template-columns:1fr;grid-template-rows:1fr auto}.app-shell.game-active{grid-template-columns:1fr;grid-template-rows:1fr}.app-sidebar{position:fixed;bottom:0;left:0;right:0;height:auto;flex-direction:row;background:linear-gradient(0deg,#3d2510,#5c3a1e);z-index:100;border-top:1px solid rgba(255,255,255,.1);width:100%!important}.app-sidebar.collapsed{width:100%!important}.app-shell.game-active .app-sidebar{display:none}.sidebar-header,.sidebar-sub,.sidebar-arrow,.sidebar-footer .sidebar-collapse-btn,.sidebar-footer .sidebar-item:not(.sidebar-user-item){display:none}.sidebar-nav{display:flex;flex:1;padding:0;overflow-x:auto}.sidebar-nav .sidebar-group{flex:none}.sidebar-group-toggle{flex-direction:column;padding:8px 16px;font-size:.7rem;gap:4px}.sidebar-icon{font-size:1.2rem}.sidebar-footer{border-top:none;display:flex;padding:0}.sidebar-user-item{border-top:none;flex-direction:column;padding:8px 12px;font-size:.7rem;gap:4px}.app-content{min-height:calc(100vh - 60px);padding-bottom:60px}.app-shell.game-active .app-content{padding-bottom:0;min-height:100vh}.lobby-page{padding:20px 16px}.game-room{flex-direction:column;height:100vh}.gr-board-area{flex:1;min-height:0;padding:8px}.gr-canvas{max-height:55vh;max-width:calc(100vw - 16px)}.gr-panel{width:100%;min-width:unset;max-height:40vh;border-left:none;border-top:1px solid var(--gr-panel-border);overflow-y:auto}.gr-back-btn{top:4px;left:4px;width:32px;height:32px;font-size:1rem}.gr-board-controls{bottom:8px;left:8px}.auth-page{padding:var(--space-md)}}.play-find-btn{background:linear-gradient(135deg,#1a5276,#2980b9)!important;position:relative;overflow:hidden}.play-find-btn:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.08) 50%,transparent 70%);animation:shimmer 3s ease-in-out infinite}@keyframes shimmer{0%{transform:translate(-100%) rotate(30deg)}to{transform:translate(100%) rotate(30deg)}}.play-find-btn:hover{background:linear-gradient(135deg,#154360,#2471a3)!important;box-shadow:0 4px 20px #2980b980!important}.find-icon{font-size:1.1rem}.play-create-btn{background:var(--bg-card)!important;color:var(--text-secondary)!important;border:1px solid var(--border-subtle)!important;font-size:.95rem!important}.play-create-btn:hover{background:var(--bg-card-hover)!important;color:var(--text-primary)!important;box-shadow:none!important;transform:none!important}.mm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#05050fd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease-out}.mm-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:20px;padding:48px 40px;text-align:center;max-width:420px;width:90%;box-shadow:0 20px 60px #0009;animation:scaleIn .4s cubic-bezier(.34,1.56,.64,1)}@keyframes scaleIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.mm-radar{position:relative;width:120px;height:120px;margin:0 auto 24px}.mm-radar-ring{position:absolute;top:0;right:0;bottom:0;left:0;border:2px solid rgba(41,128,185,.4);border-radius:50%;animation:radarPulse 2s ease-out infinite}.mm-radar-ring-2{animation-delay:.6s}.mm-radar-ring-3{animation-delay:1.2s}@keyframes radarPulse{0%{transform:scale(.3);opacity:1;border-color:#2980b9cc}to{transform:scale(1.5);opacity:0;border-color:#2980b900}}.mm-radar-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:2.5rem;animation:radarSpin 3s linear infinite}@keyframes radarSpin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.mm-title{font-family:var(--font-serif);font-size:1.3rem;color:var(--text-primary);margin-bottom:8px}.mm-subtitle{font-size:.9rem;color:var(--text-muted);margin-bottom:4px}.mm-elo-info{font-size:.85rem;color:var(--accent-blue);margin-bottom:24px}.mm-cancel-btn{padding:10px 32px;background:#e6394626;border:1px solid rgba(230,57,70,.3);border-radius:8px;color:var(--accent-red);font-family:var(--font-sans);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.mm-cancel-btn:hover{background:#e6394640;border-color:#e6394680}.mm-found-card{border-color:#ffd7004d;box-shadow:0 20px 60px #0009,0 0 40px #ffd7001a}.mm-found-icon{font-size:3rem;margin-bottom:16px;animation:bounceIn .6s cubic-bezier(.34,1.56,.64,1)}@keyframes bounceIn{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.mm-found-title{color:var(--accent-gold)!important;margin-bottom:20px!important}.mm-opponent{display:flex;align-items:center;gap:16px;background:#ffffff0a;border:1px solid var(--border-subtle);border-radius:12px;padding:16px 20px;margin-bottom:20px;animation:slideInRight .5s ease-out .3s both}@keyframes slideInRight{0%{transform:translate(40px);opacity:0}to{transform:translate(0);opacity:1}}.mm-opponent-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#1a5276,#2980b9);display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:#fff;flex-shrink:0}.mm-opponent-info{display:flex;flex-direction:column;gap:4px;text-align:left}.mm-opponent-name{font-weight:700;font-size:1.1rem;color:var(--text-primary)}.mm-opponent-elo{font-size:.85rem;color:var(--accent-blue)}.mm-redirect{font-size:.9rem;color:var(--text-muted)}.mm-redirect span{color:var(--accent-gold);font-weight:700;font-size:1.1rem}.lobby-chat{position:fixed;bottom:20px;right:20px;width:360px;max-height:480px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:16px;box-shadow:0 12px 40px #00000080;z-index:200;display:flex;flex-direction:column;animation:slideUp .3s cubic-bezier(.34,1.56,.64,1);overflow:hidden}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.lobby-chat.hidden{display:none}.lobby-chat-header{display:flex;align-items:center;gap:8px;padding:14px 16px;background:linear-gradient(135deg,#7a1a1a,#5c1414);color:#fff;font-weight:600;font-size:.9rem}.lobby-chat-title{flex:1}.lobby-chat-online{font-size:.75rem;background:#ffffff26;padding:2px 8px;border-radius:10px;color:#fffc}.lobby-chat-close{background:none;border:none;color:#fff9;font-size:1rem;cursor:pointer;padding:2px 4px;transition:color .15s}.lobby-chat-close:hover{color:#fff}.lobby-chat-messages{flex:1;padding:12px 14px;overflow-y:auto;max-height:340px;min-height:200px}.lobby-msg{display:flex;align-items:baseline;gap:6px;padding:4px 0;font-size:.85rem;line-height:1.4;animation:msgFadeIn .2s ease-out}@keyframes msgFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.lobby-msg-name{font-weight:600;color:var(--accent-blue);white-space:nowrap;flex-shrink:0}.lobby-msg-text{color:var(--text-secondary);word-break:break-word}.lobby-msg-time{font-size:.7rem;color:var(--text-muted);margin-left:auto;white-space:nowrap;flex-shrink:0}.lobby-msg-error{color:var(--accent-red);font-style:italic;font-size:.8rem}.lobby-chat-input-row{display:flex;gap:6px;padding:10px 14px;border-top:1px solid var(--border-subtle);background:#00000026}.lobby-chat-input{flex:1;height:36px;padding:0 12px;background:#ffffff0d;border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-primary);font-family:var(--font-sans);font-size:.85rem}.lobby-chat-input:focus{outline:none;border-color:#2980b980}.lobby-chat-send{width:36px;height:36px;background:linear-gradient(135deg,#7a1a1a,#5c1414);border:none;border-radius:8px;color:#fff;font-size:.9rem;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center}.lobby-chat-send:hover{background:linear-gradient(135deg,#8a2a2a,#6c2424);box-shadow:0 2px 8px #7a1a1a66}@media(max-width:500px){.lobby-chat{width:calc(100% - 20px);right:10px;bottom:70px;max-height:400px}}.play-computer-page{animation:fadeIn .3s ease-out}.pc-header{text-align:center;margin-bottom:28px}.pc-header-icon{font-size:3rem;display:block;margin-bottom:10px;animation:iconPulse 3s ease-in-out infinite}.pc-header-title{font-family:var(--font-serif);font-size:1.8rem;font-weight:700;background:linear-gradient(135deg,var(--accent-gold),#fff5cc,var(--accent-gold));background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:shimmer 3s ease-in-out infinite;margin-bottom:6px}.pc-header-desc{color:var(--text-muted);font-size:.9rem}.pc-levels-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px}.pc-level-card{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#ffffff08;border:1.5px solid var(--border-subtle);border-radius:10px;cursor:pointer;transition:all .2s;text-align:left;color:var(--text-secondary);font-family:var(--font-sans);font-size:.85rem}.pc-level-card:hover{background:#ffffff0f;border-color:#b070304d;color:var(--text-primary);transform:translateY(-1px)}.pc-level-card.active{background:#b070301a;border-color:#b07030;color:var(--text-primary);box-shadow:0 0 12px #b0703026}.pc-level-icon{font-size:1.4rem;flex-shrink:0}.pc-level-info{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.pc-level-name{font-weight:600;font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pc-level-elo{font-size:.7rem;color:var(--text-muted)}.pc-level-id{font-size:.68rem;color:var(--text-muted);font-weight:700;flex-shrink:0}.pc-level-detail{display:flex;align-items:center;gap:14px;padding:14px 18px;background:#b070300f;border:1px solid rgba(176,112,48,.15);border-radius:10px}.pc-level-detail-icon{font-size:2.2rem}.pc-level-detail-info{display:flex;flex-direction:column;gap:3px}.pc-level-detail-name{font-weight:700;font-size:1rem;color:var(--text-primary)}.pc-level-detail-desc{font-size:.82rem;color:var(--text-secondary)}.pc-level-detail-elo{font-size:.75rem;color:var(--accent-gold-soft);font-weight:600}.pc-side-options{display:flex;gap:10px}.pc-side-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 12px;background:#ffffff08;border:1.5px solid var(--border-subtle);border-radius:12px;cursor:pointer;transition:all .2s;color:var(--text-secondary);font-family:var(--font-sans)}.pc-side-btn:hover{background:#ffffff0f;border-color:#b070304d;transform:translateY(-2px)}.pc-side-btn.active{background:#b070301a;border-color:#b07030;color:var(--text-primary);box-shadow:0 0 12px #b0703026}.pc-side-piece{font-size:2rem;font-family:var(--font-serif);width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:50%}.pc-piece-red{background:linear-gradient(135deg,#5c3a1e,#8b6030);color:gold;border:2px solid rgba(139,96,48,.6)}.pc-piece-black{background:linear-gradient(135deg,#1a1a2e,#2a2a40);color:#e0e0e6;border:2px solid rgba(100,100,120,.5)}.pc-piece-random{background:linear-gradient(135deg,#3d2510,#5c3a1e);border:2px solid rgba(176,112,48,.4);font-size:1.6rem}.pc-side-label{font-weight:600;font-size:.88rem}.pc-side-hint{font-size:.72rem;color:var(--text-muted)}.pc-time-options{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.pc-time-btn{display:flex;flex-direction:column;align-items:center;gap:3px;padding:12px 10px;background:#ffffff08;border:1.5px solid var(--border-subtle);border-radius:10px;cursor:pointer;transition:all .2s;color:var(--text-secondary);font-family:var(--font-sans);text-align:center}.pc-time-btn:hover{background:#ffffff0f;border-color:#b070304d}.pc-time-btn.active{background:#b070301a;border-color:#b07030;color:var(--text-primary)}.pc-time-icon{font-size:1.3rem}.pc-time-name{font-weight:600;font-size:.82rem}.pc-time-desc{font-size:.7rem;color:var(--text-muted)}.pc-start-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;padding:18px 32px;margin-top:24px;background:linear-gradient(135deg,#7a4a28,#5c3a1e);color:#fff;border:none;border-radius:12px;font-family:var(--font-sans);font-size:1.15rem;font-weight:700;cursor:pointer;transition:all .25s;letter-spacing:1px;box-shadow:0 4px 16px #5c3a1e59;position:relative;overflow:hidden}.pc-start-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.1),transparent);opacity:0;transition:opacity .2s}.pc-start-btn:hover{background:linear-gradient(135deg,#6a3a18,#4c2a10);box-shadow:0 6px 24px #5c3a1e80;transform:translateY(-2px)}.pc-start-btn:hover:before{opacity:1}.pc-start-btn:active{transform:translateY(0)}.pc-start-icon{font-size:1.4rem}.pc-start-text{font-size:1.1rem}.gr-ai-thinking{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 14px;background:#b0703014;border:1px solid rgba(176,112,48,.15);border-radius:8px;margin:0 14px 8px;animation:fadeIn .3s ease-out}.gr-ai-thinking.hidden{display:none}.gr-ai-thinking-dots{display:flex;gap:4px}.gr-ai-thinking-dots span{width:6px;height:6px;border-radius:50%;background:#b07030;animation:aiDotPulse 1.4s infinite ease-in-out both}.gr-ai-thinking-dots span:nth-child(1){animation-delay:-.32s}.gr-ai-thinking-dots span:nth-child(2){animation-delay:-.16s}.gr-ai-thinking-dots span:nth-child(3){animation-delay:0}@keyframes aiDotPulse{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.gr-ai-thinking-text{font-size:.8rem;color:#b07030;font-weight:600}.gr-ctrl-hint{background:#ffd70014;color:var(--accent-gold-soft);border-color:#ffd70033}.gr-ctrl-hint:hover{background:#ffd70026!important;color:var(--accent-gold)}@media(max-width:600px){.pc-levels-grid{grid-template-columns:repeat(2,1fr)}.pc-side-piece{font-size:1.6rem;width:40px;height:40px}.pc-time-options{grid-template-columns:1fr 1fr}}@media(max-width:400px){.pc-levels-grid{grid-template-columns:1fr 1fr}}
