:root{
  --bg:#0a0e1a; --bg2:#0f1526; --card:#141b30; --line:#26304d;
  --text:#e9eeff; --muted:#93a0c4;
  --cyan:#38e1ff; --pink:#ff4fd8; --green:#3dffa0; --yellow:#ffd84a; --red:#ff5470;
}
*{box-sizing:border-box}
html,body{margin:0}
body{
  background:radial-gradient(1200px 600px at 50% -200px,#1b2550 0,transparent 70%),var(--bg);
  color:var(--text);
  font-family:"Hiragino Sans","Yu Gothic UI","Meiryo",system-ui,sans-serif;
  line-height:1.9; min-height:100vh;
}
.wrap{max-width:760px;margin:0 auto;padding:0 16px}
a{color:var(--cyan)}
.top{padding:22px 0 6px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.top .brand{font-weight:800;text-decoration:none;font-size:18px;
  background:linear-gradient(90deg,var(--cyan),var(--pink));-webkit-background-clip:text;background-clip:text;color:transparent}
.top a.try{font-size:13px;text-decoration:none;color:#04101a;font-weight:700;background:linear-gradient(90deg,var(--cyan),#7cf0ff);padding:7px 16px;border-radius:999px}
article{background:linear-gradient(180deg,var(--card),var(--bg2));border:1px solid var(--line);border-radius:20px;padding:24px 20px;margin:16px 0}
h1{margin:0 0 10px;font-size:clamp(24px,6vw,32px);line-height:1.35}
h2{font-size:19px;margin:32px 0 8px;color:var(--cyan);border-left:4px solid var(--pink);padding-left:10px;line-height:1.4}
h3{font-size:16px;margin:20px 0 4px}
p,li{font-size:15px}
p.meta{color:var(--muted);font-size:13px;margin:0 0 14px}
ul,ol{padding-left:1.3em}
.note{background:#0d1326;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:14px;color:var(--muted)}
.btn{display:inline-block;text-decoration:none;font-weight:700;color:#04101a;
  background:linear-gradient(90deg,var(--cyan),#7cf0ff);padding:12px 24px;border-radius:999px;box-shadow:0 6px 24px rgba(56,225,255,.3)}
details{background:#0d1326;border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:10px 0}
summary{cursor:pointer;font-weight:700;font-size:15px}
details p{margin:8px 0 2px;color:var(--muted)}
.cta{text-align:center;margin:26px 0 6px}
/* 広告枠：広告コード（ins）が入るまでは非表示 */
.ad{display:none;margin:18px 0;min-height:90px;justify-content:center;overflow:hidden}
.ad:has(ins){display:flex}
footer{margin:30px 0 40px;text-align:center;color:#5d6a92;font-size:12px}
footer nav{display:flex;gap:6px 18px;justify-content:center;flex-wrap:wrap;margin-bottom:8px}
footer a{color:#7f8db5}
