@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--bg:#090d18;--ink:#edf4ff;--muted:#8894ac;--green:#c7f66b;--red:#ff5b70;--line:rgba(183,206,242,.14)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',system-ui,sans-serif;overflow:hidden}button,input{font:inherit}button{cursor:pointer;color:inherit;border:0}button:focus-visible,input:focus-visible{outline:3px solid var(--green);outline-offset:4px}button:disabled{cursor:default}#space,#game{position:fixed;inset:0;width:100%;height:100%}#game{display:none;touch-action:none}.hidden{display:none!important}.screen{position:relative;min-height:100dvh;padding:35px 5.5vw 25px;overflow:hidden}.brand{display:flex;align-items:center;gap:12px;font-weight:800;letter-spacing:5px;font-size:23px}.brand-mark{font-size:35px;line-height:40px;letter-spacing:0;border:3px solid #dae8ff;border-radius:14px 14px 8px 8px;width:32px;height:40px;text-align:center;color:transparent;position:relative;transform:rotate(-8deg)}.brand-mark:after{content:'';position:absolute;width:22px;height:12px;background:#b5dff3;border:3px solid #090d18;right:-8px;top:5px;border-radius:9px}.edition{font-size:12px;font-weight:500;letter-spacing:2px;color:var(--muted);border-left:1px solid var(--line);padding-left:18px;margin-left:6px}.menu-content{position:relative;z-index:2;margin-top:7vh;width:440px;max-width:48vw}.eyebrow{font-size:13px;font-weight:700;letter-spacing:2px;color:#adbbd1;display:flex;align-items:center;gap:9px}.status-dot{display:inline-block;width:6px;height:6px;background:var(--green);border-radius:50%;box-shadow:0 0 10px #c7f66555}h1{font-family:'Barlow Condensed',Impact,sans-serif;font-weight:700;font-size:clamp(60px,6.8vw,104px);line-height:.97;letter-spacing:-2px;margin:24px 0 22px}h1 span{color:var(--green)}.lead{color:#97a5bf;font-size:17px;line-height:1.8;margin:0 0 28px}.setup-card{padding:22px;background:linear-gradient(135deg,#192031cc,#111623dd);border:1px solid var(--line);border-radius:15px;backdrop-filter:blur(12px);box-shadow:0 20px 70px #0003}.setup-card label{display:block;font-size:12px;font-weight:600;letter-spacing:1.4px;color:#9eaac0;margin-bottom:10px}.setup-card input{background:#090e1aaa;border:1px solid var(--line);border-radius:7px;padding:11px 13px;width:100%;color:var(--ink);font-size:16px}.colors{display:flex;gap:10px;margin:15px 0 20px}.color-choice{width:24px;height:24px;border-radius:50%;position:relative;box-shadow:inset 0 -5px #0004}.color-choice.selected:after{content:'';position:absolute;inset:-4px;border:1px solid white;border-radius:50%}.role-selector{display:flex;gap:9px;margin-bottom:17px}.role-option{flex:1;text-align:left;padding:12px;background:#0b101c;border:1px solid var(--line);border-radius:7px;font-size:15px}.role-option>span{font-size:17px;margin-right:5px;color:var(--muted)}.role-option small{display:block;color:var(--muted);font-size:13px;padding:5px 0 0 23px}.role-option.selected{border-color:#c7f66788;background:#c7f6670c}.role-option.selected>span{color:var(--green)}.role-option[data-role=impostor].selected{border-color:#ff5b7088;background:#ff5b7010}.role-option[data-role=impostor].selected>span{color:var(--red)}.primary{display:flex;align-items:center;justify-content:space-between;width:100%;background:var(--green);color:#172018;font-size:15px;font-weight:800;letter-spacing:1.5px;padding:17px 19px;border-radius:7px;transition:transform .2s,filter .2s}.primary:hover{filter:brightness(1.1);transform:translateY(-2px)}.primary span{font-size:21px;line-height:15px}.mission-details{display:flex;justify-content:space-between;margin-top:13px;color:#8290a6;font-size:12px}.mission-details span:first-child{color:#a2b19d}.text-button{background:none;font-size:14px;color:#95a3b9;padding:16px 0}.text-button span{margin-left:6px}.hero-art{position:absolute;width:64vw;height:78vh;right:-2vw;top:10vh;pointer-events:none}#hero{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 30px 45px #0008)}.orbit-tag{position:absolute;bottom:3%;right:21%;font-size:12px;letter-spacing:2px;color:#b3c5dd;border-left:2px solid var(--green);padding:4px 12px}.orbit-tag span{display:block;color:#53637e;font-size:11px;letter-spacing:1.3px;margin-top:7px}footer{position:absolute;bottom:22px;left:5.5vw;right:5.5vw;display:flex;justify-content:space-between;font-size:11px;letter-spacing:1.6px;color:#53627c}footer i{font-style:normal;color:var(--green);padding:0 8px}.topbar{position:fixed;top:22px;left:24px;right:24px;display:flex;justify-content:space-between;align-items:center;gap:18px;pointer-events:none}.progress-wrap{width:260px;padding:12px 16px;background:#0b111ce6;border:1px solid var(--line);border-radius:9px;backdrop-filter:blur(10px)}.progress-wrap>span{font-size:11px;letter-spacing:1.5px;color:#98a9bc}.progress-track{height:9px;background:#29333a;margin-top:8px;border-radius:3px;overflow:hidden}.progress-track>div{height:100%;width:0;background:var(--green);transition:width .6s;box-shadow:0 0 16px #c7f66980}.location{position:absolute;left:50%;transform:translateX(-50%);display:flex;gap:9px;align-items:center;padding:11px 18px;font-size:14px;font-weight:600;background:#0b111cda;border:1px solid var(--line);border-radius:30px;white-space:nowrap}.top-actions{display:flex;gap:8px;pointer-events:auto}.top-actions button{background:#101824df;border:1px solid var(--line);width:42px;height:42px;border-radius:50%;font-size:21px}.task-panel{position:fixed;left:24px;top:109px;width:260px;background:#0b111cdb;border:1px solid var(--line);border-radius:9px;padding:15px 16px;backdrop-filter:blur(10px)}#taskToggle{background:none;font-size:12px;letter-spacing:1.7px;width:100%;display:flex;justify-content:space-between;padding:0;color:#9daec3}#taskList{margin-top:14px}.task-row{display:flex;gap:9px;font-size:13px;line-height:1.6;margin:11px 0;color:#d4dfed}.task-row:before{content:'◇';color:#d8b875;font-size:17px}.task-row.done{color:#90b85b}.task-row.done:before{content:'✓';color:var(--green)}.task-row small{display:block;font-size:12px;color:#73859b}.task-row.done small{color:#52694c}#roleHint{border-top:1px solid var(--line);margin-top:12px;padding-top:12px;color:#7e90a9;font-size:12px;line-height:1.7}.bottom-meta{position:fixed;bottom:23px;left:24px;display:flex;gap:20px;align-items:center;font-size:12px;letter-spacing:1px;color:#95aac2}.bottom-meta span:first-child{border:1px solid var(--line);background:#0b111ccc;border-radius:5px;padding:8px 10px;color:#c4d3e5}.actions{position:fixed;bottom:27px;right:26px;display:flex;gap:12px}.action{position:relative;border:1px solid #71849b55;width:88px;height:90px;background:linear-gradient(#253448e8,#101b2cea);border-radius:17px;box-shadow:0 6px 0 #02071088,0 10px 30px #0003;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;transition:filter .2s,transform .2s}.action:hover{transform:translateY(-2px)}.action-icon{font-size:32px;line-height:32px}.action strong{font-size:12px;letter-spacing:1px}.action kbd{position:absolute;top:6px;right:8px;font-size:12px;color:#c0d0e188}.action.use{border-color:#c7f66870;color:var(--green);background:linear-gradient(#344830ef,#17221aef)}.action.danger{color:#ff8593;background:linear-gradient(#5c2738ef,#2a1523ef);border-color:#ff5b7070}.action:disabled{opacity:.32;filter:saturate(.3)}#cooldown{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;border-radius:17px;background:#110b12bb;font-size:29px;font-weight:700}#cooldown:empty{display:none}.toast{position:fixed;top:100px;left:50%;transform:translateX(-50%);max-width:500px;background:#141f30ed;border:1px solid #7c99b644;padding:13px 22px;border-radius:8px;font-size:15px;box-shadow:0 10px 40px #0005;z-index:8;text-align:center;pointer-events:none}.sabotage-alert{position:fixed;top:80px;left:50%;transform:translateX(-50%);background:#711a2eec;border:1px solid #ff5b7070;color:#ffd5dc;padding:10px 20px;border-radius:7px;font-size:15px;white-space:nowrap;animation:pulse 1s infinite alternate}.joystick{display:none;position:fixed;bottom:65px;left:28px;width:115px;height:115px;border:1px solid #d2e6ff40;background:#31425944;border-radius:50%;touch-action:none}.joystick>div{position:absolute;left:34px;top:34px;width:45px;height:45px;background:#c6d9e677;border:1px solid #e0eaff80;border-radius:50%;pointer-events:none}.overlay{position:fixed;inset:0;background:#050913bd;backdrop-filter:blur(9px);display:flex;align-items:center;justify-content:center;z-index:20;padding:20px}.dialog{position:relative;background:linear-gradient(145deg,#1c2739,#0e1624);border:1px solid #667b9840;border-radius:20px;padding:32px;box-shadow:0 30px 100px #0007;width:600px;max-width:100%;max-height:92dvh;overflow:auto}.dialog h2{font-family:'Barlow Condensed',Impact,sans-serif;font-size:42px;letter-spacing:.4px;margin:5px 0 13px}.dialog p{font-size:16px;line-height:1.8;color:#9fadc1}.dialog .eyebrow{color:var(--green)}.close{position:absolute;right:19px;top:17px;background:#ffffff09;border-radius:50%;width:30px;height:30px;color:#9badc3;font-size:20px}.secondary{background:#26344a;border:1px solid var(--line);border-radius:7px;padding:13px 20px;font-size:15px}.dialog-actions{display:flex;gap:12px;margin-top:25px}.dialog-actions .primary{justify-content:center}.controls{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.controls div{background:#070e1a77;border:1px solid var(--line);border-radius:8px;padding:12px;color:#9cacc3;font-size:14px}.controls kbd{color:var(--green);font-weight:700;display:block;margin-bottom:6px}.role-reveal{text-align:center}.role-reveal h2{font-size:70px;color:var(--green);margin:12px 0}.role-reveal.impostor h2{color:var(--red)}.role-reveal canvas{width:170px;height:175px}.meeting-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.vote-card{display:flex;align-items:center;gap:10px;background:#101a29;border:1px solid var(--line);border-radius:9px;padding:9px 12px;text-align:left}.vote-card canvas{width:40px;height:49px}.vote-card strong{display:block;font-size:15px}.vote-card small{display:block;font-size:12px;color:#8093ab;margin-top:5px}.vote-card.selected{border-color:var(--green);background:#c7f66610}.vote-card.dead{opacity:.35}.meeting-timer{font-size:14px;color:var(--green)}.chat-log{background:#080f1a88;border-radius:8px;padding:12px;max-height:110px;overflow:auto;font-size:14px;line-height:1.8;color:#9bacbf}.chat-log b{color:#d4dfef}.task-area{position:relative;margin:22px 0;padding:22px;background:#07101b;border:1px solid #556b8940;border-radius:12px;min-height:230px}.wire-board{height:260px;position:relative;display:flex;justify-content:space-between;touch-action:none}.wire-column{display:flex;flex-direction:column;justify-content:space-around;z-index:2}.wire-terminal{width:62px;height:38px;border-radius:5px;border:2px solid #ffffff55;font-weight:bold;color:#fff;text-shadow:0 1px 3px black}.wire-terminal.active{outline:3px solid white;outline-offset:4px}.wire-board svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.task-footer{display:flex;justify-content:space-between;font-size:13px;color:#91a1b8}.sequence-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:290px;margin:0 auto}.sequence-pad{height:63px;border-radius:8px;background:#22364d;border:1px solid #5f81964d;transition:background .12s}.sequence-pad.lit{background:#c7f66b;box-shadow:0 0 25px #c7f66b66}.download-visual{display:flex;align-items:center;justify-content:space-around;font-size:50px;color:#b5d9ef;margin:10px 0 24px}.download-bar{height:15px;background:#22314a;border-radius:4px;overflow:hidden;margin:20px 0}.download-bar>div{height:100%;width:0;background:var(--green);transition:width .1s linear}.calibrate-track{height:28px;background:#23344a;position:relative;margin:40px 0 32px;border-radius:5px;overflow:hidden}.calibrate-target{position:absolute;left:62%;width:14%;height:100%;background:#c7f66b55;border:1px solid var(--green)}.calibrate-needle{position:absolute;top:0;bottom:0;left:0;width:4px;background:white;box-shadow:0 0 10px white}.big-count{font-size:28px;text-align:center;color:var(--green)}.asteroid-field{display:block;background:#050b14;width:100%;height:270px;border-radius:8px;cursor:crosshair;touch-action:none}.map-canvas{display:block;width:100%;height:auto;border-radius:12px;background:#080e1b}.map-key{display:flex;gap:20px;font-size:13px;color:#a1b1c7;margin:17px 0}.end-title{font-size:70px!important;color:var(--green)}.end-title.loss{color:var(--red)}@keyframes pulse{to{box-shadow:0 0 30px #ff234b35}}@media(max-height:800px) and (min-width:800px){.menu-content{margin-top:4vh}h1{font-size:74px;margin:18px 0}.lead{margin-bottom:18px}.setup-card{padding:18px}.colors{margin:12px 0 15px}.role-option{padding:10px}.screen{padding-top:25px}}@media(max-width:760px){.screen{padding:22px 24px}.brand{font-size:18px}.edition{font-size:11px}.menu-content{margin-top:45px;width:100%;max-width:100%}h1{font-size:75px}.lead{font-size:15px}.hero-art{width:80vw;height:50vh;right:-28vw;top:3vh;opacity:.36}.orbit-tag{display:none}.setup-card{max-width:420px}.eyebrow{font-size:11px;letter-spacing:1.2px}footer{left:24px;right:24px;font-size:10px;letter-spacing:.7px}.topbar{top:12px;left:12px;right:12px}.progress-wrap{width:185px;padding:9px 12px}.location{top:60px;font-size:13px;padding:8px 13px}.top-actions button{width:35px;height:35px;font-size:18px}.task-panel{left:12px;top:82px;width:185px;padding:12px}.task-row{font-size:12px}.task-row small{font-size:11px}.actions{right:14px;bottom:40px;gap:7px}.action{width:63px;height:72px;border-radius:13px}.action-icon{font-size:26px}.action strong{font-size:11px;letter-spacing:.3px}.bottom-meta{bottom:12px;left:12px;font-size:11px;gap:10px}#contextHint{display:none}.joystick{display:block}.dialog{padding:25px 20px}.dialog h2{font-size:34px}.toast{top:150px;width:80%;font-size:14px}.sabotage-alert{top:125px;font-size:13px}.meeting-grid{gap:7px}.vote-card{padding:6px}.vote-card strong{font-size:13px}.controls{gap:7px}.role-reveal h2{font-size:54px}.task-area{padding:15px}.wire-terminal{width:48px}.end-title{font-size:56px!important}}@media(max-height:660px){.screen{overflow-y:auto;overflow-x:hidden;height:100dvh}.menu-content{margin-top:25px}h1{font-size:60px}.lead{margin-bottom:15px}.setup-card{padding:15px}footer{position:relative;left:0;right:0;bottom:0;margin-top:18px}.task-panel{max-height:48vh;overflow:auto}.dialog{max-height:94dvh}.hero-art{height:85vh}}

html{overflow:hidden} .dialog{scrollbar-width:thin;scrollbar-color:#455a75 transparent} .screen{scrollbar-width:thin;scrollbar-color:#455a75 transparent}
@media(max-width:760px){.screen{height:100dvh;min-height:0;overflow-y:auto;overflow-x:hidden}.menu-content{margin-top:36px}h1{font-size:60px;letter-spacing:-1.5px}footer{position:relative;left:0;right:0;bottom:0;margin-top:18px;padding-bottom:8px}.hero-art{top:3vh}.setup-card{padding:18px}}
@media(max-width:760px){.location{left:auto;right:0;transform:none;top:51px}.impostor-hud .actions{display:grid;grid-template-columns:repeat(2,63px);gap:7px}}

/* Larger, readable interface and a meeting chat inspired by the ship terminals. */
.screen{height:100dvh;overflow-y:auto;overflow-x:hidden}.task-panel,.progress-wrap{width:300px}.task-panel{max-height:calc(100dvh - 250px);overflow:auto}.dialog{width:660px}.dialog-actions .secondary{flex-shrink:0}.action{width:100px;height:100px}.action strong{letter-spacing:.5px}.top-actions svg{width:24px;height:24px;vertical-align:middle}.meeting-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.meeting-heading h2{margin-bottom:10px}.meeting-chat-button{white-space:nowrap;border:2px solid #8ca8bd;background:#344e68;border-radius:10px;padding:10px 14px;font-weight:700;font-size:14px}.meeting-chat-preview{display:block;width:100%;text-align:left;background:#080f1a88;border:1px solid var(--line);border-radius:9px;padding:13px;color:#b4c4d7;font-size:14px;line-height:1.65}.meeting-chat-preview b{color:#e3edf5}.meeting-chat-preview small{display:block;color:var(--green);margin-top:7px;font-size:12px}.dialog.chat-mode{width:760px;padding:18px;background:#adbccc;border:4px solid #263b50;border-radius:16px;box-shadow:0 0 0 3px #7591a9,0 25px 80px #0008;color:#152637;overflow:hidden;display:flex;flex-direction:column;height:min(680px,90dvh)}.chat-header{display:flex;align-items:center;gap:12px;padding:4px 4px 14px;flex-shrink:0}.chat-header h2{font-family:'Barlow Condensed',Impact,sans-serif;font-size:32px;margin:0;flex:1;letter-spacing:1px}.chat-header .meeting-timer{color:#344f64;font-weight:700;font-size:13px}.chat-back{width:38px;height:38px;border-radius:8px;border:2px solid #263b50;background:#edf4f8;color:#263b50;font-size:24px}.chat-simulation{font-size:11px;letter-spacing:1px;color:#476177}.chat-messages{flex:1;min-height:0;overflow-y:auto;padding:15px 12px;background:#8da1b6;border:3px solid #4f687f;border-radius:9px;scrollbar-width:thin;scrollbar-color:#4f687f transparent}.chat-message{display:flex;align-items:flex-start;gap:12px;margin:0 0 14px}.chat-message.mine{flex-direction:row-reverse}.chat-avatar{background:#c0d0dd;border:3px solid #263e52;border-radius:12px;width:62px;height:67px;flex-shrink:0;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 -5px #657d8e33}.chat-avatar canvas{width:48px;height:59px}.chat-bubble{position:relative;background:#f6f8fb;border:3px solid #263e52;box-shadow:0 3px #65778b66;border-radius:12px;padding:10px 15px;max-width:82%;min-width:120px;overflow-wrap:anywhere}.mine .chat-bubble{background:#e6f2ff}.chat-bubble strong{display:block;font-size:16px;margin-bottom:4px;line-height:1.3}.chat-bubble p{font-size:16px;line-height:1.5;margin:0;color:#1b3043}.chat-bubble small{font-size:11px;font-weight:500;color:#64778b;margin-left:6px}.chat-typing{height:25px;font-size:12px;color:#344f64;padding:5px 4px}.chat-composer{display:flex;align-items:center;gap:10px;flex-shrink:0;background:#d5e0e9;border:3px solid #4f687f;border-radius:9px;padding:8px}.chat-composer input{width:100%;min-width:0;border:0;outline:0;background:#f8fbff;color:#1b3043;border-radius:5px;padding:12px;font-size:16px}.chat-send{width:50px;height:46px;flex-shrink:0;background:#9bbcd1;border:3px solid #263e52;border-radius:8px;color:#213b50;font-size:24px;font-weight:700}.chat-send:disabled{opacity:.4}.chat-character-count{font-size:11px;color:#526d84;white-space:nowrap}.chat-note{text-align:center;color:#476177;font-size:11px;margin-top:8px}.task-row small,#roleHint{color:#98abc2}
@media(max-width:760px){.task-panel{width:210px;max-height:38dvh}.progress-wrap{width:195px}.progress-wrap>span{font-size:10px;letter-spacing:1px}.top-actions{gap:5px}.top-actions button{width:32px;height:32px}.top-actions svg{width:20px;height:20px}.task-row{font-size:12px}.task-row small,#roleHint{font-size:11px}.action{width:70px;height:78px}.action strong{font-size:11px}.action kbd{font-size:11px}.impostor-hud .actions{grid-template-columns:repeat(2,70px)}.dialog.chat-mode{padding:10px;height:90dvh}.chat-header{flex-wrap:wrap;gap:8px}.chat-header h2{font-size:27px}.chat-header .meeting-timer{width:100%;padding-left:46px}.chat-simulation{font-size:10px}.chat-messages{padding:10px 7px}.chat-message{gap:7px}.chat-avatar{width:44px;height:53px;border-width:2px}.chat-avatar canvas{width:36px;height:46px}.chat-bubble{padding:8px 10px;border-width:2px;max-width:calc(100% - 51px)}.chat-bubble strong,.chat-bubble p{font-size:14px}.chat-composer{gap:5px;padding:5px}.chat-composer input{padding:10px 7px}.chat-character-count{display:none}.chat-send{width:42px;height:43px}.meeting-heading{align-items:flex-start}.meeting-chat-button{font-size:12px;padding:10px}.meeting-chat-preview{font-size:13px}.mission-details{gap:10px;font-size:11px}.role-option small{padding-left:0;font-size:12px}.eyebrow{letter-spacing:1px}footer{flex-wrap:wrap;gap:8px}.map-key{flex-wrap:wrap;gap:10px}}
@media(max-width:760px){.progress-wrap{width:min(195px,calc(100vw - 190px))}.progress-wrap>span{letter-spacing:.5px}}
.character-selection{margin:20px 0}.character-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.character-heading label{margin:0;font-size:11px}.character-heading>span{font-size:12px;color:var(--green);text-align:right}.character-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-height:260px;overflow:auto;padding:4px;scrollbar-width:thin;scrollbar-color:#526582 transparent}.character-card{position:relative;background:#0c1422;border:1px solid #60779440;border-radius:9px;min-width:0;padding:3px 5px 8px;display:flex;flex-direction:column;align-items:center;gap:1px;transition:background .15s,border-color .15s}.character-card:hover{background:#203048}.character-card.selected{border-color:var(--green);background:#c7f66b12;box-shadow:0 0 0 1px #c7f66b44}.character-card canvas{width:64px;height:80px}.character-card span{font-size:11px;line-height:1.3;min-height:28px;display:flex;align-items:center;justify-content:center;text-align:center}.audio-slider{display:block;margin:24px 0;color:#d3e0ee;font-size:16px}.audio-slider output{float:right;color:var(--green)}.audio-slider input{display:block;width:100%;margin-top:14px;accent-color:var(--green);cursor:pointer}.menu-content{padding-bottom:40px}.screen footer{position:relative;left:0;right:0;bottom:0;margin-top:25px;padding-bottom:20px}#audioMenuButton{margin-right:18px}.vote-card strong{overflow-wrap:anywhere}.chat-bubble strong{overflow-wrap:anywhere}
@media(max-width:760px){.character-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-height:235px}.character-card canvas{width:60px;height:75px}.character-heading{align-items:flex-start}.character-heading>span{max-width:45%}.character-card span{font-size:12px}.character-heading label{font-size:10px}}
.audio-meter{height:10px;border-radius:6px;overflow:hidden;background:#293950;margin-top:22px}.audio-meter>div{width:0;height:100%;background:linear-gradient(90deg,#82c976,#c7f66b);transition:width .1s linear}.audio-signal{display:block;color:#a5bed0;font-size:12px;margin-top:9px}
.character-search{display:flex;align-items:center;gap:10px;margin-bottom:10px}.character-search input{padding:9px 11px;font-size:13px}.character-search>span{font-size:11px;color:#9cacbf;white-space:nowrap}.character-card small{font-size:9px;line-height:1.25;color:#93a5bd;text-align:center;min-height:12px}.character-grid{max-height:280px}.meeting-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.vote-card{min-width:0}.vote-card>div{min-width:0}.vote-card canvas{flex-shrink:0}.vote-card strong{font-size:13px}.vote-card small{font-size:11px}
@media(max-width:760px){.meeting-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.character-grid{max-height:255px}.character-card small{font-size:9px}.vote-card strong{font-size:12px}.character-search input{font-size:12px;min-width:0}.character-search>span{font-size:10px}}
.dialog.meeting-mode{width:840px;height:min(780px,92dvh);display:flex;flex-direction:column;overflow:hidden}.meeting-mode>.eyebrow,.meeting-mode>.meeting-heading,.meeting-mode>.meeting-timer,.meeting-mode>.meeting-chat-preview,.meeting-mode>.dialog-actions{flex-shrink:0}.meeting-mode .meeting-grid{flex:1;min-height:0;overflow-y:auto;grid-auto-rows:70px;align-content:start;scrollbar-width:thin;scrollbar-color:#526582 transparent;padding-right:5px}.meeting-mode .meeting-chat-preview{max-height:90px;overflow:auto}.meeting-mode .dialog-actions{margin-top:16px}.meeting-mode .vote-card{height:70px}.meeting-mode .vote-card canvas{width:36px;height:46px}
@media(max-width:760px){.dialog.meeting-mode{padding:20px 15px;height:92dvh}.meeting-mode .meeting-heading h2{font-size:28px}.meeting-mode .meeting-grid{grid-auto-rows:65px}.meeting-mode .vote-card{height:65px}.meeting-mode .meeting-chat-preview{max-height:76px;font-size:12px}.meeting-mode .vote-card canvas{width:30px;height:39px}.meeting-mode .vote-card{gap:6px}.meeting-mode .vote-card strong{font-size:11px}.meeting-mode .vote-card small{font-size:10px}}
.task-panel{scrollbar-width:thin;scrollbar-color:#465d7a transparent}
/* Tripulação e tablet de votação */
.roster-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.roster-tools span{font-size:14px;color:var(--green)}.roster-tools button{padding:9px 14px;font-size:14px}select{width:100%;background:#111b2b;color:#edf4ff;border:1px solid #526582;border-radius:8px;font:inherit;padding:12px;margin:8px 0 15px;cursor:pointer}.character-card.selected::after{content:'✓';position:absolute;right:5px;top:4px;color:var(--green);font-weight:bold}.character-card small{font-size:10px}
.dialog.meeting-mode{width:min(1220px,96vw);height:min(790px,94dvh);max-width:none;padding:24px 34px 22px 46px;border:24px solid #591c2c;border-radius:55px;background:#494f53;box-shadow:0 0 0 5px #090c10,inset 0 0 0 7px #34383a,0 16px 70px #0009;position:relative;color:#eff4f7;gap:12px}.dialog.meeting-mode::before{content:'';position:absolute;left:-19px;top:42%;height:105px;width:13px;border-radius:20px;border:3px solid #17191c;background:linear-gradient(90deg,#843348,#571c2b)}.meeting-mode .meeting-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0;flex-shrink:0}.meeting-mode .meeting-heading h2{font-family:'DM Sans',sans-serif;font-size:clamp(25px,3.8vw,48px);font-weight:800;letter-spacing:-1px;color:#edf3f6;-webkit-text-stroke:1.4px #182028;text-shadow:2px 3px #172027;margin:0;line-height:1.2}.meeting-signal{color:#849a9d;font-size:35px;letter-spacing:-6px}.meeting-mode .meeting-chat-button{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f3f3e9;color:#30383d;border:3px solid #222b31;border-radius:12px;padding:3px 12px;font-size:32px;line-height:1;box-shadow:2px 3px #30383d}.meeting-chat-button small{font-size:10px;font-weight:800;margin-top:3px}.meeting-status{color:#d1dce0;font-size:12px;letter-spacing:1px;flex-shrink:0}.meeting-mode .meeting-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(5,minmax(0,1fr));grid-auto-rows:auto;gap:14px 20px;align-content:stretch;overflow-y:auto;margin:0;padding:5px 4px 5px 0;flex:1;min-height:0}.meeting-mode .vote-card{position:relative;background:linear-gradient(120deg,#ffffffd9,#f0f5f9 55%,#e5edf4);border:3px solid #c8d0d4;border-radius:8px;height:auto;min-height:64px;display:flex;align-items:center;gap:8px;padding:0 12px 0 0;color:#edf3f5;overflow:hidden;box-shadow:3px 3px #30383b;text-align:center}.meeting-mode .vote-card::before{content:'';position:absolute;inset:0;background:linear-gradient(120deg,var(--crew-color),transparent 45%);opacity:.2;pointer-events:none}.meeting-mode .vote-card canvas{width:66px;height:83px;align-self:flex-end;position:relative;object-fit:contain;flex-shrink:0;margin-bottom:-5px}.meeting-mode .vote-card strong{flex:1;position:relative;font-size:clamp(13px,1.55vw,21px);font-weight:800;line-height:1.15;-webkit-text-stroke:.8px #263038;text-shadow:1px 2px #263038;overflow-wrap:anywhere}.meeting-mode .vote-card.selected{border-color:#80e998;box-shadow:0 0 0 2px #22382d,0 0 15px #80e99870;background:#d1f2d7}.meeting-mode .vote-card.dead{opacity:.5;filter:grayscale(1)}.voted-badge{position:absolute;left:49px;top:3px;width:27px;height:27px;display:grid;place-items:center;border:3px solid #ac323b;background:#fff2ed;color:#bc333d;border-radius:50%;font-size:21px;font-weight:900;transform:rotate(-12deg)}.reporter-icon{position:absolute;right:7px;bottom:3px;font-size:24px}.dead-cross{position:absolute;left:18px;top:15px;font-size:43px;color:#bf263a}.meeting-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-shrink:0}.meeting-mode .dialog-actions{margin:0;display:flex;gap:10px}.meeting-mode .dialog-actions button{width:auto;padding:11px 17px;font-size:15px;border:2px solid #1e292e;border-radius:7px}.meeting-mode .dialog-actions .secondary{background:#e8eef1;color:#242e35}.meeting-mode .dialog-actions .primary{background:#8ce29c;color:#142d1d}.meeting-mode .meeting-timer{margin:0;color:#f3f8fb;font-size:clamp(15px,1.9vw,24px);font-weight:800;-webkit-text-stroke:.6px #232b32;text-shadow:1px 2px #232b32;text-align:right}
@media(max-width:760px){.dialog.meeting-mode{padding:18px 12px 16px 19px;border-width:13px;border-radius:29px;gap:9px;width:96vw;height:94dvh}.dialog.meeting-mode::before{left:-12px;width:7px;height:72px}.meeting-signal{display:none}.meeting-mode .meeting-heading h2{font-size:26px;-webkit-text-stroke:.7px #182028}.meeting-mode .meeting-chat-button{font-size:24px;padding:4px 8px}.meeting-mode .meeting-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:minmax(64px,1fr);gap:8px}.meeting-mode .vote-card{min-height:64px;height:auto;gap:3px;padding-right:4px}.meeting-mode .vote-card canvas{width:41px;height:60px;margin-bottom:0}.meeting-mode .vote-card strong{font-size:13px;-webkit-text-stroke:.4px #263038}.voted-badge{left:29px;width:20px;height:20px;border-width:2px;font-size:15px}.reporter-icon{font-size:18px}.meeting-footer{flex-wrap:wrap;gap:8px}.meeting-mode .dialog-actions{width:100%}.meeting-mode .dialog-actions button{flex:1;padding:10px 5px;font-size:13px}.meeting-mode .meeting-timer{width:100%;font-size:16px}.meeting-status{font-size:10px}}
@media(max-height:550px) and (min-width:600px){.dialog.meeting-mode{padding:12px 22px;border-width:15px;gap:5px}.meeting-mode .meeting-heading h2{font-size:27px}.meeting-mode .meeting-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(5,minmax(0,1fr));gap:6px 12px}.meeting-mode .vote-card{min-height:36px}.meeting-mode .vote-card canvas{width:34px;height:45px}.meeting-mode .vote-card strong{font-size:13px}.meeting-mode .dialog-actions button{padding:6px 12px}.meeting-mode .meeting-timer{width:auto;font-size:16px}.meeting-footer{flex-wrap:nowrap}.meeting-mode .dialog-actions{width:auto}.meeting-status{font-size:9px}}
.roster-notice{font-size:13px!important;color:#dce8b8!important;line-height:1.4;margin:4px 0 14px!important}select:focus-visible{outline:3px solid var(--green);outline-offset:3px}
/* Catálogo amplo: toda a largura disponível, com controles separados da grade. */
#menu{padding:28px clamp(16px,3vw,48px) 20px;padding-left:max(clamp(16px,3vw,48px),env(safe-area-inset-left));padding-right:max(clamp(16px,3vw,48px),env(safe-area-inset-right));overscroll-behavior-y:contain}
#menu .menu-content{width:100%;max-width:none;margin-top:22px;padding-bottom:0}
.menu-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:185px;margin-bottom:22px}.menu-copy{flex:1;min-width:0}#menu h1{font-size:clamp(42px,5vw,76px);margin:15px 0 12px}#menu .lead{font-size:17px;line-height:1.6;margin:0;max-width:760px}#menu .hero-art{position:relative;inset:auto;width:230px;height:185px;flex-shrink:0;opacity:1}#menu #hero{filter:drop-shadow(0 10px 20px #0005)}
#menu .setup-card{width:100%;max-width:none;padding:clamp(16px,2.2vw,32px);border-radius:20px;background:linear-gradient(130deg,#192031ee,#111623ee)}
.player-setup{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(280px,.8fr);align-items:start;gap:24px}#menu .setup-card label{font-size:12px;line-height:1.4}#menu .player-setup select{margin:0}#menu .player-setup input,#menu select{min-height:48px;font-size:16px}#menu .colors{margin:8px 4px;gap:12px;flex-wrap:wrap}#menu .color-choice{width:28px;height:28px;min-width:28px}#menu .color-choice::before{content:'';position:absolute;inset:-8px;border-radius:50%}
#menu .character-selection{margin:28px 0;padding-top:22px;border-top:1px solid var(--line)}#menu .character-heading{margin-bottom:16px}#menu .character-heading label{font-size:15px;color:#e4ecf7;letter-spacing:1.5px}#menu .character-heading>span{font-size:15px}
.roster-toolbar{display:flex;align-items:center;gap:24px;justify-content:space-between}#menu .character-search{flex:1;max-width:720px;margin:0}#menu .character-search input{min-height:48px;font-size:15px}#menu .character-search>span{font-size:13px}#menu .roster-tools{margin:0;gap:18px;flex-shrink:0}#menu .roster-tools button{min-height:48px;padding:12px 20px;font-size:15px}#menu .roster-tools span{font-size:15px}#menu .roster-notice{margin:12px 0 16px!important;min-height:20px}
#menu .character-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:14px;height:clamp(460px,62dvh,760px);max-height:none;overflow-y:auto;overflow-x:hidden;padding:6px 10px 6px 4px;align-content:start;scroll-padding:8px;scrollbar-gutter:stable}#menu .character-card{min-height:174px;padding:8px 10px 12px;border-radius:12px;gap:5px}#menu .character-card canvas{width:80px;height:100px}#menu .character-card span{font-size:14px;line-height:1.35;min-height:38px}#menu .character-card small{font-size:11px;min-height:15px}#menu .character-card.selected::after{font-size:20px;top:8px;right:10px}
.mission-setup{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(150px,.55fr) minmax(250px,1fr);gap:24px;align-items:center;padding-top:22px;border-top:1px solid var(--line)}#menu .role-selector{margin:0}#menu .role-option{min-height:78px;padding:15px;font-size:16px}#menu .mission-setup select{margin:0}#menu .mission-launch .primary{min-height:54px}#menu .mission-details{font-size:12px;gap:12px}#menu footer{padding-bottom:max(12px,env(safe-area-inset-bottom))}
@media(max-width:1050px){.player-setup{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.player-setup>div:last-child{grid-column:1/-1}#menu .colors{margin-bottom:0}.mission-setup{grid-template-columns:minmax(0,1fr) minmax(150px,.5fr)}.mission-launch{grid-column:1/-1}.roster-toolbar{gap:16px}#menu .roster-tools{gap:12px}}
@media(max-width:760px){#menu{padding-top:20px}#menu .brand{font-size:20px;letter-spacing:3px}#menu .edition{font-size:10px;letter-spacing:1px;padding-left:10px;margin-left:0}#menu .menu-content{margin-top:24px}.menu-intro{min-height:0;margin-bottom:24px;gap:12px}#menu .hero-art{display:none}#menu h1{font-size:48px;line-height:1.05;letter-spacing:-1px}#menu .lead{font-size:15px}.player-setup{grid-template-columns:1fr;gap:18px}.player-setup>div:last-child{grid-column:auto}#menu .character-selection{margin:24px 0}.roster-toolbar{flex-direction:column;align-items:stretch;gap:12px}#menu .character-search{max-width:none}#menu .roster-tools{justify-content:space-between}#menu .character-heading{align-items:center}#menu .character-heading label{font-size:12px}#menu .character-heading>span{font-size:13px;max-width:48%}#menu .character-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;height:clamp(430px,65dvh,680px);padding:4px 6px 4px 2px}#menu .character-card{min-height:150px;padding:6px 4px 9px;gap:3px}#menu .character-card canvas{width:66px;height:83px}#menu .character-card span{font-size:12px;min-height:34px;overflow-wrap:anywhere}#menu .character-card small{font-size:9px;min-height:23px}#menu .character-card.selected::after{font-size:16px;right:5px;top:5px}.mission-setup{grid-template-columns:1fr;gap:18px}.mission-launch{grid-column:auto}#menu .role-option{font-size:15px;padding:12px}#menu .mission-details{font-size:11px}#menu .setup-card{border-radius:16px}#menu .character-search input{font-size:14px}}
@media(max-width:360px){#menu{padding-left:12px;padding-right:12px}#menu .setup-card{padding:12px}#menu .character-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#menu .roster-tools span{font-size:13px}#menu .roster-tools button{padding:10px 12px}#menu .edition{display:none}}
@media(max-height:550px) and (min-width:600px){#menu .menu-intro{min-height:0}#menu .hero-art{height:120px;width:150px}#menu h1{font-size:42px}#menu .character-grid{height:420px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}
