/* Selected Garden Afterglow theme. Layout and gameplay remain shared. */
:root{--ink:#f8edca;--muted:#c7d6ca;--cream:#183f42;--paper:#214b4e;--line:#76988d;--green:#f3c56c}body{background:#183f42;color:#f8edca}header{border-color:#688e84}.brand,.brand b{color:#f8edca}.brand-leaf{background:#f3c56c;color:#183f42;border-color:#102c30}.tag{background:#c9b3e0;color:#273c43;border-color:#102c30}.welcome,.entry-card,.room-heading>div,#lobby,#results,.pro-pitch{text-align:center}.welcome h1{color:#f3c56c;font-size:61px}.headline-pop{color:#f3c56c}.welcome>p:not(.eyebrow){color:#cfdbcf;margin-left:auto;margin-right:auto}.welcome .eyebrow,.eyebrow,.room-heading .eyebrow{color:#c9b3e0}.welcome-facts{justify-content:center;color:#d0dccc;margin-left:0}.welcome-facts span+span{border-color:#76988d}.welcome .afterglow-art,#lobby .afterglow-art{border:0;padding:0;background:none;border-radius:0;width:100%;max-width:460px;margin:26px auto 16px;filter:none}.entry-card{background:#214b4e;border-color:#91ada1;box-shadow:6px 6px 0 #102e32}.entry-card:before{background:#c9b3e0;border-color:#91ada1}.entry-card>.eyebrow{color:#c9b3e0}.entry-card h2,h2,h3,label,.preset-picker legend{color:#f8edca}.entry-card form label,.preset-picker legend{text-align:center;width:100%}.entry-card input[type=text],#name{text-align:center;background:#2b5759;color:#fff3d5;border-color:#97b3a5}.entry-card input::placeholder{color:#bdcec3}.preset-options .preset{align-items:center;text-align:center;color:#183f42}.preset.gentle{background:#b9d7cb}.preset.classic{background:#c9b3e0}.preset.challenge{background:#efb08e}.preset:has(input:checked){border-color:#fff4cf;box-shadow:0 3px 0 #102e32}.preset:has(input:focus-visible){outline-color:#f3c56c}.entry-card small,.entry-card .fine,.entry-card p,.entry-card details{color:#cad8cc}.entry-card details{border-color:#6a9185}.primary,.entry-card form .primary{background:#f3c56c;color:#183f42;border-color:#102e32;box-shadow:0 4px 0 #102e32}.primary:hover:not(:disabled),.entry-card form .primary:hover{background:#ffda89}.entry-card form .primary{justify-content:center;gap:20px}.room-heading{justify-content:center;position:relative}.room-heading h1{color:#f3c56c}.room-heading #connection{position:absolute;right:0;top:10px;background:#b9d7cb;color:#183f42}.share-row{justify-content:center}.share-row a{color:#c9d8cd}.share-row button:not(.primary),.seat-controls button{background:#2c5657;color:#f8edca;border-color:#71988b}.seat-controls p{color:#c6d5ca}.play-panel{background:#214b4e;border-color:#91ada1;box-shadow:5px 5px 0 #102e32}.board-meta{background:#2a5657;border-color:#618b7f;color:#f8edca}#difficulty{color:#bed0c3}.board{background:#fffdf1;border-color:#0e292c}.cell{color:#303b35;background:#fffdf1}.cell.given{background:#f4f4e7;color:#303b35}.cell.related{background:#e9eddb}.cell.related.given{background:#e1e8d3}.cell.selected{background:#c4d7bd;box-shadow:inset 0 0 0 3px #395942}.cell.right{border-right-color:#36524c}.cell.bottom{border-bottom-color:#36524c}.cell.filled{background:var(--p);color:var(--ink)}.cell.matching{box-shadow:inset 0 0 0 2px #769c76}.cell.selected.matching{box-shadow:inset 0 0 0 3px #395942}.keypad button{background:#b9d7cb;color:#183f42;border-color:#102e32}.keypad button:nth-child(3n){background:#c9b3e0;color:#183f42;border-color:#102e32}.keypad button:nth-child(3n+2){background:#efb08e;color:#183f42;border-color:#102e32}.keypad button:hover:not(:disabled){filter:brightness(1.1)}.feedback:not(:empty){color:#c9dcc6}.feedback.error{color:#ffb29d}.tools button{color:#f8edca}.tools button[aria-pressed=true]{background:#3c6461}.layout aside{background:#285658;border-color:#91ada1}.score-heading{background:#c9b3e0;border-color:#183f42}.score-heading h2,.score-heading span{color:#183f42}.player{border-color:#668f82}.player b{color:#f8edca}.player small{color:#c5d5c9}.player .points{color:#f3c56c}.player .avatar{color:var(--ink)}.activity ul,.activity h3,details{color:#d0ddd0}details{border-color:#71988b}.pro-pitch{background:#c9b3e0;border:2px solid #102e32;border-radius:14px;box-shadow:5px 5px 0 #102e32;margin:46px 0 20px;padding:30px;flex-direction:column;gap:22px}.pro-pitch h2{color:#183f42;font-size:34px;margin:8px 0 12px}.pro-pitch h2 br{display:none}.pro-pitch h2 br:after{content:' '}.pro-pitch .eyebrow{color:#3d485a}.pro-pitch p:not(.eyebrow){color:#344657;margin:0}.pro-pitch button{background:#f3c56c;color:#183f42;border-color:#102e32;min-width:235px;box-shadow:0 3px 0 #102e32}.pro-pitch button:hover{background:#ffda89}#results{background:#2d5957;border-color:#8da99a}#results h2{color:#f3c56c}#results p,#results .eyebrow{color:#cfddcc}.result-row{border-color:#719487}.result-row span{color:#cfddcc}footer{border-color:#719487;color:#c7d6ca}footer b{color:#f8edca}#pro-dialog{background:#214b4e;color:#f8edca;border-color:#97b1a5;text-align:center;box-shadow:6px 6px 0 #102e32}#pro-dialog h2{color:#f3c56c}#pro-dialog p{color:#cfddcc}#pro-dialog .eyebrow{color:#c9b3e0}.dialog-close{color:#f8edca}.plan-preview>div{background:#b9d7cb;color:#183f42}.plan-preview>div+div{background:#c9b3e0;color:#183f42}.plan-preview small{color:#30474a}.preview-disclosure{border-color:#719487}button:focus-visible,a:focus-visible,input:focus-visible{outline-color:#f3c56c}@media(max-width:760px){.welcome h1{font-size:48px}.welcome .afterglow-art{max-width:370px}.room-heading{padding-bottom:28px}.room-heading #connection{position:absolute;top:auto;bottom:0;right:50%;transform:translateX(50%)}.pro-pitch{padding:27px 20px;align-items:center}.pro-pitch h2{font-size:29px}.pro-pitch button{width:auto;justify-content:center}.seat-controls{justify-content:center}.seat-controls p{text-align:center}#lobby .afterglow-art{max-width:330px}}@media(max-width:370px){.welcome h1{font-size:42px}}

/* Final selection: Strawberry Social, October 21, 2026. Keep the Afterglow layout. */
body{background:#fff1dc;color:#42352e}:root{--ink:#42352e;--muted:#665a4c;--cream:#fff1dc;--paper:#fffaf0;--line:#bca68e}header,footer{border-color:#bca68e}.brand,.brand b,footer b{color:#42352e}.brand-leaf{background:#e8a59d;color:#42352e;border-color:#42352e}.tag{background:#bad0a5;color:#42352e;border-color:#42352e}.welcome h1,.headline-pop{color:#a83d4d}.welcome>p:not(.eyebrow),.welcome-facts,.entry-card small,.entry-card p,.entry-card .fine,.entry-card details,footer{color:#665a4c}.welcome .eyebrow,.entry-card>.eyebrow{color:#665a4c}.welcome-facts span+span,.entry-card details{border-color:#bca68e}.entry-card{background:#fffaf0;border-color:#bca68e;box-shadow:6px 6px 0 #42352e}.entry-card:before{background:#bad0a5;border-color:#bca68e}.entry-card h2,label,.preset-picker legend{color:#42352e}.entry-card input[type=text],#name{background:#f3e7d5;color:#42352e;border-color:#bca68e}.entry-card input::placeholder{color:#665a4c}.preset.gentle{background:#bad0a5}.preset.classic{background:#e8a59d}.preset.challenge{background:#f0ce83}.preset-options .preset,.preset strong,.preset span{color:#42352e}.preset:has(input:checked){border-color:#42352e;box-shadow:0 3px 0 #42352e}.primary,.entry-card form .primary{background:#e8a59d;color:#42352e;border-color:#42352e;box-shadow:0 4px 0 #42352e}.primary:hover:not(:disabled),.entry-card form .primary:hover{background:#e8a59d;filter:brightness(1.04)}.pro-pitch{background:#bad0a5;border-color:#42352e;box-shadow:5px 5px 0 #42352e}.pro-pitch h2,.pro-pitch .eyebrow,.pro-pitch p:not(.eyebrow){color:#42352e}.pro-pitch button{background:#e8a59d;color:#42352e;border-color:#42352e;box-shadow:0 3px 0 #42352e}.pro-pitch button:hover{background:#e8a59d}

/* Carry the approved palette through lobby, puzzle, results and plan preview. */
:root{--green:#a83d4d;--sage:#bad0a5;--clay:#a83d4d}
h2,h3,label,.preset-picker legend{color:#42352e}
.eyebrow,.room-heading .eyebrow{color:#665a4c}
.room-heading h1,#results h2,#pro-dialog h2{color:#a83d4d}
.room-heading #connection{background:#bad0a5;color:#42352e}
.room-heading #connection.offline{background:#e8a59d;color:#42352e}
.share-row a,.seat-controls p,.activity ul,.activity h3,details,#difficulty{color:#665a4c}
.share-row button:not(.primary),.seat-controls button{background:#fffaf0;color:#42352e;border-color:#bca68e}
.play-panel{background:#fffaf0;border-color:#bca68e;box-shadow:5px 5px 0 #42352e}
.board-meta{background:#f3e7d5;color:#42352e;border-color:#bca68e}
.board{background:#fffaf0;border-color:#42352e}
.cell{background:#fffaf0;color:#42352e}.cell.given{background:#f3e7d5;color:#42352e}
.cell.related{background:#e5ecd9}.cell.related.given{background:#d8e3c8}
.cell.right{border-right-color:#635e4e}.cell.bottom{border-bottom-color:#635e4e}
.cell.selected{background:#bad0a5;box-shadow:inset 0 0 0 3px #4c6747}
.cell.matching{box-shadow:inset 0 0 0 2px #6f8961}.cell.selected.matching{box-shadow:inset 0 0 0 3px #4c6747}
.cell.filled{background:var(--p);color:#42352e}
.keypad button{background:#bad0a5;color:#42352e;border-color:#42352e}
.keypad button:nth-child(3n){background:#e8a59d;color:#42352e;border-color:#42352e}
.keypad button:nth-child(3n+2){background:#f0ce83;color:#42352e;border-color:#42352e}
.feedback:not(:empty){color:#4c6747}.feedback.error{color:#a83d4d}
/* Pencil controls should look tappable even while Notes is off. */
.tools{flex-wrap:wrap;gap:10px;margin-top:14px}
.tools button{color:#42352e;background:#f3e7d5;border:2px solid #635e4e;border-radius:10px;padding:10px 16px;font-size:14px;font-weight:700;line-height:1.35;min-height:44px}
.tools button:hover:not(:disabled){background:#e5ecd9}
.tools button[aria-pressed=true]{background:#bad0a5;border-color:#4c6747}
.tools button[aria-pressed=true]:hover:not(:disabled){background:#adc796}
.layout aside{background:#fffaf0;border-color:#bca68e}
.score-heading{background:#bad0a5;border-color:#bca68e}.score-heading h2,.score-heading span{color:#42352e}
.player,.result-row,details{border-color:#bca68e}.player b,.player .points,.player .avatar{color:#42352e}.player small{color:#665a4c}
#results{background:#f0ce83;border-color:#bca68e}#results p,#results .eyebrow,.result-row span{color:#42352e}
#pro-dialog{background:#fffaf0;color:#42352e;border-color:#42352e;box-shadow:6px 6px 0 #42352e}
#pro-dialog p,#pro-dialog .eyebrow{color:#665a4c}.dialog-close{color:#42352e}
.plan-preview>div{background:#bad0a5;color:#42352e}.plan-preview>div+div{background:#e8a59d;color:#42352e}.plan-preview small{color:#42352e}
.preview-disclosure{border-color:#bca68e}
button:focus-visible,a:focus-visible,input:focus-visible,.preset:has(input:focus-visible){outline-color:#a83d4d}

/* Readable helpers and balanced preset labels on phone and desktop. */
.entry-card small,.entry-card .fine,.fine,footer{font-size:14px;line-height:1.55;font-weight:700}
.eyebrow,.tag,.entry-card>.eyebrow,.pro-pitch .eyebrow{font-size:11px;letter-spacing:1.3px;font-weight:700}
.welcome-facts{font-size:14px;font-weight:700}
.preset-options .preset{justify-content:center;align-items:center;text-align:center;gap:6px;padding:14px 6px;min-height:104px}
.preset-options .preset strong{font-size:14px;line-height:20px;white-space:nowrap;font-weight:700}
.preset-options .preset span{font-size:12px;line-height:17px;min-height:34px;max-width:94px;display:flex;align-items:center;justify-content:center;font-weight:700}
.preset:has(input:checked) strong:after{content:none}
.preset:has(input:checked){border-color:#a83d4d;box-shadow:0 3px 0 #42352e}
.pro-pitch p:not(.eyebrow),.plan-preview b,.plan-preview small,.annual-saving,.preview-disclosure{font-size:14px;font-weight:700}
.player small,.board-meta,.share-row,.share-row button,.score-heading span{font-size:13px;font-weight:700}
@media(max-width:390px){.entry-card{padding:16px}.entry-card:before{margin:-16px -16px 20px}.preset-options .preset{padding:14px 3px}.preset-options .preset strong{font-size:13px;font-weight:700}.tag{font-size:9px;letter-spacing:.8px;font-weight:700}.brand{gap:6px}}

/* Live score tiles: Strawberry Social, shared player colors, no extra mechanics. */
.layout aside{padding:16px;background:#f3e7d5;border:2px solid #42352e;box-shadow:4px 4px 0 #bca68e}
.score-heading{margin:-16px -16px 16px;padding:16px;gap:10px;flex-wrap:wrap;background:#e8a59d;border-bottom:2px solid #42352e;border-radius:10px 10px 0 0}
.score-heading h2{font:400 26px/1.1 GardenRetro,sans-serif;margin:0;color:#42352e}
.score-heading #capacity{font:700 12px/1.4 GardenDM,sans-serif;border:1px solid #42352e;border-radius:20px;padding:4px 9px;background:#fffaf0;color:#42352e;white-space:nowrap}
#players{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.player{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;padding:13px 11px;background:var(--p);border:1px solid #bca68e;border-radius:12px;position:relative}
.player .avatar{width:36px;height:40px;background:#fffaf0;color:#42352e;border:1.5px solid #42352e;border-radius:8px;box-shadow:0 3px 0 #42352e;font:400 22px/1 GardenRetro,sans-serif}
.player .identity{overflow-wrap:anywhere;min-width:0}
.player .player-name{display:block;font:700 14px/1.35 GardenDM,sans-serif;color:#42352e}
.player small{font:400 12px/1.4 GardenDM,sans-serif;color:#51463e;margin:4px 0 0}
.player .player-record{font-size:11px;font-weight:700}
.player .points{min-width:44px;text-align:right;color:#42352e;align-self:center}
.player .score-value{display:block;font:400 29px/1 GardenRetro,sans-serif;letter-spacing:-.6px;font-variant-numeric:tabular-nums}
.player .score-unit{font-size:11px;margin:4px 0 0;font-weight:700}
.player .score-rank{font-size:11px;font-weight:700;margin:6px 0 0;padding-top:5px;border-top:1px solid #42352e40}
.player.leading{border:2px solid #a83d4d;padding:12px 10px;box-shadow:0 3px 0 #a83d4d;margin-bottom:3px}
.leader-label{display:inline-block;background:#a83d4d;color:#fffaf0;border-radius:4px;padding:3px 7px;margin-top:5px;font:700 10px/1.2 GardenDM,sans-serif;letter-spacing:.3px}
.player.ghost{opacity:1;border-style:dashed;background:#f3e7d5}
.player.ghost .avatar{box-shadow:none}
.layout aside details{font-size:13px;border-color:#bca68e;padding:16px 0;font-weight:700}
.layout aside .activity h3{font:400 19px/1.2 GardenRetro,sans-serif;color:#42352e;margin-bottom:10px}
.layout aside .activity ul{font-size:13px;line-height:1.5;font-weight:700}
@media(min-width:761px){.layout{grid-template-columns:minmax(0,1fr) 320px}}
@media(min-width:520px) and (max-width:760px){#players{grid-template-columns:repeat(2,minmax(0,1fr))}.player{grid-template-columns:30px minmax(0,1fr) auto;gap:8px}.player .avatar{width:30px;height:36px}.player .score-value{font-size:26px}}
@media(max-width:390px){.player{gap:9px}.score-heading h2{font-size:24px}}

/* The same player tiles welcome arrivals before the puzzle starts. */
.lobby-players .player{grid-template-columns:36px minmax(0,1fr) auto;min-height:78px}
.joined-label{font:700 10px/1.3 GardenDM,sans-serif;text-transform:uppercase;letter-spacing:.4px;border:1px solid #42352e;border-radius:5px;padding:5px 6px;background:#fffaf0;color:#42352e}
.open-seat{display:flex;align-items:center;text-align:left;gap:14px;width:100%;min-height:76px;padding:12px;border:1.5px dashed #967f6b;border-radius:12px;background:#fffaf080;color:#665a4c}
.open-seat:hover:not(:disabled){background:#fffaf0;border-color:#a83d4d}
.seat-number{font:400 26px/1 GardenRetro,sans-serif;color:#967f6b;min-width:34px;text-align:center}
.seat-invite b{display:block;font:700 14px/1.4 GardenDM,sans-serif;color:#665a4c}
.seat-invite small{font:400 12px/1.4 GardenDM,sans-serif;color:#665a4c;margin:3px 0 0}

/* Four clear, vertically stacked presets. */
.preset-options{grid-template-columns:1fr;gap:10px}
.preset-options .preset{min-height:76px;padding:12px 16px;gap:4px}
.preset-options .preset strong{font-size:17px;line-height:22px}
.preset-options .preset span{font-size:14px;line-height:20px;min-height:0;max-width:none;font-weight:700}
.preset-options .preset.newbie{background:#d9c6df}
#entry-message:not(:empty){padding:10px 0;font-size:15px;line-height:1.5;font-weight:600}

/* Ownership is a personal marker, never a correct/incorrect signal. */
.p0{--p:#c9dcf1;--ink:#293e62}.p1{--p:#e3d3ef;--ink:#56376e}.p2{--p:#f4dfab;--ink:#665016}.p3{--p:#c5e2ef;--ink:#285269}.p4{--p:#d4d0ed;--ink:#453e73}.p5{--p:#f1d2b0;--ink:#694723}.p6{--p:#d5dce7;--ink:#3c4b60}.p7{--p:#e6d7c8;--ink:#614731}
.cell.filled{background:#fffaf0;color:#42352e}.cell.filled.related{background:#f3e7d5}.cell .owner{font:700 9px/1 GardenDM,sans-serif;bottom:2px;right:2px;background:var(--p);color:var(--ink);border-radius:3px;min-width:12px;min-height:12px;display:grid;place-items:center}.cell.filled.selected{background:#e5ecd9}
.player.spectator{background:#f1ede6;border-radius:10px;padding:12px 8px;margin:4px 0}.player.spectator .avatar{background:#dfdcd5;color:#5d5951}.spectator-status{text-align:right;max-width:105px}.spectator-badge{display:inline-block;font-size:12px;font-weight:700;background:#e2ded6;color:#514b42;padding:5px 8px;border-radius:6px}.spectator-status small{font-size:12px;color:#665a4c;font-weight:700}.player.spectator .player-name{color:#665a4c}.together-message{font-size:17px!important;line-height:1.6;padding:16px 12px;border-radius:12px;background:#f3e7d5;color:#665a4c!important}.share-hint{flex-basis:100%;text-align:center;font-size:14px;color:#665a4c;margin:4px 0 0;font-weight:700}.seat-controls #sound-toggle{margin-left:auto;background:#f3e7d5;border:1px solid #bca68e;min-height:44px}.seat-controls #sound-toggle[aria-pressed=false]{background:#fffaf0}@media(max-width:760px){.player.spectator{flex-wrap:wrap}.spectator-status{flex-basis:100%;max-width:none;text-align:left;margin-left:44px}.cell .owner{font-size:8px;min-width:10px;min-height:10px;font-weight:700}.share-hint{font-size:13px;font-weight:700}}

.player.leading{border-color:#746488;box-shadow:0 3px 0 #746488}.leader-label{background:#665775;color:#fffaf0}

/* Practice action uses the Strawberry Social accent. */
.tools .hint-button{background:#dea59c;color:#382c27;border:2px solid #635447;box-shadow:0 4px 0 #635447;font-size:16px;padding:12px 26px;min-width:176px;transition:background .15s,transform .15s,box-shadow .15s}
.tools .hint-button:hover:not(:disabled){background:#edb5aa}
.tools .hint-button:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px 0 #635447}
.tools .hint-button:disabled{box-shadow:none}

/* One centered guidance area with a consistent 20px spacing rhythm. */
#play .feedback{display:block;text-align:center;min-height:0;margin:20px auto;line-height:1.5}
#play .tools{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;margin:0;padding:24px 0}
#play .tools[hidden]{display:none}
#play #hint{margin:0;flex:none}
#play #hint-message{text-align:center;margin:0;max-width:38ch;font-size:14px;line-height:1.55;font-weight:700}
#play #hint-message:empty{display:none}
#play #difficulty{text-align:center}

.player .player-presence,summary{font-weight:700}
.welcome-facts span{font-weight:700}
/* Secondary safety tools never compete with the board. */
.room-lock{margin:18px 0;text-align:center}.room-lock label{margin-top:16px}.room-options{margin:16px 0 24px;padding:16px;border:1px solid var(--line);border-radius:12px;text-align:center}.room-options>summary{font-weight:700}.room-options details{margin:16px 0}.room-options form{display:grid;gap:12px;max-width:360px;margin:20px auto}.room-options button{min-height:44px;font-weight:700}.report-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.safety-player{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px;border-bottom:1px solid var(--line)}.safety-player p{font-size:14px;font-weight:700}.safety-player strong{overflow-wrap:anywhere}#room-safety-message{font-size:14px;font-weight:700;line-height:1.5}

/* Calm, compact room controls; primary play remains the focus. */
.header-profile{background:#ddd6e7;color:#42352e;border:2px solid #42352e;border-radius:12px;box-shadow:0 3px 0 #42352e;padding:12px 16px;font-weight:800;min-height:44px}
.native-app footer{display:none}
.room-heading{text-align:center;justify-content:center;position:relative;gap:16px;flex-wrap:wrap}.room-heading>div{width:100%}
#connection{border:1.5px solid #8d7966;background:#bad0a5;border-radius:10px;padding:10px 16px;font-weight:800;font-size:14px;box-shadow:none}
.share-row{justify-content:center;gap:12px;margin:18px 0}.share-row #share,.share-row #copy{min-height:48px;border:2px solid #42352e;border-radius:12px;box-shadow:0 3px 0 #42352e;padding:12px 18px;font:800 15px/1.2 GardenDM,sans-serif;color:#42352e}.share-row #share{background:#e8a59d}.share-row #copy{background:#f0ce83}
.room-options{background:#fffaf0;border:2px solid #bca68e;padding:16px 20px}.room-options summary{font-size:16px}.public-room-option h3{font-family:GardenDisplay,GardenDM,sans-serif;font-size:22px;margin-bottom:8px}.room-options button{background:#ddd6e7;border:1.5px solid #42352e;border-radius:10px;padding:10px 16px}.seat-controls{justify-content:center;gap:12px}.seat-controls #sound-toggle{margin-left:0}
#hint-count{margin:0;text-align:center}#hint-upgrade{background:#f0ce83;border:2px solid #42352e;border-radius:10px;padding:10px 16px;font-weight:800}.tools{gap:14px}#profile-dialog .report-actions{margin:14px 0}#profile-dialog .report-actions button{background:#f3e7d5;border:1px solid #bca68e;border-radius:9px;padding:10px;font-weight:700}
.room-heading #connection{position:static;transform:none;align-self:center}.room-heading{padding-bottom:0}
/* One continuous layer keeps heavy box dividers above the fine cell rules. */
.board{position:relative;isolation:isolate;overflow:hidden;border:2px solid #42352e}
.board .cell.right{border-right:1px solid #d4c8b7}.board .cell.bottom{border-bottom:1px solid #d4c8b7}.board .cell{border-color:#d4c8b7}
.board::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:4;background:linear-gradient(to right,transparent calc(33.333% - 1px),#635e4e calc(33.333% - 1px),#635e4e calc(33.333% + 1px),transparent calc(33.333% + 1px),transparent calc(66.666% - 1px),#635e4e calc(66.666% - 1px),#635e4e calc(66.666% + 1px),transparent calc(66.666% + 1px)),linear-gradient(to bottom,transparent calc(33.333% - 1px),#635e4e calc(33.333% - 1px),#635e4e calc(33.333% + 1px),transparent calc(33.333% + 1px),transparent calc(66.666% - 1px),#635e4e calc(66.666% - 1px),#635e4e calc(66.666% + 1px),transparent calc(66.666% + 1px))}
/* Approved Soft Tile selection: the fill never touches a grid divider. */
.board .cell.selected,.board .cell.selected.matching,.board .cell.filled.selected{background:#fffaf0;isolation:isolate;box-shadow:none}
.board .cell.selected::after{content:"";position:absolute;pointer-events:none;inset:4px;border:0;background:#bad0a5;border-radius:5px;z-index:-1}

/* Room actions share one visual system, including the quieter connection status. */
#room .room-heading{margin-bottom:20px;gap:16px}
#room .room-heading #connection{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 16px;border:2px solid #42352e;border-radius:12px;font:800 15px/1.2 GardenDM,sans-serif;box-shadow:none}
#room #connection::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}
#room .share-row{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin:0 0 22px}
#room .share-row #share,#room .share-row #copy,#room .seat-controls button,#room .room-options button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border:2px solid #42352e;border-radius:12px;box-shadow:0 3px 0 #42352e;padding:12px 16px;font:800 15px/1.2 GardenDM,sans-serif;color:#42352e;transition:transform .12s,box-shadow .12s}
#room .share-row #share{background:#e8a59d}#room .share-row #copy{background:#f0ce83}
#room .seat-controls{display:flex;flex-wrap:wrap;align-items:stretch;justify-content:center;gap:14px;margin:0 0 24px}
#room .seat-controls #watch{background:#ddd6e7}#room .seat-controls #take-seat{background:#bad0a5}#room .seat-controls #leave{background:#fffaf0}
#room .seat-controls #sound-toggle{background:#f0ce83;margin:0}#room .seat-controls #sound-toggle[aria-pressed=false]{background:#f3e7d5}
#room #seat-status{width:100%;text-align:center;margin:0 0 2px;font-size:14px;line-height:1.5}
#room .share-hint{margin:2px 0 0}#room #share-message:empty{display:none}
#room .share-row button:hover:not(:disabled),#room .seat-controls button:hover:not(:disabled),#room .room-options button:hover:not(:disabled){filter:brightness(1.04);transform:translateY(-1px)}
#room .share-row button:active:not(:disabled),#room .seat-controls button:active:not(:disabled),#room .room-options button:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 #42352e}
#room .room-options{border:2px solid #42352e;box-shadow:0 3px 0 #42352e;border-radius:12px;background:#f3e7d5;margin:0 0 28px;padding:16px 20px}
#room .room-options>summary{text-align:center;font:800 15px/1.2 GardenDM,sans-serif}
#room .seat-controls button[hidden]{display:none}
@media(max-width:760px){header .brand{font-size:21px;line-height:1.1;gap:8px}header .brand>b,header .brand>span:last-child{max-width:170px}header .brand b{display:block}header .brand-leaf{flex:none}header .header-profile{font-size:13px;padding:10px 12px}#room .share-row #share,#room .share-row #copy{flex:1 1 140px;max-width:240px}#room .seat-controls button{flex:1 1 90px;min-height:60px;padding:12px 10px;font-size:14px}#room .seat-controls #sound-toggle{min-width:90px}}
@media(prefers-reduced-motion:reduce){#room .share-row button,#room .seat-controls button,#room .room-options button{transition:none}}
