/* A short dealer aside stays beside the current action, never above the viewport. */
.lesson{position:fixed;z-index:99;visibility:hidden;width:min(320px,calc(100vw - 24px));min-height:0;display:block;padding:11px 32px 12px 14px;border:0;border-left:5px solid var(--gold);border-radius:3px;background:var(--night);color:var(--paper);box-shadow:5px 6px 0 #11142960;pointer-events:none;margin:0}
.lesson .lesson-copy{min-width:0}
.lesson strong{display:block;font-size:12px;line-height:1.3;letter-spacing:1px;color:var(--gold)}.lesson p{font-size:15px;line-height:1.5;margin:4px 0 0}
.lesson .lesson-skip{position:absolute;right:5px;top:2px;display:block;margin:0;width:28px;height:30px;min-height:28px;padding:4px;font-size:22px;box-shadow:none;background:transparent;color:var(--muted);pointer-events:auto}
.tutorial-guide{position:fixed;inset:0;z-index:98;pointer-events:none}.tutorial-guide .guide-box{position:fixed;border:3px solid var(--gold);border-radius:8px;box-shadow:0 0 0 4px #17193340;animation:coach-pulse 1.2s ease-out infinite;pointer-events:none}
@keyframes coach-pulse{50%{box-shadow:0 0 0 8px #edbd3850}100%{box-shadow:0 0 0 13px #edbd3800}}
.result .result-buttons .primary{animation:coach-pulse 1.5s 3}
@media(min-width:951px) and (min-height:501px){.learning .game-room{height:calc(100svh - 58px)}}
@media(min-width:951px) and (min-height:851px){
 header.top{height:calc(58px * var(--ui-scale));min-height:calc(58px * var(--ui-scale))}header.top .wordmark{font-size:calc(31px * var(--ui-scale))}header.top nav button{font-size:calc(11px * var(--ui-scale));padding:calc(7px * var(--ui-scale)) calc(10px * var(--ui-scale))}
 .game-room,.learning .game-room{height:calc(100svh - 58px * var(--ui-scale));grid-template-columns:calc(158px * var(--ui-scale)) minmax(0,1fr);gap:calc(24px * var(--ui-scale));padding:calc(22px * var(--ui-scale)) calc(32px * var(--ui-scale)) calc(26px * var(--ui-scale));border-radius:calc(58px * var(--ui-scale)) calc(58px * var(--ui-scale)) calc(88px * var(--ui-scale)) calc(88px * var(--ui-scale))}
 .game-room .score-rail{gap:calc(12px * var(--ui-scale))}.round-plaque b{font-size:calc(34px * var(--ui-scale))}.round-plaque>span,.round-plaque small{font-size:calc(11px * var(--ui-scale))}
 .score-rail .score-box{height:calc(84px * var(--ui-scale));padding:calc(8px * var(--ui-scale))}.score-rail .table-score{height:calc(104px * var(--ui-scale))}.score-rail .bank-score{height:calc(64px * var(--ui-scale))}.score-box>small{font-size:calc(10px * var(--ui-scale))}.score-box strong{font-size:calc(43px * var(--ui-scale))}.table-score strong{font-size:calc(56px * var(--ui-scale))}.bank-score strong{font-size:calc(28px * var(--ui-scale))}
 .score-rail .target-note{font-size:calc(13px * var(--ui-scale))}.run-target>span,.reward-target small{font-size:calc(11px * var(--ui-scale))}.run-target>b{font-size:calc(28px * var(--ui-scale))}.reward-target strong{font-size:calc(40px * var(--ui-scale))}
 .game-room .casino{grid-template-rows:calc(54px * var(--ui-scale)) minmax(0,1fr) calc(98px * var(--ui-scale));gap:calc(10px * var(--ui-scale))}.casino .casino-table{--focus-dealer:calc(100px * var(--ui-scale));--focus-actions:calc(80px * var(--ui-scale));grid-template-rows:var(--focus-dealer) minmax(0,1fr) var(--focus-actions)}.casino .casino-table:has(>.settled-tray){grid-template-rows:var(--focus-dealer) auto minmax(0,1fr) var(--focus-actions)}
 .dealer-strip{padding:0 calc(40px * var(--ui-scale));gap:calc(12px * var(--ui-scale))}.preview-slot{width:calc(76px * var(--ui-scale));height:calc(86px * var(--ui-scale))}.preview-slot>svg{width:calc(56px * var(--ui-scale));height:calc(56px * var(--ui-scale))}.preview-slot>b{font-size:calc(34px * var(--ui-scale))}.preview-slot>small,.preview-slot>span{font-size:calc(10px * var(--ui-scale))}.card-back{width:calc(44px * var(--ui-scale));height:calc(63px * var(--ui-scale))}.deck-count{width:calc(82px * var(--ui-scale));height:calc(59px * var(--ui-scale))}.deck-count b{font-size:calc(39px * var(--ui-scale))}.deck-count small{font-size:calc(9px * var(--ui-scale))}
 .relic-rack .relic-token{width:calc(49px * var(--ui-scale));min-width:calc(49px * var(--ui-scale));height:calc(49px * var(--ui-scale));min-height:calc(49px * var(--ui-scale));padding:calc(4px * var(--ui-scale))}.relic-token svg{width:calc(35px * var(--ui-scale));height:calc(35px * var(--ui-scale))}.relic-charge{font-size:calc(14px * var(--ui-scale))!important}
 .table-actions .action-cluster{width:calc(490px * var(--ui-scale));gap:calc(18px * var(--ui-scale))}.table-actions .draw-action{width:calc(326px * var(--ui-scale));height:calc(57px * var(--ui-scale));font-size:calc(36px * var(--ui-scale))}.table-actions .cash-action{width:calc(125px * var(--ui-scale));height:calc(45px * var(--ui-scale));font-size:calc(11px * var(--ui-scale))}.cash-action strong{font-size:calc(25px * var(--ui-scale))}
 .casino .action-tray,.casino .action-tray:has(.empty-inspector){height:calc(98px * var(--ui-scale));max-width:calc(1160px * var(--ui-scale));padding:calc(10px * var(--ui-scale)) calc(16px * var(--ui-scale))}.inspector{grid-template-columns:calc(70px * var(--ui-scale)) calc(130px * var(--ui-scale)) minmax(0,1fr) calc(128px * var(--ui-scale));gap:calc(5px * var(--ui-scale)) calc(14px * var(--ui-scale))}.inspector>.card-rule{font-size:calc(14px * var(--ui-scale));max-height:calc(78px * var(--ui-scale))}.inspector h2{font-size:calc(20px * var(--ui-scale))}.inspector .eyebrow{font-size:calc(11px * var(--ui-scale))}.inspector>button{font-size:calc(14px * var(--ui-scale));min-height:calc(40px * var(--ui-scale))}.inspect-art svg{width:calc(60px * var(--ui-scale));height:calc(60px * var(--ui-scale))}
}
@media(max-width:600px),(max-width:950px) and (max-height:500px){.lesson{width:min(306px,calc(100vw - 24px))}.table-utilities{gap:7px}}
html[data-motion=reduced] .guide-box,html[data-motion=reduced] .result-buttons .primary{animation:none}

/* Compact character asides and a single glass in the existing collateral rack. */
.lesson[data-speaker=pan]{border-left-color:#bbaaed}.lesson[data-speaker=pan] strong{color:#c6b8f3}
.home-stakes{width:auto;margin:7px auto}.home-stakes .stakes-select{font-size:13px;min-height:32px;padding:5px 12px;box-shadow:none;background:transparent;color:var(--paper);border:1px solid var(--violet)}.stakes-select b{color:var(--gold);margin:0 7px}
.relic-rack .run-protection{display:flex;justify-content:center}
.run-protection.spent{opacity:.65}
 .target-arrow{position:fixed;inset:0;width:100vw;height:100vh;z-index:90;pointer-events:none;overflow:visible;opacity:0;fill:none}.target-arrow-shadow{stroke:var(--violet);stroke-width:11;translate:3px 3px}.target-arrow-stem{stroke:var(--gold);stroke-width:8;stroke-linecap:square}.target-arrow-tip{fill:var(--scarlet);stroke:var(--paper);stroke-width:2;stroke-linejoin:miter}
.choosing-on-table .card-row .tile:not(.targetable):not(.selected):not(.chosen-target){opacity:.43;transition:opacity .16s}.choosing-on-table .card-row .tile.targetable{outline:3px solid var(--gold);outline-offset:4px;cursor:crosshair;animation:target-breathe 1.4s ease-in-out infinite}.choosing-on-table .card-row .tile.targetable:hover{translate:0 -7px}
@keyframes target-breathe{50%{outline-offset:7px}}
.inspector.table-target-prompt{display:flex;align-items:center;justify-content:center;gap:18px;width:100%}.table-target-prompt h2{margin:0;font-size:19px}.table-target-prompt p{font-size:14px;margin:0}.table-target-prompt .choice-list:empty{display:none}.table-target-prompt>button{margin-left:10px;flex:none}.learning .table-target-prompt>p{display:none}
.pan-dialogue{position:absolute;bottom:max(28px,8vh);left:50%;translate:-50% 0;max-width:480px;width:calc(100vw - 48px);text-align:center;color:var(--paper);background:var(--night);padding:12px 18px;border-left:4px solid var(--gold);font-size:17px;line-height:1.5;pointer-events:none}.pan-dialogue b{display:block;font-size:12px;letter-spacing:2px;color:var(--gold);margin-bottom:5px}.pan-dialogue span{display:block}
.loop-stage{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;background:var(--night);color:var(--gold)}.loop-clock{width:64px;height:64px;flex:none}.loop-hand{transform-origin:50px 50px}.loop-deck{position:relative;width:90px;height:130px}.loop-card{position:absolute;inset:0;display:block}.loop-card svg{width:100%;height:100%}
@media(min-width:951px) and (min-height:851px){.lesson{width:calc(320px * var(--ui-scale));padding:calc(11px * var(--ui-scale)) calc(32px * var(--ui-scale)) calc(12px * var(--ui-scale)) calc(14px * var(--ui-scale))}.lesson strong{font-size:calc(12px * var(--ui-scale))}.lesson p{font-size:calc(15px * var(--ui-scale))}.relic-rack .run-protection{width:calc(49px * var(--ui-scale));min-width:calc(49px * var(--ui-scale));height:calc(49px * var(--ui-scale));min-height:calc(49px * var(--ui-scale))}.relic-rack .run-protection svg{width:calc(35px * var(--ui-scale));height:calc(35px * var(--ui-scale))}}
@media(max-width:600px){.lesson p{font-size:14px}.inspector.table-target-prompt{gap:8px;flex-wrap:wrap;align-content:center}.table-target-prompt h2{font-size:16px}.table-target-prompt p{font-size:12px}.table-target-prompt>button{margin:0;min-height:36px}.pan-dialogue{bottom:24px;font-size:15px}}
html[data-motion=reduced] .tile.targetable{animation:none}
.table-target-prompt>h2{color:var(--gold)}
body.choosing-on-table .casino .action-tray:has(.table-target-prompt){height:auto;min-height:0;flex:0 0 auto;background:transparent!important;padding:8px 14px;align-self:center;border:0;box-shadow:none}
body.choosing-on-table .action-tray>.inspector.table-target-prompt{height:auto;min-height:0;display:flex;align-content:center;gap:16px;padding:0}
body.choosing-on-table .inspector.table-target-prompt>.choice-list{flex:0 1 auto;height:auto;min-height:0;max-height:62px;order:0;padding:0}
body.choosing-on-table .inspector.table-target-prompt>.choice-list:empty{display:none}
body.choosing-on-table .inspector.table-target-prompt>button{margin:0;order:0;flex:none}
@media(max-width:950px){body.choosing-on-table .action-tray>.inspector.table-target-prompt{display:grid;grid-template-columns:1fr auto;gap:6px 10px}body.choosing-on-table .inspector.table-target-prompt>h2{grid-column:1;grid-row:1}body.choosing-on-table .inspector.table-target-prompt>button{grid-column:2;grid-row:1}body.choosing-on-table .inspector.table-target-prompt>p{grid-column:1/-1;grid-row:2;text-align:center}body.choosing-on-table .inspector.table-target-prompt>.choice-list{grid-column:1/-1;grid-row:3;justify-content:center;max-height:50px}}

.home-stakes{margin:12px auto}.home-stakes .stakes-select{display:flex;align-items:center;gap:13px;width:270px;min-height:57px;padding:8px 13px;background:var(--paper);color:var(--night);border:2px solid var(--paper);border-radius:3px;box-shadow:4px 5px 0 var(--night);cursor:pointer;transition:translate .12s,background .12s}.stakes-select .stake-number{display:grid;place-items:center;width:34px;height:34px;background:var(--violet);color:var(--paper);font:bold 25px Georgia;flex:none}.stakes-select .stake-label{display:grid;text-align:left;gap:2px}.stakes-select .stake-label small{font-size:10px;letter-spacing:1px}.stakes-select .stake-label b{margin:0;color:inherit;font-size:16px}.stakes-select .stake-change{margin-left:auto;font-size:11px;font-weight:800}.stakes-select .stake-change>span{font-size:22px;vertical-align:-1px}.home-stakes .stakes-select:hover{background:var(--gold);border-color:var(--gold);translate:0 -2px}.home-stakes .stakes-select:focus-visible{outline:3px solid var(--gold);outline-offset:5px}.home-stakes .stakes-select:active{translate:3px 4px;box-shadow:1px 1px 0 var(--night)}
.tile.chosen-target{outline:4px solid var(--scarlet)!important;outline-offset:5px!important;opacity:1!important;animation:none!important}
.inspector.action-confirm .card-rule p{margin:0}.selection-summary{display:block;color:var(--gold);font-size:13px;margin-top:5px}.confirm-actions{display:flex;align-items:center;gap:8px;grid-column:4;grid-row:1/4}.confirm-actions button.primary{font-size:17px;min-height:42px;padding:8px 17px}.confirm-actions button.outline{box-shadow:none;font-size:11px;padding:6px}
@media(max-width:950px){.action-tray:has(.action-confirm){height:auto!important;min-height:112px!important;flex:0 0 auto!important}.action-tray>.inspector.action-confirm{grid-template-columns:32px minmax(0,1fr) 90px;grid-template-rows:25px auto;min-height:105px;padding:8px}.action-confirm>.card-rule{grid-column:1/3;grid-row:2;max-height:68px;font-size:12px}.action-confirm>.eyebrow{grid-column:2;grid-row:1;align-self:start;font-size:9px}.action-confirm>h2{grid-column:2;grid-row:1;align-self:end;font-size:13px}.action-confirm .confirm-actions{grid-column:3;grid-row:1/3;flex-direction:column;gap:4px}.action-confirm .selection-summary{font-size:12px}}

.lesson .lesson-key{display:inline;font-weight:800;font-size:inherit;line-height:inherit;letter-spacing:inherit;color:var(--gold)}
