/* Riftbound / Prelude — cinematic Nexus and parchment-metal interface. */
:root{--ui:'Marcellus',Georgia,serif;--pixel:Arial,Helvetica,sans-serif;--gold:#d5b77c;--mint:#89ddd0}
body{background:#080f19}.game-shell{min-height:760px;background:#080f19}
.nexus-art{position:absolute;inset:0;background:#0b1822 url('../assets/world/nexus.webp') center center/cover no-repeat}
.scene canvas{width:100%;height:100%;inset:0;transform:none;image-rendering:auto}
.scene-vignette{background:linear-gradient(90deg,#070f1bea 0%,#08121dd9 21%,#08121d99 36%,#07131b2b 53%,transparent 75%),linear-gradient(0deg,#070e1be8,transparent 30%,transparent 75%,#08101b88);}
.scene-grain{opacity:.035}.scene-rays{right:5%;opacity:.3}.corner-lines{inset:12px;border-color:#d4bc8624}
.topbar{height:100px;padding:0 4.4%;background:linear-gradient(#08101bab,transparent);border-bottom:1px solid #e5d3ae21;gap:32px}
.brand-crest{width:34px;height:44px}.brand-crest :is(svg,img.art-icon){width:34px;height:44px;color:#d6b77e}.brand-text strong{font:600 20px var(--display);letter-spacing:.17em}.brand-text small{font:8px var(--pixel);letter-spacing:.24em;color:#a3afb2;margin-top:6px}
.topnav{position:absolute;left:50%;transform:translateX(-50%);gap:30px}.topnav button{font:600 10px var(--pixel);letter-spacing:.16em;color:#b5c2c5;padding:42px 0 40px}.topnav button.nav-active{color:#f3dfb6}.topnav button.nav-active:after{width:100%;background:#d9bd89}
.top-actions{margin-left:auto;gap:9px}.build-indicator{font-size:9px;letter-spacing:.12em;margin-right:14px;color:#b6c8c5}.build-light{width:4px;height:4px;background:#94d7be}.icon-button{background:#0d1b2799;border-color:#e6cb9430;width:33px;height:33px}.icon-button :is(svg,img.art-icon){width:15px;height:15px}
.hero{left:7%;top:50%;width:560px;transform:translateY(-44%)}
.eyebrow{color:#95c9be;font:600 9px var(--pixel);letter-spacing:.21em;gap:12px;margin-bottom:27px}.eyebrow-line{width:24px;background:#8acbb9;height:1px}
.pokemon-label{font:600 19px var(--display);letter-spacing:.55em;color:#d8d1be;margin-bottom:3px}
h1{font:700 clamp(60px,6.5vw,102px)/1.16 var(--display);letter-spacing:-.055em;margin:0 0 13px}.title-main{background:linear-gradient(#fff3d8 10%,#e4c68e 50%,#bc905a 97%);filter:drop-shadow(0 2px 0 #49372d) drop-shadow(0 5px 12px #0008);padding-right:.06em}
.under-title{width:430px;gap:18px}.under-title strong{font:500 11px var(--pixel);letter-spacing:.34em;color:#d3bb8c}.under-title span{max-width:40px}
.hero-copy{font:17px/1.8 var(--ui);color:#bac9cc;max-width:470px;width:100%;margin:29px 0 27px}.hero-copy strong{color:#e6d4ad}
.hero-buttons{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.primary-button{min-height:70px;min-width:346px;padding:0 24px;gap:19px;background:linear-gradient(115deg,#f3ddb1,#d1af76 70%,#b38b56);clip-path:polygon(0 7px,7px 0,calc(100% - 7px) 0,100% 7px,100% calc(100% - 7px),calc(100% - 7px) 100%,7px 100%,0 calc(100% - 7px));font:700 11px var(--pixel);letter-spacing:.12em;box-shadow:0 5px 30px #0006}
.primary-button:before{border-color:#fff3cd99;clip-path:none;inset:5px}.primary-button>span:not(.button-glint){text-align:left}.primary-button small{display:block;font:12px var(--ui);letter-spacing:.015em;margin-top:6px;font-weight:400;color:#574536}.button-sigil{width:25px;height:30px}.button-arrow{margin-left:auto;width:12px;height:12px}
.secondary-button{height:34px;padding:0 2px;font:600 9px var(--pixel);letter-spacing:.13em;color:#d0c3a9;gap:12px}.secondary-button :is(svg,img.art-icon){width:15px;height:15px}.hero-meta{font:8px var(--pixel);letter-spacing:.18em;margin-top:20px;gap:12px;color:#96aaa9}.meta-dot{background:#c2ad7a;width:3px;height:3px}
.starter-preview{margin-top:39px;max-width:530px}.preview-label{display:flex;justify-content:space-between;font:8px var(--pixel);letter-spacing:.17em;color:#9caeb0;padding-bottom:13px}.preview-label span:last-child{color:#b7a57f;letter-spacing:.1em}.preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.preview-card{display:flex;align-items:center;position:relative;text-align:left;height:76px;min-width:0;padding:8px 8px 8px 4px;background:linear-gradient(135deg,#18322d9c,#0c1a23bd);border:1px solid #a1c1ad36;border-bottom-color:#7aad9770;transition:transform .2s,border-color .2s,background .2s}.preview-card.fire{background:linear-gradient(135deg,#3c2a2599,#101923bd);border-color:#d5ab8436;border-bottom-color:#b8896770}.preview-card.water{background:linear-gradient(135deg,#203b4a99,#0b1923bd);border-color:#92bdcf36;border-bottom-color:#7aa6b970}.preview-card:hover{transform:translateY(-5px);border-color:#e6cd9a;background:#273e44ce}.preview-card img{width:64px;height:64px;object-fit:contain;filter:drop-shadow(0 5px 3px #0007);transition:transform .25s}.preview-card:hover img{transform:scale(1.12) rotate(-4deg)}.preview-card span{position:relative;z-index:1}.preview-card small{display:block;font:7px var(--pixel);letter-spacing:.04em;color:#98beaa;white-space:nowrap}.preview-card.fire small{color:#d1a38a}.preview-card.water small{color:#91bdcf}.preview-card strong{display:block;font:13px var(--ui);color:#e3ddce;margin-top:7px}.preview-card>:is(svg,img.art-icon){position:absolute;right:5px;top:8px;width:8px;height:8px;color:#c9b38270}
.scene-story{right:8%;bottom:18%;width:27%;height:80px;pointer-events:none}.world-name{top:0;font:8px var(--pixel);letter-spacing:.3em;color:#c8dcd3}.world-name-line{width:23px;background:#cbead85c}.portal-marker{pointer-events:auto;position:absolute;left:50%;bottom:135px;transform:translateX(-50%) rotate(45deg);width:40px;height:40px;border:1px solid #b2ffe580;background:#09252a99;box-shadow:0 0 30px #61e4d02b;transition:background .2s}.portal-marker :is(svg,img.art-icon){width:24px;height:24px;transform:rotate(-45deg);margin:auto;color:#b0f4df}.portal-marker:hover{background:#286663cc}.world-caption{bottom:23px;width:100%;font:9px var(--pixel);letter-spacing:.15em;color:#d9e8d9}.caption-gem{width:4px;height:4px}.world-caption-sub{top:22px;color:#a7c4be;font:13px var(--ui)}
.footer-bar{height:58px;padding:0 4.4%;background:linear-gradient(0deg,#07101ce6,#0b1724aa);border-color:#c6cfb224}.footer-left,.footer-right{font:8px var(--pixel);letter-spacing:.12em;color:#95aaa8}.footer-mark :is(svg,img.art-icon){width:13px;height:13px}.footer-center{opacity:1;gap:23px}.footer-link{background:none;border:0;padding:5px 0;font:8px var(--pixel);letter-spacing:.12em;color:#a4b7b6;display:flex;align-items:center;gap:8px}.footer-link:hover{color:#f3dfb6}.footer-line{width:1px;height:12px;background:#9eae9950}.footer-link .kbd{min-width:17px;height:18px;font-size:8px;border-color:#bdc9b33b;background:#142430}.runtime-dot{width:4px;height:4px;background:#91c8b1}
.overlay-backdrop{background:#060d18c9;backdrop-filter:blur(9px)}.panel-container{width:min(1060px,calc(100vw - 40px));background:linear-gradient(135deg,#172b34fa,#0c1b29fc 65%,#10242dfc);border-color:#c1a77988;box-shadow:inset 0 0 0 5px #0d1d28,inset 0 0 0 6px #b6a17a29,0 35px 100px #000b}.panel-marker{font-size:9px;letter-spacing:.16em}.panel-heading h2{color:#ecd7ac;font-weight:600}.panel-eyebrow{font-size:9px}.panel-heading p{font-size:16px}
.starter-card{background:radial-gradient(ellipse at 50% 30%,#38645044,transparent 65%),linear-gradient(#17302d,#10212a);border-color:#77918166;padding:18px 18px 15px}.starter-card.type-fire{background:radial-gradient(ellipse at 50% 30%,#9a593d44,transparent 65%),linear-gradient(#342d2a,#15212b)}.starter-card.type-water{background:radial-gradient(ellipse at 50% 30%,#427ca744,transparent 65%),linear-gradient(#1b3543,#10212a)}.starter-card:before{border-color:#a4c7ae1a}.starter-card.is-selected{background:radial-gradient(ellipse at 50% 30%,#8bcfbd40,transparent 65%),#20343b;box-shadow:inset 0 0 0 1px #d5af70,0 0 35px #a0c6bb18}.sprite-stage{height:220px}.sprite-stage img{width:210px;height:210px;image-rendering:auto;filter:drop-shadow(0 13px 7px #0006)}.sprite-stage:before{width:220px;height:200px;opacity:.4}.starter-name{font-size:23px}.starter-index{font-size:9px}.type-pill{font-size:8px;padding:5px 9px}.starter-flavor{font-size:14px;height:40px}.stats{margin:15px 4px}.stat-row{font-size:9px;margin:9px 0}.stat-track{height:3px}.selected-stamp{font-size:8px;border-color:#a4af8d3b}.panel-action{font-size:9px;letter-spacing:.12em;box-shadow:inset 0 0 0 3px #81654455}.hint{font-size:9px}
.field-preview{display:flex;align-items:center;justify-content:center;gap:15px;min-height:65px;border-top:1px solid #cbd5b51f;margin-top:15px;padding:8px 0}.field-preview>div:last-child{text-align:left}.field-preview small{display:block;color:#92b7ad;font:7px var(--pixel);letter-spacing:.12em}.field-preview span{display:block;color:#c6d1c5;font:12px var(--ui);margin-top:5px}.pmd-sprite{flex:0 0 auto;image-rendering:pixelated;background-repeat:no-repeat;filter:drop-shadow(0 3px 1px #0006)}
.final-companion{width:225px;height:225px;image-rendering:auto}.credit-cell small{font-size:9px}.credit-cell strong{font-size:17px}.credit-link{color:#bce4d2;text-underline-offset:3px}.credit-note{font:13px/1.7 var(--ui);color:#a9bcba;text-align:center;margin:18px auto;max-width:760px}.setting-label{font-size:15px}.setting-sub{font-size:14px}.setting-item{border-color:#aaae8633}.toast{font:12px var(--ui);white-space:normal;max-width:90vw;text-align:center}
.has-overlay>.hero,.has-overlay>.topbar,.has-overlay>.scene-story,.has-overlay>.footer-bar{pointer-events:none}
@media(min-width:1700px){.hero{width:650px;left:9%}.starter-preview{max-width:580px}.preview-card{height:85px}.preview-card img{width:70px;height:70px}.hero-copy{font-size:19px;margin-top:37px}.starter-preview{margin-top:45px}.hero-buttons{gap:15px}}
@media(max-height:800px) and (min-width:901px){.game-shell{min-height:690px}.topbar{height:80px}.topnav button{padding:32px 0}.hero{transform:translateY(-43%)}.eyebrow{margin-bottom:18px}h1{font-size:80px;margin-bottom:8px}.hero-copy{margin:22px 0}.starter-preview{margin-top:27px}.hero-meta{margin-top:16px}.scene-story{bottom:17%}}
@media(max-width:1100px){.topnav{gap:20px}.topnav button{font-size:9px}.brand-text strong{font-size:17px}.brand-text small{font-size:7px}.hero{left:5%;width:510px}.hero h1{font-size:80px}.hero-copy{font-size:16px}.scene-story{right:3%;width:32%}.footer-center{display:none}}
@media(max-width:900px){.topnav{display:none}.hero{width:480px}.hero h1{font-size:74px}.nexus-art{background-position:62% center}.scene-vignette{background:linear-gradient(90deg,#07111cec,#08121db3 55%,#08121d29),linear-gradient(0deg,#07111cbd,transparent 50%)}.scene-story{display:none}.preview-card img{width:55px;height:55px}.preview-card strong{font-size:12px}.preview-card small{font-size:6px}.build-indicator{display:flex}.starter-grid{gap:12px}.sprite-stage{height:170px}.sprite-stage img{width:165px;height:165px}.starter-card{padding:15px 12px}.field-preview{gap:5px}.field-preview small{font-size:6px}}
@media(max-width:600px){.game-shell{min-height:860px;height:100dvh}.topbar{height:78px;padding:0 6%}.brand-text strong{font-size:16px}.brand-crest :is(svg,img.art-icon){width:27px;height:35px}.brand-crest{width:27px}.build-indicator{display:none}.hero{left:7%;width:86%;top:130px;transform:none}.eyebrow{font-size:7px;letter-spacing:.15em;margin-bottom:25px;gap:8px}.eyebrow-line{width:18px}.pokemon-label{font-size:17px}.hero h1{font-size:clamp(42px,11.5vw,69px);margin:4px 0 13px;letter-spacing:-.06em}.under-title{width:100%;gap:12px}.under-title strong{font-size:9px;letter-spacing:.2em}.hero-copy{font-size:16px;margin:27px 0;width:100%;line-height:1.8}.hero-copy br{display:none}.primary-button{min-width:0;width:100%;max-width:370px;padding:0 17px;letter-spacing:.06em;font-size:10px;min-height:68px}.primary-button small{font-size:12px}.hero-buttons{width:100%;gap:13px}.hero-meta{margin-top:22px;font-size:7px;letter-spacing:.12em;gap:10px}.starter-preview{margin-top:40px}.preview-label{font-size:7px;letter-spacing:.08em}.preview-grid{gap:7px}.preview-card{height:124px;flex-direction:column;justify-content:flex-end;padding:6px 3px 12px;text-align:center}.preview-card img{width:75px;height:75px;position:absolute;top:0}.preview-card small{font-size:6px}.preview-card strong{font-size:12px;margin-top:5px}.footer-bar{height:52px;padding:0 6%;justify-content:space-between}.footer-left{display:flex;font-size:6px;letter-spacing:.06em;gap:6px}.footer-right{font-size:6px;letter-spacing:.04em;gap:5px}.footer-mark :is(svg,img.art-icon){width:10px}.nexus-art{background-position:67% center}.scene-vignette{background:linear-gradient(90deg,#07111ce6,#08121db0),linear-gradient(0deg,#07111ce0,transparent 60%)}.panel-container{width:calc(100vw - 22px);padding:0 16px 20px}.panel-heading h2{font-size:26px}.panel-heading p{font-size:14px}.starter-grid{grid-template-columns:1fr;gap:11px;max-width:400px}.starter-card{grid-template-columns:115px 1fr;grid-template-rows:auto auto auto auto auto;padding:13px 12px;column-gap:15px}.sprite-stage{grid-row:1/6;height:130px}.sprite-stage img{width:130px;height:130px}.starter-index{grid-row:1}.starter-name{grid-row:2;font-size:19px;margin:5px 0}.type-pill{grid-row:3}.selected-stamp{grid-row:4;font-size:7px;margin:10px 0 0}.field-preview{grid-column:1/3;grid-row:6;justify-content:center;gap:20px;min-height:58px;margin-top:10px;padding:5px 0}.field-preview small{font-size:7px}.stats{display:none}.panel-marker{font-size:7px}.panel-action{width:100%}.content-layout{margin:16px 0}.content-copy p,.content-copy li{font-size:15px}.credit-grid{grid-template-columns:1fr}.credit-cell{min-height:80px}}
.title-main{background-clip:text;-webkit-background-clip:text}
@media(min-width:601px){
 .panel-topbar{height:49px}.panel-heading{padding:18px 0 5px}.panel-heading h2{font-size:30px;margin:9px 0 5px}.heading-ornament{margin:10px auto 0}.starter-grid{margin-top:12px}.starter-card{padding:14px 16px 12px}.sprite-stage{height:155px}.sprite-stage img{width:155px;height:155px}.starter-name{font-size:21px;margin-bottom:8px}.starter-flavor{height:36px;margin:11px 0 9px;font-size:13px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:13px 0}.stat-row{flex-direction:column;gap:5px;margin:0}.stat-row span,.stat-row b{width:auto;text-align:center}.stat-row b{font-size:12px;font-weight:500}.stat-track{width:100%;flex:none;height:3px;order:3}.selected-stamp{height:28px;margin-top:12px}.field-preview{margin-top:12px;padding:0;gap:10px}.panel-bottom{margin-top:16px;padding-top:15px}.panel-container{padding-bottom:22px}
}
html[data-reduced-motion="true"] *,html[data-reduced-motion="true"] *:before,html[data-reduced-motion="true"] *:after{animation:none!important;transition:none!important}

/* Asset-based aiming and companion panels, v2.0. */
.cursor-choices{display:flex;gap:6px;flex-wrap:wrap;max-width:390px}.cursor-choices button{width:112px;min-height:82px;background:#102f35;border:1px solid #688f84;border-radius:9px;color:#dcebd7;cursor:pointer}.cursor-choices button[aria-pressed=true]{border:2px solid #f6d58d;background:#24494b}.cursor-choices img{display:block;width:38px;height:38px;object-fit:contain;margin:2px auto;filter:drop-shadow(0 1px 2px #000)}.cursor-choices small{font-size:10px}
.companion-stats header{display:flex;align-items:center;gap:20px;background:linear-gradient(110deg,#234f4d,#142f3d);border-radius:14px;padding:10px 25px}.companion-stats header img{width:135px;height:135px;object-fit:contain;filter:drop-shadow(0 7px 7px #081b26)}.companion-stats h3{font-size:28px;color:#f8dca0;margin:6px 0}.companion-stats p{font-size:12px;color:#b4ccbd}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.stat-detail{position:relative;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;min-height:90px;padding:16px;border:1px solid #5e8574;border-radius:9px;background:#173c3d;color:#d9e8cd;text-align:left}.stat-detail strong{font-size:25px;color:#f6d897}.stat-detail>small{width:100%;color:#96c7bd}.stat-tooltip{visibility:hidden;position:absolute;z-index:3;bottom:calc(100% - 4px);left:0;min-width:220px;background:#102f35;border:1px solid #f6d58d;padding:12px;border-radius:7px;font-size:12px;pointer-events:none}.stat-detail:hover .stat-tooltip,.stat-detail:focus .stat-tooltip{visibility:visible}.stasis-art{width:42px;height:42px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 0 8px #a3d6d9)}
.evolution-banner{position:absolute;left:50%;bottom:115px;transform:translateX(-50%);display:flex;align-items:center;gap:12px;padding:4px 25px 4px 10px;border:1px solid #e1ebbf;border-radius:40px;background:#153f42e8;box-shadow:0 0 30px #98e6d944;pointer-events:none;z-index:8}.evolution-banner[hidden]{display:none}.evolution-banner img{width:85px;height:85px;object-fit:contain;filter:drop-shadow(0 0 14px #b1f6e4);animation:evo-light 1s ease-in-out infinite alternate}.evolution-banner span{display:grid;gap:5px}.evolution-banner small{font-size:10px;color:#b6ebdc}.evolution-banner strong{font-size:22px;color:#fff1c6}@keyframes evo-light{to{filter:drop-shadow(0 0 22px #fff);transform:scale(1.06)}}@media(prefers-reduced-motion:reduce){.evolution-banner img{animation:none}}@media(max-width:640px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.companion-stats header img{width:95px;height:95px}.cursor-choices button{width:85px}}
html[data-cursor="1"] #gameCanvas{cursor:url("../assets/cursors/crosshair-1.png") 32 32,crosshair!important}
html[data-cursor="2"] #gameCanvas{cursor:url("../assets/cursors/crosshair-2.png") 32 32,crosshair!important}
html[data-cursor="3"] #gameCanvas{cursor:url("../assets/cursors/crosshair-3.png") 32 32,crosshair!important}
html[data-cursor="4"] #gameCanvas{cursor:url("../assets/cursors/crosshair-4.png") 32 32,crosshair!important}
html[data-cursor="5"] #gameCanvas{cursor:url("../assets/cursors/crosshair-5.png") 32 32,crosshair!important}
html[data-cursor="6"] #gameCanvas{cursor:url("../assets/cursors/crosshair-6.png") 32 32,crosshair!important}
