*{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box}html{font-size:16px}body{--controls-closed-height:0px;--controls-open-height:0px;--platform-count:8;--background-color-components:249,249,249;--accent-color-components:102,102,102;--subtle-accent-color-components:221,221,221;--text-color:#212121;--text-on-accent-color:#FFFFFF;--secondary-text:#666;--card-background:#F5F5F5;--background-color:rgb(var(--background-color-components));--accent-color:rgb(var(--accent-color-components));--subtle-accent-color:rgb(var(--subtle-accent-color-components));--card-shadow:0px 2px 4px rgba(0,0,0,0.1);--card-hover-shadow:0px 4px 8px rgba(0,0,0,0.2);--liquid-card-inset-shadow:inset 0px 20px 30px rgba(0,0,0,0.05);--liquid-field-inset-shadow:inset 0px 10px 15px rgba(0,0,0,0.05);--liquid-card-shadow:0px 2px 10px rgba(0,0,0,0.05);--game-grid-gap:.5rem;--open-critic-tier-weak-icon:url(https://img.opencritic.com/mighty-man/weak-head.png);--open-critic-tier-weak-color:#80b06a;--open-critic-tier-fair-icon:url(https://img.opencritic.com/mighty-man/fair-head.png);--open-critic-tier-fair-color:#619FCA;--open-critic-tier-strong-icon:url(https://img.opencritic.com/mighty-man/strong-head.png);--open-critic-tier-strong-color:#911CAE;--open-critic-tier-mighty-icon:url(https://img.opencritic.com/mighty-man/mighty-head.png);--opem-critic-tier-mighty-color:#fc430a;--steam-review-negative:#D4572F;--steam-review-mixed:#D1B67F;--steam-review-positive:#1573B5;--metacritic-good:#66CC33;--metacritic-mixed:#FFCC33;--metacritic-bad:#FF0000;--body-font:var(--font-figtree),Arial,Helvetica,sans-serif;--heading-font:var(--body-font);--number-font:var(--font-outfit),var(--body-font);font-family:var(--body-font);background:var(--background-color);color:var(--text-color);margin:0;background:var(--card-background)}.disabled{pointer-events:none;opacity:.5}button,input,textarea{font-family:var(--body-font)}h1,h2,h3,h4,h5,h6{font-family:var(--heading-font);vertical-align:baseline;text-transform:uppercase;& strong{font-size:.5em;letter-spacing:.3em}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media (prefers-color-scheme:dark){body{--background-color-components:18,18,18;--accent-color-components:102,102,102;--subtle-accent-color-components:51,51,51;--steam-review-negative:#A34C25;--steam-review-mixed:#B9A074;--steam-review-positive:#66C0F4;--text-color:#E0E0E0;--secondary-text:#666;--card-background:#242424;--card-shadow:0px 2px 4px rgba(0,0,0,0.3);--card-hover-shadow:0px 4px 8px rgba(0,0,0,0.4),0px 0px 8px rgba(255,255,255,0.2);--liquid-card-inset-shadow:inset 0px -20px 30px rgba(255,255,255,0.05);--liquid-field-inset-shadow:inset 0px -10px 15px rgba(255,255,255,0.05);--liquid-card-shadow:0px 4px 8px rgba(0,0,0,0.4)}}.main{margin-top:0}.container{max-width:1400px;margin:0 auto}.logo{-webkit-mask-image:url(/game-library-controller.svg);mask-image:url(/game-library-controller.svg);-webkit-mask-size:contain;mask-size:contain;background-color:currentColor}.control-button{position:fixed;display:flex;align-items:center;overflow:hidden;gap:1rem;height:3rem;width:3rem;border-radius:2rem;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background-color:rgba(var(--background-color-components),.7);box-shadow:var(--liquid-card-shadow),var(--liquid-field-inset-shadow);border-bottom:1px solid var(--subtle-accent-color);text-decoration:none;padding:0 1.125rem;font-size:1.25rem;color:var(--text-color);z-index:5;font-weight:500;transition:all .3s ease-in-out;& i{font-size:1rem}}@media only screen and (min-width:600px){.control-button{&:hover{box-shadow:var(--liquid-card-shadow),var(--liquid-card-inset-shadow);width:7rem}}}header{transform:translateZ(0);position:-webkit-sticky;position:sticky;top:0;padding:.5rem;z-index:4;max-width:1400px;left:0;width:100%;margin:0 auto;& .container{border-radius:2.25rem;border-bottom:1px solid var(--subtle-accent-color);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background-color:rgba(var(--background-color-components),.7);box-shadow:var(--liquid-card-shadow),var(--liquid-card-inset-shadow)}}header .logo{height:2.5rem;width:2.5rem}footer{margin:0;padding:1rem;text-align:center;font-size:.8rem;color:var(--secondary-text);background-color:rgba(var(--background-color-components),.5);border-top:1px solid var(--subtle-accent-color);display:flex;align-items:center;justify-content:center;gap:.25rem;& a{color:var(--text-color);text-decoration:none}& a:hover{text-decoration:underline}& .logo{height:1.25rem;width:1.25rem}}.controls{padding:1rem;display:flex;gap:.5rem;align-items:center;--control-border-radius:2rem;& h1{display:flex;align-items:center;margin:0 1rem 0 0;white-space:nowrap;gap:.5rem;text-shadow:0 0 5px var(--background-color);min-width:18rem;flex-shrink:0;& .game-count{color:var(--accent-color);font-family:var(--number-font);font-size:.6em;display:flex;align-items:center;justify-content:center;gap:.75rem;position:relative;&:before{content:"";height:1em;display:block;border-left:1px solid var(--subtle-accent-color)}}}}.button{display:inline-flex;align-items:center;justify-content:center;padding:.5rem .6125rem;background:rgba(var(--background-color-components),.5);border:1px solid rgba(var(--subtle-accent-color-components),.5);border-radius:var(--control-border-radius);height:2.5rem;min-width:2.5rem;text-shadow:0 0 5px var(--background-color);&:hover{box-shadow:var(--liquid-field-inset-shadow)}}.button-group{display:inline-flex;flex-shrink:0;& .button{border-radius:0;border-left-width:0;&.form-field{padding-left:0;padding-bottom:0;padding-top:0}}& input{position:absolute;opacity:0}& .button:first-of-type{border-top-left-radius:var(--control-border-radius);border-bottom-left-radius:var(--control-border-radius);border-left-width:1px;padding-left:.75rem}& .button:last-child{border-top-right-radius:var(--control-border-radius);border-bottom-right-radius:var(--control-border-radius);padding-right:.75rem}& input:checked+.button{background:rgba(var(--subtle-accent-color-components),.5)}}.form-field{display:inline-flex;background-color:rgba(var(--background-color-components),.5);border:1px solid rgba(var(--subtle-accent-color-components),.5);border-radius:var(--control-border-radius);height:2.5rem;overflow:hidden;&:hover{box-shadow:var(--liquid-field-inset-shadow)}& input,& select{background-color:transparent;outline:0;padding:0 0 0 .5rem;color:var(--text-color);text-shadow:0 0 5px var(--background-color);font-size:1rem;width:100%;height:100%;border-radius:var(--control-border-radius);border:2px solid transparent}& input:focus{border-color:var(--subtle-accent-color)}&.search-field{position:relative;width:100%;& input{padding-left:2.5rem;padding-right:2.5rem}& input::-webkit-search-cancel-button{color:var(--text-color)}& .cancel-button,& .search-icon{position:absolute;height:2.5rem;min-width:2.5rem;display:flex;align-items:center;justify-content:center}& .cancel-button{right:0;display:none;background-color:transparent;border:0;outline:0;padding:0;margin:0;cursor:pointer;color:var(--text-color)}& input:valid~.cancel-button{display:flex}}}.hidden-checkbox{opacity:0;height:0;overflow:hidden;display:none}#toggle-controls.hidden-checkbox{height:var(--controls-closed-height)}.game-platform{display:block;width:1.2em;height:1.2em;-webkit-mask-size:contain;mask-size:contain;background-size:contain;background-color:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;&.amazon-logo{-webkit-mask-image:url(/images/amazon-luna-logo.svg);mask-image:url(/images/amazon-luna-logo.svg)}&.gog-logo{-webkit-mask-image:url(/images/gog-logo.svg);mask-image:url(/images/gog-logo.svg)}&.appstore-logo{-webkit-mask-image:url(/images/appstore-logo.svg);mask-image:url(/images/appstore-logo.svg)}&.steam-logo{-webkit-mask-image:url(/images/steam-logo.svg);mask-image:url(/images/steam-logo.svg)}&.playstation-logo{-webkit-mask-image:url(/images/playstation-logo.svg);mask-image:url(/images/playstation-logo.svg)}&.epic-logo{-webkit-mask-image:url(/images/epic-logo.svg);mask-image:url(/images/epic-logo.svg)}&.switch-logo{-webkit-mask-image:url(/images/switch-logo.svg);mask-image:url(/images/switch-logo.svg)}&.xbox-logo{-webkit-mask-image:url(/images/xbox-logo.svg);mask-image:url(/images/xbox-logo.svg)}&.psplus-logo{background-image:url(/images/psplus-logo.svg);background-color:transparent}&.netflix-logo{background-image:url(/images/netflix-logo.svg);background-color:transparent}}.physical-wrapper{position:relative;display:inline-block;width:1.2em;height:1.2em;padding:2px;border:solid var(--accent-color);border-width:1px 1px 2px;border-radius:.25rem;& .game-platform.physical{width:100%;height:100%}}.game-grid{display:flex;flex-direction:column;gap:var(--game-grid-gap);padding:1rem}.game-row{display:flex;gap:var(--game-grid-gap);&.hidden{display:none}&.no-purchases{& .game-title{opacity:.3}}}.games-header{display:flex;gap:var(--game-grid-gap);padding-bottom:.5rem}.game-header-cell{width:calc(100% / var(--platform-count));display:flex;gap:.5rem;margin:0;align-items:center;justify-content:center;font-size:1.2rem;& .platform-count{color:var(--accent-color);font-family:var(--number-font);width:5rem;flex-shrink:0;text-align:center}}.game-summary{font-size:.8rem;padding:.5rem}.game-row-title{display:none;& .open-critic-link{text-decoration:none;color:var(--text-color);display:flex;gap:.25rem;align-items:center}& .game-title{width:100%;display:flex;flex-direction:column;position:relative}}.game-cell{width:calc(100% / var(--platform-count));border-radius:.5rem;display:flex;&.game-card{overflow:hidden;border:1px solid var(--subtle-accent-color);flex-direction:column;background-color:var(--card-background);box-shadow:var(--card-shadow);transition:box-shadow .3s;&:hover{box-shadow:var(--card-hover-shadow)}& .game-cover{display:block;width:100%;padding-bottom:57%;overflow:hidden;position:relative;& .game-cover-image{position:absolute;width:100%;height:100%;transform:translateX(-50%);left:50%;object-fit:cover;object-position:center;transition:transform .3s}}&:hover .game-cover-image{transform:translateX(-50%) scale(1.25)}}& .game-info{padding:.5rem;display:flex;align-items:flex-end;flex-grow:1;& .game-warning{position:absolute;left:10px;color:var(--metacritic-mixed);text-shadow:0 1px 3px rgba(0,0,0,.3)}& .game-title{max-width:calc(100% - 1.2em - .5rem);font-size:.8rem;word-wrap:break-word;& .game-purchase-date{font-size:.6rem;color:var(--secondary-text);margin-top:.25rem}& .game-collection{color:var(--accent-color)}}& .game-platform{margin-left:auto}}&.game-placeholder{border:1px dashed var(--subtle-accent-color);color:var(--subtle-accent-color)}}.game-grid{padding-left:.5rem;& .game-header-cell{width:5rem}& .game-header-cell img,& .game-header-cell strong,& .game-header-cell svg{display:none}& .game-row-title{display:flex;gap:.5rem;align-items:center;width:100%;padding-left:.75rem;padding-top:.5rem;padding-bottom:.5rem;border-radius:.5rem;& .game-collection,& .toggle-details{display:none}}& .game-row:hover{& .game-row-title{background-image:linear-gradient(90deg,var(--card-background) 0,transparent 100%)}& .game-cell.game-card .game-cover{filter:none}}& .game-cell{width:5rem;height:2.5rem;flex-shrink:0;&.game-card{position:relative;overflow:visible;flex-direction:row;& .game-title{display:none}& .game-info{align-items:center}& .game-cover{border-radius:.5rem 0 0 .5rem;padding-bottom:0;filter:grayscale(1)}&:hover .game-title{display:block;position:absolute;z-index:1;background:var(--background-color);border:1px solid var(--subtle-accent-color);padding:.5rem;left:5.5rem;transform:translateX(-50%);left:50%;border-radius:.5rem;max-width:none;width:10rem;text-align:center;bottom:3rem}& .game-info{justify-content:center;& .game-platform{margin:0}}}}}.open-critic-tier{width:20px;height:24px;background-repeat:no-repeat;background-size:contain;text-indent:-9999px;&.tier-fair{background-image:var(--open-critic-tier-fair-icon)}&.tier-strong{background-image:var(--open-critic-tier-strong-icon)}&.tier-weak{background-image:var(--open-critic-tier-weak-icon)}&.tier-mighty{background-image:var(--open-critic-tier-mighty-icon)}}.open-critic-score{width:1.25rem;text-align:center;font-weight:700;font-family:var(--number-font);&.tier-fair{color:var(--open-critic-tier-fair-color)}&.tier-strong{color:var(--open-critic-tier-strong-color)}&.tier-weak{color:var(--open-critic-tier-weak-color)}&.tier-mighty{color:var(--opem-critic-tier-mighty-color)}}.open-critic-critics{width:3rem;text-align:center;font-weight:700;font-family:var(--number-font)}.game-title .release-date{color:var(--secondary-text)}.metacritic-link{text-decoration:none}.metacritic-score{display:flex;align-items:center;font-family:Arial;font-weight:700;font-size:1rem;color:#fff;width:1.875rem;height:1.875rem;justify-content:center;border-radius:.25rem;text-shadow:0 1px 1px rgba(0,0,0,.3);&.good{background-color:var(--metacritic-good)}&.mixed{background-color:var(--metacritic-mixed)}&.bad{background-color:var(--metacritic-bad)}&.tbd{background-color:transparent;border-width:1px;color:var(--text-color);border-style:solid;text-shadow:none}&.must-play{position:relative;z-index:1}&.must-play:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;border-radius:inherit;background:radial-gradient(circle at center,rgba(255,215,0,.4),transparent 70%);box-shadow:0 0 8px rgba(255,215,0,.6),0 0 20px rgba(255,215,0,.4),0 0 40px rgba(255,215,0,.3);z-index:-1;transition:opacity .3s ease}}.mobile-menu-close,.mobile-menu-open{display:none}.game-profile-info{display:flex;gap:1rem;padding-right:.5rem;order:1;margin-left:auto;flex-shrink:0;align-items:center}.game-profile-info .rating-icon{color:var(--accent-color);width:1rem;text-align:center;width:30px}@media only screen and (max-width:900px){header{transform:translateZ(0);left:0}.controls .sort{flex-basis:30%}.game-grid{& .game-cell{width:2.5rem;align-items:center}& .game-header-cell{width:2.5rem;font-size:1rem}}.game-cell{&.game-card{& .game-cover{display:none}}}.game-cell{& .game-info{justify-content:center;& .game-platform{margin:0}}}.open-critic-critics,.open-critic-score{display:none}}@media only screen and (max-width:600px){.controls{flex-wrap:wrap;gap:0}.controls h1{margin-right:0;border:0;padding:0;flex-grow:1}.controls .search-field{flex-basis:100%;margin-top:.5rem;display:none}.controls .sort{flex-basis:100%;width:100%;margin:.5rem 0 0;display:none;& .button{flex-grow:1}}#toggle-controls:checked~header .search-field,#toggle-controls:checked~header .sort{display:flex}#toggle-controls.hidden-checkbox:checked{height:var(--controls-open-height)}.mobile-menu-open{display:flex}#toggle-controls:checked~header .mobile-menu-close{display:flex;background-color:var(--card-background)}#toggle-controls:checked~header .mobile-menu-open{display:none}.game-grid{padding:0;overflow:hidden;gap:0}.game-row{flex-wrap:wrap;gap:0}.game-grid .game-row-title{width:100%;border-radius:0;padding:1rem}.game-grid .game-row:hover .game-row-title{background:none}.game-grid .game-row .toggle-details{display:block;& .fa-chevron-down{transition:all .3s ease-in-out;color:var(--accent-color)}}.game-grid .game-row-open .toggle-details{& .fa-chevron-down{transform:rotate(180deg)}}.game-grid .game-row .game-cell{overflow:hidden;width:calc(95% / var(--platform-count));border:0;background-color:transparent;box-shadow:none;height:0;transition:height .3s ease-in-out}.game-grid .game-row .game-row-title+.game-cell{margin-left:2.5%}.game-grid .game-row .game-cell:last-child{margin-right:2.5%}.game-grid .game-row-open .game-cell{height:3.5rem}.games-header{display:none}}.hidden{display:none}.progress-indicator{width:30px;height:30px;flex-shrink:0;flex-grow:0;& .progress-value{font-size:.7rem;font-weight:700;color:var(--accent-color)}& .CircularProgressbar{& .CircularProgressbar-path{stroke:var(--accent-color)}& .CircularProgressbar-trail{stroke:rgba(var(--accent-color-components),.3)}& .CircularProgressbar-background{fill:var(--background-color)}}&.game-completed,&.game-completed-story{& .progress-value{color:var(--background-color)}& .CircularProgressbar{& .CircularProgressbar-path{stroke:var(--background-color)}& .CircularProgressbar-trail{stroke:rgba(var(--background-color-components),.3)}& .CircularProgressbar-background{fill:var(--metacritic-good)}}}&.game-completed{& .CircularProgressbar{& .CircularProgressbar-background{fill:var(--accent-color)}}}&.game-completed-story{& .CircularProgressbar{& .CircularProgressbar-background{fill:var(--accent-color)}}}}.game-metadata{display:flex;& .steam-review{text-decoration:none;text-transform:uppercase;color:var(--steam-review-negative);display:block;font-size:.6rem;&.mixed{color:var(--steam-review-mixed)}&.positive{color:var(--steam-review-positive)}}& .game-genres{color:var(--secondary-text);font-size:.6rem}& .steam-review+.game-genres:before{content:"•";margin:0 .25rem;color:var(--secondary-text)}}.game-group-header{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:1.75rem;margin:0;& .game-group-counter{color:var(--accent-color);font-family:var(--number-font);font-size:.6em;display:flex;align-items:center;justify-content:center;gap:.75rem;position:relative;&:before{content:"";height:1em;display:block;border-left:1px solid var(--subtle-accent-color)}}}.tooltip-container{position:relative}.tooltip{top:0;left:0;position:absolute;z-index:10;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background-color:rgba(var(--accent-color-components),.2);box-shadow:var(--liquid-card-shadow),var(--liquid-field-inset-shadow);border-bottom:1px solid var(--subtle-accent-color);padding:.5rem .75rem;border-radius:1rem;box-shadow:var(--card-shadow);font-size:.8rem;color:var(--text-color);max-width:100%;width:-moz-fit-content;width:fit-content;transform:translateY(-50%);opacity:0;transition:opacity .2s ease-in-out,transform .2s ease-in-out;pointer-events:none;&.visible{transform:translateY(-100%);opacity:1}&.align-right{right:0;left:auto}}@media only screen and (max-width:600px){.game-group-header{padding-left:1.5rem;padding-right:1.5rem;& .game-group-counter{margin-left:auto}}.game-row{background:var(--background-color);margin:0 .75rem;position:relative;&:before{content:"";position:absolute;left:.75rem;right:.75rem;top:0;border-top:1px solid var(--subtle-accent-color)}}.game-group-header+.game-row{border-top-left-radius:1rem;border-top-right-radius:1rem;&:before{display:none}}.game-row:has(+.game-group-header),.game-row:last-child{border-bottom-left-radius:1rem;border-bottom-right-radius:1rem;margin-bottom:1rem}footer{border-top:0}}