/* NodeClash Earth Cinema — additive presentation layer. Real-world nature photography drives the visual language. */
:root{--nc-earth-photo:url('./assets/worlds/real/world-08.jpg');--nc-water-photo:url('./assets/worlds/real/world-07.jpg');--nc-mountain-photo:url('./assets/worlds/real/world-09.jpg');--nc-ocean-photo:url('./assets/worlds/real/world-10.jpg');--nc-desert-photo:url('./assets/worlds/real/world-09.jpg');--nc-sky-photo:url('./assets/worlds/real/world-06.jpg')}
body.nc-earth-cinema{background:#07110d!important}
.nc-earth-backdrop{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:#07110d}
.nc-earth-backdrop .earth-photo{position:absolute;inset:-4%;background-position:center;background-size:cover;background-repeat:no-repeat;opacity:.48;transform:scale(1.05);transition:background-image 1.2s ease,opacity .8s ease;filter:saturate(1.18) contrast(1.06)}
.nc-earth-backdrop .earth-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,15,12,.16),rgba(3,15,12,.62) 72%,rgba(2,10,8,.88)),radial-gradient(circle at 50% 22%,transparent 0 22%,rgba(0,0,0,.42) 100%)}
.nc-earth-backdrop .earth-haze{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 55%,rgba(122,236,205,.11),transparent 38%),linear-gradient(90deg,rgba(0,0,0,.22),transparent 22% 78%,rgba(0,0,0,.28));mix-blend-mode:screen}
.nc-earth-loading{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;background:#020806;overflow:hidden;opacity:1;transition:opacity .7s ease,visibility .7s ease}
.nc-earth-loading.is-gone{opacity:0;visibility:hidden;pointer-events:none}
.nc-earth-loading .load-photo{position:absolute;inset:-6%;background:var(--nc-earth-photo) center/cover;animation:ncEarthZoom 4.2s ease-out both;filter:saturate(1.12) contrast(1.1)}
.nc-earth-loading .load-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,10,7,.74)),radial-gradient(circle at center,transparent 0 24%,rgba(0,0,0,.68) 100%)}
.nc-earth-loading .load-core{position:relative;z-index:2;width:min(760px,86vw);text-align:center;color:#f3fff8}
.nc-earth-loading .load-mark{width:88px;height:88px;margin:0 auto 20px;border-radius:28px;display:grid;place-items:center;font-size:28px;font-weight:1000;letter-spacing:.12em;background:var(--nc-water-photo) center/cover;box-shadow:0 22px 70px rgba(0,0,0,.55),0 0 70px rgba(100,235,206,.2);border:1px solid rgba(255,255,255,.35)}
.nc-earth-loading h1{margin:0;font-size:clamp(2.2rem,7vw,6.8rem);line-height:.88;letter-spacing:.08em;text-transform:uppercase;background:var(--nc-mountain-photo) center/cover;color:transparent;-webkit-background-clip:text;background-clip:text;text-shadow:0 15px 45px rgba(0,0,0,.32)}
.nc-earth-loading p{margin:18px 0 0;color:rgba(239,255,248,.84);letter-spacing:.22em;text-transform:uppercase;font-size:clamp(.65rem,1.3vw,.9rem)}
.nc-earth-loading .load-line{height:3px;margin:30px auto 0;width:min(480px,70vw);background:rgba(255,255,255,.18);overflow:hidden;border-radius:999px}.nc-earth-loading .load-line i{display:block;height:100%;width:0;background:var(--nc-water-photo) center/cover;animation:ncLoad 2.8s cubic-bezier(.22,.8,.24,1) forwards}
.nc-earth-loading .load-status{margin-top:12px;font-size:.7rem;letter-spacing:.16em;color:rgba(224,250,239,.68)}
@keyframes ncEarthZoom{from{transform:scale(1.14)}to{transform:scale(1)}}@keyframes ncLoad{to{width:100%}}
/* Every heading/letter becomes photographic rather than a flat digital color. */
body.nc-earth-cinema h1,body.nc-earth-cinema h2,body.nc-earth-cinema h3,body.nc-earth-cinema h4,body.nc-earth-cinema .brand-title,body.nc-earth-cinema .ppt-title,body.nc-earth-cinema .board-focus-title,body.nc-earth-cinema .section-title,body.nc-earth-cinema .page-title{background-image:var(--nc-mountain-photo);background-position:center;background-size:cover;color:transparent;-webkit-background-clip:text;background-clip:text;text-shadow:none}
body.nc-earth-cinema .nav-chip,body.nc-earth-cinema button,body.nc-earth-cinema .btn,body.nc-earth-cinema .ppt-chip,body.nc-earth-cinema .hud-chip{background-image:linear-gradient(rgba(8,35,24,.55),rgba(5,20,14,.7)),var(--nc-forest-photo,var(--nc-earth-photo));background-position:center;background-size:cover;border-color:rgba(225,255,241,.24);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 14px 34px rgba(0,0,0,.22)}
/* Panels read as places: rainforest, waterfall, mountain, ocean, mineral earth. */
body.nc-earth-cinema .glass-panel,body.nc-earth-cinema .glass-soft,body.nc-earth-cinema .panel,body.nc-earth-cinema .card,body.nc-earth-cinema .intel-panel{background-image:linear-gradient(180deg,rgba(4,25,18,.48),rgba(2,15,11,.78)),var(--nc-earth-photo);background-position:center;background-size:cover;border-color:rgba(218,255,239,.16);box-shadow:0 24px 80px rgba(0,0,0,.27),inset 0 1px 0 rgba(255,255,255,.12)}
body.nc-earth-cinema .leaderboard,.nc-earth-leader-row{background-image:linear-gradient(90deg,rgba(4,21,14,.82),rgba(4,21,14,.56)),var(--nc-water-photo);background-size:cover;background-position:center}
body.nc-earth-cinema .leaderboard li,body.nc-earth-cinema .leader-row{background-image:linear-gradient(90deg,rgba(5,23,16,.76),rgba(5,23,16,.50)),var(--nc-earth-photo);background-size:cover;border-color:rgba(220,255,240,.12)}
/* Inputs and status surfaces use mineral/water photography, while retaining readable text. */
body.nc-earth-cinema input,body.nc-earth-cinema select,body.nc-earth-cinema textarea{background-image:linear-gradient(rgba(4,20,15,.78),rgba(4,20,15,.78)),var(--nc-mountain-photo);background-size:cover;border-color:rgba(218,255,240,.2);color:#f3fff8}
body.nc-earth-cinema .badge,body.nc-earth-cinema .chip,body.nc-earth-cinema .status{background-image:linear-gradient(rgba(7,30,22,.62),rgba(7,30,22,.72)),var(--nc-ocean-photo);background-size:cover}
/* Board becomes a real terrain: ocean floor / moss / river stone. */
body.nc-earth-cinema .board{background-image:linear-gradient(rgba(8,35,26,.46),rgba(3,18,13,.58)),var(--nc-water-photo);background-size:cover;background-position:center;box-shadow:0 35px 90px rgba(0,0,0,.44),inset 0 0 90px rgba(255,255,255,.08)}
body.nc-earth-cinema .cell{background-image:linear-gradient(rgba(10,45,30,.55),rgba(3,22,16,.74)),var(--nc-earth-photo);background-size:cover;background-position:center;border-color:rgba(231,255,243,.2);box-shadow:inset 0 0 25px rgba(255,255,255,.08),0 10px 18px rgba(0,0,0,.28)}
/* Full-page transition: the world appears to travel through a landscape. */
body.nc-earth-cinema.nc-page-enter{opacity:0;transform:scale(1.012)}
html[data-nc-stable-visuals="1"] body.nc-earth-cinema.nc-page-enter{opacity:1;transform:none}body.nc-earth-cinema.nc-page-ready{opacity:1;transform:none;transition:opacity .7s ease,transform .9s cubic-bezier(.2,.8,.2,1)}
.nc-earth-route-wipe{position:fixed;inset:0;z-index:99998;pointer-events:none;transform:translateY(100%);background:var(--nc-ocean-photo) center/cover;opacity:.95;transition:transform .55s cubic-bezier(.76,0,.24,1)}.nc-earth-route-wipe.go{transform:translateY(0)}
@media(max-width:760px){.nc-earth-backdrop .earth-photo{opacity:.58}.nc-earth-loading h1{letter-spacing:.04em}.nc-earth-loading .load-mark{width:72px;height:72px;border-radius:22px}}
@media(prefers-reduced-motion:reduce){.nc-earth-loading .load-photo,.nc-earth-loading .load-line i{animation:none}.nc-earth-loading .load-line i{width:100%}.nc-earth-route-wipe{display:none}body.nc-earth-cinema.nc-page-enter{opacity:1;transform:none}}
