.App{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:space-between;background-color:var(--color-background);width:100%;max-width:100vw;overflow-x:hidden}.title-container{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;flex:1;padding:30px 20px;overflow:hidden;min-height:0}.title-content{display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;scroll-margin-top:0}.gamehub-title{font-family:Manrope,monospace;color:var(--color-text);font-size:min(12vw,12vh);font-weight:600;margin:0;padding:30px 0;max-width:100%;overflow:visible;text-align:center;display:inline-block}.gamehub-subtitle{font-family:IBM Plex Mono,monospace;color:var(--color-text-secondary);font-size:calc(min(8vw,8vh)*.6);font-weight:400;margin:0;margin-top:0rem;padding:0;max-width:100%;overflow:hidden;text-align:center}.about-section{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;width:100%;max-width:800px;padding:30px 20px 40px;flex-shrink:0;min-height:100vh;scroll-margin-top:0}.about-description__red_row{color:var(--color-primary)}.about-section .gamehub-title{margin-bottom:40px}.about-description{font-family:IBM Plex Mono,monospace;color:#9aa1ac;font-size:1.2rem;line-height:1.8;max-width:100%;text-align:justify}.about-description p{margin:0 0 1.5rem}.about-description p:last-child{margin-bottom:0}@media (max-width: 768px){.about-section{padding:20px 15px 30px;min-height:100vh}.about-section .gamehub-title{margin-bottom:30px}.about-description{font-size:1rem}}@media (max-width: 480px){.about-section{padding:30px 10px 20px;min-height:100vh}.about-section .gamehub-title{margin-bottom:20px}.about-description{font-size:.9rem;line-height:1.6}}.account-banners{width:100%;display:flex;flex-direction:column}.verify-email-banner{width:100%;background:linear-gradient(135deg,#ffb45a1f,#ff8c3214);border-bottom:1px solid rgba(255,180,90,.3);cursor:pointer;transition:background .2s ease}.verify-email-banner:hover{background:linear-gradient(135deg,#ffb45a2e,#ff8c321f)}.verify-email-banner-content{padding:12px 40px;display:flex;align-items:center;justify-content:center;gap:12px}.verify-email-banner-icon{width:20px;height:20px;flex-shrink:0;color:#ffb45a}.verify-email-banner span{font-family:IBM Plex Sans,sans-serif;font-size:.95rem;color:#ffb45a}.verify-email-banner-arrow{width:18px;height:18px;flex-shrink:0;color:#ffb45a80;transition:transform .2s ease,color .2s ease}.verify-email-banner:hover .verify-email-banner-arrow{transform:translate(4px);color:#ffb45a}.account-setup-banner{width:100%;background:linear-gradient(135deg,#8da2fb24,#6d83f714);border-bottom:1px solid rgba(141,162,251,.3);cursor:pointer;transition:background .2s ease}.account-setup-banner:hover{background:linear-gradient(135deg,#8da2fb33,#6d83f724)}.account-setup-banner-content{padding:12px 40px;display:flex;align-items:center;justify-content:center;gap:12px}.account-setup-banner-close{width:28px;height:28px;border-radius:0;border:none;background:transparent;display:inline-flex;align-items:center;justify-content:center;color:var(--color-primary);cursor:pointer;flex-shrink:0;transition:opacity .2s ease}.account-setup-banner-close svg{width:14px;height:14px;stroke:currentColor;stroke-width:2;stroke-linecap:round}.account-setup-banner-close:hover{opacity:.75}.account-setup-banner-icon{width:20px;height:20px;flex-shrink:0;color:var(--color-primary)}.account-setup-banner span{font-family:IBM Plex Sans,sans-serif;font-size:.95rem;color:var(--color-primary)}.account-setup-banner-arrow{width:18px;height:18px;flex-shrink:0;color:#8da2fb99;transition:transform .2s ease,color .2s ease}.account-setup-banner:hover .account-setup-banner-arrow{transform:translate(4px);color:var(--color-primary)}@media (max-width: 768px){.verify-email-banner-content{padding:10px 20px;gap:10px}.verify-email-banner-icon{width:18px;height:18px}.verify-email-banner span{font-size:.85rem}.verify-email-banner-arrow{width:16px;height:16px}.account-setup-banner-content{padding:10px 20px;gap:10px}.account-setup-banner-icon{width:18px;height:18px}.account-setup-banner span{font-size:.85rem}.account-setup-banner-arrow{width:16px;height:16px}.account-setup-banner-close{width:24px;height:24px}.account-setup-banner-close svg{width:12px;height:12px}}.header{width:100%;background-color:var(--color-background-secondary);padding:1rem 2rem;position:sticky;top:0;z-index:100}.header-content{display:flex;align-items:center;justify-content:space-between;max-width:100%;position:relative}.logo-link{text-decoration:none;display:block;cursor:pointer}.logo-image{width:40px;height:40px;object-fit:contain;flex-shrink:0;transition:opacity .2s ease,transform 1s ease}.logo-link:hover .logo-image{opacity:.8;transform:rotate(360deg)}.nav{display:flex}.nav-main{position:absolute;left:50%;transform:translate(-50%)}.user-info{display:flex;align-items:center;gap:.5rem;font-family:IBM Plex Mono,monospace;color:var(--color-text)}.user-name{font-size:1rem;font-weight:400}.user-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover}.logout-button{display:flex;align-items:center;justify-content:center;width:clamp(32px,5vw,40px);height:clamp(32px,5vw,40px);border-radius:50%;border:none;background-color:#ffffff0f;color:var(--color-text);cursor:pointer;transition:background-color .2s ease,color .2s ease;flex-shrink:0}.logout-button svg{width:50%;height:50%}.logout-button:hover{background-color:#ef4444;color:#fff}.nav-list{display:flex;align-items:center;list-style:none;margin:0;padding:0;gap:clamp(.5rem,2vw,1rem)}.nav-item{margin:0;padding:0}.nav-item--auth{display:flex;align-items:center}.nav-auth-group{display:flex;align-items:center;gap:.5rem}.nav-link{font-family:IBM Plex Mono,monospace;color:var(--color-text);text-decoration:none;padding:.5rem 1rem;border-radius:.5rem;display:block;transition:color .2s ease;font-size:1rem;font-weight:400}.nav-link:hover{color:var(--color-primary)}.auth-pill{position:relative;display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .9rem;border-radius:999px;background-color:#ffffff0f;color:var(--color-text);text-decoration:none;overflow:hidden;transition:transform .2s ease;cursor:pointer}.auth-pill:hover,.auth-pill:focus-visible{transform:scale(1.05)}.auth-pill:active{transform:scale(.98)}.nav-link.auth-pill{padding:.4rem .9rem}.burger-menu-button{display:none;flex-direction:column;justify-content:space-around;width:30px;height:30px;background:transparent;border:none;cursor:pointer;padding:0;z-index:101}.burger-line{width:100%;height:3px;background-color:var(--color-text);border-radius:2px;transition:all .3s ease}.burger-line.open:nth-child(1){transform:rotate(45deg) translate(8px,8px)}.burger-line.open:nth-child(2){opacity:0}.burger-line.open:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}.mobile-menu-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100vh;background-color:#00000080;z-index:99;opacity:0;transition:opacity .3s ease;pointer-events:none}.mobile-menu-overlay.open{opacity:1;pointer-events:all}.mobile-menu{display:none;position:fixed;top:0;right:-100%;width:70%;max-width:300px;height:100vh;background-color:var(--color-background-secondary);transition:right .3s ease;z-index:100;padding-top:80px;box-shadow:-2px 0 10px var(--color-image-shadow)}.mobile-menu.open{right:0}.mobile-nav-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.mobile-nav-item{margin:0;padding:0}.mobile-nav-link{font-family:IBM Plex Mono,monospace;color:var(--color-text);text-decoration:none;padding:1rem 2rem;display:block;transition:color .2s ease;font-size:1rem;font-weight:400;border-bottom:1px solid var(--color-border)}.mobile-nav-link:hover{color:var(--color-primary)}.nav-link.auth-pill,.mobile-nav-link.auth-pill{padding:.4rem .9rem;border-bottom:none}.mobile-nav-item--primary{margin-bottom:1rem;padding-bottom:.5rem;display:flex;justify-content:center;align-items:center;gap:.75rem}.mobile-nav-item--primary .mobile-nav-link{font-weight:500}.mobile-user-container{margin:0 1rem 1.5rem;position:relative}.mobile-user-block{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;background-color:#ffffff0f;border-radius:8px;cursor:pointer;transition:transform .3s cubic-bezier(.68,-.55,.265,1.55),opacity .25s ease}.mobile-user-block:active{transform:scale(.98)}.mobile-user-block.hidden{opacity:0;transform:scale(.8);pointer-events:none;position:absolute;width:100%}.mobile-user-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0}.mobile-user-name{font-family:IBM Plex Mono,monospace;font-size:1rem;font-weight:400;color:var(--color-text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-profile-expanded{display:flex;flex-direction:column;gap:.5rem;opacity:0;transform:scale(.8);transform-origin:top center;pointer-events:none;position:absolute;width:100%;transition:transform .3s cubic-bezier(.68,-.55,.265,1.55),opacity .25s ease}.mobile-profile-expanded.open{opacity:1;transform:scale(1);pointer-events:all;position:relative}.mobile-profile-btn{font-family:IBM Plex Mono,monospace;font-size:1rem;font-weight:400;padding:1rem 1.5rem;border:none;border-radius:8px;cursor:pointer;text-align:left;transition:transform .2s ease,background-color .2s ease}.mobile-profile-btn:active{transform:scale(.98)}.mobile-profile-btn--profile{background-color:#ffffff0f;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-profile-btn--profile:hover{background-color:#ffffff1a}.mobile-profile-btn--logout{background-color:#ef44441a;color:#ef4444}.mobile-profile-btn--logout:hover{background-color:#ef444433}@media (max-width: 580px){.user-name{display:none}.auth-pill{padding:.35rem .6rem}.nav-link{padding:.4rem .6rem;font-size:.95rem}}@media (max-width: 738px){.user-info.auth-pill{padding:.35rem;gap:0}.user-info .user-name{display:none}}@media (max-width: 470px){.nav-main{display:none}.burger-menu-button{display:flex}.mobile-menu,.mobile-menu-overlay{display:block}.header{padding:1rem}}.footer{width:100%;padding:1.5rem 1rem;background-color:transparent;margin-top:auto}.footer-content{display:flex;justify-content:center;align-items:center;max-width:100%}.footer-text{font-family:IBM Plex Mono,monospace;color:var(--color-text-tertiary);font-size:.875rem;font-weight:400;margin:0;text-align:center}.status-indicator-container{display:flex;align-items:center;justify-content:center;width:100%;max-width:1200px;flex:1;min-height:0;padding:40px 20px;box-sizing:border-box;overflow-x:hidden;overflow-y:visible;position:relative}.svg-wrapper{position:relative;width:100%;height:200px;max-height:30vh;display:flex;align-items:center;justify-content:center}.status-line-svg{width:100%;height:100%;position:relative}.svg-wrapper .status-line-svg--mobile,.svg-wrapper .tooltips-container--mobile,.svg-wrapper .tooltip-wrapper-mobile{display:none}.svg-wrapper .status-line-svg--desktop,.svg-wrapper .tooltips-container--desktop{display:block}.base-line{stroke:var(--color-text)}.circle-group{opacity:0;transform:scale(0) scale(var(--circle-scale, 1));transform-origin:center;animation:circleAppear .6s cubic-bezier(.34,1.56,.64,1) forwards;animation-delay:var(--animation-delay, 0s);transition:transform .3s cubic-bezier(.4,0,.2,1);transform-box:fill-box;--circle-scale: 1}.circle-group:hover{transform:scale(1.15) scale(var(--circle-scale, 1))}.status-circle{cursor:pointer;fill:var(--circle-color)}.tooltips-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;display:flex;align-items:center;justify-content:center;--tooltips-start-delay: 1.05s}.tooltip-wrapper{position:absolute;left:var(--circle-x-desktop, 0%);top:50%;transform:translate(-50%,-100%);margin-top:-45px;pointer-events:none}.tooltip-wrapper[data-circle-index="0"] .tooltip,.tooltip-wrapper[data-circle-index="3"] .tooltip{max-width:calc(100vw - 40px)}.tooltip{padding:12px 20px;background-color:var(--circle-color);color:#e6e8ec;font-family:IBM Plex Sans,sans-serif;font-weight:700;font-size:16px;white-space:nowrap;border-radius:8px;opacity:0;transform:translateY(10px);pointer-events:none;animation:tooltipAppear .5s cubic-bezier(.34,1.56,.64,1) forwards;animation-delay:calc(var(--tooltips-start-delay, 0s) + var(--tooltip-delay, 0s))}@keyframes circleAppear{0%{opacity:0;transform:scale(0) scale(var(--circle-scale, 1))}60%{transform:scale(1.08) scale(var(--circle-scale, 1))}80%{transform:scale(.98) scale(var(--circle-scale, 1))}to{opacity:1;transform:scale(1) scale(var(--circle-scale, 1))}}@keyframes tooltipAppear{0%{opacity:0;transform:translateY(10px)}70%{transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 1024px) and (min-width: 790px){.circle-group{--circle-scale: 1.2}.tooltip{font-size:17px;padding:13px 22px}}@media (max-width: 789px){.svg-wrapper .status-line-svg--desktop,.svg-wrapper .tooltips-container--desktop{display:none}.svg-wrapper .status-line-svg--mobile,.svg-wrapper .tooltips-container--mobile,.svg-wrapper .tooltip-wrapper-mobile{display:block}.status-indicator-container{padding:20px;overflow-x:visible;overflow-y:visible}.svg-wrapper{width:100%;height:auto;max-height:none;min-height:400px}.svg-wrapper .status-line-svg--mobile{width:100%;max-width:300px;height:auto;aspect-ratio:300 / 480}.circle-group{--circle-scale: 1}.svg-wrapper .tooltips-container--mobile{position:absolute;top:0;left:50%;transform:translate(-50%);width:100%;max-width:300px;height:100%;pointer-events:none}.svg-wrapper .tooltip-wrapper-mobile{position:absolute;top:var(--circle-y-mobile, 0%);left:var(--circle-x-mobile, 0%);pointer-events:none}.svg-wrapper .tooltip-wrapper-mobile[data-position=right]{transform:translate(-100%,-50%);margin-left:-45px}.svg-wrapper .tooltip-wrapper-mobile[data-position=left]{transform:translateY(-50%);margin-left:45px}.svg-wrapper .tooltip-wrapper-mobile .tooltip{font-size:14px;padding:10px 16px;white-space:nowrap}}@media (max-width: 480px){.svg-wrapper{min-height:350px}.svg-wrapper .status-line-svg--mobile,.svg-wrapper .tooltips-container--mobile{max-width:260px}.svg-wrapper .tooltip-wrapper-mobile[data-position=right]{margin-left:-40px}.svg-wrapper .tooltip-wrapper-mobile[data-position=left]{margin-left:40px}.svg-wrapper .tooltip-wrapper-mobile .tooltip{font-size:12px;padding:8px 12px}}@media (max-width: 360px){.svg-wrapper{min-height:300px}.svg-wrapper .status-line-svg--mobile,.svg-wrapper .tooltips-container--mobile{max-width:220px}.svg-wrapper .tooltip-wrapper-mobile[data-position=right]{margin-left:-35px}.svg-wrapper .tooltip-wrapper-mobile[data-position=left]{margin-left:35px}.svg-wrapper .tooltip-wrapper-mobile .tooltip{font-size:11px;padding:6px 10px}}.status-item--0{--circle-color: var(--color-status-planned);--animation-delay: 0s;--tooltip-delay: 0s;--circle-x-desktop: 8.333%;--circle-x-mobile: 26.667%;--circle-y-mobile: 12.5%}.status-item--1{--circle-color: var(--color-status-in-progress);--animation-delay: .15s;--tooltip-delay: .5s;--circle-x-desktop: 36.111%;--circle-x-mobile: 73.333%;--circle-y-mobile: 37.5%}.status-item--2{--circle-color: var(--color-status-done);--animation-delay: .3s;--tooltip-delay: 1s;--circle-x-desktop: 63.889%;--circle-x-mobile: 26.667%;--circle-y-mobile: 62.5%}.status-item--3{--circle-color: var(--color-status-returned);--animation-delay: .45s;--tooltip-delay: 1.5s;--circle-x-desktop: 91.667%;--circle-x-mobile: 73.333%;--circle-y-mobile: 87.5%}.about-container{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem;width:100%;max-width:1200px;margin:0 auto}.about-content{width:100%;max-width:800px}.about-title{font-family:IBM Plex Mono,monospace;color:var(--color-text);font-size:3rem;font-weight:600;margin:0 0 2rem;text-align:center}.about-text{font-family:IBM Plex Mono,monospace;color:var(--color-text-secondary);font-size:1.125rem;line-height:1.8}.about-text p{margin:0 0 1.5rem}.about-text p:last-child{margin-bottom:0}.not-found-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 200px);gap:2rem;padding:2rem}.not-found-circles{display:flex;gap:2rem;align-items:center;justify-content:center}.not-found-circle{width:60px;height:60px;border-radius:50%;background-color:var(--color-status-planned);opacity:.4;animation:breathe 2s ease-in-out infinite}.not-found-circle:nth-child(1){background-color:var(--color-status-planned);animation-delay:0s}.not-found-circle:nth-child(2){background-color:var(--color-status-in-progress);animation-delay:.2s}.not-found-circle:nth-child(3){background-color:var(--color-status-done);animation-delay:.4s}.not-found-circle:nth-child(4){background-color:var(--color-status-returned);animation-delay:.6s}.not-found-text{margin:0;color:#9aa1ac;font-family:IBM Plex Sans,sans-serif;font-size:1.2rem}@media (max-width: 768px){.not-found-circles{gap:1.5rem}.not-found-circle{width:50px;height:50px}.not-found-text{font-size:1rem}}@media (max-width: 480px){.not-found-circles{gap:1rem}.not-found-circle{width:40px;height:40px}.not-found-text{font-size:.9rem}}.too-many-requests-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 200px);gap:2rem;padding:2rem}.too-many-requests-circles{display:flex;gap:2rem;align-items:center;justify-content:center}.too-many-requests-circle{width:60px;height:60px;border-radius:50%;background-color:var(--color-status-planned);opacity:.4;animation:breatheRapid .6s ease-in-out infinite}.too-many-requests-circle:nth-child(1){background-color:var(--color-status-planned);animation-delay:0s}.too-many-requests-circle:nth-child(2){background-color:var(--color-status-in-progress);animation-delay:.2s}.too-many-requests-circle:nth-child(3){background-color:var(--color-status-done);animation-delay:.4s}.too-many-requests-circle:nth-child(4){background-color:var(--color-status-returned);animation-delay:.6s}.too-many-requests-text{margin:0;color:#9aa1ac;font-family:IBM Plex Sans,sans-serif;font-size:1.2rem}@keyframes breatheRapid{0%,to{transform:scale(1);opacity:.4}50%{transform:scale(1.3);opacity:.8}}@media (max-width: 768px){.too-many-requests-circles{gap:1.5rem}.too-many-requests-circle{width:50px;height:50px}.too-many-requests-text{font-size:1rem}}@media (max-width: 480px){.too-many-requests-circles{gap:1rem}.too-many-requests-circle{width:40px;height:40px}.too-many-requests-text{font-size:.9rem}}.timeout-error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 200px);gap:2rem;padding:2rem}.timeout-error-circle{width:80px;height:80px;border-radius:50%;background-color:#e6e8ec;animation:bounce 1s ease-in-out infinite}.timeout-error-text{margin:0;color:#9aa1ac;font-family:IBM Plex Sans,sans-serif;font-size:1.2rem}@keyframes bounce{0%,to{transform:translateY(0) scale(1)}25%{transform:translateY(-30px) scale(1.1)}50%{transform:translateY(0) scale(.9)}75%{transform:translateY(-15px) scale(1.05)}}@media (max-width: 768px){.timeout-error-circle{width:70px;height:70px}.timeout-error-text{font-size:1rem}}@media (max-width: 480px){.timeout-error-circle{width:60px;height:60px}.timeout-error-text{font-size:.9rem}}.server-error-container{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;padding:2rem;overflow:hidden}.server-error-circle{position:absolute;width:60px;height:60px;border-radius:50%;background-color:var(--color-status-planned);opacity:.4;animation:breathe 2s ease-in-out infinite}.server-error-circle:nth-child(1){top:15%;left:10%;background-color:var(--color-status-planned);animation-delay:0s}.server-error-circle:nth-child(2){top:25%;right:15%;background-color:var(--color-status-in-progress);animation-delay:.2s}.server-error-circle:nth-child(3){bottom:20%;left:20%;background-color:var(--color-status-done);animation-delay:.4s}.server-error-circle:nth-child(4){bottom:15%;right:10%;background-color:var(--color-status-returned);animation-delay:.6s}.server-error-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10;margin:0;font-size:1.5rem;color:var(--color-text);font-family:IBM Plex Sans,sans-serif}@keyframes breathe{0%,to{transform:scale(1);opacity:.4}50%{transform:scale(1.1);opacity:.6}}@media (max-width: 768px){.server-error-circle{width:50px;height:50px}.server-error-text{font-size:1.3rem}}@media (max-width: 480px){.server-error-circle{width:40px;height:40px}.server-error-text{font-size:1.1rem}}.error-display{display:flex;flex-direction:column;align-items:center;min-height:calc(100vh - 200px);padding:2rem;justify-content:space-between;--error-display-gap: 1rem}.error-display--gap-lg{--error-display-gap: 2rem}.error-display__content{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--error-display-gap);position:relative;width:100%}.error-display__message{color:var(--color-text);font-family:IBM Plex Mono,monospace;font-size:1.5rem;font-weight:700;text-align:center;background-color:var(--color-background-secondary);padding:2rem;border-radius:8px;border:1px solid var(--color-border)}.error-display__button{padding:.75rem 1.5rem;background-color:var(--color-border);color:#fff;border:none;border-radius:8px;font-family:IBM Plex Mono,monospace;font-size:1rem;cursor:pointer;transition:background-color .3s ease}.error-display__button:hover{background-color:var(--color-text-secondary)}.scroll-to-top-button{position:fixed;bottom:30px;right:30px;width:50px;height:50px;border-radius:50%;background-color:var(--color-border);color:#fff;border:none;cursor:pointer;font-size:24px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px var(--color-image-shadow);z-index:1000;transition:all .3s ease;font-family:IBM Plex Mono,monospace}.scroll-to-top-button:hover{transform:scale(1.1);background-color:var(--color-text-secondary)}.loading-spinner-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:calc(100vh - 200px);gap:1.5rem}.loading-spinner-container.overlay{min-height:auto;height:100%}.loading-spinner-wrapper{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.loading-spinner-logo{width:80px;height:80px;object-fit:contain;animation:spin 2s linear infinite;border-radius:50%}.loading-spinner-text{margin:0;color:var(--color-text-secondary);font-family:IBM Plex Mono,monospace;font-size:1.5rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.games-page{width:100%;position:relative}.games-success-toast{position:fixed;top:20px;left:50%;transform:translate(-50%);background-color:#22c55e26;color:#22c55e;border:1px solid rgba(34,197,94,.4);padding:12px 20px;border-radius:12px;font-family:IBM Plex Mono,monospace;font-size:.95rem;z-index:1001;box-shadow:0 10px 24px #00000040;display:inline-flex;align-items:center;gap:10px}.games-success-toast-icon{width:28px;height:28px;flex-shrink:0;filter:drop-shadow(0 6px 14px rgba(34,197,94,.35))}.games-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1000}.games-content-shell{max-width:1400px;margin:0 auto;padding:0 1rem}.games-header{color:var(--color-text);font-family:IBM Plex Mono,monospace;text-align:center;font-size:2.5rem;font-weight:600;margin-top:3rem;margin-bottom:2rem}.games-container{display:flex;gap:2rem;max-width:1400px;margin:0 auto;padding:0 1rem;align-items:flex-start;flex-direction:row}.games-main{flex:1;min-width:0}.games-list{list-style:none;padding:0}.games-list-observer{height:20px;margin-top:20px;display:flex;justify-content:center;align-items:center}.games-list-loading{display:flex;align-items:center;gap:.75rem}.games-list-loading-text{color:var(--color-text-secondary);font-family:IBM Plex Mono,monospace;font-size:1rem}.spinner-small--muted{border-top-color:var(--color-text-secondary)}.game-card{margin-bottom:0;padding:10px;border-bottom:1px solid var(--color-border);background-color:transparent;transition:all .3s ease;transform:scale(1) translateY(0);box-shadow:none;cursor:pointer}.game-card-content{display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap}.game-card-content>div{min-width:0;overflow-wrap:anywhere}.game-card-image-wrap{display:flex;flex-direction:column;gap:10px;flex-shrink:0;width:160px;min-width:160px}.game-card-content h3,.game-card-content p{overflow-wrap:anywhere}.game-card-image{box-shadow:0 2px 8px var(--color-image-shadow)}.game-card-placeholder{background-color:var(--color-placeholder-bg);color:var(--color-placeholder-text);font-family:IBM Plex Sans,sans-serif}.game-card-info{flex:1}.game-card-title{margin-top:0;margin-bottom:8px;color:var(--color-text);font-family:Manrope,sans-serif}.game-card-date{margin:0 0 10px;color:var(--color-text-secondary);font-size:.82em;font-family:IBM Plex Mono,monospace}.game-card-description{margin-bottom:10px;color:var(--color-description);font-family:IBM Plex Sans,sans-serif}.game-card-library{margin-top:10px;padding-top:10px;border-top:1px solid var(--color-border)}.game-card-library-hint{font-size:.85rem;color:var(--color-text-secondary);font-family:IBM Plex Sans,sans-serif}.game-card-library-btn{padding:.4rem .75rem;background-color:var(--color-game-card-bg);color:var(--color-text);border:1px solid var(--color-border);border-radius:6px;cursor:pointer;font-family:IBM Plex Mono,monospace;font-size:.8rem;width:100%;min-width:0;white-space:normal;text-align:center}.game-card-library-btn:hover:not(:disabled){background-color:var(--color-background-secondary)}.game-card-library-btn:disabled{opacity:.7;cursor:not-allowed}.game-card-library-status{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.game-card-library-label{font-size:.85rem;color:var(--color-text-secondary);font-family:IBM Plex Sans,sans-serif}.game-card-library-select{padding:.35rem .5rem;background-color:var(--color-game-card-bg);color:var(--color-text);border:1px solid var(--color-border);border-radius:4px;font-family:IBM Plex Mono,monospace;font-size:.8rem;cursor:pointer;min-width:120px}.mobile-filter-button-container{margin-bottom:1.5rem}.mobile-filter-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.mobile-filter-button{padding:.4rem .6rem;background-color:var(--color-game-card-bg);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:4px;cursor:pointer;font-family:IBM Plex Mono,monospace;font-size:.75rem;font-weight:500;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.4rem;position:relative;flex-shrink:0;white-space:nowrap}.mobile-filter-button.is-active{background-color:var(--color-primary);color:#fff}.mobile-filter-button:not(.is-active):hover{background-color:var(--color-border);color:#fff}.mobile-filter-button__label{white-space:nowrap}.mobile-filter-button__count{font-size:.7rem;opacity:.9}.mobile-filter-button__reset{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background-color:#fff3;cursor:pointer;font-size:.7rem;line-height:1;flex-shrink:0;transition:all .2s ease;color:#fff}.mobile-filter-button__reset:hover{background-color:#ffffff4d}.mobile-filter-dropdown{margin-top:1rem;margin-bottom:1.5rem;padding:1.5rem;border:1px solid var(--color-border);border-radius:8px;background-color:var(--color-game-card-bg)}.mobile-filter-header{display:flex;justify-content:center;align-items:center;margin-bottom:1rem;position:relative}.mobile-filter-title{color:var(--color-text-secondary);font-family:IBM Plex Mono,monospace;font-size:1rem;margin:0;font-weight:600}.mobile-filter-close{background:none;border:none;color:var(--color-text-secondary);font-size:1.5rem;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-family:IBM Plex Mono,monospace;position:absolute;right:0}.mobile-filter-section-title{color:var(--color-text-secondary);font-family:IBM Plex Mono,monospace;font-size:.9rem;margin-bottom:1rem;font-weight:600}.mobile-filter-input-row{display:flex;flex-direction:row;gap:.75rem;margin-bottom:1rem}.mobile-filter-field{flex:1}.mobile-filter-label{display:block;color:var(--color-text-secondary);font-size:.75rem;margin-bottom:.25rem;font-family:IBM Plex Mono,monospace}.mobile-filter-input{width:100%;padding:.5rem;border:1px solid var(--color-border);border-radius:4px;background-color:var(--color-background-secondary);color:var(--color-text);font-family:IBM Plex Mono,monospace;font-size:.85rem;outline:none;box-sizing:border-box}.mobile-filter-divider{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border);margin-bottom:1rem}.mobile-filter-chips{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem}.mobile-filter-chip{padding:.6rem 1.2rem;background-color:var(--color-game-card-bg);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:50px;cursor:pointer;font-family:IBM Plex Mono,monospace;font-size:.85rem;font-weight:500;transition:all .2s ease;white-space:nowrap}.mobile-filter-chip.is-selected{background-color:var(--color-primary);color:#fff}.mobile-filter-chip:not(.is-selected):hover{background-color:var(--color-border);color:#fff}.mobile-filter-message{color:var(--color-primary);font-family:IBM Plex Mono,monospace;font-size:.8rem;text-align:center;padding:1rem 0}.mobile-filter-options{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem}.mobile-filter-options.is-scrollable{overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.mobile-filter-options--compact.is-scrollable{max-height:200px}.mobile-filter-options--tall.is-scrollable{max-height:300px}.mobile-filter-option-button{padding:.5rem .75rem;background-color:var(--color-game-card-bg);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:4px;cursor:pointer;font-family:IBM Plex Mono,monospace;font-size:.8rem;font-weight:500;transition:all .2s ease;white-space:nowrap;outline:none}.mobile-filter-option-button.is-selected{background-color:var(--color-primary);color:#fff}.mobile-filter-option-button:not(.is-selected):hover{background-color:var(--color-border);color:#fff}.mobile-filter-show-toggle{margin-top:1rem;padding:.5rem 1rem;background-color:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:4px;cursor:pointer;font-family:IBM Plex Mono,monospace;font-size:.85rem;font-weight:500;transition:all .2s ease;width:100%}.mobile-filter-show-toggle--text{color:var(--color-text)}.mobile-filter-show-toggle:hover{background-color:var(--color-border);color:#fff;border-color:var(--color-border)}.mobile-filter-apply{margin-top:1rem;padding:.6rem 1rem;background-color:var(--color-border);color:#fff;border:none;border-radius:4px;cursor:pointer;font-family:IBM Plex Mono,monospace;font-size:.9rem;font-weight:600;width:100%;transition:all .2s ease}.mobile-filter-apply:hover{background-color:var(--color-text-secondary)}.filters-sidebar{width:250px;flex-shrink:0}.filters-card{padding:1rem;border:1px solid var(--color-border);border-radius:8px;background-color:var(--color-game-card-bg);margin-bottom:1rem}.filters-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.filters-card-title{color:var(--color-text-secondary);font-family:IBM Plex Mono,monospace;font-size:.9rem;margin:0;font-weight:600}.filters-card-title--spaced{margin-top:0;margin-bottom:.75rem}.filters-reset-button{background:none;border:none;cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);transition:color .2s ease}.filters-reset-button:hover{color:#ef4444}.filters-reset-icon{display:block}.filters-message{color:var(--color-primary);font-family:IBM Plex Mono,monospace;font-size:.8rem;text-align:center;padding:1rem 0}.filters-list{display:flex;flex-direction:column;gap:.5rem}.filters-list.is-scrollable{max-height:300px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.filters-label{display:flex;align-items:center;cursor:pointer;font-family:IBM Plex Mono,monospace;font-size:.8rem;color:var(--color-text-secondary);-webkit-user-select:none;user-select:none}.filters-input{margin-right:.5rem;cursor:pointer;accent-color:var(--color-primary)}.filters-show-toggle{margin-top:.75rem;padding:.4rem .75rem;background-color:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:4px;cursor:pointer;font-family:IBM Plex Mono,monospace;font-size:.75rem;font-weight:500;transition:all .2s ease;width:100%;text-align:center}.filters-show-toggle:hover{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.filters-input-row{display:flex;flex-direction:column;gap:.75rem}.filters-input-label{display:block;color:var(--color-text-secondary);font-size:.75rem;margin-bottom:.25rem;font-family:IBM Plex Mono,monospace}.filters-text-input{width:100%;padding:.5rem;border:1px solid var(--color-border);border-radius:4px;background-color:var(--color-background-secondary);color:var(--color-text);font-family:IBM Plex Mono,monospace;font-size:.85rem;outline:none;box-sizing:border-box}.filters-popular-range{margin-top:1rem}.filters-radio-list{display:flex;flex-direction:column;gap:.5rem}.filters-radio{margin-right:.5rem;cursor:pointer;accent-color:var(--color-primary)}.game-card-image{width:min(160px,35vw);height:auto;aspect-ratio:160 / 210;object-fit:cover;border-radius:8px;flex-shrink:0}.game-card-placeholder{width:min(160px,35vw);height:auto;aspect-ratio:160 / 210;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.spinner{width:50px;height:50px;border:4px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.spinner-small{width:20px;height:20px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.years-filter,.filters-sidebar{scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}.filters-sidebar input[type=text][inputmode=numeric]:hover{border-color:var(--color-primary)}.filters-sidebar input[type=text][inputmode=numeric]:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #8da2fb33}@media (max-width: 750px){.filters-sidebar{display:none!important}.mobile-filter-button-container{display:block!important}.games-content{padding-left:1rem!important}}@media (min-width: 751px){.mobile-filter-button-container{display:none!important}}@media (max-width: 485px){.game-card-image-wrap{width:140px;min-width:140px}.game-card-image,.game-card-placeholder{width:min(140px,40vw);height:auto;aspect-ratio:140 / 185}.games-list{flex:1;max-width:95%;min-height:400px}.game-card-content{gap:15px!important}.years-filter{padding:.75rem!important}}.game-detail-page{width:100%;background-color:#0f1115;min-height:100vh}.game-detail-hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem 1.5rem 2rem;box-sizing:border-box}.game-detail-back-button{flex-shrink:0;align-self:flex-start;padding:.5rem .9rem;background-color:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:8px;font-family:IBM Plex Mono,monospace;font-size:1.25rem;cursor:pointer;transition:all .3s ease}.game-detail-back-button:hover{background-color:var(--color-border);color:#fff}.game-detail-hero-content{max-width:1200px;width:100%;display:flex;flex-wrap:wrap;gap:2rem;align-items:flex-start}.game-detail-cover-container{flex-shrink:0}.game-detail-cover{width:min(320px,70vw);height:auto;aspect-ratio:320 / 426;object-fit:cover;display:block;border-radius:8px}.game-detail-cover-placeholder{width:min(320px,70vw);height:auto;aspect-ratio:320 / 426;display:flex;align-items:center;justify-content:center;background-color:var(--color-placeholder-bg);color:var(--color-placeholder-text);font-family:IBM Plex Mono,monospace;font-size:.9rem;border-radius:8px}.game-detail-cover-wrap{flex-shrink:0;display:flex;flex-direction:column;gap:.5rem}.game-detail-status{margin-top:0}.game-detail-status-hint{font-size:.9rem;color:var(--color-text-secondary);font-family:IBM Plex Sans,sans-serif}.game-detail-status-btn{padding:.4rem .75rem;background-color:var(--color-game-card-bg);color:var(--color-text);border:1px solid var(--color-border);border-radius:6px;cursor:pointer;font-family:IBM Plex Mono,monospace;font-size:.9rem;width:100%;max-width:320px}.game-detail-status-btn:hover:not(:disabled){filter:brightness(1.1)}.game-detail-status-btn:disabled{opacity:.7;cursor:not-allowed}.game-detail-hero-info{flex:1;display:flex;flex-direction:column;gap:1rem;align-items:flex-start;max-width:100%;overflow-wrap:anywhere}.game-detail-hero-title{margin:0;font-family:Manrope,sans-serif;font-size:clamp(2rem,5vw,4rem);font-weight:700;color:var(--color-text);line-height:1.2;overflow-wrap:anywhere}.game-detail-hero-year{margin:0;font-family:IBM Plex Sans,sans-serif;font-size:1.5rem;color:var(--color-text-secondary)}.game-detail-hero-genres{margin:0;font-family:IBM Plex Sans,sans-serif;font-size:1.3rem;color:var(--color-text);overflow-wrap:anywhere}.game-detail-hero-tags{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}.game-detail-hero-tag{display:inline-block;padding:.6rem 1.2rem;border:1px solid var(--color-border);border-radius:999px;background-color:transparent;color:var(--color-text);font-family:IBM Plex Sans,sans-serif;font-size:1.1rem;max-width:100%;word-break:break-word}.game-detail-creator{margin-top:1.25rem;padding:.75rem 1rem;background-color:var(--color-placeholder-bg, rgba(255, 255, 255, .06));border:1px solid var(--color-border);border-radius:12px;max-width:fit-content}.game-detail-creator-label{display:block;font-family:IBM Plex Mono,monospace;font-size:.75rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.game-detail-creator-link{display:inline-flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--color-text);transition:opacity .2s ease}.game-detail-creator-link:hover{opacity:.85}.game-detail-creator-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;flex-shrink:0}.game-detail-creator-username{font-family:IBM Plex Sans,sans-serif;font-size:1rem;font-weight:500}.game-detail-description{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2.5rem 2rem;box-sizing:border-box}.game-detail-description-content{max-width:800px;width:100%}.game-detail-description-title{margin:0 0 1.5rem;font-family:Manrope,sans-serif;font-size:2.5rem;font-weight:700;color:var(--color-text)}.game-detail-description-text{margin:0;font-family:IBM Plex Sans,sans-serif;font-size:1.3rem;line-height:1.8;color:var(--color-text);white-space:pre-wrap;overflow-wrap:anywhere}.game-detail-metadata{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2.5rem 2rem;box-sizing:border-box;border-top:1px solid var(--color-border)}.game-detail-metadata-content{max-width:1200px;width:100%;display:flex;flex-direction:column;gap:1rem}.game-detail-metadata-item{display:flex;align-items:baseline;gap:1rem;font-family:IBM Plex Sans,sans-serif;font-size:1.2rem;color:var(--color-text-secondary)}.game-detail-metadata-label{font-weight:500;color:var(--color-text);min-width:80px}.game-detail-metadata-value{color:var(--color-text-secondary);overflow-wrap:anywhere}@media (max-width: 1024px){.game-detail-hero-content{gap:2.5rem}}@media (max-width: 768px){.game-detail-hero{padding:1.5rem}.game-detail-back-button{top:1.5rem;left:1.5rem;font-size:1.2rem;padding:.3rem .6rem}.game-detail-hero-content{flex-direction:column;align-items:center;gap:2rem}.game-detail-hero-info{align-items:center;text-align:center}.game-detail-hero-title{font-size:2.5rem;text-align:center}.game-detail-cover,.game-detail-cover-placeholder{width:260px;height:346px}.game-detail-description{padding:2rem 1.5rem}.game-detail-description-title{font-size:2rem}.game-detail-description-text{font-size:1.1rem}.game-detail-metadata{padding:2rem 1.5rem}.game-detail-metadata-item{flex-direction:column;gap:.5rem}.game-detail-metadata-label{min-width:auto}}@media (max-width: 480px){.game-detail-cover,.game-detail-cover-placeholder{width:min(220px,75vw);height:auto;aspect-ratio:220 / 293}.game-detail-hero-year{font-size:1.2rem}.game-detail-hero-genres{font-size:1.1rem}}.game-card-status-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0009;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:99999;isolation:isolate}.game-card-status-modal{position:relative;z-index:100000;background-color:var(--color-background);border:1px solid var(--color-border);border-radius:12px;padding:2.5rem;width:65vw;height:80vh;min-width:360px;min-height:400px;max-width:95vw;max-height:90vh;overflow:auto;display:flex;flex-direction:column;box-shadow:0 25px 50px #0006}.game-card-status-modal-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:2rem;padding-bottom:1.25rem;border-bottom:1px solid var(--color-border)}.game-card-status-modal-title-wrap{display:flex;flex-direction:column;gap:.35rem}.game-card-status-modal-title{margin:0;font-size:1.75rem;font-weight:600;font-family:IBM Plex Mono,monospace;color:var(--color-text)}.game-card-status-modal-subtitle{margin:0;font-size:1.1rem;color:var(--color-text-secondary);font-family:IBM Plex Sans,sans-serif}.game-card-status-modal-close{background:none;border:none;font-size:2.25rem;line-height:1;color:var(--color-text-secondary);cursor:pointer;padding:0 .35rem;flex-shrink:0}.game-card-status-modal-close:hover{color:var(--color-text)}.game-card-status-modal-section-label{font-size:1.1rem;color:var(--color-text-secondary);font-family:IBM Plex Sans,sans-serif;margin-bottom:1rem}.game-card-status-modal-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0;flex:1;overflow:auto}.game-card-status-modal-item{display:flex;align-items:center;gap:1rem;width:100%;padding:1.25rem 0 1.25rem .75rem;text-align:left;background:none;border:none;border-left:5px solid transparent;border-bottom:1px solid var(--color-border);color:var(--color-text);font-family:IBM Plex Sans,sans-serif;font-size:1.2rem;cursor:pointer}.game-card-status-modal-item-color-dot{width:14px;height:14px;border-radius:50%;flex-shrink:0}.game-card-status-modal-item:last-child{border-bottom:none}.game-card-status-modal-item:hover:not(:disabled):not(.game-card-status-modal-item--current){background-color:var(--color-background-secondary)}.game-card-status-modal-item--current{cursor:default;color:var(--color-text-secondary)}.game-card-status-modal-item--current .game-card-status-modal-item-check{color:#22c55e}.game-card-status-modal-item-check{width:1.5rem;flex-shrink:0;font-size:1.35rem;color:transparent}.game-card-status-modal-item:disabled{opacity:.7;cursor:not-allowed}.login-page{width:100%;flex:1;display:flex;justify-content:center;align-items:flex-start;padding:40px 20px 60px}.login-card{width:100%;max-width:420px;background-color:var(--color-background-secondary);border:1px solid var(--color-border);border-radius:16px;padding:28px 24px;box-shadow:0 12px 30px #0003}.login-title{font-family:Manrope,monospace;font-size:2rem;font-weight:600;color:var(--color-text);margin:0 0 24px}.login-form{display:flex;flex-direction:column;gap:12px}.login-label{font-family:IBM Plex Mono,monospace;font-size:.9rem;color:var(--color-text-secondary)}.login-input{width:100%;border-radius:10px;border:1px solid var(--color-border);background-color:var(--color-background);color:var(--color-text);font-family:IBM Plex Mono,monospace;font-size:1rem;padding:12px 14px;transition:border-color .2s ease,box-shadow .2s ease}.login-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #8da2fb33}.login-error{padding:10px 12px;border-radius:8px;background-color:#ff5a5a1f;color:#ff6b6b;font-family:IBM Plex Mono,monospace;font-size:.9rem}.login-submit{margin-top:6px;padding:12px 16px;border:none;border-radius:10px;background-color:var(--color-primary);color:#fff;font-family:IBM Plex Mono,monospace;font-size:1rem;cursor:pointer;transition:transform .2s ease,background-color .2s ease}.login-submit:hover{background-color:var(--color-primary);transform:translateY(-1px)}.login-submit:disabled{opacity:.7;cursor:default;transform:none}.login-actions{display:flex;gap:12px;margin-top:6px}.login-action{flex:1;padding:12px 16px;border:1px solid var(--color-border);border-radius:10px;background-color:var(--color-background);color:var(--color-text-secondary);font-family:IBM Plex Mono,monospace;font-size:.85rem;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.login-action:hover{background-color:var(--color-background-secondary);border-color:var(--color-border);color:var(--color-text)}.login-action:disabled{opacity:.7;cursor:default}@media (max-width: 480px){.login-page{padding:24px 16px 40px}.login-card{padding:24px 18px}}.register-page{width:100%;flex:1;display:flex;justify-content:center;align-items:flex-start;padding:40px 20px 60px}.register-card{width:100%;max-width:420px;background-color:var(--color-background-secondary);border:1px solid var(--color-border);border-radius:16px;padding:28px 24px;box-shadow:0 12px 30px #0003}.register-title{font-family:Manrope,monospace;font-size:2rem;font-weight:600;color:var(--color-text);margin:0 0 24px}.register-form{display:flex;flex-direction:column;gap:12px}.register-label{font-family:IBM Plex Mono,monospace;font-size:.9rem;color:var(--color-text-secondary)}.register-input{width:100%;border-radius:10px;border:1px solid var(--color-border);background-color:var(--color-background);color:var(--color-text);font-family:IBM Plex Mono,monospace;font-size:1rem;padding:12px 14px;transition:border-color .2s ease,box-shadow .2s ease}.register-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #8da2fb33}.register-error{padding:10px 12px;border-radius:8px;background-color:#ff5a5a1f;color:#ff6b6b;font-family:IBM Plex Mono,monospace;font-size:.9rem}.register-submit{margin-top:6px;padding:12px 16px;border:none;border-radius:10px;background-color:var(--color-primary);color:#fff;font-family:IBM Plex Mono,monospace;font-size:1rem;cursor:pointer;transition:transform .2s ease,background-color .2s ease}.register-submit:hover{background-color:var(--color-primary);transform:translateY(-1px)}.register-submit:disabled{opacity:.7;cursor:default;transform:none}.register-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:6px}.register-secondary{padding:10px 12px;border-radius:10px;border:1px solid var(--color-border);background-color:transparent;color:var(--color-text-secondary);font-family:IBM Plex Mono,monospace;font-size:.85rem;cursor:pointer;transition:color .2s ease,border-color .2s ease}.register-secondary:hover{color:var(--color-text);border-color:var(--color-primary)}@media (max-width: 480px){.register-page{padding:24px 16px 40px}.register-card{padding:24px 18px}}.register-success-page{min-height:calc(100vh - 140px);display:flex;align-items:center;justify-content:center;padding:40px 20px}.register-success-card{width:100%;max-width:460px;background-color:var(--color-background-secondary);border-radius:16px;padding:32px 28px;box-shadow:0 16px 40px #00000059;border:1px solid var(--color-border);text-align:center}.register-success-check{width:60px;height:60px;margin:0 auto 16px;display:flex;align-items:center;justify-content:center}.register-success-check-icon{width:100%;height:100%;filter:drop-shadow(0 6px 14px rgba(34,197,94,.35))}.register-success-title{margin:0 0 12px;font-family:Manrope,sans-serif;font-size:2rem;color:var(--color-text)}.register-success-text{margin:0 0 24px;font-family:IBM Plex Mono,monospace;color:var(--color-text-secondary);font-size:1rem;line-height:1.6}.register-success-button{padding:12px 24px;border-radius:10px;border:none;background-color:var(--color-primary);color:#fff;font-family:IBM Plex Mono,monospace;font-size:1rem;cursor:pointer;transition:transform .2s ease,background-color .2s ease}.register-success-button:hover{transform:translateY(-2px)}.register-success-button:active{transform:translateY(0)}@media (max-width: 480px){.register-success-card{padding:24px 20px}.register-success-title{font-size:1.6rem}}.profile-page{width:100%;flex:1;display:flex;justify-content:center;align-items:flex-start;padding:60px 40px;position:relative}.profile-content{width:100%;display:flex;flex-direction:column;align-items:center;gap:12px}.profile-main-section{width:100%;display:flex;justify-content:center}.profile-success-toast{position:absolute;top:20px;left:50%;transform:translate(-50%);background-color:#22c55e26;color:#22c55e;border:1px solid rgba(34,197,94,.4);padding:12px 20px;border-radius:12px;font-family:IBM Plex Mono,monospace;font-size:.95rem;z-index:20;box-shadow:0 10px 24px #00000040;display:inline-flex;align-items:center;gap:10px}.profile-success-toast-icon{width:28px;height:28px;flex-shrink:0;filter:drop-shadow(0 6px 14px rgba(34,197,94,.35))}.profile-container{width:100%;max-width:1200px;display:flex;gap:40px;border:1px solid transparent;border-radius:20px;padding:24px}.profile-container--editing{border-color:var(--color-border);box-shadow:0 0 0 1px #ffffff14,0 16px 40px #0000004d}.profile-left{flex:0 0 auto;width:200px;display:flex;flex-direction:column;align-items:center;padding-top:20px}.profile-avatar-wrapper{width:200px;height:200px;border-radius:50%;overflow:hidden;border:4px solid var(--color-border);box-shadow:0 8px 32px #0000004d;cursor:pointer}.profile-avatar-wrapper--editing{cursor:pointer;animation:avatarPulse 1.6s ease-in-out infinite}.profile-avatar-wrapper:not(.profile-avatar-wrapper--editing):hover{animation:avatarPulse 1.6s ease-in-out infinite}.profile-avatar-input{display:none}.profile-avatar{width:100%;height:100%;object-fit:cover}.profile-days-text{margin-top:24px;font-family:IBM Plex Sans,sans-serif;font-size:1.1rem;color:var(--color-text-secondary);text-align:center}.profile-right{flex:1;display:flex;flex-direction:column;padding-top:20px;padding-right:20px}.profile-title{font-family:Manrope,sans-serif;font-size:2.5rem;font-weight:700;color:var(--color-text);margin:0 0 32px;line-height:1.2;display:flex;align-items:center;flex-wrap:wrap;gap:12px}.profile-user-id{margin-top:-20px;margin-bottom:24px;font-family:IBM Plex Mono,monospace;color:#9aa1ac;font-size:.95rem}.profile-title-text{display:inline-block}.profile-username{color:var(--color-logo);display:inline-block;cursor:pointer}.profile-username-input{min-width:200px;max-width:320px;padding:8px 12px;border-radius:10px;border:1px solid var(--color-border);background-color:var(--color-background-secondary);color:var(--color-text);font-family:Manrope,sans-serif;font-size:1.8rem;font-weight:600;animation:usernamePulse 1.6s ease-in-out infinite}.profile-username-input:focus{outline:none;border-color:var(--color-logo);box-shadow:0 0 0 2px #ffffff1a}.profile-edit-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--color-border);background-color:var(--color-background-secondary);color:var(--color-text);cursor:pointer;transition:transform .2s ease,border-color .2s ease}.profile-edit-btn svg{width:18px;height:18px}.profile-edit-btn:hover{transform:translateY(-2px);border-color:var(--color-logo)}.profile-info{display:flex;flex-direction:column;gap:16px;max-width:100%;align-items:flex-start}.profile-edit-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.profile-save-btn,.profile-cancel-btn{padding:10px 20px;border-radius:10px;font-family:IBM Plex Mono,monospace;font-size:.95rem;cursor:pointer;border:none;transition:transform .2s ease,opacity .2s ease}.profile-save-btn{background-color:var(--color-primary);color:#fff}.profile-cancel-btn{background-color:transparent;border:1px solid var(--color-border);color:var(--color-text)}.profile-save-btn:hover,.profile-cancel-btn:hover{transform:translateY(-1px)}.profile-save-btn:disabled,.profile-cancel-btn:disabled{opacity:.6;cursor:default;transform:none}.profile-edit-error{padding:10px 14px;border-radius:8px;background-color:#ff5a5a1f;color:#ff6b6b;font-family:IBM Plex Mono,monospace;font-size:.9rem}.profile-email{position:relative;display:flex;align-items:center;gap:12px;padding:16px 20px;background-color:var(--color-background-secondary);border:1px solid var(--color-border);border-radius:12px;cursor:pointer;max-width:100%}.profile-email-label{font-family:IBM Plex Mono,monospace;font-size:.95rem;color:var(--color-text-secondary)}.profile-email-value{font-family:IBM Plex Mono,monospace;font-size:1rem;color:var(--color-text);filter:blur(6px);transition:filter .25s ease;-webkit-user-select:none;user-select:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-email:hover .profile-email-value{filter:blur(0);-webkit-user-select:text;user-select:text}.profile-email-copied{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:8px 16px;background-color:var(--color-primary);color:#fff;font-family:IBM Plex Mono,monospace;font-size:.85rem;border-radius:6px;white-space:nowrap;animation:fadeInOut 2s ease forwards;z-index:20}@keyframes fadeInOut{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}15%{opacity:1;transform:translate(-50%,-50%) scale(1)}85%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.9)}}.profile-email-wrapper{display:flex;flex-direction:column;gap:0;max-width:720px;width:100%}.profile-email-info{position:relative;margin-left:auto;display:flex;align-items:center}.profile-email-info--desktop{display:flex}.profile-email-info-icon{width:20px;height:20px;color:#ffffff26;transition:color .2s ease;cursor:pointer}.profile-email-info:hover .profile-email-info-icon{color:var(--color-logo)}.profile-email-tooltip{position:absolute;right:0;bottom:calc(100% + 8px);width:280px;padding:12px 14px;background-color:var(--color-background);border:1px solid var(--color-border);border-radius:8px;font-family:IBM Plex Mono,monospace;font-size:.85rem;color:var(--color-text-secondary);line-height:1.5;box-shadow:0 8px 24px #0000004d;opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease;z-index:10}.profile-email-info:hover .profile-email-tooltip{opacity:1;visibility:visible;transform:translateY(0)}.profile-email-arrow{display:none;align-items:center;justify-content:center;width:24px;height:24px;margin-left:auto;padding:0;border:none;background:transparent;color:#ffffff26;cursor:pointer;transition:color .2s ease;flex-shrink:0}.profile-email-arrow svg{width:20px;height:20px;transition:transform .3s ease}.profile-email-arrow.open svg{transform:rotate(180deg)}.profile-email-arrow:hover{color:var(--color-logo)}.profile-email-dropdown{display:none;max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease,margin .3s ease}.profile-email-dropdown p{margin:0;font-family:IBM Plex Mono,monospace;font-size:.85rem;color:var(--color-text-secondary);line-height:1.5}.profile-verify-section{display:flex;flex-direction:column;gap:16px;padding:20px 24px;background-color:#ffb45a14;border:1px solid rgba(255,180,90,.2);border-radius:12px;width:100%;max-width:720px}.profile-verify-text{font-family:IBM Plex Mono,monospace;font-size:.95rem;color:#ffb45a;margin:0}.profile-verify-btn{align-self:flex-start;padding:12px 24px;border:none;border-radius:10px;background-color:var(--color-primary);color:#fff;font-family:IBM Plex Mono,monospace;font-size:1rem;cursor:pointer;transition:transform .2s ease,background-color .2s ease}.profile-verify-btn:hover{transform:translateY(-2px)}.profile-verify-btn:active{transform:translateY(0)}.profile-error{padding:20px 24px;border-radius:12px;background-color:#ff5a5a1f;color:#ff6b6b;font-family:IBM Plex Mono,monospace;font-size:1rem}.profile-games-section{margin-top:12px;display:flex;flex-direction:column;gap:16px;max-width:1200px;width:100%;align-self:center}.profile-games-headers{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:0}.profile-games-header{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;text-align:center}.profile-games-header--btn{margin:0;padding:0;border:none;background:none;font:inherit;color:inherit;cursor:default}.profile-games-header--btn.profile-games-header--clickable{cursor:pointer;padding:.75rem 1.5rem;border-radius:8px;border:1px solid var(--color-border);background-color:var(--color-background-secondary);transition:background-color .2s,border-color .2s}.profile-games-header--btn.profile-games-header--clickable:hover{background-color:var(--color-border);border-color:var(--color-text-secondary)}.profile-games-header--btn.profile-games-header--clickable:active{background-color:var(--color-border)}.profile-games-title{margin:0;font-family:Manrope,sans-serif;font-size:2rem;color:var(--color-text)}.profile-games-status-note{font-family:IBM Plex Mono,monospace;font-size:.85rem;color:var(--color-text-secondary)}.profile-games-filters{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.profile-games-filter{padding:8px 14px;border-radius:999px;border:1px solid var(--color-border);background-color:var(--color-background);color:var(--color-text-secondary);font-family:IBM Plex Mono,monospace;font-size:.85rem;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px}.profile-games-filter.is-active{color:inherit}.profile-games-filter:not(.is-active):hover{color:var(--color-text);border-color:var(--color-primary)}.profile-games-filter--draft.is-active{color:#ef4444;background-color:#ef44441f;border-color:#ef444466}.profile-games-filter--pending.is-active{color:#f59e0b;background-color:#f59e0b29;border-color:#f59e0b73}.profile-games-filter--publish.is-active{color:#22c55e;background-color:#22c55e24;border-color:#22c55e73}.profile-games-filter--all.is-active{color:var(--color-text);background-color:#ffffff14;border-color:var(--color-border)}.profile-games-filter-count{font-size:.75rem;padding:2px 8px;border-radius:999px;background-color:#ffffff1f;color:currentColor}.profile-games-loading,.profile-games-empty,.profile-games-error{display:flex;align-items:center;gap:12px;font-family:IBM Plex Mono,monospace;font-size:.9rem;color:var(--color-text-secondary)}.profile-games-error{color:#ff6b6b}.profile-games-list{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px}.profile-game-card{display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;padding:6px;border-radius:12px;transition:transform .2s ease}.profile-game-card:hover{transform:translateY(-4px)}.profile-game-card-image,.profile-game-card-placeholder{width:100%;max-width:160px;aspect-ratio:160 / 210;border-radius:10px}.profile-game-card-image{object-fit:cover;box-shadow:0 6px 16px var(--color-image-shadow)}.profile-game-card-placeholder{display:flex;align-items:center;justify-content:center;background-color:var(--color-placeholder-bg);color:var(--color-placeholder-text);font-family:IBM Plex Sans,sans-serif;font-size:.85rem}.profile-game-card-title{text-align:center;color:var(--color-text);font-family:Manrope,sans-serif;font-size:.95rem;font-weight:600}.profile-game-card-title-row{display:inline-flex;align-items:center;gap:6px;justify-content:center}.profile-game-card-edit{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:1px solid var(--color-border);background-color:transparent;color:var(--color-text-secondary);cursor:pointer;transition:transform .2s ease,border-color .2s ease,color .2s ease}.profile-game-card-edit svg{width:14px;height:14px}.profile-game-card-edit:hover{transform:translateY(-1px);border-color:var(--color-logo);color:var(--color-logo)}.profile-crop-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:50;padding:24px}.profile-crop-modal{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:16px;padding:24px;max-width:420px;width:100%;display:flex;flex-direction:column;gap:16px}.profile-crop-title{margin:0;font-family:Manrope,sans-serif;font-size:1.4rem;color:var(--color-text)}.profile-crop-canvas-wrapper{width:100%;display:flex;justify-content:center}.profile-crop-canvas{border-radius:12px;border:1px solid var(--color-border);width:300px;height:300px;touch-action:none;cursor:grab}.profile-crop-canvas:active{cursor:grabbing}.profile-crop-controls{display:flex;align-items:center;gap:12px}.profile-crop-zoom{display:flex;flex-direction:column;gap:8px;width:100%;font-family:IBM Plex Mono,monospace;font-size:.85rem;color:var(--color-text-secondary)}.profile-crop-zoom input[type=range]{width:100%}.profile-crop-actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap}@keyframes avatarPulse{0%{box-shadow:0 0 color-mix(in srgb,var(--color-primary) 45%,transparent)}50%{box-shadow:0 0 0 12px color-mix(in srgb,var(--color-primary) 0%,transparent)}to{box-shadow:0 0 color-mix(in srgb,var(--color-primary) 0%,transparent)}}@keyframes usernamePulse{0%{box-shadow:0 0 color-mix(in srgb,var(--color-primary) 35%,transparent)}50%{box-shadow:0 0 0 10px color-mix(in srgb,var(--color-primary) 0%,transparent)}to{box-shadow:0 0 color-mix(in srgb,var(--color-primary) 0%,transparent)}}@media (max-width: 768px){.profile-page{padding:40px 20px}.profile-container{flex-direction:column;gap:32px}.profile-left{flex:none;width:100%}.profile-avatar-wrapper{width:160px;height:160px}.profile-right{flex:none;width:100%}.profile-title{font-size:1.75rem;text-align:center;justify-content:center}.profile-success-toast{padding:0;width:36px;height:36px;border-radius:50%;font-size:0;gap:0;justify-content:center}.profile-success-toast-icon{width:28px;height:28px}.profile-username-input{font-size:1.3rem;max-width:100%}.profile-user-id{text-align:center}.profile-email{flex-wrap:wrap;gap:8px}.profile-email-label{width:100%}.profile-email-value{flex:1;min-width:0}.profile-email-info--desktop{display:none}.profile-email-arrow{display:flex}.profile-email-dropdown{display:block;padding:0 20px;margin-top:0;background-color:var(--color-background-secondary);border:1px solid var(--color-border);border-top:none;border-radius:0 0 12px 12px;margin-left:-1px;margin-right:-1px}.profile-email-dropdown.open{max-height:150px;padding:16px 20px;margin-top:-12px}.profile-email-wrapper .profile-email{position:relative;z-index:1}.profile-verify-section{align-items:center;text-align:center}.profile-verify-btn{align-self:center}.profile-games-title{font-size:1.2rem}}.verify-email-page{width:100%;flex:1;display:flex;justify-content:center;align-items:flex-start;padding:40px 20px 60px}.verify-email-card{width:100%;max-width:420px;background-color:var(--color-background-secondary);border:1px solid var(--color-border);border-radius:16px;padding:28px 24px;box-shadow:0 12px 30px #0003;text-align:center}.verify-email-title{font-family:Manrope,monospace;font-size:2rem;font-weight:600;color:var(--color-text);margin:0 0 12px}.verify-email-description{font-family:IBM Plex Mono,monospace;font-size:.9rem;color:var(--color-text-secondary);margin:0 0 24px}.verify-email-success{color:var(--color-text-secondary)}.verify-email-submit--centered{display:block;margin:0 auto}.verify-email-form{display:flex;flex-direction:column;gap:16px}.verify-email-inputs{display:flex;justify-content:space-between;gap:8px}.verify-email-input{width:100%;max-width:44px;height:56px;border-radius:10px;border:1px solid var(--color-border);background-color:var(--color-background);color:var(--color-text);font-family:IBM Plex Mono,monospace;font-size:1.5rem;font-weight:600;text-align:center;transition:border-color .2s ease,box-shadow .2s ease}.verify-email-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #8da2fb33}.verify-email-input:disabled{opacity:.5;cursor:default}.verify-email-error{padding:10px 12px;border-radius:8px;background-color:#ff5a5a1f;color:#ff6b6b;font-family:IBM Plex Mono,monospace;font-size:.9rem}.verify-email-submit{padding:12px 16px;border:none;border-radius:10px;background-color:var(--color-primary);color:#fff;font-family:IBM Plex Mono,monospace;font-size:1rem;cursor:pointer;transition:transform .2s ease,background-color .2s ease}.verify-email-submit:hover{background-color:var(--color-primary);transform:translateY(-1px)}.verify-email-submit:disabled{opacity:.7;cursor:default;transform:none}@media (max-width: 480px){.verify-email-page{padding:24px 16px 40px}.verify-email-card{padding:24px 18px}.verify-email-inputs{gap:6px}.verify-email-input{max-width:38px;height:48px;font-size:1.25rem}}.reset-password-page{width:100%;flex:1;display:flex;justify-content:center;align-items:flex-start;padding:40px 20px 60px}.reset-password-card{width:100%;max-width:420px;background-color:var(--color-background-secondary);border:1px solid var(--color-border);border-radius:16px;padding:28px 24px;box-shadow:0 12px 30px #0003}.reset-password-title{font-family:Manrope,monospace;font-size:2rem;font-weight:600;color:var(--color-text);margin:0 0 16px}.reset-password-text{font-family:IBM Plex Mono,monospace;font-size:.9rem;color:var(--color-text-secondary);margin:0 0 16px;line-height:1.5}.reset-password-hint{font-size:.85rem;opacity:.8}.reset-password-form{display:flex;flex-direction:column;gap:12px}.reset-password-label{font-family:IBM Plex Mono,monospace;font-size:.9rem;color:var(--color-text-secondary)}.reset-password-input{width:100%;border-radius:10px;border:1px solid var(--color-border);background-color:var(--color-background);color:var(--color-text);font-family:IBM Plex Mono,monospace;font-size:1rem;padding:12px 14px;transition:border-color .2s ease,box-shadow .2s ease}.reset-password-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #8da2fb33}.reset-password-error{padding:10px 12px;border-radius:8px;background-color:#ff5a5a1f;color:#ff6b6b;font-family:IBM Plex Mono,monospace;font-size:.9rem}.reset-password-submit{margin-top:6px;padding:12px 16px;border:none;border-radius:10px;background-color:var(--color-primary);color:#fff;font-family:IBM Plex Mono,monospace;font-size:1rem;cursor:pointer;transition:transform .2s ease,background-color .2s ease}.reset-password-submit:hover{background-color:var(--color-primary);transform:translateY(-1px)}.reset-password-submit:disabled{opacity:.7;cursor:default;transform:none}.reset-password-secondary{margin-top:8px;background:transparent;border:none;color:var(--color-text-secondary);font-family:IBM Plex Mono,monospace;font-size:.85rem;cursor:pointer;align-self:center;transition:color .2s ease}.reset-password-secondary:hover{color:var(--color-text)}@media (max-width: 480px){.reset-password-page{padding:24px 16px 40px}.reset-password-card{padding:24px 18px}}.password-reset-page{width:100%;flex:1;display:flex;justify-content:center;align-items:flex-start;padding:40px 20px 60px}.password-reset-card{width:100%;max-width:420px;background-color:var(--color-background-secondary);border:1px solid var(--color-border);border-radius:16px;padding:28px 24px;box-shadow:0 12px 30px #0003}.password-reset-title{font-family:Manrope,monospace;font-size:2rem;font-weight:600;color:var(--color-text);margin:0 0 16px}.password-reset-text{font-family:IBM Plex Mono,monospace;font-size:.9rem;color:var(--color-text-secondary);margin:0 0 16px;line-height:1.5}.password-reset-error-text{color:#ff6b6b}.password-reset-success-text{color:#6bffb8}.password-reset-form{display:flex;flex-direction:column;gap:12px}.password-reset-label{font-family:IBM Plex Mono,monospace;font-size:.9rem;color:var(--color-text-secondary)}.password-reset-input{width:100%;border-radius:10px;border:1px solid var(--color-border);background-color:var(--color-background);color:var(--color-text);font-family:IBM Plex Mono,monospace;font-size:1rem;padding:12px 14px;transition:border-color .2s ease,box-shadow .2s ease}.password-reset-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #8da2fb33}.password-reset-error{padding:10px 12px;border-radius:8px;background-color:#ff5a5a1f;color:#ff6b6b;font-family:IBM Plex Mono,monospace;font-size:.9rem}.password-reset-submit{margin-top:6px;padding:12px 16px;border:none;border-radius:10px;background-color:var(--color-primary);color:#fff;font-family:IBM Plex Mono,monospace;font-size:1rem;cursor:pointer;transition:transform .2s ease,background-color .2s ease}.password-reset-submit:hover{background-color:var(--color-primary);transform:translateY(-1px)}.password-reset-submit:disabled{opacity:.7;cursor:default;transform:none}.password-reset-secondary{margin-top:8px;background:transparent;border:none;color:var(--color-text-secondary);font-family:IBM Plex Mono,monospace;font-size:.85rem;cursor:pointer;align-self:center;transition:color .2s ease}.password-reset-secondary:hover{color:var(--color-text)}.password-reset-spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite;margin:20px auto}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 480px){.password-reset-page{padding:24px 16px 40px}.password-reset-card{padding:24px 18px}}.admin-page{width:100%;color:var(--color-text);padding-bottom:3rem;position:relative}.admin-header{text-align:center}.admin-header .games-header{margin-bottom:.75rem}.admin-subtitle{color:var(--color-text-secondary);font-family:IBM Plex Mono,monospace;font-size:1rem;margin:0 0 2rem}.admin-status-filters{width:100%}.admin-game-meta{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin:.5rem 0 .75rem;color:var(--color-text-secondary);font-family:IBM Plex Mono,monospace;font-size:.85rem}.admin-game-meta-item{overflow-wrap:anywhere}.admin-card-media{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}.admin-game-card{position:relative;z-index:0}.admin-game-card--status-open{z-index:5}.admin-status-action{position:relative;width:100%}.admin-status-button{width:100%;padding:.45rem .6rem;border-radius:8px;border:1px solid var(--color-border);background-color:var(--color-game-card-bg);color:var(--color-text);font-family:IBM Plex Mono,monospace;font-size:.8rem;cursor:pointer;transition:all .2s ease}.admin-status-button:hover{border-color:var(--color-primary);color:var(--color-primary)}.admin-status-dropdown{position:absolute;top:calc(100% + 6px);left:0;z-index:20;display:flex;flex-direction:column;gap:.35rem;width:100%;padding:.5rem;border-radius:8px;border:1px solid var(--color-border);background-color:var(--color-background-secondary);box-shadow:0 12px 24px #00000040}.admin-status-option{text-align:left;padding:.35rem .5rem;border-radius:6px;border:none;background:#ffffff0a;font-family:IBM Plex Mono,monospace;font-size:.8rem;cursor:pointer}.admin-status-option:hover{background:#ffffff14}.admin-status-option--disabled{opacity:.6;cursor:not-allowed}.admin-status-option--disabled:hover{background:#ffffff0a}.admin-status-error{margin-top:.4rem;color:#ef4444;font-size:.75rem;font-family:IBM Plex Mono,monospace}.status-pill{display:inline-flex;align-items:center;padding:.1rem .45rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase}.status-pill--draft{color:#ef4444;background-color:#ef44441f}.status-pill--pending{color:#f59e0b;background-color:#f59e0b29}.status-pill--publish{color:#22c55e;background-color:#22c55e24}.admin-loading{display:flex;justify-content:center;margin:2rem 0}.admin-empty{text-align:center;color:var(--color-text-secondary);margin-top:2rem}.admin-error-toast{background-color:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.4)}.admin-toast.profile-success-toast{position:fixed;top:84px;left:50%;transform:translate(-50%);z-index:120}.admin-toast-close{margin-left:4px;border:none;background:transparent;color:inherit;font-size:1.1rem;line-height:1;cursor:pointer;padding:2px 4px}.admin-toast-close:hover{opacity:.8}@media (max-width: 768px){.admin-toast.profile-success-toast{padding:12px 16px;width:auto;height:auto;border-radius:12px;font-size:.9rem;gap:10px}.admin-toast.profile-success-toast span{font-size:.9rem}.admin-toast.profile-success-toast .profile-success-toast-icon{width:24px;height:24px}}@media (max-width: 768px){.admin-page{padding:1.5rem 1rem 2.5rem}}.admin-game-detail{width:100%;min-height:100vh;background-color:#0f1115;color:var(--color-text);padding:1rem 1.5rem;box-sizing:border-box;font-family:IBM Plex Sans,sans-serif}.admin-game-detail__inner{max-width:1100px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:1rem}.admin-game-detail__back{flex-shrink:0;align-self:flex-start;padding:.5rem .9rem;background-color:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:8px;font-family:IBM Plex Mono,monospace;font-size:1rem;cursor:pointer;transition:all .2s ease}.admin-game-detail__back:hover{background-color:var(--color-border);color:#fff}.admin-game-detail__content{display:grid;grid-template-columns:minmax(200px,280px) 1fr;gap:1.5rem;align-items:start}@media (max-width: 700px){.admin-game-detail__content{grid-template-columns:1fr}}.admin-game-detail__cover-wrap{flex-shrink:0}.admin-game-detail__cover{width:100%;max-width:280px;aspect-ratio:320 / 426;object-fit:cover;border-radius:8px;display:block}.admin-game-detail__cover-placeholder{width:100%;max-width:280px;aspect-ratio:320 / 426;display:flex;align-items:center;justify-content:center;background-color:var(--color-placeholder-bg);color:var(--color-placeholder-text);font-family:IBM Plex Mono,monospace;font-size:.85rem;border-radius:8px}.admin-game-detail__info{display:flex;flex-direction:column;gap:.75rem}.admin-game-detail__title{font-family:Manrope,sans-serif;font-size:1.5rem;font-weight:600;margin:0;line-height:1.3}.admin-game-detail__meta{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:.85rem;color:var(--color-text-secondary)}.admin-game-detail__meta-item{display:flex;align-items:baseline;gap:.35rem}.admin-game-detail__meta-label{color:var(--color-text-secondary);opacity:.9}.admin-game-detail__status-pill{display:inline-block;padding:.2rem .5rem;border-radius:6px;font-size:.8rem;text-transform:uppercase}.admin-game-detail__status-pill--draft{background-color:#ffc10733;color:#ffc107}.admin-game-detail__status-pill--pending{background-color:#ff980033;color:#ff9800}.admin-game-detail__status-pill--publish{background-color:#4caf5033;color:#4caf50}.admin-game-detail__description-wrap{display:flex;flex-direction:column}.admin-game-detail__description-label{font-family:IBM Plex Mono,monospace;font-size:.8rem;color:var(--color-text-secondary);margin:0 0 .25rem}.admin-game-detail__description{font-size:.95rem;line-height:1.5;margin:0;padding:.5rem 0;border:none;background:transparent;color:var(--color-text);resize:none}.admin-game-detail__description:empty:before{content:"Описание не указано";color:var(--color-text-secondary)}.admin-game-detail__creator{display:flex;align-items:center;gap:.5rem;margin-top:.25rem}.admin-game-detail__creator-label{font-size:.8rem;color:var(--color-text-secondary)}.admin-game-detail__creator-link{display:flex;align-items:center;gap:.4rem;color:var(--color-link, #7eb8da);text-decoration:none;font-size:.9rem}.admin-game-detail__creator-link:hover{text-decoration:underline}.admin-game-detail__creator-avatar{width:24px;height:24px;border-radius:50%;object-fit:cover}.game-rules-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:160}.game-rules-modal{width:min(980px,100%);background-color:var(--color-background-secondary);border-radius:16px;padding:28px;border:1px solid var(--color-border);box-shadow:0 18px 40px #00000059;display:flex;flex-direction:column;gap:1rem;max-height:80vh;position:relative}.game-rules-close{position:absolute;top:12px;right:14px;border:none;background:transparent;color:var(--color-text);font-size:1.6rem;cursor:pointer}.game-rules-intro{margin:0 0 1rem;font-family:IBM Plex Mono,monospace;color:var(--color-text-secondary);font-size:.95rem;line-height:1.6}.game-rules-title{margin:0 0 .25rem;font-family:Manrope,sans-serif;font-size:1.4rem;color:var(--color-text)}.game-rules-list{margin:0;padding-left:0;display:flex;flex-direction:column;gap:1rem;padding-right:4px;font-family:IBM Plex Mono,monospace;color:var(--color-text-secondary);line-height:1.6;list-style:none;counter-reset:rules-num}.game-rules-list li{display:flex;gap:.75rem;padding:.85rem 1rem;background:#ffffff0a;border-radius:12px;border-left:3px solid var(--color-accent, #6366f1)}.game-rules-list .game-rules-item-text{flex:1;min-width:0}.game-rules-list li:before{counter-increment:rules-num;content:counter(rules-num);flex-shrink:0;width:1.6rem;height:1.6rem;display:flex;align-items:center;justify-content:center;background:#6366f133;color:var(--color-accent, #6366f1);font-weight:600;font-size:.9rem;border-radius:8px}.game-rules-list li strong{color:var(--color-text)}.add-game-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:130}.add-game-modal{width:min(720px,100%);background:var(--color-background-secondary);border-radius:16px;padding:1.5rem 1.75rem 2rem;color:var(--color-text);border:1px solid rgba(255,255,255,.08);box-shadow:0 24px 40px #00000059}.add-game-modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.5rem}.add-game-modal-header h2{margin:0;font-family:Manrope,sans-serif;font-size:1.6rem}.add-game-modal-close{border:none;background:transparent;color:var(--color-text);font-size:1.6rem;cursor:pointer}.add-game-modal-note{margin:0 0 1rem;color:var(--color-text-secondary);font-family:IBM Plex Mono,monospace;font-size:.9rem}.add-game-modal-error,.add-game-modal-success{padding:.6rem .8rem;border-radius:10px;margin-bottom:.8rem;font-family:IBM Plex Mono,monospace;font-size:.9rem}.add-game-modal-error{background:#ef44441f;border:1px solid rgba(239,68,68,.35);color:#ef4444}.add-game-modal-success{background:#22c55e1f;border:1px solid rgba(34,197,94,.35);color:#22c55e}.add-game-body{display:grid;grid-template-columns:240px minmax(0,1fr);gap:1.5rem;align-items:start}.add-game-preview{display:flex;flex-direction:column;gap:.6rem}.add-game-preview-button{border:none;background:transparent;padding:0;cursor:pointer;width:fit-content}.add-game-preview-button:disabled{cursor:not-allowed}.add-game-preview-button img{width:min(160px,35vw);aspect-ratio:160 / 210;object-fit:cover;border-radius:8px;border:1px solid rgba(255,255,255,.08)}.add-game-preview-placeholder{width:min(160px,35vw);aspect-ratio:160 / 210;border-radius:8px;border:1px dashed rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);font-family:IBM Plex Mono,monospace;font-size:.85rem}.add-game-preview-actions{display:flex;flex-direction:column;gap:.4rem}.add-game-form{display:flex;flex-direction:column;gap:1rem;min-width:0}.add-game-field{display:flex;flex-direction:column;gap:.45rem;font-family:IBM Plex Mono,monospace;font-size:.9rem;min-width:0}.add-game-field input,.add-game-field textarea{background:var(--color-background);border:1px solid var(--color-border);border-radius:10px;padding:.6rem .8rem;color:var(--color-text);font-family:IBM Plex Mono,monospace}.add-game-field input:focus,.add-game-field textarea:focus{outline:none;border-color:var(--color-primary)}.add-game-dropdown-toggle{text-align:left;background:var(--color-background);border:1px solid var(--color-border);color:var(--color-text);border-radius:10px;padding:.55rem .8rem;cursor:pointer;font-family:IBM Plex Mono,monospace;width:100%;max-width:100%;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.add-game-dropdown{margin-top:.4rem;background:var(--color-background);border:1px solid var(--color-border);border-radius:10px;padding:.6rem .7rem;max-height:200px;overflow-y:auto;display:flex;flex-direction:column;gap:.4rem}.add-game-checkbox{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-family:IBM Plex Mono,monospace}.add-game-dropdown-message{color:var(--color-text-secondary);font-size:.85rem;font-family:IBM Plex Mono,monospace}.add-game-image-row{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.add-game-image-button{border:1px solid var(--color-border);background:var(--color-background);color:var(--color-text);border-radius:10px;padding:.5rem .9rem;cursor:pointer;font-family:IBM Plex Mono,monospace}.add-game-image-remove{border:1px solid rgba(239,68,68,.45);background:#ef444414;color:#ef4444;border-radius:10px;padding:.45rem .9rem;cursor:pointer;font-family:IBM Plex Mono,monospace}.add-game-image-remove:hover{background:#ef444429}.add-game-image-name{color:var(--color-text-secondary);font-size:.85rem;font-family:IBM Plex Mono,monospace}.add-game-image-hint{color:var(--color-text-secondary);font-size:.78rem;font-family:IBM Plex Mono,monospace}.add-game-submit{border:none;border-radius:12px;background:var(--color-primary);color:#fff;padding:.7rem 1rem;font-family:IBM Plex Mono,monospace;cursor:pointer;transition:transform .2s ease}.add-game-submit:disabled{opacity:.6;cursor:not-allowed}.add-game-submit:hover:not(:disabled){transform:translateY(-2px)}.add-game-crop-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:140}.add-game-crop-modal{background:var(--color-background-secondary);border-radius:16px;padding:1.5rem;width:min(420px,100%);border:1px solid rgba(255,255,255,.08);box-shadow:0 20px 36px #00000059;display:flex;flex-direction:column;gap:1rem;align-items:center}.add-game-crop-title{margin:0;font-family:Manrope,sans-serif;font-size:1.2rem}.add-game-crop-canvas-wrapper{width:100%;display:flex;justify-content:center}.add-game-crop-canvas{border-radius:12px;background:#111;touch-action:none;cursor:grab}.add-game-crop-canvas:active{cursor:grabbing}.add-game-crop-zoom{width:100%;display:flex;flex-direction:column;gap:.5rem;font-family:IBM Plex Mono,monospace;font-size:.85rem}.add-game-crop-zoom input[type=range]{width:100%}.add-game-crop-actions{width:100%;display:flex;gap:.6rem;justify-content:center}.add-game-crop-cancel{border:1px solid var(--color-border);background:transparent;color:var(--color-text);border-radius:12px;padding:.7rem 1rem;font-family:IBM Plex Mono,monospace;cursor:pointer}.create-game-success-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:150}.create-game-success-card{width:min(520px,100%);background-color:var(--color-background-secondary);border-radius:16px;padding:32px 28px;box-shadow:0 16px 40px #00000059;border:1px solid var(--color-border);text-align:center}.create-game-success-title{margin:0 0 12px;font-family:Manrope,sans-serif;font-size:2rem;color:var(--color-text)}.create-game-success-text{margin:0 0 24px;font-family:IBM Plex Mono,monospace;color:var(--color-text-secondary);font-size:1rem;line-height:1.6}@media (max-width: 480px){.create-game-success-card{padding:24px 20px}.create-game-success-title{font-size:1.6rem}}@media (max-width: 640px){.add-game-modal{padding:1.2rem 1.1rem 1.5rem}.add-game-modal-header h2{font-size:1.4rem}.add-game-body{grid-template-columns:1fr}.add-game-preview{align-items:center}.add-game-preview-button,.add-game-preview-button img,.add-game-preview-placeholder{max-width:260px}}.create-game-page{width:100%;display:flex;justify-content:center;padding:3rem 1.5rem}.edit-game-toast{position:fixed;top:24px;left:50%;transform:translate(-50%);background-color:#8da2fb2e;color:#8da2fb;border:1px solid rgba(141,162,251,.4);padding:10px 16px;border-radius:12px;font-family:IBM Plex Mono,monospace;font-size:.9rem;z-index:20;box-shadow:0 10px 24px #00000040}.add-game-modal--page{width:min(900px,100%)}.add-game-verify-note{display:flex;align-items:center;gap:.5rem}.add-game-verify-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.create-game-rules-link{border:none;background:transparent;color:var(--color-primary);font-family:IBM Plex Mono,monospace;font-size:.9rem;cursor:pointer;text-decoration:underline;padding:0}.create-game-image-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:170}.create-game-image-modal{position:relative;max-width:min(1000px,95vw);max-height:90vh}.create-game-image-modal img{width:100%;height:auto;max-height:90vh;border-radius:12px;object-fit:contain}.create-game-image-close{position:absolute;top:-12px;right:-12px;border:none;background:#000000b3;color:#fff;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:1.4rem;display:flex;align-items:center;justify-content:center}.create-game-rules-intro{margin:0 0 1rem}.add-game-verify-note--alert{color:#ef4444;animation:add-game-verify-pulse 1.2s ease-in-out infinite}.add-game-verify-note--alert .add-game-verify-icon--bad{fill:#ef4444}.add-game-verify-note--alert .add-game-verify-icon--bad path{stroke:#fff}@keyframes add-game-verify-pulse{0%,to{opacity:1}50%{opacity:.55}}.add-game-verify-indicator{display:inline-flex;align-items:center}.add-game-verify-icon{width:20px;height:20px;flex-shrink:0}.add-game-verify-icon--ok{fill:#22c55ee6}.add-game-verify-icon--bad{fill:#ef4444e6}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;src:url(/fonts/IBMPlexSans-Regular.woff2) format("woff2")}@font-face{font-family:Manrope;src:url(/fonts/Manrope-Regular.woff2) format("woff2")}@font-face{font-family:Manrope;src:url(/fonts/Manrope-Bold.woff2) format("woff2")}:root{--color-primary: #8DA2FB;--color-background: #0F1115;--color-background-secondary: #161A21;--color-text: #E6E8EC;--color-text-secondary: #9AA1AC;--color-description: #9AA1AC;--color-border: #232836;--color-game-card-bg: #161A21;--color-placeholder-bg: #161A21;--color-placeholder-text: #9AA1AC;--color-logo: #E6E8EC;--color-text-tertiary: #9AA1AC;--color-image-shadow: rgba(0,0,0,.3);--color-status-planned: #5B7FA6;--color-status-in-progress: #C9A24D;--color-status-done: #6F8F7A;--color-status-returned: #7A6C9D}*{margin:0;padding:0;box-sizing:border-box}html{overflow-x:hidden;width:100%}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--color-background);color:var(--color-text);overflow-x:hidden;width:100%;max-width:100vw}#root{width:100%;min-height:100vh;max-width:100vw;overflow-x:hidden}
