@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Outfit:wght@400;500;600;700;800&display=swap";*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--cyan-primary: #00e5ff;--cyan-light: #6effff;--cyan-dark: #00b2cc;--gold-accent: #ffc107;--dark-bg: #0f1923;--dark-surface: #1a2332;--text-primary: #e8eaed;--text-secondary: #9aa0a6;--tile-selected-glow: rgba(0, 229, 255, .6);--tile-hint-glow: rgba(255, 193, 7, .7);--header-height: 52px}html{font-size:16px;-webkit-font-smoothing:antialiased}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--text-primary);min-height:100vh;overflow-x:hidden;transition:background-color .8s ease,background-image .8s ease}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");background-size:256px 256px}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;opacity:.03;background-image:repeating-linear-gradient(90deg,transparent,transparent 1px,rgba(255,255,255,.03) 1px,rgba(255,255,255,.03) 2px),repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(255,255,255,.02) 2px,rgba(255,255,255,.02) 4px)}.velvet-blue{background-color:#0d2137;background-image:radial-gradient(ellipse at 30% 20%,rgba(21,101,192,.25) 0%,transparent 50%),radial-gradient(ellipse at 70% 80%,rgba(13,71,161,.2) 0%,transparent 50%),radial-gradient(ellipse at 50% 50%,rgba(25,118,210,.1) 0%,transparent 70%),linear-gradient(180deg,#0d2137,#1a3a5c,#153050 60%,#0d2137)}.velvet-green{background-color:#0d2816;background-image:radial-gradient(ellipse at 30% 20%,rgba(27,94,32,.3) 0%,transparent 50%),radial-gradient(ellipse at 70% 80%,rgba(46,125,50,.2) 0%,transparent 50%),radial-gradient(ellipse at 50% 50%,rgba(56,142,60,.1) 0%,transparent 70%),linear-gradient(180deg,#0d2816,#1a4a2e,#15402a 60%,#0d2816)}.velvet-red{background-color:#370d0d;background-image:radial-gradient(ellipse at 30% 20%,rgba(183,28,28,.25) 0%,transparent 50%),radial-gradient(ellipse at 70% 80%,rgba(198,40,40,.2) 0%,transparent 50%),radial-gradient(ellipse at 50% 50%,rgba(211,47,47,.1) 0%,transparent 70%),linear-gradient(180deg,#370d0d,#5c1a1a,#4a1515 60%,#370d0d)}.game-header{position:relative;height:var(--header-height);background:#0f192366;border-bottom:1px solid rgba(0,229,255,.1);display:flex;align-items:center;justify-content:space-between;padding:0 20px;z-index:100}.header-left{display:flex;align-items:center;gap:10px}.header-logo-img{height:38px;max-width:150px;object-fit:contain}.game-title{font-family:Outfit,sans-serif;font-size:24px;font-weight:800;color:var(--gold-accent);letter-spacing:1px;text-transform:uppercase;text-shadow:0 2px 4px rgba(0,0,0,.5);margin:0}.header-right{display:flex;align-items:center;gap:16px}.bg-switcher{display:flex;align-items:center;gap:6px}.bg-btn{width:26px;height:26px;border-radius:6px;border:2px solid rgba(255,255,255,.3);cursor:pointer;transition:all .3s ease;position:relative}.bg-btn:hover{transform:scale(1.15);border-color:#fff9}.bg-btn.active{border-color:#fff;box-shadow:0 0 10px #ffffff80;transform:scale(1.15)}.lang-dropdown-container{position:relative}.lang-dropdown-toggle{display:flex;align-items:center;gap:6px;background:#0003;border:2px solid rgba(255,255,255,.3);padding:2px 6px 2px 2px;border-radius:6px;height:30px;cursor:pointer;transition:all .3s ease;box-sizing:border-box}.lang-dropdown-toggle:hover{background:#ffffff0d;border-color:#fff9}.lang-flag-current{width:32px;height:22px;object-fit:cover;border-radius:3px}.dropdown-chevron{width:14px;height:14px;transition:transform .3s ease}.dropdown-chevron.open{transform:rotate(180deg)}.dropdown-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040}.dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:1050;background:#1a2332;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:4px;display:flex;flex-direction:column;gap:2px;box-shadow:0 4px 20px #00000080;min-width:120px}.dropdown-item{display:flex;align-items:center;gap:12px;padding:8px 12px;background:transparent;border:none;cursor:pointer;border-radius:6px;color:var(--text-primary);transition:background .2s ease}.dropdown-item:hover{background:#ffffff1a}.dropdown-item.active{background:#00e5ff26;color:var(--cyan-primary)}.lang-flag{width:28px;height:20px;object-fit:cover;border-radius:3px}.dropdown-lang-code{font-family:Inter,sans-serif;font-size:13px;font-weight:600}.more-games-link{font-family:Inter,sans-serif;font-size:13px;font-weight:500;color:var(--text-secondary);text-decoration:none;padding:6px 14px;border:1px solid rgba(255,255,255,.15);border-radius:20px;transition:all .3s ease}.more-games-link:hover{color:var(--text-primary);border-color:var(--cyan-primary);background:#00e5ff0d}.game-container{position:relative;z-index:1;padding-top:12px;height:calc(100vh - var(--header-height) - 40px);display:flex;flex-direction:column;align-items:center}.scoreboard{display:flex;align-items:center;justify-content:center;gap:20px;padding:6px 20px;background:#0f192399;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:16px;border:1px solid rgba(0,229,255,.1);margin-bottom:8px}.score-divider{width:1px;height:24px;background:#ffffff26}.score-item{display:flex;flex-direction:column;align-items:center;gap:2px}.score-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary)}.score-value{font-family:Outfit,sans-serif;font-size:18px;font-weight:700;color:var(--cyan-primary);min-width:46px;text-align:center}.score-item.timer .score-value{font-variant-numeric:tabular-nums}.game-controls{display:flex;gap:8px;margin-bottom:8px;flex-wrap:wrap;justify-content:center}.control-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:76px;height:60px;padding:6px 4px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:10px;color:var(--text-primary);font-family:Inter,sans-serif;font-size:11px;font-weight:500;cursor:pointer;transition:all .3s ease;text-align:center}.control-btn:hover{background:#00e5ff1a;border-color:var(--cyan-primary);color:var(--cyan-primary);transform:translateY(-1px)}.control-btn:active{transform:translateY(0)}.control-btn .btn-icon{font-size:18px}.game-board-wrapper{flex:1;width:100%;display:flex;flex-direction:column;padding:10px;overflow:auto;position:relative}.game-board-scaler{margin:auto;transition:transform .2s ease,width .2s ease,height .2s ease}#game-board{position:relative;transform-origin:center center}.zoom-controls{display:none;position:fixed;bottom:20px;left:20px;z-index:1000;flex-direction:column;gap:8px}.zoom-btn{width:44px;height:44px;border-radius:12px;background:#0f1923d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(0,229,255,.3);color:var(--cyan-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #0000004d}.zoom-btn:active{transform:scale(.95);background:#00e5ff26}.zoom-btn svg{width:20px;height:20px}.mahjong-tile{position:absolute;width:52px;height:68px;cursor:pointer;transition:transform .15s ease,filter .15s ease;-webkit-user-select:none;user-select:none}.tile-inner{position:relative;width:100%;height:100%}.tile-top{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#faf6ef,#f0ead8,#e8e0cc);border-radius:5px;border:1px solid rgba(180,170,150,.6);overflow:hidden;z-index:2;display:flex;align-items:center;justify-content:center}.tile-side-right{position:absolute;top:3px;right:-4px;width:4px;height:calc(100% - 1px);background:linear-gradient(180deg,#c8c0b0,#a89e8e);border-radius:0 3px 3px 0;z-index:1}.tile-side-bottom{position:absolute;bottom:-4px;left:3px;width:calc(100% - 1px);height:4px;background:linear-gradient(90deg,#b8b0a0,#9e9688);border-radius:0 0 3px 3px;z-index:1}.tile-logo-watermark{position:absolute;bottom:2px;right:2px;width:16px;height:16px;color:#00b4d21f;z-index:1;pointer-events:none}.tile-logo-watermark svg{width:100%;height:100%}.tile-face-svg{width:44px;height:48px;z-index:2;position:relative}.mahjong-tile.free{cursor:pointer}.mahjong-tile.free:hover{transform:translateY(-3px);filter:brightness(1.1)}.mahjong-tile.free:hover .tile-top{box-shadow:0 0 12px #00e5ff4d;border-color:#00e5ff66}.mahjong-tile.blocked{cursor:default;filter:brightness(.75)}.mahjong-tile.selected .tile-top{border-color:var(--cyan-primary);box-shadow:0 0 15px var(--tile-selected-glow),0 0 30px #00e5ff33,inset 0 0 8px #00e5ff1a}.mahjong-tile.selected{transform:translateY(-4px);z-index:999!important}.mahjong-tile.hint .tile-top{border-color:var(--gold-accent);box-shadow:0 0 15px var(--tile-hint-glow),0 0 30px #ffc10733;animation:hint-pulse 1s ease-in-out infinite}@keyframes hint-pulse{0%,to{box-shadow:0 0 15px var(--tile-hint-glow)}50%{box-shadow:0 0 25px var(--tile-hint-glow),0 0 40px #ffc1074d}}.mahjong-tile.matched{animation:tile-match .4s ease-out forwards;pointer-events:none}@keyframes tile-match{0%{transform:scale(1);opacity:1}30%{transform:scale(1.15);opacity:1}to{transform:scale(.3);opacity:0}}.mahjong-tile.shake{animation:tile-shake .5s ease-in-out}@keyframes tile-shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.notifications-container{position:fixed;bottom:20px;right:20px;z-index:2000;display:flex;flex-direction:column;gap:8px;max-width:320px}.notification{padding:10px 18px;border-radius:10px;font-size:13px;font-weight:500;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transform:translate(120%);transition:transform .3s ease,opacity .3s ease;border:1px solid}.notification.show{transform:translate(0)}.notification.hide{transform:translate(120%);opacity:0}.notification-success{background:#4caf5026;border-color:#4caf504d;color:#81c784}.notification-error{background:#f4433626;border-color:#f443364d;color:#ef9a9a}.notification-warning{background:#ff980026;border-color:#ff98004d;color:#ffcc80}.notification-info{background:#2196f326;border-color:#2196f34d;color:#90caf9}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:3000;animation:modal-fade-in .4s ease}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.modal-content{background:linear-gradient(145deg,#1a2d3e,#0f1923);border:1px solid rgba(0,229,255,.15);border-radius:20px;padding:40px;max-width:440px;width:90%;text-align:center;animation:modal-slide-in .4s ease;box-shadow:0 20px 60px #00000080}@keyframes modal-slide-in{0%{transform:scale(.9) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.modal-icon{width:64px;height:64px;margin:0 auto 20px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#00e5ff1a;border:2px solid rgba(0,229,255,.2)}.win-icon{background:#ffc1071a;border-color:#ffc1074d}.modal-title{font-family:Outfit,sans-serif;font-size:28px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.modal-subtitle{font-size:15px;color:var(--text-secondary);margin-bottom:24px;line-height:1.5}.modal-stats{display:flex;justify-content:center;gap:24px;margin-bottom:28px}.modal-stat{display:flex;flex-direction:column;align-items:center;gap:4px}.modal-stat-value{font-family:Outfit,sans-serif;font-size:24px;font-weight:700;color:var(--cyan-primary)}.modal-stat-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary)}.rules-title{font-size:14px;font-weight:600;color:var(--cyan-primary);text-transform:uppercase;letter-spacing:1px;margin-bottom:12px}.rules-list{list-style:none;text-align:left;margin-bottom:28px}.rules-list li{font-size:13px;color:var(--text-secondary);padding:6px 0 6px 24px;position:relative;line-height:1.4}.rules-list li:before{content:"🀄";position:absolute;left:0;font-size:12px}.modal-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 32px;border:none;border-radius:12px;font-family:Inter,sans-serif;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px}.modal-btn-primary{background:linear-gradient(135deg,var(--cyan-primary) 0%,var(--cyan-dark) 100%);color:#0f1923;box-shadow:0 4px 20px #00e5ff4d}.modal-btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 30px #00e5ff66}.modal-btn-secondary{background:#ffffff14;color:var(--text-primary);border:1px solid rgba(255,255,255,.15)}.modal-btn-secondary:hover{background:#ffffff1f;border-color:#ffffff40}.confetti-container{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2999;overflow:hidden}.confetti-piece{position:absolute;top:-20px;animation:confetti-fall linear forwards}@keyframes confetti-fall{0%{transform:translateY(-20px) rotate(0);opacity:1}to{transform:translateY(110vh) rotate(720deg);opacity:.3}}@media (max-width: 900px){.scoreboard{gap:16px;padding:6px 16px}.score-value{font-size:18px}}@media (max-width: 700px){.game-header{padding:0 12px}.header-brand{font-size:13px}.more-games-link{display:none}.bg-btn{width:24px;height:24px;border-radius:5px;border-width:2px}.bg-switcher{gap:6px}.lang-dropdown-toggle{height:28px;padding:2px 4px 2px 2px;gap:4px;border-radius:5px}.lang-flag-current,.lang-flag{width:28px;height:20px}.scoreboard{width:calc(100% - 24px);justify-content:space-evenly;gap:0;padding:8px 0}.score-item{flex:1}.score-label{font-size:9px}.score-value{font-size:16px;min-width:40px}.game-controls{gap:6px;flex-wrap:nowrap;width:calc(100% - 24px);margin:0 auto 8px}.control-btn{flex:1;width:auto;height:56px;font-size:10px;padding:4px 2px}.control-btn .btn-icon{font-size:16px}.modal-content{padding:28px 24px}.modal-title{font-size:22px}.zoom-controls{display:flex}}@media (max-width: 480px){.game-container{padding-top:6px}.game-board-wrapper{padding:2px}.scoreboard{padding:6px 0}.score-label{font-size:9px}.score-value{font-size:16px;min-width:40px}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#fff3}::selection{background:#00e5ff4d;color:#fff}
