@import "https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800;900&family=Plus+Jakarta+Sans:wght@600;700;800&display=swap";.home-screen{text-align:center;max-width:560px;margin:0 auto;padding:3rem 1.5rem 2rem}.home-hero h1{margin:.25rem 0 .75rem;font-size:clamp(2.5rem,8vw,4rem);font-weight:900;line-height:1}.home-tagline{opacity:.75;margin-bottom:2.5rem;font-size:1.05rem}.home-choices{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:2rem;display:grid}@media (width<=480px){.home-choices{grid-template-columns:1fr}}.home-choice-card{border:2px solid var(--border,#e0e0e0);background:var(--surface,#fff);cursor:pointer;text-align:center;border-radius:16px;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem 1rem;transition:border-color .15s,box-shadow .15s,transform .1s;display:flex}.home-choice-card:hover{border-color:var(--accent,#7650dc);transform:translateY(-2px);box-shadow:0 4px 20px #7650dc1f}.home-choice-card:active{transform:translateY(0)}.home-choice-icon{font-size:2rem;line-height:1}.home-choice-card strong{font-size:1rem;font-weight:800;display:block}.home-choice-card span:last-child{opacity:.65;font-size:.82rem;line-height:1.35}.home-teacher-link{margin-top:.5rem;font-size:.9rem}html,body{max-width:100%;overflow-x:hidden}body .page-shell,body .game-layout,body .board-panel{min-width:0;max-width:100%}@media (width<=1050px){body .page-shell{width:100%!important;min-width:0!important}body .game-layout{grid-template-columns:minmax(0,1fr)!important;width:100%!important;min-width:0!important;display:grid!important}body .game-sidebar{grid-template-columns:minmax(0,1fr)!important;width:100%!important;min-width:0!important}body .board-panel{width:100%!important;min-width:0!important;max-width:100%!important}body .board{grid-template-rows:repeat(7,minmax(0,1fr))!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;min-width:0!important;max-width:100%!important;min-height:0!important}body .game-layout,body .game-sidebar{grid-template-columns:1fr!important}body .board-panel{overflow:hidden!important}body .board{aspect-ratio:1!important;grid-template:repeat(7,minmax(0,1fr))/repeat(7,minmax(0,1fr))!important;width:100%!important;min-width:0!important;min-height:0!important}}@media (width<=600px){body .board{gap:3px!important;min-width:0!important;min-height:0!important}body .board-panel{padding:6px!important;overflow:hidden!important}}.masthead h1{letter-spacing:-1.5px!important;font-family:"Baloo 2",Nunito,sans-serif!important;font-weight:800!important;line-height:1.03!important}@media (width<=1050px){.page-shell{max-width:760px!important;padding:30px 24px!important}.game-layout,.game-sidebar{grid-template-columns:1fr!important}.board-panel{overflow:hidden!important}.board{aspect-ratio:1!important;grid-template:repeat(7,minmax(0,1fr))/repeat(7,minmax(0,1fr))!important;width:100%!important;min-width:0!important;min-height:0!important}.tile{min-width:0!important;min-height:0!important}.start-card{grid-column:auto!important}.masthead{margin-bottom:24px!important}}@media (width<=600px){.page-shell{padding:24px 12px!important}.masthead h1{letter-spacing:-1px!important;font-size:clamp(2.1rem,10vw,3rem)!important}.masthead>div>p:not(.eyebrow){font-size:15px!important}.board-panel{border-radius:17px!important;padding:6px!important}.board{gap:3px!important}.tile{border-radius:7px!important;padding:2px 1px!important}.tile:before{height:3px!important}.tile-icon{margin-bottom:2px!important;font-size:clamp(13px,4.6vw,20px)!important}.tile strong{overflow-wrap:anywhere;font-size:clamp(8px,2.8vw,11px)!important;line-height:1.05!important}.tile small{font-size:clamp(7px,2.6vw,10px)!important;line-height:1.1!important}.center-space{border-radius:11px!important;padding:5px!important}.center-kicker{letter-spacing:.7px!important;margin-bottom:8px!important;padding:3px 5px!important;font-size:6px!important}.center-logo{letter-spacing:-2px!important;font-size:clamp(1.75rem,9vw,2.5rem)!important}.center-subtitle{letter-spacing:3px!important;font-size:7px!important}.center-space p{margin:8px 0!important;font-size:clamp(10px,3.2vw,13px)!important}.dice-button{border-radius:13px!important;width:clamp(42px,15vw,64px)!important;height:clamp(42px,15vw,64px)!important;font-size:clamp(20px,7vw,31px)!important;box-shadow:0 6px #e3daf8!important}.turn-status{margin-top:10px!important;font-size:clamp(8px,2.7vw,11px)!important}.token{border-width:1px!important;border-radius:6px 6px 4px 4px!important;width:15px!important;height:18px!important;font-size:7px!important}.token:before{border-width:1px;width:8px;height:8px;top:-4px}.token-mark{margin-top:6px}.token-row{bottom:3px!important;right:3px!important}.board-key{justify-content:center!important;gap:4px 8px!important;margin-top:8px!important;font-size:9px!important}.key{width:7px!important;height:7px!important}.timer{min-width:0!important;padding-left:16px!important}.timer strong{font-size:30px!important}.topbar{padding:13px 16px!important}.topnav{gap:8px!important}.text-button{font-size:11px!important}}.page-shell{max-width:1110px!important;padding:32px 42px!important}.masthead{margin-bottom:28px!important;margin-left:0!important}.game-layout{grid-template-columns:minmax(0,624px) 290px!important;gap:20px!important}.board-panel{border-radius:23px!important;padding:11px!important}.board{grid-template:repeat(7,minmax(66px,1fr))/repeat(7,minmax(66px,1fr))!important;gap:6px!important;min-height:610px!important}.tile{border-radius:10px!important;padding:7px 4px!important}.tile-icon{margin-bottom:5px!important;font-size:23px!important}.tile strong{font-size:12px!important}.tile small{margin-top:3px!important;font-size:11px!important}.center-space{border-radius:16px!important;padding:14px!important}.center-kicker{color:#7650dc;letter-spacing:1.2px;background:#e9ddff;border-radius:7px;margin-bottom:22px;padding:7px 11px;font:800 10px Plus Jakarta Sans;display:inline-block}.center-logo{letter-spacing:-4px!important;font-size:clamp(2.7rem,5vw,4rem)!important}.center-subtitle{color:#7c61bd;letter-spacing:6px;margin-top:3px;font:800 11px Plus Jakarta Sans}.center-space p{margin:18px 0!important;font-size:16px!important}.dice-button{border-radius:19px!important;width:78px!important;height:78px!important;font-size:38px!important;transition:transform .15s!important}.dice-button.is-rolling{animation:.56s cubic-bezier(.2,.7,.3,1) dice-roll!important}.turn-status{margin-top:20px!important;font-size:13px!important}.board-key{gap:6px 11px!important;margin-top:12px!important;font-size:11px!important}.game-sidebar{gap:18px!important}.start-card{border-radius:21px!important;padding:26px!important}.start-card h2,.side-card h2{font-size:20px!important}.start-card>p:not(.eyebrow){margin:10px 0 20px!important;font-size:15px!important}.primary-button{border-radius:10px!important;min-height:53px!important}.helper-text{margin-top:15px!important;font-size:11px!important}.leaderboard{margin-top:13px!important}.leaderboard li:not(.room-empty){grid-template-columns:17px 36px 1fr auto!important;padding:8px 0!important}.player-token{border-radius:10px!important;width:34px!important;height:34px!important}.group-status,.side-note,.activity-log{font-size:11px!important}.activity-log{margin-top:13px!important}.brand-mark{letter-spacing:-1px!important;font-size:15px!important}.brand-name{font-size:25px!important}.brand-subtitle{font-size:10px!important}.topbar{height:92px!important}.topnav{font-size:11px!important}.end-button{font-size:12px!important}@keyframes dice-roll{0%{transform:rotate(0)scale(1)}20%{transform:rotate(-18deg)scale(1.15)}45%{transform:rotate(20deg)scale(.92)}70%{transform:rotate(-12deg)scale(1.1)}to{transform:rotate(360deg)scale(1)}}@media (width<=1120px){.game-layout{grid-template-columns:minmax(0,1fr) 290px!important}.page-shell{max-width:1000px!important}}@media (width<=760px){.page-shell{padding:28px 16px!important}.game-layout{grid-template-columns:1fr!important}.board{min-width:570px!important;min-height:570px!important}.game-sidebar{grid-template-columns:1fr!important}.masthead{margin-left:0!important}}.end-button{padding:4px;font-weight:700;color:#a1708c!important;background:0 0!important;border:0!important}.setup-dialog{overflow:auto;border-radius:34px 0 0 34px!important;width:min(48vw,700px)!important;max-width:none!important;min-height:100vh!important;margin:0 0 0 auto!important;padding:64px 62px!important}.setup-dialog form{gap:24px!important}.setup-dialog h2{letter-spacing:-2px!important;font-size:clamp(2rem,3vw,3rem)!important}.setup-intro{color:#6f687d!important;margin:0 0 30px!important;font-size:18px!important;line-height:1.55!important}.group-name-fields{border:0!important;margin:0!important;padding:0!important}.group-name-fields legend{margin:0 0 10px!important;padding:0!important;font-size:14px!important;font-weight:800!important}.group-name-fields>div{gap:12px!important;max-height:222px!important;padding-right:5px!important;display:grid!important;overflow:auto!important}.setup-dialog .form-note{line-height:1.6!important}.help-dialog{width:min(92vw,860px)!important;padding:48px!important}.help-dialog h2{letter-spacing:-2px!important;font-size:clamp(2rem,4vw,3rem)!important}.help-dialog ol{margin:28px 0 24px!important;padding-left:37px!important;font-size:18px!important;line-height:1.55!important}.help-note{color:#6f687d!important;margin:0 0 26px!important;font-size:14px!important;line-height:1.55!important}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}@media (width<=850px){.setup-dialog{border-radius:28px 0 0 28px!important;width:min(94vw,700px)!important;padding:42px 30px!important}.help-dialog{padding:34px 26px!important}.help-dialog ol{padding-left:26px!important;font-size:16px!important}}:root{--ink:#29213e;--muted:#6f687d;--page:#f7f7fc;--line:#e7e4ef;--violet:#7650dc;--deep:#5e3fbe;color:var(--ink);font-family:Nunito,sans-serif}*{box-sizing:border-box}body{background:var(--page);min-width:320px;margin:0}button,input,select{font:inherit}button{cursor:pointer}.skip-link{background:var(--ink);color:#fff;z-index:9;padding:.8rem;position:absolute;top:-4rem;left:1rem}.skip-link:focus{top:1rem}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:106px;padding:0 clamp(18px,4vw,72px);display:flex}.brand{color:var(--ink);align-items:center;gap:12px;text-decoration:none;display:flex}.brand-mark{background:var(--violet);color:#fff;border-radius:13px 16px;place-items:center;width:48px;height:48px;font:800 26px Plus Jakarta Sans;display:grid;transform:rotate(-6deg)}.brand-name{letter-spacing:-2px;font:800 27px Plus Jakarta Sans}.brand-name span,.center-logo span{color:var(--violet)}.brand-divider{background:#d7d2df;width:1px;height:25px;margin-left:3px}.brand-subtitle,.topnav,.eyebrow{letter-spacing:1.2px;color:#6754a8;font:800 12px Plus Jakarta Sans}.topnav{color:var(--muted);align-items:center;gap:26px;display:flex}.text-button{color:#605a73;background:0 0;border:0;padding:10px 0}.page-shell{max-width:1600px;margin:auto;padding:40px clamp(18px,4vw,72px) 32px}.masthead{justify-content:space-between;align-items:center;gap:24px;margin:0 0 36px 9%;display:flex}.eyebrow{margin:0 0 12px}.masthead h1{letter-spacing:-2.5px;margin:0;font:800 clamp(2rem,3vw,3.25rem)/1.1 Plus Jakarta Sans}.masthead h1 span{color:var(--violet)}.masthead>div>p:not(.eyebrow){color:var(--muted);margin:12px 0 0;font-size:18px}.timer{border-left:2px solid var(--line);min-width:230px;padding-left:32px}.timer span{letter-spacing:1.2px;color:var(--muted);font:800 12px Plus Jakarta Sans;display:block}.timer strong{letter-spacing:-2px;font:800 38px Plus Jakarta Sans}.timer button{color:#605a73;background:0 0;border:0;margin-left:18px}.game-layout{grid-template-columns:minmax(0,1fr) 370px;gap:32px;display:grid}.board-panel,.side-card{border:1px solid var(--line);background:#fff;border-radius:28px}.board-panel{padding:22px}.board{grid-template:repeat(7,minmax(76px,1fr))/repeat(7,minmax(76px,1fr));gap:9px;min-height:720px;display:grid}.tile{text-align:center;border:1px solid;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;padding:10px 5px;display:flex;position:relative;overflow:hidden}.tile:before{content:"";background:currentColor;border-radius:0 0 6px 6px;width:65%;height:5px;position:absolute;top:0}.tile-icon{margin-bottom:8px;font-size:27px;line-height:1}.tile strong{font-size:14px;line-height:1.15}.tile small{color:#5f596e;margin-top:5px;font-size:13px}.mean{color:#6b49c7;background:#f0ebff;border-color:#ddd2ff}.median{color:#087d76;background:#e8f7f3;border-color:#ccebe4}.modus{color:#b84e27;background:#fff0ea;border-color:#ffd9cb}.territory{color:#956c05;background:#fff7dd;border-color:#f5e4a8}.chance{color:#406d9f;background:#edf4fc;border-color:#d4e3f5}.challenge{color:#a43e7c;background:#fbeaf5;border-color:#f1d3e5}.penalty{color:#765f82;background:#f2eef5;border-color:#e0d7e5}.start{color:#6245bc;background:#ede5ff;border-color:#d8caff}.token-row{gap:2px;display:flex;position:absolute;bottom:7px;right:7px}.token{color:#fff;border:2px solid #fff;border-radius:8px 8px 5px 5px;place-items:center;width:21px;height:25px;font-size:9px;font-weight:900;line-height:1;display:grid;position:relative;transform:translateY(-2px);box-shadow:0 1px 2px #44386155}.token:before{background:inherit;content:"";border:2px solid #fff;border-radius:50%;width:11px;height:11px;position:absolute;top:-5px;left:50%;transform:translate(-50%)}.token-mark{z-index:1;margin-top:8px;position:relative}.center-space{text-align:center;background:#f2edff;border:1px solid #ded3fb;border-radius:21px;grid-area:2/2/7/7;place-items:center;padding:20px;display:grid}.center-logo{letter-spacing:-5px;font:800 clamp(3rem,7vw,6rem)/.9 Plus Jakarta Sans}.center-space p{color:#6d5c91;margin:20px 0;font-size:18px}.dice-button{width:102px;height:102px;color:var(--violet);background:#fff;border:0;border-radius:23px;font-size:49px;box-shadow:0 13px #e3daf8,0 18px 30px #7650dc22}.dice-button:hover{transform:translateY(-3px)}.dice-button:disabled{opacity:.55;cursor:not-allowed}.turn-status{color:#665777;margin-top:27px;font-weight:800}.board-key{color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 16px;margin:17px 0 0;font-size:13px;display:flex}.key{border-radius:3px;width:10px;height:10px}.key.mean{background:#7650dc}.key.median{background:#20a49e}.key.modus{background:#c45a35}.key.territory{background:#b68100}.clockwise{color:var(--violet);font-size:19px}.game-sidebar{gap:22px;display:grid}.start-card{background:#eee7ff;border:1px solid #dfd0ff;border-radius:22px;padding:30px}.start-card h2,.side-card h2,.dialog h2{letter-spacing:-1px;margin:0;font:800 23px/1.15 Plus Jakarta Sans}.start-card>p:not(.eyebrow){color:#6d5c91;margin:12px 0 25px;line-height:1.5}.primary-button{color:#fff;background:var(--violet);width:100%;min-height:58px;box-shadow:0 5px var(--deep);border:0;border-radius:12px;font-weight:800}.primary-button:hover{background:#6944cd}.primary-button:active{box-shadow:0 1px var(--deep);transform:translateY(4px)}.helper-text{text-align:center;color:#6d5c91;margin:19px 0 0;font-size:13px}.side-card{border-radius:22px;padding:26px}.card-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.card-heading span{color:#665290;letter-spacing:1px;background:#f0eafd;border-radius:7px;padding:10px 12px;font:800 10px Plus Jakarta Sans}.leaderboard{margin:18px 0 0;padding:0;list-style:none}.leaderboard li:not(.room-empty){color:var(--muted);border-bottom:1px solid #eeeaf3;grid-template-columns:20px 42px 1fr auto;align-items:center;gap:8px;padding:11px 0;display:grid}.leaderboard li:last-child{border:0}.rank{font-size:13px}.player-token{color:#fff;border-radius:13px;place-items:center;width:40px;height:40px;font-weight:900;display:grid}.group-name{color:var(--ink);font-weight:900;display:block}.group-status,.side-note,.activity-log{color:var(--muted);font-size:13px}.coins{color:#896400;font-weight:900}.side-note{margin:13px 0 0}.activity-log{margin:18px 0 0;padding:0;line-height:1.45;list-style:none}.activity-log li+li{border-top:1px solid #eeeaf3;margin-top:10px;padding-top:10px}.dialog{width:min(92vw,480px);color:var(--ink);border:0;border-radius:22px;padding:32px;position:relative;box-shadow:0 20px 80px #1f173d44}.dialog::backdrop{background:#2f234a66}.dialog form{gap:18px;display:grid}.dialog label{gap:7px;font-size:14px;font-weight:800;display:grid}.dialog select,.dialog input{width:100%;min-height:48px;color:var(--ink);background:#fff;border:1px solid #b4a8cf;border-radius:10px;padding:0 12px}.close-button{color:#605a73;background:0 0;border:0;font-size:28px;position:absolute;top:14px;right:18px}.form-note,.answer-feedback{color:var(--muted);margin:0;font-size:14px}.question-dialog #questionText{font-size:18px;line-height:1.55}.answer-feedback.success{color:#057c66;font-weight:800}.answer-feedback.error{color:#a52e47;font-weight:800}.help-dialog ol{color:#554d65;padding-left:21px;line-height:1.6}.help-dialog li+li{margin-top:9px}:focus-visible{outline-offset:3px;outline:3px solid #4221a6}@media (width<=1120px){.game-layout{grid-template-columns:1fr}.game-sidebar{grid-template-columns:1fr 1fr}.start-card{grid-column:span 2}.board{min-height:620px}}@media (width<=720px){.topbar{height:auto;min-height:78px;padding:14px 18px}.brand-mark{width:39px;height:39px;font-size:21px}.brand-name{font-size:22px}.brand-subtitle,.brand-divider,.topnav>span{display:none}.topnav{gap:12px;font-size:13px}.page-shell{padding:28px 16px}.masthead{margin-left:0;display:block}.timer{border-left:0;border-top:1px solid var(--line);margin-top:25px;padding:18px 0 0}.game-sidebar{grid-template-columns:1fr}.start-card{grid-column:auto}.board-panel{border-radius:18px;padding:10px;overflow:auto}.board{gap:5px;min-width:610px;min-height:610px}.tile{border-radius:8px;padding:5px}.tile-icon{margin-bottom:4px;font-size:21px}.tile strong,.tile small{font-size:10px}.center-space{border-radius:14px}.center-logo{letter-spacing:-3px;font-size:3rem}.center-space p{margin:15px 0;font-size:14px}.dice-button{width:72px;height:72px;font-size:36px}.turn-status{margin-top:15px;font-size:12px}.board-key{justify-content:flex-start;padding:0 7px}.side-card,.start-card{padding:22px}}.room-lobby{max-width:1100px;margin:0 auto;padding:34px 0}.room-lobby-heading{margin-bottom:26px}.room-lobby-heading h1{letter-spacing:-2px;margin:0;font:800 clamp(2rem,4vw,3.25rem)/1.1 Plus Jakarta Sans}.room-lobby-heading h1 span{color:var(--violet)}.room-lobby-heading>p:last-child{color:var(--muted)}.create-room-form{border:1px solid var(--line);background:#fff;border-radius:18px;align-items:end;gap:12px;padding:22px;display:flex}.create-room-form label{flex:1;gap:7px;font-weight:800;display:grid}.create-room-form input{border:1px solid var(--line);min-height:48px;font:inherit;border-radius:10px;padding:10px 13px}.create-room-form .primary-button{min-height:48px}.room-list-section{border:1px solid var(--line);background:#fff;border-radius:18px;margin-top:24px;padding:22px}.room-list{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-top:14px;display:grid}.room-item{border:1px solid var(--line);background:#faf9fd;border-radius:14px;padding:16px}.room-item h3{margin:0 0 5px}.room-item p{color:var(--muted);margin:0 0 12px;font-size:13px}.room-item a{color:var(--deep);font-weight:800;text-decoration:none}.room-item .room-share{color:var(--muted);cursor:pointer;background:0 0;border:0;margin-left:12px;font-weight:700}.room-empty{color:var(--muted);padding:18px 4px}.leaderboard li.room-empty,.leaderboard .room-empty{background:#fbfafd;border-radius:12px;text-align:center!important;width:100%!important;color:var(--muted)!important;border:1px dashed #e2deec!important;grid-template-columns:none!important;margin:10px 0!important;padding:24px 16px!important;font-size:14px!important;font-weight:600!important;line-height:1.5!important;display:block!important}.overall-ranking .leaderboard{margin-top:10px}.room-bar{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;gap:18px;margin:0 0 22px;padding:12px 16px;display:flex}.room-home-link{color:var(--deep);font-weight:800;text-decoration:none}.room-bar>span{flex:1;font-weight:800}.room-bar button{padding:0}.room-bar[hidden],.room-lobby[hidden]{display:none}@media (width<=600px){.room-lobby{padding:22px 0}.create-room-form{flex-direction:column;align-items:stretch;padding:16px}.room-list-section{padding:16px}.room-bar{flex-wrap:wrap;gap:8px}.room-bar>span{flex:1}.room-bar button{text-align:left;width:100%}}.masthead[hidden],.game-layout[hidden]{display:none!important}.room-bar-actions{align-items:center;gap:12px;display:flex}.zoom-end-trigger{color:#fff;cursor:pointer;background:#e11d48;border:0;border-radius:9px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:800;transition:all .15s;display:inline-flex;box-shadow:0 3px 8px #e11d4840}.zoom-end-trigger:hover{background:#be123c;transform:translateY(-1px)}.zoom-end-trigger:active{transform:translateY(1px)}.zoom-style-end-link{cursor:pointer;text-decoration:underline;color:#be123c!important;font-weight:800!important}.room-ended-banner{background:#fff1f2;border:1px solid #fecdd3;border-radius:16px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding:16px 20px;display:flex;box-shadow:0 4px 14px #e11d4814}.banner-content{align-items:center;gap:14px;display:flex}.banner-chip{color:#fff;letter-spacing:1px;white-space:nowrap;background:#e11d48;border-radius:6px;padding:5px 10px;font:800 10px Plus Jakarta Sans}.banner-text strong{color:#881337;font-size:15px;display:block}.banner-text p{color:#9f1239;margin:3px 0 0;font-size:13px}.banner-buttons{flex-shrink:0;align-items:center;gap:10px;display:flex}.banner-btn-primary{color:#fff;cursor:pointer;background:#7650dc;border:0;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:800}.banner-btn-secondary{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:800}.zoom-end-dialog{border-radius:24px!important;width:min(92vw,520px)!important;padding:32px 28px!important}.zoom-dialog-header{margin-bottom:20px}.zoom-chip{color:#be123c;letter-spacing:1.2px;background:#ffe4e6;border-radius:6px;margin-bottom:8px;padding:4px 10px;font:800 11px Plus Jakarta Sans;display:inline-block}.zoom-dialog-subtitle{color:var(--muted);margin:6px 0 0;font-size:14px}.zoom-action-list{flex-direction:column;gap:12px;margin:18px 0;display:flex}.zoom-choice-btn{text-align:left;cursor:pointer;border:2px solid #0000;border-radius:14px;align-items:flex-start;gap:14px;padding:16px 18px;transition:all .15s;display:flex}.zoom-choice-icon{padding-top:2px;font-size:24px;line-height:1}.zoom-choice-body strong{margin-bottom:3px;font-size:15px;display:block}.zoom-choice-body p{margin:0;font-size:12px;line-height:1.45}.btn-end-all{color:#9f1239;background:#fff1f2;border-color:#fecdd3}.btn-end-all strong{color:#be123c}.btn-end-all p{color:#9f1239}.btn-end-all:hover{background:#ffe4e6;border-color:#fda4af;transform:translateY(-1px)}.btn-leave-room{color:#334155;background:#f8fafc;border-color:#e2e8f0}.btn-leave-room strong{color:#1e293b}.btn-leave-room p{color:#64748b}.btn-leave-room:hover{background:#f1f5f9;border-color:#cbd5e1;transform:translateY(-1px)}.btn-delete-room{color:#6b21a8;background:#faf5ff;border-color:#f3e8ff}.btn-delete-room strong{color:#7e22ce}.btn-delete-room p{color:#9333ea}.btn-delete-room:hover{background:#f3e8ff;border-color:#e9d5ff;transform:translateY(-1px)}.zoom-dialog-footer{text-align:center;margin-top:14px}.game-over-dialog{text-align:center;border-radius:28px!important;width:min(94vw,560px)!important;padding:36px 30px!important}.game-over-header{margin-bottom:24px}.winner-trophy-badge{color:#b45309;letter-spacing:1.5px;background:#fef3c7;border-radius:8px;margin-bottom:10px;padding:6px 14px;font:800 12px Plus Jakarta Sans;display:inline-block}.game-over-desc{color:var(--muted);max-width:420px;margin:8px auto 0;font-size:15px}.podium-container{margin:20px 0}.podium-ranks{justify-content:center;align-items:flex-end;gap:12px;display:flex}.podium-card{border:1px solid var(--line);background:#fff;border-radius:18px;flex-direction:column;flex:1;align-items:center;max-width:150px;padding:16px 10px 18px;display:flex;box-shadow:0 4px 12px #0000000a}.podium-card.rank-1{z-index:2;background:linear-gradient(#fffbeb 0%,#fff 100%);border-color:#fde68a;order:2;transform:scale(1.08);box-shadow:0 8px 24px #f59e0b26}.podium-card.rank-2{background:linear-gradient(#f8fafc 0%,#fff 100%);order:1}.podium-card.rank-3{background:linear-gradient(#fff7ed 0%,#fff 100%);order:3}.medal-icon{margin-bottom:6px;font-size:32px;line-height:1}.podium-rank-tag{color:var(--muted);letter-spacing:.5px;font:800 11px Plus Jakarta Sans}.podium-rank-tag.gold{color:#b45309}.podium-token{color:#fff;border-radius:12px;place-items:center;width:38px;height:38px;margin:8px 0;font-weight:900;display:grid}.podium-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:14px;font-weight:800;overflow:hidden}.podium-coins{color:#896400;margin-top:4px;font-size:13px;font-weight:900}.podium-coins.gold{color:#b45309;font-size:15px}.podium-score-detail{color:var(--muted,#888);margin-top:2px;font-size:10px;font-weight:500;display:block}.score-formula-note{text-align:center;color:var(--muted,#888);border-top:1px solid var(--line,#eee);margin-top:14px;padding-top:10px;font-size:11px}.podium-others{text-align:left;border-top:1px solid var(--line);margin-top:22px;padding-top:16px}.podium-others h4{color:var(--muted);text-transform:uppercase;letter-spacing:.8px;margin:0 0 10px;font-size:13px}.podium-others ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.podium-others li{background:#f8fafc;border-radius:8px;align-items:center;padding:6px 10px;font-size:13px;display:flex}.other-rank{color:var(--muted);width:24px;font-weight:800}.other-token{color:#fff;border-radius:6px;place-items:center;width:22px;height:22px;margin-right:8px;font-size:11px;font-weight:800;display:grid}.other-name{flex:1;font-weight:700}.other-coins{color:#896400;font-weight:800}.game-over-buttons{flex-direction:column;gap:10px;margin-top:24px;display:flex}.finished-card{background:#fef3c7!important;border-color:#fde68a!important}.finished-card .eyebrow{color:#b45309!important}.card-btn-stack{flex-direction:column;gap:10px;margin-top:16px;display:flex}.secondary-action-button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:10px;justify-content:center;align-items:center;min-height:48px;padding:10px 16px;font-weight:800;display:inline-flex}.secondary-action-button:hover{background:#f8fafc}.room-item-header{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:6px;display:flex}.room-badge{white-space:nowrap;border-radius:6px;padding:4px 8px;font:800 10px Plus Jakarta Sans}.badge-live{color:#15803d;background:#dcfce7}.badge-done{color:#6d28d9;background:#ede9fe}.badge-ready{color:#64748b;background:#f1f5f9}.room-item-footer{justify-content:space-between;align-items:center;gap:8px;margin-top:10px;display:flex}.room-enter-link{color:var(--deep);font-weight:800;text-decoration:none}.room-item-buttons{align-items:center;gap:8px;display:flex}.room-delete-btn{color:#e11d48;cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;font-weight:700}.room-delete-btn:hover{text-decoration:underline}.room-error-banner{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5;border-radius:12px;margin-bottom:20px;padding:16px}@media (width<=600px){.room-ended-banner{flex-direction:column;align-items:stretch}.banner-buttons{flex-direction:column;width:100%}.banner-buttons button{width:100%}.podium-ranks{flex-direction:column;align-items:stretch}.podium-card.rank-1{order:1;transform:none}.podium-card.rank-2{order:2}.podium-card.rank-3{order:3}.podium-card{max-width:100%}.room-bar-actions{justify-content:space-between;width:100%}}.question-timer{color:var(--muted);align-items:center;gap:4px;margin-bottom:8px;font-size:.85rem;font-weight:700;transition:color .3s;display:inline-flex}.question-timer.timer-urgent{color:#e53e3e;animation:1s step-end infinite tick-urgent}@keyframes tick-urgent{0%,to{opacity:1}50%{opacity:.4}}.options-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;display:grid}.option-btn{border:2px solid var(--line);cursor:pointer;text-align:left;animation:opt-enter .35s calc(var(--opt-i,0) * 70ms) both;background:#fff;border-radius:10px;padding:12px 10px;font-size:.9rem;font-weight:600;line-height:1.4;transition:border-color .15s,background .15s,transform .12s,box-shadow .15s}.option-btn:hover:not(:disabled){border-color:var(--violet);background:#f5f0ff;transform:translateY(-2px)scale(1.02);box-shadow:0 4px 12px #7650dc22}.option-btn:active:not(:disabled){box-shadow:none;transform:translateY(0)scale(.98)}.option-btn.option-selected{border-color:var(--violet);background:#ede5ff;animation:.9s infinite opt-pulse}.option-btn.option-correct{color:#276749;background:#f0fff4;border-color:#38a169;animation:.55s cubic-bezier(.34,1.56,.64,1) opt-correct}.option-btn.option-wrong{color:#9b2c2c;background:#fff5f5;border-color:#e53e3e;animation:.4s shake-wrong}.option-btn.option-dim{opacity:.38;transition:opacity .3s}@keyframes opt-enter{0%{opacity:0;transform:translateY(10px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes opt-pulse{0%,to{box-shadow:0 0 #7650dc33}50%{transform:scale(1.01);box-shadow:0 0 0 6px #7650dc00}}@keyframes opt-correct{0%{transform:scale(.95)}50%{transform:scale(1.06);box-shadow:0 6px 20px #38a16940}to{box-shadow:none;transform:scale(1)}}@keyframes shake-wrong{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.answer-overlay{text-align:center;border-radius:14px;margin-top:12px;padding:14px 16px;animation:.4s cubic-bezier(.34,1.56,.64,1) overlay-pop}.correct-overlay{background:linear-gradient(135deg,#f0fff4 0%,#dcfce7 100%);border:2px solid #22c55e;box-shadow:0 0 0 4px #22c55e1f}.wrong-overlay{background:linear-gradient(135deg,#fff5f5 0%,#ffe4e4 100%);border:2px solid #ef4444;animation:.4s cubic-bezier(.34,1.56,.64,1) overlay-pop,.55s cubic-bezier(.36,.07,.19,.97) .1s both wrong-shake;box-shadow:0 0 0 4px #ef44441a}.overlay-stars{justify-content:center;gap:4px;margin-bottom:6px;font-size:1.7rem;display:flex}.overlay-stars span:first-child{animation:.55s 40ms both star-burst,1.2s ease-in-out .6s infinite star-twinkle}.overlay-stars span:nth-child(2){animation:.55s .14s both star-burst,1.2s ease-in-out .8s infinite star-twinkle}.overlay-stars span:nth-child(3){animation:.55s .24s both star-burst,1.2s ease-in-out .5s infinite star-twinkle}.overlay-stars span:nth-child(4){animation:.55s .34s both star-burst,1.2s ease-in-out .9s infinite star-twinkle}.overlay-stars span:nth-child(5){animation:.55s .44s both star-burst,1.2s ease-in-out .7s infinite star-twinkle}.correct-overlay .overlay-character{margin-bottom:6px;font-size:2.4rem;animation:.6s cubic-bezier(.34,1.56,.64,1) char-cheer;display:inline-block}.overlay-character{margin-bottom:6px;font-size:2.2rem;animation:.55s head-shake;display:inline-block}.overlay-message{font-size:1rem;font-weight:800;line-height:1.3}.correct-message{color:#166534;animation:.35s .3s both msg-slide-up}.wrong-message{color:#9b1c1c;animation:.35s .2s both msg-slide-up}@keyframes overlay-pop{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}@keyframes wrong-shake{0%,to{transform:translate(0)}15%{transform:translate(-7px)rotate(-1deg)}30%{transform:translate(7px)rotate(1deg)}45%{transform:translate(-5px)rotate(-.5deg)}60%{transform:translate(5px)rotate(.5deg)}75%{transform:translate(-3px)}}@keyframes star-burst{0%{opacity:0;transform:scale(0)rotate(-40deg)}65%{opacity:1;transform:scale(1.35)rotate(12deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes star-twinkle{0%,to{opacity:1;transform:scale(1)rotate(0)}50%{opacity:.7;transform:scale(1.25)rotate(15deg)}}@keyframes char-cheer{0%{opacity:0;transform:scale(.7)translateY(10px)}55%{opacity:1;transform:scale(1.15)translateY(-8px)}80%{transform:scale(.95)translateY(2px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes head-shake{0%,to{transform:rotate(0)translate(0)}20%{transform:rotate(-18deg)}40%{transform:rotate(16deg)}60%{transform:rotate(-10deg)}80%{transform:rotate(8deg)}}@keyframes msg-slide-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.answer-result{border-radius:10px;margin-top:12px;padding:10px 14px;font-size:.95rem;font-weight:700}.answer-result.correct{color:#276749;background:#f0fff4;border:1.5px solid #38a169;animation:.5s flash-correct}.answer-result.wrong{color:#9b2c2c;background:#fff5f5;border:1.5px solid #e53e3e}.answer-explanation{color:inherit;opacity:.85;margin-top:6px;font-size:.82rem;font-weight:400}@keyframes flash-correct{0%{opacity:0;transform:scale(.96)}60%{transform:scale(1.03)}to{opacity:1;transform:scale(1)}}.join-banner{background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:16px;padding:14px 18px;display:flex}.join-banner p{color:#1e40af;flex:1;margin:0;font-size:14px}.join-banner-info{background:#f0fdf4;border-color:#bbf7d0}.join-banner-info p{color:#166534}.token-walking{animation:.2s ease-in-out token-hop}@keyframes token-hop{0%{transform:translateY(-2px)scale(1)}40%{transform:translateY(-10px)scale(1.15)}to{transform:translateY(-2px)scale(1)}}.question-title-timer{color:var(--muted,#666);vertical-align:middle;margin-left:6px;font-size:.75em;font-weight:700;transition:color .3s;display:inline-block}.question-title-timer.timer-urgent{color:#e53e3e;animation:1s step-end infinite tick-urgent}.dice-button.is-rolling{pointer-events:none;animation:.7s infinite dice-shake!important}@keyframes dice-shake{0%{transform:rotate(0)scale(1)}15%{transform:rotate(-25deg)scale(1.2)}30%{transform:rotate(20deg)scale(.9)}45%{transform:rotate(-18deg)scale(1.15)}60%{transform:rotate(22deg)scale(.95)}75%{transform:rotate(-15deg)scale(1.1)}to{transform:rotate(0)scale(1)}}.learning-menu,.learning-dialog,.learning-content{--learning-ink:#29213e;--learning-muted:#625a72;--learning-purple:#6540bf;--learning-line:#e4dfee;--learning-soft:#f5f1fd;color:var(--learning-ink);text-align:start;font-family:Nunito,system-ui,sans-serif;font-size:1rem;line-height:1.65}.learning-menu,.learning-menu *,.learning-dialog,.learning-dialog *,.learning-content,.learning-content *{box-sizing:border-box}.learning-menu{flex-shrink:0;display:inline-block;position:relative}.learning-menu button,.learning-dialog button{font:inherit;cursor:pointer}.learning-menu-trigger{border:1px solid var(--learning-line);min-height:44px;color:var(--learning-ink);background:#fff;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;padding:.5rem .85rem;font-weight:800;display:inline-flex}.learning-menu-icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:22px;height:22px}.learning-menu-trigger:hover,.learning-menu-trigger[aria-expanded=true]{border-color:var(--learning-purple);background:var(--learning-soft);color:var(--learning-purple)}.learning-menu-panel{z-index:50;border:1px solid var(--learning-line);background:#fff;border-radius:14px;width:max-content;min-width:220px;max-width:calc(100vw - 2rem);padding:.4rem;position:absolute;inset-block-start:calc(100% + .5rem);inset-inline-end:0;box-shadow:0 12px 32px #29213e24}.learning-menu-panel[hidden]{display:none}.learning-menu-item{width:100%;min-height:44px;color:var(--learning-ink);text-align:start;white-space:normal;background:0 0;border:0;border-radius:9px;padding:.65rem .85rem;display:block}.learning-menu-item:hover{background:var(--learning-soft);color:var(--learning-purple)}.learning-menu button:focus-visible,.learning-dialog button:focus-visible,.learning-dialog-header h2:focus-visible{outline:3px solid var(--learning-purple);outline-offset:3px}.learning-dialog{overscroll-behavior:contain;border:1px solid var(--learning-line);background:#fff;border-radius:22px;width:min(780px,100vw - 2rem);max-width:none;max-height:calc(100dvh - 2rem);margin:auto;padding:0;overflow:auto;box-shadow:0 24px 80px #21153740}.learning-dialog::backdrop{background:#211537a6}.learning-dialog-header{z-index:1;border-bottom:1px solid var(--learning-line);background:#fff;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex;position:sticky;top:0}.learning-dialog-header h2{color:var(--learning-ink);overflow-wrap:anywhere;border-radius:4px;margin:0;font-size:clamp(1.2rem,4vw,1.5rem);font-weight:900;line-height:1.35}.learning-close{border:1px solid var(--learning-line);background:var(--learning-soft);width:44px;height:44px;color:var(--learning-ink);border-radius:50%;flex:0 0 44px;justify-content:center;align-items:center;padding:0;display:inline-flex}.learning-close span{font-size:1.8rem;line-height:1}.learning-close:hover{border-color:var(--learning-purple);color:var(--learning-purple)}.learning-dialog-body{padding:1.5rem}.learning-content{overflow-wrap:anywhere;min-width:0}.learning-content h3{color:var(--learning-purple);margin:0 0 .8rem;font-size:1.2rem;font-weight:900;line-height:1.4}.learning-content h4{color:var(--learning-ink);margin:1.25rem 0 .5rem;font-size:1rem;font-weight:900;line-height:1.5}.learning-content p{margin:0 0 1rem}.learning-content ul,.learning-content ol{margin:0 0 1rem;padding-inline-start:1.6rem}.learning-content li{margin-block:.45rem;padding-inline-start:.15rem}.learning-content .learning-intro{margin-bottom:1.5rem;font-weight:800}.learning-section+.learning-section{border-top:1px solid var(--learning-line);margin-top:2rem;padding-top:2rem}.learning-content .learning-formula{border-inline-start:4px solid var(--learning-purple);background:var(--learning-soft);color:var(--learning-ink);font-variant-numeric:lining-nums tabular-nums;border-radius:0 9px 9px 0;padding:.85rem 1rem;font-family:Cambria Math,STIX Two Math,system-ui,sans-serif;font-size:1.1rem;line-height:1.75}.learning-example{border:1px solid var(--learning-line);background:#fcfbff;border-radius:14px;margin-block:1.25rem;padding:1.25rem}.learning-example>h4:first-child{margin-top:0}.learning-example>:last-child,.learning-summary>:last-child,.learning-content>:last-child{margin-bottom:0}.learning-table{border-collapse:collapse;font-variant-numeric:tabular-nums;background:#fff;width:100%;margin-bottom:1rem}.learning-table caption{color:var(--learning-muted);text-align:start;padding-block:.25rem .65rem;font-size:.9rem}.learning-table th,.learning-table td{border:1px solid var(--learning-line);text-align:center;padding:.6rem .85rem}.learning-table thead th{background:var(--learning-soft);color:var(--learning-purple)}.learning-summary{border:1px solid var(--learning-line);background:var(--learning-soft);border-radius:14px;margin-top:1.5rem;padding:1.25rem}.learning-content .learning-rule-steps>li{margin-bottom:1.5rem}.learning-rule-steps>li::marker{color:var(--learning-purple);font-weight:900}.learning-rule-steps h4{margin-top:0}.learning-preview{max-width:560px;margin:1.5rem auto 0}.learning-board{width:100%;height:auto;font-family:Nunito,system-ui,sans-serif;display:block}.learning-board-base{fill:#f5f1fd;stroke:#dfd5f2}.learning-board-tile{stroke:#d9cee9}.learning-board-tile-0{fill:#eee5fc}.learning-board-tile-1{fill:#e0f3ef}.learning-board-tile-2{fill:#fff1d5}.learning-board-tile-3{fill:#fce7e0}.learning-board-center{fill:#fff}.learning-board-symbol{fill:#6540bf;font-size:23px;font-weight:900}.learning-board-label{fill:#29213e;font-size:10px;font-weight:800}.learning-board-brand{fill:#6540bf;font-size:38px;font-weight:900}.learning-board-caption{fill:#625a72;font-size:17px}.learning-board-note{fill:#625a72;font-size:12px;font-weight:800}.learning-board-die{fill:#6540bf}.learning-board-pip{fill:#fff}.learning-board-token{stroke:#fff;stroke-width:3px}.learning-board-token-0{fill:#6540bf}.learning-board-token-1{fill:#16716b}.learning-board-token-2{fill:#a64729}.learning-board-token-label{fill:#fff;font-size:14px;font-weight:900}.learning-preview figcaption{color:var(--learning-muted);text-align:center;margin-top:.75rem;font-size:.9rem;line-height:1.6}@media (width<=600px){.learning-dialog{border-radius:16px;width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem)}.learning-dialog-header{gap:.5rem;padding:.75rem 1rem}.learning-dialog-body{padding:1.1rem 1rem}.learning-example,.learning-summary{padding:.9rem}.learning-content .learning-formula{padding:.7rem;font-size:1rem}}
