
:root{
  --bg:#071014;--panel:#0c171c;--panel2:#102027;--text:#edf7f8;--muted:#9cb0b7;
  --line:rgba(255,255,255,.10);--accent:#4de2d0;--accent2:#9ff8ec;--max:1160px;--brand-blue:#409cff;--brand-red:#ff6691;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);line-height:1.6}
a{color:inherit;text-decoration:none}.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}
header{position:sticky;top:0;z-index:50;background:rgba(7,16,20,.78);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
nav{height:72px;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:800;letter-spacing:.02em;font-size:1.25rem}.brand,.brand-word{color:var(--brand-blue)}.brand span,.brand-word span{color:var(--brand-red)}
.navlinks{display:flex;gap:22px;color:var(--muted);font-size:.94rem}.navlinks a:hover{color:var(--text)}
.hero{padding:110px 0 76px;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,rgba(77,226,208,.14),transparent 66%);right:-180px;top:-210px;pointer-events:none}
.kicker{color:var(--accent);font-size:.8rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
h1{font-size:clamp(3rem,7vw,6.2rem);line-height:.95;margin:.35em 0 .3em;letter-spacing:-.055em;max-width:980px}
.lead{max-width:760px;font-size:1.15rem;color:var(--muted)}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border-radius:12px;border:1px solid var(--line);font-weight:700}.btn.primary{background:var(--accent);color:#041014;border-color:transparent}.btn:hover{transform:translateY(-1px)}
section{padding:82px 0;border-top:1px solid var(--line)}.eyebrow{color:var(--accent);font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
h2{font-size:clamp(2rem,4vw,3.4rem);line-height:1.03;letter-spacing:-.04em;margin:.25em 0}.section-intro{max-width:720px;color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:34px}
.card{background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:18px;padding:22px;min-height:205px;display:flex;flex-direction:column}
.card h3{font-size:1.12rem;margin:14px 0 8px}.card p{color:var(--muted);font-size:.93rem;margin:0 0 18px}.card .foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center}
.badge{display:inline-block;border:1px solid rgba(77,226,208,.35);color:var(--accent2);background:rgba(77,226,208,.07);border-radius:999px;padding:5px 9px;font-size:.72rem;font-weight:800}
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px}.feature{border-top:1px solid var(--line);padding-top:18px}.feature strong{display:block;font-size:1.1rem;margin-bottom:5px}.feature p{color:var(--muted);margin:0}
.notice{padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--muted);margin-top:30px}
footer{padding:40px 0 58px;color:var(--muted);border-top:1px solid var(--line)}.footer-row{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.small{font-size:.82rem}
@media(max-width:900px){.grid,.features{grid-template-columns:1fr 1fr}.navlinks{display:none}}
@media(max-width:620px){.grid,.features{grid-template-columns:1fr}.hero{padding-top:82px}.wrap{width:min(100% - 26px,var(--max))}.footer-row{flex-direction:column}}

.footer-credit{display:flex;flex-direction:column;gap:8px}.developer-credit{margin:0;font-size:.94rem;font-weight:700;color:var(--brand-blue)}.developer-credit span:not([data-i18n]){color:var(--brand-red);display:inline-block}

nav{gap:20px}.navlinks{margin-left:auto}
.language-toggle{flex-shrink:0;margin-left:auto;min-height:44px;padding:0 16px;border:1px solid rgba(77,226,208,.4);border-radius:10px;background:var(--panel2);color:var(--accent2);font:inherit;font-size:.9rem;font-weight:700;cursor:pointer}
.language-toggle:hover{background:rgba(77,226,208,.12)}.language-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
html[lang="ja"] h1{font-size:clamp(2.2rem,5.6vw,4.8rem);line-height:1.3;letter-spacing:.01em;overflow-wrap:anywhere}
html[lang="ja"] h2{line-height:1.4;letter-spacing:0}
html[lang="ja"] .kicker,html[lang="ja"] .eyebrow{letter-spacing:.06em}
@media(max-width:380px){nav{gap:10px}.language-toggle{padding:0 12px}}
