/* The shared finish: warm paper, confident red, and room for every story.
   Pinned story geometry stays with each section's own stylesheet. */
:root {
  --tintin-accent: #e31e26;
  --tintin-ink: #571b22;
  --tintin-muted: #76504b;
  --tintin-paper: #f9f7e9;
  --tintin-warm-paper: #f4f0df;
  --tintin-gold: #f4d276;
  --section-space: clamp(64px, 6.3vw, 108px);
  --band-space: clamp(38px, 4vw, 64px);
  --ease-out: cubic-bezier(.22, 1, .36, 1);
  --media-radius: 8px;
}
body { font-kerning: normal; }
.gate-center #gate-title, .gate-center #gate-title > em {
  font-family:var(--tintin-display);font-weight:900;font-style:normal;font-synthesis:none;
}
.gate-center #gate-title { line-height:1.15;letter-spacing:-.035em;max-width:100%; }
@media (max-width:560px) { .gate-center #gate-title { font-size:clamp(27.2px,7.04vw,39.2px); } }
.visually-hidden { position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important; }
button, input, select { font-family: var(--sans); }
button, a, input, select { touch-action: manipulation; }
p { text-wrap: pretty; }
.page-main :is(h1, h2, h3), .section-heading h2 { text-wrap: balance; }
.page-main section[id] { scroll-margin-top: 110px; }
.header { border: 1px solid #571b220a; }
.header .main-nav a { display: inline-flex; align-items: center; min-height: 44px; }
.header .main-nav a:after { background: var(--tintin-accent); }
.header .main-nav a[aria-current="page"] { color: #a51f27; }
.header .menu-toggle { width: 44px; min-height: 44px; }
.reading-progress span { background: var(--tintin-accent); }
.experience-menu-body > nav > a[aria-current="page"] { color: #a51f27; }
.experience-menu-body > nav > a[aria-current="page"] > span { opacity: 1; transform: none; }

/* Consistent hierarchy on the two companion pages. */
.catalog-section, .shop-how, .hub-how, .hub-daily, .hub-activities,
.hub-rewards, .hub-member.member-section, .hub-hunt, .club-referral {
  padding-top: var(--section-space);
  padding-bottom: var(--section-space);
}
.referral-band, .discovery-strip { padding-top: var(--band-space); padding-bottom: var(--band-space); }
.shop-hero { background: var(--tintin-warm-paper); }
.catalog-section, .hub-activities { background: var(--tintin-paper); }
.page-section-head, .hub-title-row { gap: 48px; margin-bottom: 42px; }
.page-section-head h2, .hub-title-row h2, .hub-how h2, .hub-hunt h2,
.member-copy h2, .club-referral h2, .shop-how > h2 {
  font-size: clamp(42px, 4.5vw, 76px);
  line-height: 1.06;
  letter-spacing: -.055em;
}
.page-section-head > p, .hub-title-row > p {
  font-size: 15px;
  line-height: 1.75;
  max-width: 350px;
}
.page-hero-copy > p, .hub-hero-copy > p { font-size: 17px; line-height: 1.75; }
.hub-preview { font-size: 10px; line-height: 1.7; max-width: 440px; opacity: .85; }
.hub-quickbar { gap: 24px; }
.hub-quickbar nav { gap: clamp(18px, 2.3vw, 36px); }
.hub-quickbar nav a { min-height: 44px; display: inline-flex; align-items: center; }
.hub-balance { line-height: 1.5; }
.hub-how-step h3 { font-size: clamp(27px, 2.2vw, 34px); }
.hub-how-step p, .shop-step p { font-size: 14px; line-height: 1.75; }
.hub-how-steps { gap: clamp(28px, 4vw, 60px); }
.hub-daily-copy > p, .hub-hunt-copy > p, .member-copy > p, .club-referral p {
  font-size: 15px;
  line-height: 1.75;
}

/* One action language, with the existing cream/gold inverse treatments. */
.solid-action {
  min-height: 52px;
  padding: 14px 25px;
  font-size: 14px;
  line-height: 1.45;
  background: var(--tintin-accent);
  color: #fff9e8;
  border: 1px solid transparent;
  border-radius: 999px;
  transition: background .25s, transform .25s var(--ease-out);
}
.solid-action:hover { background: #b91e26; }
.solid-action:disabled { opacity: .45; cursor: not-allowed; transform: none; }
.hub-hero-actions .solid-action { background: var(--tintin-gold); color: var(--tintin-ink); font-size: 14px; }
.hub-hero-actions .solid-action:hover { background: #ffe19a; }
.hub-hero-actions > a:last-child { font-size: 13px; min-height: 44px; display: inline-flex; align-items: center; }
.page-main .text-link { min-height: 44px; font-size: 13px; line-height: 1.5; }
.field-label { font-size: 11px; letter-spacing: .08em; line-height: 1.5; }
.text-input, .select-input { min-height: 50px; padding: 13px 0; line-height: 1.5; }
.text-input:focus, .select-input:focus { border-bottom-color: var(--tintin-accent); }
.text-input:focus-visible, .select-input:focus-visible { outline: 2px solid var(--tintin-accent); outline-offset: 5px; }
.text-input:user-invalid, .select-input:user-invalid { border-bottom-color: var(--tintin-accent); }
.form-feedback { font-size: 13px !important; line-height: 1.6; }
.small-print, .hub-daily-copy > .small-print { font-size: 12px !important; line-height: 1.7; }
.referral-band .line-form, .club-referral .line-form { flex-wrap: wrap; gap: 18px; }
.referral-band .line-form label, .club-referral .line-form label { flex: 1 1 220px; }
.referral-band .text-link { margin-top: 14px; }

/* Product shelves stay open; packaging and practical information lead. */
.brand-filters { gap: 12px 34px; padding: 15px 0; }
.brand-filter { min-height: 44px; font-size: 15px; }
.brand-filter[aria-pressed="true"] { color: #b41e26; }
.brand-filter[aria-pressed="true"]:after { bottom: -16px; }
.catalog-meta { font-size: 12px; line-height: 1.6; margin-bottom: 28px; }
.catalog-grid { gap: 28px; }
.shop-product-art, .product-detail-art,
#reward-home-packs, #reward-together-packs { background: transparent; }
.shop-product-brand { display: none; }
.hunt-next { display: inline-block; padding: 7px 0; text-decoration: underline; text-underline-offset: 4px; font-weight: 700; }
.shop-product h3 { font-size: clamp(26px, 2.15vw, 34px); line-height: 1.12; margin-top: 24px; }
.shop-product p { font-size: 13px; line-height: 1.6; }
.shop-product-link { min-height: 46px; font-size: 13px; line-height: 1.5; align-items: center; padding: 13px 0 0; }
.shop-product:focus-visible { outline-offset: 8px; }
.shop-step h3 { font-size: clamp(28px, 2.4vw, 36px); line-height: 1.12; }
.product-detail-copy > p { font-size: 15px; }
.product-detail-pack, .product-uses { font-size: 13px; line-height: 1.65; }
.market-options a { min-height: 52px; font-size: 14px; }
.market-options a:hover { color: #b41e26; }

/* Activities read like illustrated editorial spreads, with space to choose. */
.mission-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 44px 36px; }
.mission-grid .mission { display: flex; flex-direction: column; background: transparent; }
.mission-art { aspect-ratio: 1.85; min-height: 0; height: auto; background: #f0e5cc; }
.mission:nth-child(2) .mission-art { background: #e1e5d2; }
.mission:nth-child(3) .mission-art { background: #efd8b7; }
.mission:nth-child(4) .mission-art { background: #ebd6c9; }
.mission-art > img { width: 115%; height: 100%; object-fit: contain; object-position: center bottom; }
.mission-copy { padding: 26px 0 28px; border-bottom: 1px solid var(--line); }
.mission-copy > .eyebrow { font-size: 10px; letter-spacing: .12em; }
.mission-copy h3 { font-size: clamp(34px, 3.1vw, 49px); line-height: 1.08; margin: 17px 0 16px; }
.mission-copy > p { max-width: 430px; font-size: 14px; line-height: 1.75; margin-bottom: 18px; }
.mission-copy .text-link { font-size: 13px; }
.mission-copy .mission-status { font-size: 12px !important; line-height: 1.6; margin-top: 13px; }
.mission-badge { font-size: 10px; line-height: 1.4; top: 18px; left: 18px; padding: 8px 12px; }
.hub-rewards { background: #a82028; }
.reward-grid { gap: 30px; }
.reward-grid .reward-tile { background: transparent; color: #fff9e8; }
.reward-copy { padding: 25px 0 0; }
.reward-copy h3 { font-size: clamp(31px, 2.8vw, 43px); line-height: 1.08; }
.reward-copy p { color: #f7e0cc; font-size: 14px; line-height: 1.7; }
.reward-copy .text-link { font-size: 13px; }
.hub-rewards .reward-art { display:block;height:auto;min-height:0;aspect-ratio:3/2;background:#dbc7ac; }
.hub-rewards .reward-art > img { display:block;width:100%;height:100%;object-fit:cover;object-position:center; }
.hub-reward-dialog > img { height:auto;aspect-ratio:3/2;object-fit:cover; }
@media (min-width:481px) and (max-width:700px) {
  .hub-rewards .reward-art { height:100%;min-height:280px;aspect-ratio:auto; }
}
.reward-tag { font-size: 9px; line-height: 1.4; color: var(--tintin-ink); }
.rewards-note { font-size: 12px; line-height: 1.75; margin-top: 35px; max-width: 850px; }
.member-card { background: #a82028; }
.member-card-top { font-size: 9px; line-height: 1.6; }
.member-card-bottom { font-size: 10px; line-height: 1.6; }
.member-code { font-size: 11px; line-height: 1.6; }
.share-code { overflow-wrap: anywhere; }
.discovery-strip p { font-size: 14px; line-height: 1.7; }
.discovery-strip .hunt-message { font-size: 12px; margin-top: 8px; }
.hub-brandline { gap: clamp(24px, 5vw, 80px); padding-top: 40px; padding-bottom: 40px; }
.page-closing { padding-top: var(--section-space); padding-bottom: var(--section-space); }
.page-closing h2 { font-size: clamp(42px, 4.8vw, 80px); line-height: 1.07; letter-spacing: -.055em; }
.page-closing .solid-action { background: #fff3dc; color: #a82028; }
.page-closing .solid-action:hover { background: #ffe4b0; }

/* Dialogs share the same calm paper and clear controls. */
.story-dialog, .product-dialog, .quiz-dialog, .hub-reward-dialog {
  border-radius: var(--media-radius);
  overscroll-behavior: contain;
  background: var(--tintin-paper);
}
.quiz-dialog::backdrop, .product-dialog::backdrop, .hub-reward-dialog::backdrop,
.story-dialog::backdrop { background: #28100fb3; backdrop-filter: blur(5px); }
.quiz-close, .product-close { width: 44px; height: 44px; top: 14px; right: 14px; font-size: 28px; }
.dialog-close { width: 44px; height: 44px; }
.quiz-dialog h2, .hub-reward-dialog-copy h2 { line-height: 1.08; letter-spacing: -.045em; }
.quiz-dialog p, .hub-reward-dialog-copy p { font-size: 15px; line-height: 1.75; }
.quiz-answer { min-height: 54px; font-size: 15px; line-height: 1.5; transition: background .2s, border-color .2s; }
.quiz-answer[aria-pressed="true"] { background: #eedcba; border-color: #a82028; box-shadow: inset 3px 0 #a82028; }
.quiz-answer:focus-visible { outline: 2px solid var(--tintin-accent); outline-offset: 3px; }
.quiz-progress { gap: 8px; }
.quiz-progress span { height: 4px; }
.hero-transport button:disabled, .gallery-toolbar button:disabled { opacity: .35; cursor: default; }
.hero-transport button:disabled:hover { background: transparent; }

/* Shared closing rhythm; the full-width footer wordmark stays untouched. */
.footer-top { padding-bottom: 38px; }
.footer-top p { font-size: 14px; line-height: 1.75; opacity: .8; }
.footer-contact { min-height: 54px; }
.footer-bottom { font-size: 11px; opacity: .85; gap: 24px; padding-top: 17px; }
.footer-bottom > nav { gap: 24px; flex-wrap: wrap; }
.footer-bottom a { min-height: 44px; display: inline-flex; align-items: center; }
/* A small shared radius for inset media and cards. */
.story-photo, .mission-art, .reward-art, .member-card, .shop-product-art {
  border-radius: var(--media-radius);
  overflow: hidden;
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .solid-action:not(:disabled):hover { transform: translateY(-2px); }
  .mission-art > img, .reward-art > img { transition: transform .55s var(--ease-out); }
  .mission:hover .mission-art > img, .reward-tile:hover .reward-art > img { transform: scale(1.025); }
}
@media (min-width: 701px) {
  .mission-copy { min-height: 300px; }
}
@media (max-width: 1100px) {
  .hub-quickbar { flex-wrap: wrap; justify-content: center; }
  .hub-quickbar nav { justify-content: center; }
  .hub-balance { margin-left: auto; margin-right: auto; }
  .catalog-grid { gap: 22px; }
}
@media (max-width: 850px) {
  .page-section-head, .hub-title-row { gap: 30px; }
  .page-section-head > p, .hub-title-row > p { font-size: 14px; }
  .hub-quickbar { align-items: stretch; }
  .hub-quickbar nav { justify-content: space-between; }
  .hub-balance { margin: 0; }
  .reward-grid { gap: 22px; }
  .reward-copy h3 { font-size: 31px; }
  .footer-bottom > nav { gap: 20px; }
}
@media (max-width: 700px) {
  .mission-grid { grid-template-columns: 1fr; gap: 35px; }
  .mission-grid .mission { display: grid; grid-template-columns: 42fr 58fr; gap: 24px; align-items: stretch; }
  .mission-art { aspect-ratio: auto; min-height: 285px; height: 100%; }
  .mission-art > img { width: 165%; }
  .mission-copy { padding-top: 6px; }
  .mission-copy h3 { font-size: 35px; }
  .reward-grid { grid-template-columns: 1fr; gap: 34px; }
  .reward-grid .reward-tile { display: grid; grid-template-columns: 42fr 58fr; gap: 26px; }
  .reward-copy { padding: 8px 0 0; }
  .reward-art { height: 100%; min-height: 275px; }
  .reward-copy h3 { font-size: 34px; }
}
@media (max-width: 560px) {
  :root { --section-space: 64px; --band-space: 38px; --media-radius: 6px; }
  .page-main section[id] { scroll-margin-top: 88px; }
  .header { gap: 12px; }
  .header .menu-toggle { padding-left: 7px; padding-right: 7px; }
  .page-main :is(.eyebrow, .hub-hero-copy > .eyebrow) { font-size: 9px; line-height: 1.6; letter-spacing: .11em; }
  .page-section-head, .hub-title-row { margin-bottom: 32px; }
  .page-section-head h2, .hub-title-row h2, .hub-how h2, .hub-hunt h2,
  .member-copy h2, .club-referral h2, .shop-how > h2 { font-size: clamp(38px, 10.5vw, 52px); }
  .page-hero-copy > p, .hub-hero-copy > p { font-size: 15px; }
  .hub-preview { font-size: 9px; line-height: 1.7; }
  .hub-hero-actions { gap: 15px; }
  .hub-hero-actions .solid-action, .hub-hero-actions > a:last-child { font-size: 12px; }
  .solid-action { min-height: 48px; padding: 12px 20px; font-size: 13px; gap: 18px; }
  .page-main .text-link { font-size: 13px; }
  .small-print, .hub-daily-copy > .small-print { font-size: 11px !important; }
  .hub-quickbar { padding-top: 13px; padding-bottom: 13px; gap: 10px; }
  .hub-quickbar nav { font-size: 11px; gap: 20px; }
  .hub-balance { font-size: 11px; }
  .hub-how-step h3 { font-size: 28px; }
  .hub-how-step p, .shop-step p { font-size: 14px; }
  .catalog-meta { font-size: 10px; }
  .brand-filters { gap: 7px 24px; margin-bottom: 28px; }
  .brand-filter { font-size: 14px; }
  .catalog-grid { gap: 32px 18px; }
  .shop-product h3 { font-size: 24px; margin-top: 19px; }
  .shop-product p { font-size: 12px; line-height: 1.65; }
  .shop-product-link { font-size: 12px; min-height: 44px; }
  .shop-product-brand { font-size: 23px; }
  .mission-badge { top: 13px; left: 13px; font-size: 9px; }
  .reward-tag { font-size: 8px; }
  .reward-copy p { font-size: 13px; }
  .rewards-note { font-size: 11px; margin-top: 28px; }
  .member-card { padding: 27px; }
  .member-card-top { font-size: 8px; }
  .member-card-bottom { font-size: 9px; }
  .member-code { font-size: 10px; letter-spacing: .08em; }
  .discovery-strip { align-items: flex-start; gap: 18px; }
  .discovery-strip h3 { font-size: 28px; }
  .discovery-strip p { font-size: 13px; }
  .discovery-strip .hunt-stamp { width: 84px; height: 84px; font-size: 8px; }
  .hub-brandline { gap: 7vw; padding-top: 30px; padding-bottom: 30px; }
  .page-closing { gap: 30px; }
  .page-closing h2 { font-size: clamp(37px, 10vw, 50px); }
  .quiz-dialog { padding: 65px 25px 30px; }
  .quiz-dialog h2, .hub-reward-dialog-copy h2 { font-size: 36px; }
  .quiz-answer { font-size: 14px; padding: 15px 16px; }
  .product-detail-copy { padding-top: 36px; }
  .footer { padding-top: 48px; }
  .footer-top { gap: 24px; padding-bottom: 28px; }
  .footer-top p { font-size: 13px; }
  .footer-bottom { font-size: 11px; gap: 8px 22px; }
  .footer-bottom > nav { font-size: 11px; gap: 0 22px; }
}
@media (max-width: 480px) {
  .mission-grid .mission { display: flex; gap: 0; }
  .mission-art { aspect-ratio: 1.6; min-height: 0; height: auto; }
  .mission-art > img { width: 115%; }
  .mission-copy { padding: 24px 0 28px; }
  .mission-copy h3 { font-size: clamp(34px, 9vw, 42px); }
  .mission-copy > p { font-size: 14px; }
  .reward-grid .reward-tile { display: flex; gap: 0; }
  .reward-art { height: 245px; min-height: 0; flex-direction: row; }
  .reward-art > .hub-pack { height: 170px; margin: 15px; }
  .reward-art > .hub-pack-1 { position: relative; right: auto !important; bottom: auto; height: 145px; }
  .reward-art > img { width: 120%; }
  .reward-copy { padding-top: 23px; }
  .reward-copy h3 { font-size: 35px; }
  .discovery-strip { flex-wrap: wrap; }
  .discovery-strip > div { flex: 1 1 210px; }
  .referral-band .line-form label, .club-referral .line-form label { flex-basis: 100%; }
}
@media (max-width: 360px) {
  .shop-product h3 { font-size: 22px; }
  .catalog-grid { gap: 28px 14px; }
  .catalog-meta > span:last-child { max-width: 120px; text-align: right; }
  .hub-balance { justify-content: flex-start; }
  .hub-hero-actions { align-items: flex-start; flex-direction: column; gap: 8px; }
  .member-card { padding: 23px; }
  .member-card-top { gap: 12px; }
  .member-card-top img { width: 105px; }
}
@media (prefers-reduced-motion: reduce) {
  .solid-action, .quiz-answer, .mission-art > img, .reward-art > img { transition: none; }
  .solid-action:hover, .mission:hover .mission-art > img, .reward-tile:hover .reward-art > img { transform: none; }
}

/* Sahabat: a slightly smaller brand headline with clear space between lines. */
body[data-page="sahabat"] .hub-hero-copy { min-width:0; }
.hub-hero-copy h1 { font-size:clamp(44.8px,4.76vw,80.8px);line-height:1.16;max-width:94%; }
.hub-hero-copy h1, .hub-hero-copy h1 em {
  font-family:var(--tintin-display);font-weight:900;font-style:normal;font-synthesis:none;
}
.hub-title-lines {
  display:block;width:max-content;white-space:nowrap;transform-origin:left center;
  transform:scaleX(var(--hub-title-fit,.7));
}

/* Crop the transparent source margins in CSS so each original mark reads clearly. */
.hub-brandline {
  --brand-unit:clamp(110px,16vw,176px);
  display:flex;justify-content:space-between;align-items:center;
  gap:24px;padding-block:40px;
}
.hub-brandmark {
  display:block;position:relative;flex:none;
  width:calc(var(--brand-unit)*var(--mark-ratio));height:calc(var(--brand-unit)*.672727);overflow:hidden;
}
.hub-brandline .hub-brandmark img {
  position:absolute;left:50%;top:50%;width:var(--logo-scale);height:auto;
  max-width:none;max-height:none;transform:translate(-50%,-50%);
}
.hub-brandmark--kuntji { --mark-ratio:.6;--logo-scale:100%; }
.hub-brandmark--hd { --mark-ratio:.9102;--logo-scale:180.1802%; }
.hub-brandmark--sarasa { --mark-ratio:.952675;--logo-scale:166.8985%; }
.hub-brandmark--garena { --mark-ratio:.862125;--logo-scale:191.3876%; }

body[data-page="sahabat"] .club-referral { align-items:start;gap:clamp(48px,7vw,120px); }
.club-referral-copy, .club-referral-panel { min-width:0; }
.club-referral-copy h2 { margin-top:20px; }
.club-referral-panel .field-label { display:block; }
.club-referral-panel .share-code { margin:14px 0 26px;line-height:1.3;overflow-wrap:anywhere; }
.club-share-actions { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:end; }
.club-share-field { min-width:0; }
.club-referral-panel .share-url { width:100%;margin:8px 0 0;font-size:13px;text-overflow:ellipsis; }
.club-share-actions .solid-action { align-self:end;white-space:nowrap; }
.club-referral-panel .small-print { max-width:100%;margin:18px 0 0; }
.club-referral-panel .form-feedback { max-width:100%;margin:12px 0 0; }
.club-referral-panel .form-feedback:empty { display:none; }
.club-referral-panel .line-form {
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:end;
  margin-top:28px;padding-top:28px;border-top:1px solid var(--line);
}
.club-referral-panel .line-form label { min-width:0; }
.club-referral-panel .line-form .text-input { margin-top:8px; }
body[data-page="sahabat"] .page-closing { flex-direction:column;align-items:center;text-align:center;gap:30px; }
body[data-page="sahabat"] .page-closing h2 { max-width:1100px; }
@media (max-width:1100px) {
  .club-share-actions { grid-template-columns:minmax(0,1fr);gap:16px;justify-items:start; }
  .club-share-field { width:100%; }
}
@media (max-width:850px) {
  .hub-hero-copy h1 { font-size:clamp(47.2px,7.2vw,64.8px); }
  body[data-page="sahabat"] .club-referral { grid-template-columns:1fr;gap:38px; }
  .club-referral-panel { width:100%;max-width:680px; }
  .club-share-actions { grid-template-columns:minmax(0,1fr) auto;justify-items:stretch; }
}
@media (max-width:560px) {
  .hub-hero-copy h1 { font-size:clamp(38.4px,9.36vw,52.8px); }
  .hub-brandline {
    --brand-unit:min(144px,calc((100vw - 2*var(--gutter) - 32px)/2.5));
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 32px;padding-block:30px;
  }
  .hub-brandmark:nth-child(even) { justify-self:end; }
  .club-share-actions, .club-referral-panel .line-form { grid-template-columns:minmax(0,1fr);gap:16px;justify-items:start; }
  .club-referral-panel .line-form label { width:100%; }
  .club-referral-panel .line-form { margin-top:24px;padding-top:24px; }
  .club-referral-panel .share-code { font-size:26px;margin-bottom:22px; }
  body[data-page="sahabat"] .page-closing { gap:26px; }
}
@media (max-width:360px) { .hub-hero-copy h1 { font-size:36px; } }

/* Three supplied PNG layers: spinning numbered disc, fixed hub, fixed pointer. */
.wheel-stage { isolation:isolate;width:min(100%,546px);max-width:546px; }
.wheel-stage .wheel-disc {
  z-index:1;border:0;background:none;box-shadow:none;
  filter:drop-shadow(0 14px 12px #49321426);
}
.wheel-disc > img { display:block;width:100%;height:100%;pointer-events:none;user-select:none; }
.wheel-stage .wheel-center {
  z-index:2;width:28%;height:auto;aspect-ratio:1;display:block;
  padding:0;border:0;background:none;box-shadow:none;overflow:hidden;
  filter:drop-shadow(0 3px 4px #57341640);
}
.wheel-center > img {
  position:absolute;width:120%;height:auto;max-width:none;left:-10%;top:-8%;
  pointer-events:none;user-select:none;
}
.wheel-stage .wheel-pointer {
  z-index:3;top:-2.5%;width:10%;height:auto;aspect-ratio:1018/860;
  border:0;overflow:hidden;filter:drop-shadow(0 3px 2px #57341645);
}
.wheel-pointer > img {
  position:absolute;width:130.55%;height:auto;max-width:none;left:-15.226%;top:-26.744%;
  pointer-events:none;user-select:none;
}
@media (prefers-reduced-motion:reduce) { .wheel-stage .wheel-disc { transition:none; } }
@media (max-width:1200px) { .wheel-stage { width:min(100%,481px);max-width:481px; } }
@media (max-width:850px) { .wheel-stage { width:min(100%,403px);max-width:403px; } }
@media (max-width:650px) { .wheel-stage { width:min(100%,403px);margin:20px 0; } }
