@charset "UTF-8";
:root { color-scheme: dark; --bg: #0b1120; --bg2:#101c31; --card:#142239; --line:#2a3e57; --text:#ecf4ff; --muted:#9db0c8; --accent:#8ccce9; }
* { box-sizing: border-box; }
html { scroll-behavior:smooth; }
body { background:linear-gradient(155deg,#101c30 0,#0b1120 45%,#08101d 100%); color:var(--text); font-family: system-ui,-apple-system,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif; font-size:15px; line-height:1.85; margin:0; min-height:100vh; }
a { color:var(--accent); text-underline-offset:3px; }
a:hover {color:#c4eaff;}
.shell { max-width:1000px; padding:0 26px; margin:0 auto; }
header { border-bottom:1px solid var(--line); background:rgba(8,16,29,.55); }
.top {display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 0;flex-wrap:wrap;}
.brand {font-weight:800;letter-spacing:.14em;text-decoration:none;color:var(--text);font-size:18px;line-height:1.4;}
.brand span {display:block;font-size:10px;font-weight:600;letter-spacing:.16em;color:var(--muted);margin-top:3px;}
nav {display:flex;gap:24px;flex-wrap:wrap;}
nav a {text-decoration:none;color:#d1deee;font-size:13px;}
nav a:hover {color:white;}
.hero {padding:66px 0 36px;max-width:820px;}
.kicker {text-transform:uppercase;letter-spacing:.16em;color:var(--accent);font-size:11px;font-weight:750;margin:0 0 18px;}
h1 {font-size:clamp(27px,4.2vw,44px);font-weight:800;line-height:1.45;letter-spacing:-.025em;margin:0 0 23px;}
h2 {font-size:21px;line-height:1.45;margin:0 0 17px;}
h3 {font-size:16px;line-height:1.6;margin:0 0 10px;}
p {margin:0 0 14px;}
.intro {color:#bfd1e5;font-size:17px;max-width:680px;}
.grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.panel {background:linear-gradient(145deg,rgba(25,43,69,.94),rgba(15,28,48,.95));border:1px solid var(--line);border-radius:16px;padding:26px;}
.panel p, .panel li {color:#c0cee0;}
.feature {margin:13px 0 20px;}
.feature strong {display:block;color:#f0f6ff;margin-bottom:4px;}
.section {padding:30px 0 24px;}
.rule {border:0;border-top:1px solid var(--line);margin:28px 0 0;}
.tag {display:inline-block;color:#b6e8fe;background:rgba(60,157,204,.12);padding:4px 10px;border:1px solid rgba(124,199,234,.23);border-radius:100px;font-size:12px;letter-spacing:.01em;margin-bottom:15px;}
.btn {display:inline-block;text-decoration:none;border:1px solid #547f9a;background:rgba(85,153,195,.17);color:#ddf4ff;border-radius:9px;padding:11px 20px;font-size:14px;font-weight:700;margin-top:10px;}
.btn:hover {background:rgba(85,153,195,.3);color:#fff;}
.small {font-size:13px;color:var(--muted);}
ul {margin:0 0 14px;padding-left:23px;}
li {padding:3px 0;}
.policy {max-width:780px;padding-top:34px;}
.policy .panel {margin:20px 0;}
.policy section {margin:36px 0;}
.policy section h2 {border-left:3px solid #8ccce9;padding-left:14px;}
code {font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:#c5e7f6;font-size:.9em;overflow-wrap:anywhere;}
footer {border-top:1px solid var(--line);margin-top:65px;color:var(--muted);font-size:12px;}
footer .foot {display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:25px 0 30px;}
footer a {color:#b3cee0;}
@media (max-width:660px){.grid{grid-template-columns:1fr}.hero{padding-top:45px}.panel{padding:20px}.top{align-items:flex-start}nav{gap:17px} .shell{padding-left:20px;padding-right:20px}}
