/* Faithful adaptation of Stitch's cat_logo_lobby_de_puzzles_modo_claro_blupoli.
   Scope every rule to the Puzzles home: game screens retain their own shell. */
body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) {
  --stitch-navy:#172C6B;--stitch-yellow:#F7C62B;--stitch-pink:#FF7397;
  --stitch-cyan:#55D4E8;--stitch-paper:#f8fafc;--stitch-line:#e2e8f0;
  --stitch-ink:#0f172a;--stitch-muted:#64748b;
  font-family:var(--font-sans);
  color:var(--stitch-ink);
  background:var(--stitch-paper);
}
@media (max-width:899px), (orientation:portrait){
body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) header[data-site-header] {
  grid-column:1!important;grid-row:1!important;width:100%!important;height:64px!important;min-height:0!important;
  padding:0 clamp(14px,1.8vw,30px)!important;
  display:flex!important;flex-flow:row nowrap!important;gap:clamp(10px,1.8vw,30px);
  align-items:center!important;justify-content:space-between!important;
  position:relative!important;inset:auto!important;
  background:#fff!important;border:0!important;border-bottom:1px solid var(--stitch-line)!important;
  box-shadow:none!important;
}}

@media (max-width:899px), (orientation:portrait){
body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) header[data-site-header] .brand {flex:none;font-family:var(--font-sans);color:var(--stitch-navy);font-weight:700}}

@media (max-width:899px), (orientation:portrait){
body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) header[data-site-header] .desktop-nav {
  position:static!important;inset:auto!important;height:auto!important;min-height:0!important;
  width:auto!important;display:flex!important;flex-flow:row nowrap!important;align-items:center!important;
  flex:0 1 auto;margin:0!important;padding:0!important;gap:4px!important;
  border:0!important;background:transparent!important;box-shadow:none!important;
}}

@media (max-width:899px), (orientation:portrait){
body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) header[data-site-header] .desktop-nav a {
  display:inline-flex!important;min-height:38px!important;width:auto!important;
  padding:8px 10px!important;white-space:nowrap!important;flex:0 0 auto!important;
  border:1px solid transparent!important;border-radius:5px!important;background:transparent!important;
  font:500 12px/1.25 var(--font-sans)!important;color:#475569!important;
}}

@media (max-width:899px), (orientation:portrait){
body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) header[data-site-header] .desktop-nav a::before {display:none!important}}

@media (max-width:899px), (orientation:portrait){
body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) header[data-site-header] .desktop-nav a[aria-current="page"] {
  background:var(--stitch-navy)!important;border-color:var(--stitch-navy)!important;color:#fff!important;font-weight:700!important;
}}

@media (max-width:899px), (orientation:portrait){
body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) header[data-site-header] .desktop-nav a:hover:not([aria-current]) {background:var(--surface)!important;color:var(--text)!important}}

@media (max-width:899px), (orientation:portrait){
body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) header[data-site-header] .secondary-nav {display:none!important}}

@media (max-width:899px), (orientation:portrait){
body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) header[data-site-header] .topbar-actions {
  position:static!important;inset:auto!important;width:auto!important;margin:0!important;
  padding:0!important;display:flex!important;gap:8px;align-items:center;flex:none;
}}

@media (max-width:899px), (orientation:portrait){
body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) header[data-site-header] .theme-toggle {flex:none}}

body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) .stitch-header-search {
  display:flex;align-items:center;flex:1 1 250px;max-width:330px;min-width:120px;
  border:1px solid var(--stitch-line);border-radius:6px;background:var(--surface2);
  padding:0 10px;height:36px;gap:8px;color:var(--muted);
}
body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) .stitch-header-search input {
  min-width:0;width:100%;flex:1;border:0;outline:0;background:transparent;
  color:var(--text);font-size:11px
}
body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) .stitch-header-search kbd {
  padding:2px 4px;background:var(--surface-soft, var(--line));border-radius:3px;font-size:10px;color:var(--muted);
}
body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) > .stitch-home {
  width:100%!important;max-width:none!important;height:100%!important;min-height:0!important;
  margin:0!important;padding:24px max(24px,calc((100% - 1280px)/2)) 32px!important;
  overflow-y:auto!important;overflow-x:hidden!important;scrollbar-gutter:auto!important;
  background:var(--stitch-paper);
  display:flex;flex-direction:column;gap:32px;
}
.stitch-home *, .stitch-home *::before, .stitch-home *::after {box-sizing:border-box}
.stitch-home button,.stitch-home input {font:inherit}
.stitch-home button {cursor:pointer}
.stitch-home a {text-decoration:none}
.stitch-home button:focus-visible,.stitch-home a:focus-visible,.stitch-home input:focus-visible {outline:3px solid var(--stitch-cyan);outline-offset:2px}
.stitch-home .stitch-visually-hidden {position:absolute!important;width:1px;height:1px;margin:-1px;clip:rect(0,0,0,0);overflow:hidden;white-space:nowrap}
.stitch-daily-hero {
  display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.95fr);
  align-items:center;gap:44px;min-height:382px;
  padding:32px;position:relative;overflow:hidden;
  border:1px solid var(--stitch-line);border-radius:9px;
  background:linear-gradient(105deg,#f4f9ff 0%,#f3fcfb 51%,#fffbef 100%);
  box-shadow:0 1px 3px #0f172a06;
}
.stitch-daily-copy {position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:18px;min-width:0}
.stitch-hero-tags {display:flex;flex-wrap:wrap;gap:7px;align-items:center}
.stitch-tag {display:inline-flex;align-items:center;gap:5px;padding:6px 9px;
  border-radius:3px;text-transform:uppercase;letter-spacing:.085em;font:700 10px/1.15 var(--font-sans)}
.stitch-tag--yellow {color:var(--stitch-navy);background:#fff1c2;border:1px solid #f9dc7a}
.stitch-tag--navy {color:var(--stitch-navy);background:#e8edf6;border:1px solid #cbd5e1}
.stitch-tag--pink {color:#a93155;background:#fff0f4;border:1px solid #ffc8d7}
.stitch-daily-copy h1 {max-width:700px;margin:0;color:var(--stitch-navy);
  font:700 clamp(27px,2.4vw,40px)/1.14 var(--font-sans);letter-spacing:-.045em}
.stitch-daily-copy>p {max-width:660px;margin:0;color:#475569;font:400 14px/1.7 var(--font-sans)}
.stitch-daily-metrics {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:min(530px,100%);gap:10px}
.stitch-daily-metrics>div {display:flex;flex-flow:column;justify-content:center;gap:6px;padding:11px 13px;
  min-height:74px;border:1px solid var(--stitch-line);border-radius:4px;background:#f8fafc99}
.stitch-daily-metrics small {color:#64748b;text-transform:uppercase;letter-spacing:.09em;font:600 9px/1.3 var(--font-sans)}
.stitch-daily-metrics strong {color:var(--stitch-navy);font:700 24px/1.1 var(--font-mono)}
.stitch-daily-metrics strong.stitch-pink {color:#c52d55}
.stitch-hero-actions {display:flex;flex-wrap:wrap;gap:12px;margin-top:2px}
.stitch-button {display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:5px;
  min-height:43px;padding:10px 17px;font:700 11px/1.3 var(--font-sans);letter-spacing:.015em;white-space:nowrap}
.stitch-button--yellow {color:var(--stitch-navy);background:var(--stitch-yellow);border:1px solid #e9b626;
  text-transform:uppercase;box-shadow:0 2px 3px #172c6b16}
.stitch-button--yellow:hover {background:#ffdc6e}
.stitch-button--subtle {background:#f1f5f9;color:var(--stitch-navy);border:1px solid var(--stitch-line)}
.stitch-button--subtle:hover {background:#e2e8f0}
.stitch-button--green {background:#159779;color:#fff;border:1px solid #11876c}
.stitch-button--green:hover {background:#087e66}
.stitch-radar {width:min(100%,360px);justify-self:end;padding:16px 17px 14px;
  border:1px solid var(--stitch-line);border-radius:8px;background:#f8fafc;
  box-shadow:0 3px 4px #172c6b14}
.stitch-radar-head,.stitch-radar-foot {display:flex;justify-content:space-between;gap:8px;align-items:center;
  font:600 10px/1.4 var(--font-sans);letter-spacing:.06em;color:#64748b}
.stitch-radar-head {border-bottom:1px solid #e2e8f0;padding-bottom:11px;margin-bottom:12px;text-transform:uppercase}
.stitch-radar-head span:first-child {color:var(--stitch-navy)}
.stitch-radar-head i {display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--stitch-cyan);vertical-align:middle;margin-right:4px}
.stitch-radar-screen {position:relative;aspect-ratio:1;background:#fff;border:1px solid var(--stitch-line);border-radius:5px;padding:14px}
.stitch-radar-screen svg {display:block;width:100%;height:100%}
.stitch-radar-verified {position:absolute;bottom:8px;right:8px;background:#fff;border:1px solid var(--stitch-line);
  color:var(--stitch-navy);padding:6px 8px;font:600 10px/1 var(--font-sans)}
.stitch-radar-foot {padding-top:10px;letter-spacing:0}
.stitch-radar-foot span:last-child {color:#c52d55}
.stitch-discovery {display:flex;flex-direction:column;gap:16px;background:#fff;border:1px solid var(--stitch-line);
  border-radius:8px;padding:20px;box-shadow:0 1px 2px #0f172a05}
.stitch-filter-top {display:flex;align-items:center;justify-content:space-between;gap:24px}
.stitch-search {display:flex;align-items:center;gap:10px;min-width:0;flex:1 1 460px;max-width:520px;
  min-height:44px;padding:0 13px;background:#f8fafc;border:1px solid var(--stitch-line);border-radius:5px;color:#94a3b8}
.stitch-search>span {font-size:20px}
.stitch-search input {flex:1;width:100%;min-width:0;background:transparent;border:0;outline:none;color:#0f172a;font-size:12px}
.stitch-search input::placeholder {color:#94a3b8}
.stitch-filter-tools {display:flex;align-items:center;gap:12px;flex-wrap:wrap;max-width:100%}
.stitch-filter-segment {display:flex;align-items:center;gap:3px;margin:0;padding:4px;border:1px solid #e2e8f0;
  border-radius:5px;background:#f1f5f9;min-width:0;max-width:100%;overflow-x:auto}
.stitch-filter-segment legend {display:contents;font:600 10px/1 var(--font-sans);color:#64748b}
.stitch-filter-segment button,.stitch-difficulty button {border:0;border-radius:4px;background:transparent;color:#475569;
  min-height:30px;padding:6px 10px;font:500 11px/1.25 var(--font-sans);white-space:nowrap}
.stitch-filter-segment button[aria-pressed="true"],.stitch-difficulty button[aria-pressed="true"] {
  background:var(--stitch-navy);color:#fff;font-weight:700}
.stitch-view-control button {font-size:17px;min-width:31px}
.stitch-view-control button[aria-pressed="true"] {background:#fff;color:var(--stitch-navy);box-shadow:0 1px 3px #0f172a15}
.stitch-category-pills {display:flex;gap:7px;overflow-x:auto;min-width:0;padding:2px 0 4px;scrollbar-width:thin}
.stitch-category-pills button {flex:0 0 auto;border:1px solid var(--stitch-line);background:#f1f5f9;color:#334155;
  border-radius:999px;min-height:33px;padding:6px 12px;white-space:nowrap;font:700 11px/1 var(--font-sans)}
.stitch-category-pills button[aria-pressed="true"] {border-color:var(--stitch-navy);background:var(--stitch-navy);color:#fff}
.stitch-filter-bottom {display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:11px;
  border-top:1px solid #f1f5f9}
.stitch-difficulty {display:flex;align-items:center;flex-wrap:wrap;gap:4px}
.stitch-difficulty>span {color:#64748b;text-transform:uppercase;letter-spacing:.08em;font:600 10px/1.3 var(--font-sans);margin-right:7px}
.stitch-difficulty button {min-height:27px;font-size:10px;padding:5px 9px}
.stitch-difficulty button[aria-pressed="true"] {color:#172c6b;background:#fff;box-shadow:0 1px 3px #0f172a15;border:1px solid #e2e8f0}
.stitch-difficulty button[disabled],.stitch-filter-segment button[disabled] {opacity:.55;cursor:not-allowed}
.stitch-filter-bottom>span {color:#64748b;font:500 10px/1.35 var(--font-sans);text-align:right}
.stitch-filter-note {margin:0;font-size:11px;color:#64748b}
.stitch-results {min-width:0}
.stitch-cards-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.stitch-cards-grid.is-list {grid-template-columns:1fr}
.stitch-game-card {display:flex;flex-direction:column;min-width:0;min-height:322px;padding:23px;
  border:1px solid var(--stitch-line);border-radius:8px;background:#fff;box-shadow:0 1px 2px #0f172a05;transition:border-color .16s,box-shadow .16s}
.stitch-game-card:hover {border-color:var(--stitch-navy);box-shadow:0 4px 15px #172c6b11}
.stitch-card-top {display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:19px}
.stitch-card-badge {display:inline-flex;border:1px solid #f4d98d;background:#fff6d6;color:#172c6b;border-radius:3px;
  padding:5px 8px;text-transform:uppercase;letter-spacing:.06em;font:700 10px/1.1 var(--font-sans)}
.stitch-card-badge[data-accent="aqua"] {color:#14515e;background:#dcf8fc;border-color:#abe6ef}
.stitch-card-badge[data-accent="pink"] {color:#a93155;background:#ffedf3;border-color:#ffbfd1}
.stitch-card-badge[data-accent="violet"] {color:#65439a;background:#f0e9fb;border-color:#dbcaee}
.stitch-card-top>small {color:#172c6b;font:600 10px/1 var(--font-mono)}
.stitch-card-title {display:flex;align-items:center;gap:12px;margin-bottom:12px}
.stitch-card-symbol {width:43px;height:43px;display:grid;place-items:center;flex:none;font:700 22px/1 var(--font-sans);
  border:1px solid #cbd5e1;border-radius:5px;background:#eef2ff;color:#172c6b}
.stitch-card-symbol[data-accent="aqua"] {background:#e3faff;border-color:#b7eaf4}
.stitch-card-symbol[data-accent="pink"] {background:#ffe6ec;border-color:#ffb8ca}
.stitch-card-symbol[data-accent="violet"] {background:#f4eefa;border-color:#e0d4ef}
.stitch-card-title h2 {margin:0;color:var(--stitch-navy);font:700 23px/1.1 var(--font-sans);letter-spacing:-.035em}
.stitch-card-title small {display:block;margin-top:6px;text-transform:uppercase;letter-spacing:.06em;
  color:#64748b;font:600 9px/1.4 var(--font-sans)}
.stitch-card-summary {margin:0 0 15px;color:#475569;flex:1 1 auto;font:400 13px/1.55 var(--font-sans)}
.stitch-card-detail {display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px;border:1px solid var(--stitch-line);
  border-radius:5px;background:#f8fafc;margin-bottom:12px;min-height:43px}
.stitch-card-detail small {display:block;color:#64748b;letter-spacing:.05em;font:500 9px/1.45 var(--font-sans)}
.stitch-card-detail strong {display:block;color:var(--stitch-navy);font:600 10px/1.4 var(--font-sans)}
.stitch-card-bottom {display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding-top:14px;border-top:1px solid #f1f5f9;margin-top:auto}
.stitch-card-link {display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 14px;
  min-height:37px;background:var(--stitch-navy);color:#fff!important;border:1px solid var(--stitch-navy);
  border-radius:4px;font:700 11px/1.25 var(--font-sans)}
.stitch-card-link:hover {background:#243e82}
.stitch-card-bottom>span {display:flex;align-items:center;gap:6px;min-width:0;color:#64748b;font:600 10px/1.3 var(--font-sans)}
.stitch-card-bottom .favorite-toggle {width:44px;height:44px;min-width:44px;min-height:44px;border:1px solid var(--stitch-line);box-shadow:none}
.stitch-cards-grid.is-list .stitch-game-card {min-height:auto}
.stitch-cards-grid.is-list .stitch-card-summary {flex:none}
.stitch-show-more-wrap {display:flex;justify-content:center;margin-top:16px}
.stitch-loading,.stitch-empty {grid-column:1/-1;display:flex;flex-direction:column;align-items:center;gap:15px;
  padding:36px;border:1px solid var(--stitch-line);border-radius:8px;background:#fff;color:var(--stitch-muted)}
.stitch-bottom-bento {display:grid;grid-template-columns:7fr 5fr;gap:24px;margin-top:2px}
.stitch-progress,.stitch-recommendation {min-width:0;border:1px solid var(--stitch-line);border-radius:8px;
  background:#fff;padding:24px;box-shadow:0 1px 2px #0f172a07}
.stitch-panel-title {display:flex;align-items:center;justify-content:space-between;gap:12px}
.stitch-panel-title h2 {margin:0;color:var(--stitch-ink);font:700 18px/1.3 var(--font-sans)}
.stitch-panel-title h2 span {color:#159779;margin-right:6px}
.stitch-panel-title>span {color:#64748b;font:500 10px/1.3 var(--font-sans)}
.stitch-progress-caption {display:flex;justify-content:space-between;gap:12px;margin-top:30px;
  color:#475569;font:500 12px/1.5 var(--font-sans)}
.stitch-progress-caption strong {color:var(--stitch-navy);font-family:var(--font-mono)}
.stitch-progress-track {height:9px;border:1px solid #e2e8f0;border-radius:100px;background:#f1f5f9;margin:6px 0 8px;overflow:hidden}
.stitch-progress-track span {display:block;height:100%;border-radius:100px;background:linear-gradient(90deg,#15a884 50%,#3525cd 80%,#f5a623);transition:width .2s}
.stitch-progress-legend {display:flex;align-items:center;justify-content:space-between;gap:10px;font:500 10px/1.3 var(--font-sans);color:#64748b}
.stitch-progress-legend>span {color:#169a7b}
.stitch-progress-legend a,.stitch-progress-link {color:var(--stitch-navy);font-weight:700}
.stitch-progress h3 {color:#64748b;font:700 10px/1.3 var(--font-sans);text-transform:uppercase;letter-spacing:.08em;margin:27px 0 12px}
.stitch-achievement-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.stitch-achievement {display:flex;align-items:center;gap:10px;min-width:0;padding:10px;
  border:1px solid var(--stitch-line);border-radius:5px;background:#f8fafc}
.stitch-achievement>span {display:grid;place-items:center;width:37px;height:37px;flex:none;border-radius:3px;
  background:#d7f9eb;color:#147a5d;font-size:18px}
.stitch-achievement:not(.is-unlocked)>span {background:#f8eecb;color:#927323}
.stitch-achievement strong,.stitch-achievement small {display:block;overflow-wrap:anywhere}
.stitch-achievement strong {font:700 11px/1.35 var(--font-sans);color:#0f172a}
.stitch-achievement small {font:400 10px/1.3 var(--font-sans);color:#64748b;margin-top:3px}
.stitch-progress-link {display:inline-block;font:700 11px/1.3 var(--font-sans);margin-top:18px}
.stitch-recommendation {background:linear-gradient(125deg,#f7f9ff 0%,#edf1ff 100%);border-color:#dce3f5;
  display:flex;flex-direction:column;gap:18px}
.stitch-recommendation-label {display:inline-block!important;color:#3525cd!important;background:#e5eaff;border:1px solid #cfd9ff;
  padding:5px 8px;text-transform:uppercase;letter-spacing:.07em;font:700 10px/1.2 var(--font-sans)!important}
.stitch-recommendation h2 {color:#0f172a;margin:7px 0 0;font:700 23px/1.2 var(--font-sans);letter-spacing:-.025em}
.stitch-recommendation>p {color:#475569;font-size:13px;line-height:1.55;margin:0}
.stitch-recommend-facts {display:flex;flex-wrap:wrap;gap:8px;margin-top:5px}
.stitch-recommend-facts span {padding:6px;border:1px solid var(--stitch-line);background:#fff;color:#475569;
  font:600 10px/1.3 var(--font-sans)}
.stitch-recommend-end {display:flex;align-items:end;justify-content:space-between;gap:12px;margin-top:auto}
.stitch-recommend-end>span {color:#64748b;font:600 11px/1.4 var(--font-sans)}
.stitch-appearance {display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
  background:#fff;border:1px solid var(--stitch-line);border-radius:8px;padding:15px 21px}
.stitch-appearance>div:first-child {display:flex;align-items:center;gap:12px}
.stitch-appearance-icon {color:#3525cd;font-size:24px}
.stitch-appearance strong,.stitch-appearance small {display:block}
.stitch-appearance strong {font:700 12px/1.3 var(--font-sans)}
.stitch-appearance small {color:#64748b;font:400 11px/1.5 var(--font-sans)}
.stitch-appearance-controls {display:flex;align-items:center;padding:4px;background:#f1f5f9;border-radius:5px;gap:4px}
.stitch-appearance-controls button {padding:9px 12px;background:transparent;color:#64748b;border:0;
  border-radius:4px;font:600 11px/1.2 var(--font-sans)}
.stitch-appearance-controls button[aria-pressed="true"] {background:#fff;color:#3525cd;box-shadow:0 1px 3px #0f172a10}
@media (max-width:1260px) {
@media (max-width:899px), (orientation:portrait){
  body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) header[data-site-header] .desktop-nav a {padding:8px 6px!important;font-size:11px!important}}

  body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) .stitch-header-search {max-width:235px}
}
@media (max-width:1023px) {
  .stitch-daily-hero {gap:22px}
  .stitch-cards-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .stitch-filter-top {flex-wrap:wrap}
  .stitch-search {max-width:none}
@media (max-width:899px), (orientation:portrait){
  body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) header[data-site-header] .stitch-header-search {display:none}}

@media (max-width:899px), (orientation:portrait){
  body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) header[data-site-header] .desktop-nav {flex:1 1 auto;justify-content:center}}

}
@media (max-width:899px), (orientation:portrait) {
  body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) {
    grid-template-rows:calc(60px + var(--safe-top, 0px)) minmax(0,1fr)!important;
  }
  body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) header[data-site-header] {
    height:calc(60px + var(--safe-top, 0px))!important;min-height:calc(60px + var(--safe-top, 0px))!important;display:flex!important;
    padding-top:var(--safe-top, 0px)!important;
    padding-inline:16px!important;
  }
  body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) header[data-site-header]>.brand {display:flex!important}
  body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) header[data-site-header] .desktop-nav {
    position:fixed!important;top:auto!important;bottom:0!important;left:0!important;right:0!important;
    padding:6px 8px max(8px,env(safe-area-inset-bottom))!important;
    display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;
    width:100%!important;background:var(--surface)!important;border-top:1px solid var(--stitch-line)!important;
    z-index:85!important;
  }
  body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) header[data-site-header] .desktop-nav a {
    display:flex!important;flex-direction:column!important;align-items:center!important;
    text-align:center!important;min-height:44px!important;padding:5px 3px!important;
    white-space:normal!important;font-size:10px!important;color:var(--muted)!important;
  }
  body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) header[data-site-header] .desktop-nav a:hover,
  body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) header[data-site-header] .desktop-nav a[aria-current="page"] {
    color:var(--text)!important;
  }
  body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) header[data-site-header] .desktop-nav a::before {display:block!important}
  body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) > .stitch-home {
    padding:18px 16px calc(16px + var(--safe-bottom))!important;
    gap:20px
  }
  .stitch-daily-hero {grid-template-columns:1fr}
  .stitch-radar {justify-self:center;width:min(100%,330px)}
  .stitch-bottom-bento {grid-template-columns:1fr}
}
@media (max-width:650px) {
  .stitch-daily-hero {padding:18px;gap:25px}
  .stitch-daily-copy {gap:15px}
  .stitch-daily-copy h1 {font-size:29px}
  .stitch-daily-copy>p {font-size:13px}
  .stitch-daily-metrics {gap:6px}
  .stitch-daily-metrics>div {padding:8px}
  .stitch-daily-metrics strong {font-size:17px}
  .stitch-daily-metrics small {font-size:8px}
  .stitch-hero-actions {width:100%}
  .stitch-hero-actions .stitch-button {flex:1 1 auto}
  .stitch-discovery {padding:14px;gap:12px}
  .stitch-filter-top {gap:10px}
  .stitch-filter-tools {width:100%;justify-content:space-between;flex-wrap:wrap;max-width:100%}
  .stitch-filter-segment {max-width:100%;overflow-x:auto}
  .stitch-filter-segment legend {display:none}
  .stitch-filter-segment button {padding:6px}
  .stitch-cards-grid {grid-template-columns:1fr;gap:14px}
  .stitch-game-card {min-height:0;padding:18px}
  .stitch-card-summary {min-height:0}
  .stitch-bottom-bento {gap:14px}
  .stitch-progress,.stitch-recommendation {padding:18px}
  .stitch-achievement-grid {grid-template-columns:1fr}
  .stitch-filter-bottom {align-items:flex-start;flex-direction:column}
}
@media (prefers-reduced-motion:reduce) {.stitch-home *, .stitch-home *::before,.stitch-home *::after {scroll-behavior:auto!important;transition:none!important}}
/* Dark theme keeps Stitch B's composition, swapping only semantic surfaces. */
html[data-theme="dark"] body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) {
 --stitch-paper:#0e1527;--stitch-line:#303c59;--stitch-ink:#e5ebff;--stitch-muted:#a9b8d5;
}
html[data-theme="dark"] body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) .stitch-discovery,
html[data-theme="dark"] body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) .stitch-game-card,
html[data-theme="dark"] body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) .stitch-progress,
html[data-theme="dark"] body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) .stitch-appearance {background:#171f35!important;color:#e5ebff}
@media (max-width:899px), (orientation:portrait){
html[data-theme="dark"] body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) header[data-site-header]{background:#171f35!important;color:#e5ebff}}

html[data-theme="dark"] .stitch-daily-hero {background:linear-gradient(110deg,#151f3c,#192e3b,#3b2c26)}
html[data-theme="dark"] .stitch-daily-copy h1,html[data-theme="dark"] .stitch-card-title h2,html[data-theme="dark"] .stitch-panel-title h2,
html[data-theme="dark"] .stitch-recommendation h2,html[data-theme="dark"] .stitch-appearance strong,
html[data-theme="dark"] .stitch-achievement strong {color:#e5ebff}
html[data-theme="dark"] .stitch-daily-copy>p,html[data-theme="dark"] .stitch-card-summary,html[data-theme="dark"] .stitch-recommendation>p {color:#bfcbdf}
html[data-theme="dark"] .stitch-daily-metrics>div,html[data-theme="dark"] .stitch-radar,html[data-theme="dark"] .stitch-radar-screen,
html[data-theme="dark"] .stitch-search,html[data-theme="dark"] .stitch-card-detail,html[data-theme="dark"] .stitch-achievement {background:#1d2a45;color:#e5ebff}
html[data-theme="dark"] .stitch-radar-screen {background:#f7fafc}
html[data-theme="dark"] .stitch-recommendation {background:linear-gradient(135deg,#202b4b,#242953)}
html[data-theme="dark"] .stitch-appearance-controls button[aria-pressed="true"] {color:var(--stitch-navy)}
html[data-theme="dark"] .stitch-daily-metrics strong,html[data-theme="dark"] .stitch-card-detail strong {color:#b5cdfc}
html[data-theme="dark"] .stitch-search input {color:#fff}
@media (max-width:899px), (orientation:portrait){

body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) header[data-site-header] .desktop-nav .puzzles-more-trigger {
  position:static!important;inset:auto!important;height:38px!important;min-height:38px!important;
  display:inline-flex!important;flex:none!important;align-items:center!important;gap:4px!important;
  border:1px solid transparent!important;border-radius:5px!important;background:transparent!important;
  color:#475569!important;padding:8px!important;font:500 12px/1.25 var(--font-sans)!important;
}}

@media (max-width:899px), (orientation:portrait){
body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) header[data-site-header] .desktop-nav .puzzles-more-trigger::before {display:none!important}}

/* The Home footer lives inside the application scrollport, not at body level.
   Reset legacy global footer framing so all help/legal links stay readable and reachable. */
.stitch-home > .stitch-home-footer {
  display:flex;flex:0 0 auto;align-items:flex-start;justify-content:space-between;gap:12px 28px;flex-wrap:wrap;
  width:100%;min-width:0;margin:0;padding:20px 0 12px;overflow:visible;
  border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none;
  color:var(--muted);font:500 .875rem/1.5 var(--font-sans);
}
.stitch-home > .stitch-home-footer::before {content:none}
.stitch-home > .stitch-home-footer > span {
  flex:1 1 260px;min-width:0;padding:0;border:0;border-radius:0;background:transparent;color:inherit;text-align:left;
}
.stitch-home > .stitch-home-footer > span span {padding:0;border:0;background:transparent;color:inherit;text-align:left}
.stitch-home > .stitch-home-footer nav {
  display:flex;flex:1 1 250px;min-width:0;align-items:center;justify-content:flex-end;gap:5px 18px;flex-wrap:wrap;
}
.stitch-home > .stitch-home-footer nav a {display:inline-flex;align-items:center;min-height:44px;color:var(--text)}
.stitch-home > .stitch-home-footer nav a:hover {color:var(--text);text-decoration:underline;text-underline-offset:3px}
@media(max-width:899px) {
  .stitch-home > .stitch-home-footer {flex-direction:column;gap:6px}
  .stitch-home > .stitch-home-footer > span,
  .stitch-home > .stitch-home-footer nav {flex:none;width:100%;justify-content:flex-start}
}
@media (max-width:899px), (orientation:portrait){
html[data-theme="dark"] body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) header[data-site-header] .brand {color:#fff}}

@media (max-width:899px), (orientation:portrait) {
  body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) header[data-site-header] .desktop-nav .puzzles-more-trigger {
    min-height:44px!important;height:44px!important;padding:5px 3px!important;flex-direction:column!important;
    align-items:center!important;justify-content:center!important;font-size:10px!important}
  body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) header[data-site-header] .desktop-nav .puzzles-more-trigger::before {display:block!important}
}

@media (max-width:899px), (orientation:portrait) {
  body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) header[data-site-header] .desktop-nav a[data-nav-role="achievements"],
  body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) header[data-site-header] .desktop-nav a[data-nav-role="streaks"] {display:none!important}
}

.stitch-resume-play {display:block;margin-top:6px;color:var(--stitch-navy);font:700 10px/1.35 var(--font-sans)}
.stitch-resume-play[hidden] {display:none!important}
html[data-theme="dark"] .stitch-resume-play {color:#b5cdfc}

/* The reference PNG is a downscaled 1440px desktop capture. Its outer 36px
   gutters, tall daily hero and ~458px catalogue cards are design geometry,
   not the compact defaults of the old platform home. */
@media (min-width:1024px) and (orientation:landscape) {
  body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) > .stitch-home {
    padding-inline:clamp(24px,2.5vw,36px)!important;
  }
  .stitch-daily-hero {min-height:580px}
  .stitch-radar {width:min(100%,430px)}
  .stitch-game-card {min-height:458px}
}

@media (min-width:1024px) and (orientation:landscape) {
  .stitch-daily-copy {align-self:start;margin-top:70px}
}
@media (max-width:899px), (orientation:portrait){
body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) header[data-site-header] .brand {
  max-width:160px;min-width:0!important;gap:8px!important;font-size:12px!important;white-space:nowrap;
}}

@media (max-width:899px), (orientation:portrait){
body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) header[data-site-header] .brand img {width:32px;height:32px}}

@media (max-width:899px), (orientation:portrait){
body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) header[data-site-header] .topbar-actions {
  flex:0 0 auto!important;flex-flow:row nowrap!important;
  min-width:0!important;width:auto!important;
  margin:0!important;padding:0!important;
  border:0!important;justify-content:flex-end!important;
  align-items:center!important;gap:7px!important;
}}

@media (max-width:899px), (orientation:portrait){
body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) header[data-site-header] .site-language-switcher {
  flex:0 0 auto!important;margin:0!important;
  width:auto!important;max-width:112px!important;
}}

@media (max-width:899px), (orientation:portrait){
body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) header[data-site-header] .site-language-switcher select {
  width:110px!important;max-width:110px!important;
  height:36px!important;min-height:36px!important;
  border:1px solid var(--stitch-line);background:var(--surface-soft, var(--surface2));
  color:var(--text);
  border-radius:5px;padding:5px 12px 5px 7px;font-size:11px!important;
}}

@media (max-width:899px), (orientation:portrait){
body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) header[data-site-header] .theme-toggle,
body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) header[data-site-header] .puzzles-settings-desktop-trigger {
  width:36px!important;min-width:36px!important;height:36px!important;
  padding:0!important;margin:0!important;display:inline-grid!important;
  place-items:center!important;flex:none!important;
  border-radius:5px!important;border:1px solid var(--stitch-line)!important;
}}

@media (max-width:899px), (orientation:portrait){
body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) header[data-site-header] .theme-toggle-label {display:none!important}}

@media (max-width:899px), (orientation:portrait){
body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) header[data-site-header] .puzzles-settings-desktop-trigger {font-size:0!important}}

@media (max-width:899px), (orientation:portrait){
body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) header[data-site-header] .puzzles-settings-desktop-trigger::before {
  content:"⚙";font-size:18px;color:var(--stitch-navy)
}}

@media (max-width:899px), (orientation:portrait) {
  body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) header[data-site-header] .topbar-actions {display:none!important}
}


/* Blupoli Puzzles discovery Home: approved four-colour brand composition.
   The legacy Stitch selectors below remain as behavior hooks until the
   catalogue interactions can be extracted without changing functionality. */
body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) {
  --stitch-navy:var(--text);--stitch-yellow:var(--brand-yellow);
  --stitch-cyan:var(--brand-aqua);--stitch-pink:var(--brand-coral);
  --stitch-paper:var(--bg);--stitch-line:var(--line);--stitch-ink:var(--text);
  --stitch-muted:var(--muted);font-family:inherit;color:var(--text);background:var(--bg);
}
@media (max-width:899px), (orientation:portrait){
body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) header[data-site-header] {
  background:var(--surface)!important;border-color:var(--line)!important;
}}

@media (max-width:899px), (orientation:portrait){
body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) header[data-site-header] .brand {color:var(--text)}}

@media (max-width:899px), (orientation:portrait){
body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) header[data-site-header] .desktop-nav a[aria-current="page"] {
  background:transparent!important;color:var(--app-accent-ink, var(--brand-violet))!important;border-color:transparent!important;
  border-bottom:3px solid var(--app-accent-ink, var(--brand-violet))!important;border-radius:0!important;
}}

@media (max-width:899px), (orientation:portrait){
html[data-theme="dark"] body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) header[data-site-header] .desktop-nav a[aria-current="page"] {
  color:var(--app-accent-ink)!important;
  border-bottom-color:var(--app-accent-ink)!important;
}}

body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) > .stitch-home {
  background:var(--bg);padding:24px clamp(16px,4.5vw,68px) 46px!important;
  gap:22px;max-width:none!important;color:var(--text);
}
.stitch-home .stitch-daily-hero {background:var(--surface);border:0;border-radius:24px;min-height:370px;padding:34px clamp(22px,3.2vw,48px);
  gap:26px;box-shadow:0 12px 45px transparent;
}
.stitch-home .stitch-daily-copy {gap:20px}
.stitch-home .stitch-hero-tags {gap:8px}
.stitch-home .stitch-tag {border-radius:99px;text-transform:none;font-size:.72rem;letter-spacing:0}
.stitch-home .stitch-tag--yellow {background:var(--surface2);border:0;color:var(--text)}
.stitch-home .stitch-tag--navy {background:var(--surface2);border:0;color:var(--text)}
.stitch-home .stitch-tag--pink {background:var(--surface2);border:0;color:var(--text)}
.stitch-home .stitch-daily-copy h1 {color:var(--text);max-width:680px;
  font-weight:850;font-size:clamp(2.2rem,3.5vw,3.7rem);line-height:1.1;font-family:inherit;letter-spacing:-.05em}
.stitch-home .stitch-daily-copy h1 em,.puzzly-benefits h2 em {color:var(--brand-coral);font-style:normal}
.stitch-home .stitch-daily-copy>p {color:var(--muted);max-width:590px;font-weight:400;font-size:clamp(.92rem,1.15vw,1.09rem);line-height:1.62;font-family:inherit}
.stitch-home .stitch-hero-actions {gap:12px}
.stitch-home .stitch-button {border-radius:12px;min-height:46px;padding:11px 20px;font-size:.88rem;font-family:inherit;text-transform:none}
.stitch-home .stitch-button--yellow {background:var(--brand-violet);color:white;border-color:var(--brand-violet);box-shadow:0 6px 18px transparent}
.stitch-home .stitch-button--yellow:hover,.stitch-home .stitch-card-link:hover {background:var(--surface2);color:var(--text)}
.stitch-home .stitch-button--subtle {background:var(--surface);color:var(--text);border-color:var(--line)}
.stitch-home .stitch-button--green {background:var(--brand-violet);border-color:var(--brand-violet);color:white}
.stitch-home .puzzly-hero-perks {display:flex;flex-wrap:wrap;gap:14px;color:var(--muted);font-size:.79rem}
.stitch-home .puzzly-hero-perks b {font-size:1.15rem;color:var(--brand-yellow)}
.stitch-home .puzzly-hero-perks span:nth-child(2) b {color:var(--brand-aqua)}
.stitch-home .puzzly-hero-perks a {color:var(--brand-violet);font-weight:700}
.stitch-home .puzzly-hero-art {position:relative;display:grid;grid-template-columns:repeat(2,1fr);gap:14px;align-content:center;
  width:min(100%,465px);justify-self:center;aspect-ratio:1.15;border:0;background:transparent;box-shadow:none;padding:8px 12px}
.stitch-home .puzzly-puzzle-tile {display:grid;aspect-ratio:1.55;padding:12px;min-width:0;border-radius:24px;background:var(--surface);
  box-shadow:0 9px 30px transparent;
  border:1px solid var(--line);transform:rotate(-5deg)}
.stitch-home .tile-sudoku {grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);color:var(--text);gap:2px}
.stitch-home .tile-sudoku span,.stitch-home .tile-words span {display:grid;place-items:center;border:1px solid var(--line);
  border-radius:4px;font-weight:850;font-size:clamp(.75rem,1.2vw,1.2rem)}
.stitch-home .tile-sudoku span:nth-child(5) {background:var(--brand-violet);color:white;border-radius:6px}
.stitch-home .tile-picross {grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr);gap:2px;transform:rotate(7deg)}
.stitch-home .tile-picross i {background:var(--surface2);border:1px solid var(--line)}
.stitch-home .tile-picross i:nth-child(2),.stitch-home .tile-picross i:nth-child(5),.stitch-home .tile-picross i:nth-child(6),
.stitch-home .tile-picross i:nth-child(7),.stitch-home .tile-picross i:nth-child(10),.stitch-home .tile-picross i:nth-child(14) {background:var(--brand-violet)}
.stitch-home .tile-words {grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:2px;transform:rotate(5deg)}
.stitch-home .tile-words span:nth-child(5) {background:var(--brand-yellow);color:var(--text)}
.stitch-home .tile-links {transform:rotate(-4deg);display:grid;place-items:center}
.stitch-home .tile-links svg {width:100%;height:100%;max-height:145px;overflow:visible}
.stitch-home .tile-links path {fill:none;stroke-width:7;stroke-linecap:round;stroke-linejoin:round}
.stitch-home .tile-links .pink {stroke:var(--brand-coral);fill:none}
.stitch-home .tile-links .cyan {stroke:var(--brand-aqua);fill:none}
.stitch-home .tile-links .yellow {stroke:var(--brand-yellow);fill:none}
.stitch-home .tile-links circle.pink {fill:var(--brand-coral)}
.stitch-home .tile-links circle.cyan {fill:var(--brand-aqua)}
.stitch-home .tile-links circle.yellow {fill:var(--brand-yellow)}
.stitch-home .puzzly-brand-tiles {position:absolute;inset:33% 36%;display:grid;grid-template-columns:1fr 1fr;gap:4px;
  background:var(--surface);padding:9px;border-radius:22px;box-shadow:0 8px 25px transparent;z-index:2}
.stitch-home .puzzly-brand-tiles span {border:9px solid var(--brand-violet);border-radius:13px}
.stitch-home .puzzly-brand-tiles span:nth-child(2) {border-color:var(--brand-aqua)}
.stitch-home .puzzly-brand-tiles span:nth-child(3) {border-color:var(--brand-yellow)}
.stitch-home .puzzly-brand-tiles span:nth-child(4) {border-color:var(--brand-coral)}
.stitch-home .puzzly-hero-art .stitch-radar-head,.stitch-home .puzzly-hero-art .stitch-radar-foot,.stitch-home .puzzly-hero-art .stitch-radar-verified {display:none}
.stitch-home .puzzly-section-heading {display:flex;align-items:center;justify-content:space-between;gap:12px}
.stitch-home .puzzly-section-heading h2 {font-size:1.36rem;letter-spacing:-.035em;color:var(--text);margin:0;font-weight:800}
.stitch-home .puzzly-section-heading a {color:var(--brand-violet);font-size:.84rem;font-weight:800}
.stitch-home .puzzly-section-heading p {margin:4px 0 0;color:var(--muted);font-size:.88rem}
.stitch-home .puzzly-categories {display:grid;gap:14px}
.stitch-home .puzzly-category-grid {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.stitch-home .puzzly-category-card {position:relative;display:flex;flex-direction:column;text-align:left;gap:7px;min-width:0;min-height:152px;
  padding:15px 14px;border:1px solid var(--line);border-radius:16px;background:var(--surface2);
  color:var(--text);transition:transform .14s,box-shadow .14s}
.stitch-home .puzzly-category-card:nth-child(2),.stitch-home .puzzly-category-card:nth-child(6) {background:var(--surface2)}
.stitch-home .puzzly-category-card:nth-child(3) {background:var(--surface2)}
.stitch-home .puzzly-category-card:nth-child(4) {background:var(--surface2)}
.stitch-home .puzzly-category-card:hover {transform:translateY(-3px);box-shadow:0 8px 22px transparent}
.stitch-home .puzzly-category-symbol {display:grid;place-items:center;width:53px;height:53px;font-size:1.7rem;font-weight:850;
  border:2px solid var(--brand-violet);color:var(--brand-violet);border-radius:14px;background:var(--surface)}
.stitch-home .puzzly-category-card[data-accent="cyan"] .puzzly-category-symbol {border-color:var(--brand-aqua);color:var(--brand-violet)}
.stitch-home .puzzly-category-card[data-accent="yellow"] .puzzly-category-symbol {border-color:var(--brand-yellow)}
.stitch-home .puzzly-category-card[data-accent="pink"] .puzzly-category-symbol {border-color:var(--brand-coral);color:var(--brand-coral)}
.stitch-home .puzzly-category-card strong {font-size:.95rem;line-height:1.2}
.stitch-home .puzzly-category-card small {font-size:.74rem;color:var(--muted)}
.stitch-home .puzzly-category-arrow {position:absolute;right:12px;bottom:12px;color:var(--brand-violet);font-weight:900}
.stitch-home .puzzly-wellness {display:grid;grid-template-columns:1.35fr 2fr 1fr;gap:16px;align-items:center;
  padding:16px 20px;background:var(--surface);border-radius:20px;border:1px solid var(--line);
  box-shadow:0 3px 18px transparent}
.stitch-home .puzzly-wellness-intro {display:flex;align-items:center;gap:11px}
.stitch-home .puzzly-wellness-icon {width:48px;height:48px;flex-shrink:0;display:grid;place-items:center;
  border-radius:14px;color:var(--brand-violet);background:var(--surface2);font-size:1.6rem}
.stitch-home .puzzly-wellness-intro h2 {margin:0 0 3px;color:var(--text);font-size:1rem}
.stitch-home .puzzly-wellness-intro p {margin:0;color:var(--muted);font-size:.76rem;line-height:1.3}
.stitch-home .puzzly-wellness-goals {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.stitch-home .puzzly-wellness-goals>div {display:flex;flex-direction:column;gap:4px;min-width:0}
.stitch-home .puzzly-wellness-goals strong {font-size:1.22rem;color:var(--text);font-variant-numeric:tabular-nums}
.stitch-home .puzzly-wellness-goals span {font-size:.72rem;color:var(--muted)}
.stitch-home .puzzly-wellness-goals i {width:100%;height:5px;background:var(--line);border-radius:99px;overflow:hidden}
.stitch-home .puzzly-wellness-goals i::before {content:"";display:block;height:100%;width:var(--goal-progress,0%);background:var(--brand-violet);border-radius:99px}
.stitch-home .puzzly-wellness-goals .is-complete strong {color:var(--brand-violet)}
.stitch-home .puzzly-wellness-goals .is-complete i::before {width:100%}
.stitch-home .puzzly-weekly-philosophy {grid-column:1/-1;margin:0;padding:12px 2px 0;border-top:1px solid var(--line);color:var(--text-secondary);font-size:.8rem;line-height:1.5}
.stitch-home .puzzly-wellness-summary {display:grid;gap:9px;justify-items:end}
.stitch-home .puzzly-wellness-summary a {font-size:.75rem;font-weight:750;color:var(--brand-violet)}
.stitch-home .puzzly-wellness-week {display:flex;gap:3px}
.stitch-home .puzzly-wellness-week span {display:grid;place-items:center;width:25px;height:25px;border-radius:50%;
  font-size:.66rem;color:var(--muted);background:var(--bg)}
.stitch-home .puzzly-wellness-week .is-active {color:white;background:var(--brand-violet)}
.stitch-home .puzzly-featured-heading {scroll-margin-top:18px}
.stitch-home .stitch-discovery {padding:13px 16px;border-radius:16px;gap:8px;box-shadow:none;background:var(--surface)}
.stitch-home .stitch-category-pills button[aria-pressed="true"],.stitch-home .stitch-filter-segment button[aria-pressed="true"] {background:var(--brand-violet);border-color:var(--brand-violet);color:white}
.stitch-home .stitch-difficulty button[aria-pressed="true"] {background:var(--surface);color:var(--brand-violet);border-color:var(--line)}
.stitch-home .stitch-search {border-radius:12px;background:var(--bg);border-color:var(--line)}
.stitch-home .stitch-search input {font-size:.83rem;color:var(--text)}
.stitch-home .puzzly-featured-layout {display:grid;grid-template-columns:minmax(0,3fr) minmax(230px,1fr);align-items:stretch;gap:16px}
.stitch-home .stitch-cards-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.stitch-home .stitch-game-card {min-height:225px;padding:13px;border-radius:14px;border-color:var(--line);background:var(--surface)}
.stitch-home .stitch-card-title {flex-direction:column;align-items:flex-start;gap:7px;margin:0 0 8px}
.stitch-home .stitch-card-title h2 {color:var(--text);font-size:1.07rem}
.stitch-home .stitch-card-symbol {width:90px;height:76px;font-size:2.4rem;border-radius:13px;background:var(--surface2);border:0;color:var(--brand-violet)}
.stitch-home .stitch-card-symbol[data-accent="aqua"] {background:var(--surface2)}
.stitch-home .stitch-card-symbol[data-accent="pink"] {background:var(--surface2)}
.stitch-home .stitch-card-symbol[data-accent="yellow"] {background:var(--surface2)}
.stitch-home .stitch-card-top {margin-bottom:8px}
.stitch-home .stitch-card-badge {border:0;border-radius:7px;letter-spacing:0;text-transform:none;
  color:var(--brand-violet);background:var(--surface2)}
.stitch-home .stitch-card-top>small {color:var(--muted);font-size:.67rem}
.stitch-home .stitch-card-title small {color:var(--muted);letter-spacing:0;text-transform:none}
.stitch-home .stitch-card-summary {color:var(--muted);font-size:.77rem;line-height:1.4;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.stitch-home .stitch-card-detail {display:none}
.stitch-home .stitch-card-link {min-height:37px;padding:8px 15px;border-radius:12px;background:var(--brand-violet);border:0;color:white}
.stitch-home .stitch-card-bottom {border-top:0;padding-top:5px}
.stitch-home .stitch-cards-grid.is-list {grid-template-columns:1fr}
.stitch-home .puzzly-benefits {display:flex;flex-direction:column;gap:16px;padding:20px 16px;border-radius:18px;
  background:var(--surface2);border:1px solid var(--line)}
.stitch-home .puzzly-benefits h2 {margin:0 0 4px;color:var(--text);font-size:1.35rem;line-height:1.25}
.stitch-home .puzzly-benefits h2 em {color:var(--brand-violet)}
.stitch-home .puzzly-benefit {display:flex;gap:10px;align-items:flex-start}
.stitch-home .puzzly-benefit>span {display:grid;place-items:center;min-width:32px;height:32px;border-radius:10px;
  background:var(--surface);font-size:1.1rem;color:var(--brand-violet)}
.stitch-home .puzzly-benefit:nth-of-type(2)>span {color:var(--brand-aqua)}
.stitch-home .puzzly-benefit:nth-of-type(3)>span {color:var(--brand-yellow)}
.stitch-home .puzzly-benefit:nth-of-type(4)>span {color:var(--brand-coral)}
.stitch-home .puzzly-benefit strong {display:block;font-size:.78rem}
.stitch-home .puzzly-benefit small {display:block;font-size:.72rem;line-height:1.35;color:var(--muted)}
.stitch-home .puzzly-benefit-art {margin-top:auto;align-self:center;font-size:4.5rem;color:var(--brand-coral)}
.stitch-home .stitch-bottom-bento {gap:16px}
.stitch-home .stitch-progress,.stitch-home .stitch-recommendation {border-radius:18px;border-color:var(--line);background:var(--surface)}
.stitch-home .stitch-progress-track span {background:var(--brand-violet)}
.stitch-home .stitch-achievement>span {background:var(--surface2);color:var(--brand-violet)}
.stitch-home .stitch-recommendation-label {color:var(--brand-violet)!important;background:var(--surface);border-color:var(--line)}
.stitch-home .stitch-appearance {border-radius:16px;background:var(--surface);border-color:var(--line)}
.stitch-home .stitch-home-footer {color:var(--muted)}
@media(max-width:1200px) {
  .stitch-home .puzzly-category-grid {grid-template-columns:repeat(3,minmax(0,1fr))}
  .stitch-home .puzzly-wellness {grid-template-columns:1fr 1.7fr}
  .stitch-home .puzzly-wellness-summary {grid-column:1/-1;display:flex;justify-content:space-between}
  .stitch-home .puzzly-featured-layout {grid-template-columns:minmax(0,1fr) minmax(220px,.4fr)}
  .stitch-home .stitch-cards-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:899px), (orientation:portrait) {
  .stitch-home .stitch-daily-hero {grid-template-columns:1fr;min-height:0}
  .stitch-home .puzzly-hero-art {width:min(100%,400px)}
  .stitch-home .puzzly-featured-layout {grid-template-columns:1fr}
  .stitch-home .puzzly-benefits {display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .stitch-home .puzzly-benefits h2 {grid-column:1/-1}
  .stitch-home .puzzly-benefit-art {display:none}
  .stitch-home .puzzly-wellness {grid-template-columns:1fr}
  .stitch-home .puzzly-wellness-summary {grid-column:auto}
}
@media(max-width:650px) {
  body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) > .stitch-home {gap:18px;padding:14px 14px calc(16px + var(--safe-bottom))!important}
  .stitch-home .stitch-daily-hero {padding:22px 18px;border-radius:20px}
  .stitch-home .stitch-daily-copy h1 {font-size:clamp(2rem,9vw,2.6rem)}
  .stitch-home .puzzly-hero-art {width:min(100%,300px)}
  .stitch-home .puzzly-category-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .stitch-home .puzzly-category-card {min-height:126px;padding:10px}
  .stitch-home .puzzly-wellness {padding:14px}
  .stitch-home .puzzly-wellness-goals strong {font-size:1rem}
  .stitch-home .puzzly-wellness-goals span {font-size:.64rem}
  .stitch-home .stitch-cards-grid {grid-template-columns:1fr}
  .stitch-home .stitch-game-card {min-height:0}
  .stitch-home .puzzly-benefits {grid-template-columns:1fr}
  .stitch-home .puzzly-section-heading {align-items:flex-start;flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce) {
  .stitch-home .puzzly-category-card,.stitch-home .stitch-game-card {transition:none}
}

/* Theme-friendly treatment of the retained filter and preference controls. */
.stitch-home .stitch-progress-legend>span {color:var(--brand-violet)}
.stitch-home .stitch-achievement:not(.is-unlocked)>span {background:var(--surface2);color:var(--text)}
.stitch-home .stitch-achievement {background:var(--surface);border-color:var(--line)}
.stitch-home .stitch-achievement strong {color:var(--text)}
.stitch-home .stitch-achievement small {color:var(--muted)}
.stitch-home .stitch-recommendation h2,.stitch-home .stitch-panel-title h2 {color:var(--text)}
.stitch-home .stitch-recommendation>p,.stitch-home .stitch-recommend-end>span,.stitch-home .stitch-panel-title>span {color:var(--muted)}
.stitch-home .stitch-appearance-controls,.stitch-home .stitch-filter-segment {background:var(--bg);border-color:var(--line)}
.stitch-home .stitch-appearance-controls button[aria-pressed="true"],.stitch-home .stitch-view-control button[aria-pressed="true"] {
 background:var(--surface);color:var(--brand-violet);
}
.stitch-home .stitch-appearance strong {color:var(--text)}
.stitch-home .stitch-appearance small {color:var(--muted)}
.stitch-home .stitch-category-pills button {background:var(--surface);color:var(--text);border-color:var(--line)}
.stitch-home .stitch-search input:focus-visible {outline-offset:3px}

/* Scrollable flex content does not consistently count end padding toward its
   scroll extent. A real final flex item keeps the footer above fixed bottom nav. */
@media (max-width:899px), (orientation:portrait) {
  body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) > main.stitch-home::after {
    content:"";display:block;width:1px;flex:0 0 calc(var(--puzzles-app-bottom-nav) + var(--safe-bottom));pointer-events:none;
  }
}

/* The Home is the scroll container: even transformed tiles and cards must
   never extend the Puzzles application's fixed 100dvh document. */
body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) > main.stitch-home {
  box-sizing:border-box!important;contain:layout paint;
  height:100%!important;max-height:100%!important;min-height:0!important;
  overflow-y:auto!important;overflow-x:hidden!important;
}

/* Visual QA: preserve the reference hero CTA and the entire floating montage.
   Derived translucent fills use only the four exact logo RGB channels. */
@media (min-width:900px) and (orientation:landscape) {
  .stitch-home .stitch-daily-hero {min-height:500px;padding-block:42px}
}
.stitch-home .puzzly-category-card {background:rgba(103,48,194,.065)}
.stitch-home .puzzly-category-card:nth-child(2),
.stitch-home .puzzly-category-card:nth-child(6) {background:rgba(19,197,247,.09)}
.stitch-home .puzzly-category-card:nth-child(3) {background:rgba(255,205,48,.12)}
.stitch-home .puzzly-category-card:nth-child(4) {background:rgba(255,85,126,.08)}
.stitch-home .puzzly-category-card:nth-child(5) {background:rgba(103,48,194,.065)}
.stitch-home .puzzly-wellness-icon {background:rgba(103,48,194,.09)}
.stitch-home .puzzly-benefits {background:rgba(103,48,194,.055)}
@media(max-width:899px) {
  .stitch-home .stitch-daily-hero {min-height:0;padding-block:28px;overflow:hidden}
}


/* Only compact Home owns a discovery masthead; expanded layout inherits the shared rail. */
@media (max-width:899px), (orientation:portrait) {
 body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) {grid-template-columns:minmax(0,1fr)!important;grid-template-rows:calc(60px + var(--safe-top,0px)) minmax(0,1fr)!important}
 body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) > .stitch-home {grid-column:1!important;grid-row:2!important}
}
@media (min-width:900px) and (orientation:landscape) {
 body.puzzles-app:is([data-puzzles-screen="home"],[data-puzzles-screen="today"]) .stitch-header-search {display:none}
}
