/* Independent practice pages share the app's palette and typography. */
.game-detail{background:var(--bg,#f6f7f2);color:var(--ink,#293b30)}
.detail-header{max-width:1120px;margin:auto;padding:24px 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dfe5d9;gap:20px}
.detail-brand{display:flex;align-items:center;gap:10px;color:#315d48;font-size:20px;font-weight:600;text-decoration:none;white-space:nowrap}
.detail-header nav{display:flex;gap:24px;font-size:14px}.detail-header nav a,.detail-how-link,.detail-footer a{color:#416d54;text-decoration:none}
.detail-main{max-width:1024px;margin:auto;padding:0 32px}
.detail-hero{max-width:740px;padding:64px 0 36px}
.detail-eyebrow{font-size:12px;letter-spacing:1.4px;color:#658467;margin:0 0 18px}
.detail-hero h1{font-size:clamp(38px,6vw,64px);font-weight:500;letter-spacing:-1.5px;line-height:1.15;margin:0 0 20px}
.detail-tagline{font-size:clamp(19px,3vw,25px);color:#48654c;line-height:1.6;margin:0 0 14px}
.detail-summary{max-width:650px;font-size:15px;color:#71806d;line-height:1.9;margin:0 0 20px}.detail-how-link{font-size:14px;display:inline-block;padding:8px 0}
.detail-play{scroll-margin-top:20px;border:1px solid #dce5d6;border-radius:24px;background:#fffefb;overflow:hidden;margin:0 0 64px}
.detail-launcher{padding:32px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.detail-launcher h2{font-size:22px;font-weight:500;margin:0 0 8px}.detail-launcher p{font-size:14px;color:#72806e;margin:0;line-height:1.8}
.detail-controls{display:flex;align-items:end;gap:12px}.detail-controls label{font-size:12px;color:#6c7d69;display:flex;flex-direction:column;gap:6px}
.detail-controls select{min-height:46px;min-width:136px;border:1px solid #d9e1d3;border-radius:12px;padding:8px 40px 8px 12px;background-color:#f7f9f2;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236c7d69' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px;color:#385741;font:inherit;font-size:15px;appearance:none;-webkit-appearance:none}
.detail-controls .button{min-height:46px}.detail-launcher noscript{flex-basis:100%}
.game-detail #app .main{max-width:none;padding:24px;margin:0}.game-detail .session-page{max-width:760px;margin:auto}.game-detail .session-card{box-shadow:none}.game-detail #app[hidden],.detail-launcher[hidden]{display:none}
.detail-info{display:grid;grid-template-columns:1fr 1fr;gap:40px 64px;padding-bottom:56px}
.detail-info section{scroll-margin-top:24px}.detail-info h2,.detail-related h2{font-size:23px;font-weight:500;margin:0 0 18px}.detail-info h2:not(:first-child){margin-top:26px}.detail-info h3{font-size:16px;font-weight:500;margin:0 0 10px}
.detail-info p,.detail-steps{font-size:15px;line-height:1.95;color:#65725e;margin:0 0 12px}.detail-steps{padding-left:22px}.detail-steps li{padding-left:6px;margin-bottom:12px}.detail-steps li::marker{color:#35745d;font-weight:600}
.detail-related{border-top:1px solid #dfe5d9;padding:36px 0}.detail-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.detail-related-grid a{padding:18px;border:1px solid #e0e6d9;border-radius:14px;background:#fbfcf6;text-decoration:none;color:#3e5f48;display:flex;flex-direction:column;gap:8px}.detail-related-grid strong{font-size:16px;font-weight:500}.detail-related-grid span{font-size:12px;color:#75806e;line-height:1.6}.detail-related-grid a:hover{border-color:#90ae87;background:#f0f5e9}
.detail-footer{display:flex;justify-content:space-between;align-items:start;gap:24px;padding:24px 0 40px;border-top:1px solid #dfe5d9;font-size:12px;color:#798374;line-height:1.8}.detail-footer p{max-width:640px;margin:0}.detail-footer a{white-space:nowrap}
.game-directory{max-width:1000px;margin:36px auto;padding:28px 32px;border-top:1px solid #dfe5d9}.game-directory h2{font-size:20px;font-weight:500;color:#48654c;margin:0 0 10px}.game-directory p{font-size:14px;color:#72806e;line-height:1.8}.game-directory nav{display:flex;gap:8px 24px;flex-wrap:wrap}.game-directory a{color:#416d54;font-size:14px;min-height:44px;display:inline-flex;align-items:center;text-decoration:none}
.game-detail a:focus-visible,.game-directory a:focus-visible,.detail-controls select:focus-visible{outline:3px solid #c7924d;outline-offset:4px}
@media(max-width:650px){.detail-header{padding:18px 20px;gap:12px}.detail-brand{font-size:17px;gap:7px}.detail-brand img{width:30px;height:30px}.detail-header nav{gap:12px;font-size:12px}.detail-main{padding:0 20px}.detail-hero{padding:40px 0 26px}.detail-summary{font-size:14px}.detail-launcher{padding:24px;gap:20px}.detail-controls{width:100%;flex-wrap:wrap}.detail-controls label{flex:1}.detail-controls .button{flex:1;white-space:nowrap}.detail-play{border-radius:18px;margin-bottom:36px}.game-detail #app .main{padding:14px 8px}.detail-info{grid-template-columns:1fr;gap:28px;padding-bottom:32px}.detail-related-grid{grid-template-columns:1fr 1fr}.detail-related-grid a{padding:14px}.detail-footer{flex-direction:column;gap:12px}.game-directory{padding:24px 20px}.detail-info h2,.detail-related h2{font-size:21px}}
