/* A continuous illustrated tabletop; there are no answer-picture cards in the playfield. */
body.noun-hunt-page { background:#f5f5ee; padding-bottom:0; }
body.noun-hunt-page .site-filing { display:none; }
#mainContent.noun-hunt-view { width:calc(100% - 48px); max-width:1660px; height:calc(100dvh - 72px); padding:20px 0 16px; }
.nh-game { --nh-ink:#2f483c; --nh-green:#376b53; --nh-muted:#8c927d; color:var(--nh-ink); height:100%; display:flex; flex-direction:column; min-height:0; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif; }
.nh-game *, .nh-game *::before, .nh-game *::after { box-sizing:border-box; }
.nh-game svg { display:block; }
.nh-game button,.nh-game select,.nh-game input { font:inherit; }
.nh-game button { cursor:pointer; }
.nh-game button:disabled { cursor:default; opacity:.48; }
.nh-game button:focus-visible,.nh-game select:focus-visible,.nh-game input:focus-visible,.nh-field canvas:focus-visible { outline:3px solid #dba666; outline-offset:3px; }
.nh-heading { display:flex; flex:0 0 auto; justify-content:space-between; align-items:center; gap:20px; margin-bottom:17px; }
.nh-breadcrumb { display:flex; align-items:center; gap:14px; color:#989b87; font-size:10px; }
.nh-breadcrumb a { display:none; text-decoration:none; color:#718369; }
.nh-heading h1 { display:flex; align-items:baseline; gap:18px; margin:8px 0 0; color:#2d4739; font-size:28px; font-weight:700; letter-spacing:-.04em; }
.nh-heading h1>span { color:#949680; font-size:12px; font-weight:600; letter-spacing:0; }
.nh-heading-actions { display:flex; align-items:center; gap:18px; }
.nh-heading-actions button { display:flex; align-items:center; justify-content:center; gap:7px; min-height:40px; padding:7px 3px; color:#748469; background:transparent; font-size:11px; }
.nh-heading-actions svg { width:16px; height:16px; }
.nh-handwritten { margin-right:9px; color:#7f745c; font:italic 600 14px Georgia,serif; }
.nh-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:22px; flex:1; min-height:0; }
.nh-table { display:grid; grid-template-rows:45px minmax(0,1fr) 51px; min-width:0; min-height:0; overflow:hidden; border:1px solid #d7d1bc; border-radius:15px; background:#ece3cc; box-shadow:0 6px 22px #675c3410; }
.nh-scene-heading { display:flex; justify-content:space-between; align-items:center; padding:0 19px; border-bottom:1px solid #d5c9aa; color:#8c866c; background:#eee9d9; font-size:10px; }
.nh-scene-heading>span:first-child { display:flex; align-items:center; gap:8px; color:#6e7962; font-weight:600; }
.nh-scene-heading i { width:5px; height:5px; border-radius:50%; background:#a19f6f; }
.nh-scene-heading b { font-weight:600; }
.nh-field { position:relative; min-height:0; overflow:hidden; background:#e4d4b8; }
.nh-field canvas { display:block; position:absolute; inset:0; touch-action:none; user-select:none; -webkit-user-select:none; cursor:crosshair; }
.nh-scene-footer { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:0 15px; color:#9a947d; background:#f1eddf; border-top:1px solid #d8cdb2; font-size:10px; }
.nh-scene-footer>span { display:flex; align-items:center; gap:7px; flex:1; }
.nh-scene-footer>span>svg { width:15px; height:15px; }
.nh-zoom { display:flex; align-items:center; border:1px solid #dcd5be; border-radius:7px; overflow:hidden; }
.nh-zoom button { display:grid; min-width:34px; min-height:31px; place-items:center; color:#778569; background:#f8f6e9; font-size:16px; }
.nh-zoom [data-hunt-zoom] { min-width:54px; border-left:1px solid #e4dfca; border-right:1px solid #e4dfca; font-size:10px; }
.nh-pause { display:grid; place-items:center; width:34px; height:32px; border:1px solid #dcd5be; border-radius:7px; background:#f8f6e9; color:#778569; }
.nh-pause svg { width:17px; height:17px; }
.nh-side { display:flex; flex-direction:column; min-height:0; gap:11px; }
.nh-panel { flex:1; min-height:0; padding:24px 22px; overflow-y:auto; border:1px solid #dce0cf; border-radius:14px; background:#fffef6; scrollbar-width:thin; scrollbar-color:#d6ddc9 transparent; }
.nh-eyebrow { color:#a59a7b; font-size:8px; font-weight:700; letter-spacing:.13em; }
.nh-intro-symbol { position:relative; display:grid; place-items:center; width:62px; height:62px; margin:23px 0 15px; color:#66885c; border:1px solid #dce3ca; border-radius:50%; background:#f0f4e4; }
.nh-intro-symbol>svg { width:29px; height:29px; }
.nh-intro-symbol i { position:absolute; right:-3px; top:-5px; transform:rotate(15deg); color:#d1a052; font:bold italic 23px Georgia,serif; }
.nh-panel h2 { margin:9px 0 0; font-size:25px; line-height:1.5; letter-spacing:-.04em; font-weight:700; }
.nh-copy { color:#6e795f; font-size:11px; line-height:1.95; margin:14px 0 20px; }
.nh-setting-label { display:grid; gap:9px; margin:19px 0; color:#66775d; font-size:10px; }
.nh-setting-label select { width:100%; height:39px; padding:0 8px; border:1px solid #dce2d1; border-radius:6px; color:#68815d; background:#f8faef; font-size:11px; }
.nh-mode-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; margin:18px 0; }
.nh-mode-tabs button { min-height:57px; padding:8px 2px; border:1px solid #e3e6d6; border-radius:6px; color:#909b80; background:#fafbf3; text-align:center; }
.nh-mode-tabs button[aria-pressed="true"] { color:#4c7342; border-color:#8eab75; background:#edf3de; }
.nh-mode-tabs strong { display:block; font-size:10px; font-weight:600; white-space:nowrap; }
.nh-mode-tabs small { display:block; margin-top:7px; font-size:7px; white-space:nowrap; }
.nh-primary,.nh-secondary { display:flex; align-items:center; justify-content:space-between; gap:9px; width:100%; min-height:44px; padding:11px 14px; border:1px solid #42724f; border-radius:7px; color:#fcf8e7; background:#4b7551; font-size:12px; line-height:1.4; text-decoration:none; }
.nh-secondary { margin-top:10px; justify-content:center; border-color:#dce2cf; color:#7b9070; background:transparent; }
.nh-primary>svg { width:18px; height:18px; }
.nh-mini { margin:12px 0 0; color:#7b846e; font-size:9px; line-height:1.9; }
.nh-round-line { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.nh-round-line>strong { color:#64845b; font:600 24px Georgia,serif; }
.nh-round-line small { font:600 11px -apple-system,sans-serif; color:#b0b8a3; }
.nh-target-caption { margin:31px 0 3px; color:#a2a88e; font-size:10px; }
.nh-target { display:flex; align-items:center; gap:9px; min-width:0; }
.nh-target h2 { margin:0; color:#315c43; font:600 39px/1.4 Georgia,serif; letter-spacing:-.045em; overflow-wrap:anywhere; }
.nh-target>button { flex:0 0 auto; display:grid; place-items:center; width:32px; height:35px; color:#9bb083; background:transparent; }
.nh-target svg { width:19px; height:19px; }
.nh-meaning { display:flex; align-items:center; min-height:31px; margin-top:4px; }
.nh-meaning>button { padding:4px 0; color:#afad95; background:transparent; font-size:10px; border-bottom:1px dashed #cfceb9; }
.nh-meaning>strong { color:#83956f; font-size:13px; font-weight:600; }
.nh-target-line { height:1px; margin:22px 0; background:#e5e8d7; }
.nh-found-progress { display:flex; align-items:center; justify-content:space-between; color:#9aa58b; font-size:10px; }
.nh-found-progress strong { color:#6f8b5d; font:600 23px Georgia,serif; }
.nh-found-progress small { color:#b1b9a5; font:600 11px -apple-system,sans-serif; }
.nh-progress { height:5px; margin-top:9px; border-radius:5px; overflow:hidden; background:#e8ecdb; }
.nh-progress i { display:block; height:100%; background:#8eab73; transition:width .25s; }
.nh-collected { display:flex; flex-wrap:wrap; align-content:flex-start; align-items:center; gap:5px; min-height:117px; padding:14px 0; }
.nh-collected>span { width:39px; height:39px; }
.nh-collected svg { width:100%; height:100%; }
.nh-collected p { color:#b8bba6; font-size:10px; }
.nh-play-stats { display:grid; grid-template-columns:1.3fr 1fr .7fr; gap:15px; padding:17px 0; border-top:1px solid #e6ead9; border-bottom:1px solid #e6ead9; }
.nh-play-stats>div { display:grid; gap:8px; }
.nh-play-stats span { color:#a5ad93; font-size:9px; }
.nh-play-stats strong { color:#718b5d; font-size:21px; font-weight:600; font-variant-numeric:tabular-nums; }
.nh-find-feedback { display:flex; align-items:center; gap:7px; min-height:46px; margin:14px 0; color:#aeb39b; font-size:10px; line-height:1.8; }
.nh-find-feedback.is-correct { color:#608c54; }
.nh-find-feedback svg { width:19px; height:19px; }
.nh-hint { display:flex; justify-content:center; align-items:center; gap:8px; min-height:41px; width:100%; border:1px solid #e5dfc8; border-radius:7px; background:#f6f1df; color:#a29467; font-size:11px; }
.nh-hint svg { width:17px; height:17px; }
.nh-hint>span { margin-left:auto; color:#b3ac8e; font-size:9px; }
.nh-art-status { display:flex; align-items:flex-start; gap:8px; padding:10px 12px; border:1px solid #e1e4d3; border-radius:8px; color:#98a082; background:#f5f7ec; font-size:10px; line-height:1.8; }
.nh-art-status[hidden] { display:none; }
.nh-art-status>span { flex:0 0 auto; width:5px; height:5px; margin-top:7px; border-radius:50%; background:#9daf7c; }
.nh-art-status .is-drawing { animation:nh-pulse 1s ease-in-out infinite alternate; }
.nh-art-status p { margin:0; }
.nh-art-status button { display:block; padding:4px 0; color:#638252; background:transparent; font-size:10px; }
.nh-map-overlay { display:grid; place-items:center; position:absolute; inset:0; z-index:2; background:#dfe4d040; backdrop-filter:blur(3px); }
.nh-map-overlay[hidden] { display:none; }
.nh-pause-card { width:280px; max-width:85%; padding:26px; border:1px solid #d5dcc5; border-radius:13px; color:#536d4c; background:#fffcec; box-shadow:0 10px 40px #53633c19; }
.nh-pause-card>span { color:#a6ab91; font-size:9px; letter-spacing:.1em; }
.nh-pause-card h2 { margin:13px 0 22px; font-size:24px; line-height:1.6; font-weight:600; }
.nh-loading { position:absolute; inset:0; z-index:3; display:flex; align-items:center; justify-content:center; gap:12px; background:#f3ecdccc; color:#9a957a; font-size:13px; }
.nh-loading[hidden] { display:none; }
.nh-loading>span { width:17px; height:17px; border:2px solid #ccd3b8; border-top-color:#6e8c59; border-radius:50%; animation:nh-spin .8s linear infinite; }
.nh-a11y { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.nh-notice { position:fixed; left:50%; bottom:24px; transform:translateX(-50%); z-index:100; max-width:calc(100vw - 30px); padding:13px 19px; border-radius:9px; background:#2f4b3e; color:#fbf6df; font-size:12px; box-shadow:0 6px 24px #193e2e1f; }
.nh-result-symbol { display:grid; place-items:center; width:54px; height:54px; margin:17px 0; border:1px solid #d2dec0; border-radius:50%; color:#79a35f; background:#f0f5e1; }
.nh-result-symbol>svg { width:26px; height:26px; }
.nh-result-numbers { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; margin:18px 0; padding:15px 0; border-block:1px solid #e5e9d6; }
.nh-result-numbers>div { display:grid; gap:7px; }
.nh-result-numbers strong { color:#77945c; font-size:21px; font-weight:600; }
.nh-result-numbers small { color:#b1b8a1; font-size:10px; }
.nh-result-numbers span { color:#a0ab8b; font-size:9px; }
.nh-word-recap { max-height:250px; margin:15px 0 18px; overflow:auto; scrollbar-width:thin; }
.nh-word-recap>div { display:flex; align-items:center; gap:9px; padding:8px 0; border-bottom:1px solid #edf0df; opacity:.5; }
.nh-word-recap>div.is-found { opacity:1; }
.nh-word-recap>div>span { width:42px; height:42px; }
.nh-word-recap svg { width:100%; height:100%; }
.nh-word-recap>div>div { flex:1; display:grid; gap:4px; }
.nh-word-recap strong { color:#718c5b; font:600 17px Georgia,serif; }
.nh-word-recap small { color:#a2ac90; font-size:10px; }
.nh-word-recap button { width:32px; height:32px; padding:8px; color:#96a881; background:transparent; }
.nh-dialog { width:min(510px,calc(100vw - 26px)); max-width:none; max-height:calc(100dvh - 32px); margin:auto; padding:26px; overflow:auto; border:1px solid #d7dec5; border-radius:16px; background:#fffdf2; color:#536f4a; box-shadow:0 20px 90px #263b2b35; }
.nh-dialog::backdrop { background:#243d325c; backdrop-filter:blur(3px); }
.nh-dialog-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; }
.nh-dialog-heading h2 { margin:9px 0 6px; font-size:23px; line-height:1.5; font-weight:600; }
.nh-dialog-heading p { color:#a1ac8f; font-size:11px; }
.nh-dialog-heading>button { display:grid; place-items:center; width:36px; height:36px; flex:0 0 auto; border:1px solid #e0e6d0; border-radius:50%; color:#95a584; background:transparent; font-size:22px; }
.nh-auto-draw { display:flex; gap:10px; align-items:flex-start; margin:25px 0 12px; color:#859874; font-size:12px; line-height:1.8; }
.nh-auto-draw input { accent-color:#567d4b; margin-top:4px; }
.nh-auto-draw small { display:block; color:#a9b29a; font-size:10px; }
.nh-dialog-note { margin:15px 0 25px; color:#a3ac92; font-size:11px; line-height:1.9; }
.nh-gallery-dialog { width:min(900px,calc(100vw - 26px)); }
.nh-gallery-search { width:100%; height:43px; margin:17px 0; padding:0 12px; border:1px solid #dfe5cf; border-radius:7px; background:#f6f8eb; color:#68845a; font-size:12px; }
.nh-gallery-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.nh-gallery-grid article { min-width:0; padding:12px; border:1px solid #e5e8d4; border-radius:9px; background:#f8f9ee; }
.nh-gallery-grid article>div { display:flex; gap:3px; }
.nh-gallery-grid article span { width:33.33%; }
.nh-gallery-grid svg { width:100%; height:auto; }
.nh-gallery-grid strong { display:block; margin-top:10px; font:600 18px Georgia,serif; color:#658452; }
.nh-gallery-grid small { display:block; margin-top:5px; font-size:10px; color:#a3af8e; }
.nh-gallery-pages { display:flex; justify-content:space-between; align-items:center; margin-top:18px; color:#95a582; font-size:12px; }
.nh-gallery-pages button { min-height:40px; padding:8px 14px; border:1px solid #dce4cb; border-radius:6px; background:#f2f6e6; color:#74945e; }
.home-noun-entry { margin-top:12px; border-color:#d9d0b5; background:#f6f1e4; }
.home-noun-entry>svg { color:#a08b59; }
@keyframes nh-spin { to { transform:rotate(360deg); } }
@keyframes nh-pulse { to { opacity:.3; } }
@media (max-height:850px) and (min-width:901px) {
  #mainContent.noun-hunt-view { padding-top:15px; }
  .nh-panel { padding:18px; }
  .nh-intro-symbol { margin:16px 0 10px; width:49px; height:49px; }
  .nh-panel h2 { font-size:23px; }
  .nh-copy { margin:9px 0 13px; }
  .nh-setting-label { margin:14px 0; }
  .nh-target-caption { margin-top:20px; }
  .nh-target-line { margin:15px 0; }
  .nh-collected { min-height:85px; padding:10px 0; }
  .nh-play-stats { padding:13px 0; }
  .nh-find-feedback { margin:8px 0; min-height:37px; }
}
@media (max-width:1150px) and (min-width:901px) {
  .nh-layout { grid-template-columns:minmax(0,1fr) 270px; gap:14px; }
  .nh-handwritten,.nh-heading h1>span { display:none; }
  #mainContent.noun-hunt-view { width:calc(100% - 28px); }
}
@media (max-width:900px), (max-width:1400px) and (pointer:coarse) {
  body.noun-hunt-page { overflow:hidden; }
  body.noun-hunt-page .app-shell { display:block; height:100dvh; min-height:0; }
  body.noun-hunt-page .workspace { height:100%; min-height:0; }
  body.noun-hunt-page .sidebar,body.noun-hunt-page .topbar,body.noun-hunt-page .mobile-nav { display:none!important; }
  #mainContent.noun-hunt-view { width:100%; max-width:none; height:100dvh; margin:0; padding:max(12px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left)); }
  .nh-heading { margin-bottom:12px; }
  .nh-breadcrumb a { display:inline-flex; align-items:center; min-height:32px; }
  .nh-breadcrumb { font-size:11px; }
  .nh-heading h1 { margin-top:0; font-size:26px; }
  .nh-heading h1>span,.nh-handwritten { display:none; }
  .nh-heading-actions { gap:10px; }
  .nh-heading-actions button { min-height:44px; padding:8px; font-size:13px; }
  .nh-layout { grid-template-columns:minmax(0,1fr) 302px; gap:13px; }
  .nh-panel { padding:19px; }
  .nh-setting-label { font-size:12px; }
  .nh-setting-label select { height:44px; font-size:13px; }
  .nh-mode-tabs button { min-height:64px; }
  .nh-mode-tabs strong { font-size:11px; }
  .nh-mode-tabs small { font-size:9px; }
  .nh-primary,.nh-secondary { min-height:47px; font-size:14px; }
  .nh-copy { font-size:12px; }
  .nh-mini { font-size:10px; }
  .nh-target-caption { font-size:13px; }
  .nh-target h2 { font-size:37px; }
  .nh-target>button { width:44px; height:44px; }
  .nh-meaning>button { min-height:36px; font-size:12px; }
  .nh-collected p,.nh-found-progress { font-size:12px; }
  .nh-hint { min-height:44px; font-size:13px; }
  .nh-play-stats span { font-size:11px; }
  .nh-find-feedback { font-size:12px; }
  .nh-table { grid-template-rows:42px minmax(0,1fr) 54px; }
  .nh-zoom button,.nh-pause { min-width:44px; min-height:44px; }
  .nh-scene-footer { padding:0 10px; }
  .nh-pan-hint { font-size:10px; }
  .nh-scene-heading { font-size:11px; padding:0 13px; }
  .nh-dialog-heading>button,.nh-gallery-pages button { min-height:44px; min-width:44px; }
  .nh-dialog .nh-setting-label select { font-size:14px; }
}
@media (max-width:900px) and (orientation:portrait), (max-width:1400px) and (pointer:coarse) and (orientation:portrait) {
  .nh-layout { grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(240px,58fr) minmax(285px,42fr); gap:12px; }
  .nh-side { min-height:0; gap:6px; }
  .nh-panel { padding:18px 23px; }
  .nh-game[data-phase="setup"] .nh-panel { display:grid; grid-template-columns:1fr 1fr; column-gap:28px; align-content:center; }
  .nh-game[data-phase="setup"] .nh-eyebrow { grid-column:1; }
  .nh-game[data-phase="setup"] .nh-intro-symbol { display:none; }
  .nh-game[data-phase="setup"] h2 { grid-column:1; grid-row:2/4; font-size:26px; }
  .nh-game[data-phase="setup"] .nh-copy { grid-column:1; grid-row:4/6; margin:10px 0; }
  .nh-game[data-phase="setup"] .nh-setting-label { grid-column:2; grid-row:1/3; margin:0 0 8px; }
  .nh-game[data-phase="setup"] .nh-mode-tabs { grid-column:2; grid-row:3/5; margin:8px 0; }
  .nh-game[data-phase="setup"] .nh-primary { grid-column:2; grid-row:5; }
  .nh-game[data-phase="setup"] .nh-mini { grid-column:1/-1; }
  .nh-game[data-phase="playing"] .nh-panel { position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:30px; align-content:center; }
  .nh-round-line { grid-column:1; }
  .nh-target-caption { grid-column:1; margin-top:17px; }
  .nh-target { grid-column:1; }
  .nh-meaning { grid-column:1; margin-top:0; }
  .nh-target-line { display:none; }
  .nh-found-progress { grid-column:2; grid-row:1; }
  .nh-progress { grid-column:2; grid-row:2; align-self:center; margin:0; }
  .nh-collected { grid-column:2; grid-row:3/5; min-height:88px; padding:7px 0; }
  .nh-play-stats { grid-column:2; grid-row:5/7; padding:11px 0; }
  .nh-find-feedback { grid-column:1; grid-row:5; margin:3px 0 9px; }
  .nh-hint,.nh-game[data-phase="playing"] .nh-panel>.nh-primary { grid-column:1; grid-row:6; }
  .nh-game[data-phase="playing"] .nh-mini { grid-column:1/-1; margin-top:9px; }
  .nh-game[data-phase="won"] .nh-panel,.nh-game[data-phase="lost"] .nh-panel { padding-top:16px; }
  .nh-word-recap { max-height:150px; display:grid; grid-template-columns:1fr 1fr; gap:0 25px; }
  .nh-result-symbol { display:none; }
}
@media (max-width:540px) {
  #mainContent.noun-hunt-view { padding:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom)); }
  .nh-heading { gap:5px; margin-bottom:7px; }
  .nh-heading h1 { font-size:22px; }
  .nh-breadcrumb { gap:8px; font-size:9px; }
  .nh-breadcrumb>span { display:none; }
  .nh-heading-actions { gap:2px; }
  .nh-heading-actions button { padding:7px; font-size:12px; }
  .nh-layout { grid-template-rows:minmax(230px,54fr) minmax(280px,46fr); gap:8px; }
  .nh-table { grid-template-rows:32px minmax(0,1fr) 50px; border-radius:11px; }
  .nh-scene-heading { font-size:9px; padding:0 10px; }
  .nh-scene-footer>span { display:none; }
  .nh-scene-footer { justify-content:space-between; }
  .nh-panel { padding:13px!important; border-radius:11px; }
  .nh-game[data-phase="setup"] .nh-panel { display:block; }
  .nh-game[data-phase="setup"] h2 { margin:0; font-size:22px; }
  .nh-game[data-phase="setup"] h2 br { display:none; }
  .nh-game[data-phase="setup"] .nh-copy { font-size:10px; line-height:1.7; margin:7px 0 9px; }
  .nh-game[data-phase="setup"] .nh-setting-label { gap:5px; font-size:10px; margin:7px 0; }
  .nh-game[data-phase="setup"] .nh-setting-label select { height:37px; font-size:11px; }
  .nh-game[data-phase="setup"] .nh-eyebrow { display:none; }
  .nh-game[data-phase="setup"] .nh-mode-tabs { margin:8px 0; }
  .nh-mode-tabs button { min-height:48px; padding:6px 2px; }
  .nh-mode-tabs small { font-size:8px; margin-top:4px; }
  .nh-game[data-phase="setup"] .nh-mini { font-size:8px; margin-top:7px; }
  .nh-game[data-phase="playing"] .nh-panel { column-gap:16px; }
  .nh-eyebrow { font-size:7px; }
  .nh-round-line>strong { font-size:20px; }
  .nh-target-caption { margin-top:8px; font-size:10px; }
  .nh-target h2 { font-size:29px; line-height:1.2; }
  .nh-target { gap:2px; }
  .nh-target>button { width:34px; height:40px; }
  .nh-target svg { width:16px; height:16px; }
  .nh-meaning>button { font-size:10px; min-height:30px; }
  .nh-meaning>strong { font-size:12px; }
  .nh-found-progress { font-size:10px; }
  .nh-found-progress strong { font-size:20px; }
  .nh-collected { gap:2px; min-height:74px; }
  .nh-collected>span { width:29px; height:29px; }
  .nh-collected p { font-size:9px; line-height:1.8; }
  .nh-play-stats { gap:5px; }
  .nh-play-stats span { font-size:8px; }
  .nh-play-stats strong { font-size:17px; }
  .nh-find-feedback { font-size:10px; min-height:30px; }
  .nh-hint { min-height:43px; gap:4px; padding:6px; font-size:11px; }
  .nh-hint>span { font-size:8px; }
  .nh-game[data-phase="playing"] .nh-mini { font-size:8px; }
  .nh-primary,.nh-secondary { min-height:43px; padding:9px 11px; font-size:12px; }
  .nh-art-status { font-size:9px; padding:6px 9px; }
  .nh-dialog { padding:19px; }
  .nh-dialog-heading h2 { font-size:21px; }
  .nh-gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .nh-gallery-grid article { padding:8px; }
  .nh-gallery-grid strong { font-size:16px; }
  .nh-word-recap { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) { .nh-progress i { transition:none; }.nh-art-status .is-drawing { animation:none; } }
.nh-theme-link { padding:4px 0; border:0; background:none; color:#4a715d; font-size:11px; text-align:left; cursor:pointer; }
.nh-theme-link:hover { color:#204f3a; text-decoration:underline; }
.nh-setting-label>small { display:block; color:#829080; font-size:11px; line-height:1.6; margin-top:5px; }
.nh-gallery-filters { display:grid; grid-template-columns:190px minmax(0,1fr); gap:10px; align-items:start; margin-bottom:12px; }
.nh-gallery-filters select { width:100%; padding:11px 10px; border:1px solid #d5ddce; border-radius:7px; background:#fffdf4; color:#435a46; font:inherit; font-size:12px; }
.nh-gallery-filters .nh-gallery-search { margin-bottom:0; width:100%; min-width:0; }
@media(max-width:600px) { .nh-gallery-filters { grid-template-columns:140px minmax(0,1fr); gap:7px; }.nh-gallery-filters select { font-size:11px; padding:10px 6px; }.nh-theme-link { font-size:9px; padding:2px 0; } }
