/* B1 typing presentation, scoped to the active play panel. Home, books,
   results, game rules, storage, and image URL policy are unchanged. */
#play-panel {
  --paper:#fffdf9; --ink:#3e3029; --muted:#807166; --line:#e5d9c9;
  --accent:#92573f; --accent-dark:#70402d; --cream:#f5eee2; --green:#477263;
  color:var(--ink); max-width:none; margin:0;
  font:15px/1.8 "Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
}
#play-panel h1,#play-panel h2 {font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:600}
#play-panel h1 {line-height:1.6;letter-spacing:.04em}
#play-panel h2 {line-height:1.7}
#play-panel .small {font-size:12px;color:var(--muted)}
#play-panel .eyebrow {font-size:11px;color:var(--accent);letter-spacing:.1em;font-weight:bold;margin-bottom:9px}
#play-panel .play-heading {display:flex;justify-content:space-between;align-items:center;gap:20px;margin:24px 0}
#play-panel .play-heading h1 {font-size:28px;margin:0}
#play-panel .play-heading .eyebrow {margin:0 0 9px}
#play-panel .pill {border:1px solid var(--line);padding:3px 9px;font-size:11px;border-radius:4px;background:var(--paper)}
#play-panel .primary,#play-panel .secondary,#play-panel .text-button {font-weight:400;line-height:1.8;min-height:0;border-radius:5px;padding:12px 23px;transition:background .15s;color:var(--ink)}
#play-panel .primary {background:var(--accent);color:#fffdf8;border:1px solid var(--accent);font-weight:bold;box-shadow:0 3px 0 #794730}
#play-panel .primary:hover {background:var(--accent-dark)}
#play-panel .secondary {background:var(--paper);border:1px solid var(--line)}
#play-panel .secondary:hover {background:var(--cream)}
#play-panel .text-button {background:none;border:0;padding:7px 0;color:var(--accent);text-decoration:underline;text-underline-offset:5px;font-size:13px}
#play-panel button:disabled {opacity:.5}
#play-panel button:focus-visible,#play-panel a:focus-visible,#play-panel input:focus-visible {outline:3px solid #b07840;outline-offset:4px}
#play-panel .run-goal {display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:12px;font-size:12px;color:var(--muted);margin:0}
#play-panel .run-goal span:last-child {color:var(--green)}
#play-panel .play-metrics {display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:var(--paper);border:1px solid var(--line);border-radius:6px;margin:25px 0 16px}
#play-panel .play-metrics>div {text-align:center;padding:10px 5px;border:0;border-right:1px solid var(--line);border-radius:0;background:transparent}
#play-panel .play-metrics>div:last-child {border:0}
#play-panel .play-metrics b {font:28px Georgia;color:var(--accent);display:block}
#play-panel .play-metrics small {font-size:10px;color:var(--muted)}
#play-panel .play-metrics.warning #time {color:#b64b3c}
#play-panel .game-card {background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:25px 32px;text-align:center}
#play-panel .question-meta {display:flex;justify-content:space-between;font-size:11px;color:var(--muted);gap:10px;border:0;padding:0}
#play-panel .game-card h2 {font-size:28px;margin:20px 0 7px}
#play-panel .game-card #question-kana {font-size:13px;color:var(--muted);margin:0 0 7px}
#play-panel #question-author {margin:0 0 1em}
#play-panel .roman {font-family:Consolas,monospace;font-size:24px;letter-spacing:1px;overflow-wrap:anywhere;line-height:1.5;min-height:55px;margin:25px 0 12px}
#play-panel #roman-done {color:#bcb2a6}
#play-panel #roman-next {color:var(--ink)}
#play-panel .input-label {display:block;text-align:left;font-size:11px;color:var(--muted);max-width:650px;margin:auto}
#play-panel #typing {width:100%;max-width:650px;border:1px solid #c1ab92;border-radius:5px;padding:10px 14px;color:var(--accent);background:#fffcf7;outline-offset:3px;font:15px/1.8 Consolas,monospace;letter-spacing:normal}
#play-panel #input-help {font-size:12px;margin:0 0 1em;color:var(--muted)}
#play-panel progress {width:100%;height:8px;accent-color:var(--accent);border:0;border-radius:6px;overflow:hidden;background:#e8dfd3}
#play-panel progress::-webkit-progress-bar {background:#e8dfd3}
#play-panel progress::-webkit-progress-value {background:var(--accent)}
#play-panel .game-card progress {max-width:650px}
#play-panel .game-card #word-progress {margin-top:8px}
#play-panel .game-card #goal {font-size:12px;color:var(--ink);margin:12px 0 0}
#play-panel .feedback {font-size:14px;min-height:29px;color:var(--green);font-weight:bold;margin-top:12px}
#play-panel .feedback.flash {animation:naero-legacy-quiet-pop .4s ease-out}
#play-panel .feedback.miss {color:#a14a32}
#play-panel .play-actions {display:flex;align-items:center;gap:25px;margin:18px 0 10px}
#play-panel #play-foot {font-size:12px;color:var(--muted)}
#play-panel .word-race {max-width:650px;margin:7px auto 0;text-align:left}
#play-panel .word-race>div {display:flex;justify-content:space-between;gap:10px;font-size:10px;color:#798070}
#play-panel .word-race progress {height:4px;accent-color:#8f9e8a}
#play-panel .word-race progress::-webkit-progress-value {background:#8f9e8a}
#play-panel .word-race #race-note {color:var(--muted)}
#play-panel .prompt-layout {display:grid;grid-template-columns:165px minmax(0,1fr);gap:22px;align-items:center}
#play-panel .prompt-layout.no-image {grid-template-columns:1fr}
#play-panel .prompt-content {min-width:0}
#play-panel .prompt-layout .image-slot {max-width:none;width:100%;margin:14px 0;padding:0;border:0;font-size:11px;color:var(--muted)}
#play-panel .prompt-layout .roman {font-size:22px;margin-top:18px}
#play-panel .prompt-content>h2 {margin-top:16px}
#play-panel .work-image-view {margin:0;min-width:0}
#play-panel .work-image {display:block;width:100%;max-height:240px;object-fit:contain;background:#f4f0e8;border-radius:4px}
#play-panel .image-slot img {width:100%;height:190px;object-fit:contain}
#play-panel .work-image-fallback {display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:20px 16px;min-height:190px;background:linear-gradient(110deg,#e7dccc 0,#f7efe2 5%,#fffaf1 6%,#f8f0e2 100%);border:1px solid #d8c7af;border-left:5px solid #b79370;border-radius:3px;text-align:center;overflow-wrap:anywhere;position:relative}
#play-panel .work-image-fallback:before {content:"NAERO LIBRARY";font:10px Georgia;letter-spacing:.12em;color:#aa9379}
#play-panel .work-image-title {font-family:"Yu Mincho",serif;font-size:19px;font-weight:600;line-height:1.7;margin:0}
#play-panel .work-image-author {font-size:11px;color:var(--muted);margin:0}
#play-panel .work-image-article {font-size:10px;color:var(--accent);margin:0}
#play-panel .work-image-note {font-size:9px;color:var(--muted);margin:0}
#play-panel .article-context {display:flex;align-items:center;gap:13px;padding:10px 14px;background:var(--paper);border:1px solid var(--line);border-radius:6px;margin:10px 0 16px;max-width:420px}
#play-panel .article-context-image {width:88px;height:66px;object-fit:contain;display:block;flex:0 0 auto;border-radius:3px}
#play-panel .article-context-copy span {display:block;font-size:10px;color:var(--muted)}
#play-panel .article-context-copy strong {display:block;font-size:14px;font-weight:600}
@keyframes naero-legacy-quiet-pop {from{transform:translateY(4px);opacity:.5}to{transform:translateY(0);opacity:1}}
@media(max-width:800px) {
 #play-panel .game-card h2 {font-size:23px}
}
@media(max-width:700px) {
 #play-panel .prompt-layout {grid-template-columns:130px minmax(0,1fr);gap:15px}
 #play-panel .prompt-layout .roman {font-size:19px}
 #play-panel .prompt-layout .work-image-fallback {min-height:175px;padding:13px}
 #play-panel .work-image-title {font-size:16px}
}
@media(max-width:560px) {
 #play-panel .play-heading {align-items:flex-start;margin:20px 0 10px}
 #play-panel .play-heading h1 {font-size:24px}
 #play-panel .play-heading .pill {font-size:10px}
 #play-panel .run-goal {font-size:11px;flex-direction:column;gap:2px}
 #play-panel .play-metrics {margin-top:15px}
 #play-panel .play-metrics b {font-size:23px}
 #play-panel .play-metrics>div {padding:10px 5px}
 #play-panel .play-metrics small {font-size:10px}
 #play-panel .game-card {padding:17px 15px}
 #play-panel .game-card h2 {font-size:22px;margin-top:20px}
 #play-panel .roman {font-size:19px}
 #play-panel .question-meta {font-size:10px}
 #play-panel .word-race>div {font-size:9px;gap:5px}
 #play-panel .article-context {padding:8px 10px;max-width:none}
 #play-panel .article-context-image {width:76px;height:57px}
 #play-panel .article-context-copy strong {font-size:13px}
 #play-panel .prompt-layout {display:block}
 #play-panel .prompt-layout .image-slot {float:right;width:90px;max-width:31%;margin:10px 0 10px 12px}
 #play-panel .prompt-content {display:contents}
 #play-panel .prompt-content>h2 {text-align:left;font-size:21px;line-height:1.6}
 #play-panel .prompt-layout .roman {clear:both;font-size:19px;padding-top:6px}
 #play-panel .prompt-layout .work-image-fallback {min-height:125px;padding:9px 6px;gap:5px;border-left-width:3px}
 #play-panel .prompt-layout .work-image-fallback:before {font-size:7px;letter-spacing:0}
 #play-panel .prompt-layout .work-image-title {font-size:11px}
 #play-panel .prompt-layout .work-image-author {font-size:9px}
 #play-panel .prompt-layout .work-image-note,#play-panel .prompt-layout .work-image-article {font-size:7px}
}
@media(prefers-reduced-motion:reduce) {
 #play-panel * {animation:none!important;transition:none!important}
}
