*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:system-ui,sans-serif}.btn{cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;font-size:clamp(1rem,1.3vw,1.25rem);font-weight:700;transition:transform .15s,opacity .15s;display:flex}.btn:hover{transform:translateY(-2px)}.btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.btn--play{aspect-ratio:250/98;color:#2f3130;background-color:#f0ea6e;border-radius:0;gap:2rem;width:clamp(9rem,17vw,11rem);font-weight:700}.btn__icon{width:clamp(1.1rem,1.6vw,1.5rem);height:auto}.option{cursor:pointer;align-items:center;gap:.6rem;font-size:.95rem;display:flex}.option input[type=radio]{accent-color:#f0ea6e;cursor:pointer;width:1.1rem;height:1.1rem}.btn--start{color:#2f3130;background-color:#f0ea6e;border-radius:0;padding:.5rem 1.25rem}.card{cursor:pointer;perspective:62.5rem;background:0 0;border:none;width:100%;height:100%;padding:0}.card:disabled{cursor:default}.card__inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .5s;display:block;position:relative}.card--flipped .card__inner{transform:rotateY(180deg)}.card__face{object-fit:cover;backface-visibility:hidden;border-radius:.75rem;width:100%;height:100%;position:absolute;inset:0}.card__face--back{transform:rotateY(0)}.card__face--front{transform:rotateY(180deg)}.board--codeVibes .card--matched .card__face--front{outline-offset:-.2rem;outline:.2rem solid #4dd5bc}.board--gaming .card__face{filter:drop-shadow(0 .4rem .5rem #00000059)}.board--gaming .card--matched .card__face--front{outline-offset:-.2rem;outline:.2rem solid #e71c4f}.badges{align-items:center;gap:1.25rem;display:flex}.player-chip{justify-content:center;align-items:center;gap:.4rem;font-weight:700;display:flex}.player-chip img{width:1rem;height:auto}.player-chip--blue{color:#4dabf7}.player-chip--orange{color:#f5822a}.badges--codeVibes{background:#ffffff14;border:1px solid #86e9d6;padding:.5rem 1rem}.badges--gaming{color:#333;background:#fff;border-radius:999px;padding:.5rem 1.1rem;font-family:Fredoka,sans-serif}.badges--gaming .player-chip--blue{color:#1faafc}.game-header{color:#fff;justify-content:space-between;align-items:center;gap:1rem;min-height:6.375rem;display:flex}.game-header .current-player{justify-content:center;align-items:center;gap:.5rem;font-size:clamp(1.1rem,1.8vw,1.5rem);font-weight:700;display:flex}.game-header .current-player img{width:clamp(1.4rem,2vw,1.75rem);height:auto}.game-header .exit{cursor:pointer;align-items:center;gap:.5rem;padding:.6rem 1.1rem;font-size:1rem;font-weight:700;display:flex}.game-header .exit img{width:1rem;height:1rem}.game-header--codeVibes .exit{color:#fff;background:#2f3130;border:1px solid #4dd5bc}.game-header--gaming{background:#3c465a99;border-radius:.75rem;padding:.75rem 1.25rem;font-family:Fredoka,sans-serif}.game-header--gaming .current-player img{background:#1faafc;border-radius:.4rem;padding:.25rem}.game-header--gaming .exit{color:#fff;background:0 0;border:1px solid #e71c4f;border-radius:.6rem}.board__grid{grid-template-columns:repeat(var(--columns), var(--card-width,7.5rem));grid-auto-rows:var(--card-height,7.5rem);justify-content:center;gap:var(--gap,1rem);margin-top:clamp(1.5rem,4vw,3rem);display:grid}.home{background-color:#2f3130;min-height:100vh;position:relative;overflow:hidden}.home__wrapper{max-width:90rem;min-height:100vh;margin:0 auto;position:relative}.home__content{z-index:1;flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:100vh;padding:0 clamp(1.5rem,6vw,4rem);display:flex;position:relative}.home__text-block{text-align:left;flex-direction:column;width:fit-content;display:flex}.home__eyebrow{color:#fff;opacity:.85;order:1;margin-bottom:.25rem;font-size:clamp(1.15rem,1.6vw,1.5rem)}.home__title{color:#fff;order:2;margin-bottom:1rem;font-size:clamp(2.5rem,6vw,5.5rem);font-weight:800;line-height:1.05}.home__button-wrap{order:3}.home__controller-icon{opacity:.35;z-index:0;width:clamp(12rem,20vw,20rem);height:auto;animation:4s ease-in-out infinite controller-float;position:absolute;bottom:clamp(-3rem,-2vw,-.5rem);left:clamp(-3rem,-2vw,-.5rem)}@keyframes controller-float{0%,to{transform:translateY(0)}50%{transform:translateY(-.75rem)}}.settings{background-color:#fff;min-height:100vh}.settings__wrapper{flex-direction:column;gap:2rem;max-width:90rem;margin:0 auto;padding:clamp(2rem,5vw,4rem);display:flex}.settings__title-row{align-self:flex-start}.settings__title{margin-bottom:.4rem;font-size:clamp(1.75rem,3vw,2.5rem);font-weight:800;display:block}.settings__title-divider{width:clamp(10rem,16vw,16.5rem);height:auto;display:block}.settings__body{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:clamp(2rem,5vw,4rem);display:flex}.settings__options{flex-direction:column;gap:1.75rem;min-width:14rem;display:flex}.settings__preview-column{flex-direction:column;gap:1rem;min-width:clamp(16rem,30vw,24rem);display:flex}.settings__preview{aspect-ratio:4/3;border-radius:.75rem;justify-content:center;align-items:center;transition:background .2s;display:flex;position:relative;overflow:hidden}.settings__preview--codeVibes{background-color:#1e1f1e}.settings__preview--gaming{background:linear-gradient(160deg,#2086b4,#294f60)}.option-group__label{align-items:center;gap:.5rem;margin-bottom:.5rem;font-weight:700;display:flex}.option-group__icon{width:1.25rem;height:1.25rem}.option-group__list{flex-direction:column;gap:.4rem;padding-left:1.75rem;display:flex}.option{align-items:center;gap:.6rem;display:flex}.option input[type=radio]{cursor:pointer;width:1.1rem;height:1.1rem}.option--active{font-weight:700}.option--active .option__indicator{width:clamp(1.5rem,3vw,2.5rem);height:auto;margin-left:.5rem}.settings__breadcrumb{color:#555;background-color:#f2f2f2;align-items:center;gap:.75rem;padding:.6rem 1rem;font-size:.85rem;display:flex}.settings__breadcrumb__divider{width:.5rem;height:1.25rem}.settings__breadcrumb__spacer{flex:1}.preview-header--codeVibes{color:#fff;z-index:1;justify-content:space-between;align-items:center;font-size:.6rem;display:flex;position:absolute;top:.75rem;left:.75rem;right:.75rem}.preview-header--codeVibes .badges{background:#ffffff14;border:1px solid #86e9d6;align-items:center;gap:.6rem;padding:.2rem .5rem;display:flex}.preview-header--codeVibes .player-chip{align-items:center;gap:.2rem;display:flex}.preview-header--codeVibes .player-chip img{width:.6rem;height:auto}.preview-header--codeVibes .player-chip--blue{color:#4dabf7}.preview-header--codeVibes .player-chip--orange{color:#f5822a}.preview-header--codeVibes .current-player{align-items:center;gap:.3rem;display:flex}.preview-header--codeVibes .current-player img{width:.7rem;height:auto}.preview-header--codeVibes .exit{color:#fff;border:1px solid #4dd5bc;align-items:center;gap:.25rem;padding:.2rem .5rem;font-weight:700;display:flex}.preview-header--codeVibes .exit img{width:.6rem;height:.6rem}.preview-header--gaming{color:#fff;z-index:1;background:#3c465a99;border-radius:.75rem;justify-content:space-between;align-items:center;padding:.3rem .6rem;font-family:Fredoka,sans-serif;font-size:.6rem;display:flex;position:absolute;top:.75rem;left:.75rem;right:.75rem}.preview-header--gaming .badges{color:#333;background:#fff;border-radius:999px;align-items:center;gap:.6rem;padding:.2rem .6rem;display:flex}.preview-header--gaming .player-chip{align-items:center;gap:.2rem;font-weight:700;display:flex}.preview-header--gaming .player-chip img{width:.6rem;height:auto}.preview-header--gaming .player-chip--blue{color:#1faafc}.preview-header--gaming .player-chip--orange{color:#f5822a}.preview-header--gaming .current-player{align-items:center;gap:.3rem;display:flex}.preview-header--gaming .current-player img{background:#1faafc;border-radius:.4rem;width:.9rem;height:.9rem;padding:.15rem}.preview-header--gaming .exit{color:#fff;background:0 0;border:1px solid #e71c4f;border-radius:.4rem;align-items:center;gap:.25rem;padding:.2rem .6rem;font-weight:700;display:flex}.preview-header--gaming .exit img{width:.6rem;height:.6rem}.preview-cards{aspect-ratio:1;width:60%;position:relative}.preview-cards__card{filter:drop-shadow(0 .5rem .75rem #00000059);border-radius:.5rem;width:65%;position:absolute}.preview-cards__card--foreground{z-index:2;top:10%;left:5%;transform:rotate(-6deg)}.preview-cards__card--background{z-index:1;top:22%;left:32%;transform:rotate(4deg)}.board{min-height:100vh}.board__wrapper{max-width:90rem;margin:0 auto;padding:clamp(1.5rem,4vw,3rem)}.board--codeVibes{background-color:#2f3130}.board--gaming{background-color:#294f60}.popup-overlay{z-index:10;background:#00000080;justify-content:center;align-items:center;animation:.2s popup-fade-in;display:flex;position:fixed;inset:0}.popup{color:#222;text-align:center;background:#fff;border-radius:1rem;width:90%;max-width:34rem;padding:clamp(1.5rem,4vw,3rem);animation:.25s forwards popup-slide-in;transform:translateY(-1rem)}.popup__text{margin-bottom:2rem;font-size:clamp(1.25rem,2.5vw,1.75rem);font-weight:800}.popup__actions{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.popup__back,.popup__exit{cursor:pointer;border-radius:.6rem;padding:.75rem 1.75rem;font-size:1rem;font-weight:700}.popup--codeVibes .popup__back,.popup--codeVibes .popup__exit{border:1px solid #4dd5bc}.popup--codeVibes .popup__back{color:#fff;background:#96ded1}.popup--codeVibes .popup__exit{color:#4dd5bc;background:#eefcf9}.popup--gaming{font-family:Fredoka,sans-serif}.popup--gaming .popup__text{color:#1e3a4a}.popup--gaming .popup__back,.popup--gaming .popup__exit{border:1px solid #e71c4f;border-radius:999px}.popup--gaming .popup__back{color:#fff;background:#ed1b76}.popup--gaming .popup__exit{color:#e71c4f;background:#f0e5ee}@keyframes popup-fade-in{0%{background:0 0}to{background:#00000080}}@keyframes popup-slide-in{0%{opacity:0;transform:translateY(-1rem)}to{opacity:1;transform:translateY(0)}}.gameover{color:#fff;align-items:center;min-height:100vh;display:grid}.gameover__wrapper{text-align:center;max-width:90rem;margin:0 auto;padding:clamp(1.5rem,4vw,3rem)}.gameover__title{margin-bottom:2rem;font-size:clamp(2.5rem,7vw,5rem);font-weight:800}.gameover__label{opacity:.9;margin-bottom:1rem;font-weight:600}.gameover__score{display:inline-flex}.gameover--codeVibes.outcome--winner{align-items:start}.gameover--codeVibes{background-color:#2f3130}.gameover--codeVibes .gameover__title{color:#4dd5bc;text-shadow:0 0 1.5rem #4dd5bc99}.gameover--gaming{background-color:#294f60}.gameover--gaming .gameover__title{color:#ed1b76;text-shadow:0 0 1.5rem #ed1b7680;font-family:Orbitron,sans-serif}.gameover--gaming .gameover__label{font-family:Fredoka,sans-serif}.outcome__label{opacity:.9;margin-bottom:.5rem;font-size:clamp(1.1rem,3.2vw,1.85rem);font-weight:600}.outcome__title{text-transform:uppercase;margin-bottom:1.5rem;font-size:clamp(2rem,6vw,3.5rem);font-weight:800}.outcome__icon{max-width:clamp(5rem,12vw,7.5rem);height:auto;margin:0 auto 2rem;display:block}.outcome__confetti{pointer-events:none;width:calc(100% - 3rem);height:auto;margin:0 auto 1.75rem;display:block}.outcome__scale{width:clamp(5rem,12vw,7.5rem);height:clamp(4.2rem,10vw,6rem);margin:0 auto 2rem;display:block;-webkit-mask:url(/gameover/gameover-scale-icon.png) 50%/contain no-repeat;mask:url(/gameover/gameover-scale-icon.png) 50%/contain no-repeat}.outcome__button{cursor:pointer;padding:.75rem 1.75rem;font-size:1rem;font-weight:700}.gameover--codeVibes.outcome .outcome__title--blue{color:#2bb1ff}.gameover--codeVibes.outcome .outcome__title--orange{color:#f58e39}.gameover--codeVibes.outcome .outcome__title--draw{color:#4dd5bc}.gameover--codeVibes.outcome .outcome__scale{background-color:#4dd5bc}.gameover--codeVibes.outcome .outcome__button{color:#fff;background:#415652;border:1px solid #4dd5bc}.gameover--gaming.outcome .outcome__title{font-family:Orbitron,sans-serif}.gameover--gaming.outcome .outcome__label{font-family:Fredoka,sans-serif}.gameover--gaming.outcome .outcome__title--blue{color:#2298db}.gameover--gaming.outcome .outcome__title--orange{color:#ea6900}.gameover--gaming.outcome .outcome__title--draw{color:#ed1b76}.gameover--gaming.outcome .outcome__scale{background-color:#ed1b76}.gameover--gaming.outcome .outcome__button{color:#fff;background:0 0;border:1px solid #e71c4f;border-radius:.6rem;font-family:Fredoka,sans-serif}
