@font-face{font-family:Fredoka;src:url('/assets/Fredoka-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
:root{color-scheme:light;--ink:#302744;--purple:#5937bb;--cream:#fff7df;--line:#e6e0ee;--muted:#675e77}
*{box-sizing:border-box}
html{scroll-padding-top:2rem}
body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:1rem;line-height:1.65;color:var(--ink);background:#faf8fd}
a{color:#5230aa;text-underline-offset:.22em}
a:hover{text-decoration-thickness:2px}
a:focus-visible{outline:3px solid #ed9a00;outline-offset:5px;border-radius:3px}
img{max-width:100%;height:auto}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3,.brand,figcaption,.button{font-family:Fredoka,system-ui,sans-serif;font-weight:700}
.skip-link{position:absolute;top:-100px;left:1rem;background:#fff;color:#302744;padding:.75rem 1rem;z-index:5}
.skip-link:focus{top:1rem}
.home{background:radial-gradient(ellipse at 82% 20%,#6b4fc0 0,transparent 49%),linear-gradient(130deg,#302365,#49348d);color:white;min-height:100vh}
.site-shell{max-width:1160px;padding:0 48px;margin:auto}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:112px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:1.5rem;color:inherit;line-height:1.25}
.brand img{border-radius:12px;flex-shrink:0}
.site-header nav{display:flex;gap:28px;flex-wrap:wrap;align-items:center}
.home .site-header nav a,.home .site-footer a{color:#fff;text-decoration:none}
.site-header nav a{padding:.65rem 0;font-weight:600}
.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center;padding:65px 0 80px}
.eyebrow{font-size:.875rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:#fbe39b;margin-bottom:22px}
.hero h1{font-size:clamp(3.3rem,5.7vw,4.7rem);line-height:1.06;letter-spacing:-.025em;color:#fffaf0}
.hero h1 span{color:#ffe087}
.hero-description{max-width:29rem;font-size:1.125rem;color:#e8dffb;margin-top:26px;line-height:1.8}
.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:12px 24px;border-radius:18px;text-decoration:none;font-size:1.125rem;line-height:1.4;transition:transform .15s ease}
.button:hover{transform:translateY(-2px)}
.primary{color:#45266d;background:linear-gradient(#ffe99e,#ffd05e);box-shadow:0 5px 0 #c98627,0 9px 16px #1d14472b}
.secondary{color:#fff;background:#ffffff0a;border:1px solid #aa96d6}
.game-art{padding:14px 14px 0;background:#ffffff14;border:1px solid #ffffff33;border-radius:42px;box-shadow:0 25px 75px #170c4c55;transform:rotate(3deg)}
.game-art img{display:block;aspect-ratio:1;border-radius:30px;width:100%;box-shadow:0 4px 0 #1f174c33}
.game-art figcaption{text-align:center;font-size:1.6rem;padding:14px;color:#fff5d6}
.support-strip{border-top:1px solid #ffffff33;border-bottom:1px solid #ffffff33;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px 0}
.support-strip h2{font-size:1.5rem;color:#fff8e7}
.support-strip p{color:#e0d7f1;margin-top:4px}
.email-link{color:#ffe49a;font-weight:600;overflow-wrap:anywhere}
.site-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:28px 0;font-size:.875rem;color:#e0d7f1;flex-wrap:wrap}
.legal .site-header{border-bottom:1px solid var(--line)}
.legal .site-header nav a{color:var(--ink);text-decoration:none}
.legal .site-header nav a[aria-current]{text-decoration:underline;color:var(--purple)}
.legal-intro{padding:50px 0 34px;max-width:820px}
.legal-intro .eyebrow{color:var(--purple);margin-bottom:12px}
.legal-intro h1{font-size:clamp(2.6rem,6vw,4rem);line-height:1.15;color:#392b66}
.legal-intro .date{color:var(--muted);margin-top:12px;font-size:.9375rem}
.draft-notice{margin-top:24px;padding:16px 20px;background:#fff3d6;border-left:4px solid #b37917;border-radius:0 12px 12px 0;font-size:.9375rem;color:#624a22}
.legal-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:48px;align-items:start;padding-bottom:40px}
.contents{position:sticky;top:24px;font-size:.9375rem;padding-top:4px}
.contents strong{display:block;margin-bottom:10px;color:var(--muted);font-size:.8125rem;letter-spacing:.08em;text-transform:uppercase}
.contents a{display:block;padding:7px 0;text-decoration:none;line-height:1.45;color:#625675}
.contents a:hover{text-decoration:underline;color:var(--purple)}
.policy{max-width:760px;min-width:0}
.policy section{padding-bottom:28px;margin-bottom:26px;border-bottom:1px solid var(--line);scroll-margin-top:26px}
.policy h2{font-size:1.625rem;line-height:1.3;color:#3b2a70;margin-bottom:14px}
.policy h3{font-size:1.15rem;margin:18px 0 8px}
.policy p+p{margin-top:14px}
.policy ul{padding-left:22px;margin:12px 0 0}
.policy li+li{margin-top:8px}
.policy a{overflow-wrap:anywhere}
.policy .contact-box{padding:20px;background:#eee8fa;border:0;border-radius:20px}
.contact-box a{font-weight:600}
.legal .site-footer{border-top:1px solid var(--line);color:var(--muted)}
.not-found{max-width:620px;margin:0 auto;padding:12vh 24px;text-align:center}
.not-found img{border-radius:24px;margin-bottom:28px}
.not-found h1{font-size:3rem;line-height:1.2;margin-bottom:20px}
.not-found p{margin-bottom:24px}
@media(max-width:850px){.site-shell{padding:0 28px}.hero{gap:30px;padding:40px 0 55px}.hero h1{font-size:3.35rem}.support-strip{align-items:flex-start;flex-direction:column;gap:16px}.legal-layout{grid-template-columns:170px minmax(0,1fr);gap:26px}}
@media(max-width:620px){.site-shell{padding:0 22px}.site-header{min-height:92px;align-items:flex-start;flex-direction:column;padding:18px 0;gap:8px}.brand{font-size:1.2rem}.brand img{width:34px;height:34px;border-radius:9px}.site-header nav{gap:16px;font-size:.9375rem}.hero{grid-template-columns:1fr;gap:40px;padding:30px 0 45px}.hero-copy{max-width:440px}.hero h1{font-size:clamp(2.8rem,11vw,3.8rem)}.hero-description{margin-top:20px}.eyebrow{font-size:.8125rem}.game-art{max-width:340px;width:calc(100% - 24px);margin:0 auto;transform:rotate(2deg);border-radius:30px}.game-art img{border-radius:20px}.game-art figcaption{font-size:1.4rem}.legal-intro{padding-top:32px}.legal-layout{display:block}.contents{position:static;border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:28px;display:grid;grid-template-columns:1fr 1fr;gap:2px 20px}.contents strong{grid-column:1/-1}.policy h2{font-size:1.5rem}.site-footer{align-items:flex-start;flex-direction:column}}
@media(max-width:360px){.site-header{align-items:flex-start;flex-direction:column;padding:18px 0;gap:8px}.site-header nav{gap:24px}.button{padding:12px 18px}.contents{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.button{transition:none}.button:hover{transform:none}}
