:root{--navy:#0b1c31;--navy2:#163553;--blue:#315c94;--red:#ca3348;--paper:#f2f6f9;--line:#dce6ed;--text:#19364f;--muted:#5b758b;--white:#fff;--shadow:0 9px 28px #132f4610}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:15px;line-height:1.55}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #4b84c5;outline-offset:4px}button{border:0}a{color:var(--blue)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;top:-80px;left:14px;z-index:999;background:white;color:var(--navy);padding:12px 20px;border-radius:8px}.skip-link:focus{top:10px}[hidden]{display:none!important}.academy-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:24px;min-height:86px;padding:12px clamp(18px,4vw,60px);background:#fffefefa;border-bottom:1px solid var(--line);box-shadow:0 2px 16px #0b1c3108}.academy-brand{display:flex;align-items:center;gap:17px;padding:0;background:transparent;text-align:left;flex-shrink:0}.academy-brand img{width:151px;height:48px;object-fit:contain}.academy-brand>span{border-left:1px solid #d6e1e9;padding-left:17px;max-width:140px;font-size:10px;line-height:1.6;letter-spacing:2.2px;font-weight:800;color:#4d6d89}.reference-button{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 15px;background:#edf3f8;color:#315578;border:1px solid #dee9f1;border-radius:9px;font-size:12px;font-weight:750;white-space:nowrap}.reference-button:hover{background:#e2edf5}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:800;text-transform:uppercase;margin:0 0 12px;color:#5a7d99}.hero-shell{background:var(--navy);position:relative;overflow:hidden;color:white}.hero-shell:before{content:"";position:absolute;inset:0 0 0 43%;opacity:.12;background-image:linear-gradient(#8cc3e6 1px,transparent 1px),linear-gradient(90deg,#8cc3e6 1px,transparent 1px);background-size:54px 54px;transform:skew(-17deg)}.menu-hero{max-width:1440px;margin:auto;position:relative;display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center;padding:47px clamp(22px,4vw,60px) 46px}.menu-hero .eyebrow{color:#9ebbd4}.eyebrow .dot{display:inline-block;width:7px;height:7px;background:#ed6674;border-radius:50%;margin-right:8px;box-shadow:0 0 0 5px #d740511a}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(34px,4vw,53px);font-weight:780;line-height:1.08;letter-spacing:-1.7px;margin-bottom:19px}h1 em{font-style:normal;color:#aac6e4}.hero-copy>p:not(.eyebrow){color:#b8ccdc;max-width:525px;font-size:15px;line-height:1.75;margin-bottom:19px}.hero-features{display:flex;gap:17px;flex-wrap:wrap;font-size:11px;font-weight:650;color:#d9e8f3}.hero-features span{display:flex;align-items:center;gap:6px}.hero-features svg{width:14px;height:14px;color:#ec7081}.hero-vehicle{position:relative;min-height:230px;display:flex;align-items:center}.hero-vehicle:before{content:"";position:absolute;height:27px;background:#0008;filter:blur(14px);bottom:28px;left:9%;right:5%;border-radius:50%}.hero-vehicle img{position:relative;width:100%;max-height:250px;object-fit:contain;filter:drop-shadow(0 10px 12px #0005)}.yard-plate{position:absolute;right:13px;top:-4px;font-size:9px;letter-spacing:2px;font-weight:750;color:#b8d1e3;border:1px solid #a7c4d52c;border-radius:5px;padding:7px 11px;background:#0c2138b0}.academy-content{max-width:1440px;margin:auto;padding:31px clamp(22px,4vw,60px) 40px}.selection-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:23px}.selection-heading h2{font-size:24px;letter-spacing:-.7px;margin:0}.selection-heading p{margin:4px 0 0;color:var(--muted);font-size:13px}.last-practice{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);padding:10px 14px;border-radius:9px;text-align:left;color:var(--blue);font-size:12px;font-weight:750;box-shadow:0 2px 8px #16355205}.last-practice small{font-size:9px;display:block;letter-spacing:1px;color:var(--muted);font-weight:650;text-transform:uppercase}.class-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.class-card{position:relative;display:flex;flex-direction:column;background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden;text-align:left;padding:0;box-shadow:var(--shadow);transition:transform .18s,border-color .18s,box-shadow .18s;color:var(--text);min-width:0}.class-card:hover{transform:translateY(-4px);border-color:#8aacc7;box-shadow:0 12px 30px #1b3e551c}.class-card .card-art{height:143px;position:relative;background:#e8f0f5;overflow:hidden;border-bottom:1px solid #dee9f0}.card-art:after{content:"";position:absolute;inset:auto 0 0;height:42px;background:linear-gradient(transparent,#bdceda35)}.card-art>img{position:absolute;width:100%;height:115px;object-fit:contain;bottom:-1px;padding:0 9px}.class-card[data-class="ar"] .card-art>img{height:100px;bottom:3px}.class-card[data-class="d"] .card-art>img{height:121px;bottom:-3px}.class-badge{position:absolute;left:15px;top:12px;z-index:2;width:40px;height:40px;display:grid;place-items:center;border-radius:9px;background:var(--navy);color:white;font-size:25px;line-height:1;font-weight:820;box-shadow:0 2px 4px #112b431a}.class-badge.wide{width:49px;font-size:23px}.card-index{position:absolute;right:14px;top:14px;z-index:2;font-size:9px;font-weight:800;letter-spacing:1.5px;color:#708a9d}.card-copy{padding:16px 17px 14px;display:flex;flex-direction:column;flex:1}.card-category{font-size:9px;text-transform:uppercase;letter-spacing:1.2px;color:#6b839a;font-weight:800;display:block;margin-bottom:6px}.card-copy h3{font-size:18px;font-weight:780;line-height:1.25;letter-spacing:-.5px;margin-bottom:7px}.card-copy p{font-size:12px;line-height:1.65;color:var(--muted);margin-bottom:14px;flex:1}.card-tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:16px}.card-tags span{padding:3px 7px;background:#eef4f8;color:#486983;border:1px solid #e1eaf0;border-radius:4px;font-size:9px;font-weight:650}.card-foot{display:flex;align-items:center;justify-content:space-between;padding-top:11px;border-top:1px solid #e6edf3}.card-foot strong{font-size:12px;font-weight:800;color:var(--blue);display:flex;align-items:center;gap:6px}.card-foot svg{width:15px;height:15px}.saved-tag{font-size:9px;font-weight:700;display:flex;align-items:center;gap:5px;color:#5a7a91}.saved-tag.saved{color:#1d7965}.saved-tag.saved:before{content:"";width:5px;height:5px;border-radius:50%;background:#319984}.practice-guide{border-radius:14px;border:1px dashed #afc5d6;background:#eaf2f7;display:flex;flex-direction:column;justify-content:center;padding:24px 21px}.practice-guide .eyebrow{font-size:9px;margin-bottom:9px;letter-spacing:1.5px}.practice-guide h3{font-size:21px;letter-spacing:-.8px;line-height:1.2;margin-bottom:16px}.guide-steps{display:grid;gap:10px}.guide-steps>div{display:flex;align-items:center;gap:10px;font-size:11px;color:#54738d}.guide-steps b{color:#274e6b;display:block;font-size:12px}.guide-steps .step-n{flex-shrink:0;width:27px;height:27px;border:1px solid #b8cedf;border-radius:7px;display:grid;place-items:center;color:#2a5377;font-size:10px;font-weight:800;background:#f8fbfd}.device-note{display:flex;align-items:flex-start;gap:9px;padding:20px 0 0;color:#6b8499;font-size:11px}.device-note svg{width:16px;height:16px;margin-top:1px}.device-note p{margin:0}.device-note.storage-warning{color:#8a5c25}.academy-footer{max-width:1440px;margin:0 auto;padding:22px clamp(22px,4vw,60px);display:flex;gap:25px;align-items:center;border-top:1px solid var(--line);font-size:10px;color:#7a90a2}.academy-footer>span:first-child{font-weight:800;color:#3b6383}.academy-footer .text-button{margin-left:auto}.text-button{background:transparent;color:#446985;padding:7px 4px;font-size:11px;font-weight:750;white-space:nowrap}.text-button:hover{text-decoration:underline}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;color:white;background:var(--blue);font-size:13px;font-weight:750;border-radius:8px;box-shadow:0 3px 8px #23496b17}.primary-button:hover{background:#274f83}.menu-button{display:inline-flex;align-items:center;gap:8px;color:#244e78;background:#edf4f9;border:1px solid #dae7f0;font-size:12px;font-weight:780;border-radius:8px;padding:10px 13px;white-space:nowrap}.menu-button svg{width:15px;height:15px}.course-toolbar{display:flex;align-items:center;gap:15px;flex:1;min-width:0}.current-course{font-size:12px;font-weight:800;color:#345b80;border-left:1px solid #d6e4ee;padding-left:15px;white-space:nowrap}.course-toolbar select{border:1px solid #d6e3ec;border-radius:7px;padding:8px 10px;font-size:11px;color:#486b88;background:white;cursor:pointer;max-width:150px}.game-shell{max-width:1540px;margin:0 auto;padding:0;position:relative;background:#f4f7fa;min-height:650px}.game-frame{width:100%;height:1100px;display:block;border:0;background:#f2f6f9}.loading-game{position:absolute;z-index:4;inset:0 0 auto;min-height:460px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#f2f6f9;color:#4c7391;gap:13px;padding:30px}.loading-game .load-badge{width:76px;height:76px;display:grid;place-items:center;background:#163553;color:#fff;font-size:34px;font-weight:800;border-radius:17px;box-shadow:0 12px 25px #31567422}.loading-game h2{font-size:22px;color:#264d6d;letter-spacing:-.5px;margin:3px 0 0}.loading-game p{font-size:13px}.load-line{width:180px;height:4px;background:#d5e1e9;border-radius:2px;overflow:hidden}.load-line:before{content:"";display:block;width:48%;height:100%;background:#cf3a4f;animation:loading 1s ease-in-out infinite alternate}@keyframes loading{from{transform:translateX(-20%)}to{transform:translateX(130%)}}body.is-playing .academy-header{min-height:73px;padding-top:9px;padding-bottom:9px;gap:22px}body.is-playing .academy-brand img{width:116px;height:38px}body.is-playing .academy-brand>span{display:none}body.is-playing .academy-footer{background:#f2f6f9}.ar-hero{padding-top:35px;padding-bottom:35px;grid-template-columns:1fr 1fr}.ar-hero h1{font-size:39px;letter-spacing:-1px}.ar-hero .hero-vehicle{min-height:165px}.ar-hero .hero-vehicle img{max-height:205px}.back-menu{display:inline-flex;align-items:center;gap:7px;background:transparent;color:#c3d7e6;padding:0 0 20px;font-size:11px;font-weight:750}.back-menu svg{width:14px;height:14px}.variant-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:1000px;margin:0 auto}.variant-grid .class-card .card-art{height:220px}.variant-grid .card-art img{height:198px;bottom:-1px;padding:0 20px}.variant-grid .card-copy{padding:23px 26px}.variant-grid .card-copy h3{font-size:23px}.variant-grid .card-copy p{font-size:14px}.variant-grid .card-foot strong{font-size:14px}.variant-grid .card-tags span{font-size:11px}.ar-scope{max-width:1000px;margin:22px auto 0;border-left:3px solid #c83a4e;padding:2px 0 2px 14px;font-size:12px;color:#6d8599}.reference-dialog{width:min(600px,calc(100% - 28px));max-height:calc(100dvh - 44px);border:1px solid #dbe5ee;border-radius:16px;padding:27px;color:#294d6a;box-shadow:0 20px 100px #06192966;overflow:auto}.reference-dialog::backdrop{background:#071a2dc9;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.dialog-heading h2{font-size:26px;letter-spacing:-.8px;margin-bottom:18px}.dialog-heading .eyebrow{margin-bottom:7px}.close-button{width:34px;height:34px;background:#edf3f7;color:#55778f;border-radius:8px;font-size:24px;line-height:1}.reference-dialog>p{font-size:13px;line-height:1.8;color:#628198}.handbook-links{display:grid;gap:8px;margin:19px 0}.handbook-links a{display:flex;flex-direction:column;gap:3px;padding:12px 15px;border:1px solid #dde8f0;border-radius:8px;text-decoration:none;background:#f7fafc}.handbook-links a:hover{border-color:#87aecb;background:#edf4f9}.handbook-links strong{font-size:13px}.handbook-links span{font-size:11px;color:#6c8499}.reference-note{font-size:11px;color:#668297;margin:16px 0 21px;background:#edf4f9;padding:13px;border-radius:8px}.noscript{padding:40px;max-width:700px;margin:auto;color:#8c542d}.play-note{padding:11px 25px;border-bottom:1px solid var(--line);background:#e9f1f7;display:flex;justify-content:space-between;gap:15px;color:#577b98;font-size:11px}.play-note button{font-size:11px;padding:0;background:transparent;color:#385e83;font-weight:750}.play-note b{color:#335b7d;font-weight:750}
@media(min-width:1500px){.class-card .card-art{height:160px}.card-art>img{height:132px}}@media(max-width:1180px){.academy-brand>span{display:none}.class-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.practice-guide{grid-column:span 2;display:grid;grid-template-columns:1fr 1.1fr;column-gap:20px;align-content:center}.practice-guide .eyebrow{grid-column:1}.practice-guide h3{grid-column:1;margin-bottom:0}.guide-steps{grid-column:2;grid-row:1 / span 2}.course-toolbar{gap:10px}.course-toolbar .text-button{display:none}.current-course{padding-left:10px}.menu-hero{gap:20px;padding-top:38px;padding-bottom:38px}.menu-hero h1{font-size:43px}.reference-button{padding:10px 12px}.hero-features{gap:12px}}@media(max-width:850px){.academy-header{padding:12px 22px;gap:15px}.academy-brand img{width:135px;height:43px}.menu-hero{grid-template-columns:1fr;padding-top:32px;padding-bottom:31px;gap:6px}.menu-hero h1{font-size:39px;max-width:520px}.hero-copy>p:not(.eyebrow){max-width:610px}.hero-vehicle{display:none}.selection-heading{align-items:flex-start}.last-practice{font-size:11px}.class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-guide{grid-column:auto;display:flex}.practice-guide h3{font-size:23px;margin-bottom:18px}.class-card .card-art{height:155px}.card-art>img{height:128px}.card-copy h3{font-size:19px}.card-copy p{font-size:13px}.academy-footer{flex-wrap:wrap;row-gap:10px}.academy-footer>span:nth-child(2){display:none}body.is-playing .academy-header{padding:10px 18px;flex-wrap:wrap;gap:8px}.is-playing .academy-brand img{width:107px;height:33px}.is-playing .reference-button{margin-left:auto;font-size:10px;padding:8px 10px}.course-toolbar{order:3;width:100%;justify-content:flex-start;border-top:1px solid #e0eaf0;padding-top:9px;margin-top:5px}.course-toolbar .switch-label{margin-left:auto}.current-course{font-size:11px}.variant-grid .class-card .card-art{height:175px}.variant-grid .card-art img{height:160px;padding:0 7px}.variant-grid .card-copy{padding:20px}.variant-grid .card-copy h3{font-size:21px}}@media(max-width:560px){.academy-header{min-height:70px;padding:10px 18px}.academy-brand img{width:124px;height:40px}.reference-button{font-size:10px;padding:9px 10px;gap:5px}.reference-button svg{width:16px;height:16px}.menu-hero{padding:29px 21px 30px}.menu-hero h1{font-size:37px;letter-spacing:-1.3px}.hero-copy>p:not(.eyebrow){font-size:13px}.hero-features{font-size:10px;gap:7px 12px}.academy-content{padding:25px 18px 27px}.selection-heading{flex-direction:column;gap:12px;margin-bottom:19px}.selection-heading h2{font-size:23px}.selection-heading p{font-size:12px}.last-practice{width:100%;justify-content:space-between;padding:11px 13px}.class-grid{gap:13px}.class-card .card-art{height:120px}.card-art>img{height:86px;bottom:0;padding:0 4px}.class-card[data-class="ar"] .card-art>img{height:78px}.class-card[data-class="d"] .card-art>img{height:86px;bottom:0}.class-badge{left:11px;top:10px;width:32px;height:32px;font-size:21px;border-radius:7px}.class-badge.wide{width:40px;font-size:19px}.card-index{right:10px;top:12px;font-size:8px;letter-spacing:0}.card-copy{padding:12px 12px 11px}.card-category{font-size:8px;letter-spacing:.8px}.card-copy h3{font-size:16px;line-height:1.3}.card-copy p{font-size:11px;line-height:1.7;margin-bottom:11px}.card-tags{gap:4px;margin-bottom:13px}.card-tags span{font-size:8px;padding:3px 5px}.card-foot{align-items:flex-start;flex-direction:column;gap:8px;padding-top:10px}.card-foot strong{font-size:11px}.saved-tag{font-size:8px}.practice-guide{padding:18px 15px}.practice-guide h3{font-size:20px}.guide-steps{gap:9px}.guide-steps>div{font-size:10px;gap:8px}.guide-steps b{font-size:11px}.guide-steps .step-n{width:23px;height:23px;font-size:9px}.practice-guide .eyebrow{font-size:8px;letter-spacing:1px}.variant-grid{grid-template-columns:1fr;gap:16px}.variant-grid .class-card .card-art{height:165px}.variant-grid .card-art img{height:150px;padding:0 14px}.variant-grid .card-copy p{font-size:13px}.variant-grid .card-foot{flex-direction:row;align-items:center}.variant-grid .card-copy h3{font-size:22px}.ar-hero h1{font-size:34px}.ar-scope{font-size:11px}.menu-button{font-size:11px;padding:9px 10px;gap:6px}.menu-button svg{width:13px;height:13px}.current-course{padding-left:9px;font-size:10px}.course-toolbar select{font-size:10px;padding:8px;max-width:111px}.play-note{padding:10px 18px;font-size:10px}.play-note>span{max-width:77%}.academy-footer{padding:19px 18px;font-size:9px}.academy-footer .text-button{font-size:9px}.reference-dialog{padding:22px}.dialog-heading h2{font-size:24px}}
@media(max-width:350px){.class-grid{grid-template-columns:1fr}.class-card .card-art{height:155px}.card-art>img{height:124px}.practice-guide{display:grid}.course-toolbar{gap:7px}.current-course{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.class-card{transition:none}.class-card:hover{transform:none}.load-line:before{animation:none}}

.hero-vehicle img{border:1px solid #6d8ba545;border-radius:11px;background:#f8fbfd;box-shadow:0 9px 28px #0002}

/* Realistic vehicle gallery and consistent class selection. */
.academy-header{box-shadow:0 3px 16px #142e450a}.academy-brand img{object-fit:contain}.menu-hero{grid-template-columns:minmax(0,1fr) minmax(0,1.18fr);gap:36px;padding-top:40px;padding-bottom:40px}.menu-hero h1{font-size:clamp(36px,3.7vw,53px);line-height:1.13;letter-spacing:-1.7px}.hero-copy>p:not(.eyebrow){font-size:15px;line-height:1.8}.hero-vehicle{display:block;min-height:0;border-radius:15px;overflow:hidden;box-shadow:0 18px 36px #05162b38}.hero-vehicle:before{display:none}.hero-vehicle img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:16/9;object-fit:cover;border:1px solid #c6d8e244;border-radius:15px;filter:none;background:#c5d4e1;box-shadow:none}.yard-plate{z-index:2;top:13px;left:13px;right:auto;background:#102943d9;color:#f1f7fc;border-color:#ffffff30;font-size:8px;letter-spacing:1.2px}
.academy-content{padding-top:32px}.selection-heading h2{font-size:26px;letter-spacing:-.7px}.selection-heading p{font-size:14px}.class-shortcuts{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}.class-shortcuts button{min-height:42px;padding:10px 18px;background:#fff;border:1px solid #cddde9;border-radius:8px;color:#315878;font-size:12px;font-weight:750;box-shadow:0 2px 7px #19364f05}.class-shortcuts button:hover{background:#e5eff8;border-color:#83a6c5}
.class-grid{gap:20px}.class-card{border-radius:16px;box-shadow:0 5px 18px #16324c09;border-color:#cedde8}.class-card:hover{transform:translateY(-3px);border-color:#91b0c9;box-shadow:0 12px 26px #183c5718}.class-card .card-art{aspect-ratio:16/9;height:auto;min-height:165px;background:#c5d7e4}.class-card .card-art:after{height:55px;background:linear-gradient(transparent,#0c233527)}.class-card[data-class] .card-art>img,.class-card[data-play] .card-art>img{inset:0;bottom:auto;padding:0;width:100%;height:100%;object-fit:cover}.class-badge{left:13px;top:13px;border:1px solid #ffffff60;background:#102940ec;box-shadow:0 3px 8px #061a3740}.card-index{top:14px;right:13px;color:#345e7e;background:#ffffffe8;border:1px solid #dbe8f0;border-radius:5px;padding:4px 6px;letter-spacing:1px;font-size:9px}.card-copy{padding:19px 18px 17px}.card-copy h3{font-size:20px;line-height:1.25;letter-spacing:-.45px}.card-copy p{font-size:13px;line-height:1.75;margin-bottom:17px}.card-category{font-size:9px;letter-spacing:1.3px;margin-bottom:8px}.card-tags{gap:6px;margin-bottom:18px}.card-tags span{font-size:10px;padding:4px 7px;border-radius:5px}.card-foot{gap:12px;align-items:flex-start;flex-direction:column;padding-top:14px}.card-foot strong{font-size:13px}.saved-tag{font-size:10px}.practice-guide{border-radius:16px;background:#e6eff6;border-color:#b4cbdc;padding:25px}.practice-guide h3{font-size:25px}.guide-steps>div{font-size:12px;line-height:1.65}.guide-steps b{font-size:13px}.device-note{font-size:12px;line-height:1.65}.last-practice{min-height:48px;font-size:12px;padding:11px 15px}
.variant-grid .class-card .card-art{height:auto;min-height:0;aspect-ratio:16/9}.variant-grid .card-copy{padding:24px}.variant-grid .card-copy h3{font-size:25px}.variant-grid .card-copy p{font-size:14px}.variant-grid .card-foot{flex-direction:row;align-items:center}.ar-hero .hero-vehicle img{max-height:none}.ar-scope{font-size:13px;line-height:1.8}
.disclaimer-card{position:relative;overflow:hidden;border-radius:19px;box-shadow:0 12px 40px #183a5711}.disclaimer-preview{height:180px;margin-bottom:25px;overflow:hidden;border:1px solid #d4e2ed;border-radius:12px;background:#dce8f2}.disclaimer-preview img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 70%}.disclaimer-badge{width:42px;height:42px;margin-bottom:16px}.disclaimer-card .primary-button{min-height:48px}.disclaimer-ack{min-height:68px;transition:background .15s,border-color .15s}.disclaimer-ack:has(input:checked){background:#eaf3fa;border-color:#789fbf}.play-disclaimer{font-size:12px;line-height:1.65;background:#f8fbfd;color:#506f88;padding:10px 25px}.reference-dialog{border-radius:17px}.reference-button,.menu-button{min-height:42px}.course-toolbar select{min-height:40px}.academy-footer{font-size:11px}
@media(max-width:1180px){.menu-hero{gap:26px}.menu-hero h1{font-size:43px}.card-copy h3{font-size:21px}.card-foot{gap:10px}.practice-guide{padding:25px 22px}}
@media(max-width:850px){.menu-hero{grid-template-columns:1fr;gap:23px}.hero-vehicle{display:block;width:100%;max-width:690px;margin:0 auto}.menu-hero h1{font-size:42px}.card-copy p{font-size:13px}.class-card .card-art{height:auto;min-height:0}.class-grid{gap:17px}.class-shortcuts button{padding:9px 15px}.variant-grid .card-copy{padding:21px}.variant-grid .card-copy h3{font-size:23px}.variant-grid .card-foot{flex-direction:column;align-items:flex-start}}
@media(max-width:560px){.menu-hero{padding:29px 18px 27px;gap:21px}.menu-hero h1{font-size:36px;letter-spacing:-1.1px}.hero-copy>p:not(.eyebrow){font-size:13px;line-height:1.8}.hero-vehicle,.hero-vehicle img{border-radius:11px}.yard-plate{top:10px;left:10px;font-size:7px;padding:6px 8px;letter-spacing:1px}.hero-features{gap:9px 13px}.academy-content{padding:25px 16px 30px}.selection-heading{margin-bottom:18px}.selection-heading h2{font-size:23px}.selection-heading p{font-size:13px}.class-shortcuts{gap:7px;margin-bottom:20px}.class-shortcuts button{font-size:11px;padding:9px 13px;flex:1 0 20%;min-height:42px}.class-grid{grid-template-columns:1fr;gap:18px}.class-card .card-art{height:auto;min-height:0;aspect-ratio:16/9}.class-badge{width:41px;height:41px;left:13px;top:13px;font-size:26px}.class-badge.wide{width:53px;font-size:22px}.card-index{font-size:10px;padding:4px 7px;top:14px;right:14px}.card-copy{padding:20px}.card-copy h3{font-size:23px}.card-copy p{font-size:14px;line-height:1.75;margin-bottom:16px}.card-category{font-size:10px}.card-tags{gap:6px;margin-bottom:19px}.card-tags span{font-size:11px;padding:4px 8px}.card-foot{flex-direction:row;align-items:center;gap:10px;padding-top:15px}.card-foot strong{font-size:14px}.saved-tag{font-size:10px}.practice-guide{padding:24px}.practice-guide h3{font-size:27px;margin-bottom:19px}.guide-steps{gap:13px}.guide-steps>div{font-size:12px;gap:11px}.guide-steps b{font-size:13px}.guide-steps .step-n{width:29px;height:29px;font-size:11px}.practice-guide .eyebrow{font-size:10px;letter-spacing:1.2px}.variant-grid .card-copy{padding:20px}.variant-grid .card-copy h3{font-size:23px}.variant-grid .card-copy p{font-size:14px}.variant-grid .card-foot{flex-direction:row;align-items:center}.ar-scope{font-size:12px}.device-note{font-size:11px;line-height:1.7}.disclaimer-card{padding:24px 20px}.disclaimer-preview{height:135px;margin-bottom:21px}.disclaimer-card h1{font-size:29px;letter-spacing:-.8px}.disclaimer-purpose{font-size:15px}.disclaimer-details,.disclaimer-ack{font-size:13px}.disclaimer-ack{padding:14px}.play-disclaimer{font-size:11px;padding:10px 18px}.academy-footer{font-size:10px}.academy-footer .text-button{font-size:10px}}
@media(max-width:350px){.class-shortcuts button{flex-basis:27%}.card-foot{flex-direction:column;align-items:flex-start}.variant-grid .card-foot{flex-direction:column;align-items:flex-start}.card-copy h3{font-size:22px}}
@media(prefers-reduced-motion:reduce){.disclaimer-ack{transition:none}.class-card:hover{transform:none}}

/* The acknowledgement opens before any course is mounted. */
.disclaimer-shell{display:flex;justify-content:center;align-items:center;min-height:70vh;padding:clamp(24px,5vw,64px) 20px;background:radial-gradient(ellipse at top,#dceaf5,transparent 70%)}
.disclaimer-card{width:100%;max-width:740px;padding:clamp(24px,4vw,45px);background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}
.disclaimer-badge{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;background:#e9f1f8;color:var(--blue);margin-bottom:18px}
.disclaimer-badge svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.disclaimer-card .eyebrow{color:var(--blue);margin:0 0 9px;font-size:11px;letter-spacing:1.5px}
.disclaimer-card h1{color:var(--text);font-size:clamp(28px,4vw,38px);line-height:1.2;letter-spacing:-1px;margin:0 0 20px}
.disclaimer-purpose{font-size:17px;line-height:1.65;margin:0 0 14px;color:var(--text)}
.disclaimer-details{font-size:14px;line-height:1.8;color:var(--muted);margin:0 0 25px}
.disclaimer-ack{display:flex;align-items:flex-start;gap:13px;padding:17px;background:#f2f6f9;border:1px solid #cbdce9;border-radius:10px;font-size:14px;line-height:1.65;cursor:pointer}
.disclaimer-ack input{width:22px;height:22px;margin:2px 0 0;flex:0 0 22px;accent-color:var(--blue);cursor:pointer}
.disclaimer-ack input:focus-visible{outline:3px solid #4b84c5;outline-offset:4px}
.disclaimer-help{font-size:12px;color:var(--muted);margin:11px 0 20px}
.disclaimer-card .primary-button{min-height:46px;font-size:14px;padding:12px 20px}
.disclaimer-card .primary-button svg{width:18px;height:18px}
.disclaimer-card .primary-button:disabled,.disclaimer-card .primary-button:disabled:hover{background:#8295a6;color:#fff;box-shadow:none;cursor:not-allowed}
.play-disclaimer{padding:10px 25px;margin:0;border-bottom:1px solid var(--line);background:#f7fafc;color:#557189;font-size:11px;line-height:1.6}
@media(max-width:560px){.disclaimer-shell{padding:25px 16px;min-height:0}.disclaimer-card{padding:25px 21px;border-radius:15px}.disclaimer-purpose{font-size:15px}.disclaimer-details,.disclaimer-ack{font-size:13px}.disclaimer-ack{padding:14px;gap:11px}.disclaimer-card .primary-button{width:100%}.play-disclaimer{padding:10px 18px;font-size:10px}}

/* Keep vertical gestures available to the surrounding WordPress page. */
html,body{overscroll-behavior-y:auto}
/* An auto-positioned live region after the footer adds one pixel of overflow. */
#academy-status{top:0;left:0}

/* Compact phone navigation, readable copy and generous touch targets. */
html{scroll-behavior:auto}#academy-main,.game-shell,.game-frame{overflow-anchor:none}
button,input,select{touch-action:manipulation}
.hero-copy,.card-copy,.course-toolbar,.selection-heading>div{min-width:0}
@media(max-width:600px){
 body{font-size:16px;line-height:1.6}
 h1,h2,h3,p,button,small{overflow-wrap:break-word}
 .academy-header,body.is-playing .academy-header{padding:8px 12px;min-height:60px;gap:8px 12px;flex-wrap:wrap}
 .academy-brand img,body.is-playing .academy-brand img{width:120px;height:38px}.academy-brand>span{display:none}
 .academy-header>.reference-button{font-size:13px;min-height:44px;padding:8px 10px;gap:6px;margin-left:auto}
 .academy-header>.reference-button svg{width:18px;flex-shrink:0}
 .course-toolbar{order:3;display:flex;width:100%;flex-basis:100%;gap:8px;border-top:1px solid #dce5ed;padding-top:8px;margin:0}
 .course-toolbar[hidden]{display:none}.current-course{display:none}
 .course-toolbar .menu-button,.course-toolbar .text-button{font-size:13px;min-height:44px;padding:10px;white-space:nowrap}
 .course-toolbar .menu-button{gap:6px}.course-toolbar .menu-button svg{width:16px}
 .course-toolbar .switch-label{min-width:0;margin-left:auto}
 .course-toolbar select{width:64px;max-width:100%;min-height:44px;font-size:16px;padding:8px 5px}
 .menu-hero,.ar-hero{padding:24px 16px;gap:18px;grid-template-columns:minmax(0,1fr)}
 .menu-hero h1,.ar-hero h1{font-size:clamp(29px,7.5vw,38px);line-height:1.17;letter-spacing:-.8px;margin-bottom:13px}
 .hero-copy>p:not(.eyebrow){font-size:15px;line-height:1.65;margin-bottom:14px}
 .hero-copy .eyebrow{font-size:12px;letter-spacing:.7px}.hero-features{font-size:12px;line-height:1.5;gap:8px 13px}
 .hero-vehicle{max-width:460px}.yard-plate{display:none}
 .academy-content{padding:24px 12px 28px}.selection-heading h2{font-size:24px;line-height:1.3}.selection-heading p{font-size:15px}
 .class-shortcuts{gap:8px;margin-bottom:18px}.class-shortcuts button{min-height:48px;font-size:15px;flex:1 0 20%;padding:10px}
 .class-grid,.variant-grid{grid-template-columns:minmax(0,1fr);gap:16px}
 .card-copy,.variant-grid .card-copy{padding:18px}.card-copy h3,.variant-grid .card-copy h3{font-size:23px;line-height:1.3}
 .card-copy p,.variant-grid .card-copy p{font-size:15px;line-height:1.65;margin-bottom:14px}
 .card-category{font-size:12px;letter-spacing:.7px}.card-tags{margin-bottom:15px;gap:7px}.card-tags span{font-size:12px;padding:5px 8px}
 .card-foot,.variant-grid .card-foot{flex-wrap:wrap;flex-direction:row;align-items:center;gap:9px}.card-foot strong{font-size:16px;min-height:44px}.saved-tag{font-size:12px}
 .card-index{font-size:11px;letter-spacing:.5px;max-width:calc(100% - 86px)}
 .last-practice{font-size:15px;min-height:48px}.last-practice small{font-size:12px}
 .practice-guide{padding:20px}.practice-guide h3{font-size:25px}.practice-guide .eyebrow{font-size:12px}
 .guide-steps>div{font-size:14px;line-height:1.6;align-items:flex-start}.guide-steps b{font-size:15px}.guide-steps .step-n{width:30px;height:30px;font-size:12px}
 .device-note,.ar-scope{font-size:14px;line-height:1.65}.back-menu{min-height:44px;font-size:14px;padding-bottom:10px}
 .disclaimer-shell{padding:16px 12px;min-height:0;align-items:flex-start}.disclaimer-card{padding:20px 16px;border-radius:14px}
 .disclaimer-preview{height:100px;margin-bottom:17px}.disclaimer-badge{display:none}
 .disclaimer-card .eyebrow{font-size:12px;margin-bottom:7px}.disclaimer-card h1{font-size:28px;line-height:1.2;margin-bottom:14px}
 .disclaimer-purpose{font-size:16px;line-height:1.65;margin-bottom:12px}.disclaimer-details{font-size:14px;line-height:1.65;margin-bottom:18px}
 .disclaimer-ack{font-size:15px;line-height:1.6;gap:12px;padding:14px;min-height:48px}.disclaimer-ack input{width:24px;height:24px;flex-basis:24px}
 .disclaimer-help{font-size:13px;line-height:1.5;margin:10px 0 16px}.disclaimer-card .primary-button{width:100%;font-size:16px;min-height:48px}
 .play-note{padding:9px 12px;font-size:13px;flex-wrap:wrap;align-items:center;gap:8px}.play-note button{font-size:13px;min-height:44px;padding:8px}
 .play-disclaimer{padding:10px 12px;font-size:13px;line-height:1.6}
 .reference-dialog{padding:20px 16px}.dialog-heading h2{font-size:24px}.close-button{width:44px;height:44px;min-width:44px;font-size:26px}
 .reference-dialog>p,.reference-note{font-size:14px;line-height:1.7}.handbook-links strong{font-size:16px}.handbook-links span{font-size:13px;line-height:1.6}.handbook-links a{padding:14px}
 .reference-dialog .primary-button{font-size:16px;min-height:48px;width:100%}
 .academy-footer{padding:16px 12px;gap:8px 16px;flex-wrap:wrap;align-items:center;font-size:13px;line-height:1.6}.academy-footer>span:nth-child(2){width:100%;order:3}
 .academy-footer .text-button{font-size:14px;min-height:44px;padding:10px 0}
 .loading-game{padding:25px 16px}.loading-game h2{font-size:24px}.loading-game p{font-size:15px}.loading-game .text-button{font-size:15px;min-height:44px}
}
@media(max-width:350px){.class-shortcuts button{flex-basis:27%}.card-foot,.variant-grid .card-foot{flex-direction:column;align-items:flex-start}}

/* Keep the release label visible beside the brand on every screen. */
.academy-brand{gap:10px}.academy-brand .beta-badge{display:inline-block;flex-shrink:0;padding:3px 7px;border:1px solid #bccde0;border-radius:5px;background:#edf3fa;color:#315578;font-size:11px;line-height:1.4;font-weight:800;letter-spacing:.3px;white-space:nowrap}
@media(max-width:600px){.academy-brand{gap:6px}.academy-brand .beta-badge{font-size:10px;padding:2px 6px}}
@media(max-width:360px){.academy-brand img,body.is-playing .academy-brand img{width:110px}.academy-header>.reference-button svg{display:none}}
