.lobby-container{display:flex;flex-direction:column;height:100vh;background-color:var(--tg-bg, #17212B);color:var(--tg-text, #ffffff);padding-bottom:80px;overflow-y:auto}.lobby-content{flex:1;display:flex;flex-direction:column;padding:24px 16px;max-width:600px;margin:0 auto;width:100%}.greeting-section{display:flex;flex-direction:column;align-items:center;margin-top:24px;margin-bottom:24px;text-align:center}.greeting-avatar{width:84px;height:84px;border-radius:50%;background:linear-gradient(135deg,#2aabee,#1d9fe0);margin-bottom:14px;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 3px #2aabee40,0 8px 24px #2aabee33;font-size:36px;color:#fff;overflow:hidden}.greeting-avatar img{width:100%;height:100%;object-fit:cover}.avatar-placeholder-large{font-size:40px}.greeting-title{font-size:26px;font-weight:700;margin-bottom:6px;color:var(--tg-text, #ffffff);letter-spacing:-.3px}.greeting-subtitle{font-size:15px;color:var(--tg-text-secondary, #708499)}.section-label{font-size:13px;text-transform:uppercase;color:var(--tg-text-secondary, #708499);margin-bottom:8px;padding-left:12px;letter-spacing:.5px}.list-group{background-color:var(--tg-surface, #1e2c3a);border-radius:12px;overflow:hidden;margin-bottom:20px}.list-item{display:flex;align-items:center;padding:14px 16px;cursor:pointer;border-bottom:1px solid var(--tg-border, rgba(255,255,255,.08));transition:background-color .2s;color:var(--tg-text, #ffffff)}.list-item.selected{background-color:#2aabee14}.list-item.selected .item-icon{color:var(--tg-accent, #2AABEE)}.list-item.selected .check-icon{opacity:1}.check-icon{color:var(--tg-accent, #2AABEE);opacity:0;transition:opacity .2s;width:20px;height:20px}.game-list{background-color:var(--tg-surface, #1e2c3a);border-radius:12px;overflow:hidden;margin-bottom:16px}.game-list-item{display:flex;align-items:center;width:100%;padding:14px 16px;gap:14px;cursor:pointer;border:none;border-bottom:1px solid var(--tg-border, rgba(255,255,255,.08));background:transparent;color:var(--tg-text, #ffffff);font-family:inherit;font-size:15px;font-weight:500;outline:none;transition:background-color .2s}.game-list-item:last-child{border-bottom:none}.game-list-item:active:not(.disabled){background-color:var(--subtle-bg)}.game-list-item.selected{background-color:#2aabee14;color:var(--tg-accent, #2AABEE)}.game-list-item.disabled{opacity:.4;cursor:default}.game-list-icon{font-size:22px;width:28px;text-align:center;flex-shrink:0}.game-list-label{flex:1;text-align:left}.game-list-soon{font-size:12px;font-weight:400;color:var(--tg-text-secondary, #708499)}.checker-icon{display:inline-block;width:20px;height:20px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff,#f0f0f0 40%,#d0d0d0);box-shadow:0 2px 4px #0000004d;border:1px solid rgba(0,0,0,.08);vertical-align:middle}.ludo-icon{display:inline-block;width:20px;height:20px;border-radius:3px;position:relative;overflow:hidden;vertical-align:middle;background:linear-gradient(to right,transparent 42%,#fff 42%,#fff 58%,transparent 58%),linear-gradient(to bottom,transparent 42%,#fff 42%,#fff 58%,transparent 58%),conic-gradient(#e74c3c,#e74c3c 90deg,#3498db 90deg,#3498db 180deg,#f1c40f 180deg,#f1c40f 270deg,#2ecc71 270deg,#2ecc71 360deg);box-shadow:0 1px 3px #00000040}.mode-selector{display:flex;gap:12px;margin-bottom:20px}.mode-card{flex:1;background-color:var(--tg-surface, #1e2c3a);border:1.5px solid transparent;border-radius:12px;padding:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;color:var(--tg-text-secondary, #708499);outline:none;font-family:inherit}.mode-card:active{transform:scale(.98);background-color:var(--subtle-bg)}.mode-card.selected{background-color:#2aabee1a;border-color:var(--tg-accent, #2AABEE);color:var(--tg-accent, #2AABEE)}.mode-icon{font-size:28px;margin-bottom:8px;display:block}.mode-label{font-size:14px;font-weight:600;display:block}.mode-section{max-height:0;overflow:hidden;opacity:0;transform:translateY(-10px);transition:max-height .3s cubic-bezier(.4,0,.2,1),opacity .2s ease,transform .2s ease}.mode-section.expanded{max-height:1000px;opacity:1;transform:translateY(0);transition:max-height .3s cubic-bezier(.4,0,.2,1),opacity .3s ease .1s,transform .3s ease .1s}.mode-section-content{padding-bottom:1px}.color-segmented{display:flex;background-color:var(--tg-surface, #1e2c3a);border-radius:12px;padding:4px;margin-bottom:20px}.segment-option{flex:1;display:flex;align-items:center;justify-content:center;padding:10px;border-radius:8px;cursor:pointer;transition:all .2s;color:var(--tg-text-secondary, #708499);font-size:14px;font-weight:500;gap:8px}.segment-option.selected{background-color:var(--tg-bg-secondary, #232e3c);color:var(--tg-text, #ffffff);box-shadow:0 2px 8px #0003}.color-dot{width:12px;height:12px;border-radius:50%;border:1px solid var(--subtle-border)}.color-dot.white{background:#fff}.color-dot.black{background:#000;border-color:var(--tg-text-secondary)}.color-dot.random{background:linear-gradient(135deg,#fff 50%,#000 50%)}.difficulty-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.difficulty-dot.easy{background:#4cd964}.difficulty-dot.medium{background:#fc0}.difficulty-dot.hard{background:#ff3b30}.difficulty-dot.adaptive{background:linear-gradient(135deg,#4cd964,#007aff)}.bet-selector{background-color:var(--tg-surface, #1e2c3a);border-radius:12px;padding:12px;margin-bottom:20px}.bet-balance{display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:12px;font-size:14px;color:var(--tg-text-secondary, #708499)}.bet-balance-icon{font-size:16px}.bet-balance-value{font-weight:600;color:var(--tg-text, #ffffff)}.bet-input-row{display:flex;gap:8px;margin-bottom:12px}.bet-input-wrapper{flex:1;display:flex;align-items:center;gap:8px;background:var(--subtle-bg);border:1.5px solid var(--tg-border);border-radius:10px;padding:0 12px;transition:border-color .2s}.bet-input-wrapper:focus-within{border-color:var(--tg-accent, #2AABEE)}.bet-input-icon{font-size:16px;flex-shrink:0}.bet-amount-input{flex:1;background:transparent;border:none;outline:none;color:var(--tg-text, #ffffff);font-size:16px;font-weight:500;padding:12px 0;-moz-appearance:textfield}.bet-amount-input::placeholder{color:var(--tg-text-secondary, #708499)}.bet-amount-input::-webkit-outer-spin-button,.bet-amount-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.bet-presets{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.bet-preset-btn{padding:8px 14px;border-radius:20px;border:1.5px solid var(--tg-border);background:transparent;color:var(--tg-text, #ffffff);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.bet-preset-btn:active:not(:disabled){transform:scale(.95)}.bet-preset-btn.selected{background-color:var(--tg-accent, #2AABEE);border-color:var(--tg-accent, #2AABEE);color:#fff;font-weight:600}.bet-preset-btn.disabled{opacity:.35;cursor:not-allowed}.bet-insufficient{margin-top:8px;font-size:12px;color:var(--tg-danger-text);text-align:center}.action-buttons{display:flex;flex-direction:column;gap:12px;margin-bottom:4px}.btn-primary{background-color:var(--tg-accent, #2AABEE);color:#fff;border:none;padding:14px;border-radius:12px;font-size:16px;font-weight:600;width:100%;cursor:pointer;transition:transform .1s,opacity .2s}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary-row{display:flex;gap:12px}.btn-secondary{flex:1;background-color:#2aabee1a;color:var(--tg-accent, #2AABEE);border:none;padding:14px;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:background-color .2s}.btn-secondary:active{background-color:#2aabee33}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.join-section{margin-top:16px}.join-divider{display:flex;align-items:center;gap:12px;margin-bottom:16px}.join-divider-line{flex:1;height:1px;background-color:var(--tg-border)}.join-divider-text{font-size:13px;color:var(--tg-text-secondary, #708499);text-transform:uppercase;letter-spacing:.5px}.join-input-row{display:flex;gap:10px}.join-input{flex:1;background-color:var(--tg-surface, #1e2c3a);border:1.5px solid var(--tg-border);border-radius:12px;padding:12px 16px;font-size:15px;color:var(--tg-text, #ffffff);outline:none;transition:border-color .2s}.join-input::placeholder{color:var(--tg-text-secondary, #708499)}.join-input:focus{border-color:var(--tg-accent, #2AABEE)}.btn-join{background-color:#2aabee1a;color:var(--tg-accent, #2AABEE);border:none;padding:12px 20px;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:background-color .2s;white-space:nowrap}.btn-join:active:not(:disabled){background-color:#2aabee33}.btn-join:disabled{opacity:.4;cursor:not-allowed}.join-error{margin-top:8px;padding:8px 12px;font-size:13px;color:#ff5e5e;background-color:#ff5e5e1a;border-radius:8px;text-align:center}.waiting-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 0}.spinner{width:40px;height:40px;border:3px solid rgba(42,171,238,.3);border-radius:50%;border-top-color:var(--tg-accent, #2AABEE);animation:spin 1s ease-in-out infinite;margin-bottom:20px}.waiting-title{font-size:18px;font-weight:600;color:var(--tg-text, #ffffff);margin-bottom:8px}.waiting-subtitle{font-size:14px;color:var(--tg-text-secondary, #708499);text-align:center;margin-bottom:24px}.room-code-display{background-color:var(--tg-surface, #1e2c3a);padding:16px 32px;border-radius:12px;text-align:center;margin-bottom:24px;cursor:pointer}.code-value{font-size:24px;font-weight:700;color:var(--tg-accent, #2AABEE);letter-spacing:2px}.code-hint{font-size:12px;color:var(--tg-text-secondary, #708499);margin-top:4px}.btn-share{background-color:var(--tg-accent, #2AABEE);color:#fff;border:none;padding:12px 24px;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:transform .1s,opacity .2s;width:100%;margin-bottom:16px}.btn-share:active{transform:scale(.98)}.btn-cancel{background:none;border:none;color:#ff5e5e;font-size:15px;padding:10px;cursor:pointer}.dice-container{display:flex;align-items:center;justify-content:center;gap:12px;min-height:80px;padding:8px}.die{width:56px;height:56px;perspective:500px;position:relative;animation:die-appear .3s cubic-bezier(.175,.885,.32,1.275) backwards}@keyframes die-appear{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.die-cube{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.22,.61,.36,1)}.die-cube.show-1{transform:rotateX(0) rotateY(0)}.die-cube.show-2{transform:rotateX(0) rotateY(180deg)}.die-cube.show-3{transform:rotateX(0) rotateY(90deg)}.die-cube.show-4{transform:rotateX(0) rotateY(-90deg)}.die-cube.show-5{transform:rotateX(-90deg) rotateY(0)}.die-cube.show-6{transform:rotateX(90deg) rotateY(0)}.die-cube.landed.show-1{transform:rotateX(720deg) rotateY(720deg)}.die-cube.landed.show-2{transform:rotateX(720deg) rotateY(900deg)}.die-cube.landed.show-3{transform:rotateX(720deg) rotateY(810deg)}.die-cube.landed.show-4{transform:rotateX(720deg) rotateY(630deg)}.die-cube.landed.show-5{transform:rotateX(630deg) rotateY(720deg)}.die-cube.landed.show-6{transform:rotateX(810deg) rotateY(720deg)}.die-face{position:absolute;width:56px;height:56px;border-radius:12px;border:1px solid var(--subtle-border);background:var(--dice-bg);box-shadow:inset 0 -2px 4px #00000014,inset 0 2px 4px #ffffff1a;backface-visibility:hidden;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);padding:6px}.die-face.face-1{transform:rotateY(0) translateZ(28px)}.die-face.face-2{transform:rotateY(180deg) translateZ(28px)}.die-face.face-3{transform:rotateY(-90deg) translateZ(28px)}.die-face.face-4{transform:rotateY(90deg) translateZ(28px)}.die-face.face-5{transform:rotateX(90deg) translateZ(28px)}.die-face.face-6{transform:rotateX(-90deg) translateZ(28px)}.die-dot{width:10px;height:10px;background:var(--dice-dot);border-radius:50%;align-self:center;justify-self:center}.die-face[data-value="1"] .die-dot:nth-child(1){grid-area:2 / 2}.die-face[data-value="2"] .die-dot:nth-child(1){grid-area:1 / 1}.die-face[data-value="2"] .die-dot:nth-child(2){grid-area:3 / 3}.die-face[data-value="3"] .die-dot:nth-child(1){grid-area:1 / 1}.die-face[data-value="3"] .die-dot:nth-child(2){grid-area:2 / 2}.die-face[data-value="3"] .die-dot:nth-child(3){grid-area:3 / 3}.die-face[data-value="4"] .die-dot:nth-child(1){grid-area:1 / 1}.die-face[data-value="4"] .die-dot:nth-child(2){grid-area:1 / 3}.die-face[data-value="4"] .die-dot:nth-child(3){grid-area:3 / 1}.die-face[data-value="4"] .die-dot:nth-child(4){grid-area:3 / 3}.die-face[data-value="5"] .die-dot:nth-child(1){grid-area:1 / 1}.die-face[data-value="5"] .die-dot:nth-child(2){grid-area:1 / 3}.die-face[data-value="5"] .die-dot:nth-child(3){grid-area:2 / 2}.die-face[data-value="5"] .die-dot:nth-child(4){grid-area:3 / 1}.die-face[data-value="5"] .die-dot:nth-child(5){grid-area:3 / 3}.die-face[data-value="6"] .die-dot:nth-child(1){grid-area:1 / 1}.die-face[data-value="6"] .die-dot:nth-child(2){grid-area:1 / 3}.die-face[data-value="6"] .die-dot:nth-child(3){grid-area:2 / 1}.die-face[data-value="6"] .die-dot:nth-child(4){grid-area:2 / 3}.die-face[data-value="6"] .die-dot:nth-child(5){grid-area:3 / 1}.die-face[data-value="6"] .die-dot:nth-child(6){grid-area:3 / 3}.die-cube.rolling,.rolling .die-cube{animation:dice-tumble .6s ease-in-out infinite;transition:none}@keyframes dice-tumble{0%{transform:rotateX(0) rotateY(0) rotate(0)}25%{transform:rotateX(90deg) rotateY(180deg) rotate(45deg)}50%{transform:rotateX(180deg) rotateY(360deg) rotate(90deg)}75%{transform:rotateX(270deg) rotateY(540deg) rotate(135deg)}to{transform:rotateX(360deg) rotateY(720deg) rotate(180deg)}}.rolling .die,.die.die-rolling{animation:die-bounce .3s ease-in-out infinite alternate}@keyframes die-bounce{0%{transform:translateY(0) scale(1)}to{transform:translateY(-6px) scale(1.05)}}.die.used{opacity:.5;filter:grayscale(1) brightness(.7);pointer-events:none;animation:none}.die.used .die-cube{transform:scale(.88) rotate(10deg)!important;transition:transform .3s ease}.die.used:after{content:"";position:absolute;top:50%;left:50%;width:120%;height:2px;background:var(--text-secondary);transform:translate(-50%,-50%) rotate(-45deg);border-radius:2px;z-index:10}.die.active .die-face{box-shadow:inset 0 -2px 4px #00000014,inset 0 2px 4px #ffffff1a}.die.active:hover{transform:translateY(-4px);cursor:grab;z-index:10}.roll-btn{background:#e85d75;color:#fff;border:none;padding:14px 32px;font-size:1rem;font-weight:700;border-radius:12px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 15px #e85d754d;position:relative;overflow:hidden}.roll-btn:hover{background:#d44d65;transform:translateY(-2px);box-shadow:0 8px 25px #e85d7566}.roll-btn:active{transform:translateY(0);box-shadow:0 2px 8px #e85d754d}.roll-btn:disabled{background:var(--subtle-bg);color:var(--text-secondary);cursor:not-allowed;transform:none;box-shadow:none;animation:none}.dice-waiting{font-size:13px;color:var(--text-secondary);white-space:nowrap}.dice-vs{font-size:14px;font-weight:700;color:var(--text-secondary);padding:0 4px}.die.skin-dice-neon .die-face{background:linear-gradient(135deg,#0a0a1a,#1a1a3a);border-color:#00ffc866;box-shadow:inset 0 0 8px #00ffc826}.die.skin-dice-neon .die-dot{background:#00ffc8;box-shadow:0 0 6px #00ffc8b3}.die.skin-dice-neon .die-cube{filter:drop-shadow(0 0 6px rgba(0,255,200,.3))}.die.skin-dice-gold .die-face{background:linear-gradient(135deg,gold,#b8860b);border-color:#b8860b99;box-shadow:inset 0 2px 4px #ffffff4d,inset 0 -2px 4px #0003}.die.skin-dice-gold .die-dot{background:#4a2800}.die.skin-dice-gold .die-cube{filter:drop-shadow(0 4px 8px rgba(184,134,11,.3))}.die.skin-dice-diamond .die-face{background:linear-gradient(135deg,#e8f0fe,#b0c4de,#e8f0fe);border-color:#b0c4de80;box-shadow:inset 0 2px 6px #fff9,inset 0 -2px 6px #6482b426}.die.skin-dice-diamond .die-dot{background:#2c3e6b;box-shadow:0 0 4px #b0c4de80}.die.skin-dice-diamond .die-cube{filter:drop-shadow(0 4px 10px rgba(176,196,222,.35))}.dice-container .die:nth-child(2){animation-delay:.05s}.dice-container .die:nth-child(3){animation-delay:.1s}.dice-container .die:nth-child(4){animation-delay:.15s}.rolling .die:nth-child(2) .die-cube{animation-delay:.08s}.rolling .die:nth-child(3) .die-cube{animation-delay:.16s}.rolling .die:nth-child(4) .die-cube{animation-delay:.24s}.board-theme-classic{--bg-board: #D9A066;--bg-board-dark: #C88A50;--wood-frame: #5C3A21;--wood-light: #E8C39E;--point-light: #C57A3B;--point-dark: #8A4A1F;--point-light-tip: #D68A4B;--point-dark-tip: #6B3A18;--checker-white: #FFFFFF;--checker-white-edge: #D0D0D0;--checker-black: #444444;--checker-black-edge: #000000;--hinge-bg: #E8C39E;--hinge-dot-bg: #A0A0A0;--valid-move: rgba(0, 255, 0, .4);--selected-glow: rgba(255, 215, 0, .6);--text-board: rgba(0, 0, 0, .4)}.board-theme-dark-wood{--bg-board: #3D2B1F;--bg-board-dark: #2C1E14;--wood-frame: #1A0D06;--wood-light: #5C4033;--point-light: #6B4226;--point-dark: #1A0F08;--point-light-tip: #7B5236;--point-dark-tip: #0A0504;--checker-white: #F0E6D3;--checker-white-edge: #C0B6A3;--checker-black: #444444;--checker-black-edge: #000000;--hinge-bg: #5C4033;--hinge-dot-bg: #8B7355;--valid-move: rgba(100, 255, 100, .35);--selected-glow: rgba(255, 180, 50, .6);--text-board: rgba(255, 255, 255, .4)}.board-theme-marble{--bg-board: #E8E0D4;--bg-board-dark: #D5CCC0;--wood-frame: #6B6055;--wood-light: #F0EAE0;--point-light: #C4B8A8;--point-dark: #7A6F63;--point-light-tip: #D4C8B8;--point-dark-tip: #6A5F53;--checker-white: #FFFFFF;--checker-white-edge: #E0E0E0;--checker-black: #444444;--checker-black-edge: #1A1A1A;--hinge-bg: #D0C8BC;--hinge-dot-bg: #A09888;--valid-move: rgba(80, 200, 80, .35);--selected-glow: rgba(180, 160, 120, .65);--text-board: rgba(0, 0, 0, .5)}.board-theme-royal{--bg-board: #1B2838;--bg-board-dark: #141E2B;--wood-frame: #0A1018;--wood-light: #243448;--point-light: #2A4060;--point-dark: #0F1A28;--point-light-tip: #3A5070;--point-dark-tip: #050A14;--checker-white: #FFD700;--checker-white-edge: #DAA520;--checker-black: #C0C0C0;--checker-black-edge: #808080;--hinge-bg: #1E2D40;--hinge-dot-bg: #4A6080;--valid-move: rgba(100, 200, 255, .35);--selected-glow: rgba(255, 215, 0, .7);--text-board: rgba(255, 255, 255, .5)}.board-outer{width:100%;height:100%;display:flex;align-items:center;justify-content:center;touch-action:none;user-select:none;-webkit-user-select:none}.board-surface{position:relative;display:grid;grid-template-columns:1.5% 1fr 3% 1fr 8% 1.5%;grid-template-rows:1.5% 1fr 6% 1fr 1.5%;background:linear-gradient(135deg,var(--bg-board) 0%,var(--bg-board-dark) 100%);box-shadow:inset 0 2px 4px #0003,0 4px 16px #00000080,0 8px 32px #0000004d;border-radius:4px;overflow:hidden;perspective:1200px}.frame-top{grid-column:1 / -1;grid-row:1;background:var(--wood-frame);display:grid;grid-template-columns:1.5% 1fr 3% 1fr 8% 1.5%;align-items:center;z-index:10;box-shadow:0 2px 4px #0000004d}.frame-bottom{grid-column:1 / -1;grid-row:5;background:var(--wood-frame);display:grid;grid-template-columns:1.5% 1fr 3% 1fr 8% 1.5%;align-items:center;z-index:10;box-shadow:0 -2px 4px #0000004d}.frame-left{grid-column:1;grid-row:1 / -1;background:var(--wood-frame);z-index:10;box-shadow:2px 0 4px #0000004d}.frame-right{grid-column:6;grid-row:1 / -1;background:var(--wood-frame);z-index:10;box-shadow:-2px 0 4px #0000004d}.frame-numbers{display:flex;justify-content:space-around;padding:0}.frame-numbers:first-child{grid-column:2}.frame-numbers:last-child{grid-column:4}.frame-num{font-size:8px;font-weight:700;color:var(--wood-light);opacity:.6;text-align:center;flex:1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.board-hinge{grid-column:3;grid-row:2 / 5;background:var(--hinge-bg);position:relative;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:8px 0;border-left:1px solid rgba(0,0,0,.2);border-right:1px solid rgba(0,0,0,.2);box-shadow:inset 0 0 8px #0000001a;z-index:2}.hinge-dots{display:flex;flex-direction:column;align-items:center;justify-content:space-evenly;flex:1;width:100%;pointer-events:none}.hinge-dot{width:5px;height:5px;border-radius:50%;background:radial-gradient(circle at 35% 35%,rgba(255,255,255,.6),var(--hinge-dot-bg));box-shadow:0 1px 2px #0000004d;flex-shrink:0}.bar-zone{position:absolute;left:0;right:0;display:flex;flex-direction:column;align-items:center;z-index:5;cursor:pointer}.bar-zone-top{top:0;height:45%;justify-content:flex-start;padding-top:4px}.bar-zone-bottom{bottom:0;height:45%;justify-content:flex-end;padding-bottom:4px}.bar-zone-bottom .bar-checkers{flex-direction:column-reverse}.bar-zone.highlighted{background:#ffd70026;box-shadow:inset 0 0 12px var(--selected-glow)}.bar-checkers{display:flex;flex-direction:column;align-items:center;gap:0}.play-left-top{grid-column:2;grid-row:2;display:flex;flex-direction:row}.play-right-top{grid-column:4;grid-row:2;display:flex;flex-direction:row}.play-left-bottom{grid-column:2;grid-row:4;display:flex;flex-direction:row}.play-right-bottom{grid-column:4;grid-row:4;display:flex;flex-direction:row}.center-left{grid-column:2;grid-row:3}.center-right{grid-column:4;grid-row:3}.point{flex:1;position:relative;display:flex;flex-direction:column;align-items:center;cursor:pointer;min-width:0}.point-triangle{position:absolute;top:0;right:0;bottom:0;left:0}.play-left-top .point .point-triangle,.play-right-top .point .point-triangle{clip-path:polygon(0% 0%,100% 0%,50% 100%)}.play-left-bottom .point .point-triangle,.play-right-bottom .point .point-triangle{clip-path:polygon(50% 0%,0% 100%,100% 100%)}.point.even .point-triangle{background:linear-gradient(180deg,var(--point-dark) 0%,var(--point-dark-tip) 100%)}.point.odd .point-triangle{background:linear-gradient(180deg,var(--point-light) 0%,var(--point-light-tip) 100%)}.play-left-bottom .point.even .point-triangle,.play-right-bottom .point.even .point-triangle{background:linear-gradient(0deg,var(--point-dark) 0%,var(--point-dark-tip) 100%)}.play-left-bottom .point.odd .point-triangle,.play-right-bottom .point.odd .point-triangle{background:linear-gradient(0deg,var(--point-light) 0%,var(--point-light-tip) 100%)}.point-triangle:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;clip-path:inherit;border:.5px solid rgba(0,0,0,.05);pointer-events:none}.point.selected .point-triangle{filter:brightness(1.3);box-shadow:0 0 12px var(--selected-glow) inset}.point.selected .point-triangle:after{background:var(--selected-glow);opacity:.25;animation:point-pulse 1.5s ease-in-out infinite}@keyframes point-pulse{0%,to{opacity:.15}50%{opacity:.3}}.legal-indicator{position:absolute;left:50%;width:30%;padding-bottom:30%;border-radius:50%;background:var(--valid-move);box-shadow:0 0 10px var(--valid-move);animation:legal-pulse 1.5s ease-in-out infinite;pointer-events:none;z-index:20;transform:translate(-50%)}.play-left-top .legal-indicator,.play-right-top .legal-indicator{bottom:15%}.play-left-bottom .legal-indicator,.play-right-bottom .legal-indicator{top:15%}@keyframes legal-pulse{0%,to{transform:translate(-50%) scale(.85);opacity:.5}50%{transform:translate(-50%) scale(1.15);opacity:.8}}.checker-stack{position:absolute;left:0;right:0;display:flex;flex-direction:column;align-items:center;z-index:10;pointer-events:none}.play-left-top .checker-stack,.play-right-top .checker-stack{top:0}.play-left-bottom .checker-stack,.play-right-bottom .checker-stack{bottom:0;flex-direction:column-reverse}.checker{width:88%;aspect-ratio:1;border-radius:50%;position:relative;flex-shrink:0;margin-top:-8%;transition:transform .15s ease,box-shadow .15s ease}.checker:first-child{margin-top:0}.play-left-bottom .checker,.play-right-bottom .checker{margin-top:0;margin-bottom:-8%}.play-left-bottom .checker:first-child,.play-right-bottom .checker:first-child{margin-bottom:0}.checker.white{background:radial-gradient(circle at 35% 35%,var(--checker-white),var(--checker-white-edge));box-shadow:0 2px 4px #00000059,0 1px 1px #00000026,inset 0 -2px 4px #00000026,inset 0 1px 2px #fffc}.checker.white:before{content:"";position:absolute;top:15%;left:20%;width:30%;height:20%;border-radius:50%;background:#ffffff80;transform:rotate(-30deg);pointer-events:none}.checker.black{background:radial-gradient(circle at 35% 35%,var(--checker-black),var(--checker-black-edge));box-shadow:0 2px 4px #00000080,0 1px 1px #00000040,inset 0 1px 3px #fff3,inset 0 -1px 2px #0000004d}.checker.black:before{content:"";position:absolute;top:15%;left:20%;width:30%;height:20%;border-radius:50%;background:#ffffff26;transform:rotate(-30deg);pointer-events:none}.checker:after{content:"";position:absolute;bottom:8%;right:15%;width:40%;height:15%;border-radius:50%;pointer-events:none}.checker.white:after{background:#0000000f}.checker.black:after{background:#ffffff14}.checker.selected-checker{transform:scale(1.08) translateY(-3px);box-shadow:0 0 12px var(--selected-glow),0 4px 8px #0006;z-index:50;animation:checker-glow 1.5s ease-in-out infinite}.play-left-bottom .checker.selected-checker,.play-right-bottom .checker.selected-checker{transform:scale(1.08) translateY(3px)}@keyframes checker-glow{0%,to{box-shadow:0 0 8px var(--selected-glow),0 4px 8px #0006}50%{box-shadow:0 0 16px var(--selected-glow),0 4px 8px #0006}}.checker-count{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-weight:700;font-size:11px;pointer-events:none;text-shadow:0 1px 2px rgba(0,0,0,.3)}.checker.white .checker-count{color:#111}.checker.black .checker-count{color:#fff}.board-bear-off{grid-column:5;grid-row:2 / 5;display:flex;flex-direction:column;position:relative;background:#0000000a;box-shadow:inset 1px 0 4px #00000026}.bear-off-slot{flex:1;display:flex;flex-direction:column;align-items:center;padding:4px 2px;position:relative;cursor:pointer}.bear-off-top{justify-content:flex-start}.bear-off-bottom{justify-content:flex-end}.bear-off-slot-bg{position:absolute;left:8%;right:8%;top:8%;bottom:8%;background:#0000001f;border-radius:4px;pointer-events:none}.bear-off-slot.highlight .bear-off-slot-bg{box-shadow:inset 0 0 12px var(--valid-move),0 0 8px var(--valid-move);background:#00ff000f}.bear-off-chip{width:90%;height:6px;border-radius:2px;flex-shrink:0;box-shadow:0 1px 2px #00000040}.bear-off-chip.white{background:linear-gradient(to right,#ccc,var(--checker-white),#ccc);border:.5px solid rgba(0,0,0,.15)}.bear-off-chip.black{background:linear-gradient(to right,#111,var(--checker-black),#111);border:.5px solid rgba(255,255,255,.1)}.bear-off-count{font-size:10px;font-weight:700;opacity:.7;color:var(--text-board);margin:2px 0;pointer-events:none}.dice-overlay{position:absolute;pointer-events:none;z-index:50;display:flex;gap:8px}.dice-overlay.initial-dice{justify-content:center;align-items:center}.dice-overlay.is-double{display:grid;grid-template-columns:1fr 1fr;gap:6px}.dice-overlay.exiting{animation:dice-exit .35s ease-in forwards}@keyframes dice-exit{0%{transform:translate(-50%,-50%) scale(1);opacity:1}to{transform:translate(-50%,-50%) translateY(-30px) scale(.4);opacity:0}}.board-die-scale{width:36px;height:36px;transform:scale(.643);transform-origin:center center}.board-die-scale-initial{width:28px;height:28px;transform:scale(.5)}.flying-checker{position:absolute;top:0;left:0;border-radius:50%;pointer-events:none;z-index:100;will-change:transform}.flying-checker.white{background:radial-gradient(circle at 35% 35%,var(--checker-white),var(--checker-white-edge));box-shadow:0 6px 16px #0006}.flying-checker.black{background:radial-gradient(circle at 35% 35%,var(--checker-black),var(--checker-black-edge));box-shadow:0 6px 16px #00000080}.player-info{display:flex;align-items:center;gap:8px;padding:4px 12px;background:transparent;height:40px;transition:opacity .2s}.player-avatar-ring{position:relative;width:32px;height:32px;border-radius:50%;flex-shrink:0;padding:2px;border:2px solid transparent;transition:border-color .3s ease}.player-avatar-ring.active{border-color:var(--accent, #2AABEE);box-shadow:0 0 8px #2aabee59}.player-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover}.player-avatar-initial{width:100%;height:100%;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem}.player-avatar-initial.white{background:var(--white-checker, #e0e0e0);color:#333}.player-avatar-initial.black{background:var(--black-checker, #1B2B6B);color:#f0f0f0}.player-compact-name{font-weight:600;font-size:.85rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px}.you-badge{font-size:.6rem;background:#2aabee26;color:var(--accent, #2AABEE);padding:1px 5px;border-radius:8px;text-transform:uppercase;font-weight:800;letter-spacing:.5px;flex-shrink:0}.borne-off-badge{display:flex;align-items:center;gap:3px;margin-left:auto;padding:2px 8px;border-radius:10px;background:var(--subtle-bg, rgba(255, 255, 255, .04))}.checker-dot{width:10px;height:10px;border-radius:50%}.checker-dot.white{background:var(--white-checker, #FFFFFF);border:1px solid rgba(0,0,0,.1)}.checker-dot.black{background:var(--black-checker, #1B2B6B)}.borne-off-count{font-size:.8rem;font-weight:700;color:var(--text-secondary)}.connection-dot{position:absolute;bottom:-1px;right:-1px;width:8px;height:8px;background-color:#ff4757;border-radius:50%;border:1.5px solid var(--bg-primary, #17212B);animation:pulse-red 1.5s infinite;z-index:2}@keyframes pulse-red{0%{transform:scale(.95);box-shadow:0 0 #ff4757b3}70%{transform:scale(1);box-shadow:0 0 0 4px #ff475700}to{transform:scale(.95);box-shadow:0 0 #ff475700}}.chat-messages{display:flex;flex-direction:column;gap:6px;overflow-y:auto;padding:12px;height:100%;scrollbar-width:thin;scrollbar-color:var(--subtle-border) transparent}.chat-messages.overlay{padding:8px;gap:6px}.message-row{display:flex;flex-direction:column;max-width:80%;align-self:flex-start}.message-row.own{align-self:flex-end;align-items:flex-end}.sender-name{font-size:12px;color:var(--accent);margin-bottom:2px;margin-left:10px;font-weight:500}.message-bubble{padding:8px 12px;background:var(--bg-secondary);position:relative;word-break:break-word;color:var(--text-primary);border-radius:14px 14px 14px 4px}.message-row.own .message-bubble{background:var(--chat-own-bubble);color:var(--text-primary);border-bottom-left-radius:14px;border-bottom-right-radius:4px}.message-bubble.quick-phrase{font-style:italic;color:var(--text-secondary)}.message-row.own .message-bubble.quick-phrase{color:#ffffffb3}.chat-messages.overlay .message-bubble{padding:6px 10px;background:var(--chat-bubble-overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-size:13px}.chat-messages.overlay .message-row.own .message-bubble{background:var(--chat-own-bubble-overlay);color:var(--text-primary)}.message-text{line-height:1.4;font-size:15px}.message-time{font-size:11px;opacity:.5;text-align:right;margin-top:2px;margin-left:8px;float:right}.chat-messages.overlay .message-time{font-size:9px}.message-bubble.sticker-bubble{background:transparent!important;box-shadow:none!important;padding:4px!important;overflow:visible;display:flex;flex-direction:column;align-items:flex-end}.message-sticker{font-size:48px;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));transition:transform .2s}.message-row.own .message-sticker{transform-origin:bottom right}.message-row:not(.own) .message-sticker{transform-origin:bottom left}.sticker-bubble .message-time{background:#0006;color:#fff;padding:2px 6px;border-radius:8px;margin-top:-8px;z-index:1;opacity:.9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.chat-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);gap:12px;text-align:center;padding:20px}.empty-icon{font-size:32px;opacity:.5}.chat-empty-state p{font-size:14px;margin:0}.chat-input-container{display:flex;flex-direction:column;padding:10px 12px;background:var(--bg-secondary);border-top:1px solid var(--subtle-border);gap:8px}.chat-input-container.compact{padding:8px;background:transparent;border-top:none}.quick-phrases-scroll{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;-ms-overflow-style:none}.quick-phrases-scroll::-webkit-scrollbar{display:none}.quick-phrase-chip{flex:0 0 auto;padding:6px 12px;border-radius:14px;background:var(--subtle-bg);border:1px solid var(--subtle-border);color:var(--text-secondary);font-size:13px;cursor:pointer;white-space:nowrap;transition:all .2s}.quick-phrase-chip:hover{background:#2aabee1f;border-color:#2aabee4d;color:var(--accent)}.quick-phrase-chip:active{transform:scale(.95)}.chat-input-container.compact .quick-phrase-chip{background:var(--chat-bubble-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:none}.input-row{display:flex;gap:8px;align-items:center;width:100%}.btn-icon{width:36px;height:36px;border-radius:50%;border:none;background:transparent;color:var(--text-secondary);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.btn-icon:hover,.btn-icon.active{background:var(--subtle-bg-hover);color:var(--accent)}.chat-input-field{flex:1;height:40px;padding:0 16px;border-radius:20px;border:1px solid var(--subtle-border);background:var(--subtle-bg);color:var(--text-primary);font-size:15px;outline:none;transition:all .2s;min-width:0}.chat-input-field::placeholder{color:var(--text-secondary)}.chat-input-field:focus{border-color:#2aabee66;background:var(--subtle-bg-hover)}.chat-input-container.compact .chat-input-field{background:var(--chat-bubble-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:none}.btn-send{width:40px;height:40px;border-radius:50%;border:none;background:var(--accent);color:#fff;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;padding-left:2px;flex-shrink:0}.btn-send:hover:not(:disabled){background:var(--accent-hover);transform:scale(1.05)}.btn-send:disabled{background:var(--subtle-bg);color:var(--text-secondary);cursor:not-allowed;transform:none}.emote-panel-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:44;background:transparent}.emote-panel{position:absolute;bottom:60px;right:12px;left:auto;background:#14141eeb;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:16px;padding:12px;box-shadow:0 8px 32px #0000004d;z-index:45;animation:scaleIn .2s cubic-bezier(.16,1,.3,1);border:1px solid rgba(255,255,255,.08);min-width:200px}@media(prefers-color-scheme:dark){.emote-panel{background:#0f0f19f2;border:1px solid rgba(255,255,255,.06)}}.emote-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.emote-btn{background:transparent;border:none;border-radius:10px;cursor:pointer;padding:6px;transition:background .15s ease;display:flex;align-items:center;justify-content:center;width:44px;height:44px}.emote-btn:hover{background:#ffffff14}.emote-btn:active{transform:scale(.9)}.emote-emoji{font-size:28px;line-height:1}@keyframes scaleIn{0%{opacity:0;transform:scale(.85) translateY(10px);transform-origin:bottom right}to{opacity:1;transform:scale(1) translateY(0);transform-origin:bottom right}}.game-chat-overlay{position:absolute;bottom:0;left:0;width:100%;height:28%;background:#0a0a14d1;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);z-index:40;display:flex;flex-direction:column;border-top-left-radius:16px;border-top-right-radius:16px;box-shadow:0 -2px 12px #00000040;transform:translateY(100%);animation:slideUp .3s cubic-bezier(.16,1,.3,1) forwards;overflow:hidden}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.game-chat-header{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;color:#ffffffd9;border-bottom:1px solid rgba(255,255,255,.06)}.chat-title{font-weight:500;font-size:13px;letter-spacing:0;text-transform:uppercase;opacity:.6}.btn-close{background:none;border:none;color:#fff;font-size:16px;cursor:pointer;padding:4px;opacity:.5;border-radius:50%;transition:opacity .2s;display:flex;align-items:center;justify-content:center;width:28px;height:28px}.btn-close:hover{opacity:.9}.game-chat-body{flex:1;overflow-y:auto;padding:0;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.game-chat-footer{padding:6px 8px;border-top:1px solid rgba(255,255,255,.04)}.game-chat-toggle{position:absolute;bottom:140px;left:16px;width:40px;height:40px;border-radius:50%;background:#141423b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);color:#fff;font-size:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:40;box-shadow:0 2px 8px #00000026;transition:transform .15s,opacity .15s;opacity:.7}.game-chat-toggle:active{transform:scale(.92)}.game-chat-toggle:hover{opacity:1}.unread-badge{position:absolute;top:-3px;right:-3px;background:var(--accent);color:#fff;font-size:10px;font-weight:600;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 3px;border:2px solid rgba(20,20,35,.7)}.chat-bubble-overlay{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:30;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.bubbles-stack{position:absolute;display:flex;flex-direction:column;gap:8px;max-width:80%}.opponent-stack{top:100px;left:20px;align-items:flex-start}.own-stack{bottom:120px;right:20px;align-items:flex-end}.chat-bubble{pointer-events:none;border-radius:12px;box-shadow:0 4px 12px #00000026;animation-duration:4s;animation-timing-function:ease-in-out;animation-fill-mode:forwards;max-width:250px;word-wrap:break-word}.bubble-text{padding:8px 12px;background:var(--bg-primary, #ffffff);color:var(--text-primary, #333);font-size:14px;border:1px solid rgba(0,0,0,.05)}.own-stack .bubble-text{background:var(--accent, #e94560);color:#fff;border:none;border-bottom-right-radius:4px}.opponent-stack .bubble-text{background:#fff;color:#333;border-bottom-left-radius:4px}.bubble-sticker{background:transparent;box-shadow:none;font-size:64px;line-height:1;padding:0;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2))}.sticker-content{display:flex;align-items:center;justify-content:center}.bubble-sender{font-size:10px;color:var(--text-secondary, #666);margin-bottom:2px;white-space:nowrap}.own-stack .chat-bubble{animation-name:slideInRightFadeOut}.opponent-stack .chat-bubble{animation-name:slideInLeftFadeOut}.own-stack .bubble-sticker{animation-name:popInRightFadeOut}.opponent-stack .bubble-sticker{animation-name:popInLeftFadeOut}@keyframes slideInLeftFadeOut{0%{opacity:0;transform:translate(-20px) scale(.9)}10%{opacity:1;transform:translate(0) scale(1)}85%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translateY(-10px)}}@keyframes slideInRightFadeOut{0%{opacity:0;transform:translate(20px) scale(.9)}10%{opacity:1;transform:translate(0) scale(1)}85%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translateY(-10px)}}@keyframes popInLeftFadeOut{0%{opacity:0;transform:scale(0)}10%{opacity:1;transform:scale(1.2)}15%{transform:scale(.9)}20%{transform:scale(1)}85%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.5)}}@keyframes popInRightFadeOut{0%{opacity:0;transform:scale(0)}10%{opacity:1;transform:scale(1.2)}15%{transform:scale(.9)}20%{transform:scale(1)}85%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.5)}}.filki-coin-wrapper{perspective:1000px;display:inline-block;line-height:0}.filki-coin--animated{animation:filki-spin 3s infinite ease-in-out;transform-style:preserve-3d}@keyframes filki-spin{0%{transform:rotateY(0)}to{transform:rotateY(360deg)}}.opponent-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;z-index:2000;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.opponent-modal-card{background-color:var(--tg-surface, #1e2c3a);border-radius:12px;padding:24px;width:90%;max-width:340px;position:relative;display:flex;flex-direction:column;align-items:center;box-shadow:0 10px 25px #00000080;animation:scaleUp .2s cubic-bezier(.175,.885,.32,1.275)}.opponent-modal-close{position:absolute;top:12px;right:12px;background:transparent;border:none;color:var(--tg-text-secondary, #708499);font-size:24px;line-height:1;cursor:pointer;padding:4px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:color .2s,background-color .2s}.opponent-modal-close:hover{color:var(--tg-text, #ffffff);background-color:var(--subtle-bg)}.opponent-avatar{width:64px;height:64px;border-radius:50%;background-color:var(--tg-accent, #2AABEE);color:#fff;font-size:28px;font-weight:700;display:flex;align-items:center;justify-content:center;margin-bottom:12px;box-shadow:0 4px 12px #2aabee4d}.opponent-name{font-size:20px;font-weight:700;color:var(--tg-text, #ffffff);margin-bottom:4px;text-align:center}.opponent-username{font-size:14px;color:var(--tg-text-secondary, #708499);margin-bottom:8px}.opponent-status{display:flex;align-items:center;gap:6px;font-size:13px;margin-bottom:20px;padding:4px 10px;border-radius:12px;background-color:#0003}.status-dot{width:8px;height:8px;border-radius:50%}.status-dot.online{background-color:var(--tg-success);box-shadow:0 0 8px #2ecc7166}.status-dot.in_game{background-color:var(--tg-warning);box-shadow:0 0 8px #f1c40f66}.status-dot.offline{background-color:var(--tg-offline)}.status-text{color:var(--tg-text-secondary, #708499);font-weight:500}.status-text.online{color:var(--tg-success)}.status-text.in_game{color:var(--tg-warning)}.opponent-stats-row{display:flex;width:100%;justify-content:space-between;background-color:#0003;border-radius:10px;padding:12px 16px;margin-bottom:24px}.opponent-stat{display:flex;flex-direction:column;align-items:center}.stat-value{font-size:16px;font-weight:700;color:var(--tg-text, #ffffff);margin-bottom:2px}.stat-label{font-size:11px;color:var(--tg-text-secondary, #708499);text-transform:uppercase;letter-spacing:.5px}.achievements-section{width:100%}.section-title{font-size:15px;font-weight:600;color:var(--tg-text, #ffffff);margin-bottom:12px;text-align:left;display:flex;align-items:center;gap:8px}.section-title:after{content:"";flex:1;height:1px;background-color:var(--tg-border)}.achievements-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%}.achievement-item{background-color:var(--subtle-bg);border-radius:8px;padding:10px 4px;display:flex;flex-direction:column;align-items:center;text-align:center;transition:all .2s;opacity:.5;filter:grayscale(.8)}.achievement-item.unlocked{opacity:1;filter:none;background-color:#2aabee14;border:1px solid rgba(42,171,238,.2)}.achievement-icon{font-size:24px;margin-bottom:6px}.achievement-name{font-size:10px;line-height:1.2;color:var(--tg-text-secondary, #708499);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.achievement-item.unlocked .achievement-name{color:var(--tg-text, #ffffff)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleUp{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.game-screen{display:flex;flex-direction:column;height:100%;width:100%;position:relative;overflow:hidden;background-color:var(--bg-primary)}.board-container{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:2px 4px;min-height:0}.controls-area{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:6px 12px 10px;gap:8px;flex-shrink:0;background:transparent;z-index:10}.action-buttons{display:flex;align-items:center;gap:16px}.btn-resign{background:var(--subtle-bg);border:1px solid var(--subtle-border);border-radius:8px;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;padding:8px 16px;transition:all .2s ease;display:flex;align-items:center;gap:6px}.btn-resign:hover{background:#e85d7514;border-color:#e85d7533;color:#e85d75;transform:translateY(-1px)}.btn-resign:before{content:"🏳️";font-size:12px;opacity:.7}.btn-resign:hover{opacity:1;background:#e945601a;border-color:#e9456066;color:#e94560;transform:translateY(-1px)}.turn-banner{position:absolute;top:25%;left:50%;transform:translate(-50%,-50%);background:var(--bg-secondary);color:var(--text-primary);padding:8px 20px;border-radius:20px;font-size:13px;font-weight:600;pointer-events:none;animation:fadeInOut 2.5s cubic-bezier(.22,1,.36,1);opacity:0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--subtle-border);box-shadow:0 8px 32px #00000026;white-space:nowrap;letter-spacing:.5px;z-index:50}@keyframes fadeInOut{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}15%{opacity:1;transform:translate(-50%,-50%) scale(1)}85%{opacity:1}to{opacity:0}}.game-over-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:100;animation:overlayIn .5s ease-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.game-over-overlay.win{background:radial-gradient(circle at center,#e9456026,#000000e6 70%)}.game-over-overlay.win:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle,#e94560 2px,transparent 2.5px),radial-gradient(circle,#ffd700 1.5px,transparent 2px),radial-gradient(circle,#2ecc71 2px,transparent 2.5px),radial-gradient(circle,#2AABEE 1.5px,transparent 2px);background-size:50px 50px,35px 35px,45px 45px,40px 40px;background-position:0 0,15px 20px,30px 10px,5px 35px;opacity:0;animation:confetti-fall 4s ease-out forwards}@keyframes confetti-fall{0%{opacity:0;transform:translateY(-60px) rotate(0) scale(1.2)}15%{opacity:.5}50%{opacity:.35;transform:translateY(40px) rotate(15deg) scale(1)}to{opacity:.15;transform:translateY(120px) rotate(25deg) scale(.9)}}.game-over-overlay.loss{background:#000000eb;filter:grayscale(.5)}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}.game-over-card{background:var(--bg-secondary);border-radius:24px;padding:40px 32px;text-align:center;min-width:320px;max-width:400px;animation:cardIn .6s cubic-bezier(.19,1,.22,1);box-shadow:0 20px 60px #00000040;border:1px solid var(--subtle-border);position:relative;overflow:hidden}.win .game-over-card{border-color:#e9456080;box-shadow:0 20px 60px #e9456040}.win .game-over-card:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.05) 0%,transparent 60%);animation:rotate-bg 10s linear infinite;pointer-events:none}@keyframes rotate-bg{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes cardIn{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.game-over-title{font-size:13px;text-transform:uppercase;letter-spacing:3px;color:var(--text-secondary);margin-bottom:16px;font-weight:600}.game-over-result{font-size:32px;font-weight:800;color:var(--text-primary);margin-bottom:16px;line-height:1.2}.win .game-over-result{background:linear-gradient(135deg,#fff,#e94560);-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 4px rgba(233,69,96,.3))}.payout-info{margin-bottom:8px}.payout-line{font-size:22px;font-weight:700;letter-spacing:.5px}.payout-win{color:#2ecc71}.payout-loss{color:#e94560}.payout-filki{font-size:14px;color:var(--text-secondary);margin-bottom:28px}.turn-timer{position:absolute;background:var(--bg-secondary);color:var(--text-primary);padding:4px 12px;border-radius:12px;font-size:13px;font-weight:600;pointer-events:none;transition:all .3s ease;z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--subtle-border);box-shadow:0 4px 12px #0000001a;letter-spacing:.5px;font-variant-numeric:tabular-nums}.turn-timer.urgent{background:#e94560e6;color:#fff;border-color:#ffffff4d;box-shadow:0 0 15px #e9456099;animation:timerPulse 1s infinite}.opponent-timer{bottom:-8px;left:50%;transform:translate(-50%)}.my-timer{top:-8px;left:50%;transform:translate(-50%)}@keyframes timerPulse{0%{transform:translate(-50%) scale(1)}50%{transform:translate(-50%) scale(1.1)}to{transform:translate(-50%) scale(1)}}.btn-mute{background:var(--subtle-bg);border:1px solid var(--subtle-border);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:16px;cursor:pointer;transition:all .2s ease}.btn-mute:hover{background:var(--subtle-bg-hover);color:var(--text-primary);transform:scale(1.05)}.btn-mute.muted{color:#e94560;border-color:#e945604d;background:#e945600d}.btn-controls-icon{position:relative;background:var(--subtle-bg);border:1px solid var(--subtle-border);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:18px;cursor:pointer;transition:all .2s ease;padding:0}.btn-controls-icon:active{transform:scale(.95)}.btn-controls-icon.active{background:var(--subtle-bg-hover);border-color:var(--text-secondary)}.btn-controls-icon .unread-badge{position:absolute;top:-4px;right:-4px;background:var(--accent, #e94560);color:#fff;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 3px;border:2px solid var(--bg-primary);box-shadow:0 2px 4px #0003}.gear-wrapper{position:relative}.gear-menu{position:absolute;bottom:calc(100% + 8px);right:0;background:var(--bg-secondary);border:1px solid var(--subtle-border);border-radius:12px;padding:4px;min-width:180px;box-shadow:0 8px 24px #00000040;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:60;animation:gearMenuIn .15s ease-out}@keyframes gearMenuIn{0%{opacity:0;transform:translateY(4px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.gear-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:none;border-radius:8px;background:transparent;color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:background .15s ease;white-space:nowrap}.gear-menu-item:active{background:var(--subtle-bg)}.gear-menu-icon{font-size:16px;width:24px;text-align:center;flex-shrink:0}.gear-menu-resign{color:#e94560}.game-screen.bg-bg-night-sky{background-color:#0b0d1a;background-image:radial-gradient(ellipse at 20% 50%,rgba(30,40,80,.4) 0%,transparent 60%),radial-gradient(ellipse at 80% 20%,rgba(50,30,80,.3) 0%,transparent 50%)}.game-screen.bg-bg-forest{background-color:#0a1f0a;background-image:radial-gradient(ellipse at 30% 70%,rgba(20,60,20,.4) 0%,transparent 60%),radial-gradient(ellipse at 70% 30%,rgba(10,40,30,.3) 0%,transparent 50%)}.game-screen.bg-bg-ocean{background-color:#06141f;background-image:radial-gradient(ellipse at 50% 80%,rgba(10,50,80,.4) 0%,transparent 60%),radial-gradient(ellipse at 30% 20%,rgba(20,60,100,.3) 0%,transparent 50%)}.rating-screen{display:flex;flex-direction:column;min-height:100vh;background-color:var(--tg-bg, #17212B);color:var(--tg-text, #ffffff);padding-bottom:80px}.rating-tabs{display:flex;gap:0;padding:16px 16px 0;position:sticky;top:0;z-index:10;background:var(--tg-bg, #17212B)}.rating-tab{flex:1;padding:12px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--tg-text-secondary, #708499);font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.rating-tab.active{color:var(--tg-accent, #2AABEE);border-bottom-color:var(--tg-accent, #2AABEE)}.rating-leaders-content{padding:16px}.my-rank-summary{display:flex;align-items:center;justify-content:space-between;background:var(--tg-surface, #1e2c3a);border-radius:12px;padding:14px 16px;margin-bottom:24px}.my-rank-left{display:flex;align-items:center;gap:12px}.my-rank-icon{font-size:28px}.my-rank-label{font-size:15px;font-weight:600;margin-bottom:2px}.my-rank-games{font-size:12px;color:var(--tg-text-secondary, #708499)}.my-rank-winrate{font-size:13px;color:var(--tg-text-secondary, #708499);font-weight:500}.rating-section-label{font-size:14px;font-weight:600;color:var(--tg-text-secondary, #708499);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.rating-list{background:var(--tg-surface, #1e2c3a);border-radius:12px;overflow:hidden;margin-bottom:24px}.rating-row{display:flex;align-items:center;padding:14px 16px;border-bottom:1px solid var(--subtle-bg)}.rating-row:last-child{border-bottom:none}.rating-position{width:28px;height:28px;border-radius:50%;background:var(--subtle-bg);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;margin-right:14px;color:var(--tg-text-secondary, #708499)}.rating-position.gold{color:var(--tg-gold);background:var(--tg-gold-bg)}.rating-position.silver{color:var(--tg-silver);background:var(--tg-silver-bg)}.rating-position.bronze{color:var(--tg-bronze);background:var(--tg-bronze-bg)}.rating-player-name{flex:1;font-size:15px;font-weight:500}.rating-player-score{font-size:14px;color:var(--tg-accent, #2AABEE);font-weight:600}.rating-placeholder{text-align:center;padding:32px;color:var(--tg-text-secondary, #708499);font-size:14px;background:var(--tg-surface, #1e2c3a);border-radius:12px}.rating-achievements-content{padding:16px;overflow-y:auto}.achievements-summary{display:flex;align-items:baseline;gap:8px;margin-bottom:20px;padding:16px;background:var(--tg-surface, #1e2c3a);border-radius:12px}.achievements-count{font-size:24px;font-weight:700;color:var(--tg-accent, #2AABEE)}.achievements-label{font-size:14px;color:var(--tg-text-secondary, #708499)}.achievements-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.ach-card{background:var(--tg-surface, #1e2c3a);border-radius:12px;padding:14px 12px;display:flex;flex-direction:column;align-items:center;text-align:center;border:1px solid transparent;transition:all .2s}.ach-card.unlocked{border-color:#2ecc7133;background:linear-gradient(180deg,rgba(46,204,113,.04) 0%,var(--tg-surface) 100%)}.ach-icon{font-size:28px;margin-bottom:8px}.ach-name{font-size:13px;font-weight:600;color:var(--tg-text, #ffffff);margin-bottom:4px;line-height:1.2;min-height:32px;display:flex;align-items:center}.ach-desc{font-size:11px;color:var(--tg-text-secondary, #708499);margin-bottom:10px;line-height:1.3}.ach-progress-bar{width:100%;height:3px;background:var(--subtle-bg-hover);border-radius:2px;overflow:hidden;margin-bottom:6px}.ach-progress-fill{height:100%;background:var(--tg-accent, #2AABEE);border-radius:2px;transition:width .3s ease}.ach-progress-fill.complete{background:var(--tg-success)}.ach-progress-text{font-size:11px;color:var(--tg-text-secondary, #708499);margin-bottom:6px}.ach-done{color:var(--tg-success);font-weight:600}.ach-reward{font-size:11px;color:var(--tg-text-secondary, #708499);display:flex;align-items:center;gap:3px}.tab-bar{position:fixed;bottom:0;left:0;right:0;height:var(--tg-tab-height, 56px);padding-bottom:env(safe-area-inset-bottom,0px);background:var(--tg-bg, #17212B);border-top:1px solid var(--tg-border, rgba(0,0,0,.08));display:flex;justify-content:space-around;align-items:center;z-index:1000;-webkit-user-select:none;user-select:none}.tab-item{flex:1;height:100%;border:none;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;padding:4px 0;color:var(--tg-text-secondary, #708499);transition:color .15s ease-in-out}.tab-item.active{color:var(--tg-accent, #2AABEE)}.tab-item--play{position:relative}.tab-item--play .tab-icon{width:44px;height:44px;background:var(--tg-accent, #2AABEE);border-radius:50%;margin-top:-18px;box-shadow:0 4px 16px #2aabee59;transition:transform .15s ease,box-shadow .15s ease}.tab-item--play .tab-icon svg{width:22px;height:22px;fill:#fff}.tab-item--play:active .tab-icon{transform:scale(.92);box-shadow:0 2px 8px #2aabee4d}.tab-item--play .tab-label{color:var(--tg-accent, #2AABEE);font-weight:600}.tab-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center}.tab-icon svg{width:24px;height:24px;fill:currentColor}.tab-label{font-size:10px;font-weight:500;line-height:1.2}.chat-screen{display:flex;flex-direction:column;height:100%;background:var(--bg-primary);position:relative;overflow:hidden}.chat-header{padding:14px 20px;background:var(--bg-secondary);border-bottom:1px solid var(--subtle-border);z-index:10;display:flex;justify-content:center;align-items:center;flex-shrink:0}.chat-header h1{font-size:17px;font-weight:600;margin:0;color:var(--text-primary);letter-spacing:-.3px}.chat-content{flex:1;overflow:hidden;position:relative;display:flex;flex-direction:column}.chat-input-area{background:var(--bg-secondary);border-top:1px solid var(--subtle-border);flex-shrink:0;padding-bottom:80px}.profile-screen{padding:24px 16px 80px;background-color:var(--tg-bg, #17212B);min-height:100vh}.profile-header{display:flex;flex-direction:column;align-items:center;margin-bottom:24px}.profile-avatar{width:80px;height:80px;border-radius:50%;background-color:var(--tg-accent, #2AABEE);display:flex;align-items:center;justify-content:center;color:#fff;font-size:32px;font-weight:700;margin-bottom:12px;overflow:hidden}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-name{font-size:20px;font-weight:600;color:var(--tg-text, #ffffff);margin-bottom:4px}.profile-username{font-size:14px;color:var(--tg-text-secondary, #708499);margin-bottom:6px}.profile-rank-badge{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:600;padding:4px 12px;border-radius:14px;background:var(--subtle-bg)}.balance-row{display:flex;gap:12px;margin-bottom:16px}.balance-card{flex:1;background-color:var(--tg-surface, #1e2c3a);border-radius:12px;padding:14px;display:flex;flex-direction:column;align-items:center;gap:4px}.balance-icon{font-size:22px;display:flex;align-items:center;justify-content:center}.balance-amount{font-size:22px;font-weight:700;color:var(--tg-text, #ffffff)}.balance-label{font-size:12px;color:var(--tg-text-secondary, #708499)}.profile-stats-group{display:flex;justify-content:space-around;background-color:var(--tg-surface, #1e2c3a);border-radius:12px;padding:16px;margin-bottom:16px}.stats-item{display:flex;flex-direction:column;align-items:center}.stats-value{font-size:20px;font-weight:700;color:var(--tg-text, #ffffff);margin-bottom:4px;background:linear-gradient(135deg,var(--tg-text, #ffffff) 0%,var(--tg-accent, #2AABEE) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stats-label{font-size:12px;color:var(--tg-text-secondary, #708499)}.rank-card{background-color:var(--tg-surface, #1e2c3a);border-radius:12px;padding:14px 16px;margin-bottom:24px}.rank-current{display:flex;align-items:center;gap:12px;margin-bottom:10px}.rank-icon{font-size:28px}.rank-info{flex:1}.rank-name{font-size:15px;font-weight:600;margin-bottom:2px}.rank-next-text{font-size:12px;color:var(--tg-text-secondary, #708499)}.rank-progress{width:100%;height:4px;background-color:var(--subtle-border);border-radius:2px;overflow:hidden}.rank-progress-fill{height:100%;border-radius:2px;transition:width .3s ease}.section-title{font-size:17px;font-weight:600;color:var(--tg-text, #ffffff);margin-bottom:12px}.shop-tabs{display:flex;gap:8px;margin-bottom:16px}.shop-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 8px;border-radius:10px;border:1px solid var(--subtle-border);background:transparent;color:var(--tg-text-secondary, #708499);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.shop-tab.active{background-color:#2aabee1a;border-color:#2aabee4d;color:var(--tg-accent, #2AABEE)}.shop-tab-icon{font-size:16px}.shop-items{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.shop-item{display:flex;align-items:center;justify-content:space-between;background-color:var(--tg-surface, #1e2c3a);border-radius:12px;padding:14px 16px;border:1px solid transparent;transition:border-color .2s}.shop-item.equipped{border-color:#2aabee33}.shop-item-info{flex:1;min-width:0}.shop-item-name{font-size:15px;font-weight:600;color:var(--tg-text, #ffffff);margin-bottom:2px}.shop-item-desc{font-size:12px;color:var(--tg-text-secondary, #708499);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shop-item-action{margin-left:12px;flex-shrink:0}.shop-btn{padding:7px 14px;border-radius:8px;border:none;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.shop-btn-buy{background-color:var(--tg-accent, #2AABEE);color:#fff}.shop-btn-buy:active:not(:disabled){transform:scale(.95)}.shop-btn-buy.disabled{opacity:.4;cursor:not-allowed}.shop-btn-equip{background-color:#2aabee1a;color:var(--tg-accent, #2AABEE)}.shop-btn-equip:active{transform:scale(.95)}.shop-badge{font-size:12px;font-weight:600;padding:5px 10px;border-radius:6px}.equipped-badge{background-color:#2ecc711a;color:#2ecc71}.free-badge{background-color:var(--subtle-bg);color:var(--tg-text-secondary, #708499)}.item-value{color:var(--tg-accent, #2AABEE);font-size:14px;margin-right:8px}.daily-bonus-card{background-color:var(--tg-surface, #1e2c3a);border-radius:12px;padding:16px;margin-bottom:24px}.daily-bonus-days{display:flex;justify-content:space-between;margin-bottom:16px}.daily-day{display:flex;flex-direction:column;align-items:center;gap:4px}.daily-day-circle{width:38px;height:38px;border-radius:50%;background-color:var(--subtle-bg);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:var(--tg-text, #ffffff);border:1.5px solid transparent;transition:all .2s}.daily-day.completed .daily-day-circle{background-color:var(--tg-accent, #2AABEE);color:#fff}.daily-day.current .daily-day-circle{border-color:var(--tg-accent, #2AABEE);background-color:#2aabee1f}.daily-day.future .daily-day-circle{opacity:.35}.daily-day-reward{font-size:10px;color:var(--tg-text-secondary, #708499)}.daily-streak-text{text-align:center;font-size:13px;color:var(--tg-text-secondary, #708499);margin-bottom:12px}.daily-claim-btn{width:100%;padding:12px;border-radius:10px;background-color:var(--tg-accent, #2AABEE);color:#fff;border:none;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.daily-claim-btn:active{transform:scale(.98)}.daily-claim-btn.claimed{background-color:var(--tg-success);opacity:.7;cursor:default}.daily-claim-btn:disabled:not(.claimed){opacity:.5;cursor:not-allowed}.list-group{background-color:var(--tg-surface);border-radius:12px;overflow:hidden;margin-bottom:16px}.list-item{display:flex;align-items:center;padding:14px 16px;cursor:pointer;border-bottom:1px solid var(--tg-border);transition:background-color .2s;color:var(--tg-text)}.list-item:last-child{border-bottom:none}.list-item:active{background-color:var(--subtle-bg)}.item-icon{margin-right:16px;font-size:22px;width:24px;text-align:center}.item-label{flex:1;font-size:16px}.theme-toggle-track{width:44px;height:24px;border-radius:12px;background-color:var(--tg-text-secondary);position:relative;transition:background-color .2s;flex-shrink:0;margin-right:10px}.theme-toggle-track[data-active=true]{background-color:var(--tg-accent)}.theme-toggle-thumb{width:20px;height:20px;border-radius:50%;background:#fff;position:absolute;top:2px;left:2px;transition:transform .2s;box-shadow:0 1px 3px #0003}.theme-toggle-track[data-active=true] .theme-toggle-thumb{transform:translate(20px)}.friends-screen{padding:16px 16px 80px;min-height:100vh;background-color:var(--tg-bg);color:var(--tg-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.search-section{margin-bottom:16px;position:relative}.search-input{width:100%;padding:12px 16px;background-color:var(--tg-surface);border:none;border-radius:12px;color:var(--tg-text);font-size:16px;outline:none}.search-input::placeholder{color:var(--tg-text-secondary)}.search-result-container{margin-top:8px;background-color:var(--tg-surface);border-radius:12px;padding:12px;animation:fadeIn .2s ease-out}.search-not-found{color:var(--tg-text-secondary);text-align:center;font-size:14px}.search-found-item{display:flex;align-items:center;justify-content:space-between}.found-user-info{display:flex;align-items:center;gap:12px}.btn-add-friend{background-color:var(--tg-accent);color:#fff;border:none;border-radius:8px;padding:6px 12px;font-size:14px;font-weight:500;cursor:pointer;transition:opacity .2s}.btn-add-friend:hover{opacity:.9}.sub-tabs{display:flex;background-color:var(--tg-surface);border-radius:12px;padding:4px;margin-bottom:16px}.sub-tab{flex:1;border:none;background:none;color:var(--tg-text-secondary);padding:8px;font-size:14px;font-weight:500;border-radius:8px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:6px;position:relative}.sub-tab.active{background-color:var(--tg-bg);color:var(--tg-text);box-shadow:0 2px 4px #0003}.tab-badge{background-color:var(--tg-accent);color:#fff;font-size:11px;padding:1px 5px;border-radius:10px;min-width:18px;text-align:center}.friends-list,.requests-list{display:flex;flex-direction:column;gap:8px}.friend-item,.request-item{display:flex;align-items:center;background-color:var(--tg-surface);padding:12px;border-radius:12px;gap:12px}.avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:18px;flex-shrink:0}.user-details,.friend-info,.request-info{display:flex;flex-direction:column;flex:1;overflow:hidden}.user-name,.friend-name,.request-name{font-weight:500;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-username,.request-username{font-size:13px;color:var(--tg-text-secondary)}.friend-status{display:flex;align-items:center;gap:6px;font-size:13px}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-text{color:var(--tg-text-secondary)}.friend-actions,.request-actions{display:flex;align-items:center;gap:8px}.btn-action,.btn-request{width:36px;height:36px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;font-size:18px;cursor:pointer;transition:transform .1s}.btn-action:active,.btn-request:active{transform:scale(.95)}.btn-invite{background-color:var(--tg-surface);color:var(--tg-accent);border:1px solid var(--tg-accent)}.btn-invite{background-color:var(--tg-accent);color:#fff;border:none}.btn-remove{background-color:transparent;color:var(--tg-text-secondary);font-size:24px}.btn-accept{background-color:var(--tg-success);color:#fff}.btn-decline{background-color:var(--tg-danger);color:#fff}.empty-state{text-align:center;color:var(--tg-text-secondary);margin-top:40px;font-size:15px}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.wallet-badge{position:fixed;top:10px;left:12px;z-index:900;display:flex;align-items:center;gap:5px;padding:6px 10px 6px 8px;border-radius:20px;border:none;background:#17212bd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #0000004d}.wallet-badge:active{transform:scale(.95);background:#17212bf2}.wallet-badge-amount{font-size:14px;font-weight:600;color:var(--tg-text, #ffffff);line-height:1}.settings-badge{position:fixed;top:10px;right:12px;z-index:900;display:flex;align-items:center;justify-content:center;padding:8px;border-radius:20px;border:none;background:#17212bd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #0000004d;color:var(--tg-text, #ffffff)}.settings-badge:active{transform:scale(.95);background:#17212bf2}.settings-badge-icon{width:18px;height:18px;display:block}.wallet-screen{display:flex;flex-direction:column;height:100vh;background:var(--tg-bg, #17212B)}.wallet-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--tg-border);flex-shrink:0}.wallet-balance{display:flex;align-items:center;gap:8px}.wallet-balance-amount{font-size:22px;font-weight:700;color:var(--tg-text, #ffffff)}.wallet-back-btn{background:transparent;border:none;color:var(--tg-accent, #2AABEE);font-size:15px;display:flex;align-items:center;gap:6px;cursor:pointer;padding:0}.wallet-tabs{display:flex;gap:0;padding:0 12px;border-bottom:1px solid var(--tg-border);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-shrink:0}.wallet-tabs::-webkit-scrollbar{display:none}.wallet-tab{flex-shrink:0;padding:10px 12px;border:none;background:transparent;color:var(--tg-text-secondary, #708499);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;border-bottom:2px solid transparent;white-space:nowrap}.wallet-tab.active{color:var(--tg-accent, #2AABEE);border-bottom-color:var(--tg-accent, #2AABEE)}.wallet-tab:active{opacity:.7}.wallet-content{flex:1;overflow-y:auto;padding:16px 20px 80px;-webkit-overflow-scrolling:touch}.wallet-section-title{font-size:14px;font-weight:600;color:var(--tg-text, #ffffff);margin-bottom:12px}.wallet-input-row{display:flex;gap:8px;margin-bottom:12px}.wallet-input-wrapper{flex:1;display:flex;align-items:center;gap:8px;background:var(--subtle-bg);border:1.5px solid var(--tg-border);border-radius:10px;padding:0 12px;transition:border-color .2s}.wallet-input-wrapper:focus-within{border-color:var(--tg-accent, #2AABEE)}.wallet-amount-input{flex:1;background:transparent;border:none;outline:none;color:var(--tg-text, #ffffff);font-size:16px;font-weight:500;padding:12px 0;-moz-appearance:textfield}.wallet-amount-input::placeholder{color:var(--tg-text-secondary, #708499)}.wallet-amount-input::-webkit-outer-spin-button,.wallet-amount-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.wallet-buy-btn{padding:12px 20px;border-radius:10px;border:none;background:var(--tg-accent, #2AABEE);color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.wallet-buy-btn:active:not(:disabled){transform:scale(.95)}.wallet-buy-btn:disabled{opacity:.4;cursor:not-allowed}.wallet-buy-btn.loading{opacity:.6;animation:walletPulse 1s ease-in-out infinite}.wallet-presets{display:flex;flex-wrap:wrap;gap:8px}.wallet-preset-btn{padding:8px 14px;border-radius:20px;border:1.5px solid var(--tg-border);background:transparent;color:var(--tg-text, #ffffff);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.wallet-preset-btn:active{transform:scale(.95)}.wallet-preset-btn.selected{background:var(--tg-accent, #2AABEE);border-color:var(--tg-accent, #2AABEE);color:#fff;font-weight:600}.wallet-stars-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.wallet-pack-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:14px 8px;border-radius:10px;border:1.5px solid var(--tg-border);background:var(--subtle-bg);color:var(--tg-text, #ffffff);font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.wallet-pack-btn:active:not(:disabled){transform:scale(.95);background:#2aabee26;border-color:var(--tg-accent, #2AABEE)}.wallet-pack-btn:disabled{opacity:.4;cursor:not-allowed}.wallet-pack-btn.loading{opacity:.6;border-color:var(--tg-accent, #2AABEE);animation:walletPulse 1s ease-in-out infinite}@keyframes walletPulse{0%,to{opacity:.6}50%{opacity:.9}}.wallet-pack-amount{font-size:16px}.wallet-empty{text-align:center;color:var(--tg-text-secondary, #708499);font-size:13px;padding:32px 0}.wallet-refund-list{display:flex;flex-direction:column;gap:0}.wallet-refund-item{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--tg-border)}.wallet-refund-item:last-child{border-bottom:none}.wallet-refund-info{display:flex;flex-direction:column;gap:2px}.wallet-refund-amount{font-size:15px;font-weight:600;color:var(--tg-text, #ffffff);display:flex;align-items:center;gap:4px}.wallet-refund-date{font-size:12px;color:var(--tg-text-secondary, #708499)}.wallet-refund-btn{padding:7px 14px;border-radius:8px;border:none;background:var(--tg-danger-bg);color:var(--tg-danger);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.wallet-refund-btn:active:not(:disabled){transform:scale(.95)}.wallet-refund-btn:disabled{opacity:.4;cursor:not-allowed}.wallet-refund-btn.loading{opacity:.6;animation:walletPulse 1s ease-in-out infinite}.wallet-history-list{display:flex;flex-direction:column;gap:0}.wallet-history-item{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--tg-border)}.wallet-history-item:last-child{border-bottom:none}.wallet-history-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.wallet-history-label{font-size:14px;font-weight:500;color:var(--tg-text, #ffffff)}.wallet-history-date{font-size:11px;color:var(--tg-text-secondary, #708499)}.wallet-history-amount{font-size:15px;font-weight:600;flex-shrink:0;margin-left:12px;display:flex;align-items:center;gap:3px}.wallet-history-amount.positive{color:var(--tg-success)}.wallet-history-amount.negative{color:var(--tg-danger)}.wallet-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.wallet-placeholder-icon{font-size:48px;margin-bottom:16px}.wallet-placeholder-title{font-size:18px;font-weight:600;color:var(--tg-text, #ffffff);margin-bottom:8px}.wallet-placeholder-text{font-size:14px;color:var(--tg-text-secondary, #708499);line-height:1.4}.rules-guide{display:flex;flex-direction:column;gap:8px;width:100%}.rules-section{background-color:var(--tg-surface);border-radius:12px;overflow:hidden;transition:background-color .2s}.rules-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;cursor:pointer;-webkit-user-select:none;user-select:none;background:transparent;transition:background-color .2s}.rules-header:active{background-color:var(--subtle-bg)}.rules-title{font-size:15px;font-weight:600;color:var(--tg-text)}.rules-chevron{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--tg-text-secondary);transition:transform .2s ease,border-top-color .2s ease;transform-origin:center 40%}.rules-section.open .rules-chevron{transform:rotate(180deg);border-top-color:var(--tg-accent)}.rules-content{max-height:0;overflow:hidden;transition:max-height .3s ease}.rules-section.open .rules-content{max-height:600px}.rules-inner{padding:0 16px 14px;font-size:13px;line-height:1.6;color:var(--tg-text-secondary)}.rules-inner ul{margin:8px 0 0;padding-left:16px;list-style-type:disc}.rules-inner li{margin-bottom:6px;padding-left:4px}.rules-inner li:last-child{margin-bottom:0}.rules-inner strong{color:var(--tg-text);font-weight:600}.settings-screen{display:flex;flex-direction:column;height:100vh;background:var(--tg-bg, #17212B)}.settings-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--tg-border);flex-shrink:0}.settings-back-btn{background:transparent;border:none;color:var(--tg-accent, #2AABEE);font-size:15px;display:flex;align-items:center;gap:6px;cursor:pointer;padding:0;min-width:70px}.settings-title{font-size:17px;font-weight:600;color:var(--tg-text, #ffffff)}.settings-header-spacer{min-width:70px}.settings-content{flex:1;overflow-y:auto;padding:16px 20px 40px;-webkit-overflow-scrolling:touch}.settings-section-title{font-size:13px;font-weight:600;color:var(--tg-text-secondary, #708499);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;margin-top:16px}.settings-section-title:first-child{margin-top:0}.settings-list-group{background-color:var(--tg-surface, #1e2c3a);border-radius:12px;overflow:hidden;margin-bottom:8px}.settings-list-item{display:flex;align-items:center;padding:14px 16px;cursor:pointer;border-bottom:1px solid var(--tg-border);transition:background-color .2s;color:var(--tg-text, #ffffff)}.settings-list-item:last-child{border-bottom:none}.settings-list-item:active{background-color:var(--subtle-bg)}.settings-item-icon{margin-right:16px;font-size:22px;width:24px;text-align:center}.settings-item-label{flex:1;font-size:16px}.settings-item-value{color:var(--tg-accent, #2AABEE);font-size:14px;margin-right:8px}.settings-theme-toggle-track{width:44px;height:24px;border-radius:12px;background-color:var(--tg-text-secondary, #708499);position:relative;transition:background-color .2s;flex-shrink:0;margin-right:10px}.settings-theme-toggle-track[data-active=true]{background-color:var(--tg-accent, #2AABEE)}.settings-theme-toggle-thumb{width:20px;height:20px;border-radius:50%;background:#fff;position:absolute;top:2px;left:2px;transition:transform .2s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 4px #00000040,0 0 1px #0000001a}.settings-list-item:active .settings-theme-toggle-thumb{transform:scaleX(1.15)}.settings-theme-toggle-track[data-active=true] .settings-theme-toggle-thumb{transform:translate(20px)}.settings-list-item:active .settings-theme-toggle-track[data-active=true] .settings-theme-toggle-thumb{transform:translate(20px) scaleX(1.15)}.settings-check{color:var(--tg-accent, #2AABEE);font-size:18px;font-weight:600;margin-left:8px}.settings-lang-chevron{font-size:20px;font-weight:600;color:var(--tg-text-secondary, #708499);transform:rotate(90deg);transition:transform .2s ease;margin-left:4px}.settings-lang-chevron.open{transform:rotate(-90deg)}.settings-lang-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--tg-surface, #1e2c3a);border-radius:12px;overflow:hidden;z-index:50;box-shadow:0 8px 32px #0000004d;border:1px solid var(--tg-border);animation:dropdownIn .15s ease-out}@keyframes dropdownIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.settings-lang-option{display:flex;align-items:center;padding:14px 16px;cursor:pointer;transition:background-color .15s;color:var(--tg-text, #ffffff);font-size:16px;border-bottom:1px solid var(--tg-border)}.settings-lang-option:last-child{border-bottom:none}.settings-lang-option:active{background-color:var(--subtle-bg)}.settings-lang-option.active{background-color:#2aabee14}.settings-lang-flag{font-size:22px;margin-right:12px;width:24px;text-align:center}.settings-lang-option .settings-check{margin-left:auto}:root{--tg-bg: #17212B;--tg-bg-secondary: #232e3c;--tg-surface: #1e2c3a;--tg-text: #ffffff;--tg-text-secondary: #708499;--tg-accent: #2AABEE;--tg-accent-hover: #1d9fe0;--tg-border: rgba(255,255,255,.08);--tg-tab-height: 56px;--tg-success: #2ecc71;--tg-success-bg: rgba(46, 204, 113, .1);--tg-warning: #f1c40f;--tg-warning-bg: rgba(241, 196, 15, .1);--tg-danger: #e74c3c;--tg-danger-bg: rgba(231, 76, 60, .15);--tg-danger-text: #ff5e5e;--tg-gold: #FFD700;--tg-gold-bg: rgba(255, 215, 0, .08);--tg-silver: #C0C0C0;--tg-silver-bg: rgba(192, 192, 192, .08);--tg-bronze: #CD7F32;--tg-bronze-bg: rgba(205, 127, 50, .08);--tg-offline: #708499;--tg-resign: #E85D75;--tg-resign-bg: rgba(232, 93, 117, .08)}:root[data-theme=light]{--tg-bg: #FFFFFF;--tg-bg-secondary: #F0F2F5;--tg-surface: #FFFFFF;--tg-text: #000000;--tg-text-secondary: #707579;--tg-accent: #2AABEE;--tg-accent-hover: #1d9fe0;--tg-border: rgba(0,0,0,.08);--tg-success: #27ae60;--tg-success-bg: rgba(39, 174, 96, .1);--tg-warning: #e6b800;--tg-warning-bg: rgba(230, 184, 0, .1);--tg-danger: #e74c3c;--tg-danger-bg: rgba(231, 76, 60, .1);--tg-danger-text: #dc3545;--tg-gold: #DAA520;--tg-gold-bg: rgba(218, 165, 32, .08);--tg-silver: #A0A0A0;--tg-silver-bg: rgba(160, 160, 160, .08);--tg-bronze: #B8860B;--tg-bronze-bg: rgba(184, 134, 11, .08);--tg-offline: #999999;--tg-resign: #dc3545;--tg-resign-bg: rgba(220, 53, 69, .08)}body{margin:0;padding:0;background-color:var(--tg-bg);color:var(--tg-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--tg-border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--tg-text-secondary)}.app{height:100vh;width:100vw;overflow:hidden;position:relative;display:flex;flex-direction:column}.app-content{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}:root{--bg-primary: #17212B;--bg-secondary: #1e2c3a;--bg-board: #1a2634;--bg-board-dark: #141e28;--text-primary: #ffffff;--text-secondary: #708499;--accent: #2AABEE;--accent-hover: #1d9fe0;--white-checker: #FFFFFF;--black-checker: #1B2B6B;--point-light: #2AABEE;--point-dark: #1B2B6B;--dice-bg: #232e3c;--dice-dot: #ffffff;--chat-own-bubble: #2B5278;--chat-own-bubble-overlay: rgba(43, 82, 120, .92);--chat-bubble-overlay: rgba(30, 44, 58, .92);--subtle-border: rgba(255, 255, 255, .06);--subtle-bg: rgba(255, 255, 255, .04);--subtle-bg-hover: rgba(255, 255, 255, .06);--safe-top: 0px;--safe-bottom: 0px}:root[data-theme=light]{--bg-primary: #FFFFFF;--bg-secondary: #F0F2F5;--bg-board: #E8EDF2;--bg-board-dark: #DCE3EA;--text-primary: #000000;--text-secondary: #707579;--accent: #2AABEE;--accent-hover: #1d9fe0;--white-checker: #FFFFFF;--black-checker: #1B2B6B;--point-light: #2AABEE;--point-dark: #1B2B6B;--dice-bg: #E8EDF2;--dice-dot: #000000;--chat-own-bubble: #EFFDDE;--chat-own-bubble-overlay: rgba(239, 253, 222, .92);--chat-bubble-overlay: rgba(255, 255, 255, .92);--subtle-border: rgba(0, 0, 0, .08);--subtle-bg: rgba(0, 0, 0, .03);--subtle-bg-hover: rgba(0, 0, 0, .05)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{width:100%;height:100%;overflow:hidden;background-color:var(--bg-primary);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;user-select:none;-webkit-user-select:none;touch-action:manipulation}.app{width:100%;height:100%;display:flex;flex-direction:column;padding-top:var(--safe-top);padding-bottom:var(--safe-bottom)}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:16px}.spinner{width:40px;height:40px;border:3px solid var(--text-secondary);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;min-height:48px}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:active{transform:scale(.96)}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--subtle-border)}.btn-secondary:hover{background:var(--subtle-bg-hover)}.btn-block{width:100%}
