/* Call dock also stays available on desktop. */
#calldock{display:flex;justify-content:center;padding:16px 0;margin-top:16px}#calldock .controls{justify-content:center}#mobiletabs,#mobileactions{display:none}
@media(max-width:750px){
 :root{--dock-height:68px;--safe-bottom:env(safe-area-inset-bottom,0px)}
 body{font-size:14px}body.in-room{position:fixed;top:var(--app-top,0px);left:0;right:0;height:var(--app-height,100dvh);overflow:hidden;background:#111a18;color:#edf2ed;display:grid;grid-template-rows:42px minmax(0,1fr)}
 body.in-room>header{padding:7px 16px;border:0;height:42px;background:#111a18}body.in-room .brand{font-size:23px;letter-spacing:-1px;color:#edf2ed}body.in-room header>.pill{font-size:9px;background:#25352e;color:#bdd3c4;padding:6px 9px}body.in-room .tag,body.in-room footer{display:none}
 body.in-room main{margin:0;padding:0 10px;width:100%;min-height:0;max-width:none;overflow:hidden}
 #room{height:100%;display:grid;grid-template-rows:38px minmax(0,1fr) calc(var(--dock-height) + var(--safe-bottom));gap:7px;min-height:0}
 .roomheading{margin:0;gap:7px;flex-wrap:nowrap;align-items:center;min-width:0}.roomheading>div{display:none}.roomheading .secondary{border-color:#3c5146;color:#d9e9de;font-size:11px;padding:8px 12px;min-height:34px}.roomheading #invite{margin-left:auto}#invitefallback{position:absolute;top:80px;z-index:8;width:90%}
 .layout{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:clamp(92px,17dvh,142px) minmax(0,1fr);gap:9px;min-height:0;overflow:hidden}
 .layout aside{position:relative;top:auto;padding:0;border:0;background:transparent;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:1fr;gap:8px;min-height:0;overflow:hidden;z-index:auto}
 .video,.video.local{height:100%;min-height:0;aspect-ratio:auto;margin:0;border-radius:15px;background:#233b31}.video.local{background:#39342e}.video video{display:block;height:100%;width:100%;object-fit:cover}.placeholder{padding:10px 8px 28px;gap:4px}.placeholder span{font-size:30px;color:#93b89a}.placeholder b{font-size:10px;color:#c4d6c9}.placeholder small{display:none}.videolabel{background:#101a18bd;color:#ecf4ee;bottom:7px;left:7px;font-size:10px;padding:5px 8px;max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 aside .audiometer,aside #videostatus{display:none}aside #hear{position:absolute;bottom:30px;left:5px;max-width:calc(50% - 10px);background:#e2eadf;color:#20362a;z-index:2;font-size:10px;padding:7px;min-height:32px}
 article{position:relative;background:#f7f6f0;color:#292d25;border:0;border-radius:20px;min-height:0;padding:10px 12px;display:flex;flex-direction:column;overflow:hidden;gap:6px}
 .gamebar{height:20px;flex-shrink:0;gap:4px}.gamebar .pill{font-size:8px;padding:4px 8px}.gamebar #presence{font-size:9px;white-space:nowrap}
 .hostsettings{margin:0;height:27px;min-height:27px;flex-wrap:nowrap;gap:4px}.hostsettings>span{font-size:9px}.hostsettings button{padding:5px 8px;min-height:26px;font-size:9px}
 #reactions{position:absolute;right:12px;bottom:10px;gap:2px;margin:0;display:none}#reactionfloat{bottom:calc(var(--dock-height) + var(--safe-bottom) + 20px);font-size:18px;max-width:90%;white-space:nowrap}
 #mobiletabs:not([hidden]){display:flex;gap:4px;flex-shrink:0;background:#e8eadd;padding:3px;border-radius:10px;height:34px}#mobiletabs button{flex:1;min-width:0;font-size:10px;padding:5px 6px;border-radius:8px;background:transparent;color:#66725e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#mobiletabs button.active{background:#fffefa;color:#20382a;box-shadow:0 1px 4px #25382c12}
 #stage{min-height:0;flex:1;overflow:hidden;padding:0;display:flex;flex-direction:column;gap:8px}#stage h3{font:600 18px/1.25 Manrope,sans-serif;letter-spacing:-.5px;margin:2px 0;flex-shrink:0;overflow-wrap:anywhere}#stage>.roundtag{font-size:8px;letter-spacing:1px;flex-shrink:0}#stage>.muted{font-size:12px;margin:0;line-height:1.4}.waiting{font-size:12px;padding:15px;border-radius:12px;line-height:1.5;margin:0}.waiting.preparing{margin:auto 0;padding:25px 14px}.waiting small{font-size:10px}#addbot{margin-top:9px;min-height:36px;padding:8px 12px}
 #catalog{display:none}article.lobby #catalog{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-auto-rows:1fr;gap:8px;min-height:0;flex:1}article.lobby #stage{flex:0 0 auto;gap:6px}article.lobby #stage h3{font-size:22px}.gamecard{margin:0;padding:12px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;min-height:0}.gamecard .symbol{font-size:23px;line-height:1;width:auto}.gamecard b{font-size:12px;line-height:1.2}.gamecard small{font-size:9px;line-height:1.3;margin-top:4px}.gamecard .arrow{display:none}
 #answerform{display:flex;flex-direction:column;flex:1;min-height:0;gap:8px}#answerform label{font-size:11px;margin:0;flex-shrink:0}textarea{font-size:16px;padding:11px;min-height:48px;max-height:none;flex:1;resize:none;line-height:1.35}#answerform .lock{margin:0;min-height:40px;flex-shrink:0}.formnav{display:flex;gap:8px;flex-shrink:0}.formnav button{flex:1;min-height:40px;padding:9px;font-size:12px}.scale{padding:12px 8px;gap:6px;min-height:65px}.scale input{font-size:16px;min-width:0}.scale output{font-size:21px;min-width:31px}
 #mobileactions:not([hidden]){display:flex;gap:7px;min-height:38px;flex-shrink:0}#mobileactions button{padding:8px 10px;font-size:11px;flex:1;min-height:38px;margin:0}#mobileactions .pagearrow{flex:0 0 38px}.m-page{font-size:10px;align-self:center;white-space:nowrap}
 .productslide{padding:14px;flex:1;min-height:0;margin:0;display:flex;flex-direction:column;justify-content:center;gap:8px;border-radius:14px}.productslide h4{font-size:clamp(22px,6vw,30px);line-height:1.05;margin:0;max-width:86%;letter-spacing:-1px}.productslide .roundtag{font-size:7px;letter-spacing:1px}.productslide .tagline{font-size:13px;line-height:1.35;max-width:90%;margin:0}.producticon{font-size:44px;top:15px;right:12px;opacity:.7}.productslide .price{font-size:11px;padding-top:8px;line-height:1.3}.productslide ul{margin:0;padding:0}.productslide li{font-size:12px;line-height:1.3;margin:7px 0;padding-left:16px}.slidefoot{font-size:7px;margin:0;letter-spacing:.7px}.fakechart{height:70px;flex:1;max-height:105px;margin:0;padding:6px;gap:10px}.productslide blockquote{font-size:17px;line-height:1.35;margin:0}
 .turnbar{margin:0;padding:8px 10px;gap:6px;flex-shrink:0}.turnbar b{font-size:11px}.turnbar small{display:none}.turnbar strong{font-size:23px}.turnactions{gap:5px}.turnactions button,#pitchtimer{min-height:36px;padding:8px 10px;font-size:11px}.twist{font-size:8px;line-height:1.3;padding:8px;margin:0;flex-shrink:0}.twist b{font-size:11px}.m-card{background:#eeeee4;border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:10px;flex:1;min-height:0;justify-content:center}.m-card .m-label{font-size:10px;color:#66795c}.m-card p{font-size:16px;line-height:1.4;margin:0;overflow-wrap:anywhere}.m-card.host{background:#e8eee0}.m-score{font-size:11px;color:#526b42;margin:0}.mobilecaption{font-size:9px;color:#728168;margin:0}
 #calldock{height:calc(var(--dock-height) + var(--safe-bottom));margin:0;padding:5px 0 calc(5px + var(--safe-bottom));align-items:center;min-width:0}#calldock .controls{display:flex;gap:6px;width:100%;justify-content:center;flex-wrap:nowrap;min-width:0}#calldock button{border:0;background:#263c31;color:#dceadf;font-size:9px;min-height:51px;min-width:0;flex:1;padding:7px 3px;border-radius:13px;white-space:normal;line-height:1.2}#calldock button:before{display:block;font-size:18px;line-height:1.2;margin-bottom:4px}#camera:before,#camoff:before{content:'▣'}#mute:before,#audioonly:before{content:'♩'}#reconnect:before{content:'↻'}#hangup:before{content:'⌁'}#calldock #hangup{background:#b84d47;color:white}#calldock #camera{background:#bdddbb;color:#193a26}button:hover{transform:none}
 body.in-room.keyboard .layout{grid-template-rows:48px minmax(0,1fr)}body.in-room.keyboard .hostsettings,body.in-room.keyboard .gamebar{display:none}body.in-room.keyboard .placeholder span{display:none}body.in-room.keyboard .placeholder{padding:4px}body.in-room.keyboard .videolabel{bottom:4px}body.in-room.keyboard{grid-template-rows:0 minmax(0,1fr)}body.in-room.keyboard>header{display:none}body.in-room.keyboard #room{grid-template-rows:0 minmax(0,1fr) 0;gap:4px}body.in-room.keyboard .roomheading,body.in-room.keyboard #calldock{display:none}
 body:not(.in-room){min-height:100dvh}body:not(.in-room)>header{height:54px;padding:10px 18px}body:not(.in-room) main{padding:12px 22px}#welcome{padding:10px 0}#welcome h1{font-size:37px;letter-spacing:-1.8px;margin:18px 0}#welcome .lead{font-size:14px;line-height:1.5;margin:12px 0}#joinform{margin-top:20px}#welcome .entry{gap:8px}#welcome input{font-size:16px}#welcome .preview{display:none}body:not(.in-room) footer{display:none}
}
@media(max-width:750px) and (max-height:720px){.layout{grid-template-rows:90px minmax(0,1fr)}article{gap:5px;padding:8px 10px}.hostsettings{display:none}.gamecard{padding:8px;gap:3px}.gamecard small{display:none}article.lobby #stage h3{font-size:18px}.productslide{padding:10px;gap:5px}.productslide h4{font-size:23px}.productslide .tagline{font-size:12px}.productslide .price{font-size:10px}.productslide li{font-size:11px}.m-card p{font-size:14px}#stage h3{font-size:16px}.turnbar{padding:6px 9px}#welcome h1{font-size:31px;margin:12px 0}#welcome .fine{font-size:10px}}
#mobilemore{display:none}#mobilemenu{border:0;border-radius:20px;padding:20px;background:#f7f6f0;color:#25362b;width:min(340px,90vw)}#mobilemenu::backdrop{background:#0a1614aa;backdrop-filter:blur(5px)}.menutitle{display:flex;align-items:center;justify-content:space-between}.menutitle button{min-width:40px;min-height:40px;padding:8px}#menustatus{font-size:12px;line-height:1.5;color:#677760}.menureactions{display:flex;gap:6px;margin:20px 0}.menureactions button{padding:10px;flex:1;background:#e7ebdf;color:#263a2d;font-size:21px}#menuvoice,#menusave{display:block;width:100%;margin-top:10px;min-height:44px}@media(max-width:750px){#mobilemore{display:block}.roomheading #mobilemore{margin-left:auto}.roomheading #invite{margin-left:0}#toast{bottom:calc(var(--dock-height) + var(--safe-bottom) + 8px);font-size:12px}}
/* A playful living room, rather than a meeting dashboard. */
@media(max-width:750px){
 body.in-room{background:#fff2e6;color:#3d3333}body.in-room>header{background:#fff2e6}body.in-room .brand{color:#3d3333}.brand span{color:#df795b}body.in-room header>.pill{background:#f9dec7;color:#986d53;font-size:9px;letter-spacing:.3px}
 .roomheading .secondary{border-color:#e6cdb8;color:#785b4c;background:#fff8ef;font-size:10px}.roomheading #mobilemore{font-size:15px}
 .video.remote{background:#d9e6d8}.video.local{background:#f3d7c3}.placeholder span{color:#789674;font-size:34px}.local .placeholder span{color:#c58662}.placeholder b{color:#667d62;font-size:10px}.local .placeholder b{color:#997255}.videolabel{background:#fffcf0d9;color:#604e40;border-radius:20px;font-size:9px}.video{box-shadow:inset 0 0 0 1px #7c98721a}
 article{background:#fffcf6;border:1px solid #eddfcf;box-shadow:0 3px 12px #b8835c08}.gamebar .pill{background:#f6e3c6;color:#997344}.hostsettings>span{color:#a1876d;font-size:9px}.hostsettings button{color:#8b705e;border-color:#eadccd;background:#fffaf2;font-size:9px}
 #mobiletabs:not([hidden]){background:#f3eade}#mobiletabs button{color:#a08570}#mobiletabs button.active{background:#fffdf8;color:#8c5a43;box-shadow:0 1px 4px #a4764620}
 .gamecard{position:relative;overflow:hidden;border:1px solid #ffffff80;box-shadow:0 2px 3px #94765205;border-radius:17px;padding:14px;gap:10px}.gamecard:after{content:'✧';position:absolute;right:10px;top:10px;font-size:26px;opacity:.25;transform:rotate(15deg)}.gamecard .symbol{font-size:31px;line-height:1;background:#ffffff55;padding:9px;border-radius:50%;width:49px;height:49px;text-align:center;display:flex;align-items:center;justify-content:center}.gamecard b{font-size:12px;color:#514740}.gamecard small{font-size:9px;color:#796d60}.gamecard.peach{background:#f7d6c4}.gamecard.lilac{background:#e7def8}.gamecard.mint{background:#e2eccf}.gamecard:nth-child(4){background:#f9e8b7}.gamecard:nth-child(4):after{content:'✺'}.gamecard:nth-child(2):after{content:'♡'}
 #calldock button{background:#eedfce;color:#785e4a;border-radius:15px;font-size:9px}#calldock #camera{background:#e69373;color:#fffaf4}#calldock #hangup{background:#c56357;color:#fff9f3}#calldock button:active,.gamecard:active{transform:scale(.97)}
 .productslide{background:#eae1fb;border-color:#dcd0ed}.productslide .roundtag{color:#9d87b4}.turnbar{background:#edf0da}.twist{background:#ffe0ad}.waiting{background:#f8ebd8;color:#92704d}.m-card{background:#f8eadb}.m-card.host{background:#ebefd7}.m-card .m-label{color:#998065}#mobileactions button,#answerform .lock,.formnav button:not(.secondary),#pitchtimer{background:#a77756;color:#fffaf0;border-radius:12px}#mobileactions .secondary,.formnav .secondary{background:#f3e8d9;color:#866951}
}
@media(max-width:750px) and (max-height:720px){.gamecard{padding:9px;gap:5px}.gamecard .symbol{font-size:24px;width:35px;height:35px;padding:5px}.gamecard:after{font-size:20px}}
#pip-grip,#pip-expand,.callhint{display:none}
@media(max-width:750px){
 body.in-room .layout,body.in-room.keyboard .layout{display:block;position:relative;overflow:visible;min-height:0;--pip-width:122px;--pip-height:110px;--pip-clearance:120px}
 body.in-room .layout aside{position:absolute;display:block;left:auto;right:10px;top:10px;width:var(--pip-width);height:var(--pip-height);padding:0;min-height:0;border:2px solid #fffaf2;border-radius:17px;overflow:hidden;z-index:8;box-shadow:0 5px 20px #553e352e;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab;transition:box-shadow .15s}
 body.in-room .layout aside.dragging{cursor:grabbing;box-shadow:0 12px 32px #553e3555;outline:2px solid #e7a27c}
 body.in-room .layout aside .video.remote{position:absolute;inset:0;width:100%;height:100%;min-height:0;border-radius:14px;aspect-ratio:auto;margin:0}
 body.in-room .layout aside .video.local{position:absolute;right:5px;bottom:5px;inset:auto 5px 5px auto;width:40px;height:43px;min-height:0;border:1px solid #fff8ef;border-radius:8px;z-index:2;margin:0;aspect-ratio:auto;box-shadow:0 2px 5px #0002}
 body.in-room .layout aside video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;min-height:0;max-height:100%}
 body.in-room .layout aside .local .videolabel,body.in-room .layout aside .local .placeholder b{display:none}
 body.in-room .layout aside .local .placeholder{padding:0}.layout aside .local .placeholder span{font-size:20px}
 body.in-room .layout aside .remote .placeholder{padding:25px 7px 25px;gap:2px}.layout aside .remote .placeholder span{font-size:24px}.layout aside .remote .placeholder b{font-size:9px}
 body.in-room .layout aside .remote .videolabel{max-width:calc(100% - 52px);padding:4px 5px;bottom:6px;left:5px;font-size:8px}
 #pip-grip,#pip-expand{display:block;position:absolute;top:4px;z-index:4;min-height:27px;width:29px;padding:1px;border:0;border-radius:8px;background:#13251bb0;color:white;font-size:18px;line-height:1;touch-action:none}
 #pip-grip{left:4px;cursor:grab}#pip-expand{right:4px;font-size:20px}.layout aside #hear{bottom:48px;left:4px;max-width:calc(100% - 8px);width:calc(100% - 8px);font-size:8px;padding:4px;min-height:26px}
 body.in-room article{height:100%;width:100%;padding-top:calc(10px + var(--pip-clearance));box-sizing:border-box;transition:padding .18s ease}
 .callhint{display:block;position:absolute;left:18px;right:calc(var(--pip-width) + 30px);top:34px;font:600 21px/1.2 Manrope,sans-serif;color:#917157;letter-spacing:-.6px;pointer-events:none}.callhint small{display:block;font:10px/1.4 'DM Sans',sans-serif;letter-spacing:0;color:#ae937c;margin-top:8px}
 .layout[data-pip-side="left"] .callhint{left:calc(var(--pip-width) + 30px);right:18px}
 body.in-room .layout[data-pip-edge="bottom"] article{padding-top:10px;padding-bottom:calc(10px + var(--pip-clearance))}
 .layout[data-pip-edge="bottom"] .callhint{top:auto;bottom:40px}
 body.in-room .layout.call-focus article{visibility:hidden;pointer-events:none}
 body.in-room .layout.call-focus aside{inset:0!important;width:100%!important;height:100%!important;border-radius:20px;cursor:default}
 body.in-room .layout.call-focus aside .video.local{width:76px;height:92px;right:12px;bottom:12px;border-radius:12px}.layout.call-focus #pip-expand{width:40px;height:40px;font-size:26px;right:8px;top:8px}.layout.call-focus #pip-grip{display:none}
 .layout.call-focus aside .remote .videolabel{font-size:12px;max-width:60%;left:12px;bottom:15px}.layout.call-focus aside .remote .placeholder b{font-size:15px}
 body.in-room.keyboard .layout{--pip-width:88px;--pip-height:64px;--pip-clearance:70px}.keyboard .callhint{top:15px;font-size:15px}.keyboard .callhint small{display:none}.keyboard #pip-grip,.keyboard #pip-expand{height:22px;min-height:22px;width:25px;font-size:15px}.keyboard .layout aside .video.local{width:25px!important;height:28px!important}
 body.in-room.keyboard .layout[data-pip-edge="bottom"] article{padding-top:calc(10px + var(--pip-clearance));padding-bottom:10px}
 @media(max-height:700px){body.in-room .layout{--pip-height:90px;--pip-width:110px;--pip-clearance:100px}.callhint{font-size:18px;top:25px}.hostsettings{display:none}}
}
@media(prefers-reduced-motion:reduce){body.in-room article{transition:none}}
