@import url('data:text/css,');
:root{--ink:#183b40;--muted:#708080;--gold:#eab95f;--cream:#f7f5eb;--dark:#173c3e}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f8f7f0;color:var(--ink);font-family:Arial,sans-serif}button,a{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}.nav{height:88px;display:flex;align-items:center;gap:42px;padding:0 6%;position:absolute;z-index:20;top:0;width:100%;border-bottom:1px solid #ffffff45;color:#fff}.brand{display:flex;align-items:center;gap:8px;font-family:Georgia,serif;font-weight:bold;font-size:32px;line-height:.8;letter-spacing:-2px}.brand-star{font-size:32px;color:#efc77f;font-weight:normal}.brand small{display:block;font:700 7px Arial;letter-spacing:2.1px;margin-top:9px;white-space:nowrap}.nav nav{display:flex;gap:38px;margin:auto;font-size:12px;font-weight:700;letter-spacing:.3px}.nav nav a{opacity:.85}.nav nav a:hover{opacity:1}.nav-button{font-size:10px;letter-spacing:1.4px;font-weight:800;border:1px solid #ffffff9a;padding:16px 20px}.nav-button span{margin-left:17px;color:#efd397}.menu{display:none}.hero{height:min(900px,100vh);min-height:700px;position:relative;overflow:hidden;background:#4c9db0;color:white}.hero-scene{position:absolute;inset:0;background:linear-gradient(0deg,#275b58 0%,transparent 46%),url('/assets/wallpapers/artwork-003.jpg') center 48% / cover;transform:scale(1.02)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,50,55,.91) 0%,rgba(25,66,70,.72) 38%,rgba(34,78,77,.12) 78%),linear-gradient(0deg,rgba(19,52,49,.8),transparent 28%)}.hero-copy{position:absolute;left:9%;top:27%;z-index:3;width:45%;max-width:630px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:2.5px;color:#9c8049;display:flex;align-items:center;gap:10px}.eyebrow span{width:25px;height:1px;background:currentColor}.eyebrow.light{color:#f4d492}h1,h2,h3,p{margin:0}h1,h2{font-family:Georgia,serif;font-weight:normal;letter-spacing:-2px}h1{font-size:clamp(66px,7vw,106px);line-height:.99;margin:30px 0 25px;text-shadow:0 2px 24px #203d3d55}h1 em,h2 em{font-weight:normal;color:#edc67f}.hero-copy p{font-family:Georgia,serif;font-size:18px;line-height:1.75;color:#edf2e9;max-width:440px}.hero-actions,.join-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.button{border:0;display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:19px 22px;font-size:10px;font-weight:800;letter-spacing:1.3px;min-height:55px}.gold{background:#efc777;color:#24423e;box-shadow:0 8px 24px #1a39362e}.gold:hover{background:#ffdb91}.ghost{color:white;border:1px solid #fff9;background:#ffffff0a}.ghost:hover{background:#ffffff22}.play-icon{font-size:10px}.hero-character{position:absolute;z-index:2;right:3%;bottom:-8%;width:57%;height:85%;display:flex;justify-content:center;align-items:end;animation:float 7s ease-in-out infinite}.hero-character img{max-height:100%;max-width:100%;object-fit:contain;filter:drop-shadow(0 24px 20px #153f3e66)}.hero-orbit{position:absolute;border:1px solid #ffffff3a;border-radius:50%;width:570px;height:570px;right:13%;top:16%}.orbit-two{width:640px;height:640px;right:10%;top:12%;border-style:dashed;opacity:.5}.hero-caption,.scroll-cue{position:absolute;z-index:5;bottom:75px;font-size:9px;font-weight:700;letter-spacing:2px;color:#fff}.hero-caption{right:8%;display:flex;align-items:center;gap:16px}.hero-caption i{display:block;width:65px;height:1px;background:#fff9}.scroll-cue{left:9%;display:flex;align-items:center;gap:20px}.scroll-cue span{font-size:18px}.hero-bottom{position:absolute;bottom:-1px;left:0;right:0;height:34px;background:#f8f7f0;clip-path:polygon(0 100%,100% 0,100% 100%);z-index:4}.section{padding:125px 9%}.intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:10%;align-items:center}.intro h2,.hero-heading h2,.section-head h2{font-size:clamp(43px,4.5vw,64px);line-height:1.1;margin:22px 0}.intro h2 em,.hero-heading h2 em,.section-head h2 em{color:#b68c4e}.intro-copy>p,.hero-heading>p{line-height:1.85;color:#687a79;font-size:15px;max-width:420px}.text-link{display:inline-block;margin-top:32px;font-size:10px;font-weight:bold;letter-spacing:1.5px;border-bottom:1px solid #b88e4e;padding-bottom:12px}.text-link span{margin-left:25px;color:#b88e4e}.intro-art{position:relative;padding:14px 18px 30px 0}.intro-frame{height:370px;overflow:hidden;border-radius:170px 170px 6px 6px;background:#a3c0ae;box-shadow:20px 20px 0 #e9e3cf}.intro-frame img{width:100%;height:100%;object-fit:cover}.intro-badge{position:absolute;left:-35px;bottom:3px;width:124px;height:124px;background:#eac17c;color:#1f4848;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;font-size:8px;line-height:1.5;letter-spacing:1px;font-weight:bold;transform:rotate(-12deg);border:7px double #f8edcf}.intro-badge span{font-size:25px}.intro-number{position:absolute;right:-15px;top:22px;writing-mode:vertical-rl;font-size:11px;letter-spacing:1px}.intro-number span{font-size:8px;color:#a6a69b;margin-top:10px}.features{position:relative;overflow:hidden;background:#193e40;color:#fff;padding:100px 9% 110px}.features:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 88% 20%,#4e827c77,transparent 40%)}.features-top,.feature-grid{position:relative;z-index:1}.features-top{display:flex;align-items:end;justify-content:space-between;gap:30px}.features-top h2{font-size:clamp(40px,4.2vw,60px);line-height:1.1;margin-top:22px}.features-top>p{font-family:Georgia,serif;color:#c0d0c7;max-width:260px;line-height:1.7}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:66px;border-top:1px solid #ffffff36}.feature-grid article{position:relative;padding:32px 32px 10px 0;border-right:1px solid #ffffff36}.feature-grid article+article{padding-left:32px}.feature-grid article:last-child{border:0}.feature-icon{font-size:36px;color:#edc67f;margin-bottom:20px}.feature-num{position:absolute;right:32px;top:40px;color:#b8c8bb;font-size:9px}.feature-grid h3{font:normal 23px Georgia}.feature-grid p{line-height:1.8;font-size:13px;color:#b9cbbe;margin-top:14px;max-width:280px}.feature-watermark{position:absolute;bottom:-95px;right:-10px;font:220px Georgia;color:#ffffff05}.hero-heading,.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px}.hero-heading>p{max-width:350px}.character-panel{margin-top:55px;height:530px;display:grid;grid-template-columns:40% 60%;position:relative;overflow:hidden;background:#dfece5}.character-info{z-index:2;padding:55px 0 45px 55px}.character-count{font-size:9px;font-weight:bold;letter-spacing:1.5px}.character-count b{margin-left:20px;color:#a68d63}.character-line{height:1px;background:#a5beb3;width:210px;margin:22px 0 65px}.character-role{font-size:9px;letter-spacing:2px;font-weight:bold;color:#ab8a53}.character-info h3{font:normal 72px Georgia;margin:12px 0}.character-info>p:not(.character-role){font:16px/1.7 Georgia;color:#627e77;max-width:270px}.character-controls{display:flex;gap:7px;margin-top:35px}.character-controls button{width:45px;height:45px;border:1px solid #9bb8ab;background:transparent;color:#315b53;font-size:18px}.character-controls button:hover{background:#1d4e4c;color:#fff}.character-dots{display:flex;gap:9px;margin-top:28px}.character-dots button{width:7px;height:7px;border:0;padding:0;background:#a8bbb0;border-radius:50%}.character-dots button.active{background:#c49650;outline:1px solid #c49650;outline-offset:4px}.character-stage{position:relative;display:flex;justify-content:center;align-items:end}.character-stage img{position:relative;z-index:1;max-height:100%;max-width:100%;object-fit:contain;filter:drop-shadow(0 20px 10px #55766f38)}.stage-word{position:absolute;top:100px;left:0;font:clamp(90px,14vw,210px) Georgia;color:#fff7;letter-spacing:-10px}.magic-circle{position:absolute;width:380px;height:380px;border:1px solid #fff9;outline:1px dashed #ffffffaa;outline-offset:17px;border-radius:50%;top:12%}.stage-label{position:absolute;bottom:25px;right:30px;font-size:8px;letter-spacing:1.5px;color:#658a80;font-weight:bold}.news{background:#f1f1e7}.news-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:16px;margin-top:40px}.news-note{font-size:9px;letter-spacing:1px;font-weight:bold;color:#a98c58}.news-card{min-height:310px;position:relative;overflow:hidden}.news-image{background:#274c48;color:white}.news-image-bg{position:absolute;inset:0;background:linear-gradient(0deg,#193c3beb,transparent 85%),url('/assets/wallpapers/artwork-003.jpg') center/cover}.news-card-body{position:absolute;bottom:28px;left:30px;right:30px}.tag{font-size:9px;letter-spacing:1.5px;font-weight:bold;color:#e8bd70}.news-card h3{font:normal 26px/1.2 Georgia;margin:20px 0 13px}.news-card p{font-size:13px;line-height:1.7;max-width:300px;opacity:.8}.card-arrow{position:absolute;right:0;bottom:0}.news-paper{background:#fff;padding:30px;color:#234743}.news-paper .tag{color:#a78652}.news-star{display:block;font-size:45px;color:#b89b6b;margin-top:35px}.news-paper a{position:absolute;right:28px;bottom:23px;font-size:20px}.dark-paper{background:#e4ebe3}.placeholder-note{margin-top:20px;font-size:11px;color:#87928b}.join{position:relative;overflow:hidden;background:#245450;color:white;padding:110px 10%;min-height:440px}.join-glow{position:absolute;inset:0;background:radial-gradient(ellipse at 75% 50%,#72a89988,transparent 46%),linear-gradient(110deg,#193e3e,#285e54)}.join-content{position:relative;z-index:2}.join h2{font-size:clamp(45px,5vw,70px);line-height:1.05;margin:22px 0}.join p{color:#c5d6cc;font:16px/1.7 Georgia}.join small{display:block;margin-top:20px;color:#c5d6cc;font-size:11px}.slime{position:absolute;width:260px;right:12%;bottom:-10px;transform:rotate(-8deg);filter:drop-shadow(0 20px 12px #163d3b66)}footer{padding:50px 9%;display:flex;align-items:center;gap:35px;background:#142f31;color:#d1dfd3}footer .brand{font-size:25px;color:white}footer p{font:italic 14px Georgia;color:#a5beb3;margin-right:auto}footer div:not(.brand){display:flex;gap:25px;font-size:11px}footer>small{font-size:8px;letter-spacing:1px;color:#93aca0}.footer-brand small{font-size:6px}dialog{border:0;padding:45px;background:#faf8ef;color:#1c4542;max-width:410px;text-align:center;box-shadow:0 20px 100px #0005}dialog::backdrop{background:#0d282bc9}dialog>span{font-size:35px;color:#c69b54}dialog h2{font-size:35px;line-height:1.1;margin:18px 0}dialog p{color:#71807a;line-height:1.6;margin-bottom:23px}.dialog-close{position:absolute;right:14px;top:10px;border:0;background:none;font-size:28px;color:#6c817b}@keyframes float{50%{transform:translateY(-10px)}}@media(max-width:900px){.nav{height:72px}.nav nav{display:none;position:absolute;top:72px;left:0;right:0;background:#173c3e;padding:24px;flex-direction:column;gap:20px}.nav nav.open{display:flex}.nav-button{margin-left:auto}.menu{display:block;border:0;background:none;color:white;font-size:22px}.hero-copy{width:70%;top:23%}.hero-character{width:70%;right:-15%;opacity:.8}.hero-shade{background:linear-gradient(90deg,#173c3deb,#173c3d80 75%,#173c3d50)}.intro{gap:6%}.section{padding:90px 7%}.features{padding:80px 7%}.news-grid{grid-template-columns:1fr 1fr}.news-image{grid-column:span 2}footer{flex-wrap:wrap}footer p{min-width:50%}}@media(max-width:600px){.nav{padding:0 6%}.nav-button{display:none}.menu{margin-left:auto}.brand{font-size:26px}.hero{min-height:690px;height:90vh}.hero-copy{left:7%;width:86%;top:24%}.hero-copy p{font-size:16px;max-width:310px}.hero-character{width:92%;height:54%;right:-25%;bottom:2%;opacity:.58}.hero-orbit{width:350px;height:350px;right:-65px;top:36%}.orbit-two{width:390px;height:390px;right:-85px;top:33%}.hero-actions{gap:8px}.button{padding:15px 16px;font-size:9px;gap:12px}.hero-caption{display:none}.scroll-cue{bottom:55px}.intro{grid-template-columns:1fr;gap:40px}.intro-frame{height:290px}.intro-badge{left:-10px}.features-top,.hero-heading,.section-head{display:block}.features-top>p,.hero-heading>p{margin-top:20px}.feature-grid{grid-template-columns:1fr;margin-top:40px}.feature-grid article,.feature-grid article+article{border-right:0;border-bottom:1px solid #ffffff36;padding:24px 0}.feature-grid article:last-child{border:0}.feature-icon{margin-bottom:10px}.character-panel{height:620px;display:block}.character-info{padding:35px 25px}.character-line{margin:15px 0 25px}.character-info h3{font-size:52px}.character-info>p:not(.character-role){max-width:240px}.character-controls{margin-top:20px}.character-stage{height:340px;position:absolute;bottom:0;right:-30px;width:75%}.character-stage img{max-height:100%}.stage-word{font-size:90px;top:80px}.magic-circle{width:250px;height:250px;top:15%}.stage-label{display:none}.news-grid{grid-template-columns:1fr}.news-image{grid-column:auto}.news-card{min-height:260px}.slime{width:165px;right:-15px;opacity:.5}.join{padding:85px 7%}.join-content p{max-width:240px}footer{padding:40px 7%;gap:25px}footer p{min-width:0}footer>small{width:100%}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Arcane direction: layered illustrations, gold tracery and luminous accents. */
:root{--ink:#283448;--gold:#e8c477;--cream:#f6f0df;--dark:#1c2e42}body{background:#f4efdf;color:#283448;font-family:'Segoe UI',sans-serif}h1,h2,h3,.brand,.hero-copy p,.features-top>p,.character-info>p:not(.character-role),.join p,footer p{font-family:'Goudy Old Style','Baskerville Old Face',Palatino,serif}h1,h2{letter-spacing:-.035em}h1{font-weight:600;font-size:clamp(65px,7.4vw,110px);line-height:.94;text-shadow:0 3px 12px #14202f88,0 0 45px #ffe5a52e}h1 em,h2 em{color:#f1d196}.brand{display:block;line-height:0;letter-spacing:normal}.brand-logo{width:154px;height:58px;object-fit:contain;filter:drop-shadow(0 2px 3px #111b2d99) drop-shadow(0 0 10px #e9be5d42)}.footer-brand .brand-logo{width:115px;height:45px}.nav{border-color:#f0d8a140;background:linear-gradient(180deg,#152238a8,transparent)}.nav nav{font-size:11px;letter-spacing:.1em;text-transform:uppercase}.nav nav a{transition:color .25s,text-shadow .25s}.nav nav a:hover{color:#ffe2a0;text-shadow:0 0 15px #ffd57e}.nav-button,.button{position:relative;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,background .25s,color .25s;clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 10px,100% calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,0 calc(100% - 10px),0 10px)}.button:before,.nav-button:before{content:'';position:absolute;inset:4px;border:1px solid #fff6;pointer-events:none}.button:hover,.nav-button:hover{transform:translateY(-4px);box-shadow:0 7px 25px #e9c97c88,0 0 30px #f5d99c4d}.button:focus-visible,.character-controls button:focus-visible,.character-dots button:focus-visible,a:focus-visible{outline:3px solid #f1ca76;outline-offset:5px}.gold{background:linear-gradient(135deg,#f8e0a3,#d9aa5c 55%,#f7dda4);color:#342d29}.hero{background:#263a52}.hero-scene{background:linear-gradient(0deg,#202e3f 0%,transparent 46%),url('/assets/wallpapers/artwork-003.jpg') center 48% / cover;filter:saturate(.82) contrast(1.03)}.hero-shade{background:linear-gradient(90deg,#202943ed 0%,#20354ac9 38%,#28445338 85%),linear-gradient(0deg,#1d3143dc,transparent 35%)}.hero:before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 68% 42%,#e8d5a844,transparent 28%),radial-gradient(circle at 84% 26%,#d3f7f988,transparent 2%),radial-gradient(circle at 61% 19%,#ffeda3cc,transparent .4%),radial-gradient(circle at 45% 68%,#ffe3a8cc,transparent .3%);animation:ambient 5s ease-in-out infinite alternate}.hero-copy{width:43%;top:26%}.hero-copy p{font-size:20px;line-height:1.65}.hero-character{right:-1%;bottom:-7%;width:56%;z-index:4;animation:float 7s ease-in-out infinite}.hero-character img{filter:drop-shadow(0 22px 16px #17273b99) drop-shadow(0 0 25px #ffe1a566)}.hero-companion{position:absolute;z-index:2;right:27%;bottom:4%;height:63%;width:34%;display:flex;align-items:end;justify-content:center;animation:float 9s ease-in-out infinite reverse}.hero-companion img{height:100%;max-width:100%;object-fit:contain;opacity:.86;filter:drop-shadow(0 10px 12px #17253caa) drop-shadow(0 0 20px #efddae55)}.arcane-seal{position:absolute;right:13%;top:18%;width:min(43vw,590px);aspect-ratio:1;border-radius:50%;z-index:1;border:1px solid #f6dfa873;box-shadow:0 0 35px #ffe19c33,inset 0 0 35px #ffe19c29;animation:seal-turn 60s linear infinite}.arcane-seal:before,.arcane-seal:after{content:'';position:absolute;border:1px dashed #f6dfa89c;border-radius:50%;inset:12px}.arcane-seal:after{inset:38px;border-style:solid;clip-path:polygon(50% 0,60% 38%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%)}.arcane-seal span{position:absolute;top:-12px;left:48%;font-size:25px;color:#fce7b1;text-shadow:0 0 15px #ffdf8c}.hero-orbit{border-color:#f8d9963b}.hero-bottom{background:#f4efdf}.scroll-cue,.hero-caption{color:#f2d8a5}.eyebrow{color:#a27749}.eyebrow.light{color:#f4d391}.intro,.heroes{background:#f4efdf}.intro h2 em,.hero-heading h2 em,.section-head h2 em{color:#a47c4a}.intro-frame{box-shadow:18px 18px 0 #e1d9bf,18px 18px 0 1px #c7ad77}.intro-art:after{content:'✧';position:absolute;right:-3%;top:-7%;font-size:58px;color:#d8b16a;text-shadow:0 0 20px #e1bb79}.intro-badge{background:#e9c88d;border-color:#f4ead1;color:#43404a}.features{background:#242e42}.features:before{background:radial-gradient(circle at 83% 30%,#8382a466,transparent 38%),radial-gradient(circle at 12% 90%,#8a755a44,transparent 30%)}.feature-icon{color:#ebc778;text-shadow:0 0 18px #ffda7988}.feature-grid h3{font-family:'Goudy Old Style','Baskerville Old Face',serif;font-size:26px}.feature-grid article{transition:background .3s,transform .3s}.feature-grid article:hover{transform:translateY(-5px);background:#ffffff08}.character-panel{background:radial-gradient(circle at 75% 35%,#f6e8c8,#d9ddd4 50%,#ccd8d2);border:1px solid #c4b38a}.character-panel:after{content:'';position:absolute;inset:9px;border:1px solid #fff9;pointer-events:none}.character-stage img{filter:drop-shadow(0 18px 10px #393a4950) drop-shadow(0 0 20px #fff5c995)}.magic-circle{border-color:#fff9;box-shadow:0 0 35px #fff3cb80,inset 0 0 30px #ffeac266;animation:seal-turn 45s linear infinite}.stage-word{color:#ffffff8f}.character-info h3,.news-card h3{font-family:'Goudy Old Style','Baskerville Old Face',serif}.character-controls button{border-color:#aa9471;color:#66583e;transition:all .25s}.character-controls button:hover{background:#6f5a45;color:white;box-shadow:0 0 16px #d1ae72}.news{background:#eae5d7}.news-card{border:1px solid #d7c7a5}.news-image-bg{background:linear-gradient(0deg,#242a41ef,transparent 85%),url('/assets/wallpapers/artwork-003.jpg') center/cover}.news-paper{background:#f9f5e9}.dark-paper{background:#dddcd3}.news-card h3{font-size:28px}.placeholder-note a{text-decoration:underline;text-underline-offset:3px}.join{background:#2b304a}.join-glow{background:radial-gradient(ellipse at 75% 50%,#b8a0bb66,transparent 45%),radial-gradient(ellipse at 65% 85%,#ceaa6e44,transparent 25%),linear-gradient(115deg,#20283e,#41415c)}.join h2{text-shadow:0 0 24px #f3d39244}.slime{filter:drop-shadow(0 20px 12px #18213388) drop-shadow(0 0 20px #eadc9d80)}footer{background:#192236;color:#d5d0c5}footer>small{color:#a8a0a1}.cursor-sparkles{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:9999}.cursor-spark{position:absolute;display:block;width:var(--size);height:var(--size);background:#fff4c2;box-shadow:0 0 7px 2px #ffe7a4,0 0 15px #ecd69a;clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);animation:sparkle 700ms ease-out forwards}@keyframes sparkle{from{opacity:.95;transform:translate(-50%,-50%) scale(1) rotate(0)}to{opacity:0;transform:translate(calc(-50% + var(--drift)),18px) scale(.1) rotate(70deg)}}@keyframes seal-turn{to{transform:rotate(360deg)}}@keyframes ambient{to{opacity:.55}}@media(pointer:fine){body{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='40' viewBox='0 0 32 40'%3E%3Cpath d='M4 2L6 28 12 22 17 36 21 34 16 20 25 21Z' fill='%23f5ddb0' stroke='%23433836' stroke-width='2' stroke-linejoin='round'/%3E%3Cpath d='M6 4L11 20 17 18' fill='none' stroke='%23fff6dc' stroke-width='1.3'/%3E%3Cpath d='M24 3l1 3 3 1-3 1-1 3-1-3-3-1 3-1z' fill='%23ffe5a3' stroke='%23a67842' stroke-width='.7'/%3E%3C/svg%3E") 4 2,auto}a,button{cursor:pointer}}@media(max-width:900px){.hero-copy{width:66%}.hero-companion{right:31%;opacity:.55}.arcane-seal{width:65vw;right:5%;top:27%}}@media(max-width:600px){.brand-logo{width:125px;height:52px}.hero-copy{width:86%}.hero-character{right:-25%;opacity:.75}.hero-companion{width:49%;height:39%;right:31%;bottom:6%;opacity:.52}.arcane-seal{width:85vw;right:-10%;top:38%}.hero-copy p{font-size:18px}.join-content{max-width:84%}}@media(prefers-reduced-motion:reduce){.arcane-seal,.magic-circle,.hero:before,.hero-character,.hero-companion{animation:none}.button,.nav-button,.feature-grid article{transition:none}}

/* A single illustrated world scene replaces the repeated feature sections. */
.hero-bottom{background:#1c2838}.world-explore{background:#1c2838;color:#f9f1de;padding:90px 7% 100px;position:relative;overflow:hidden}.world-explore:before{content:'✧';position:absolute;right:7%;top:15px;font-size:160px;color:#ffe0a108;transform:rotate(20deg)}.world-header{max-width:1380px;margin:0 auto 35px;display:flex;align-items:end;justify-content:space-between;gap:30px}.world-header h2{font-size:clamp(45px,4.4vw,68px);line-height:1.03;margin-top:20px}.world-header p{max-width:345px;color:#d1d6d1;font:18px/1.6 'Goudy Old Style','Baskerville Old Face',serif}.world-scene{position:relative;max-width:1380px;height:520px;margin:auto;overflow:hidden;border:1px solid #e7ca8e77;box-shadow:0 25px 65px #090f1a66;background:#3c5350}.world-scene:after{content:'';position:absolute;inset:8px;border:1px solid #f6e5bd55;pointer-events:none;z-index:4}.world-landscape{position:absolute;inset:0;background:url('/assets/wallpapers/artwork-003.jpg') center 50%/cover;transform:scale(1.01);filter:saturate(.8)}.world-vignette{position:absolute;inset:0;background:linear-gradient(90deg,#14253622 35%,#1c2937dd 75%,#1c2937f2),linear-gradient(0deg,#1324378a,transparent 60%)}.world-compass{position:absolute;left:4%;top:4%;font-size:68px;color:#f7dfa588;text-shadow:0 0 16px #ffe2a477}.world-markers{position:absolute;inset:0;z-index:5;pointer-events:none}.world-marker{position:absolute;display:flex;align-items:center;gap:7px;background:none;border:0;color:#ffebbb;pointer-events:auto;filter:drop-shadow(0 2px 5px #142538)}.world-marker:nth-child(1){left:26%;top:27%}.world-marker:nth-child(2){left:47%;top:48%}.world-marker:nth-child(3){left:13%;top:64%}.world-marker:nth-child(4){left:36%;top:72%}.world-marker span{width:42px;height:42px;display:grid;place-items:center;border:1px solid #ffe4ad;border-radius:50%;background:#2c3848c9;font-size:17px;box-shadow:0 0 15px #ffdb8299;transition:transform .25s,box-shadow .25s,background .25s}.world-marker b{font-size:9px;letter-spacing:1.6px;text-shadow:0 2px 5px #172230}.world-marker:hover span,.world-marker.active span{transform:scale(1.18);background:#ddaf65;color:#28303a;box-shadow:0 0 0 5px #f2d08d38,0 0 22px #ffe5a9}.world-info{position:absolute;z-index:6;right:5%;top:12%;width:31%;max-width:370px;min-height:360px;padding:30px 32px;background:#1e2b3cf0;border:1px solid #d7b67a99;box-shadow:0 20px 55px #111d2d77}.world-info:before{content:'';position:absolute;inset:5px;border:1px solid #dac39033;pointer-events:none}.world-info-top{display:flex;justify-content:space-between;color:#e3ca92;font-size:10px;letter-spacing:2px}.world-info-top span:last-child{font-size:22px}.world-info-label{font-size:9px;letter-spacing:2px;font-weight:700;color:#d6b779;margin-top:47px}.world-info h3{font:normal 37px/1.1 'Goudy Old Style','Baskerville Old Face',serif;color:#fff4df;margin:12px 0 16px}.world-info>p:not(.world-info-label){font-size:13px;line-height:1.8;color:#d0d4d0}.world-info-line{height:1px;background:#d5b77a55;margin:27px 0 16px}.world-info-hint,.world-caption{font-size:8px;letter-spacing:1.5px;color:#d1bd91}.world-caption{position:absolute;left:4%;bottom:5%;z-index:4}.heroes.section{background:#151f30;color:#f8efd9;padding:100px 7% 90px;position:relative;overflow:hidden}.heroes.section:before{content:'';position:absolute;left:-10%;top:0;width:70%;height:100%;background:radial-gradient(ellipse,#3d485c80,transparent 65%);pointer-events:none}.hero-heading{position:relative;max-width:1380px;margin:auto}.hero-heading h2{color:#f7efdc}.hero-heading h2 em{color:#e5c283}.hero-heading>p{color:#bfc6c3}.character-panel{max-width:1380px;margin:45px auto 0;height:600px;border:1px solid #d5b67799;background:radial-gradient(ellipse at 72% 43%,#b9955e88,#4d4548 30%,#222c3d 70%);transition:background .5s}.character-panel[data-hero-theme="eir"]{background:radial-gradient(ellipse at 72% 43%,#efd8a8aa,#98737c 30%,#303047 70%)}.character-panel[data-hero-theme="dainn"]{background:radial-gradient(ellipse at 72% 43%,#e3a478aa,#824c53 30%,#302b42 70%)}.character-panel[data-hero-theme="tia"]{background:radial-gradient(ellipse at 72% 43%,#c59cdfaa,#60477d 30%,#26283f 70%)}.character-info{padding:58px 0 45px 6%;position:relative}.character-count{color:#e4d8c1}.character-count b,.character-role{color:#e8c78b}.character-line{background:#e1c48c70;margin:20px 0 50px}.hero-ornament{position:absolute;right:18%;top:145px;color:#e9cc9770;font-size:50px;text-shadow:0 0 20px #e5c38d}.character-info h3{font-size:clamp(72px,7vw,104px);line-height:.9;color:#fff2d9;text-shadow:0 0 28px #e7c0875c}.character-info>p:not(.character-role){color:#e3ded2;max-width:270px;font-size:18px}.character-controls button{border-color:#e6cc9188;color:#f7e3b4;background:#16233155}.character-controls button:hover{background:#dfb976;color:#293343;box-shadow:0 0 22px #ebc68077}.character-stage img{max-height:110%;filter:drop-shadow(0 25px 15px #111a2cb0) drop-shadow(0 0 28px #f8da9780);animation:hero-enter .5s ease both}.stage-word{top:115px;color:#fff5dc12;font-size:clamp(100px,15vw,220px)}.magic-circle{width:440px;height:440px;top:13%;border-color:#fbe2a98c;outline-color:#fbe2a970;box-shadow:0 0 45px #f7d79038,inset 0 0 40px #f7d79030}.hero-sigil{position:absolute;top:10%;right:10%;font-size:65px;color:#f1d69b;text-shadow:0 0 25px #ffdc99}.stage-label{color:#e6d2a7;z-index:2}.character-dots{gap:8px;margin-top:28px;flex-wrap:wrap}.character-dots button{width:auto;height:auto;min-width:48px;padding:8px 9px;border:1px solid #d3bf9475;border-radius:0;background:#15223666;color:#cfcabc;font-size:8px;letter-spacing:1px}.character-dots button.active{background:#e4bd7c;color:#222d3d;outline:none;border-color:#f5d9a0}.project-update{display:flex;align-items:center;gap:25px;background:#222e40;color:#eee3cf;padding:25px 7%;border-block:1px solid #d9bc8066}.update-icon{font-size:26px;color:#e5c585;text-shadow:0 0 15px #e8c47d}.update-label{font-size:9px;color:#e5c585;letter-spacing:2px;font-weight:bold}.project-update p{font-size:13px;line-height:1.6;margin-top:5px;color:#d6d5cd}.project-update a{margin-left:auto;white-space:nowrap;color:#edcf94;font-size:9px;font-weight:bold;letter-spacing:1.3px}.project-update a span{padding-left:10px}.join{border-top:1px solid #dbc18d44}@keyframes hero-enter{from{opacity:.45;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:900px){.world-info{width:38%;right:4%}.world-marker:nth-child(2){left:36%}.world-marker:nth-child(4){left:32%}.character-panel{height:560px}.character-info{padding-left:35px}.character-info h3{font-size:80px}}@media(max-width:600px){.world-explore{padding:70px 0 0}.world-header{display:block;padding:0 7%;margin-bottom:27px}.world-header p{margin-top:18px;font-size:16px}.world-scene{height:670px;border-left:0;border-right:0}.world-landscape{height:360px;background-position:center}.world-vignette{background:linear-gradient(0deg,#1c2937 36%,transparent 70%),linear-gradient(90deg,#14253635,#14253620)}.world-compass{font-size:45px}.world-marker:nth-child(1){left:20%;top:9%}.world-marker:nth-child(2){left:55%;top:20%}.world-marker:nth-child(3){left:12%;top:30%}.world-marker:nth-child(4){left:48%;top:37%}.world-marker span{width:34px;height:34px}.world-marker b{font-size:8px}.world-info{top:auto;bottom:25px;left:7%;right:7%;width:auto;max-width:none;min-height:235px;padding:22px 25px}.world-info-label{margin-top:20px}.world-info h3{font-size:32px;margin:8px 0}.world-info-line{margin:16px 0 10px}.world-caption{display:none}.heroes.section{padding:75px 5%}.hero-heading{padding:0 2%}.character-panel{height:650px}.character-info{padding:30px 25px;z-index:3}.character-line{margin:13px 0 25px;width:160px}.hero-ornament{top:90px;right:10%}.character-info h3{font-size:65px}.character-info>p:not(.character-role){font-size:16px;max-width:220px}.character-controls{margin-top:18px}.character-stage{height:380px;width:86%;right:-17px}.character-stage img{max-height:110%}.stage-word{top:95px}.magic-circle{width:280px;height:280px;top:20%}.character-dots{gap:5px;margin-top:15px}.character-dots button{min-width:43px;font-size:7px;padding:7px}.project-update{gap:14px;padding:24px 7%}.project-update a{font-size:8px}.project-update p{font-size:12px}}@media(prefers-reduced-motion:reduce){.character-stage img{animation:none}.character-panel,.world-marker span{transition:none}}

/* Full-bleed world experiment: separate Lunia story-scene layers. */
.world-explore{padding:0;min-height:880px;background:#233f45;color:#fff;isolation:isolate}.world-scene-art,.scene-sky,.scene-village,.scene-haze,.scene-leaves,.scene-motes{position:absolute;inset:0;overflow:hidden;pointer-events:none}.world-scene-art{z-index:0}.scene-sky{background:linear-gradient(145deg,#5ec9d8 0%,#9bdbbc 42%,#568a70 100%)}.scene-village{background:url('/assets/backgrounds/web-scene-preview/village.png') center 45% / cover no-repeat;transform:scale(1.05);filter:saturate(1.22) brightness(1.06)}.scene-haze{background:linear-gradient(90deg,#153a46e8 0%,#28535bc2 28%,#32604b48 57%,#24404587 100%),linear-gradient(0deg,#183c42df 0%,transparent 28%,transparent 75%,#12323e90 100%)}.scene-forest{position:absolute;right:-4%;bottom:-6%;height:105%;width:42%;object-fit:cover;object-position:left;opacity:.5;mix-blend-mode:multiply;mask-image:linear-gradient(90deg,transparent,#000 35%)}.scene-tree{position:absolute;width:75%;height:76%;right:-9%;top:-9%;object-fit:contain;object-position:right top;filter:drop-shadow(0 15px 8px #123a3166);transform-origin:center}.scene-rock{position:absolute;width:68%;height:39%;left:-13%;bottom:-7%;object-fit:contain;object-position:left bottom;filter:drop-shadow(0 -5px 10px #173c3466)}.scene-motes{background:radial-gradient(circle at 30% 30%,#f9efa5dd 0 2px,transparent 5px),radial-gradient(circle at 57% 20%,#efff9dbb 0 2px,transparent 7px),radial-gradient(circle at 72% 56%,#fff1b599 0 2px,transparent 6px),radial-gradient(circle at 41% 75%,#fff1b5aa 0 2px,transparent 5px);animation:ambient 5s ease-in-out infinite alternate}.scene-leaves{z-index:4}.wind-leaf{position:absolute;display:block;background:linear-gradient(135deg,#e9e690,#82ba54 57%,#4f8c4c);border-radius:100% 0 100% 0;box-shadow:0 0 5px #d3e67866;filter:drop-shadow(0 1px 1px #33553988)}.world-copy,.world-story,.world-choices,.world-prompt{position:absolute;z-index:5}.world-copy{left:8%;top:15%;max-width:570px}.world-copy h2{font-size:clamp(54px,5.6vw,87px);line-height:.98;margin:22px 0;text-shadow:0 4px 25px #18303a99}.world-copy h2 em{color:#ffe4a8}.world-copy>p{max-width:370px;font:20px/1.5 'Goudy Old Style','Baskerville Old Face',serif;color:#f7f6e9;text-shadow:0 2px 10px #13382e}.world-story{right:9%;top:35%;width:30%;max-width:360px;padding:25px 0 25px 40px;color:#fff;text-shadow:0 2px 14px #0e3032}.world-story:before{content:'';position:absolute;inset:-50px -60px -50px -90px;z-index:-1;background:radial-gradient(ellipse,#17383ee8,transparent 75%);pointer-events:none}.story-flourish{font-size:32px;color:#ffdda0;text-shadow:0 0 24px #fff2a4}.world-info-label{margin-top:16px;color:#ffe3a3}.world-story h3{font:normal 47px/1.05 'Goudy Old Style','Baskerville Old Face',serif;margin:10px 0 15px}.world-story>p:not(.world-info-label){font-size:14px;line-height:1.8;color:#f1f4e8}.story-index{display:block;margin-top:25px;color:#e5e9c3;font-size:9px;font-weight:bold;letter-spacing:2px}.world-choices{left:8%;bottom:14%;display:flex;gap:26px;flex-wrap:wrap}.world-choice{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:62px;padding:0;color:#fff;border:0;background:transparent;text-shadow:0 2px 5px #143a3c;font-size:9px;letter-spacing:1.4px;font-weight:bold;transition:transform .25s,color .25s}.choice-symbol{width:50px;height:50px;display:grid;place-items:center;font-size:25px;color:#fff7d6;background:radial-gradient(circle,#72bdb8cc 0%,#367b7a88 45%,transparent 75%);border-radius:50%;box-shadow:0 0 16px #a8f3d250;transition:transform .3s,box-shadow .3s,background .3s}.world-choice:hover,.world-choice.active{color:#fff1ab;transform:translateY(-5px)}.world-choice:hover .choice-symbol,.world-choice.active .choice-symbol{transform:scale(1.2);background:radial-gradient(circle,#f6d18e,#e4a96788 48%,transparent 75%);box-shadow:0 0 25px #ffe8a9a8}.world-prompt{left:8%;bottom:8%;font-size:9px;letter-spacing:1.7px;color:#e8f0dc}.world-prompt span{margin-left:10px}.scene-cut{position:absolute;z-index:2;bottom:-2px;left:-3%;width:106%;height:90px;background:#151f30;clip-path:polygon(0 76%,8% 62%,16% 72%,26% 47%,34% 58%,45% 39%,55% 53%,65% 28%,75% 44%,84% 29%,92% 47%,100% 23%,100% 100%,0 100%)}.world-explore:before{display:none}.heroes.section{padding-top:60px}.world-choice:focus-visible{outline:3px solid #fff2aa;outline-offset:7px}@media(max-width:900px){.world-explore{min-height:820px}.scene-tree{width:90%;right:-25%}.world-story{right:5%;width:35%;padding-left:10px}.world-copy{left:7%;top:13%;max-width:55%}.world-choices,.world-prompt{left:7%}}@media(max-width:600px){.world-explore{min-height:800px}.scene-village{background-position:53% center}.scene-haze{background:linear-gradient(180deg,#1b4052cc 0%,#224a4b7d 35%,#204944aa 59%,#183c42f7 100%)}.scene-tree{height:48%;width:100%;right:-25%;top:2%;opacity:.85}.scene-rock{height:24%;width:85%;bottom:-1%}.scene-forest{width:70%;height:70%;opacity:.4}.world-copy{top:9%;left:7%;width:86%;max-width:none}.world-copy h2{font-size:clamp(45px,10vw,60px)}.world-copy>p{font-size:17px;max-width:285px}.world-story{top:38%;left:7%;right:7%;width:auto;max-width:340px;padding:0}.world-story:before{inset:-50px -60px}.world-story h3{font-size:38px}.world-story>p:not(.world-info-label){font-size:13px;line-height:1.65}.story-index{margin-top:14px}.world-choices{left:7%;right:7%;bottom:14%;gap:8px;justify-content:space-between}.world-choice{min-width:55px;font-size:8px}.choice-symbol{width:44px;height:44px}.world-prompt{left:7%;bottom:9%;font-size:8px}.scene-cut{height:55px}.heroes.section{padding-top:48px}}@media(prefers-reduced-motion:reduce){.scene-motes{animation:none}.scene-leaves{display:none}.world-choice,.choice-symbol{transition:none}}

/* Blend the original cutout edges into the surrounding artwork. */
.hero-companion img{-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 70%,transparent 97%);mask-image:linear-gradient(to bottom,#000 0%,#000 70%,transparent 97%)}
.scene-tree{right:-27%;width:68%;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 58%,transparent 94%);mask-image:linear-gradient(to bottom,#000 0%,#000 58%,transparent 94%)}
@media(max-width:900px){.scene-tree{right:-38%;width:85%}}
@media(max-width:600px){.scene-tree{right:-45%;width:100%;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 48%,transparent 92%);mask-image:linear-gradient(to bottom,#000 0%,#000 48%,transparent 92%)}}

/* The tree is rooted at the scene floor; its cropped canopy extends above view. */
.scene-tree{top:auto;bottom:-12%;right:-22%;height:112%;width:auto;max-width:none;object-fit:contain;object-position:center bottom;-webkit-mask-image:none;mask-image:none}
@media(max-width:900px){.scene-tree{right:-29%;width:auto;height:112%;top:auto;bottom:-12%}}
@media(max-width:600px){.scene-tree{right:-68%;width:auto;height:108%;top:auto;bottom:-12%;-webkit-mask-image:none;mask-image:none;opacity:.8}}

/* Character selection shares the open, painted composition of the world scene. */
.heroes.section{padding:62px 7% 52px;background:radial-gradient(ellipse at 80% 60%,#4b4677 0%,#263e5a 34%,#182a3c 76%)}
.heroes.section:before{background:radial-gradient(ellipse at 30% 45%,#427b8155,transparent 65%)}
.hero-heading h2{font-size:clamp(37px,3.5vw,53px);margin:12px 0 0}
.hero-heading>p{font-size:14px;max-width:305px}
.character-panel,.character-panel[data-hero-theme="sieg"]{height:440px;margin-top:16px;border:0;background:radial-gradient(ellipse at 75% 57%,#dba76f88 0%,#826f8b77 25%,transparent 58%)}
.character-panel[data-hero-theme="eir"]{background:radial-gradient(ellipse at 75% 57%,#ffe1a49c 0%,#cd8c9d77 25%,transparent 58%)}
.character-panel[data-hero-theme="dainn"]{background:radial-gradient(ellipse at 75% 57%,#ffb37d9c 0%,#bd617777 25%,transparent 58%)}
.character-panel[data-hero-theme="tia"]{background:radial-gradient(ellipse at 75% 57%,#d4a5ff9c 0%,#8a64aa77 25%,transparent 58%)}
.character-panel:after{display:none}.character-info{padding:30px 0 18px 3%}.character-line{margin:15px 0 26px;width:150px}.hero-ornament{right:22%;top:75px}.character-info h3{font-size:clamp(64px,6vw,88px);margin:10px 0}.character-info>p:not(.character-role){font-size:17px;max-width:280px}.character-controls{margin-top:23px}.character-controls button{border:0;border-radius:50%;background:radial-gradient(circle,#78ada6aa,transparent 75%);color:#fff1cf}.character-controls button:hover{background:radial-gradient(circle,#efbc78,#c08c6244 70%,transparent);box-shadow:0 0 25px #f9d6a177}.character-dots{margin-top:20px}.character-dots button{border:0;background:transparent;color:#d8e1dd;border-radius:0;padding:8px 10px}.character-dots button.active{background:linear-gradient(90deg,#eec887aa,#eac58433,transparent);color:#fff6db;box-shadow:inset 2px 0 #ffe3a9}.character-stage{overflow:visible}.character-stage img{max-height:112%;filter:drop-shadow(0 20px 15px #111a2cb0) drop-shadow(0 0 28px #f8da9770)}.stage-word{top:75px}.magic-circle{width:355px;height:355px;top:9%}.hero-sigil{top:2%;right:10%}.stage-label{bottom:5px}
@media(max-width:900px){.character-panel,.character-panel[data-hero-theme="sieg"]{height:420px}.character-info{padding-left:2%}.magic-circle{width:320px;height:320px}}
@media(max-width:600px){.heroes.section{padding:55px 5% 35px}.hero-heading h2{font-size:40px}.hero-heading>p{margin-top:10px;font-size:13px}.character-panel,.character-panel[data-hero-theme="sieg"]{height:510px;margin-top:10px}.character-info{padding:22px 15px}.character-line{margin:10px 0 17px}.character-info h3{font-size:60px}.character-info>p:not(.character-role){font-size:15px;max-width:200px}.character-controls{margin-top:15px}.character-dots{margin-top:12px;gap:2px}.character-dots button{padding:7px 8px}.character-stage{height:320px;width:78%;right:-10px;bottom:0}.magic-circle{width:245px;height:245px}.hero-sigil{font-size:45px}.hero-ornament{top:70px}}

/* A forest clearing surrounds the whole character selection, with no card edge. */
.heroes.section{background:linear-gradient(90deg,#183f47f5 0%,#23545ccf 43%,#275c608c 100%),url('/assets/backgrounds/web-scene-preview/hero-mountains.png') center 55%/cover no-repeat,linear-gradient(160deg,#88cde0,#d6eec6 58%,#73b485);isolation:isolate}
.heroes.section:before{content:'';position:absolute;inset:0;width:100%;height:100%;background:radial-gradient(ellipse at 72% 55%,#ebc47a77,transparent 47%),linear-gradient(0deg,#193b43d9,transparent 35%);pointer-events:none;transition:background .5s;z-index:0}
.heroes.section[data-hero-theme="eir"]:before{background:radial-gradient(ellipse at 72% 55%,#f3b6bcaa,transparent 47%),linear-gradient(0deg,#193b43d9,transparent 35%)}
.heroes.section[data-hero-theme="dainn"]:before{background:radial-gradient(ellipse at 72% 55%,#f0a173aa,transparent 47%),linear-gradient(0deg,#193b43d9,transparent 35%)}
.heroes.section[data-hero-theme="tia"]:before{background:radial-gradient(ellipse at 72% 55%,#bba0e8aa,transparent 47%),linear-gradient(0deg,#193b43d9,transparent 35%)}
.character-panel,.character-panel[data-hero-theme="sieg"],.character-panel[data-hero-theme="eir"],.character-panel[data-hero-theme="dainn"],.character-panel[data-hero-theme="tia"]{background:none;overflow:visible}
.character-stage img{-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 78%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 78%,transparent 100%)}
.hero-heading,.character-panel{z-index:2}.hero-fireflies{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}.hero-fireflies i{position:absolute;left:var(--x);top:var(--y);width:var(--size,4px);height:var(--size,4px);background:#fff8bc;border-radius:50%;box-shadow:0 0 7px 2px #f4e58eb8,0 0 18px 4px #bce99a80;animation:firefly var(--speed,6s) ease-in-out infinite alternate;animation-delay:var(--delay,0s)}
.hero-fireflies i:nth-child(1){--x:12%;--y:24%;--speed:6s}.hero-fireflies i:nth-child(2){--x:25%;--y:66%;--speed:8s;--delay:-2s}.hero-fireflies i:nth-child(3){--x:38%;--y:29%;--size:3px;--delay:-4s}.hero-fireflies i:nth-child(4){--x:48%;--y:75%;--speed:7s;--delay:-1s}.hero-fireflies i:nth-child(5){--x:54%;--y:18%;--size:3px;--speed:9s}.hero-fireflies i:nth-child(6){--x:67%;--y:72%;--delay:-3s}.hero-fireflies i:nth-child(7){--x:78%;--y:24%;--speed:7s}.hero-fireflies i:nth-child(8){--x:89%;--y:62%;--size:3px;--delay:-5s}.hero-fireflies i:nth-child(9){--x:96%;--y:35%;--speed:8s;--delay:-2s}.hero-fireflies i:nth-child(10){--x:33%;--y:88%;--size:3px;--speed:9s}.hero-fireflies i:nth-child(11){--x:61%;--y:48%;--size:3px;--delay:-4s}.hero-fireflies i:nth-child(12){--x:82%;--y:88%;--speed:7s;--delay:-1s}
@keyframes firefly{0%{opacity:.2;transform:translate3d(0,0,0) scale(.6)}50%{opacity:1}100%{opacity:.4;transform:translate3d(14px,-27px,0) scale(1.1)}}
@media(max-width:600px){.heroes.section{background-position:58% center}.character-stage img{-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 80%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 80%,transparent 100%)}}
@media(prefers-reduced-motion:reduce){.hero-fireflies i{animation:none;opacity:.45}.heroes.section:before{transition:none}}

/* Blend the opening illustration directly into the village scene. */
.hero-bottom{display:none}
.world-explore{margin-top:-100px;z-index:6;background:transparent}
.world-scene-art{-webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.55) 40px,#000 85px);mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.55) 40px,#000 85px)}
@media(max-width:600px){.world-explore{margin-top:-65px}.world-scene-art{-webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.55) 24px,#000 55px);mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.55) 24px,#000 55px)}}
/* Uneven, feathered wisps let the village rise into the opening scene. */
.world-scene-art{
  -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 100px),radial-gradient(ellipse 29% 100px at 17% 99px,#000 0,transparent 100%),radial-gradient(ellipse 26% 93px at 48% 100px,#000 0,transparent 100%),radial-gradient(ellipse 34% 103px at 82% 101px,#000 0,transparent 100%);
  mask-image:linear-gradient(to bottom,transparent 0,#000 100px),radial-gradient(ellipse 29% 100px at 17% 99px,#000 0,transparent 100%),radial-gradient(ellipse 26% 93px at 48% 100px,#000 0,transparent 100%),radial-gradient(ellipse 34% 103px at 82% 101px,#000 0,transparent 100%);
}
@media(max-width:600px){
  .world-scene-art{
    -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 65px),radial-gradient(ellipse 38% 63px at 19% 65px,#000 0,transparent 100%),radial-gradient(ellipse 38% 60px at 69% 65px,#000 0,transparent 100%);
    mask-image:linear-gradient(to bottom,transparent 0,#000 65px),radial-gradient(ellipse 38% 63px at 19% 65px,#000 0,transparent 100%),radial-gradient(ellipse 38% 60px at 69% 65px,#000 0,transparent 100%);
  }
}
.hero-autoplay{font-size:11px!important;letter-spacing:0}.character-controls .hero-autoplay[hidden]{display:none}
/* Character entrance is driven by GSAP so it restarts for each selection. */
.character-stage img{animation:none}

/* The mountain scene blends over the village rather than using a hard divider. */
.scene-cut{display:none}
.heroes.section{--hero-aura:#ebc47a77;margin-top:-100px;padding-top:115px;background:none;z-index:7}
.heroes.section:before,.heroes.section[data-hero-theme="eir"]:before,.heroes.section[data-hero-theme="dainn"]:before,.heroes.section[data-hero-theme="tia"]:before{content:'';position:absolute;inset:0;width:100%;height:100%;background:radial-gradient(ellipse at 72% 55%,var(--hero-aura),transparent 47%),linear-gradient(0deg,#193b43d9,transparent 35%),linear-gradient(90deg,#183f47f5 0%,#23545ccf 43%,#275c608c 100%),url('/assets/backgrounds/web-scene-preview/hero-mountains.png') center 55%/cover no-repeat,linear-gradient(160deg,#88cde0,#d6eec6 58%,#73b485);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.55) 40px,#000 85px);mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.55) 40px,#000 85px)}
.heroes.section[data-hero-theme="eir"]{--hero-aura:#f3b6bcaa}.heroes.section[data-hero-theme="dainn"]{--hero-aura:#f0a173aa}.heroes.section[data-hero-theme="tia"]{--hero-aura:#bba0e8aa}
.world-prompt{bottom:13%}.world-choices{bottom:19%}
@media(max-width:600px){.heroes.section{margin-top:-65px;padding-top:95px}.heroes.section:before,.heroes.section[data-hero-theme="eir"]:before,.heroes.section[data-hero-theme="dainn"]:before,.heroes.section[data-hero-theme="tia"]:before{-webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.55) 24px,#000 55px);mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.55) 24px,#000 55px)}.world-prompt{bottom:12%}.world-choices{bottom:17%}}

/* Shorter closing scene, blended over the character landscape. */
.join{z-index:8;margin-top:-85px;min-height:0;padding:112px 10% 48px;background:transparent;border:0}
.join-glow{-webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.55) 30px,#000 72px);mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.55) 30px,#000 72px)}
.join h2{font-size:clamp(42px,4vw,58px);margin:14px 0}
.join-actions{margin-top:22px}.join small{margin-top:14px}.slime{width:210px;right:12%}
@media(max-width:600px){.join{margin-top:-55px;padding:80px 7% 35px}.join-glow{-webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.55) 20px,#000 45px);mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.55) 20px,#000 45px)}.join h2{font-size:43px}.slime{width:140px;right:-10px}}

/* A little more room for character art and gentle native section snapping. */
.character-panel,.character-panel[data-hero-theme="sieg"]{height:490px}
html{scroll-snap-type:y proximity}
.hero,.world-explore,.heroes.section,.join{scroll-snap-align:start;scroll-snap-stop:normal}
@media(max-width:900px){.character-panel,.character-panel[data-hero-theme="sieg"]{height:470px}}
@media(max-width:600px){.character-panel,.character-panel[data-hero-theme="sieg"]{height:550px}}
@media(prefers-reduced-motion:reduce){html{scroll-snap-type:none}}

/* Let the character scene fill the viewport, including its blended lower edge. */
.heroes.section{min-height:calc(100svh + 85px);display:flex;flex-direction:column}
.hero-heading,.character-panel{width:100%}
.character-panel,.character-panel[data-hero-theme="sieg"]{height:auto;min-height:490px;flex:1}
.character-info{align-self:center;padding-top:25px;padding-bottom:80px}
.character-stage{height:100%;min-height:490px}
.character-stage img{max-height:110%}
.magic-circle{width:min(45vw,440px);height:auto;aspect-ratio:1;top:12%}
@media(max-width:900px){.character-panel,.character-panel[data-hero-theme="sieg"],.character-stage{min-height:470px}}
@media(max-width:600px){.heroes.section{min-height:calc(100svh + 55px)}.character-panel,.character-panel[data-hero-theme="sieg"]{min-height:550px}.character-info{padding-top:22px;padding-bottom:0}.character-stage{height:320px;min-height:0}.magic-circle{width:245px}}

/* Give characters a consistent center, and add life to both scenes. */
.character-stage{align-items:center}
.character-stage img{max-height:100%;object-position:center center}
.magic-circle{top:50%;transform:translateY(-50%);animation:hero-circle-turn 45s linear infinite}
.hero-fireflies i{width:var(--size,5px);height:var(--size,5px);box-shadow:0 0 8px 3px #fff2a8d9,0 0 23px 7px #c5ef9b99}
.hero-fireflies i:nth-child(13){--x:8%;--y:49%;--speed:7s;--delay:-3s}.hero-fireflies i:nth-child(14){--x:18%;--y:84%;--size:4px;--delay:-1s}.hero-fireflies i:nth-child(15){--x:29%;--y:40%;--speed:8s;--delay:-5s}.hero-fireflies i:nth-child(16){--x:42%;--y:61%;--size:4px;--delay:-2s}.hero-fireflies i:nth-child(17){--x:50%;--y:36%;--speed:9s;--delay:-4s}.hero-fireflies i:nth-child(18){--x:59%;--y:87%;--size:4px;--delay:-3s}.hero-fireflies i:nth-child(19){--x:69%;--y:31%;--speed:7s;--delay:-1s}.hero-fireflies i:nth-child(20){--x:76%;--y:58%;--size:4px;--delay:-5s}.hero-fireflies i:nth-child(21){--x:91%;--y:79%;--speed:8s;--delay:-3s}.hero-fireflies i:nth-child(22){--x:94%;--y:14%;--size:4px;--delay:-2s}
.slime{transform-origin:50% 100%;animation:slime-hop 4.8s ease-in-out infinite;will-change:transform}
@keyframes hero-circle-turn{from{transform:translateY(-50%) rotate(0)}to{transform:translateY(-50%) rotate(360deg)}}
@keyframes slime-hop{0%,30%,58%,100%{transform:translateY(0) rotate(-8deg) scale(1,1)}15%,45%{transform:translateY(-2px) rotate(-7deg) scale(.98,1.025)}62%{transform:translateY(0) rotate(-8deg) scale(1.12,.86)}70%{transform:translateY(-28px) rotate(-4deg) scale(.93,1.08)}78%{transform:translateY(0) rotate(-8deg) scale(1.1,.88)}84%{transform:translateY(-5px) rotate(-7deg) scale(.98,1.03)}90%{transform:translateY(0) rotate(-8deg) scale(1,1)}95%{transform:translateY(-2px) rotate(-7deg) scale(.98,1.025)}}
@media(max-width:600px){.character-stage{align-items:center}.character-stage img{max-height:100%}}
@media(prefers-reduced-motion:reduce){.slime,.magic-circle{animation:none}.magic-circle{transform:translateY(-50%)}}

/* The closing call to action and footer share one sky scene. */
.join{min-height:100svh;display:flex;align-items:center;padding:130px 10% 145px}
.join-glow{overflow:hidden;background:linear-gradient(90deg,#173b50e8 0%,#285c70c9 47%,#527e89a6 100%),linear-gradient(0deg,#1a394ae0,transparent 50%),url('/assets/backgrounds/web-scene-preview/closing-sky.png') center 45%/cover no-repeat}
.join-glow:before{content:'';position:absolute;inset:-15%;background:radial-gradient(ellipse at 68% 31%,#fff9dc35,transparent 17%),radial-gradient(ellipse at 77% 40%,#ffffff27,transparent 20%);animation:closing-clouds 18s ease-in-out infinite alternate}
.join-content{max-width:580px}.join h2{font-size:clamp(48px,5vw,70px)}.join-content>p,.join-content>small{color:#f2f7ec;text-shadow:0 2px 10px #173747}
.slime{z-index:1;bottom:125px}
.join footer{position:absolute;z-index:2;left:0;right:0;bottom:0;min-height:96px;padding:24px 9%;background:linear-gradient(0deg,#17354599,transparent);color:#e5f0e8}
.join footer p,.join footer>small{color:#deece4}
@keyframes closing-clouds{from{transform:translateX(-2%)}to{transform:translateX(2%)}}
@media(max-width:900px){.join footer p{min-width:0}.join footer{gap:20px}.join footer>small{font-size:8px}}
@media(max-width:600px){.join{min-height:100svh;padding:105px 7% 185px}.join-content{max-width:85%}.join h2{font-size:43px}.slime{width:140px;right:0;bottom:145px}.join footer{padding:20px 7%;gap:16px}.join footer p{font-size:12px}.join footer>small{width:100%}}
@media(prefers-reduced-motion:reduce){.join-glow:before{animation:none}}

/* User-selected Lunia meadow and cloud layers bring the closing sky to life. */
.closing-meadow,.closing-cloud,.closing-shade{position:absolute;pointer-events:none}
.closing-meadow{z-index:0;left:-2%;right:-2%;bottom:-4%;height:60%;background:url('/assets/backgrounds/web-scene-preview/closing-meadow.png') center bottom/cover no-repeat;opacity:.92}
.closing-cloud{z-index:0;right:-3%;top:4%;width:min(52%,700px);height:42%;background:url('/assets/backgrounds/web-scene-preview/closing-cloud.png') center/contain no-repeat;opacity:.7;animation:closing-clouds 22s ease-in-out infinite alternate}
.closing-shade{z-index:1;inset:0;background:linear-gradient(90deg,#173c50aa 0%,#24516c77 42%,transparent 76%),linear-gradient(0deg,#183d4499 0%,transparent 37%)}
.join-content,.slime,.join footer{z-index:2}
@media(max-width:600px){.closing-meadow{height:48%;left:-35%;right:-35%}.closing-cloud{width:85%;top:9%;right:-25%;opacity:.55}.closing-shade{background:linear-gradient(90deg,#173c50cf,#24516c66 75%),linear-gradient(0deg,#183d44a6,transparent 40%)}}
@media(prefers-reduced-motion:reduce){.closing-cloud{animation:none}}

/* Show the meadow's painted upper silhouette instead of cropping it. */
.closing-meadow{height:100%;background-size:100% auto}
@media(max-width:600px){.closing-meadow{height:100%;background-size:100% auto}}

/* Keep the clouds in the sky behind the meadow silhouette. */
.join-glow{z-index:0}.closing-cloud{z-index:1}.closing-meadow{z-index:2}.closing-shade{z-index:3}.join-content,.slime,.join footer{z-index:4}

/* Keep all footer items aligned despite earlier responsive flex rules. */
.join footer{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;column-gap:28px;row-gap:12px}
.join footer .footer-brand,.join footer .brand-logo{display:block}
.join footer p{margin:0;min-width:0;line-height:1.25}
.join footer div:not(.brand){display:flex;align-items:center;gap:24px;line-height:1.25}
.join footer>small{width:auto;line-height:1.25;white-space:nowrap}
@media(max-width:600px){.join footer{grid-template-columns:auto 1fr;column-gap:16px;row-gap:12px}.join footer>small{justify-self:end;white-space:normal;text-align:right}.join footer div:not(.brand){gap:18px}}

/* Align the right-hand footer labels on the same text line. */
.join footer div:not(.brand),.join footer>small{display:flex;align-items:center;min-height:28px;margin:0;font-family:'Segoe UI',sans-serif;font-size:10px;line-height:1.2}
.join footer>small{letter-spacing:.08em}
@media(max-width:600px){.join footer div:not(.brand),.join footer>small{min-height:0;font-size:9px}.join footer>small{justify-content:flex-end}}

/* Local account form preview. */
.registration-dialog{position:fixed;width:min(860px,calc(100% - 32px));max-width:none;max-height:min(760px,calc(100% - 32px));overflow:auto;padding:0;text-align:left;background:#f6f1e4;color:#253e43;border:1px solid #d6c191;box-shadow:0 30px 100px #071a27b8}
.registration-dialog::backdrop{background:#0c1f2dd9;backdrop-filter:blur(5px)}
.registration-dialog[open]{display:grid;grid-template-columns:35% 65%}
.registration-close{position:absolute;z-index:3;right:18px;top:12px;border:0;background:none;color:#385456;font-size:30px;line-height:1}
.registration-art{position:relative;min-height:600px;overflow:hidden;background:linear-gradient(180deg,#264a60aa,#1d4157ef),url('/assets/backgrounds/web-scene-preview/hero-mountains.png') center/cover,linear-gradient(#89c8d4,#4b8e71)}
.registration-art:before{content:'✦';position:absolute;top:12%;left:22%;font-size:42px;color:#f4dca5;text-shadow:0 0 20px #f9d982}
.registration-art img{position:absolute;left:-15%;bottom:-3%;width:140%;height:80%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 15px 14px #122c3f77)}
.registration-content{padding:48px 55px 44px}.registration-content h2{font-size:47px;line-height:1.02;margin:18px 0 12px}.registration-content h2 em{color:#ae8050}.registration-intro{font:16px/1.5 'Goudy Old Style','Baskerville Old Face',serif;color:#5b6d68}.registration-notice{margin:19px 0;padding:11px 14px;background:#e9e5d4;color:#5f6557;font:12px/1.5 'Segoe UI',sans-serif;border-left:3px solid #c29a5e}
.registration-content form{display:grid;gap:7px}.registration-content label{font-size:11px;letter-spacing:.08em;font-weight:700;margin-top:9px;color:#344e50}.registration-content input{width:100%;height:43px;padding:0 12px;border:1px solid #b6c0ae;background:#fffdf6;color:#263c3b;font:16px 'Segoe UI',sans-serif;outline:none}.registration-content input:focus{border-color:#b48951;box-shadow:0 0 0 3px #d4b98755}.field-hint{font:11px/1.4 'Segoe UI',sans-serif;color:#74817a}.registration-error{min-height:18px;font:12px/1.5 'Segoe UI',sans-serif;color:#9e443c;margin:5px 0}.registration-submit{justify-self:start}.registration-submit b{margin-left:15px}
@media(max-width:650px){.registration-dialog[open]{display:block}.registration-art{height:115px;min-height:0}.registration-art img{height:190%;width:55%;left:auto;right:-2%;bottom:-35%}.registration-art:before{top:20%;left:10%}.registration-content{padding:26px 24px 30px}.registration-content h2{font-size:39px}.registration-close{color:white;text-shadow:0 1px 5px #173746}}
.registration-secure-link{display:inline-block;margin:0 0 12px;color:#825d34;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.registration-secure-link[hidden]{display:none}.registration-content input:disabled{opacity:.55}.registration-submit:disabled{opacity:.5;cursor:not-allowed}

/* Clear, accessible validation and account-creation feedback. */
.registration-notice[data-state="success"]{background:#e1f3e5;color:#245d3c;border-left-color:#4a9a67}
.registration-notice[data-state="error"]{background:#f8e5df;color:#853f35;border-left-color:#b75b4a}
.registration-notice[data-state="info"]{background:#e5edf0;color:#355966;border-left-color:#6b9da8}
.registration-content input[aria-invalid="true"]{border-color:#b75b4a}
.field-feedback{font:12px/1.4 'Segoe UI',sans-serif;margin:0}
.field-feedback[data-state="success"]{color:#287449}.field-feedback[data-state="error"]{color:#a33f36}
.field-feedback[hidden]{display:none}

/* Account navigation and sign-in dialog. */
.signin-nav{border:0;background:none;color:#fff;font-size:10px;letter-spacing:1.3px;font-weight:800;white-space:nowrap;padding:14px 4px}.signin-nav:hover,.signin-nav:focus-visible{color:#ffdc9b;text-shadow:0 0 15px #e5c68f}
.account-menu{position:relative;color:#fff;font-size:11px;z-index:25}.account-menu[hidden]{display:none}.account-menu summary{cursor:pointer;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;list-style:none;padding:13px 6px;color:#ffdc9b;font-weight:700}.account-menu summary::-webkit-details-marker{display:none}.account-menu summary:after{content:' ▾';color:#fff}.account-dropdown{position:absolute;right:0;top:100%;min-width:160px;padding:10px;background:#1e3540;border:1px solid #d8c18b88;box-shadow:0 10px 30px #071c2580}.account-dropdown button{width:100%;text-align:left;border:0;padding:10px;background:transparent;color:#fff;font:12px 'Segoe UI',sans-serif}.account-dropdown button:hover{background:#ffffff15}.account-dropdown span{display:block;color:#ffd2b5;font-size:11px;line-height:1.4}
.signin-close{position:absolute;z-index:3;right:18px;top:12px;border:0;background:none;color:#385456;font-size:30px;line-height:1}.signin-art img{left:-5%;width:125%}.signin-dialog .registration-content{align-self:center}.signin-dialog .registration-art{min-height:470px}.auth-switch{font:12px/1.5 'Segoe UI',sans-serif;color:#637672;margin-top:20px}.auth-switch button{border:0;background:none;color:#946832;text-decoration:underline;text-underline-offset:3px;padding:3px;font-weight:700}
@media(max-width:900px){.signin-nav,.account-menu{margin-left:auto}.menu{margin-left:0}.nav-button{margin-left:0}}
@media(max-width:650px){.signin-dialog .registration-art{min-height:0}.signin-close{color:white;text-shadow:0 1px 5px #173746}.account-menu summary{max-width:115px}}

/* Password-change form shares the account dialogs' visual language. */
.password-change-close{position:absolute;z-index:3;right:18px;top:12px;border:0;background:none;color:#385456;font-size:30px;line-height:1}
.password-change-art img{left:-5%;width:125%}.password-change-dialog .registration-content{align-self:center}
@media(max-width:650px){.password-change-close{color:white;text-shadow:0 1px 5px #173746}}
