@font-face{font-family:BarlowCond;src:url('/assets/barlow.ttf') format('truetype');font-display:swap;font-weight:800}
@font-face{font-family:DM;src:url('/assets/dm-400.ttf') format('truetype');font-display:swap;font-weight:400}
@font-face{font-family:DM;src:url('/assets/dm-600.ttf') format('truetype');font-display:swap;font-weight:600}
@font-face{font-family:DM;src:url('/assets/dm-800.ttf') format('truetype');font-display:swap;font-weight:800}
@font-face{font-family:Cormorant;src:url('/assets/cormorant.ttf') format('truetype');font-display:swap;font-weight:600}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{--paper:#f3f1ec;--ink:#1b2025;--quiet:#52606a;--accent:#fd9b48;--stroke:#c9c9c3;--night:#10151d;--display:BarlowCond,'Arial Narrow',Impact,sans-serif;margin:0;color:var(--ink);background:var(--paper);font:400 16px/1.55 DM,'Helvetica Neue',Arial,sans-serif}.system{--paper:#11121b;--ink:#f5f3fa;--quiet:#c0bccc;--accent:#c7a2ff;--stroke:#3a3849;--night:#0b0d16}.bloom{--paper:#f5efdf;--ink:#303a2e;--quiet:#54604f;--accent:#f9ce85;--stroke:#d8cebc;--night:#25332b;--display:Cormorant,Georgia,serif}a{color:inherit;text-underline-offset:4px}button,input{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,video:focus-visible{outline:3px solid #2d91ff;outline-offset:4px}.skip{position:absolute;top:-100px;z-index:5;background:white;color:black;padding:10px}.skip:focus{top:5px}.wrap,.rail,.heroin{width:min(1260px,90vw);margin:auto}.mast,footer{color:#f9f8f7;background:var(--night)}.rail{min-height:75px;display:flex;align-items:center;gap:48px}.word{display:flex;align-items:center;flex:none}.word img{width:100px;height:39px;object-fit:contain;mix-blend-mode:screen}.mast nav,.rail nav{display:flex;align-items:center;gap:28px}.rail nav a,.account{text-decoration:none;font-weight:600;font-size:.92rem}.rail nav a:hover,.rail [aria-current=page]{color:var(--accent)}.account{margin-left:auto;white-space:nowrap;border:1px solid #ffffff48;border-radius:99px;padding:8px 17px;display:flex;gap:9px;align-items:center}.account span{color:var(--accent);font-size:1.25em}.hero{position:relative;isolation:isolate;height:clamp(530px,48vw,760px);background:var(--night);color:white;display:flex;align-items:center;overflow:hidden}.hero-art,.shade{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;object-position:60% 49%;z-index:-2}.shade{z-index:-1;background:linear-gradient(90deg,#080b13c9,transparent 66%),linear-gradient(0deg,#05091255,transparent 29%)}.heroin{position:relative}.micro,.kicker{font:700 .71rem/1.35 DM,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase}.micro i{display:inline-block;width:22px;height:3px;background:var(--accent);vertical-align:middle;margin-right:9px}.hero h1,.display,.sectiontop h1,.auth h1{font:800 clamp(75px,8vw,126px)/.89 var(--display);letter-spacing:-.035em;margin:26px 0 22px}.hero h1 em{color:var(--accent);font-style:normal}.hero .intro{max-width:36ch;color:#e5e7ec;font-size:clamp(16px,1.25vw,19px);margin:0 0 26px}.cta{display:inline-flex;align-items:center;justify-content:center;gap:28px;text-decoration:none;background:var(--accent);color:#17191d;border:0;border-radius:4px;padding:13px 22px;font-weight:800;font-size:.91rem;transition:transform .2s}.cta:hover{transform:translateY(-2px)}.cta b{font:21px/1 sans-serif}.wrap{padding-block:clamp(44px,6vw,84px)}.sectiontop{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:30px}.sectiontop h2,.wrap h2,.auth h2{font:800 clamp(36px,4.5vw,70px)/1 var(--display);letter-spacing:-.03em;margin:0}.sectiontop h2 span,.display span,.sectiontop h1 span{color:var(--accent)}.sectiontop .micro,.kicker{color:var(--quiet)}.gamegrid,.featuregrid,.rankpair{display:grid;grid-template-columns:1fr 1fr;gap:26px}.gamecard,.featuregrid a{text-decoration:none}.poster{position:relative;overflow:hidden;border-radius:6px;background:#10141c;aspect-ratio:1.92}.poster>img:first-child,.featuregrid img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.gamecard:hover .poster>img:first-child,.featuregrid a:hover>img{transform:scale(1.035)}.poster:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#101019bb)}.poster>.glogo{position:absolute;z-index:1;left:6%;bottom:12%;width:34%;max-height:32%;object-fit:contain;object-position:left bottom}.caption{display:flex;justify-content:space-between;align-items:center;padding:18px 0;border-bottom:1px solid var(--stroke)}.caption h3,.featuregrid h3,.characterlist h2,.guidecopy h3{font:800 34px/1.1 var(--display);margin:4px 0}.caption .micro{color:var(--quiet);font-size:.65rem}.round{display:grid;place-items:center;width:37px;height:37px;border:1px solid var(--stroke);border-radius:50%;font-size:18px}.smallhead{padding-top:55px}.secretgrid,.shots,.characterlist{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:25px}.secretgrid article,.auth article{border:1px solid var(--stroke);padding:25px;border-radius:6px}.secretgrid article>span{display:block;font-size:42px;color:var(--quiet)}.secretgrid h3{margin:8px 0 0}.accountstrip{border-top:1px solid var(--stroke);display:flex;align-items:center;justify-content:space-between;gap:22px}.accountstrip h2{font-size:clamp(34px,4vw,56px)}.accountstrip p:last-child{color:var(--quiet)}footer .rail{padding-block:24px;flex-wrap:wrap}footer small{margin-left:auto;color:#b9babe}.display{margin:10px 0 36px}.lede{font-size:20px;max-width:58ch;color:var(--quiet)}.featuregrid a{position:relative;isolation:isolate;aspect-ratio:1.94;overflow:hidden;border-radius:6px;background:var(--night);color:white}.featuregrid img{position:absolute;inset:0;z-index:-2;object-position:50% 28%}.featuregrid a:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#0a0b15db);z-index:-1}.featuregrid a>div{position:absolute;bottom:10%;left:6%}.featuregrid small{font-family:monospace;text-transform:uppercase;letter-spacing:.15em}.guide,.rankstage{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,6vw,100px);align-items:center;margin:36px 0 64px}.film{display:grid;place-items:center;background:var(--night);border:1px solid var(--stroke);border-radius:10px;padding:22px}.film video{height:min(560px,66vh);max-width:100%;border-radius:18px}.guidecopy p,.rankstage p,.characterlist p{color:var(--quiet);max-width:49ch}.guidecopy h3{font-size:29px;margin:25px 0 5px}.shots figure,.rankpair figure{margin:0}.shots img{width:100%;max-height:500px;object-fit:contain;display:block}.shots figure{padding:20px 15px 14px;border:1px solid var(--stroke);border-radius:8px}.shots figcaption,.rankpair figcaption{font-weight:600;margin-top:12px;text-align:center}.ranknav{display:flex;gap:8px;flex-wrap:wrap}.ranknav a{display:grid;place-items:center;border:1px solid var(--stroke);border-radius:4px;width:54px;height:47px;text-decoration:none;font-weight:800}.ranknav a[aria-current]{background:var(--accent);color:var(--night)}.rankpair{gap:12px}.rankpair img{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:5px}.bloomportrait img{width:100%;max-height:450px;object-fit:cover;object-position:60% 38%;border-radius:8px}.single{min-height:59vh}.single h2{font-size:36px;margin:40px 0 12px}.single .cta{margin-top:10px}.bloom h1,.bloom h2,.bloom h3{font-weight:600}.auth{max-width:840px}.auth h1{font-size:clamp(50px,7vw,80px)}.auth h2{font-size:34px}.auth form.stack{display:grid;gap:14px;max-width:430px}.stack label{display:grid;gap:4px}.stack input{padding:11px;border:1px solid var(--stroke);border-radius:4px;min-width:0}.stack .check{display:block}.auth .gamegrid article img{width:100%;aspect-ratio:2.3;object-fit:cover;border-radius:3px}.auth .error{border-left:4px solid #aa3020;padding:9px 15px;background:white}
@media(max-width:760px){.rail{gap:16px;flex-wrap:wrap;min-height:0;padding:10px 0}.mast nav{order:3;flex-basis:100%;gap:22px;border-top:1px solid #ffffff25;padding-top:8px;overflow-x:auto}.word img{width:85px;height:32px}.account{font-size:.8rem;padding:5px 12px}.hero{height:auto;min-height:610px;align-items:end;padding-bottom:32px}.hero-art{height:65%;object-position:71% 38%}.shade{background:linear-gradient(0deg,var(--night) 28%,transparent 67%)}.hero h1{font-size:67px;margin:15px 0}.hero .intro{font-size:15px;max-width:38ch;margin-bottom:20px}.sectiontop{align-items:start}.sectiontop .micro{max-width:13ch;text-align:right}.gamegrid,.guide,.featuregrid,.rankstage{grid-template-columns:1fr;gap:22px}.secretgrid,.characterlist{grid-template-columns:1fr}.secretgrid article{display:grid;grid-template-columns:54px auto;column-gap:12px}.secretgrid article>span{grid-row:span 2}.secretgrid small{grid-column:2}.shots{gap:6px}.shots figure{padding:6px}.shots figcaption{font-size:12px}.accountstrip{align-items:start;flex-direction:column}.rail nav{gap:17px;flex-wrap:wrap}footer small{margin-left:0}.guide{margin-bottom:32px}.film video{max-height:430px}.rankstage{scroll-margin-top:16px}.rankpair img{max-height:360px}.bloom .hero .intro{max-width:38ch}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.auth form .quiet,.mast .quiet{background:none;border:0;color:inherit;font:inherit;cursor:pointer}.auth article{background:#faf8f4}.auth article h2{margin-top:15px}.auth h1 span{color:var(--accent)}

.heroin{margin-block:0}@media(max-width:760px){.hero-art{height:61%;object-position:72% 26%}.shade{background:linear-gradient(0deg,var(--night) 34%,transparent 68%)}.hero .heroin{margin-top:300px}.hero{min-height:590px}.hero h1{font-size:64px}}
@media(min-width:761px){.hero-art{object-position:60% 0}.hero{height:clamp(545px,51vw,860px)}.mast .word img{width:120px;height:46px}}
.auth article + article{margin-block-start:14px}.auth .gamegrid article{margin:0}.membership{display:block;margin-top:16px;text-transform:uppercase;letter-spacing:.13em;color:var(--quiet);font-size:.68rem;font-weight:800}
.utility-download,.utility-store{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:5vw}.device{margin:0;padding:26px;display:flex;justify-content:center;background:var(--night);border-radius:12px}.device img{width:auto;height:min(54vh,430px);max-width:100%;object-fit:contain;border-radius:14px}.utilityart{width:100%;aspect-ratio:1.26;object-fit:cover;object-position:77% 35%;border-radius:7px}
.auth-entry{position:relative;max-width:1160px;padding-right:min(48%,550px);min-height:62vh}.auth-entry:after{content:'';position:absolute;right:0;top:8%;height:84%;width:41%;border-radius:5px;background:url('/assets/studio-hero.jpg') 73% center/cover}.auth-entry form{margin-top:24px}
@media(max-width:760px){.utility-download,.utility-store{grid-template-columns:1fr}.utilityart{aspect-ratio:1.9}.auth-entry{padding-right:0}.auth-entry:after{display:none}}

/* Public game worlds */
.system,.bloom{isolation:isolate}
.realm-weather{position:fixed;inset:0;pointer-events:none;z-index:-1;overflow:hidden;background-size:cover;background-position:center}
.system .realm-weather{background-image:linear-gradient(110deg,#060a13eb,#0c1723c7 56%,#15182bb3),url('/assets/system-cathedral.webp')}
.bloom .realm-weather{background-image:linear-gradient(90deg,#121f18d9,#15271bbd 65%,#1322179e),url('/assets/bloom-forest.webp')}
.realm-weather i,.realm-weather b{position:absolute;inset:-12%;pointer-events:none}
.system .realm-weather i{background:radial-gradient(ellipse at 30% 42%,#bcd2ec2e,transparent 34%),radial-gradient(ellipse at 73% 61%,#85a4c02e,transparent 45%);animation:mist-drift 22s ease-in-out infinite alternate}
.system .realm-weather b{background:radial-gradient(ellipse at 80% 14%,#b5d5ff66,transparent 44%);animation:storm-light 17s ease-in-out infinite}
.bloom{--ink:#fcf5df;--quiet:#e3dfc8;--accent:#ffd691;--stroke:#aeaa7c73}
.bloom .realm-weather i{background:radial-gradient(ellipse at 33% 10%,#fadc7942,transparent 52%);animation:mist-drift 19s ease-in-out infinite alternate}
.bloom .realm-weather b{background-image:radial-gradient(ellipse at 40% 50%,#ffeaa880 0 1px,transparent 3px),radial-gradient(circle at 54% 20%,#fff5cb80 0 1px,transparent 3px);background-size:170px 210px,280px 320px;animation:forest-drift 17s ease-in-out infinite alternate}
@keyframes mist-drift{to{transform:translate3d(7%,3%,0);opacity:.45}}
@keyframes storm-light{0%,55%,76%,100%{opacity:0}63%{opacity:.38}69%{opacity:.10}}
@keyframes forest-drift{0%{opacity:.16;transform:translate3d(0,2%,0)}100%{opacity:.75;transform:translate3d(2%,-5%,0)}}
.bloom .mast,.bloom footer{background:#253227f5;border-block:1px solid #c1a97750}
.bloom .cta{border-radius:35% 42% 38% 30% / 19% 20% 17% 18%;background:linear-gradient(4deg,#d7a663,#ffdca0);border:1px solid #fce6b5;box-shadow:0 2px 1px #704f31}
.bloom .characterlist article,.bloom .shots figure{padding:18px;border:1px solid #a69165;background:linear-gradient(120deg,#483d28e8,#332d24e8);border-radius:12px 20px 18px 16px}
.system .mast,.system footer{background:#0b101be8;border-block:1px solid #d4dcff23}
.system .featuregrid a,.system .difficulty-grid article,.system .timing,.system .rankstage,.system .shots figure,.system .film{border:1px solid #b4c9e038;background:linear-gradient(120deg,#263246ba,#101724ce);box-shadow:inset 0 1px 0 #ffffff0f;border-radius:10px}
.system .featuregrid .quest-preview{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;padding:14px;gap:5%;background:linear-gradient(105deg,#15202e,#33445981)}
.featuregrid .quest-preview img{position:static;object-fit:contain;object-position:center;width:100%;height:100%;min-height:0;filter:drop-shadow(3px 5px 8px #0008)}
.featuregrid .quest-preview>div{position:static}
.featuregrid .quest-preview:after{display:none}
.studio-signature{width:min(41vw,510px);mix-blend-mode:screen}
.studio-signature img{display:block;width:100%;height:auto}
.heroin:has(.studio-signature){isolation:auto}
.auth-entry:after{background-image:url('/assets/studio-entry.webp');background-position:52% 50%;border-radius:120px 120px 8px 8px}
.fieldguide{margin:5em 0}
.difficulty-grid,.timing{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:25px}
.difficulty-grid article,.timing,.rankstage{padding:clamp(18px,3vw,38px)}
.difficulty-grid small{font-weight:800;color:#c3aeff}
.difficulty-grid h3,.timing h3{font:800 clamp(26px,3vw,42px)/1.05 var(--display);margin:8px 0 20px}
.difficulty-grid h4{margin:16px 0 3px}
.difficulty-grid p,.timing p{color:var(--quiet);margin:0}
.timing{grid-template-columns:repeat(2,minmax(0,1fr));gap:6%}
.timing a{display:inline-block;margin-top:1em}
.rankstage{grid-template-columns:minmax(0,1.55fr) minmax(0,.8fr);gap:5%}
.rankstage .rankpair img{aspect-ratio:9/16;max-height:none;object-fit:contain;display:block}
.rankstage .rankpair figcaption{font:800 clamp(21px,3vw,36px)/1 var(--display)}
.rank-A{--accent:#80bdff}.rank-B{--accent:#ffad70}.rank-C{--accent:#b8dbcb}.rank-S{--accent:#c69eff}
.rankstage h2{color:var(--accent)}
.download-icon{background:transparent}
.download-icon img{width:clamp(154px,22vw,300px);height:auto;aspect-ratio:1;border-radius:23%;box-shadow:0 15px 45px #02050a77,0 0 0 1px #ffffff22}
.system .word img{mix-blend-mode:normal}
@media(max-width:760px){.studio-signature{width:min(80vw,350px)}.difficulty-grid,.timing,.rankstage{grid-template-columns:1fr}.timing,.rankstage{gap:24px}.featuregrid .quest-preview{height:230px}.hero .heroin:has(.studio-signature){margin-top:300px}.auth-entry:after{display:block;position:static;width:100%;height:150px;margin:30px 0 0;border-radius:8px;background-position:50% 62%}.fieldguide{margin:3em 0}.download-icon{justify-content:start;padding:12px 0}}
@media(prefers-reduced-motion:reduce){.realm-weather i,.realm-weather b{animation:none!important}.system .realm-weather b{opacity:0}}
.featuregrid{grid-template-columns:repeat(2,minmax(0,1fr))}
.featuregrid>a{min-width:0}
.system .featuregrid .quest-preview{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
@media(max-width:760px){.featuregrid{grid-template-columns:minmax(0,1fr)}.featuregrid .quest-preview{width:100%;aspect-ratio:auto}}
.system .hero:after,.bloom .hero:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none}
.system .hero:after{background:radial-gradient(ellipse at 72% 10%,#aac7fc3b,transparent 57%);animation:storm-light 17s ease-in-out infinite}
.bloom .hero:after{background:radial-gradient(ellipse at 83% 16%,#fde29e2b,transparent 44%);animation:grove-light 10s ease-in-out infinite alternate}
@keyframes grove-light{from{opacity:.12}to{opacity:.85}}
@media(prefers-reduced-motion:reduce){.system .hero:after,.bloom .hero:after{animation:none;opacity:0}}

.catalog-title{position:relative}.studio-visitor{object-fit:contain;pointer-events:none}.catalog-title .robin{width:44px;position:absolute;top:-32px;left:6px}.catalog-title .cat{height:65px;margin-right:auto;align-self:flex-end}.monkey{width:54px;align-self:flex-end}
.bloom .featuregrid a:first-child img{object-fit:cover;object-position:52% 40%}
.secretgrid article{position:relative;background:linear-gradient(138deg,#f8f6f2,#e8e5de);overflow:hidden}.secretgrid article:after{content:"";position:absolute;inset:0 0 0 50%;opacity:.22;background:repeating-linear-gradient(135deg,transparent 0 8px,#b7afa1 9px,transparent 10px);mask-image:linear-gradient(90deg,transparent,#000)}
@media(max-width:600px){.catalog-title .cat{height:43px}.monkey{width:40px}}
.system.page-gameplay .realm-weather{background-image:linear-gradient(#08101ad9,#08101ad9),url("/assets/realm-gameplay.webp")}
.bloom.page-gameplay .realm-weather{background-image:linear-gradient(#132219d9,#132219d9),url("/assets/village-gameplay.webp")}
.system.page-characters .realm-weather{background-image:linear-gradient(#08101ad9,#08101ad9),url("/assets/realm-characters.webp")}
.bloom.page-characters .realm-weather{background-image:linear-gradient(#132219d9,#132219d9),url("/assets/village-characters.webp")}
.system.page-download .realm-weather{background-image:linear-gradient(#08101ad9,#08101ad9),url("/assets/realm-download.webp")}
.bloom.page-download .realm-weather{background-image:linear-gradient(#132219d9,#132219d9),url("/assets/village-download.webp")}
.system.page-store .realm-weather{background-image:linear-gradient(#08101ad9,#08101ad9),url("/assets/realm-store.webp")}
.bloom.page-store .realm-weather{background-image:linear-gradient(#132219d9,#132219d9),url("/assets/village-store.webp")}
.system.page-support .realm-weather{background-image:linear-gradient(#08101ad9,#08101ad9),url("/assets/realm-support.webp")}
.bloom.page-support .realm-weather{background-image:linear-gradient(#132219d9,#132219d9),url("/assets/village-support.webp")}
.auth-entry.entry-join:after{background-image:url("/assets/join-entry.webp")}
.auth-entry.entry-recover:after{background-image:url("/assets/recover-entry.webp")}
.auth-entry.entry-verify:after{background-image:url("/assets/verify-entry.webp")}
.auth-entry.entry-reset:after{background-image:url("/assets/reset-entry.webp")}

.studio .utility-support{position:relative}.help-guest{grid-column:2;grid-row:1;width:clamp(100px,14vw,178px);justify-self:end;align-self:end}.studio .utility-support .utilitycopy{grid-column:1;grid-row:1}
@media(max-width:760px){.studio .help-guest{position:absolute;bottom:0;right:2vw;width:72px;opacity:.95}.studio .utility-support{padding-bottom:80px}}
