:root{--bg1:#7ad7ff;--bg2:#b9f6ca;--ink:#1d2b53;--muted:#5b6b8c;--primary:#ff7043;--primary-dark:#e64a19;--card:#fff;--radius:22px;--shadow:0 10px 30px #1d2b532e;--team:#1e88e5;color:var(--ink);-webkit-tap-highlight-color:transparent;font-family:Nunito,Segoe UI,Roboto,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html,body{min-height:100%;margin:0}html{background:var(--bg2) linear-gradient(160deg, var(--bg1), var(--bg2)) no-repeat fixed}body{overscroll-behavior:none}#app{min-height:100dvh}button{font:inherit;color:inherit}[hidden]{display:none!important}h1,h2{margin:0 0 .4em;line-height:1.15}.hint{color:var(--muted);margin:.5em 0 0;font-size:.95rem}.btn{cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:#eef3ff;border:0;border-radius:999px;padding:.6em 1.3em;font-weight:800;transition:transform 80ms,box-shadow .15s,background .15s}.btn:active:not(:disabled){transform:translateY(2px)scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:linear-gradient(180deg, #ff8a65, var(--primary));color:#fff;box-shadow:0 5px 0 var(--primary-dark)}.btn-primary:active:not(:disabled){box-shadow:0 2px 0 var(--primary-dark)}.btn-ghost{color:var(--ink);background:#ffffffb3}.btn-big{padding:.75em 1.6em;font-size:1.2rem}.btn-huge{padding:.6em 2em;font-size:1.7rem}.btn-round{width:2.6em;height:2.6em;padding:0;font-size:1.2rem}.btn-icon{background:#ffffffd9;width:2.6rem;height:2.6rem;padding:0;font-size:1.2rem}.home{max-width:1080px;min-height:100dvh;padding:24px 20px 32px;padding-left:max(20px, env(safe-area-inset-left));padding-right:max(20px, env(safe-area-inset-right));padding-top:max(24px, env(safe-area-inset-top));padding-bottom:max(32px, env(safe-area-inset-bottom));flex-direction:column;justify-content:center;margin:0 auto;display:flex}.hero{text-align:center;margin-bottom:clamp(16px,4vh,32px)}.hero-emoji{letter-spacing:.2em;white-space:nowrap;font-size:clamp(2rem,7vw,3rem);animation:2.4s ease-in-out infinite bob}.hero h1{color:#fff;text-shadow:0 4px #0277bd,0 8px 20px #0003;font-size:clamp(2rem,6vw,3.6rem)}.hero p{max-width:640px;margin:0 auto;font-size:clamp(1rem,2.2vw,1.15rem)}.home-cards{grid-template-columns:minmax(0,1fr);gap:clamp(12px,2.5vw,24px);display:grid}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);text-align:center;flex-direction:column;align-items:center;gap:12px;min-width:0;padding:28px;display:flex}.card-icon{font-size:3.2rem;line-height:1}.card h2{margin:0 0 .25em}.card p{color:var(--muted);margin:0}.card-text{min-width:0}.card-actions{flex-direction:column;align-items:center;gap:10px;width:100%;display:flex}.card-actions .btn{max-width:100%}.join-form{flex-direction:column;align-items:center;gap:12px;width:100%;display:flex}.code-input{font:inherit;letter-spacing:.3em;text-align:center;border:4px solid #cfd8ff;border-radius:18px;outline:none;width:100%;min-width:0;max-width:300px;padding:.3em .2em .3em .5em;font-size:2.2rem;font-weight:900}.code-input:focus{border-color:#42a5f5}@media (width>=900px){.home-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.card-actions{margin-top:auto}}@media (width>=600px) and (width<=899.98px){.card{text-align:left;grid-template-columns:auto minmax(0,1fr) minmax(220px,280px);align-items:center;gap:18px;padding:20px 24px;display:grid}.card-icon{font-size:3rem}.code-input{font-size:1.8rem}}@media (width<=599.98px){.home{padding-top:max(16px, env(safe-area-inset-top));justify-content:flex-start}.hero-emoji{font-size:2rem}.card{text-align:left;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"icon text""act act";align-items:center;gap:10px 14px;padding:16px;display:grid}.card-icon{grid-area:icon;font-size:2.6rem}.card-text{grid-area:text}.card h2{font-size:1.3rem}.card p{font-size:.92rem}.card-actions{grid-area:act}.card-actions .btn-big{width:100%}.join-form{flex-direction:row;gap:8px}.code-input{letter-spacing:.18em;border-width:3px;flex:1;max-width:none;padding:.3em .1em .3em .3em;font-size:1.5rem}.join-form .btn-big{flex:none;width:auto;padding:.7em 1em}}@media (width<=599.98px) and (height<=760px) and (orientation:portrait){.hero{margin-bottom:12px}.hero-emoji{display:none}.hero h1{margin:0;font-size:2rem}.hero p{display:none}}@media (width<=359.98px){.join-form{flex-direction:column}.code-input,.join-form .btn-big{width:100%}}@media (width<=599.98px) and (height<=620px) and (orientation:portrait){.card p{display:none}.card{padding:12px 14px}}@media (orientation:landscape) and (height<=500px){.home{max-width:none;padding-top:max(10px, env(safe-area-inset-top));padding-bottom:max(10px, env(safe-area-inset-bottom));justify-content:center}.hero{margin-bottom:10px}.hero-emoji,.hero p{display:none}.hero h1{text-shadow:0 3px #0277bd;margin:0;font-size:clamp(1.5rem,7vh,2.2rem)}.home-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.card{text-align:left;grid-template:"icon text""desc desc"1fr"act act"/auto minmax(0,1fr);align-items:center;gap:6px 8px;padding:10px 12px;display:grid}.card-text{display:contents}.card-icon{grid-area:icon;font-size:1.8rem}.card h2{grid-area:text;margin:0;font-size:1.1rem}.card p{grid-area:desc;align-self:start;font-size:.8rem}.card-actions{grid-area:act;gap:6px}.card-actions .btn-big{white-space:nowrap;width:100%;min-height:40px;padding:.55em .6em;font-size:clamp(.85rem,2vw,1rem)}.card-actions .btn-ghost{padding:.4em .8em;font-size:.85rem}.join-form{flex-direction:column;gap:6px}.code-input{letter-spacing:.1em;border-width:3px;border-radius:12px;max-width:none;padding:.35em .1em;font-size:1.1rem}}.setup{max-width:820px;margin:0 auto;padding:24px 16px 60px}.setup-head{align-items:center;gap:16px;margin-bottom:12px;display:flex}.setup-head h1{color:#fff;text-shadow:0 3px #0277bd;margin:0}.setup-section{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px;padding:20px 22px}.setup-section h2{font-size:1.2rem}.seg{flex-wrap:wrap;gap:8px;display:flex}.seg-btn{cursor:pointer;background:#f6f8ff;border:3px solid #dfe6ff;border-radius:14px;padding:.55em 1em;font-weight:800}.seg-btn.active{color:#0d47a1;background:#e3f2fd;border-color:#42a5f5}.checks{flex-wrap:wrap;gap:10px 20px;display:flex}.check{cursor:pointer;align-items:center;gap:8px;font-weight:700;display:flex}.check input{width:1.3em;height:1.3em}.custom{flex-direction:column;gap:10px;margin-top:14px;display:flex}.field{flex-direction:column;gap:6px;font-weight:700;display:flex}.field input,.team-edit input{font:inherit;border:3px solid #dfe6ff;border-radius:12px;outline:none;max-width:260px;padding:.5em .8em;font-size:1.1rem}.field input:focus,.team-edit input:focus{border-color:#42a5f5}.field-label{margin-top:6px;font-weight:700}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{cursor:pointer;background:#eef3ff;border:0;border-radius:999px;padding:.3em .9em;font-weight:700}.stepper{align-items:center;gap:14px;display:flex}.stepper-value{text-align:center;min-width:4em;font-size:1.3rem;font-weight:900}.scene-hint{color:#00796b;font-size:1.1rem;font-weight:800}.teams-edit{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.team-edit{align-items:center;gap:8px;display:flex}.team-edit input{border-color:var(--team);width:100%}.dot{background:var(--team);border-radius:50%;flex:none;width:22px;height:22px}.setup-foot{text-align:center}.setup-foot .btn{margin-top:14px}.host{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr);height:100dvh;display:grid;overflow:hidden}.host-shared{grid-template-rows:auto minmax(180px,40fr) 60fr}.host-shared[data-phase=lobby],.host-shared[data-phase=finished]{grid-template-rows:auto 1fr 0}.host-bar{padding:8px 14px;padding-left:max(14px, env(safe-area-inset-left));padding-right:max(14px, env(safe-area-inset-right));padding-top:max(8px, env(safe-area-inset-top));z-index:5;background:#ffffffeb;align-items:center;gap:16px;display:flex;box-shadow:0 2px 12px #0000001a}.room-info{flex-direction:column;line-height:1;display:flex}.room-label{color:var(--muted);font-size:.75rem;font-weight:700}.room-code{letter-spacing:.08em;font-size:1.7rem}.host-shared .room-info{visibility:hidden;width:0}.host-actions{gap:6px;margin-left:auto;display:flex}.scoreboard{flex:1;gap:10px;min-width:0;display:flex}.sb-team{border:3px solid var(--team);background:#fff;border-radius:14px;flex:1;min-width:0;padding:4px 10px 6px}.sb-row{justify-content:space-between;gap:6px;font-weight:900;display:flex}.sb-name{text-overflow:ellipsis;white-space:nowrap;color:var(--team);overflow:hidden}.sb-score{font-size:1.2rem}.sb-track{background:#eceff1;border-radius:99px;height:10px;margin-top:2px;overflow:hidden}.sb-bar{background:var(--team);border-radius:99px;height:100%;transition:width .6s cubic-bezier(.3,1.5,.5,1)}.sb-members{color:var(--muted);font-size:.75rem}.flash-good{animation:.6s pop}.flash-bad{animation:.4s shake}.host-main{min-height:0;position:relative;overflow:hidden}.stage{position:absolute;inset:0}.stage canvas{width:100%;height:100%;display:block}.no-webgl{color:var(--muted);text-align:center;place-items:center;padding:20px;font-weight:700;display:grid;position:absolute;inset:0}.question-card{border-radius:var(--radius);width:min(92%,1100px);box-shadow:var(--shadow);text-align:center;z-index:2;background:#fffffff2;padding:12px 24px 16px;animation:.45s cubic-bezier(.2,1.4,.4,1) drop-in;position:absolute;top:14px;left:50%;transform:translate(-50%)}.q-meta{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.95rem;font-weight:800}.prompt{font-weight:900;line-height:1.25}.question-card .prompt{font-size:clamp(1.8rem,4.2vw,3.6rem)}.host-shared .question-card .prompt{font-size:clamp(1.5rem,3.4vw,3rem)}.prompt-arrange{color:var(--muted);font-size:1.4rem!important}.blank{color:#ff7043;border-bottom:5px dashed #ff7043;min-width:1.4em;margin:0 .06em;display:inline-block}.q-choices,.q-words{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:10px;display:flex}.q-choice,.q-word{background:#f1f5ff;border-radius:14px;padding:.2em .8em;font-size:clamp(1.2rem,2.4vw,2rem);font-weight:800}.q-choice:before{content:attr(data-letter);color:#fff;background:#5c6bc0;border-radius:8px;margin-right:.45em;padding:0 .35em;font-size:.8em;display:inline-block}.reveal-banner{background:var(--team);color:#fff;border-radius:var(--radius);box-shadow:var(--shadow);text-align:center;z-index:3;max-width:92%;padding:12px 30px;animation:.5s cubic-bezier(.2,1.6,.4,1) pop-in;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.banner-title{font-size:clamp(1.4rem,3vw,2.4rem);font-weight:900}.banner-answer{opacity:.95;font-size:1.15rem;font-weight:700}.offline-banner{color:#fff;text-align:center;z-index:50;background:#d32f2f;padding:6px;font-weight:800;position:fixed;top:0;left:0;right:0}.lobby-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:4;background:#0d47a140;place-items:center;padding:16px;display:grid;position:absolute;inset:0;overflow:auto}.lobby-card{border-radius:var(--radius);box-shadow:var(--shadow);text-align:center;background:#fff;flex-direction:column;align-items:center;gap:14px;width:100%;max-width:900px;padding:24px 32px;display:flex}.lobby-join{flex-wrap:wrap;justify-content:center;align-items:center;gap:28px;display:flex}.qr{border:6px solid #e8eaf6;border-radius:16px;width:220px;height:220px}.lobby-steps{text-align:left}.lobby-steps p{color:var(--muted);margin:.1em 0;font-weight:700}.lobby-url{font-size:1.5rem;color:var(--ink)!important;font-weight:900!important}.lobby-code{letter-spacing:.12em;font-size:3.2rem;line-height:1;color:#e64a19!important;font-weight:900!important}.lobby-teams{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.lobby-team{background:var(--team);color:#fff;border-radius:16px;flex-direction:column;min-width:140px;padding:10px 18px;font-weight:900;animation:.4s pop-in;display:flex}.lobby-team.empty{opacity:.55}.lobby-team-name{font-size:1.3rem}.lobby-team-count{opacity:.9;font-size:.9rem}.shared-panels{padding:10px;padding-left:max(10px, env(safe-area-inset-left));padding-right:max(10px, env(safe-area-inset-right));padding-bottom:max(10px, env(safe-area-inset-bottom));grid-template-columns:repeat(var(--cols,2), 1fr);grid-auto-rows:1fr;gap:10px;min-height:0;display:grid}.host[data-teams="3"] .shared-panels{--cols:3}.host[data-teams="4"] .shared-panels{--cols:4}.host[data-teams="5"] .shared-panels,.host[data-teams="6"] .shared-panels{--cols:3}.host-remote .shared-panels,.host-shared[data-phase=lobby] .shared-panels,.host-shared[data-phase=finished] .shared-panels{display:none}.shared-panels .answer-panel{min-height:0;overflow:auto}.answer-panel{border:clamp(3px, .25em, 5px) solid var(--team);box-shadow:var(--shadow);touch-action:pan-y;background:#fff;border-radius:1.1em;flex-direction:column;gap:.4em;padding:.5em;display:flex;position:relative;overflow:hidden;container:panel/size}.panel-title{background:var(--team);color:#fff;text-align:center;text-overflow:ellipsis;white-space:nowrap;border-radius:.55em;flex:none;padding:.15em .4em;font-size:1.15em;font-weight:900;overflow:hidden}.panel-prompt{flex:none}.panel-prompt .prompt{text-align:center;font-size:2.1em}.panel-prompt .prompt-arrange{font-size:1.05em!important}.panel-body{flex-direction:column;flex:1;min-height:0;display:flex}.choices{flex:1;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:.45em;display:grid}.choice{cursor:pointer;color:#fff;touch-action:manipulation;-webkit-user-select:none;user-select:none;overflow-wrap:anywhere;border:0;border-radius:.75em;min-height:2.2em;padding:.15em .3em;font-size:1.7em;font-weight:900;transition:transform 80ms;position:relative;box-shadow:0 .12em #0003}@container panel (aspect-ratio<=2/3){.choices{grid-template-columns:1fr}}@container panel (aspect-ratio>=11/5){.choices{grid-template-columns:repeat(4,1fr)}}@container panel (height<=260px){.arrange-hint{display:none}}.choice:first-child{background:#ef5350}.choice:nth-child(2){background:#42a5f5}.choice:nth-child(3){background:#ffb300}.choice:nth-child(4){background:#66bb6a}.choice:before{content:attr(data-letter);opacity:.8;font-size:.45em;position:absolute;top:.25em;left:.45em}.choice:active{transform:translateY(.08em);box-shadow:0 .04em #0003}.choice.wrong{filter:grayscale()brightness(.8);text-decoration:line-through}.arrange{flex-direction:column;flex:1;gap:.4em;min-height:0;display:flex}.arrange-hint{color:var(--muted);text-align:center;font-size:.75em}.arrange-line{background:#fafcff;border:.15em dashed #b0bec5;border-radius:.7em;flex-wrap:wrap;align-items:center;gap:.35em;min-height:2.8em;padding:.35em;display:flex}.arrange.complete .arrange-line{border-color:var(--team);border-style:solid}.arrange-line.wrong{border-color:#e53935;animation:.4s shake}.arrange-empty{color:#b0bec5;font-size:.85em;font-weight:700}.arrange-ending{font-size:1.4em;font-weight:900}.arrange-pool{flex-wrap:wrap;flex:1;place-content:flex-start center;gap:.35em;min-height:2.6em;padding:.25em;display:flex}.arrange-actions{flex:none;justify-content:center;gap:.45em;display:flex}.arrange-actions .btn{white-space:nowrap;min-height:2.4em;padding:.45em 1.1em;font-size:1em}.tile{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;white-space:nowrap;background:#fff8e1;border:.13em solid #ffca28;border-radius:.6em;padding:.3em .65em;font-size:1.15em;font-weight:800;box-shadow:0 .13em #ffb300}.arrange-line .tile{background:#e3f2fd;border-color:#42a5f5;box-shadow:0 .13em #1e88e5}.tile-dragging{opacity:.3}.tile-placeholder{box-shadow:none;background:0 0;border:.13em dashed #42a5f5;min-height:2.1em}.tile-ghost{z-index:100;pointer-events:none;transform-origin:50%;position:fixed;top:0;left:0;rotate:-3deg;box-shadow:0 10px 24px #00000040}.block-overlay{color:#fff;text-align:center;z-index:5;background:#263238b8;border-radius:.8em;flex-direction:column;justify-content:center;align-items:center;gap:.5em;padding:.5em;font-size:max(14px,1.3em);font-weight:900;display:flex;position:absolute;inset:0}.block-overlay.won{background:#2e7d32e0}.block-track{background:#ffffff40;border-radius:99px;width:60%;height:10px;overflow:hidden}.block-bar{background:#ffca28;width:0;height:100%}.player{background:linear-gradient(180deg, color-mix(in srgb, var(--team) 30%, #fff), #fff);flex-direction:column;height:100dvh;display:flex}.player-bar{background:var(--team);color:#fff;padding:10px 16px 12px;padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right));padding-top:max(10px, env(safe-area-inset-top));grid-template-columns:1fr auto;align-items:center;gap:2px 12px;display:grid}.pb-team{font-size:1.4rem;font-weight:900}.pb-score{text-align:right;font-size:1rem}.pb-score b{font-size:1.8rem}.pb-rank{opacity:.9;font-weight:700}.pb-track{background:#ffffff4d;border-radius:99px;grid-column:1/-1;height:10px;overflow:hidden}.pb-bar{background:#fff;border-radius:99px;height:100%;transition:width .6s}.player-body{padding:12px;padding-left:max(12px, env(safe-area-inset-left));padding-right:max(12px, env(safe-area-inset-right));padding-bottom:max(12px, env(safe-area-inset-bottom));flex-direction:column;flex:1;gap:8px;width:100%;max-width:820px;min-height:0;margin:0 auto;display:flex;overflow-y:auto}.player-body .q-meta{text-align:center}.player-body .answer-panel{flex:1}.wait,.result{text-align:center;margin:auto;padding:20px}.wait-emoji,.result-emoji{font-size:5rem;animation:2s ease-in-out infinite bob}.result-win h2{color:var(--team);font-size:2.2rem}.dots{justify-content:center;gap:8px;display:flex}.dots span{background:var(--team);border-radius:50%;width:14px;height:14px;animation:1s ease-in-out infinite bob}.dots span:nth-child(2){animation-delay:.15s}.dots span:nth-child(3){animation-delay:.3s}.loading{text-align:center;color:var(--muted);margin:30vh auto;font-weight:800}.join{place-items:center;min-height:100dvh;padding:20px;display:grid}.join-card{border-radius:var(--radius);box-shadow:var(--shadow);text-align:center;background:#fff;width:min(560px,100%);padding:24px}.team-pick{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:16px 0;display:grid}.team-btn{background:var(--team);color:#fff;cursor:pointer;border:0;border-radius:18px;padding:1em .5em;font-size:1.4rem;font-weight:900;box-shadow:0 5px #00000040}.team-btn:active{transform:translateY(3px)}.win-overlay{background:radial-gradient(circle, color-mix(in srgb, var(--team) 35%, transparent), #00000059);z-index:10;pointer-events:auto;place-items:center;padding:clamp(6px,3cqmin,24px);animation:.6s both fade-in;display:grid;position:absolute;inset:0;overflow:hidden;container-type:size}.win-card{border:8px solid var(--team);text-align:center;animation:.9s cubic-bezier(.2,1.6,.4,1) both win-in;animation-delay:inherit;overscroll-behavior:contain;background:#fff;border-width:clamp(4px,1.2cqmin,8px);border-radius:clamp(16px,4cqmin,30px);max-width:100%;max-height:100%;padding:clamp(8px,3.2cqh,28px) clamp(14px,5cqw,48px);overflow:auto;box-shadow:0 20px 60px #00000059}.win-trophy{font-size:clamp(2.2rem,min(20cqh,22cqw),8rem);line-height:1.1;animation:1.2s ease-in-out infinite trophy}.win-title{color:#ffb300;letter-spacing:.15em;text-shadow:0 3px #e65100;font-size:clamp(1rem,min(6.5cqh,6.5cqw),2.4rem);font-weight:900}.win-team{color:var(--team);overflow-wrap:anywhere;max-width:100%;font-size:clamp(1.5rem,min(12cqh,10cqw),4.8rem);font-weight:900;line-height:1.1}.win-sub{color:var(--muted);margin-bottom:clamp(6px,3cqh,18px);font-size:clamp(.85rem,4cqh,1.2rem);font-weight:700}.win-actions{flex-wrap:wrap;justify-content:center;gap:clamp(6px,2cqmin,12px);display:flex}.win-actions .btn-big{padding:.6em 1.3em;font-size:clamp(.95rem,4.6cqh,1.2rem)}@container (height<=300px) and (aspect-ratio>=3/2){.win-card{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"trophy title""trophy team""trophy sub""trophy actions";align-items:center;column-gap:clamp(8px,3cqw,24px);display:grid}.win-trophy{grid-area:trophy;font-size:clamp(2.6rem,34cqh,6rem)}.win-title{grid-area:title;font-size:clamp(.95rem,8cqh,1.8rem)}.win-team{grid-area:team;font-size:clamp(1.3rem,15cqh,3rem)}.win-sub{grid-area:sub;font-size:clamp(.8rem,5.5cqh,1.1rem)}.win-actions{grid-area:actions}.win-actions .btn-big{padding:.45em 1.1em;font-size:clamp(.9rem,6cqh,1.1rem)}}.win-stars span{font-size:2rem;animation:3.2s linear infinite star-fall;position:absolute;top:-10%}.card-solo{background:linear-gradient(#fffde7,#fff);border:4px solid #ffc107}.solo-intro{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);text-align:center;margin-bottom:16px;padding:16px 22px}.solo-intro p{color:var(--muted);margin:.3em 0 0;font-weight:700}.solo-intro-emoji{letter-spacing:.2em;font-size:2.6rem;animation:2.4s ease-in-out infinite bob}.solo{grid-template-rows:auto minmax(150px,42fr) minmax(0,58fr);grid-template-columns:minmax(0,1fr);height:100dvh;display:grid;position:relative;overflow:hidden}.solo-bar{padding:6px 12px;padding-left:max(12px, env(safe-area-inset-left));padding-right:max(12px, env(safe-area-inset-right));padding-top:max(6px, env(safe-area-inset-top));z-index:5;background:#ffffffeb;align-items:center;gap:10px;display:flex;box-shadow:0 2px 12px #0000001a}.solo-progress{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.solo-progress-row{white-space:nowrap;justify-content:space-between;gap:8px;font-weight:800;display:flex}.solo-round{color:#1565c0}.solo-pips{gap:4px;display:flex}.pip{background:#e3e8f0;border-radius:99px;flex:1;height:10px;transition:background .3s}.pip-good{background:#43a047}.pip-bad{background:#e53935}.pip-now{background:#ffca28;animation:1.2s ease-in-out infinite pop}.solo-arena{min-height:0;position:relative;overflow:hidden}.solo-hp{z-index:2;background:#ffffffe6;border-radius:99px;align-items:center;gap:6px;padding:4px 12px 4px 6px;font-weight:900;display:flex;position:absolute;top:8px;right:10px;box-shadow:0 3px 10px #00000026}.solo-hp-icon{font-size:1.3rem}.solo-hp-track{background:#eceff1;border-radius:99px;width:clamp(70px,16vw,160px);height:12px;overflow:hidden}.solo-hp-bar{background:linear-gradient(90deg,#e53935,#ff7043);border-radius:99px;width:100%;height:100%;transition:width .5s .5s}.solo-hp-text{text-align:right;color:#c62828;min-width:2ch}.solo-banner{color:#fff;text-align:center;width:max-content;max-width:94%;box-shadow:var(--shadow);z-index:3;border-radius:18px;padding:6px 20px;animation:.4s cubic-bezier(.2,1.6,.4,1) pop-in;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.solo-banner-good{background:#2e7d32}.solo-banner-bad{background:#c62828}.solo-banner-title{font-size:clamp(.95rem,2.6vw,1.6rem);font-weight:900}.solo-banner-sub{overflow-wrap:anywhere;font-size:clamp(.9rem,2vw,1.15rem);font-weight:700}.solo-side{min-height:0;padding:8px 10px;padding-left:max(10px, env(safe-area-inset-left));padding-right:max(10px, env(safe-area-inset-right));padding-bottom:max(10px, env(safe-area-inset-bottom));flex-direction:column;gap:6px;display:flex}.solo-side .q-meta{text-align:center;font-size:.8rem}.solo-answer{flex-direction:column;flex:1;min-height:0;display:flex}.solo-answer .answer-panel{flex:1;min-height:0}.solo-answer .loading{margin:auto}.solo-result .win-sub{max-width:34em;margin-left:auto;margin-right:auto}.solo-lost .win-title{color:#8e24aa;text-shadow:0 3px #4a148c}@media (orientation:landscape) and (width>=560px){.solo{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,11fr) minmax(0,9fr)}.solo-bar{grid-column:1/-1}.solo-side{padding-left:6px}}@media (orientation:landscape) and (height<=480px){.solo-bar{padding-top:max(3px, env(safe-area-inset-top));padding-bottom:3px}.solo-pips .pip{height:6px}.solo-side{padding-top:4px;padding-bottom:max(4px, env(safe-area-inset-bottom))}.solo-side .q-meta{display:none}.solo-hp{padding:2px 8px 2px 4px;top:4px;right:6px}.solo-banner{padding:4px 14px;bottom:6px}}#toasts{z-index:200;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast{color:#fff;box-shadow:var(--shadow);background:#263238;border-radius:14px;padding:10px 20px;font-weight:700;transition:opacity .4s,transform .4s;animation:.3s pop-in}.toast-error{background:#c62828}.toast-success{background:#2e7d32}.toast.out{opacity:0;transform:translateY(10px)}.shake{animation:.4s shake}@keyframes shake{0%,to{translate:0}20%{translate:-10px}40%{translate:10px}60%{translate:-6px}80%{translate:6px}}@keyframes pop{0%,to{scale:1}40%{scale:1.12}}@keyframes pop-in{0%{opacity:0;scale:.6}to{opacity:1;scale:1}}@keyframes drop-in{0%{opacity:0;translate:0 -40px}to{opacity:1;translate:0}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes win-in{0%{opacity:0;rotate:-12deg;scale:.2}to{opacity:1;rotate:0deg;scale:1}}@keyframes trophy{0%,to{rotate:-8deg;scale:1}50%{rotate:8deg;scale:1.1}}@keyframes bob{0%,to{translate:0}50%{translate:0 -8px}}@keyframes star-fall{0%{translate:0;rotate:0deg}to{translate:0 120vh;rotate:360deg}}@media (width<=1000px) and (orientation:portrait){.host-bar{flex-wrap:wrap}.scoreboard{flex-basis:100%;order:3;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:6px;display:grid}.sb-team{padding:2px 8px 4px}.sb-track{height:6px}}@media (orientation:portrait){.host[data-teams="4"] .shared-panels,.host[data-teams="5"] .shared-panels,.host[data-teams="6"] .shared-panels{--cols:2}}@media (height<=480px) and (orientation:landscape){.player-bar{padding:4px 12px;padding-left:max(12px, env(safe-area-inset-left));padding-right:max(12px, env(safe-area-inset-right));padding-top:max(4px, env(safe-area-inset-top));grid-template-columns:auto 1fr auto;gap:0 12px}.pb-team{font-size:1.05rem}.pb-score{font-size:.85rem}.pb-score b{font-size:1.2rem}.pb-rank{text-align:right;grid-column:3;font-size:.85rem}.pb-track{height:6px}.player-body{padding:6px 10px;padding-left:max(10px, env(safe-area-inset-left));padding-right:max(10px, env(safe-area-inset-right));padding-bottom:max(6px, env(safe-area-inset-bottom));gap:4px;max-width:none}.player-body .q-meta{font-size:.8rem}.arrange-hint{display:none}.host-bar{padding:4px 10px;padding-left:max(10px, env(safe-area-inset-left));padding-right:max(10px, env(safe-area-inset-right));padding-top:max(4px, env(safe-area-inset-top));flex-wrap:nowrap;gap:8px}.room-code{font-size:1.2rem}.scoreboard{gap:6px}.sb-team{border-width:2px;padding:2px 6px 3px}.sb-score{font-size:1rem}.sb-members{display:none}.sb-track{height:6px}.btn-icon{width:2.1rem;height:2.1rem;font-size:1rem}.shared-panels{padding:6px;padding-left:max(6px, env(safe-area-inset-left));padding-right:max(6px, env(safe-area-inset-right));padding-bottom:max(6px, env(safe-area-inset-bottom));gap:6px}.host-shared{grid-template-rows:auto minmax(96px,30fr) 70fr}.question-card{padding:4px 16px 6px;top:6px}.q-meta{font-size:.75rem}.question-card .prompt,.host-shared .question-card .prompt{font-size:clamp(1.3rem,9vh,2.4rem)}.q-choices,.q-words{gap:6px;margin-top:4px}.q-choice,.q-word{font-size:clamp(1rem,6vh,1.6rem)}.reveal-banner{padding:6px 18px;bottom:8px}.banner-answer{font-size:.95rem}.lobby-overlay{align-items:start;padding:8px}.lobby-card{gap:8px;padding:10px 16px}.lobby-card h2{margin:0;font-size:1.1rem}.lobby-join{gap:16px}.qr{width:120px;height:120px}.lobby-steps p{margin:0}.lobby-url{font-size:1.1rem}.lobby-code{font-size:1.8rem}.lobby-teams{gap:6px}.lobby-team{border-radius:12px;min-width:0;padding:4px 10px}.lobby-team-count{font-size:.75rem}.lobby-team-name{font-size:1rem}.btn-huge{padding:.4em 1.4em;font-size:1.2rem}}@media (height<=380px) and (orientation:landscape){.player-bar{padding:2px 10px}.pb-team{font-size:.95rem}.pb-score b{font-size:1.05rem}.player-body .q-meta{display:none}.player-body{gap:3px;padding:4px 8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}
