/* New continuous local game only. Earlier Name That Face layouts stay frozen. */
.nf-game.nf-continuous{height:100%;min-height:0;overflow:hidden}
.nf-continuous .nf-body{flex:1;min-height:0}
.nf-continuous .nf-header{gap:5px;padding:4px 6px;min-height:52px}
.nfc-brand{flex:1;min-width:0;text-align:center;line-height:1.1}
.nfc-brand>b{display:block;font-size:13px;letter-spacing:-.2px;color:#e8d5a7;font-weight:800}
.nfc-brand>strong{display:block;font-size:20px;font-variant-numeric:tabular-nums;letter-spacing:.3px;color:#fff3d2}
.nfc-brand>strong>small{font-size:9px;font-weight:600;letter-spacing:0}
.nf-continuous .nf-orb{width:44px;height:44px}
.nf-continuous .nf-orb svg{width:20px;height:20px}
.nfc-muted svg{opacity:.5}
.nfc-first-play .nfc-content{visibility:hidden}
.nfc-first-play .nfc-hud[hidden]{display:none}
.nf-continuous .nf-body{position:relative}
.nfc-entry{inset:0 0 21px}
.nfc-muted{position:relative}.nfc-muted::after{content:"";position:absolute;width:24px;height:2px;transform:rotate(-45deg);background:currentColor}
.nfc-hud{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:30px;padding:1px 7px 3px;flex:none;font-size:10px;color:var(--nf-muted)}
.nfc-hud>b,.nfc-hud span>b{font-size:13px;color:var(--nf-ink);font-variant-numeric:tabular-nums}
.nfc-clock{font-size:23px;font-variant-numeric:tabular-nums;color:#fff1c9;line-height:1.1}
.nfc-playfield{position:relative;display:flex;flex:1;min-height:0}
.nfc-content{display:flex;flex-direction:column;flex:1;min-height:0}
.nf-continuous .nf-prompt{min-height:46px;padding:4px 4px 7px;gap:8px}
.nf-continuous .nf-prompt h2{font-size:28px;line-height:1.15;text-align:center}
.nf-continuous .nfc-bonus-grid{grid-template-rows:repeat(var(--nf-rows),minmax(70px,1fr))}
.nf-continuous .nf-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(var(--nf-rows),minmax(70px,1fr));height:auto;min-height:0;flex:1;max-height:none;overflow:hidden;gap:5px;padding:2px;align-content:stretch}
.nf-continuous .nf-grid.nfc-bonus-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.nf-continuous.nfc-fact-stage .nf-prompt h2{font-size:20px;line-height:1.25}
.nf-continuous .nf-face{border-radius:9px}
.nf-continuous .nf-label{font-size:12px;padding-bottom:6px}
.nf-continuous .nf-fallback{font-size:11px;line-height:1.2}
.nfc-status{flex:none;min-height:19px;padding:2px 4px;font-size:10px;line-height:1.4;text-align:center;color:var(--nf-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nfc-status-error{white-space:normal;color:var(--nf-bad)}
.nfc-concealed .nfc-content{visibility:hidden}
.nfc-pause-label{position:absolute;inset:0;display:grid;place-items:center;color:#eed8a8;font-size:27px;font-weight:750;letter-spacing:.04em;background:#0b1e2bc9;border:1px solid #94784470;border-radius:10px}
.nf-continuous .nf-help-layer{z-index:8}
.nf-continuous .nf-complete{padding-top:30px}.nf-continuous .nf-complete strong{font-size:56px}
.nfc-bonus-note{max-width:290px;margin:12px auto!important;font-size:11px!important;line-height:1.5}
.nfc-vaporizing .nf-photo img{animation:nfc-vapor .65s ease-in both}
.nfc-vaporizing .nf-label{animation:nfc-label-vapor .65s ease-in both}
.nfc-smoke{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.nfc-smoke i{position:absolute;left:22%;top:44%;width:60%;height:55%;border-radius:50%;background:radial-gradient(ellipse,#d5e7dc80,transparent 68%);filter:blur(5px);animation:nfc-smoke .65s ease-out both}
.nfc-smoke i:nth-child(2){left:2%;top:64%;animation-delay:.07s}.nfc-smoke i:nth-child(3){left:42%;top:53%;animation-delay:.13s}
.nfc-emerging .nf-photo img{animation:nfc-emerge .42s ease-out both}
.nfc-urgent .nf-grid{animation:nfc-urgency 1s ease-in-out infinite}
@keyframes nfc-vapor{0%,24%{opacity:1;filter:none}100%{opacity:0;filter:blur(9px)}}
@keyframes nfc-label-vapor{0%,42%{opacity:1}100%{opacity:0}}
@keyframes nfc-smoke{0%{opacity:0;transform:translateY(6px) scale(.65)}35%{opacity:.85}100%{opacity:0;transform:translateY(-45px) scale(1.4)}}
@keyframes nfc-emerge{from{opacity:0;filter:blur(6px)}to{opacity:1;filter:none}}
@keyframes nfc-urgency{0%,100%{box-shadow:inset 0 0 0 1px #e0b87120}50%{box-shadow:inset 0 0 0 2px #ffd69e90}}
@media(max-height:660px){.nf-continuous .nf-header{min-height:48px;padding-block:2px}.nfc-hud{min-height:26px}.nf-continuous .nf-prompt{min-height:40px}.nf-continuous .nf-prompt h2{font-size:25px}.nfc-status{min-height:16px;font-size:9px}.nf-continuous .nf-complete{padding-top:16px}}
@media(prefers-reduced-motion:reduce){.nfc-vaporizing .nf-photo img,.nfc-vaporizing .nf-label,.nfc-emerging .nf-photo img,.nfc-smoke i,.nfc-urgent .nf-grid{animation:none}.nfc-smoke{display:none}.nfc-urgent .nf-grid{box-shadow:inset 0 0 0 2px #f2cf91}}

/* Approved teal/gold gallery, scoped to the current continuous renderer.
   Source 887×1774: header 255, body 1215, footer 304. The lower quiet band
   absorbs phone-height differences; real photos and all hit regions stay DOM. */
.nf-game.nf-continuous.nfc-gallery,.dark .nf-game.nf-continuous.nfc-gallery{
  container-type:size;position:relative;width:100%;height:100%;min-height:0;
  background:#0b2530 url("game-art/name-gallery-v1-field.webp") repeat;
}
.nfc-gallery .nf-header{
  position:relative;display:block;flex:none;width:100%;max-width:none;height:auto;
  min-height:0;aspect-ratio:887/255;margin:0;padding:0;
  background:url("game-art/name-gallery-v1-header.webp") center/100% 100% no-repeat;
}
.nfc-gallery .nf-header>.nf-orb,.nfc-gallery .nfc-sound{
  position:absolute;width:44px;height:44px;min-width:44px;min-height:44px;
  padding:0;border:0;border-radius:50%;background:transparent;box-shadow:none;
  color:#f9dda5;z-index:2;
}
.nfc-gallery .nfc-back{left:calc(8.738% - 22px);top:calc(20% - 22px)}
.nfc-gallery .nfc-toggle{right:44px;top:calc(20% - 22px)}
.nfc-gallery .nfc-info{right:0;top:calc(20% - 22px)}
.nfc-gallery .nfc-toggle::before{content:"";position:absolute;inset:0;pointer-events:none}
.nfc-gallery .nfc-toggle img{position:absolute;width:8.906cqw;height:9.245cqw;max-width:none;left:calc(50% + 83.484cqw - 100cqw + 66px);top:50%;transform:translate(-50%,-50%);object-fit:contain;pointer-events:none}
.nfc-gallery .nfc-resume::before{width:8.906cqw;height:9.245cqw;inset:auto;left:calc(50% + 83.484cqw - 100cqw + 66px);top:50%;transform:translate(-50%,-50%);border-radius:50%;background:#102b34}
.nfc-gallery .nfc-brand{position:absolute;left:28%;right:28%;top:25.49%;height:12.16%;display:grid;place-items:center;line-height:1}
.nfc-gallery .nfc-brand>strong{font-size:clamp(12px,3.2cqw,15px);line-height:1;color:#fff0cc;text-shadow:0 1px 2px #000}
.nfc-gallery .nfc-brand>strong[hidden]{display:none}
.nfc-gallery .nfc-brand>strong>small{font-size:9px}
.nfc-gallery .nfc-hud{position:absolute;inset:44.31% 0 auto;display:block;padding:0;height:18.43%;min-height:0;gap:0;color:#fff0cc;text-align:center}
.nfc-gallery .nfc-hud[hidden]{display:none}
.nfc-gallery .nfc-hud>strong,.nfc-gallery .nfc-hud>span{position:absolute;top:50%;transform:translate(-50%,-50%)}
.nfc-gallery .nfc-hud>strong{left:18.207%}.nfc-gallery .nfc-hud>span:nth-child(2){left:41.15%}.nfc-gallery .nfc-hud>span:nth-child(3){left:61.443%}.nfc-gallery .nfc-hud>span:nth-child(4){left:82.075%}
.nfc-gallery .nfc-hud>b,.nfc-gallery .nfc-hud span>b,.nfc-gallery .nfc-clock{font-size:clamp(15px,4.2cqw,19px);line-height:1;font-weight:750;text-shadow:0 1px 2px #000;font-variant-numeric:tabular-nums}
.nfc-gallery .nf-body{position:relative;display:flex;flex:1;min-height:0;width:100%;max-width:none;padding:0;margin:0}
.nfc-gallery .nfc-playfield{
  position:relative;display:block;width:100%;flex:none;min-height:0;
  height:min(136.9786cqw,calc(100cqh - 28.7486cqw - 80px));
  background:url("game-art/name-gallery-v1-body.webp") top center/100% 100% no-repeat;
}
.nfc-gallery .nfc-content{position:absolute;inset:0;display:block;min-height:0}
.nfc-gallery .nf-prompt{position:absolute;left:20.63%;top:3.3%;width:58.85%;height:8.4%;min-height:0;padding:0 5px;display:flex;flex-direction:column;gap:0;justify-content:center;text-shadow:0 1px 2px #000}
.nfc-gallery .nf-prompt h2{font-size:clamp(22px,7.2cqw,31px);line-height:1.08;letter-spacing:-.5px;max-width:100%;overflow-wrap:anywhere}
.nfc-gallery .nf-prompt p{position:absolute;top:100%;left:0;right:0;margin:0;line-height:1;font-size:10px;text-align:center;color:#fff0cc}
.nfc-gallery .nf-prompt p b{display:inline;color:#fff0cc}
.nfc-gallery .nf-grid,.nfc-gallery .nf-grid.nfc-bonus-grid{
  position:absolute;left:8.794%;top:14.156%;width:82.413%;height:85.267%;
  min-height:0;max-height:none;display:grid;flex:none;margin:0;padding:0;overflow:hidden;
  grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(var(--nf-rows),minmax(0,1fr));
  column-gap:2.736%;row-gap:1.64%;align-content:stretch;
}
.nfc-gallery .nf-face{position:relative;display:block;padding:0;min-height:44px;min-width:44px;overflow:hidden;border:0;border-radius:5px;background:transparent;box-shadow:none}
.nfc-gallery .nf-face::after{content:"";position:absolute;inset:0;background:url("game-art/name-gallery-v1-rim.webp") center/100% 100% no-repeat;pointer-events:none;z-index:2}
.nfc-gallery .nf-face.nf-wrong::after{filter:drop-shadow(0 0 3px #ff765a)}
.nfc-gallery .nf-photo,.dark .nfc-gallery .nf-photo{position:absolute;left:5.195%;top:5.263%;width:89.61%;height:89.07%;border-radius:3px;background:#102f39;overflow:hidden}
.nfc-gallery .nf-photo img{object-fit:cover}
.nfc-gallery .nf-label{font-size:clamp(10px,3cqw,13px);padding:12px 3px 5px;line-height:1.15}
.nfc-gallery .nfc-footer{position:relative;flex:1;min-height:80px;width:100%;background:url("game-art/name-gallery-v1-footer.webp") center bottom/100% auto no-repeat}
.nfc-gallery .nfc-sound{left:calc(87.035% - 22px);bottom:calc(14.374cqw - 22px)}
.nfc-gallery .nfc-muted::after{width:23px;height:2px;left:10px;top:21px;background:#ffe2a7;box-shadow:0 1px 2px #000;pointer-events:none}
.nfc-gallery .nfc-status{position:absolute;left:9%;right:23%;bottom:6px;min-height:0;padding:2px 4px;font-size:11px;line-height:1.25;color:#fff0cc;text-shadow:0 1px 2px #000;white-space:normal;border-radius:4px;background:#0b2530e6}
.nfc-gallery .nfc-status:empty{display:none}
.nfc-gallery .nfc-status-error{color:#ffd0bf}
.nfc-gallery .nfc-entry{inset:0 0 auto;height:min(136.9786cqw,calc(100cqh - 28.7486cqw - 80px))}
.nfc-gallery .game-entry-play{width:120px;min-height:120px}
.nfc-gallery .game-entry-play img{max-height:124px}
.nfc-gallery .nfc-pause-label{inset:14.156% 8.794% .577%;border-radius:4px;font-size:27px;background:#0b2530f2;border-color:#b19354}
.nfc-gallery.nfc-fact-stage .nfc-playfield{background:#0b2530 url("game-art/name-gallery-v1-field.webp") repeat}
.nfc-gallery.nfc-fact-stage .nf-prompt{top:1%;height:12%;background:#0b2530;border:1px solid #b39350;border-radius:9px}
.nfc-gallery.nfc-fact-stage .nf-prompt h2{font-size:clamp(16px,4.7cqw,20px);line-height:1.18}
.nfc-gallery.nfc-fact-stage .nf-grid.nfc-bonus-grid{grid-template-columns:repeat(2,minmax(0,1fr));left:13%;width:74%;height:82%;top:16%;gap:8px}
.nfc-gallery.nfc-result .nf-complete{margin:auto 10px 10px;padding:15px 0 0}
.nfc-gallery.nfc-result .nf-finish-actions{padding:0 8px;margin:0 0 auto}
.nfc-gallery.nfc-result .nfc-footer{flex:none;height:min(34.273cqw,150px)}
.nfc-gallery .nfc-sound[data-audio-mode="music"]::before{content:'♪';position:absolute;right:-1px;bottom:-1px;display:grid;place-items:center;width:14px;height:14px;border:1px solid #b99054;border-radius:50%;background:#102d35;color:#ffe3aa;font:11px/1 Georgia,serif;pointer-events:none}

/* Hide the portrait board while a separate group owns pause actions. */
.nfc-pause-panel{position:absolute;inset:14.156% 8.794% .577%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;border:1px solid #b19354;border-radius:4px;background:#0b2530f2}
.nfc-gallery .nfc-pause-label{position:relative;inset:auto;display:block;width:min(82%,270px);height:auto;min-height:44px;border:0;padding:0;background:none;cursor:pointer;touch-action:manipulation}
.nfc-pause-label img{display:block;width:100%;max-height:190px;object-fit:contain;pointer-events:none}
.nfc-pause-actions{display:flex;justify-content:center;align-items:center;gap:10px;width:94%}
.nfc-pause-control{flex:1;min-width:44px;min-height:48px;padding:0;border:0;background:none;cursor:pointer;touch-action:manipulation}
.nfc-pause-control img{display:block;width:100%;height:64px;object-fit:contain;pointer-events:none}
.nfc-pause-label:focus-visible,.nfc-pause-control:focus-visible{outline:3px solid #f6dfb0;outline-offset:3px;border-radius:8px}
@media(max-height:650px){.nfc-pause-panel{gap:8px}.nfc-pause-label img{max-height:125px}.nfc-pause-control img{height:48px}}

/* Keep lettering plaques wide while the round sound control has its own slot. */
.nfc-pause-control:not([data-nfc=sound]){flex:1.5}
.nfc-pause-control img{width:100%}
/* Prompt text shares the gold plaque's measured inner area, including its count. */
.nfc-gallery .nf-prompt{padding:1px 8px;gap:1px;justify-content:center}
.nfc-gallery .nf-prompt h2{font-size:clamp(19px,6.3cqw,28px);line-height:1.04;margin:0}
.nfc-gallery .nf-prompt p{position:static;inset:auto;margin:0;flex:none;line-height:1.1;font-size:clamp(10px,2.7cqw,12px)}
.nfc-gallery .nfc-pause-label{cursor:default;margin:0;touch-action:auto}
.nfc-gallery .nfc-pause-actions:empty{display:none}
.nfc-gallery .nf-label{overflow-wrap:anywhere}
@media(max-height:660px){.nfc-gallery .nf-prompt{gap:0;padding-block:0}.nfc-gallery .nf-prompt h2{font-size:clamp(18px,5.8cqw,25px)}.nfc-gallery .nf-prompt p{font-size:10px}}

/* Finished v5 learning recap; frozen portraits/names remain readable on phones. */
.nfc-gallery.nfc-result .nf-body{display:block;overflow-y:auto;overscroll-behavior:contain;padding-bottom:12px}
.nfc-gallery.nfc-result .nf-complete{margin:0 12px 12px}
.nfc-memory-review{text-align:left;margin:18px 12px 12px;border-top:1px solid #b1935460;padding-top:12px}
.nfc-memory-review h3{font-size:16px;line-height:1.25;margin:0 0 5px;color:#fff0cc}
.nfc-memory-review>p,.nfc-memory-clean{font-size:12px;line-height:1.4}
.nfc-memory-review ul{list-style:none;padding:0;margin:10px 0;display:grid;gap:8px}
.nfc-memory-person{display:flex;align-items:center;gap:12px;width:100%;min-height:60px;padding:6px;border:1px solid #b1935450;border-radius:8px;background:#102f39;color:#fff0cc;text-align:left;font:inherit}
button.nfc-memory-person{cursor:pointer;touch-action:manipulation}
.nfc-memory-person img{width:48px;height:54px;object-fit:cover;border-radius:4px;flex:none}
.nfc-memory-person span{font-size:14px;line-height:1.35;overflow-wrap:anywhere;min-width:0}
.nfc-memory-person:focus-visible,.nfc-memory-more:focus-visible{outline:3px solid #f6dfb0;outline-offset:2px}
.nfc-memory-more{display:block;margin:8px auto}
.nfc-gallery .nfc-status{font-size:12px;line-height:1.3;max-height:64px;overflow-y:auto;text-overflow:clip}
