@font-face{font-family:Outfit;src:url('/assets/fonts/outfit-latin.woff2') format('woff2');font-weight:300 900;font-display:swap}
@font-face{font-family:'DM Sans';src:url('/assets/fonts/dm-sans-latin.woff2') format('woff2');font-weight:400 700;font-display:swap}
:root{--paper:#faf8f0;--ink:#25233a;--purple:#503ba6;--lilac:#c7b6fa;--lime:#e1fa86;--line:#d9d5c9;--secondary:#554f5e;color:var(--ink);background:var(--paper);font-family:'DM Sans',sans-serif;line-height:1.55;color-scheme:light}
*{box-sizing:border-box}
body,figure,h1,h2,p{margin:0}
button,input{font:inherit;color:inherit}
button,a{touch-action:manipulation}
a{color:inherit;text-underline-offset:.23em}
button{cursor:pointer}
:focus-visible{outline:3px solid #5a3fba;outline-offset:4px}
::selection{background:#dcf880;color:var(--ink)}
.defs{position:absolute;width:0;height:0;overflow:hidden}
.icon{display:inline-block;flex:none;width:1.32em;height:1.32em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.skip{position:absolute;z-index:4;left:12px;top:-5rem;padding:.5rem 1rem;background:white}.skip:focus{top:12px}
.shell{width:min(1232px,calc(100% - clamp(40px,9vw,152px)));margin-inline:auto}
.mast{display:flex;align-items:center;gap:2.4rem;min-height:84px;border-bottom:1px solid var(--line)}
.brand{display:inline-flex;align-items:center;gap:.43rem;text-decoration:none;font:780 2.12rem/.98 Outfit,sans-serif;letter-spacing:-.075em}
.brand img{display:block}
.mast nav{margin:auto;display:flex;gap:2.25rem}.mast nav a,.foot>a:not(.brand){text-decoration:none;font-weight:600;font-size:.94rem}.mast nav a:hover,.foot>a:hover{color:var(--purple)}
.nav-install{white-space:nowrap;display:inline-flex;align-items:center;gap:.48rem;text-decoration:none;font-weight:700;font-size:.9rem;line-height:1.2;border:1.35px solid var(--ink);border-radius:100px;padding:.72rem 1.04rem;background:var(--paper);transition:background .18s}
.nav-install:hover{background:var(--lime)}
.hero{display:grid;grid-template-columns:.97fr 1.03fr;align-items:center;gap:clamp(35px,5vw,78px);padding-block:clamp(42px,5vw,78px) clamp(48px,6vw,86px)}
.hello{padding:.2rem 0}
.supertitle,.section-kicker,.preview-label,.fig-label{font-size:.71rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.supertitle,.section-kicker,.preview-label{display:inline-flex;align-items:center;gap:.62rem}
.signal{display:inline-block;width:9px;height:9px;border-radius:100%;background:#7f9e53;box-shadow:0 0 0 3px #dcecba}
.hero h1{font:720 clamp(64px,7.25vw,107px)/.97 Outfit,sans-serif;letter-spacing:-.065em;margin:1.5rem 0 1.42rem}
.hero h1>span{display:inline-block;color:var(--purple);font-size:1.17em;line-height:.96}.period{color:var(--ink)}
.hello p{font-size:clamp(1.02rem,1.33vw,1.22rem);line-height:1.55;color:var(--secondary);max-width:31rem;margin-bottom:1.9rem}
.button,.quiet-link{display:inline-flex;align-items:center;justify-content:center;gap:.7em;text-decoration:none;font-weight:700}
.button{min-height:50px;padding:.72rem 1.35rem;border:1.5px solid var(--ink);border-radius:13px;transition:transform .16s,box-shadow .16s}
.button.primary{background:var(--lime);box-shadow:3px 3px 0 var(--ink)}
.button:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--ink)}.button:active{transform:translate(2px,2px);box-shadow:0 0 0 var(--ink)}
.quiet-link{margin:1.3rem .5rem 0 .9rem;font-size:.94rem}.quiet-link:hover,.text-link:hover{color:var(--purple)}
.showcase{position:relative;isolation:isolate;overflow:hidden;border-radius:36px 36px 80px 36px;background:#c8b9f2;min-height:425px;aspect-ratio:1.20;width:100%;border:1.5px solid var(--ink);box-shadow:5px 5px 0 var(--ink)}
.stage-pattern{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 44%,#e7ddff 0%,#d5c7f5 39%,transparent 69%);z-index:-1}
.stage-pattern:after{content:'';position:absolute;inset:0;background-image:radial-gradient(#67509154 .9px, transparent 1px);background-size:9px 9px;mask-image:linear-gradient(145deg,transparent 49%,black 88%);opacity:.7}
.showcase:before{content:'';position:absolute;width:62%;height:6%;left:19%;bottom:13%;background:#6c598f38;filter:blur(12px);border-radius:50%;z-index:-1}
.hero-model{position:absolute;height:91%;width:83%;left:8.5%;top:1.5%;object-fit:contain;pointer-events:none}
.model-stamp{position:absolute;z-index:1;right:6.5%;top:8%;width:74px;height:74px;display:grid;align-content:center;justify-content:center;text-align:center;border-radius:50%;background:var(--lime);border:1.5px solid var(--ink);box-shadow:2px 2px 0 var(--ink);transform:rotate(10deg);line-height:1.14}
.model-stamp span:first-child{font-size:1.24rem;font-weight:800}.model-stamp span:last-child{font:bold .58rem/1.7 monospace;letter-spacing:.18em}
.star,.spark{position:absolute;pointer-events:none}.star-hero{left:8%;top:19%;color:var(--purple);font:700 3.5rem/1 Outfit,sans-serif;transform:rotate(-12deg)}
.small-spark{right:10%;bottom:28%;color:var(--purple);font-size:2.1rem;transform:rotate(12deg)}
.showcase figcaption{position:absolute;bottom:4.7%;left:5.5%;right:7.2%;display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.fig-label{letter-spacing:.075em;font-size:.63rem;background:#f9f6ed;border:1px solid var(--ink);border-radius:4px;padding:.28rem .58rem;transform:rotate(-2deg)}
.gallery-controls{display:flex;gap:.32rem}.gallery-controls button{background:var(--paper);border:1.2px solid var(--ink);border-radius:50%;display:grid;place-items:center;width:33px;height:33px;transition:background .18s}.gallery-controls button:hover{background:var(--lime)}.gallery-controls .icon{width:16px}.previous{transform:rotate(180deg)}
.workshop{background:#eeecdf;border-block:1px solid var(--line);padding:clamp(48px,5vw,80px) 0 clamp(54px,6vw,84px)}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:1.8rem}
.section-kicker{letter-spacing:.09em;color:var(--purple)}.section-kicker .icon{width:1.28em}
.section-head h2{font:680 clamp(47px,5.2vw,78px)/1.03 Outfit,sans-serif;letter-spacing:-.058em;margin-top:.33rem}.section-head h2 span,.section-head h2 em{color:var(--purple);font-style:normal}.section-head>p{max-width:24rem;color:var(--secondary)}
.builder{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;background:var(--paper);border:1.4px solid var(--ink);border-radius:24px;box-shadow:4px 4px 0 var(--ink)}
.preview{position:relative;isolation:isolate;min-height:430px;background-color:#dce9c8;background-image:linear-gradient(#b3c39e66 1px,transparent 1px),linear-gradient(90deg,#b3c39e66 1px,transparent 1px);background-size:25px 25px;border-right:1.4px solid var(--ink);display:grid;place-items:center;overflow:hidden}
.preview:before{content:'';position:absolute;inset:6% 7%;z-index:-1;background:radial-gradient(ellipse,#f0f6de 8%,#e9f1dacc 40%,transparent 73%)}
.preview img{position:absolute;left:10%;top:5%;width:80%;height:86%;object-fit:contain}
.preview-base{position:absolute;left:26%;width:48%;height:5%;bottom:12%;background:#6373525e;filter:blur(11px);border-radius:50%}
.preview-label,.preview figcaption{position:absolute;z-index:1;left:1.2rem;background:#f8f7eae8;border:1px solid #91a17d;border-radius:6px;padding:.28rem .55rem;font-size:.71rem;letter-spacing:.04em}
.preview-label{top:1.15rem}.preview-label .signal{width:6px;height:6px;box-shadow:none;background:#536e39}.preview figcaption{bottom:1.2rem}
.options{padding:clamp(24px,3.2vw,52px);display:flex;flex-direction:column;justify-content:center;gap:1.3rem}
fieldset{min-width:0;padding:0;margin:0;border:0}
legend{font:650 1.35rem/1.2 Outfit,sans-serif;margin-bottom:.65rem;letter-spacing:-.025em}
.choices{display:grid;gap:.45rem}.toppers{grid-template-columns:repeat(3,1fr)}.bodies{grid-template-columns:repeat(2,1fr)}.choices label{position:relative;cursor:pointer;min-width:0}
.choices input{position:absolute;width:1px;height:1px;opacity:0}.choices span{display:flex;align-items:center;justify-content:center;gap:.45rem;border:1px solid #bdb9c4;border-radius:10px;padding:.72rem .35rem;font-weight:600;font-size:.88rem;transition:background .15s,border-color .15s}
.toppers span{flex-direction:column;padding:.68rem .2rem}.toppers .icon{width:32px;height:32px}.part{display:block;width:48px;height:32px;object-fit:contain}.bodies .part{width:30px;height:24px}
.choices input:checked+span{background:#e5dbff;border-color:var(--purple);box-shadow:inset 0 0 0 1px var(--purple);color:#392680}
.choices input:focus-visible+span{outline:3px solid #634fb4;outline-offset:3px}.choices label:hover span{border-color:var(--purple)}
.housings{grid-template-columns:repeat(2,1fr)}.housings span{align-items:flex-start;flex-direction:column;gap:.12rem;padding:.68rem .8rem}.housings strong{font:650 1.03rem/1.2 Outfit,sans-serif}.housings small{font-size:.76rem;font-weight:500;line-height:1.3}.housing-note{margin-top:.5rem;color:var(--secondary);font-size:.8rem}
.package{border-top:1px solid var(--line);padding-top:1.15rem;display:grid;gap:.7rem}.package p{font-size:.86rem;color:var(--secondary)}.package .button{justify-content:space-between}.text-link{font-size:.87rem;font-weight:650;width:fit-content}.package .text-link{align-self:center;justify-self:center}
[hidden]{display:none!important}
.guide{padding-block:clamp(58px,7vw,94px)}.guide .section-head{margin-bottom:2.1rem}.guide h2{font-size:clamp(39px,4.2vw,62px)}
.guide-grid{border-top:1.3px solid var(--ink)}.guide details{border-bottom:1px solid var(--line)}
.guide summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:1rem;padding:1rem .2rem}.guide summary::-webkit-details-marker{display:none}.guide summary strong{font:600 1.3rem/1.2 Outfit,sans-serif;letter-spacing:-.02em}
.guide summary:after{content:'+';margin-left:auto;font:400 1.7rem Outfit,sans-serif}.guide details[open] summary:after{content:'−'}
.guide-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--ink);border-radius:10px;background:var(--lilac)}.guide-mark.yellow{background:var(--lime)}.guide-mark.peach{background:#ffcfb5}
.guide details>div{max-width:56rem;padding:0 .2rem 1.3rem 3.7rem}.guide details p{color:var(--secondary);margin-bottom:.65rem}
footer{background:var(--ink);color:var(--paper)}.foot{display:flex;gap:1.5rem;align-items:center;padding:1.7rem 0}.foot .brand{font-size:1.65rem}.foot .brand img{background:var(--lilac);border-radius:6px}.footer-jp{margin-right:auto;opacity:.7;font-size:.8rem}.foot>a:hover{color:var(--lime)}
@media(max-width:950px){.shell{width:calc(100% - 64px)}.hero{gap:28px}.showcase{min-height:355px}.hero h1{font-size:clamp(59px,7.5vw,78px)}.quiet-link{margin:1.15rem 0 0 .1rem}.hello .button{display:flex;width:max-content}.builder{grid-template-columns:.93fr 1.07fr}.options{padding:24px}.preview{min-height:408px}.section-head>p{max-width:19rem}.model-stamp{width:58px;height:58px}.model-stamp span:first-child{font-size:1rem}}
@media(max-width:700px){.shell{width:calc(100% - 36px)}.mast{min-height:64px;gap:.8rem;justify-content:space-between}.brand{font-size:1.8rem}.brand img{width:32px;height:32px}.mast nav{gap:.75rem;margin:auto}.mast nav a{font-size:.81rem}.nav-install{font-size:.79rem;padding:.55rem .65rem;gap:.25rem}.hero{grid-template-columns:1fr;gap:26px;padding-block:34px 44px}.hero h1{font-size:clamp(60px,12vw,82px);margin:1.05rem 0}.hello p{font-size:1rem;margin-bottom:1.25rem;max-width:29rem}.hello .button{display:inline-flex}.quiet-link{margin:.7rem 0 .4rem .7rem}.supertitle{font-size:.62rem}.showcase{min-height:0;aspect-ratio:1.33;border-radius:24px 24px 53px 24px;box-shadow:3px 3px 0 var(--ink)}.hero-model{height:95%;top:-.5%}.model-stamp{width:56px;height:56px;top:7%}.star-hero{font-size:2.8rem}.small-spark{font-size:1.7rem}.section-head{align-items:start;flex-direction:column;gap:.7rem;margin-bottom:1.35rem}.section-head>p{max-width:30rem}.builder{grid-template-columns:1fr}.preview{min-height:0;height:clamp(245px,66vw,365px);border-right:0;border-bottom:1.4px solid var(--ink)}.preview img{height:92%;top:1%}.options{padding:24px 19px}.workshop{padding:41px 0 49px}.guide{padding-block:46px}.foot{gap:.85rem}.foot>a:not(.brand){font-size:.8rem}.guide details>div{padding-left:.2rem}}
@media(max-width:395px){.mast nav{gap:.55rem}.mast nav a{font-size:.75rem}.nav-install{font-size:.75rem}.nav-install .icon{display:none}.quiet-link{display:flex;justify-content:flex-start;margin:.95rem 0 0}.foot .footer-jp{display:none}.foot .brand{margin-right:auto}.showcase figcaption{bottom:5%;right:6%}.fig-label{font-size:.56rem}}
@media(max-width:440px){.mast{display:grid;grid-template-columns:1fr auto;gap:0;padding-block:.6rem}.mast nav{grid-column:1 / -1;grid-row:2;justify-self:center;gap:1.5rem;margin:.3rem 0 0}.mast .nav-install{grid-column:2;grid-row:1}.mast nav a{font-size:.81rem}}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}.swap{animation:arrive .28s ease-out}@keyframes arrive{from{opacity:.45;transform:translateY(5px) rotate(-1deg)}to{opacity:1;transform:none}}}
