@charset "UTF-8";
:root{--paper:#f5fafc;--ink:#243e50;--green:#f4c5b3;--dark-green:#4e7186;--coral:#f27e67;--muted:#5e7686;--line:#e3edf2;--white:#fdfefe;font-family:"Segoe UI","Yu Gothic UI","Hiragino Kaku Gothic ProN",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit;color:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default}a{color:inherit}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #d16a25;outline-offset:5px}button:disabled{opacity:.52}svg{width:1.5rem;height:1.5rem}header{max-width:1200px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:28px 40px;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:850;font-size:23px;letter-spacing:-.8px}.brand-icon{background:var(--green);border:1.5px solid var(--ink);border-radius:12px;display:grid;place-items:center;width:42px;height:44px;transform:rotate(-7deg)}.brand-icon svg{width:30px;height:30px}.brand small{display:block;font-size:8px;letter-spacing:1.7px;margin-top:5px;font-weight:650}.header-tools{display:flex;align-items:center;gap:18px}.languages{display:flex;border:1px solid var(--line);border-radius:30px;padding:4px;gap:2px}.languages button{border:0;background:transparent;border-radius:20px;padding:7px 11px;font-size:12px}.languages [aria-pressed=true]{background:var(--ink);color:var(--paper)}#sound{background:none;border:0;font-size:12px;white-space:nowrap}.container{max-width:1200px;padding:0 40px;margin:auto}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:55px;align-items:center;padding:70px 0 78px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:750;display:block}.hero .eyebrow{display:flex;align-items:center;gap:10px;letter-spacing:1.8px}.spark{font-size:24px;color:var(--dark-green)}h1{font-weight:850;letter-spacing:-2.5px;line-height:1.22;font-size:56px;margin:24px 0}.hero h1 span{color:var(--dark-green);position:relative;white-space:nowrap}.intro{font-size:14px;line-height:2;color:var(--muted);margin-bottom:28px}.home-actions{display:flex;flex-direction:column;gap:12px;max-width:355px}.button{border:1.5px solid var(--ink);border-radius:9px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 21px;font-weight:750;text-decoration:none;font-size:14px;line-height:1.5;transition:transform .15s,box-shadow .15s}.button:not(:disabled):hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--ink)}.button.primary{background:var(--green);box-shadow:3px 3px 0 var(--ink)}.button.secondary,.button.resume{background:#eee5f7}.button.resume{background:#f9dccd}.button span{font-size:21px}.prototype{font-size:10px;letter-spacing:.5px;color:var(--muted);text-align:center;margin-top:-5px}.pills{display:flex;flex-wrap:wrap;gap:15px;font-size:10px;margin-top:25px;color:var(--muted)}.pills span:before{content:'✓';color:var(--dark-green);margin-right:5px}.hero-art{position:relative;padding:25px 12px 45px;isolation:isolate}.hero-art:before{content:'';position:absolute;inset:-25px -15px 5px;background:radial-gradient(circle,#dbe9f1 1px,transparent 1px);background-size:14px 14px;z-index:-2;mask-image:radial-gradient(ellipse,black 30%,transparent 72%)}.demo-board{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;background:var(--ink);border:2px solid var(--ink);padding:10px;border-radius:23px;transform:rotate(7deg);box-shadow:12px 12px 0 #e8f2f8;max-width:370px;margin:auto;aspect-ratio:1}.demo-cell{border-radius:10px;display:grid;place-items:center;background:var(--white);position:relative}.demo-cell.demo-bomb{background:var(--coral);transform:rotate(-9deg) scale(1.05);border:2px solid var(--ink);box-shadow:3px 4px 0 var(--ink)}.demo-bomb svg{width:55%;height:55%;transform:rotate(-13deg)}.mark{display:inline-block;width:55%;aspect-ratio:1;position:relative;flex-shrink:0}.mark.o{border:10px solid var(--dark-green);border-radius:50%}.mark.x:before,.mark.x:after{content:'';position:absolute;background:var(--coral);height:11px;width:115%;left:-7.5%;top:calc(50% - 5px);border-radius:6px;transform:rotate(45deg)}.mark.x:after{transform:rotate(-45deg)}.art-label{display:block;position:absolute;right:0;top:-10px;font-size:10px;letter-spacing:2px;transform:rotate(7deg);background:var(--green);padding:9px 13px;border:1px solid var(--ink);border-radius:5px;z-index:2}.art-note{position:absolute;bottom:-3px;right:15px;font-size:12px;transform:rotate(-6deg);font-weight:700}.art-note span{display:inline-block;font-size:40px;position:absolute;left:-38px;top:-23px}.art-star{position:absolute;left:-20px;bottom:10px;font-size:55px;color:var(--coral);transform:rotate(10deg)}.dot-trail{font-size:36px;color:#dce7ee;letter-spacing:3px}.how{border-top:1px solid var(--ink);padding:30px 0 50px}.section-title{display:flex;align-items:center;gap:25px}.section-title h2{font-size:20px;letter-spacing:-.5px}.tiny-grid{margin-left:auto;font-size:30px;transform:rotate(-10deg)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:18px}.steps article{position:relative;padding:7px 0 0 42px}.step-num{position:absolute;left:0;top:8px;font-size:12px;font-weight:700;background:var(--green);border-radius:50%;width:28px;height:28px;display:grid;place-items:center}.steps h3{font-size:15px;margin:8px 0 12px}.steps p{font-size:12px;color:var(--muted);line-height:1.9;margin:0}.page-footer{max-width:1120px;margin:0 auto;border-top:1px solid var(--line);padding:25px 0 30px;display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.page-footer span:last-child{letter-spacing:1.6px}.text-button{border:0;background:none;padding:10px 0;font-size:12px;text-decoration:underline;text-underline-offset:4px}.game{padding:22px 0 50px;min-height:650px}.game-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.game-layout{display:grid;grid-template-columns:.9fr 1fr;gap:70px;padding-top:40px;align-items:start}.game-side{padding-top:25px}.game h1{font-size:35px;letter-spacing:-1px;margin:22px 0 15px}.game-side>p{font-size:13px;color:var(--muted);line-height:1.9}.rule-card{border:1px solid var(--line);background:#fff0d9;padding:20px;border-radius:12px;margin-top:27px}.rule-card label{font-size:11px;display:block;letter-spacing:1px;margin-bottom:10px}.rule-card strong{display:block;font-size:14px}.rule-card p{font-size:12px;color:var(--muted);line-height:1.8;margin:12px 0 0}.rule-card select{width:100%;padding:12px 8px;background:var(--white);border:1px solid #adc7d7;border-radius:6px;font-size:13px}.players{display:flex;gap:10px;margin-top:22px}.player{display:flex;align-items:center;gap:12px;background:var(--white);border:1px solid var(--line);border-radius:10px;flex:1;padding:13px;font-size:12px}.player.active{border-color:var(--dark-green);background:#e1eddf}.player .mark{width:27px}.player .mark.o{border-width:5px}.player .mark.x:before,.player .mark.x:after{height:5px;top:calc(50% - 2px)}.player small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.board-column{max-width:460px;width:100%;justify-self:end}.board-top{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;font-size:11px;color:var(--muted)}.timer{background:var(--green);min-width:78px;padding:7px 12px;border-radius:30px;color:var(--ink);white-space:nowrap;text-align:center;font-variant-numeric:tabular-nums}.timer span{font-size:23px;font-weight:800}.timer small{font-size:10px;margin-left:4px}.timer.urgent{background:#f7b5a2}.board{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;background:var(--ink);border:2px solid var(--ink);border-radius:17px;padding:8px;box-shadow:7px 7px 0 #e8f2f8;aspect-ratio:1}.cell{position:relative;border:0;border-radius:8px;background:var(--white);display:grid;place-items:center;min-width:0;aspect-ratio:1;padding:15px;transition:background .12s}.cell:disabled{opacity:1}.cell:not(:disabled):hover{background:#eff8fc}.cell.selected{background:var(--green)}.cell.winning{background:var(--green)}.cell.exploded{background:#f6ad98}.cell .mark{width:67%}.cell-hint{font-size:28px;font-weight:300;color:#dce7ee}.bomb-badges{position:absolute;left:5px;right:5px;bottom:5px;display:flex;gap:5px;justify-content:center}.bomb-badge{display:inline-flex;gap:2px;align-items:center;background:#ecf6fb;border:1px solid #90b4c8;padding:2px 4px;border-radius:4px;line-height:1}.bomb-badge svg{width:16px;height:16px}.bomb-badge small{font-size:8px;white-space:nowrap}.bomb-badge.enemy{background:#f9d1c5;border-color:#e69c85}.cell.selected .bomb-badges{position:static}.cell.selected .bomb-badge{background:none;border:0}.cell.selected .bomb-badge svg{width:45px;height:45px}.under-board{margin-top:24px}.confirm{width:100%}.bomb-legend{display:flex;align-items:center;gap:9px;justify-content:center;color:var(--muted);font-size:12px}.bomb-legend.danger{color:#a7422c}.bomb-legend svg{width:20px;height:20px}.result-actions{display:flex;align-items:center;flex-direction:column;gap:12px}.result-actions .button{width:100%}.notice{min-height:22px;font-size:11px!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.lab{max-width:720px;margin:55px auto;min-height:65vh}.lab h1{font-size:35px;letter-spacing:-1px}.lab p{font-size:14px;line-height:1.9}.lab-controls{display:flex;flex-wrap:wrap;gap:14px;margin:22px 0}.lab-panel{padding:24px;border:1px solid var(--ink);border-radius:14px;background:var(--white)}.lab-panel input[type=text]{width:100%;padding:12px;border:1px solid var(--line);border-radius:6px;font-size:12px}.lab-status{font-weight:700}.lab-log{padding:15px 0;font-size:12px;min-height:50px;color:var(--muted)}.lab .small-note{font-size:12px;color:var(--muted)}
@media(min-width:1000px){html[lang=en] .hero h1{font-size:61px}}
@media(max-width:850px){header{padding:20px 25px}.container{padding:0 25px}.hero{gap:25px;padding:45px 0 55px}.hero h1{font-size:42px}.hero-art{padding:20px 0}.demo-board{gap:7px;padding:7px;border-radius:18px}.demo-cell{border-radius:8px}.demo-cell .mark.o{border-width:8px}.art-note{bottom:-25px;font-size:10px}.art-star{font-size:40px;left:-8px;bottom:-15px}.brand{font-size:19px}.brand small{font-size:7px;letter-spacing:1px}.game-layout{gap:30px}.game h1{font-size:28px}.page-footer{margin:0 25px}.steps{gap:20px}.steps article{padding-left:0}.step-num{position:static}.game-top .eyebrow{font-size:9px}}
@media(max-width:600px){header{padding:17px 18px;gap:8px;align-items:flex-start}.container{padding:0 22px}.brand{font-size:17px;gap:8px}.brand-icon{width:32px;height:35px;border-radius:9px}.brand-icon svg{width:23px}.brand small{font-size:5.5px;letter-spacing:.55px}.header-tools{gap:7px;flex-direction:column-reverse;align-items:flex-end}.languages{padding:3px}.languages button{font-size:10px;padding:5px 8px}#sound{font-size:10px;padding:0 4px}.hero{grid-template-columns:1fr;padding:32px 0 45px;gap:38px}.hero h1{font-size:43px;letter-spacing:-2px;margin:20px 0}.hero .eyebrow{font-size:9px;letter-spacing:1px}.intro{font-size:12px;line-height:2}.intro br{display:none}.home-actions{max-width:none}.hero-art{max-width:290px;width:85%;margin:0 auto;padding:20px 8px 35px}.demo-board{max-width:270px}.art-label{right:-12px;top:0;font-size:8px}.art-note{bottom:2px}.art-star{bottom:10px;left:-22px}.pills{justify-content:center;gap:14px;margin-top:20px;font-size:9px}.how{padding-top:20px}.section-title{gap:16px}.section-title h2{font-size:18px}.steps{grid-template-columns:1fr;gap:22px}.steps article{padding-left:42px}.step-num{position:absolute}.steps h3{margin:8px 0}.steps p{font-size:12px}.page-footer{margin:0 22px;gap:15px;font-size:9px}.page-footer span:last-child{font-size:8px;letter-spacing:.8px}.game{padding-top:15px}.game-top>.eyebrow{display:none}.game-layout{grid-template-columns:1fr;padding-top:4px;gap:10px}.game-side{padding-top:10px}.game-side>.eyebrow{font-size:9px}.game h1{font-size:27px;margin:12px 0 7px}.game-side>p{font-size:12px;margin:5px 0}.rule-card{margin-top:13px;padding:12px 14px}.rule-card label{margin-bottom:6px}.rule-card p{font-size:11px;margin-top:8px}.rule-card select{padding:9px 6px;font-size:12px}.players{margin-top:12px}.player{padding:9px 12px}.small-note{font-size:11px!important}.notice:empty{display:none}.board-column{justify-self:center;max-width:390px}.board-top{margin-bottom:5px;min-height:46px;font-size:10px}.board{gap:6px;padding:6px;border-radius:13px}.cell{padding:12px}.cell .mark.o{border-width:8px}.cell .mark.x:before,.cell .mark.x:after{height:9px}.under-board{margin-top:18px}.button{font-size:13px;padding:14px 17px}.lab{margin-top:30px}.lab h1{font-size:28px}.lab-panel{padding:17px}.lab-controls .button{width:100%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
.language-links{display:flex;justify-content:center;gap:18px;padding:0 20px 20px;font-size:10px;color:var(--muted)}
.online-controls{max-width:450px;margin:18px 0 6px;padding:14px 18px;background:var(--white);border:1px solid var(--line);border-radius:12px}.online-controls input{width:100%;padding:8px;margin-top:6px;border:1px solid var(--line);border-radius:5px;font-size:11px}.online-controls .lab-controls{margin:8px 0 0;gap:18px}.online-controls .button{padding:9px 12px;font-size:11px}.online-layout{display:grid;grid-template-columns:.9fr 1fr;gap:70px;align-items:start;margin-top:10px}.online-layout .game-side{padding-top:0}.online-layout .game-side>p:first-child{margin-top:4px}.online-game .small-note{font-size:11px;color:var(--muted);line-height:1.7}.online-game .game-top{margin-bottom:4px}
@media(max-width:850px){.online-layout{gap:30px}}
@media(max-width:600px){.online-layout{grid-template-columns:1fr;gap:4px}.online-controls{margin:8px 0}.online-layout .game-side h1{margin-top:6px}.online-layout .game-side>p:first-child{font-size:10px}.online-layout .rule-card{margin-top:8px}}
@media(max-width:600px){.game-side>.eyebrow{display:none}.game h1{margin:8px 0 6px;font-size:25px}.game-layout{gap:4px}.game .rule-card{padding:10px 12px}.game .board-top{min-height:38px}.game .rule-card p{margin-top:5px}.game .small-note{font-size:10px!important}.game .under-board{margin-top:15px}}
.phrase-panel{margin:24px 0 10px;padding:15px 18px;max-width:680px;background:var(--white);border:1px solid var(--line);border-radius:12px}.phrase-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.phrase-button{padding:9px 13px;border:1px solid var(--ink);border-radius:999px;background:var(--paper);font-size:12px;font-weight:700}.phrase-button:not(:disabled):hover{background:var(--green)}.phrase-bubble{min-height:1.5em;margin:11px 0 0;font-size:12px;font-weight:700;color:var(--dark-green)}

/* Keep the pre-module language guard compatible with the strict CSP. */
html[data-language-pending] body{visibility:hidden}
.board-stage{position:relative;isolation:isolate}
.board-result{position:absolute;inset:0;display:grid;place-items:center;z-index:4;pointer-events:none;background:#f5fafc66;border-radius:16px}
.result-banner{width:94%;padding:16px 8px 20px;text-align:center;border:3px solid var(--ink);border-radius:16px;box-shadow:5px 6px 0 var(--ink);background:var(--green);transform:rotate(-4deg);color:var(--ink)}
.result-banner strong{display:block;font-size:clamp(32px,5.5vw,62px);font-weight:950;letter-spacing:-1.5px;line-height:1.2}
.result-banner>span:last-child{display:block;margin-top:9px;font-size:13px;font-weight:750}
.result-symbol{display:block;font-size:34px;line-height:1.1;margin-bottom:5px}
.result-lose .result-banner{background:#f6ad98;transform:rotate(3deg)}
.result-draw .result-banner{background:var(--white);transform:rotate(-2deg)}
.impact-hold .board{filter:saturate(.65)}
.impact-burst .board{animation:board-impact .48s ease-out both;animation-delay:var(--effect-delay,0ms)}
.explosion-art{position:absolute;inset:-30%;z-index:3;pointer-events:none;display:grid;place-items:center}
.blast-ring{position:absolute;inset:10%;border:9px solid #e87635;border-radius:50%;animation:blast-ring .65s ease-out both}
.blast-core{font-size:clamp(110px,22vw,230px);line-height:1;color:#ffc85c;text-shadow:4px 5px 0 #d75132;animation:blast-pop .7s ease-out both}
.blast-word{position:absolute;font-size:clamp(20px,4vw,36px);font-weight:950;color:var(--ink);transform:rotate(-12deg);text-shadow:1px 2px #fdfefe}
.explosion-art>*{animation-delay:var(--effect-delay,0ms)}
@keyframes board-impact{0%,100%{transform:translate(0)}20%{transform:translate(-7px,3px) rotate(-1deg)}40%{transform:translate(6px,-3px) rotate(1deg)}60%{transform:translate(-4px,1px)}80%{transform:translate(2px,-1px)}}
@keyframes blast-ring{from{transform:scale(.2);opacity:1}to{transform:scale(1.6);opacity:0}}
@keyframes blast-pop{0%{transform:scale(.25) rotate(-20deg);opacity:0}25%{transform:scale(1.1) rotate(5deg);opacity:1}75%{opacity:1}100%{transform:scale(.95) rotate(-6deg);opacity:0}}
@media(max-width:600px){.result-banner strong{font-size:clamp(30px,10vw,44px)}.result-banner{padding:12px 8px 16px}.result-symbol{font-size:28px}}
@media(prefers-reduced-motion:reduce){.impact-burst .board,.explosion-art>*{animation:none!important}.blast-ring{display:none}.blast-core{opacity:1;transform:none}}

.suspense-click{position:absolute;top:8%;left:50%;z-index:3;transform:translateX(-50%) rotate(-8deg);padding:3px 7px;border-radius:5px;background:var(--white);border:1px solid var(--ink);font-size:clamp(12px,2vw,17px);font-weight:800;white-space:nowrap;pointer-events:none;animation:click-caption 1s linear both;animation-delay:var(--effect-delay,0ms)}
.suspense-indicator{position:absolute;bottom:20%;display:flex;gap:6px;pointer-events:none}
.suspense-indicator i{width:6px;height:6px;background:var(--coral);border-radius:50%;opacity:.2;animation:cue-dot 1s steps(1) both;animation-delay:var(--effect-delay,0ms)}
.suspense-indicator i:nth-child(2){animation-name:cue-dot-two}.suspense-indicator i:nth-child(3){animation-name:cue-dot-three}
@keyframes click-caption{0%,22%{opacity:1}40%,100%{opacity:0}}
@keyframes cue-dot{0%{opacity:.2}22%,100%{opacity:1}}
@keyframes cue-dot-two{0%{opacity:.2}46%,100%{opacity:1}}
@keyframes cue-dot-three{0%{opacity:.2}70%,100%{opacity:1}}
/* A brief on/off caption remains available with reduced motion; no movement. */
@media(prefers-reduced-motion:reduce){.suspense-click{animation:click-caption 1s steps(1) both!important;animation-delay:var(--effect-delay,0ms)!important}.suspense-indicator i{opacity:1}}
.page-footer{flex-wrap:wrap;align-items:center}.sister-game{font-size:10px;letter-spacing:0;line-height:1.8;text-underline-offset:3px}.sister-game:hover{color:var(--dark-green)}
@media(max-width:600px){.page-footer .sister-game{order:3;flex-basis:100%;font-size:9px}}

/* Quick reactions stay visible over the game board while its cells remain tappable. */
.board{position:relative}
.group-settings{display:grid;grid-template-columns:1fr;gap:8px;border:1px solid var(--line);border-radius:9px;padding:12px;min-width:0;margin:12px 0}.group-settings label,.group-settings legend{font-size:12px;font-weight:700}.group-settings select{width:100%;min-width:0;padding:9px 6px;font-size:12px}.group-game .lab-controls{align-items:center}.group-game #invite{min-width:0;flex:1;padding:9px;border:1px solid var(--line);border-radius:6px;font-size:12px}.group-game h1{font-size:30px;overflow-wrap:anywhere}.group-game .board-column{align-self:start}.group-roster-title{font-size:14px}.group-roster{list-style:none;padding:0;display:grid;gap:6px}.group-roster li{padding:8px 10px;background:var(--white);border:1px solid var(--line);border-radius:8px;font-size:12px;overflow-wrap:anywhere}.group-roster li.active{background:var(--green);border-color:var(--ink)}.group-roster small{display:block;margin-left:28px;color:var(--muted)}.group-roster select{float:right;min-width:48px}.group-symbol{font-family:Arial,'Segoe UI Symbol',sans-serif;font-weight:800;color:var(--dark-green);line-height:1}.group-roster .group-symbol{display:inline-block;width:24px;font-size:23px;vertical-align:middle}.group-board .cell{padding:6px;container-type:inline-size}.group-board .group-symbol{font-size:60cqw}.group-board{gap:6px;padding:6px}.group-board.size-3{grid-template-columns:repeat(3,minmax(0,1fr))}.group-board.size-4{grid-template-columns:repeat(4,minmax(0,1fr))}.group-board.size-5{grid-template-columns:repeat(5,minmax(0,1fr))}.group-board.size-6{grid-template-columns:repeat(6,minmax(0,1fr))}.group-bomb{position:absolute;bottom:3px;right:3px;display:flex;align-items:center;background:var(--green);border-radius:4px;padding:1px}.group-bomb svg{width:15px;height:15px}.group-bomb small{font-size:9px}.group-game .small-note{font-size:12px;color:var(--muted);line-height:1.7}.group-game .result-actions .button{justify-content:center}.group-game .rule-card p{line-height:1.7}.group-game .lab-panel>.button{width:100%}
@media(max-width:600px){.group-game h1{font-size:24px;letter-spacing:-1px}.group-game .board-column{max-width:100%}.group-game #invite{flex-basis:100%;width:100%}.group-game .game-layout{gap:14px}.group-board{box-shadow:4px 4px 0 #e8f2f8;gap:4px;padding:4px}.group-board .cell{border-radius:5px;padding:3px}.group-bomb svg{width:12px;height:12px}.group-game .lab-controls{gap:8px}}
.board-chat{position:absolute;z-index:6;top:12%;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 20px);padding:10px 18px 12px;border:2px solid var(--ink);border-radius:16px;background:var(--white);box-shadow:4px 5px 0 var(--ink);text-align:center;pointer-events:none;animation:board-chat-in .18s ease-out both}
.board-chat:after{content:'';position:absolute;bottom:-9px;left:calc(50% - 7px);width:13px;height:13px;background:var(--white);border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(45deg)}
.board-chat small{display:block;margin-bottom:3px;color:var(--muted);font-size:clamp(9px,2.5vw,11px);font-weight:700;line-height:1.2}
.board-chat strong{display:block;color:var(--ink);font-size:clamp(17px,5vw,25px);font-weight:900;line-height:1.25;white-space:normal}
@keyframes board-chat-in{from{opacity:0;transform:translate(-50%,5px) scale(.92)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
@media(prefers-reduced-motion:reduce){.board-chat{animation:none}}

/* Group games use the same board proportions and clear bomb markers as classic play. */
.group-game .game-layout{padding-top:12px}
.group-game .group-settings{margin-top:12px}
.group-settings summary{cursor:pointer;font-size:13px;font-weight:700}
.group-settings .group-controls{margin-top:14px}
.group-help{margin-top:24px}
.group-game .group-bomb{width:clamp(20px,26cqw,42px);height:clamp(20px,26cqw,42px);padding:3px;justify-content:center}
.group-game .group-bomb svg{width:100%;height:100%}
.group-board .cell.bomb-only .group-bomb{position:static;width:62%;height:62%;padding:0;background:none}
.group-bomb small{position:absolute;right:-3px;bottom:-3px;background:var(--paper);border-radius:50%;padding:2px}
.group-game .result-actions>p{margin:10px 0}
@media(max-width:600px){.group-game .game-layout{display:grid;grid-template-columns:minmax(0,1fr)}.group-game .game-side{display:contents}.group-game .game-side>h1,.group-game .game-side>.notice{grid-row:auto}.group-game .board-column{grid-row:3;max-width:390px}.group-game .game-side>.rule-card,.group-game .group-roster-title,.group-game .group-roster{grid-row:auto}.group-game .group-roster{margin:0}}
