:root{
  --bg:#17141a; --panel:#211c28; --ink:#ece7f0; --muted:#a79fb5;
  --accent:#c9a24b; --accent2:#b4658a; --line:#38304a;
}
*{box-sizing:border-box}
body{margin:0;font-family:"Hiragino Mincho ProN","Hiragino Mincho Pro","Yu Mincho",serif;
  background:var(--bg);color:var(--ink);line-height:1.9;font-size:16px}
a{color:var(--accent)}
.wrap{max-width:840px;margin:0 auto;padding:0 20px}
header.site{border-bottom:1px solid var(--line);background:#120e16}
header.site .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px;padding-top:16px;padding-bottom:16px}
.logo{font-size:21px;font-weight:700;color:#fff;text-decoration:none;letter-spacing:.14em}
.logo small{display:block;font-size:11px;font-weight:400;color:var(--muted);letter-spacing:.3em}
nav.main{display:flex;flex-wrap:wrap;gap:4px 18px;margin-left:auto;
  font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans",sans-serif}
nav.main a{color:#d8d2e4;text-decoration:none;font-size:14px}
nav.main a:hover{color:#fff;text-decoration:underline}
h2{font-size:23px;margin:42px 0 14px;padding-bottom:8px;border-bottom:1px solid var(--line);letter-spacing:.06em}
h3{font-size:18px;margin:24px 0 8px}
p{margin:10px 0}
.card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:20px 24px;margin:18px 0}
.card h3{margin-top:0;color:#fff}
.meta{font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans",sans-serif;font-size:14px;color:var(--muted)}
.meta dt{display:inline;font-weight:700;color:#cfc7dd}
.meta dd{display:inline;margin:0 14px 0 4px}
.btn{display:inline-block;border:1px solid var(--accent);color:var(--accent);text-decoration:none;
  padding:9px 22px;border-radius:8px;font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans",sans-serif;font-size:14px}
.btn.disabled{border-color:#5a5470;color:#8d86a0;pointer-events:none}
.gate{max-width:640px;margin:9vh auto 0;padding:0 20px;text-align:center}
.gate h1{font-size:26px;letter-spacing:.2em;margin-bottom:4px}
.gate .sub{color:var(--muted);letter-spacing:.3em;font-size:12px;margin-bottom:34px}
.warn{border:2px solid #a33b4e;background:#2a1822;border-radius:10px;padding:22px 24px;margin:22px 0}
.warn .big{font-size:22px;font-weight:700;color:#ff9db0;letter-spacing:.1em}
.gate-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:26px}
.gate-btns a{display:inline-block;padding:13px 30px;border-radius:8px;text-decoration:none;
  font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans",sans-serif;font-weight:700}
.enter{background:var(--accent2);color:#fff}
.leave{background:#2c2738;color:#cfc7dd;border:1px solid var(--line)}
.todo{border:1px dashed var(--accent);color:var(--accent);border-radius:6px;padding:2px 10px;
  font-size:13px;font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans",sans-serif}
footer.site{margin-top:64px;border-top:1px solid var(--line);background:#120e16;color:var(--muted);
  font-size:13px;font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans",sans-serif}
footer.site .wrap{padding-top:22px;padding-bottom:26px}
