/* Solo Board surface only; existing Team/Demo/Progress layouts are unchanged. */
.solo-entry{display:flex;align-items:center;gap:12px;width:100%;min-height:64px;margin:12px 0;padding:16px;text-align:left;background:#102e58;color:#fff;border-radius:16px}
.solo-entry>span:nth-child(2){flex:1;min-width:0}.solo-entry strong,.solo-entry small{display:block;overflow-wrap:anywhere}.solo-entry small{margin-top:4px}
body.solo-open{overflow:hidden}
#solo-game{box-sizing:border-box;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;overflow:auto;background:#f3f6fb;color:#102e58;overscroll-behavior:contain}
#solo-game *,#solo-setup *{box-sizing:border-box;min-width:0}
#solo-game::backdrop,#solo-setup::backdrop{background:#102e58a0}
.solo-shell{width:min(1120px,100%);margin:auto;padding:24px 32px 40px}
.solo-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.solo-top h1{font-size:24px;margin:0}.solo-top small{display:block;font-size:12px;font-weight:400;margin-top:6px}
#solo-game button,#solo-setup button{min-height:48px;max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.35}
#solo-game .primary,#solo-setup .primary{background:#ffcf35;color:#102e58;border-color:#e7b41c}
.solo-scoreboard{padding:12px 16px;border:1px solid #d7e0ed;border-radius:16px;background:white;margin-bottom:18px}
.solo-scores{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px;align-items:center;text-align:center}.solo-scores strong{display:block;font-size:32px;line-height:1.15;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}#solo-avatar{font-size:24px}
.solo-round-line{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:8px;font-size:13px}#solo-status{font-size:13px;line-height:1.5;margin:8px 0 0;overflow-wrap:anywhere;animation:solo-delta .2s ease-out}
.solo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0}
#solo-game .solo-tile{position:relative;min-height:100px;border-radius:16px;background:linear-gradient(145deg,#214f8f,#102e58);color:white;border:1px solid #3869a7;box-shadow:0 4px 0 #092345;font-size:28px;font-weight:800;padding:12px;transition:transform .15s,background .15s;opacity:1}
#solo-game .solo-tile:hover:not(:disabled){transform:translateY(-3px);background:#285fa5}
#solo-game .solo-opened{box-shadow:none;background:#e2e9f3;color:#365478;border-color:#cad5e5;animation:solo-reveal .25s ease-out}
#solo-game .solo-event-tile{background:#fff1b5;color:#102e58;border-color:#ebca59}
#solo-game .solo-player-tile{background:#e0f1e6;color:#236444}
#solo-game .solo-bot-tile{background:#e8e8fa;color:#44426d}
#solo-game .solo-selected{background:#ffcf35;color:#102e58;outline:3px solid #a87700;outline-offset:2px;transform:translateY(-3px)}
.solo-dimmed{opacity:.65}
.solo-turn-view{padding:24px;border-radius:20px;background:white;border:2px solid #d5dfed;animation:solo-reveal .25s ease-out;overflow-wrap:anywhere}
.solo-turn-view h2{font-size:17px;margin:0 0 18px}.solo-prompt,.solo-answer{font-size:clamp(21px,3vw,32px);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.solo-answer{padding:16px;background:#eff6ef;border-radius:12px}
#solo-next{display:block;width:100%;margin-top:16px}#solo-event-view{text-align:center;padding:8px}#solo-event-icon{display:block;font-size:64px;animation:solo-reveal .3s ease-out}#solo-event-title{font-size:26px;margin:8px}#solo-event-deltas{font-size:20px;font-weight:700;line-height:1.6}
.solo-review-host #srs-position,.solo-review-host #srs-session-mode,.solo-review-host #srs-next,.solo-review-host #srs-exit,.solo-review-host #srs-card-actions{display:none!important}
.solo-review-host .srs-ratings{display:flex;flex-wrap:wrap;gap:8px}.solo-review-host .srs-ratings button{flex:1 1 140px}.solo-review-host p{overflow-wrap:anywhere}
.solo-result{background:#fff8d9;border:1px solid #ebca59;border-radius:20px;padding:24px;overflow-wrap:anywhere}
.solo-actions{display:flex;flex-wrap:wrap;gap:10px}.solo-actions button{flex:1 1 140px}
.solo-audio{margin-top:20px;font-size:13px}.solo-audio summary{min-height:44px;cursor:pointer;display:flex;align-items:center}.solo-audio label{display:flex;align-items:center;gap:12px;min-height:48px;flex-wrap:wrap}.solo-audio input[type=range]{width:160px;max-width:100%;min-height:44px}
.solo-setup{box-sizing:border-box;width:min(540px,calc(100% - 24px));max-width:calc(100% - 24px);max-height:calc(100dvh - 32px);overflow-y:auto;padding:24px;border:1px solid #d7e0ed;border-radius:20px;color:#102e58}
.solo-setup label{display:grid;gap:8px;margin:12px 0}.solo-setup select{width:100%;max-width:100%;min-height:48px;font-size:16px}.solo-setup p{overflow-wrap:anywhere}
#solo-game :focus-visible,#solo-setup :focus-visible,.solo-entry:focus-visible{outline:3px solid #397acf;outline-offset:3px}
@media(min-width:900px){.solo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}#solo-game .solo-tile{min-height:110px}}
@media(max-width:600px){.solo-shell{padding:16px 12px 24px}.solo-top h1{font-size:20px}.solo-top button{font-size:12px;padding:8px}.solo-scoreboard{padding:10px}.solo-scores{font-size:13px;gap:8px}.solo-scores strong{font-size:26px}#solo-avatar{font-size:20px}.solo-grid{gap:8px}#solo-game .solo-tile{min-height:68px;padding:8px;font-size:24px;border-radius:12px}.solo-turn-view{padding:14px}.solo-setup{padding:16px}.solo-result{padding:16px}.solo-result .solo-actions{display:grid;grid-template-columns:minmax(0,1fr)}}
@media(max-width:359px){.solo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@keyframes solo-reveal{from{opacity:.5;transform:scale(.97)}to{opacity:1;transform:none}}
@keyframes solo-delta{from{opacity:.4}to{opacity:1}}
@media(prefers-reduced-motion:reduce){#solo-game *,#solo-setup *{animation:none!important;transition:none!important;scroll-behavior:auto!important}#solo-game .solo-tile{transform:none!important}}
/* Final game feel: presentation scoped to Solo, no shared review styles changed. */
#solo-game [hidden]{display:none!important}
.solo-top{margin-bottom:10px}.solo-scoreboard{margin-bottom:12px;padding:8px 12px;scroll-margin-top:8px}
.solo-scores>div{position:relative}.solo-scores strong{font-size:28px}
.solo-delta-slot{display:block;min-height:20px;font-size:13px;font-weight:800}
.solo-score-delta{display:inline-block;animation:solo-score-pop .6s ease-out both}
.solo-positive{color:#216442}.solo-negative{color:#a12828}.solo-neutral{color:#425879}
#solo-round{border-radius:7px;background:#102e58;color:white;padding:5px 8px;line-height:1.3}
#solo-status{margin-top:5px;line-height:1.35}
#solo-game .solo-tile:not(.solo-opened)::after{content:'?';position:absolute;right:9px;top:5px;font-size:13px;opacity:.4;pointer-events:none}
#solo-game .solo-tile:active:not(:disabled){transform:translateY(1px);box-shadow:0 1px 0 #092345}
#solo-game .solo-selected:not(.solo-opened){animation:solo-box-pick .2s ease-out both}
.solo-turn-view{padding:14px 16px;border-radius:14px;max-height:min(62dvh,540px);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.solo-turn-view h2{margin:0 0 8px;font-size:15px}
.solo-prompt,.solo-answer{font-size:clamp(18px,2vw,24px);line-height:1.35;margin:8px 0}
.solo-answer{padding:10px}
.solo-review-host .srs-session-top{display:none}
.solo-review-host .srs-cue,.solo-review-host .srs-answer{padding:10px;margin:8px 0;border-radius:10px}
.solo-review-host .srs-cue p,.solo-review-host .srs-answer p{font-size:20px;line-height:1.35;margin:6px 0;white-space:pre-wrap;overflow-wrap:anywhere}
.solo-review-host .srs-instruction,.solo-review-host #srs-set-name{font-size:12px;margin:6px 0}
.solo-review-host .srs-ratings{margin:8px 0;gap:6px}
.solo-review-host .srs-ratings button{flex:1 1 110px}
.solo-review-host .srs-feedback{padding:8px;margin:6px 0;font-size:13px}
#solo-next{margin-top:8px}
#solo-event-view{display:grid;grid-template-columns:40px minmax(0,1fr);gap:4px 10px;text-align:left;padding:0}
#solo-event-icon{font-size:36px;grid-row:1 / 3}
#solo-event-title{font-size:21px;margin:0;align-self:center}
#solo-event-description{font-size:14px;margin:0;line-height:1.4}
#solo-event-deltas{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0 0;font-size:16px;line-height:1.4}
.solo-event-score{display:block;padding:8px;background:#f1f4f9;border-radius:8px;overflow-wrap:anywhere}
#solo-event-view.solo-event-strong{border-left:4px solid #edb815;padding-left:10px}
.solo-event-strong #solo-event-icon{animation:solo-impact .4s ease-out}
.solo-answer-result{margin:8px 0;padding:10px;border-radius:10px;font-size:18px;font-weight:800;line-height:1.4;animation:solo-reveal .25s ease-out}
.solo-rating-good{background:#e0f1e6;color:#216442}.solo-rating-hint{background:#fff1b5;color:#6c5006}.solo-rating-again{background:#fbe4e2;color:#a12828}
.solo-thinking{font-weight:700;margin:8px 0;color:#485b81}
@media(max-width:600px){.solo-top{gap:8px}.solo-top small{margin-top:3px}.solo-scores strong{font-size:24px}.solo-turn-view{padding:10px;max-height:65dvh}.solo-grid{margin:12px 0}.solo-event-score{padding:6px;font-size:14px}.solo-review-host .srs-actions{display:flex;flex-wrap:wrap;gap:6px}.solo-review-host .srs-actions button{flex:1 1 120px}.solo-review-host .srs-cue p,.solo-review-host .srs-answer p{font-size:18px}}
@keyframes solo-score-pop{0%{opacity:0;transform:translateY(6px)}25%,80%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-6px)}}
@keyframes solo-box-pick{from{transform:scale(.97)}to{transform:scale(1.03)}}
@keyframes solo-impact{from{transform:scale(.8)}60%{transform:scale(1.15)}to{transform:none}}
@media(prefers-reduced-motion:reduce){#solo-game .solo-score-delta{opacity:1;transform:none}}
