:root{
  --bg:#06111a;
  --panel:#091725;
  --panel2:#0d1c2c;
  --text:#f7fbff;
  --muted:#c9d6e3;
  --soft:#8fa4b8;
  --accent:#c8ff47;
  --cyan:#6ee7e7;
  --line:rgba(255,255,255,.14);
  --shell:min(1380px,calc(100vw - 56px));
  --shadow:0 28px 80px rgba(0,0,0,.34);
  --px:0px;
  --py:0px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:linear-gradient(180deg,#07121d,#07101a 22%,#07101a 100%);color:var(--text);font-family:Manrope,system-ui,sans-serif;overflow-x:hidden}
button,input{font:inherit}
a{color:inherit;text-decoration:none}
img{display:block;user-select:none}
.shell{width:var(--shell);margin:0 auto}

.topbar{height:94px;position:absolute;left:50%;transform:translateX(-50%);top:0;z-index:70;display:flex;align-items:center;justify-content:space-between;padding:8px 18px;border-radius:0 0 24px 24px;background:linear-gradient(180deg,rgba(4,14,23,.52),rgba(4,14,23,.14));backdrop-filter:blur(10px)}
.logo{display:flex;align-items:center;gap:12px;font-weight:800;white-space:nowrap}
.logo b,.logo em{font-size:30px;letter-spacing:-.025em}
.logo em{font-style:normal;color:var(--accent)}
.logo-orbit{position:relative;width:42px;height:27px;border:1.7px solid rgba(200,255,71,.75);border-radius:50%;transform:rotate(-13deg)}
.logo-orbit:after{content:"";position:absolute;left:-5px;right:-5px;top:50%;height:1px;background:rgba(200,255,71,.34)}
.logo-orbit i{position:absolute;left:50%;top:50%;width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 16px rgba(200,255,71,.75);transform:translate(-50%,-50%)}
.main-nav{display:flex;gap:38px;color:#d7e0e8}
.main-nav a{font-size:16px;opacity:.9;transition:.2s}
.main-nav a:hover{opacity:1;color:#fff}
.nav-actions{display:flex;align-items:center;gap:12px}
.btn{border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:14px 22px;cursor:pointer;transition:.22s ease;background:transparent;color:#fff}
.btn:hover{transform:translateY(-1px)}
.btn-quiet{background:rgba(7,19,31,.45);backdrop-filter:blur(14px)}
.btn-solid{background:#fff;color:#07111b;font-weight:800}
.play-link.authenticated{background:linear-gradient(135deg,var(--accent),#ecff99)!important;color:#07111b!important}

.living-world{position:relative;min-height:100svh;height:max(860px,100svh);overflow:hidden;isolation:isolate;background:#091624}
.scene-sky,.scene-backdrop,.scene-vignette,.scene-veil{position:absolute;inset:0}
.scene-sky{z-index:1;background:radial-gradient(circle at 14% 18%,rgba(255,232,158,.42),transparent 26%),linear-gradient(180deg,#4c6f93 0%,#84bdd8 46%,#d4bd8d 74%,#274a5e 100%);transition:background .7s ease}
.scene-backdrop{z-index:2;background:url('/media/hero-world.webp') center center/cover no-repeat;transform:scale(1.04) translate3d(calc(var(--px)*-.12),calc(var(--py)*-.08),0);filter:brightness(1.08) saturate(1.1) contrast(1.04);transition:background-image .5s ease, filter .5s ease, opacity .5s ease}
.scene-object{position:absolute;pointer-events:none;will-change:transform,opacity;transition:opacity .55s ease,filter .6s ease,transform .4s ease}
.scene-clouds{z-index:5;width:120%;left:-9%;top:-5%;opacity:.56;filter:saturate(.92) contrast(.98)}
.cloud-back{transform:translate3d(calc(var(--px)*-.18),calc(var(--py)*-.12),0);animation:cloudDrift 38s linear infinite alternate}
.cloud-front{z-index:16;top:8%;left:-4%;width:108%;opacity:.11;filter:blur(1px) saturate(.85);transform:translate3d(calc(var(--px)*-.35),calc(var(--py)*-.18),0);animation:cloudDriftFront 28s linear infinite alternate}
.scene-sun,.scene-moon{z-index:3;width:min(32vw,420px);top:-6%;left:2%;opacity:1;mix-blend-mode:screen;transform:translate3d(calc(var(--px)*-.08),calc(var(--py)*-.05),0);transition:opacity .45s ease,filter .45s ease}
.scene-sun{filter:saturate(1.06) drop-shadow(0 0 40px rgba(255,220,120,.45))}
.scene-moon{left:auto;right:5%;top:7%;width:min(23vw,320px);opacity:0;filter:saturate(1.05) brightness(1.08) drop-shadow(0 0 36px rgba(183,219,255,.45))}
.scene-mountains{z-index:7;width:114%;max-width:none;left:-7%;bottom:4%;transform:translate3d(calc(var(--px)*-.20),calc(var(--py)*-.08),0) scale(1.01);filter:saturate(.96) brightness(1.01);opacity:.24}
.scene-city{z-index:10;width:78%;max-width:none;right:-2%;bottom:-1%;transform:translate3d(calc(var(--px)*-.46),calc(var(--py)*-.11),0);filter:saturate(1.05) brightness(1.08);opacity:0}
.scene-waterfall{z-index:11;width:74%;max-width:none;left:-2%;bottom:-12%;transform:translate3d(calc(var(--px)*-.55),calc(var(--py)*-.16),0) scale(1.02);filter:saturate(1.08) contrast(1.02);opacity:0}
.scene-birds{z-index:15;width:min(30vw,390px);top:20%;left:46%;opacity:.92;filter:saturate(.82);animation:birdFlight 18s ease-in-out infinite;transform-origin:center}
.city-lights{position:absolute;z-index:12;right:4%;bottom:16%;width:42%;height:28%;opacity:0;pointer-events:none;background-image:radial-gradient(circle,rgba(255,228,136,.95) 0 1.3px,transparent 1.8px);background-size:28px 24px;mask-image:linear-gradient(90deg,transparent 0%,#000 18%,#000 92%,transparent 100%);animation:cityTwinkle 3.2s ease-in-out infinite alternate}
.water-motion{position:absolute;z-index:13;left:0;right:0;bottom:0;height:26%;overflow:hidden;opacity:0;pointer-events:none;mix-blend-mode:screen;mask-image:linear-gradient(180deg,transparent,#000 28%,#000)}
.water-motion:before,.water-motion:after,.water-motion i{content:"";position:absolute;left:-12%;width:124%;height:42px;border-radius:50%;border-top:2px solid rgba(220,251,255,.56);filter:blur(.4px);animation:ripple 8s linear infinite}
.water-motion:before{bottom:10%}
.water-motion:after{bottom:38%;animation-duration:11s;animation-direction:reverse}
.water-motion i:nth-child(1){bottom:22%;animation-duration:6s}
.water-motion i:nth-child(2){bottom:55%;animation-duration:9s;animation-direction:reverse}
.water-motion i:nth-child(3){bottom:72%;animation-duration:13s}
.waterfall-mist{position:absolute;z-index:14;left:-10%;bottom:-3%;width:88%;height:38%;pointer-events:none;background:radial-gradient(ellipse at 38% 70%,rgba(236,252,255,.46),transparent 46%),radial-gradient(ellipse at 18% 42%,rgba(231,249,255,.28),transparent 42%);filter:blur(18px);animation:mistBreathe 7s ease-in-out infinite alternate;opacity:0}
.scene-vignette{z-index:18;pointer-events:none;background:radial-gradient(circle at 19% 43%,rgba(3,10,17,.12),transparent 24%),linear-gradient(180deg,rgba(3,10,17,.20) 0%,transparent 17%,transparent 66%,rgba(3,10,16,.25) 100%),linear-gradient(90deg,rgba(3,10,16,.10),transparent 22%,transparent 84%,rgba(3,10,16,.14))}
.scene-veil{z-index:30;background:#07111b;opacity:0;pointer-events:none;transition:opacity .24s ease}
.scene-veil.active{opacity:.34}
.living-world:after{content:"";position:absolute;left:0;bottom:0;width:48%;height:58%;pointer-events:none;z-index:19;background:radial-gradient(circle at 24% 38%,rgba(7,17,28,.18),transparent 38%),linear-gradient(90deg,rgba(7,17,28,.18),transparent 52%)}
body.is-travelling .scene-object,body.is-travelling .scene-backdrop{transition-duration:.45s}
body.is-travelling .scene-backdrop{transform:scale(1.07) translate3d(calc(var(--px)*-.10),calc(var(--py)*-.05),0)}


.scene-ui{position:relative;z-index:40;height:100%;min-height:inherit;padding-top:128px;padding-bottom:64px}
.hero-copy{position:absolute;left:0;top:17%;width:min(410px,31vw);text-shadow:0 8px 28px rgba(0,0,0,.22)}
.world-kicker{display:flex;align-items:center;gap:12px;font:600 12px/1 'DM Mono',monospace;letter-spacing:.2em;color:#efff9d;text-transform:uppercase}
.live-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 15px rgba(200,255,71,.85)}
.hero-copy h1{font-size:clamp(50px,5vw,74px);line-height:.95;letter-spacing:-.065em;margin:18px 0 16px}
.hero-copy p{font-size:clamp(18px,1.34vw,22px);line-height:1.5;max-width:31ch;color:#f4f8fb;margin:0}
.hero-actions{display:flex;align-items:center;gap:14px;margin-top:26px;flex-wrap:wrap}
.hero-play{display:flex;align-items:center;justify-content:space-between;gap:24px;min-width:310px;padding:16px 18px;border-radius:20px;background:linear-gradient(135deg,var(--accent),#edff9a);color:#07121a;box-shadow:0 16px 42px rgba(0,0,0,.22);transition:.22s}
.hero-play:hover{transform:translateY(-2px)}
.hero-play strong{font-size:18px}
.hero-play span{font-size:14px;font-weight:800}
.text-action{background:rgba(7,18,29,.24);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(10px);color:white;border-radius:999px;cursor:pointer;font-weight:700;padding:12px 16px}
.region-copy{margin-top:28px;display:flex;align-items:flex-start;gap:14px;max-width:380px;color:white}
.region-copy>span{font:700 12px/1 'DM Mono',monospace;color:#dfff74;margin-top:4px}
.region-copy small{display:block;font:700 12px/1 'DM Mono',monospace;letter-spacing:.17em;color:#dfff74}
.region-copy strong{display:block;margin-top:8px;font-size:16px;font-weight:600;color:#edf5fb;line-height:1.55}

.qc-portal{position:absolute;right:0;top:17%;width:min(326px,24vw);padding:12px;border-radius:24px;background:linear-gradient(180deg,rgba(5,16,27,.76),rgba(5,16,27,.88));border:1px solid rgba(255,255,255,.18);box-shadow:var(--shadow);backdrop-filter:blur(16px);transform:translate3d(calc(var(--px)*.18),calc(var(--py)*.11),0)}
.portal-head{display:flex;justify-content:space-between;padding:2px 4px 11px;font:600 11px/1 'DM Mono',monospace;letter-spacing:.16em;color:#dffb83}
.portal-head b{font-weight:500;color:#e2edf5}
.seren-preview{background:#f7fbff;color:#0d1b2d;border-radius:20px;padding:12px}
.seren-title{display:flex;justify-content:space-between;align-items:flex-start}
.seren-title small,.seren-board-head span{display:block;color:#ed9e00;font:700 9px/1 'DM Mono',monospace;letter-spacing:.15em}
.seren-title strong{display:block;margin-top:5px;font-size:18px}
.seren-title>span{background:#d8f9ef;color:#18a384;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:800}
.seren-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:10px 0}
.seren-metrics>div{border:1px solid #d5dee8;border-radius:11px;padding:8px}
.seren-metrics small{display:block;color:#758ba3;font:700 8px/1 'DM Mono',monospace}
.seren-metrics b{display:block;margin-top:5px;font-size:14px}
.seren-board{border:1px solid #dbe4eb;border-radius:12px;padding:9px}
.seren-board-head{display:flex;justify-content:space-between;margin-bottom:6px}
.seren-board-head b{font-size:10px}
.seren-row{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:7px;border-top:1px solid #e5ebf0;padding:8px 0}
.seren-row i{font-style:normal}
.seren-row span b{display:block;font-size:10px}
.seren-row span small{display:block;color:#72859a;font-size:8px}
.seren-row>strong{font-size:10px}
.seren-flow{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e5ebf0;padding-top:7px;color:#249c89;font:700 7px/1 'DM Mono',monospace}
.seren-flow i{color:#91a3b5;font-style:normal}
.portal-play{margin-top:12px;display:flex;align-items:center;justify-content:space-between;padding:15px 16px;border-radius:16px;background:linear-gradient(135deg,var(--accent),#efffa6);color:#07121b}
.portal-play small{display:block;font:700 8px/1 'DM Mono',monospace;letter-spacing:.16em;margin-bottom:5px}
.portal-play strong{font-size:14px}
.portal-play>b{font-size:23px}

.region-rail{position:absolute;right:0;bottom:82px;width:min(372px,27vw);display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:8px;border-radius:20px;background:rgba(5,17,28,.52);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(14px)}
.region-rail button{position:relative;border:0;border-radius:14px;background:transparent;color:#d7e1ea;padding:12px 9px 11px;text-align:left;cursor:pointer;transition:.2s}
.region-rail button:hover{background:rgba(255,255,255,.06)}
.region-rail button.active{background:rgba(200,255,71,.14);color:#fff}
.region-rail button i{position:absolute;left:10px;top:10px;width:6px;height:6px;border-radius:50%;background:#6b8093}
.region-rail button.active i{background:var(--accent);box-shadow:0 0 10px rgba(200,255,71,.8)}
.region-rail button span{display:block;padding-left:13px}
.region-rail b{display:block;font:700 9px/1 'DM Mono',monospace;color:#dfff74;margin-bottom:6px}
.region-rail small{display:block;font-size:9px;color:#9eb0c1;margin-top:3px}
.scene-footer{position:absolute;left:0;right:0;bottom:26px;display:flex;align-items:center;justify-content:space-between;font:500 9px/1 'DM Mono',monospace;letter-spacing:.15em;color:#d9e7f1}
.scene-footer span:first-child{color:#e2f88f}

body[data-region="home"] .scene-backdrop{background-image:url('/media/hero-world.webp')}
body[data-region="home"] .scene-city{opacity:.10;right:-8%;bottom:2%;width:52%}
body[data-region="home"] .scene-waterfall{opacity:.10;width:48%;left:-6%;bottom:-12%}
body[data-region="home"] .water-motion, body[data-region="home"] .waterfall-mist{opacity:.10}
body[data-region="home"] .scene-mountains{opacity:.10}
body[data-region="home"] .city-lights{opacity:.08}

body[data-region="waterfall"] .scene-backdrop{background-image:url('/media/waterfall-world.webp')}
body[data-region="waterfall"] .scene-city{opacity:0}
body[data-region="waterfall"] .scene-waterfall{opacity:.92;width:82%;left:-5%;bottom:-11%}
body[data-region="waterfall"] .water-motion{opacity:.46}
body[data-region="waterfall"] .waterfall-mist{opacity:.76}
body[data-region="waterfall"] .scene-mountains{opacity:0}
body[data-region="waterfall"] .scene-birds{left:32%;top:24%}

body[data-region="alpine"] .scene-backdrop{background-image:url('/media/alpine-day.webp');background-position:center center;background-size:cover}
body[data-region="alpine"] .scene-city,body[data-region="alpine"] .scene-waterfall,body[data-region="alpine"] .scene-mountains,body[data-region="alpine"] .water-motion,body[data-region="alpine"] .waterfall-mist{opacity:0}
body[data-region="alpine"] .city-lights{opacity:0}
body.cycle-night[data-region="alpine"] .scene-backdrop{background-image:url('/media/alpine-night.webp');filter:brightness(.88) saturate(.98) contrast(1.08)}
body.cycle-day[data-region="alpine"] .scene-backdrop{background-image:url('/media/alpine-day.webp');filter:brightness(1.18) saturate(1.12) contrast(1.05)}
body.cycle-dawn[data-region="alpine"] .scene-backdrop{background-image:url('/media/alpine-day.webp');filter:brightness(1.02) saturate(1.06) sepia(.03)}
body.cycle-dusk[data-region="alpine"] .scene-backdrop{background-image:url('/media/alpine-night.webp');filter:brightness(.92) saturate(1.02) sepia(.04)}

body[data-region="desert"] .scene-backdrop{background-image:url('/media/desert-world.webp')}
body[data-region="desert"] .scene-mountains,body[data-region="desert"] .scene-city,body[data-region="desert"] .scene-waterfall,body[data-region="desert"] .city-lights,body[data-region="desert"] .water-motion,body[data-region="desert"] .waterfall-mist{opacity:0}
body[data-region="desert"] .cloud-back{opacity:.24}
body[data-region="desert"] .cloud-front{opacity:.08}
body[data-region="desert"] .scene-birds{left:28%;top:22%}

body.cycle-day .scene-backdrop{filter:brightness(1.2) saturate(1.16) contrast(1.06)}
body.cycle-day .scene-sun{opacity:1}
body.cycle-day .scene-moon{opacity:0}
body.cycle-day .scene-sky{background:radial-gradient(circle at 14% 18%,rgba(255,232,158,.42),transparent 26%),linear-gradient(180deg,#4c6f93 0%,#84bdd8 46%,#d4bd8d 74%,#274a5e 100%)}

body.cycle-dawn .scene-backdrop{filter:brightness(1.08) saturate(1.12) sepia(.03)}
body.cycle-dawn .scene-sun{opacity:.92}
body.cycle-dawn .scene-moon{opacity:0}
body.cycle-dawn .scene-sky{background:radial-gradient(circle at 16% 20%,rgba(255,216,141,.40),transparent 28%),linear-gradient(180deg,#425f85 0%,#a8bbd5 44%,#d8a287 74%,#38556e 100%)}

body.cycle-dusk .scene-backdrop{filter:brightness(.96) saturate(1.1) sepia(.06)}
body.cycle-dusk .scene-sun{opacity:.72}
body.cycle-dusk .scene-moon{opacity:.18}
body.cycle-dusk .scene-sky{background:radial-gradient(circle at 18% 22%,rgba(255,194,122,.42),transparent 28%),linear-gradient(180deg,#2f4365,#a16f60 58%,#5e5d67 78%,#17313c)}

body.cycle-night .scene-sun{opacity:0}
body.cycle-night .scene-moon{opacity:1}
body.cycle-night .scene-birds{opacity:0 !important}
body.cycle-night .scene-sky{background:radial-gradient(circle at 82% 17%,rgba(112,163,255,.18),transparent 20%),linear-gradient(180deg,#08172a 0%,#102641 42%,#0f2436 68%,#0b1b2a 100%)}
body.cycle-night .scene-backdrop{filter:brightness(.64) saturate(.9) contrast(1.08)}
body.cycle-night .scene-city{filter:saturate(.82) brightness(.84) contrast(1.08)}
body.cycle-night .scene-waterfall{filter:saturate(.9) brightness(.78)}
body.cycle-night .city-lights{opacity:.94}
body.cycle-night .cloud-back{opacity:.26;filter:brightness(.46) saturate(.48)}
body.cycle-night .cloud-front{opacity:.10;filter:brightness(.5)}
body.cycle-night .scene-vignette{background:linear-gradient(180deg,rgba(2,8,18,.46),rgba(2,8,18,.06) 35%,rgba(2,8,18,.44) 100%),linear-gradient(90deg,rgba(2,8,18,.14),transparent 26%,transparent 82%,rgba(2,8,18,.20))}

.world-principles,.community-section{position:relative;padding:88px 0 74px;overflow:hidden}
.world-principles:before,.community-section:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,12,21,.58),rgba(5,16,27,.78)),url('/media/hero-world.webp') center/cover fixed no-repeat;opacity:.74;pointer-events:none}
.world-principles > *, .community-section > *{position:relative;z-index:1}
.principle-intro{max-width:760px;margin-bottom:35px}
.principle-intro small,.community-wrap small{font:700 11px/1 'DM Mono',monospace;letter-spacing:.18em;color:#dfff7d}
.principle-intro h2,.community-wrap h2{font-size:clamp(38px,4.4vw,62px);letter-spacing:-.05em;line-height:1;margin:12px 0}
.principle-intro p,.community-wrap p{font-size:20px;line-height:1.6;color:#c2cfdb;margin:0;max-width:42ch}
.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.principle-grid article{border:1px solid rgba(255,255,255,.11);border-radius:25px;background:linear-gradient(180deg,rgba(9,25,39,.56),rgba(7,18,29,.68));backdrop-filter:blur(10px);padding:28px}
.principle-grid span{font:700 11px/1 'DM Mono',monospace;color:#dfff7d}
.principle-grid h3{font-size:28px;letter-spacing:-.035em;margin:18px 0 8px}
.principle-grid p{font-size:16px;line-height:1.6;color:#d0dbe7;margin:0}
.community-wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center;padding:36px;border-radius:30px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,rgba(10,25,40,.48),rgba(8,20,31,.62));backdrop-filter:blur(8px)}
.community-actions{display:flex;flex-direction:column;gap:11px}
.footer{display:flex;align-items:center;justify-content:space-between;padding:30px 0 48px;color:#95a9bb;border-top:1px solid rgba(255,255,255,.08)}
.footer .logo b,.footer .logo em{font-size:20px}

.modal{width:min(720px,calc(100vw - 24px));max-height:min(820px,calc(100vh - 36px));overflow:auto;padding:28px;border:0;border-radius:28px;background:linear-gradient(180deg,#06111e,#0b1725);color:white;box-shadow:0 30px 100px rgba(0,0,0,.55)}
.modal::backdrop{background:rgba(2,8,14,.68);backdrop-filter:blur(8px)}
.modal-close{position:absolute;top:17px;right:17px;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);color:#fff;cursor:pointer;font-size:22px}
.modal-kicker{font:700 11px/1 'DM Mono',monospace;letter-spacing:.17em;color:#dfff78}
.modal h2{font-size:47px;letter-spacing:-.05em;margin:16px 0 8px}
.modal-intro{font-size:18px;line-height:1.55;color:#c9d8e5}
.community-tabs{display:grid;grid-template-columns:1fr 1fr;background:#101e2e;padding:6px;border-radius:16px;gap:6px;margin:18px 0}
.community-tab{border:0;background:transparent;color:#c9d7e3;padding:14px;border-radius:12px;font-weight:800;cursor:pointer}
.community-tab.active{background:rgba(200,255,71,.14);box-shadow:inset 0 0 0 1px rgba(200,255,71,.35);color:#fff}
.tab-panel[hidden]{display:none}
label{display:block;margin-top:15px;font:600 11px/1 'DM Mono',monospace;letter-spacing:.13em;color:#bdd0df}
label input{width:100%;margin-top:9px;padding:15px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:#0d1a29;color:#fff;font:500 17px/1.2 Manrope,sans-serif;letter-spacing:0}
.field-with-status{position:relative}
.field-with-status>span{position:absolute;left:14px;top:24px;font:500 17px/1 Manrope;color:#7d91a3}
.field-with-status input{padding-left:36px;padding-right:105px}
.field-with-status i{position:absolute;right:13px;top:25px;font-style:normal;color:#8ca1b5}
.field-with-status i.ok{color:#c8ff47}
.field-with-status i.bad{color:#ff9c9c}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.privacy-note,.warning-copy{font-size:14px;line-height:1.6;color:#a7b8c8}
.submit-button,.secondary-button{width:100%;border:0;border-radius:15px;padding:16px 18px;margin-top:16px;font-weight:800;cursor:pointer}
.submit-button{background:linear-gradient(135deg,var(--accent),#efff9d);color:#07121b}
.secondary-button{background:#142235;color:#fff}
.submit-button span{float:right}
.form-error{min-height:20px;color:#ffb6b6}
.key-success{display:inline-flex;padding:7px 11px;border-radius:999px;background:rgba(200,255,71,.13);border:1px solid rgba(200,255,71,.28);color:#e9ff9d;font:700 10px/1 'DM Mono',monospace;letter-spacing:.15em}
.identity-created-grid{display:grid;gap:10px;margin-top:16px}.key-box,.earth-id-box{display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid rgba(255,255,255,.13);border-radius:18px;background:#101d2c;padding:18px}.earth-id-box{background:rgba(255,255,255,.045)}
.key-box code{display:block;font-size:25px;word-break:break-all}.earth-id-box code{display:block;font:600 17px/1.4 'DM Mono',monospace;word-break:break-all}.earth-id-box p{margin:6px 0 0;color:#aebed0;font-size:12px}
.key-box small,.earth-id-box small{display:block;color:#aebed0;font:600 10px/1 'DM Mono',monospace;margin-bottom:8px}
.key-box button,.earth-id-box button{border:0;border-radius:12px;background:#1d2a3b;color:#fff;padding:12px 15px;cursor:pointer;white-space:nowrap}
.created-user{margin-top:7px;color:#c8ff47}
.confirm-save{display:flex;align-items:center;gap:9px;font-family:Manrope,sans-serif;font-size:15px;letter-spacing:0;color:#fff}
.confirm-save input{width:17px;height:17px;margin:0}
.account-pill{position:fixed;right:18px;bottom:18px;z-index:90;display:flex;align-items:center;gap:9px;padding:10px 13px;border-radius:999px;background:rgba(6,17,28,.86);border:1px solid rgba(255,255,255,.13);backdrop-filter:blur(14px);box-shadow:0 14px 40px rgba(0,0,0,.25)}
.status-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px rgba(200,255,71,.85)}
.account-pill span{color:#aebdcb}.account-pill code{color:#c8ff47;font:600 10px/1.2 'DM Mono',monospace}
.account-pill button{border:0;background:#162436;color:white;border-radius:999px;padding:7px 11px;cursor:pointer}

@keyframes cloudDrift{from{margin-left:-2%}to{margin-left:2%}}
@keyframes cloudDriftFront{from{margin-left:3%}to{margin-left:-3%}}
@keyframes birdFlight{0%{transform:translate3d(-16vw,3vh,0) scale(.72);opacity:0}12%{opacity:.84}48%{transform:translate3d(2vw,-2vh,0) scale(.84) rotate(-2deg)}88%{opacity:.80}100%{transform:translate3d(23vw,-5vh,0) scale(.74);opacity:0}}
@keyframes cityTwinkle{from{filter:brightness(.75);opacity:.34}to{filter:brightness(1.22);opacity:.72}}
@keyframes ripple{from{transform:translateX(-3%) scaleX(.96)}50%{transform:translateX(3%) scaleX(1.03)}to{transform:translateX(-3%) scaleX(.96)}}
@keyframes mistBreathe{from{transform:translate3d(-2%,2%,0) scale(.96);opacity:.4}to{transform:translate3d(4%,-2%,0) scale(1.05);opacity:.72}}

@media(max-width:1120px){
  :root{--shell:min(100vw - 34px,1380px)}
  .main-nav{display:none}
  .living-world{height:auto;min-height:1080px}
  .scene-ui{padding-top:110px}
  .hero-copy{top:13%;width:min(480px,62vw)}
  .qc-portal{top:auto;right:0;bottom:224px;width:334px}
  .region-rail{bottom:72px;left:0;right:0;width:100%}
  .scene-footer{bottom:26px}
  .principle-grid{grid-template-columns:1fr}
  .community-wrap{grid-template-columns:1fr}
}
@media(max-width:760px){
  :root{--shell:min(100vw - 20px,1380px)}
  .topbar{height:76px}
  .logo b,.logo em{font-size:23px}
  .logo-orbit{width:35px;height:23px}
  .nav-actions .btn-quiet{display:none}
  .nav-actions .btn-solid{padding:12px 15px;font-size:13px}
  .living-world{min-height:1280px}
  .scene-ui{padding-top:96px}
  .hero-copy{position:relative;top:auto;left:auto;width:100%;max-width:100%}
  .hero-copy h1{font-size:46px}
  .hero-copy p{font-size:17px;max-width:31ch}
  .hero-actions{gap:13px}
  .hero-play{min-width:0;width:100%;max-width:330px}
  .text-action{padding:12px 16px}
  .qc-portal{right:auto;left:0;bottom:230px;width:100%;max-width:390px}
  .region-rail{bottom:76px;grid-template-columns:repeat(2,1fr)}
  .region-rail button{padding:10px}
  .scene-footer{display:none}
  .scene-backdrop{background-position:center center}
  .scene-mountains{width:170%;left:-38%;bottom:9%;opacity:.18}
  .scene-city{width:160%;right:-62%;bottom:8%}
  .scene-waterfall{width:165%;left:-38%;bottom:-2%}
  .scene-clouds{width:168%;left:-34%}
  .scene-birds{width:46vw;left:41%;top:27%}
  .scene-sun{width:52vw}
  .scene-moon{width:38vw}
  .world-principles,.community-section{padding-top:58px}
  .principle-intro h2,.community-wrap h2{font-size:40px}
  .principle-intro p,.community-wrap p{font-size:18px}
  .principle-grid article{padding:23px}
  .community-wrap{padding:25px}
  .footer{flex-direction:column;align-items:flex-start;gap:16px}
  .modal{padding:22px 17px 18px}
  .modal h2{font-size:36px}
  .contact-grid{grid-template-columns:1fr}
  .key-box,.earth-id-box{align-items:flex-start;flex-direction:column}
  .account-pill{left:10px;right:10px;justify-content:center;flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important}
  .scene-object,.cloud-back,.cloud-front,.scene-birds,.city-lights,.water-motion:before,.water-motion:after,.water-motion i,.waterfall-mist{animation:none!important;transition:none!important}
}

.world-principles:before{background:linear-gradient(180deg,rgba(4,12,21,.54),rgba(5,16,27,.76)),url('/media/waterfall-world.webp') center/cover fixed no-repeat}
.community-section:before{background:linear-gradient(180deg,rgba(4,12,21,.50),rgba(5,16,27,.72)),url('/media/snow-world.webp') center/cover fixed no-repeat}

/* =========================================================
   v1.4 approved day/night scene system
   06:00–17:59 = DAY, 18:00–05:59 = NIGHT
   Full-scene images already contain their own sun/moon/light.
   ========================================================= */

/* The approved full-scene images are now the world itself. */
.scene-backdrop{
  opacity:1;
  background-position:center center;
  background-size:cover;
  background-repeat:no-repeat;
  transition:background-image .36s ease,filter .5s ease,transform .5s ease;
}

/* Keep only gentle atmospheric depth above the scene. */
.scene-clouds{opacity:.18;mix-blend-mode:screen}
.cloud-front{opacity:.05}
.scene-birds{opacity:.82}
body.cycle-night .scene-birds{opacity:0!important;visibility:hidden}
body.cycle-night .scene-clouds{opacity:.07}
body.cycle-night .cloud-front{opacity:.025}

/* Exact approved scene mapping — DAY */
body[data-region="home"] .scene-backdrop,
body.cycle-day[data-region="home"] .scene-backdrop{
  background-image:url('/media/regions/home-day.webp');
}
body[data-region="waterfall"] .scene-backdrop,
body.cycle-day[data-region="waterfall"] .scene-backdrop{
  background-image:url('/media/regions/waterfall-day.webp');
}
body[data-region="alpine"] .scene-backdrop,
body.cycle-day[data-region="alpine"] .scene-backdrop{
  background-image:url('/media/regions/alpine-day.webp');
}
body[data-region="desert"] .scene-backdrop,
body.cycle-day[data-region="desert"] .scene-backdrop{
  background-image:url('/media/regions/desert-day.webp');
}

/* Exact approved scene mapping — NIGHT.
   No extra moon object is used: moon/light already exists in these images. */
body.cycle-night[data-region="home"] .scene-backdrop{
  background-image:url('/media/regions/home-night.webp');
}
body.cycle-night[data-region="waterfall"] .scene-backdrop{
  background-image:url('/media/regions/waterfall-night.webp');
}
body.cycle-night[data-region="alpine"] .scene-backdrop{
  background-image:url('/media/regions/alpine-night.webp');
}
body.cycle-night[data-region="desert"] .scene-backdrop{
  background-image:url('/media/regions/desert-night.webp');
}

/* Do not re-light the already-rendered day/night art too aggressively. */
body.cycle-day .scene-backdrop{
  filter:brightness(1.045) saturate(1.055) contrast(1.025);
}
body.cycle-night .scene-backdrop{
  filter:brightness(.96) saturate(1.02) contrast(1.035);
}
body.cycle-day .scene-sky{opacity:.08}
body.cycle-night .scene-sky{opacity:.05}

/* No fake light-dot matrix / no procedural moon or sun overlays. */
.city-lights,.scene-sun,.scene-moon,.scene-mountains,.scene-city,.scene-waterfall,.water-motion,.waterfall-mist{display:none!important}

/* Make the hero feel open: less dark glass, more scene. */
.scene-vignette{
  background:
    linear-gradient(90deg,rgba(2,9,15,.19) 0%,rgba(2,9,15,.05) 30%,transparent 48%,transparent 100%),
    linear-gradient(180deg,rgba(2,8,14,.14) 0%,transparent 24%,transparent 70%,rgba(2,8,14,.13) 100%);
}
.living-world:after{
  width:42%;height:55%;
  background:radial-gradient(circle at 24% 40%,rgba(2,10,17,.12),transparent 46%);
}

/* Bottom of landing page: scenery remains dominant; text floats lightly over it. */
.world-principles,.community-section{
  padding:72px 0 62px;
  background:transparent;
  isolation:isolate;
}
.world-principles:before,.community-section:before{
  opacity:1;
  filter:none;
  background-position:center center!important;
  background-size:cover!important;
  background-attachment:fixed!important;
}
body.cycle-day .world-principles:before{
  background-image:linear-gradient(180deg,rgba(3,12,18,.10),rgba(3,12,18,.18)),url('/media/regions/waterfall-day.webp')!important;
}
body.cycle-night .world-principles:before{
  background-image:linear-gradient(180deg,rgba(3,12,18,.14),rgba(3,12,18,.23)),url('/media/regions/waterfall-night.webp')!important;
}
body.cycle-day .community-section:before{
  background-image:linear-gradient(180deg,rgba(3,12,18,.08),rgba(3,12,18,.17)),url('/media/regions/alpine-day.webp')!important;
}
body.cycle-night .community-section:before{
  background-image:linear-gradient(180deg,rgba(3,12,18,.12),rgba(3,12,18,.22)),url('/media/regions/alpine-night.webp')!important;
}

.principle-intro{max-width:650px;margin-bottom:28px;text-shadow:0 4px 22px rgba(0,0,0,.52)}
.principle-intro h2{font-size:clamp(36px,3.8vw,54px)}
.principle-intro p{max-width:34ch;color:#f3f7fa;text-shadow:0 3px 14px rgba(0,0,0,.55)}
.principle-grid{gap:12px}
.principle-grid article{
  padding:20px 22px;
  border-color:rgba(255,255,255,.19);
  background:rgba(5,17,28,.22);
  backdrop-filter:blur(3px);
  box-shadow:0 12px 34px rgba(0,0,0,.10);
}
.principle-grid h3{font-size:24px;margin:14px 0 6px;text-shadow:0 2px 10px rgba(0,0,0,.4)}
.principle-grid p{font-size:15px;line-height:1.52;color:#edf4fa;text-shadow:0 2px 10px rgba(0,0,0,.45)}

.community-wrap{
  padding:28px 30px;
  background:rgba(5,17,28,.20);
  border-color:rgba(255,255,255,.18);
  backdrop-filter:blur(3px);
  box-shadow:0 16px 40px rgba(0,0,0,.11);
}
.community-wrap h2{font-size:clamp(36px,3.8vw,54px);max-width:13ch;text-shadow:0 4px 22px rgba(0,0,0,.5)}
.community-wrap p{font-size:18px;color:#f2f7fb;text-shadow:0 3px 14px rgba(0,0,0,.52)}
.community-actions .btn-quiet{background:rgba(4,15,25,.28);backdrop-filter:blur(3px)}

@media(max-width:760px){
  .world-principles:before,.community-section:before{background-attachment:scroll!important}
  .principle-grid article{background:rgba(5,17,28,.30)}
  .community-wrap{background:rgba(5,17,28,.28)}
}

.form-status{min-height:20px;margin:.7rem 0 0;color:#dce7f1;font-size:.82rem;line-height:1.4}
.submit-button.is-loading{position:relative;cursor:wait;opacity:.88}
.submit-button.is-loading::before{content:"";display:inline-block;width:14px;height:14px;margin-right:9px;vertical-align:-2px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:e404spin .7s linear infinite}
@keyframes e404spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.submit-button.is-loading::before{animation-duration:1.6s}}
