:root{color:#253e44;font-synthesis:none;background:#f2eadb;font-family:ui-rounded,Avenir Next,Avenir,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;overflow:hidden}button{font:inherit;cursor:pointer;color:#294950;background:#fff8ec;border:0;border-radius:14px;padding:12px 18px;font-weight:750;transition:transform .15s;box-shadow:0 3px #d6ccba}button:hover{transform:translateY(-2px)}button:active{transform:translateY(2px)}button:disabled{opacity:.5;cursor:wait}#scene{width:100%;height:100%;display:block}header{pointer-events:none;justify-content:space-between;align-items:flex-start;gap:18px;display:flex;position:absolute;top:3%;left:4%;right:4%}header button{pointer-events:auto}.eyebrow{letter-spacing:2px;font-size:10px;font-weight:850}h1{letter-spacing:-4px;align-items:center;gap:10px;margin:8px 0;font-size:56px;line-height:1;display:flex}h1 span{letter-spacing:-.8px;max-width:90px;font-size:22px}h1 i{color:#e78555;font-size:48px;font-style:normal}.clock{text-align:center;background:#fff9ed;border-radius:18px;min-width:180px;padding:12px 24px;box-shadow:0 5px #d8d2bf}.clock>span{letter-spacing:3px;font-size:9px;font-weight:800}.clock strong{letter-spacing:2px;font-variant-numeric:tabular-nums;font-size:32px;display:block}.clock-track{background:#e8dfce;border-radius:10px;height:4px;margin-top:7px;overflow:hidden}#clock-fill{background:#ed986b;width:100%;height:100%;transition:width .2s}#sound{font-size:11px}#status{text-align:center;background:#f9fff0ec;border:1px solid #b0c6a7;border-radius:40px;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;min-width:320px;padding:12px 24px;display:flex;position:absolute;top:18%;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #48665612}#signal{background:#72a987;border-radius:50%;width:9px;height:9px}#boss-status{letter-spacing:1px;font-size:12px}#boss-tip{color:#647571;flex-basis:100%;font-size:11px}.warning #status,.watching #status{background:#fff0dc;border-color:#eb9d5d}.warning #signal,.watching #signal{background:#df704f}.warning #status{animation:.25s infinite alternate pulse}.watching #status{background:#ffe5df}.team{width:200px;position:absolute;top:28%;left:4%}.team .eyebrow{letter-spacing:1px;font-size:9px}.team #count{float:right}.player{border-bottom:1px solid #536f601c;align-items:center;gap:8px;padding:10px 0;font-size:12px;display:flex}.dot{border:2px solid #fff;border-radius:50%;width:12px;height:12px;box-shadow:0 1px 3px #0002}.player b{margin-left:auto;font-size:10px}#copy{width:100%;margin-top:14px;font-size:11px}#connection{color:#698276;margin-top:12px;font-size:10px;display:block}#card{background:#fffaf0f5;border-radius:24px;width:310px;padding:24px;position:absolute;bottom:18%;left:4%;box-shadow:0 8px #dcd3bc,0 12px 35px #4c60541c}h2{letter-spacing:-1px;margin:14px 0;font-size:27px;line-height:1.12}#card p{color:#677b79;margin:12px 0 18px;font-size:12px;line-height:1.65}#start{color:#302e30;background:#e99468;width:100%;box-shadow:0 4px #cc794f}#card-foot{color:#78857e;margin-top:14px;font-size:9px;display:block}#stars{color:#db9941;letter-spacing:8px;margin-bottom:10px;font-size:32px}footer{text-align:center;color:#506864;font-size:12px;position:absolute;bottom:3%;left:4%;right:4%}.key{background:#fff8eb;border-radius:7px;margin:0 4px 0 12px;padding:5px 9px;font-size:10px;font-weight:850;display:inline-block;box-shadow:0 2px #d6cdbb}footer p{color:#7e8880;margin:12px 0 0;font-size:11px}#stamp{color:#bc5140;text-align:center;pointer-events:none;background:#fff1dfed;border:5px double #bc5140;border-radius:12px;padding:20px 30px;display:none;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)rotate(-12deg)scale(1.3);box-shadow:0 10px 40px #93452f33}#stamp span{letter-spacing:6px;font-size:25px;font-weight:950;display:block}#stamp strong{font-size:36px;display:block}#stamp small{font-size:10px}#toast{color:#fff8df;background:#294b43ed;border-radius:30px;padding:12px 22px;font-size:12px;display:none;position:absolute;bottom:16%;left:50%;transform:translate(-50%)}#touch{pointer-events:none;justify-content:space-between;align-items:end;display:none;position:absolute;bottom:12%;left:4%;right:4%}#touch button{pointer-events:auto;touch-action:none;background:#fff9e9d9;padding:14px}#touch .dpad{grid-template-columns:repeat(3,44px);gap:5px;display:grid}.dpad button:first-child{grid-column:2}.dpad button:nth-child(2){grid-column:1}.spectator .team,.spectator #card,.spectator #touch,.spectator #sound,.spectator #coach{display:none}.spectator footer{font-size:15px}.spectator footer p{font-size:13px}.spectator #status{top:16%}@keyframes pulse{to{transform:translate(-50%)scale(1.025)}}[hidden]{display:none!important}@media (pointer:coarse){#touch{display:flex}footer>div{display:none}}@media (width<=700px){header{gap:8px;top:3%;left:6%;right:6%}h1{letter-spacing:-3px;gap:5px;font-size:40px}h1 span{font-size:15px}h1 i{font-size:30px}.brand .eyebrow{letter-spacing:1px;font-size:7px}.clock{min-width:125px;padding:10px 12px}.clock strong{font-size:24px}.clock>span{letter-spacing:1.5px;font-size:7px}#sound{padding:8px;font-size:10px;position:fixed;bottom:3%;right:6%}#status{min-width:270px;padding:9px 18px;top:15%}.team{width:140px;top:auto;bottom:18%;left:6%}.team .eyebrow{font-size:7px}.player{padding:5px 0;font-size:10px}.team #copy{padding:8px;font-size:10px}#connection{font-size:8px}#card{width:auto;padding:22px;bottom:16%;left:6%;right:6%}#card h2{font-size:25px}footer{font-size:8px;bottom:4%;left:6%;right:6%}.key{margin:0 2px;padding:4px;font-size:8px}footer p{max-width:260px;margin:12px auto 0;font-size:9px}#stamp{padding:12px 18px;transform:translate(-50%,-50%)rotate(-12deg)}#stamp strong{font-size:28px}.playing .team{display:none}.spectator footer>div{font-size:10px}.spectator footer p{font-size:11px}}#cough{color:#af342e;pointer-events:none;background:#fff9e8;border:5px solid #713d36;border-radius:45%;padding:18px 45px;font-size:clamp(50px,9vw,110px);font-weight:1000;position:absolute;top:29%;left:50%;transform:translate(-50%)rotate(-5deg);box-shadow:8px 9px #713d3626}#cough small{text-align:center;letter-spacing:3px;font-size:18px;display:block}#cough[hidden],#double-turn[hidden]{display:none}#double-turn{text-align:center;color:#b22d33;pointer-events:none;width:100%;font-size:18px;font-weight:900;position:absolute;top:26%}.spectator #stamp{display:none}.spectator.playing #stamp{display:block}#stamp{pointer-events:none;z-index:8}.spectator .team{display:none}@media (aspect-ratio<=4/5){#status{top:16%}#cough{top:27%}.brand .eyebrow{display:none}.clock{min-width:130px;padding:10px}.clock strong{font-size:24px}header{gap:10px}h1{font-size:40px}}.spectator.finished #card:not([hidden]){display:block}.spectator #start{display:none}#card{width:370px;bottom:14%}#card b{color:#c8553f}#howto{background:#f4ecda;border-radius:16px;flex-direction:column;gap:8px;margin:0 0 16px;padding:12px 14px;display:flex}#howto>div{align-items:center;gap:8px;display:flex}#howto em{color:#3d5c52;margin-left:auto;font-size:13px;font-style:normal;font-weight:800}.keys{gap:3px;display:inline-flex}.keys.alt{opacity:.85;margin-left:4px}.key.wide{padding:5px 22px}#howto .key,#coach .key{text-align:center;min-width:26px;margin:0;font-size:12px}#invite{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}#invite button{color:#1f3d36;background:#8cd4bd;width:100%;box-shadow:0 4px #6bb39c}#waiting{color:#c8553f;text-align:center;font-size:11px;font-weight:800}#start{padding:14px 18px;font-size:16px}#card[hidden],#coach[hidden]{display:none}#coach{text-align:center;pointer-events:none;background:#fffaf0f2;border-radius:22px;padding:14px 26px;font-size:15px;font-weight:800;line-height:2.1;animation:7s forwards coach;position:absolute;bottom:19%;left:50%;transform:translate(-50%);box-shadow:0 6px #dcd3bc,0 12px 35px #4c60541f}#coach strong{color:#c8553f;font-size:20px;display:block}@keyframes coach{0%{opacity:0;transform:translate(-50%,16px)}6%{opacity:1;transform:translate(-50%)}86%{opacity:1}to{opacity:0}}.overlay{z-index:30;background:#f2eadbf0;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.overlay[hidden]{display:none}.panel{text-align:center;background:#fffaf0;border-radius:26px;max-width:420px;padding:30px 28px;box-shadow:0 8px #dcd3bc,0 14px 40px #4c60541f}.panel h2{margin:10px 0}.panel p{color:#5f7471;margin:8px 0 20px;font-size:14px;line-height:1.7}.actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.actions button{color:#302e30;background:#e99468;box-shadow:0 4px #cc794f}.actions .ghost{background:#fff8ec;box-shadow:0 3px #d6ccba}.footer-note{display:none}@media (width<=700px){#card{width:auto;bottom:16%}#howto em{font-size:11px}#coach{padding:10px 16px;font-size:12px;bottom:24%}}.finished #howto{display:none}@media (width>=701px){.team{top:26%;left:auto;right:4%}}button,.player,#connection,#status,#card,#coach,#toast,.panel{overflow-wrap:anywhere}button{white-space:normal;max-width:100%}.brand{min-width:0}.brand .eyebrow{max-width:240px;line-height:1.5;display:block}.clock{flex-shrink:0}#status{width:max-content;min-width:0;max-width:92vw}#boss-tip{max-width:430px}#signal,.dot{flex-shrink:0}.player>span:not(.dot){min-width:0}.player b{text-align:right;max-width:50%}#card{overscroll-behavior:contain;max-width:92vw;max-height:calc(100dvh - 270px);overflow-y:auto}#card-title{white-space:pre-line}#howto>div{flex-wrap:wrap}.keys{flex-shrink:0}#coach{width:max-content;max-width:92vw}#coach>div{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:flex}#toast{text-align:center;width:max-content;max-width:88vw}#stamp{width:max-content;max-width:82vw}#stamp strong{font-size:clamp(24px,5vw,36px)}html[lang=en] #cough{padding:18px 28px;font-size:clamp(34px,7vw,92px)}.overlay{overscroll-behavior:contain;overflow-y:auto}.panel{flex-shrink:0;width:100%;min-width:0;max-height:calc(100dvh - 48px);overflow-y:auto}@media (width<=700px){#card{max-width:88vw;max-height:calc(100dvh - 260px)}#howto{padding:10px}#howto .key{min-width:20px;font-size:10px}#howto>div{gap:6px}#howto em{flex-shrink:0}#coach strong{font-size:17px}#stamp span{letter-spacing:3px;font-size:20px}}@media (height<=540px){#card{z-index:10;max-height:78dvh;bottom:5%}#coach{max-height:65dvh;bottom:12%;overflow-y:auto}}
