/* Crosslink 29: sunny, readable visual system. All changes are presentation-only. */
:root{--cl-bg:#fff9ee;--cl-panel:#ffffff;--cl-border:#d9e2ef;--cl-muted:#46556d;--cl-accent:#ffcf32}
body{background:radial-gradient(circle at 5% 12%,#ffecd0 0,transparent 37%),radial-gradient(circle at 90% 10%,#c7f5ec 0,transparent 37%),linear-gradient(150deg,#fff9ec,#eef7ff 70%,#fceafa)!important;color:#26314c!important}
body,button,input,select,textarea,.modal-card,.help-card,.game-result-panel,#rollToStartOverlay{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
body:not(.board-view) .app{max-width:1080px;padding-top:20px}
.cl-header{border-bottom:0;gap:16px}
.cl-brand img{filter:drop-shadow(0 9px 14px rgba(36,60,100,.12))!important}
.cl-nav{background:#fff;border:1px solid #d7e5f1;border-radius:20px;padding:6px;box-shadow:0 5px 18px #355e8718}
.cl-nav button{color:#3d526d;border-radius:14px;font-weight:800}
.cl-nav button:hover{background:#e8f6ff;color:#163e70}
.cl-nav button[aria-current=page]{background:#1675cf!important;color:#fff!important;border-color:#1675cf!important;box-shadow:0 3px 9px #1865a533}
.cl-page h1{color:#192b48!important;font-size:clamp(26px,4vw,35px)}
.page-intro,.cl-page .quick-play-meta,.cl-page .dev-room p{color:#415673!important}
.cl-page .quick-play{background:linear-gradient(120deg,#fff2b5,#ffdc70)!important;border:2px solid #f1bd41!important;box-shadow:0 9px 25px #a88b4028!important}
.cl-page .quick-play-title{color:#322610!important;font-size:22px}
.cl-page .quick-play-meta{color:#604d28!important}
.cl-page button.primary,.cl-page #quickPlayBtn{background:#ffce31!important;color:#322104!important;border:2px solid #f5b92a!important;box-shadow:0 4px 0 #c99011!important}
.cl-page button:hover:not(:disabled){filter:brightness(1.04);transform:translateY(-1px)}
.cl-page .setup-collapse,#view-settings .piece-settings,#view-online .dev-room,.help-card,.local-stats{background:#fff!important;border:1px solid #d9e4f1!important;box-shadow:0 7px 26px #3c57831a!important;color:#26314c!important}
.cl-page .setup-summary,.cl-page .setup-summary-label,#view-settings .piece-settings>strong,#view-settings .audio-title,.help-card h2{color:#213653!important}
.cl-page .setup-summary-hint,.cl-page .control-block>label,#view-settings .audio-volume-label,.help-card p,.local-stats summary{color:#485e79!important}
.cl-page .player-choice-card{background:#f2f8ff!important;border-color:#cbdcec!important;color:#24334f!important}
.cl-page .bot-toggle,.cl-page .side-tag,.cl-page .move-hint{color:#465975!important}
.cl-page .player-name-input,.cl-page select,#view-online .dev-room input,#view-online .dev-room select{background:#fff!important;color:#1f334d!important;border:2px solid #c9d9e8!important}
.cl-page .side-chip:not(.selected){background:#e5f0fc!important;color:#244360!important;border:1px solid #bfd2e6!important}
.cl-page .control-block{color:#243650!important}
#view-settings .toggle-card,.local-stats .profile-bar{background:#edf8ff!important;border:1px solid #c8dceb!important;color:#273c5b!important}
#view-online .dev-room button,.menu-game-actions button,.help-more button,.help-more a,.help-card button{background:#e5f3ff!important;color:#20436b!important;border:1px solid #aed0ea!important;font-weight:750}
#view-online .dev-room button:hover,.menu-game-actions button:hover,.help-more button:hover{background:#ceeaff!important}
.cl-footer{color:#4e6178;border-top-color:#d4e2ee}
/* Instruction popup: always dark ink on opaque white, independently of menu and board theme. */
#howModal{z-index:13050!important}
#howModal .modal-card{background:#fffdf8!important;color:#24324b!important;border:2px solid #e8d8af!important;box-shadow:0 20px 70px #14294455!important;max-width:720px;max-height:min(88dvh,850px);overflow:auto}
#howModal .modal-card h2,#howModal .modal-card h3,#howModal .modal-card strong{color:#152d52!important;opacity:1!important}
#howModal .modal-card p,#howModal .modal-card li,#howModal .modal-card ul,#howModal .modal-card div,#howModal .modal-card span{color:#263951!important;opacity:1!important}
#howModal .how-card{background:#edf6ff!important;color:#24324b!important;border:1px solid #cfdfef!important}
#howModal .how-tab{background:#e5f2ff!important;color:#244969!important;border:1px solid #bbd7ef!important}
#howModal .how-tab.active{background:#146ac5!important;color:white!important}
#howModal #closeHow{background:#ffce31!important;color:#33230a!important;min-height:46px}
/* Legacy instruction boxes can remain light without inheriting white labels. */
.how-card,.how-card p,.how-card li,.how-card h3{color:#253651!important}
/* Happy, balanced board-side controls. Do not modify canvas artwork or gameplay positioning. */
body.board-view{background:linear-gradient(130deg,#e9f6ff,#fff3c9 54%,#f5ebff)!important}
body.board-view .board-wrap{background:linear-gradient(135deg,#dcefff,#fff6d9)!important}
body.board-view .playbar,body.board-view:not(.classic-mode):not(.pawn-status-hidden) .playbar{background:#fffdfa!important;border:2px solid #bfd9ec!important;box-shadow:0 9px 30px #2d54762e!important;color:#243650!important}
body.board-view .playbar .placement-hint{color:#36516d!important}
body.board-view .board-view-tools button{background:#fff!important;color:#224064!important;border:2px solid #c3d9e9!important;box-shadow:0 4px 12px #375b7a20!important}
body.board-view .board-options-panel{background:#fffef9!important;color:#253854!important;border:2px solid #c4dbea!important}
body.board-view .board-options-panel label,body.board-view .board-options-panel summary{color:#243650!important}
body.board-view .cl-option-actions button,body.board-view .cl-options-close{background:#e3f3ff!important;color:#234465!important;border-color:#b8d4e7!important}
.game-result-panel{background:#fffdfa!important;color:#24324b!important;border:3px solid #ffdc69!important;box-shadow:0 24px 90px #344d6866!important}
.game-result-panel h2{color:#193d6d!important}.game-result-panel p{color:#496079!important}
.game-result-panel button:not(.primary){background:#e4f3ff!important;color:#234b70!important;border-color:#b6d2e5!important}
/* Some older overlays have light backgrounds: keep foreground readable. */
.modal-card{color:#25344f!important}.modal-card h2{color:#193454}
@media(max-width:600px){body:not(.board-view) .app{padding:14px 12px 26px}.cl-nav{padding:4px;border-radius:13px}.cl-nav button{font-size:13px;padding:10px 3px}.cl-page .quick-play{padding:16px!important}.cl-page .quick-play-title{font-size:19px}#howModal .modal-card{padding:18px!important}}
@media(prefers-reduced-motion:reduce){.cl-page button:hover:not(:disabled){transform:none}}

/* Version 35: warm ivory opening roll-off, colourful rows, glossy CTA and smoother text. */
body.board-view #rollToStartOverlay{background:linear-gradient(160deg,#fffdf7 0%,#fff7e6 56%,#fff1d0 100%)!important;color:#2f2a34!important;border:3px solid #f0c85a!important;box-shadow:0 24px 64px rgba(79,62,24,.28),0 0 0 6px rgba(255,255,255,.75)!important;border-radius:28px!important;padding:24px!important;min-width:min(390px,calc(100vw - 28px));max-width:min(560px,calc(100vw - 28px))}
body.board-view #rollToStartOverlay .rts-title{color:#4c2f5f!important;font-size:clamp(24px,3.5vw,32px)!important;font-weight:900!important;letter-spacing:.01em!important;text-shadow:0 1px 0 rgba(255,255,255,.75)!important}
body.board-view #rollToStartOverlay .rts-sub{color:#5f556a!important;font-weight:700!important;opacity:1!important}
body.board-view #rollToStartOverlay .rts-list{gap:8px!important}
body.board-view #rollToStartOverlay .rts-row{background:linear-gradient(135deg,color-mix(in srgb,var(--rts,#8ac6ff) 16%,#fffdf8),color-mix(in srgb,var(--rts,#8ac6ff) 7%,#fff2d8))!important;color:#2f2736!important;border:2px solid color-mix(in srgb,var(--rts,#8ac6ff) 52%,#ead6a5)!important;border-radius:16px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 6px 14px rgba(78,67,43,.10)!important;font-size:clamp(14px,2vw,17px)!important}
body.board-view #rollToStartOverlay .rts-row.pending{opacity:1!important;filter:saturate(.92)!important}
body.board-view #rollToStartOverlay .rts-row.active{background:linear-gradient(135deg,color-mix(in srgb,var(--rts,#ffce31) 22%,#fffef8),color-mix(in srgb,var(--rts,#ffce31) 12%,#fff1c8))!important;border-color:color-mix(in srgb,var(--rts,#ffce31) 70%,#d79c17)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--rts,#ffce31) 28%,transparent),inset 0 1px 0 rgba(255,255,255,.9),0 7px 16px rgba(78,67,43,.14)!important}
body.board-view #rollToStartOverlay .rts-row.tied{background:linear-gradient(135deg,#fff6d8,#ffe7b0)!important;border-color:#f2a63a!important}
body.board-view #rollToStartOverlay .rts-row.win{background:linear-gradient(130deg,color-mix(in srgb,var(--rts,#ffca31) 24%,#fffefa),color-mix(in srgb,var(--rts,#ffca31) 14%,#fff0c2))!important;border-color:color-mix(in srgb,var(--rts,#ffca31) 70%,#d48f10)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--rts,#ffca31) 22%,transparent),inset 0 1px 0 rgba(255,255,255,.92),0 9px 18px rgba(78,67,43,.18)!important}
body.board-view #rollToStartOverlay .rts-name,body.board-view #rollToStartOverlay .rts-dice,body.board-view #rollToStartOverlay .rts-dice.rolling,body.board-view #rollToStartOverlay .rts-total{color:#2d2438!important}
body.board-view #rollToStartOverlay .rts-dice.rolling{font-style:normal!important;opacity:.88!important}
body.board-view #rollToStartOverlay .rts-message{color:#4b3f57!important}
body.board-view #rollToStartOverlay .rts-message.winner{color:#6f3b00!important;text-shadow:none!important}
body.board-view #rollToStartOverlay .rts-message.tie{color:#975000!important}
body.board-view #rollToStartOverlay .rts-roll button{background:linear-gradient(180deg,#fff9b9 0%,#ffe05d 46%,#f7c52d 74%,#e6ab12 100%)!important;color:#59380a!important;border:2px solid #dfab19!important;border-radius:16px!important;font-weight:900!important;text-shadow:0 1px 0 rgba(255,248,194,.95)!important;box-shadow:inset 0 2px 0 rgba(255,255,255,.78),inset 0 -3px 0 rgba(163,103,0,.18),0 8px 18px rgba(214,157,18,.35)!important}
body.board-view #rollToStartOverlay .rts-roll button:hover:not(:disabled){filter:brightness(1.03)!important;transform:translateY(-1px)!important}
body.board-view #rollToStartOverlay .rts-roll button:disabled{background:linear-gradient(180deg,#f3f0e7,#ddd6c8)!important;color:#6d665f!important;border-color:#d2c9ba!important;text-shadow:none!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.72)!important}
body.board-view #rollToStartOverlay .rts-actions button{background:linear-gradient(180deg,#fffaf2,#efe4d4)!important;color:#5a4a60!important;border:2px solid #d9c7b1!important;border-radius:13px!important;font-weight:800!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.82),0 4px 10px rgba(85,67,36,.08)!important}
body.board-view #rollToStartOverlay .rts-actions button:hover{background:linear-gradient(180deg,#ffffff,#f5ead8)!important}
@media(max-width:600px){body.board-view #rollToStartOverlay{padding:18px!important;min-width:min(340px,calc(100vw - 18px))}body.board-view #rollToStartOverlay .rts-row{padding:10px 9px!important}body.board-view #rollToStartOverlay .rts-actions button{min-height:42px!important}}
/* v36: keep online room actions reachable on narrow screens. */
#view-online .dev-room .dev-actions{display:flex;flex-wrap:wrap;gap:8px;max-width:100%;align-items:stretch}
#view-online .dev-room .dev-actions button{flex:1 1 150px;min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;margin:0}
@media(max-width:600px){#view-online .dev-room .dev-actions button{flex-basis:100%;text-align:center}}

.cl-nav .cl-account-link{display:inline-flex;align-items:center;justify-content:center;padding:10px 15px;color:#224569;font-weight:800;text-decoration:none;border-radius:12px}.cl-nav .cl-account-link:hover{background:#e8f6ff}

/* V93: legible online room inside the pale in-game Options panel.
   Limit to the in-game panel; the standalone Online page is unchanged. */
body.board-view .board-options-panel .dev-room,
body.board-view .board-options-panel .dev-room.dev-room-open,
body.board-view .board-options-panel .dev-room:not(.dev-room-open){
  width:100%!important;max-width:100%!important;min-width:0!important;
  margin:10px 0 0!important;padding:12px!important;box-sizing:border-box!important;
  background:#f1f7ff!important;color:#213b59!important;
  border:1px solid #bed7ed!important;border-radius:12px!important;
  overflow:visible!important;box-shadow:none!important;
  font:500 13px/1.5 system-ui,sans-serif!important;
}
body.board-view .board-options-panel .dev-room details,
body.board-view .board-options-panel .dev-room #devConnected,
body.board-view .board-options-panel .dev-room #devEntry{
  width:100%;min-width:0;max-width:100%;box-sizing:border-box;
}
body.board-view .board-options-panel .dev-room summary{
  color:#174c7e!important;font-size:14px!important;font-weight:800!important;
  line-height:1.4!important;overflow-wrap:anywhere;
}
body.board-view .board-options-panel .dev-room p,
body.board-view .board-options-panel .dev-room #devRoomStatus,
body.board-view .board-options-panel .dev-room #devSeats,
body.board-view .board-options-panel .dev-room #devBotFeedback{
  color:#334c66!important;opacity:1!important;overflow-wrap:anywhere;
}
body.board-view .board-options-panel .dev-room #devRoomTitle{
  display:block;color:#153d69!important;font-size:13px;line-height:1.55;
  margin:8px 0;font-weight:800;overflow-wrap:anywhere;word-break:normal;
}
body.board-view .board-options-panel .dev-room #devSeats{
  margin:8px 0 12px;padding-left:24px;max-width:100%;box-sizing:border-box;
}
body.board-view .board-options-panel .dev-room #devSeats li{padding:2px 0;overflow-wrap:anywhere}
body.board-view .board-options-panel .dev-room .dev-actions{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px!important;width:100%;max-width:100%;min-width:0;
  align-items:stretch;
}
body.board-view .board-options-panel .dev-room .dev-actions button,
body.board-view .board-options-panel .dev-room #devEntry button{
  min-width:0!important;width:100%;max-width:100%!important;
  margin:0!important;padding:10px 8px!important;
  box-sizing:border-box!important;white-space:normal!important;
  overflow-wrap:anywhere!important;line-height:1.35!important;
  min-height:42px;background:#dcefff!important;color:#16446c!important;
  border:1px solid #aacce7!important;border-radius:9px!important;
  font-weight:750!important;font-size:12px!important;
}
body.board-view .board-options-panel .dev-room .dev-actions button:disabled{opacity:.55}
body.board-view .board-options-panel .dev-room .dev-actions #devLeave{
  grid-column:1/-1;background:#fff1e7!important;color:#773b24!important;
  border-color:#eac5ac!important;
}
body.board-view .board-options-panel .dev-room #devBotFeedback{grid-column:1/-1;min-width:0}
body.board-view .board-options-panel .dev-room input,
body.board-view .board-options-panel .dev-room select{
  width:100%;max-width:100%;box-sizing:border-box;
  background:white!important;color:#1c3552!important;border:1px solid #b9d3e9!important;
}
@media(max-width:440px){
  body.board-view .board-options-panel .dev-room .dev-actions{grid-template-columns:1fr}
  body.board-view .board-options-panel .dev-room .dev-actions #devLeave{grid-column:auto}
}

/* V94: no update widgets or notices inside Game options. */
#crosslinkUpdateSettings{display:none!important}
#boardNewGameBtn{display:none!important}
