/* Hosted app presentation; research and game logic stay shared with the site. */
.app-home--launch { min-height: 100dvh; }
.companion-app-home > .footer, .companion-app-home > .back-to-top-saucer { display: none; }
.app-home--launch .app-home__hero { width: min(100%, 38rem); align-self: center; margin-inline: auto; padding: 5rem 1.25rem 2rem; box-sizing: border-box; }
.app-home--launch .app-home__brand { margin-bottom: 1.5rem; }
.app-home--launch .app-home__lead { margin: 0 0 1.5rem; color: #cad6e4; }
.app-home--launch .app-home__actions { grid-auto-rows: 1fr; gap: 1rem; }
.app-home--launch .app-mode { --mode-art-width: clamp(6.5rem, 28vw, 9rem); position: relative; display: grid; grid-template-columns: var(--mode-art-width) minmax(0, 1fr); align-items: center; gap: 1rem; padding: 1rem; border-radius: 18px; min-height: 8.25rem; box-sizing: border-box; box-shadow: 0 10px 30px rgba(0, 0, 0, .22); transition: border-color 160ms, background 160ms; }
.app-home--launch .app-mode:hover { border-color: #8fd4ff; }
.app-home--launch .app-mode:focus-visible { outline: 2px solid #8fd4ff; outline-offset: 4px; }
.app-home--launch .app-mode__copy { display: grid; gap: .4rem; min-width: 0; }
.app-home--launch .app-mode__copy strong { font-size: 1.2rem; }
.app-home--launch .app-mode__copy small { font-size: .9rem; font-weight: 400; line-height: 1.45; }
.app-mode__icon { width: var(--mode-art-width); aspect-ratio: 4 / 3; display: grid; place-items: center; overflow: hidden; border: 1px solid rgba(143, 212, 255, .22); border-radius: 12px; background: #070c17; box-sizing: border-box; }
.app-mode__icon img { display: block; width: 100%; height: 100%; min-height: 0; object-fit: contain; }
.app-mode--greg .app-mode__icon img { object-fit: cover; object-position: 50% 18%; }
.app-mode--game { border-color: rgba(168, 222, 147, .4); }
@media (max-width: 359px) {
  .app-home--launch .app-mode { --mode-art-width: 6rem; gap: .75rem; padding: .75rem; }
  .app-home--launch .app-mode__copy strong { font-size: 1.1rem; }
}
.app-home__account { display: block; width: fit-content; margin: 1.25rem auto 0; padding: .65rem; color: #cad6e4; }
.greg-mode-intro__skip { position: absolute; bottom: max(1.5rem, env(safe-area-inset-bottom)); right: 1.25rem; min-height: 44px; padding: .6rem 1rem; border: 1px solid #6f829a; border-radius: 20px; background: #05080fcc; color: #fff; cursor: pointer; }
.greg-mode { height: var(--companion-height, 100dvh); min-height: 0; }
.greg-mode__topbar { grid-template-columns: 2.75rem minmax(0, 1fr) auto; }
.greg-mode-app--standalone .greg-mode__topbar { grid-template-columns: 2.75rem minmax(0, 1fr) auto; }
.greg-mode-app--standalone .greg-mode__back { display: inline-grid; }
.greg-mode__settings { position: relative; z-index: 9; }
.greg-mode__settings summary { min-height: 44px; display: grid; align-items: center; padding: 0 .8rem; border: 1px solid #43607c; border-radius: 12px; color: #e4edf7; cursor: pointer; list-style: none; }
.greg-mode__settings summary::-webkit-details-marker { display: none; }
.greg-mode__settings .greg-mode__toggles { position: absolute; top: calc(100% + .5rem); right: 0; width: 12rem; padding: .6rem; display: grid; border: 1px solid #43607c; border-radius: 12px; background: #080f1e; box-shadow: 0 12px 32px #0008; }
.greg-mode__settings .greg-mode__toggles button, .greg-mode__settings a { min-height: 44px; padding: .6rem; color: #e4edf7; text-align: start; text-decoration: none; box-sizing: border-box; }
.greg-mode__settings a { display: flex; align-items: center; }
.greg-mode__composer textarea { font-size: 16px; }
.greg-mode__thread { overscroll-behavior: contain; scroll-padding-bottom: 1rem; }
@media (max-width: 759px) {
  .greg-mode__topbar { padding-inline: .6rem; }
  .greg-mode__topbar h1 { font-size: 1.35rem; }
  .greg-mode__back { width: 44px; min-height: 44px; }
  .greg-mode__guide { display: none; }
  .greg-mode__thread { padding: .85rem; }
  .greg-mode__prompts { display: flex; flex-wrap: nowrap; overflow-x: auto; overflow-y: hidden; justify-content: flex-start; max-width: 100%; padding: .5rem .85rem; box-sizing: border-box; }
  .greg-mode__prompts button { flex: 0 0 auto; min-height: 44px; }
  .greg-mode__composer { padding-inline: .65rem; gap: .45rem; }
  .greg-mode__composer button.greg-mode__submit { min-width: 3.25rem; }
  .greg-mode__composer button.greg-mode__submit img { display: none; }
}
.companion-keyboard .greg-mode__prompts, .companion-keyboard .greg-mode__guide { display: none; }
.companion-shell.page-greg-tales .greg-tales-hero,
.companion-shell.page-greg-tales .greg-tales-kicker,
.companion-shell.page-greg-tales > .header,
.companion-shell.page-greg-tales > .footer { display: none; }
.companion-shell.page-greg-tales .greg-tales-page { padding-top: max(.5rem, env(safe-area-inset-top)); }
.companion-shell.page-greg-tales .greg-game-nav { display: none; }
.greg-level-pseudo-fullscreen .companion-app-return { display: none; }
.greg-level-frame:fullscreen #greg-level-canvas,
.greg-level-frame:-webkit-full-screen #greg-level-canvas,
.greg-level-pseudo-fullscreen .greg-level-frame #greg-level-canvas { object-fit: contain; }
@media (max-width: 1024px), (pointer: coarse) {
  .greg-level-touch--fullscreen { width: auto; max-width: none; grid-template-columns: 48px 48px minmax(0, 1fr) 48px 48px; grid-template-rows: 48px; column-gap: .5rem; }
  .greg-level-touch--fullscreen [data-level-key="left"] { grid-column: 1; transform: none; }
  .greg-level-touch--fullscreen [data-level-key="right"] { grid-column: 2; transform: none; }
  .greg-level-touch--fullscreen [data-level-key="crouch"] { grid-column: 4; transform: none; }
  .greg-level-touch--fullscreen [data-level-jump] { grid-column: 5; transform: none; }
  .greg-level-touch--fullscreen button { min-height: 48px; }
  .greg-level-frame:fullscreen .greg-level-fullscreen-hud,
  .greg-level-pseudo-fullscreen .greg-level-fullscreen-hud { max-width: calc(100% - 11rem); flex-wrap: wrap; gap: .3rem .6rem; font-size: .65rem; padding: .35rem; }
}
@media (prefers-reduced-motion: reduce) { .app-home--launch .app-mode { transition: none; } }
