/* AME 公開ページ 共通の見た目。会員サイト(ame-site/src/assets/css/theme.css)と同じ色を使う。 */
:root{
  --bg:#0e1116; --surface:#151a22; --surface2:#1b222c;
  --text:#e8ecf2; --sub:#8a94a6; --border:#232b36; --border-hi:#33404f;
  --accent:#34d399; --accent-hi:#6ee7b7; --on-accent:#04231a;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);
  font-family:"Noto Sans JP",system-ui,sans-serif;font-size:16px;line-height:1.8;
  overflow-wrap:break-word}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:720px;margin:0 auto;padding:0 20px}
header.bar{border-bottom:1px solid var(--border);padding:16px 0;position:sticky;top:0;background:var(--bg);z-index:5}
header.bar .wrap{display:flex;align-items:center;gap:10px}
header.bar img{height:28px}
.eyebrow{color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.12em;margin:0 0 8px}
h1{font-size:26px;line-height:1.5;margin:0 0 16px;font-weight:700}
h2{font-size:20px;line-height:1.55;margin:44px 0 14px;font-weight:700}
h3{font-size:17px;margin:28px 0 10px;font-weight:700}
p{margin:0 0 16px}
section{padding:8px 0}
.lead{color:var(--sub)}
.card{border:1px solid var(--border);border-radius:14px;background:var(--surface);padding:22px;margin:20px 0}
.card h3{margin-top:0}
ul,ol{margin:0 0 16px;padding-left:1.4em}
li{margin-bottom:8px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:48px;padding:12px 22px;border-radius:10px;border:1px solid transparent;
  font-weight:700;text-decoration:none;cursor:pointer;width:100%;text-align:center}
.btn--main{background:var(--accent);color:var(--on-accent)}
.btn--sub{background:var(--surface2);color:var(--text);border-color:var(--border-hi)}
.btn+.btn{margin-top:10px}
.note{color:var(--sub);font-size:13px;margin-top:8px}
.steps{counter-reset:s;list-style:none;padding:0}
.steps li{counter-increment:s;position:relative;padding-left:32px}
.steps li::before{content:counter(s);position:absolute;left:0;top:2px;width:22px;height:22px;
  border-radius:50%;background:var(--surface2);color:var(--accent-hi);
  font-size:12px;font-weight:700;display:grid;place-items:center}
.sticky{position:sticky;bottom:0;background:linear-gradient(180deg,rgba(14,17,22,0),var(--bg) 28%);
  padding:14px 0 16px;margin-top:36px}
footer{border-top:1px solid var(--border);margin-top:48px;padding:28px 0 44px;color:var(--sub);font-size:13px}
footer a{color:var(--accent-hi)}
hr{border:0;border-top:1px solid var(--border);margin:36px 0}
.todo{display:inline-block;background:#3a2a00;color:#ffd48a;border:1px solid #6b5200;
  border-radius:6px;padding:2px 8px;font-size:12px;font-weight:700}
.ph{border:1px dashed var(--border-hi);border-radius:14px;background:var(--surface);
  padding:44px 20px;text-align:center;color:var(--sub)}
.ratio{position:relative;padding-top:56.25%;border-radius:14px;overflow:hidden;background:var(--surface)}
.ratio iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
