.home-playground {
  --hp-ink: #242823;
  --hp-muted: #666963;
  --hp-line: #c8cec0;
  --hp-paper: #f8f8f1;
  --hp-lime: #d9f56f;
  --hp-blue: #2854f0;
  --hp-lavender: #c6b9f5;
  width: 100%;
  min-width: 0;
  overflow: hidden;
  color: var(--hp-ink);
  background: var(--hp-paper);
  border: 1px solid var(--hp-line);
  border-radius: 22px;
  box-shadow: 0 18px 54px #29371a0b;
  container-type: inline-size;
  isolation: isolate;
  text-align: left;
}
.home-playground *, .home-playground *::before, .home-playground *::after {box-sizing: border-box}
.home-playground [hidden] {display: none !important}
.home-playground button {font: inherit; touch-action: manipulation; cursor: pointer}
.home-playground button:focus-visible, .home-playground [tabindex]:focus-visible {outline: 3px solid var(--hp-blue); outline-offset: 4px}
.home-playground button:disabled {cursor: wait}
.home-playground p {margin: 0}
.home-playground .hp-header {display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 59px; padding: 12px 22px; border-bottom: 1px solid var(--hp-line)}
.home-playground .hp-wordmark {display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 650; letter-spacing: -.03em}
.home-playground .hp-wordmark .icon {width: 18px; height: 18px}
.home-playground .hp-live {display: inline-flex; align-items: center; gap: 6px; color: var(--hp-muted); font-size:12px; white-space: nowrap}
.home-playground .hp-live > span {width: 5px; height: 5px; border-radius: 50%; background: var(--hp-blue)}
.home-playground .hp-tabs {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; padding: 7px; border-bottom: 1px solid var(--hp-line); background: #efefe6}
.home-playground .hp-tab {display: flex; align-items: center; justify-content: center; gap: 7px; min-height: 44px; padding: 9px 12px; border: 1px solid transparent; border-radius: 10px; background: transparent; color: var(--hp-muted); font-size: 12px; font-weight: 600; transition: background .18s, color .18s}
.home-playground .hp-tab .icon {width: 16px; height: 16px}
.home-playground .hp-tab:hover {background: #fff9; color: var(--hp-ink)}
.home-playground .hp-tab[aria-selected="true"] {background: var(--hp-paper); color: var(--hp-ink); border-color: var(--hp-line); box-shadow: 0 2px 5px #24282308}
.home-playground .hp-panel {min-height: 382px; padding: 27px 23px; min-width: 0; position: relative}
.home-playground .hp-panel-play {display: grid; grid-template-columns: minmax(0, .84fr) minmax(0, 1fr); gap: 25px; align-items: center; background: radial-gradient(ellipse at 95% 100%, #e6e9df 0, transparent 65%)}
.home-playground .hp-kicker {display: block; color: var(--hp-muted); font-size: 12px; letter-spacing: .1em; font-weight: 600; text-transform: uppercase; line-height: 1.5; margin-bottom: 19px}
.home-playground .hp-title {font-size: clamp(29px, 6.5cqi, 40px); font-weight: 550; letter-spacing: -.052em; line-height: 1.08; margin: 0 0 15px; overflow-wrap: normal}
.home-playground .hp-title em {font-family: 'Instrument Serif', Georgia, serif; font-weight: 400; letter-spacing: -.025em}
.home-playground .hp-title-small {font-size: clamp(26px, 5.2cqi, 32px)}
.home-playground .hp-description {color: var(--hp-muted); font-size: 12px; line-height: 1.7; margin: 0 0 20px; max-width: 28ch}
.home-playground .hp-game-actions {display: flex; gap: 7px; align-items: center; flex-wrap: wrap}
.home-playground .hp-button {display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; border: 1px solid var(--hp-line); border-radius: 8px; color: var(--hp-ink); background: transparent; padding: 9px 12px; font-size:12px; font-weight: 600; white-space: normal; transition: background .15s, transform .15s}
.home-playground .hp-button:hover {background: #e7ebde}
.home-playground .hp-button:active {transform: translateY(1px)}
.home-playground .hp-button-dark {background: var(--hp-ink); color: var(--hp-paper); border-color: var(--hp-ink)}
.home-playground .hp-button-dark:hover {background: #424c38}
.home-playground .hp-status {min-height: 32px; color: var(--hp-muted); font-size: 12px; line-height: 1.6; margin-top: 13px; overflow-wrap: anywhere}
.home-playground[data-playground-solved="true"] .hp-panel-play .hp-status {color: #316011; font-weight: 600}
.home-playground .hp-play-art {position: relative; min-width: 0; padding: 0 0 17px; transform: rotate(-3deg)}
.home-playground .hp-board-label {display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 0 3px 10px; font: 12px/1.4 'SFMono-Regular', Consolas, monospace; letter-spacing: .035em}
.home-playground .hp-move-count {font-weight: 700}
.home-playground .hp-board {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; padding: 10px; border-radius: 15px; background: var(--hp-ink); border: 1px solid #172113; box-shadow: 8px 9px 0 #20282014}
.home-playground .hp-tile {aspect-ratio: 1; min-height: 44px; min-width: 44px; display: grid; place-items: center; border: 1px solid #fff2; border-radius: 8px; background: #41483a; color: #a4b094; padding: 6px; transition: background .18s, color .18s, transform .18s}
.home-playground .hp-tile:hover {transform: translateY(-2px); border-color: #fff8}
.home-playground .hp-tile[aria-pressed="true"] {background: var(--hp-lime); color: #25391e; border-color: var(--hp-lime)}
.home-playground .hp-tile:nth-child(3n+2)[aria-pressed="true"] {background: var(--hp-lavender); border-color: var(--hp-lavender); color: #453181}
.home-playground .hp-tile:nth-child(3n)[aria-pressed="true"] {background: var(--hp-blue); border-color: var(--hp-blue); color: #e4e9ff}
.home-playground .hp-tile:focus-visible {outline-color: #fff; outline-offset: 2px}
.home-playground .hp-tile-mark {display: block; width: 41%; aspect-ratio: 1; transition: transform .18s}
.home-playground .hp-mark-0 {border: 2px solid currentColor; border-radius: 50%}
.home-playground .hp-mark-1 {background: currentColor; clip-path: polygon(40% 0, 60% 0, 60% 40%, 100% 40%, 100% 60%, 60% 60%, 60% 100%, 40% 100%, 40% 60%, 0 60%, 0 40%, 40% 40%)}
.home-playground .hp-mark-2 {border: 2px solid currentColor; transform: rotate(45deg); width: 30%}
.home-playground .hp-board[data-solved="true"] .hp-mark-0 {background: currentColor}
.home-playground .hp-art-caption {position: absolute; bottom: -1px; left: 3px; font: italic 12px/1.5 Georgia, serif; color: var(--hp-muted)}
.home-playground .hp-panel-create {display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 24px; align-items: center; background: #eee9fa}
.home-playground .hp-create-art {min-width: 0}
.home-playground .hp-composition {position: relative; width: 100%; overflow: hidden; min-height: 283px; aspect-ratio: .85; border: 1px solid #2226; border-radius: 7px; background: var(--hp-color-3); color: #222825; box-shadow: 7px 8px 0 #2a194815; transform: rotate(-3deg)}
.home-playground .hp-composition-top {position: absolute; top: 15px; left: 14px; right: 14px; display: flex; justify-content: space-between; gap: 5px; font: 12px/1.5 'SFMono-Regular', Consolas, monospace; letter-spacing: .06em; z-index: 2}
.home-playground .hp-composition-orbit {position: absolute; width: 80%; height: 55%; top: 14%; left: 20%; border: 1px solid var(--hp-color-0); border-radius: 50%; transform: rotate(-35deg)}
.home-playground .hp-composition-disc {position: absolute; width: 62%; aspect-ratio: 1; left: -5%; top: 18%; background: var(--hp-color-0); border-radius: 50%; border: 1px solid #2226; transition: left .25s, top .25s, background .25s}
.home-playground .hp-composition-stairs {position: absolute; width: 62%; height: 47%; right: -6%; bottom: 24%; background: var(--hp-featured); border: 1px solid #2226; clip-path: polygon(0 66%, 33% 66%, 33% 33%, 66% 33%, 66% 0, 100% 0, 100% 100%, 0 100%); transition: transform .25s, background .25s}
.home-playground .hp-composition-dot {position: absolute; width: 22%; aspect-ratio: 1; left: 33%; top: 44%; background: var(--hp-color-2); border: 1px solid #2226; border-radius: 50%; transition: left .25s, top .25s, background .25s}
.home-playground .hp-composition-bottom {position: absolute; bottom: 18px; left: 16px; font-size: clamp(23px, 4.8cqi, 31px); font-weight: 500; letter-spacing: -.05em; line-height: .95}
.home-playground .hp-composition-bottom em {font: italic 1.18em/.95 Georgia, serif}
.home-playground .hp-composition[data-layout="1"] .hp-composition-disc {left: 40%; top: 26%}
.home-playground .hp-composition[data-layout="1"] .hp-composition-stairs {transform: translate(-52%, -10%) rotate(180deg)}
.home-playground .hp-composition[data-layout="1"] .hp-composition-dot {left: 9%; top: 22%}
.home-playground .hp-composition[data-layout="2"] .hp-composition-disc {left: 13%; top: 7%}
.home-playground .hp-composition[data-layout="2"] .hp-composition-stairs {transform: translate(-21%, 6%) rotate(-90deg)}
.home-playground .hp-composition[data-layout="2"] .hp-composition-dot {left: 67%; top: 22%}
.home-playground .hp-create-copy .hp-kicker {margin-bottom: 13px}
.home-playground .hp-palette-choices {display: flex; flex-wrap: wrap; gap: 2px; margin: 15px 0 10px}
.home-playground .hp-palette-choice {min-height: 44px; min-width: 44px; padding: 7px 8px; background: transparent; color: #5e566b; border: 1px solid transparent; border-radius: 6px; font-size: 12px; font-weight: 600}
.home-playground .hp-palette-choice[aria-pressed="true"] {color: #362b49; background: #fffc; border-color: #bdb2ce}
.home-playground .hp-swatches {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; margin-bottom: 16px}
.home-playground .hp-swatch {min-height: 52px; min-width: 0; padding: 3px; border: 1px solid transparent; background: transparent; border-radius: 5px; color: #63596f}
.home-playground .hp-swatch[aria-pressed="true"] {border-color: #5d4978; background: #fffa}
.home-playground .hp-swatch-color {display: block; height: 27px; width: 100%; background: var(--hp-swatch); border: 1px solid #2222; border-radius: 3px}
.home-playground .hp-swatch-hex {display: block; font: 12px/1.5 'SFMono-Regular', Consolas, monospace; margin-top: 5px; white-space: nowrap}
.home-playground .hp-panel-create .hp-status {color: #655973}
.home-playground .hp-panel-explore {display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1fr); gap: 25px; align-items: center; background: #e7edff}
.home-playground .hp-story-art {position: relative; overflow: hidden; min-height: 280px; aspect-ratio: .82; background: #2854f0; color: #f5f5e8; border: 1px solid #2549c9; border-radius: 100px 100px 7px 7px; transform: rotate(-3deg)}
.home-playground .hp-story-orbit {position: absolute; width: 110%; height: 42%; left: -8%; top: 27%; border: 1px solid #f8f8f180; border-radius: 50%; transform: rotate(-40deg); transition: transform .3s}
.home-playground .hp-story-moon {position: absolute; width: 20%; aspect-ratio: 1; background: #c6b9f5; border-radius: 50%; left: 13%; top: 16%; transition: left .3s, top .3s}
.home-playground .hp-story-seed {position: absolute; width: 42%; aspect-ratio: 1; background: #d9f56f; left: 31%; top: 32%; border-radius: 4px 50% 50%; transform: rotate(-38deg); box-shadow: 0 0 55px #d9f56f24; transition: transform .3s, border-radius .3s}
.home-playground .hp-story-seed::after {content: ''; position: absolute; width: 75%; height: 1px; top: 50%; left: 12%; background: #2854f0; transform: rotate(45deg)}
.home-playground .hp-story-star {position: absolute; font-size: 32px; right: 14%; top: 15%; line-height: 1; color: #f8f6ee}
.home-playground .hp-story-art-label {position: absolute; left: 18px; bottom: 23px; font-size: 12px; letter-spacing: .09em; line-height: 1.7}
.home-playground .hp-story-art-label em {font: italic clamp(27px, 5.2cqi, 34px)/1.05 Georgia, serif; letter-spacing: -.03em}
.home-playground .hp-story-art[data-scene="roof"] .hp-story-moon, .home-playground .hp-story-art[data-scene="stars"] .hp-story-moon {left: 58%; top: 16%}
.home-playground .hp-story-art[data-scene="tunnel"] .hp-story-orbit, .home-playground .hp-story-art[data-scene="door"] .hp-story-orbit {transform: rotate(40deg)}
.home-playground .hp-story-art[data-scene="garden"] .hp-story-seed, .home-playground .hp-story-art[data-scene="stream"] .hp-story-seed {border-radius: 50% 4px 50% 4px; transform: rotate(5deg)}
.home-playground .hp-story-art[data-scene="stars"] .hp-story-seed {border-radius: 50%; transform: scale(.65)}
.home-playground .hp-story-copy .hp-kicker {color: #5d6890; margin-bottom: 17px; font: 12px/1.5 'SFMono-Regular', Consolas, monospace; letter-spacing: .03em}
.home-playground .hp-story-text {max-width: 32ch; min-height: 81px}
.home-playground .hp-story-choices {display: flex; flex-direction: column; gap: 7px}
.home-playground .hp-story-choice {display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 44px; width: 100%; border: 1px solid #b9c6ec; border-radius: 7px; padding: 9px 11px; color: #25408b; background: #f5f7ff; font-size:12px; font-weight: 600; text-align: left}
.home-playground .hp-story-choice::after {content: '↗'; font-size: 17px; font-weight: 400}
.home-playground .hp-story-choice:hover {background: #fff; border-color: #2854f0}
.home-playground .hp-restart {min-height: 44px; margin-top: 6px; padding: 9px 0; border-color: transparent; color: #52618a; font-size: 12px}
.home-playground .hp-restart:hover {background: transparent; text-decoration: underline}
.home-playground .hp-footer {display: flex; justify-content: space-between; align-items: center; gap: 10px; min-height: 44px; padding: 10px 20px; border-top: 1px solid var(--hp-line); font-size: 12px; color: var(--hp-muted); line-height: 1.4}
.home-playground .hp-footer-label {display: flex; gap: 6px; align-items: center}
.home-playground .hp-footer-label .icon {width: 12px; height: 12px}
html[data-theme="gaming"] .home-playground {--hp-paper: #141e1c; --hp-ink: #f1f5e8; --hp-muted: #a9b5a8; --hp-line: #3a4941; --hp-blue: #adcafc; background: var(--hp-paper); border-color: var(--hp-line); box-shadow: 0 18px 54px #0002}
html[data-theme="gaming"] .home-playground .hp-tabs {background: #101916}
html[data-theme="gaming"] .home-playground .hp-tab:hover {background: #20302a}
html[data-theme="gaming"] .home-playground .hp-panel-play {background: radial-gradient(ellipse at 95% 100%, #26342a 0, transparent 65%)}
html[data-theme="gaming"] .home-playground .hp-button:hover {background: #293c31}
html[data-theme="gaming"] .home-playground .hp-button-dark {background: #d9f56f; color: #172116; border-color: #d9f56f}
html[data-theme="gaming"] .home-playground .hp-button-dark:hover {background: #e9ff9c}
html[data-theme="gaming"] .home-playground .hp-board {background: #101a15; border-color: #6f8467}
html[data-theme="gaming"] .home-playground .hp-tile:nth-child(3n)[aria-pressed="true"] {background: #2854f0; border-color: #2854f0; color: #e4e9ff}
html[data-theme="gaming"] .home-playground[data-playground-solved="true"] .hp-panel-play .hp-status {color: #d9f56f}
html[data-theme="gaming"] .home-playground .hp-panel-create {background: #282335}
html[data-theme="gaming"] .home-playground .hp-palette-choice {color: #c7bed8}
html[data-theme="gaming"] .home-playground .hp-palette-choice[aria-pressed="true"] {color: #f4edff; background: #3c334d; border-color: #71617f}
html[data-theme="gaming"] .home-playground .hp-swatch {color: #c7bed8}
html[data-theme="gaming"] .home-playground .hp-swatch[aria-pressed="true"] {background: #3b324b; border-color: #b3a4cc}
html[data-theme="gaming"] .home-playground .hp-panel-create .hp-status {color: #c7bed8}
html[data-theme="gaming"] .home-playground .hp-panel-explore {background: #1c2842}
html[data-theme="gaming"] .home-playground .hp-story-copy .hp-kicker {color: #b9c9ef}
html[data-theme="gaming"] .home-playground .hp-story-choice {color: #dce5ff; background: #25334f; border-color: #546789}
html[data-theme="gaming"] .home-playground .hp-story-choice:hover {background: #304467; border-color: #adcafc}
html[data-theme="gaming"] .home-playground .hp-restart {color: #b9c9ef}
@container (max-width: 460px) {
  .home-playground .hp-header {padding-inline: 17px}
  .home-playground .hp-panel {padding: 23px 18px; min-height: 365px}
  .home-playground .hp-panel-play {grid-template-columns: minmax(0, .8fr) minmax(0, 1fr); gap: 16px}
  .home-playground .hp-kicker {font-size: 12px; margin-bottom: 13px}
  .home-playground .hp-title {font-size: 29px}
  .home-playground .hp-title-small {font-size: 25px}
  .home-playground .hp-description {font-size:12px}
  .home-playground .hp-board {gap: 5px; padding: 7px}
  .home-playground .hp-board-label {font-size: 12px; flex-wrap: wrap}
  .home-playground .hp-art-caption {font-size: 12px}
  .home-playground .hp-tile {border-radius: 5px}
  .home-playground .hp-panel-create, .home-playground .hp-panel-explore {gap: 18px; grid-template-columns: minmax(0, .85fr) minmax(0, 1fr)}
  .home-playground .hp-composition, .home-playground .hp-story-art {min-height: 260px}
  .home-playground .hp-palette-choice {font-size: 12px; padding-inline: 6px}
  .home-playground .hp-swatches {grid-template-columns: repeat(2, minmax(0, 1fr))}
  .home-playground .hp-swatch-hex {font-size: 12px}
  .home-playground .hp-story-text {font-size:12px}
}
@container (max-width: 360px) {
  .home-playground .hp-panel {padding: 22px 18px}
  .home-playground .hp-panel-play {grid-template-columns: minmax(0, 1fr); gap: 20px}
  .home-playground .hp-play-copy {display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0 12px}
  .home-playground .hp-play-copy .hp-kicker {grid-column: 1 / -1; margin-bottom: 10px}
  .home-playground .hp-play-copy .hp-title {font-size: 33px; margin-bottom: 10px}
  .home-playground .hp-play-copy .hp-description {grid-column: 1 / -1; max-width: none; margin-bottom: 12px}
  .home-playground .hp-play-copy .hp-game-actions {grid-column: 2; grid-row: 1; flex-direction: column; align-items: stretch; gap: 5px}
  .home-playground .hp-play-copy .hp-status {grid-column: 1 / -1; margin-top: 0; min-height: 18px}
  .home-playground .hp-play-art {width: 100%; max-width: 236px; margin: 0 auto}
  .home-playground .hp-board-label {font-size: 12px}
  .home-playground .hp-art-caption {font-size:12px}
  .home-playground .hp-panel-create, .home-playground .hp-panel-explore {grid-template-columns: minmax(0, 1fr); gap: 24px}
  .home-playground .hp-create-art, .home-playground .hp-story-art {width: 100%; max-width: 230px; margin: 0 auto}
  .home-playground .hp-composition {min-height: 260px; aspect-ratio: 1}
  .home-playground .hp-title-small {font-size: 31px}
  .home-playground .hp-palette-choice {font-size:12px; padding-inline: 10px}
  .home-playground .hp-swatch-hex {font-size: 12px}
  .home-playground .hp-swatches {grid-template-columns: repeat(2, minmax(0, 1fr))}
  .home-playground .hp-composition-bottom {font-size: 29px}
  .home-playground .hp-story-art {min-height: 225px; aspect-ratio: 1}
  .home-playground .hp-story-art-label em {font-size: 30px}
  .home-playground .hp-story-text {max-width: none; min-height: 0; font-size: 12px}
  .home-playground .hp-story-choices {flex-direction: row; flex-wrap: wrap}
  .home-playground .hp-story-choice {flex: 1 1 110px}
  .home-playground .hp-footer {padding-inline: 15px; font-size: 12px}
}
@media (prefers-reduced-motion: reduce) {
  .home-playground *, .home-playground *::before, .home-playground *::after {transition: none !important; animation: none !important}
}
