#overlay:has(.practice-center){align-items:center;background:#eef3eeed;backdrop-filter:blur(7px);padding:calc(env(safe-area-inset-top,0px) + 64px) 18px calc(env(safe-area-inset-bottom,0px) + 18px)}
#overlay:has(.practice-center)>.panel{width:100%;max-width:1100px;max-height:100%;height:auto;overflow-y:auto;background:transparent;padding:0;border:0;box-shadow:none;border-radius:0;text-align:left}
.practice-center{color:#24434f;max-width:1100px;margin:auto;--pc-edge:#ccd9d7;--pc-muted:#637b81;--pc-blue:#335e71}
.pc-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}
#overlay .pc-heading h2{font-size:32px;letter-spacing:-1.1px;margin:6px 0 0;line-height:1.1}
#overlay .pc-heading .pc-back{min-height:42px;padding:9px 14px;background:#f7faf6;border-color:var(--pc-edge);font-size:12px;box-shadow:none;border-radius:12px}
.pc-overview{display:flex;align-items:center;gap:22px;border-block:1px solid var(--pc-edge);padding:13px 0;margin-bottom:19px}
.pc-overview>div:first-child{min-width:95px}.pc-overview strong{font-size:23px;line-height:1.1;font-weight:750;letter-spacing:-.8px}.pc-overview strong>span{font-size:13px;letter-spacing:0;font-weight:550;color:var(--pc-muted)}.pc-overview small{display:block;font-size:10px;margin-top:4px;color:var(--pc-muted)!important}
.pc-overview-meter{flex:1;max-width:290px}.pc-overview-meter>span{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--pc-muted);font-size:11px}.pc-overview-meter b{color:#345667;font-size:12px}.pc-overview progress{display:block;appearance:none;width:100%;height:5px;border:0;border-radius:5px;margin-top:8px;overflow:hidden;background:#d4dfdc;color:#638677}.pc-overview progress::-webkit-progress-bar{background:#d4dfdc}.pc-overview progress::-webkit-progress-value{background:#638677;border-radius:5px}.pc-overview progress::-moz-progress-bar{background:#638677;border-radius:5px}
#overlay .pc-overview>button{margin-left:auto;background:none;border:0;box-shadow:none;color:#426878;font-size:12px;padding:10px 0 10px 8px;min-height:40px;white-space:nowrap}
.pc-tabs{display:flex;gap:4px;padding:4px;background:#dde6e3;border-radius:13px;margin-bottom:18px;max-width:500px}
#overlay .pc-tabs button{flex:1;min-height:38px;border:0;border-radius:10px;background:transparent;box-shadow:none;color:#59747b;font-size:13px;font-weight:700;padding:7px 12px}
#overlay .pc-tabs button[aria-pressed=true]{color:#fff;background:#3c6170;box-shadow:0 2px 3px #1b3b4620}
.pc-layout{display:grid;grid-template-columns:minmax(240px,.92fr) minmax(310px,1.08fr);gap:24px;align-items:start}
.pc-lab-list{display:flex;flex-direction:column;gap:7px}
#overlay .pc-lab{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr) 14px;align-items:center;gap:11px;min-height:77px;padding:12px;background:#f9fbf7;border:1px solid var(--pc-edge);border-radius:14px;text-align:left;box-shadow:none;color:#294a58}
#overlay .pc-lab.selected{background:#e0e9e7;border-color:#6f9199;box-shadow:inset 3px 0 #426c7b;color:#274a58}
.pc-role{display:grid;place-items:center;min-width:35px;height:35px;padding:4px;background:#e6ede8;border:1px solid #cbdad5;border-radius:10px;color:#577573;font-size:11px;font-weight:800;letter-spacing:.15px}
.selected .pc-role{background:#f5f8f2;border-color:#9ab2ae;color:#3c6269}
.pc-lab b{font-size:14px;font-weight:750;line-height:1.3;display:block}.pc-lab small{display:block;font-size:11px;color:#688087!important;line-height:1.35;margin-top:4px}.pc-lab-arrow{color:#7b9396;font-size:22px}.pc-lab-medal{position:absolute;right:29px;top:8px;font-size:8px;color:#708989}
#overlay .pc-random{display:flex;flex-direction:column;gap:4px;background:none;border:0;box-shadow:none;border-radius:10px;text-align:left;min-height:52px;padding:10px 13px;color:#466975;font-size:12px;font-weight:700}
.pc-random span{font-size:10px;font-weight:500;color:#7a8f93}
.pc-focus{padding:21px;background:#fbfcf8;border:1px solid var(--pc-edge);border-radius:19px;box-shadow:0 4px 12px #20413809;min-width:0}
.pc-focus-heading{display:grid;grid-template-columns:minmax(0,1fr) 83px;gap:15px;align-items:center;margin-bottom:18px}.pc-kicker{font-size:9px;letter-spacing:.8px;color:#7c908f;font-weight:750;text-transform:uppercase}
#overlay .pc-focus h3{font-size:23px;line-height:1.12;letter-spacing:-.6px;margin:9px 0 10px;color:#284d5c}
#overlay .pc-focus p{font-size:12px;line-height:1.55;color:#698088;margin:0}
.pc-drill-diagram{display:block;width:83px;height:auto;filter:drop-shadow(0 2px 2px #23443710)}
.pc-picker{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #e0e8e2;padding:9px 0;color:#668087;font-size:11px;font-weight:650}
#overlay .pc-picker select{width:auto;max-width:72%;min-width:155px;min-height:38px;border:1px solid #cbd9d5;border-radius:10px;background:#f6f9f3;color:#345969;font-family:inherit;font-size:12px;padding:7px 10px}
.pc-objectives{list-style:none;padding:0;margin:6px 0 16px}.pc-objectives li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid #e0e8e2}.pc-objectives b{display:block;font-size:12px;line-height:1.35;font-weight:650;color:#365a65}.pc-objectives small{display:block;font-size:10px;line-height:1.35;color:#849493!important;margin-top:4px}
.pc-medals{display:flex;gap:4px;flex-shrink:0}.pc-medals i{display:grid;place-items:center;width:18px;height:23px;border:1px solid #d5dfd9;background:#ecf0e9;border-radius:50% 50% 40% 40%;font-size:11px;font-style:normal;color:#a9b8b0;clip-path:polygon(8% 0,92% 0,100% 63%,50% 100%,0 63%)}.pc-medals .earned[data-medal=bronze]{background:#d2b696;color:#694d31;border-color:#b99978}.pc-medals .earned[data-medal=silver]{background:#ccd8d8;color:#587079;border-color:#adbfc0}.pc-medals .earned[data-medal=gold]{background:#dfce9b;color:#80692e;border-color:#c3ae71}
.pc-start-row{display:flex;flex-direction:column;align-items:stretch;gap:7px}
#overlay .pc-start-row .primary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;margin:0;background:#355f70;color:#fff;border:1px solid #355f70;border-radius:12px;padding:12px 15px;box-shadow:0 2px 0 #163b4c26;font-size:14px;font-weight:700}
.pc-start-row>small{font-size:9px;text-align:center;color:#92a19c!important}
#overlay .pc-focus .pc-control-cue{margin-top:14px;color:#839593;font-size:10px;line-height:1.45;text-align:center}
.pc-training{display:flex;align-items:center;gap:12px;padding:12px 15px;background:#e1eae3;border:1px solid #ccd9ce;border-radius:12px;margin-top:17px;font-size:11px;color:#6a8175}.pc-training b{font-weight:700;color:#4e705e;flex-shrink:0}
#overlay .pc-footnote{font-size:10px;line-height:1.4;color:#869893;margin:15px 0 0;max-width:none}
@media(max-width:700px){
 #overlay:has(.practice-center){padding:calc(env(safe-area-inset-top,0px) + 60px) 14px calc(env(safe-area-inset-bottom,0px) + 18px);align-items:flex-start}
 #overlay .pc-heading h2{font-size:29px}.pc-heading{margin-bottom:14px}.pc-overview{gap:13px;padding:11px 0;margin-bottom:13px}.pc-overview>div:first-child{min-width:80px}.pc-overview strong{font-size:21px}.pc-overview-meter{max-width:none}.pc-overview-meter>span{font-size:10px}
 #overlay .pc-overview>button{font-size:10px;max-width:73px;white-space:normal;text-align:right}
 .pc-tabs{margin-bottom:13px}#overlay .pc-tabs button{font-size:12px;min-height:38px;padding:7px 8px}
 .pc-layout{grid-template-columns:1fr;gap:13px}.pc-lab-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
 #overlay .pc-lab{grid-template-columns:24px minmax(0,1fr);gap:7px;min-height:63px;padding:10px 9px;border-radius:12px}.pc-role{min-width:24px;height:27px;border-radius:7px;font-size:9px}.pc-lab b{font-size:12px;line-height:1.25}.pc-lab small,.pc-lab-arrow,.pc-lab-medal{display:none}
 #overlay .pc-random{font-size:11px;padding:8px;min-height:58px;align-self:stretch}.pc-random span{font-size:9px;line-height:1.3}
 .pc-focus{padding:17px;border-radius:16px}.pc-focus-heading{margin-bottom:13px;grid-template-columns:minmax(0,1fr) 65px;gap:13px}.pc-drill-diagram{width:65px}#overlay .pc-focus h3{font-size:22px;margin:7px 0 8px}#overlay .pc-focus p{font-size:11px;line-height:1.5}
 .pc-objectives{margin-bottom:12px}.pc-objectives li{padding:10px 0}.pc-objectives b{font-size:11px}.pc-objectives small{font-size:9px}.pc-training{flex-direction:column;align-items:flex-start;gap:5px;font-size:10px;padding:11px 12px}
 #overlay .pc-picker select{font-size:16px;max-width:75%;min-width:0;padding:7px;min-height:40px}
}
@media(orientation:landscape) and (max-height:560px){
 #overlay:has(.practice-center){padding:calc(env(safe-area-inset-top,0px) + 52px) 22px calc(env(safe-area-inset-bottom,0px) + 12px);align-items:flex-start}
 #overlay .pc-heading h2{font-size:25px}.pc-heading{margin-bottom:9px}.pc-overview{padding:8px 0;margin-bottom:9px}.pc-overview strong{font-size:19px}.pc-overview small{font-size:9px}.pc-tabs{margin-bottom:11px;max-width:440px}#overlay .pc-tabs button{min-height:33px;font-size:11px}
 .pc-layout{grid-template-columns:minmax(230px,.9fr) minmax(300px,1.1fr);gap:16px}.pc-lab-list{display:flex;gap:5px}#overlay .pc-lab{min-height:60px;padding:9px;grid-template-columns:30px 1fr 14px;gap:9px}.pc-role{height:30px;min-width:30px}.pc-lab b{font-size:12px}.pc-lab small{display:block;font-size:10px}.pc-lab-arrow{display:block}#overlay .pc-random{min-height:44px;font-size:10px}
 .pc-focus{padding:15px}.pc-focus-heading{margin-bottom:10px}.pc-drill-diagram{width:61px}.pc-focus-heading{grid-template-columns:1fr 61px}#overlay .pc-focus h3{font-size:21px}.pc-objectives li{padding:9px 0}
}
/* A collection of earned skills, with a quiet ribbon during continuous reps. */
.play-result-card{top:calc(env(safe-area-inset-top,0px) + 122px);max-width:340px;padding:12px 14px;border:2px solid #dce6bf;border-radius:18px;background:#eff4dfed;color:#284a4b;box-shadow:0 5px 0 #27494444;backdrop-filter:blur(8px)}
.play-result-card .rep-ribbon-label{font-size:9px;letter-spacing:1.2px;font-weight:900;color:#51735f;margin-bottom:9px}.play-result-card .rep-skill{display:flex;gap:10px;align-items:center;margin:7px 0}.play-result-card .rep-skill strong{font-size:13px;line-height:1.2}.play-result-card small{font-size:10px;color:#60756a;line-height:1.4}.rep-medal{display:grid;place-items:center;min-width:45px;min-height:35px;padding:6px;border:2px solid #bacdb6;border-radius:11px;font-size:10px;text-transform:uppercase;background:#e0e8d4;color:#416653}.rep-medal[data-medal=bronze]{background:#dbb38d;border-color:#ac784d;color:#563721}.rep-medal[data-medal=silver]{background:#dbe4e7;border-color:#92a7ae;color:#42555e}.rep-medal[data-medal=gold]{background:#f2d57d;border-color:#bd9740;color:#6a4d16}.play-result-card button{border:0;border-radius:20px;background:#315c51;color:#fff;min-height:32px;padding:6px 13px;font-size:10px}
.mastery-collection{text-align:left;max-width:850px;margin:auto}.mastery-collection>p{font-size:12px;line-height:1.5}.mastery-positions{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px;margin:18px 0}.mastery-positions button{display:grid;gap:3px;min-height:56px;align-content:center;border:2px solid #c6d3c8;border-radius:13px;background:#edf1df;color:#335851;box-shadow:0 3px 0 #abbfb0}.mastery-positions button[aria-pressed=true]{background:#315c51;color:#fff;border-color:#b5cf8b}.mastery-positions strong{font-size:13px}.mastery-positions small{font-size:10px}.mastery-selected{display:flex;align-items:center;gap:15px;flex-wrap:wrap;padding:15px 0}.mastery-selected>strong{font-size:12px;color:#557364}.mastery-selected>.primary{margin:0 0 0 auto!important;min-height:42px!important;width:auto!important;font-size:12px!important;padding:10px 20px!important}.mastery-collection .mastery-objectives{grid-template-columns:1fr 1fr;gap:12px}.mastery-collection .mastery-objectives article{background:#f4f6e9;border:2px solid #d7e2c7;border-radius:18px;padding:18px;color:#254e4b}.mastery-collection .mastery-objectives article>div:first-child>b{color:#6d7541}.mastery-collection .mastery-objectives p{font-size:12px;line-height:1.5;margin:5px 0;color:#507067}.mastery-collection .mastery-objectives :is(small,span){color:#507067}.mastery-medals{display:flex;gap:8px;margin:12px 0!important}.mastery-medals>span{display:grid;place-items:center;flex:1;min-height:44px;border:2px dashed #b4c5b5;border-radius:12px;font-size:10px;background:#e6ecd9;opacity:.6}.mastery-medals>span.earned{opacity:1;border-style:solid}.mastery-medals>[data-medal=bronze].earned{background:#e4bb96;border-color:#b58860}.mastery-medals>[data-medal=silver].earned{background:#dee5e9;border-color:#8ea5b3}.mastery-medals>[data-medal=gold].earned{background:#f0d781;border-color:#c2a148}.mastery-objectives details{margin-top:8px;font-size:11px}.mastery-objectives summary{padding:6px 0;cursor:pointer}.mastery-collection .recent-reps{font-size:12px}
@media(max-width:520px){.mastery-positions{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.mastery-positions button{min-height:48px}.mastery-selected{gap:10px}.mastery-selected>.primary{width:100%!important}.mastery-collection .mastery-objectives{grid-template-columns:1fr}.play-result-card{top:calc(env(safe-area-inset-top,0px) + 126px);max-width:300px}}
@media(orientation:landscape) and (max-height:560px){.play-result-card{left:12px;top:90px;transform:none;width:230px;padding:8px 11px}.play-result-card .rep-ribbon-label{margin-bottom:5px}.play-result-card .rep-skill{margin:5px 0}.play-result-card button{min-height:28px;margin-top:5px}.mastery-positions{grid-template-columns:repeat(8,minmax(0,1fr))}}


/* Game-screen theme: the training field at night, with bright drill cards. */
#game #overlay:has(.practice-center){background:radial-gradient(110% 50% at 50% -5%,#1f7a4a88,transparent 62%),linear-gradient(180deg,#071b1ff0,#0b2b2ee6 50%,#061518f5);backdrop-filter:blur(6px)}
#game .practice-center{color:#f4f8ef;--pc-edge:#ffffff26;--pc-muted:#b9cfc8;--pc-blue:#2fbf6c}
#game #overlay .practice-center :is(h1,h2,h3){color:#fff;font-weight:900}
#game #overlay .practice-center .pc-heading h2{font-style:italic;letter-spacing:-1px}
#game #overlay .practice-center :is(p,small,label){color:#b9cfc8!important}
#game #overlay .practice-center .pc-heading .pc-back,#game #overlay .practice-center .pc-overview>button{background:#12353a;color:#f4f8ef;border:2px solid #ffffff2b;box-shadow:0 3px 0 #020c0e;border-radius:14px;padding:9px 12px}
#game .practice-center .pc-overview strong{color:#ffd045}
#game .practice-center .pc-overview-meter b{color:#fff}
#game .practice-center .pc-overview progress,#game .practice-center .pc-overview progress::-webkit-progress-bar{background:#ffffff1f}
#game .practice-center .pc-overview progress::-webkit-progress-value{background:#ffd045}
#game .practice-center .pc-tabs{background:#0a2226;border:2px solid #ffffff1f}
#game #overlay .practice-center .pc-tabs button{color:#b9cfc8;font-weight:850}
#game #overlay .practice-center .pc-tabs button[aria-pressed=true]{color:#10263a;background:#ffd045;box-shadow:0 3px 0 #b27f0c}
#game #overlay .practice-center .pc-lab{background:linear-gradient(160deg,#1f7a4a,#15573a);border:2px solid #9ee8bd55;color:#fff;box-shadow:0 4px 0 #062418}
#game #overlay .practice-center .pc-lab.selected{background:linear-gradient(160deg,#2fbf6c,#1e8f4f);border-color:#ffd045;box-shadow:0 4px 0 #0b4a28,0 0 0 2px #ffd04566}
#game #overlay .practice-center .pc-lab:active{transform:translateY(3px);box-shadow:0 1px 0 #062418}
#game .practice-center .pc-role{background:#0a2a1c;border-color:#ffffff33;color:#ffd045}
#game .practice-center .selected .pc-role{background:#ffd045;color:#10263a;border-color:#fff3c2}
#game .practice-center .pc-lab-arrow,#game .practice-center .pc-lab-medal{color:#d9f7e6}
#game #overlay .practice-center .pc-random{color:#ffd045}
#game .practice-center .pc-focus{background:linear-gradient(180deg,#12353a,#0d282d);border:2px solid #ffffff26;box-shadow:0 5px 0 #020c0e}
#game .practice-center .pc-kicker{color:#ffd045}
#game #overlay .practice-center .pc-focus h3{color:#fff}
#game .practice-center .pc-objectives b{color:#fff}
#game .practice-center .pc-picker{color:#b9cfc8;border-color:#ffffff1f}
#game #overlay .practice-center .pc-start-row .primary{background:linear-gradient(180deg,#ffdf6e,#ffc52a);color:#10263a;border:2px solid #fff3c2;box-shadow:0 5px 0 #b27f0c;font-weight:900;font-size:17px;min-height:54px;border-radius:16px}
#game .practice-center .pc-training{background:#0f3a2a;border-color:#2fbf6c66;color:#d9f7e6}
#game .practice-center .pc-training b{color:#ffd045}
#game .practice-center .pc-medals i{background:#ffffff14;border-color:#ffffff30;color:#ffffff66}
#game .practice-center .gm-choice{background:#12353a;border-color:#ffffff2b;box-shadow:0 3px 0 #020c0e;color:#fff}
#game .practice-center .gm-choice .gm-value{color:#fff}
#game .practice-center .gm-choice-hint{color:#ffd045}

/* Compact, non-interactive rep feedback follows the toolbar's natural height. */
#game #practice-tools .play-result-card{position:static;transform:none;inset:auto;box-sizing:border-box;width:max-content;max-width:100%;margin:3px 0 0;padding:4px 8px;border:1px solid #b9d1d35c;border-radius:7px;background:#163643d9;color:#f2f6fa;box-shadow:none;backdrop-filter:none;pointer-events:none;align-self:center;flex-shrink:1;height:24px;min-height:0;font:10px/1.4 system-ui,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#game #practice-tools .play-result-card strong,#game #practice-tools .play-result-card span{display:inline;font-size:inherit}
#game #practice-tools .play-result-card span::before{content:' · '}
