/* v47 preserves the established arcade materials and scopes phone changes. */
.locker-mobile-category {display:none;}
.practice-situation {display:flex;align-items:center;gap:10px;grid-column:1/-1;}
.practice-situation label {font:700 13px/1 var(--ui-display);color:var(--cream);}
.practice-situation select {width:min(480px,100%);height:39px;padding:5px 10px;font-size:15px;}
.practice-call {padding:3px 5px;background:#f9cc5c;color:#342512;font-size:10px;border-radius:4px;}
.practice-phase {text-align:center;font-size:14px;line-height:1.4;}
.practice-phase p {margin:5px 0;}
.guide-pile-demo {display:flex;justify-content:center;gap:40px;margin:22px 0;}
.guide-pile-demo>div {display:flex;flex-direction:column;gap:12px;align-items:center;}
.guide-pile-demo strong {font-size:14px;}
.guide-pile-demo .practice-back {display:block;width:55px;height:77px;}
.guide-practice-controls .practice-choices {display:flex;justify-content:center;gap:10px;}
.practice-move-caption {min-height:27px;}
@media(min-width:761px){
 .practice-caption {grid-row:2;}
 .practice-table {grid-row:3;}
 .practice-coach {grid-row:3;}
 /* A portrait desktop path fills the frame; the locker keeps its wide room. */
 #screen-progress:has(#progressPathView:not(.hidden)) .progress-stage-v12 {width:min(900px,96vw);}
 #screen-progress:has(#progressPathView:not(.hidden)) .progress-header-v12 {grid-template-columns:45px minmax(0,1fr) minmax(210px,280px);gap:12px;}
 #screen-progress:has(#progressPathView:not(.hidden)) .progress-title-v12 h2 {font-size:34px;}
 #screen-progress:has(#progressPathView:not(.hidden)) .progress-title-v12 span {font-size:11px;}
 #screen-progress:has(#progressPathView:not(.hidden)) .progress-back-v12 {width:44px;height:44px;}
 #screen-progress:has(#progressPathView:not(.hidden)) .progress-next-copy {font-size:20px;line-height:1.2;}
 #screen-progress:has(#progressPathView:not(.hidden)) .progress-profile-v12 {padding:8px;grid-template-columns:44px 1fr;gap:9px;}
 #screen-progress:has(#progressPathView:not(.hidden)) .progress-avatar-v12 {width:42px;height:42px;}
 #progressTrack .founder-map {width:100%;}
}
/* A single turn outline, with partner identity carried by the label. */
#playerRail .pchip.is-teammate,#playerRail .pchip.is-partner {box-shadow:none!important;border-color:var(--chrome-border-strong)!important;}
#playerRail .pchip.is-turn,#playerRail .pchip.is-partner.is-turn {border-color:var(--gold)!important;box-shadow:0 0 0 1px #e7b83e44!important;}
#playerRail .pchip .pchip-role {background:transparent!important;border:0!important;border-radius:0;padding:0!important;color:#b9ddca;font-weight:700;}
body.light #playerRail .pchip .pchip-role {color:#245b49;}
body.light #playerRail .pchip.is-turn {border-color:#e5a900!important;}
/* Fresh light chrome: colorful fills and dark readable type. */
body.light {
 --gold:#ffd036;--gold-hot:#ffcc28;--gold-dark:#bc7914;--gold-ink:#88520b;
 --ink:#fff9ec;--cream:#322b27;--panel:#fffaf0;--panel-light:#fffefa;--panel-edge:#cbbda3;
 --chrome-surface:#fffaf0;--chrome-raised:#fffefa;--chrome-raised-2:#fff7e4;
 --chrome-button:#fff1d2;--chrome-button-hi:#fffdf7;--chrome-border:#bda9894a;--chrome-border-strong:#b8a183;
 --chrome-well:#f2dcb52b;--chrome-muted:#675949;--chrome-shadow:#7955331c;--chrome-icon:#fff4d7;
 --ui-secondary:#fff4da;--ui-secondary-hi:#fffefa;--ui-secondary-edge:#b8a183;--ui-utility:#fff7e8;--ui-cream:#322b27;
}
body.light .crt-overlay {opacity:.25;}
body.light :is(.btn-primary,.btn-gold,.title-menu-primary) {background:linear-gradient(#ffe570,#ffc62c)!important;color:#30220c!important;border-color:#ae741b!important;box-shadow:0 5px 0 #bf7c18,inset 0 2px #fff4bd!important;text-shadow:none!important;}
body.light :is(.settings-tabs-v12 button.active,.progress-tabs-v12 button.active,.seg button.active,.game-choice.active,.help-game-tabs button.active,.progress-collection-card.active) {background:linear-gradient(#ffe986,#ffd33f)!important;color:#3e2b0d!important;border-color:#bd881c!important;box-shadow:0 3px 0 #bd8b29,inset 0 1px #fff7c6!important;}
body.light .progress-next-label {background:#ffd33e!important;color:#3a2709!important;}
body.light .progress-earn-v12>span {background:#fff1be!important;border-color:#d7b75d80!important;color:#4c3819!important;}
body.light .progress-earn-v12>span>span {background:transparent!important;border:0!important;color:inherit!important;padding:0!important;}
body.light .progress-earn-v12 b {color:#86500b!important;}
body.light :is(.cosmetic-preview-stage,.cosmetic-character-card,.cosmetic-character-reactions,.cosmetic-preview-rail,.cosmetic-stage-inner) {background:var(--chrome-raised-2)!important;border-color:var(--chrome-border)!important;box-shadow:none!important;}
body.light .cosmetic-character-card :is(strong,small,span),body.light .cosmetic-preview-meta,body.light #cosmeticPreviewMeta {color:var(--cream)!important;}
body.light .cosmetic-character-card small {color:var(--chrome-muted)!important;}
body.light .founder-next-preview {background:#fff8e9!important;color:#80500d!important;border-color:#c9a85d80!important;}
body.light :is(.practice-coach,.practice-situation select) {background:var(--chrome-raised)!important;color:var(--cream)!important;border-color:var(--chrome-border-strong)!important;}
body.light .practice-coach h3 {color:#81500d!important;}
body.light .guide-mode-tabs button.active {color:#764908!important;border-bottom-color:#d29a17!important;}
/* Phone layouts give each task its own space without changing desktop. */
@media(max-width:760px){
 body #feltBg,.practice-table,.practice-hand-dock {background-size:cover!important;}
 body .cosmetic-table-preview,body .locker-table-preview {background-size:cover!important;}
 #screen-start .title-main-menu {width:auto!important;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));}
 #screen-start .title-menu-button {display:grid;grid-template-columns:30px minmax(0,1fr);gap:9px;min-height:64px;padding:9px!important;font-size:clamp(15px,4.4vw,19px)!important;line-height:1.15;}
 #screen-start .title-menu-button>img {position:static!important;transform:none!important;width:30px!important;height:30px!important;}
 #screen-start .title-menu-button>span {min-width:0;white-space:normal;overflow-wrap:normal;}
 #screen-start .title-menu-button::before {display:none;}
 #screen-start #homeLevelBadge {display:none;}
 #screen-start .title-menu-primary {grid-column:1/-1;grid-template-columns:35px 1fr;min-height:73px;font-size:29px!important;}
 #screen-start .title-main-menu .title-resume {font-size:16px;}
 body[data-game="kounga"] .action-bar {grid-template-columns:none!important;grid-auto-flow:column!important;grid-auto-columns:minmax(0,1fr)!important;gap:5px!important;}
 body[data-game="kounga"] .action-bar .btn {width:100%;min-width:0!important;padding-inline:3px!important;}
 #progressLockerView .progress-collection-grid-v12,#progressLockerView .progress-locker-tabs-v12 {display:none!important;}
 #progressLockerView .locker-top-v12 {padding:7px 2px 11px!important;align-items:center;}
 #progressLockerView .locker-top-v12 :is(p,.locker-kicker-v12) {display:none;}
 #progressLockerView .locker-top-v12 h3 {font-size:24px!important;}
 .locker-mobile-category {display:flex;align-items:center;gap:12px;margin:0 0 16px;font-size:13px;}
 .locker-mobile-category select {min-width:0;flex:1;height:44px;padding:6px 10px;font-size:16px;}
 #progressLockerView .progress-locker-grid-v12 {gap:12px!important;padding:0 1px 16px!important;}
 #progressLockerView .progress-locker-item {min-height:150px!important;padding:13px 8px!important;gap:10px!important;border-radius:10px;}
 #progressLockerView .progress-locker-item .progress-reward-icon {width:64px!important;height:64px!important;flex-basis:64px!important;}
 #progressLockerView .progress-locker-name {font-size:17px!important;}
 #progressLockerView .progress-locker-state {font-size:11px!important;}
 /* Coach and miniature table stay together; only long coach text scrolls. */
 #modal-help .help-modal-v29[data-guide-view="practice"] {height:calc(100dvh - 12px)!important;max-height:calc(100dvh - 12px)!important;gap:7px;padding:11px!important;}
 #modal-help .help-modal-v29[data-guide-view="practice"] .help-head-v29 h2 {font-size:24px;}
 #modal-help .help-modal-v29[data-guide-view="practice"] .help-scroll {display:flex;overflow:hidden;min-height:0;}
 #modal-help .help-modal-v29[data-guide-view="practice"] #partnershipGuide {display:flex;min-height:0;width:100%;}
 .practice-window {height:100%;width:100%;min-height:0;display:flex;flex-direction:column;gap:7px;}
 .practice-situation {order:0;gap:7px;flex:0 0 auto;}
 .practice-situation label {font-size:11px;}
 .practice-situation select {height:33px;font-size:13px;padding:4px 7px;}
 .practice-caption {order:1;margin:0;flex:0 0 auto;}
 .practice-caption strong {display:none;}
 .practice-caption>span {font-size:10px;line-height:1.2;text-align:left;max-width:none;}
 .practice-coach {order:2;grid-template-columns:25px 1fr;gap:7px;margin:0;padding:8px;flex:0 0 auto;max-height:clamp(105px,19dvh,162px);overflow:auto;overscroll-behavior:contain;}
 .practice-coach>span svg {width:25px;height:25px;}
 #partnershipGuide .practice-coach h3 {font-size:16px;line-height:1.15;margin:0 0 5px;}
 .practice-coach p {font-size:13px;line-height:1.35;margin:0;}
 .practice-table {order:3;flex:1 1 auto;min-height:130px;padding:6px!important;gap:5px!important;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto minmax(60px,1fr);overflow:auto;border-radius:10px;}
 .practice-seat-3 {grid-column:1;grid-row:1;}
 .practice-seat-2 {grid-column:2;grid-row:1;}
 .practice-seat-1 {grid-column:3;grid-row:1;}
 .practice-seat {padding:3px 1px;gap:4px;}
 .practice-name {font-size:9px;line-height:1.1;gap:3px;flex-wrap:wrap;justify-content:center;}
 .practice-name svg {width:17px;height:17px;}
 .practice-name>span {font-size:9px;}
 .practice-hand {padding-left:13px;}
 .practice-seat:not(.practice-seat-0) .guide-card.card {width:26px!important;height:37px!important;flex-basis:26px;margin-left:-17px!important;--card-w:26px;--card-h:37px;}
 .practice-center {grid-column:1/-1;grid-row:2;min-height:60px;gap:5px;font-size:11px;}
 .practice-center .guide-card.card,.practice-piles .practice-back {width:32px!important;height:45px!important;flex-basis:32px;--card-w:32px;--card-h:45px;}
 .practice-center .guide-hand .guide-card.card {margin-left:-8px;}
 .practice-center .guide-hand {gap:0;}
 .practice-trick,.practice-piles {gap:7px;}
 .practice-trick small,.practice-piles>div>span {font-size:9px;}
 .practice-move-caption {font-size:11px;min-height:22px;padding:4px 7px;}
 .practice-result {font-size:11px;padding:5px;gap:8px;margin:0;}
 .practice-out {font-size:10px;padding:5px;}
 .practice-phase {font-size:12px;}
 .guide-practice-controls {padding-top:6px;}
 .practice-hand-dock {padding:3px;margin-bottom:6px;}
 .practice-hand-dock .practice-seat-0 {gap:3px;padding:2px;}
 .practice-hand-dock .practice-hand .guide-card.card {width:34px!important;height:48px!important;flex-basis:34px;margin-left:-16px!important;--card-w:34px;--card-h:48px;}
 .guide-practice-controls .practice-choices {margin-bottom:7px;}
 .guide-practice-controls .practice-choices .btn {font-size:13px;min-height:35px;padding:6px 9px;}
 .guide-practice-controls .guide-pager .btn {font-size:12px;min-height:29px;padding:4px 9px;}
}
@media(max-width:360px){
 #screen-start .title-menu-button {gap:6px;font-size:15px!important;}
 .practice-seat:not(.practice-seat-0) .guide-card.card {width:23px!important;height:33px!important;flex-basis:23px;margin-left:-17px!important;--card-w:23px;--card-h:33px;}
 .practice-hand-dock .practice-hand .guide-card.card {width:31px!important;height:44px!important;flex-basis:31px;margin-left:-16px!important;--card-w:31px;--card-h:44px;}
}

.hero-effect-sprite {background-image:url('../assets/art/hero-magic-0-v47.webp');background-size:100% 100%;}
#screen-lobby-host>.cabinet {display:flex!important;flex-direction:column;align-items:stretch;gap:15px;}
.room-columns {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px;align-items:start;}
.room-invitation,.room-options {display:flex;flex-direction:column;gap:13px;min-width:0;}
#screen-lobby-host .room-invitation>* {margin:0!important;}
#screen-lobby-host .room-invitation .room-code {padding:20px 12px;font-size:50px;}
#screen-lobby-host .room-options .setup-row,#screen-lobby-host .room-options .toggle-row {margin:0!important;min-height:48px;padding:7px 0!important;}
#screen-lobby-host .room-options .menu-buttons {display:flex;flex-direction:column;gap:12px;margin:14px 0 0;}
#screen-lobby-host .room-invitation #seatList {margin-top:9px!important;}
body.light .seat {background:#fff5dc!important;border-color:#c9b494!important;color:#3f3426!important;}
body.light .seat-name,body.light .seat .seat-tag {color:#51422e!important;}
@media(max-width:760px){
 #screen-start #btnHomeOptions {grid-column:auto!important;}
 .room-columns {grid-template-columns:1fr;gap:24px;}
 #screen-lobby-host .room-options {gap:10px;}
 #modal-help .help-modal-v29[data-guide-view="practice"] .help-head-v29 h2 {font-size:24px!important;line-height:1.1!important;}
 .practice-situation select {font-size:13px!important;min-height:33px!important;height:33px!important;line-height:1.2!important;padding:4px 6px!important;}
 .practice-seat-2 {width:100%!important;justify-self:stretch;}
 .practice-caption>span {font-size:10px!important;}
}
@media(max-width:360px){
 #modal-help .help-modal-v29[data-guide-view="practice"] .help-head-v29 h2 {font-size:20px!important;}
 .practice-coach {max-height:105px;}
}
@media(max-width:760px){
 .practice-window {gap:5px;margin:0;}
 .practice-situation select {margin:0!important;}
 .practice-name {display:grid;grid-template-columns:16px minmax(0,1fr) auto;width:100%;gap:2px;}
 .practice-name strong {overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
 .practice-name .practice-call {grid-column:1/-1;}
 .practice-seat {min-width:0;}
 .guide-practice-controls .practice-choices .btn {font-size:14px!important;line-height:1.15!important;padding:7px 10px!important;min-height:36px!important;}
 .guide-practice-controls .guide-pager .btn {font-size:13px!important;line-height:1.1!important;padding:6px 9px!important;min-height:31px!important;}
 .practice-hand-dock .practice-name {display:flex;justify-content:center;}
 .locker-mobile-category select {margin:0!important;font-size:16px!important;height:44px!important;min-height:44px!important;}
}
@media(max-width:760px){
 .practice-coach {flex:0 1 auto;min-height:70px;}
 .practice-table {min-height:145px;}
}
@media(max-width:760px) and (max-height:700px){
 #modal-help .help-modal-v29[data-guide-view="practice"] .help-game-tabs {display:none!important;}
}
body.light :is(#progressLevel,#homeLevelText,.cosmetic-preview-kicker,.guide-goal) {color:var(--gold-ink)!important;}
body.light .progress-done-v12>img {filter:brightness(.3)!important;}
#screen-lobby-host .room-options .setup-row,#screen-lobby-host .room-options .toggle-row {display:flex!important;justify-content:space-between!important;gap:16px;width:100%;}
#screen-lobby-host .room-options .setup-label,#screen-lobby-host .room-options .toggle-row>span {min-width:0;flex:1 1 auto;}
#screen-lobby-host .room-options .seg,#screen-lobby-host .room-options .switch {flex:0 0 auto;}
@media(max-width:760px){.practice-result span{padding:4px 6px;font-size:11px;}}
@media(max-width:760px){.practice-situation select{font-size:16px!important;height:36px!important;min-height:36px!important;}}
.practice-situation select {min-width:0;flex:1 1 auto;}
/* WebKit exposes native option ink in scroll extents beyond a sized select. */
.practice-situation {min-width:0;overflow:hidden;}
body.light :is(.guide-chapters button b,.guide-pager>span,.practice-caption strong,#progressCollectionCount) {color:var(--gold-ink)!important;}

#screen-lobby-host .room-options .setup-label,#screen-lobby-host .room-options .toggle-row>span {font-size:17px;line-height:1.25;}
body.light .title-logo-v12 {color:#ffd43d!important;-webkit-text-stroke:1px #643b2a;text-shadow:0 3px 0 #b86e23,0 6px 0 #6e2d39!important;}
