:root { color-scheme:light; --paper:#fff9ed; --surface:#fff; --ink:#24345a; --muted:#4e6078; --primary:#137f9b; --line:#d3dbe3; --content:min(1120px,calc(100% - 48px)); }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:"Aptos","Yu Gothic UI","Hiragino Kaku Gothic ProN","Noto Sans JP",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height:1.85; }
h1,h2,p,figure,dl,dd { margin:0; } img { display:block; max-width:100%; height:auto; } a { color:var(--primary); text-underline-offset:5px; } a:hover { text-decoration-thickness:2px; } a:focus-visible { outline:3px solid var(--primary); outline-offset:5px; }
.wrap { width:var(--content); margin-inline:auto; }
.site-header { background:#08152d; color:#f3f7ff; }
.nav-wrap { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:inline-flex; align-items:center; gap:12px; color:inherit; font-size:.95rem; font-weight:760; text-decoration:none; }
.brand img { width:40px; height:40px; flex:none; }
nav { display:flex; gap:24px; } nav a { color:#d2dff1; font-size:.86rem; text-decoration:none; }
.site-header a:focus-visible { outline-color:#94c9fa; }
section { padding-block:96px; }
.eyebrow { color:var(--primary); font-size:.86rem; font-weight:800; letter-spacing:.06em; margin-bottom:18px; }
h2 { font-size:clamp(1.8rem,3.5vw,2.9rem); line-height:1.5; letter-spacing:-.035em; }
.hero { padding-block:62px 76px; background:linear-gradient(135deg,var(--surface),var(--paper) 65%); }
.hero-grid { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr); gap:70px; align-items:center; }
.title-art { width:580px; margin:0 0 20px -10px; }
h1 { font-size:1rem; font-weight:700; }
.hero-message { font-size:clamp(2rem,4.1vw,3.4rem); line-height:1.4; letter-spacing:-.04em; font-weight:800; margin-top:18px; }
.lead { margin-top:22px; color:var(--muted); font-size:1.05rem; }
.store-link { display:block; width:230px; max-width:100%; margin:22px 0 4px -14px; border-radius:8px; }
.release,.note { color:var(--muted); font-size:.83rem; }
.hero-screen { width:280px; max-width:100%; justify-self:center; }
.hero-screen>img,.screen img { border-radius:20px; border:1px solid var(--line); box-shadow:0 16px 32px rgb(36 52 90 / .1); }
figcaption { color:var(--muted); font-size:.8rem; margin-top:16px; text-align:center; }
.support-section { background:var(--surface); }
.hint-section { background:#f0e9fa; }
.feature-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:clamp(40px,9vw,140px); }
.feature-copy { max-width:480px; } .feature-copy>p:not(.eyebrow) { margin-top:24px; color:var(--muted); }
.screen { max-width:290px; width:100%; justify-self:center; } .screen a { display:block; border-radius:20px; }
.reverse .feature-copy { grid-column:2; grid-row:1; } .reverse .screen { grid-column:1; grid-row:1; }
.play-facts { margin:28px 0 0; padding-left:1.2em; } .play-facts li { margin-top:10px; }
.series-section { background:#203452; color:#edf6ff; } .series-section .eyebrow { color:#72daed; }
.series-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:90px; align-items:start; }
.series-copy { padding-top:10px; color:#d2dff1; } .series-copy p+p { margin-top:24px; }
.information { background:var(--surface); } .info-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:90px; }
.information h2 { font-size:clamp(1.65rem,3vw,2.35rem); }
.specs { display:grid; grid-template-columns:110px minmax(0,1fr); gap:18px 24px; font-size:.94rem; } .specs dt { color:var(--muted); } .specs dd { overflow-wrap:anywhere; }
.support-links { margin-top:30px; padding-top:24px; border-top:1px solid var(--line); display:flex; flex-wrap:wrap; gap:12px 24px; font-size:.85rem; }
footer { background:#08152d; color:#b7c6dd; padding:28px 0; font-size:.82rem; } footer a { color:#94c9fa; } .footer-inner { display:flex; justify-content:space-between; gap:20px; }
@media (prefers-color-scheme:dark) { :root { color-scheme:dark; --paper:#14233e; --surface:#203452; --ink:#edf6ff; --muted:#c1cee0; --primary:#72daed; --line:#52647b; } .hint-section { background:#302b45; } .series-section { background:#102039; } }
@media (max-width:767px) { :root { --content:calc(100% - 32px); } .nav-wrap { flex-wrap:wrap; gap:12px; padding-block:16px; } nav { flex-wrap:wrap; gap:12px 20px; } nav a { font-size:.8rem; } section { padding-block:60px; } .hero { padding-block:40px 56px; } .hero-grid,.feature-grid,.series-grid,.info-grid { grid-template-columns:1fr; gap:36px; } .title-art { margin-left:0; width:100%; } .hero-message { font-size:clamp(1.9rem,7vw,3rem); } .hero-screen { width:250px; } .feature-copy { max-width:none; } .reverse .feature-copy,.reverse .screen { grid-column:auto; grid-row:auto; } .screen { max-width:280px; } .specs { grid-template-columns:88px minmax(0,1fr); gap:16px; } .footer-inner { flex-wrap:wrap; } }
