:root { color-scheme: dark; --ink:#f3eee8; --muted:#afa59c; --paper:#150b06; --panel:#21120b; --panel2:#2b170d; --line:#59301b; --gold:#e79b48; --orange:#d56824; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:radial-gradient(circle at 80% -10%,#4a190f66,transparent 35rem),var(--paper); font:16px/1.62 Inter,ui-sans-serif,system-ui,sans-serif; }
a { color:var(--gold); }
.masthead { position:relative; min-height:220px; padding:48px clamp(22px,5vw,72px); display:flex; align-items:end; justify-content:center; gap:30px; text-align:center; border-bottom:1px solid var(--line); background:linear-gradient(115deg,#100906f2,#32160d99); }
.masthead > div { width:min(100%,1100px); }
.eyebrow,.lede { margin:0; color:var(--muted); }.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.75rem}
h1 { margin:8px 0 10px; color:var(--gold); font:700 clamp(3.4rem,9vw,7rem)/.88 Georgia,serif; }
.archive-links { position:absolute; right:clamp(22px,5vw,72px); bottom:48px; display:flex; flex-direction:column; align-items:flex-end; }.archive-links a{text-decoration:none;white-space:nowrap}
.shell { max-width:1500px; margin:auto; display:grid; grid-template-columns:minmax(260px,340px) minmax(0,1fr); }
.sidebar { position:sticky; top:0; height:100vh; overflow:auto; padding:28px 20px 60px; border-right:1px solid var(--line); background:#150b06e8; backdrop-filter:blur(10px); }
label { display:block; margin-bottom:6px; color:var(--muted); text-transform:uppercase; letter-spacing:.08em; font-size:.78rem; }
input,select { width:100%; margin-bottom:18px; padding:11px 12px; color:var(--ink); background:var(--panel); border:1px solid var(--line); border-radius:8px; font:inherit; }
.fight-button { width:100%; padding:12px 10px; border:0; border-bottom:1px solid #59301b99; color:var(--muted); background:transparent; text-align:left; cursor:pointer; }
.home-nav { margin:0 0 22px; border:1px solid var(--line); border-radius:8px; overflow:hidden; }
.home-button { color:var(--ink); font-weight:800; border-bottom:0; }
.home-button small { font-weight:400; }
.fight-button:hover,.fight-button.active { color:var(--ink); background:var(--panel2); }.fight-button.active{box-shadow:inset 3px 0 var(--gold)}
.fight-button small { display:block;color:#927b6e; }
.writer-record { margin:-3px 0 18px;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel2);color:var(--muted); }.writer-record strong{color:var(--gold);font-size:1.15rem}
.list-winner,.winner strong { color:var(--gold);font-weight:800; }.winner{margin:4px 0 10px;color:var(--muted)}
.reader { min-width:0; padding:clamp(28px,5vw,72px); }.empty{margin:20vh auto;text-align:center;color:var(--muted);font:1.5rem Georgia,serif}
.home-view { max-width:1080px; margin:0 auto; }
.home-toast { margin:0; overflow:hidden; border:1px solid var(--line); border-radius:12px; background:var(--panel); box-shadow:0 24px 70px #0008; }
.home-toast img { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; }
.home-quote { margin:24px 0 0; padding:18px 22px; border-left:4px solid var(--gold); background:#e79b4812; color:#e2d6ce; font:italic clamp(1rem,2vw,1.22rem)/1.7 Georgia,serif; }
.fight-head,.messages { max-width:980px; margin-left:auto; margin-right:auto; }.fight-head{margin-bottom:34px}.fight-head h2{margin:0 0 10px;font:700 clamp(2rem,4.5vw,4.2rem)/1.05 Georgia,serif}
.fight-summary { margin:18px 0;padding:12px 16px;border-left:4px solid var(--gold);background:#e79b4812;color:#d9cec6;font:italic 1.05rem/1.65 Georgia,serif; }
.message { display:grid; grid-template-columns:48px minmax(0,1fr); gap:13px; padding:18px 0; border-top:1px solid #59301b66; }
.avatar { width:48px;height:48px;border-radius:50%;object-fit:cover;background:var(--panel2); }.avatar-fallback{display:grid;place-items:center;color:var(--gold);font-weight:800}
.message-head { display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;margin-bottom:4px}.author{color:var(--orange);font-weight:800}.handle,.timestamp{color:var(--muted);font-size:.82rem}.character{padding:1px 6px;border-radius:5px;background:#4c4f8a;color:#e8e9ff;font-size:.72rem;font-weight:750}
.content { overflow-wrap:anywhere; }.content p{margin:.2em 0 1em}.content blockquote{margin:8px 0;padding:3px 13px;border-left:4px solid #6f625b;color:#d0c7c0}.content pre{overflow:auto;padding:13px;border-radius:7px;background:#0b0807}.content code{padding:.12em .3em;border-radius:4px;background:#0b0807}.content pre code{padding:0}.content .spoiler{color:transparent;background:#26211e;border-radius:3px}.content .spoiler:hover{color:inherit}.content a{text-decoration:none}
.attachments { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:10px;margin-top:10px;max-width:760px}.attachment img,.attachment video{display:block;max-width:100%;max-height:680px;border-radius:9px;border:1px solid var(--line);background:#090604}.attachment-file{display:block;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}
.reply { margin:0 0 8px;padding-left:12px;border-left:2px solid var(--line);color:var(--muted);font-size:.83rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reply strong{color:var(--gold)}
@media(max-width:760px){.masthead{min-height:170px;padding-top:30px;padding-bottom:76px}.archive-links{right:50%;bottom:24px;transform:translateX(50%);align-items:center}.shell{display:block}.sidebar{position:static;height:auto;max-height:48vh;border-right:0;border-bottom:1px solid var(--line)}.reader{padding:28px 16px 60px}.message{grid-template-columns:38px minmax(0,1fr)}.avatar{width:38px;height:38px}}
