@import"https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;700&display=swap";html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}table{border-collapse:collapse;border-spacing:0}:root{font-family:Montserrat,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;--color-background: #fff;--color-light: #f1f1f1;--color-text: #435543;--color-accent-light: #cbeab3;--color-accent: #86c755;--color-accent-secondary: #f5bb63;background-color:var(--color-background);color:var(--color-text);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:#00000080;pointer-events:none;opacity:0;transition:opacity .3s ease}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;overflow:hidden;height:100vh;width:100vw}h1{font-size:3.2em;line-height:1.1}h2{font-size:20px;font-weight:600;margin-bottom:.5rem}h3.subtitle{font-weight:regular;margin-bottom:.5rem;text-transform:uppercase;font-size:14px}p,button{font-size:16px}button.btn-primary,button.btn-accent,button.btn-secondary{border-radius:8px;border:1px solid transparent;padding:1em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--color-light);cursor:pointer;font-weight:600}button.btn-accent,button.btn-primary{background-color:var(--color-accent)}button.btn-secondary{background-color:var(--color-accent-secondary)}.tab-container{position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--color-background);transform:scale(.8);opacity:0;pointer-events:none;transition:transform .5s ease,opacity .5s ease}.tab-container.active{transform:scale(1);opacity:1;pointer-events:all}.screen-container{box-sizing:border-box;position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--color-background);transform:translateY(20px);opacity:0;pointer-events:none;padding:2rem;text-align:center;transition:transform .5s ease,opacity .5s ease}.screen-container.active{transform:translateY(0);opacity:1;pointer-events:all}.switch-mode-container .switch-btn-container{display:inline-flex;background-color:var(--color-light);padding:.5rem;border-radius:5px;margin:1rem 0 2rem}.switch-mode-container .switch-btn-container .switch-btn{border:0;padding:.5rem 1.5rem;border-radius:4px;background-color:var(--color-light);color:var(--color-text)}.switch-mode-container .switch-btn-container .switch-btn.active{background-color:var(--color-text);color:#fff}.switch-mode-container .switch-content-container{display:none}.switch-mode-container .switch-content-container.active{display:block}nav{position:fixed;bottom:0;left:0;width:100%;background-color:var(--color-light);height:60px;display:flex;align-items:center}nav .nav-btn-container{display:flex;justify-content:space-between;width:64vw;margin:0 auto}nav button{border:0;background:transparent}nav button svg{width:28px;height:28px;fill:var(--color-text);transition:fill .2s ease}nav button.active svg{fill:var(--color-accent-secondary)}#threejs_canvas{width:500px;height:500px;border:1px solid #000}#app.alert-active:after{opacity:1}.alert-container{position:absolute;bottom:0;left:0;width:100%;height:40vh;background-color:var(--color-background);border-top-left-radius:30px;border-top-right-radius:30px;padding:40px;box-sizing:border-box;opacity:0;pointer-events:none;transform:translateY(70px);transition:transform .5s ease,opacity .5s ease}.alert-container.active{transform:translateY(0);opacity:1;pointer-events:all}#QRCodeAlert{height:80vh}.start-button-container{display:flex;flex-direction:column;gap:2rem;margin-top:4rem}.debug{border:1px solid red}.hidden{display:none}.start-button-container button{width:100%}.logo{font-size:48px;font-weight:700}#startScreen{background:url(/assets/bg-start-screen-5CbGGjf6.png) no-repeat center center;background-size:cover;height:100vh;padding:40% 2rem}#gameRoomScreen{padding:45px 2rem}.scoreboard{margin-top:2rem;padding:1rem;background:#ffffff1a;border-radius:8px}.scoreboard h2{margin-bottom:1rem;text-align:center}.scoreboard-list,form{display:flex;flex-direction:column;gap:1rem}form input{display:block;width:100%;background:none;border:1px solid #f1f1f1;padding:.5rem 1rem;margin:0;border-radius:5px;box-sizing:border-box;color:var(--color-text)}form label{display:block;margin-left:0;text-align:left;font-size:14px;margin-bottom:.5rem}form input::placeholder{color:1px solid #afafaf}form button{margin-top:1rem}#startGameButton{display:block;margin-top:2rem}.scoreboard-entry{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:var(--color-light);border-radius:4px;transition:all .3s ease}.scoreboard-entry.finished{background:var(--color-accent-light);opacity:.8}.scoreboard-entry.finished .player-rank,.scoreboard-entry.finished .player-name,.scoreboard-entry.finished .player-score{color:var(--color-text)}.player-rank{font-weight:700;color:gold}.player-name{flex:1;margin:0 1rem}.player-score{font-weight:700;color:#4caf50}
