:root{color:#fff8df;background:#203d29;font-family:ui-rounded,Arial Rounded MT Bold,system-ui,sans-serif}*{box-sizing:border-box}body{color:#fff8df;background:radial-gradient(at 85% 4%,#839c3c 0 8%,#0000 28%),radial-gradient(at 10% 85%,#657a32,#0000 35%),linear-gradient(145deg,#172f25,#455c2c);min-height:100vh;margin:0}button,input,select{font:inherit}button{color:#30200f;cursor:pointer;background:#e3aa38;border:0;border-radius:14px;min-height:48px;padding:10px 16px;font-weight:800}button.secondary{color:#28412d;background:#dfe3c6}button.danger{color:#fff8df;background:#ad3e32}button:disabled{opacity:.55;cursor:not-allowed}#app{max-width:680px;margin:auto;padding:clamp(18px,5vw,42px) 18px}.me-bar{color:#fff8df;overflow-wrap:anywhere;align-items:center;gap:6px;min-height:36px;margin:0 56px 14px 0;font-weight:800;display:flex}.rules-button{z-index:30;top:calc(env(safe-area-inset-top) + 12px);border-radius:50%;width:44px;min-height:44px;padding:0;font-size:1.45rem;line-height:1;position:fixed;right:12px}.rules-overlay{z-index:31;padding:calc(env(safe-area-inset-top) + 18px) 18px calc(env(safe-area-inset-bottom) + 18px);background:#0c1d15b8;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.rules-overlay.open{display:flex}.rules-panel{color:#253c2b;background:#f3ebc7;border-radius:22px;width:min(100%,620px);max-height:85vh;padding:20px;overflow-y:auto;box-shadow:0 10px #173125}.rules-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.rules-heading h2,.rules-section h3{margin-top:0}.rules-close{min-height:44px;padding:8px 12px;font-size:.9rem;line-height:1}.rules-section{margin-top:18px}.rules-host-tools{gap:10px;margin-top:18px;display:grid}.rules-host-tools p{margin:0}.rules-section h3{margin-bottom:7px}.rules-section ul{gap:7px;margin:0;padding-left:1.2em;display:grid}.eyebrow{text-transform:uppercase;letter-spacing:.11em;color:#dbd59e;font-size:.76rem;font-weight:800}.title{color:#f4db77;text-shadow:3px 4px #354223;margin:.2rem 0 1rem;font-size:clamp(2.2rem,10vw,4.2rem);line-height:.91}.panel{color:#253c2b;background:#f3ebc7;border-radius:22px;margin:18px 0;padding:20px;box-shadow:0 10px #173125}.panel h2{margin-top:0}.form{gap:12px;display:grid}.field{gap:6px;font-weight:800;display:grid}.field input,.field select{color:#243b29;background:#fffbe9;border:2px solid #79863d;border-radius:12px;min-height:48px;padding:9px}.avatars{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.avatar{color:#203b2a;background:#d9dfb5;border:2px solid #0000;min-height:58px;padding:4px}.avatar.selected{background:#f5cc54;border-color:#a35628}.avatar img,.avatar .emoji{object-fit:contain;width:34px;height:34px;margin:auto;font-size:28px;display:block}.avatar-name{overflow-wrap:anywhere;margin-top:3px;font-size:.62rem;font-weight:700;line-height:1.1;display:block}.players{gap:8px;margin:0;padding:0;list-style:none;display:grid}.player{border-bottom:1px dashed #a7ad78;align-items:center;gap:10px;padding:8px 0;display:flex}.player.offline{opacity:.48}.player .name{flex:1;font-weight:800}.status{font-size:.8rem}.room-code{letter-spacing:.16em;color:#f4db77;margin:.1em 0;font-size:clamp(2.4rem,13vw,5rem)}.row{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.notice{color:#ffe88c;min-height:1.3em;font-weight:700}.panel .notice{color:#8a2a17}.game-panel,.gathering-panel,.dungeon,.ended{gap:14px;display:grid}.countdown{color:#7b3a20;font-size:1.8rem}.round,.power-result,.penalty{font-weight:800}.power-result{background:#dfe3c6;padding:12px}.penalty{background:#e5b65b;padding:12px}.action-row{flex-wrap:wrap;gap:8px;display:flex}.target-select{flex:1;min-width:160px;min-height:48px}.vote{text-align:left;align-items:center;gap:10px;width:100%;display:flex}.selected-vote{outline:4px solid #7b3a20}.avatar-mark{font-size:1.4rem}.toast{z-index:20;color:#203d29;background:#f4db77;max-width:min(90vw,520px);padding:12px 18px;font-weight:800;transition:transform .18s ease-out;position:fixed;bottom:20px;left:50%;transform:translate(-50%,140%)}.toast.visible{transform:translate(-50%)}.role-card,.role-card *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.small{font-size:.85rem}.settings{gap:13px;display:grid}.toggle{justify-content:space-between;align-items:center;gap:12px;display:flex}.toggle input{width:24px;height:24px}.connection{color:#fff;text-align:center;background:#a23d31;padding:8px;font-weight:800;transition:transform .2s;position:fixed;inset:0 0 auto;transform:translateY(-100%)}.connection.visible{transform:translateY(0)}.rejoin-picker{gap:10px;margin-top:16px;display:grid}.rejoin-player{text-align:left;align-items:center;gap:12px;width:100%;display:flex}.rejoin-request{color:#203d29;background:#f4db77;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;display:flex}.rejoin-request strong{flex:100%}#flash{opacity:0;pointer-events:none;background:#fff9c9;position:fixed;inset:0}.show{animation:.3s flash}@keyframes flash{50%{opacity:.75}}.tv #app{place-items:center;max-width:none;min-height:100vh;display:grid}.tv-stage{aspect-ratio:16/9;background:linear-gradient(130deg,#122e20eb,#535f26d9);border:5px solid #9b913f;grid-template-columns:1fr 1.2fr;align-items:center;gap:clamp(20px,5vw,70px);width:min(94vw,1200px);padding:clamp(22px,5vw,70px);display:grid}.qr{background:#fff;width:min(29vw,310px);padding:12px}.tv .players{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.tv .player{background:#fff8df1f;border:0;padding:7px}.tv .player img{width:28px;height:28px}.tv .player .emoji{font-size:24px}.tv-game{text-align:center;background:#153422e6;border:5px solid #9b913f;width:min(96vw,1500px);min-height:92vh;padding:clamp(28px,5vw,82px)}.tv-game h1{margin:0;font-size:clamp(3rem,7vw,8rem);line-height:.95}.tv-round,.tv-score{font-size:clamp(1.5rem,3vw,3.5rem);font-weight:800}.tv-timer{color:#f4db77;font-size:clamp(6rem,18vw,18rem);font-weight:900}.tv-player-grid{text-align:left;grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.tv-player{background:#fff8df21;padding:12px;font-size:clamp(1.2rem,2.2vw,2.8rem)}.tv-player.dead{opacity:.42}.tv-gathering-body{font-size:clamp(1.6rem,3vw,4rem)}.tv-announcement,.tv-spy,.tv-innocent{font-weight:900}.tv-spy{color:#ff765f;font-size:clamp(3rem,7vw,8rem)}.tv-innocent{color:#dfe3c6;font-size:clamp(3rem,7vw,8rem)}.tv-vote-bar,.tv-penalty{background:#e3aa3838;padding:18px}.tv-roles,.tv-ranking{font-size:clamp(1.4rem,2.6vw,3.4rem)}.tv-sound{min-height:34px;font-size:.8rem;position:fixed;top:18px;right:18px}.minigame-phone{background:var(--team);color:#fff8df;text-align:center;-webkit-user-select:none;user-select:none}.mg-kahoot-control{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.mg-kahoot-control .mg-quiz-status,.mg-kahoot-text{grid-column:1/-1}.mg-kahoot-choice{color:#fff8df;border:0;min-height:96px;font-size:3rem;font-weight:900}.choice-0{background:#be3e36}.choice-1{background:#2875a8}.choice-2{background:#c89521}.choice-3{background:#43833b}.mg-kahoot-text{padding:12px;font-size:1.15rem}.mg-kahoot-submit{grid-column:1/-1}.mg-big{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;width:100%;min-height:50vh;font-size:2.4rem}.mg-control,.mg-quiz-control{gap:12px;display:grid}.mg-local-score,.mg-quiz-status{margin:0;font-size:1.2rem;font-weight:900}.mg-onion-visual{color:#fff;border-radius:18px;place-items:center;min-height:9rem;padding:18px;font-size:clamp(1.7rem,8vw,3rem);font-weight:900;line-height:1.1;display:grid}.mg-onion-instruction{color:#fff;background:#00000059;border-radius:12px;margin:0;padding:8px 10px;font-size:1.15rem;font-weight:900}.mg-onion-visual.is-onion{background:#1f5f1c;box-shadow:0 0 0 4px #fff8df}.mg-onion-visual.is-farquaad{background:#b8322a;box-shadow:0 0 0 4px #fff8df}.mg-onion-visual.is-waiting{background:#68716d}.mg-onion-feedback{min-height:1.5em;margin:0;font-size:1.15rem;font-weight:900}.mg-onion-feedback.good{color:#d8ffd3}.mg-onion-feedback.bad{color:#ffd5d2}.mg-onion-feedback.neutral{color:#f2eee1}.mg-onion-control .mg-big{min-height:28vh}.mg-answer.selected-answer{outline:4px solid #fff8df}.mg-answer.correct-answer{background:#76b967}.mg-answer{text-align:left;touch-action:manipulation;width:100%;margin:5px 0}.curse{min-height:36px;margin-top:8px;font-size:.85rem;position:relative}.frozen{z-index:8;background:#285a8cd9;place-items:center;font-size:2.5rem;font-weight:900;display:grid;position:fixed;inset:0}.mg-countdown{font-size:10rem;font-weight:900}.tv-mg-body{font-size:clamp(1.5rem,3vw,3.5rem)}.tv-onion{font-size:16rem}.tv-quote{font-weight:900}.correct{color:#92e56e;font-weight:900}.tv-curse{color:#ffe06b}.tv-mg-intro>p,.tv-mg-results>p{font-size:clamp(1.6rem,3vw,3.5rem)}.tv-mg-teams,.tv-stew-pots,.tv-mg-answers{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;display:grid}.tv-mg-team{border:6px solid var(--team);background:#ffffff14;border-radius:24px;padding:18px}.tv-mg-team h2,.tv-mg-winner{color:var(--team)}.tv-mg-members{gap:10px;display:grid}.tv-mg-member{align-items:center;gap:10px;font-size:clamp(1.2rem,2vw,2.3rem);display:flex}.tv-mg-member img,.tv-mg-member .emoji{object-fit:contain;width:42px;height:42px}.tv-mg-countdown-wrap{place-items:center;min-height:48vh;display:grid}.tv-mg-countdown{color:#f4db77;font-size:min(42vw,32rem);font-weight:900;line-height:.8}.tv-race-tracks{text-align:left;gap:22px;display:grid}.tv-race-track strong{color:var(--team);font-size:clamp(1.5rem,3vw,3rem)}.tv-race-lane{border:6px solid var(--team);background:#ffffff1f;border-radius:45px;height:90px;margin-top:6px;position:relative}.tv-race-cart{font-size:4rem;transition:transform .18s linear;position:absolute;top:4px;left:2%}.tv-race-finish{font-size:3.6rem;position:absolute;top:9px;right:2%}.tv-stew-pot strong{color:var(--team);font-size:clamp(1.5rem,3vw,3rem)}.tv-stew-bowl{border:8px solid var(--team);background:#222d25;border-radius:24px 24px 80px 80px;height:260px;margin-top:12px;position:relative;overflow:hidden}.tv-stew-fill{background:var(--team);opacity:.86;height:0;transition:height .18s linear;position:absolute;bottom:0;left:0;right:0}.tv-stew-emoji{font-size:7rem;position:relative;top:70px}.tv-onion-board{place-items:center;gap:24px;min-height:48vh;display:grid}.tv-onion-instruction{color:#fff;margin:0;font-size:clamp(1.6rem,3vw,3.4rem);font-weight:900}.tv-onion-item{color:#fff;text-align:center;border-radius:28px;place-items:center;min-width:min(88vw,900px);min-height:30vh;padding:28px;font-size:clamp(3rem,9vw,8rem);font-weight:900;display:grid}.tv-onion-item.is-onion{background:#3f8f3a}.tv-onion-item.is-farquaad{background:#b8322a}.tv-onion-item.is-waiting{background:#68716d}.tv-onion-scores,.tv-mg-result-scores{flex-wrap:wrap;justify-content:center;gap:20px;font-size:clamp(1.5rem,3vw,3rem);display:flex}.tv-onion-score{color:var(--team);font-weight:900}.tv-mg-quote{max-width:1000px;margin:20px auto;font-size:clamp(2rem,4vw,5rem);font-weight:900}.tv-mg-question{font-size:clamp(1.5rem,3vw,3rem)}.tv-mg-answer{text-align:left;background:#ffffff21;border-radius:18px;padding:24px;font-size:clamp(1.4rem,2.5vw,3rem)}.tv-mg-answer.correct{background:#4c9b52}.tv-mg-answer.muted{opacity:.35}.tv-mg-winner{font-size:clamp(3rem,7vw,8rem)}.tv-mg-cursebar{color:#fff;opacity:0;background:#5f328e;border-radius:18px;padding:15px 24px;font-size:clamp(1.2rem,2.5vw,2.8rem);font-weight:900;position:fixed;bottom:3vh;left:5vw;right:5vw}.tv-mg-cursebar.visible{opacity:1}.tv-mg-cursebar.pop{animation:.3s ease-out curse-pop}@keyframes curse-pop{50%{transform:scale(1.05)}}@media (width<=700px){.tv-stage{aspect-ratio:auto;grid-template-columns:1fr}.qr{width:180px}.tv .players{grid-template-columns:1fr 1fr}}.minigame-tv{flex-direction:column;height:90vh;min-height:0;padding:clamp(16px,3vh,48px) clamp(20px,3vw,60px);display:flex;overflow:hidden}.minigame-tv h1{font-size:clamp(2rem,6vh,5rem)}.minigame-tv .tv-timer{font-size:clamp(2.5rem,9vh,7rem);line-height:1}.minigame-tv .tv-mg-body{flex-direction:column;flex:1;justify-content:center;min-height:0;display:flex}.minigame-tv .tv-mg-answers{grid-template-columns:repeat(2,1fr)}.minigame-tv .tv-mg-answer{overflow-wrap:anywhere;padding:clamp(10px,2vh,24px);font-size:clamp(1.2rem,3.6vh,2.6rem)}.minigame-tv .tv-mg-quote{margin:1vh auto;font-size:clamp(1.8rem,6vh,4.5rem)}.minigame-tv .tv-mg-question{margin:0;font-size:clamp(1.2rem,3vh,2.4rem)}.minigame-tv .tv-mg-countdown{font-size:clamp(8rem,40vh,26rem)}.tv-kahoot-board{flex-direction:column;flex:1;justify-content:center;min-height:0;display:flex}.tv-kahoot-answers{grid-template-columns:repeat(2,1fr);gap:clamp(8px,1.5vh,18px);display:grid}.tv-kahoot-answer{color:#fff8df;min-height:clamp(70px,15vh,150px);padding:clamp(10px,2vh,22px);font-size:clamp(1.2rem,3.4vh,2.6rem);font-weight:800}.tv-kahoot-answer.correct{outline:7px solid #f4db77}.tv-kahoot-answer.muted{opacity:.35}.tv-kahoot-hint{min-height:1.5em;font-size:clamp(1.1rem,2.6vh,2rem)}.tv-kahoot-teams{text-align:left;grid-template-columns:repeat(2,1fr);gap:6px 20px;display:grid}.tv-kahoot-teams p{border-left:8px solid var(--team);margin:0;padding-left:10px;font-size:clamp(.9rem,2vh,1.5rem)}.minigame-phone .countdown{color:#fff8df;text-shadow:0 2px #00000059}.tv-kahoot-teams p{color:#fff8df;background:#fff8df1a;border-radius:10px;padding:6px 12px;font-size:clamp(1.2rem,3vh,2.2rem);font-weight:800}.host-remove-player{justify-content:space-between;align-items:center;gap:10px;display:flex}.host-remove-player button{width:auto;min-height:0;padding:8px 14px}.host-phase-row{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.host-phase-row button{min-height:0;padding:8px 4px;font-size:.9rem}
