@import"https://fonts.googleapis.com/css2?family=Della+Respira&display=swap";@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap";.error-banner{position:fixed;top:1rem;left:50%;transform:translate(-50%);background-color:#dc2626;color:#fff;padding:.5rem 1rem;border-radius:.25rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;transition-property:opacity;font-family:monospace;font-size:1rem}.landing-section{display:flex;justify-content:center;align-items:center;text-align:center;text-shadow:0 4px 8px rgba(0,0,0,.75);font-family:serif;font-size:clamp(1rem,8vw,2rem);padding:2.5rem}.landing-section h1{margin:0}.title-highlight{font-family:Chomsky,serif;font-size:1.15em;color:#d50404;font-weight:400}.controls{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(.2rem,2vw,1.5rem);font-family:Consolas,monospace;padding:.5rem 0}.name-input-container{display:flex;justify-content:center;align-items:center;flex:0 0 100%;gap:.5rem}.name-input-label{text-shadow:0 1px 2px rgba(0,0,0,.5);font-size:1.5rem}.name-input{font-family:monospace;border-radius:.25rem;background-color:#333;border:none;height:2rem;font-size:1.5rem;width:15ch;outline:none;text-align:center;color:#fff}.name-input::placeholder{color:#a2a2a2}.host-button,.join-button{display:flex;align-items:center;justify-content:center;color:#fff;border:none;border-radius:.25rem;font-family:monospace;font-size:1.5rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;text-shadow:0 1px 2px rgba(0,0,0,.5);transition:background-color .2s}.host-button{width:7rem;height:3rem;background-color:#e66102;margin:.5rem}.host-button.loading{background-color:#b84d00}.host-button:not(.loading):hover{background-color:#b84d00}.join-container{display:flex;align-items:center;gap:.5rem;margin:.5rem}.join-button{height:3rem;padding:.5rem;background-color:#16a34a}.join-button.loading{background-color:#15803d}.join-button:not(.loading):hover{background-color:#15803d}.join-input{height:2rem;padding:0 .5rem;margin-right:.5rem;border-radius:.25rem;background-color:#166534;color:#fff;border:none;text-align:left;font-family:monospace;width:4ch;font-size:1.5rem}.join-input::placeholder{color:#9ca3af}.join-input:focus{outline:none}@font-face{font-family:Chomsky;src:url(/fonts/Chomsky.otf) format("opentype");font-weight:400;font-style:normal}.phone-wrapper{height:100dvh;width:clamp(30vh,100vw,100vh);margin:0 auto;position:relative;overflow:hidden}.cropped-viewport{position:absolute;inset:0;overflow:visible;margin:0rem}:root{color:#fff;background-color:#505050;font-size:1.2rem;font-family:Inter,Della Respira,sans-serif}html,body{height:100dvh;margin:0;overflow:hidden}.confirm-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0009;display:flex;justify-content:center;align-items:center;z-index:5000}.confirm-modal{background:#2d2d2d;color:#fff;padding:1rem;border-radius:.5rem;max-width:400px;width:80%;box-shadow:0 10px 15px #00000080;display:flex;flex-direction:column;gap:1rem}.confirm-text{font-size:1rem;text-align:center}.confirm-buttons{display:flex;gap:1rem;justify-content:center}.error-banner{position:fixed;top:1rem;left:50%;transform:translate(-50%);background-color:#dc2626;color:#fff;padding:.5rem 1rem;border-radius:.25rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;transition-property:opacity;font-family:monospace;font-size:1rem;z-index:4000}.settings-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:3000}.settings-modal{background:#2d2d2d;color:#fff;padding:1rem;border-radius:.5rem;width:90%;max-width:500px;height:80vh;position:relative;display:flex;flex-direction:column}.settings-close-button{position:absolute;top:-1rem;left:-1rem;width:2rem;height:2rem;background:#444;color:#fff;border:none;border-radius:50%;font-size:1.25rem;display:flex;align-items:center;justify-content:center;cursor:pointer}.settings-tabs{display:flex;gap:1rem;margin-bottom:1rem}.settings-tabs button{flex:1;padding:.5rem;background:#444;border:none;color:#ccc;cursor:pointer;border-radius:.25rem}.settings-tabs button.active{background:#666;color:#fff}.settings-tabs button:disabled{opacity:.5;cursor:not-allowed}.settings-content{flex:1;overflow-y:auto;padding-right:.5rem;scrollbar-gutter:stable}.deck-preview{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.5rem}.deck-card{width:154px;height:215px;object-fit:contain}.role-pool{position:relative;display:flex;flex-wrap:wrap;width:153px;gap:10px;justify-content:center;align-items:center}.pool-role{width:64px;height:90px}.role-pool-badge{position:absolute;bottom:-4px;right:-4px;background:#555;color:#fff;border-radius:50%;padding:2px 5px;font-size:.75rem}.deck-editor-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0009;display:flex;justify-content:center;align-items:center;z-index:4000}.deck-editor-modal{background:#2d2d2d;color:#fff;padding:1rem;border-radius:.5rem;width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column}.error-banner-small{color:#fcc;margin-top:.5rem;font-size:.85rem}.settings-content::-webkit-scrollbar{width:8px}.player-manager-section{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.settings-row.disabled-row{opacity:.5;pointer-events:none}.player-manager-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:#3d3d3d;border-radius:.25rem;cursor:grab}.player-manager-item:active{cursor:grabbing}.drag-handle{cursor:grab;font-size:1.25rem;touch-action:none;-ms-touch-action:none}.kick-button,.spectator-button{margin-left:auto;border:none;border-radius:.25rem;background:#555;color:#fff;cursor:pointer}.kick-button{margin-left:.25rem;background:#dc2626}.kick-button.hidden{visibility:hidden}.spectator-button{background:#444}.kick-button:disabled,.spectator-button:disabled{opacity:.6;cursor:not-allowed}.settings-content::-webkit-scrollbar-track{background:#ffffff1a;border-radius:4px}.settings-content::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:4px}.settings-content::-webkit-scrollbar-thumb:hover{background:#ffffff80}.settings-section{display:flex;flex-direction:column;gap:1rem}.settings-row{display:flex;justify-content:space-between;align-items:center}.settings-label{flex:1}.settings-input{flex:1;padding:.5rem;border-radius:.25rem;border:1px solid #555;background:#3d3d3d;color:#fff;font-family:monospace}.settings-input.json{min-height:200px;resize:vertical}.disabled-section .settings-label{color:#939393}.settings-input:disabled,.only-button:disabled{opacity:.6}.settings-action-button{padding:.5rem 1rem;background:#555;border:none;color:#fff;border-radius:.25rem;cursor:pointer}.button-only-row{justify-content:center}.only-button{padding:.5rem 1rem;border:none;color:#fff;border-radius:.25rem;cursor:pointer}.only-button.red{background:#b91c1c}.only-button.gray{background:#5d5d5d}.only-button.green{background:#16a34a}.error-visible{opacity:1;transition-duration:0ms}.error-hidden{opacity:0;transition-duration:.5s}.settings-button{position:absolute;width:2.5rem;margin:0;top:1rem;left:1rem;z-index:1000}.settings-button img{margin:0rem;z-index:1000;width:100%}.log-button{position:absolute;z-index:1000;width:2.5rem;margin:0;top:1rem;left:4.5rem}.log-button img{margin:0rem;height:auto;width:100%;filter:grayscale(100%) brightness(25%)}.knowledge-button{position:absolute;width:2.5rem;margin:0;top:1rem;left:7.7rem;z-index:1000}.log-button img{margin:0rem;height:auto;width:100%}.log-hidden{opacity:0;display:none}.log-visible{opacity:1;display:flex;flex-direction:column;gap:.5rem}.log-modal{position:absolute;top:1rem;right:1rem;z-index:1500;display:none;flex-direction:column;gap:.5rem;max-width:20rem;max-height:60vh;padding:1rem .5rem 1rem 1rem;background-color:#1b1b1be6;border-radius:.5rem;box-shadow:0 2px 10px #00000080;overflow:visible}.log-content{display:flex;flex-direction:column;gap:.5rem;overflow-y:auto;padding-right:.5rem;scrollbar-gutter:stable;max-height:calc(60vh - 2rem)}.log-content::-webkit-scrollbar{width:8px}.log-content::-webkit-scrollbar-track{background:#ffffff1a;border-radius:4px}.log-content::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:4px}.log-content::-webkit-scrollbar-thumb:hover{background:#ffffff80}.log-modal.log-visible{display:flex;opacity:1}.log-modal.log-hidden{display:none;opacity:0}.log-close-button{position:absolute;top:-1rem;left:-1rem;width:2rem;height:2rem;background:#444;color:#fff;border:none;border-radius:50%;font-size:1.25rem;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:1499}.log-entry{padding:.5rem;border-radius:.25rem;background-color:#ffffff1a;font-family:monospace;font-size:.875rem;color:#fff;word-break:break-word}.log-modal::-webkit-scrollbar{width:8px}.log-modal::-webkit-scrollbar-track{background:#ffffff1a;border-radius:4px}.log-modal::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:4px}.log-modal::-webkit-scrollbar-thumb:hover{background:#ffffff80}.log-entry.gray{background-color:#ffffff1a;color:#ccc}.log-entry.red{background-color:#f003;color:#f88}.log-entry.green{background-color:#0f03;color:#8f8}.room-code-btn{position:absolute;top:1rem;right:1rem;z-index:1000;display:inline-flex;align-items:center;background:#ffffff1a;color:#fff;font-family:Inter,sans-serif;font-weight:600;padding:.5rem 1rem;border-radius:1.5rem;box-shadow:0 2px 6px #0003;cursor:pointer;transition:background .15s ease,transform .1s ease;-webkit-user-select:none;user-select:none}.room-code-btn:hover{background:#fff3;transform:translateY(-1px)}.room-code-btn:active{transform:scale(.97)}.qr-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0009;display:flex;justify-content:center;align-items:center;z-index:2000}.qr-code-container{position:relative;background:#fff;padding:2rem;border-radius:.5rem;box-shadow:0 4px 12px #0000004d}.player-list{position:fixed;top:0;left:50%;transform:translate(-50%);width:20rem;bottom:0;display:flex;align-items:center;flex-direction:column;gap:.4em;overflow-y:auto;padding-top:4.5rem;-webkit-mask-image:linear-gradient(to bottom,transparent 3.5rem,black 4rem);mask-image:linear-gradient(to bottom,transparent 3.5rem,black 4rem)}.player-list::-webkit-scrollbar{width:8px}.player-list::-webkit-scrollbar-track{background:#ffffff1a;border-radius:4px}.player-list::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:4px}.player-list::-webkit-scrollbar-thumb:hover{background:#ffffff80}.player-card{display:flex;justify-content:space-between;align-items:center;width:calc(100% - 2rem);padding:.5rem 1rem;min-height:3rem;background:#383838;border:1px solid #555;border-radius:.5rem;cursor:pointer;transition:background .2s}.player-card.spectator{opacity:.4}.player-name{flex:0 1 auto;font-size:1rem;font-weight:500;color:#fff}.player-badges{display:flex;gap:.5rem}.badge{display:inline-block;padding:.2rem .4rem;background:#666;color:#fff;font-size:.75rem;border-radius:.25rem;text-align:center}.you-badge{background:#2a6bf0}.host-badge{background:#f0a02a}.leader-badge{width:20px;height:20px}.host-badge{font-weight:600}.player-item{display:flex;justify-content:space-between;align-items:center;width:calc(100% - 18rem);padding:.75rem 1rem;margin-bottom:.5rem;background-color:#2d2d2d;border-radius:.5rem;box-shadow:0 2px 4px #0000004d}.player-name{text-align:left;white-space:nowrap;text-overflow:ellipsis}.player-name.anonymous{color:#888;font-style:italic}.player-badges{display:flex;gap:.5rem;align-items:center}.leader-badge{width:45px;height:45px;object-fit:contain;margin-right:.5rem}.log-notice-banner{position:absolute;pointer-events:none;top:1rem;right:1rem;z-index:4500;background-color:#1b1b1be6;color:#fff;padding:.75rem 1rem;border-radius:.375rem;box-shadow:0 2px 8px #0000004d;font-family:monospace;font-size:.875rem;max-width:20rem;word-break:break-word;opacity:0;transition:opacity .5s ease-in-out}.log-notice-visible{opacity:1}.log-notice-hidden{opacity:0}.log-notice-content{width:100%;height:100%}.log-notice-banner.gray{background-color:#1b1b1be6;background-image:linear-gradient(#ffffff1a,#ffffff1a);color:#ccc}.player-knowledge-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0009;display:flex;justify-content:center;align-items:center;z-index:5000}.player-knowledge-modal{background:#2d2d2d;color:#fff;padding:1rem;border-radius:.5rem;display:flex;flex-direction:column;align-items:center;width:80%;max-width:400px}.player-knowledge-name{font-size:1.25rem;margin-bottom:.75rem}.player-knowledge-img{width:200px;height:auto;object-fit:contain}.player-knowledge-img.placeholder{width:200px;height:200px;background:transparent}.log-notice-banner.red{background-color:#1b1b1be6;background-image:linear-gradient(#f003,#f003);color:#f88}.log-notice-banner.green{background-color:#1b1b1be6;background-image:linear-gradient(#0f03,#0f03);color:#8f8}.knowledge-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0009;display:flex;justify-content:center;align-items:center;z-index:5001}.knowledge-modal{background:#2d2d2d;color:#fff;padding:1rem;border-radius:.5rem;width:90%;max-width:500px;max-height:80vh;overflow:visible;position:relative}.knowledge-close-button{position:absolute;top:-1rem;left:-1rem;width:2rem;height:2rem;background:#444;color:#fff;border:none;border-radius:50%;font-size:1.25rem;display:flex;align-items:center;justify-content:center;cursor:pointer}.knowledge-content{display:flex;flex-direction:column;gap:.5rem;max-height:calc(80vh - 3rem);overflow-y:auto;padding-right:.5rem}.knowledge-entry{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem;background:#3d3d3d;border-radius:.25rem}.knowledge-entry.self{background:#444;font-size:1.1rem;flex-direction:column;align-items:center;text-align:center;padding:1rem}.knowledge-entry img{width:60px;height:60px;object-fit:contain}.knowledge-entry.self img{width:179px;height:250px;object-fit:contain}
