/* 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}}
