:root{--fg:#1f2328;--muted:#5f6670;--bg:#f6f5f0;--card:#fff;--line:#e2dfd5;--accent:#8a2b2b;--accent2:#a54a2a;--secret:#5b3a8a;--chip:#efece3;--hero:#fbf8f1;color-scheme:light}
:root[data-theme=dark]{--fg:#e6e3dc;--muted:#a19d94;--bg:#15171b;--card:#1d2026;--line:#30343c;--accent:#e08a7a;--accent2:#f0a86a;--secret:#b59be0;--chip:#2a2e36;--hero:#1a1d22;color-scheme:dark}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;font:17px/1.65 Georgia,"Times New Roman",serif;color:var(--fg);background:var(--bg)}
a{color:var(--accent)}a:hover{color:var(--accent2)}
header.site{border-bottom:1px solid var(--line);background:var(--card);font-family:system-ui,sans-serif;position:sticky;top:0;z-index:5}
.bar{display:flex;flex-wrap:wrap;gap:.4rem 1rem;align-items:center;max-width:1180px;margin:0 auto;padding:.6rem 1rem}
.brand{font-weight:800;color:var(--accent);text-decoration:none;font-size:1.2rem;letter-spacing:.02em}
.year{font-size:.8rem;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:0 .5rem}
nav{display:flex;flex-wrap:wrap;gap:.2rem;margin-left:auto}
nav a{text-decoration:none;color:var(--fg);padding:.25rem .6rem;border-radius:6px;font-size:.92rem}
nav a:hover{background:var(--chip)}nav a.on{background:var(--chip);color:var(--accent);font-weight:600}
#theme-toggle{background:var(--chip);color:var(--fg);border:1px solid var(--line);border-radius:999px;width:2.1rem;height:2.1rem;cursor:pointer;font-size:1rem;padding:0}
:root[data-theme=dark] #theme-toggle .moon,:root:not([data-theme=dark]) #theme-toggle .sun{display:none}
.ext{max-width:1180px;margin:0 auto;padding:0 1rem .45rem;display:flex;flex-wrap:wrap;gap:1rem;font-size:.8rem}
.ext a{color:var(--muted);text-decoration:none}.ext a:hover{color:var(--accent)}
main{max-width:860px;margin:0 auto;padding:1rem}main.wide{max-width:1180px}
footer.site{border-top:1px solid var(--line);color:var(--muted);font:.85rem system-ui,sans-serif;text-align:center;margin-top:3rem;padding:1rem}
footer.site p{margin:.3rem}
h1,h2,h3{line-height:1.25}
.hero{background:var(--hero);border:1px solid var(--line);border-radius:10px;padding:1.2rem 1.4rem;margin:.5rem 0 1.2rem}
.hero h1{margin:.1rem 0 .4rem;font-size:1.7rem}.hero p{margin:.3rem 0;color:var(--muted)}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:1.5rem}@media(max-width:900px){.layout{grid-template-columns:1fr}}
.card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:1rem 1.2rem;margin:0 0 1rem}
.card h2{margin:.1rem 0 .3rem;font-size:1.3rem}.card h2 a{text-decoration:none;color:inherit}.card h2 a:hover{color:var(--accent)}
.card.secret,.full.secret{border-left:4px solid var(--secret)}
.meta,.tags{font:.83rem system-ui,sans-serif;color:var(--muted);display:flex;flex-wrap:wrap;gap:.25rem .7rem}
.nation{font-weight:600;color:var(--fg)}.type{text-transform:uppercase;letter-spacing:.05em}
.secret{color:var(--secret);font-weight:600}.tag{background:var(--chip);border-radius:4px;padding:0 .4rem}
.secret-banner{background:color-mix(in srgb,var(--secret) 12%,transparent);color:var(--secret);border:1px solid color-mix(in srgb,var(--secret) 35%,transparent);padding:.5rem .8rem;border-radius:6px;font:600 .9rem system-ui,sans-serif}
.full{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:1.2rem 1.5rem}
.body img,.forum-post img{max-width:100%;height:auto}.body blockquote{border-left:3px solid var(--line);margin-left:0;padding-left:1rem;color:var(--muted)}
.forum-post{overflow-wrap:anywhere}.forum-post div[align=center],.forum-post div[align=middle]{text-align:center}.forum-post div[align=justify]{text-align:justify}
.forum-post hr{border:0;border-top:1px solid var(--line);clear:both}
.origin{font:.9rem system-ui,sans-serif;background:var(--chip);border-radius:6px;padding:.5rem .8rem;margin:.8rem 0}
.source,.published{font:.85rem system-ui,sans-serif;color:var(--muted)}
.widget{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:.8rem 1rem;margin:0 0 1rem;font:.9rem/1.5 system-ui,sans-serif}
.widget h3{margin:0 0 .5rem;font-size:1rem;display:flex;justify-content:space-between;align-items:baseline}.widget h3 a{font-size:.78rem;font-weight:400}
.widget ul{list-style:none;margin:0;padding:0}.widget li{padding:.3rem 0;border-top:1px solid var(--line)}.widget li:first-child{border-top:0}
.small{font-size:.8rem;color:var(--muted)}
.stage{display:inline-block;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;border-radius:4px;padding:0 .35rem;background:var(--chip)}
.stage.debate,.stage.voting{background:#f5d48a;color:#3a2a00}.stage.passed{background:#bfe3c5;color:#123a19}.stage.withdrawn,.stage.failed{background:#e9c6c6;color:#3d1010}
.bignum{font-size:2rem;font-weight:800;color:var(--accent);line-height:1}
.placeholder{border:2px dashed var(--secret);border-radius:8px;padding:.6rem .9rem;color:var(--secret);font:.9rem system-ui,sans-serif}
.grid-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.8rem}
.grid-list .card{margin:0}
table.data{border-collapse:collapse;width:100%;font:.9rem system-ui,sans-serif}table.data td,table.data th{border-bottom:1px solid var(--line);padding:.35rem .4rem;text-align:left;vertical-align:top}
.tl-era{margin-top:1.5rem}.tl-item{display:grid;grid-template-columns:110px 1fr;gap:.8rem;padding:.4rem 0;border-top:1px solid var(--line)}.tl-date{font:600 .9rem system-ui,sans-serif;color:var(--accent)}
/* editor */
form.post label{display:block;font:.85rem system-ui,sans-serif;margin:.4rem 0}
form.post input,form.post select,form.post textarea{width:100%;font:14px system-ui,sans-serif;padding:.35rem;border:1px solid var(--line);border-radius:4px;background:var(--card);color:var(--fg)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.5rem 1rem}
.split{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:800px){.split{grid-template-columns:1fr}}
textarea#body{min-height:420px;font-family:ui-monospace,monospace}
#preview{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:.8rem;min-height:420px;overflow:auto}
.msg{padding:.5rem .8rem;border-radius:6px;font:.9rem system-ui,sans-serif}.ok{background:#e6f4ea;color:#123a19}.err{background:#fde8e8;color:#3d1010}
button{font:600 .95rem system-ui,sans-serif;padding:.5rem 1rem;background:var(--accent);color:#fff;border:0;border-radius:5px;cursor:pointer}
.sub{color:var(--muted);font-size:.85rem}
