:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#24202b;background:#f4f2f7;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit}h1,h2,h3,p{margin-top:0}.muted{color:#6d6876}.small{font-size:.82rem}.hidden{display:none!important}.brand{font-size:1.65rem;font-weight:900;letter-spacing:-.06em;color:#fff;text-decoration:none;white-space:nowrap}.brand span{display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#48178a;border-radius:7px;width:32px;height:32px;margin-right:6px;letter-spacing:0}.brand.dark{color:#48178a}.brand.dark span{background:#48178a;color:white}.topbar{height:66px;display:flex;align-items:center;gap:20px;padding:0 clamp(16px,3vw,44px);background:#29123f;color:#fff}.topbar .spacer{flex:1}.topbar a,.topbar button{font-size:.9rem}.topbar .navlink{border:0;background:transparent;color:#fff;text-decoration:none;padding:10px 12px;border-radius:8px;font-weight:700}.topbar .navlink:hover{background:#ffffff20}.btn{border:0;border-radius:9px;padding:12px 18px;font-weight:750;line-height:1.15;box-shadow:0 3px 0 #0002;transition:transform .12s,filter .12s}.btn:hover{filter:brightness(1.07);transform:translateY(-1px)}.btn:active{transform:translateY(1px);box-shadow:none}.btn.primary{background:#1664c3;color:#fff}.btn.dark{background:#25232a;color:#fff}.btn.purple{background:#5a1ab7;color:#fff}.btn.light{background:#fff;color:#24202b}.btn.ghost{background:#f0eef4;color:#292431;box-shadow:none}.btn.danger{background:#d91e4c;color:#fff}.btn.small{padding:8px 12px;font-size:.85rem}.field{display:grid;gap:6px;font-weight:700;font-size:.9rem}.field input,.field textarea,.field select,.input{width:100%;border:2px solid #d7d2de;border-radius:8px;background:#fff;padding:11px 12px;color:#25212b;outline:none}.field input:focus,.field textarea:focus,.field select:focus,.input:focus{border-color:#6d25c4;box-shadow:0 0 0 3px #6d25c429}.field textarea{resize:vertical;min-height:70px}.error{color:#b70038;font-weight:700;min-height:1.1em;font-size:.85rem}.join-page{min-height:100vh;position:relative;overflow:hidden;background:radial-gradient(circle at 77% 21%,#8920d5 0 23%,transparent 23.1%),linear-gradient(122deg,#6c1ddb 0%,#5412b6 48%,#300a53 100%);color:white;display:flex;flex-direction:column}.join-page:before{content:"";position:absolute;width:68vw;height:120vh;left:-23vw;top:5vh;background:#8440eb45;transform:rotate(-34deg);border-radius:8vw}.join-page .topbar{background:#2b123fbb;z-index:1}.join-main{z-index:1;flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:24px;padding:30px 16px 70px}.join-logo{font-weight:900;font-size:clamp(3.1rem,7vw,5.7rem);letter-spacing:-.09em;line-height:1;text-shadow:0 5px 2px #25033b44}.join-card{width:min(340px,100%);background:#fff;color:#24202b;padding:18px;border-radius:7px;box-shadow:0 15px 40px #22063f42;display:grid;gap:11px;text-align:center}.join-card .input{text-align:center;font-weight:800;font-size:1.18rem}.join-card .btn{width:100%;font-size:1rem}.join-footer{position:relative;z-index:1;text-align:center;padding:12px;font-size:.82rem;color:#efe7fa}.stage{min-height:100vh;background:radial-gradient(circle at 70% 30%,#8b43ce77,transparent 30%),linear-gradient(125deg,#7151a4,#4d1b91 68%,#330e60);color:#fff}.stage .topbar{background:#1b1228e8}.stage-center{min-height:calc(100vh - 66px);display:flex;align-items:center;justify-content:center;padding:24px}.stage-card{text-align:center;width:min(630px,100%)}.stage-card h1{font-size:clamp(2rem,5vw,4rem);line-height:1.08;margin-bottom:10px}.stage-card h2{font-size:clamp(1.5rem,4vw,2.5rem)}.stage-card .input{max-width:390px;margin:auto;text-align:center}.avatar{font-size:3.2rem;display:block;margin-bottom:14px}.avatar-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin:16px 0}.avatar-choice{background:#fff2;border:2px solid #fff4;border-radius:10px;color:#fff;padding:9px;font-size:1.6rem}.avatar-choice.selected{border-color:#fff;background:#fff5}.pin-box{display:inline-flex;align-items:center;gap:18px;background:#fff;color:#24202b;padding:14px 24px;border-radius:10px;box-shadow:0 7px 0 #0002;font-weight:800}.pin-box strong{font-size:clamp(2.7rem,8vw,5rem);letter-spacing:.04em}.player-list{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:28px auto;max-width:760px}.player-chip{border-radius:8px;padding:11px 15px;background:#4c168e;font-size:1.1rem;font-weight:800}.play-layout{min-height:calc(100vh - 66px);display:flex;flex-direction:column;padding:20px clamp(14px,3vw,44px) 24px;gap:18px}.play-head{background:#fff;color:#25202e;border-radius:9px;padding:18px 25px;text-align:center;box-shadow:0 5px 0 #230a4930}.play-head h1{font-size:clamp(1.3rem,3.1vw,2.3rem);margin:0}.game-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:800}.circle-counter{width:72px;height:72px;border-radius:50%;background:#4d169d;display:grid;place-items:center;font-size:2rem}.question-media{height:min(35vh,340px);display:flex;justify-content:center;align-items:center}.question-media img{max-width:100%;max-height:100%;object-fit:contain;border-radius:6px;box-shadow:0 5px 20px #18023b40}.answer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:auto}.answer-tile{border:0;border-radius:6px;min-height:100px;padding:18px;color:#fff;font-size:clamp(1.05rem,2vw,1.65rem);font-weight:850;text-align:left;display:flex;align-items:center;gap:18px;box-shadow:0 6px 0 #0003;text-shadow:0 1px 2px #0003}.answer-tile:hover{filter:brightness(1.08)}.answer-tile.selected{outline:5px solid white;outline-offset:-7px}.answer-tile.dim{opacity:.45}.answer-tile .shape{font-size:1.8em;line-height:1}.answer-tile.red{background:#e91d47}.answer-tile.blue{background:#1667ca}.answer-tile.yellow{background:#e1a900}.answer-tile.green{background:#238b13}.answer-tile.purple{background:#8136c7}.answer-tile.orange{background:#dc681b}.answer-tile .count{margin-left:auto;background:#0003;padding:5px 10px;border-radius:20px;font-size:.9rem}.center-message{margin:auto;text-align:center;font-size:1.5rem;font-weight:800}.score-list{display:grid;gap:8px;max-width:700px;margin:25px auto}.score-row{background:#fff;color:#292432;padding:12px 20px;border-radius:7px;display:flex;align-items:center;gap:12px;font-size:1.15rem;font-weight:800}.score-row strong{margin-left:auto}.admin-shell{min-height:100vh;background:#f3f2f5}.admin-top{height:68px;display:flex;align-items:center;gap:18px;padding:0 24px;background:#fff;box-shadow:0 1px 4px #0002}.admin-top .spacer{flex:1}.admin-main{max-width:1200px;margin:auto;padding:34px 24px}.admin-main h1{font-size:2rem}.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:22px 0}.toolbar .input{max-width:330px}.quiz-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}.quiz-card{background:#fff;border-radius:10px;padding:18px;box-shadow:0 3px 8px #00000012;display:flex;flex-direction:column;min-height:200px}.quiz-card .cover{height:75px;background:linear-gradient(135deg,#8a46d5,#401080);display:grid;place-items:center;color:#fff;border-radius:7px;font-size:2rem;margin-bottom:13px}.quiz-card h3{margin-bottom:4px}.quiz-card .actions{display:flex;gap:8px;margin-top:auto;padding-top:14px}.empty{background:#fff;border:2px dashed #d5d0dd;border-radius:12px;padding:40px;text-align:center}.editor{height:100vh;display:grid;grid-template-rows:64px minmax(0,1fr);background:#f5f3f8}.editor-top{display:flex;align-items:center;gap:12px;background:#fff;padding:8px 15px;box-shadow:0 2px 6px #0002;z-index:2}.editor-top .input{max-width:350px}.editor-top .spacer{flex:1}.editor-body{display:grid;grid-template-columns:190px minmax(0,1fr) 270px;min-height:0}.question-sidebar{background:#fff;overflow:auto;padding:14px 10px;display:flex;flex-direction:column;gap:10px}.question-card{border:2px solid #ddd8e5;border-radius:8px;background:#f5f3f7;padding:10px;text-align:left;width:100%;min-height:80px;color:#292332}.question-card.active{border-color:#1667ca;background:#e8f1ff}.question-card span{display:block;font-size:.77rem;color:#6b6475}.question-card strong{font-size:.85rem;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.editor-canvas{overflow:auto;padding:26px 20px;background:radial-gradient(circle at 78% 22%,#9a5ed58c,transparent 36%),linear-gradient(140deg,#7653a4,#5a2199);display:flex;flex-direction:column;align-items:center;gap:18px}.editor-canvas>*{width:min(100%,1000px)}.question-prompt{font-size:clamp(1.1rem,2.5vw,1.9rem)!important;text-align:center;background:#fff!important;border:0!important;min-height:72px!important;box-shadow:0 5px 0 #0002}.media-upload{border:2px dashed #c4b5d9;background:#e0d5e9bb;color:#292432;border-radius:8px;min-height:190px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;cursor:pointer;overflow:hidden}.media-upload img{max-height:250px;max-width:100%;object-fit:contain}.media-upload input{display:none}.editor-answers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.edit-answer{background:white;border-radius:7px;display:flex;align-items:center;gap:8px;min-height:82px;padding:8px;box-shadow:0 5px 0 #0002}.edit-answer .colorbar{align-self:stretch;display:grid;place-items:center;width:45px;flex:none;border-radius:5px;color:white;font-size:1.5rem}.edit-answer input[type=text]{border:0;outline:0;width:100%;font-size:1.05rem;min-width:0}.edit-answer input[type=checkbox]{width:20px;height:20px;accent-color:#17801c}.properties{background:#fff;overflow:auto;padding:20px 16px;display:flex;flex-direction:column;gap:18px}.properties h2{font-size:1rem;border-bottom:1px solid #ddd;padding-bottom:13px}.properties .field{font-size:.83rem}.properties .bottom{margin-top:auto;display:flex;gap:8px;border-top:1px solid #ddd;padding-top:14px}.modal-backdrop{position:fixed;inset:0;background:#170b28a8;z-index:10;display:grid;place-items:center;padding:16px}.modal{background:#fff;border-radius:12px;width:min(670px,100%);max-height:90vh;overflow:auto;padding:22px;box-shadow:0 18px 60px #0005}.type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.type-option{text-align:left;border:2px solid #ded9e5;background:#f6f4f8;border-radius:9px;padding:16px}.type-option:hover{border-color:#6a26c0}.type-option strong{display:block;margin-bottom:4px}.type-option span{color:#706878;font-size:.85rem}.form-stack{display:grid;gap:15px}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.puzzle-list{display:grid;gap:8px;width:min(100%,560px)!important}.puzzle-item{display:flex;gap:8px;align-items:center;background:#fff;padding:10px;border-radius:8px;color:#292432}.puzzle-item span{flex:1}.puzzle-item button{background:#ede9f2;border:0;border-radius:5px;padding:5px 10px}.progress{height:10px;background:#ffffff40;border-radius:10px;overflow:hidden}.progress>span{display:block;height:100%;background:#fff;transition:width .3s}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:20;background:#21152c;color:#fff;padding:11px 18px;border-radius:9px;box-shadow:0 7px 30px #0004;opacity:0;pointer-events:none;transition:opacity .2s}#toast.show{opacity:1}@media(max-width:850px){.editor-body{grid-template-columns:130px minmax(0,1fr)}.properties{grid-column:1/-1;grid-row:2;max-height:260px;border-top:1px solid #ddd}.editor-body{grid-template-rows:minmax(0,1fr) auto}.question-sidebar{padding:8px}.question-card{min-height:65px}.editor-top .brand{font-size:1.1rem}.editor-top .brand span{width:25px;height:25px}.editor-top .input{max-width:160px}.editor-canvas{padding:16px 10px}.properties{display:grid;grid-template-columns:repeat(2,1fr)}.properties h2,.properties .bottom{grid-column:1/-1}}@media(max-width:600px){.topbar{height:58px}.join-main{padding-bottom:30px}.answer-grid{grid-template-columns:1fr}.answer-tile{min-height:68px}.question-media{height:22vh}.play-layout{min-height:calc(100vh - 58px)}.admin-top{padding:0 10px;gap:7px}.admin-top .brand{font-size:1.15rem}.admin-top .brand span{width:25px;height:25px}.admin-main{padding:23px 14px}.editor-top{gap:6px;padding:7px}.editor-top .btn{padding:9px;font-size:.8rem}.editor-top .input{max-width:100px;padding:9px}.editor-body{grid-template-columns:95px minmax(0,1fr)}.question-card{padding:5px}.editor-answers{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.type-grid{grid-template-columns:1fr}.pin-box{display:block}.pin-box strong{display:block}}
:root{scroll-behavior:smooth}
.brand{display:inline-flex;align-items:center;gap:8px;letter-spacing:-.04em}
.brand .brand-mark{width:40px;height:40px;flex:none;border-radius:10px;background:#fff;display:grid;place-items:center;overflow:hidden;box-shadow:0 2px 5px #0002;margin-right:0}
.brand-mark img{width:100%;height:100%;object-fit:cover;transform:scale(1.17)}
.join-logo{display:flex;align-items:center;justify-content:center;gap:16px;letter-spacing:-.06em;animation:float-in .55s ease both}
.join-logo img{width:95px;height:95px;object-fit:cover;border-radius:20px;background:#fff;box-shadow:0 10px 25px #21033c50}
.join-logo.compact{font-size:2.5rem;margin-bottom:24px}
.join-logo.compact img{width:68px;height:68px}
.lobby-card{width:min(850px,100%)}
.lobby-join{display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap}
.lobby-qr{background:#fff;color:#25202e;border-radius:12px;padding:12px;display:grid;justify-items:center;gap:4px;box-shadow:0 7px 0 #0002;font-size:.83rem;font-weight:800}
.lobby-qr svg{display:block;width:170px;height:170px}
.slider-editor{display:grid;gap:18px;background:#fff;padding:18px;border-radius:9px}
.slider-editor .scale-slider{border:1px solid #e6e1ec;box-shadow:0 4px 0 #0002}
.slider-answer-form{width:min(680px,100%);margin:auto;display:grid;justify-items:center;gap:26px}
.slider-answer-form .btn{min-width:190px}
.scale-slider{width:100%;margin:36px auto 0;padding:38px clamp(38px,7vw,58px) 15px;position:relative;background:#fff;color:#5a5a5a;border-radius:5px;box-shadow:0 7px 0 #0002}
.scale-ruler{height:80px;position:relative}
.scale-bubble{position:absolute;z-index:3;top:-76px;left:var(--scale-pos);transform:translateX(-50%);min-width:112px;max-width:180px;min-height:70px;padding:6px 12px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#1664c3;color:#fff;border-radius:4px;text-align:center;line-height:1.08;box-shadow:0 2px 4px #0002}
.scale-bubble:after{content:"";position:absolute;left:calc(50% - 9px);bottom:-9px;border-left:9px solid transparent;border-right:9px solid transparent;border-top:9px solid #1664c3}
.scale-bubble strong{font-size:1.8rem}
.scale-bubble span{font-size:1rem;font-weight:800;overflow-wrap:anywhere}
.scale-ticks{height:100%;display:flex;justify-content:space-between;align-items:stretch}
.scale-ticks i{width:5px;border-radius:4px;background:#b6b6b6}
.scale-ticks i.edge{background:#666}
.scale-marker{position:absolute;z-index:2;top:0;left:var(--scale-pos);height:100%;width:6px;transform:translateX(-50%);border-radius:4px;background:#1664c3;pointer-events:none}
.scale-ruler input[type=range]{position:absolute;z-index:4;top:0;left:-11px;width:calc(100% + 22px);height:100%;margin:0;opacity:0;cursor:ew-resize}
.scale-slider:focus-within .scale-ruler{outline:3px solid #1664c3;outline-offset:7px;border-radius:3px}
.scale-labels{position:relative;display:flex;justify-content:space-between;margin-top:4px;font-size:.95rem;font-weight:800;line-height:1.2}
.scale-current{position:absolute;left:var(--scale-pos);transform:translateX(-50%)}
.join-card{animation:float-in .55s .1s ease both}
.quiz-card .cover img{width:70px;height:70px;object-fit:cover;border-radius:12px}
.avatar-grid{max-height:250px;overflow-y:auto;scrollbar-color:#ffffff99 #ffffff22;padding:4px;grid-template-columns:repeat(6,minmax(0,1fr))}
.avatar-choice{transition:transform .18s,background .18s,border-color .18s}
.avatar-choice:hover{transform:translateY(-3px) scale(1.07);background:#fff4}
.player-chip{animation:float-in .4s ease both}
.play-head{animation:float-in .42s ease both}
.answer-tile{transition:transform .16s,filter .16s,opacity .2s;animation:tile-in .4s ease both}
.answer-tile:nth-child(2){animation-delay:.06s}.answer-tile:nth-child(3){animation-delay:.12s}.answer-tile:nth-child(4){animation-delay:.18s}.answer-tile:nth-child(5){animation-delay:.24s}.answer-tile:nth-child(6){animation-delay:.3s}
.stage.settled .player-chip,.stage.settled .play-head,.stage.settled .answer-tile,.stage.settled .answer-feedback,.stage.settled .ranking-row,.stage.settled .chart-bar,.stage.settled .waiting-content,.stage.settled .reveal-value,.stage.settled .score-row,.stage.settled .final-stage .avatar{animation:none}
.answer-tile:hover:not(:disabled){transform:translateY(-4px) scale(1.01)}
.answer-tile:active:not(:disabled){transform:scale(.98)}
.answer-tile:disabled{cursor:default}
.play-layout.no-image .answer-grid{flex:1;grid-auto-rows:minmax(125px,1fr)}
.play-layout.no-image .answer-tile{font-size:clamp(1.3rem,3vw,2.3rem);min-height:125px}
.play-layout.no-image .answer-tile .shape{font-size:1.6em}
.circle-counter.urgent{background:#e91d47;animation:timer-pulse .7s ease-in-out infinite alternate}
.answer-feedback{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;text-align:center;animation:feedback-pop .65s cubic-bezier(.2,1.4,.35,1) both}
.feedback-symbol{width:min(38vw,260px);height:min(38vw,260px);border:11px solid #fff;border-radius:50%;display:grid;place-items:center;font-size:clamp(7rem,24vw,14rem);font-weight:900;line-height:1;background:#ed3159;box-shadow:0 14px 50px #21023d70;text-shadow:0 4px 5px #0002}
.answer-feedback.correct .feedback-symbol{background:#2eaa38}
.answer-feedback strong{font-size:clamp(1.5rem,4vw,2.5rem)}
.feedback-streak{font-size:clamp(1rem,2vw,1.3rem);font-weight:800}
.feedback-rank{font-size:clamp(1.15rem,2.5vw,1.7rem);font-weight:900;background:#fff;color:#2b2140;border-radius:10px;padding:10px 22px;box-shadow:0 4px 0 #0002}
.edit-answer input[type=radio]{width:20px;height:20px;accent-color:#17801c;flex:none}
.leaderboard-stage{min-height:calc(100vh - 66px);padding:20px clamp(16px,3vw,44px) 48px}
.leaderboard-heading{text-align:center;margin:42px auto 30px}
.leaderboard-heading h1{font-size:clamp(2.7rem,7vw,5rem);margin:0}
.leaderboard-heading p{font-size:1.2rem;margin:8px 0 0}
.ranking-list{width:min(100%,880px);margin:0 auto;display:grid;gap:9px}
.ranking-row{min-height:63px;display:flex;align-items:center;gap:12px;padding:10px 18px;background:#fff;color:#272231;border-radius:8px;box-shadow:0 4px 0 #210d4230;animation:ranking-move 3s var(--row-delay) ease-in-out both}
.ranking-row.mine{outline:4px solid #f2c836}
.ranking-place{width:2.5rem;font-size:1.4rem}
.ranking-avatar{font-size:1.55rem}
.ranking-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.15rem;font-weight:850}
.ranking-streak{min-width:58px;padding:5px 8px;border-radius:16px;background:#fff0d5;color:#7e4200;text-align:center;font-weight:900;white-space:nowrap}
.ranking-score{min-width:75px;text-align:right;font-size:1.3rem}
@keyframes ranking-move{from{opacity:.55;transform:translateY(calc(var(--rank-shift) * 68px)) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
.result-chart{display:flex;justify-content:center;align-items:end;gap:clamp(8px,2vw,25px);width:min(100%,1100px);margin:18px auto 0;padding:20px 15px 12px;background:#ffffffec;border-radius:14px;color:#24202b;min-height:285px;box-shadow:0 8px 24px #200b4230}
.chart-column{flex:1;max-width:220px;min-width:0;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;font-weight:800}
.chart-column strong{font-size:1.35rem}
.chart-column span{width:100%;overflow-wrap:anywhere;min-height:2.4em;font-size:clamp(.7rem,1.2vw,1rem)}
.chart-track{width:100%;height:175px;display:flex;align-items:end;background:#ece8f0;border-radius:8px 8px 0 0;overflow:hidden}
.chart-bar{height:var(--bar-height);width:100%;min-height:4px;animation:bar-grow .75s ease-out both;transform-origin:bottom}
.chart-bar.red{background:#e91d47}.chart-bar.blue{background:#1667ca}.chart-bar.yellow{background:#e1a900}.chart-bar.green{background:#238b13}.chart-bar.purple{background:#8136c7}.chart-bar.orange{background:#dc681b}
.solution{background:#fff;color:#25202e;padding:14px 18px;border-radius:9px;text-align:center;font-weight:800;overflow-wrap:anywhere}
.result-layout .score-list{width:min(100%,700px);margin:12px auto}
.version-warning{max-width:950px;margin:12px auto 0;padding:12px 18px;border-radius:8px;background:#fff3ce;color:#533500;text-align:center;font-weight:800}
.answered-stage{background:#76777d;color:#fff;transition:background .25s ease}
.answer-waiting{min-height:calc(100vh - 66px);padding:24px clamp(18px,4vw,48px);display:flex;flex-direction:column;gap:20px}
.waiting-meta{display:flex;align-items:center;justify-content:space-between;font-weight:800}
.answered-stage .circle-counter{background:#5c5d63}
.waiting-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;animation:float-in .35s ease both}
.waiting-check{width:110px;height:110px;display:grid;place-items:center;border:7px solid #fff;border-radius:50%;font-size:4.5rem;font-weight:900;line-height:1;margin-bottom:25px}
.waiting-content h1{font-size:clamp(2rem,5vw,3.8rem);margin-bottom:12px}
.waiting-content p{font-size:clamp(1.1rem,2vw,1.5rem)}
.slider-reveal{width:min(100%,1280px);min-height:370px;margin:22px auto 0;padding:152px clamp(28px,6vw,76px) 185px;background:#fff;color:#707070;border-radius:18px;box-shadow:0 6px 0 #0003}
.reveal-track{height:33px;position:relative}
.reveal-range{position:absolute;z-index:0;left:var(--range-start);width:var(--range-width);top:-135px;height:173px;background:#e0eaf7;border-radius:11px}
.reveal-dots{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;height:100%}
.reveal-dots i{display:block;width:clamp(7px,2.4vw,31px);height:clamp(7px,2.4vw,31px);border-radius:50%;background:#b4b4b4}
.reveal-dots i:first-child,.reveal-dots i:last-child{background:#737373}
.reveal-dots i.in-range{background:#176bc9}
.reveal-target{position:absolute;z-index:3;left:var(--target-pos);top:50%;width:clamp(10px,2.4vw,31px);height:clamp(10px,2.4vw,31px);transform:translate(-50%,-50%);background:#238c0a;border-radius:50%}
.reveal-check{position:absolute;z-index:2;left:var(--target-pos);top:-77px;transform:translateX(-50%);width:52px;height:52px;border-radius:50%;border:3px solid #238c0a;background:#63bd46;color:#fff;display:grid;place-items:center;font-size:2rem;font-weight:900}
.reveal-value{position:absolute;z-index:4;top:48px;left:clamp(72px,var(--target-pos),calc(100% - 72px));transform:translateX(-50%);width:150px;min-height:104px;padding:8px 5px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:6px;background:#218a08;color:#fff;text-align:center;box-shadow:0 3px 0 #0002;text-shadow:0 2px 2px #0005;animation:reveal-pop .45s .15s both}
.reveal-value:before{content:"";position:absolute;left:calc(50% - 12px);top:-11px;border-left:12px solid transparent;border-right:12px solid transparent;border-bottom:12px solid #218a08}
.reveal-value strong{font-size:3.2rem;line-height:1;font-weight:900}
.reveal-value span{font-size:1.25rem;font-weight:900;overflow-wrap:anywhere}
.reveal-count{position:absolute;z-index:4;top:159px;left:clamp(40px,var(--target-pos),calc(100% - 40px));transform:translateX(-50%);display:flex;align-items:center;gap:9px;padding:5px 14px;border-radius:5px;background:#1b1230;color:#fff;font-size:1.4rem;font-weight:900}
.reveal-person{width:19px;height:21px;position:relative;display:inline-block}
.reveal-person:before{content:"";position:absolute;top:1px;left:6px;width:9px;height:9px;border-radius:50%;background:#fff}
.reveal-person:after{content:"";position:absolute;bottom:1px;left:2px;width:17px;height:8px;border-radius:10px 10px 2px 2px;background:#fff}
.reveal-axis{display:flex;justify-content:space-between;margin-top:9px;font-size:clamp(.9rem,2vw,1.8rem);font-weight:850}
@keyframes reveal-pop{from{opacity:0;transform:translateX(-50%) scale(.7)}to{opacity:1;transform:translateX(-50%) scale(1)}}
.score-row{animation:float-in .4s ease both}.score-row:nth-child(2){animation-delay:.08s}.score-row:nth-child(3){animation-delay:.16s}.score-row:nth-child(4){animation-delay:.24s}.score-row:nth-child(5){animation-delay:.32s}
.final-stage{position:relative;z-index:2}.final-stage .avatar{font-size:5rem;animation:float-in .7s ease both}
.final-stage .stage-card{padding:42px 0;max-width:760px;width:min(760px,100%)}
.final-podium{display:grid;gap:12px;margin:24px auto 32px}
.podium-row{display:flex;align-items:center;gap:16px;background:#fff;color:#262130;border-radius:12px;padding:17px 21px;box-shadow:0 7px 0 #1e0b3433;text-align:left;visibility:hidden;animation:podium-reveal .9s var(--reveal-delay) cubic-bezier(.18,1.25,.35,1) both}
.podium-row.place-1{background:#ffe582;color:#3b2810;border:4px solid #ffc629;font-size:1.3rem;box-shadow:0 10px 30px #fbc52f55}
.podium-row.place-2{border:3px solid #cbd5de}
.podium-row.place-3{border:3px solid #cc9169}
.podium-place{font-size:1.7rem;min-width:2.2rem}.podium-name{flex:1;min-width:0;overflow-wrap:anywhere;font-weight:900}.podium-score{font-size:1.25rem}
.final-after{visibility:hidden;animation:podium-reveal .7s var(--reveal-delay) ease-out both}.final-after .score-list{margin:14px auto 24px}.final-after p{margin:22px 0}
@keyframes podium-reveal{from{visibility:hidden;opacity:0;transform:translateY(45px) scale(.82)}to{visibility:visible;opacity:1;transform:translateY(0) scale(1)}}
.confetti{position:fixed;inset:0;z-index:10;pointer-events:none;overflow:hidden}
.confetti i{position:absolute;left:var(--x);top:-15%;width:11px;height:19px;background:hsl(var(--hue) 95% 54%);border-radius:2px;opacity:.9;animation:confetti-fall var(--duration) calc(var(--delay) + var(--celebrate-delay)) linear infinite}
@keyframes float-in{from{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes tile-in{from{opacity:0;transform:translateY(24px) rotate(-2deg)}to{opacity:1;transform:translateY(0) rotate(0)}}
@keyframes feedback-pop{from{opacity:0;transform:scale(.3) rotate(-15deg)}to{opacity:1;transform:scale(1) rotate(0)}}
@keyframes timer-pulse{to{transform:scale(1.12);box-shadow:0 0 0 12px #e91d4730}}
@keyframes bar-grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes confetti-fall{to{transform:translate(var(--drift),115vh) rotate(720deg)}}
@media(max-width:600px){.brand .brand-mark{width:31px;height:31px}.join-logo{flex-direction:column;font-size:clamp(2.6rem,12vw,4rem)}.join-logo img{width:84px;height:84px}.join-logo.compact{font-size:2rem}.join-logo.compact img{width:56px;height:56px}.avatar-grid{max-height:205px}.play-layout.no-image .answer-grid{grid-auto-rows:minmax(85px,1fr)}.play-layout.no-image .answer-tile{min-height:85px}.result-chart{gap:5px;padding:12px 8px;min-height:220px}.chart-track{height:125px}.chart-column span{font-size:.7rem}}
@media(max-width:600px){.lobby-join{gap:14px}.lobby-qr svg{width:150px;height:150px}}
@media(max-width:600px){.scale-slider{padding-left:36px;padding-right:36px}.scale-bubble{min-width:90px;max-width:145px}.scale-bubble strong{font-size:1.5rem}.scale-bubble span{font-size:.86rem}.scale-ticks i{width:4px}}
@media(max-width:600px){.answer-waiting{min-height:calc(100vh - 58px)}.slider-reveal{min-height:313px;padding:120px 25px 160px}.reveal-range{top:-104px;height:142px}.reveal-check{top:-70px;width:42px;height:42px;font-size:1.5rem}.reveal-value{top:42px;width:118px;min-height:88px}.reveal-value strong{font-size:2.4rem}.reveal-value span{font-size:1rem}.reveal-count{top:137px;font-size:1rem}}
@media(max-width:600px){.leaderboard-stage{min-height:calc(100vh - 58px)}.leaderboard-stage .game-meta{font-size:.8rem}.leaderboard-heading{margin:35px auto 22px}.ranking-row{padding:8px 10px;gap:7px;min-height:55px}.ranking-place{width:1.7rem;font-size:1rem}.ranking-avatar{font-size:1.25rem}.ranking-name{font-size:.95rem}.rank-change{min-width:36px;font-size:.75rem}.ranking-streak{min-width:42px;font-size:.8rem;padding:3px}.ranking-score{min-width:48px;font-size:.95rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.confetti{display:none}.podium-row,.final-after{visibility:visible!important}}
.image-link-field{margin:12px 0 8px;background:#fff;border-radius:9px;padding:12px;color:#292431}
.image-link-field .small{font-weight:500}
.lobby-pin{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:0}
.lobby-domain{background:#fff;color:#48178a;padding:8px 16px;border-radius:4px;font-size:clamp(1.2rem,3vw,2rem);font-weight:900;line-height:1.1;overflow-wrap:anywhere;max-width:100%}
@media(max-width:600px){.podium-row{gap:8px;padding:12px}.podium-row.place-1{font-size:1.1rem}.podium-place{font-size:1.35rem;min-width:1.8rem}.podium-score{font-size:1rem}}
.puzzle-item{cursor:grab;touch-action:none;user-select:none;box-shadow:0 3px 0 #0002;min-height:58px}
.puzzle-item.dragging{cursor:grabbing;box-shadow:0 10px 24px #160b3266;outline:3px solid #ffd64a;position:relative;z-index:2}
.puzzle-grip{flex:none!important;color:#745a9b;font-size:1.5rem;line-height:1;letter-spacing:-.15em}
.puzzle-item button{cursor:pointer;touch-action:manipulation}
