/* Peppy Thinkers shared interface. Game geometry stays in each game's stylesheet. */
:root{--pt-ink:#283b3c;--pt-muted:#596c6c;--pt-paper:#fffefa;--pt-line:#dae6df;--pt-green:#356b58;--pt-mint:#e6f3e8;--pt-lilac:#eeeafa;--pt-peach:#ffede0;--pt-blue:#e6f1fa;--pt-yellow:#fff5cf;--pt-shadow:0 5px 20px #284a3710;--pt-radius:20px}
html{scroll-behavior:smooth}body.peppy-unified{margin:0;background:var(--pt-paper)!important;color:var(--pt-ink);font-family:Inter,ui-rounded,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;line-height:1.55}body.peppy-unified *{box-sizing:border-box}body.peppy-unified a{color:inherit}body.peppy-unified :focus-visible{outline:3px solid #6c58b4!important;outline-offset:4px}body.peppy-unified button:disabled{cursor:not-allowed;opacity:.52}body.peppy-unified button,body.peppy-unified input,body.peppy-unified select,body.peppy-unified textarea{font:inherit}body.peppy-unified button{cursor:pointer}body.peppy-unified h1,body.peppy-unified h2,body.peppy-unified h3{color:var(--pt-ink);line-height:1.2;letter-spacing:-.025em}body.peppy-unified input:not([type=checkbox]):not([type=radio]):not([type=range]):not(.sudoku-cell):not(.fillable-number),body.peppy-unified select,body.peppy-unified textarea{border:1px solid #c7d8cf;border-radius:12px;min-height:44px;background:#fff;color:var(--pt-ink);max-width:100%}body.peppy-unified .hidden{display:none!important}
.pt-skip{position:absolute;left:16px;top:-100px;z-index:9999;background:#fff;padding:12px 18px;border-radius:10px}.pt-skip:focus{top:12px}.pt-header{position:relative;z-index:30;background:#fffefa;border-bottom:1px solid var(--pt-line);padding:0!important;margin:0!important;box-shadow:none!important}.pt-header-row{max-width:1240px;margin:auto;min-height:88px;padding:16px 28px;display:flex;align-items:center;gap:28px}.pt-brand-link{display:flex;align-items:center;gap:11px;text-decoration:none;flex-shrink:0}.pt-mark{width:46px;height:46px;border:1.5px solid #356b58;background:var(--pt-mint);display:grid;place-items:center;border-radius:17px;transform:rotate(-6deg);color:var(--pt-green);font-size:20px;font-weight:900}.pt-wordmark{display:block;font-size:20px;font-weight:800;line-height:1.2}.pt-brand-caption{display:block;margin-top:4px;font-size:10px;letter-spacing:.14em;color:var(--pt-muted);font-weight:600}.pt-nav{display:flex;align-items:center;gap:5px;margin-left:auto}.pt-nav a{font-size:13px;font-weight:700;padding:10px 13px;border-radius:11px;text-decoration:none;white-space:nowrap}.pt-nav a:hover{background:#f0f4ef}.pt-nav a[aria-current=page]{background:var(--pt-mint);color:#24553f}.pt-menu{display:none;width:44px;height:44px;background:#fff;border:1px solid var(--pt-line);border-radius:12px;font-size:23px}.pt-game-nav{max-width:1240px;margin:auto;padding:12px 28px;display:flex;align-items:center;gap:10px;overflow-x:auto;border-bottom:1px solid #edf0e9}.pt-game-nav a{flex-shrink:0;text-decoration:none;border:1px solid var(--pt-line);border-radius:999px;padding:6px 13px;font-size:12px;font-weight:600;background:#fff}.pt-game-nav a[aria-current=page]{background:var(--pt-green);color:#fff;border-color:var(--pt-green)}.pt-game-nav .pt-back{background:var(--pt-lilac);border-color:transparent}.pt-footer{padding:32px 28px!important;background:#f3f6ee!important;border-top:1px solid var(--pt-line);margin:56px 0 0!important;color:var(--pt-muted)!important}.pt-footer-row{max-width:1184px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:24px}.pt-footer strong{color:var(--pt-ink);display:block;font-size:17px}.pt-footer p{margin:6px 0 0;font-size:13px}.pt-footer nav{display:flex;gap:20px;flex-wrap:wrap}.pt-footer a{font-size:13px;text-decoration:none}.pt-footer a:hover{text-decoration:underline}
/* Shared content chrome. Avoid tile, card-face and canvas coordinates. */
.peppy-unified :is(.panel-card,.puzzle-card,.riddle-card,.setup-card,.status-card,.canvas-card,.brand-card,.instruction-card,.instructions-card,.fact-card){border-radius:var(--pt-radius);border-color:var(--pt-line);box-shadow:var(--pt-shadow)}
.peppy-unified :is(.primary-btn,.btn-primary,button.primary,.primary-button){background:var(--pt-green)!important;color:#fff!important;border:1px solid var(--pt-green)!important;border-radius:12px!important;box-shadow:none!important;min-height:44px;font-weight:700}.peppy-unified :is(.soft-btn,.secondary-btn,.btn-secondary,.ghost-btn,.answer-btn,.action-btn,.control-btn,.icon-btn,.fact-btn,.small-button){border-radius:12px;min-height:44px;box-shadow:none}.peppy-unified :is(.soft-btn,.secondary-btn,.btn-secondary,.ghost-btn){background:#f1f5ef;color:var(--pt-ink);border:1px solid var(--pt-line)}.peppy-unified :is(.difficulty-btn,.tab-btn,.mode-tab){border-radius:999px;min-height:40px}.peppy-unified :is(.result-message,.message-pill,.status-text){line-height:1.5}.peppy-unified :is(.result-message,.toast,.message-pill)[aria-live]{scroll-margin-top:24px}.peppy-unified .game-header:not(.pt-header){background:#fff;border:1px solid var(--pt-line);border-radius:20px;box-shadow:none;padding:20px;gap:18px}.peppy-unified .game-header h1{font-size:clamp(24px,3vw,34px)}.peppy-unified .game-header p{color:var(--pt-muted)}.peppy-unified .top-stats .stat{background:#f4f7f0;border:1px solid var(--pt-line);box-shadow:none;border-radius:12px}.peppy-unified .eyebrow{color:var(--pt-green);letter-spacing:.09em;font-size:12px;font-weight:800}.peppy-unified :is(.puzzle-hero,.brain-hero,.mini-games-hero){background:transparent;box-shadow:none;padding-block:32px}.peppy-unified .page-game-heading{max-width:1184px;margin:24px auto 0;padding:0 24px}.peppy-unified .page-game-heading h1{margin:0;font-size:30px}.peppy-unified .page-game-heading p{color:var(--pt-muted);margin:6px 0}.peppy-unified .pt-runtime-notice{padding:14px 20px;background:#fff5cf;border:1px solid #e8d690;border-radius:14px;margin:20px auto;max-width:900px;color:#4a431d}.peppy-unified .pt-runtime-notice button{margin-left:10px;border:1px solid #bba85b;background:white;border-radius:8px;padding:5px 12px}.peppy-unified .modal-card{max-height:85dvh;overflow:auto}.peppy-unified canvas{max-width:100%} .peppy-unified .app-title-header{max-width:1184px;margin:24px auto;padding:24px;background:white;border:1px solid var(--pt-line);border-radius:20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.peppy-unified .app-title-header h1{font-size:28px}.peppy-unified .app-title-header .subtitle{max-width:750px}.peppy-unified #crossmathGrid{--cell-size:clamp(32px,7vw,64px)}.peppy-unified #wordSearchGrid{grid-template-columns:repeat(11,minmax(0,1fr))!important;width:min(100%,550px);gap:3px}.peppy-unified #wordSearchGrid .word-cell{min-width:0;min-height:0;width:100%;height:auto;aspect-ratio:1;padding:0;font-size:clamp(12px,3.5vw,20px)}.peppy-unified .word-search-grid{touch-action:none}.peppy-unified .sudoku-cell{min-width:0}.peppy-unified #sudokuBoard{max-width:100%}.peppy-unified #fallenColumns,.peppy-unified #fallenBoard{grid-template-columns:repeat(12,minmax(0,1fr))!important}.peppy-unified .fallen-column{min-width:0}.peppy-unified .fallen-column-title{font-size:10px}.peppy-unified .fallen-letter,.peppy-unified .fallen-slot{min-width:0;width:100%;padding:0}
/* New home and searchable collections. */
.pt-home,.pt-collection{max-width:1240px;margin:0 auto;padding:0 28px}.pt-home-hero{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;padding:62px 0 42px}.pt-home-hero h1{font-size:clamp(38px,5vw,62px);font-weight:800;margin:15px 0 18px;max-width:650px;letter-spacing:-.05em;line-height:1.07}.pt-home-hero h1 em{font-style:normal;color:var(--pt-green)}.pt-intro{max-width:500px;color:var(--pt-muted);font-size:17px;line-height:1.7}.pt-kicker{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:var(--pt-green)}.pt-kicker:before{content:'';width:8px;height:8px;border-radius:50%;background:#7ca388}.pt-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.pt-button{display:inline-flex;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:11px 19px;border-radius:13px;background:var(--pt-green);color:white!important;font-size:14px;font-weight:700;text-decoration:none;border:1px solid var(--pt-green)}.pt-button.secondary{background:#fff;color:var(--pt-ink)!important;border-color:var(--pt-line)}.pt-hero-art{background:var(--pt-mint);border-radius:36px;padding:30px;min-height:285px;position:relative;display:flex;flex-direction:column;justify-content:center;border:1px solid #d1e6d3}.pt-art-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pt-art-tile{background:#fffefa;border-radius:19px;min-height:97px;padding:16px;display:flex;gap:14px;align-items:center;box-shadow:0 3px 0 #bed9c4}.pt-art-tile span{font-size:30px}.pt-art-tile strong{font-size:14px}.pt-art-note{font-size:12px;text-align:center;color:#42664e;margin:23px 0 0}.pt-section-title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:24px 0 22px}.pt-section-title h2{font-size:27px;margin:0 0 5px}.pt-section-title p{color:var(--pt-muted);font-size:14px;margin:0}.pt-section-title a{font-size:13px;font-weight:700}.pt-category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.pt-category-card{border:1px solid var(--pt-line);border-radius:22px;padding:23px;text-decoration:none;background:#fff;transition:transform .18s,box-shadow .18s}.pt-category-card:hover{transform:translateY(-3px);box-shadow:var(--pt-shadow)}.pt-category-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--card-tint,var(--pt-mint));font-size:27px;margin-bottom:22px}.pt-category-card h3{font-size:18px;margin:0 0 9px}.pt-category-card p{color:var(--pt-muted);font-size:13px;margin:0 0 20px}.pt-category-card small{font-size:12px;font-weight:700;color:var(--pt-green)}.pt-home-bottom{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:40px 0}.pt-fact{background:var(--pt-yellow);border:1px solid #eee2b1;border-radius:22px;padding:26px}.pt-fact h3{font-size:19px;margin:8px 0}.pt-fact p{font-size:14px;margin:10px 0 16px}.pt-fact .fact-btn{background:#fff;border:1px solid #e1d5a5;padding:9px 16px;color:var(--pt-ink)}.pt-cozy-note{background:var(--pt-lilac);border:1px solid #ded8ef;border-radius:22px;padding:26px}.pt-cozy-note h3{font-size:23px;margin:8px 0 15px}.pt-cozy-note p{font-size:14px;color:var(--pt-muted);max-width:400px}.pt-collection-heading{padding:42px 0 24px}.pt-collection-heading h1{font-size:40px;margin:8px 0 10px}.pt-collection-heading p{color:var(--pt-muted);max-width:680px;margin:0}.pt-browse-tools{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin:4px 0 20px}.pt-search-wrap{position:relative;flex:1;max-width:400px}.pt-search-wrap label{display:block;font-size:12px;color:var(--pt-muted);margin-bottom:6px}.pt-search-wrap input{width:100%;padding:12px 16px}.pt-filter-row{display:flex;gap:8px;flex-wrap:wrap}.pt-filter-row button{background:white;border:1px solid var(--pt-line);padding:8px 14px;border-radius:999px;font-size:13px;min-height:40px}.pt-filter-row button[aria-pressed=true]{background:var(--pt-green);color:#fff;border-color:var(--pt-green)}.pt-browse-meta{font-size:12px;color:var(--pt-muted);margin:0 0 18px}.pt-game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.pt-game-card{background:#fff;border:1px solid var(--pt-line);border-radius:22px;position:relative;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .18s,transform .18s}.pt-game-card:hover{box-shadow:var(--pt-shadow);transform:translateY(-2px)}.pt-card-art{background:var(--card-tint,var(--pt-mint));height:112px;display:flex;align-items:center;justify-content:center;font-size:48px}.pt-game-card .pt-card-body{padding:20px;flex:1;display:flex;flex-direction:column}.pt-game-card h2{font-size:19px;margin:0 0 8px}.pt-game-card p{font-size:13px;color:var(--pt-muted);margin:0 0 20px;flex:1}.pt-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px}.pt-card-bottom span{font-size:11px;color:var(--pt-muted);background:#f3f5f0;border-radius:999px;padding:4px 9px}.pt-card-bottom a{font-size:13px;font-weight:800;color:var(--pt-green);text-decoration:none}.pt-card-bottom a:after{content:' →'}.pt-favorite{position:absolute;top:12px;right:12px;border:1px solid #ffffffc9;background:#ffffffde;color:#53665e;width:37px;height:37px;border-radius:12px;font-size:19px;display:grid;place-items:center;padding:0}.pt-favorite[aria-pressed=true]{color:#624298;background:#fff}.pt-empty{padding:40px;border:1px dashed var(--pt-line);border-radius:20px;text-align:center;color:var(--pt-muted)}.pt-extra-links{margin:40px 0;padding:20px;background:#f4f7f0;border-radius:18px;display:flex;gap:20px;flex-wrap:wrap;font-size:13px}.pt-extra-links a{color:var(--pt-green);font-weight:700}
@media(max-width:1050px){.pt-nav a{padding:9px;font-size:12px}.pt-header-row{gap:14px;padding-inline:20px}.pt-category-grid{grid-template-columns:repeat(2,1fr)}.pt-home-hero{gap:28px}.pt-game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.pt-header-row{min-height:76px;padding:14px 20px;flex-wrap:wrap}.pt-menu{display:block;margin-left:auto}.pt-nav{display:none;flex-basis:100%;margin:0;flex-direction:column;align-items:stretch;padding-top:6px}.pt-nav.pt-open{display:flex}.pt-nav a{font-size:14px;padding:12px}.pt-wordmark{font-size:18px}.pt-mark{width:40px;height:40px;font-size:18px}.pt-game-nav{padding:10px 20px}.pt-home,.pt-collection{padding:0 20px}.pt-home-hero{grid-template-columns:1fr;padding:36px 0 28px;gap:24px}.pt-home-hero h1{font-size:43px}.pt-intro{font-size:15px}.pt-hero-art{min-height:220px;padding:20px;border-radius:24px}.pt-art-tile{min-height:78px;padding:12px}.pt-home-bottom{grid-template-columns:1fr}.pt-footer-row{flex-direction:column;align-items:start}.pt-footer nav{gap:16px}.pt-collection-heading{padding-top:30px}.pt-collection-heading h1{font-size:32px}.peppy-unified .game-header:not(.pt-header){padding:16px}.peppy-unified :is(.game-layout,.page-shell,.app-shell,.game-shell,.puzzle-layout){max-width:100%}.peppy-unified .app-title-header{margin:20px;flex-direction:column;align-items:start}.peppy-unified .fallen-column-title{font-size:8px}.peppy-unified .modal-card{width:min(92vw,640px)}}
@media(max-width:480px){.pt-game-grid{grid-template-columns:1fr}.pt-category-card{padding:17px}.pt-category-card h3{font-size:16px}.pt-category-card p{font-size:12px}.pt-category-icon{margin-bottom:14px;width:45px;height:45px}.pt-section-title h2{font-size:23px}.pt-home-hero h1{font-size:38px}.pt-section-title{align-items:start;flex-direction:column;gap:7px}.pt-card-art{height:100px}.pt-filter-row button{font-size:12px;padding:8px 12px}.peppy-unified :is(.sudoku-board,.word-search-board){padding:8px}.peppy-unified #crossmathGrid{--cell-size:clamp(28px,7.3vw,48px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.peppy-unified *, .peppy-unified *:before,.peppy-unified *:after{animation-duration:.01ms!important;transition-duration:.01ms!important;animation-iteration-count:1!important}}
@media print{.pt-header,.pt-footer,.pt-game-nav,.pt-skip,.pt-runtime-notice,.pt-favorite,.pt-browse-tools{display:none!important}.peppy-unified{background:#fff!important}.peppy-unified .app-title-header{display:none!important}}
/* Some older games used flex directly on body; shared chrome needs normal document flow. */
body.peppy-unified{display:block!important;padding:0!important;width:100%;min-height:100vh;--ink:var(--pt-ink);--muted:var(--pt-muted);--line:var(--pt-line);--purple:#5e688f;--purple-dark:#4c567a;--shadow:var(--pt-shadow);--shadow-soft:var(--pt-shadow)}
.peppy-unified :is(.crossmath-hero,.sudoku-hero,.word-search-hero,.cryptogram-hero,.fallen-hero,.maze-hero,.riddle-hero){padding-top:30px;padding-bottom:22px;background:transparent}
.peppy-unified :is(.crossmath-hero,.sudoku-hero,.word-search-hero,.cryptogram-hero,.fallen-hero,.maze-hero,.riddle-hero) h1{font-size:clamp(28px,4vw,42px)}
.peppy-unified :is(.table-zone,.puzzle-board-wrap,.puzzle-card,.riddle-card){border-color:var(--pt-line);box-shadow:var(--pt-shadow)}
.peppy-unified :is(.memory-table,.match-table,.bubble-table,.block-table,.treat-table){box-shadow:var(--pt-shadow);border-color:#d7e6d9;background:#edf5ec}
.peppy-unified :is(.table-shine,.table-glow){opacity:.2}
.peppy-unified .pt-native-controls{max-width:1184px;margin:20px auto;padding:18px 24px;background:#fff;border:1px solid var(--pt-line);border-radius:18px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.peppy-unified .pt-native-controls button{background:var(--pt-green);border:0;color:white;min-height:44px;border-radius:12px;padding:10px 16px;font-weight:700}.peppy-unified .pt-native-controls label{font-size:13px}.peppy-unified .pt-native-controls select{padding:8px 12px}.peppy-unified .pt-chess-state{flex-basis:100%;font-size:14px;color:var(--pt-muted);margin:0}
@media(max-width:780px){.peppy-unified .pt-native-controls{margin:16px 20px}.peppy-unified .game-header{flex-wrap:wrap}.peppy-unified :is(.header-actions,.top-stats){flex-wrap:wrap}}
.peppy-unified [hidden]{display:none!important}
