@charset "UTF-8";

:root { color-scheme:dark; --pwa-bg:#0b1014; --pwa-panel:#12191f; --pwa-surface:#12191f; --pwa-line:#2b3842; --pwa-text:#f2f5f3; --pwa-muted:#98a6ad; --pwa-accent:#c7f36b; --pwa-on-accent:#17200d; }
.pwa-app { display:block; min-height:100vh; min-height:100dvh; padding:max(20px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) calc(96px + env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left)); background:var(--pwa-bg); color:var(--pwa-text); }
.pwa-shell { max-width:560px; margin:0 auto; }
.pwa-app [hidden] { display:none !important; }
.pwa-panel { display:none; padding:28px 0; }
.pwa-panel.is-active { display:block; }
.pwa-eyebrow { color:var(--pwa-accent); font-size:.75rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.pwa-title { margin:10px 0 30px; font-size:clamp(2rem, 10vw, 3.4rem); line-height:1; }
.pwa-title-label { display:block; margin-bottom:.5rem; color:var(--pwa-muted); font-size:.9rem; font-weight:600; letter-spacing:.02em; }
.pwa-title-value { display:block; font-variant-numeric:tabular-nums; }
.pwa-title small { display:block; margin-top:.6rem; font-size:.95rem; font-weight:600; letter-spacing:.02em; }
.pwa-title small.is-up { color:var(--pwa-accent); }
.pwa-title small.is-down { color:#e4a0a0; }
.pwa-home-card { margin:14px 0; padding:20px; border:1px solid var(--pwa-line); border-radius:18px; background:var(--pwa-panel); }
.pwa-home-card p { margin:0 0 8px; color:var(--pwa-muted); font-size:.85rem; }
.pwa-home-card strong { font-size:1.4rem; }
.pwa-start { display:block; width:100%; margin:24px 0; padding:18px; border:0; border-radius:14px; background:var(--pwa-accent); color:var(--pwa-on-accent); font-weight:800; letter-spacing:.12em; }
.pwa-note { color:var(--pwa-muted); font-size:.88rem; line-height:1.55; }
.pwa-install { width:100%; margin-top:16px; padding:12px; border:1px solid var(--pwa-accent); border-radius:12px; background:transparent; color:var(--pwa-accent); }
.pwa-install { display:flex; align-items:center; justify-content:center; gap:.5rem; }
.pwa-install-icon { flex:none; }
.pwa-install[hidden], .pwa-ios-guide[hidden] { display:none; }
.pwa-nav { position:fixed; right:0; bottom:0; left:0; z-index:20; display:grid; grid-template-columns:repeat(5, 1fr); padding:8px max(10px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left)); border-top:1px solid var(--pwa-line); background:rgba(11,16,20,.96); }
.pwa-nav button { min-height:48px; padding:0 2px; border:0; background:transparent; color:var(--pwa-muted); font-size:.68rem; line-height:1.2; white-space:nowrap; }
.pwa-nav button[aria-current="page"] { color:var(--pwa-accent); }
.pwa-app #app { margin:0; max-width:none; background:transparent; box-shadow:none; }
.pwa-app #app h1 { font-size:clamp(2rem, 9vw, 3rem); }
.pwa-app .screen { min-height:0; }
.pwa-app .text-link { color:var(--pwa-accent); }
.pwa-app h1, .pwa-app h2 { background:none; -webkit-text-fill-color:var(--pwa-text); color:var(--pwa-text); }
.pwa-app .difficulty-radio { display:block; position:absolute; inline-size:1px; block-size:1px; opacity:0; }
.pwa-app .difficulty-radio:focus-visible + .difficulty-label { outline:3px solid var(--pwa-accent); outline-offset:3px; }
.pwa-app .difficulty-label { color:var(--pwa-text); border-color:var(--pwa-line); }
.pwa-app .difficulty-radio:checked + .difficulty-label { background:var(--pwa-accent); color:var(--pwa-on-accent); }
.pwa-daily { inline-size:100%; margin:1rem 0; padding:.9rem 1rem; border:1px solid var(--pwa-accent); border-radius:.7rem; background:transparent; color:var(--pwa-accent); font:inherit; font-weight:700; }
.pwa-metrics { display:grid; grid-template-columns:1fr 1fr; gap:.65rem; margin:1rem 0; }
.pwa-metrics > div { min-block-size:5.2rem; padding:.8rem; border:0; border-radius:.7rem; background:rgba(255,255,255,.035); }
.pwa-metrics span { display:block; color:var(--pwa-muted); font-size:.72rem; }
.pwa-metrics strong { display:block; margin-top:.35rem; color:var(--pwa-text); font-size:1.05rem; font-variant-numeric:tabular-nums; }
.pwa-periods { display:flex; gap:.45rem; margin:1rem 0; }
.pwa-periods button { flex:1; padding:.55rem .3rem; border:1px solid var(--pwa-line); border-radius:.45rem; background:transparent; color:var(--pwa-text); font:inherit; font-size:.74rem; }
.pwa-periods button:focus-visible, .pwa-daily:focus-visible { outline:3px solid var(--pwa-accent); outline-offset:3px; }
.pwa-chart { margin:1.1rem 0; padding:.8rem; border:1px solid var(--pwa-line); border-radius:.7rem; background:var(--pwa-surface); }
.pwa-chart h3 { margin:0; color:var(--pwa-text); font-size:.92rem; }
.pwa-chart p { margin:.5rem 0 0; color:var(--pwa-muted); font-size:.75rem; font-variant-numeric:tabular-nums; }
.pwa-chart svg { display:block; inline-size:100%; block-size:7rem; margin-top:.5rem; overflow:visible; }
.pwa-chart polyline { stroke:var(--pwa-accent); stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }
.pwa-mode-picker { display:grid; grid-template-columns:1fr 1fr; gap:.45rem; margin:1rem 0; }
.pwa-mode-picker p { grid-column:1 / -1; margin:0; color:var(--pwa-muted); font-size:.8rem; }
.pwa-mode-picker button { display:flex; align-items:center; justify-content:space-between; gap:.5rem; min-block-size:3.1rem; padding:.6rem .8rem; border:1px solid var(--pwa-accent); border-radius:.55rem; background:color-mix(in srgb, var(--pwa-accent) 10%, transparent); color:var(--pwa-accent); font:inherit; font-size:.78rem; font-weight:700; text-align:left; cursor:pointer; transition:background 140ms ease, transform 100ms ease; }
.pwa-mode-picker button::after { content:"›"; font-size:1.1rem; line-height:1; opacity:.8; }
.pwa-mode-picker button:active { background:var(--pwa-accent); color:var(--pwa-on-accent); transform:translateY(1px); }
.pwa-mode-picker button:focus-visible { outline:3px solid var(--pwa-accent); outline-offset:3px; }
@media (hover:hover) { .pwa-mode-picker button:hover { background:color-mix(in srgb, var(--pwa-accent) 20%, transparent); } }
.pwa-app button { cursor:pointer; }
.pwa-app .controls { display:flex; gap:.65rem; }
.pwa-app .controls .match-btn { display:grid; grid-template-columns:1fr auto; align-items:center; gap:.6rem; flex:1; inline-size:auto; min-block-size:68px; padding:1.05rem 1.2rem; text-align:left; }
.pwa-app .controls .match-btn[hidden] { display:none; }
.pwa-app .controls .match-btn > span { white-space:nowrap; font-size:1.15rem; font-weight:800; letter-spacing:-0.02em; }
.pwa-app .controls .match-btn small { font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size:.65rem; letter-spacing:.08em; opacity:.75; }
.survival-lives { margin:.7rem 0; color:#f56565; font-size:1.35rem; letter-spacing:.15em; text-align:center; }
.pwa-app .grid-container { position:relative; }
.pwa-app .grid-container[hidden] { display:none; }
.audio-pulse { display:grid; place-items:center; inline-size:min(100%, 320px); aspect-ratio:1; margin:0 auto; border:1px solid var(--pwa-line); border-radius:1rem; background:var(--pwa-surface); color:var(--pwa-muted); font-size:4rem; transition:transform 140ms ease, color 140ms ease, border-color 140ms ease; }
.audio-pulse[hidden] { display:none; }
.audio-pulse.is-playing { border-color:var(--pwa-accent); color:var(--pwa-accent); transform:scale(1.04); }
.number-stimulus { position:absolute; inset:0; z-index:2; display:grid; place-items:center; color:#16211a; font-size:5rem; font-weight:800; pointer-events:none; }
.achievement-grid { display:grid; grid-template-columns:1fr 1fr; gap:.6rem; margin:1rem 0; }
.achievement { display:flex; min-block-size:4.8rem; align-items:center; justify-content:space-between; gap:.5rem; padding:.7rem; border:1px solid var(--pwa-line); border-radius:.6rem; color:var(--pwa-muted); font-size:.78rem; }
.achievement.is-unlocked { border-color:var(--pwa-accent); color:var(--pwa-text); }
.achievement span { color:var(--pwa-accent); font-size:1.2rem; }
.pwa-settings { display:grid; gap:.75rem; margin:1rem 0; }
.pwa-settings label { display:flex; align-items:center; justify-content:space-between; gap:.7rem; color:var(--pwa-text); }
.pwa-settings select { border:1px solid var(--pwa-line); border-radius:.35rem; background:var(--pwa-surface); color:var(--pwa-text); padding:.35rem; }
.reduce-motion *, .reduce-motion *::before, .reduce-motion *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
.pwa-app .pwa-metrics > div { cursor:default; }
html[data-theme="light"] .pwa-metrics > div { background:rgba(0,0,0,.05); }
html[data-theme="light"] { color-scheme:light; --pwa-bg:#f4f7f3; --pwa-panel:#ffffff; --pwa-surface:#ffffff; --pwa-line:#aebbb1; --pwa-text:#162019; --pwa-muted:#405047; --pwa-accent:#527600; --pwa-on-accent:#ffffff; }
.pwa-total { display:grid; grid-template-columns:1fr 1fr; gap:.45rem; margin:1rem 0; padding:.8rem; border:1px solid var(--pwa-line); border-radius:.65rem; }
.pwa-total h3 { grid-column:1 / -1; margin:0; font-size:.82rem; color:var(--pwa-muted); }
.pwa-total strong { color:var(--pwa-text); font-size:1.35rem; font-variant-numeric:tabular-nums; }
.pwa-total span { color:var(--pwa-muted); font-size:.72rem; }
.activity { margin:1rem 0; padding:.8rem; border:1px solid var(--pwa-line); border-radius:.65rem; }
.activity h3 { margin:0 0 .7rem; font-size:.85rem; }
.activity-grid { display:grid; grid-template-columns:repeat(53, 1fr); gap:2px; }
.activity-grid span { aspect-ratio:1; min-inline-size:4px; border-radius:1px; background:var(--pwa-line); }
.activity-grid .a1 { background:#466f37; }.activity-grid .a2 { background:#679c4d; }.activity-grid .a3 { background:#91c865; }.activity-grid .a4 { background:var(--pwa-accent); }
.pwa-status { min-block-size:1.5em; color:var(--pwa-muted); font-size:.82rem; }
.pwa-update { margin-block:12px 0; }

/* Manual */
.pwa-nav { grid-template-columns:repeat(6, 1fr); }
.pwa-manual h3 { margin:1.6rem 0 .5rem; color:var(--pwa-text); font-size:1rem; }
.pwa-manual h4 { margin:1.1rem 0 .35rem; color:var(--pwa-accent); font-size:.88rem; }
.pwa-manual p, .pwa-manual li { color:var(--pwa-muted); font-size:.88rem; line-height:1.7; }
.pwa-manual ol, .pwa-manual ul { margin:.4rem 0; padding-inline-start:1.2rem; }
.pwa-manual .manual-card { margin:.7rem 0; padding:.85rem 1rem; border:1px solid var(--pwa-line); border-radius:.7rem; background:var(--pwa-surface); }
.pwa-manual .manual-card p:last-child { margin-bottom:0; }
.pwa-manual .pwa-key { display:inline-block; padding:.05rem .4rem; border:1px solid var(--pwa-line); border-radius:.25rem; color:var(--pwa-text); font-family:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size:.78rem; }
.manual-demo { margin:1rem 0; padding:1rem; border:1px solid var(--pwa-line); border-radius:.8rem; background:var(--pwa-surface); }
.manual-demo figcaption { margin-top:.7rem; color:var(--pwa-muted); font-size:.8rem; line-height:1.6; }
.manual-demo-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:.4rem; inline-size:min(100%, 220px); margin:0 auto; }
.manual-demo-grid span { display:block; aspect-ratio:1; border-radius:.45rem; background:rgba(255,255,255,.08); }
.manual-demo-btn { display:block; inline-size:min(100%, 220px); margin:.7rem auto 0; padding:.5rem; border:1px solid var(--pwa-line); border-radius:.45rem; color:var(--pwa-muted); font-size:.78rem; text-align:center; }
.manual-demo-grid span, .manual-demo-btn { animation-duration:12s; animation-iteration-count:infinite; animation-timing-function:steps(1, end); }
.manual-demo-grid span[data-step="a"] { animation-name:manual-a; }
.manual-demo-grid span[data-step="b"] { animation-name:manual-b; }
.manual-demo-grid span[data-step="c"] { animation-name:manual-c; }
.manual-demo-grid span[data-step="d"] { animation-name:manual-d; }
.manual-demo-btn { animation-name:manual-press; }
@keyframes manual-a { 0%, 8.33% { background:var(--pwa-accent); } 8.34%, 33.3% { background:rgba(255,255,255,.08); } 33.4%, 41.7% { background:var(--pwa-accent); } 41.8%, 100% { background:rgba(255,255,255,.08); } }
@keyframes manual-b { 0%, 16.6% { background:rgba(255,255,255,.08); } 16.7%, 25% { background:var(--pwa-accent); } 25.1%, 100% { background:rgba(255,255,255,.08); } }
@keyframes manual-c { 0%, 49.9% { background:rgba(255,255,255,.08); } 50%, 58.3% { background:var(--pwa-accent); } 58.4%, 83.2% { background:rgba(255,255,255,.08); } 83.3%, 91.7% { background:var(--pwa-accent); } 91.8%, 100% { background:rgba(255,255,255,.08); } }
@keyframes manual-d { 0%, 66.5% { background:rgba(255,255,255,.08); } 66.6%, 75% { background:var(--pwa-accent); } 75.1%, 100% { background:rgba(255,255,255,.08); } }
@keyframes manual-press { 0%, 34.9% { border-color:var(--pwa-line); color:var(--pwa-muted); background:transparent; } 35%, 43% { border-color:var(--pwa-accent); color:var(--pwa-on-accent); background:var(--pwa-accent); } 43.1%, 84.9% { border-color:var(--pwa-line); color:var(--pwa-muted); background:transparent; } 85%, 93% { border-color:var(--pwa-accent); color:var(--pwa-on-accent); background:var(--pwa-accent); } 93.1%, 100% { border-color:var(--pwa-line); color:var(--pwa-muted); background:transparent; } }
.reduce-motion .manual-demo-grid span, .reduce-motion .manual-demo-btn { animation:none !important; }
html[data-theme="light"] .manual-demo-grid span { background:rgba(0,0,0,.08); }

/* Compact layout: fit the training screen above the fixed nav on phones */
.pwa-app .pwa-panel { padding:16px 0; }
.pwa-app .pwa-status { position:fixed; inset-inline:0; bottom:calc(66px + 1.9rem + env(safe-area-inset-bottom)); z-index:10; margin:0; padding:.35rem max(18px, env(safe-area-inset-left)); background:linear-gradient(to top, var(--pwa-bg) 70%, transparent); text-align:center; pointer-events:none; }
.pwa-app .pwa-status:empty { display:none; }
.pwa-app [data-pwa-panel="train"] .screen { gap:.9rem; }
.pwa-app .session-label { margin:0; }
.pwa-app .stats-bar { margin:0; }
.pwa-app .grid-container { inline-size:min(var(--grid-size), calc(100dvh - 300px)); block-size:auto; aspect-ratio:1; }
.pwa-app .audio-pulse { inline-size:min(320px, calc(100dvh - 300px)); }
@media (max-height: 760px) {
    .pwa-app { padding-block-start:max(10px, env(safe-area-inset-top)); }
    .pwa-app .pwa-panel { padding:8px 0; }
    .pwa-app [data-pwa-panel="train"] .pwa-eyebrow { display:none; }
    .pwa-app [data-pwa-panel="train"] .screen { gap:.7rem; }
    .pwa-app .controls .match-btn { min-block-size:58px; padding:.7rem 1rem; }
    .pwa-app .grid-container { inline-size:min(var(--grid-size), calc(100dvh - 250px)); }
}

/* Color palettes */
html[data-palette="rose"] { --pwa-bg:#150f14; --pwa-panel:#211722; --pwa-surface:#211722; --pwa-line:#3d2c39; --pwa-text:#fbf1f6; --pwa-muted:#c4a9b8; --pwa-accent:#ff9ec4; --pwa-on-accent:#3a1024; }
html[data-palette="rose"][data-theme="light"] { --pwa-bg:#fff5f8; --pwa-panel:#ffffff; --pwa-surface:#ffffff; --pwa-line:#eec6d6; --pwa-text:#3f202e; --pwa-muted:#8a6274; --pwa-accent:#d94e83; --pwa-on-accent:#ffffff; }
html[data-palette="lavender"] { --pwa-bg:#12111c; --pwa-panel:#1c1b2a; --pwa-surface:#1c1b2a; --pwa-line:#36344e; --pwa-text:#f2f0fb; --pwa-muted:#b0acc9; --pwa-accent:#b9a8ff; --pwa-on-accent:#1f1940; }
html[data-palette="lavender"][data-theme="light"] { --pwa-bg:#f6f4ff; --pwa-panel:#ffffff; --pwa-surface:#ffffff; --pwa-line:#d6d0f0; --pwa-text:#272249; --pwa-muted:#655f8c; --pwa-accent:#5b45d6; --pwa-on-accent:#ffffff; }
html[data-palette="ocean"] { --pwa-bg:#08131a; --pwa-panel:#102029; --pwa-surface:#102029; --pwa-line:#244354; --pwa-text:#eef6fb; --pwa-muted:#9db6c4; --pwa-accent:#57c8ff; --pwa-on-accent:#04222f; }
html[data-palette="ocean"][data-theme="light"] { --pwa-bg:#f1f7fb; --pwa-panel:#ffffff; --pwa-surface:#ffffff; --pwa-line:#bcd7e7; --pwa-text:#12303f; --pwa-muted:#4a6f84; --pwa-accent:#0a6b9e; --pwa-on-accent:#ffffff; }
html[data-palette="sand"] { --pwa-bg:#16130f; --pwa-panel:#221d17; --pwa-surface:#221d17; --pwa-line:#43382a; --pwa-text:#f7f1e6; --pwa-muted:#c0b09a; --pwa-accent:#e3b25c; --pwa-on-accent:#2a1c05; }
html[data-palette="sand"][data-theme="light"] { --pwa-bg:#faf5ec; --pwa-panel:#ffffff; --pwa-surface:#ffffff; --pwa-line:#dfd0b5; --pwa-text:#33291a; --pwa-muted:#75664f; --pwa-accent:#8f6416; --pwa-on-accent:#ffffff; }
html[data-palette="contrast"] { --pwa-bg:#000000; --pwa-panel:#111111; --pwa-surface:#141414; --pwa-line:#6e6e6e; --pwa-text:#ffffff; --pwa-muted:#d6d6d6; --pwa-accent:#ffd400; --pwa-on-accent:#000000; }
html[data-palette="contrast"][data-theme="light"] { --pwa-bg:#ffffff; --pwa-panel:#ffffff; --pwa-surface:#f1f1f1; --pwa-line:#3a3a3a; --pwa-text:#000000; --pwa-muted:#2e2e2e; --pwa-accent:#0b4fd0; --pwa-on-accent:#ffffff; }
html[data-palette="contrast"] .pwa-app, html[data-palette="contrast"] .pwa-manual p, html[data-palette="contrast"] .pwa-manual li { font-size:1.02em; }

/* Palette-aware game surface */
.pwa-app .grid-container { background:var(--pwa-panel); border:1px solid var(--pwa-line); }
.pwa-app .grid-cell { background:color-mix(in srgb, var(--pwa-text) 14%, transparent); }
.pwa-app .grid-cell.active { background:var(--pwa-accent) !important; box-shadow:0 0 18px color-mix(in srgb, var(--pwa-accent) 45%, transparent); }
.pwa-app .number-stimulus { color:var(--pwa-text); }
.pwa-app .controls .match-btn { background:var(--pwa-panel); border-color:var(--pwa-accent); color:var(--pwa-accent); }
.pwa-app .controls .match-btn small { color:var(--pwa-muted); }
.pwa-app .controls .match-btn:active { background:var(--pwa-accent); color:var(--pwa-on-accent); }
.pwa-app .controls .match-btn:active small { color:var(--pwa-on-accent); }
.pwa-app .stop-btn { color:var(--pwa-muted); background:none; border:0; border-bottom:1px solid var(--pwa-line); }

/* Palette picker */
.palette-grid { display:grid; grid-template-columns:1fr 1fr; gap:.6rem; margin:.8rem 0; }
.palette-option { display:flex; align-items:center; gap:.6rem; padding:.65rem; border:1px solid var(--pwa-line); border-radius:.6rem; background:var(--pwa-surface); color:var(--pwa-text); font:inherit; font-size:.82rem; text-align:left; cursor:pointer; }
.palette-option[aria-pressed="true"] { border-color:var(--pwa-accent); box-shadow:inset 0 0 0 1px var(--pwa-accent); }
.palette-swatch { flex:none; display:flex; inline-size:2.2rem; block-size:2.2rem; border-radius:.45rem; overflow:hidden; border:1px solid rgba(128,128,128,.35); }
.palette-swatch i { flex:1; }
.palette-name { display:block; font-weight:700; }
.palette-desc { display:block; color:var(--pwa-muted); font-size:.72rem; }

/* First-run modal */
.palette-modal { position:fixed; inset:0; z-index:50; display:grid; place-items:end center; padding:0; border:0; background:transparent; }
.palette-modal::backdrop { background:rgba(0,0,0,.6); }
.palette-modal .palette-sheet { inline-size:min(560px, 100%); max-block-size:88dvh; overflow-y:auto; padding:1.2rem max(18px, env(safe-area-inset-left)) calc(1.2rem + env(safe-area-inset-bottom)); border-radius:1rem 1rem 0 0; border:1px solid var(--pwa-line); border-block-end:0; background:var(--pwa-bg); color:var(--pwa-text); }
.palette-sheet h2 { margin:0 0 .3rem; font-size:1.15rem; }
.palette-sheet p { margin:0; color:var(--pwa-muted); font-size:.85rem; line-height:1.6; }
.palette-preview { display:grid; grid-template-columns:repeat(3, 1fr); gap:.35rem; inline-size:min(160px, 45%); margin:.9rem 0; padding:.4rem; border:1px solid var(--pwa-line); border-radius:.6rem; background:var(--pwa-panel); }
.palette-preview span { aspect-ratio:1; border-radius:.3rem; background:color-mix(in srgb, var(--pwa-text) 14%, transparent); }
.palette-preview span.is-on { background:var(--pwa-accent); }
.palette-actions { display:grid; gap:.5rem; margin-top:.4rem; }
.palette-confirm { padding:.9rem; border:0; border-radius:.7rem; background:var(--pwa-accent); color:var(--pwa-on-accent); font:inherit; font-weight:800; cursor:pointer; }
.palette-later { padding:.6rem; border:0; background:none; color:var(--pwa-muted); font:inherit; font-size:.82rem; text-decoration:underline; cursor:pointer; }

.pwa-app .session-rule { display:block; margin-top:.3rem; color:var(--pwa-accent); font-size:.88rem; font-weight:700; }
.pwa-app .session-rule .rule-n { font-size:1.5em; line-height:1; vertical-align:-.1em; letter-spacing:.01em; }

.pwa-footer-link { position:fixed; inset-inline:0; bottom:calc(66px + env(safe-area-inset-bottom)); z-index:9; display:flex; align-items:center; justify-content:center; gap:.4rem; padding:.35rem max(18px, env(safe-area-inset-left)); background:linear-gradient(to top, var(--pwa-bg) 70%, transparent); color:var(--pwa-muted); font-size:.78rem; text-decoration:none; }
.pwa-footer-link:hover, .pwa-footer-link:focus-visible { color:var(--pwa-accent); }
.pwa-app .screen { inline-size:100%; }
.pwa-ad { inline-size:100%; align-self:stretch; min-block-size:120px; margin:1rem 0; }

html.has-result-ad .pwa-footer-link, html.has-result-ad .pwa-status { display:none; }
