.neighbors-shell{--gs-pad-x:1.25rem;--gs-answer-min-h:3.5rem;min-height:100dvh;display:flex;flex-direction:column;max-width:var(--max-width);margin:0 auto;padding:0 1.25rem 1.5rem}.neighbors-error,.neighbors-loading{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.85rem;text-align:center;padding:2rem 0;color:var(--color-muted)}.neighbors-error p{margin:0;color:var(--color-ink);max-width:22rem}.neighbors-stage{position:relative;display:flex;flex-direction:column;flex:1 1;min-height:4.5rem;gap:.55rem;padding-top:.35rem}.neighbors-stage .answer-stamp{z-index:30}.neighbors-stage .gs-stepper{margin:.25rem 0 .15rem}.neighbors-stage .gs-stat-row{margin:0 0 .25rem;justify-content:center}.neighbors-stage .gs-stage-asset{max-width:5rem}.neighbors-focus-flag{width:4.5rem;height:3rem;object-fit:cover;border-radius:4px;border:1px solid var(--color-border);box-shadow:0 1px 0 color-mix(in srgb,var(--color-ink) 8%,transparent)}.neighbors-map{position:relative;isolation:isolate;width:100%;margin:.15rem 0 .35rem;border-radius:var(--radius);border:1px solid var(--color-border);background:color-mix(in srgb,var(--color-ink) 88%,#1a3a55);overflow:hidden;aspect-ratio:16/11;max-height:min(38vh,300px);flex-shrink:0}.neighbors-map-svg{position:relative;z-index:0;display:block;width:100%;height:100%;pointer-events:none}.neighbors-map-ocean{fill:color-mix(in srgb,#0f2740 70%,var(--color-bg))}.neighbors-map-country{fill:color-mix(in srgb,var(--color-muted) 55%,#2a3340);stroke:color-mix(in srgb,var(--color-bg) 28%,transparent);stroke-width:.35;pointer-events:none;transition:fill var(--duration-stamp) var(--ease-standard),stroke var(--duration-stamp) var(--ease-standard)}.neighbors-map-country--focus{fill:var(--color-reward,#c99a3b);stroke:color-mix(in srgb,var(--color-reward,#c99a3b) 40%,#1a2230);stroke-width:.4}.neighbors-map-country--found{fill:var(--color-success,#1b7a72);stroke:color-mix(in srgb,var(--color-success,#1b7a72) 45%,#1a2230);stroke-width:.4}.neighbors-map-label-bg{fill:none;opacity:0;pointer-events:none}.neighbors-map-label{fill:#0f172a;font-size:4.2px;font-weight:600;font-family:var(--font-ui);paint-order:stroke fill;stroke:#f8fafc;stroke-width:.55px;filter:none;text-shadow:none}.neighbors-map-label--target{font-size:4.5px;font-weight:700}.neighbors-map-label--found{fill:#0f172a;font-size:3.9px;font-weight:500;paint-order:stroke fill;stroke:#f8fafc;stroke-width:.5px;filter:none;text-shadow:none}.neighbors-map-toolbar{position:absolute;top:.5rem;right:.5rem;z-index:10;display:flex;flex-direction:column;align-items:stretch;gap:.35rem;padding:.35rem;border-radius:calc(var(--radius) + 2px);background:color-mix(in srgb,var(--color-surface) 92%,transparent);border:1px solid color-mix(in srgb,var(--color-border) 80%,transparent);box-shadow:0 1px 4px color-mix(in srgb,var(--color-ink) 18%,transparent);pointer-events:auto}.neighbors-map-zoom{box-sizing:border-box;min-height:var(--touch-min,44px);width:var(--touch-min,44px);height:var(--touch-min,44px);padding:0;border:none;border-radius:4px;background:var(--color-accent);color:#fff;font-size:1.25rem;line-height:1;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.neighbors-map-zoom,.neighbors-map-zoom--reset{min-width:var(--touch-min,44px);font-weight:700}.neighbors-map-zoom--reset{width:auto;padding:0 .55rem;font-size:.72rem;letter-spacing:.02em;text-transform:uppercase}.neighbors-map-zoom:disabled{opacity:.45;cursor:not-allowed}.neighbors-map-fallback{position:relative;z-index:0;display:grid;place-items:center;height:100%;color:#cbd5e1;font-size:.85rem;pointer-events:none}[data-theme=dark] .neighbors-map{background:#0c121c;border-color:var(--color-border)}[data-theme=dark] .neighbors-map-ocean{fill:#0a1624}[data-theme=dark] .neighbors-map-country{fill:#3a4558;stroke:#1a2230}.neighbors-found{padding:.2rem 0 .1rem;margin:0;flex-shrink:0}.neighbors-found-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem .75rem;margin:0 0 .3rem;flex-wrap:wrap}.neighbors-found-title{margin:0;font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--color-muted)}.neighbors-found-meta{margin:0;display:inline-flex;align-items:baseline;gap:.4rem;font-size:.72rem;font-weight:600;color:var(--color-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.neighbors-found-remaining{color:var(--color-ink);font-weight:700}.neighbors-found-list{display:flex;flex-wrap:wrap;gap:.25rem .3rem;margin:0;padding:0;list-style:none}.neighbors-found-chip{display:inline-flex;align-items:center;gap:.25rem;max-width:100%;padding:.12rem .35rem .12rem .22rem;border-radius:4px;background:color-mix(in srgb,var(--color-success) 10%,var(--color-surface));border:1px solid color-mix(in srgb,var(--color-success) 28%,var(--color-border));font-size:.72rem;font-weight:600;line-height:1.2;color:var(--color-ink)}.neighbors-found-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.neighbors-found-chip img{width:1rem;height:.7rem;object-fit:cover;border-radius:1px;border:1px solid var(--color-border);flex-shrink:0}.neighbors-found-empty{margin:0;font-size:.72rem;line-height:1.35;color:var(--color-muted)}.neighbors-feedback-msg{text-align:center;margin:0;font-size:.9rem;font-weight:600;color:var(--color-ink)}.neighbors-text-form{display:flex;flex-direction:column;gap:.65rem;margin-top:.25rem}.neighbors-ac{position:relative}.neighbors-text-input{width:100%;min-height:3.5rem;padding:.9rem 1.1rem;border:2px solid var(--color-border);border-radius:var(--radius-button);background:var(--color-surface);color:var(--color-text);font-size:1.125rem;font-weight:600}.neighbors-text-input:focus-visible{outline:2px solid var(--color-success);outline-offset:2px;border-color:var(--color-success)}.neighbors-text-input[data-state=correct]{border-color:var(--color-success);background:color-mix(in srgb,var(--color-success) 12%,var(--color-surface))}.neighbors-text-input[data-state=wrong]{border-color:var(--color-error);background:color-mix(in srgb,var(--color-error) 12%,var(--color-surface))}.neighbors-ac-list{position:absolute;z-index:8;left:0;right:0;top:calc(100% + .25rem);margin:0;padding:.25rem;list-style:none;max-height:min(40vh,14rem);overflow-y:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-elevated)}.neighbors-ac-option{display:flex;align-items:center;gap:.6rem;width:100%;min-height:var(--touch-min);padding:.5rem .75rem;border:none;border-radius:calc(var(--radius) - 4px);background:transparent;color:var(--color-text);font-size:.95rem;text-align:left;cursor:pointer}.neighbors-ac-option img{width:1.5rem;height:1rem;object-fit:cover;border-radius:2px;border:1px solid var(--color-border);flex-shrink:0}.neighbors-ac-option--active,.neighbors-ac-option:hover{background:var(--color-accent-light)}.neighbors-guess-btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:3.5rem;padding:.85rem 1rem;border:none;border-radius:var(--radius-button);background:var(--color-primary,var(--color-success));color:#fff;font-family:var(--font-ui);font-size:1.05rem;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent}.neighbors-guess-btn:disabled{opacity:.45;cursor:not-allowed}.neighbors-stage .gs-secondary{margin-top:auto;padding-top:.75rem}.neighbors-finished{display:flex;flex-direction:column;align-items:center;gap:.45rem;padding:.75rem 0 .5rem;flex:1 1;text-align:center}.neighbors-finished .end-outcome,.neighbors-finished .gs-outcome-header{max-width:22rem}.neighbors-finished .gs-score-hero{margin:.15rem 0 .25rem}.neighbors-finished--weak .gs-score-hero-value{color:var(--color-ink)}.neighbors-finished--strong .gs-score-hero-value{color:var(--color-success)}.neighbors-finished .end-reward-module{text-align:left;margin-top:.25rem}.neighbors-missing{margin:0;max-width:22rem;font-size:.85rem;line-height:1.45;color:var(--color-muted)}.neighbors-finished .end-retry-pulse,.neighbors-finished .gs-primary-bar,.neighbors-finished .gs-secondary{width:100%;max-width:22rem}.neighbors-finished .end-retry-pulse{margin-top:.35rem}@media (min-width:480px){.neighbors-map{max-height:min(44vh,360px)}}