/* The landing screen is intentionally separate from the board and room layout. */
#homeLanding{--home-coin-size:144px;max-width:1380px;margin:auto}
#homeLanding .home-hero{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:445px;padding:38px 18px 46px;text-align:center}
#homeLanding .home-coin-scene{position:relative;width:calc(var(--home-coin-size) + 34px);height:calc(var(--home-coin-size) + 27px);perspective:850px;display:grid;place-items:center;margin-bottom:20px;flex-shrink:0}
.home-coin-scene:before{content:"";position:absolute;inset:-44px;border-radius:50%;background:radial-gradient(ellipse,#e6cc6620,transparent 65%);pointer-events:none}
.home-coin-scene:after{content:"";position:absolute;bottom:0;left:24px;right:24px;height:14px;border-radius:50%;background:#03110899;filter:blur(7px)}
.home-coin{position:relative;width:var(--home-coin-size);height:var(--home-coin-size);transform-style:preserve-3d;animation:home-coin-turn 18s linear infinite;transform:rotateX(10deg) rotateY(-18deg) rotateZ(-9deg);margin-bottom:17px}
.home-coin-rim{position:absolute;inset:0;border-radius:50%;background:repeating-conic-gradient(#825721 0deg 2deg,#dba54d 2deg 4deg,#fff0b3 4deg 5deg);border:1px solid #b9863a;transform:translateZ(var(--depth))}
.home-coin-face{position:absolute;inset:0;border-radius:50%;backface-visibility:hidden;transform:translateZ(8px);display:grid;place-items:center;background:conic-gradient(from -35deg,#b67d28,#e6b655 14%,#fff0b1 31%,#dba149 49%,#fff0b4 69%,#f0cc79 84%,#b67d28);border:2px solid #fbe6a5;box-shadow:inset 0 0 0 4px #b6833599,inset 0 0 0 6px #f4d688,0 0 1px #ffe7a5}
.home-coin-face:before{content:"";position:absolute;inset:11px;border-radius:50%;border:1px dashed #9e6a2a99;background:radial-gradient(circle at 36% 22%,#ffeeb475,#c48a291f);box-shadow:0 0 0 1px #f3cd7133}
.home-coin-face span{position:relative;font-family:Arial,sans-serif;font-size:calc(var(--home-coin-size) * .61);font-weight:900;line-height:1;color:#79501d;text-shadow:0 2px #ffefb2,-1px -1px #57371745;transform:rotate(8deg);padding-top:3px}
.home-coin-face.back{transform:rotateY(180deg) translateZ(8px)}
@keyframes home-coin-turn{from{transform:rotateX(10deg) rotateY(-18deg) rotateZ(-9deg)}to{transform:rotateX(10deg) rotateY(342deg) rotateZ(-9deg)}}
#homeLanding .home-motto{margin:0;display:flex;align-items:center;gap:24px;font-family:inherit;font-size:clamp(44px,5.7vw,78px);line-height:1.16;font-weight:900;letter-spacing:-2px;color:#f3d99e;text-shadow:0 2px 0 #a88c3622}
.home-motto em{font-style:normal;color:#88a47a;font-size:.76em;font-weight:700;letter-spacing:-1px}
#homeLanding .home-enter{margin-top:30px;width:280px;min-height:61px;padding:12px 20px;border:1px solid #ffe3a1;border-radius:13px;background:linear-gradient(180deg,#ffe6a1 0%,#edc476 43%,#d7a350 100%);box-shadow:inset 0 2px 0 #fff4c1b0,0 5px 0 #896332,0 12px 30px #060e0840;color:#3d321d;font-size:21px;font-weight:850;letter-spacing:3px;display:flex;justify-content:center;align-items:center;gap:21px;transition:filter .18s,transform .18s}
#homeLanding .home-enter:hover{filter:brightness(1.06);transform:translateY(-2px)}
#homeLanding .home-enter:active{transform:translateY(2px)}
#homeLanding .home-return-room{margin:18px 0 -10px;font-size:16px;font-weight:750;padding:8px 16px;color:#e3d3a4}
#homeLanding .home-market{max-width:1020px}
#homeLanding button:focus-visible,.home-room-entry button:focus-visible,.home-promotion-link:focus-visible{outline:2px solid #ffdea0;outline-offset:4px}
.home-promotion{position:fixed;right:24px;bottom:24px;z-index:35;width:258px;height:153px;padding:15px 17px;background:linear-gradient(130deg,#344730,#172e22);border:1px solid #b7a26599;border-radius:16px;box-shadow:0 10px 32px #020d0870,inset 0 1px #f2dba016;text-align:left}
.home-promotion-label{font-size:10px;letter-spacing:2px;color:#bdc99f;font-weight:700;line-height:16px}
:is(#homeLanding,#preGamePromotion) .home-promotion-close{position:absolute;top:5px;right:5px;width:36px;height:36px;padding:0;background:transparent;border:0;color:#c2c8aa;font-size:21px;line-height:1;box-shadow:none}
:is(#homeLanding,#preGamePromotion) .home-promotion-link{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:11px;row-gap:12px;align-items:center;width:100%;margin-top:13px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;text-align:left;color:#f2dfae;text-decoration:none;cursor:pointer}
.home-promotion-image{width:40px;height:40px;border:1px solid #c8b66c44;border-radius:10px;background:#b2b77712;display:grid;place-items:center;overflow:hidden;font-size:25px;color:#dfc681}
.home-promotion-image img{width:100%;height:100%;object-fit:contain}.home-promotion-image.cover img{object-fit:cover}
.home-promotion-copy{min-width:0}.home-promotion-copy strong{display:block;font-size:17px;font-weight:800;line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.home-promotion-copy small{display:block;font-size:11px;line-height:1.6;color:#b0c09e;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.home-promotion-action{grid-column:1/-1;padding-top:8px;border-top:1px solid #bec39224;font-size:12px;font-weight:750;color:#e7cf8c;display:flex;align-items:center;justify-content:space-between}
:is(#homeLanding,#preGamePromotion) .home-promotion-reopen{position:fixed;right:24px;bottom:24px;z-index:35;min-height:40px;padding:8px 16px;border-radius:22px;background:#243b29;border:1px solid #b7a26580;color:#e3cf96;font-size:12px;box-shadow:0 4px 20px #0003}
#homeLanding [hidden]{display:none!important}
body:has(#overlay:not(.hidden)) .home-promotion,body:has(#overlay:not(.hidden)) .home-promotion-reopen,body:has(#inPageCenter[open]) .home-promotion,body:has(#inPageCenter[open]) .home-promotion-reopen{visibility:hidden}
/* Entry controls reuse the existing room APIs and now live directly in the page. */
#app .home-room-entry{max-width:1320px;margin:12px auto 28px;padding:24px 20px;background:none;border:0;box-shadow:none}
.home-entry-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:14px}
.home-entry-heading h1{font-family:inherit;font-size:clamp(25px,3vw,36px);font-weight:850;line-height:1.4;margin:7px 0 0;color:#f4dfac;outline:none}
.home-entry-heading .eyebrow{font-size:11px}.home-entry-heading button{white-space:nowrap;font-size:14px;min-height:44px}
.home-entry-shortcuts{display:none}
.home-room-entry.online-entry-hub .entry-hub-grid{height:auto;grid-template-columns:minmax(0,1fr) minmax(0,.88fr) minmax(0,1.12fr);grid-template-areas:"create join rooms";grid-template-rows:auto;gap:18px;align-items:stretch}
.home-room-entry.online-entry-hub .entry-section{border-radius:18px;padding:24px 20px;background:linear-gradient(140deg,#263d2e,#192f23);border:1px solid #a4a66d55}
.home-room-entry .entry-section-heading>span{width:34px;height:34px}
.home-room-entry .entry-section-heading p{font-size:13px;line-height:1.7}
.home-room-entry .entry-section h3{font-size:25px;font-weight:850}
.home-room-entry.online-entry-hub .join-mode-actions{display:flex;flex-direction:column}
.home-room-entry.online-entry-hub #roomList{max-height:355px;min-height:140px}
.home-room-entry.online-entry-hub .public-room-card{flex-direction:column;align-items:stretch}
.home-room-entry.online-entry-hub .public-room-actions{flex-direction:row;width:100%}
.home-room-entry .public-room-actions button{flex:1}
.home-room-entry #onlineError:not(:empty){margin-top:18px;padding:12px;border-radius:10px;background:#482c274d}
@media(min-width:901px) and (max-height:850px){#homeLanding{--home-coin-size:112px}#homeLanding .home-hero{min-height:325px;padding:14px 18px 30px}#homeLanding .home-coin-scene{margin-bottom:8px}#homeLanding .home-motto{font-size:60px}#homeLanding .home-enter{margin-top:22px;min-height:54px}}
@media(max-width:1050px){.home-room-entry.online-entry-hub .entry-hub-grid{grid-template-columns:1fr 1fr;grid-template-areas:"create join" "rooms rooms"}.home-room-entry.online-entry-hub #roomList{max-height:320px}.home-room-entry.online-entry-hub .public-room-card{flex-direction:row}.home-room-entry.online-entry-hub .public-room-actions{width:auto}}
@media(max-width:650px){
 #homeLanding{--home-coin-size:102px}#homeLanding .home-hero{min-height:350px;padding:22px 4px 35px}#homeLanding .home-coin-scene{margin-bottom:17px}
 #homeLanding .home-motto{font-size:clamp(35px,10.6vw,52px);gap:12px;letter-spacing:-1px}#homeLanding .home-enter{width:242px;min-height:56px;font-size:19px;margin-top:28px}
 .home-promotion{left:14px;right:14px;bottom:calc(12px + env(safe-area-inset-bottom,0px));width:auto;height:77px;padding:12px 15px;border-radius:13px}
 .home-promotion-label{font-size:9px;line-height:12px;letter-spacing:1px;margin-left:48px}
 :is(#homeLanding,#preGamePromotion) .home-promotion-link{grid-template-columns:36px minmax(0,1fr) auto;column-gap:12px;row-gap:0;margin-top:-5px;padding-right:15px}
 .home-promotion-image{width:36px;height:36px;grid-row:1}.home-promotion-copy{padding-top:6px}.home-promotion-copy strong{font-size:15px;line-height:1.3}.home-promotion-copy small{font-size:10px}
 .home-promotion-action{grid-column:auto;border:0;padding:6px 0 0;font-size:11px;gap:4px}.home-promotion-action>span{display:none}
 :is(#homeLanding,#preGamePromotion) .home-promotion-close{width:30px;height:30px;right:1px;top:0;font-size:19px}
 :is(#homeLanding,#preGamePromotion) .home-promotion-reopen{right:14px;bottom:calc(12px + env(safe-area-inset-bottom,0px))}
 body:has(#homeLanding) footer{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}body.home-promotion-open:has(#homeLanding) footer{padding-bottom:calc(104px + env(safe-area-inset-bottom,0px))}
 #app .home-room-entry{padding:16px 0;margin:0 auto 20px}.home-entry-heading{align-items:flex-start;gap:12px}.home-entry-heading h1{font-size:23px}.home-entry-heading button{font-size:12px;padding:8px 10px}
 .home-entry-heading h1 span{display:block}
 .home-room-entry.online-entry-hub .entry-hub-grid{grid-template-columns:1fr;grid-template-areas:"create" "join" "rooms";gap:14px}
 .home-entry-shortcuts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 16px}.home-entry-shortcuts button{min-height:44px;font-size:13px;padding:8px;border:1px solid #a8a27366;border-radius:9px;background:#2a3f2f;color:#efdab0;font-weight:750}
 .home-room-entry.online-entry-hub .entry-section{padding:20px 16px}.home-room-entry.online-entry-hub .entry-create-controls{grid-template-columns:1fr}
 .home-room-entry.online-entry-hub .public-room-card{flex-direction:column}.home-room-entry.online-entry-hub .join-mode-actions{flex-direction:row}.home-room-entry .join-mode-actions button{flex:1}
}
@media(prefers-reduced-motion:reduce){.home-coin{animation:none}#homeLanding .home-enter{transition:none}}

/* OneKey campaign: retain the approved art, with real text and independent controls. */
.home-promotion.home-promotion-onekey{padding:0;background:#10251b;border-color:#bca34e;box-shadow:0 10px 32px #020d0890,inset 0 1px #f2dba016}
:is(#homeLanding,#preGamePromotion) .home-promotion-onekey .home-promotion-link{position:relative;display:block;isolation:isolate;overflow:hidden;width:100%;height:100%;padding:0;margin:0;border-radius:15px;color:#f4f7ec}
.onekey-art{position:absolute;inset:0;z-index:-1;background:#10251b;pointer-events:none}.onekey-art img{display:block;width:100%;height:100%;object-fit:cover}
.onekey-mobile-product{display:none}
.home-promotion-onekey .home-promotion-label{position:absolute;top:8px;left:12px;margin:0;font-size:9px;letter-spacing:.6px;line-height:12px;color:#c5d1af;font-weight:600}
.onekey-brand{position:absolute;left:12px;top:24px;display:flex;flex-direction:column;gap:1px}.onekey-brand strong{font:700 22px/24px Arial,sans-serif;letter-spacing:-.8px;color:#fff}.onekey-brand small{font-size:10px;line-height:12px;font-weight:600;color:#c2d0b9}
.onekey-headline{position:absolute;left:12px;top:68px;font-size:17px;line-height:20px;font-weight:850;letter-spacing:.1px;color:#f6f9e9;text-shadow:0 1px 4px #06110d}.onekey-headline>span{display:block}
.home-promotion-onekey .home-promotion-action{position:absolute;left:12px;bottom:11px;display:flex;justify-content:center;align-items:center;gap:7px;padding:4px 12px;min-height:24px;border:0;border-radius:18px;background:#b9fa6c;color:#173321;font-size:11px;font-weight:850;line-height:16px;box-shadow:inset 0 1px #eaffb870}
:is(#homeLanding,#preGamePromotion) .home-promotion-onekey .home-promotion-close{z-index:2;right:0;top:0;width:30px;height:30px;font-size:21px;color:#e5edce;text-shadow:0 1px 3px #071a0e}
.home-promotion-onekey .home-promotion-link:hover .home-promotion-action{background:#d0ff8e}
@media(max-width:650px){
 .home-promotion.home-promotion-onekey{height:77px;background:radial-gradient(ellipse at 10% 80%,#345130,#10291b 65%)}
 :is(#homeLanding,#preGamePromotion) .home-promotion-onekey .home-promotion-link{border-radius:12px}
 .home-promotion-onekey .onekey-art{display:none}
 .onekey-mobile-product{display:grid;place-items:center;position:absolute;left:7px;top:9px;width:48px;height:60px;filter:drop-shadow(0 3px 4px #0008)}.onekey-mobile-product img{width:100%;height:100%;object-fit:contain}
 .home-promotion-onekey .home-promotion-label{left:61px;top:8px;font-size:9px;line-height:10px;letter-spacing:.3px}
 .onekey-brand{left:61px;top:23px;flex-direction:row;align-items:baseline;gap:6px}.onekey-brand strong{font-size:18px;line-height:20px}.onekey-brand small{font-size:10px;line-height:13px}
 .onekey-headline{left:61px;top:49px;font-size:11px;line-height:15px;letter-spacing:0;font-weight:700}.onekey-headline>span{display:inline}.onekey-headline>span+span:before{content:'，'}
 .home-promotion-onekey .home-promotion-action{left:auto;right:10px;bottom:13px;min-height:27px;padding:5px 10px;font-size:10px;line-height:15px;gap:4px}.home-promotion-onekey .home-promotion-action>span{display:inline}
 :is(#homeLanding,#preGamePromotion) .home-promotion-onekey .home-promotion-close{top:0;right:0;width:28px;height:28px;font-size:19px}
}

/* Approved promotion creative proportions. Desktop placement reserves a side rail below. */
@media (min-width: 651px) {
  :is(#homeLanding,#preGamePromotion) .home-promotion-onekey {
    width: 336px;
    height: 200px;
    right: 32px;
    bottom: 78px;
    border-radius: 20px;
    box-shadow: 0 14px 42px #020d0880, inset 0 1px #f2dba020;
  }
  :is(#homeLanding,#preGamePromotion) .home-promotion-onekey .home-promotion-link { border-radius: 19px; }
  :is(#homeLanding,#preGamePromotion) .home-promotion-onekey .home-promotion-label {
    left: 16px; top: 11px; font-size: 11px; line-height: 14px;
  }
  :is(#homeLanding,#preGamePromotion) .home-promotion-onekey .onekey-brand { left: 16px; top: 31px; gap: 2px; }
  :is(#homeLanding,#preGamePromotion) .home-promotion-onekey .onekey-brand strong {
    font-size: 29px; line-height: 31px; letter-spacing: -1px;
  }
  :is(#homeLanding,#preGamePromotion) .home-promotion-onekey .onekey-brand small { font-size: 13px; line-height: 16px; }
  :is(#homeLanding,#preGamePromotion) .home-promotion-onekey .onekey-headline {
    left: 16px; top: 88px; font-size: 22px; line-height: 26px;
  }
  :is(#homeLanding,#preGamePromotion) .home-promotion-onekey .home-promotion-action {
    left: 16px; bottom: 15px; min-height: 32px; padding: 6px 16px;
    font-size: 14px; line-height: 20px; gap: 9px; border-radius: 22px;
  }
  :is(#homeLanding,#preGamePromotion) .home-promotion-onekey .home-promotion-close {
    top: 1px; right: 1px; width: 36px; height: 36px; font-size: 25px;
  }
}

@media (min-width:651px){
 :is(#homeLanding,#preGamePromotion) .home-promotion{width:336px;height:200px;right:32px;bottom:78px;border-radius:20px}
 :is(#homeLanding,#preGamePromotion) .home-promotion-reopen{right:32px;bottom:78px}
}
@media (max-width:900px){
 :is(#homeLanding,#preGamePromotion) .home-promotion,:is(#homeLanding,#preGamePromotion) .home-promotion-reopen{position:relative;inset:auto;margin:0 max(0px,calc((100% - 1020px) / 2)) 32px auto}
 :is(#homeLanding,#preGamePromotion) .home-promotion-reopen{display:block;width:max-content}
}
/* Desktop always keeps the promotion floating. Reserve its width instead of stacking it. */
@media (min-width:901px){
 body:has(#homeLanding){--home-edge:clamp(16px,1.25vw,32px);--home-ad-width:clamp(220px,20vw,336px);--home-ad-gap:24px;display:flex;flex-direction:column;height:100dvh;min-height:600px}
 body:has(#homeLanding) .topbar{width:100%;max-width:none;height:64px;min-height:64px;flex:0 0 64px}
 body:has(#homeLanding) #app{width:100%;max-width:none;margin:0;padding:12px var(--home-edge);flex:1;min-height:0;display:flex}
 body:has(#homeLanding) footer{width:100%;max-width:none;flex:0 0 44px;min-height:44px;padding:10px var(--home-edge);font-size:11px;line-height:20px;margin-top:0}
 #homeLanding{--home-coin-size:clamp(58px,calc(20dvh - 60px),128px);width:min(1020px,calc(100% - var(--home-ad-width) - var(--home-ad-gap)));height:100%;min-height:0;display:flex;flex-direction:column;justify-content:center;margin:0 0 0 max(0px,min(calc((100% - 1020px) / 2),calc(100% - 1020px - var(--home-ad-width) - var(--home-ad-gap))))}
 #homeLanding .home-hero{min-height:0;flex:0 0 auto;padding:clamp(0px,calc(5dvh - 32px),22px) 16px clamp(12px,2dvh,28px)}
 #homeLanding .home-coin-scene{height:calc(var(--home-coin-size) + 14px);margin-bottom:clamp(4px,1dvh,12px)}
 #homeLanding .home-motto{font-size:clamp(36px,5.8dvh,68px);gap:20px}
 #homeLanding .home-enter{margin-top:clamp(10px,1.6dvh,22px);min-height:clamp(40px,5.5dvh,56px);padding:8px 16px;font-size:clamp(16px,2dvh,20px);width:260px}
 #homeLanding .home-return-room{margin:4px 0 0;padding:3px 10px;font-size:15px;line-height:22px}
 #homeLanding .home-market{width:100%;margin:0;display:flex;flex-direction:column;flex:1 1 0;min-height:0;max-height:500px;padding:18px 24px 14px}
 #homeLanding .home-market-heading{gap:20px;flex:0 0 auto}
 #homeLanding .home-market .eyebrow{font-size:10px;line-height:14px;margin-bottom:6px}
 #homeLanding .home-market h2{font-size:21px;line-height:1.4}
 #homeLanding .home-market-heading p{font-size:12px;line-height:18px;margin:4px 0 0}
 #homeLanding .home-quote-label{font-size:10px;line-height:14px}
 #homeLanding .home-live-quote>strong{font-size:32px;line-height:1.15;margin:3px 0}
 #homeLanding .home-live-quote>span{font-size:11px;line-height:16px}
 #homeLanding .home-chart-meta{flex:0 0 auto;margin:14px 0 0;line-height:16px}
 #homeLanding .home-history-plot{flex:1 1 0;height:auto;min-height:130px}
 #homeLanding .home-market-bottom{flex:0 0 auto;margin-top:6px;min-height:16px;line-height:16px;font-size:10px}
 #homeLanding .home-market-source{flex:0 0 auto;margin-top:8px;padding-top:8px;line-height:14px;font-size:9px}
 :is(#homeLanding,#preGamePromotion) .home-promotion,:is(#homeLanding,#preGamePromotion) .home-promotion-reopen{position:fixed;left:auto;top:auto;right:var(--home-edge);bottom:clamp(52px,6.75dvh,78px);margin:0}
 :is(#homeLanding,#preGamePromotion) .home-promotion{width:var(--home-ad-width);height:calc(var(--home-ad-width) * 200 / 336);border-radius:calc(var(--home-ad-width) * 20 / 336)}
 :is(#homeLanding,#preGamePromotion) .home-promotion-onekey .home-promotion-link{border-radius:calc(var(--home-ad-width) * 19 / 336)}
 :is(#homeLanding,#preGamePromotion) .home-promotion-onekey .home-promotion-label{left:calc(var(--home-ad-width) * 16 / 336);top:calc(var(--home-ad-width) * 11 / 336);font-size:calc(var(--home-ad-width) * 11 / 336);line-height:calc(var(--home-ad-width) * 14 / 336)}
 :is(#homeLanding,#preGamePromotion) .home-promotion-onekey .onekey-brand{left:calc(var(--home-ad-width) * 16 / 336);top:calc(var(--home-ad-width) * 31 / 336)}
 :is(#homeLanding,#preGamePromotion) .home-promotion-onekey .onekey-brand strong{font-size:calc(var(--home-ad-width) * 29 / 336);line-height:calc(var(--home-ad-width) * 31 / 336)}
 :is(#homeLanding,#preGamePromotion) .home-promotion-onekey .onekey-brand small{font-size:calc(var(--home-ad-width) * 13 / 336);line-height:calc(var(--home-ad-width) * 16 / 336)}
 :is(#homeLanding,#preGamePromotion) .home-promotion-onekey .onekey-headline{left:calc(var(--home-ad-width) * 16 / 336);top:calc(var(--home-ad-width) * 88 / 336);font-size:calc(var(--home-ad-width) * 22 / 336);line-height:calc(var(--home-ad-width) * 26 / 336)}
 :is(#homeLanding,#preGamePromotion) .home-promotion-onekey .home-promotion-action{left:calc(var(--home-ad-width) * 16 / 336);bottom:calc(var(--home-ad-width) * 15 / 336);min-height:calc(var(--home-ad-width) * 32 / 336);padding:calc(var(--home-ad-width) * 6 / 336) calc(var(--home-ad-width) * 16 / 336);font-size:calc(var(--home-ad-width) * 14 / 336);line-height:calc(var(--home-ad-width) * 20 / 336);gap:calc(var(--home-ad-width) * 9 / 336)}
 :is(#homeLanding,#preGamePromotion) .home-promotion-onekey .home-promotion-close{font-size:clamp(21px,1.5vw,25px);width:32px;height:32px}
}
@media (min-width:901px) and (max-height:740px){
 #homeLanding .home-market{padding:10px 20px}
 #homeLanding .home-market h2{font-size:18px;line-height:1.3}
 #homeLanding .home-market-heading p{font-size:11px;line-height:16px}
 #homeLanding .home-live-quote>strong{font-size:28px;line-height:1.1;margin:2px 0}
 #homeLanding .home-live-quote>span{line-height:14px}
 #homeLanding .home-chart-meta{margin-top:8px;line-height:14px}
 #homeLanding .home-market-bottom{margin-top:4px;min-height:14px;line-height:14px}
 #homeLanding .home-market-source{margin-top:6px;padding-top:6px;line-height:13px}
}
@media (min-width:901px) and (max-height:700px){
 body:has(#homeLanding) .topbar{height:56px;min-height:56px;flex-basis:56px}
 body:has(#homeLanding) footer{flex-basis:36px;min-height:36px;padding-top:6px;padding-bottom:6px}
 body:has(#homeLanding) #app{padding-top:8px;padding-bottom:8px}
 #homeLanding{--home-coin-size:54px}
 #homeLanding .home-hero{padding-top:0;padding-bottom:10px}
 #homeLanding .home-coin-scene{height:64px;margin-bottom:4px}
 #homeLanding .home-motto{font-size:34px}
 #homeLanding .home-enter{min-height:38px;margin-top:8px;font-size:16px;padding:6px 16px}
 #homeLanding .home-return-room{padding:1px 10px}
}
@media (max-width:650px){
 /* Keep the original mobile floating strip, independently of the desktop side rail. */
 :is(#homeLanding,#preGamePromotion) .home-promotion{position:fixed;top:auto;left:14px;right:14px;bottom:calc(12px + env(safe-area-inset-bottom,0px));width:auto;height:77px;margin:0}
 :is(#homeLanding,#preGamePromotion) .home-promotion-reopen{position:fixed;top:auto;left:auto;right:14px;bottom:calc(12px + env(safe-area-inset-bottom,0px));margin:0}
 body:has(#homeLanding) footer{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}
 body.home-promotion-open:has(#homeLanding) footer{padding-bottom:calc(104px + env(safe-area-inset-bottom,0px))}
}

/* Pre-game promotion floats independently of the centered page; absent during matches. */
#preGamePromotion [hidden]{display:none!important}
body.room-chat-expanded #preGamePromotion{visibility:hidden}
#preGamePromotion.promotion-clear-controls{visibility:hidden}
#preGamePromotion button:focus-visible{outline:2px solid #ffdea0;outline-offset:4px}
body[data-promotion-placement]{--home-edge:clamp(16px,1.25vw,32px);--home-ad-width:clamp(220px,20vw,336px)}


@media(min-width:651px) and (max-width:900px){
 #preGamePromotion .home-promotion,#preGamePromotion .home-promotion-reopen{position:fixed;left:auto;top:auto;right:16px;bottom:16px;margin:0}
 body[data-promotion-placement] footer{padding-bottom:76px}
 body.home-promotion-open[data-promotion-placement] footer{padding-bottom:236px}
}
@media(max-width:650px){
 body[data-promotion-placement] .network-hud>div:last-child{flex-wrap:wrap;min-width:0;max-width:100%;flex-shrink:1}
 body[data-promotion-placement] footer{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}
 body.home-promotion-open[data-promotion-placement] footer{padding-bottom:calc(104px + env(safe-area-inset-bottom,0px))}
}

/* A short, visible introduction also exists in the initial HTML. */
#homeLanding .home-description{margin:10px 0 0;font-size:12px;line-height:18px;color:#a7bca5;font-weight:500}
#homeLanding .home-noscript{margin:20px auto;padding:16px;max-width:600px;text-align:center;line-height:1.8;color:#bdcdbb}
#homeLanding .home-noscript a{color:#efcd86}
@media(min-width:901px) and (max-height:700px){#homeLanding .home-description{margin-top:5px;font-size:11px;line-height:16px}}
