.family-game{max-width:980px}.family-game .game-heading h1{font-size:2.3rem}.family-game .game-heading nav{display:flex;gap:1.5rem;flex-wrap:wrap}.family-game .player-field{margin:1rem 0;max-width:32rem}.family-game #game-content{max-width:880px}.family-game h2{max-width:28ch;text-wrap:balance}.family-game h4{font-size:1.1rem;font-weight:700;margin:0 0 .6rem}.family-game .family-intro{margin:0 0 1rem;color:var(--muted)}.family-game .family-choices,.family-game .family-picks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:1rem 0}.family-game .family-choices button{justify-content:flex-start;text-align:left;overflow-wrap:anywhere}.family-game .family-words{display:flex;flex-wrap:wrap;gap:.5rem 1.3rem;padding:0;list-style:none}.family-game .family-words li{font-weight:650}.family-game .family-picks label{display:flex;align-items:center;gap:.7rem;padding:.65rem;margin:0;border:1px solid var(--line);border-radius:8px;font-weight:550;cursor:pointer}.family-game input[type=checkbox],.family-game input[type=radio]{width:1.3rem;min-height:1.3rem;height:1.3rem;flex:0 0 1.3rem;accent-color:var(--accent)}.family-game .family-picks label:has(:checked){background:#e0f1e7;border-color:var(--accent)}.family-game .family-consent{display:flex;align-items:flex-start;gap:.7rem;font-weight:500}.family-game .family-consent input{margin-top:.25rem}.family-game .family-saved,.family-game .family-artifacts{list-style:none;padding:0;max-width:none}.family-game .family-saved>li{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line)}.family-game .family-saved p{margin:.25rem 0 0}.family-game .family-artifacts>li{padding:1.4rem 0;border-top:1px solid var(--line)}.family-game .family-artifacts .actions{margin-bottom:0}.family-game .family-object-title{font-size:1.15rem;font-weight:650}.family-game .family-resume{background:#edf5ef;padding:.1rem 1.2rem 1rem;border-radius:12px;margin:1.5rem 0}.family-game .family-mode-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.5rem}.family-game .family-mode-list button{display:block;width:100%;background:transparent;color:var(--ink);text-align:left;border-radius:0;border-bottom:1px solid var(--line);padding:1rem 0}.family-game .family-mode-list button:hover{color:var(--accent);background:#edf5f0}.family-game .family-mode-list strong{display:block}.family-game .family-mode-list small{font-weight:400}.family-game .family-preview{border:1px solid #8ea99f;border-radius:12px;padding:1.2rem;margin:1.5rem 0;background:#f4f8f5}.family-game .family-preview>h3{margin-top:0}.family-game .family-preview .family-preview-content{pointer-events:none}.family-game .family-feedback{font-weight:650;color:#315943}.family-game .family-counter{font-variant-numeric:tabular-nums}.family-game .family-board-summary{font-size:.95rem;color:var(--muted)}.family-game .family-hexboard{position:relative;width:100%;max-width:540px;aspect-ratio:1;margin:1.3rem auto;background:#f4f8f5;border-radius:12px}.family-game .family-hex{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:28%;aspect-ratio:1.15;min-height:0;background:transparent!important;border:0;padding:0 .3rem;color:var(--ink);display:flex;flex-direction:column;justify-content:center;font-size:clamp(.75rem,2vw,1rem);overflow:visible}.family-game .family-hex svg{position:absolute;inset:0;width:100%;height:100%;fill:#fff;stroke:#829d90;stroke-width:2;z-index:-1}.family-game .family-hex:hover svg{fill:#e0f1e7;stroke:var(--accent)}.family-game .family-hex[aria-pressed=true]{color:var(--ink)}.family-game .family-hex[aria-pressed=true] svg{fill:#cce9d9;stroke:#086b62;stroke-width:4}.family-game .family-hex span{max-width:100%;overflow-wrap:anywhere;line-height:1.15}.family-game .family-hex small{font-size:.7em;margin-top:.25rem}.family-game .family-fixed svg{fill:#e3ebe6;stroke:#52665f}.family-game .family-paths{padding-left:1.4rem}.family-game .family-paths li{padding:.5rem 0;overflow-wrap:anywhere}.family-game .family-token-rows{margin:1rem 0}.family-game .family-token-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--line);align-items:center}.family-game .family-token-row button{padding:.45rem .8rem}.family-game .family-tokens{display:flex;gap:.3rem}.family-game .family-token{display:block;width:1.15rem;height:1.15rem;background:var(--accent);border-radius:50%}.family-game .family-token.empty{background:transparent;border:1px solid #8ea99f}.family-game .family-current{font-weight:700}.family-game .family-turns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.family-game .family-turns section{padding:1rem 0;border-top:2px solid var(--line)}.family-game .family-turns .family-current-seat{border-color:var(--accent)}.family-game .family-table-wrap{overflow-x:auto;scrollbar-color:#799c8f #e8f1eb}.family-game .family-table-wrap table{min-width:0}.family-game .family-table-wrap td,.family-game .family-table-wrap th{overflow-wrap:anywhere}.family-game .family-source{font-size:.9rem}.family-game #room-tools:empty{display:none}.family-game #room-tools{margin-top:2rem}.family-game #copy-feedback{font-size:.95rem}.family-game textarea{min-height:6rem}.family-game .family-selected{background:#e0f1e7;padding:.75rem;border-radius:8px}.family-game .family-chip{font-size:.85rem;color:var(--muted);font-weight:400}.family-game .family-outcome{border-top:1px solid var(--line);padding-top:1rem;margin-top:2rem}.family-game .family-outcome>h3{margin-top:0}
@media(max-width:600px){.family-game .family-choices,.family-game .family-mode-list{grid-template-columns:1fr}.family-game .family-saved>li{align-items:flex-start;flex-direction:column;gap:.6rem}.family-game .family-preview{padding:.85rem}.family-game .family-hexboard{max-width:370px}.family-game .family-picks{grid-template-columns:repeat(2,minmax(0,1fr))}.family-game .family-picks label{padding:.6rem .4rem;gap:.4rem;font-size:.95rem}.family-game .family-turns{grid-template-columns:1fr}.family-game .family-token-row{gap:.5rem}.family-game .family-hex small{font-size:.7em}}
.family-game .family-board-scroll{max-width:100%;overflow:auto;scrollbar-color:#799c8f #e8f1eb;margin:1.2rem 0;border:1px solid var(--line);border-radius:12px;background:#f4f8f5}.family-game .family-lattice{position:relative;min-width:440px;max-width:600px;aspect-ratio:1;margin:auto}.family-game .family-lattice-cell{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:calc(86% / var(--columns));aspect-ratio:1.15;min-height:48px;border:0;background:transparent!important;color:var(--ink);padding:.2rem;display:flex;flex-direction:column;font-size:.85rem;isolation:isolate}.family-game .family-lattice-cell svg{position:absolute;inset:0;width:100%;height:100%;fill:white;stroke:#829d90;stroke-width:2;z-index:-1}.family-game .family-lattice-cell:hover svg{fill:#e0f1e7;stroke:var(--accent)}.family-game .family-lattice-cell[aria-pressed=true]{color:var(--ink)}.family-game .family-lattice-cell[aria-pressed=true] svg{fill:#cce9d9;stroke:#086b62;stroke-width:4}.family-game .family-lattice-cell small{font-size:.65rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.family-game .family-lattice-cell span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.family-game .family-lattice-cell.family-fixed svg{fill:#e3ebe6;stroke:#52665f}.family-game .family-bridges{padding:0;list-style:none;max-width:none}.family-game .family-bridges>li{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line)}.family-game .family-bridges p{margin:.3rem 0}.family-game .family-draft-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.family-game .family-draft-cards button{flex-direction:column;align-items:flex-start;text-align:left;overflow-wrap:anywhere;padding:.65rem}.family-game .family-draft-cards button:disabled{opacity:.8}.family-game .family-draft-cards button[aria-pressed=true] small{color:#dceee5}.family-game .family-token-row select{max-width:20rem}.family-game .family-duel-rows .family-token-row{grid-template-columns:minmax(0,1fr) minmax(9rem,1fr)}
@media(max-width:600px){.family-game .family-draft-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.family-game .family-bridges>li{align-items:flex-start;flex-direction:column}.family-game .family-duel-rows .family-token-row{grid-template-columns:1fr;gap:.2rem}.family-game .family-lattice-cell{font-size:.8rem}}

.family-game button.secondary[aria-pressed=true],.family-game button.secondary[aria-pressed=true]:hover{background:#064d43;color:#fff;border-color:#064d43}
.family-game .family-board-pan-hint{display:none;font-size:.95rem;color:var(--muted)}
.family-game .family-revier-board{max-width:100%;overflow:auto;scrollbar-color:#799c8f #e8f1eb;margin:1rem 0}
.family-game .family-revier-board svg{display:block;width:100%;min-width:500px;max-width:620px;height:auto;margin:auto}
.family-game .family-revier-board svg text{font-size:18px;fill:currentColor}
.family-game .family-machine-switches{padding:0;list-style:none;max-width:none}
.family-game .family-machine-switches>li{padding:.8rem 0;border-bottom:1px solid var(--line)}
.family-game .family-machine-switches p{margin:.4rem 0}
.family-game .family-machine-switches .actions{margin:.6rem 0 0}
.family-game .family-route-words{display:flex;gap:.6rem 1.8rem;flex-wrap:wrap;margin:1.2rem 0;padding-left:1.4rem}
.family-game .family-route-words>li{padding-right:.3rem}
@media(max-width:480px){.family-game .family-board-pan-hint{display:block}}

/* Embedded features stay within their host's quiet, typographic game surface. */
.family-game .family-chain-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;max-width:32rem;margin:1.25rem 0}
.family-game .family-chain-cell{min-width:0;min-height:5rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;padding:.6rem .3rem;overflow-wrap:anywhere}
.family-game .family-chain-cell small{font-size:.8rem;font-weight:400}
.family-game .family-chain-cell:disabled{opacity:.55}
.family-game .family-chain-order{display:flex;flex-wrap:wrap;gap:.35rem 1.4rem;padding-left:1.4rem;margin:.6rem 0}
.family-game .family-chain-history>li{padding:.7rem 0;border-bottom:1px solid var(--line)}
.family-game .family-chain-history p{margin:.35rem 0}
.family-game .family-chain-grid button[aria-pressed=true] small{color:inherit}
.family-game .family-chain-links{padding-left:1.2rem;font-size:.9rem}
.family-game .wordtrap-map-scroll{overflow-x:auto;margin:1rem 0;border:1px solid var(--line);border-radius:12px;background:#f4f8f5;scrollbar-color:#799c8f #e8f1eb}
.family-game .wordtrap-map{position:relative;min-width:580px;aspect-ratio:640/420}
.family-game .wordtrap-map svg{position:absolute;inset:0;width:100%;height:100%}
.family-game .wordtrap-map path{fill:none;stroke:#829d90;stroke-width:2}
.family-game .wordtrap-node{position:absolute;transform:translate(-50%,-50%);width:110px;min-height:48px;padding:.4rem;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;color:var(--ink);border:1px solid #829d90;border-radius:8px}
.family-game .wordtrap-node.is-current{border:2px solid var(--accent)}
.family-game .wordtrap-node.is-trapped,.family-game button.wordtrap-node.is-trapped[aria-pressed=true]{background:#fbe9e5;color:#742c22;border-color:#a65b50}
.family-game .wordtrap-node.is-trapped small{color:inherit}
.family-game .wordtrap-node.is-safe{background:#e0f1e7}
.family-game .wordtrap-node small{line-height:1.2}
.family-game [data-preview] .wordtrap-node:disabled{opacity:1}
.family-game #wordtrap-move label span small{display:block}
.family-game #wordtrap-scan{margin-top:1.5rem}
.family-game #wordtrap-scan button{margin-top:.75rem}
@media(max-width:680px){.family-game .wordtrap-pan-hint{display:block}}
.family-variants{margin:1.5rem 0;padding:0;border:0;display:grid;gap:.65rem}
.family-variants legend{font-weight:700;margin-bottom:.65rem}
.family-variants label{display:flex;align-items:flex-start;gap:.7rem;padding:.8rem;border:1px solid var(--line,#c7ccc5);border-radius:12px;cursor:pointer}
.family-variants label:has(input:checked){background:var(--paper,#f3f4ec);border-color:var(--accent,#244b3d)}
.family-variants input{width:auto;flex:0 0 auto;margin-top:.3rem}
.family-variants small{display:block;font-weight:400;margin-top:.25rem}
.family-islands{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin:1.5rem 0}
.family-islands h3{margin-top:0}
.family-stack-grid{width:100%;table-layout:fixed;border-collapse:collapse;margin:1.25rem 0;font-variant-numeric:tabular-nums}
.family-stack-grid th,.family-stack-grid td{border:1px solid var(--line,#c7ccc5);padding:.7rem;text-align:center;overflow-wrap:anywhere;vertical-align:middle}
.family-stack-grid td{height:5.25rem}
.family-stack-grid tfoot td{height:auto;padding:.4rem}
.family-stack-grid button{width:100%;min-width:0;padding:.6rem .25rem}
.family-stack-preview{display:flex;gap:2rem;flex-wrap:wrap;margin:1rem 0;padding-left:1.5rem}
.family-watch-lanes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;margin:1.5rem 0}
.family-watch-lanes>section{min-width:0}
.family-watch-slot{border-top:1px solid var(--line,#c7ccc5);padding:1rem 0}
.family-watch-slot h4{margin:.25rem 0 .65rem}
.family-watch-slot .actions{gap:.4rem}
.family-breaker-routes li,.family-bridge-list li{margin:.7rem 0;overflow-wrap:anywhere}
@media(max-width:680px){.family-watch-lanes,.family-islands{grid-template-columns:1fr}.family-stack-grid th,.family-stack-grid td{padding:.35rem;font-size:.875rem}.family-stack-grid small{font-size:.75rem}.family-stack-preview{gap:.75rem 1.5rem}}

body[data-games-site=attance] .family-next-choices{display:grid;gap:1rem;width:100%}
body[data-games-site=attance] .family-next-choice p{font-size:.9rem;color:var(--muted);margin:.45rem 0 0}
body[data-games-site=attance] .family-outcome details{width:100%}
body[data-games-site=attance] .family-outcome summary{color:var(--accent);padding:.65rem 0;cursor:pointer}

/* Dedicated Attance theme: lighter surfaces indicate elevation, not inverted boards. */
body[data-games-site=attance] .family-game {
    --ink:var(--attance-ink);
    --muted:var(--attance-muted);
    --accent:var(--attance-action);
    --line:var(--attance-line);
    --bg:var(--attance-raised);
    --paper:var(--attance-surface);
    --ww-paper:var(--attance-surface);
    --ww-open:var(--attance-focus);
    color-scheme:dark;
    scrollbar-color:var(--attance-control) var(--attance-surface);
}
body[data-games-site=attance] .family-game ::selection { background:var(--attance-primary); color:var(--attance-primary-ink); }
body[data-games-site=attance] .family-game :focus-visible { outline-color:var(--attance-focus); }
body[data-games-site=attance] .family-game :is(input,select,textarea) { color:var(--attance-ink); background:var(--attance-surface); border-color:var(--attance-control); }
body[data-games-site=attance] .family-game input::placeholder { color:var(--attance-muted); }
body[data-games-site=attance] .family-game input[readonly] { background:var(--attance-raised); }
body[data-games-site=attance] .family-game :is(button,.action-link) { background:var(--attance-primary); color:var(--attance-primary-ink); }
body[data-games-site=attance] .family-game :is(button,.action-link):hover { background:var(--attance-primary-hover); }
body[data-games-site=attance] .family-game :is(button.secondary,.action-link.secondary) { background:var(--attance-surface); color:var(--attance-action); border-color:var(--attance-control); }
body[data-games-site=attance] .family-game :is(button.secondary,.action-link.secondary):hover { background:var(--attance-raised); }
body[data-games-site=attance] .family-game button[aria-pressed=true],
body[data-games-site=attance] .family-game button.secondary[aria-pressed=true]:hover { background:var(--attance-selected); color:var(--attance-ink); border-color:var(--attance-action); }
body[data-games-site=attance] .family-game button:disabled { opacity:.65; }
body[data-games-site=attance] .family-game :is(.family-resume,.family-preview,.family-hexboard,.family-board-scroll,.wordtrap-map-scroll,.reveal) { background:var(--attance-surface); border-color:var(--attance-control); }
body[data-games-site=attance] .family-game :is(.family-picks label:has(:checked),.family-selected,.family-variants label:has(input:checked)) { background:var(--attance-selected); border-color:var(--attance-action); }
body[data-games-site=attance] .family-game :is(.family-feedback,.ww-success) { color:var(--attance-action); }
body[data-games-site=attance] .family-game #game-status { color:var(--attance-focus); }
body[data-games-site=attance] .family-game .family-mode-list button { background:transparent; color:var(--attance-ink); }
body[data-games-site=attance] .family-game .family-mode-list button:hover { background:var(--attance-raised); color:var(--attance-action); }
body[data-games-site=attance] .family-game .family-token.empty { border-color:var(--attance-control); }
body[data-games-site=attance] .family-game :is(.family-table-wrap,.family-board-scroll,.family-revier-board,.wordtrap-map-scroll) { scrollbar-color:var(--attance-control) var(--attance-surface); }
body[data-games-site=attance] .family-game :is(.family-hex,.family-lattice-cell) { color:var(--attance-ink); }
body[data-games-site=attance] .family-game :is(.family-hex,.family-lattice-cell) svg { fill:var(--attance-raised); stroke:var(--attance-control); }
body[data-games-site=attance] .family-game :is(.family-hex,.family-lattice-cell):hover svg { fill:var(--attance-selected); stroke:var(--attance-action); }
body[data-games-site=attance] .family-game :is(.family-hex,.family-lattice-cell)[aria-pressed=true] svg { fill:var(--attance-selected); stroke:var(--attance-action); }
body[data-games-site=attance] .family-game :is(.family-fixed,.family-lattice-cell.family-fixed) svg { fill:var(--attance-surface); stroke:var(--attance-muted); }
body[data-games-site=attance] .family-game .family-draft-cards button[aria-pressed=true] small { color:var(--attance-muted); }
body[data-games-site=attance] .family-game .wordtrap-map path { stroke:var(--attance-control); }
body[data-games-site=attance] .family-game .wordtrap-node { background:var(--attance-raised); color:var(--attance-ink); border-color:var(--attance-control); }
body[data-games-site=attance] .family-game .wordtrap-node:hover { background:var(--attance-selected); }
body[data-games-site=attance] .family-game .wordtrap-node.is-current { border-color:var(--attance-action); }
body[data-games-site=attance] .family-game .wordtrap-node.is-safe { background:var(--attance-selected); }
body[data-games-site=attance] .family-game .wordtrap-node.is-trapped,
body[data-games-site=attance] .family-game button.wordtrap-node.is-trapped[aria-pressed=true] { background:#4b2828; color:#ffd2c7; border-color:#d18a7d; }
body[data-games-site=attance] .family-game [data-preview] :is(button,.wordtrap-node):disabled { opacity:1; }
body[data-games-site=attance] .family-game :is(.family-draft-cards,.family-chain-grid) button small { color:var(--attance-primary-ink); }
body[data-games-site=attance] .family-game :is(.family-draft-cards,.family-chain-grid) button[aria-pressed=true] small { color:var(--attance-ink); }
body[data-games-site=attance] .family-game .family-mode-list button small { color:var(--attance-muted); }
