@font-face{font-family:Cinzel;src:url('/fonts/cinzel-500.ttf');font-weight:500;font-display:swap}
@font-face{font-family:Manrope;src:url('/fonts/manrope-400.ttf');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('/fonts/manrope-600.ttf');font-weight:600;font-display:swap}
@font-face{font-family:Silkscreen;src:url('/fonts/silkscreen-400.ttf');font-weight:400;font-display:swap}
:root{--bg:#0c100e;--text:#eeeade;--gold:#dfc080;--muted:#93988a;color-scheme:dark;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px Manrope,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit}button:disabled{cursor:wait}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:5px}img{display:block;max-width:100%;height:auto}h1,h2,p{margin:0}::selection{background:#d6b47455;color:#fff}
.entrance{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:42px 24px 46px;overflow:hidden}
.brand{display:flex;align-items:center;gap:12px;font-weight:400;color:var(--gold);margin:0 0 13px}.brand span{font-family:Silkscreen,monospace;font-size:25px;letter-spacing:3px}
.hero-scene{width:min(580px,100%);aspect-ratio:1.17;position:relative;isolation:isolate;pointer-events:none}
.scene-halo{position:absolute;inset:-3% -5% -4%;z-index:-2;background:radial-gradient(ellipse at 50% 52%,#a3883524,#4154350c 48%,transparent 69%)}
.portal{position:absolute;inset:7% 11% 6%;border:16px solid #353b2e;border-radius:48% 48% 2px 2px;box-shadow:0 0 0 1px #7f80563d,inset 0 0 0 1px #82794d60,8px 2px 0 #1c221b,-8px 2px 0 #1c221b;transform:perspective(700px) rotateY(-8deg);background:linear-gradient(180deg,#b5a14b18,#0b100c99 90%),url('/art/CharacterAlcove.webp') center/cover}
.portal:before{content:'';position:absolute;inset:8px;border:1px solid #bdae5535;border-radius:48% 48% 0 0}.portal:after{content:'';position:absolute;width:50px;height:28px;top:-29px;left:calc(50% - 25px);background:#4d5137;border:1px solid #a39a4c50;clip-path:polygon(0 0,100% 0,85% 100%,15% 100%)}
.portal-inner{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 62%,#c9a14820,transparent 65%)}.portal-rune{position:absolute;color:#ceb25f;top:45%;font-size:29px;text-shadow:0 0 17px #dcb15e99}.rune-one{left:-25px}.rune-two{right:-25px}
.scene-floor{position:absolute;width:95%;height:20%;bottom:3%;left:3%;border-radius:50%;background:radial-gradient(ellipse,#b5a15e30,transparent 65%);border-bottom:1px solid #b4a36022;transform:rotate(-3deg)}
.hero-character{position:absolute;object-fit:contain;filter:drop-shadow(0 17px 15px #0008);animation:breathe 7s ease-in-out infinite;transform-origin:50% 93%}.golem{width:57%;left:-2%;bottom:5%;filter:brightness(.7) drop-shadow(0 18px 12px #0008);animation-delay:-2s}.rogue{width:56%;right:0;bottom:5%;filter:brightness(.76) drop-shadow(0 18px 12px #0008);animation-delay:-4s}.wizard{width:68%;left:19%;bottom:3%;z-index:2}
.spark{position:absolute;width:3px;height:3px;background:#e9b762;box-shadow:0 0 10px #e9b762a0;animation:ember 5s ease-in-out infinite;z-index:3}.s1{top:30%;left:21%}.s2{top:24%;right:22%;animation-delay:-1s}.s3{bottom:16%;left:15%;animation-delay:-3s}.s4{top:55%;right:15%;animation-delay:-2s}.s5{top:18%;left:50%;animation-delay:-4s}
.signup{width:min(340px,100%);margin-top:28px;min-height:104px}.waitlist-form{position:relative}.email-row{display:flex;align-items:center;min-width:0;border-bottom:1px solid #9d956147;transition:border-color .2s}.email-row:focus-within{border-color:var(--gold)}.email-row input{width:100%;min-width:0;padding:16px 4px;background:transparent;border:0;outline:none;color:var(--text);font-size:13px;letter-spacing:.2px}.email-row input::placeholder{color:#a2a596}.email-row button{display:flex;align-items:center;justify-content:center;flex:0 0 44px;height:48px;background:transparent;border:0;color:var(--gold);transition:transform .2s,color .2s}.email-row button:hover{color:#ffdf9f;transform:translateX(3px)}.email-row button:disabled{opacity:.5;transform:none}
.consent{margin:14px 0 0;text-align:center;font-size:9px;line-height:1.85;color:#838a7b}.consent a{color:#9ca18e;text-decoration:underline;text-underline-offset:3px}.signup-success{text-align:center;padding:14px 0;color:var(--gold)}.success-heading{display:flex;align-items:center;justify-content:center;gap:10px}.success-heading strong{font-size:14px;font-weight:400}.signup-success a{display:inline-block;font-size:10px;color:var(--muted);text-decoration:underline;text-underline-offset:3px;margin-top:15px}.form-error{color:#edb9a1;font-size:11px;line-height:1.7;text-align:center;margin-top:12px}.spin{animation:spin 1s linear infinite}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.legal-page{max-width:760px;margin:70px auto 110px;padding:0 24px}.legal-page h1{font:500 40px Cinzel,Georgia,serif;margin:30px 0}.legal-page h2{font-size:19px;font-weight:600;margin:30px 0 12px}.legal-page p,.legal-page li{color:var(--muted);line-height:1.9;font-size:14px}.legal-page a{color:var(--gold);text-decoration:underline}.legal-page .back-link{font-size:12px;text-decoration:none}.legal-page button{margin-top:20px;background:var(--gold);border:0;color:var(--bg);padding:14px 20px}.legal-page input{display:block;width:100%;padding:14px;background:#121814;border:1px solid #d6b47460;margin-top:20px}.legal-page .form-error{color:#edb9a1;text-align:left}
@keyframes breathe{0%,100%{transform:translateY(0) rotate(-.5deg)}50%{transform:translateY(-5px) rotate(.5deg)}}@keyframes ember{0%,100%{opacity:.2;transform:translateY(7px)}50%{opacity:.8;transform:translateY(-10px)}}@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:720px) and (max-height:760px){.entrance{padding-block:24px}.hero-scene{width:min(520px,calc((100svh - 225px)*1.17))}.brand{margin-bottom:8px}.signup{margin-top:18px}}
@media(max-width:600px){.entrance{padding:36px 22px 40px}.brand{margin-bottom:22px;gap:10px}.brand span{font-size:23px;letter-spacing:2.5px}.brand svg{width:21px}.hero-scene{width:min(460px,calc(100vw - 28px));max-width:none}.portal{border-width:12px}.portal:after{width:40px;height:24px;top:-24px;left:calc(50% - 20px)}.portal:before{inset:6px}.rune-one{left:-21px}.rune-two{right:-21px}.portal-rune{font-size:25px}.signup{margin-top:30px;width:min(310px,100%)}.email-row input{font-size:16px}.consent{font-size:9px}.legal-page h1{font-size:30px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

.signup-success p{margin-top:12px;color:var(--muted);font-size:11px;line-height:1.8}
