:root{color-scheme:dark;--ink:#f4efe3;--muted:#c2c8d4;--gold:#edd18f;--line:#3b4559;--bg:#0b1530}
*{box-sizing:border-box}
html{background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;line-height:1.9;color:var(--ink)}
body{margin:0;background:radial-gradient(ellipse at 85% 0%,#39405866,transparent 60%);min-height:100vh}
a{color:var(--gold);text-underline-offset:5px;overflow-wrap:anywhere}
a:hover{color:#fff2cf}
a:focus-visible{outline:2px solid var(--gold);outline-offset:6px}
.wrap{max-width:1000px;padding:0 32px;margin:auto}
header{border-bottom:1px solid var(--line)}
.masthead{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:106px}
.brand{display:flex;align-items:center;gap:14px;color:var(--ink);text-decoration:none;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:22px;font-weight:700;letter-spacing:.12em;white-space:nowrap}
.brand img{width:50px;height:50px;border-radius:8px}
nav{display:flex;gap:22px;flex-wrap:wrap;font-size:13px}
nav a{color:var(--muted);text-decoration:none}
nav a[aria-current=page]{color:var(--gold)}
main.wrap{padding-top:66px;padding-bottom:80px}
.eyebrow{font-size:12px;letter-spacing:.2em;color:var(--gold);margin:0 0 20px}
h1,h2{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;line-height:1.5}
h1{font-size:clamp(32px,5vw,50px);letter-spacing:.07em;margin:0 0 26px}
h2{font-size:24px;margin:44px 0 16px;letter-spacing:.035em}
p{margin:0 0 20px;overflow-wrap:anywhere}
.hero{max-width:720px}
.hero p{font-size:18px;line-height:2.1}
.channel-link{display:inline-block;margin:10px 0 28px;padding:10px 0;text-decoration:none;border-bottom:1px solid var(--gold);font-size:15px}
.app-info{border-top:1px solid var(--line);margin-top:35px;padding-top:6px;max-width:760px}
.app-info p,.policy p{color:var(--muted)}
.policy{max-width:760px}
.policy h1{font-size:clamp(28px,4.5vw,38px)}
.subtle{font-size:13px;color:var(--muted)}
.policy-links{display:flex;gap:24px;flex-wrap:wrap;margin-top:32px;font-size:14px}
footer{border-top:1px solid var(--line);padding:24px 0 32px;font-size:12px;color:var(--muted)}
.footer-row{display:flex;gap:18px;justify-content:space-between;flex-wrap:wrap}
@media(max-width:620px){.wrap{padding:0 23px}.masthead{align-items:flex-start;flex-direction:column;padding-top:22px;padding-bottom:22px;gap:16px;min-height:0}.brand{font-size:19px}.brand img{width:40px;height:40px}nav{gap:16px;font-size:12px}main.wrap{padding-top:42px;padding-bottom:54px}.hero p{font-size:16px}.policy h2{font-size:21px}.policy p{font-size:15px}.policy-links{gap:18px}}
