/* Scoped optional cinematic; no changes to live game selectors. */
.hw-info-menu-links [data-hero-intro-replay] {display:flex; width:100%; align-items:center; min-height:44px; text-align:start; font-family:inherit; font-size:12px; font-weight:750; color:#dbe7f5; background:transparent; border:0; padding:10px 11px; cursor:pointer;}
.hw-info-menu-links [data-hero-intro-replay][hidden] {display:none;}
.hw-intro {
  --intro-ink:#edf5f3; --intro-muted:#b1c3ca; --intro-mint:#82efcb;
  position:fixed; inset:0; width:100vw; max-width:none; height:100dvh; max-height:none;
  box-sizing:border-box; margin:0; padding:0; border:0; color:var(--intro-ink);
  background:#080f17; font:inherit; overflow:hidden; color-scheme:dark;
}
.hw-intro::backdrop {background:#080f17;}
.hw-intro[open] {display:grid; grid-template-rows:auto 2px minmax(0,1fr) auto auto;}
.hw-intro *, .hw-intro *::before, .hw-intro *::after {box-sizing:border-box;}
.hw-intro [hidden] {display:none!important;}
.hw-intro button {font:inherit; cursor:pointer; min-height:44px; border:0; border-radius:12px; padding:10px 18px;}
.hw-intro button:disabled {opacity:.5; cursor:default;}
.hw-intro :focus-visible {outline:3px solid #ffe29a; outline-offset:4px;}
.hw-intro__header {display:flex; align-items:center; gap:24px; padding:16px max(24px,env(safe-area-inset-right)) 16px max(24px,env(safe-area-inset-left));}
.hw-intro__brand {display:inline-flex; align-items:center; gap:9px; font-weight:800; letter-spacing:.16em; font-size:14px; white-space:nowrap;}
.hw-intro__brand img {display:block; width:26px; height:26px; flex:none;}
.hw-intro__time {font-size:13px; color:var(--intro-muted); font-variant-numeric:tabular-nums; direction:ltr; unicode-bidi:isolate;}
.hw-intro__exit {margin:0; margin-inline-start:auto;}
.hw-intro__quiet {background:#18252f; color:var(--intro-ink);}
.hw-intro__primary {background:var(--intro-mint); color:#09201a; font-weight:700!important;}
.hw-intro__progress {appearance:none; width:100%; height:2px; border:0; background:#18252f; color:var(--intro-mint);}
.hw-intro__progress::-webkit-progress-bar {background:#18252f;}
.hw-intro__progress::-webkit-progress-value {background:var(--intro-mint);}
.hw-intro__progress::-moz-progress-bar {background:var(--intro-mint);}
.hw-intro__body {min-height:0; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);}
.hw-intro__preparation {position:relative; isolation:isolate; grid-row:3; grid-column:1; z-index:2; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:24px; text-align:center; background:#080f17;}
.hw-intro__preparation::before {position:absolute; z-index:1; inset:0; background:linear-gradient(180deg,rgb(8 15 23 / 6%) 0%,rgb(8 15 23 / 12%) 42%,rgb(8 15 23 / 78%) 100%),radial-gradient(ellipse 36% 35% at 50% 67%,rgb(8 15 23 / 76%),transparent 82%); content:""; pointer-events:none;}
.hw-intro__preparation > :not(.hw-intro__cover) {position:relative; z-index:2;}
.hw-intro__cover {position:absolute; z-index:0; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:center 42%;}
.hw-intro__preparation h2 {font-size:clamp(24px,5vw,48px); letter-spacing:.12em; margin:24px 0 12px; text-shadow:0 3px 24px #03070c,0 0 5px #03070c;}
.hw-intro__preparation p {max-width:36ch; color:var(--intro-muted); line-height:1.6;}
.hw-intro__preparation progress {width:min(320px,80%); height:4px; accent-color:var(--intro-mint);}
.hw-intro .hw-intro__launch {margin-top:24px; min-height:52px; padding:14px 32px; max-width:100%; font-size:18px;}
.hw-intro[data-preparing=true] .hw-intro__controls {display:none;}
.hw-intro__preparation {overflow:auto;}
.hw-intro__emblem .hw-three-star-loader {--hw-loader-size:64px; margin:0 auto;}
.hw-intro__preparation[data-loading=false] .hw-three-star-loader,
.hw-intro__preparation[data-loading=false] .hw-three-star-loader > i {animation:none;}
.hw-intro__body {grid-row:3; grid-column:1;}
.hw-intro__controls {grid-row:4;}
.hw-intro__language-bar {grid-row:5; grid-column:1;}
.hw-intro[data-preparing=true] .hw-intro__body {visibility:hidden; pointer-events:none;}
.hw-intro__stage {position:relative; min-width:0; min-height:0; overflow:hidden;}
.hw-intro__canvas {position:absolute; inset:0; width:100%; height:100%;}
.hw-intro__scene {position:absolute; inset:5% 7% auto; margin:0; font-size:clamp(24px,3vw,46px); line-height:1.15; font-weight:750; max-width:18ch; text-wrap:balance; text-shadow:0 2px 18px #080f17,0 0 6px #080f17;}
.hw-intro__demo,.hw-intro__charity {position:absolute; inset:auto 7% 7%; padding:20px; background:rgb(17 31 40 / 94%); border-radius:20px;}
.hw-intro__demo small,.hw-intro__charity small {display:block; color:var(--intro-muted); margin-bottom:12px; font-size:12px;}
.hw-intro__score {display:inline-block; font-size:32px; color:var(--intro-mint); font-variant-numeric:tabular-nums; margin-inline-end:20px;}
.hw-intro__gift-action {display:inline-block; position:relative; max-width:100%; vertical-align:middle;}
.hw-intro__gift-cursor {position:absolute; left:calc(100% - 3px); top:calc(100% - 2px); width:36px; height:44px; pointer-events:none; filter:drop-shadow(0 2px 2px #000) drop-shadow(0 0 8px rgb(255 226 154 / 55%)); animation:hw-intro-guide-first-gift .55s ease-in-out infinite alternate;}
@keyframes hw-intro-guide-first-gift {from {transform:translate(15px,11px);} to {transform:translate(-13px,-10px);}}
.hw-intro__alliances {display:flex; flex-wrap:wrap; gap:8px; margin-top:12px;}
.hw-intro__choice {background:#263944; color:var(--intro-ink); font-size:13px!important;}
.hw-intro__choice[aria-pressed=true] {background:var(--intro-mint); color:#09201a;}
.hw-intro__charity {display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.hw-intro__charity small {grid-column:1/-1; margin:0;}
.hw-intro__cause {display:flex; align-items:center; gap:12px; font-size:15px;}
.hw-intro__cause {padding:12px; border-radius:12px; color:var(--intro-muted);}
.hw-intro[data-beat="0"] .hw-intro__cause:nth-of-type(1),
.hw-intro[data-beat="1"] .hw-intro__cause:nth-of-type(2),
.hw-intro[data-beat="2"] .hw-intro__cause:nth-of-type(3),
.hw-intro[data-beat="3"] .hw-intro__cause:nth-of-type(4) {background:#29423f; color:var(--intro-ink);}
.hw-intro[data-scene="charity"] .hw-intro__canvas {opacity:.85;}
.hw-intro[data-scene="finale"] .hw-intro__canvas {opacity:.85;}
.hw-intro__cause>span:first-child {font-size:30px; color:#ffe29a; width:36px; text-align:center;}
.hw-intro__together {position:absolute; inset:auto 7% 7%; padding:24px; border-radius:20px; background:rgb(17 31 40 / 94%);}
.hw-intro__together small {font-size:12px; color:var(--intro-muted);}
.hw-intro__transfer p {margin:18px 0; font-size:18px;}
.hw-intro__transfer-art {display:flex; justify-content:space-between; align-items:center; position:relative; color:var(--intro-mint); font-size:48px;}
.hw-intro__transfer-spark {position:absolute; inset-inline-start:calc(8% + var(--intro-scene-progress,0) * 300%); color:#ffe29a; font-size:24px;}
.hw-intro__publication {display:none; padding-top:18px;}
.hw-intro__publication strong {display:block; font-size:28px; margin:14px 0;}
.hw-intro__publication p {font-size:21px; margin:0;}
.hw-intro[data-beat="1"] .hw-intro__transfer,.hw-intro[data-beat="2"] .hw-intro__transfer,.hw-intro[data-beat="3"] .hw-intro__transfer {display:none;}
.hw-intro[data-beat="1"] .hw-intro__publication,.hw-intro[data-beat="2"] .hw-intro__publication,.hw-intro[data-beat="3"] .hw-intro__publication {display:block;}
.hw-intro[data-reduced-motion=true] .hw-intro__transfer-spark {inset-inline-start:46%;}
.hw-intro__reader {position:relative; min-height:0; overflow:auto; overscroll-behavior:contain; scrollbar-width:none; padding-inline:clamp(24px,4vw,72px);
  background:radial-gradient(ellipse 74% 46% at 50% 48%,rgb(130 239 203 / 8%),transparent 72%),#080f17;
  mask-image:linear-gradient(transparent,#000 10%,#000 90%,transparent);}
.hw-intro__reader::-webkit-scrollbar {width:0; height:0;}
.hw-intro__script {position:relative; padding-block:12vh 60vh;}
.hw-intro__paragraph {font-size:clamp(19px,1.7vw,29px); line-height:1.65; margin:0 0 13vh; color:var(--intro-ink); white-space:pre-line;
  opacity:0; filter:blur(5px); transform:translate3d(0,42px,0) scale(.985); transform-origin:center;
  transition:opacity .62s ease,filter .62s ease,transform .72s cubic-bezier(.2,.7,.2,1);}
.hw-intro__paragraph[data-position=past] {transform:translate3d(0,-42px,0) scale(.985);}
.hw-intro__paragraph[data-current=true] {opacity:1; filter:none; transform:translate3d(0,0,0) scale(1); text-shadow:0 0 34px rgb(130 239 203 / 10%);}
.hw-intro[data-manual-read=true] .hw-intro__paragraph {opacity:1; filter:none; transform:none; color:#a9bec6; transition:none;}
.hw-intro[data-manual-read=true] .hw-intro__paragraph[data-current=true] {color:var(--intro-ink);}
.hw-intro[data-manual-read=true] .hw-intro__reader {scrollbar-width:thin;}
.hw-intro[data-manual-read=true] .hw-intro__reader::-webkit-scrollbar {width:6px; height:6px;}
.hw-intro__final-line {display:block; margin-bottom:1.2em;}
.hw-intro[data-motto=true] .hw-intro__paragraph:last-child {color:#ffe29a;}
.hw-intro[data-your-turn=true] .hw-intro__scene {color:var(--intro-mint);}
.hw-intro__controls {display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding:16px 24px max(16px,env(safe-area-inset-bottom)); background:#101b25;}
.hw-intro__status {margin-inline-end:auto; max-width:45%; font-size:13px; color:var(--intro-muted);}
@media (max-width:760px) {
  .hw-intro__header {gap:12px; padding:10px 16px;}
  .hw-intro__brand {font-size:11px; letter-spacing:.1em;}
  .hw-intro__brand img {width:21px; height:21px;}
  .hw-intro__time {font-size:11px;}
  .hw-intro button {padding:9px 13px; font-size:14px;}
  .hw-intro__body {grid-template-columns:1fr; grid-template-rows:minmax(clamp(185px,32dvh,290px),max-content) minmax(0,1fr);}
  .hw-intro__preparation {justify-content:flex-end; padding-bottom:max(34px,env(safe-area-inset-bottom));}
  .hw-intro__preparation::before {background:linear-gradient(180deg,rgb(8 15 23 / 3%) 0%,rgb(8 15 23 / 12%) 36%,#080f17 72%);}
  .hw-intro__cover {height:auto; aspect-ratio:1672/941; object-fit:contain; object-position:center top;}
  .hw-intro__emblem .hw-three-star-loader {--hw-loader-size:48px;}
  .hw-intro__preparation h2 {margin:12px 0 8px;}
  .hw-intro__stage {display:flex; flex-direction:column; justify-content:space-between; gap:8px; padding:12px;}
  .hw-intro__canvas {position:relative; inset:auto; height:clamp(110px,20dvh,190px); flex:1 0 110px; min-height:110px;}
  .hw-intro__scene {position:absolute; font-size:20px; inset:12px 12px auto; max-width:24ch; z-index:1;}
  .hw-intro__demo,.hw-intro__charity,.hw-intro__together {position:relative; inset:auto; padding:10px 14px; border-radius:14px; margin-top:auto; z-index:1;}
  .hw-intro__transfer p {font-size:15px; margin:8px 0;}
  .hw-intro__publication {padding-top:10px;}
  .hw-intro__publication p {font-size:18px;}
  .hw-intro__publication strong {font-size:24px; margin:8px 0;}
  .hw-intro__demo small {margin-bottom:4px; font-size:10px;}
  .hw-intro__gift-cursor,.hw-intro__gift-cursor svg {width:30px; height:37px;}
  .hw-intro__alliances {display:grid; grid-template-columns:1fr 1fr; gap:5px; margin-top:6px;}
  .hw-intro__choice {font-size:11px!important; padding:6px 10px!important; min-height:36px!important;}
  .hw-intro__charity {gap:6px 12px;}
  .hw-intro__cause {font-size:12px; gap:6px; padding:6px;}
  .hw-intro__cause>span:first-child {font-size:23px; width:24px;}
  .hw-intro__reader {padding-inline:24px;}
  .hw-intro__paragraph {font-size:18px; line-height:1.55; margin-bottom:8vh;}
  .hw-intro__script {padding-top:3vh;}
  .hw-intro__controls {padding:10px 16px max(10px,env(safe-area-inset-bottom)); gap:8px;}
  .hw-intro__status {max-width:none; width:100%; font-size:11px;}
}
@media (max-height:500px) and (orientation:landscape) {
  .hw-intro__body {grid-template-columns:1fr 1fr; grid-template-rows:1fr;}
  .hw-intro__scene {font-size:20px;}
  .hw-intro__canvas {position:absolute; inset:0; height:100%;}
  .hw-intro__controls {padding:6px 16px;}
  .hw-intro__status {width:auto; max-width:35%;}
  .hw-intro__paragraph {font-size:16px;}
}
@media (prefers-reduced-motion:reduce) {
  .hw-intro__gift-cursor {animation:none; transform:translate(-10px,-8px);}
  .hw-intro__reader {scroll-behavior:auto; mask-image:none;}
  .hw-intro__paragraph,.hw-intro__paragraph[data-current=true] {transition:none; filter:none; transform:none;}
}
