/* Player-area composition. Approved game art, compact content, no motion layer. */
html{scroll-padding-bottom:180px}
.portal-body{background:#0b1018 url('../assets/art/citadel.webp') center top/cover fixed;background-blend-mode:soft-light}
.portal-layout{max-width:1680px;background:#0b1018e8}
.portal-sidebar{min-height:100dvh;background:linear-gradient(#0b111bf5,#101723f0)}
.portal-brand{margin-bottom:30px}
.portal-main{padding:0 clamp(20px,3vw,44px)}
.portal-topbar{min-height:70px;margin-bottom:24px}
.portal-topbar>p{letter-spacing:.6px}
.portal-account{min-width:0;max-width:240px}
.portal-account>span:not(:last-child){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.portal-view{min-height:0}
.view-heading{gap:16px;align-items:center;margin-bottom:16px}
.view-heading .eyebrow{margin-bottom:12px;font-size:10px}
.view-heading h1{font-size:clamp(30px,3.5vw,46px);line-height:1.12}
.view-heading h1 br{display:none}
.view-heading h1 em::before{content:' '}
.view-intro{font-size:14px;margin-bottom:18px;line-height:1.6}
.illustrated-heading{position:relative;isolation:isolate;overflow:hidden;min-height:180px;padding:24px;border:1px solid #89704766;background:#101a28}
.illustrated-heading::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0b131bef 15%,#0b131b55),url('../assets/art/the-forge.webp') center 45%/cover}
.illustrated-heading .catalog-stamp{background:#0b131be0;border:1px solid #89704755;padding:12px;flex:0 0 200px}
.catalog-stamp small{display:block}
.demo-disclosure{font-size:12px;margin-bottom:16px}
.profile-banner{min-height:176px;padding:26px}
.profile-landscape{opacity:.6}
.profile-identity{min-width:0}
.profile-identity>div{min-width:0}
.profile-identity h2{overflow-wrap:anywhere;line-height:1.15}
.profile-level{flex-shrink:0}
.stat-grid{gap:12px;margin:12px 0 20px}
.stat-card{position:relative;padding:18px 12px;background:linear-gradient(130deg,#1d2b3a,#101925)}
.stat-card>div{min-width:0}
.stat-card strong{font-size:clamp(19px,2vw,28px);overflow-wrap:normal;word-break:normal;line-height:1.2}
.stat-card small{margin-top:6px}
.portal-panel{padding:22px;background:linear-gradient(130deg,#162333f5,#101a28)}
.journey-panel{min-height:260px}
.journey-panel h2{font-size:30px}
.journey-panel>img{width:150px;right:0}
.journey-panel p:not(.eyebrow){max-width:65%}
.rewards-teaser{padding:18px;margin-top:18px}
.rewards-teaser>div{min-width:0}
.rewards-teaser strong{font-size:23px}
.shop-bonus{border:1px solid #8a6d3d66;background:#1c211fcc;margin:0 0 14px}
.shop-bonus summary{cursor:pointer;display:flex;align-items:center;gap:12px;padding:8px 14px;font-size:15px;min-height:52px;color:#ead4a9}
.shop-bonus summary img{object-fit:contain}
.shop-bonus summary>span:last-child{margin-left:auto;font-size:24px}
.shop-bonus summary em{font-style:normal}
.shop-bonus p{padding:0 16px 14px;margin:0;font-size:13px;color:#b5c3d2}
.shop-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start}
.shop-content,#cart-slot{min-width:0}
#cart-slot{position:sticky;top:16px}
.shop-toolbar{margin:0 0 16px;gap:10px;flex-wrap:wrap}
.shop-filters{gap:18px;flex-wrap:wrap}
.shop-filters button{font-size:13px;padding:12px 0}
#product-count{margin:0 0 10px}
.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.product-card{padding:16px;background:radial-gradient(ellipse at 70% 10%,#92733b26,transparent 70%),linear-gradient(135deg,#172638,#101a27)}
.product-art{height:86px;margin:4px 0 12px}
.product-art img{width:90px;height:90px}
.product-card h2{font-size:26px}
.product-card .product-description{font-size:12px;line-height:1.6;min-height:0;margin-bottom:12px}
.product-first{margin-bottom:14px;padding-top:10px}
.product-first small{display:none}
.product-buy-row{display:flex;flex-wrap:wrap;padding-top:12px}
.product-detail-button,.portal-body .button.primary{background:linear-gradient(#755b31,#45341d);box-shadow:inset 0 1px #edd59a55,inset 0 -2px #21190f;color:#fff0cb;border:1px solid #ba965e;border-radius:3px}
.product-detail-button:hover,.portal-body .button.primary:hover{background:linear-gradient(#8b6c39,#594223);color:#fff7df}
.product-detail-button{min-height:44px}
.cart-panel{margin-top:0;padding:18px;border-color:#8c704c88}
.cart-panel h2{font-size:24px}
.cart-panel p,.cart-panel .small-status{font-size:12px;overflow-wrap:anywhere}
.cart-lines{margin:14px 0}
.cart-lines li{grid-template-columns:34px minmax(0,1fr);gap:10px;padding:14px 0;font-size:13px}
.cart-lines img{width:34px;height:34px}
.cart-lines li>strong{grid-column:2;text-align:right}
.cart-quantity{grid-column:1/3}
.cart-quantity button{width:44px;height:44px}
.cart-bottom{gap:16px}
.cart-bottom>div{width:100%;display:flex;justify-content:space-between;align-items:center;font-size:13px}
.cart-bottom strong{font-size:26px;margin:0}
.cart-bottom .button{width:100%;font-size:13px}
.cart-panel .detail-caption{line-height:1.6}
#cart-tax-note:empty,#cart-status:empty{display:none}
.cart-dock{display:none}
.cart-dialog{max-width:min(620px,calc(100vw - 24px))}
.cart-dialog .cart-panel{border:0;padding:54px 22px 22px}
.cart-dialog .cart-lines li{grid-template-columns:44px minmax(0,1fr) auto}
.cart-dialog .cart-quantity{grid-column:auto}
.cart-dialog .cart-lines li>strong{grid-column:2/4}
.orders-panel{padding:22px;margin-top:18px}
.orders-notes{gap:20px;margin-top:22px}
.orders-notes h3{font-size:20px}
.access-view{min-height:0}
.access-art{min-height:560px}
.access-form-wrap{padding:28px}
.access-form-wrap h2{font-size:40px}
.portal-form input{font-size:16px}
.portal-footer{margin-top:30px;padding:22px 0}
.rewards-hero{min-height:180px}
.rewards-hero::before{background:linear-gradient(90deg,#0b131bf2,#0b131b88),url('../assets/art/the-throne.webp') center 52%/cover}
.rewards-hero>img{width:150px;height:150px;object-fit:contain;filter:drop-shadow(0 12px 20px #0008);flex-shrink:0}
.rewards-hero p:last-child{font-size:14px;color:#c3cddd;margin:12px 0 0}
.rewards-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:13px}
.rewards-toolbar p:empty{display:none}
.reward-notice{padding:14px 18px;border-left:2px solid #c4a264;background:#172536;line-height:1.6;color:#d3dce6;font-size:14px}
.reward-notice:empty{display:none}
.reward-wallet{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:18px}
.reward-wallet article{border:1px solid #8a704b55;padding:18px;background:linear-gradient(125deg,#273144,#121d2b)}
.reward-wallet span,.reward-wallet small{display:block;font-size:12px;color:#b8c7d8}
.reward-wallet strong{display:block;font-size:34px;color:#efd9a5;font-family:var(--serif);font-variant-numeric:tabular-nums;margin:10px 0}
.reward-rules{font-size:13px;color:#acbdd1;white-space:pre-line}
.reward-section{margin-top:28px}
.reward-section>h2{font-size:28px;margin-bottom:16px}
.reward-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px}
.reward-card{position:relative;padding:18px;border:1px solid #7d694666;background:radial-gradient(ellipse at 90% 0,#8c6f3222,transparent),#121f2f}
.reward-card>img{width:76px;height:76px;object-fit:contain;float:right;margin:0 0 10px 12px}
.reward-card h3{font-size:24px;line-height:1.2;margin:8px 0 12px;overflow-wrap:anywhere}
.reward-card p{font-size:13px;color:#b7c7d9}
.reward-items{list-style:none;padding:0;margin:12px 0;clear:both}
.reward-items li{display:flex;align-items:center;gap:8px;font-size:13px;padding:4px 0}
.reward-items img{width:32px;height:32px;object-fit:contain}
.reward-card button{min-height:44px;width:100%;font-size:13px}
.reward-campaign{border:1px solid #3f536c;padding:20px;margin-bottom:14px;background:#121e2d}
.reward-campaign h3{font-size:25px}
.reward-campaign p,.reward-campaign time{font-size:13px;color:#b7c6d9}
.reward-campaign progress{width:100%;height:10px;accent-color:#d0ae6e;margin:8px 0 18px}
.redeem-layout{grid-template-columns:100px minmax(0,1fr);padding:22px;gap:22px;margin-top:28px;background:linear-gradient(115deg,#203248,#131e2c)}
.redeem-art{display:flex}
.redeem-art img{width:96px;height:96px}
.redeem-content h2{font-size:28px;margin-bottom:10px}
.redeem-content>p{font-size:13px}
.redeem-input input{min-width:0}
.reward-history{list-style:none;margin:0;padding:0}
.reward-history li{display:flex;gap:16px;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid #304055;font-size:14px}
.reward-history small{display:block;color:#a4b6cc;font-size:12px;margin-top:6px}
.reward-history strong{white-space:nowrap;font-variant-numeric:tabular-nums}
.reward-explainer{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}
.reward-explainer article{padding:20px;border:1px solid #35455b;background:#121e2b}
.reward-explainer img{float:right;object-fit:contain;margin-left:12px}
.reward-explainer h2{font-size:25px}
.reward-explainer p{font-size:13px;color:#b5c6da}
.portal-body [hidden]{display:none!important}
@media(min-width:1280px){#cart-slot .cart-panel{max-height:calc(100dvh - 32px);overflow:auto}}
@media(max-width:1279px){.shop-layout{grid-template-columns:minmax(0,1fr)}#cart-slot{position:static}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1024px){
  .portal-layout{display:block}.portal-sidebar{position:static;min-height:0;padding:8px 18px;border:0;border-bottom:1px solid #293849;background:#0b121b}
  .portal-brand{width:auto;flex-direction:row;gap:12px;justify-content:flex-start;margin:0}
  .portal-brand img{width:100px;height:44px}.portal-brand>span{font-size:9px;margin:0}
  .sidebar-label,.sidebar-bottom{display:none}
  .portal-nav{position:fixed;bottom:0;left:0;right:0;z-index:35;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:#0b131bf5;border-top:1px solid #806b48}
  .portal-nav a{white-space:normal;flex-direction:column;justify-content:center;gap:5px;min-height:58px;padding:6px 3px;font-size:11px;line-height:1.2;text-align:center}
  .portal-nav a svg{width:19px;height:19px;flex-shrink:0}
  .portal-main{padding:0 20px 110px}
  .portal-topbar{min-height:62px;margin-bottom:18px;gap:10px;padding:8px 0}
  .portal-topbar>p{display:none}
  .portal-topbar .language-picker{order:0;margin:0}
  .portal-topbar .portal-account{order:1;max-width:50%;margin-left:auto}
  .portal-account>span:not(:last-child){display:block}
  .portal-topbar .language-picker select{max-width:125px;min-height:44px;font-size:13px}
  .portal-topbar #player-logout{min-height:44px}
  .portal-preview{padding:8px 18px;min-height:32px;font-size:10px}
  .portal-preview>span:not(.preview-dot){display:none}
  .cart-dock{position:fixed;z-index:34;left:12px;right:12px;bottom:calc(84px + env(safe-area-inset-bottom));border:1px solid #b99763;background:linear-gradient(110deg,#332b1e,#172333);box-shadow:0 4px 20px #0008}
  .portal-body[data-route="emporio"] .cart-dock{display:block}
  .cart-dock button{display:flex;align-items:center;gap:12px;padding:12px 16px;width:100%;text-align:left;color:#f7e5c1;min-height:60px}
  .cart-dock button>span{flex:1;font-size:14px}.cart-dock small{display:block;font-size:11px;color:#c1cddd;margin-top:4px}
  .cart-dock strong{font-size:21px;white-space:nowrap}.cart-dock svg{width:18px;height:18px}
  .portal-body[data-route="emporio"] .portal-main{padding-bottom:190px}
  .profile-banner{gap:20px}.profile-level{min-width:140px}
  .stat-card strong{font-size:27px}
  .access-art{min-height:220px}.access-view{grid-template-columns:1fr 1fr}
  .access-art h1{font-size:36px}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .portal-main{padding-left:14px;padding-right:14px}
  .portal-preview{gap:8px;padding-left:14px;padding-right:14px}.portal-preview strong{max-width:65%}
  .portal-brand img{height:36px;width:88px}.portal-sidebar{padding:7px 14px}
  .portal-topbar{margin-bottom:14px}
  .view-heading h1{font-size:32px}.view-heading{flex-wrap:wrap}
  .illustrated-heading{padding:18px;min-height:145px}
  .illustrated-heading .catalog-stamp{display:none}
  .illustrated-heading .eyebrow{font-size:9px;letter-spacing:1px}
  .view-intro{font-size:13px;margin-bottom:12px}
  .compact-heading .status-pill{font-size:10px}
  .profile-banner{padding:18px;flex-wrap:wrap;min-height:0}
  .profile-avatar{width:64px;height:64px}.profile-identity h2{font-size:29px}
  .profile-level{min-width:100%;max-width:none}.profile-level>strong{font-size:32px;display:inline-block;margin:0 10px 10px}
  .stat-grid{grid-template-columns:1fr 1fr;gap:8px}.stat-card{padding:14px 10px;gap:8px;flex-wrap:wrap}
  .stat-card>div{flex-basis:100%}.stat-card strong{font-size:clamp(18px,5.5vw,25px)}
  .stat-card:has(strong[data-long="true"]){grid-column:1/-1}
  .stat-card>img,.stat-card>svg{width:32px;height:32px;margin:0}.stat-card span{font-size:12px}
  .overview-grid{gap:14px}.portal-panel{padding:18px}.journey-panel{min-height:240px}
  .journey-panel h2{font-size:28px}.journey-panel>img{width:125px;opacity:.8}
  .pass-list li{flex-wrap:wrap}.rewards-teaser{gap:12px;padding:16px}.rewards-teaser strong{font-size:22px}.rewards-teaser .small-status{display:none}
  .shop-filters{gap:16px}.shop-filters button{font-size:12px}.shop-toolbar{gap:0;margin-bottom:12px}
  .product-grid{grid-template-columns:1fr;gap:12px}
  .product-card{padding:16px;display:grid;grid-template-columns:84px minmax(0,1fr);gap:0 16px;align-items:start}
  .product-badge{grid-column:1/3;font-size:10px;margin-bottom:10px}
  .product-art{grid-column:1;grid-row:2/5;height:84px;margin:0}.product-art img{width:84px;height:84px}
  .product-card h2{grid-column:2;font-size:26px;margin:0 0 6px}
  .product-card .product-description{grid-column:2;margin-bottom:8px}
  .product-first{grid-column:2;font-size:11px;margin:0 0 10px;padding-top:8px}
  .product-buy-row{grid-column:1/3;margin-top:6px}.product-price{font-size:25px;margin:0}.product-detail-button{width:auto}
  .shop-footnotes{flex-direction:column;gap:12px}
  .access-view{display:flex;flex-direction:column}.access-art{min-height:145px;max-height:180px}
  .access-art>img{object-position:50% 24%}.access-art>div{padding:18px}.access-art h1{font-size:28px;margin:0}.access-art .eyebrow{margin-bottom:8px}.access-art p:last-child{display:none}
  .access-form-wrap{padding:22px 18px}.access-form-wrap h2{font-size:32px;margin-top:12px}
  .access-notice{margin:14px 0}.portal-form input{margin-bottom:16px}
  .rewards-hero{flex-wrap:nowrap;min-height:155px;gap:8px}.rewards-hero h1{font-size:30px}.rewards-hero>img{width:90px;height:100px}.rewards-hero p:last-child{font-size:12px}
  .reward-wallet{grid-template-columns:1fr 1fr}.reward-wallet article{padding:16px}.reward-wallet strong{font-size:29px}
  .reward-section{margin-top:24px}.reward-section>h2{font-size:26px}
  .redeem-layout{grid-template-columns:1fr;gap:8px;padding:18px}
  .redeem-art{display:block;position:relative;height:55px}.redeem-art img{width:64px;height:64px}
  .redeem-content h2{font-size:27px}.redeem-input{flex-wrap:wrap}.redeem-input input{flex-basis:100%}.redeem-input button{width:100%;min-height:46px}
  .reward-explainer{grid-template-columns:1fr}.reward-explainer h2{font-size:24px}
  .reward-campaign{padding:16px}.reward-cards{grid-template-columns:1fr}
  .orders-notes{grid-template-columns:1fr;gap:18px}.orders-notes article{border-bottom:1px solid #293849;padding-bottom:14px}.orders-notes svg{float:left;margin:0 12px 0 0}
  .product-dialog-inner{padding:48px 20px 22px}.detail-heading{gap:12px;margin-right:0}.detail-heading>img{width:68px;height:68px}.detail-heading h2{font-size:29px}
  .detail-rows>div{font-size:13px;gap:12px}.detail-total{gap:12px}.detail-total>span{font-size:13px}
  #profile-controls{flex-wrap:wrap;gap:12px}#profile-controls label{max-width:100%}#profile-server{max-width:100%}
}
@media(prefers-reduced-motion:reduce){.product-card:hover{transform:none}}
