/* Shared EMS dashboard shell; colors follow the user's existing theme. */
body{--dash-radius:18px}button,input,select,textarea{font:inherit}button{touch-action:manipulation}.btn,.nav button,.tabbtn{min-height:44px}.btn:focus-visible,.nav button:focus-visible,.tabbtn:focus-visible{outline:3px solid var(--accent,var(--purple));outline-offset:3px}.main{max-width:1440px;padding:30px}.hero{box-shadow:none;border-radius:var(--dash-radius);padding:28px}.hero h2{font-size:clamp(29px,3.5vw,44px);max-width:700px;letter-spacing:-.035em}.hero p{font-size:15px}.hero .eyebrow{letter-spacing:.16em}.focus{background:var(--panel);border-radius:14px}.card,.panel,.game-card{box-shadow:none;border-radius:var(--dash-radius)}#page-home.active{display:flex;flex-direction:column;gap:20px}#page-home .hero{order:0}#homeKpis{order:1;margin:0}#homeShortcuts{order:2}#page-home .appearance-panel{order:3;margin:0}.mode-card{min-height:180px;border-top:3px solid var(--accent,var(--purple))}.mode-card .icon{font-size:22px;color:var(--accent,var(--purple))}.section-head{margin:0 0 22px}.section-head h2{font-size:30px;letter-spacing:-.025em}.game-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.game-card{padding:20px;min-height:210px}.game-card h3{font-size:19px}.game-card p{font-size:14px;line-height:1.5}.game-card .icon{color:var(--accent,var(--purple))}.game-card .btn{align-self:flex-start;padding:10px 18px}.game-card[data-category=hands-on]{background:linear-gradient(135deg,var(--hero1,var(--panel)),var(--panel));border:2px solid var(--accent,var(--purple))}.game-category{display:block;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:8px}.game-toolbar{padding:18px;border:1px solid var(--line);border-radius:16px;margin-bottom:20px;background:var(--panel)}.game-toolbar label{display:block;font-size:13px;margin-bottom:7px;color:var(--muted)}.game-toolbar input{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--control,var(--panel));color:var(--text);font-size:16px}.game-filters{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.game-filters button{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:999px;padding:10px 14px;min-height:42px}.game-filters button[aria-pressed=true]{background:var(--accent,var(--purple));color:var(--button-text,#fff);border-color:var(--accent,var(--purple))}#gameCount{font-size:12px;color:var(--muted);margin:0}#page-games:has(.game-area:not(.hidden)) #gameLobby,#page-games:has(.game-area:not(.hidden))>.section-head{display:none}.game-area{scroll-margin-top:20px}.game-area> .row:first-child{padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:18px}.game-area>.row:first-child h2{margin:0}.game-area p{max-width:85ch}.game-area input,.game-area select{max-width:100%}.dash-skip{position:fixed;left:10px;top:-100px;z-index:200;background:var(--panel);color:var(--text);padding:12px}.dash-skip:focus{top:10px}
@media(min-width:1120px){.topbar{position:fixed;inset:0 auto 0 0;width:232px;box-sizing:border-box;display:flex;flex-direction:column;align-items:stretch;padding:24px 16px;background:var(--panel);border-right:1px solid var(--line);border-bottom:0;overflow:auto}.topbar .brand{min-width:0;align-items:flex-start;gap:9px;margin-bottom:22px}.topbar .brandmark{flex-shrink:0}.topbar .brand h1{font-size:16px}.topbar .brand p{font-size:11px;line-height:1.5}.topbar .nav{display:flex;flex-direction:column;overflow:visible;flex:initial;gap:7px}.topbar .nav button{text-align:left;padding:12px 16px;font-size:14px;border-radius:12px}.topbar .nav button.active{border-left:4px solid var(--accent,var(--purple));background:var(--control,var(--panel));color:var(--text)}.topbar .net{white-space:normal;line-height:1.5;margin-top:auto;font-size:11px}.app>.main{margin-left:232px;max-width:none;min-height:100vh;padding:32px}.main>.page{max-width:1280px;margin-left:auto;margin-right:auto}.main>.footer{max-width:1280px;margin:auto}.topbar+.main .hero{grid-template-columns:1.5fr 1fr}}
@media(max-width:1119px){.topbar{position:relative;flex-wrap:wrap;gap:12px;padding:14px;background:var(--panel)}.topbar .brand{width:auto;flex:1}.topbar .nav{order:3;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:100%;flex:auto;overflow:visible}.topbar .nav button{white-space:normal;padding:8px 4px;font-size:12px;min-width:0}.topbar .net{white-space:normal;max-width:180px;font-size:10px}.main{padding:20px}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.main{padding:14px}.hero{padding:20px}.hero h2{font-size:31px}.hero .row>.btn{flex:1 1 130px}.hero .focus .row>.btn{flex-basis:110px}.game-grid{grid-template-columns:1fr}.game-card{min-height:160px}.game-card .btn{align-self:stretch}.game-filters{gap:6px}.game-filters button{font-size:12px;padding:8px 11px}.game-area{padding:14px}.section-head{align-items:flex-start;flex-wrap:wrap}.section-head h2{font-size:26px}.topbar .brand h1{font-size:15px}.topbar .brand p{font-size:10px}.topbar .net{max-width:120px}.topbar .nav button{font-size:11px}.panel{padding:16px}.appearance-panel .row{align-items:stretch}.appearance-panel .theme-field{width:100%}.game-area input,.game-area select{font-size:16px}}
/* Med Math keeps its own tools and state; only its presentation changes. */
.ems-math-layout main{max-width:1120px;padding:24px}.ems-math-layout header{background:var(--panel);border-color:var(--line);box-shadow:none}.ems-math-layout .headrow{max-width:1120px}.ems-math-layout .sub{color:var(--muted)}.ems-math-layout .logo{background:var(--purple);color:#fff}.ems-math-layout .card{padding:22px;box-shadow:none;margin-bottom:20px}.ems-math-layout .card h2{font-size:21px}.ems-math-layout .card h3{color:var(--text)}.ems-math-layout .tabs{background:var(--panel);border-color:var(--line)}.ems-math-layout .tabbtn{background:var(--panel);border-color:var(--line);color:var(--text);font-size:13px}.ems-math-layout .tabbtn.active{background:var(--purple2);color:#fff}.ems-math-layout .qs{padding:16px;min-height:90px}.ems-math-layout .qs b{font-size:15px}.ems-math-layout input,.ems-math-layout select{font-size:16px}.ems-math-layout .notice{line-height:1.6}.ems-math-layout .answer{font-variant-numeric:tabular-nums}.ems-math-layout .result{padding:18px}
@media(min-width:1120px){.ems-math-layout{padding-bottom:0}.ems-math-layout header{position:fixed;left:0;top:0;width:232px;bottom:0;padding:26px 18px;border-right:1px solid var(--line);border-bottom:0}.ems-math-layout .headrow{flex-wrap:wrap;align-items:center;gap:10px}.ems-math-layout .headrow h1{font-size:18px}.ems-math-layout .offline{margin:10px 0 0}.ems-math-layout .tabs{position:fixed;left:12px;top:210px;bottom:auto;width:208px;grid-template-columns:1fr;border:0;padding:0;background:transparent}.ems-math-layout .tabbtn{text-align:left;padding:13px 16px}.ems-math-layout main{margin-left:232px;max-width:1280px;padding:32px}.ems-math-layout .grid{gap:18px}}
@media(max-width:600px){.ems-math-layout main{padding:14px}.ems-math-layout .card{padding:16px}.ems-math-layout .tabs{position:fixed;left:0;right:0;bottom:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.ems-math-layout .tabbtn{font-size:11px;padding:9px 4px}.ems-math-layout .row{flex-wrap:wrap}.ems-math-layout .row>button{min-width:110px}.ems-math-layout header{position:relative}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

@media(max-width:1119px){.ems-math-layout{padding-bottom:124px}.ems-math-layout .tabs{position:fixed;left:0;right:0;bottom:0;grid-template-columns:repeat(4,minmax(0,1fr))}}

@media(min-width:1120px){.ems-math-layout header .report-toolbar{position:absolute;left:16px;right:16px;bottom:20px;padding:0}.ems-math-layout header .report-toolbar button{width:100%;white-space:normal}.ems-math-layout .tabs{top:250px;max-height:calc(100dvh - 340px);overflow-y:auto}}
