/* base — shared by every page (from the prototype) */
body{margin:0}
*,*::before,*::after{box-sizing:border-box}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
.g.dark{--bg:#0a0a0a;--fg:#f2f2f2;--mute:#9b9b9b;--line:rgba(242,242,242,.16);--tint:#151515}
.mono{font-family:"Geist Mono",ui-monospace,monospace;font-size:11px;letter-spacing:.06em;text-transform:uppercase;line-height:1.45}
.jp{font-family:"Noto Sans JP",sans-serif;letter-spacing:.08em}
.mute{color:var(--mute)}
.ic{fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.bgc{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.content{position:relative;z-index:1}
.wrap{max-width:1600px;margin:0 auto;padding:0 clamp(16px,3vw,40px)}
.sun{width:18px;height:18px;overflow:visible}
.sun .core{fill:currentColor;transform-origin:12px 12px;transition:transform .6s var(--ease)}
.sun .mk{fill:#000;transition:transform .6s var(--ease);transform:translate(10px,-10px)}
.sun .rays{stroke:currentColor;stroke-width:1.6;stroke-linecap:round;transform-origin:12px 12px;transition:transform .6s var(--ease),opacity .4s}
.dark .sun .core{transform:scale(1.55)}
.dark .sun .mk{transform:translate(0,0)}
.dark .sun .rays{transform:rotate(90deg) scale(.4);opacity:0}
