/* Luminous atlas: drawn from visible controls, placements, and confirmed connections. */
[data-build-mode]{--build-ground:#14261f;--build-cell:#20392e;--build-rule:#63826e;--build-ink:#e6f1e8;--build-mint:#b9e8ca;--build-gold:#dfbd7d;--build-violet:#b8ace0;--build-thread:#dfbd7d}
.family-game [data-build-mode] .build-atlas-ground{background:var(--build-ground);border-color:var(--build-rule);scrollbar-color:var(--build-rule) var(--build-ground)}
.family-game [data-build-mode] .build-atlas-lattice{min-width:600px;isolation:isolate}
.build-atlas-wiring{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.build-atlas-thread{stroke-linecap:round}
.family-game [data-build-mode] .build-atlas-lattice .build-atlas-cell{color:var(--build-ink);border-radius:6px;line-height:1.15;padding:.25rem;min-height:48px}
.family-game [data-build-mode] .build-atlas-lattice .build-atlas-cell svg{fill:var(--build-ground);stroke:#456352;stroke-width:1.3}
.family-game [data-build-mode] .build-atlas-lattice .build-atlas-cell.is-filled svg{fill:var(--build-cell);stroke:var(--build-thread);stroke-width:2}
.family-game [data-build-mode] .build-atlas-lattice .build-atlas-cell.is-shared svg{stroke:var(--build-mint);stroke-width:4}
.family-game [data-build-mode] .build-atlas-lattice .build-atlas-cell.family-fixed svg{stroke:var(--build-mint);stroke-width:3}
.family-game [data-build-mode] .build-atlas-lattice .build-atlas-cell[aria-pressed=true] svg{fill:#304b3b;stroke:var(--build-mint);stroke-width:3}
.family-game [data-build-mode] .build-atlas-lattice .build-atlas-cell:hover:not(:disabled) svg{fill:#304b3b}
.family-game [data-build-mode] .build-atlas-lattice .build-atlas-cell:disabled{opacity:1}
.family-game [data-build-mode] .build-atlas-lattice .build-atlas-cell span{white-space:normal;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.78rem}
.family-game [data-build-mode] .build-atlas-lattice .build-atlas-cell small{color:var(--build-mint);font-size:.63rem}
.family-game [data-build-mode] .build-atlas-cell:focus-visible{outline:3px solid #f5c080;outline-offset:3px;z-index:3}
.build-atlas-legend{display:flex;gap:.5rem 1.7rem;flex-wrap:wrap;padding-left:1.6rem;margin:.8rem 0 1.3rem;font-size:.88rem}
.build-atlas-legend li::marker{color:var(--build-thread);font-weight:750}
.build-atlas-caption{font-size:.85rem;letter-spacing:.035em;font-weight:650;margin:1.2rem 0 -.6rem}
.family-game [data-build-mode] .build-atlas-bridge,.family-game [data-build-mode] .build-atlas-evidence{display:flex;gap:0;flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding:1.7rem 1.1rem 1.4rem;list-style:none;background:var(--build-ground);border:1px solid var(--build-rule);border-radius:12px;color:var(--build-ink);scrollbar-color:var(--build-rule) var(--build-ground)}
.family-game [data-build-mode] .build-atlas-bridge>li,.family-game [data-build-mode] .build-atlas-evidence>li{position:relative;flex:1 0 130px;min-width:0;text-align:center;border:1px solid #8d805f;background:var(--build-cell);padding:1.1rem .6rem;margin-right:1.7rem;overflow-wrap:anywhere;font-size:.92rem;font-weight:600;align-content:center}
.family-game [data-build-mode] .build-atlas-bridge>li:last-child,.family-game [data-build-mode] .build-atlas-evidence>li:last-child{margin-right:0}
.build-atlas-bridge>li:not(:last-child)::after,.build-atlas-evidence>li:not(:last-child)::after{content:'';position:absolute;left:100%;width:1.7rem;top:50%;border-top:2px solid var(--build-gold)}
.build-atlas-bridge>li::before,.build-atlas-evidence>li::before{content:attr(data-station);position:absolute;top:-.7rem;left:calc(50% - .7rem);background:var(--build-ground);color:var(--build-mint);border:1px solid var(--build-rule);border-radius:50%;width:1.4rem;height:1.4rem;font:600 .7rem/1.3rem system-ui}
.family-game [data-build-mode] .build-atlas-bridge>li.is-hinge{border-color:var(--build-violet);border-width:2px;border-radius:22px 0 22px 0}
.family-game [data-build-mode] .build-atlas-bridge>li.is-current{border-bottom:4px solid var(--build-mint)}
.family-game [data-build-mode] .build-atlas-hinge{padding:1rem 1.2rem;border:1px solid var(--build-gold);background:var(--build-ground);color:var(--build-ink);border-radius:12px}
.family-game [data-build-mode] .build-atlas-hinge[data-turned=true]{border-color:var(--build-violet)}
.build-atlas-exits{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;list-style:none;padding:0;max-width:none}
.build-atlas-exits>li{border-bottom:1px solid #63826e;padding-bottom:.5rem}
.build-atlas-exits>li p{font-size:.9rem;margin:.65rem 0}
.family-game [data-build-mode] .build-atlas-network{background:var(--build-ground);border:1px solid var(--build-rule);border-radius:12px}
.family-game [data-build-mode] .build-atlas-network .ww-lines{color:var(--build-ink)}
.family-game [data-build-mode] .build-atlas-network .ww-line-valid{stroke:var(--build-gold);stroke-width:1.25}
.family-game [data-build-mode] .build-atlas-network .ww-line-open{stroke:#b0a9ba;stroke-dasharray:1 2;stroke-width:.8}
.family-game [data-build-mode] .build-atlas-network .ww-arrow-valid{fill:var(--build-gold)}
.family-game [data-build-mode] .build-atlas-network .ww-arrow-open{fill:#b0a9ba}
.family-game [data-build-mode] .build-atlas-network .ww-lines text{fill:var(--build-mint);stroke:var(--build-ground);font-weight:700}
.family-game [data-build-mode] .build-atlas-network .ww-cell{color:var(--build-ink);background:transparent;border:0}
.family-game [data-build-mode] .build-atlas-network .ww-hex polygon{fill:var(--build-cell);stroke:var(--build-gold);stroke-width:1.5}
.family-game [data-build-mode] .build-atlas-network .ww-cell-note{color:#bdd0c3}
.family-game [data-build-mode] .build-atlas-network .ww-locked .ww-hex polygon{stroke:var(--build-mint);stroke-width:3.5}
.family-game [data-build-mode] .build-atlas-network .ww-changed .ww-hex polygon{stroke:var(--build-violet);stroke-width:3}
.family-game [data-build-mode] .build-atlas-network .ww-cell[aria-pressed=true] .ww-hex polygon{fill:#3b4b39;stroke:var(--build-mint);stroke-width:4}
.family-game [data-build-mode] .build-atlas-network .ww-cell:focus-visible{outline:3px solid #f5c080;outline-offset:3px}
.build-atlas-option{display:block;width:100%;height:150px;margin-bottom:1rem;background:var(--build-ground);border-radius:8px}
.build-atlas-option line{stroke:var(--build-gold);stroke-width:2}
.build-atlas-option .is-open{stroke-dasharray:5 5}
.build-atlas-option :is(circle,rect){fill:var(--build-cell);stroke:var(--build-mint);stroke-width:2}
.family-game [data-build-mode] .build-atlas-switch{position:relative;padding:1rem 1.2rem 1.2rem;margin:.75rem 0;border:1px solid var(--build-violet);border-radius:12px;background:var(--build-ground);color:var(--build-ink)}
.family-game [data-build-mode] .build-atlas-switch.is-on{border-color:var(--build-gold)}
.build-atlas-circuit{width:100%;height:56px;display:block;color:var(--build-violet)}
.is-on>.build-atlas-circuit{color:var(--build-gold)}
.build-atlas-circuit :is(path,circle){stroke:currentColor;stroke-width:2.5;fill:var(--build-ground)}
.build-atlas-circuit .build-atlas-conductor{fill:none}
.build-atlas-circuit .build-atlas-direction{fill:none}
.family-game [data-build-mode] .build-atlas-switch .family-machine-state{color:var(--build-mint)}
.family-game [data-build-mode] .build-atlas-evidence>li{border-radius:2px 12px 2px 12px}
.family-game [data-build-mode] .build-atlas-evidence>li.is-endpoint{border-color:var(--build-mint)}
.family-game [data-build-mode] .build-atlas-evidence>li.is-inspected{border:2px solid var(--build-violet);background:#343347}
.family-game [data-build-mode] .build-atlas-territory{background:var(--build-ground);border:1px solid var(--build-rule);border-radius:12px;padding:.75rem;color:var(--build-ink)}
.build-atlas-territory svg>polygon[data-owner=a]{fill:var(--build-gold);fill-opacity:.22}
.build-atlas-territory svg>polygon[data-owner=b]{fill:var(--build-violet);fill-opacity:.22}
.build-atlas-territory svg>line[data-owner=a]{stroke:var(--build-gold)}
.build-atlas-territory svg>line[data-owner=b]{stroke:var(--build-violet);stroke-dasharray:14 4}
.build-atlas-territory svg>line[data-owner=seed]{stroke:var(--build-mint)}
.build-atlas-territory svg>line[data-owner=free]{stroke:#849b8b}
.build-atlas-territory svg>g>rect{fill:var(--build-cell);stroke:var(--build-rule)}
.build-atlas-territory svg text{fill:var(--build-ink);font-size:14px}
.family-game [data-build-mode] .build-atlas-prism{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--build-rule);border:1px solid var(--build-rule);padding:0;overflow:hidden;border-radius:34px 0 34px 0;max-width:620px;color:var(--build-ink);margin:1.5rem 0}
.build-atlas-prism>span{padding:1.4rem .8rem;text-align:center;background:var(--build-ground);overflow-wrap:anywhere}
.build-atlas-prism.is-turned>span:nth-child(2n){background:#2b2940;border-bottom:2px solid var(--build-violet)}
.build-atlas-prism.is-turned>span:nth-child(2n+1){border-top:2px solid var(--build-gold)}
.build-atlas-readings .family-consent{border-bottom:1px solid #63826e;padding:.75rem .4rem}
.family-game [data-build-mode] .build-atlas-world-row{grid-template-columns:minmax(0,1fr) 80px minmax(0,1fr);gap:.7rem;border-bottom:1px solid var(--build-rule);padding:1rem;background:var(--build-ground);color:var(--build-ink)}
.family-game [data-build-mode] .build-atlas-world-row small{color:#bdd0c3;display:block}
.build-atlas-transfer{width:100%;height:44px;color:var(--build-rule)}
.build-atlas-transfer :is(path,circle){stroke:currentColor;stroke-width:2;fill:none}
.is-mapped>.build-atlas-transfer{color:var(--build-gold)}
.build-atlas-world-row>label,.build-atlas-world-row>span{border:1px solid var(--build-gold);border-radius:4px;padding:.7rem}
.build-atlas-world-row>span:last-child{border-color:var(--build-violet)}
.build-atlas-result{--build-ground:#14261f;--build-cell:#20392e;--build-rule:#63826e;--build-ink:#e6f1e8;--build-gold:#dfbd7d;--build-violet:#b8ace0;background:var(--build-ground);color:var(--build-ink);border:1px solid var(--build-rule);border-radius:10px;margin:1rem 0;overflow:hidden}
.build-atlas-keepsake{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center;padding:1.4rem}
.build-atlas-piece{display:grid;place-items:center;flex:1 1 90px;max-width:160px;min-height:74px;border:1px solid var(--build-gold);background:var(--build-cell);padding:.65rem;text-align:center;font-size:.8rem;line-height:1.3;overflow-wrap:anywhere;color:var(--build-ink)}
.build-atlas-piece:nth-child(2n){border-color:var(--build-violet)}
.build-atlas-result-hive .build-atlas-piece,.build-atlas-result-mosaic .build-atlas-piece{border-radius:26px 4px 26px 4px}
.build-atlas-result-prism .build-atlas-piece{border-radius:22px 0 22px 0;flex:1 1 max-content;min-width:0;max-width:100%;box-sizing:border-box}
.build-atlas-result-route .build-atlas-piece{border-radius:50%;min-height:90px;max-width:120px}
.build-atlas-result-machine .build-atlas-piece{border-top-width:4px;border-bottom-width:4px}
.build-atlas-result-worlds .build-atlas-piece{border-right-color:var(--build-violet);border-radius:0 20px 0 20px}
.build-atlas-result-network .build-atlas-piece{border-radius:8px 30px 8px 30px}
.build-atlas-result-territory .build-atlas-piece{border-radius:22px 22px 0 0}
.build-atlas-result figcaption{color:#bdd0c3;border-top:1px solid #456352;padding:.65rem 1rem;font-size:.78rem}
@media(max-width:600px){.family-game [data-build-mode] .build-atlas-world-row{grid-template-columns:minmax(0,1fr);gap:.3rem}.build-atlas-world-row .build-atlas-transfer{width:70px;height:30px;transform:rotate(90deg);margin:.3rem auto}.family-game [data-build-mode] .build-atlas-world-row>div{min-width:0}.family-game [data-build-mode] .build-atlas-world-row select{max-width:100%}.build-atlas-keepsake{padding:1rem;gap:.6rem}}

.family-game [data-build-mode] .build-atlas-network .ww-cell:hover .ww-hex polygon{fill:#304b3b}
.family-game [data-build-mode] .build-atlas-build-options button{display:flex;flex-direction:column;align-items:flex-start;padding:1rem;background:var(--build-ground);color:var(--build-ink);border:1px solid var(--build-rule);border-radius:3px 12px 3px 12px}
.family-game [data-build-mode] .build-atlas-build-options button:disabled{opacity:.65}
.family-game [data-build-mode] .build-atlas-build-options button:hover:not(:disabled){background:var(--build-cell);border-color:var(--build-gold)}
.build-atlas-link-icon{width:100%;height:32px;margin-bottom:.6rem;color:var(--build-gold)}
.build-atlas-link-icon :is(path,circle){stroke:currentColor;fill:none;stroke-width:2}
