/* Cinematic portal: existing game, account and collection behavior stays in place. */
:root{--portal-ink:#19372d;--portal-cream:#fffaf2;--portal-coral:#fa7068;--portal-line:#e8e6dc}
body{background:var(--portal-cream);color:var(--portal-ink)}
body>header{position:relative;z-index:3;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:26px;row-gap:4px;padding:8px clamp(16px,4vw,68px);background:#fffdfa;border-bottom:1px solid #eee8db}
.brand-wrap{display:flex;align-items:center;gap:12px;min-width:0}
.brand-media{position:relative;width:104px;height:54px;flex:none;border-radius:9px;overflow:hidden;background:#071a35;box-shadow:0 3px 10px #11243b30}
.brand-media video{display:block;width:100%;height:100%;object-fit:cover}
.brand-media button{position:absolute;left:2px;bottom:2px;min-height:23px;width:23px;padding:0;border-radius:5px;background:#102c4aba;color:white;font-size:10px;line-height:1}
.brand{display:flex;flex-direction:column;align-items:flex-start;gap:0;white-space:nowrap}
.brand span{font-size:25px;font-weight:900;letter-spacing:.01em;line-height:1.1}
.brand small{display:block;margin:0;color:#65766d;font-size:11px;letter-spacing:0}
body>header nav{display:flex;justify-content:center;align-items:center;gap:clamp(2px,1vw,20px);flex-wrap:nowrap;min-width:0}
body>header nav a,body>header nav :is(#home,#collection,#settings,#member-account){display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:50px;padding:6px 9px;border:0;border-radius:8px;background:transparent;color:var(--portal-ink);font-size:clamp(12px,1vw,15px);font-weight:800;line-height:1.15;white-space:nowrap;text-decoration:none}
body>header nav a:hover,body>header nav button:hover{background:#edf3eb}
body>header nav small{font-size:10px;font-weight:500;color:#66756d}
body>header #language{font-size:12px;padding:8px;max-width:165px}
body>header #audio-test,body>header>.volume{font-size:11px;padding:3px 9px;min-height:30px;justify-self:end}
body>header #audio-test{grid-column:1;grid-row:2;justify-self:start}
body>header>.volume{border:0;gap:8px;grid-row:2}
body>header>.volume:nth-of-type(1){grid-column:2;justify-self:center}
body>header>.volume:nth-of-type(2){grid-column:3;justify-self:end}
body>header>.volume input{width:75px;padding:0}
main#app{max-width:1560px;padding:20px clamp(14px,3vw,46px) 54px}
body>header+main[data-page=home]{padding-top:18px}
.portal-hero{position:relative;min-height:clamp(420px,35vw,560px);border-radius:28px;overflow:hidden;background:#17372d;isolation:isolate;box-shadow:0 18px 50px #142d2530}
.portal-hero-image{position:absolute;inset:0 0 0 auto;width:61%;height:100%;object-fit:cover;object-position:center 38%;z-index:-2}
.portal-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#102e26 0%,#17372ddf 37%,#17372d45 66%,transparent 100%)}
.portal-hero-content{position:relative;max-width:670px;padding:clamp(34px,5vw,78px);color:white}
.portal-kicker{font-size:12px;font-weight:800;letter-spacing:.18em;color:#ffcd9c}
.portal-hero h1{margin:22px 0 18px;color:white;font-size:clamp(34px,4.4vw,68px);line-height:1.15;letter-spacing:-.045em}
.portal-hero h1 small,.portal-auth-scene h1 small{display:block;margin-top:13px;color:#fff9ef;font-size:clamp(19px,2vw,30px);font-weight:650;letter-spacing:-.01em}
.portal-hero p{color:#fff9ec;font-size:clamp(16px,1.35vw,21px);line-height:1.55}
.portal-hero p span{font-size:.87em}
.portal-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.portal-hero-actions>a,.portal-hero-actions>button,.portal-action{display:inline-flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:190px;min-height:62px;padding:11px 22px;border:2px solid white;border-radius:18px;background:#ffffff12;color:white;font-size:18px;font-weight:850;text-decoration:none}
.portal-hero-actions>.portal-action,.portal-action{border-color:var(--portal-coral);background:var(--portal-coral);color:#fff}
.portal-hero-actions small,.portal-action small{display:block;font-size:11px;font-weight:500}
.portal-hero-actions a:hover,.portal-hero-actions button:hover{filter:brightness(1.08)}
#app[data-page=home] .discovery-hub{margin:22px 0 38px}
#app[data-page=home] .discovery-hub>h2{display:inline-block;margin:4px 16px 12px 0;font-size:21px}
#app[data-page=home] .discovery-hub>p{display:inline-block;margin:0 0 12px;color:#66776d;font-size:13px}
#app[data-page=home] .journey-grid{gap:16px}
#app[data-page=home] .journey-card{min-height:228px;padding:24px;overflow:hidden;background:#fffdf8;border:1px solid var(--portal-line);box-shadow:0 8px 22px #143b2920}
#app[data-page=home] .journey-card::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#fffdf8 0%,#fffdf8 42%,#fffdf8a8 64%,transparent 100%);pointer-events:none}
#app[data-page=home] .journey-card>img,#app[data-page=home] .journey-card>.portal-book{position:absolute;right:0;top:0;width:62%;height:100%;margin:0}
#app[data-page=home] .journey-card>img{object-fit:cover;object-position:center 38%}
#app[data-page=home] .journey-card>.journey-number,#app[data-page=home] .journey-card>h3,#app[data-page=home] .journey-card>p{position:relative;z-index:2;display:block;width:58%}
#app[data-page=home] .journey-card>h3{font-size:clamp(17px,1.6vw,23px);line-height:1.25;margin:14px 0}
#app[data-page=home] .journey-card>p{font-size:13px;line-height:1.55}
.portal-book{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);gap:3px;padding:12px 12px 12px 20px;transform:rotate(5deg) scale(.88);border-radius:14px;background:#eedab6;box-shadow:0 8px 25px #68513b55}
.portal-book img{width:100%;height:100%;object-fit:contain;background:#fff7e8;border:1px solid #d1b78c;border-radius:6px}
#app[data-page=home] .section-title{margin-top:22px}
#app[data-page=home] #games{margin-top:16px}
.portal-auth-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.85fr);min-height:710px;border-radius:26px;overflow:hidden;box-shadow:0 18px 45px #1b3b3024}
.portal-auth-scene{position:relative;display:flex;align-items:flex-start;justify-content:flex-end;flex-direction:column;min-height:710px;padding:clamp(30px,5vw,70px);background:#1b3e32;color:white;isolation:isolate}
.portal-auth-scene>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%;z-index:-2}
.portal-auth-scene::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#123027ec 0%,#18372745 58%,transparent 100%)}
.portal-auth-scene h1{color:white;font-size:clamp(36px,4vw,62px)}
.portal-auth-scene p{color:#fff9ee;font-size:17px}
.portal-auth-card{max-width:none;margin:0;padding:clamp(26px,4vw,62px);border:0;border-radius:0;background:#fffdf9;box-shadow:none}
.portal-auth-card h1{font-size:clamp(29px,3vw,42px)}
.portal-auth-tabs{margin:24px 0}
.portal-auth-tabs button[aria-pressed=true],.portal-ledger-filters button[aria-pressed=true]{background:var(--portal-coral);color:white}
.portal-auth-card form{gap:14px}
.portal-auth-card form label{font-weight:700;color:#253d33}
.portal-auth-card form input{min-height:52px}
.portal-auth-card form button.primary{min-height:58px;background:var(--portal-coral);font-size:18px}
.portal-auth-note{font-size:12px;color:#66776d}
#member-error:not(:empty){padding:12px;border-radius:10px;background:#fff1ec;color:#8b2424}
.portal-points-intro{padding:28px 36px 58px;border-radius:28px 28px 0 0;background:linear-gradient(90deg,#15382e,#356142);color:white}
.portal-points-intro h1{margin:0 0 10px;color:white;font-size:clamp(36px,4vw,58px)}
.portal-points-intro h1 small{color:#f8f6e7}
.portal-points-intro p{margin:0;color:#f8f6e7}
.portal-points-summary{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:240px;margin:-38px 24px 20px;padding:34px 42px;overflow:hidden;border-radius:24px;background:#fffdf8;box-shadow:0 12px 33px #183a2930}
.portal-points-summary>div{position:relative;z-index:1}
.portal-points-summary p{margin:4px 0 10px;color:#52675a}
.portal-points-summary strong{display:block;color:var(--portal-coral);font-size:clamp(42px,5vw,72px);line-height:1.1}
.portal-points-summary>img{width:min(22vw,210px);height:200px;object-fit:contain;align-self:end}
.portal-points-metrics{display:flex;flex-wrap:wrap;gap:6px 30px;margin-top:18px;font-size:13px}
.portal-ledger{margin:20px 24px;padding:28px 34px;overflow-x:auto}
.portal-ledger h2{margin:0 0 4px}
.portal-ledger>p{margin:0 0 12px;font-size:13px}
.portal-ledger-filters button{font-size:13px}
.portal-ledger table{width:100%;border-collapse:collapse;min-width:570px}
.portal-ledger th,.portal-ledger td{padding:15px 12px;border-bottom:1px solid #e5e9df;text-align:left;vertical-align:top}
.portal-ledger th{background:#f1f5ed;font-size:13px}
.portal-ledger .point-credit td:nth-child(3){color:#227346;font-weight:800}
.portal-ledger .point-debit td:nth-child(3){color:#b43b35;font-weight:800}
.portal-account-tools{max-width:none;margin:20px 24px}
.portal-collection-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:280px;padding:28px 48px;overflow:hidden;border-radius:24px;background:linear-gradient(95deg,#143329,#1d5138 65%,#759b5b);color:white}
.portal-collection-banner h1{color:white;font-size:clamp(38px,4.4vw,66px)}
.portal-collection-banner h1 small{color:#f7f4e9}
.portal-collection-banner p{color:#f7f4e9;font-size:19px}
.portal-collection-banner img{width:35%;height:260px;object-fit:cover;object-position:center 30%;border-radius:18px}
#app[data-page=collection]>.toolbar{margin:22px 0}
#app[data-page=collection]>.toolbar button{background:#fffdf8;border:1px solid #e2e7dc}
#app[data-page=collection]>.toolbar input{min-width:280px}
#app[data-page=collection] .collection{grid-template-columns:repeat(5,minmax(0,1fr))}
#app[data-page=collection] .collection-tile{padding:10px;background:#fffdf8}
#app[data-page=collection] .collection .card{width:100%;grid-template-rows:170px auto}
#app[data-page=collection] .collection .card img{height:170px}
#app[data-page=collection] .collection .card h3 small{display:block;margin-top:3px;color:#61756c;font-size:13px;font-weight:500}
@media(max-width:1100px){body>header{grid-template-columns:auto minmax(0,1fr)}body>header #language{grid-column:2;justify-self:end}body>header nav{grid-column:1/-1;grid-row:2;justify-content:space-between}body>header #audio-test{grid-column:1}body>header>.volume{grid-column:2}.portal-auth-layout{grid-template-columns:1fr 1fr}#app[data-page=collection] .collection{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:720px){body>header{padding:8px 12px;gap:7px}.brand-media{width:75px;height:48px}.brand span{font-size:21px}.brand small{font-size:9px}body>header nav,body.playing header nav{display:flex;grid-column:1/-1;grid-row:auto;width:100%;overflow-x:auto;justify-content:flex-start;gap:3px}body>header nav a,body>header nav :is(#home,#collection,#settings,#member-account){flex:none;min-height:45px;padding:5px 8px;font-size:12px}body>header nav small{font-size:9px}body>header #language{max-width:135px;font-size:11px;padding:5px}body>header #audio-test{grid-column:1}body>header>.volume{grid-column:2;font-size:10px}main#app{padding:12px 12px 40px}.portal-hero{min-height:560px;border-radius:20px}.portal-hero-image{inset:0;width:100%;height:100%;object-position:center 20%;opacity:.82}.portal-hero::before{background:linear-gradient(0deg,#102e26 0%,#17372dcf 50%,#17372d30 100%)}.portal-hero-content{display:flex;flex-direction:column;justify-content:flex-end;min-height:560px;padding:24px}.portal-hero h1{font-size:35px;margin:12px 0}.portal-hero h1 small{font-size:19px}.portal-hero-actions>a,.portal-hero-actions>button{min-width:0;flex:1 1 42%;font-size:14px;padding:9px;min-height:58px}#app[data-page=home] .journey-grid{grid-template-columns:1fr}#app[data-page=home] .journey-card{display:block;min-height:190px;padding:20px}#app[data-page=home] .journey-card>img,#app[data-page=home] .journey-card>.portal-book{width:55%;height:100%}#app[data-page=home] .journey-card>.journey-number,#app[data-page=home] .journey-card>h3,#app[data-page=home] .journey-card>p{width:58%;grid-column:auto;grid-row:auto}#app[data-page=home] .journey-card>h3{font-size:19px}.portal-auth-layout{grid-template-columns:1fr;min-height:0}.portal-auth-scene{min-height:310px;padding:24px}.portal-auth-scene>img{object-position:center 33%}.portal-auth-scene h1{font-size:32px;margin:10px 0}.portal-auth-scene h1 small{font-size:17px}.portal-auth-scene p{font-size:13px}.portal-auth-card{padding:22px}.portal-points-intro{padding:26px 22px 52px}.portal-points-summary{min-height:210px;margin:-32px 8px 16px;padding:24px}.portal-points-summary>img{width:100px;height:130px}.portal-points-summary strong{font-size:40px}.portal-points-metrics{font-size:11px}.portal-ledger,.portal-account-tools{margin:15px 8px;padding:18px}.portal-collection-banner{min-height:230px;padding:22px}.portal-collection-banner img{width:35%;height:180px}.portal-collection-banner h1{font-size:32px}.portal-collection-banner p{font-size:14px}#app[data-page=collection] .collection{grid-template-columns:repeat(2,minmax(0,1fr))}body.playing .brand-wrap{display:none}}
@media(prefers-reduced-motion:reduce){.portal-hero-actions a,.portal-hero-actions button{transition:none}}
@media(max-width:1100px){
 body>header{grid-template-columns:auto minmax(0,1fr) auto}
 body>header #language{grid-column:3;grid-row:1}
 body>header nav{grid-column:1/-1;grid-row:2}
 body>header #audio-test{grid-column:1;grid-row:3}
 body>header>.volume:nth-of-type(1){grid-column:2;grid-row:3;justify-self:center}
 body>header>.volume:nth-of-type(2){grid-column:3;grid-row:3;justify-self:end}
}
@media(max-width:720px){
 body>header{grid-template-columns:minmax(0,1fr) auto}
 body>header #language{grid-column:2;grid-row:1}
 body>header #audio-test{grid-column:1;grid-row:3}
 body>header>.volume:nth-of-type(1){grid-column:2;grid-row:3;justify-self:end}
 body>header>.volume:nth-of-type(2){grid-column:1/-1;grid-row:4;justify-self:start}
}
