/* Shared semantic colours, focus and adaptive play surfaces. */
:root{--dock-bottom:0px}
button,select,summary,a{touch-action:manipulation}
select:focus-visible,summary:focus-visible{outline:3px solid #b58125;outline-offset:3px}
.layout-toggle{min-height:44px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);padding:8px 12px;font-weight:700;white-space:nowrap}
.layout-help{font-size:12px;line-height:1.5;color:var(--muted);margin:8px 24px;max-width:80ch}
.topbar{height:auto;min-height:72px;gap:10px;flex-wrap:wrap}
.content{padding-top:24px}
.academy-question h3,.academy-feedback{scroll-margin-top:24px;scroll-margin-bottom:160px}
.academy-current{padding-bottom:100px}
.learning-dock{position:fixed;bottom:var(--dock-bottom);left:252px;right:0;z-index:25;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px max(16px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom));background:var(--surface);color:var(--text);border-top:1px solid var(--line);box-shadow:0 -6px 28px #0002}
.learning-dock span{font-size:13px}.learning-dock button{min-height:44px;border:0;border-radius:10px;padding:10px 20px;background:#d9b66f;color:#18392d;font-weight:800}.learning-dock button:disabled{opacity:1;background:var(--soft);color:var(--muted)}
.has-learning-dock .content{padding-bottom:180px}
.academy-answer{color:var(--text);background:var(--surface)}
.academy-progress-small,.academy-kicker{color:#80601f}
[data-theme="dark"] .academy-progress-small,[data-theme="dark"] .academy-kicker{color:#e3c580}
[data-theme="dark"] .academy-lesson-status{color:#9bddb8}
.vt-header>div:last-child{display:flex;flex-wrap:wrap;gap:8px}
.vt-header .vt-back{display:inline-flex;align-items:center;white-space:normal}
.vt-play-zone{position:sticky;top:8px;z-index:8;display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,280px);gap:14px;align-items:start;background:var(--canvas);border-radius:20px;padding:8px;box-shadow:0 12px 32px #0002}
.vt-play-zone .vt-controls{margin:0;max-height:calc(100dvh - 40px);overflow:auto;overscroll-behavior:contain}
.vt-play-zone .vt-table-wrap{min-width:0}
.vt-play-zone .vt-table{height:440px}
.vt-play-zone .vt-controls h2{font-size:18px;margin-top:0}
.vt-play-zone .vt-action-row{gap:8px}.vt-play-zone .vt-action-row button{flex:1 1 90px;min-height:44px}
.vt-table-settings summary,.vt-analysis>summary{cursor:pointer;padding:14px;font-weight:750;min-height:48px;color:var(--text)}
.vt-analysis{border:1px solid var(--line);background:var(--surface);border-radius:16px;margin:20px 0;padding:4px 12px}
.vt-analysis[open]{padding-bottom:16px}
.vt-table-settings .vt-config{display:flex;flex-direction:column;align-items:stretch}
.dealer-avatar{display:block;width:64px;height:48px;margin:-12px auto 2px}.dealer-avatar svg{width:100%;height:100%}
.vt-dealer>strong{font-size:10px;margin-bottom:5px}
.vt-table-foot{color:#315540}
[data-theme="dark"] .vt-table-foot{color:#c2d6c8}
@media(prefers-reduced-motion:no-preference){body:not(.reduce-motion) .dealer-avatar.dealing .dealer-arm{transform-origin:51px 36px;animation:dealer-pass .48s ease-in-out 2}@keyframes dealer-pass{50%{transform:rotate(22deg) translateX(-4px)}}}
@media(max-width:1100px){.vt-play-zone{grid-template-columns:minmax(0,1fr)}.vt-play-zone .vt-controls{max-height:32dvh}.vt-play-zone .vt-table{height:360px}.vt-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.vt-stats>div{padding:10px}.vt-stats strong{font-size:15px}}
@media(max-width:760px){
 :root{--dock-bottom:70px}.learning-dock{left:0}.topbar{padding:12px 16px}.top-actions{gap:6px}.identity{display:none}.content{padding:18px 12px 100px}.layout-help{margin:8px 16px}
 .vt-play-zone{top:0;padding:4px;gap:6px}.vt-play-zone .vt-controls{padding:12px;max-height:30dvh}.vt-controls>p{font-size:12px;margin:6px 0}.vt-play-zone .vt-table{height:auto;min-height:290px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;align-items:start;padding:12px 6px;border-radius:22px;border-width:5px;overflow:visible}
 .vt-play-zone .vt-dealer,.vt-play-zone .vt-seat{position:relative;left:auto;top:auto;transform:none;width:auto;max-width:none;min-width:0}
 .vt-play-zone .vt-dealer{grid-column:1/-1;order:0;display:flex;align-items:center;justify-content:center;gap:8px}
 .vt-play-zone .vt-seat{order:1}.vt-play-zone .vt-human{grid-column:1/-1;order:2}.vt-play-zone .vt-human .vt-seat-label{flex-direction:row;justify-content:center;gap:10px}
 .vt-play-zone .vt-table-lettering,.vt-play-zone .vt-table-mark,.vt-play-zone .vt-table::after{display:none}
 .vt-play-zone .vt-seat-hands{max-height:80px;overflow:auto}.vt-play-zone .vt-human .vt-seat-hands{display:flex;flex-direction:row;justify-content:center;max-height:110px;overflow:auto}
 .vt-play-zone .vt-seat .vt-card{width:26px;height:37px}.vt-play-zone .vt-human .vt-card{width:32px;height:45px}.vt-play-zone .vt-chip-pile{display:none}.vt-play-zone .vt-net{font-size:11px}.dealer-avatar{width:42px;height:34px;margin:0}
 .vt-play-zone .vt-table-foot{margin:5px 0 0}.vt-play-zone .vt-stats{margin:0}.vt-stats span{font-size:10px}.vt-stats strong{font-size:13px}.vt-stats{gap:5px}
 .vt-header .intro{margin-bottom:10px}.vt-header .heading{font-size:28px}
}
/* Wide screens or explicit landscape use a side control rail only where it fits. */
@media(min-width:650px) and (max-height:600px){
 .layout{grid-template-columns:1fr}.side{display:none}.mobile-nav{display:flex}.learning-dock{left:0;bottom:65px}.content{padding:12px 16px 90px}
 .vt-play-zone{grid-template-columns:minmax(0,1fr) 230px;top:0}.vt-play-zone .vt-controls{max-height:calc(100dvh - 80px)}.vt-play-zone .vt-table{height:280px;min-height:0}.vt-play-zone .vt-seat-hands{max-height:65px}.vt-play-zone .vt-table-foot{display:none}
}
@media(min-width:760px){[data-layout="portrait"] .vt-play-zone{grid-template-columns:minmax(0,1fr);max-width:760px;margin-inline:auto}[data-layout="portrait"] .vt-play-zone .vt-controls{max-height:30dvh}}
@media(min-width:650px){[data-layout="landscape"] .vt-play-zone{grid-template-columns:minmax(0,1fr) 230px}}
@media(max-width:649px){[data-layout="landscape"] .vt-play-zone{grid-template-columns:minmax(0,1fr)}}
@media(max-height:450px){.vt-play-zone{position:relative}.learning-dock{padding:6px 12px}.learning-dock span{font-size:11px}}
body.reduce-motion *,body.reduce-motion *::before,body.reduce-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.vt-play-zone .vt-controls>.vt-action-row{position:sticky;bottom:-1px;background:var(--surface);padding:8px 0;margin-bottom:0;z-index:2}
.vt-play-zone .vt-bet-row{gap:6px;flex-wrap:wrap;margin:8px 0}
.vt-play-zone .vt-chip{width:44px;height:44px;min-width:44px;font-size:12px}
.vt-play-zone .vt-controls:has([data-vegas="deal"])>h2,.vt-play-zone .vt-controls:has([data-vegas="deal"])>p{display:none}
@media(max-width:760px){.vt-header .intro{font-size:12px;line-height:1.5}.vt-header{gap:6px;margin-bottom:8px}.vt-header .heading{margin:8px 0}.vt-header .vt-back{padding:8px;min-height:44px;font-size:11px}.vt-stats{margin-bottom:8px}.vt-stats span{margin-bottom:4px}.vt-play-zone .vt-controls{max-height:32dvh}.vt-play-zone .vt-action-row button{font-size:12px;padding:10px 8px}.vt-play-zone .vt-table-settings summary{padding:7px;min-height:36px}.vt-play-zone .vt-bet-row>span{font-size:12px}}
/* Audit-backed text colours across all twelve routes. */
:root{--muted:#52665b}
[data-theme="light"] :is(.quick-desc,.footnote,.mobile-link,.overline,.bj-subtitle,.intro,.coach-blank,.setting-desc,.panel p,.settings-status,.small-note,.career-caption,.career-muted,.career-empty,.career-section-heading p,.career-data-note,.learn-label,.learn-example p,.learn-example small,.pk-rankings>p,.heading small){color:#52665b}
[data-theme="dark"] :is(.quick-desc,.footnote,.mobile-link,.overline,.coach-blank,.coach-head,.setting-desc,.panel p,.settings-status,.small-note,.career-caption,.career-muted,.inline-link,.pk-rankings>p,summary>span){color:#bdcfc3}
[data-theme="light"] :is(.drill-kicker,.academy-kicker){color:#79591c}
[data-theme="dark"] :is(.drill-kicker,.academy-kicker){color:#e3c580}
.vt-chip.vt-chip-selected{background:#79591c;color:#fff}
[data-theme="light"] .career-empty a{color:#23563e}
[data-theme="dark"] .identity{color:#bdcfc3}
[data-theme="light"] .learn-example :is(p,small),[data-theme="light"] .learn-card :is(p,small){color:#52665b}
[data-theme="dark"]{--muted:#b8cbbd}
[data-theme="dark"] .mobile-link.active{background:#284c3c;color:#f0f6ef}
.career-empty a{text-decoration:underline;text-underline-offset:3px}
/* Keep the play surface in normal flow so it never covers expanded teaching. */
.vt-play-zone{position:relative;top:auto}
@media(min-width:650px) and (max-height:600px){.pk-play-area{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:12px}.pk-controls{margin:0;max-height:75dvh;overflow:auto}.bj-main-actions{flex-wrap:wrap}.bj-main-actions button{min-height:44px}}
[data-layout="portrait"] .pk-play-area{display:block}
@media(min-width:1100px){[data-layout="landscape"] .pk-play-area{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:16px}}
/* Grid seats avoid overlapping hands when all five Bots have drawn or split. */
@media(min-width:761px){
 .vt-play-zone .vt-table{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;align-content:center;align-items:start;height:auto;min-height:440px;padding:16px 12px;border-radius:34px}
 .vt-play-zone .vt-dealer,.vt-play-zone .vt-seat{position:relative;left:auto;top:auto;transform:none;width:auto;max-width:none;min-width:0}
 .vt-play-zone .vt-dealer{grid-column:1/-1;order:0;display:flex;align-items:center;justify-content:center;gap:10px}
 .vt-play-zone .vt-seat{order:1;padding:7px 3px}.vt-play-zone .vt-human{grid-column:1/-1;order:2;width:100%}
 .vt-play-zone .vt-seat-label{flex-direction:column}.vt-play-zone .vt-human .vt-seat-label{flex-direction:row;justify-content:center;gap:12px}
 .vt-play-zone .vt-seat .vt-card{width:25px;height:35px}.vt-play-zone .vt-human .vt-card{width:36px;height:50px}
 .vt-play-zone .vt-seat-hands{max-height:110px;overflow:auto}.vt-play-zone .vt-human .vt-seat-hands{flex-direction:row;justify-content:center}
 .vt-play-zone .vt-table-lettering,.vt-play-zone .vt-table-mark,.vt-play-zone .vt-table::after{display:none}
 .vt-play-zone .vt-chip-pile{display:none}.vt-play-zone .dealer-avatar{margin:0}.vt-play-zone .vt-net{font-size:11px}
}
@media(min-width:650px) and (max-height:600px){
 .vt-play-zone .vt-table{min-height:260px;padding:8px 5px;gap:4px}.vt-play-zone .vt-seat-hands{max-height:60px}.vt-play-zone .vt-dealer .vt-card{width:28px;height:40px}.vt-play-zone .vt-seat-label{font-size:10px}.vt-play-zone .vt-human .vt-card{width:28px;height:40px}.vt-play-zone .dealer-avatar{width:40px;height:30px}
}
