:root{--bg:#f7f7f9;--panel:#fff;--text:#1d2128;--muted:#5d6672;--line:#e2e5ea;--accent:#2f5bd8;--accent-soft:#e8eefc;--on-accent:#fff;font-family:"Hiragino Sans","Noto Sans JP","Yu Gothic UI",system-ui,sans-serif}
@media (prefers-color-scheme:dark){:root{--bg:#121418;--panel:#1a1d23;--text:#e8eaee;--muted:#9aa3af;--line:#2a2f38;--accent:#8aa8ff;--accent-soft:#222a40;--on-accent:#0b1020}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);line-height:1.8;font-size:16px}
.wrap{max-width:760px;margin:0 auto;padding:0 16px}
.site-header{background:var(--panel);border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex;justify-content:space-between;align-items:center;min-height:56px;gap:12px;flex-wrap:wrap}
.brand{font-weight:700;font-size:1.1rem;color:var(--text);text-decoration:none}
nav a{display:inline-block;padding:12px 8px;color:var(--muted);text-decoration:none}
a{color:var(--accent)}
main{padding-top:24px;padding-bottom:40px}
h1{font-size:1.6rem;line-height:1.4}
h2{font-size:1.25rem;margin-top:2em;padding-left:10px;border-left:4px solid var(--accent)}
.hero p{color:var(--muted)}
.list{list-style:none;padding:0}
.list li{background:var(--panel);border:1px solid var(--line);border-radius:10px;margin-bottom:10px}
.list a{display:block;padding:12px 14px;text-decoration:none;color:var(--text)}
.list .t{display:block;font-weight:600}
.list time,.meta{color:var(--muted);font-size:.85rem}
.game{display:inline-block;background:var(--accent-soft);color:var(--accent);border-radius:6px;padding:0 8px;font-size:.8rem;margin-right:6px}
table{border-collapse:collapse;width:100%;font-size:.88rem}
th,td{border:1px solid var(--line);padding:6px 8px;text-align:left}
td:last-child{font-weight:700}
th{background:var(--accent-soft)}
.lead{background:var(--accent-soft);border-radius:10px;padding:12px 16px}
.note{color:var(--muted);font-size:.9rem}
.source{border-top:1px solid var(--line);margin-top:2.5em;font-size:.9rem}
.site-footer{border-top:1px solid var(--line);background:var(--panel);color:var(--muted);font-size:.875rem;padding:16px 0}
.site-footer a{display:inline-block;padding:8px 6px}
.list a:hover{background:var(--accent-soft)}
.form label{display:block;margin:14px 0;font-weight:600}
.form select,.form textarea,.form input{display:block;width:100%;margin-top:6px;padding:10px;font:inherit;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text)}
.form button{padding:12px 28px;font:inherit;font-weight:700;border:0;border-radius:8px;background:var(--accent);color:var(--on-accent);cursor:pointer;min-height:48px;width:100%}
#msg{font-size:1rem;font-weight:700;color:var(--text)}
.hp{position:absolute;left:-9999px}
