/* Original styling based on ordinary Chrome observations of one synthetic
   Classic session. The independent math explanation retains its own layout. */
body.classic-host,body.classic-player{margin:0;background:#5e3cab;font-family:"IBM Plex Sans",system-ui,sans-serif;color:#fff}
.classic-host>header,.classic-player>header,.classic-host main>footer,.classic-player main>footer{display:none}
.classic-host main,.classic-player main{max-width:none;width:100%;margin:0;padding:0}
.classic-host #content,.classic-player #content{margin:0;padding:0;max-width:none}
.classic-host #message:empty,.classic-player #message:empty{display:none}
.classic-host #message:not(:empty),.classic-player #message:not(:empty){position:fixed;bottom:8px;left:12px;right:12px;z-index:20;background:#fff;color:#151515;padding:12px;border-radius:6px}
.classic-host button,.classic-player button{font-family:inherit}
.classic-host :focus-visible,.classic-player :focus-visible{outline:3px solid #ffd652;outline-offset:-4px}
.classic-host-shell{min-height:100dvh;position:relative;display:flex;flex-direction:column}
.classic-host-head{min-height:70px;padding:10px 20px;display:flex;gap:10px;align-items:center;background:#2b1b4b}
.classic-brand{font-size:30px;font-weight:850;margin-right:auto;letter-spacing:-1px}
.classic-host-head>button,.classic-host-tools>summary{background:#7143b8;border:0;color:#fff;padding:10px 15px;min-height:44px;font-size:14px;border-radius:7px}
.classic-host-tools>summary{cursor:pointer;list-style:none}.classic-host-tools{color:#182c24}
.classic-host-toolbody{position:absolute;z-index:8;right:12px;top:66px;background:#fffef9;color:#1d3529;width:min(900px,calc(100vw - 24px));max-height:calc(100dvh - 90px);overflow:auto;padding:20px;border-radius:8px;box-shadow:0 12px 32px #0005}
.classic-host-toolbody .host-grid{grid-template-columns:minmax(0,1fr)}
.classic-host-toolbody .hero{padding:0}.classic-host-toolbody .hero h1{font-size:23px}.classic-host-toolbody .panel{min-width:0}
.classic-lobby .classic-host-head{position:absolute;right:10px;bottom:7px;z-index:3;background:transparent;min-height:48px;padding:0}
.classic-lobby .classic-host-head>.classic-brand,.classic-lobby .classic-host-head>#host-report,.classic-lobby .classic-host-head>#leave{display:none}
.classic-lobby .classic-host-toolbody{top:auto;bottom:54px;max-height:75dvh}
.classic-code-banner{background:#372563;height:220px;flex:0 0 220px;text-align:center;padding:25px 10px 10px;box-shadow:0 5px 9px #0002}
.classic-code-banner p{font-size:32px;margin:0;line-height:1.4}.classic-code-banner a{color:#fff;font-weight:750;text-decoration:none}
.classic-code-banner .roomcode{font-size:100px;font-weight:800;line-height:1.2;letter-spacing:0;background:none;color:#fff;padding:6px;margin:0;border:0}
.classic-lobby-line{display:flex;justify-content:space-between;align-items:center;padding:10px 23px;min-height:66px}
.classic-lobby-line strong{font-size:28px}.classic-lobby-line #start{font-size:25px;background:#69ad54;border:0;border-radius:3px;min-height:48px;padding:8px 16px;color:#fff}
.classic-host-players{display:flex;flex-direction:column;gap:10px;padding:4px 23px;min-width:0}
.classic-host-player{display:flex;align-items:center;gap:12px;min-height:50px;padding:8px 12px;border-radius:5px;background:#fff;color:#111;font-size:22px}
.classic-lobby .classic-host-player{align-self:flex-start;background:#ffffff35;color:#fff;font-weight:400;min-height:62px;font-size:32px;padding:8px 14px}
.classic-lobby .classic-host-player strong{font-weight:400}.classic-lobby .classic-rank{display:none}
.classic-row-cash{margin-left:auto;font-size:17px}.classic-lobby-goal{margin-top:auto;background:#372563;min-height:70px;display:flex;align-items:center;justify-content:center;padding:10px 170px 10px 20px;font-size:23px;text-align:center}
.classic-host-clock{position:absolute;left:50%;transform:translateX(-50%);font-size:29px;font-weight:750}
.classic-host-live{display:grid;grid-template-columns:30% minmax(0,1fr);gap:15px;padding:4px 10px 10px;flex:1}
.classic-host-live .classic-host-players{padding:0 5px}.classic-host-live .classic-host-player{font-size:20px}
.classic-host-stage{min-width:0;display:flex;flex-direction:column;gap:10px}.classic-wallet-stage{height:310px;border-radius:7px;background:#372563;display:flex;align-items:center;justify-content:center}
.classic-wallet-stage strong{background:#0e0718;font-size:clamp(70px,10vw,150px);padding:10px 35px;border-radius:23px;line-height:1.25;overflow-wrap:anywhere;max-width:100%}
.classic-live-note{background:#281a44;border-radius:7px;padding:18px 14px;min-height:180px;flex:1;font-size:20px}
.classic-ended .classic-host-head{justify-content:flex-end;min-height:80px}.classic-ended .classic-brand{position:absolute;left:50%;transform:translateX(-50%);margin:0}
.classic-ended .classic-host-players{align-items:center;padding-top:40px}.classic-ended .classic-host-player{position:relative;width:280px;min-height:120px;flex-direction:column;justify-content:center;gap:3px;box-shadow:0 8px 25px #0002}
.classic-ended .classic-rank{position:absolute;top:-35px;background:#e2c346;border-radius:50%;width:65px;height:65px;display:grid;place-items:center;color:#fff;font-size:25px}.classic-ended .classic-row-cash{margin:0}.classic-end-note{text-align:center;font-size:13px;padding:15px}
.classic-player{background:#343f94}.classic-player #content.learner-screen{max-width:none}
.classic-player .learner-bar{position:relative;min-height:60px;margin:0;padding:8px 16px;background:#4554a6;display:flex;gap:10px;align-items:center;color:#fff;border:0;border-radius:0}
.classic-player .learner-heading{display:contents}.classic-player .learner-heading>h1{display:none}
.classic-player .learner-bar>#shop-open,.classic-player #student-standings{font-size:14px;min-height:44px;padding:8px 14px;background:transparent;color:#fff;border:1px solid #ffffff55}
.classic-player-wallet{margin-left:auto;font-size:24px}.classic-player-menu>summary{display:grid;place-items:center;font-size:25px;width:44px;min-height:44px;cursor:pointer;list-style:none}
.classic-menu-body{position:absolute;z-index:10;left:10px;top:57px;width:min(330px,calc(100vw - 20px));background:#fff;color:#192c25;padding:18px;box-shadow:0 10px 25px #0005;display:flex;flex-direction:column;gap:12px;border-radius:5px}
.classic-menu-body .tag{color:#192c25}.classic-menu-body .learner-goal{color:#192c25}.classic-menu-body button{min-height:44px}.classic-player #player-status:empty{display:none}
.classic-reward-strip{height:60px;background:#4554a6;display:flex;align-items:center;gap:22px;overflow-x:auto;white-space:nowrap;padding:2px 20px;scrollbar-width:thin;flex-shrink:0}
.classic-reward{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:85px;position:relative}.classic-reward:not(:last-child):after{content:'→';position:absolute;right:-19px;top:19px;color:#ffffff65}.classic-reward small{font-size:11px;color:#ffffffb0}.classic-reward strong{font-size:16px;background:#333e8c;padding:5px 7px;border-radius:4px}
.classic-player .play-grid{display:block;margin:0;min-height:calc(100dvh - 120px)}
.classic-player .question-panel{border:0;border-radius:0;box-shadow:none;padding:0;margin:0;background:#343f94;color:#fff;min-width:0;display:flex;flex-direction:column;min-height:calc(100dvh - 120px)}
.classic-player .question-heading{display:none}.classic-player #question-title{color:#fff;text-align:center;font-size:20px;margin:12px 10px 0}
.classic-player .question-panel>.problem{height:180px;min-height:150px;display:flex;align-items:center;justify-content:center;margin:0;padding:8px 20px;border:0;background:transparent;flex-shrink:0}
.classic-player .question-math{font-size:48px;color:#fff;max-width:100%;overflow-wrap:anywhere}.classic-player .question-math .fraction{font-size:.8em}
.classic-player .answer-choices{flex:1;min-height:330px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(150px,1fr));gap:0;margin:0}
.classic-player .answer-choice{margin:0;border-radius:0;border:6px solid #0002;min-height:0;padding:20px 35px;color:#fff;background:#741e29}
.classic-player .answer-choice:nth-child(2){background:#c87e2e}.classic-player .answer-choice:nth-child(3){background:#306c3a}.classic-player .answer-choice:nth-child(4){background:#2d6594}
.classic-player .answer-choice:hover:enabled{filter:brightness(1.12);color:#fff}.classic-player .choice-value{font-size:30px}.classic-player .choice-key{font-size:12px;opacity:.7}.classic-player .answer-choice:disabled{opacity:.65}
.classic-player .answer-help{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.classic-player #answer-form{width:min(700px,calc(100% - 32px));margin:15px auto 30px;display:grid;grid-template-columns:1fr auto;gap:12px}.classic-player #answer-form label{grid-column:1/-1;color:#fff}.classic-player #answer-form input{min-width:0;background:#fff;color:#16291d;height:60px;font-size:30px}.classic-player #answer-form button{min-height:60px;background:#212572;color:#fff;border-color:#7885d2}
.classic-player .problem.graph-question{height:280px;background:#fff;color:#1d2e24;margin:10px auto;width:min(750px,calc(100% - 28px));border-radius:6px}.classic-player .graph-question+.answer-choices{min-height:270px;grid-template-rows:repeat(2,minmax(120px,1fr))}
.classic-player .scenario-question{height:auto!important;min-height:220px!important}.classic-player .scenario-question .question-math{font-size:27px}
.classic-player .warning{margin:0;border-radius:0;color:#573c17;background:#fff4cc}
.classic-player .ready{min-height:calc(100dvh - 120px);display:flex;flex-direction:column;text-align:center;padding:0;background:#343f94}
.classic-player .ready>h2,.classic-player .ready>.eyebrow,.classic-player .ready>.outcome,.classic-player .ready>p:not(.accepted-gain){display:none}
.classic-ready .ready .accepted-gain{flex:1;min-height:235px;margin:0;display:grid;place-items:center;background:#4f9149;color:#fff;font-size:clamp(70px,10vw,140px);font-weight:800;line-height:1.2;overflow-wrap:anywhere}
.classic-ready .ready>#shop-open,.classic-ready .ready>#return{display:grid;place-items:center;flex:1;width:100%;min-height:175px;border:6px solid #0002;border-radius:0;margin:0;font-size:40px;font-weight:700;color:#fff;background:#3a26ad}
.classic-ready .ready>#return{background:#202975}.classic-player.classic-ended .ready{justify-content:center;align-items:center;gap:15px}.classic-player.classic-ended .ready h2,.classic-player.classic-ended .ready p{display:block}.classic-player .final-score{color:#fff;font-size:80px}
.classic-player #shop{display:none}.classic-shop-open .question-panel{display:none}.classic-shop-open #shop{display:block;padding:24px;background:#eee;color:#111;min-height:calc(100dvh - 120px);border:0;border-radius:0;box-shadow:none}
.classic-shop-open #shop>.eyebrow,.classic-shop-open #shop>.coin-value,.classic-shop-open #shop>.goal-status,.classic-shop-open #shop>#finance-summary{display:none}
.classic-shop-open #shop-title{font-size:22px;margin:0 0 14px}.classic-shop-open #shop-back,.classic-shop-open #classic-shop-overview{background:#fff;color:#253b32;min-height:44px;margin:0 8px 12px 0}
.classic-shop-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.classic-shop-categories[hidden]{display:none}
.classic-category{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:250px;background:#fff;color:#111;border:0;border-radius:4px;padding:25px 18px;box-shadow:0 10px 22px #0003;text-align:center}
.classic-category strong{font-size:25px}.classic-category>span:last-child{font-size:16px}.classic-category-icon{width:100px;height:100px;display:grid;place-items:center;background:#741e29;border-radius:50%;font-size:40px;font-weight:800;color:#fff}.classic-category:nth-child(2) .classic-category-icon{background:#9b6027}.classic-category:nth-child(3) .classic-category-icon{background:#306c3a}.classic-category:nth-child(4) .classic-category-icon{background:#2d6594}
.classic-tier-detail[hidden]{display:none!important}.classic-tier-detail{display:flex!important;flex-direction:column;border:0;border-radius:0;background:transparent;padding:0;margin:0;gap:0}
.classic-tier-detail>h3,.classic-tier-detail>.next-benefit,.classic-tier-detail>[data-upgrade]{width:min(700px,100%);align-self:center;margin:0;text-align:center;border:0;border-radius:0}
.classic-tier-detail>h3{background:#23275d;color:#fff;padding:14px;font-size:27px}.classic-tier-detail>h3 .small{font-size:15px;display:block}
.classic-tier-detail>.next-benefit{background:#343f94;color:#fff;min-height:150px;padding:20px;font-size:45px;display:flex;align-items:center;justify-content:center;gap:15px}.classic-tier-detail>.next-benefit .current-effect{font-size:22px;opacity:.8}
.classic-tier-detail>[data-upgrade]{background:#5b9a51;color:#fff;font-size:28px;min-height:90px;padding:15px}.classic-tier-detail>[data-upgrade]:disabled{background:#858585;opacity:1;color:#fff}
.classic-tier-detail>[data-tier-details]{align-self:center;width:min(700px,100%);font-size:14px;padding:10px;color:#273b30}.classic-tier-detail>[data-tier-details]>summary{display:none}.classic-tier-detail [data-tier]{height:44px;min-height:44px;font-size:16px;background:#fff}
.classic-tier-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;margin:12px -24px -24px}
.classic-tier{height:100px;min-height:44px;border:1px solid #aaa;border-radius:0;background:#13051f;color:#fff;font-size:27px;padding:10px}.classic-tier[aria-pressed=true]{background:#2c0e59;box-shadow:inset 0 0 0 3px #d6ba60}.classic-tier:before{content:'●';font-size:22px;color:#d84d35;margin-right:5px}
.classic-player #finance-policy{margin-top:24px;font-size:13px}.classic-waiting{background:#68ab55;min-height:100dvh;color:#fff}.classic-waiting-brand{height:58px;background:#4554a6;text-align:center;font-size:34px;font-weight:850;display:grid;place-items:center}.classic-waiting-panel{width:min(600px,calc(100% - 32px));margin:20px auto;background:#264326;padding:22px 20px;text-align:center;border-radius:5px;box-shadow:0 15px 35px #0004}.classic-waiting-panel h1{font-size:38px;margin:0 0 15px;color:#fff}.classic-waiting-row{border:2px solid #fff;border-radius:4px;display:flex;align-items:center;gap:18px;min-height:70px;margin:10px 0;padding:15px;text-align:left;font-size:20px;font-weight:650}.classic-waiting-row span{font-size:30px;width:35px;text-align:center}.classic-waiting-panel>strong{display:block;margin:12px}.classic-waiting-teaching{font-size:17px}.classic-waiting-panel .goal-status,.classic-waiting-panel .goal-status strong,.classic-waiting-panel .goal-status small{color:#fff}.classic-waiting-panel #leave{min-height:44px}
@media(max-width:750px){.classic-code-banner{height:200px;flex-basis:200px;padding-top:20px}.classic-code-banner p{font-size:20px}.classic-code-banner .roomcode{font-size:70px}.classic-lobby-line{padding:12px}.classic-lobby-line strong{font-size:22px}.classic-lobby-line #start{font-size:19px}.classic-host-players{padding:4px 12px}.classic-lobby .classic-host-player{font-size:24px}.classic-lobby-goal{font-size:16px;padding:12px 140px 12px 12px}.classic-host-head{padding:10px;flex-wrap:wrap}.classic-brand{font-size:20px}.classic-host-clock{position:static;transform:none;font-size:24px}.classic-host-head>button,.classic-host-tools>summary{font-size:12px;padding:8px}.classic-host-live{grid-template-columns:minmax(0,1fr)}.classic-wallet-stage{height:220px}.classic-host-live .classic-host-player{font-size:18px}.classic-live-note{min-height:90px}.classic-ended .classic-brand{position:static;transform:none}.classic-player .learner-bar{padding:4px 8px;gap:5px}.classic-player .learner-bar>#shop-open,.classic-player #student-standings{font-size:12px;padding:8px}.classic-player-wallet{font-size:20px}.classic-reward-strip{gap:10px;padding:0 8px}.classic-reward{min-width:68px}.classic-reward:not(:last-child):after{right:-8px}.classic-player #question-title{font-size:16px}.classic-player .question-math{font-size:35px}.classic-player .question-panel>.problem{height:165px;padding:8px 14px}.classic-player .answer-choices{min-height:280px;grid-template-rows:repeat(2,minmax(120px,1fr))}.classic-player .answer-choice{padding:20px 18px}.classic-player .choice-value{font-size:24px}.classic-player #answer-form{grid-template-columns:1fr}.classic-shop-open #shop{padding:15px}.classic-shop-categories{gap:12px}.classic-category{min-height:200px;padding:20px 10px}.classic-category strong{font-size:20px}.classic-category>span:last-child{font-size:14px}.classic-category-icon{width:70px;height:70px;font-size:30px}.classic-tier-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin:12px -15px -15px}.classic-tier{height:70px;font-size:22px}.classic-tier-detail>h3{font-size:23px}.classic-tier-detail>.next-benefit{font-size:32px;min-height:120px}.classic-tier-detail>[data-upgrade]{font-size:20px}.classic-waiting-panel{padding:20px 14px}.classic-waiting-panel h1{font-size:30px}.classic-waiting-row{font-size:17px;padding:12px;gap:10px}.classic-ready .ready>#shop-open,.classic-ready .ready>#return{min-height:135px;font-size:30px}}
/* Override inherited generic form/details sizing inside the full-screen shell. */
.classic-player .learner-bar{height:60px;min-height:60px;box-sizing:border-box}
.classic-player .classic-player-menu{margin:0;padding:0;border:0}
.classic-player .classic-player-menu>summary{margin:0;padding:0;box-sizing:border-box}
.classic-player .classic-tier-detail .classic-tier{font-size:27px;min-height:100px;padding:10px}
.classic-player .classic-tier-detail>.next-benefit{font-size:45px;color:#fff}
.classic-player .classic-tier-detail>h3 .small{color:#d5d9ed;font-size:15px}
.classic-code-banner .classic-long-link{font-size:18px;overflow-wrap:anywhere}
.classic-player #standings-dialog{position:fixed;inset:0 auto 0 0;margin:0;width:min(364px,calc(100vw - 16px));height:100dvh;max-height:100dvh;max-width:100vw;border:0;border-radius:0;padding:12px;background:#5e3cab;color:#fff;box-sizing:border-box}
.classic-player #standings-dialog::backdrop{background:#0008}
.classic-player #standings-dialog h2{font-size:22px;color:#fff}
.classic-player #standings-dialog .leaderboard{min-width:0;background:#fff;color:#111;border-radius:6px;font-size:15px}
.classic-player #standings-dialog .leaderboard th,.classic-player #standings-dialog .leaderboard td{padding:9px 6px;overflow-wrap:anywhere}
.classic-player #standings-dialog .coach-top{align-items:start;gap:6px;flex-wrap:wrap}
.classic-player #standings-dialog button{min-height:44px}
@media(max-width:750px){.classic-code-banner .classic-long-link{font-size:12px}.classic-player .classic-tier-detail .classic-tier{font-size:22px;min-height:70px}.classic-player .classic-tier-detail>.next-benefit{font-size:32px}}
.classic-shop-open #shop{position:static;padding-top:18px}
.classic-shop-open #shop-title{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.classic-shop-open #shop-back,.classic-shop-open #classic-shop-overview{position:absolute;top:8px;left:12px;z-index:4;margin:0;min-height:44px;padding:8px 12px}
.classic-shop-open #classic-shop-overview{left:165px}
.classic-shop-open .classic-player-menu,.classic-shop-open #student-standings,.classic-shop-open .learner-bar>#shop-open{visibility:hidden}
.classic-player:has(#shop[data-classic-category=""]).classic-shop-open .classic-reward-strip{display:none}
.classic-player .classic-tier-detail>[data-tier-details]>summary{display:list-item;min-height:44px;padding:12px;cursor:pointer}
.classic-player .classic-tier-detail>.classic-tier-grid{margin-bottom:0}
.classic-player .classic-tier.classic-owned:before{color:#999}
@media(max-width:750px){.classic-shop-open #shop-back{font-size:12px;max-width:155px}.classic-shop-open #classic-shop-overview{left:170px;font-size:12px}.classic-player .classic-tier-detail>.classic-tier-grid{margin-bottom:0}}
.classic-shop-open #shop{padding-top:28px}
.classic-shop-open #shop-status:empty{display:none}
.classic-player .classic-tier-detail>.next-benefit .current-effect{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.classic-player .classic-tier-detail>.next-benefit>[aria-hidden=true]{display:none}
.classic-player .classic-tier-detail>.next-benefit>strong{font-size:96px;line-height:1}
.classic-player .classic-tier-detail>h3{position:relative;text-align:center}
.classic-player .classic-tier-detail>h3 .small{position:absolute;right:12px;bottom:4px;font-size:11px}
.classic-reward-strip{position:relative}.classic-forecast-label{position:absolute;top:0;left:8px;font-size:9px;color:#fff}
@media(max-width:750px){.classic-player .classic-tier-detail>.next-benefit>strong{font-size:65px}.classic-player .classic-tier-detail>h3 .small{position:static;font-size:12px}}
.classic-player.classic-ended .ready p{color:#fff}
@media(max-width:750px){.classic-player .question-panel>.problem.graph-question{display:block;height:300px;min-height:300px;overflow:hidden;padding:8px 12px}.classic-player .problem.graph-question svg{height:245px;max-width:100%;display:block;margin:auto}.classic-player .graph-question .point-key{position:static;margin:0 0 4px;font-size:14px;color:#152b21}}
.classic-host-tools,.classic-host-tools>summary{margin:0}

/* Lobby access options stay visible; audience and admission rules remain private. */
.classic-lobby-join{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:20px;align-items:center;max-width:760px;width:calc(100% - 40px);margin:16px auto 4px;padding:14px 18px;background:#ffffff18;border:1px solid #ffffff35;border-radius:8px}.classic-lobby-direct{min-width:0}.classic-lobby-direct .join-link-label{font-size:15px;color:#fff;margin:0 0 7px}.classic-lobby-direct input.join-link{width:100%;min-height:44px;font-size:13px;color:#172331;background:#fff}.classic-lobby-direct #copy-join-link{min-height:44px;margin-top:8px}.classic-lobby-direct .private-access-note{font-size:12px;line-height:1.4;margin:8px 0 0;color:#f0eef6}.classic-lobby-join .join-qr{margin:0}.classic-lobby-join .join-qr summary{min-height:44px;font-size:12px;display:flex;align-items:center;margin:0}.classic-lobby-join #join-qr-art{width:132px;padding:6px;border:0}.classic-lobby-join .join-qr p{font-size:11px;color:#f0eef6;line-height:1.35;margin:5px 0 0}@media(max-width:600px){.classic-lobby-join{width:calc(100% - 24px);grid-template-columns:minmax(0,1fr) 112px;padding:10px;gap:10px}.classic-lobby-join #join-qr-art{width:108px}.classic-lobby-direct .join-link-label{font-size:13px}.classic-lobby-direct input.join-link{font-size:11px}.classic-lobby-direct .private-access-note{font-size:11px}.classic-lobby-join .join-qr summary{font-size:11px}}
