:root{--bg:#f5faf6;--bg-card:#fff;--border:#dbe7de;--text:#1b2a20;--text-dim:#55695c;--green:#189a43;--green-dark:#06210c;--green-text:#148238;--green-grad:linear-gradient(135deg, #2fbf5f, #6fd23c);--heading:#0e1f14;--text-faint:#7b8f81;--chip-text:#1e7c47;--border-strong:#c4d6c9;--section-border:#e3eee6;--glow:#22b5561a;--shot-border:#22b55673;--shot-shadow:#22b55626;--nav-bg:#f5faf6e6;--fx-blob:#bfe8cc;--fx-blob2:#d8f0de;--fx-chip-g:#74c791;--fx-chip-b:#3d8bea;--fx-chip-a:#e8a13c;color-scheme:light}:root[data-theme=dark]{--bg:#0a0e0b;--bg-card:#0e1410;--border:#1c2620;--text:#e8f0ea;--text-dim:#9fb3a6;--green:#5ce65c;--green-dark:#06210c;--green-text:#5ce65c;--green-grad:linear-gradient(135deg, #3ddc5a, #7ee83f);--heading:#fff;--text-faint:#5a7263;--chip-text:#8fdba0;--border-strong:#2a3a30;--section-border:#10160f;--glow:#5ee65c1a;--shot-border:#5ee65c66;--shot-shadow:#5ee65c1f;--nav-bg:#0a0e0be6;--fx-blob:#143c22;--fx-blob2:#0f2e1a;--fx-chip-g:#2e6d44;--fx-chip-b:#2a5f9e;--fx-chip-a:#8a5f1e;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=dark]):not([data-theme=light]){--bg:#0a0e0b;--bg-card:#0e1410;--border:#1c2620;--text:#e8f0ea;--text-dim:#9fb3a6;--green:#5ce65c;--green-dark:#06210c;--green-text:#5ce65c;--green-grad:linear-gradient(135deg, #3ddc5a, #7ee83f);--heading:#fff;--text-faint:#5a7263;--chip-text:#8fdba0;--border-strong:#2a3a30;--section-border:#10160f;--glow:#5ee65c1a;--shot-border:#5ee65c66;--shot-shadow:#5ee65c1f;--nav-bg:#0a0e0be6;color-scheme:dark}}*{box-sizing:border-box;margin:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:-apple-system,Hiragino Sans,Noto Sans JP,sans-serif;line-height:1.7}a{color:inherit;text-decoration:none}.container{max-width:1080px;margin:0 auto;padding:0 24px}.btn-primary{background:var(--green-grad);color:var(--green-dark);cursor:pointer;border:none;border-radius:10px;padding:12px 24px;font-weight:700;display:inline-block}.btn-outline{border:1px solid var(--border-strong);color:var(--text);border-radius:10px;padding:12px 24px;display:inline-block}.btn-disabled{border:1px solid var(--border);color:var(--text-dim);cursor:default;border-radius:10px;padding:12px 24px;display:inline-block}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:24px}.section{border-bottom:1px solid var(--section-border);padding:72px 0}.section h2{text-align:center;color:var(--heading);margin-bottom:32px;font-size:28px}.theme-toggle{border:1px solid var(--border-strong);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:inline-flex}:root[data-theme=dark] .icon-moon,:root:not([data-theme=dark]) .icon-sun{display:none}@media (width<=720px){.section{padding:48px 0}.section h2{font-size:22px}}html.js .reveal{opacity:0;transition:opacity .6s ease-out,transform .6s ease-out;transform:translateY(14px)}html.js .reveal.in{opacity:1;transform:none}html.js .reveal-stagger>*{opacity:0;transition:opacity .5s ease-out,transform .5s ease-out;transform:translateY(12px)}html.js .reveal-stagger.in>*{opacity:1;transform:none}html.js .reveal-stagger.in>:nth-child(2){transition-delay:90ms}html.js .reveal-stagger.in>:nth-child(3){transition-delay:.18s}html.js .reveal-stagger.in>:nth-child(4){transition-delay:.27s}html.js .reveal-stagger.in>:nth-child(5){transition-delay:.36s}html.js .reveal-stagger.in>:nth-child(6){transition-delay:.45s}@media (prefers-reduced-motion:reduce){html.js .reveal,html.js .reveal-stagger>*{opacity:1;transition:none;transform:none}}html:has(main.lp-snap){scroll-snap-type:y proximity;scroll-padding-top:60px}.snap-screen{scroll-snap-align:start;scroll-snap-stop:always;flex-direction:column;justify-content:center;min-height:calc(100svh - 60px);display:flex}.tap-hint{animation:1.4s ease-out infinite tapHintPulse}@keyframes tapHintPulse{0%{box-shadow:0 0 #e0724f8c}70%{box-shadow:0 0 0 14px #e0724f00}to{box-shadow:0 0 #e0724f00}}.tap-cursor{pointer-events:none;filter:drop-shadow(0 2px 5px #0006);width:30px;height:30px;position:absolute;top:-9px;right:-7px}.tap-cursor .tc-arrow{z-index:1;display:block;position:relative}.tc-ring{opacity:0;border:2px solid #ffffffd9;border-radius:50%;width:9px;height:9px;animation:1.6s ease-out infinite tapCursorRipple;position:absolute;top:3px;left:5px;transform:scale(.4)}.tc-ring.tc-ring2{animation-delay:.8s}@keyframes tapCursorRipple{0%{opacity:.85;transform:scale(.4)}to{opacity:0;transform:scale(2.8)}}@media (prefers-reduced-motion:reduce){.tap-hint{animation:none}.tap-cursor{display:none}}
