:root{--ink:#18161e;--paper:#f5f0e7;--violet:#8273e8;--lime:#d9f076;--pink:#ffadbd;--line:rgba(24,22,30,.2)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans SC",sans-serif}.nav{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,5vw,76px);border-bottom:1px solid var(--line);position:relative;z-index:3}.brand{display:flex;gap:7px;align-items:center;color:inherit;text-decoration:none;font:500 13px "DM Mono",monospace;letter-spacing:.11em}.brand i{width:8px;height:8px;background:var(--violet);border-radius:50%}.nav nav{display:flex;gap:31px}.nav nav a,.nav-cta{font-size:14px;color:inherit;text-decoration:none}.nav-cta{border:1px solid var(--ink);padding:9px 13px}.nav-cta b{margin-left:8px}.hero{min-height:635px;display:grid;grid-template-columns:1.08fr .92fr;position:relative;border-bottom:1px solid var(--line);overflow:hidden}.hero-copy{padding:clamp(72px,11vw,150px) 8% 72px max(8%,clamp(24px,8vw,130px));position:relative;z-index:1}.eyebrow{font:500 11px "DM Mono",monospace;letter-spacing:.12em;margin:0 0 21px}.hero h1,.section-head h2,.about h2{font-size:clamp(48px,5.8vw,91px);line-height:1.04;letter-spacing:-.08em;margin:0;font-weight:900}.hero h1 em{font-family:"Playfair Display",serif;font-weight:700;letter-spacing:-.07em}.intro{font-size:16px;line-height:1.9;max-width:405px;margin:29px 0}.hero-actions{display:flex;align-items:center;gap:28px}.button{display:inline-flex;align-items:center;gap:27px;padding:14px 17px;text-decoration:none;font-size:14px}.button-dark{background:var(--ink);color:#fff}.button span,.text-link span{font-size:19px}.text-link{color:inherit;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:4px;font-size:14px}.hero-art{background:var(--violet);position:relative;overflow:hidden;min-height:540px}.moon{width:230px;height:230px;border-radius:50%;background:var(--lime);position:absolute;top:15%;left:26%;box-shadow:0 0 0 20px rgba(217,240,118,.1)}.orbit{position:absolute;border:1px solid rgba(24,22,30,.25);border-radius:50%;transform:rotate(-32deg)}.orbit-one{width:510px;height:180px;top:25%;left:3%}.orbit-two{width:620px;height:270px;top:17%;left:-9%}.spark{position:absolute;font-size:40px}.s1{left:16%;top:18%}.s2{right:16%;top:38%;font-size:70px}.s3{left:40%;bottom:28%;font-size:24px}.mountain{position:absolute;bottom:-13%;background:var(--ink);border-radius:50% 50% 0 0}.m1{width:470px;height:280px;right:-10%}.m2{width:400px;height:160px;left:-25%;background:#514596}.hero-art p{position:absolute;bottom:29px;right:32px;color:var(--lime);font:500 12px/1.1 "DM Mono"}.scroll-note{position:absolute;bottom:22px;left:max(8%,clamp(24px,8vw,130px));font:11px "DM Mono";letter-spacing:.08em;display:flex;align-items:center;gap:9px}.scroll-note span{width:36px;border-top:1px solid var(--ink)}.games{padding:112px clamp(24px,8vw,130px) 140px}.section-head{display:grid;grid-template-columns:1fr 2fr auto;align-items:start;margin-bottom:57px}.section-head h2{font-size:clamp(42px,4.4vw,69px)}.game-count{text-align:right;font:42px/.7 "DM Mono";letter-spacing:-.1em;margin:6px 0}.game-count span{font-size:10px;letter-spacing:.1em}.game-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.game-card{border:1px solid var(--ink);display:grid;grid-template-columns:1fr 1fr;min-height:400px}.card-art{position:relative;overflow:hidden}.violet .card-art{background:var(--violet)}.lime .card-art{background:var(--lime)}.card-body{padding:39px 31px;display:flex;flex-direction:column;align-items:flex-start}.meta{font:500 10px "DM Mono";letter-spacing:.08em;margin:0 0 24px}.card-body h3{font-size:clamp(25px,2.4vw,39px);letter-spacing:-.07em;line-height:1.12;margin:0}.card-body>p:not(.meta){font-size:13px;line-height:1.75;margin:18px 0}.play-button{border:0;background:none;padding:0;border-bottom:1px solid var(--ink);font:14px "Noto Sans SC";margin-top:auto;cursor:pointer}.play-button span{margin-left:12px;font-size:19px}.dice{position:absolute;background:var(--paper);width:97px;height:97px;display:grid;place-items:center;font-size:27px;box-shadow:9px 9px 0 var(--ink)}.d1{top:28%;left:18%;transform:rotate(15deg)}.d2{right:13%;bottom:19%;transform:rotate(-18deg);background:var(--pink)}.witch-hat{width:0;height:0;border-left:70px solid transparent;border-right:42px solid transparent;border-bottom:155px solid var(--ink);position:absolute;bottom:2%;left:34%;transform:rotate(12deg)}.art-label{font:500 10px "DM Mono";letter-spacing:.13em;position:absolute;bottom:17px;left:18px}.planet{width:210px;height:210px;background:var(--pink);border-radius:50%;position:absolute;top:19%;left:20%}.cat-head{width:114px;height:99px;border-radius:48% 48% 43% 43%;background:var(--ink);position:absolute;bottom:17%;right:18%;z-index:1}.cat-head:before,.cat-head:after{content:"";position:absolute;top:-31px;border-bottom:50px solid var(--ink);border-left:23px solid transparent;border-right:23px solid transparent}.cat-head:before{left:4px;transform:rotate(-22deg)}.cat-head:after{right:4px;transform:rotate(22deg)}.cat-head i{width:9px;height:9px;background:var(--lime);display:block;border-radius:50%;position:absolute;top:39px}.cat-head i:first-child{left:28px}.cat-head i:last-child{right:28px}.star{position:absolute;font-size:30px}.star-a{right:14%;top:13%}.star-b{left:11%;bottom:20%;font-size:18px}.about{background:var(--pink);padding:104px clamp(24px,8vw,130px);display:grid;grid-template-columns:1fr 2fr;gap:30px}.about h2{font-size:clamp(42px,4.7vw,71px);max-width:760px}.about h2 strong{font-family:"Playfair Display";font-style:italic;font-weight:700}.about div>p{line-height:1.85;max-width:420px;margin:33px 0 29px}footer{padding:46px clamp(24px,8vw,130px) 25px;background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 2fr;gap:20px}footer .brand i{background:var(--lime)}footer p{margin:0;font-size:17px;line-height:1.7}footer p a{color:var(--lime)}footer small{grid-column:1/-1;margin-top:53px;font:10px "DM Mono";letter-spacing:.06em;color:#aaa3b5}dialog{padding:0;border:0;max-width:820px;width:calc(100% - 32px);background:var(--paper);color:var(--ink)}dialog::backdrop{background:rgba(24,22,30,.72);backdrop-filter:blur(4px)}.dialog-close{position:absolute;right:14px;top:10px;z-index:2;border:0;background:var(--paper);width:35px;height:35px;border-radius:50%;font-size:25px;cursor:pointer}.dialog-art{height:270px;background:var(--violet);position:relative;overflow:hidden}.dialog-art.cat{background:var(--lime)}.dialog-art:after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:var(--lime);left:35%;top:-70px}.dialog-art.cat:after{background:var(--pink)}.dialog-content{padding:37px 8% 34px}.dialog-content h2{font-size:clamp(34px,5vw,53px);letter-spacing:-.07em;line-height:1.08;margin:0}.dialog-content>p:not(.meta):not(.disclaimer){max-width:550px;line-height:1.8}.dialog-info{display:flex;gap:35px;margin:25px 0 29px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px;line-height:1.7}.dialog-info b{font-size:14px}.download{margin-left:19px;color:var(--ink);font-size:14px}.disclaimer{font-size:11px!important;color:#68636b;margin:31px 0 0!important}
@media(max-width:740px){.nav{height:62px}.nav nav{display:none}.nav-cta{font-size:12px;padding:7px 9px}.hero{grid-template-columns:1fr}.hero-copy{padding:76px 24px 57px}.hero-art{min-height:360px}.moon{width:165px;height:165px;left:29%;top:12%}.scroll-note{display:none}.games{padding:73px 24px}.section-head{display:block;margin-bottom:34px}.section-head .eyebrow{margin-bottom:15px}.game-count{display:none}.game-grid{grid-template-columns:1fr;gap:20px}.game-card{grid-template-columns:42% 58%;min-height:325px}.card-body{padding:26px 19px}.card-body h3{font-size:27px}.card-body>p:not(.meta){font-size:12px}.dice{transform:scale(.7)!important}.witch-hat{transform:scale(.66) rotate(12deg)}.planet{transform:scale(.68);transform-origin:top left}.cat-head{transform:scale(.7);transform-origin:bottom right}.about{padding:67px 24px;display:block}.about .eyebrow{margin-bottom:25px}footer{padding:35px 24px 22px;display:block}footer p{margin-top:35px}footer small{display:block;margin-top:47px}.dialog-info{gap:14px;justify-content:space-between}.download{display:inline-flex;margin:21px 0 0}.dialog-content .button{width:100%;justify-content:space-between}}
.play-page{min-height:100vh;background:var(--ink);color:var(--paper);padding:22px clamp(18px,5vw,72px)}.play-page header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.play-page a{color:inherit}.play-page .nav-cta{color:var(--paper);background:transparent}.game-frame{position:relative;width:min(1280px,100%);margin:auto;aspect-ratio:16/9;background:#050408;border:1px solid rgba(255,255,255,.2)}.game-frame canvas{width:100%;height:100%;display:block}.game-loading{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:12px;color:var(--paper)}.game-loading p{margin:0}.game-progress{width:min(340px,72vw);height:8px;background:#37333f}.game-progress i{display:block;height:100%;background:var(--lime);transition:width .2s}.game-note{max-width:900px;margin:20px auto 0;color:#c5bfce;font-size:13px;line-height:1.8}
