:root{--ink:#211727;--paper:#f4e6c8;--purple:#bd99f1;--orange:#ffac50;--muted:#706174}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Barlow',sans-serif;font-size:16px}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #ca6636;outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3,.brand{font-family:'Germania One',serif;font-weight:400}em{font-style:normal;color:#9353a0}.eyebrow{font:500 10px 'IBM Plex Mono',monospace;letter-spacing:1px}header{display:flex;align-items:center;justify-content:space-between;padding:20px 4%;background:var(--ink);color:var(--paper);gap:25px;border-bottom:3px solid #685171}.brand{display:flex;align-items:center;gap:9px;font-size:30px;text-decoration:none;white-space:nowrap}.brand img{width:43px}.brand>span>span{color:var(--purple)}nav{display:flex;gap:30px;font-weight:600;font-size:14px}nav a{text-decoration:none}nav b{font:10px 'IBM Plex Mono';background:#654970;padding:4px 7px;margin-left:5px}.button{background:var(--orange);border:2px solid var(--ink);color:var(--ink);padding:15px 24px;display:inline-flex;align-items:center;justify-content:center;gap:22px;box-shadow:4px 5px 0 var(--ink);font-weight:800;font-size:16px;border-radius:9px 3px 9px 3px;text-decoration:none;transition:.15s}.button:hover{transform:translate(2px,2px);box-shadow:2px 3px 0 var(--ink)}.button:disabled{opacity:.6;cursor:wait}.button.small{padding:11px 18px;font-size:14px;box-shadow:3px 3px 0 #70507c}.button.secondary{background:var(--paper)}.full{width:100%}#menu{display:none}.hero{display:grid;grid-template-columns:1fr 1.2fr;gap:5%;padding:75px 5% 95px;align-items:center;max-width:1700px;margin:auto}.hero .eyebrow{display:flex;align-items:center;gap:9px;font-size:9px}.hero .eyebrow i{width:7px;height:7px;border-radius:50%;background:#8c559d;box-shadow:0 0 0 4px #8c559d22}.hero h1{font-size:clamp(65px,6.9vw,110px);line-height:.96;margin:27px 0}.hero h1 em{color:#8c4b99;display:inline-block;transform:rotate(-2deg)}.hero p{line-height:1.8;font-size:18px;color:#66566b}.actions{display:flex;align-items:center;gap:25px;margin:28px 0}.actions>a{font-size:14px;font-weight:600;text-underline-offset:5px}.hero-note{font:9px 'IBM Plex Mono';letter-spacing:.5px;display:flex;align-items:center;gap:10px}.hero-note>span{color:#ad643b;font-size:23px}.hero-art{border:4px solid var(--ink);background:var(--ink);box-shadow:9px 10px 0 #38223f25;position:relative;transform:rotate(2deg);border-radius:60px 10px 10px 10px}.hero-art>img{width:100%;height:430px;object-fit:cover;display:block}.art-label{padding:18px 20px;font:10px 'IBM Plex Mono';color:var(--paper);display:flex;justify-content:space-between}.art-label span{color:var(--purple)}.art-bottom{padding:12px 20px;display:flex;align-items:center;justify-content:space-between;color:var(--paper);font:9px 'IBM Plex Mono'}.art-bottom b{font-size:27px;color:var(--orange)}.hero-stamp{position:absolute;right:-20px;bottom:-28px;background:var(--orange);border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink);padding:16px 24px;font:29px/.95 'Germania One';transform:rotate(-9deg)}.hero-stamp em{color:var(--ink)}.ribbon{background:#654575;color:var(--paper);border-block:3px solid var(--ink);display:flex;align-items:center;justify-content:space-around;gap:25px;padding:18px 25px;font:22px 'Germania One';letter-spacing:.5px}.ribbon b{color:var(--orange)}.section{padding:85px 5%;max-width:1700px;margin:auto}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.section-heading h2{font-size:65px;line-height:1.05;margin-top:15px}.section-heading p{font-size:16px;line-height:1.7;color:#78677b}.filters{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid var(--ink);padding-bottom:18px;margin-bottom:25px;gap:15px}.filters>div{display:flex;gap:8px}.filters button{background:transparent;border:1px solid #8c7a83;border-radius:5px;padding:9px 18px;font-size:13px;font-weight:600}.filters button.active{background:var(--ink);color:var(--paper)}.filters small{font:9px 'IBM Plex Mono';color:#756374}.creature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.creature-card{border:3px solid var(--ink);background:#fff0d5;box-shadow:5px 6px 0 #35253e30;position:relative;border-radius:26px 5px 5px 5px;overflow:hidden}.creature-card:nth-child(2){transform:translateY(12px)}.creature-art{position:relative;height:260px;border-bottom:3px solid var(--ink);overflow:hidden}.creature-art img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.creature-card:hover img{transform:scale(1.04)}.creature-art>span{position:absolute;top:15px;left:15px;background:var(--paper);border:1px solid var(--ink);font:9px 'IBM Plex Mono';padding:7px 9px}.creature-art>b{position:absolute;bottom:12px;right:12px;background:var(--purple);padding:6px 12px;transform:rotate(-5deg);font:17px 'Germania One';border:2px solid var(--ink)}.card-body{padding:24px}.card-body>span{font:9px 'IBM Plex Mono';color:#78647d}.card-body h3{font-size:31px;margin:9px 0}.card-body p{font-size:15px;line-height:1.65;color:#77657b;min-height:49px}.card-body button{background:none;border:0;border-top:1px solid #8c7a8355;width:100%;display:flex;justify-content:space-between;padding:18px 0 0;margin-top:20px;font-size:14px;font-weight:800}.card-body button span{color:#9252a0}.lore{background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1.15fr 1fr;gap:7%;padding:80px 6%;align-items:center;border-block:5px solid #60456b}.lore-art{position:relative;border:3px solid #8a679a;transform:rotate(-2deg)}.lore-art img{display:block;width:100%;aspect-ratio:1.05;object-fit:cover}.lore-tag{background:var(--orange);color:var(--ink);border:3px solid var(--ink);font:28px/1 'Germania One';padding:18px 23px;position:absolute;bottom:-22px;right:-18px;transform:rotate(7deg)}.lore-copy .eyebrow{color:var(--purple)}.lore h2{font-size:68px;line-height:1.02;margin:22px 0}.lore em{color:var(--purple)}.lore-copy>p{font-size:17px;line-height:1.8;color:#c4b2c9}.lore-point{display:flex;gap:18px;margin:22px 0}.lore-point>b{font:30px 'Germania One';color:var(--orange)}.lore-point strong{display:block;font-size:17px}.lore-point span{font-size:14px;line-height:1.8;color:#c4b2c9}.lore .button{margin-top:10px}.sigil-layout{display:grid;grid-template-columns:1.3fr 1fr;border:3px solid var(--ink);box-shadow:7px 7px 0 #21172725}.sigil-display{background:#34233f;color:var(--paper);position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:400px;overflow:hidden;padding:25px;border-right:3px solid var(--ink)}.sigil-display>.eyebrow{color:#c1a5cc;font-size:9px}.sigil-orbit{width:240px;height:240px;border:2px dashed #b795ce88;border-radius:50%;margin:20px;display:grid;place-items:center;position:relative;background:radial-gradient(#9b5cc855,transparent 70%)}.sigil-orbit:before{content:'';position:absolute;inset:18px;border:1px solid #bd99f155;transform:rotate(45deg)}.sigil-orbit:after{content:'✧';position:absolute;top:-20px;left:95px;color:var(--orange);font-size:36px}.sigil-orbit svg{width:100px;height:100px;color:var(--orange);filter:drop-shadow(0 0 15px #ffac5055)}.sigil-caption{font:9px 'IBM Plex Mono';color:#c1a5cc;text-align:center}.sigil-controls{padding:45px;background:#fff0d5}.sigil-controls h3{font-size:40px;margin:15px 0}.sigil-controls p{font-size:16px;line-height:1.7;color:#76627b;max-width:400px}#sigil-options{display:flex;gap:12px;margin:28px 0}#sigil-options button{width:53px;height:53px;border:2px solid var(--ink);background:#e2cbe7;border-radius:12px;display:grid;place-items:center}#sigil-options button[aria-pressed=true]{background:var(--orange);box-shadow:3px 3px 0 var(--ink);transform:rotate(-5deg)}#sigil-options svg{width:30px;height:30px}.sigil-controls small{display:block;font-size:12px;color:#76627b;margin-top:18px}.ritual{padding-top:20px}.ritual-stamp{font:22px 'Germania One';border:2px solid var(--ink);padding:15px 20px;background:#dcc5e8;transform:rotate(6deg)}.ritual-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.ritual-grid article{background:#fceecc;border:2px solid var(--ink);padding:28px 24px;box-shadow:4px 5px 0 #21172722;position:relative}.ritual-grid article:before{content:'';width:50px;height:14px;background:#cca66c88;position:absolute;top:-7px;left:calc(50% - 25px);transform:rotate(-5deg)}.ritual-grid article:nth-child(even){background:#e6d5e9}.ritual-grid article>span{font:9px 'IBM Plex Mono';color:#746078}.ritual-grid article>div{width:48px;height:48px;color:#9353a0;margin:26px 0}.ritual-grid article svg{width:100%;height:100%}.ritual-grid h3{font-size:26px;margin-bottom:13px}.ritual-grid p{font-size:15px;line-height:1.7;color:#6e5c72}.vault{background:#e2cfe3;border-block:3px solid var(--ink)}.empty{text-align:center;border:2px dashed #917a99;padding:45px 20px;background:#f6e8ef44}.empty>img{width:65px;opacity:.7}.empty h3{font-size:32px;margin:15px 0}.empty p{margin-bottom:23px;color:#76627b}.draft-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.draft-art{width:100%;height:200px;object-fit:cover;border-bottom:2px solid var(--ink)}.draft-actions{display:flex;gap:20px}.manual{display:grid;grid-template-columns:1fr 1.3fr;gap:10%}.manual h2{font-size:65px;line-height:1.05;margin:18px 0}.manual>div>p{color:#78657b;line-height:1.7}.faq details{border-bottom:1px solid #9f889e;padding:22px 0}.faq summary{font-size:20px;cursor:pointer;display:flex;justify-content:space-between;gap:15px;font-weight:600;list-style:none}.faq summary span{color:#9353a0}.faq details[open] summary span{transform:rotate(45deg)}.faq p{line-height:1.8;font-size:15px;color:#78657b;margin-top:15px}.closing{background:var(--ink);color:var(--paper);padding:70px 5%;text-align:center;position:relative;overflow:hidden;border-top:5px solid #735381}.closing h2{font-size:85px;line-height:1;margin:25px 0 30px;position:relative;z-index:1}.closing em{color:var(--purple)}.closing-rune{font-size:400px;position:absolute;right:5%;top:-10px;color:#56326344;pointer-events:none}.closing .button{position:relative;z-index:1}footer{padding:30px 4%;display:flex;align-items:center;justify-content:space-between;gap:25px}footer .brand>span>span{color:#8e529b}footer>span,footer small{font:8px 'IBM Plex Mono';color:#78657b}footer button{border:0;background:none;font-size:12px}dialog{max-width:980px;width:calc(100% - 30px);max-height:90dvh;overflow:auto;background:var(--paper);color:var(--ink);border:3px solid var(--ink);border-radius:20px 5px 20px 5px;padding:32px;box-shadow:9px 9px 0 #b48fce55}dialog::backdrop{background:#170d20c9;backdrop-filter:blur(6px)}.dialog-top{display:flex;justify-content:space-between;align-items:center}.close{background:var(--orange);width:34px;height:34px;border:2px solid var(--ink);border-radius:50%;font-size:24px}dialog h2{font-size:49px;margin:15px 0 30px}.creator-layout{display:grid;grid-template-columns:1fr 1.3fr;gap:30px}.creator-layout aside{background:var(--ink);color:var(--paper);border:3px solid var(--ink);align-self:start;border-radius:17px 4px 4px 4px;overflow:hidden;position:sticky;top:0}.preview-art img{width:100%;height:250px;object-fit:cover;display:block}.preview-caption{padding:20px;position:relative}.preview-caption>span{font:11px 'IBM Plex Mono';color:var(--orange)}.preview-caption h3{font-size:29px;margin-top:6px;padding-right:30px;overflow-wrap:anywhere}#preview-sigil{position:absolute;right:15px;top:25px;width:28px;color:var(--purple)}.creator-layout aside>small{display:block;font:8px 'IBM Plex Mono';padding:14px 20px;border-top:1px solid #b18ac344;color:#bda4c7}label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:600;margin-bottom:17px}.field-row{display:grid;grid-template-columns:1.4fr 1fr;gap:15px}input,select,textarea{width:100%;min-width:0;border:1px solid #ae95ab;background:#fff7e8;padding:11px;color:var(--ink);border-radius:5px;font-size:15px}textarea{height:100px;resize:vertical}.upload{border:1px dashed #9f88a4;padding:12px}.upload input{font-size:11px;padding:5px}.upload small,.note{font-size:11px;line-height:1.7;color:#78657b;font-weight:400}.note{margin:13px 0}#review{max-width:650px}#review-content img{width:100%;height:220px;object-fit:cover;border:2px solid var(--ink)}#review-content h3{font-size:32px;margin:18px 0 6px}#review-content strong{font:11px 'IBM Plex Mono';color:#8e529b}#review-content p{margin-top:14px;line-height:1.7;overflow-wrap:anywhere}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,15px);opacity:0;pointer-events:none;z-index:300;background:var(--ink);border:2px solid var(--orange);color:var(--paper);padding:15px 22px;font-size:14px;max-width:90%;width:max-content;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}
#intro{position:fixed;inset:0;z-index:200;background:var(--ink);overflow:hidden;color:var(--paper)}#intro.hidden{display:none}#skip{position:absolute;right:25px;top:25px;z-index:10;background:#211727cc;color:var(--paper);border:1px solid #ae90ba;padding:12px 18px;border-radius:5px}.intro-scene{height:100%;position:relative}.intro-scene>img{width:100%;height:100%;object-fit:cover;filter:brightness(.45);animation:zoom 5s ease-out both}.intro-copy{position:absolute;top:50%;left:8%;transform:translateY(-50%)}.intro-copy>span{font:10px 'IBM Plex Mono';letter-spacing:2px}.intro-copy h2{font-size:clamp(65px,7vw,110px);line-height:1.05;margin:20px 0}.intro-copy em{color:var(--orange)}.intro-copy p{font-size:15px;color:#e0cbea}.rune-ring{border:2px solid #bd99f177;border-radius:50%;width:95px;height:95px;display:grid;place-items:center;font-size:70px;color:var(--orange);margin:25px 0;box-shadow:0 0 40px #ba76e944;animation:glow 2s ease-in-out infinite alternate}.gate{position:absolute;top:0;bottom:0;width:50.2%;background:repeating-linear-gradient(0deg,#35293d 0,#35293d 75px,#1e1526 76px,#1e1526 82px);border:8px solid #493750;display:grid;place-items:center;box-shadow:0 0 50px #0008}.gate>span{font-size:250px;color:#82609055;text-shadow:0 5px #120919}.gate.left{left:0;animation:openLeft 2.2s 1s cubic-bezier(.4,0,.2,1) forwards}.gate.right{right:0;animation:openRight 2.2s 1s cubic-bezier(.4,0,.2,1) forwards}.seal{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;flex-direction:column;gap:15px;animation:sealFade .7s 1s forwards}.seal img{width:135px;filter:drop-shadow(0 0 30px #ffac5099)}.seal b{font:30px 'Germania One';white-space:nowrap;text-shadow:3px 3px var(--ink)}@keyframes openLeft{to{transform:translateX(-105%)}}@keyframes openRight{to{transform:translateX(105%)}}@keyframes sealFade{to{opacity:0;transform:translate(-50%,-50%) scale(1.4)}}@keyframes glow{to{box-shadow:0 0 70px #ba76e977;transform:rotate(15deg)}}@keyframes zoom{from{transform:scale(1.12)}to{transform:scale(1)}}
@media(max-width:1100px){nav{gap:18px;font-size:13px}.brand{font-size:26px}.hero{gap:4%;padding-inline:4%}.hero h1{font-size:80px}.hero-art>img{height:390px}.hero p{font-size:16px}.hero .actions{gap:18px;flex-wrap:wrap}.creature-art{height:220px}.card-body{padding:20px}.card-body h3{font-size:27px}.lore h2{font-size:58px}.sigil-controls{padding:30px}.ritual-grid{gap:15px}.ritual-grid article{padding:25px 18px}}
@media(max-width:800px){header{gap:15px;padding:17px 5%}header>.button{margin-left:auto}nav{display:none;position:absolute;top:79px;left:0;right:0;background:var(--ink);padding:25px;z-index:8;border-bottom:2px solid #735381}.nav-open nav{display:flex;flex-direction:column}#menu{display:block;background:none;color:var(--paper);border:0;font-size:24px;padding:3px}.hero{grid-template-columns:1fr;padding:50px 6% 75px;gap:50px}.hero h1{font-size:90px}.hero-art{margin:0 10px}.hero-art>img{height:auto}.hero-stamp{right:-12px}.ribbon{font-size:18px}.ribbon>span:nth-of-type(2),.ribbon b:last-child{display:none}.section{padding:60px 6%}.section-heading h2{font-size:55px}.section-heading p{font-size:14px}.creature-grid{grid-template-columns:1fr}.creature-card{display:grid;grid-template-columns:1.1fr 1fr}.creature-card:nth-child(2){transform:none}.creature-art{height:100%;min-height:240px;border-bottom:0;border-right:3px solid var(--ink)}.lore{grid-template-columns:1fr;padding:60px 7%;gap:55px}.lore-art img{aspect-ratio:1.5}.lore h2{font-size:70px}.sigil-layout{grid-template-columns:1fr}.sigil-display{border-right:0;border-bottom:3px solid var(--ink);min-height:360px}.sigil-controls{padding:30px}.ritual-grid{grid-template-columns:1fr 1fr}.draft-grid{grid-template-columns:1fr 1fr}.manual{grid-template-columns:1fr;gap:25px}.manual h2 br{display:none}.manual h2{font-size:55px}footer{flex-wrap:wrap}footer>span{display:none}.creator-layout{gap:20px}dialog{padding:25px}.preview-art img{height:200px}.filters{align-items:start;flex-direction:column}}
@media(max-width:550px){.brand{font-size:23px;gap:5px}.brand img{width:33px}header{padding:15px 4%;gap:10px}header .button.small{font-size:11px;padding:10px 11px;gap:8px}#menu{font-size:23px}.hero h1{font-size:76px}.hero .eyebrow{font-size:8px;letter-spacing:.3px}.hero p{font-size:17px}.hero p br{display:none}.hero .actions{gap:23px}.hero-note{font-size:8px}.hero-art{margin:0}.art-label{font-size:8px;padding:14px}.art-bottom{font-size:7px;padding:9px 14px}.hero-stamp{font-size:24px;padding:13px 18px;bottom:-25px}.section-heading{flex-direction:column;align-items:start;gap:18px}.section-heading h2{font-size:50px}.section-heading p{font-size:15px}.filters button{padding:8px 13px;font-size:12px}.filters small{font-size:8px}.creature-card{display:block}.creature-art{height:255px;border-bottom:3px solid var(--ink);border-right:0}.card-body h3{font-size:32px}.lore-art img{aspect-ratio:1.12}.lore h2{font-size:61px}.lore-tag{font-size:24px;padding:14px 20px;right:-12px}.lore-copy>p{font-size:16px}.ritual-stamp{display:none}.ritual-grid article{padding:23px 16px}.ritual-grid h3{font-size:23px}.ritual-grid p{font-size:14px}.ritual-grid article>span{font-size:8px}.draft-grid{grid-template-columns:1fr}.manual h2{font-size:50px}.faq summary{font-size:18px}.closing h2{font-size:65px}.closing>.eyebrow{font-size:8px}.creator-layout{grid-template-columns:1fr}.creator-layout aside{position:static}.preview-art img{height:210px}.preview-caption{padding:15px}.preview-caption h3{font-size:28px}.creator-layout aside>small{padding:10px 15px}dialog h2{font-size:38px}.field-row{grid-template-columns:1.3fr 1fr;gap:12px}#review .actions{flex-direction:column;align-items:stretch}.intro-copy{left:7%;right:7%}.intro-copy h2{font-size:61px}.intro-copy>span{font-size:8px}.intro-copy p{font-size:13px}#skip{right:15px;top:15px;font-size:12px}.gate>span{font-size:150px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.gate,.seal{display:none}}
.draft-grid .creature-card{display:block;transform:none}
