:root{--ink:#203b3b;--muted:#657775;--page:#f4f6f2;--surface:#fff;--line:#dee5de;--accent:#286454;--soft:#edf3ed;--hover:#e9f1e9;--shadow:0 4px 16px #233d3010;color:var(--ink);background:var(--page);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}
html[data-theme=dark]{--ink:#e0ece7;--muted:#a6b9b0;--page:#121c1a;--surface:#1b2823;--line:#34463c;--accent:#99d3b6;--soft:#24392e;--hover:#2c4235;--shadow:none;background:var(--page)}
body,html[data-theme=dark] body{background:var(--page);color:var(--ink)}button,input,select{font:inherit}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #7caa91;outline-offset:4px}button{touch-action:manipulation}button:disabled{cursor:default}a,html[data-theme=dark] a{color:var(--accent)}
.app-header,html[data-theme=dark] .app-header{background:var(--page);border-bottom:1px solid var(--line);padding:20px max(24px,calc((100vw - 1160px)/2));gap:18px}.brand{display:flex;align-items:center;gap:12px;padding:0;background:none;border:0;color:var(--ink);text-align:left;font-size:19px;font-weight:750;letter-spacing:-.4px}.brand-mark{display:grid;place-items:center;width:40px;height:42px;border-radius:14px;background:#286454;color:#f7fff4;font-size:32px;font-family:Georgia,serif;font-style:italic}.brand small{display:block;letter-spacing:2px;font-size:8px;font-weight:600;color:var(--muted);margin-top:3px}.header-actions{gap:12px}.header-actions a{font-size:13px;text-decoration:none;margin-left:8px}.theme-toggle,html[data-theme=dark] .theme-toggle{background:transparent;color:var(--muted);border:1px solid var(--line);font-size:12px;padding:8px 12px;min-height:36px}
.wrap{max-width:1160px;padding:38px 24px 36px}.home-intro{display:grid;grid-template-columns:1.5fr 1fr;gap:24px;align-items:stretch}.hero,html[data-theme=dark] .hero{background:var(--soft);color:var(--ink);padding:38px;border-radius:24px;margin:0;display:flex;flex-direction:column;align-items:start;justify-content:center;min-height:260px}.eyebrow{font-size:10px;letter-spacing:1.6px;font-weight:700;color:var(--muted);text-transform:uppercase}.hero h1{font-weight:550;font-family:Georgia,'Times New Roman',serif;letter-spacing:-1.6px;font-size:clamp(34px,4vw,48px);line-height:1.1;max-width:390px;margin:16px 0 10px}.hero .sub,html[data-theme=dark] .hero .sub{color:var(--muted);font-size:14px;line-height:1.65;max-width:300px;margin:0 0 22px}.action,button.action,html[data-theme=dark] button.action{background:#286454;color:#fff;border:1px solid #286454;border-radius:10px;box-shadow:none;font-size:13px;font-weight:650;padding:11px 17px}.action:hover,button.action:hover{background:#1b4e41}html[data-theme=dark] button.action{background:#8ac7a8;border-color:#8ac7a8;color:#10291c}
#daily,html[data-theme=dark] #daily{background:var(--surface);border:1px solid var(--line);border-radius:24px;margin:0;padding:25px 28px;display:flex;flex-direction:column;align-items:start;justify-content:space-between}.daily-card .topline{width:100%;align-items:center}#dailyBadge{font-size:10px;font-weight:500;color:var(--muted)}.daily-art{font-family:Georgia,serif;font-size:68px;line-height:1;color:#739384;margin:8px auto}#dailyDescription{font-size:13px;line-height:1.55;margin:0 0 14px;color:var(--muted)}#dailyStart{font-size:12px;padding:8px 12px;background:transparent;color:var(--accent);border-color:var(--line)}
.stats{display:flex;align-items:center;gap:28px;margin:24px 0 38px;padding:0 4px;flex-wrap:wrap}.stat,html[data-theme=dark] .stat{display:flex;gap:8px;align-items:center;padding:0;background:none;border:0;box-shadow:none}.stat strong{font-size:16px;line-height:1;font-weight:700}.stat span{font-size:11px;color:var(--muted)}.progress-note{font-size:11px;color:var(--muted);margin-left:auto}.library-heading{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:24px}.library-heading h2{font-size:25px;font-family:Georgia,serif;font-weight:500;letter-spacing:-.5px;margin:0 0 7px}.library-heading p{font-size:13px;margin:0;color:var(--muted)}.search-box{display:flex;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:0 12px;min-width:285px;gap:9px}.search-box>span{font-size:26px;color:var(--muted)}.search-box input{width:100%;background:transparent;color:var(--ink);border:0;min-height:46px;font-size:12px;outline-offset:0}.search-box input::placeholder{color:var(--muted)}.search-box button{border:0;background:none;color:var(--muted);font-size:22px;padding:5px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.library-views{display:flex;align-items:center;gap:22px;border-bottom:1px solid var(--line);margin-bottom:18px;overflow:auto}.library-views button{border:0;background:transparent;color:var(--muted);font-weight:550;font-size:12px;padding:0 0 13px;white-space:nowrap;border-bottom:2px solid transparent}.library-views button[aria-pressed=true]{color:var(--accent);border-bottom-color:var(--accent)}#libraryCount{margin-left:auto;color:var(--muted);font-size:11px;white-space:nowrap;padding-bottom:13px}.category-tabs{display:flex;gap:8px;overflow-x:auto;padding:0 1px 7px;margin-bottom:17px;scrollbar-width:thin}.category-tab{font-size:11px;border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:999px;padding:8px 13px;white-space:nowrap}.category-tab[aria-pressed=true]{background:var(--ink);color:var(--surface);border-color:var(--ink)}
.gamegrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.game-card{position:relative;border:1px solid var(--line);border-radius:17px;overflow:hidden;background:var(--surface);transition:box-shadow .15s,transform .15s}.game-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.game-card .tile,html[data-theme=dark] .game-card .tile{display:block;width:100%;text-align:left;min-height:188px;padding:20px 20px 16px;background:transparent;color:var(--ink);border:0;border-radius:0;box-shadow:none;transform:none}.game-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#edf1eb;color:#416752;font-size:23px;font-weight:650;line-height:1;margin-bottom:16px}.game-card[data-category=Words] .game-icon{background:#f4ede2;color:#8d7048}.game-card[data-category=Strategy] .game-icon{background:#eaeef5;color:#63728d}.game-card[data-category=Logic] .game-icon{background:#efebf4;color:#7a678d}.game-card[data-category=Numbers] .game-icon{background:#f3eae6;color:#a37255}.game-card[data-category=Memory] .game-icon{background:#e5f0ef;color:#4c807e}html[data-theme=dark] .game-card .game-icon{background:#304139;color:#b6d3be}.game-icon:has(+.game-category){font-family:Georgia,serif}.game-category{display:block;color:var(--muted);font-size:9px;letter-spacing:.8px;text-transform:uppercase;margin:0 0 6px}.game-card h3{font-size:16px;font-weight:600;letter-spacing:-.3px;margin:0 0 7px}.game-card p{font-size:11px;color:var(--muted);line-height:1.5;margin:0 0 16px}.play-link{font-size:11px;font-weight:600;color:var(--accent)}.favorite-button{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:23px}.favorite-button:hover{background:var(--soft)}.favorite-button[aria-pressed=true]{color:#ac6b65}.empty-library{text-align:center;padding:48px 18px;color:var(--muted)}.empty-library>span{font-size:32px}.empty-library h3{font-size:17px;color:var(--ink)}.empty-library p{font-size:13px}.more-wrap{text-align:center;margin:25px 0 36px}.secondary-button{padding:11px 24px;border-radius:10px;background:transparent;border:1px solid var(--line);color:var(--ink);font-size:12px}.secondary-button:hover{background:var(--soft)}
.app-details{display:grid;grid-template-columns:1fr 1fr;gap:18px;border-top:1px solid var(--line);padding-top:20px}.quiet-details,.offline-panel,html[data-theme=dark] .offline-panel{margin:0;padding:0;border:0;background:transparent;border-radius:0;color:var(--muted);font-size:12px}.quiet-details summary{cursor:pointer;color:var(--muted);font-size:12px;padding:8px 0}.quiet-details>div{padding:10px 0;line-height:1.7}.quiet-details p{font-size:12px}.sub,.muted,.fine,html[data-theme=dark] .muted,html[data-theme=dark] .fine{color:var(--muted)}footer{font-size:11px;border-top:1px solid var(--line);padding:22px;color:var(--muted)}
body[data-mode=playing] .home-only{display:none!important}#play,html[data-theme=dark] #play{background:var(--surface);border:1px solid var(--line);box-shadow:none;border-radius:20px;max-width:920px;margin:0 auto;padding:26px}.topline h2{font-size:24px;letter-spacing:-.6px;margin:6px 0}#genre{font-size:10px;letter-spacing:1px;text-transform:uppercase}#instructions{font-size:14px;line-height:1.6;margin:20px 0 12px;max-width:650px}#play .topline>.controls{gap:6px}#play .topline>.controls button{font-size:11px;padding:9px 11px}#play .game-help,html[data-theme=dark] #play .game-help{background:transparent!important;color:var(--ink)!important;border-color:var(--line)!important}#playStatus{font-size:13px;color:var(--muted);margin:16px 0}#feedback{font-size:14px;line-height:1.6}.rules-details{margin:10px 0;color:var(--muted);font-size:12px}.rules-details summary{cursor:pointer}.quick-guide,html[data-theme=dark] .quick-guide{background:var(--soft);border-color:var(--line);color:var(--ink)}.quick-guide>div,html[data-theme=dark] .quick-guide>div{background:var(--surface);border-color:var(--line)}#gameControls{justify-content:center;gap:8px;margin-top:18px}.board{margin:24px auto;max-width:440px;width:100%}.board button,html[data-theme=dark] .board button{border:1px solid var(--line);background:var(--soft);color:var(--ink);box-shadow:none}.board button:hover,html[data-theme=dark] .board button:hover{background:var(--hover)}.board button.on,html[data-theme=dark] .board button.on{background:#cce4d5!important;color:#183d2b!important;border-color:#7aaa8d}.board button.matched,html[data-theme=dark] .board button.matched{background:#dcebdc!important;color:#23492c!important}.help-dialog,html[data-theme=dark] .help-dialog{background:var(--surface);color:var(--ink);border:1px solid var(--line)}.howto-visual,html[data-theme=dark] .howto-visual{background:var(--soft);border-color:var(--line)}
.new-grid{gap:5px}.board.new-grid button{min-height:0;aspect-ratio:1;font-size:clamp(16px,4vw,27px);padding:0;border-radius:9px}.board.new-grid button:disabled{opacity:1}.board.new-grid .fixed{font-weight:800;background:var(--line)}.sudoku-grid button:nth-child(4n+2){border-right:3px solid #849c8a}.sudoku-grid button:nth-child(n+5):nth-child(-n+8){border-bottom:3px solid #849c8a}.board.new-grid .wall{background:#34443c!important;border-color:#34443c!important}.board.new-grid .conflict{background:#f6c4bf!important;color:#752b25!important}.board.new-grid .checker{background:var(--line)}.pipe-grid button{font-size:42px!important;line-height:1}.dots-grid{gap:0;max-width:350px;grid-template-rows:16px 72px 16px 72px 16px 72px 16px}.dots-grid button.edge{padding:0;min-height:0;border-radius:4px;background:var(--line)}.dots-grid .horizontal{align-self:center;height:10px}.dots-grid .vertical{justify-self:center;width:10px;height:100%}.dots-grid .dot{display:grid;place-items:center;font-size:28px;line-height:16px}.dots-grid .box-owner{display:grid;place-items:center;font-size:28px}.dots-grid .claimed{background:#638c74!important}.nonogram-grid{gap:4px;max-width:350px}.nonogram-grid .number-clue{display:grid;place-items:center;text-align:center;font-size:12px;white-space:pre-wrap;min-height:38px}.nonogram-grid button{min-height:0;aspect-ratio:1;padding:0;border-radius:5px}.word-options{display:flex;flex-wrap:wrap;justify-content:center;gap:9px}.word-options button{min-height:45px!important;font-size:16px!important}.alphabet-grid button{font-size:16px!important}.gem-grid button[data-gem="0"]{color:#b45b76}.gem-grid button[data-gem="1"]{color:#5687ba}.gem-grid button[data-gem="2"]{color:#a78b38}.gem-grid button[data-gem="3"]{color:#648d57}.gem-grid button[data-gem="4"]{color:#8b6fbc}.peg-grid{grid-template-columns:repeat(9,minmax(0,1fr));gap:5px;max-width:430px}.board.peg-grid button{width:100%;min-height:38px;aspect-ratio:1;border-radius:50%;padding:0;font-size:23px}.hanoi-grid{max-width:500px;gap:8px}.board.hanoi-grid button{min-height:190px;padding:8px 2px;border-bottom:6px solid #789585;display:flex;align-items:end;justify-content:center}.tower-stack{display:flex;flex-direction:column;align-items:center;justify-content:end;gap:4px;width:100%;min-height:150px;border-bottom:0}.tower-disc{display:block;height:24px;background:#739f84;border-radius:5px;color:#fff;font-size:13px;line-height:24px;max-width:96%}.nim-piles{display:flex;flex-direction:column;gap:16px;max-width:500px}.nim-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.nim-row>span{width:100%;font-size:18px;color:var(--ink);margin-bottom:4px}.board.nim-piles button{min-height:38px;padding:6px 12px;font-size:14px}.board .letter-tile{min-width:44px;min-height:54px}.board.letter-rack{gap:7px}.board .playing-card{min-height:66px;min-width:58px;font-size:20px}
@media(max-width:800px){.home-intro{grid-template-columns:1.4fr 1fr;gap:16px}.hero{padding:28px}.gamegrid{gap:12px}.game-card .tile{padding:17px;min-height:190px}.game-card h3{font-size:15px}.progress-note{display:none}.stats{gap:22px}.header-actions a{display:none}.wrap{padding-top:26px}}
@media(max-width:600px){.app-header{padding:16px 18px}.brand{font-size:16px;gap:8px}.brand-mark{width:32px;height:35px;font-size:28px}.brand small{font-size:7px;letter-spacing:1.5px}.header-actions{gap:6px}.theme-toggle,html[data-theme=dark] .theme-toggle{font-size:10px;padding:7px 9px}.wrap{padding:20px 16px 28px}.home-intro{grid-template-columns:1fr}.hero{padding:27px!important;min-height:235px}.hero h1{font-size:39px;max-width:300px}.hero .sub{max-width:280px}.daily-card .daily-art{display:none}#daily{padding:17px 20px!important;border-radius:17px;display:grid;grid-template-columns:1fr auto;gap:8px 16px;align-items:center}.daily-card .topline{grid-column:1/-1}#dailyDescription{margin:0;font-size:11px;max-width:250px}#dailyStart{white-space:nowrap;font-size:10px;padding:9px}.stats{gap:16px;margin:19px 0 28px;justify-content:space-between}.stat{gap:5px}.stat strong{font-size:14px}.stat span{font-size:9px}.library-heading{flex-direction:column;align-items:stretch;gap:17px;margin-bottom:19px}.library-heading h2{font-size:24px}.search-box{min-width:0}.library-views{gap:18px}.library-views button{font-size:11px}#libraryCount{font-size:10px}.gamegrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.game-card{border-radius:14px}.game-card .tile{padding:16px 13px;min-height:200px}.game-card h3{font-size:15px;line-height:1.3}.game-card p{font-size:10px;margin-bottom:12px}.game-icon{width:36px;height:36px;font-size:21px;margin-bottom:15px}.game-category{font-size:8px}.favorite-button{top:10px;right:8px;width:30px;height:30px;font-size:21px}.app-details{grid-template-columns:1fr;gap:3px}#play{padding:18px 15px!important;border-radius:17px}.topline h2{font-size:23px}#play .topline{gap:13px}#play .topline>.controls{width:100%}#play .topline>.controls button{font-size:10px;flex:1;padding:10px 6px}#instructions{font-size:12px;margin-top:18px}.board{margin:20px auto}.new-grid{gap:4px}.board.new-grid button{border-radius:5px}.pipe-grid button{font-size:32px!important}.dots-grid{grid-template-rows:14px 58px 14px 58px 14px 58px 14px}.board.hanoi-grid button{min-height:170px}.board.peg-grid button{font-size:19px;min-height:26px}.board .letter-tile{min-width:35px;min-height:45px;font-size:20px}.board .playing-card{min-width:48px;font-size:18px}.nonogram-grid{grid-template-columns:32px repeat(5,minmax(0,1fr))!important}.board.word-grid{gap:3px}.board.word-grid button{font-size:15px}.board.block-grid{gap:3px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

.game-card .tile:hover{outline:none}.game-card .tile:focus-visible{outline:3px solid #7caa91;outline-offset:-3px}

.search-box:focus-within{outline:2px solid #7caa91;outline-offset:2px}.search-box input:focus-visible{outline:none}.search-box input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}

/* Use the supplied artwork directly; view boxes adapt its tall layout to the header. */
.brand-art{display:flex;align-items:center;gap:9px;background:#fff;border-radius:11px;padding:5px 9px 5px 6px;color:#174bb7}.brand-emblem{display:block;width:40px;height:40px;flex:none}.brand-name{display:flex;flex-direction:column;align-items:center}.brand-wordmark{display:block;width:184px;height:48px}.arcade-label{font-family:system-ui,sans-serif;font-size:9px;letter-spacing:1.5px;font-weight:650;text-transform:uppercase;line-height:1;margin:-3px 0 4px;color:#536a89}@media(max-width:600px){.brand-art{padding:4px 7px 4px 4px;gap:5px}.brand-emblem{width:30px;height:30px}.brand-wordmark{width:139px;height:37px}.arcade-label{font-size:8px;letter-spacing:1px;margin:-1px 0 3px}.app-header{gap:10px}}

.store-navigation{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 18px;padding:10px 20px;background:var(--soft);border-bottom:1px solid var(--line)}.store-navigation a{display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:700;text-decoration:none}.store-navigation span{font-size:12px;color:var(--muted)}

/* Local vector illustrations and tactile, theme-aware game surfaces. */
:root{--board-bed:#d9e4d7;--piece-top:#fffef5;--piece-bottom:#e5ecde;--piece-edge:#b6c9b6;--piece-ink:#244b40;--lift:0 4px 0 #b1c3ae,0 8px 14px #244b4012}
html[data-theme=dark]{--board-bed:#152b24;--piece-top:#385447;--piece-bottom:#293e33;--piece-edge:#52705b;--piece-ink:#edf7e8;--lift:0 4px 0 #0f231b,0 8px 14px #0003}
.hero,html[data-theme=dark] .hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 100% 0%,#9dbca444,transparent 65%),var(--soft);border:1px solid var(--line)}.hero::after{content:'';position:absolute;right:-56px;bottom:-105px;width:250px;height:250px;border:28px solid #9dbca42b;border-radius:50%;pointer-events:none}.hero>*{position:relative;z-index:1}.hero .action{box-shadow:0 4px 0 #163e32,0 7px 16px #234d3b20}
.gamegrid{gap:22px}.game-card{border-radius:20px;box-shadow:0 3px 0 #b3c6b02b;transition:transform .2s ease,box-shadow .2s ease}.game-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px #1d49351a}.game-card .tile,html[data-theme=dark] .game-card .tile{padding:0 22px 22px;min-height:0}.game-card .game-icon,html[data-theme=dark] .game-card .game-icon{display:block;width:calc(100% + 44px);height:auto;aspect-ratio:8/5;border-radius:0;background:#e4ede3;margin:0 -22px 20px;overflow:hidden}.game-icon svg{display:block;width:100%;height:100%;transition:transform .3s ease}.game-card:hover .game-icon svg{transform:scale(1.035)}.game-card .game-category{font-size:10px;letter-spacing:1.3px}.game-card h3{font-size:19px;letter-spacing:-.4px;margin:8px 0}.game-card p{font-size:12px;min-height:36px;line-height:1.6}.play-link{display:inline-flex;align-items:center;min-height:32px;font-size:12px}.favorite-button{background:#fffffff0;color:#3c6552;box-shadow:0 2px 7px #294e3f15;top:12px;right:12px}.favorite-button:hover{background:#fff}.favorite-button[aria-pressed=true]{background:#fff1ed;color:#a14450}
#play,html[data-theme=dark] #play{box-shadow:0 12px 42px #1f44320d;border-radius:26px;background:radial-gradient(ellipse at 50% 35%,var(--soft),transparent 70%),var(--surface)}#gameTitle{font-family:Georgia,serif;font-weight:500;font-size:32px;letter-spacing:-.7px}#playStatus{width:fit-content;max-width:100%;padding:10px 16px;border-radius:999px;background:var(--soft);border:1px solid var(--line);font-variant-numeric:tabular-nums;font-weight:600}#playStatus:empty{display:none}
.board{border-radius:20px;padding:12px;background:var(--board-bed);box-shadow:inset 0 2px 6px #183f2814,0 0 0 1px var(--piece-edge);gap:9px}.board:empty{display:none}.board button,html[data-theme=dark] .board button{position:relative;border:1px solid var(--piece-edge);border-radius:11px;background:linear-gradient(150deg,var(--piece-top),var(--piece-bottom));color:var(--piece-ink);box-shadow:var(--lift);transition:transform .12s,box-shadow .12s,background .15s;font-variant-numeric:tabular-nums}.board button:hover:not(:disabled),html[data-theme=dark] .board button:hover:not(:disabled){background:linear-gradient(150deg,var(--piece-top),var(--piece-bottom));filter:brightness(1.06);transform:translateY(-2px)}.board button:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px 0 var(--piece-edge)}.board button:disabled{opacity:1}.board button.on,html[data-theme=dark] .board button.on{outline:3px solid #4e8c71;outline-offset:-3px;background:linear-gradient(145deg,#ecf8d9,#b4d9bb)!important;color:#1b4332!important}.board button.matched,html[data-theme=dark] .board button.matched{background:linear-gradient(145deg,#d9edcf,#97c8a9)!important;color:#153a2b!important;border-color:#65987b;box-shadow:0 3px 0 #64947b}
.board.new-grid{gap:7px}.board.new-grid button{border-radius:8px}.board.sudoku-grid{background:#8aa48d}.board.sudoku-grid .fixed{background:var(--soft);color:var(--muted);box-shadow:inset 0 2px 4px #254c3115}
.board.twenty,html[data-theme=dark] .board.twenty{background:var(--board-bed);gap:9px;padding:12px}.board.twenty button{border-radius:10px;box-shadow:inset 0 1px 3px #24513918;background:#c5d3c0;color:#35523e;font-size:clamp(21px,5.5vw,32px)}.board.twenty button[data-number]:not([data-number="0"]),html[data-theme=dark] .board.twenty button[data-number]:not([data-number="0"]){background:linear-gradient(145deg,#fdf6dd,#e9dcab);color:#584629;box-shadow:0 4px 0 #c2b482}
:is(.board.twenty) button:is([data-number="8"],[data-number="16"],[data-number="32"]),html[data-theme=dark] .board.twenty button:is([data-number="8"],[data-number="16"],[data-number="32"]){background:linear-gradient(145deg,#ecc390,#d99a6b);color:#4b2e1a;box-shadow:0 4px 0 #b87d51}
:is(.board.twenty) button:is([data-number="64"],[data-number="128"],[data-number="256"],[data-number="512"],[data-number="1024"],[data-number="2048"]),html[data-theme=dark] .board.twenty button:is([data-number="64"],[data-number="128"],[data-number="256"],[data-number="512"],[data-number="1024"],[data-number="2048"]){background:linear-gradient(145deg,#538974,#245944);color:#fff9df;box-shadow:0 4px 0 #163f2e}
.board.gem-grid{gap:8px;padding:13px}.board.gem-grid button[data-gem],html[data-theme=dark] .board.gem-grid button[data-gem]{--gem:#648bb0;background:radial-gradient(ellipse at 28% 18%,#ffffffb3,transparent 45%),linear-gradient(145deg,var(--gem),color-mix(in srgb,var(--gem),#253147 27%));color:#fff;text-shadow:0 2px 2px #0005;border:1px solid color-mix(in srgb,var(--gem),#fff 35%);box-shadow:0 4px 0 color-mix(in srgb,var(--gem),#142b32 40%),inset 0 0 0 3px #ffffff15;font-size:clamp(20px,5vw,31px)}.board.gem-grid button[data-gem="0"],html[data-theme=dark] .board.gem-grid button[data-gem="0"]{--gem:#b66080}.board.gem-grid button[data-gem="1"],html[data-theme=dark] .board.gem-grid button[data-gem="1"]{--gem:#4b91bd}.board.gem-grid button[data-gem="2"],html[data-theme=dark] .board.gem-grid button[data-gem="2"]{--gem:#ba983d}.board.gem-grid button[data-gem="3"],html[data-theme=dark] .board.gem-grid button[data-gem="3"]{--gem:#548f72}.board.gem-grid button[data-gem="4"],html[data-theme=dark] .board.gem-grid button[data-gem="4"]{--gem:#8c72af}.board.gem-grid button.on,html[data-theme=dark] .board.gem-grid button.on{outline:3px solid #fff3ba;outline-offset:2px;background:radial-gradient(ellipse at 28% 18%,#ffffffb3,transparent 45%),var(--gem)!important;color:#fff!important}
.board.block-grid{gap:5px}.board.block-grid .occupied,html[data-theme=dark] .board.block-grid .occupied{background:linear-gradient(135deg,#a7ceb1,#50886b);border-color:#48735b;box-shadow:inset 2px 2px 0 #d7f3d766,inset -2px -2px 0 #244a3655;color:#fff}.piece-choice{background:var(--soft);border-color:var(--line);box-shadow:0 3px 0 var(--line)}.piece-dot{background:linear-gradient(135deg,#a7ceb1,#50886b);border:1px solid #50886b;border-radius:3px}.piece-choice.selected{border-color:#4e8c71;outline-color:#a9d4b5}.board.memory button{min-height:75px;font-size:29px}.board.lights button.on,html[data-theme=dark] .board.lights button.on{background:radial-gradient(circle at 50% 40%,#fff6bc,#d4c86e)!important;box-shadow:0 4px 0 #aaa158,0 0 16px #e9d67444;outline:0;color:#5b4b19!important}
.board .playing-card,html[data-theme=dark] .board .playing-card{background:linear-gradient(145deg,#fffdf5,#e6e1cf);border:2px solid #b6b69c;min-height:96px;min-width:65px;box-shadow:0 5px 0 #a4ad93,0 8px 10px #203d3412;color:#2c4c3a}.board .playing-card:disabled,.board .letter-tile:disabled{opacity:.45}.board .letter-tile{font-family:Georgia,serif;background:linear-gradient(145deg,#fff8dc,#ddcba1);color:#584629;box-shadow:0 4px 0 #b8a67e;border-color:#c6b58d;min-height:60px}
.board.hanoi-grid{background:linear-gradient(0deg,var(--board-bed),transparent);box-shadow:none}.board.hanoi-grid button{background:linear-gradient(90deg,transparent 48%,var(--piece-edge) 48%,var(--piece-edge) 52%,transparent 52%);border:0;border-bottom:8px solid var(--piece-edge);box-shadow:none}.tower-disc{background:linear-gradient(180deg,#a9c5ab,#508065);box-shadow:inset 0 2px 0 #e0f2da99,0 2px 0 #365e48;border-radius:7px}.tower-disc:nth-child(2n){background:linear-gradient(180deg,#dbc993,#a28d50)}.board.new-grid .wall{background:linear-gradient(135deg,#4d7160,#244736)!important;box-shadow:inset 1px 1px 0 #87a38a55,inset -2px -2px 0 #123b2b77;border-color:#244736!important}.board.maze-grid{gap:2px;padding:10px}.board.maze-grid button{box-shadow:none;border-radius:3px;border-color:transparent}.board.word-grid{gap:4px;padding:10px}.board.word-grid button{font-size:clamp(13px,3.7vw,21px);box-shadow:0 2px 0 var(--piece-edge);border-radius:5px}.board.peg-grid{background:radial-gradient(ellipse at 50% 50%,var(--board-bed),transparent 75%);box-shadow:none}.board.peg-grid button{background:radial-gradient(circle at 35% 25%,var(--piece-top),var(--piece-bottom));border-radius:50%}.board.dots-grid{box-shadow:none;background:transparent;padding:8px}.board.dots-grid button.edge{box-shadow:none;background:var(--line)}.board.nim-piles,.board.word-options,.board.card-rack,.board.letter-rack{background:transparent;box-shadow:none}.board.new-grid .checker{background:var(--board-bed)}
#gameControls>button{min-width:44px;min-height:44px;border-radius:11px;border:1px solid var(--piece-edge);box-shadow:0 3px 0 var(--line);padding:10px 15px;background:var(--surface);color:var(--ink)}#gameControls>button:active{transform:translateY(2px)}
@media(max-width:800px){.gamegrid{gap:16px}.game-card .tile{padding:0 17px 17px}.game-card .game-icon{width:calc(100% + 34px);margin:0 -17px 17px}.game-card h3{font-size:17px}}
@media(max-width:600px){.gamegrid{gap:12px}.game-card .tile{padding:0 13px 14px}.game-card .game-icon{width:calc(100% + 26px);margin:0 -13px 14px}.game-card h3{font-size:16px}.game-card p{font-size:11px;min-height:35px;margin-bottom:5px}.game-card .game-category{font-size:8px}.favorite-button{width:30px;height:30px;top:7px;right:7px}.board{padding:9px;gap:7px}.board.new-grid{gap:5px}.board.gem-grid{padding:10px;gap:6px}.board.memory button{min-height:61px}.board .playing-card{min-width:52px;min-height:82px}.board.word-grid{gap:3px;padding:7px}.board.word-grid button{border-radius:4px}.board.maze-grid{gap:2px}.board.block-grid{gap:4px}.board.twenty{gap:7px}#gameTitle{font-size:28px}#playStatus{font-size:11px;padding:9px 12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Keep each Color Clash card's face aligned with its actual game color. */
.board .playing-card[data-color],html[data-theme=dark] .board .playing-card[data-color]{--card-top:#8fa2a7;--card-bottom:#556b75;background:linear-gradient(145deg,var(--card-top),var(--card-bottom));color:#fff;border-color:var(--card-bottom);box-shadow:0 5px 0 color-mix(in srgb,var(--card-bottom),#172a26 30%),inset 0 0 0 4px #ffffff45;text-shadow:0 1px 2px #0004}
.board .playing-card[data-color="0"],html[data-theme=dark] .board .playing-card[data-color="0"]{--card-top:#d68f92;--card-bottom:#a14c5d}.board .playing-card[data-color="1"],html[data-theme=dark] .board .playing-card[data-color="1"]{--card-top:#86b2d4;--card-bottom:#3e739e}.board .playing-card[data-color="2"],html[data-theme=dark] .board .playing-card[data-color="2"]{--card-top:#99c3a1;--card-bottom:#497d59}.board .playing-card[data-color="3"],html[data-theme=dark] .board .playing-card[data-color="3"]{--card-top:#e5cd83;--card-bottom:#9e7c28}.board .playing-card[data-color="-1"],html[data-theme=dark] .board .playing-card[data-color="-1"]{background:linear-gradient(145deg,#ba7d9a,#6a92b0 40%,#65a082 65%,#d0b269)}
.board.pipe-grid button:first-child,html[data-theme=dark] .board.pipe-grid button:first-child{background:linear-gradient(145deg,#d4e9f7,#92bad3)!important;color:#174b70!important;border-color:#709ebc;box-shadow:0 3px 0 #6b99b6}body[data-game=maze] .board button:not(.wall):not(.matched){color:#2478a8}

/* Board swipes move tiles while retaining pinch-to-zoom accessibility. */
.board.twenty{touch-action:pinch-zoom}
.app-update{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 20px;background:var(--soft);color:var(--ink);border-bottom:1px solid var(--line);font-size:13px}.app-update button{min-height:44px}

/* Keep layout crisp at any density; skip painting library cards outside the viewport. */
.game-card{content-visibility:auto;contain-intrinsic-size:auto 340px}
.play-settings{max-width:920px;margin:24px auto;padding:14px 0;border-top:1px solid var(--line)}
.play-settings summary{min-height:44px;display:list-item;align-content:center;font-size:13px;font-weight:650;color:var(--ink)}
.play-settings .controls{padding:8px 0}.play-settings button{min-height:44px}
.play-settings p{font-size:12px;line-height:1.6}
.board.twenty button{z-index:0}
.board.tictac button{font-size:clamp(32px,8vw,48px);font-weight:650;aspect-ratio:1}
.board.connect button{border-radius:50%;background:radial-gradient(circle at 35% 25%,var(--piece-top),var(--piece-bottom));aspect-ratio:1;min-height:0}
#feedback:not(:empty){padding:14px 18px;border-radius:14px;background:var(--soft);border:1px solid var(--line)}
@media(hover:none){.game-card:hover{transform:none;box-shadow:0 3px 0 #b3c6b02b}.game-card:hover .game-icon svg{transform:none}.board button:hover:not(:disabled){transform:none;filter:none}}
html[data-effects=light] .board,html[data-effects=light] .board button,html[data-effects=light] #play,html[data-effects=light] .game-card{box-shadow:none!important}
html[data-effects=light] .game-card,html[data-effects=light] .game-icon svg,html[data-effects=light] .board button{transition:none!important;filter:none!important}
html[data-effects=light] .game-card:hover,html[data-effects=light] .game-card:hover .game-icon svg,html[data-effects=light] .board button:hover,html[data-effects=light] .board button:active{transform:none!important}
@media(max-width:600px){.game-card{contain-intrinsic-size:auto 275px}}

.reward-level-card{border:1px solid #c7d9eb;border-radius:18px;background:linear-gradient(135deg,#effaff,#f8f2ff);padding:18px;margin:16px 0}.reward-level-card h3{margin:4px 0}.reward-progress-track{height:13px;border-radius:999px;background:#dce7f1;overflow:hidden;margin-top:16px}.reward-progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#27b5b9,#7053ce);transition:width .3s ease}.reward-mini-stats{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.reward-mini-stats .stat{padding:12px}.reward-mini-stats .stat strong{font-size:22px}
/* High-resolution polish: scalable surfaces and crisp interaction at any pixel density. */
:root{--aqua-ink:#143d3b;--aqua-deep:#174f46;--aqua-mint:#d8eee1;--aqua-glass:#f8fcfa;--aqua-line:#c6ddd1;--aqua-shadow:0 18px 44px #163c3020}
html{ text-rendering:optimizeLegibility; -webkit-font-smoothing:antialiased; }
img,svg,canvas{image-rendering:auto;shape-rendering:geometricPrecision}
.gamegrid{gap:clamp(14px,1.6vw,22px)}
.game-card,.tilewrap>.tile{overflow:hidden;isolation:isolate}
.game-card{border:1px solid color-mix(in srgb,var(--line,#c6ddd1),white 24%);box-shadow:0 5px 0 #193e3520,0 18px 34px #163c3010;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.game-card:hover,.game-card:focus-within{transform:translateY(-5px);border-color:#75aa91;box-shadow:0 7px 0 #193e351c,0 24px 46px #163c3020}
.game-card .game-icon{position:relative;overflow:hidden;background:radial-gradient(ellipse at 76% 15%,#ffffffcf,transparent 38%),linear-gradient(145deg,#e1f1e6,#c2dfd1 62%,#a5cdbc)}
.game-card .game-icon::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,#fff6,transparent 34%,transparent 72%,#ffffff26);mix-blend-mode:screen}
.game-card .game-icon svg{width:100%;height:100%;display:block;overflow:visible;shape-rendering:geometricPrecision;filter:drop-shadow(0 5px 8px #16453518);transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.game-card:hover .game-icon svg{transform:scale(1.035)}
#play{border:1px solid #c8dfd2;background:linear-gradient(145deg,#fffffffa,#f2f8f4);box-shadow:var(--aqua-shadow);backdrop-filter:blur(14px)}
#playStatus{border:1px solid #c3dfce;border-radius:16px;background:linear-gradient(120deg,#effaf2,#e6f5f0);padding:12px 16px;color:#1b4c3d;box-shadow:inset 0 1px #ffffff}
.board{width:min(100%,560px);max-width:560px;padding:clamp(12px,2.2vw,20px);gap:clamp(7px,1vw,11px);border:1px solid #c2d9cd;border-radius:24px;background:radial-gradient(ellipse at 18% 0%,#ffffffbb,transparent 42%),linear-gradient(145deg,#e5f1e8,#d4e7dc 70%,#c7dfd2);box-shadow:0 7px 0 #71998536,0 18px 36px #143e3214,inset 0 1px #fff;}
.board button{position:relative;overflow:hidden;border:1px solid #bed3c8;border-radius:clamp(10px,1.6vw,17px);background:linear-gradient(150deg,#ffffff,#edf6f0);color:#204c40;box-shadow:0 4px 0 #789a8733,inset 0 1px #fff;transition:transform .13s ease,filter .13s ease,box-shadow .13s ease;}
.board button:hover:not(:disabled){transform:translateY(-2px);filter:saturate(1.08);box-shadow:0 6px 0 #789a8733,0 10px 18px #245b4318}
.board button:active:not(:disabled){transform:translateY(1px);box-shadow:0 2px 0 #789a8733}
.board button:focus-visible{outline:3px solid #2f8367;outline-offset:3px;z-index:2}
.board.tictac button{font-size:clamp(34px,6vw,58px);text-shadow:0 2px 0 #ffffff90}
.board.connect button{background:radial-gradient(circle at 32% 26%,#fff,#e5efe9 42%,#c5d9ce);box-shadow:inset 0 2px 4px #31584720,0 3px 0 #73917f45}
.board.memory button,.board.cards button{font-size:clamp(22px,3.4vw,34px)}
.board.twenty{background:linear-gradient(145deg,#816c50,#5c4a38);border-color:#a58e6d;box-shadow:0 7px 0 #46392b,0 18px 36px #31231429,inset 0 1px #d4bd98}
.board.twenty button{background:linear-gradient(145deg,#f8f0df,#e2d1b4);border:1px solid #d4c09e;box-shadow:0 4px 0 #9f886a}
.board.twenty button[data-number]:not([data-number="0"]){background:linear-gradient(145deg,#fff1c9,#e9c986);color:#493921;text-shadow:0 1px #fff9}
.win-message,.reward{border-radius:18px;box-shadow:0 8px 22px #183d2b12}
html[data-theme="dark"] .game-card .game-icon{background:radial-gradient(ellipse at 76% 15%,#ffffff28,transparent 40%),linear-gradient(145deg,#24493f,#1a3835 65%,#172f35)}
html[data-theme="dark"] #play{background:linear-gradient(145deg,#172b36,#132631);border-color:#3b5b5e}
html[data-theme="dark"] #playStatus{color:#e3f4e9;background:linear-gradient(120deg,#1d4039,#1b393a);border-color:#456c62}
html[data-theme="dark"] .board{background:radial-gradient(ellipse at 18% 0%,#ffffff13,transparent 43%),linear-gradient(145deg,#23433c,#1a3534 70%,#17302f);border-color:#41665c;box-shadow:0 7px 0 #0b1e1b,0 18px 36px #0005,inset 0 1px #ffffff1c}
html[data-theme="dark"] .board button{background:linear-gradient(150deg,#304e49,#223c3b);border-color:#53736a;color:#effbf4;box-shadow:0 4px 0 #0e2622,inset 0 1px #ffffff14}
html[data-theme="dark"] .board button:hover:not(:disabled){box-shadow:0 6px 0 #0e2622,0 10px 20px #0004}
html[data-theme="dark"] .board.twenty{background:linear-gradient(145deg,#4b3e32,#342c27);border-color:#796752}
html[data-theme="dark"] .board.twenty button{background:linear-gradient(145deg,#655748,#514438);border-color:#7b6b58}
html[data-theme="dark"] .board.twenty button[data-number]:not([data-number="0"]){background:linear-gradient(145deg,#856c42,#66502f);color:#fff6df}
@media(max-width:600px){.board{width:100%;padding:10px;border-radius:18px}.board button{border-radius:11px}.game-card:hover,.game-card:focus-within{transform:none}}
@media(prefers-reduced-motion:reduce){.game-card,.game-card .game-icon svg,.board button{transition:none!important}.game-card:hover,.board button:hover:not(:disabled){transform:none!important}}
/* Visible home-screen art pass, designed with scalable CSS so it remains crisp on 4K displays. */
.home-intro{gap:clamp(18px,2vw,28px);margin:4px 0 28px}
.home-intro .hero{position:relative;isolation:isolate;overflow:hidden;min-height:clamp(270px,27vw,390px);padding:clamp(28px,4vw,56px);border:1px solid #bdd9cb;background:radial-gradient(ellipse at 78% 13%,#fff9 0,transparent 24%),radial-gradient(ellipse at 89% 82%,#c3e7d267 0,transparent 38%),linear-gradient(135deg,#edf6ef 0%,#d8e9dd 53%,#cce2d4 100%);box-shadow:0 12px 32px #173d2f12,inset 0 1px #fff}
.home-intro .hero::before{content:"";position:absolute;z-index:-1;width:clamp(230px,27vw,390px);aspect-ratio:1;right:-5%;bottom:-55%;border-radius:50%;border:clamp(15px,2vw,28px) solid #8ab9a32b;box-shadow:0 0 0 clamp(20px,3vw,44px) #8ab9a318,0 0 0 clamp(42px,5vw,72px) #8ab9a30c;}
.home-intro .hero::after{content:"✦";position:absolute;right:13%;top:16%;font-size:clamp(22px,3vw,42px);font-weight:300;color:#43846a55;text-shadow:0 20px 48px #43846a35;transform:rotate(12deg)}
.home-intro .hero h1{position:relative;z-index:1;max-width:10ch;font-size:clamp(42px,5vw,68px);line-height:.99;letter-spacing:-.045em;color:#17463d;text-wrap:balance;text-shadow:0 1px #fff9}
.home-intro .hero .sub{position:relative;z-index:1;max-width:34ch;font-size:clamp(14px,1.15vw,17px);line-height:1.65;color:#45695d}
.home-intro .hero .action{position:relative;z-index:1;padding:13px 20px;border-radius:13px;background:linear-gradient(135deg,#28725d,#1d574b);box-shadow:0 4px 0 #17493e,0 10px 22px #17493e28;font-size:14px}
.home-intro .hero .action:hover{transform:translateY(-2px);box-shadow:0 6px 0 #17493e,0 14px 28px #17493e32}
.daily-card{position:relative;overflow:hidden;border:1px solid #c8ddd1;border-radius:24px;background:radial-gradient(ellipse at 50% 42%,#e5f2e9 0%,#fff 59%);box-shadow:0 12px 30px #173d2f10,inset 0 1px #fff}
.daily-card .daily-art{height:clamp(92px,10vw,148px);display:grid;place-items:center;color:transparent;font-size:0;position:relative}
.daily-card .daily-art::before{content:"";width:clamp(54px,6vw,82px);aspect-ratio:1;transform:rotate(45deg);border-radius:22% 50% 22% 50%;background:linear-gradient(145deg,#fff,#d9ede0 35%,#92bfa6 70%,#4e9275);border:1px solid #75a68b;box-shadow:inset -5px -6px 13px #346f5226,inset 4px 4px 10px #ffffffcf,0 14px 24px #477b5b2b}
.daily-card .daily-art::after{content:"";position:absolute;width:clamp(31px,3.5vw,48px);aspect-ratio:1;transform:rotate(45deg);border:2px solid #ffffffc7;border-radius:19% 50% 19% 50%;box-shadow:0 0 0 8px #75a68b15}
.daily-card .action{box-shadow:0 3px 0 #17493e,0 7px 15px #17493e20}
.stats.home-only{align-items:center;padding:0 4px}
.progress-note{font-size:11px;color:#688276}
.game-card{border-radius:20px;background:linear-gradient(160deg,#fff,#f4f8f5);box-shadow:0 4px 0 #24483a16,0 14px 30px #183b2b0c}
.game-card .game-icon{height:clamp(150px,15vw,205px);border-radius:18px 18px 0 0;background:radial-gradient(ellipse at 78% 15%,#ffffffcf,transparent 36%),linear-gradient(145deg,#e5f1e8,#c4dfd0 68%,#a8ceba)}
.game-card .game-icon svg{filter:drop-shadow(0 8px 11px #16453520)}
.library-heading{margin-bottom:22px}
html[data-theme="dark"] .home-intro .hero{background:radial-gradient(ellipse at 78% 13%,#ffffff24 0,transparent 24%),radial-gradient(ellipse at 89% 82%,#68ac852c 0,transparent 38%),linear-gradient(135deg,#1d3935 0%,#1b3433 53%,#18302e 100%);border-color:#3c6153;box-shadow:0 12px 34px #0004,inset 0 1px #ffffff12}
html[data-theme="dark"] .home-intro .hero h1{color:#e6f6eb;text-shadow:0 2px 12px #071b14}
html[data-theme="dark"] .home-intro .hero .sub{color:#c0d8ca}
html[data-theme="dark"] .home-intro .hero::before{border-color:#9bd0ad22;box-shadow:0 0 0 35px #9bd0ad14,0 0 0 70px #9bd0ad0a}
html[data-theme="dark"] .daily-card{background:radial-gradient(ellipse at 50% 42%,#28473b 0%,#172b2c 64%);border-color:#3c6255;box-shadow:0 12px 30px #0004,inset 0 1px #ffffff12}
html[data-theme="dark"] .daily-card .daily-art::before{background:linear-gradient(145deg,#d9f0df,#77a98b 42%,#346c56 77%);border-color:#83b596}
html[data-theme="dark"] .game-card{background:linear-gradient(160deg,#1c3332,#172a2b);border-color:#38584d}
html[data-theme="dark"] .game-card .game-icon{background:radial-gradient(ellipse at 78% 15%,#ffffff24,transparent 36%),linear-gradient(145deg,#294a3e,#1b3834 68%,#17302f)}
@media(max-width:600px){.home-intro{gap:13px;margin-bottom:22px}.home-intro .hero{min-height:245px;padding:27px!important}.home-intro .hero h1{font-size:clamp(40px,12vw,54px)}.home-intro .hero::before{right:-20%;bottom:-60%}.daily-card{border-radius:19px}.daily-card .daily-art{height:88px}.game-card .game-icon{height:clamp(120px,38vw,170px)}}
/* Optional store discovery: soft editorial card, clear outbound links, no coupons or purchase pressure. */
.selfcare-card{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:center;gap:24px;margin:24px 0 30px;padding:clamp(20px,3vw,32px);border:1px solid #d5e3d8;border-radius:22px;background:linear-gradient(110deg,#f4f8f2,#edf5ef 62%,#f7f8f2);box-shadow:0 7px 22px #193c280b}
.selfcare-copy h2{margin:7px 0;font-family:Georgia,'Times New Roman',serif;font-weight:500;font-size:clamp(21px,2.2vw,29px);letter-spacing:-.025em;color:#264d40}
.selfcare-copy p{max-width:42ch;margin:0 0 12px;color:#60756a;font-size:13px;line-height:1.55}
.selfcare-collection{font-size:12px;font-weight:700;color:#286454;text-decoration:underline;text-decoration-color:#91b8a2;text-underline-offset:3px}
.selfcare-collection:hover,.selfcare-products a:hover span:last-child{text-decoration:underline;text-underline-offset:3px}
.selfcare-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.selfcare-products>a{display:flex;min-width:0;flex-direction:column;align-items:center;gap:9px;padding:13px 7px 11px;border:1px solid #dce8de;border-radius:16px;background:#ffffffa8;color:#3d5e50;text-decoration:none;text-align:center;font-size:11px;font-weight:650;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.selfcare-products>a:hover,.selfcare-products>a:focus-visible{transform:translateY(-3px);border-color:#a5c6af;box-shadow:0 8px 18px #274c3418;outline:0}
.product-orb{display:grid;place-items:center;width:clamp(42px,4.5vw,58px);aspect-ratio:1;border-radius:50%;font-size:23px;color:#fff;box-shadow:inset 0 2px 5px #ffffff82,0 5px 11px #274b3220}
.product-orb.citrus{background:radial-gradient(circle at 30% 25%,#fff2b6,#e3a74c 67%,#c77b35)}
.product-orb.sleepy{background:radial-gradient(circle at 30% 25%,#e6e3ff,#9d94cf 67%,#6c709d)}
.product-orb.love{background:radial-gradient(circle at 30% 25%,#ffe0e5,#d790a2 67%,#ad6179)}
html[data-theme="dark"] .selfcare-card{background:linear-gradient(110deg,#1d302d,#1b302f 62%,#26312c);border-color:#40574c;box-shadow:0 7px 22px #0003}
html[data-theme="dark"] .selfcare-copy h2{color:#e4f2e7}
html[data-theme="dark"] .selfcare-copy p{color:#b6c9bc}
html[data-theme="dark"] .selfcare-collection{color:#a9d8b9}
html[data-theme="dark"] .selfcare-products>a{background:#263a35;border-color:#435e50;color:#e0eee4}
@media(max-width:680px){.selfcare-card{grid-template-columns:1fr;gap:15px;margin:17px 0 23px;padding:19px}.selfcare-products{gap:7px}.selfcare-products>a{padding:10px 4px;font-size:10px}}
.selfcare-products .product-photo{display:block;width:clamp(66px,8vw,106px);height:clamp(66px,8vw,106px);object-fit:cover;border-radius:13px;background:#fff;box-shadow:0 5px 15px #1d3e2d20;transition:transform .2s ease,box-shadow .2s ease}
.selfcare-products>a:hover .product-photo,.selfcare-products>a:focus-visible .product-photo{transform:scale(1.045);box-shadow:0 9px 22px #1d3e2d2b}
html[data-theme="dark"] .selfcare-products .product-photo{box-shadow:0 5px 16px #0007}
@media(max-width:680px){.selfcare-products .product-photo{width:clamp(58px,18vw,88px);height:clamp(58px,18vw,88px)}}

#mpBoard { max-width: 520px; }
#mpBoard.mp-grid { gap: 3px; }
#mpBoard.mp-grid button, #mpBoard.connect button { font-size: clamp(11px, 3.5vw, 24px); }
#mpBoard.mp-piles { align-items: start; gap: 5px; }
#mpBoard.mp-piles > div { display: grid; gap: 6px; text-align: center; }
#mpBoard.mp-piles strong { font-size: clamp(11px, 3vw, 15px); }
#mpBoard.mp-piles button { min-height: 36px; padding: 0; font-size: 16px; }


.store-invitation{margin:22px auto;padding:14px 18px;max-width:720px;border-top:1px solid var(--border,#cbdde5);text-align:center;font-size:.88rem;color:inherit;opacity:.9}.store-invitation p{margin:0 0 6px}.store-invitation a{color:inherit;text-underline-offset:3px}.mp-grid button{min-height:36px!important;padding:4px!important}.board:has(>span){align-items:center;text-align:center}.multiplayer-shortcut{margin:8px 0;padding:8px 12px;border-radius:10px;border:1px solid #9c91c8;background:transparent;color:inherit}

#mpBoard>p{grid-column:1/-1;margin:6px 0;overflow-wrap:anywhere}#mpBoard input{min-width:0;width:100%;padding:12px;font:inherit}.multiplayer-shortcut:focus-visible,.store-invitation a:focus-visible{outline:3px solid var(--ink,#154c73);outline-offset:3px}
