/* One playing surface for tablets and desktop; the shell owns the left rail.
   Only layout changes at the breakpoint: the same live play, input and clock remain mounted. */
@media (min-width: 720px) {
  .wide-shell .core-today {
    --card-cap: clamp(220px, 35dvh, 360px);
    --home-gap: clamp(8px, 1.4dvh, 16px);
    --home-btn: 56px;
    height: 100dvh;
    min-height: min(680px, 100dvh);
    padding-block: 20px;
    padding-inline: clamp(20px, 3vw, 48px);
  }
  .wide-shell .core-today > * { --card-cap: clamp(220px, 35dvh, 360px); --home-gap: clamp(8px, 1.4dvh, 16px); }
  .wide-shell .core-home-logo-link { display: none; }
  .wide-shell .core-home-head { justify-content: flex-end; margin-bottom: 8px; }
  .wide-shell .core-today > #nudge:empty { display: none; }
  .wide-shell .core-daily-num { font-size: clamp(28px, 3.4cqh, 42px); }
  .wide-shell .core-daily-head { margin-top: auto; }
  .wide-shell .core-stage { min-height: 180px; margin-top: 16px; }
  /* Rotated outer faces project beyond their grid cells; keep them clear of the rail and viewport. */
  .wide-shell .core-stage .cine { max-width: 84%; }
  .wide-shell .core-stage .cine-panel { border-radius: 20px; }
  .wide-shell .core-stage .cine-panel .slot { font-size: 12px; }
  .wide-shell .core-stage .cine-panel .year { font-size: 13px; }
  .wide-shell .core-theme { max-width: 660px; align-self: center; }
  .wide-shell .core-cta { width: min(100%, 560px); align-self: center; }
  .wide-shell .core-doors { width: min(100%, 560px); align-self: center; gap: 16px; }
  .wide-shell .core-door { min-height: 78px; border-radius: 16px; }
  .wide-shell .core-door b { font-size: 18px; }
  .wide-shell .core-door > span:last-child { display: block; font-size: 12px; }
  .wide-shell .core-quick { margin-top: 8px; }
  .wide-shell .core-home-foot { padding-top: 12px; }
  /* Perspective expands the outside cards. Keep Party picks readable and inside the playing surface. */
  .wide-shell .soc-trio, .wide-shell .soc-hero .cine, .wide-shell .soc-party > .cine {
    width: 100%; max-width: min(84%, 680px); margin-inline: auto; padding-inline: 0;
  }

  .wide-shell .core-play {
    --ls-w: clamp(108px, min(19vw, 25dvh), 220px);
    --ls-wide: 1;
    padding: 24px clamp(20px, 3vw, 48px) 40px;
    min-height: 100dvh;
  }
  .wide-shell .core-top { margin-bottom: 18px; }
  .wide-shell .core-top-title { font-size: clamp(21px, 2.3vw, 30px); }
  .wide-shell .core-clock { font-size: 24px; }
  .wide-shell .ls-mult { margin-top: 12px; }
  .wide-shell .ls-mult b { font-size: 27px; }
  .wide-shell .ls-mult span { font-size: 12px; }
  .wide-shell .ls-view { margin-top: 16px; height: calc(var(--ls-w) * 1.43 + 64px); }
  .wide-shell .ls-view.showing-all { cursor: default; mask-image: none; -webkit-mask-image: none; }
  .wide-shell .ls-card { border-radius: 20px; padding: 12px 10px; gap: 8px; }
  .wide-shell .ls-card .slot { font-size: 12px; }
  .wide-shell .ls-card .y { font-size: 13px; }
  .wide-shell .ls-card .t { font-size: clamp(16px, 17cqi, 32px); }
  .wide-shell .ls-card.ls-len-l .t { font-size: clamp(15px, 15cqi, 27px); }
  .wide-shell .ls-card.ls-len-xl .t { font-size: clamp(14px, 13cqi, 24px); }
  .wide-shell .ls-gap .who { font-size: 13px; }
  .wide-shell .core-play .core-step,
  .wide-shell .core-play .core-meta,
  .wide-shell .core-play .core-tools,
  .wide-shell .core-play .ls-done { width: min(100%, 620px); max-width: 620px; }
  .wide-shell .core-play .core-step { margin-top: 18px; }
  .wide-shell .core-prompt { font-size: clamp(20px, 2.2vw, 28px); }
  .wide-shell .core-input { min-height: 64px; font-size: 22px; }
  .wide-shell .core-ta > li { min-height: 48px; }
  .wide-shell .core-meta { margin-top: 20px; }
  .wide-shell .core-tools { margin-top: 12px; }
  .wide-shell .core-result { max-width: 860px; margin-inline: auto; }
  .wide-shell .core-result-trio { max-width: 620px; margin-inline: auto; }

  /* A keyboard still gets the measured-height layout, including wide tablet keyboards. */
  .wide-shell .core-play.compact { --ls-w: var(--kb-card-w, 62px); --ls-wide: 0; }
  .wide-shell .core-play.compact .ls-view { height: calc(var(--ls-w) * 1.43 + 34px); margin-top: 0; }
  .wide-shell .core-play.compact .ls-card { padding: 4px; border-radius: 9px; gap: 3px; }
  .wide-shell .core-play.compact .ls-card .t { font-size: clamp(10px, 17cqi, 22px); }
  .wide-shell .core-play.compact .core-step { margin-top: 4px; }
  .wide-shell .core-play.compact .core-input { min-height: 48px; font-size: 20px; }
}
@media (min-width: 720px) and (max-width: 999px) {
  .wide-shell .core-play:not(.compact) { --ls-w: clamp(108px, 15vw, 145px); }
}
/* Short wide screens scroll the page naturally instead of clipping the credit/legal links inside Home. */
@media (min-width: 720px) and (max-height: 760px) {
  .wide-shell .core-today {
    height: auto; min-height: 100dvh; overflow-y: visible; container: home / inline-size;
  }
}
