/* Brief 2 Batch G: one shared house drawing (app/house.js). Colors live here only. */
.nh-house{--nh-ink:#0C0D0B;--nh-line:#4A4D45;--nh-dim:#8C9085;--nh-lime:#D4FF3A;--nh-paper:#F2F2EC;background:#151713;border-radius:14px;padding:8px 6px 6px;color:var(--nh-paper);max-width:100%;box-sizing:border-box}
.nh-svg{display:block;width:100%;height:auto;overflow:visible}
.nh-d{stroke:var(--nh-line)}.nh-d .nh-rf{stroke:var(--nh-dim)}.nh-d .nh-dk{stroke:#2E312A}.nh-d .nh-ln{stroke:#5C6055}
.nh-s{transform-box:fill-box;transform-origin:center}
.nh-s .nh-r{fill:var(--nh-ink);stroke:var(--nh-dim);stroke-width:1.6}
.nh-s text{font:700 10px "Instrument Sans",Arial,sans-serif;fill:var(--nh-dim);text-anchor:middle;dominant-baseline:central;pointer-events:none}
.nh-s .nh-p{fill:none;stroke:var(--nh-lime);stroke-width:2;opacity:0}
.nh-gap .nh-r{fill:var(--nh-lime);stroke:var(--nh-lime)}.nh-gap text{fill:var(--nh-ink)}
.nh-ok .nh-r{fill:var(--nh-paper);stroke:var(--nh-paper)}.nh-ok text{fill:var(--nh-ink)}
.nh-sealed .nh-r{fill:var(--nh-lime);stroke:var(--nh-paper);stroke-width:2}.nh-sealed text{fill:var(--nh-ink)}
.nh-na{opacity:.35}.nh-na .nh-r{stroke-dasharray:2 3}
.nh-unsure .nh-r{stroke:var(--nh-paper);stroke-dasharray:3 2}
.nh-cur .nh-r{stroke:var(--nh-lime);stroke-width:2.6}.nh-cur.nh-none text,.nh-cur.nh-unsure text{fill:var(--nh-lime)}
.nh-cur .nh-p{animation:nh-pulse 1.6s ease-out infinite}
@keyframes nh-pulse{0%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(2.1)}}
@media (prefers-reduced-motion:reduce){.nh-cur .nh-p{animation:none;opacity:.8}}
.nh-house a:focus-visible{outline:none}.nh-house a:focus-visible .nh-r{stroke:var(--nh-lime);stroke-width:3}
.nh-mini{max-width:220px;padding:4px 3px 2px;border-radius:10px}
.nh-mini .nh-s text{font-size:11px}
.nh-leg{list-style:none;margin:8px 4px 2px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;font:500 13px "Instrument Sans",Arial,sans-serif}
.nh-leg a{color:var(--nh-paper);text-decoration:none;display:flex;align-items:center;gap:7px;min-height:28px}
.nh-leg .nh-n{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:11px;border:1.6px solid var(--nh-dim);color:var(--nh-dim)}
.nh-leg .nh-gap .nh-n{background:var(--nh-lime);border-color:var(--nh-lime);color:var(--nh-ink)}
.nh-leg .nh-ok .nh-n{background:var(--nh-paper);border-color:var(--nh-paper);color:var(--nh-ink)}
.nh-leg .nh-sealed .nh-n{background:var(--nh-lime);border-color:var(--nh-paper);color:var(--nh-ink)}
.nh-leg .nh-na{opacity:.45}
/* H: homepage greeting */
.nh-greet{background:#0C0D0B;padding:18px 0 22px;border-bottom:2px solid #0C0D0B}
.nh-greet .wrap{max-width:560px}
.nh-greet-k{margin:0 0 10px;font:800 12px/1 Archivo,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#D4FF3A}
.nh-greet-go{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;min-height:52px;padding:12px 16px;border-radius:12px;background:#D4FF3A;color:#0C0D0B;font:800 17px/1.2 Archivo,Arial,sans-serif;text-decoration:none}
.nh-greet-go.nh-g-proof{background:#F2F2EC}
.nh-greet-go:focus-visible{outline:3px solid #F2F2EC;outline-offset:3px}
/* H: homepage map markers in your house's colors */
.hl-b.nh-st-none .hl-n{background:#F2F2EC!important;color:#4A4D45!important}
.hl-b.nh-st-unsure .hl-n{background:#F2F2EC!important;color:#4A4D45!important;outline:2px dashed #4A4D45}
.hl-b.nh-st-ok .hl-n{background:#fff!important;color:#0C0D0B!important}
.hl-b.nh-st-na{opacity:.45}
/* H: guide page mini house */
.p3-gs.nh-gs-on{grid-template-columns:minmax(0,1fr)}
.nh-gs{grid-column:1/-1}.nh-gs .nh-mini{max-width:260px}
/* J: yearly recheck, gray outline over the sealed house */
.nh-is-rc .nh-s{opacity:.55}
.nh-rc circle{animation:nh-rc 2.4s ease-in-out infinite}
@keyframes nh-rc{50%{stroke:#F2F2EC}}
@media (prefers-reduced-motion:reduce){.nh-rc circle{animation:none}}
.nh-greet-s{margin:10px 0 0;color:#C8CBC0;font:400 15px/1.45 "Instrument Sans",Arial,sans-serif}
.nh-card a.wk-txt{color:#0C0D0B;text-decoration:underline}
.nh-greet-go.nh-g-walk{background:#F2F2EC}.nh-greet-go+.nh-greet-go{margin-top:8px}
/* tour v1: unexplored spots are hollow dashed rings; a spot that just got sealed pops green */
.nh-none .nh-r{fill:transparent;stroke-dasharray:3 2.4}
.nh-just .nh-r{animation:nh-just .9s ease-out both}.nh-just{animation:nh-jpop .9s ease-out both}
@keyframes nh-just{0%{fill:#0C0D0B;stroke:#D4FF3A}60%{fill:#D4FF3A}100%{fill:#D4FF3A}}
@keyframes nh-jpop{0%{transform:scale(1)}40%{transform:scale(1.45)}100%{transform:scale(1)}}
.nh-mouse{pointer-events:none;transition:transform .7s cubic-bezier(.4,.1,.3,1)}
.nh-bar{display:flex;gap:3px;margin:8px 0 0}.nh-bar i{flex:1;height:10px;border-radius:3px;background:#2E312A}.nh-bar i.op{background:#5C6055}.nh-bar i.on{background:#D4FF3A}
.nh-fill .nh-d path,.nh-fill .nh-d rect{animation:nh-fl 1.1s ease-out both}
.nh-fill .nh-s .nh-r{animation:nh-just .5s ease-out both;animation-delay:.8s}
@keyframes nh-fl{0%{stroke:#4A4D45}100%{stroke:#D4FF3A}}
.nh-green .nh-d path,.nh-green .nh-d rect{stroke:#D4FF3A}
@media (prefers-reduced-motion:reduce){.nh-just,.nh-just .nh-r,.nh-fill .nh-d path,.nh-fill .nh-d rect,.nh-fill .nh-s .nh-r{animation:none}.nh-mouse{transition:none}}
/* tour v1: mouse-proof finish */
.tr-fin{margin:6px 0 18px}
.tr-stage{position:relative}.tr-sky{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.tr-hd{font:900 clamp(30px,8.6vw,46px)/1 Archivo,Arial,sans-serif;font-stretch:75%;color:#D4FF3A;margin:16px 0 8px;letter-spacing:-.01em}
.tr-sub{font:500 16px/1.4 "Instrument Sans",Arial,sans-serif;color:#F2F2EC;margin:0 0 14px}
.tr-btns{display:grid;gap:10px}
.tr-rc{margin-top:16px;padding:14px;border:1.5px solid #4A4D45;border-radius:12px;display:grid;gap:8px;color:#F2F2EC}.tr-rc b{font:800 18px Archivo,Arial,sans-serif}.tr-rc span{font-size:14px;color:#C8CBC0}
.tr-milestone{margin:6px 0 14px;padding:14px;border-radius:12px;background:#1B1E17;border:1.5px solid #D4FF3A;color:#F2F2EC}.tr-milestone b{display:block;font:800 20px/1.2 Archivo,Arial,sans-serif;color:#D4FF3A}
.tr-score{font:800 13px/1 Archivo,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#C8CBC0;margin:0 0 6px}
.tr-top{margin:14px 0 16px}.tr-big{margin:0;font:900 64px/1 Archivo,Arial,sans-serif;font-stretch:75%;color:#F2F2EC}.tr-big b{color:#D4FF3A;font-weight:900}.tr-big span{font-size:30px;letter-spacing:.06em;color:#D4FF3A}
.tr-ex{color:#D4FF3A;font-weight:700}
/* tour v1: house score badge on the My plan tab */
nav.ab a{position:relative}.ab-sc{position:absolute;top:4px;left:calc(50% + 6px);min-width:22px;padding:1px 4px;border-radius:8px;background:#D4FF3A;color:#0C0D0B;font:800 10px/1.3 Archivo,Arial,sans-serif;border:1.5px solid #0C0D0B;pointer-events:none}
nav.ab a:has(.ab-sc) .ab-dot{display:none}
/* Enhanced mode toggle */
.fx-tg.fx-tg{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:8px 12px;border-radius:999px;border:1.5px solid #4A4D45;background:transparent;color:#C8CBC0;font:700 13px/1 "Instrument Sans",Arial,sans-serif;cursor:pointer}
.fx-tg .fx-st{margin-left:2px;padding:3px 7px;border-radius:999px;background:#2E312A;color:#C8CBC0;font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.fx-tg.fx-tg[aria-pressed="true"]{border-color:#D4FF3A;color:#F2F2EC}.fx-tg[aria-pressed="true"] svg{color:#D4FF3A}.fx-tg[aria-pressed="true"] .fx-st{background:#D4FF3A;color:#0C0D0B}
.fx-tg:focus-visible{outline:3px solid #D4FF3A;outline-offset:2px}
[data-fx-toggle]{display:flex;justify-content:center;margin:14px 0 0;min-height:40px}
