/* Shared layout: comfortable density without scaling text or click targets. */
body.royal-v2 .site-header,body.royal-v2 .site-header.scrolled{height:72px;padding-inline:clamp(16px,3vw,48px);gap:20px}
body.royal-v2 .brand-logo,body.royal-v2 .site-header.scrolled .brand-logo{width:118px;height:65px}
body.royal-v2 .main-nav a{padding:12px 10px;font-size:13px}
body.royal-v2 .member-button{min-width:142px;min-height:46px}
body.royal-v2 .section-shell{width:min(1200px,calc(100% - 48px))}
body.royal-v2 .royal-hero{min-height:740px;padding:116px 0 90px}
body.royal-v2 .royal-hero::before{top:92px;bottom:54px;border-radius:28px}
body.royal-v2 .royal-hero-shell{width:min(1200px,calc(100% - 48px));grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:42px}
body.royal-v2 .royal-brand-column{padding:24px;border-radius:26px}
body.royal-v2 .royal-main-logo{width:min(350px,85%);max-height:290px;margin:-16px 0 -24px}
body.royal-v2 .royal-brand-column h1{font-size:clamp(32px,3vw,45px);line-height:1.4;letter-spacing:0}
body.royal-v2 .royal-brand-lead{font-size:14px;line-height:1.8;margin-top:12px}
body.royal-v2 .royal-chips{margin-top:16px;gap:6px}
body.royal-v2 .royal-chips span{padding:6px 10px;min-height:32px}
body.royal-v2 .royal-welcome-card{min-height:540px;padding:65px 34px 32px;border-radius:28px}
body.royal-v2 .royal-card-gem{width:58px;height:58px;top:-29px;border-width:4px;border-radius:20px;font-size:26px}
body.royal-v2 .royal-card-gem::before{inset:8px}
body.royal-v2 .royal-card-ribbon{top:23px;min-height:42px;padding:10px 18px;font-size:12px}
body.royal-v2 .royal-card-ribbon::before,body.royal-v2 .royal-card-ribbon::after{height:36px;width:35px}
body.royal-v2 .royal-card-kicker{margin-top:22px}
body.royal-v2 .royal-welcome-card h2{font-size:33px;line-height:1.4;letter-spacing:0}
body.royal-v2 .royal-card-copy{margin-block:10px 12px;font-size:13px}
body.royal-v2 .royal-promises>div{min-height:55px;padding:7px 4px}
body.royal-v2 .royal-card-actions{margin-top:16px}
body.royal-v2 .royal-primary,body.royal-v2 .royal-secondary{min-height:52px}
body.royal-v2 .royal-scroll{bottom:24px}
body.royal-v2 .realm-strip{width:min(1200px,calc(100% - 48px));min-height:98px;margin:0 auto;border-radius:20px}
body.royal-v2 .realm-strip::after{content:none}
body.royal-v2 .realm-label,body.royal-v2 .realm-stat{padding:20px}
body.royal-v2 .realm-label{padding-left:36px}
body.royal-v2 .realm-stat b{font-size:25px}
body.royal-v2 .portal-section{padding-block:72px}
body.royal-v2 .section-heading{margin-bottom:30px;grid-template-columns:.23fr 1.6fr .8fr;gap:24px}
body.royal-v2 .section-heading h2,body.royal-v2 .world-copy h2,body.royal-v2 .community-copy h2,body.royal-v2 .final-cta h2{font-size:clamp(28px,2.9vw,42px);line-height:1.5;letter-spacing:0;white-space:normal;overflow-wrap:break-word}
body.royal-v2 .section-heading>p{font-size:14px}
body.royal-v2 .portal-card{min-height:132px;padding:20px;grid-template-columns:52px minmax(0,1fr) 36px;gap:16px;border-radius:18px}
body.royal-v2 .portal-card .portal-glyph{width:50px;height:50px;border-radius:15px}
body.royal-v2 .portal-card .portal-copy h3{font-size:21px;line-height:1.5}
body.royal-v2 .world-showcase,body.royal-v2 .chronicle-section,body.royal-v2 .community-section{padding-block:72px}
body.royal-v2 .final-cta{min-height:420px;padding:72px 24px}
body.royal-v2 .final-cta::before,body.royal-v2 .final-cta::after{width:390px;height:390px;max-width:90vw;max-height:90vw}
body.royal-v2 .public-page{padding-top:110px}
body.royal-v2 .public-page-inner{max-width:1200px}
body.royal-v2 .public-hero h1{font-size:clamp(30px,3vw,44px);line-height:1.5}
body.royal-v2 .gvg-main{width:min(1200px,calc(100% - 40px));padding-top:110px}

/* Member services have opaque surfaces and semantic colors in both themes. */
body.royal-v2.member-refresh{--ui-bg:#f5edf1;--ui-panel:#fffbfd;--ui-soft:#faedf3;--ui-ink:#493943;--ui-muted:#705764;--ui-line:#e4cdd8;--ui-accent:#a53362;--ui-accent-bg:#f9e1ec;--ui-gold:#895609;--ui-positive:#176c50;--text:var(--ui-ink);--muted:var(--ui-muted);--line:var(--ui-line);background:var(--ui-bg);color:var(--ui-ink);font-size:14px}
html[data-theme="dark"] body.royal-v2.member-refresh{--ui-bg:#19131b;--ui-panel:#251d28;--ui-soft:#342737;--ui-ink:#f9eaf2;--ui-muted:#ceb7c8;--ui-line:#5b4154;--ui-accent:#ffadca;--ui-accent-bg:#482b3e;--ui-gold:#f5ce83;--ui-positive:#82dfb9}
body.royal-v2.member-refresh::before,body.royal-v2.member-refresh::after{display:none}
html body.royal-v2.member-refresh .sky,html body.royal-v2.member-refresh .world-backdrop{display:none}
html body.royal-v2.member-refresh .topbar{height:72px;background:var(--ui-panel);border-color:var(--ui-line);box-shadow:0 3px 18px #76435b0a}
html body.royal-v2.member-refresh .brand .crest{width:78px;height:62px}
html body.royal-v2.member-refresh .brand b{color:var(--ui-ink);font-size:16px}
html body.royal-v2.member-refresh .brand small{color:var(--ui-muted);font-size:9px}
html body.royal-v2.member-refresh .app-shell{width:min(1440px,100%);grid-template-columns:236px minmax(0,1fr);min-height:calc(100vh - 72px)}
html body.royal-v2.member-refresh .sidebar{top:72px;height:calc(100vh - 72px);padding:22px 14px;background:var(--ui-panel);border-color:var(--ui-line);box-shadow:none;overflow-y:auto;scrollbar-width:thin}
html body.royal-v2.member-refresh .sidebar-title{padding:0 10px 14px}
html body.royal-v2.member-refresh .sidebar-title small,html body.royal-v2.member-refresh .sidebar-title span,html body.royal-v2.member-refresh .account-mini small,html body.royal-v2.member-refresh .account-mini em{color:var(--ui-muted)!important}
html body.royal-v2.member-refresh .account-mini{padding:12px;margin-bottom:16px;background:var(--ui-soft);border-color:var(--ui-line);box-shadow:none}
html body.royal-v2.member-refresh .account-mini b{color:var(--ui-ink)}
html body.royal-v2.member-refresh .account-avatar{width:36px;height:36px;color:#fff;background:#a53362;border-color:#a53362;box-shadow:none}
html body.royal-v2.member-refresh .sidebar nav{gap:5px}
html body.royal-v2.member-refresh .sidebar nav a{min-height:46px;padding:10px 12px;gap:10px;font-size:14px;font-weight:650;color:var(--ui-ink)!important;border:1px solid transparent;border-radius:10px;box-shadow:none;background:transparent}
html body.royal-v2.member-refresh .sidebar nav a>span{width:26px;color:var(--ui-accent)!important;font-size:18px}
html body.royal-v2.member-refresh .sidebar nav a:hover,html body.royal-v2.member-refresh .sidebar nav a.active{color:var(--ui-accent)!important;background:var(--ui-accent-bg);border-color:var(--ui-line);box-shadow:inset 3px 0 var(--ui-accent)}
html body.royal-v2.member-refresh .sidebar nav .gm-nav-link{color:var(--ui-ink)!important;background:var(--ui-soft)!important;border-color:var(--ui-line)!important;box-shadow:none!important}
html body.royal-v2.member-refresh .sidebar nav a::after{border-color:var(--ui-muted)}
html body.royal-v2.member-refresh .sidebar .home-link{margin-top:18px;padding:10px;background:var(--ui-soft);border-color:var(--ui-line);color:var(--ui-ink);box-shadow:none}
html body.royal-v2.member-refresh .sidebar .home-link-icon,html body.royal-v2.member-refresh .sidebar .home-link-arrow{color:var(--ui-accent);background:var(--ui-accent-bg)}
html body.royal-v2.member-refresh .content{padding:30px clamp(20px,3vw,42px) 60px;color:var(--ui-ink);background:var(--ui-bg)}
html body.royal-v2.member-refresh .page-head{margin-bottom:22px;padding-bottom:18px}
html body.royal-v2.member-refresh .page-head h1{font-family:'Noto Sans Thai',sans-serif;font-size:clamp(25px,2.5vw,34px);line-height:1.5;letter-spacing:0;color:var(--ui-ink)!important}
html body.royal-v2.member-refresh .page-head p{font-size:14px;color:var(--ui-muted)!important}
html body.royal-v2.member-refresh .eyebrow{color:var(--ui-accent)!important}
html body.royal-v2.member-refresh .panel,html body.royal-v2.member-refresh .hero-wallet,html body.royal-v2.member-refresh .stat-grid article,html body.royal-v2.member-refresh .service-grid a,html body.royal-v2.member-refresh .loyalty-stats article,html body.royal-v2.member-refresh .loyalty-banner,html body.royal-v2.member-refresh .topup-loyalty-mini{background:var(--ui-panel);border-color:var(--ui-line);color:var(--ui-ink);box-shadow:0 4px 16px #76435b05;border-radius:16px}
html body.royal-v2.member-refresh .panel{padding:22px}
html body.royal-v2.member-refresh .panel h2,html body.royal-v2.member-refresh .panel h3{font-family:'Noto Sans Thai',sans-serif;color:var(--ui-ink)!important}
html body.royal-v2.member-refresh .panel h2{font-size:21px}
html body.royal-v2.member-refresh .panel p,html body.royal-v2.member-refresh .panel li,html body.royal-v2.member-refresh .panel>header p,html body.royal-v2.member-refresh .stat-grid small,html body.royal-v2.member-refresh .stat-grid span,html body.royal-v2.member-refresh .service-grid span,html body.royal-v2.member-refresh .loyalty-stats small,html body.royal-v2.member-refresh .loyalty-stats span{color:var(--ui-muted)!important}
html body.royal-v2.member-refresh .service-grid a{min-height:125px;padding:18px}
html body.royal-v2.member-refresh .hero-wallet h2{font-size:28px}
html body.royal-v2.member-refresh .hero-wallet strong{font-size:38px;color:var(--ui-gold)}
html body.royal-v2.member-refresh .package-grid{gap:10px}
html body.royal-v2.member-refresh .package{min-height:106px;padding:15px 10px;background:var(--ui-soft);border:1px solid var(--ui-line);color:var(--ui-ink);box-shadow:none;transition:border-color .15s,background .15s}
html body.royal-v2.member-refresh .package:hover,html body.royal-v2.member-refresh .package:focus-visible{background:var(--ui-accent-bg);border-color:var(--ui-accent)}
html body.royal-v2.member-refresh .package small,html body.royal-v2.member-refresh .package span,html body.royal-v2.member-refresh .package .package-detail{color:var(--ui-muted);font-size:12px}
html body.royal-v2.member-refresh .package b{color:var(--ui-gold);font-family:'Noto Sans Thai',sans-serif;font-size:22px}
html body.royal-v2.member-refresh .package .package-total{color:var(--ui-ink);font-size:15px}
html body.royal-v2.member-refresh .topup-loyalty-mini small{color:var(--ui-muted)}
html body.royal-v2.member-refresh .topup-loyalty-mini strong{color:var(--ui-accent)}
html body.royal-v2.member-refresh .topup-loyalty-mini a{background:var(--ui-accent-bg);color:var(--ui-accent);font-weight:700}
body.royal-v2.member-refresh table{color:var(--ui-ink)}
body.royal-v2.member-refresh th{background:var(--ui-soft);color:var(--ui-muted)!important}
body.royal-v2.member-refresh td{color:var(--ui-ink)!important;border-color:var(--ui-line)}
body.royal-v2.member-refresh td small{color:var(--ui-muted)!important}
body.royal-v2.member-refresh :focus-visible{outline:3px solid var(--ui-accent);outline-offset:3px}
body.royal-v2.member-refresh #chestHistory{max-height:540px;max-height:min(540px,65vh);overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#b56b8b transparent;padding-right:12px;border-radius:6px}
body.royal-v2.member-refresh #chestHistory::-webkit-scrollbar{width:9px}
body.royal-v2.member-refresh #chestHistory::-webkit-scrollbar-thumb{background:#b56b8b;border:2px solid transparent;background-clip:padding-box;border-radius:10px}
body.royal-v2.member-refresh #chestHistory:empty{min-height:0}
@media(max-width:1100px){body.royal-v2 .royal-hero-shell{gap:26px}body.royal-v2 .royal-welcome-card{padding-inline:24px}body.royal-v2 .royal-welcome-card h2{font-size:29px}html body.royal-v2.member-refresh .app-shell{grid-template-columns:215px minmax(0,1fr)}html body.royal-v2.member-refresh .sidebar-title,html body.royal-v2.member-refresh .account-mini{display:flex}html body.royal-v2.member-refresh .sidebar-title{flex-direction:column}html body.royal-v2.member-refresh .sidebar nav a{justify-content:flex-start}html body.royal-v2.member-refresh .sidebar .home-link{display:flex}html body.royal-v2.member-refresh .sidebar .home-link-label{display:inline;font-size:12px}html body.royal-v2.member-refresh .sidebar .home-link-arrow{display:none}}
@media(max-width:800px){body.royal-v2 .royal-hero{padding-block:104px 64px;min-height:0}body.royal-v2 .royal-hero-shell{grid-template-columns:1fr;max-width:600px;gap:50px}body.royal-v2 .royal-welcome-card{width:100%;min-height:0}body.royal-v2 .royal-brand-column{padding:18px}body.royal-v2 .royal-main-logo{max-height:240px}body.royal-v2 .royal-scroll{display:none}body.royal-v2 .section-heading{display:block}body.royal-v2 .realm-strip{grid-template-columns:repeat(2,1fr)}body.royal-v2 .realm-label{grid-column:1/-1}}
@media(max-width:760px){body.royal-v2 .site-header,body.royal-v2 .site-header.scrolled{height:66px;gap:12px;padding-inline:12px}body.royal-v2 .main-nav{top:66px}body.royal-v2 .section-shell,body.royal-v2 .royal-hero-shell,body.royal-v2 .realm-strip{width:calc(100% - 28px)}body.royal-v2 .portal-section,body.royal-v2 .world-showcase,body.royal-v2 .chronicle-section,body.royal-v2 .community-section{padding-block:44px}body.royal-v2 .section-heading h2,body.royal-v2 .world-copy h2,body.royal-v2 .community-copy h2,body.royal-v2 .final-cta h2{font-size:28px;line-height:1.5}body.royal-v2 .portal-card{padding:16px;gap:12px;grid-template-columns:42px minmax(0,1fr) 28px}body.royal-v2 .portal-card .portal-glyph{width:42px;height:42px}body.royal-v2 .portal-card .portal-copy h3{font-size:19px}body.royal-v2 .portal-card .portal-copy p{font-size:13px}body.royal-v2 .final-cta{min-height:350px;padding:52px 20px}html body.royal-v2.member-refresh .topbar{height:66px}html body.royal-v2.member-refresh .brand .crest{width:54px;height:48px}html body.royal-v2.member-refresh .brand b{font-size:12px}html body.royal-v2.member-refresh .sidebar{height:82px;padding:5px 6px;overflow-y:hidden;background:var(--ui-panel)}html body.royal-v2.member-refresh .sidebar-title,html body.royal-v2.member-refresh .account-mini{display:none}html body.royal-v2.member-refresh .sidebar nav{gap:5px}html body.royal-v2.member-refresh .sidebar nav a{min-width:86px;flex:0 0 86px;min-height:62px;display:grid;justify-content:center;font-size:11px;padding:5px;gap:3px;line-height:1.3}html body.royal-v2.member-refresh .sidebar nav a>span{font-size:18px}html body.royal-v2.member-refresh .sidebar .home-link{display:none!important}html body.royal-v2.member-refresh .content{padding:24px 14px 106px;background:var(--ui-bg)}html body.royal-v2.member-refresh .panel{padding:16px}html body.royal-v2.member-refresh .package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}html body.royal-v2.member-refresh .page-head h1{font-size:26px}body.royal-v2.member-refresh #chestHistory{max-height:480px;max-height:60vh;padding-right:8px}}

/* Explicit page canvas and high contrast transactional details. */
html:has(body.member-refresh){background:#f5edf1}
html[data-theme="dark"]:has(body.member-refresh){background:#19131b}
body.royal-v2.member-refresh{background:var(--ui-bg)!important;background-image:none!important;min-height:100vh}
body.royal-v2.member-refresh>footer{background:var(--ui-bg);border-color:var(--ui-line);color:var(--ui-muted)}
html body.royal-v2.member-refresh .rate-copy p b{color:var(--ui-gold)}
html body.royal-v2.member-refresh .payment-bonus-note{color:var(--ui-gold);background:var(--ui-soft);border-color:var(--ui-line)}
html body.royal-v2.member-refresh .payment-box .x{color:var(--ui-ink)}
html body.royal-v2.member-refresh .status.done{color:var(--ui-positive);background:var(--ui-soft)}
html body.royal-v2.member-refresh .status.wait{color:var(--ui-gold);background:var(--ui-soft)}

/* Keep member services in the same rose, cream and gold family as the homepage. */
html body.royal-v2.member-refresh .topbar{background:var(--ui-panel);border-bottom-color:var(--ui-line)}
html body.royal-v2.member-refresh .brand small{color:var(--ui-accent)}
html body.royal-v2.member-refresh .account-avatar{background:linear-gradient(145deg,#cf5c8b,#a53362);border-color:#b94473}
html body.royal-v2.member-refresh .sidebar nav a.active,html body.royal-v2.member-refresh .sidebar nav a:hover{background:var(--ui-accent-bg);color:var(--ui-accent)!important}
html body.royal-v2.member-refresh .panel,html body.royal-v2.member-refresh .hero-wallet,html body.royal-v2.member-refresh .topup-loyalty-mini{box-shadow:0 5px 20px #79435a09}
html body.royal-v2.member-refresh .page-head::after{background:linear-gradient(90deg,#cf7095,#dfb671,transparent)}
html body.royal-v2.member-refresh .panel::before{background:linear-gradient(90deg,transparent,#e2a4bc,#dfbf85,transparent)}
html body.royal-v2.member-refresh .chest-app{--ink:var(--ui-ink);--muted:var(--ui-muted);--gold:var(--ui-gold);--line:var(--ui-line)}
html body.royal-v2.member-refresh .chest-panel,html body.royal-v2.member-refresh .chest-heading,html body.royal-v2.member-refresh .chest-tile{background:var(--ui-panel);border-color:var(--ui-line);color:var(--ui-ink)}
html body.royal-v2.member-refresh .chest-heading h1,html body.royal-v2.member-refresh .chest-tile h2,html body.royal-v2.member-refresh .chest-section-title h2,html body.royal-v2.member-refresh .chest-history-row strong{color:var(--ui-ink)}
html body.royal-v2.member-refresh .history-loot span{color:var(--ui-ink);background:var(--ui-soft)}
html body.royal-v2.member-refresh .history-status.delivered{color:var(--ui-positive)}
html body.royal-v2.member-refresh .history-status.pending{color:var(--ui-gold)}
html body.royal-v2.member-refresh .chest-app .chest-secondary{background:var(--ui-soft);border-color:var(--ui-line);color:var(--ui-accent)}
html body.royal-v2.member-refresh .chest-toolbar{color:var(--ui-muted)}
