@charset "UTF-8";
:root{color-scheme:light;--ink:#312542;--muted:#73687e;--purple:#663da6;--purple-dark:#472875;--teal:#087e83;--teal-dark:#07595e;--gold:#ffc95d;--cream:#fff4d7;--line:#e9e3ee;--shadow:0 5px 0 #dad3e3,0 14px 35px #3924530a;font-family:"Trebuchet MS",Arial,sans-serif;font-size:16px}
*{box-sizing:border-box}body{margin:0;background:#f5f2fa;color:var(--ink);background-image:radial-gradient(#8d72ae20 1.2px,transparent 1.2px);background-size:22px 22px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;touch-action:manipulation}button:disabled{cursor:default}a{color:inherit}button:focus-visible,a:focus-visible{outline:4px solid #007ea8;outline-offset:4px}button{color:var(--ink)}[hidden]{display:none!important}h1,h2,h3,p{margin:0}button svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.app-shell{max-width:1376px;margin:auto;padding:0 36px;min-height:100dvh;display:flex;flex-direction:column}.topbar{height:102px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ddd4e8;gap:16px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:24px;font-weight:900;letter-spacing:-.8px;line-height:1.08}.brand>b,.brand span>b{color:var(--purple)}.brand small{display:block;font-size:10px;letter-spacing:1.9px;margin-top:7px;color:var(--muted)}.brand-icon{position:relative;background:var(--purple);border-radius:14px;width:52px;height:52px;color:#fff;display:grid;place-items:center;font-size:44px;line-height:1;box-shadow:0 4px 0 var(--purple-dark);padding-right:7px;padding-bottom:6px}.brand .brand-icon small{position:absolute;right:5px;bottom:6px;color:var(--gold);font-size:24px;letter-spacing:0;line-height:1;margin:0}.toolbar{display:flex;gap:10px}.icon-button{height:44px;width:44px;border:1px solid #ddd3e8;border-radius:12px;background:#fff;display:grid;place-items:center;font-weight:900;font-size:25px;box-shadow:0 3px 0 #e0d8e8}.icon-button:hover{background:#f2eafb}.icon-button:active,.primary-button:active,.secondary-button:active{transform:translateY(2px);box-shadow:none}.icon-button[aria-pressed=false]{opacity:.55}.eyebrow{font-size:12px;font-weight:900;letter-spacing:1.65px;color:var(--purple)}main{flex:1}.setup-heading{padding:29px 0 24px;display:flex;justify-content:space-between;align-items:center;gap:20px}h1{font-size:clamp(25px,2.65vw,39px);letter-spacing:-1.2px;margin:8px 0 9px}h1 em{font-style:normal;color:var(--purple)}.setup-heading p{font-size:16px;line-height:1.5;color:var(--muted)}.board-tag{border:2px dashed #d9cfe4;padding:12px 20px;border-radius:14px;text-align:center;font-size:14px;line-height:1.5;flex-shrink:0;color:var(--muted)}.board-tag b{color:var(--ink)}.setup-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.setup-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:var(--shadow)}h2{font-size:22px;letter-spacing:-.6px;display:flex;align-items:center;gap:10px}.step-number{height:32px;width:32px;display:grid;place-items:center;border-radius:10px;background:#eee5fc;color:var(--purple);font-size:17px}.step-number.teal{background:#dff3ee;color:var(--teal)}.card-title{display:flex;justify-content:space-between;align-items:center}.small-note{font-size:12px;color:var(--muted)}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.mode-card{position:relative;display:flex;align-items:center;gap:12px;min-height:90px;text-align:left;padding:14px 12px;border:2px solid var(--line);background:#fff;border-radius:14px}.mode-card:hover{border-color:#bda8d7}.mode-card[aria-pressed=true]{border-color:var(--purple);background:#f6f0ff;box-shadow:0 3px 0 #e3d5f3}.mode-symbol{width:43px;height:43px;flex-shrink:0;display:grid;place-items:center;background:#f5f0fa;border-radius:12px;color:var(--purple);font-size:35px;font-weight:900}.mode-card[aria-pressed=true] .mode-symbol{background:var(--purple);color:#fff}.mixed-symbol{font-size:20px;letter-spacing:-2px}.mode-card b{display:block;font-size:16px}.mode-card small{display:block;color:var(--muted);font-size:12px;margin-top:6px;line-height:1.35}.selection-dot{display:none;position:absolute;top:-7px;right:-6px;width:22px;height:22px;background:var(--purple);color:#fff;border:2px solid #fff;border-radius:50%;font-style:normal;text-align:center;font-size:12px}.mode-card[aria-pressed=true] .selection-dot{display:block}.mode-note{font-size:13px;color:var(--muted);line-height:1.5;min-height:42px;margin:14px 0 3px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:15px;margin-top:10px;border-top:1px solid var(--line)}h3{font-size:15px}.setting-row p{font-size:12px;color:var(--muted);margin-top:5px}.segmented{display:flex;padding:4px;background:#f4f1f7;border-radius:12px;gap:4px}.segmented button{border:0;border-radius:9px;background:transparent;min-height:42px;padding:6px 15px;font-weight:900}.segmented button[aria-pressed=true]{background:var(--purple);color:#fff;box-shadow:0 2px 4px #523c6320}.factor-options button{min-width:44px}.player-options button{font-size:13px;padding:6px 10px}.choose-player{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0 15px}.choose-player button{border:1px solid var(--line);border-radius:11px;background:#fff;min-height:45px;text-align:left;font-size:13px;font-weight:900;padding:7px 12px}.choose-player button span{display:block;color:var(--muted);font-size:11px;margin-top:3px;font-weight:normal}.choose-player button[aria-pressed=true]{background:#f4edfc;border-color:var(--purple);color:var(--purple)}.choose-player button:nth-child(2)[aria-pressed=true]{background:#eaf8f4;border-color:var(--teal);color:var(--teal)}.monster-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.monster-choice{border:2px solid #eae5ee;border-radius:14px;background:#fff;min-width:0;position:relative;padding:2px 6px 8px;transition:transform .16s,border-color .16s;overflow:visible}.monster-choice:hover{transform:translateY(-3px)}.monster-choice[aria-pressed=true]{border-color:var(--purple);box-shadow:0 3px 0 #d8c7ed;background:#faf7ff}.monster-choice.other-player{border-color:#badbd5}.monster-choice.selected-teal{border-color:var(--teal);box-shadow:0 3px 0 #b9dcd6}.monster-choice b{font-size:13px;display:block}.monster-sprite{display:block;aspect-ratio:11/9;background-image:url('assets/monster-sheet.jpg');background-repeat:no-repeat;background-size:300% 200%;background-color:#fff;background-position:0 0;max-width:100%}.sprite-0{background-position:0 0}.sprite-1{background-position:50% 0}.sprite-2{background-position:100% 0}.sprite-3{background-position:0 100%}.sprite-4{background-position:50% 100%}.sprite-5{background-position:100% 100%}.monster-choice .monster-sprite{height:78px;width:95px;margin:auto}.player-marker{position:absolute;right:5px;top:5px;width:22px;height:22px;display:grid;place-items:center;background:var(--purple);color:#fff;border-radius:8px;font-size:11px;font-weight:900;border:2px solid #fff}.player-marker.second{background:var(--teal)}.monster-hint{min-height:19px;font-size:12px;color:var(--muted);margin-top:14px;text-align:center}.setup-bottom{display:flex;align-items:center;justify-content:space-between;padding:26px 4px 15px;gap:20px}.setup-bottom p{font-size:16px}.setup-bottom p span{display:block;font-size:13px;color:var(--muted);margin-top:6px}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:52px;border:0;border-radius:13px;padding:14px 28px;font-weight:900;font-size:17px;transition:transform .15s,background .15s}.primary-button{background:var(--purple);color:#fff;box-shadow:0 4px 0 var(--purple-dark)}.primary-button:hover{background:#7347b9}.primary-button span{font-size:22px}.secondary-button{background:#f2edf8;border:1px solid #ded3ec;color:var(--purple);box-shadow:0 3px 0 #e1d9ea}.primary-button.small{font-size:14px;min-height:48px;padding:10px 18px;gap:7px}.text-button{border:0;border-radius:8px;background:transparent;font-weight:900;font-size:14px;padding:10px;min-height:44px;color:var(--purple)}.text-button:hover{background:#eae1f4}footer{display:flex;justify-content:center;align-items:center;gap:18px;text-align:center;padding:22px 10px 18px;font-size:12px;color:var(--muted)}footer a{text-underline-offset:3px}.match-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0}.match-summary{font-size:13px;font-weight:900;color:var(--muted)}.match-tools{display:flex;gap:7px}.players-header{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:18px;margin-bottom:16px}.player-card{display:flex;align-items:center;gap:12px;border:2px solid #e5deec;border-radius:16px;padding:8px 13px;background:#fff;min-height:84px;transition:border-color .2s,box-shadow .2s}.player-card.is-turn{border-color:var(--teal);box-shadow:0 3px 0 #bedfd9}.player-card.purple-player.is-turn{border-color:var(--purple);box-shadow:0 3px 0 #d7c7ea}.player-avatar{width:60px;flex-shrink:0;border-radius:10px;overflow:hidden}.player-details{flex:1;min-width:0}.player-details small{display:block;font-size:11px;color:var(--muted);margin-bottom:3px}.player-details b{font-size:17px}.player-details .progress-track{height:7px;background:#f0eaf6;border-radius:10px;overflow:hidden;margin-top:8px}.progress-fill{height:100%;background:var(--teal);border-radius:10px;transition:width .4s}.purple-player .progress-fill{background:var(--purple)}.step-count{font-size:24px;font-weight:900;color:var(--teal);white-space:nowrap}.purple-player .step-count{color:var(--purple)}.step-count small{font-size:12px;color:var(--muted)}.race-goal{text-align:center;display:flex;flex-direction:column;gap:6px}.race-goal b{font-size:20px;letter-spacing:-.4px}.race-goal>span:last-child{font-size:12px;color:var(--muted)}.arena{--lane:90px;display:grid;grid-template-columns:var(--lane) minmax(0,1fr) var(--lane);background:#543286;border:4px solid #452670;border-radius:20px;box-shadow:0 6px 0 #352050,0 15px 30px #39215515;padding:12px 8px 14px;gap:7px}.board-wrap{position:relative;min-width:0}.column-heads{display:grid;grid-template-columns:repeat(8,1fr);gap:3px;height:26px;color:#d6c3ec;font-size:11px;font-weight:900;align-items:center;text-align:center}.column-heads span.active{color:var(--gold)}.board{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:3px;background:#49306b;border:3px solid #49306b;border-radius:10px;overflow:hidden}.tile{height:clamp(49px,5.4vw,77px);position:relative;border:0;border-radius:3px;background:#ffedc2;color:#453157;font-weight:900;font-size:clamp(21px,2.25vw,31px);padding:0;box-shadow:inset 0 -4px 0 #e6cf98;transition:background .18s,color .18s;overflow:hidden}.tile:disabled{opacity:1}.tile.active-column{background:#ffc85c;box-shadow:inset 0 -4px 0 #dd9c26}.tile.active-column:not(:disabled):hover{background:#ffe39e;outline:3px solid #fff;outline-offset:-5px}.tile.active-column:not(:disabled):active{background:#ffb82f}.tile.correct-tile{background:#bdeac6;box-shadow:inset 0 -4px 0 #85c396}.tile.wrong-tile{background:#ffbcb5;box-shadow:inset 0 -4px 0 #dd8985}.tile.occupied .tile-value{position:absolute;top:4px;left:7px;font-size:13px;z-index:2;background:#fff8;padding:1px 3px;border-radius:4px}.tile .row-hint{position:absolute;right:5px;top:3px;font-size:10px;color:#785421;font-weight:normal}.pawn{pointer-events:none;position:absolute;z-index:4;width:9.2%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:14px;border:3px solid var(--purple);background:#fff;box-shadow:0 4px 0 #3f265063,0 6px 10px #2d1e5226;display:grid;place-items:center;transition:left .55s cubic-bezier(.25,.9,.3,1.1),top .55s cubic-bezier(.25,.9,.3,1.1);overflow:visible}.teal-pawn{border-color:var(--teal)}.pawn .monster-sprite{width:100%;border-radius:11px}.pawn .pawn-number{position:absolute;bottom:-5px;right:-6px;display:grid;place-items:center;width:21px;height:21px;background:var(--purple);border-radius:50%;color:#fff;font-size:10px;font-weight:900;border:2px solid #fff}.teal-pawn .pawn-number{background:var(--teal)}.pawn.shared-cell{width:7.5%;z-index:5}.side-lane{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-width:0}.finish-mark{position:absolute;top:4px;font-size:12px;font-weight:900;color:#fff;text-align:center;border-bottom:4px dashed #c8e5d4;padding:4px 1px 8px;white-space:nowrap}.finish-mark b{display:inline-grid;place-items:center;border-radius:4px;width:16px;height:18px;background:#fff;color:var(--purple);margin-left:3px}.right-lane .finish-mark b{color:var(--teal)}.starting-monster{background:#fff;border:3px solid #b09ace;border-radius:14px;width:85px;max-width:100%;padding:2px;box-shadow:0 4px 0 #352050}.starting-monster.left{border-color:#64c6c3}.start-direction{color:var(--gold);font-size:20px;font-weight:900}.question-panel{display:grid;grid-template-columns:230px 1fr 210px;gap:15px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px 20px;margin-top:23px;box-shadow:0 4px 0 #e3dbea;min-height:119px}.turn-card{display:flex;align-items:center;gap:10px}.turn-monster{width:64px;flex-shrink:0}.turn-card .eyebrow{font-size:10px}.turn-card strong{display:block;font-size:19px;margin:4px 0}.turn-card small{font-size:12px;color:var(--muted)}.question-main{text-align:center}.question-main>p{font-size:13px;color:var(--muted);margin-bottom:9px}.equation{display:flex;align-items:center;justify-content:center;gap:13px;font-weight:900;font-size:clamp(25px,2.8vw,39px);white-space:nowrap;line-height:1.2}.equation .expression{padding:7px 14px;background:#edf4fa;border:1px solid #d5e4ef;border-radius:9px}.equation .question-slot{min-width:48px;border:2px dashed #ce9b37;border-radius:9px;padding:5px 10px;background:#fff1c8;color:#91600e}.equation .comparison{color:var(--purple)}.turn-action{text-align:right}.turn-state{display:inline-block;font-size:14px;font-weight:900;color:var(--purple);padding:8px 12px;background:#f3edfb;border-radius:9px}.keyboard-hint{font-size:11px;color:var(--muted);margin-top:10px}kbd{font-family:inherit;font-size:11px;padding:1px 4px;border:1px solid #d7cce3;border-radius:4px;background:#fff}.feedback{display:flex;align-items:flex-start;gap:13px;min-height:49px;padding:16px 10px 0;font-size:13px;line-height:1.5}.feedback b{white-space:nowrap;color:var(--purple)}.feedback span{color:var(--muted)}.feedback.correct b{color:#176537}.feedback.wrong b{color:#aa393f}.mobile-answers{display:none}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:14px 22px;max-width:90vw;border-radius:12px;z-index:30;text-align:center;font-size:14px;box-shadow:0 5px 15px #0003}dialog{border:0;border-radius:24px;padding:35px;max-width:min(590px,calc(100vw - 30px));width:590px;color:var(--ink);box-shadow:0 25px 90px #25113666}dialog::backdrop{background:#26123aa3;backdrop-filter:blur(5px)}dialog h2{font-size:29px;line-height:1.2;margin:12px 0 16px}dialog p{line-height:1.6;color:var(--muted);font-size:15px;margin:14px 0}dialog>.primary-button,dialog>.secondary-button{width:100%;margin-top:15px}.dialog-x{position:absolute;top:13px;right:15px;height:40px;width:40px;border:0;border-radius:50%;font-size:28px;background:#f4eff8}.help-list{padding-left:24px;line-height:1.55;font-size:15px}.help-list li{padding-left:4px;margin:12px 0;color:var(--muted)}.help-list b{color:var(--ink)}.help-example{padding:14px 17px;background:#fff3d2;border-radius:12px;line-height:1.5;font-size:14px}.help-example b,.help-example span{display:block}.help-example span{color:#72572b;margin-top:5px}.help-keys{display:flex;flex-wrap:wrap;gap:15px;font-size:12px;color:var(--muted)}.dialog-actions{display:flex;gap:12px;margin-top:23px}.dialog-actions button{flex:1}.dialog-symbol{display:grid;place-items:center;width:62px;height:62px;background:#f0e7fc;color:var(--purple);border-radius:18px;font-size:30px}.result-dialog{text-align:center}.result-dialog h2{display:block}.winner-monster{width:165px;margin:15px auto 0}.result-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.stat-card{border:1px solid var(--line);padding:13px;border-radius:14px;display:flex;flex-direction:column;gap:5px;font-size:13px}.stat-card b{font-size:17px;color:var(--purple)}.stat-card span{color:var(--muted)}
@media(min-width:1500px){.app-shell{max-width:1500px}.topbar{height:105px}.setup-heading{padding:34px 0}.setup-card{padding:30px}.mode-card{min-height:103px}.monster-choice .monster-sprite{height:99px;width:121px}.monster-choice b{font-size:15px}.monster-grid{gap:14px}.setting-row{margin-top:17px;padding-top:20px}.setup-bottom{padding-top:35px}.tile{height:82px}}
@media(max-width:1100px){.app-shell{padding:0 22px}.setup-card{padding:20px}.setup-columns{gap:18px}.mode-card{gap:7px;padding:13px 9px}.mode-symbol{width:35px;height:40px;font-size:30px}.mode-card b{font-size:14px}.mode-card small{font-size:11px}.setting-row{flex-wrap:wrap}.small-note{display:none}.question-panel{grid-template-columns:180px 1fr 180px;padding:14px}.equation{gap:8px}.equation .expression{padding:7px 10px}.race-goal b{font-size:18px}.arena{--lane:74px}.step-count{font-size:21px}.player-avatar{width:52px}.player-card{padding:8px 10px;gap:8px}.players-header{gap:12px}.question-panel .primary-button{font-size:12px;padding:10px 12px}}
@media(max-width:760px){.app-shell{padding:0 14px}.topbar{height:83px}.brand{font-size:19px;gap:8px}.brand-icon{width:42px;height:42px;font-size:36px;border-radius:11px}.brand small{font-size:8px;letter-spacing:1.1px}.toolbar{gap:6px}.icon-button{width:38px;height:40px;border-radius:10px}.icon-button svg{width:20px}.setup-heading{padding:24px 0 18px}.setup-heading p{font-size:14px}.board-tag{display:none}h1{font-size:28px;line-height:1.2}.setup-columns{grid-template-columns:1fr}.setup-card{padding:20px}.mode-card{min-height:82px;gap:10px}.mode-card b{font-size:16px}.mode-card small{font-size:12px}.mode-symbol{width:42px}.setting-row{flex-wrap:nowrap}.card-title .small-note{display:block}.monster-choice .monster-sprite{height:85px;width:104px}.setup-bottom{padding:24px 0 8px;flex-direction:column;text-align:center}.setup-bottom .primary-button{width:100%;min-height:56px}.setup-bottom p{display:none}footer{font-size:11px;padding:23px 0 16px;gap:12px}.match-bar{padding:7px 0;gap:4px}.text-button{font-size:12px;padding:8px 5px}.match-summary{font-size:11px}.match-tools{gap:4px}.match-tools span{display:none}.match-tools .text-button{font-size:23px;min-width:38px}.players-header{grid-template-columns:1fr 1fr;gap:9px;margin-bottom:13px}.race-goal{grid-column:1/-1;grid-row:1;flex-direction:row;align-items:center;justify-content:space-between;gap:5px}.race-goal .eyebrow{display:none}.race-goal b{font-size:13px}.race-goal>span:last-child{font-size:11px}.player-card{min-height:72px;padding:7px;gap:5px;border-radius:12px}.player-details b{font-size:14px}.player-details small{font-size:10px}.player-avatar{width:42px}.step-count{font-size:18px}.step-count small{font-size:10px}.arena{--lane:34px;border-width:3px;gap:4px;padding:6px 3px 9px;border-radius:13px}.column-heads{height:22px;font-size:9px;gap:2px}.board{gap:2px;border-width:2px;border-radius:6px}.tile{height:clamp(36px,8vw,58px);font-size:clamp(17px,3.5vw,25px);box-shadow:inset 0 -3px 0 #e6cf98}.tile .row-hint{display:none}.finish-mark{font-size:7px;top:3px;border-bottom-width:3px;padding-bottom:6px}.finish-mark b{width:10px;height:13px;font-size:8px;margin-left:0}.starting-monster{width:34px;padding:0;border-width:1px;border-radius:6px}.start-direction{font-size:14px}.side-lane{gap:7px}.pawn{border-width:2px;border-radius:7px}.pawn .monster-sprite{border-radius:5px}.pawn .pawn-number{width:14px;height:14px;border-width:1px;font-size:8px;right:-5px;bottom:-4px}.tile.occupied .tile-value{font-size:8px;left:0;top:1px;padding:0 2px}.question-panel{grid-template-columns:1fr auto;padding:12px;margin-top:18px;gap:10px;border-radius:14px}.turn-card{grid-row:1;gap:6px}.turn-monster{width:43px}.turn-card .eyebrow{font-size:9px;letter-spacing:1px}.turn-card strong{font-size:15px;margin:3px 0}.turn-card small{font-size:10px}.turn-action{grid-row:1;grid-column:2}.turn-state{font-size:12px;padding:8px}.keyboard-hint{display:none}.question-main{grid-row:2;grid-column:1/-1;padding:5px 0 3px}.question-main>p{font-size:12px;margin-bottom:8px}.equation{font-size:27px;gap:10px}.equation .expression{padding:6px 12px}.equation .question-slot{min-width:41px}.question-panel .primary-button{font-size:11px;min-height:43px;padding:8px 10px}.mobile-answers{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:15px}.answer-button{border:2px solid #d4a03d;border-radius:11px;background:#ffd578;min-height:59px;padding:5px;font-size:23px;font-weight:900;box-shadow:0 3px 0 #c69437}.answer-button small{display:block;font-size:9px;font-weight:normal;color:#725426;margin-bottom:2px}.answer-button:disabled{opacity:.65}.feedback{flex-direction:column;gap:3px;font-size:12px;line-height:1.6;padding:15px 4px 0}.feedback b{font-size:13px}.mode-note{font-size:12px}.monster-hint{font-size:11px}dialog{padding:28px 23px;border-radius:20px}dialog h2{font-size:25px}.help-list{font-size:14px}.dialog-actions{gap:8px}.dialog-actions button{font-size:14px;padding:12px}}
@media(max-width:360px){.brand{font-size:16px}.brand small{font-size:7px}.toolbar{gap:4px}.icon-button{width:34px}.setting-row{flex-wrap:wrap}.monster-choice .monster-sprite{height:69px;width:84px}.mode-card b{font-size:14px}.mode-card{gap:5px}.mode-symbol{width:31px}.app-shell{padding:0 10px}.arena{--lane:26px}.finish-mark{font-size:6px}.equation{font-size:23px}.step-count{font-size:16px}.turn-direction{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:760px){.board-wrap{--head-height:22px}}
/* Keep the entire desktop playing surface visible on classroom displays. */
@media(min-width:761px){
 .playing .topbar{height:70px}.playing .brand{font-size:21px}.playing .brand-icon{height:44px;width:44px;font-size:36px}.playing .brand small{font-size:8px}
 .playing .match-bar{padding:4px 0}.playing .player-card{min-height:70px}.playing .player-avatar{width:50px}.playing .players-header{margin-bottom:12px}
 .playing .tile{height:clamp(42px,calc((100dvh - 500px)/5),77px)}
 .playing .question-panel{min-height:100px;padding:12px 17px;margin-top:17px}.playing .equation{font-size:clamp(27px,2.6vw,36px)}
 .playing .feedback{min-height:43px;padding-top:13px}.playing footer{padding:12px 10px;font-size:11px}
 .playing .pawn{width:auto;height:calc((100% - 26px)/5 - 14px);max-width:10%}.playing .pawn.shared-cell{height:calc((100% - 26px)/5 - 23px);max-width:7.5%}
}
@media(min-width:761px) and (max-height:820px){
 body:not(.playing) .topbar{height:78px}body:not(.playing) .setup-heading{padding:17px 0 15px}body:not(.playing) h1{font-size:29px;margin:6px 0}
 body:not(.playing) .setup-card{padding:18px}.mode-grid{margin-top:14px}.mode-card{min-height:74px}.mode-note{margin:10px 0 0;min-height:35px}.setting-row{padding-top:10px;margin-top:7px}
 .choose-player{margin:12px 0}.monster-choice .monster-sprite{height:68px;width:83px}.monster-hint{margin-top:10px}.setup-bottom{padding:19px 4px 10px}body:not(.playing) footer{padding:16px 10px}
}
