:root{
  --bg:#f3eedc; --panel:#f8f1d8; --line:#d8c99a; --head:#e9cf86; --head-ink:#4a3a12;
  --ink:#1f1a10; --muted:#8a8070; --link:#6b5212; --accent:#c79a2e; --ok:#3d6b3a; --bad:#d01818;
  --side:#f3e9c6; --code:#fbf6e6; --thought:#a8a8a8;
  --font:"Verdana","Tahoma",sans-serif; --ui:"Verdana","Tahoma",sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:12px/1.6 var(--ui)}
a{color:var(--link)}
.wrap{max-width:1040px;margin:0 auto;padding:12px 16px 40px}
.top{background:linear-gradient(#efd893,#d9b75c);color:var(--head-ink);padding:14px 16px;border:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}
.top h1{margin:0;font:600 22px var(--font);letter-spacing:.5px}
.top small{opacity:.8}
.nav{background:var(--panel);border:1px solid var(--line);border-top:0;padding:6px 12px;display:flex;gap:4px;flex-wrap:wrap}
.nav button{background:none;border:1px solid transparent;color:var(--link);padding:4px 10px;cursor:pointer;font:13px var(--ui);border-radius:4px}
.nav button.on{border-color:var(--line);background:var(--side);font-weight:bold}
.note{font-size:12px;color:var(--muted);margin:8px 2px}
.crumbs{font-size:12px;color:var(--muted);margin:10px 2px}
.block{background:var(--panel);border:1px solid var(--line);margin:10px 0;box-shadow:0 0 0 3px #fbf7e8, 0 0 0 4px var(--line)}
.block>h3{margin:0;padding:5px 10px;background:linear-gradient(#f1dc9c,#e2c370);color:var(--head-ink);font:bold 12px var(--font);border-bottom:1px solid var(--line)}
table.forum{width:100%;border-collapse:collapse}
table.forum td,table.forum th{border-top:1px solid var(--line);padding:8px 12px;text-align:left;vertical-align:top}
table.forum th{font-size:12px;color:var(--muted);font-weight:normal;background:var(--side)}
.forumname{font:bold 12px var(--font);text-decoration:underline}
.ficon{width:34px;text-align:center;font:bold 20px Georgia,serif;color:#c0281c;text-shadow:1px 1px 0 #7a1810}
.desc{font-size:12px;color:var(--muted)}
.post{border-top:4px solid var(--head)}
.post:first-of-type{border-top:0}
.ph{display:grid;grid-template-columns:200px 1fr auto;background:var(--side);border-bottom:1px solid var(--line);font-size:12px}
.ph>div{padding:4px 8px}.ph .nm{font:bold 13px var(--font);color:var(--link);text-decoration:underline;border-right:1px solid var(--line)}
.ph .acts a{margin-left:6px}
.pb{display:grid;grid-template-columns:200px 1fr}
.who{padding:6px 8px;border-right:1px solid var(--line);font-size:11px}
.ava{width:154px;height:154px;background:linear-gradient(135deg,#d9c38a,#8a6d2c);margin:0 0 4px;display:flex;align-items:center;justify-content:center;color:#fff8e0;font:bold 56px Georgia,serif}
.bar{height:6px;background:#e3d7b0;overflow:hidden;margin:1px 0 4px;width:154px}
.bar i{display:block;height:100%}
.hp i{background:#c0281c} .en i{background:#3d6aa8}
.body{padding:8px 10px}
.loc{font-weight:bold;font-size:13px;margin-bottom:2px}
.rp{font-size:13px;line-height:1.75}
.th{color:var(--thought);font-style:italic}
.rp .sp{font-style:italic}
.slotlbl{font-size:10px;margin-top:18px}
.roll{font-size:10px;margin-top:14px}.roll b{color:var(--bad)}
.sig{border-top:0;margin-top:16px;font-size:10px}
.pf{background:var(--side);border-top:1px solid var(--line);padding:3px 8px 3px 208px;font-size:12px;color:var(--muted)}
.gm .who{background:var(--side)}
.res{font-size:12px}
.res .hit{color:var(--ok);font-weight:bold}.res .miss{color:var(--bad);font-weight:bold}
.why{font-size:11px;color:var(--muted);margin-top:6px}
details summary{cursor:pointer;color:var(--link);font-size:11px;text-decoration:underline}
.reply{padding:12px}
.slots{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.slot{border:1px solid var(--line);border-radius:4px;padding:10px;background:var(--side)}
.slot h4{margin:0 0 6px;font:600 14px var(--font)}
label{display:block;font-size:12px;color:var(--muted);margin-top:6px}
select,input[type=text],input[type=number],textarea{width:100%;padding:5px 7px;border:1px solid var(--line);border-radius:3px;background:var(--panel);color:var(--ink);font:13px var(--ui)}
textarea{min-height:150px;font-family:var(--font);font-size:14px}
.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.btn{background:linear-gradient(#f1dc9c,#d9b75c);color:var(--head-ink);border:1px solid #b8963e;padding:4px 14px;border-radius:2px;cursor:pointer;font:600 13px var(--ui)}
.btn.alt{background:var(--side);color:var(--link);border:1px solid var(--line)}
.pill{display:inline-block;font-size:11px;padding:1px 7px;border-radius:9px;border:1px solid var(--line);background:var(--side);color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:12px}
.card{border:1px solid var(--line);border-radius:4px;padding:12px;background:var(--side)}
.card h4{margin:0 0 4px;font:600 16px var(--font)}
.arch{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.arch label{border:1px solid var(--line);border-radius:4px;padding:8px;background:var(--panel);color:var(--ink);cursor:pointer;margin:0}
.arch label b{display:block;font-family:var(--font)}
.parsed td{vertical-align:middle}
.conf{font-size:11px}
.conf.lo{color:var(--bad)} .conf.hi{color:var(--ok)}
pre.sum{background:var(--code);border:1px solid var(--line);padding:10px;white-space:pre-wrap;font:13px/1.5 var(--ui);margin:0}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px}
.chargrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px}
.sk{display:grid;grid-template-columns:110px 70px 28px 28px 28px 1fr;align-items:center;gap:4px;font-size:12px;border-bottom:1px dotted var(--line);padding:3px 0}
.sk .st{display:inline-block;width:22px;height:22px;line-height:20px;text-align:center;border:1px solid var(--line);background:var(--panel);cursor:pointer}
.sk .tot{font-weight:bold}
.rulesgrid{display:grid;grid-template-columns:220px 1fr;gap:0}
.toc{border-right:1px solid var(--line);padding:8px 10px;font-size:12px;background:var(--side)}
.toc a{display:block;padding:1px 0}.toc .h{font-weight:bold;margin-top:8px}
.rtext{padding:10px 14px;font-size:12px}
.rtext h4{font-size:13px;margin:12px 0 4px}
.rtext table{border-collapse:collapse;width:100%;margin:6px 0}.rtext td,.rtext th{border:1px solid var(--line);padding:3px 6px;text-align:left}
.rtext th{background:var(--side)}
mark{background:#f6e27a}
a.rl{color:inherit;text-decoration:none;border-bottom:1px dotted var(--link);cursor:help}a.rl:hover{color:var(--link)}
.q{display:inline-block;width:14px;height:14px;line-height:13px;text-align:center;font-size:10px;border:1px solid var(--line);border-radius:50%;margin-left:3px;color:var(--link);text-decoration:none}
@media (max-width:720px){.chargrid,.rulesgrid{grid-template-columns:1fr}.toc{border-right:0;border-bottom:1px solid var(--line)}}
@media (max-width:720px){
  .ph,.pb{grid-template-columns:1fr}.ph .nm{border-right:0}.pf{padding-left:8px}.who{border-right:0;border-bottom:1px solid var(--line);display:flex;gap:10px;align-items:center}
  .ava{width:54px;height:54px;font-size:22px}.bar{width:120px}.slots,.cards,.two{grid-template-columns:1fr}.arch{grid-template-columns:1fr 1fr}
  table.forum .hide-m{display:none}
}
.err{color:var(--bad);font-weight:bold}.ok{color:var(--ok)}
.nav a{color:var(--link);padding:4px 10px;border:1px solid transparent;border-radius:4px;text-decoration:none;font:13px var(--ui)}.nav a.on{border-color:var(--line);background:var(--side);font-weight:bold}

.plain-link{color:inherit;text-decoration:none}.fw-n{font-weight:normal}form.inline{display:inline}.w56{width:56px}.w44{width:44px}.w180{width:180px}select.w-auto{width:auto}
.mt10{margin:10px 0}.mt6{margin:6px 0 12px}textarea.minh70{min-height:70px}label.chk{display:inline-block;margin-right:8px}img.cover{object-fit:cover}.ind0{padding-left:0}.ind1{padding-left:10px}
progress.bar{display:block;width:154px;height:6px;margin:1px 0 4px;border:0;background:#e3d7b0;appearance:none;-webkit-appearance:none}
progress.bar::-webkit-progress-bar{background:#e3d7b0}progress.hp::-webkit-progress-value{background:#c0281c}progress.hp::-moz-progress-bar{background:#c0281c}
progress.en::-webkit-progress-value{background:#3d6aa8}progress.en::-moz-progress-bar{background:#3d6aa8}
@media (max-width:720px){progress.bar{width:120px}}
/* status, steps and banners (UX pass) */
.statusline{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 6px}
.chip{display:inline-block;border:1px solid var(--line);background:var(--side);border-radius:10px;padding:1px 8px;font-size:12px}
.chip.me{border-color:var(--accent);font-weight:bold}
.banner{background:var(--side);border-left:4px solid var(--line);padding:6px 10px;margin:6px 0}
.banner.now{border-left-color:var(--accent);font-weight:bold}
.steps{display:flex;flex-wrap:wrap;gap:4px 14px;padding:0 0 0 18px;margin:6px 0 10px;font-size:12px;color:var(--muted)}
.steps li.now{color:var(--ink);font-weight:bold}.steps li.done{text-decoration:line-through}
fieldset.seat{border:1px solid var(--line);border-radius:4px;margin:10px 0;padding:8px}
fieldset.seat legend{font:bold 13px var(--font);padding:0 6px}
.slot.low{border-color:var(--bad)}
label.inline{display:flex;gap:6px;align-items:center;color:var(--ink)}
label.inline input{width:auto}
.row label{flex:1 1 120px}.row label.grow{flex:3 1 220px}.row label:has(.w56){flex:0 0 auto}
.warnbox{border:1px solid var(--accent);background:var(--side);padding:8px;margin:8px 0}
.gmnote{border-left:3px solid var(--accent);padding-left:6px}
.toast{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);background:var(--head);color:var(--head-ink);border:1px solid var(--line);padding:8px 14px;border-radius:4px;box-shadow:0 2px 8px rgba(0,0,0,.3);z-index:10}
[hidden]{display:none!important}
.undo{border-top:1px dashed var(--line);margin-top:12px;padding-top:4px}
.arch label .desc{font-weight:normal}
