:root{
  --bg:#12151a; --panel:#1b2027; --panel2:#21272f;
  --paper:#ece4d0; --ink:#2a2115;
  --red:#9c2b2b; --red-bright:#c23a3a; --gold:#b8923f;
  --text:#ddd6c4; --muted:#8b93a0; --line:rgba(221,208,172,0.14);
}
*{box-sizing:border-box;}
body{margin:0;background:var(--bg);color:var(--text);font-family:'Segoe UI',Arial,sans-serif;line-height:1.6;}
a{color:var(--gold);}
h1,h2{color:var(--paper);}

.site-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid var(--line);}
.site-header .brand{font-weight:700;font-size:16px;text-decoration:none;color:var(--paper);}
.link-muted{color:var(--muted);font-size:13px;}

.wrap{max-width:900px;margin:0 auto;padding:28px 24px 80px;}
.wrap.narrow{max-width:640px;}
.lead{color:var(--muted);}

.story-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:20px;}
.story-card{display:block;background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:18px;text-decoration:none;color:var(--text);}
.story-card:hover{border-color:var(--gold);}
.story-card h2{margin:0 0 6px;font-size:17px;}
.story-card .meta{color:var(--muted);font-size:13px;}
.story-card .price{margin-top:10px;color:var(--gold);font-weight:600;}

.meta-row{display:flex;justify-content:space-between;color:var(--muted);font-size:14px;margin-bottom:18px;}
.meta-row .price{color:var(--gold);font-weight:600;}

.intro-content{background:var(--paper);color:var(--ink);padding:22px 24px;border-radius:4px;margin-bottom:24px;}
.intro-content p{margin:0 0 12px;}

.buy-form, .card{display:flex;flex-direction:column;gap:12px;background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:20px;max-width:420px;}
.buy-form label, .card label{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--muted);}
.buy-form input, .buy-form select{background:var(--panel2);border:1px solid var(--line);color:var(--text);padding:9px 11px;border-radius:4px;font-size:14px;}

.btn{display:inline-block;background:var(--red);color:#f5ece1;border:none;padding:11px 18px;border-radius:4px;font-size:14px;cursor:pointer;text-decoration:none;text-align:center;}
.btn:hover{background:var(--red-bright);}

.notice{background:#233a2a;color:#8fd18f;padding:12px 16px;border-radius:4px;font-size:13.5px;}

.tag{padding:3px 8px;border-radius:10px;font-size:11px;text-transform:uppercase;}
.tag-draft{background:#3a3320;color:#e0c98d;}
.tag-published{background:#233a2a;color:#8fd18f;}
.tag-archived{background:#3a2323;color:#d18f8f;}

.avatar-dot{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;color:#12151a;font-size:10px;font-weight:700;margin-right:6px;}
ul{padding-left:20px;}
li{margin-bottom:6px;}

.person-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;flex-shrink:0;}
.person-list{list-style:none;padding:0;}
.person-list li{display:flex;align-items:center;gap:8px;padding:6px 0;}

.event-desc{color:var(--muted);font-size:13.5px;}
.event-done{background:var(--panel);border:1px solid #233a2a;border-radius:6px;padding:12px 16px;margin:6px 0;color:#8fd18f;font-size:14px;}
.event-done::before{content:'\2713 ';font-weight:700;}
.event-available{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:12px 16px;margin:6px 0;font-size:14px;}

.event-children{margin-top:16px;text-align:left;display:flex;flex-direction:column;gap:10px;}
