/* Shared art direction for the twelve vocabulary games. Scoped to game surfaces. */
.painted-game,.painted-hub,.painted-select {
 --ink:#3d3423;--parchment:#e9d7aa;--jade:#21382a;--jade-dark:#122319;--brass:#ac8b4e;--cream:#f4e5bb;--muted:#c4b58b;
 --wood:repeating-linear-gradient(2deg,#ffffff03 0 1px,transparent 1px 6px),linear-gradient(120deg,#293d2c,#14241b);
 --paper:radial-gradient(ellipse at 20% 5%,#fff2d2,#e2c996);
 color:var(--cream);font-family:Inter,system-ui,sans-serif;
}
body.painted-game { background:var(--jade-dark); }
.painted-game #header { background:var(--wood);border-bottom:3px double var(--brass);box-shadow:0 4px 18px #0d1c1940;z-index:3; }
.painted-game .header-top { gap:8px; }
.painted-game .level-chip,.painted-game .stat-chip,.painted-game .sound-btn,.painted-game .end-btn {
 background:#14251c;border:1px solid #9f864f;border-radius:4px;color:#eed29a;box-shadow:inset 0 0 0 2px #0e1e1555;
}
.painted-game .level-chip:hover,.painted-game .sound-btn:hover { background:#405035; }
.painted-game .end-btn { background:#593b2c;color:#f3c6a0;border-color:#af7850; }
.painted-game .stat-val { color:#f1d496; }
.painted-game .stat-val.bump { color:#cadd91; }.painted-game .stat-val.warn,.painted-game .stat-val.hurt { color:#f3a58d; }
.painted-game .stat-icon { background:transparent!important; }
.painted-game .sound-btn.muted { color:#a59b7c; }
.painted-game .painted-title { color:#d7bb7d;font:600 16px Georgia,'Times New Roman',serif;letter-spacing:.4px;white-space:nowrap; }
.painted-game #questionBar,.painted-game #baitTray { background:var(--wood);border-color:var(--brass);color:var(--cream); }
.painted-game #questionWord { color:#f2d597; }
.painted-game #questionLabel,.painted-game .question-label,.painted-game .sentence-label { color:#766039; }
.painted-game #stage { background-color:#d8c393; }
.painted-game[data-surface="cards"] #stage {
 background-image:linear-gradient(#e9ddbca6,#ecdfbfcc),url('/game-painted/garden.png');background-size:cover;background-position:center;
}
.painted-game #timeBar,.painted-game #previewBar { background:#1d3020; }
.painted-game #timeBarFill,.painted-game #previewBarFill { background:linear-gradient(90deg,#7c9b53,#c0cb7d);box-shadow:none; }
.painted-game #timeBarFill.low { background:linear-gradient(90deg,#c38543,#a65138); }
.painted-game .question-row,.painted-game .sentence-card {
 background:var(--paper);border:1px solid #9c7e44;border-radius:5px;padding:20px;box-shadow:0 3px 0 #6c592529,inset 0 0 24px #a5793d20;
}
.painted-game .question-word,.painted-game .question-meaning,.painted-game .sentence-text { color:var(--ink); }
.painted-game .question-word { text-shadow:0 1px #fff9df;font-family:Georgia,'Times New Roman',serif; }
.painted-game .sentence-blank { color:#5c713c;border-color:#7a8b4b; }
.painted-game .combo-flag { color:#785321;background:#e7ce8e;border-color:#b18a45;border-radius:3px; }
.painted-game .choice-btn,.painted-game .slot,.painted-game #letterTray .tile {
 background:var(--paper);border:2px solid #ac8a4a;border-radius:4px;color:var(--ink);box-shadow:0 3px 0 #8a6d3b55,inset 0 0 0 2px #fff0cd66;
}
.painted-game .choice-btn:hover:not(.dim),.painted-game #letterTray .tile:hover { border-color:#605c2d;background:#f5e6bd; }
.painted-game .choice-btn.correct,.painted-game .slot.correct { background:linear-gradient(#71834b,#445f32);border-color:#bfd18d;color:#fff2c3; }
.painted-game .choice-btn.wrong,.painted-game .slot.shake { background:#794c37;border-color:#e6ae7e;color:#fff0dc; }
.painted-game .slot.filled { background:linear-gradient(#82673c,#59472c);color:#fff0c5;border-color:#a88c54; }
.painted-game[data-game="speed_match"] .tile { background:var(--paper);color:var(--ink);box-shadow:0 3px 0 #6f592e44,0 7px 18px #51422922; }
.painted-game[data-game="speed_match"] .tile.word { border-color:#a78543;border-radius:5px 5px 5px 1px; }
.painted-game[data-game="speed_match"] .tile.meaning { background:linear-gradient(140deg,#e1e4b9,#c5ce98);border-color:#778450;border-radius:5px 1px 5px 5px; }
.painted-game .tile-icon { border-radius:3px; }.painted-game .tile.word .tile-icon { background:#a88a4533;color:#755327; }.painted-game .tile.meaning .tile-icon { background:#74864d33;color:#415b32; }
.painted-game[data-game="speed_match"] .tile.selected { border-color:#876723;box-shadow:0 0 0 3px #ad8c42,0 6px 0 #79603933; }
.painted-game[data-game="speed_match"] .tile.mismatch { border-color:#a1583f;box-shadow:0 0 0 3px #c48b63; }
.painted-game .tile-face { border-radius:5px;border:2px solid #9d814b; }
.painted-game .tile-back { background:var(--wood);color:#d7b568;box-shadow:inset 0 0 0 5px #15271d,inset 0 0 0 6px #877242; }
.painted-game .tile-front { background:var(--paper);color:#45361d; }
.painted-game .tile.meaning .tile-front { background:linear-gradient(#dde3b4,#bfcb94);color:#354a27;border-color:#7e8a51; }
.painted-game .tile.matched .tile-front { background:linear-gradient(#71854a,#3d5b2b);color:#fff4cb;border-color:#c7d193; }
.painted-game .cell { background:#efdfb8;color:#463a24;border:1px solid #b89b64;border-radius:3px; }
.painted-game .cell.selecting { background:#95733a;color:#fff4c9; }
.painted-game .cell.found { background:#56703d;color:#fff1c6; }
.painted-game .cell.wrong { background:#965c42;color:#fff0d0; }
.painted-game .cell.missed:not(.found) { background:#c69d61;color:#3f321b; }
.painted-game #wordPanel { background:var(--wood);border:1px solid #a88a4d;border-radius:4px;color:#e9cf92; }
.painted-game .word-panel-title { color:#d6bb7e;border-color:#79683f; }
.painted-game .word-slot { border-color:#7c704444; }.painted-game .word-slot .ws-vi { color:#c4bb9c; }
.painted-game .word-slot.found { color:#bed68c; }.painted-game .word-slot.found .ws-vi { color:#d8e4b7; }
.painted-game #previewBanner { color:#6b5428; }.painted-game #shuffleToast { background:#273f29;color:#f5dea0;border:1px solid #b29351; }
.painted-game .overlay { background:#132317cc; }
.painted-game .overlay-card { background:var(--wood);border:2px solid #a88b4e;border-radius:5px;box-shadow:0 0 0 3px #15251a,0 20px 50px #0006; }
.painted-game .overlay-title { color:#f0d397;font-family:Georgia,'Times New Roman',serif; }
.painted-game .overlay-score { background:none;color:#d5c780;-webkit-text-fill-color:#d5c780; }
.painted-game .overlay-line { color:#c8bc98; }
.painted-game .overlay-hint,.painted-game .overlay-restart,.painted-game .summary-restart-btn { background:linear-gradient(#7d7042,#4e532f);color:#ffe8ad;border:1px solid #b9a060;border-radius:4px;box-shadow:none; }
.painted-game .overlay-hint { padding:10px; }.painted-game .summary-bar { background:var(--wood);border-color:#a88a4c; }
.painted-game .summary-text strong { color:#ead091; }.painted-game .summary-text span { color:#c8bb98; }
.painted-game .stage-banner { color:#f4dfab;background:#203524ee;border:1px solid #b2995a;border-radius:4px;text-shadow:0 1px #000; }
.painted-game .bait-chip { background:var(--paper);color:#473921;border-color:#a18851;border-radius:4px; }
.painted-game .bait-chip.selected { background:#536c39;color:#fff1c3;border-color:#d2c27c; }
.painted-game .listen-btn,.painted-game #speakBtn,.painted-game #replayBtn { background:var(--wood);color:#f0d59a;border-color:#ac8c4d;box-shadow:0 4px 0 #14251955; }
.painted-game .listen-hint,.painted-game .audio-hint { color:#77633d; }
.painted-game :is(button,a,[role="button"]):focus-visible { outline:3px solid #e1b859;outline-offset:3px; }
/* Hub and difficulty selection are embedded in the regular site shell. */
.painted-hub { padding-top:24px;padding-bottom:30px; }
.painted-hub-panel { background:var(--wood);border:1px solid var(--brass);border-radius:6px;padding:26px;box-shadow:0 0 0 3px #1a2c20,0 16px 40px #23331a22; }
.painted-hub-header { padding:6px 4px 22px;border-bottom:1px solid #b3944d66;margin-bottom:22px; }
.painted-hub-header small { color:#bca267;font-size:10px;letter-spacing:3px; }
.painted-hub-header h2 { color:#efd39a;font:700 clamp(26px,4vw,38px) Georgia,serif;margin:8px 0; }
.painted-hub-header p { color:#c5ba96;font-size:14px; }
.painted-hub .game-hub-grid { grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px; }
.painted-hub .game-hub-card { background:var(--paper);border:1px solid #a98a4b;border-radius:4px;color:#3f3522;padding:0;gap:0;box-shadow:0 4px 0 #0c1c1466; }
.painted-hub .game-hub-card:hover { transform:translateY(-3px);box-shadow:0 8px 20px #09180c66;border-color:#e6c981; }
.painted-hub .game-hub-art { position:relative;height:155px;overflow:hidden;border-bottom:2px solid #9d7c40; }
.painted-hub .game-hub-art img { width:100%;height:100%;object-fit:cover;transition:transform .35s; }
.painted-hub .game-hub-card:hover .game-hub-art img { transform:scale(1.04); }
.painted-hub .game-hub-art::after { content:'';position:absolute;inset:0;background:linear-gradient(transparent 60%,#17281a66);pointer-events:none; }
.painted-hub .emoji { position:absolute;left:12px;bottom:10px;z-index:1;border:1px solid #c3a35f;background:#1c3025;padding:6px 9px;color:#f0d79a;font:700 13px Georgia,serif; }
.painted-hub .name { font:700 21px Georgia,serif;padding:16px 16px 8px;color:#3e3624; }
.painted-hub .desc { color:#706141;padding:0 16px 18px; }
.painted-hub .play-tag { color:#3f5d32;padding:12px 16px;border-top:1px solid #ac915244;background:#bca26718; }
.painted-select { background:var(--wood);border:1px solid #aa8d4d;border-radius:5px;box-shadow:0 0 0 3px #1c2c20,0 16px 40px #1b2a1922; }
.painted-select .select-art { height:180px;background-image:linear-gradient(0deg,#172a20aa,transparent 70%),url('/game-painted/garden.png');background-position:center 45%;background-size:cover;border-bottom:2px solid #a68a4e; }
.painted-select[data-scene="forest"] .select-art { background-image:linear-gradient(0deg,#172a20aa,transparent 70%),url('/game-painted/forest.png'); }
.painted-select[data-scene="fishing"] .select-art { background-image:linear-gradient(0deg,#172a20aa,transparent 70%),url('/game-painted/fishing.png');background-position:center 15%; }
.painted-select .select-header { background:transparent;border-bottom:1px solid #9d834a88; }
.painted-select .select-header h1 { background:none;color:#f2d49b;font-family:Georgia,'Times New Roman',serif; }
.painted-select .select-header .subtitle,.painted-select .hint,.painted-select .level-label { color:#c3b38c; }
.painted-select .level-row { background:#1c3024;border-color:#857143;border-radius:4px; }
.painted-select .level-row.selected { background:#50643a;border-color:#d5bd77;box-shadow:0 0 0 2px #9d8e4755; }
.painted-select .level-row .level-code,.painted-select .level-row.selected .level-code { color:#f1d39a; }
.painted-select .level-row .level-words { color:#c1b38b; }
.painted-select .start-btn { background:linear-gradient(#8c7846,#5c5d32);border-color:#c2a161;border-radius:4px;color:#fff0c6; }
.painted-select .board-panel { background:var(--paper);border-color:#a98b50;border-radius:4px;color:#423723; }
.painted-select .board-title { color:#70552c;background:#a58a4530;border-color:#a58a4555; }
.painted-select .board-name { color:#4b3f29; }.painted-select .board-score { color:#4c672f; }
.painted-select .board-empty { color:#7c6945; }.painted-select .board-guest-hint { color:#c0b38e; }.painted-select .board-guest-hint a { color:#f0d291; }
@media(max-width:640px) {
 .painted-game .painted-title { display:none; }
 .painted-hub { padding-top:12px; }.painted-hub-panel { padding:14px; }.painted-hub .game-hub-grid { grid-template-columns:1fr; }
 .painted-select .select-art { height:125px; }.painted-game .question-row,.painted-game .sentence-card { padding:15px; }
}
@media(prefers-reduced-motion:reduce) {
 .painted-game *, .painted-hub *, .painted-select * { animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important; }
}
.painted-game #playBtn { background:radial-gradient(circle at 35% 30%,#8c995b,#354d2e);color:#ffe8aa;border:2px solid #bc9e5c;box-shadow:0 5px 0 #243c2755;animation:none; }
.painted-game #playBtn.speaking { animation:speakingPulse .5s ease-in-out infinite; }
.painted-game .listen-label,.painted-game .replay-hint { color:#725e36; }
.painted-game .bait-chip.loaded { background:#667b44;color:#fff0bf;border-color:#d0bd7d; }
.painted-game[data-game="speed_quiz"] .question-word { background:var(--paper);border:1px solid #b29357;padding:20px 28px;border-radius:4px; }
.painted-game #header .question-label { color:#c0aa74; }
.painted-game #header .question-word { color:#f3d697; }
.painted-game .tile-face { clip-path:none;filter:none; }
.painted-game #wsGrid { background:#867044;border-color:#bda467;border-radius:4px; }
.painted-game #wordList .word-slot:not(.found):not(.missed) { color:#bfb28c; }
.painted-hub .game-hub-icon { position:absolute;right:8px;bottom:6px;width:125px;height:98px;z-index:1;pointer-events:none; }
.painted-game[data-game="word_search"] #header { gap:4px;padding-left:8px;padding-right:8px; }
.painted-game[data-game="word_search"] .stats-row { gap:4px;flex-shrink:1; }
.painted-game[data-game="word_search"] .stat-chip { padding-left:6px;padding-right:6px; }
.painted-game[data-game="speed_quiz"] #stage .question-word { color:var(--ink);text-shadow:none; }
