.game.expert { padding: 24px 16px; text-align: left; }
.ex-info { font-size: 1.15rem; color: #666; text-align: center; }
.ex-bar { height: 14px; background: #eef0f7; border-radius: 999px; overflow: hidden; margin: 10px 0; }
.ex-fill { height: 100%; width: 0; background: linear-gradient(90deg, #5b8cff, #c026d3); transition: width 0.2s; }
.ex-hint { min-height: 1.6em; font-size: 1.2rem; font-weight: bold; color: #e5484d; text-align: center; }
.ex-text { position: relative; max-height: 52vh; overflow-y: auto; font-size: 1.7rem; line-height: 1.9; font-family: ui-monospace, Menlo, monospace; padding: 12px 16px; border-radius: 18px; background: #fafbff; white-space: pre-wrap; }
.ex-text span { color: #b8c0cc; }
.ex-text span.done { color: #2bb673; }
.ex-text span.now { color: #4a7cf7; border-bottom: 4px solid #4a7cf7; }
.ex-text span.sp.now { background: #dbe6ff; }
.ex-text span.bad { background: #ffd5d8; color: #e5484d; }
.ex-tip { font-size: 1.1rem; color: #888; text-align: center; margin-top: 12px; }
.ex-done { font-size: 2.6rem; font-weight: bold; text-align: center; color: #ff5e7e; }
.ex-result { font-size: 1.3rem; text-align: center; }
.ex-again { display: block; margin: 16px auto 0; font-size: 1.4rem; min-height: 70px; padding: 0 30px; border: 0; border-radius: 999px; background: linear-gradient(145deg, #5b8cff, #7b5cff); color: #fff; font-weight: 800; box-shadow: 0 6px 0 #4b3bb5; }
.lv.expert { background: linear-gradient(145deg, #334155, #7c3aed); }
@media (max-width: 600px) { .ex-text { font-size: 1.3rem; } }
