:root{--ink:#2b1f1f;--muted:#7a6b6b;--bg:#fcfbfa;--card:#f5f1ee;--accent:#4f8f7e;--warn:#9a5b00;--err:#b3261e}
*{box-sizing:border-box}body{margin:0;font:16px/1.5 system-ui,sans-serif;color:var(--ink);background:var(--bg)}
header,main,footer{max-width:720px;margin:0 auto;padding:12px 16px}
h1{font-family:Georgia,serif;font-weight:400;margin:8px 0}h2{font-family:Georgia,serif;font-weight:400;margin:24px 0 8px}h3{margin:16px 0 8px;font-size:1rem}
.banner{background:var(--card);border-radius:10px;padding:10px 12px;margin:8px 0}
.muted{color:var(--muted)}.warn{color:var(--warn)}.error{color:var(--err);min-height:1.4em}
nav{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
button{font:inherit;border:1px solid #d8cfc9;background:#fff;border-radius:8px;padding:8px 12px;cursor:pointer;min-height:40px}
button[aria-selected=true],button[aria-pressed=true]{background:var(--accent);color:#fff;border-color:var(--accent)}
button.primary{background:var(--ink);color:#fff;border-color:var(--ink)}button:disabled{cursor:not-allowed}
button.taken{opacity:.75;color:#555;background:#f0ebe7;font-style:italic}
button.locked{opacity:.8;color:#555}
button.chosen,button.chosen:disabled{opacity:1;background:var(--accent);color:#fff;border-color:var(--accent);font-weight:600}
button.chosen.locked{box-shadow:inset 0 0 0 2px #2f6b5c}
button.ghost{background:transparent}
.row{display:flex;flex-wrap:wrap;gap:6px}.pickrow{margin:10px 0}.pickrow>div{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
fieldset{border:1px solid #d8cfc9;border-radius:10px;padding:12px;display:grid;gap:10px}
label{display:grid;gap:2px;font-size:.9rem}input{font:inherit;padding:8px;border:1px solid #d8cfc9;border-radius:8px;width:100%}
dl{display:grid;grid-template-columns:minmax(110px,max-content) 1fr;gap:6px 14px}dt{color:var(--muted)}dd{margin:0;overflow-wrap:anywhere}
.status{padding:10px 12px;border-radius:10px;background:var(--card);margin-top:12px}
.bar{display:grid;grid-template-columns:90px 1fr 52px;align-items:center;gap:8px;margin:4px 0}.bar span.t{background:#e6e0db;height:14px;border-radius:7px;overflow:hidden}.bar i{display:block;height:100%;background:var(--accent)}
.entry{border:1px solid #e6e0db;border-radius:10px;padding:10px;margin:8px 0}.entry .row{margin-top:6px}
footer{color:var(--muted);font-size:.85rem;padding-bottom:40px}
