/* Dragon's Exodus website. Copyright (c) 2026 Dragon's Exodus. MIT License; see LICENSE. */
:root{color-scheme:dark;--launcher-bg: #030403;--launcher-green: #809536;--launcher-green-bright: #a6c64a;--launcher-text: #d6d8cf;--launcher-dim: #8d9282;--launcher-line: #3d4528;--eye-x: 0ch;--eye-y: 0em;--stars-far-x: 0ch;--stars-far-y: 0em;--stars-mid-x: 0ch;--stars-mid-y: 0em;--stars-near-x: 0ch;--stars-near-y: 0em}*{box-sizing:border-box}html{min-width:280px;background:var(--launcher-bg)}body{min-height:100vh;min-height:100svh;margin:0;overflow-x:hidden;background:radial-gradient(circle at 50% 28%,rgb(51 63 31 / 20%),transparent 38rem),linear-gradient(180deg,#050704 0%,var(--launcher-bg) 72%);color:var(--launcher-text);font-family:ui-monospace,SF Mono,Menlo,Consolas,Liberation Mono,monospace}a{color:inherit}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.launcher-skip{position:fixed;top:.75rem;left:.75rem;z-index:20;padding:.65rem .85rem;border:1px solid var(--launcher-green-bright);background:#050704;color:#fff;text-decoration:none;transform:translateY(-180%)}.launcher-skip:focus{transform:translateY(0)}.launcher{position:relative;display:grid;min-height:calc(100vh - 3.5rem);min-height:calc(100svh - 3.5rem);place-items:center;padding:clamp(1rem,3vw,2.5rem) 1rem 2rem;overflow-x:clip;overflow-y:visible}.launcher-stage{width:min(100%,70rem);text-align:center}.launcher-art-shell{display:flex;justify-content:center;margin:0 auto clamp(.75rem,2vw,1.5rem)}.launcher-art{position:relative;width:74ch;height:30.45em;flex:0 0 74ch;font-family:ui-monospace,SF Mono,Menlo,Consolas,Liberation Mono,monospace;font-size:clamp(5.7px,2.05vw,13px);font-variant-ligatures:none;line-height:1.05;text-align:left;text-rendering:geometricPrecision}.launcher-final-logo,.launcher-stars,.launcher-dragon,.launcher-flight-rig{position:absolute;inset:0}.launcher-final-logo{z-index:2;filter:drop-shadow(0 0 .45em rgb(128 149 54 / 14%))}.launcher-flight-dragon{position:absolute;inset:0;z-index:3;display:none;width:74ch;height:30.45em;overflow:visible;pointer-events:none;transform-origin:39ch 15.75em}.launcher-flight-rig{filter:drop-shadow(0 0 .38em rgb(166 198 74 / 22%))}.launcher-dragon{display:block;width:74ch;height:30.45em;margin:0;overflow:visible;font:inherit;line-height:1.05;white-space:pre}.launcher-flight-wing{z-index:1;transform-origin:46ch 9.45em}.launcher-flight-tail{z-index:2;transform-origin:27ch 18.9em}.launcher-flight-body{z-index:3;transform-origin:38ch 18.9em}.launcher-flight-head{z-index:4;transform-origin:38ch 14.7em}.launcher-stars{z-index:1}.launcher-star{position:absolute;top:var(--star-top);left:var(--star-left);display:block;width:1ch;height:1.05em;line-height:1.05;transition:transform .14s ease-out;will-change:transform}.launcher-star>span{display:block;animation:launcher-twinkle 4.8s ease-in-out var(--twinkle-delay) infinite}.star-bright{color:#fff}.star-gold{color:#ff0}.star-green{color:#390}.star-far{transform:translate(var(--stars-far-x),var(--stars-far-y))}.star-mid{transform:translate(var(--stars-mid-x),var(--stars-mid-y))}.star-near{transform:translate(var(--stars-near-x),var(--stars-near-y))}.launcher-eye{position:absolute;top:var(--eye-top);left:var(--eye-left);z-index:3;display:block;width:1ch;height:1.05em;overflow:visible;color:#390;line-height:1.05}.launcher-pupil{display:block;color:#9f9;font-weight:700;text-shadow:0 0 .6em rgb(153 255 153 / 95%);transform:translate(var(--eye-x),var(--eye-y));transform-origin:50% 55%;transition:transform .14s ease-out;will-change:transform}.launcher-after{position:relative;z-index:4;max-width:62rem;margin:0 auto}.launcher-after h2{margin:0 0 clamp(1rem,2.4vw,1.65rem);color:var(--launcher-text);font-family:Georgia,Palatino Linotype,serif;font-size:clamp(1.35rem,3vw,2.2rem);font-weight:400;letter-spacing:.025em}.launcher-products{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:clamp(.75rem,2vw,1.25rem);margin:0;padding:0;list-style:none}.launcher-product{position:relative;display:flex;min-height:13rem;height:100%;flex-direction:column;align-items:flex-start;padding:clamp(1rem,2.5vw,1.5rem);border:1px solid var(--launcher-line);outline:1px solid transparent;outline-offset:4px;background:linear-gradient(145deg,#12180ee5,#070906f5);text-align:left;text-decoration:none;transition:border-color .16s ease,background-color .16s ease,transform .16s ease}.launcher-product:after{position:absolute;inset:.4rem;border:1px solid rgb(128 149 54 / 12%);content:"";pointer-events:none}.launcher-product:hover,.launcher-product:focus-visible{border-color:var(--launcher-green-bright);outline-color:var(--launcher-green);background:linear-gradient(145deg,#1b2413f5,#090c07fa);transform:translateY(-2px)}.launcher-product-kind{margin-bottom:.8rem;color:var(--launcher-dim);font-size:.72rem;letter-spacing:.09em;line-height:1.45;text-transform:uppercase}.launcher-product-name{color:#f1f2eb;font-family:Georgia,Palatino Linotype,serif;font-size:clamp(1.22rem,2.5vw,1.72rem);line-height:1.2}.launcher-product-description{margin:.8rem 0 1.2rem;color:#b7bbad;font-family:Verdana,Geneva,system-ui,sans-serif;font-size:.86rem;line-height:1.65}.launcher-product-action{margin-top:auto;color:var(--launcher-green-bright);font-size:.82rem;font-weight:700;letter-spacing:.045em}.launcher-resources{display:flex;flex-wrap:wrap;justify-content:center;gap:.55rem 1.25rem;margin-top:1.4rem;color:var(--launcher-dim);font-size:.76rem}.launcher-resources a{text-underline-offset:.22em}.launcher-resources a:hover,.launcher-resources a:focus-visible{color:#fff}.launcher-footer{min-height:3.5rem;padding:1rem;border-top:1px solid rgb(61 69 40 / 55%);color:#747a6b;font-size:.7rem;text-align:center}.launcher-footer p{margin:0}.launcher-footer strong{color:#939987}.launcher.is-entering .launcher-flight-dragon{display:block;animation:launcher-flight-path 3.8s cubic-bezier(.2,.58,.18,1) both;will-change:transform,opacity}.launcher.is-entering .launcher-flight-wing,.launcher.is-entering .launcher-flight-tail,.launcher.is-entering .launcher-flight-body,.launcher.is-entering .launcher-flight-head{will-change:transform}.launcher.is-entering .launcher-flight-wing{animation:launcher-flight-wing 3.8s ease-in-out both}.launcher.is-entering .launcher-flight-tail{animation:launcher-flight-tail 3.8s ease-in-out both}.launcher.is-entering .launcher-flight-body{animation:launcher-flight-body 3.8s ease-in-out both}.launcher.is-entering .launcher-flight-head{animation:launcher-flight-head 3.8s ease-in-out both}.launcher.is-entering .launcher-final-logo{animation:launcher-logo-materialize 3.8s ease-out both;will-change:opacity}.launcher.is-entering .launcher-pupil{transform:none}.launcher.is-entering #launcher-prompt{animation:launcher-prompt-illuminate 3.8s ease-out both}@keyframes launcher-flight-path{0%{opacity:0;transform:translate3d(calc(-100% - 12vw),2.2em,0) rotate(-5deg) scale(.78)}9%{opacity:1}30%{transform:translate3d(-24vw,.9em,0) rotate(-3.5deg) scale(.84)}52%{transform:translate3d(7vw,2.1em,0) rotate(2deg) scale(.94)}68%{transform:translate3d(2vw,.5em,0) rotate(-1deg) scale(.98)}82%{transform:translate3d(-.6vw,.15em,0) rotate(.3deg) scale(.997)}90%,92%{opacity:1;transform:none}96%{opacity:.55;transform:none}to{opacity:0;transform:none}}@keyframes launcher-logo-materialize{0%,88%{opacity:0}92%{opacity:.08}96%{opacity:.55}to{opacity:1}}@keyframes launcher-prompt-illuminate{0%{color:#575d4c;opacity:.4;text-shadow:0 0 0 rgb(166 198 74 / 0%)}58%{color:#8f9880;opacity:.68;text-shadow:0 0 .8rem rgb(128 149 54 / 14%)}90%{color:#f2f4ea;opacity:1;text-shadow:0 0 1.1rem rgb(166 198 74 / 48%)}to{color:var(--launcher-text);opacity:1;text-shadow:0 0 .55rem rgb(166 198 74 / 20%)}}@keyframes launcher-flight-wing{0%{transform:translateY(-.16em) rotate(-8deg)}14%{transform:translateY(.22em) rotate(7deg)}28%{transform:translateY(-.14em) rotate(-7deg)}42%{transform:translateY(.18em) rotate(6deg)}56%{transform:translateY(-.11em) rotate(-5deg)}70%{transform:translateY(.09em) rotate(4deg)}82%{transform:translateY(-.04em) rotate(-1.5deg)}90%,to{transform:none}}@keyframes launcher-flight-tail{0%{transform:translate3d(.45ch,-.08em,0) rotate(6deg)}14%{transform:translate3d(-.4ch,.11em,0) rotate(-5deg)}28%{transform:translate3d(.35ch,-.09em,0) rotate(5deg)}42%{transform:translate3d(-.3ch,.08em,0) rotate(-4deg)}56%{transform:translate3d(.24ch,-.06em,0) rotate(3deg)}70%{transform:translate3d(-.16ch,.04em,0) rotate(-2deg)}82%{transform:translate3d(.06ch,-.02em,0) rotate(.8deg)}90%,to{transform:none}}@keyframes launcher-flight-head{0%{transform:translate3d(-.12ch,-.14em,0) rotate(-2.5deg)}18%{transform:translate3d(.1ch,.13em,0) rotate(2.2deg)}36%{transform:translate3d(-.09ch,-.11em,0) rotate(-2deg)}54%{transform:translate3d(.07ch,.08em,0) rotate(1.5deg)}72%{transform:translate3d(-.04ch,-.05em,0) rotate(-.8deg)}90%,to{transform:none}}@keyframes launcher-flight-body{0%{transform:translateY(-.12em)}18%{transform:translateY(.14em)}36%{transform:translateY(-.11em)}54%{transform:translateY(.09em)}72%{transform:translateY(-.05em)}90%,to{transform:none}}@keyframes launcher-twinkle{0%,to{opacity:.36;transform:scale(.82)}46%{opacity:1;transform:scale(1.12)}66%{opacity:.68;transform:scale(.96)}}@media (max-width: 680px){.launcher{padding-right:.75rem;padding-left:.75rem}.launcher-products{grid-template-columns:1fr}.launcher-product{min-height:0}.launcher-resources{gap:.7rem 1rem}}@media (max-width: 380px){.launcher-product-description{font-size:.8rem}}@media (prefers-reduced-motion: reduce){.launcher *,.launcher *:before,.launcher *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.launcher-star{transform:none}.launcher-star>span{opacity:1;animation:none!important;transform:none}.launcher-flight-dragon{display:none!important}.launcher-final-logo{opacity:1;animation:none!important;filter:drop-shadow(0 0 .45em rgb(128 149 54 / 14%))}#launcher-prompt{color:var(--launcher-text);opacity:1;animation:none!important;text-shadow:none}}@media (forced-colors: active){.launcher-product,.launcher-product:hover,.launcher-product:focus-visible{border:1px solid CanvasText;background:Canvas;color:CanvasText}.launcher-product:focus-visible{outline:2px solid Highlight}.launcher-product-name,.launcher-product-description,.launcher-product-action,.launcher-product-kind{color:CanvasText}}
