:root{
  --bg:#f3f3f3;
  --text:#111;
  --muted:#555;
  --rule:#d9d9d9;
  --link:#111;
  --max: 860px;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font:16px/1.55 ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
}
a{color:var(--link); text-underline-offset:3px}
a:hover{text-decoration-thickness:2px}
.wrap{max-width:var(--max); margin:0 auto; padding:36px 18px 56px;}
.topline{display:flex; align-items:baseline; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:18px;}
.brand{font-size:14px; letter-spacing:.2px; color:var(--muted);}
.nav{display:flex; flex-wrap:wrap; gap:14px; font-size:14px;}
.nav a{color:var(--muted);}
h1{font-size:34px; line-height:1.12; margin:10px 0 8px; letter-spacing:-.2px;}
.subtitle{margin:0 0 22px; color:var(--muted); font-size:18px;}
hr{border:0; border-top:1px solid var(--rule); margin:26px 0;}
h2{font-size:20px; margin:22px 0 10px; letter-spacing:-.1px;}
p{margin:10px 0;}
ul{margin:10px 0 10px 22px;}
li{margin:6px 0;}
.small{font-size:13px; color:var(--muted);}
.notice{border-left:3px solid var(--rule); padding-left:12px; color:var(--muted);}
.card{border:1px solid var(--rule); padding:14px; border-radius:10px; background:rgba(255,255,255,.28);}
label{display:block; font-size:13px; color:var(--muted); margin:12px 0 6px;}
input, textarea{width:100%; padding:10px 12px; border:1px solid var(--rule); border-radius:10px; background:#fff; color:var(--text); font:inherit;}
textarea{min-height:140px; resize:vertical;}
button{margin-top:12px; padding:10px 14px; border:1px solid var(--text); background:var(--text); color:#fff; border-radius:10px; font:inherit; cursor:pointer;}
button:hover{opacity:.92;}
.footer{margin-top:30px; padding-top:18px; border-top:1px solid var(--rule); color:var(--muted); font-size:13px;}
.footer a{color:var(--muted);}
.kbd{font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono","Courier New", monospace;
  font-size:13px; background:rgba(255,255,255,.55); border:1px solid var(--rule); padding:2px 6px; border-radius:8px;}
table{width:100%; border-collapse:collapse; margin:10px 0; font-size:14px;}
th,td{border-bottom:1px solid var(--rule); padding:8px 6px; text-align:left; vertical-align:top;}
th{color:var(--muted); font-weight:600;}
