/* Daily and discoverable game pages. Existing card art and brand tokens stay shared. */
.home-screen, .route-screen { width: min(100%, 1440px); margin-inline: auto; padding-inline: clamp(20px, 4vw, 64px); }
.home-screen { min-height: auto; }
.home-screen .home-stage { display: block; min-height: 0; padding: 30px 0 48px; }
.home-screen .home-intro { display: flex; align-items: center; justify-content: space-between; gap: 24px; max-width: none; margin-bottom: 30px; animation: none; }
.home-screen .home-hero-brand { width: auto; margin: 0; gap: 16px; }
.home-screen .home-hero-brand img { width: 64px; }
.home-screen .home-hero-brand span { font-size: clamp(48px, 5vw, 74px); line-height: 1.1; }
.home-screen .home-intro-note h1 { max-width: none; font: 500 clamp(22px, 2.2vw, 30px)/1.15 var(--font-display); letter-spacing: -.015em; }
.home-intro-note p { color: #a9aeb7; margin: 8px 0 0; font-size: 15px; }
.daily-feature { position: relative; isolation: isolate; display: grid; grid-template-columns: 1.05fr 1fr; overflow: hidden; border: 1px solid #39404a; border-radius: 12px 32px 12px 32px; background: #14191f; box-shadow: inset 0 1px #ffffff0a, 0 5px 0 #080b0f; }
.daily-feature-copy { padding: clamp(26px, 3.6vw, 48px); z-index: 1; }
.daily-edition { display: flex; align-items: baseline; gap: 12px; margin: 0 0 22px; color: #f0a298; font-weight: 600; font-size: 17px; }
.daily-feature h1, .daily-feature h2 { margin: 0; font: 600 clamp(40px, 4.7vw, 66px)/.98 var(--font-display); letter-spacing: -.025em; }
.daily-description { max-width: 32ch; margin: 22px 0 0; font-size: 17px; line-height: 1.5; color: #b6bbc4; text-wrap: pretty; }
.daily-feature-actions { display: flex; align-items: center; gap: 24px; margin-top: 30px; }
.daily-play { display: inline-flex; flex-shrink: 0; align-items: center; justify-content: space-between; gap: 28px; min-height: 54px; padding: 12px 17px 12px 22px; border: 1px solid #ed9388; border-radius: 7px 15px 7px 15px; color: #210d0a; background: #f09a8c; box-shadow: inset 0 1px #ffddd799, 0 4px 0 #8c433a; font: 600 19px/1.2 var(--font-ui); text-decoration: none; white-space: nowrap; cursor: pointer; transition: transform 150ms var(--ease-out), background-color 150ms ease; }
.daily-play i { display: grid; place-items: center; width: 28px; height: 28px; font: 400 25px/1 var(--font-ui); }
.daily-play:active { transform: translateY(2px); }
.daily-play:disabled { opacity: .6; cursor: wait; }
.daily-feature-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 14px 20px; justify-content: space-between; margin-bottom: 26px; padding-bottom: 20px; border-bottom: 1px solid #ffffff19; }
.daily-date { min-width: 0; color: var(--paper); }
.daily-date > span { display: block; margin-bottom: 7px; color: #b5bdc8; font: 600 11px/1.3 var(--font-ui); letter-spacing: .12em; text-transform: uppercase; }
.daily-date time { display: block; font: 550 clamp(22px, 2vw, 28px)/1.15 var(--font-ui); letter-spacing: -.025em; }
.daily-status { display: inline-flex; align-items: center; gap: 7px; padding: 7px 10px; border: 1px solid #ed95864a; border-radius: 6px; color: #f3b4a8; background: #ed95860b; font-size: 12px; white-space: nowrap; }
.daily-status svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.daily-board-size { color: #c9ced5; font-size: 14px; white-space: nowrap; }
.daily-board-size > span { display: block; margin-top: 5px; color: #a6aeb9; font-size: 12px; }
.daily-feature[data-state="completed"] { border-color: #ed958655; }
.daily-personal { min-height: 19px; margin: 25px 0 0; font-size: 13px; line-height: 1.5; color: #aeb4be; }
.daily-feature-art { position: relative; min-height: 365px; background: #10151b; border-left: 1px solid #ffffff0b; overflow: hidden; }
.daily-edition-date { position: absolute; right: 5%; top: 5%; display: flex; flex-direction: column; align-items: flex-end; color: #1b222b; text-transform: uppercase; user-select: none; }
.daily-edition-date strong { font: 700 clamp(210px, 29vw, 390px)/.72 var(--font-display); letter-spacing: -.08em; }
.daily-edition-date small { margin-right: .08em; font: 650 clamp(34px, 4vw, 56px)/1 var(--font-display); letter-spacing: .08em; }
.daily-art-fan { position: absolute; inset: 0; }
.daily-art-card { display: block; aspect-ratio: 1; border-radius: 14px; border: 1px solid #75808d80; background-color: #1c232b; background-image: var(--art-url); background-position: var(--art-x) var(--art-y); background-size: var(--art-grid-width) var(--art-grid-height); box-shadow: inset 0 1px #ffffff24, 0 18px 36px #05070caa; }
.daily-art-fan .daily-art-card { position: absolute; width: 48%; top: 50%; left: 50%; transition: transform 260ms var(--ease-out); }
.daily-art-fan .daily-art-card:nth-child(1) { transform: translate(-93%, -74%) rotate(-13deg); }
.daily-art-fan .daily-art-card:nth-child(2) { transform: translate(-26%, -56%) rotate(5deg); }
.daily-art-fan .daily-art-card:nth-child(3) { transform: translate(-62%, -2%) rotate(-3deg); width: 43%; }
.daily-art-caption { position: absolute; right: 22px; bottom: 16px; font-size: 12px; color: #aeb5bf; }
.library-heading { margin: 50px 0 22px; }
.library-heading h2 { margin: 0; font: 500 32px/1.1 var(--font-display); }
.library-heading p { margin: 8px 0 0; color: #a4abb6; font-size: 14px; }
.home-screen .game-library { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.home-screen .game-entry { height: 460px; margin-top: 0; color: var(--paper); animation: none; grid-template-rows: minmax(150px, 1fr) auto; cursor: default; }
.home-screen .game-entry:active { transform: none; }
.home-screen .game-entry-logo { max-height: 90px; width: auto; max-width: 100%; }
.home-screen .game-entry-copy { padding: 22px; grid-template-columns: minmax(0, 1fr); grid-template-areas: "title" "description" "action"; grid-template-rows: 86px minmax(44px, auto) 52px; gap: 14px; }
.home-screen .game-entry-description { font-size: 14px; }
.game-entry-play { --play-face: #ed9586; --play-edge: #854237; grid-area: action; display: flex; align-items: center; gap: 12px; min-width: 0; min-height: 52px; padding: 10px 16px; border: 1px solid #ffb5a7; border-radius: 7px 14px 7px 14px; color: #26110d; background: var(--play-face); box-shadow: inset 0 1px #ffded780, 0 4px 0 var(--play-edge), 0 7px 12px #00000030; text-decoration: none; font: 650 20px/1.15 var(--font-ui); white-space: nowrap; cursor: pointer; transition: transform 140ms var(--ease-out), background-color 140ms ease, box-shadow 140ms ease; }
.game-entry-play svg { flex: 0 0 25px; width: 25px; height: 25px; fill: currentColor; }
.game-entry-play-arrow { margin-left: auto; padding-left: 8px; font-size: 25px; line-height: 1; }
.game-entry-play:active { transform: translateY(3px) scale(.985); box-shadow: inset 0 1px #ffded740, 0 1px 0 var(--play-edge); }
.game-entry-play:focus-visible { outline: 3px solid var(--paper); outline-offset: 5px; transition: none; }
.route-screen > .daily-feature { margin-top: 40px; }
.route-home { color: #c2c7cf; font-size: 14px; text-underline-offset: 5px; }
.route-hero { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 50px; min-height: 540px; padding: 44px 0; }
.route-game-logo { width: min(90%, 320px); height: 120px; object-fit: contain; object-position: left center; }
.route-hero h1 { margin: 28px 0 18px; max-width: 15ch; font: 500 clamp(38px, 4vw, 60px)/1.02 var(--font-display); letter-spacing: -.025em; }
.route-hero-copy > p { max-width: 38ch; color: #b4bac4; font-size: 18px; line-height: 1.55; }
.route-hero .daily-play { margin-top: 16px; }
.route-art { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; padding: 30px; border-radius: 26px; background: #141a21; border: 1px solid #323b45; transform: rotate(-3deg); }
.route-art.is-mahjong { gap: 9px; background: #30261d; }
.route-art.is-mahjong .daily-art-card { aspect-ratio: .8; background-size: var(--art-grid-width) var(--art-grid-height); border: 6px solid #d3cbb8; box-shadow: 5px 7px #736956, 8px 11px #08090c; }
.route-art.is-slide { transform: none; gap: 9px; }
.route-art.is-slide .daily-art-card:nth-child(4) { transform: translateX(8px); }
.game-guide { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; margin: 58px 0 64px; padding-top: 32px; border-top: 1px solid var(--line); }
.game-guide h2 { margin: 0 0 12px; font: 500 25px/1.2 var(--font-display); }
.game-guide p { max-width: 58ch; margin: 0; color: #abb2bd; font-size: 15px; line-height: 1.65; }
.about-page { padding-bottom: clamp(58px, 8vw, 110px); }
.about-hero { display: grid; grid-template-columns: minmax(0, .86fr) minmax(460px, 1.14fr); align-items: center; gap: clamp(42px, 7vw, 110px); min-height: min(720px, calc(100dvh - 78px)); padding: clamp(48px, 7vw, 96px) 0; }
.about-hero-copy { position: relative; z-index: 2; }
.about-kicker { margin: 0 0 24px; color: #f0a298; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.about-hero h1 { max-width: 9ch; margin: 0; color: #f3f0e8; font: 560 clamp(58px, 6.5vw, 96px)/.91 var(--font-display); letter-spacing: -.055em; text-wrap: balance; }
.about-hero-copy > p:not(.about-kicker) { max-width: 37ch; margin: 28px 0 0; color: #abb2bd; font-size: clamp(17px, 1.5vw, 20px); line-height: 1.58; }
.about-text-link { display: inline-flex; align-items: center; gap: 16px; min-height: 44px; margin-top: 28px; color: #e0e4e9; font-size: 14px; text-underline-offset: 6px; }
.about-text-link span { color: #f0a298; font-size: 20px; }
.about-art-stage { position: relative; min-height: clamp(430px, 42vw, 590px); overflow: hidden; border: 1px solid #343c47; border-radius: 12px 32px 12px 32px; background: radial-gradient(circle at 65% 38%, #27313e 0, #151b22 38%, #0d1116 74%); box-shadow: inset 0 1px #ffffff0b, 0 6px 0 #07090d, 0 35px 90px #02040766; isolation: isolate; }
.about-art-stage::before { position: absolute; inset: 0; background-image: linear-gradient(#ffffff08 1px, transparent 1px), linear-gradient(90deg, #ffffff08 1px, transparent 1px); background-size: 62px 62px; opacity: .32; content: ""; }
.about-art-stage > img { position: absolute; z-index: -1; right: -8%; bottom: -14%; width: 54%; opacity: .045; transform: rotate(-8deg); }
.about-art-orbit { position: absolute; top: 50%; left: 50%; width: 72%; aspect-ratio: 1; border: 1px solid #ed958626; border-radius: 50%; transform: translate(-50%, -50%) rotate(-14deg); }
.about-art-orbit::before { position: absolute; inset: 13%; border: 1px solid #ffffff14; border-radius: inherit; content: ""; }
.about-art-stack { position: absolute; inset: 0; }
.about-art-piece { position: absolute; display: block; width: clamp(142px, 16vw, 224px); aspect-ratio: 1; overflow: hidden; border: 1px solid #727d8c99; border-radius: 14px; background-color: #171d24; background-image: var(--art-url); background-position: var(--art-x) var(--art-y); background-size: var(--art-grid-width) var(--art-grid-height); box-shadow: inset 0 1px #ffffff2b, 0 24px 42px #020408b3; }
.about-art-piece.is-piece-1 { z-index: 1; top: 12%; left: 8%; transform: rotate(-10deg); }
.about-art-piece.is-piece-2 { z-index: 3; top: 24%; left: 37%; transform: rotate(3deg); }
.about-art-piece.is-piece-3 { z-index: 2; top: 9%; right: 5%; transform: rotate(11deg); }
.about-art-piece.is-piece-4 { z-index: 4; bottom: 4%; left: 16%; transform: rotate(-3deg); }
.about-art-piece.is-piece-5 { z-index: 5; right: 12%; bottom: 1%; transform: rotate(7deg); }
.about-manifesto { padding: clamp(70px, 11vw, 150px) 0; border-top: 1px solid var(--line); }
.about-manifesto h2 { max-width: 13ch; margin: 0; color: #f1eee7; font: 540 clamp(48px, 7vw, 92px)/.94 var(--font-display); letter-spacing: -.05em; }
.about-manifesto p { max-width: 58ch; margin: clamp(28px, 4vw, 50px) 0 0 clamp(0px, 20vw, 280px); color: #aeb5bf; font-size: clamp(17px, 1.55vw, 21px); line-height: 1.65; }
.about-funding { display: grid; grid-template-columns: minmax(250px, .68fr) minmax(0, 1.32fr); align-items: center; gap: clamp(50px, 9vw, 150px); padding: clamp(90px, 12vw, 170px) clamp(0px, 3vw, 44px); }
.about-funding-emblem { position: relative; display: grid; width: min(100%, 350px); aspect-ratio: 1; place-content: center; overflow: hidden; border: 1px solid #3f4854; border-radius: 50%; background: radial-gradient(circle at 50% 38%, #232b35, #11161c 67%); box-shadow: inset 0 0 0 13px #0c1015, inset 0 0 0 14px #ffffff13, 0 30px 70px #02040866; text-align: center; }
.about-funding-emblem::before { position: absolute; inset: 11%; border: 1px dashed #ed95864f; border-radius: inherit; content: ""; transform: rotate(12deg); }
.about-funding-emblem img { width: 52px; margin: 0 auto 15px; }
.about-funding-emblem strong { color: #f2eee6; font: 580 clamp(54px, 6vw, 82px)/.8 var(--font-display); letter-spacing: -.05em; }
.about-funding-emblem span { margin-top: 12px; color: #f0a298; font-size: 13px; font-weight: 650; letter-spacing: .12em; text-transform: uppercase; }
.about-funding-copy h2 { max-width: 12ch; margin: 0 0 28px; color: #f1eee7; font: 540 clamp(46px, 5.3vw, 72px)/.97 var(--font-display); letter-spacing: -.045em; }
.about-funding-copy p { max-width: 59ch; margin: 0 0 18px; color: #adb4be; font-size: 17px; line-height: 1.68; }
.about-funding-copy p:last-child { color: #d2d6dc; }
.about-notes { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 8vw, 110px); padding: clamp(58px, 8vw, 100px) 0; border-top: 1px solid var(--line); }
.about-notes > div:nth-child(2) { padding-left: clamp(0px, 4vw, 64px); border-left: 1px solid #ffffff16; }
.about-notes h2 { margin: 0 0 18px; color: #f0ede6; font: 540 clamp(32px, 3vw, 44px)/1 var(--font-display); letter-spacing: -.035em; }
.about-notes p { max-width: 48ch; margin: 0; color: #aab1bb; font-size: 16px; line-height: 1.65; }
.about-closing { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding: clamp(38px, 5vw, 64px); border: 1px solid #4a4549; border-radius: 12px 32px 12px 32px; background: linear-gradient(118deg, #1d1b20, #171a20 68%); box-shadow: inset 0 1px #ffffff0b, 0 5px 0 #080b0f; }
.about-closing h2 { margin: 0; color: #f2eee7; font: 540 clamp(38px, 4vw, 58px)/1 var(--font-display); letter-spacing: -.04em; }
.about-closing p { margin: 13px 0 0; color: #aeb4bd; font-size: 16px; }
.about-closing .daily-play { min-width: 230px; }
.daily-journal { margin-top: 42px; }
.daily-journal h2 { font: 500 29px/1.2 var(--font-display); margin: 0 0 9px; }
.daily-journal > p { color: #b1b8c2; font-size: 14px; }
.daily-journal ol { display: flex; gap: 9px; padding: 0; margin: 20px 0 14px; list-style: none; overflow-x: auto; }
.daily-journal li { flex: 0 0 94px; }
.daily-journal a { display: grid; text-align: center; gap: 6px; padding: 14px; border: 1px solid #404954; border-radius: 7px 14px 7px 14px; background: #1b222a; color: var(--paper); text-decoration: none; }
.daily-journal span, .daily-journal small { font-size: 12px; color: #b8bec7; }
.daily-journal strong { font: 600 36px/1 var(--font-display); font-variant-numeric: tabular-nums; }
.local-note { font-size: 12px; line-height: 1.5; color: #adb4bf; }
.daily-result-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 18px; margin-top: 25px; }
.daily-result-actions .daily-play { width: 100%; justify-content: center; }
.daily-secondary { display: inline-block; padding: 10px 3px; min-height: 44px; border: 0; background: none; color: #d6dbe2; font: 500 14px/1.4 var(--font-ui); text-decoration: underline; text-underline-offset: 5px; cursor: pointer; }
.daily-result-actions .local-note { margin: 0; flex-basis: 100%; }
.result-dialog:has(.daily-result-actions:not([hidden])) { position: fixed; inset: 0; margin: auto; max-height: calc(100dvh - 32px); padding: 40px 32px 28px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; }
.result-dialog:has(.daily-result-actions:not([hidden])) .result-art { margin-bottom: 12px; }
.result-dialog:has(.daily-result-actions:not([hidden])) h2 { font-size: clamp(2.1rem, 6vw, 3rem); }
.result-dialog:has(.daily-result-actions:not([hidden])) .result-summary { margin: 14px auto 20px; }
.result-dialog:has(.daily-result-actions:not([hidden])) .result-stats { padding-block: 16px; margin-bottom: 0; }
.result-dialog:has(.daily-result-actions:not([hidden])) .daily-result-actions { gap: 10px 18px; margin-top: 20px; }
.daily-share-fallback { width: 100%; text-align: left; font-size: 13px; color: #ccd2dc; }
.daily-share-fallback input { display: block; width: 100%; padding: 12px; margin-top: 8px; color: var(--paper); background: #10151c; border: 1px solid #6a737e; border-radius: 6px; }
.daily-mode-label { padding: 5px 10px; border-left: 2px solid var(--accent); font-size: 13px; color: #d6dce5; white-space: nowrap; }
.game-layout[data-daily="true"] { --board-width: min(42rem, max(19rem, calc((100dvh - 16rem) * .66667)), calc(100vw - 2.5rem)); }
.game-board[data-daily="true"] { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(5px, .65vw, 9px); }
.game-layout[data-daily="true"] .game-hud { display: grid; grid-template-columns: 1fr auto auto; gap: 8px; padding: 9px; }
.game-layout[data-daily="true"] .stats { grid-column: 1 / -1; grid-row: 1; width: 100%; display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; }
.game-layout[data-daily="true"] .stats div { min-width: 0; text-align: center; }
.game-layout[data-daily="true"] .stats dt { color: #aeb7c4; }
.game-layout[data-daily="true"] .hud-actions { grid-row: 2; grid-column: 2; }
.game-layout[data-daily="true"] .hud-setup-button { grid-row: 2; grid-column: 3; }
.game-layout[data-daily="true"] .hud-message { grid-row: 2; grid-column: 1; font-size: 12px; line-height: 1.4; }
.game-layout[data-daily="true"] .hud-button { min-height: 44px; min-width: 62px; grid-template-rows: 21px auto; font-size: 9px; }
.game-layout[data-daily="true"] .board-help { font-size: 12px; text-align: center; line-height: 1.4; }
.site-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; max-width: 1312px; margin: 0 auto; padding: 28px 24px; border-top: 1px solid var(--line); color: #939ca9; font-size: 13px; }
.site-footer nav { display: flex; flex-wrap: wrap; gap: 10px 20px; }
.site-footer a { color: #bdc5d0; text-decoration: none; padding-block: 10px; }
body[data-view="game"] .site-footer { display: none; }
.route-error { padding-block: 15vh; }
.route-error h1 { font: 500 50px/1.1 var(--font-display); }
.route-error > a { margin: 20px 20px 0 0; }
.no-script-note { padding: 24px; text-align: center; }
.daily-play:focus-visible, .daily-secondary:focus-visible, .route-home:focus-visible, .daily-journal a:focus-visible, .site-footer a:focus-visible, .game-entry:focus-visible { outline: 2px solid #f3c5bd; outline-offset: 5px; }
@media (hover: hover) and (pointer: fine) {
  .game-entry-play:hover { background: #ffad9e; transform: translateY(-1px); }
  .game-entry-play:active { transform: translateY(3px) scale(.985); }
  .daily-play:hover { background: #ffb1a3; transform: translateY(-1px); }
  .daily-feature:hover .daily-art-card:nth-child(1) { transform: translate(-98%, -77%) rotate(-15deg); }
  .daily-feature:hover .daily-art-card:nth-child(2) { transform: translate(-22%, -58%) rotate(7deg); }
  .daily-secondary:hover, .site-footer a:hover { color: #f1b2a8; }
  .about-text-link:hover { color: #f0a298; }
  .about-art-stage:hover .is-piece-2 { transform: translateY(-7px) rotate(3deg); }
  .about-art-stage:hover .is-piece-5 { transform: translateY(-5px) rotate(7deg); }
}
@media (max-width: 960px) {
  .daily-feature-copy { padding: 28px; }
  .daily-feature-actions { gap: 16px; flex-wrap: wrap; }
  .daily-feature-art { min-height: 350px; }
  .daily-description { font-size: 16px; }
  .home-screen .game-entry { height: 440px; }
  .home-screen .game-entry-copy { padding: 16px; grid-template-rows: 70px minmax(62px, auto) 52px; }
  .home-screen .game-entry-logo { max-height: 70px; }
  .game-entry-play { padding-inline: 12px; gap: 8px; font-size: 18px; }
  .game-entry-play-arrow { display: none; }
  .route-hero { gap: 25px; }
  .route-art { padding: 18px; gap: 8px; }
  .about-hero { grid-template-columns: minmax(0, .8fr) minmax(380px, 1.2fr); gap: 32px; }
}
@media (max-width: 680px) {
  .home-screen .home-intro { align-items: flex-start; gap: 12px; margin-bottom: 24px; }
  .home-screen .home-hero-brand { gap: 10px; }
  .home-screen .home-hero-brand img { width: 43px; }
  .home-screen .home-hero-brand span { font-size: 46px; }
  .home-screen .home-intro { flex-wrap: wrap; }
  .home-intro-note { width: 100%; }
  .home-intro-note p { display: none; }
  .daily-feature { grid-template-columns: 1fr; border-radius: 10px 24px 10px 24px; }
  .daily-feature-copy { padding: 25px; }
  .daily-feature h1, .daily-feature h2 { font-size: clamp(39px, 10vw, 52px); }
  .daily-edition { margin-bottom: 18px; }
  .daily-description { margin-top: 17px; max-width: 32ch; }
  .daily-feature-art { grid-row: 2; min-height: 245px; border-left: 0; border-top: 1px solid #ffffff0b; }
  .daily-art-fan { inset: -40px 16% 0; }
  .daily-art-fan .daily-art-card { width: 51%; }
  .daily-art-fan .daily-art-card:nth-child(3) { width: 45%; }
  .daily-edition-date { top: 8%; right: 6%; }
  .daily-edition-date strong { font-size: 230px; }
  .daily-edition-date small { font-size: 36px; }
  .daily-art-caption { bottom: 12px; right: 16px; }
  .daily-feature-actions { gap: 18px; margin-top: 24px; }
  .daily-play { padding-inline: 16px; font-size: 17px; gap: 16px; }
  .daily-feature-meta { margin-bottom: 22px; padding-bottom: 18px; }
  .daily-date time { font-size: 24px; }
  .daily-board-size { font-size: 13px; }
  .daily-personal { margin-top: 20px; }
  .library-heading { margin-top: 36px; }
  .home-screen .game-library { grid-template-columns: 1fr; gap: 18px; }
  .home-screen .game-entry { height: 450px; grid-template-columns: 1fr; }
  .home-screen .game-entry-copy { padding: 22px; grid-template-rows: 80px minmax(44px, auto) 52px; }
  .home-screen .game-entry-logo { max-height: 86px; }
  .game-entry-play { padding-inline: 16px; gap: 12px; font-size: 20px; }
  .game-entry-play-arrow { display: inline; }
  .route-screen > .daily-feature { margin-top: 24px; }
  .route-hero { grid-template-columns: 1fr; gap: 32px; padding-block: 28px; }
  .route-game-logo { height: 98px; width: min(90%, 290px); }
  .route-hero h1 { margin-top: 22px; font-size: 45px; }
  .route-hero-copy > p { font-size: 17px; }
  .route-art { width: 90%; margin: 16px auto; }
  .game-guide { grid-template-columns: 1fr; gap: 28px; margin-top: 38px; }
  .about-page { padding-bottom: 54px; }
  .about-hero { grid-template-columns: 1fr; gap: 42px; min-height: auto; padding: 42px 0 68px; }
  .about-hero h1 { font-size: clamp(54px, 17vw, 74px); }
  .about-hero-copy > p:not(.about-kicker) { font-size: 17px; }
  .about-art-stage { min-height: 340px; }
  .about-art-piece { width: clamp(112px, 36vw, 158px); border-radius: 10px; }
  .about-art-piece.is-piece-1 { top: 8%; left: 4%; }
  .about-art-piece.is-piece-2 { top: 24%; left: 34%; }
  .about-art-piece.is-piece-3 { top: 6%; right: 2%; }
  .about-art-piece.is-piece-4 { bottom: 3%; left: 9%; }
  .about-art-piece.is-piece-5 { right: 7%; bottom: 1%; }
  .about-manifesto { padding-block: 76px; }
  .about-manifesto h2 { font-size: clamp(45px, 14vw, 64px); }
  .about-manifesto p { margin-left: 0; font-size: 17px; }
  .about-funding { grid-template-columns: 1fr; gap: 52px; padding-block: 84px; }
  .about-funding-emblem { width: min(86vw, 300px); justify-self: center; }
  .about-funding-copy h2 { font-size: 48px; }
  .about-notes { grid-template-columns: 1fr; gap: 42px; padding-block: 68px; }
  .about-notes > div:nth-child(2) { padding: 42px 0 0; border-top: 1px solid #ffffff16; border-left: 0; }
  .about-closing { align-items: flex-start; flex-direction: column; padding: 30px 24px; }
  .about-closing .daily-play { width: 100%; min-width: 0; }
  .game-layout[data-daily="true"] { --board-width: min(calc(100vw - 2rem), 30rem); }
  .daily-mode-label { font-size: 11px; padding: 3px 6px; }
  body:has(.game-layout[data-daily="true"]) #today-label { display: none; }
  .site-footer { flex-direction: column; align-items: flex-start; gap: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .game-entry-play { transition: none; }
  .home-screen .game-entry:hover, .game-entry-play:hover, .game-entry-play:active { transform: none; }
  .daily-play, .daily-art-fan .daily-art-card { transition: none; }
  .daily-feature:hover .daily-art-card:nth-child(1) { transform: translate(-93%, -74%) rotate(-13deg); }
  .daily-feature:hover .daily-art-card:nth-child(2) { transform: translate(-26%, -56%) rotate(5deg); }
}
@media (prefers-reduced-motion: no-preference) {
  .about-art-stage { animation: about-art-arrive 650ms 100ms var(--ease-out) both; }
  .about-art-piece { transition: transform 240ms var(--ease-out); }
}
@keyframes about-art-arrive {
  from { opacity: 0; transform: translateY(18px) rotate(1deg); }
  to { opacity: 1; transform: translateY(0) rotate(0); }
}
