@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap";:root{--shadow-glass:0 8px 32px #0006;--shadow-glass-pressed:0 4px 16px #0009;--glass-border-crisp:#ffffff26;--bg-primary:#050505;--bg-secondary:#0f0f1466;--bg-tertiary:#19192399;--text-primary:#fff;--text-secondary:#889;--pi-color:#f8b12d;--pi-color-glow:#f8b12d66;--pi-purple:#8a2be2;--pi-purple-glow:#8a2be266;--accent-gradient:linear-gradient(135deg, var(--pi-purple), var(--pi-color));--navbar-height:60px;--bottom-nav-height:80px;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-pill:999px;--glass-bg:#0f0f1940;--glass-border:#ffffff0d;--inner-glow:inset 0 0 0 1px #ffffff0d}body.light-theme{--bg-primary:#f0f2f5;--bg-secondary:#fff;--bg-tertiary:#e4e6eb;--text-primary:#1c1e21;--text-secondary:#606770;--glass-bg:#ffffffd9;--glass-border:#00000012;--inner-glow:inset 0 0 0 1px #0000000d}body.light-theme body:before,body.light-theme body:after{opacity:.15}body.light-theme .game-title{color:#fff}body.light-theme .premium-badge,body.light-theme .rating-badge{background:#00000080}body.light-theme .search-bar{background:#0000000f;border-color:#0000001a}body.light-theme .search-bar input{color:var(--text-primary)}body.light-theme .search-dropdown,body.light-theme .notif-dropdown,body.light-theme .lang-modal{background:#fffffff2}body.light-theme .search-result-title,body.light-theme .notif-title,body.light-theme .lang-native{color:#1c1e21}body.light-theme .lang-label,body.light-theme .notif-desc{color:#606770}body.light-theme .icon-btn{color:#1c1e21;background:#0000000f;border-color:#00000014}body.light-theme .settings-list{background:#00000008;border-color:#0000000f}body.light-theme .settings-item-left{color:#1c1e21}body.light-theme .lang-current-badge{color:#606770}*{box-sizing:border-box;margin:0;padding:0}body{letter-spacing:-.02em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,system-ui,Roboto,Helvetica Neue,Segoe UI,Apple SD Gothic Neo,Noto Sans KR,Malgun Gothic,sans-serif;position:relative;overflow-x:hidden}body:before{content:"";z-index:-1;pointer-events:none;background-color:#0000;background-image:radial-gradient(circle at 15%,#8a2be266,#0000 50%),radial-gradient(circle at 85% 30%,#f8b12d66,#0000 50%);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:200% 200%;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;animation:10s ease-in-out infinite alternate meshFlow;position:fixed;inset:0}@keyframes meshFlow{0%{background-position:0 0}50%{background-position:100%}to{background-position:0 100%}}h1,h2,h3,h4,h5,h6{letter-spacing:-.03em;font-weight:700}a{color:inherit;text-decoration:none}ul{list-style:none}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(24px);box-shadow:var(--inner-glow), 0 8px 32px #0000004d;border-radius:var(--radius-lg)}.app-container{height:100vh;display:flex;overflow:hidden}.main-content{scroll-behavior:smooth;flex-direction:column;flex:1;display:flex;overflow-y:auto}.page-container{padding:1rem;padding-bottom:calc(var(--bottom-nav-height) + 3rem);width:100%;max-width:100%;margin:0 auto}.btn{border-radius:var(--radius-pill);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.8rem 1.5rem;font-family:inherit;font-size:1rem;font-weight:600;transition:all .3s cubic-bezier(.25,.46,.45,.94);display:inline-flex}.btn-primary{background:var(--accent-gradient);color:#fff;box-shadow:0 4px 20px var(--pi-purple-glow)}.btn-primary:hover{box-shadow:0 8px 30px var(--pi-purple-glow);transform:translateY(-2px)scale(1.02)}.btn-secondary{color:var(--text-primary);box-shadow:var(--inner-glow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#ffffff0d}.btn-secondary:hover{background-color:#ffffff1a;transform:translateY(-2px)}::-webkit-scrollbar{display:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in{animation:.6s cubic-bezier(.25,.46,.45,.94) forwards fadeIn}.ripple-canvas{z-index:999999;pointer-events:none;position:fixed;inset:0}.lang-modal-overlay{-webkit-backdrop-filter:blur(4px);z-index:1200;background:#000000a6;justify-content:center;align-items:flex-end;animation:.2s langFadeIn;display:flex;position:fixed;inset:0}.lang-modal{background:#140e23f7;border:1px solid #ffffff1a;border-bottom:none;border-radius:24px 24px 0 0;flex-direction:column;width:100%;max-width:480px;max-height:72vh;animation:.28s cubic-bezier(.34,1.56,.64,1) langSlideUp;display:flex;overflow:hidden;box-shadow:0 -8px 32px #00000080}@keyframes langSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes langFadeIn{0%{opacity:0}to{opacity:1}}.navbar{height:var(--navbar-height);z-index:200;border-top:none;border-left:none;border-right:none;border-radius:0;flex-shrink:0;justify-content:space-between;align-items:center;padding:6px 1rem 0;display:flex;position:sticky;top:0}.navbar-left .brand{align-items:center;gap:.8rem;display:flex}.brand-logo{object-fit:contain;border-radius:6px;width:32px;height:32px}.brand-text{letter-spacing:-.5px;font-size:1.4rem;font-weight:700;line-height:1.05}.navbar-center{flex:1;max-width:320px;margin:0 .8rem;position:relative}.lang-nav-btn{height:36px;color:var(--text-primary);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:18px;align-items:center;gap:6px;padding:0 10px;font-size:13px;font-weight:600;transition:all .2s;display:flex}.lang-nav-btn:hover{background:#ffffff1f;border-color:#fff3;transform:translateY(-1px)}.lang-globe-icon{color:var(--text-primary);flex-shrink:0}.lang-nav-flag{flex-shrink:0;font-size:15px;line-height:1}.lang-nav-code{letter-spacing:.5px;color:var(--text-primary);font-size:11px;font-weight:700}@media (width<=420px){.lang-nav-code{display:none}.lang-nav-btn{gap:4px;padding:0 8px}}.icon-btn{cursor:pointer;width:36px;height:36px;color:var(--text-primary);background:#ffffff0f;border:1px solid #ffffff14;border-radius:50%;justify-content:center;align-items:center;transition:background .2s;display:flex;position:relative}.icon-btn:hover{background:#ffffff1f}.navbar-right{align-items:center;gap:.6rem;display:flex}.balance-badge{color:var(--pi-color);cursor:help;background:#f8b12d1a;border:1px solid #f8b12d33;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.user-profile img{border:2px solid var(--pi-purple);cursor:pointer;border-radius:50%;width:32px;height:32px;transition:transform .2s}.user-profile img:hover{transform:scale(1.05)}.avatar-loading{width:32px;height:32px;color:var(--pi-color);background:#8a2be233;border-radius:50%;justify-content:center;align-items:center;display:flex}.spin-icon{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.username-label{color:var(--pi-color);font-size:.8rem;font-weight:600;display:none}@media (width>=640px){.username-label{display:block}}.navbar{transition:all .3s}.navbar.scrolled{-webkit-backdrop-filter:blur(16px);background:#0b0718f2;border-bottom:1px solid #ffffff0d;box-shadow:0 4px 20px #00000080}.bottom-nav{z-index:1000;-webkit-backdrop-filter:blur(24px);border:1px solid var(--glass-border-crisp,#ffffff26);width:90%;max-width:450px;height:68px;box-shadow:var(--shadow-glass,0 10px 40px #0009);background:#0f0f12a6;border-radius:999px;justify-content:space-around;align-items:center;padding:0 8px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}body.light-theme .bottom-nav{background:#fffffff2;border:1px solid #0000001a;box-shadow:0 10px 40px #00000026}.nav-item{color:#777;border-radius:var(--radius-pill);flex-direction:column;justify-content:center;align-items:center;gap:.3rem;width:20%;height:85%;font-size:.75rem;font-weight:600;text-decoration:none;transition:all .3s cubic-bezier(.25,.46,.45,.94);display:flex;position:relative}body.light-theme .nav-item{color:#888}.nav-item:hover{color:#ddd}body.light-theme .nav-item:hover{color:#444}.nav-item.active{color:#fff;background:#ffffff1a}body.light-theme .nav-item.active{color:var(--pi-purple);background:#8a2be21a}.nav-item.active svg{stroke:var(--pi-color);filter:drop-shadow(0 2px 4px #f8b12d66);transform:translateY(-3px)}.nav-item svg{transition:all .3s}.nav-item:active{transition:transform .1s;transform:scale(.92)}@media (width<=768px){.bottom-nav{bottom:max(20px, env(safe-area-inset-bottom));width:92%;height:64px}}.game-card{border-radius:var(--radius-lg);aspect-ratio:3/4;width:100%;transition:transform .25s cubic-bezier(.25,.46,.45,.94),box-shadow .25s;display:block;position:relative;overflow:hidden;box-shadow:0 10px 30px #0006}.game-card:not(.blank-card):hover{z-index:10;border-color:#ffffff4d;transform:translateY(-6px)scale(1.02);box-shadow:0 15px 35px #0009,0 0 20px #8a2be266,0 0 40px #f8b12d33}.blank-card{box-shadow:none;background-color:#1414194d;border:1px dashed #ffffff1a}.blank-bg{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.blank-shimmer{background:linear-gradient(135deg,#8a2be20a 0%,#f8b12d0a 100%);animation:3s ease-in-out infinite blankPulse;position:absolute;inset:0}@keyframes blankPulse{0%,to{opacity:.4}50%{opacity:1}}.blank-content{z-index:1;text-align:center;flex-direction:column;align-items:center;gap:8px;padding:1rem;display:flex;position:relative}.blank-title{color:#ffffff40;letter-spacing:.5px;font-size:.85rem;font-weight:600}.blank-desc{color:#ffffff21;font-size:.7rem}.card-image-wrapper{width:100%;height:100%;position:relative}.card-bg-img{object-fit:cover;width:100%;height:100%;transition:transform .6s}.game-card:hover .card-bg-img{transform:scale(1.08)}.card-gradient-overlay{pointer-events:none;background:linear-gradient(#0003 0%,#0000 40%,#000c 90%,#000 100%);width:100%;height:100%;position:absolute;top:0;left:0}.card-content{z-index:2;flex-direction:column;justify-content:space-between;width:100%;height:100%;padding:1rem;display:flex;position:absolute;top:0;left:0}.card-top{justify-content:space-between;align-items:flex-start;display:flex}.premium-badge{-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-pill);letter-spacing:1px;color:var(--pi-color);box-shadow:var(--inner-glow);background:#14141999;padding:.3rem .6rem;font-size:.65rem;font-weight:800}.rating-badge{-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-pill);box-shadow:var(--inner-glow);background:#14141999;align-items:center;gap:.2rem;padding:.3rem .6rem;font-size:.75rem;font-weight:700;display:flex}.card-bottom{position:relative}.game-title{color:#fff;letter-spacing:-.5px;text-shadow:none;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:.2rem;padding-right:30px;font-size:1.25rem;font-weight:700;line-height:1.2;display:-webkit-box;overflow:hidden}.game-dev{color:#fff9;font-size:.8rem}.play-icon-wrapper{color:#fff;opacity:0;transition:all .3s cubic-bezier(.25,.46,.45,.94);position:absolute;bottom:0;right:0;transform:translate(10px)}.game-card:hover .play-icon-wrapper{opacity:1;color:var(--pi-color);filter:drop-shadow(0 0 8px var(--pi-color-glow));transform:translate(0)}.bookmark-btn{cursor:pointer;z-index:10;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0006;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex;position:absolute;top:10px;right:10px}.bookmark-btn:active{transform:scale(.9)}.bookmark-btn.active{background:#ffa000e6}.game-card:not(.blank-card):active{transition:transform .1s,box-shadow .1s;transform:scale(.96);box-shadow:0 4px 15px #0009}.skeleton-card{aspect-ratio:3/4;border-radius:var(--radius-lg);background:#ffffff0a;border:1px solid #ffffff0f;flex:0 0 160px;position:relative;overflow:hidden}.skeleton-shimmer{background:linear-gradient(90deg,#fff0 0%,#ffffff0f 50%,#fff0 100%) 0 0/200% 100%;width:100%;height:100%;animation:1.6s infinite shimmer}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.home-page{flex-direction:column;gap:2rem;display:flex}.hero-banner{align-items:flex-end;width:100vw;height:60vh;margin-top:-1rem;margin-bottom:1rem;margin-left:-1rem;display:flex;position:relative;overflow:hidden}.hero-bg{object-fit:cover;z-index:0;width:100%;height:100%;animation:20s infinite alternate slowZoom;position:absolute;top:0;left:0;transform:scale(1.05)}@keyframes slowZoom{0%{transform:scale(1)}to{transform:scale(1.1)}}.hero-gradient{background:linear-gradient(to bottom, #05050500 0%, #05050566 50%, var(--bg-primary) 100%);z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}.hero-content{z-index:2;flex-direction:column;align-items:flex-start;width:100%;padding:2rem;display:flex;position:relative}.hero-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:1px;box-shadow:var(--inner-glow);background:#ffffff1a;margin-bottom:.8rem;padding:.3rem .8rem;font-size:.75rem;font-weight:800}.hero-title{text-shadow:0 2px 8px #0009;margin-bottom:.5rem;font-size:2.8rem;line-height:1.1}.hero-desc{color:#ffffffb3;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:90%;margin-bottom:1.5rem;font-size:1rem;line-height:1.4;display:-webkit-box;overflow:hidden}.hero-btn{width:100%;padding:1rem 2rem;font-size:1.1rem}.section-header{justify-content:space-between;align-items:flex-end;margin-bottom:1.2rem;display:flex}.section-header h2{font-size:1.5rem}.view-all{color:var(--pi-color);background:0 0;border:none;font-family:inherit;font-weight:600}.games-grid{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;gap:14px;margin:0 -1rem;padding:.5rem 1rem 1.5rem;display:flex;overflow:auto visible}.games-grid::-webkit-scrollbar{display:none}.games-grid>*{scroll-snap-align:start;flex:0 0 165px}.recent-games-grid{flex-wrap:nowrap;gap:.5rem;overflow-x:auto}.recent-games-grid>*{flex:0 0 23vw;max-width:90px}.recent-games-grid .game-title{-webkit-line-clamp:1;margin-bottom:0;padding-right:0;font-size:.85rem}.recent-games-grid .game-dev{display:none}.recent-games-grid .premium-badge,.recent-games-grid .rating-badge{padding:.2rem .4rem;font-size:.55rem}.recent-games-grid .rating-badge svg{width:10px;height:10px}.recent-games-grid .bookmark-btn{width:24px;height:24px;top:6px;right:6px}.recent-games-grid .bookmark-btn svg{width:14px;height:14px}.vertical-games-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px;padding-bottom:2rem;display:grid}.tag-filter-row{scrollbar-width:none;gap:8px;margin:-.5rem -1rem 0;padding:0 1rem 4px;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 85%,#0000 100%);mask-image:linear-gradient(90deg,#000 85%,#0000 100%)}.tag-filter-row::-webkit-scrollbar{display:none}.tag-pill-btn{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:99px;flex-shrink:0;padding:6px 14px;font-family:inherit;font-size:13px;font-weight:500;transition:all .2s}.tag-pill-btn:hover{border-color:var(--pi-color);color:var(--pi-color)}.tag-pill-active{background:linear-gradient(135deg, var(--pi-purple), var(--pi-color));border-color:#0000;font-weight:600;box-shadow:0 4px 12px #8a2be24d;color:#fff!important}@media (width<=768px){.hero-banner{width:100vw;height:45vh;margin-left:-20px}.hero-content{padding:1.5rem}.hero-title{font-size:2.2rem}.hero-desc{font-size:.95rem}.games-grid{gap:12px;margin:0 -16px;padding:.5rem 16px 1.5rem;scroll-padding-left:16px}.games-grid>*{scroll-snap-align:start;flex:0 0 156px}}.review-section{margin-top:3rem}.section-heading{border-bottom:1px solid var(--glass-border);margin-bottom:1.5rem;padding-bottom:.5rem;font-size:1.5rem}.write-review{margin-bottom:2rem;padding:1.5rem}.write-review h3{margin-bottom:1rem;font-size:1.1rem}.rating-select{align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.star-clickable{cursor:pointer;transition:transform .2s}.star-clickable:hover{transform:scale(1.2)}.write-review textarea{border:1px solid var(--glass-border);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);resize:vertical;background:#0003;margin-bottom:1rem;padding:1rem;font-family:inherit;transition:border-color .2s}.write-review textarea:focus{border-color:var(--pi-purple);outline:none}.submit-btn{float:right}.reviews-list{flex-direction:column;gap:1.5rem;display:flex}.review-item{background:var(--bg-tertiary);border-radius:var(--radius-md);border-left:4px solid var(--pi-purple);padding:1.5rem}.review-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.reviewer-info{align-items:center;gap:.8rem;display:flex}.avatar{border-radius:50%;width:32px;height:32px}.username{font-weight:600}.date{color:var(--text-secondary);font-size:.85rem}.review-rating{gap:.2rem;margin-bottom:.8rem;display:flex}.comment{color:#e0e0e0;line-height:1.6}.no-reviews{text-align:center;color:var(--text-secondary);padding:2rem;font-style:italic}.login-to-review{color:var(--text-secondary);text-align:center;padding:1rem 0;font-size:14px}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.game-details-page{flex-direction:column;display:flex}.back-link{z-index:10;color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:flex;position:absolute;top:1rem;left:1rem}.hero-poster{justify-content:center;align-items:center;width:100vw;height:65vh;margin-top:-1rem;margin-left:-1rem;display:flex;position:relative}.poster-bg{object-fit:cover;z-index:0;width:100%;height:100%;position:absolute;top:0;left:0}.poster-gradient{background:linear-gradient(to bottom, #05050533 0%, #05050580 40%, var(--bg-primary) 100%);z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}.play-action-wrapper{z-index:2;flex-direction:column;align-items:center;gap:1.5rem;display:flex;position:relative;transform:translateY(20px)}.giant-play-btn{background:var(--accent-gradient);cursor:pointer;width:90px;height:90px;box-shadow:0 0 40px var(--pi-purple-glow);border:none;border-radius:50%;justify-content:center;align-items:center;transition:transform .3s cubic-bezier(.175,.885,.32,1.275);display:flex;position:relative}.giant-play-btn:hover{transform:scale(1.1)}.play-pulse{background:var(--pi-color);z-index:-1;border-radius:50%;width:100%;height:100%;animation:2s infinite pulse;position:absolute;top:0;left:0}@keyframes pulse{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(1.8)}}.play-icon-inner{margin-left:5px}.play-text{letter-spacing:3px;color:#fff;text-shadow:0 2px 10px #000c;font-size:1.1rem;font-weight:800}.details-content{z-index:3;margin-top:-30px;padding-bottom:2rem;position:relative}.info-header{margin-bottom:2.5rem}.title-row{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.title{text-shadow:0 4px 15px #00000080;font-size:2.2rem;line-height:1.1}.premium-tag{background:var(--pi-purple);color:#fff;border-radius:var(--radius-pill);letter-spacing:1px;padding:.3rem .8rem;font-size:.7rem;font-weight:800}.developer{color:var(--text-secondary);margin-bottom:1.5rem;font-size:1rem}.stats-row{flex-wrap:wrap;gap:.8rem;display:flex}.stat-pill,.tag-pill{border-radius:var(--radius-pill);box-shadow:var(--inner-glow);background:#ffffff0d;align-items:center;gap:.4rem;padding:.4rem 1rem;font-size:.85rem;display:flex}.about-section h2{color:var(--pi-color);margin-bottom:1rem;font-size:1.4rem}.description{color:var(--text-secondary);margin-bottom:1rem;font-size:1.05rem;line-height:1.7}.tip-section{border-radius:var(--radius-lg);background:#f8b12d0d;border:1px solid #f8b12d33;margin:0 1rem 2rem;padding:1.5rem}.tip-header{align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.tip-header h2{color:var(--pi-color);margin:0;font-size:1.2rem}.tip-desc{color:var(--text-secondary);margin-bottom:1rem;font-size:.9rem;line-height:1.5}.tip-buttons{flex-wrap:wrap;gap:.75rem;display:flex}.tip-btn{border-radius:var(--radius-lg);min-width:80px;color:var(--pi-color);cursor:pointer;background:linear-gradient(135deg,#f8b12d26,#f8b12d0d);border:1px solid #f8b12d66;flex:1;padding:.7rem 1rem;font-size:1rem;font-weight:700;transition:all .2s}.tip-btn:hover:not(.tip-btn-disabled){background:#f8b12d4d;transform:translateY(-2px);box-shadow:0 4px 12px #f8b12d40}.tip-btn-disabled{opacity:.4;cursor:not-allowed}.tip-success{color:#4caf50;align-items:center;gap:.75rem;font-size:1rem;font-weight:600;display:flex}.chat-container{flex-direction:column;height:calc(100vh - 160px);margin-top:1rem;padding:1rem;display:flex;overflow:hidden}.center-content{text-align:center;justify-content:center;align-items:center;gap:1rem}.text-warning{color:#ff9800;margin-bottom:.5rem}.auth-btn{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:8px;margin-top:1rem;padding:.75rem 1.5rem;font-weight:600;transition:all .2s}.auth-btn:hover{background:var(--primary-hover);transform:translateY(-2px)}.chat-header{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;display:flex}.chat-header h2{color:var(--text-color);font-size:1.25rem;font-weight:700}.online-badge{color:#4caf50;background:#4caf5033;border:1px solid #4caf504d;border-radius:12px;padding:.25rem .5rem;font-size:.75rem;font-weight:600}.chat-messages{flex-direction:column;flex:1;gap:1rem;margin-bottom:1rem;padding-right:.5rem;display:flex;overflow-y:auto}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:#0000001a;border-radius:4px}.chat-messages::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.empty-chat{text-align:center;color:var(--text-secondary,#ffffff80);margin-top:2rem;font-style:italic}.chat-message-wrapper{gap:.5rem;max-width:85%;display:flex}.wrapper-me{align-self:flex-end}.wrapper-other{align-self:flex-start}.chat-avatar{background:var(--pi-color,#f3b110);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:32px;min-width:32px;height:32px;margin-top:.25rem;font-size:1rem;font-weight:700;display:flex;box-shadow:0 2px 4px #0000004d}.avatar-me{background:#4caf50}.chat-message{flex-direction:column;display:flex}.message-me{align-self:flex-end;align-items:flex-end}.message-other{align-self:flex-start;align-items:flex-start}.message-username{color:var(--text-primary,#fffc);margin-bottom:.25rem;font-size:.75rem;font-weight:600}.message-me .message-username{align-self:flex-end;margin-right:.25rem}.message-other .message-username{align-self:flex-start;margin-left:.25rem}.message-bubble{background:var(--bg-glass,#ffffff0d);border:1px solid var(--border-color,#ffffff1a);color:var(--text-primary,#fff);word-break:break-word;border-radius:16px;padding:.75rem 1rem;line-height:1.4}.message-me .message-bubble{background:var(--pi-color,#f3b110);color:#fff;border:none;border-bottom-right-radius:4px}.message-other .message-bubble{background:var(--bg-glass,#ffffff1a);border-bottom-left-radius:4px}.message-time{color:var(--text-secondary,#fff6);margin-top:.25rem;font-size:.65rem}.chat-input-area{background:var(--bg-glass,#0003);border:1px solid var(--border-color,#ffffff1a);border-radius:24px;gap:.5rem;padding:.5rem;display:flex}.chat-input{color:var(--text-primary,white);background:0 0;border:none;outline:none;flex:1;padding:.5rem 1rem;font-size:.9rem}.chat-input::placeholder{color:var(--text-secondary,#fff6)}.chat-send-btn{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex}.chat-send-btn:disabled{color:#ffffff4d;cursor:not-allowed;background:#ffffff1a}.chat-send-btn:not(:disabled):hover{background:var(--primary-hover);transform:scale(1.05)}.loading-spinner{border:3px solid #ffffff1a;border-top-color:var(--primary-color);border-radius:50%;width:40px;height:40px;animation:1s ease-in-out infinite spin}.library-page{padding:20px 20px 100px}.library-header{margin-bottom:24px}.library-header h2{color:#fff;margin-bottom:4px}.library-header p{color:#aaa;font-size:14px}.library-games-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px;display:grid}.empty-state{text-align:center;background:#ffffff0d;border:1px dashed #ffffff1a;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;margin-top:40px;padding:60px 20px;display:flex}.empty-state h3{color:#fff;margin:16px 0 8px;font-size:18px}.empty-state p{color:#888;max-width:250px;font-size:14px;line-height:1.5}.profile-page{padding:20px 20px 100px}.profile-header{align-items:center;gap:16px;margin-bottom:32px;display:flex}.profile-avatar{background:linear-gradient(135deg, var(--pi-color), #8e44ad);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;font-size:32px;font-weight:700;display:flex;box-shadow:0 4px 12px #0003}.profile-info{flex:1}.profile-info h2{color:#fff;margin:0 0 4px;font-size:24px}.profile-info p{color:#aaa;margin:0;font-size:14px}.login-btn{padding:8px 16px;font-size:14px}.profile-stats{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:32px;display:grid}.stat-card{text-align:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:16px;flex-direction:column;align-items:center;padding:12px 8px;transition:transform .2s;display:flex;overflow:hidden}.stat-card:hover{background:#ffffff14;transform:translateY(-2px)}.stat-value{color:#fff;margin:8px 0 4px;font-size:20px;font-weight:700}.stat-label{color:#888;white-space:nowrap;text-overflow:ellipsis;width:100%;font-size:clamp(9px,3vw,12px);overflow:hidden}.settings-section{margin-bottom:32px}.settings-section h3{color:#aaa;text-transform:uppercase;letter-spacing:1px;margin-bottom:12px;padding-left:8px;font-size:14px}.settings-list{background:#ffffff08;border:1px solid #ffffff0d;border-radius:16px;margin:0;padding:0;list-style:none;overflow:hidden}.settings-item{cursor:pointer;border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding:16px;transition:background .2s;display:flex}.settings-item:last-child{border-bottom:none}.settings-item:hover{background:#ffffff14}.settings-item-left{color:#ddd;align-items:center;gap:12px;display:flex}.settings-item.logout .settings-item-left{color:#e74c3c}.settings-item-right{align-items:center;gap:8px;display:flex}.lang-current-badge{color:#aaa;white-space:nowrap;font-size:13px}.lang-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1100;background:#000000a6;justify-content:center;align-items:flex-end;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.lang-modal{background:#140e23f7;border:1px solid #ffffff1a;border-bottom:none;border-radius:24px 24px 0 0;flex-direction:column;width:100%;max-width:480px;max-height:72vh;animation:.28s cubic-bezier(.34,1.56,.64,1) slideUp;display:flex;overflow:hidden}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.lang-modal-header{border-bottom:1px solid #ffffff14;flex-shrink:0;justify-content:space-between;align-items:center;padding:20px 20px 16px;display:flex}.lang-modal-header h3{color:#fff;margin:0;font-size:18px;font-weight:600}.lang-modal-close{color:#aaa;cursor:pointer;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:background .2s;display:flex}.lang-modal-close:hover{color:#fff;background:#fff3}.lang-list{flex:1;margin:0;padding:8px 0 90px;list-style:none;overflow-y:auto}.lang-list::-webkit-scrollbar{width:4px}.lang-list::-webkit-scrollbar-track{background:0 0}.lang-list::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}.lang-item{cursor:pointer;border-radius:0;align-items:center;gap:14px;padding:13px 20px;transition:background .18s;display:flex}.lang-item:hover{background:#ffffff12}.lang-item-active{background:#8a2be226}.lang-item-active:hover{background:#8a2be238}.lang-flag{flex-shrink:0;font-size:26px;line-height:1}.lang-names{flex-direction:column;flex:1;gap:2px;display:flex}.lang-native{color:#fff;font-size:15px;font-weight:500}.lang-label{color:#777;font-size:12px}.lang-check{color:var(--pi-color);flex-shrink:0}.modal-content-body{padding:0 20px 90px}.centered-content{flex-direction:column;align-items:center;display:flex}.bio-input{background:var(--glass-bg);border:1px solid var(--glass-border);width:100%;color:var(--text-primary);resize:none;border-radius:12px;height:80px;margin-bottom:16px;padding:12px 16px;font-family:inherit;font-size:15px}.bio-input:focus{border-color:var(--pi-color);outline:none}.w-100{width:100%}.wallet-address-mock{color:#aaa;letter-spacing:1px;background:#0003;border-radius:8px;padding:10px 20px;font-family:monospace}.profile-bio{color:#aaa;white-space:pre-wrap;word-break:break-all;margin:0;font-size:14px;line-height:1.4}.banners-page{max-width:800px;min-height:100vh;margin:0 auto;padding:1rem 1rem 80px}.banners-header{text-align:center;margin-top:1rem;margin-bottom:2rem}.banners-header h1{background:linear-gradient(135deg, var(--pi-purple), var(--pi-color));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-size:1.8rem;font-weight:800}.banners-header p{color:var(--text-secondary);font-size:.9rem}.banners-list{flex-direction:column;gap:1rem;display:flex}.banner-slot{aspect-ratio:21/9;border-radius:var(--radius-lg);cursor:pointer;width:100%;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden}.banner-slot:hover{transform:translateY(-2px)}.empty-slot{background:#ffffff08;border:2px dashed #ffffff1a;justify-content:center;align-items:center;display:flex}.empty-slot:hover{background:#ffffff0d;border-color:#fff3}body.light-theme .empty-slot{background:#00000005;border-color:#0000001a}body.light-theme .empty-slot:hover{background:#0000000a;border-color:#0003}.empty-content{color:var(--text-secondary);flex-direction:column;align-items:center;gap:8px;font-weight:500;display:flex}.active-banner{background:#000;box-shadow:0 4px 15px #0003}.banner-img{object-fit:cover;width:100%;height:100%}.delete-banner-btn{color:#fff;cursor:pointer;opacity:0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:opacity .2s,background .2s;display:flex;position:absolute;top:10px;right:10px}.active-banner:hover .delete-banner-btn{opacity:1}.delete-banner-btn:hover{background:#e74c3c}.banner-modal-overlay{z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.banner-modal{border-radius:var(--radius-lg);width:100%;max-width:400px;animation:.2s ease-out fadeInDown;overflow:hidden}.modal-header{border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding:1rem;display:flex}.modal-header h3{font-size:1.1rem;font-weight:600}.close-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none}.modal-body{flex-direction:column;gap:1.2rem;padding:1.5rem 1rem;display:flex}.input-group{flex-direction:column;gap:.5rem;display:flex}.input-group label{color:var(--text-secondary);align-items:center;gap:6px;font-size:.85rem;font-weight:500;display:flex}.input-group input[type=password],.input-group input[type=text]{border-radius:var(--radius-md);color:var(--text-primary);background:#ffffff0d;border:1px solid #ffffff1a;padding:.8rem;font-family:inherit}body.light-theme .input-group input[type=password],body.light-theme .input-group input[type=text]{background:#00000008;border-color:#0000001a}.file-drop-zone{text-align:center;border-radius:var(--radius-md);cursor:pointer;color:var(--pi-color);background:#ffffff08;border:1px dashed #fff3;padding:1.5rem;font-size:.9rem;transition:background .2s}.file-drop-zone:hover{background:#ffffff0f}.modal-actions{gap:.8rem;margin-top:.5rem;display:flex}.modal-actions .btn{flex:1}.btn-danger{color:#fff;background:#e74c3c;border:none}.btn-danger:hover{background:#c0392b}.error-msg{color:#e74c3c;text-align:center;font-size:.85rem}.splash-screen{z-index:9999;background:#050505;justify-content:center;align-items:center;transition:opacity .6s,transform .6s;display:flex;position:fixed;inset:0}.splash-screen.splash-fade-out{opacity:0;pointer-events:none;transform:scale(1.04)}.splash-content{flex-direction:column;align-items:center;gap:12px;animation:.8s cubic-bezier(.175,.885,.32,1.275) forwards splashIn;display:flex}@keyframes splashIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.splash-logo-wrapper{perspective:1000px;justify-content:center;align-items:center;width:90px;height:90px;display:flex;position:relative}.splash-logo-wrapper:after{content:"";z-index:1;opacity:0;pointer-events:none;background:radial-gradient(circle,#fffc 0%,#fff0 60%);border-radius:50%;animation:1.5s ease-out 2.5s forwards whiteFlare;position:absolute;inset:-30px}@keyframes whiteFlare{0%{opacity:0;transform:scale(.3)}30%{opacity:1;transform:scale(1.1)}to{opacity:0;transform:scale(1.6)}}.splash-logo{object-fit:contain;z-index:2;border-radius:20px;width:70px;height:70px;animation:2.5s cubic-bezier(.1,.9,.2,1) forwards coinSpin,3s ease-in-out 2.5s infinite logoHover,2s ease-in-out infinite logoGlow;position:relative}@keyframes coinSpin{0%{opacity:0;transform:rotateY(0)scale(.5)}15%{opacity:1;transform:rotateY(360deg)scale(1.1)}to{opacity:1;transform:rotateY(1800deg)scale(1)}}@keyframes logoHover{0%,to{transform:translateY(0)rotateY(0)}50%{transform:translateY(-8px)rotateY(5deg)}}@keyframes logoGlow{0%,to{box-shadow:0 0 20px #8a2be266,0 0 40px #f8b12d33}50%{box-shadow:0 0 40px #8a2be2cc,0 0 60px #f8b12d66}}.splash-ring{border:1.5px solid #8a2be24d;border-radius:50%;animation:2s cubic-bezier(.25,1,.5,1) infinite splashRing;position:absolute}.splash-ring-1{width:90px;height:90px;animation-delay:0s}.splash-ring-2{width:120px;height:120px;animation-delay:.3s}@keyframes splashRing{0%{opacity:.8;border-color:#f8b12d80;transform:scale(.8)}to{opacity:0;border-color:#8a2be200;transform:scale(1.5)}}.splash-brand{background:linear-gradient(135deg,#8a2be2,#f8b12d);-webkit-text-fill-color:transparent;letter-spacing:-.5px;-webkit-background-clip:text;background-clip:text;margin-top:4px;font-size:1.8rem;font-weight:800}.splash-tagline{color:#fff6;letter-spacing:1px;text-transform:uppercase;font-size:.8rem}.splash-dots{gap:6px;margin-top:8px;display:flex}.splash-dot{background:var(--pi-color);border-radius:50%;width:6px;height:6px;animation:1s ease-in-out infinite dotBounce;display:inline-block}@keyframes dotBounce{0%,to{opacity:.4;transform:translateY(0)}50%{opacity:1;transform:translateY(-6px)}}
