:root{--ink:#152728;--paper:#fffefb;--line:#d5d8d0;--green:#176268;--muted:#526260;--soft:#f2f3ed;--gold:#f5d974}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #d66c31;outline-offset:4px}button:disabled{cursor:not-allowed;opacity:.55}img{max-width:100%;height:auto}.skip{position:absolute;top:-100px;background:#fff;padding:14px;z-index:100}.skip:focus{top:0}.review-bar{background:#152728;color:#fff;padding:7px 4vw;font-size:11px;letter-spacing:.5px;text-align:center}.site-header{max-width:1320px;margin:auto;padding:20px 4vw 0}.edition{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.masthead{display:block;font-family:Georgia,serif;font-weight:700;text-align:center;font-size:clamp(36px,6vw,68px);letter-spacing:-3px;margin:15px 0 22px;text-decoration:none}.desktop-nav{display:flex;justify-content:center;gap:12px;border-block:1px solid var(--ink);padding:6px 0}.desktop-nav a,.desktop-nav button{padding:12px 17px;font-weight:600;font-size:14px;background:transparent;border:0;text-decoration:none}.desktop-nav a.active{border-bottom:3px solid var(--green)}.mobile-nav{display:none}.page{max-width:1200px;margin:auto;padding:45px 4vw 70px}.page-head{display:flex;justify-content:space-between;gap:28px;align-items:end;padding-bottom:30px;border-bottom:1px solid var(--line)}.eyebrow{text-transform:uppercase;letter-spacing:1.2px;font-size:11px;font-weight:700;color:var(--green);margin:0 0 12px}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,serif;font-size:clamp(40px,6vw,66px);line-height:1.05;letter-spacing:-2px;margin-bottom:10px}h2{font-family:Georgia,serif;font-size:32px;letter-spacing:-.7px}h3{font-size:23px;line-height:1.15}.muted{color:var(--muted)}.date{font-size:15px}.progress-chip{padding:14px 20px;border:1px solid var(--line);border-radius:40px;white-space:nowrap;font-size:14px}.games-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:32px 0}.game-card{border:1px solid var(--line);position:relative;background:white;overflow:hidden;border-radius:8px}.game-art{height:175px;display:grid;place-content:center;text-decoration:none;position:relative}.five-art{background:#dce9dc}.groups-art{background:#e9dff2}.sudoku-art{background:#dce6ef}.harbour-art{background:#fbe9d2}.game-card-body{padding:23px}.game-card h2{margin-bottom:9px;font-size:30px}.game-card p{font-size:15px;line-height:1.5;color:var(--muted);min-height:46px}.card-meta{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted);margin-bottom:20px}.play-link,.primary{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:13px 20px;border:1px solid var(--ink);background:var(--ink);color:white;text-decoration:none;border-radius:4px;font-weight:700;min-height:48px}.secondary{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:11px 18px;border:1px solid var(--line);background:white;border-radius:4px;color:var(--ink);text-decoration:none}.favourite{position:absolute;top:12px;right:12px;width:44px;height:44px;border:1px solid #ffffffa0;border-radius:50%;background:#ffffffd9;font-size:22px;z-index:1}.favourite[aria-pressed=true]{background:var(--ink);color:white}.word-art{display:flex;gap:5px;transform:rotate(-7deg)}.word-art span{display:grid;place-content:center;background:#315e47;color:#fff;width:46px;height:52px;border-radius:4px;font-weight:700;font-size:25px;box-shadow:0 3px 0 #264735}.word-art span:nth-child(2){background:#bf9631}.word-art span:nth-child(4){background:#fff;color:#315e47}.group-art{display:grid;grid-template-columns:repeat(2,86px);gap:8px;transform:rotate(6deg)}.group-art span{height:42px;border-radius:5px;background:#b99acb}.group-art span:nth-child(2),.group-art span:nth-child(3){background:#ead47d}.number-art{display:grid;grid-template-columns:repeat(3,43px);border:2px solid #234e72;background:#fff;transform:rotate(-4deg)}.number-art span{height:42px;text-align:center;padding-top:8px;border:1px solid #b5c5d3;font-size:22px}.number-art span:nth-child(3n){color:#9caab5}.tile-art{display:grid;grid-template-columns:repeat(4,32px);gap:7px;transform:rotate(8deg)}.tile-art span{height:32px;border-radius:10px;background:#e1814b}.tile-art span:nth-child(2n){background:#60978e}.tile-art span:nth-child(3n){background:#d7b34e}.section-top{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--ink);padding-top:25px;margin-top:45px}.extra-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.wide-card{display:grid;grid-template-columns:200px 1fr;border:1px solid var(--line);border-radius:6px;overflow:hidden}.wide-card .game-art{height:100%;min-height:200px}.wide-card .game-card-body p{min-height:0}.archive-box{padding:25px;background:var(--soft);border-radius:6px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.archive-box p{color:var(--muted);line-height:1.6}.how-row{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;border-top:1px solid var(--line);padding-top:30px;margin-top:40px}.how-row h3{font-size:17px}.how-row p{font-size:14px;line-height:1.6;color:var(--muted)}footer{border-top:1px solid var(--line);padding:30px 4vw;max-width:1200px;margin:auto;font-size:13px;display:flex;justify-content:space-between;gap:20px;color:var(--muted)}footer a{margin-left:18px}.menu-dialog{margin:0 0 0 auto;height:100dvh;max-height:none;width:min(440px,90vw);max-width:none;border:0;border-left:1px solid var(--line);padding:28px;background:var(--paper);color:var(--ink)}.menu-dialog::backdrop{background:#12252588}.tray-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:22px}.tray-head strong{font-family:Georgia,serif;font-size:25px}.icon-btn{width:48px;height:48px;border:1px solid var(--line);background:white;border-radius:50%;font-size:23px}.tray-links{display:grid;margin-top:22px}.tray-links a{padding:18px 0;border-bottom:1px solid var(--line);text-decoration:none;font-size:20px;display:flex;justify-content:space-between}.tray-group{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin:28px 0 0}.tray-bottom{margin-top:28px;font-size:14px;line-height:1.6;color:var(--muted)}.settings-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:30px;margin-top:30px}.settings-panel{border:1px solid var(--line);padding:28px;border-radius:6px}.settings-panel h2{font-size:28px}.setting{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line);font-size:16px}.setting small{display:block;color:var(--muted);font-size:13px;line-height:1.4;margin-top:6px}.setting input{width:23px;height:23px;accent-color:var(--green)}.status-line{font-size:13px;line-height:1.5;color:var(--muted);padding:14px;background:var(--soft)}.saved-list{list-style:none;padding:0;margin:0}.saved-list li{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line)}.saved-list a{font-weight:700;padding:12px 0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.stat strong{display:block;font-size:32px}.stat span{font-size:12px;color:var(--muted)}.game-page{max-width:850px;margin:auto;padding:35px 22px 60px}.game-title-row{display:flex;justify-content:space-between;align-items:start;gap:20px;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:25px}.game-title-row h1{font-size:44px}.game-title-row .date{font-size:13px;margin:0}.game-host{min-height:420px}.game-host button{min-height:44px}.game-host input{font-size:18px}.game-help{margin-top:25px;border-top:1px solid var(--line);padding-top:20px;font-size:14px;line-height:1.6;color:var(--muted)}.back-link{font-size:13px;display:inline-block;margin-bottom:23px}.article-preview-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:30px;margin:30px 0}.news-lead h2{font-size:42px}.news-lead p{line-height:1.6;color:var(--muted)}.games-promo{padding:30px;background:#e5ece0;border-top:3px solid var(--green);display:flex;gap:28px;align-items:center;justify-content:space-between}.games-promo h2{margin:0 0 8px}.games-promo p{margin:0}.news-links a{display:block;padding:25px 0;border-bottom:1px solid var(--line);font-family:Georgia,serif;font-size:25px;text-decoration:none}.text-large{font-size:112%}.reduce-motion *{scroll-behavior:auto!important;animation:none!important;transition:none!important}.notice{font-size:13px;color:var(--muted);margin-top:16px}.empty-state{padding:20px 0;color:var(--muted);line-height:1.5}
@media(max-width:760px){.site-header{padding:14px 18px 0}.edition{display:none}.masthead{font-size:38px;letter-spacing:-1.6px;margin:2px 0 16px}.desktop-nav{display:none}.mobile-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) 44px;border-block:1px solid var(--ink);gap:0;align-items:stretch}.mobile-nav a,.mobile-nav button{border:0;background:none;text-decoration:none;min-height:51px;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;white-space:nowrap;padding:0 3px}.mobile-nav a.active{box-shadow:inset 0 -3px var(--green)}.mobile-nav button{font-size:23px}.page{padding:28px 18px 45px}.page-head{display:block;padding-bottom:20px}.page-head h1{font-size:44px}.progress-chip{margin-top:20px;display:inline-block;padding:9px 14px}.games-grid{grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}.game-art{height:125px}.game-card-body{padding:17px 13px}.game-card h2{font-size:23px;letter-spacing:-.6px}.game-card p{font-size:13px;min-height:58px}.card-meta{display:block;font-size:11px;margin-bottom:12px}.card-meta span{display:block;margin-bottom:5px}.play-link{width:100%;gap:10px;padding:12px 9px;font-size:13px}.word-art{gap:3px}.word-art span{width:25px;height:32px;font-size:16px}.group-art{grid-template-columns:repeat(2,51px);gap:5px}.group-art span{height:28px}.number-art{grid-template-columns:repeat(3,28px)}.number-art span{height:28px;font-size:16px;padding-top:4px}.favourite{width:44px;height:44px;top:5px;right:5px;font-size:20px}.extra-grid,.settings-layout,.article-preview-grid{grid-template-columns:1fr}.wide-card{grid-template-columns:125px 1fr}.wide-card .game-art{min-height:170px}.tile-art{grid-template-columns:repeat(3,23px);gap:5px}.tile-art span{height:23px}.how-row{grid-template-columns:1fr;gap:8px}.section-top h2{font-size:28px}.settings-panel{padding:22px}.game-title-row h1{font-size:37px}.game-page{padding:25px 15px}.games-promo{display:block}.games-promo .play-link{margin-top:20px;width:auto}.news-lead h2{font-size:32px}footer{display:block;line-height:1.8}footer a{margin-left:0;margin-right:15px}.menu-dialog{padding:22px}.review-bar{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.text-large .game-card p,.text-large .setting,.text-large .game-help,.text-large .news-lead p{font-size:19px}.text-large .notice,.text-large .status-line{font-size:16px}
.game-page .arc-header{display:none}.game-page .bm-arcade{margin-top:0}.game-page .daily-game>header h2{display:none}
@media(max-width:500px){.game-page .bm-arcade{padding:14px 0;border:0;background:transparent}.game-page .arc-match{gap:0;padding:0;border-radius:6px;overflow:hidden}.game-page .arc-tile{min-height:44px;border-radius:4px}.game-page .arc-stats,.game-page .arc-controls,.game-page .arc-help,.game-page .arc-status{padding-inline:4px}}
.menu-dialog[open]{animation:tray-in .2s ease-out}@keyframes tray-in{from{transform:translateX(100%)}to{transform:translateX(0)}}

.stack-art{display:grid;grid-template-columns:repeat(5,24px);grid-template-rows:repeat(5,24px);gap:3px;transform:rotate(-5deg)}.stack-art .block{background:#176268;border-radius:3px}.stack-art .b0{grid-column:3;grid-row:1}.stack-art .b1{grid-column:3;grid-row:2}.stack-art .b2{grid-column:4;grid-row:2}.stack-art .b3{grid-column:5;grid-row:2}.stack-art .b4{grid-column:1;grid-row:4;background:#d89a52}.stack-art .b5{grid-column:2;grid-row:4;background:#d89a52}.stack-art .b6{grid-column:1;grid-row:5;background:#d89a52}.stack-art .b7{grid-column:2;grid-row:5;background:#d89a52}.stack-art .b8{grid-column:3;grid-row:5;background:#a080bd}.stack-art .b9{grid-column:4;grid-row:5;background:#a080bd}.stack-art .b10{grid-column:4;grid-row:4;background:#a080bd}.stack-art .b11{grid-column:5;grid-row:4;background:#a080bd}.stack-art .b12,.stack-art .b13,.stack-art .b14,.stack-art .b15{display:none}

.classic-art{background:#1f5149;color:#f7f0dc;font-family:Georgia,serif;letter-spacing:.14em;font-size:clamp(2rem,5vw,3.2rem)}.classic-coastal-2048{background:#e8dac2;color:#254d48}.classic-mahjong{background:#d9e5dc;color:#244f44}.classic-mini-crossword{background:#ece9db;color:#263c36}
/* The page heading already names the game; standalone modules retain theirs elsewhere. */
.game-page #game-host.bm-classics > h2,.game-page #game-host.bpc > h2{display:none}

.bm-more-puzzles{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.bm-more-puzzles h3,.bm-more-puzzles p{flex-basis:100%;margin:0 0 8px}.bm-more-puzzles button,.bm-more-puzzles select{min-height:44px;max-width:100%;font-size:16px}.bm-more-puzzles label{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bm-more-puzzles select{background:#fff;border:1px solid var(--line);border-radius:6px;padding:8px;color:var(--ink)}
