/* Three approaches considered:
   A. Daily shelf: compact equal horizontal catalogue rows, Newsreader titles,
      DM Sans actions, paper/ink and a single green completion mark. Mobile pick.
   B. Gallery covers: three equal visual columns, the same content/identity with
      spacious artwork mounts. Wide-screen pick, selected by viewport >=900px.
   C. Progress dashboard: dense KPI/checkbox strip. Rejected because it duplicates
      the checklist and makes game choice feel like work.
   One DOM, A/B responsive CSS. No user-agent split, giant Artshift feature,
   fake social proof, currencies, streaks or review labels. Existing portal fonts
   and theme variables are reused. Motion is a small hover response only. */
.daily-portfolio-intro h1 br { display:block; }
#home-view,#collection-view { --daily-line:var(--line); }
.daily-portfolio-intro { display:flex; justify-content:space-between; align-items:end; gap:16px; padding:22px 0 14px; }
.daily-portfolio-intro h1 { font:400 34px/1.08 var(--serif); letter-spacing:-.035em; }
.daily-portfolio-intro p { margin-top:7px; font-size:13px; color:var(--muted); }
#portfolio-date { padding-bottom:3px; color:var(--muted); font-size:12px; white-space:nowrap; }
.daily-summary { font:400 12px/1.4 var(--sans); color:var(--muted); padding:0; margin:0 0 14px; }
.daily-summary[data-completed="3"] { color:#356349; }
#games.daily-game-selector { padding:0; margin:0; border:0; }
#catalog.daily-game-catalog { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; }
.daily-game-card { position:relative; display:grid; grid-template-columns:98px minmax(0,1fr); align-items:center; gap:14px; min-height:130px; padding:12px; background:var(--paper); border:1px solid var(--daily-line); border-radius:12px; }
.daily-game-visual { display:flex; align-items:center; justify-content:center; width:98px; height:104px; border-radius:6px; overflow:hidden; }
.visual-artshift { background:#e7dcc1; }
.visual-artshift>img { width:100%; height:100%; object-fit:cover; display:block; }
.visual-roodoku { background:#e4e9dd; }
.visual-price-guesser { background:#f0dfc6; }
.daily-game-category { display:block; font-size:9px; text-transform:uppercase; letter-spacing:.055em; color:var(--muted); margin-bottom:4px; }
.daily-game-title { display:flex; align-items:center; gap:6px; font:400 26px/1.05 var(--serif); letter-spacing:-.025em; }
.daily-artshift-mark { width:17px; height:24px; flex:0 0 auto; fill:none; stroke:var(--accent); stroke-width:2.4; stroke-linecap:round; }
.daily-game-description { margin:7px 0 0; color:var(--muted); font-size:12px; line-height:1.4; }
.daily-game-action { display:inline-flex; align-items:center; gap:7px; min-height:44px; margin-top:1px; font-size:12px; color:var(--accent); font-weight:500; }
.daily-game-action svg,.daily-progress-action svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.daily-game-action:hover { text-decoration:underline; text-underline-offset:3px; }
.daily-badge { display:block; width:20px; height:20px; border:1.5px solid var(--line); border-radius:50%; flex:0 0 auto; }
.daily-badge.is-complete { border:0; background:#447958; }
.daily-badge svg { display:block; width:100%; height:100%; fill:none; stroke:#fff; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.landing-roo-board { display:grid; grid-template-columns:repeat(4,1fr); grid-template-rows:repeat(4,1fr); gap:2px; padding:3px; width:79px; height:79px; background:#fff; border-radius:6px; transform:rotate(-4deg); }
.landing-mini-cell { display:flex; align-items:center; justify-content:center; min-width:0; min-height:0; border-radius:2px; }
.landing-mini-cell img { width:94%; height:94%; object-fit:contain; }
.mini-region-0 { background:#f0d575; }.mini-region-1 { background:#a3cfe7; }.mini-region-2 { background:#e9a2b3; }.mini-region-3 { background:#9ccdad; }
.landing-price-tag { width:92px; height:90px; }
.landing-price-tag .tag-paper { fill:#fff8e7; stroke:#bd9070; stroke-width:3; stroke-linejoin:round; }
.landing-price-tag .tag-string { fill:none; stroke:#a87751; stroke-width:3; stroke-linecap:round; }
.landing-price-tag circle { fill:#e8c7a3; }
.landing-price-tag text { fill:#946242; font:500 39px var(--serif); }
.art-strip-motif { display:flex; gap:3px; width:76px; height:76px; transform:rotate(-4deg); }
.art-strip-motif span { flex:1; background:#cb9071; }.art-strip-motif span:nth-child(2){background:#718f9d}.art-strip-motif span:nth-child(3){background:#a1ab77}.art-strip-motif span:nth-child(4){background:#dbc586}.art-strip-motif span:nth-child(5){background:#8ba494}
.daily-account-invite { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:20px 0 28px; padding:14px 0; border-top:1px solid var(--line); font-size:13px; color:var(--muted); }
.daily-account-invite p { font-size:13px; line-height:1.4; }
.daily-account-button { min-height:44px; padding:8px 13px; font:500 12px var(--sans); background:transparent; color:var(--accent); border:1px solid var(--line); border-radius:7px; white-space:nowrap; cursor:pointer; }
.daily-account-button:hover { border-color:var(--accent); }
#collection-view { max-width:780px; padding-top:28px; }
#collection-view>h1 { font:400 42px/1.1 var(--serif); letter-spacing:-.03em; }
#collection-view>.page-lead { font-size:14px; margin-top:10px; color:var(--muted); }
.daily-progress-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:24px 0 8px; }
.daily-progress-date { color:var(--muted); font-size:13px; }
.daily-progress-heading .daily-summary { margin:0; }
.daily-progress-list { list-style:none; padding:0; margin:0; }
.daily-progress-item { display:flex; align-items:center; gap:14px; min-height:92px; padding:16px 0; border-bottom:1px solid var(--line); }
.daily-progress-copy { flex:1; min-width:0; }
.daily-progress-copy h2 { font:400 26px/1.1 var(--serif); letter-spacing:-.025em; }
.daily-progress-state { display:block; font-size:12px; color:var(--muted); margin-top:5px; }
.daily-progress-action { display:flex; align-items:center; gap:8px; min-height:44px; font-size:12px; color:var(--accent); }
.daily-game-action:focus-visible,.daily-progress-action:focus-visible,.daily-account-button:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
.site-header nav a[data-nav=about] { display:none; }
@media(min-width:900px) {
  .daily-portfolio-intro { padding:34px 0 22px; }.daily-portfolio-intro h1 { font-size:48px; }.daily-portfolio-intro p { font-size:14px; }
  .daily-summary { margin-bottom:18px; font-size:13px; }
  #catalog.daily-game-catalog { grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
  .daily-game-card { display:flex; flex-direction:column; align-items:stretch; gap:0; padding:0; overflow:hidden; }
  .daily-game-visual { width:100%; height:260px; border-radius:0; }
  .daily-game-copy { padding:22px 24px 14px; flex:1; }
  .daily-game-title { font-size:32px; }.daily-game-category { font-size:10px; margin-bottom:7px; }.daily-game-description { font-size:13px; margin-top:10px; }
  .daily-game-action { font-size:13px; margin-top:14px; }
  .daily-game-card>.daily-badge { position:absolute; top:14px; right:14px; background:var(--paper); border-color:#6d7764; box-shadow:0 0 0 5px #f4f1e9aa; }
  .daily-game-card>.daily-badge.is-complete { background:#447958; border:0; }
  .landing-roo-board { width:190px; height:190px; gap:5px; padding:6px; }.landing-price-tag { width:240px; height:210px; }.art-strip-motif { width:180px; height:180px; gap:6px; }
  .daily-account-invite { margin-top:24px; }
}
@media(max-width:420px) {
  .daily-portfolio-intro { padding:16px 0 12px; gap:8px; }.daily-portfolio-intro h1 { font-size:29px; }.daily-portfolio-intro p { font-size:11px; }.daily-summary { margin-bottom:12px; }
  .daily-game-card { grid-template-columns:84px minmax(0,1fr); gap:10px; min-height:120px; padding:10px; }.daily-game-visual { width:84px; height:100px; }.daily-game-title { font-size:25px; }.daily-game-description { font-size:11px; }.daily-game-action { font-size:11px; }
  .landing-roo-board { width:70px; height:70px; }.landing-price-tag { width:80px; height:80px; }
  .daily-account-invite { gap:8px; }.daily-account-invite p { font-size:11px; }.daily-account-button { padding:8px 10px; font-size:11px; }
}
@media(max-width:359px) {
  .daily-portfolio-intro h1 { font-size:27px; }.daily-portfolio-intro p { max-width:210px; }.daily-portfolio-intro time { font-size:11px; }
  .daily-game-card { grid-template-columns:70px minmax(0,1fr); gap:9px; padding:9px; min-height:116px; }.daily-game-visual { width:70px; height:94px; }.daily-game-title { font-size:22px; }.daily-game-description { font-size:10px; line-height:1.35; }.daily-game-category { font-size:8px; }
  .landing-roo-board { width:62px; height:62px; }.landing-price-tag { width:68px; height:76px; }.daily-badge { width:18px; height:18px; }
}
.daily-game-card { cursor:pointer; color:var(--ink); text-decoration:none; }
.daily-game-card[aria-disabled=true] { cursor:default; }
.daily-game-card:focus-visible { outline:3px solid var(--accent); outline-offset:4px; }
.daily-game-card:hover:not([aria-disabled=true]) { border-color:var(--accent); }
.daily-game-card .daily-game-copy { padding-right:16px; }
.daily-game-card>.daily-badge { position:absolute; top:12px; right:12px; width:22px; height:22px; box-shadow:none; }
.completion-spark { position:absolute; width:5px; height:5px; border-radius:1px; background:var(--spark-color); pointer-events:none; z-index:4; }
.landing-art-strips { display:flex; gap:2px; position:relative; width:88%; height:86%; overflow:hidden; }
.landing-art-strips span { flex:1; height:78%; position:relative; background-image:var(--art-image); background-repeat:no-repeat; background-size:600% 100%; }
.landing-art-strips span:nth-child(1) { top:14%; background-position:0 0; }
.landing-art-strips span:nth-child(2) { top:0; background-position:20% 0; }
.landing-art-strips span:nth-child(3) { top:20%; background-position:40% 0; }
.landing-art-strips span:nth-child(4) { top:0; background-position:60% 0; }
.landing-art-strips span:nth-child(5) { top:8%; background-position:80% 0; }
.landing-art-strips span:nth-child(6) { top:0; background-position:100% 0; }
@media(min-width:900px){.landing-art-strips{gap:4px;width:84%;height:86%}.daily-game-card .daily-game-copy{padding-right:24px}.daily-game-card>.daily-badge{top:14px;right:14px}}
@media(prefers-reduced-motion:reduce) { .daily-game-card { transition:none; } .completion-spark { display:none; } }
@media(forced-colors:active) { .daily-badge { border-color:CanvasText; }.daily-badge.is-complete { background:Highlight; }.daily-badge svg { stroke:HighlightText; } }
