.play-hint {display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;font-size:12px;color:var(--secondary);text-decoration:none}
.play-hint span {font-size:14px;transition:transform 180ms}
.play-hint:hover span {transform:translateX(2px)}
.souvenir-story {display:block;max-width:350px;margin:7px auto 0;font-size:13px;line-height:1.7;color:var(--secondary);text-wrap:pretty}
.keepsake-controls {display:flex;align-items:center;justify-content:center;gap:18px;margin:0 auto;color:var(--secondary)}
.keepsake-replay {display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:44px;min-height:44px;padding:0 3px;font-size:12px;border:0;background:transparent;border-radius:9px;color:var(--secondary)}
.keepsake-replay:hover {color:var(--ink)}
.entry-note-playable {margin-bottom:12px}
.keepsake-brick {transform-box:fill-box;transform-origin:center;transition:transform 210ms cubic-bezier(.2,.65,.3,1)}
.brick-keepsake.is-lifted:not(.is-assembling) [data-lift] {transform:translateY(-4px)}
.brick-game {max-width:680px;margin:68px auto 0;padding-top:44px;border-top:1px solid #e9e6dc;scroll-margin-top:24px;text-align:center}
.build-heading h2 {font-size:32px;line-height:1.2;font-weight:800;letter-spacing:-1.2px;margin:0 0 12px}
.build-heading>p:last-child {font-size:15px;line-height:1.7;color:var(--secondary);margin:0 0 30px}
.build-interactive[hidden] {display:none}
.build-interactive {display:grid;grid-template-columns:190px minmax(0,1fr);gap:32px;align-items:start;text-align:left}
.prompt-card {background:#f4f1e8;box-shadow:0 6px 20px #3d332308;border:1px solid #e8e3d6;border-radius:18px;padding:0;min-width:0;overflow:hidden;transform:rotate(-2deg)}
.prompt-eyebrow {display:block;font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:var(--secondary);padding:18px 18px 0}
.prompt-illustration {display:block;width:100%;height:148px;object-fit:contain;padding:4px 12px 0}
.prompt-card strong {display:block;font-size:24px;font-weight:800;letter-spacing:-.8px;line-height:1.25;margin:0;padding:12px 16px;text-align:center;background:#a94a3c;color:#fffaf2}
.another-card {display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:0;width:100%;background:transparent;padding:8px 12px;font-size:11px;color:var(--secondary)}
.another-card span {font-size:18px}
.build-workspace {min-width:0;max-width:384px;margin:auto;width:100%}
.build-instruction {font-size:13px;line-height:1.6;color:var(--secondary);margin:0 0 12px}
.brick-palette {display:flex;justify-content:center;gap:1px;margin-bottom:18px}
.brick-tool {flex:1;min-width:44px;min-height:64px;max-width:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:transparent;border:1px solid transparent;border-radius:12px;padding:6px 2px;font-size:11px;line-height:1.2;color:var(--secondary)}
.brick-tool[aria-pressed=true] {border-color:#c8c1af;background:#f3f0e7;color:var(--ink)}
.brick-tool[aria-pressed=true] .brick-swatch {outline:2px solid var(--ink);outline-offset:3px}
.brick-tool:hover {background:#f0ede4;color:var(--ink)}
.brick-swatch {display:block;width:24px;height:24px;border-radius:6px;position:relative;background:var(--brick-color,#eeeadd);box-shadow:inset 0 -2px 0 #0002;border:1px solid #0001}
.brick-swatch::after {content:'';position:absolute;inset:6px;border-radius:50%;box-shadow:0 1px 2px #0003,inset 0 1px 0 #fff6;border:1px solid #0001}
.brick-tool[data-color=empty] .brick-swatch {background:none;box-shadow:none;border:1px dashed #b8b1a0;transform:rotate(-12deg)}
.brick-tool[data-color=empty] .brick-swatch::after {display:none}
.brick-board {display:grid;gap:1px;padding:1px;border-radius:15px;background:#e4e0d4;box-shadow:0 6px 22px #40382408;width:100%;aspect-ratio:1}
.brick-row {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;min-height:0}
.brick-cell {display:grid;place-items:center;min-width:0;min-height:0;width:100%;aspect-ratio:1;border:0;border-radius:7px;padding:0;background:#eeebe2;position:relative;box-shadow:inset 0 -2px 0 #00000008;transition:background 120ms}
.brick-cell::after {content:'';width:43%;aspect-ratio:1;border-radius:50%;border:1px solid #8e8674;box-shadow:inset 0 1px 0 #fff8;background:#ffffff18}
.brick-cell[data-color]:not([data-color=empty]) {background:var(--brick-color);box-shadow:inset 0 -3px 0 #0002}
.brick-cell[data-color]:not([data-color=empty])::after {border-color:#0002;box-shadow:0 2px 2px #0002,inset 0 2px 0 #fff5}
.brick-cell:hover {filter:brightness(.98)}
.brick-cell:focus-visible {outline:2px solid var(--ink);outline-offset:1px;z-index:1}
.brick-cell.placed::after {animation:brick-place 170ms ease-out}
.build-actions {display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 0 0;font-size:11px;color:var(--secondary);font-variant-numeric:tabular-nums}
.build-actions>div {display:flex;gap:2px}
.build-actions button {min-height:44px;min-width:48px;border:0;border-radius:10px;padding:0 8px;background:transparent;font-size:12px;color:var(--secondary)}
.build-actions button:hover:not(:disabled) {background:var(--button);color:var(--ink)}
.build-actions button:disabled {opacity:.4;cursor:default}
.keyboard-help,.build-footnote,.build-fallback {font-size:11px;line-height:1.7;color:var(--secondary);margin:8px 0 0}
.build-footnote {text-align:center;margin-top:28px}
.visually-hidden {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@keyframes brick-place {from {transform:translateY(-2px)} to {transform:translateY(0)}}
@media(max-width:700px) {
  .brick-game {margin-top:46px;padding-top:34px}
  .build-heading h2 {font-size:27px;letter-spacing:-.9px}
  .build-heading>p:last-child {font-size:13px;margin-bottom:24px}
  .build-interactive {grid-template-columns:1fr;gap:24px}
  .souvenir-story {font-size:12px;max-width:300px}
  .prompt-card {display:grid;grid-template-columns:110px minmax(0,1fr);column-gap:14px;max-width:384px;width:100%;margin:auto;padding:16px;transform:rotate(-1deg)}
  .prompt-illustration {grid-column:1;grid-row:1 / span 3;width:110px;height:120px;padding:0;align-self:center}
  .prompt-eyebrow {grid-column:2;grid-row:1;padding:0;align-self:end}
  .prompt-card strong {grid-column:2;grid-row:2;margin:7px 0 0;font-size:24px;border-radius:8px;padding:8px 4px}
  .another-card {grid-column:2;grid-row:3;align-self:center;width:auto;padding:0;font-size:11px}
}
@media(hover:none) {.keyboard-help {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}}
@media(prefers-reduced-motion:reduce) {.play-hint span,.brick-cell,.brick-cell::after,.keepsake-brick {animation:none!important;transition:none!important;transform:none!important}}
