:root { color-scheme: light dark; --bg: #f6f3fb; --fg: #2a2238; --muted: #6b6280; --accent: #7a5cc2; }
@media (prefers-color-scheme: dark) { :root { --bg: #17141f; --fg: #eee9f7; --muted: #a79fbb; --accent: #b79cf0; } }
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; background: var(--bg); color: var(--fg); }
body { font-family: "Hiragino Sans", "Yu Gothic UI", "Meiryo", system-ui, sans-serif; }
main { min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center;
       padding: 2rem 1rem; text-align: center; }
.belu { width: min(78vw, 420px); height: auto; filter: drop-shadow(0 12px 24px rgba(60, 30, 110, .18)); }
h1 { margin: 1.5rem 0 .5rem; font-size: clamp(1.5rem, 5.5vw, 2.4rem); line-height: 1.45; color: var(--accent); }
.sub { margin: .25rem 0; font-weight: 600; color: var(--muted); }
.en { margin: .75rem 0 0; font-size: .95rem; color: var(--muted); }
