:root{--bg:#141810;--panel:#1c2216;--line:#4b5232;--gold:#c8b560;--parch:#ece6d0;--ember:#e07a2f;--muted:#a49f84;--ok:#8a9a5b}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--parch);font:17px/1.6 "Palatino Linotype","Book Antiqua",Georgia,serif}
.wrap{max-width:1040px;margin:0 auto;padding:24px 16px 64px}
.top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-bottom:3px double var(--line);padding-bottom:14px;margin-bottom:26px}
.top .logo{font-size:24px;color:var(--gold);text-decoration:none;letter-spacing:.04em;margin-right:auto}
.top .logo small{font-size:12px;color:var(--muted);letter-spacing:.14em;text-transform:uppercase;margin-left:8px}
.top a.l{color:var(--muted);text-decoration:none;font-size:15px;padding:4px 10px;border:1px solid var(--line);border-radius:4px}
.top a.l.cur,.top a.l:hover{color:var(--gold);border-color:var(--gold)}
h1,h2,h3{color:var(--gold);line-height:1.25}
h1{font-size:32px;margin:0 0 8px}h2{font-size:23px;margin:32px 0 10px}
.lead{color:var(--muted);max-width:64ch;margin:0 0 24px}
a{color:var(--gold)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.card{display:block;text-decoration:none;color:inherit;background:var(--panel);border:2px solid var(--line);border-radius:6px;padding:16px 20px;box-shadow:inset 0 0 0 2px #10130c,inset 0 0 0 3px #2c3220}
.card h2,.card h3{margin:0 0 6px;font-size:20px;color:var(--parch)}
.card p{margin:0;color:var(--muted);font-size:15px}
a.card:hover{border-color:var(--gold);box-shadow:inset 0 0 0 2px #10130c,inset 0 0 0 3px var(--gold),0 0 18px #e07a2f55}
.st{display:inline-block;margin-top:10px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;padding:2px 8px;border:1px solid var(--line);border-radius:3px;color:var(--muted)}
.st.planned{color:var(--gold);border-color:var(--gold)}.st.doing{color:var(--ember);border-color:var(--ember)}.st.done{color:var(--ok);border-color:var(--ok)}
.num{font-size:34px;color:var(--gold);line-height:1}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
input,select,textarea,button{font:inherit;color:var(--parch);background:#10130c;border:1px solid var(--line);border-radius:4px;padding:8px 10px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--gold)}
textarea{width:100%;min-height:80px;resize:vertical}
button{cursor:pointer;background:#2c3220}button:hover{border-color:var(--gold);color:var(--gold)}
button.pri{border-color:var(--gold);color:var(--gold)}
.msg{min-height:1.4em;color:var(--muted);font-size:15px}.msg.err{color:var(--ember)}
.muted{color:var(--muted)}
code{background:#10130c;padding:1px 5px;border-radius:3px;font-size:.92em}
pre{background:#10130c;padding:12px;border-radius:4px;overflow:auto}
table{border-collapse:collapse;width:100%}th,td{border:1px solid var(--line);padding:6px 10px;text-align:left}
blockquote{margin:12px 0;padding:4px 14px;border-left:3px solid var(--gold);color:var(--muted)}
.doc{max-width:760px}.doc img{max-width:100%}
.side{display:grid;grid-template-columns:240px 1fr;gap:28px}
.side nav{display:flex;flex-direction:column;gap:4px;position:sticky;top:12px;align-self:start}
.side nav a{color:var(--muted);text-decoration:none;font-size:15px;padding:6px 10px;border-left:3px solid var(--line);line-height:1.3}
.side nav a.cur,.side nav a:hover{color:var(--gold);border-left-color:var(--gold);background:#1c2216}
.side nav a.done::after{content:" ✓";color:var(--ok)}
.bar{height:8px;background:#10130c;border:1px solid var(--line);border-radius:4px;overflow:hidden;margin:6px 0 18px}
.bar i{display:block;height:100%;background:var(--gold);width:0;transition:width .4s}
@media (max-width:760px){.side{grid-template-columns:1fr}.side nav{position:static;flex-direction:row;flex-wrap:wrap}.side nav a{border-left:0;border:1px solid var(--line);border-radius:4px}}
footer{margin-top:40px;padding-top:14px;border-top:1px solid var(--line);color:var(--muted);font-size:14px}

.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:28px}
