@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;700;800;900&display=swap');
:root{--bg:#111214;--text:#f1f1f1;--muted:#c7c7c7;--orange:#d7862a;--orange-deep:#b86d18}
*{box-sizing:border-box}
body{margin:0;font-family:'IBM Plex Mono',Inter,system-ui;background:var(--bg) url('/assets/hero.jpg') center/cover fixed no-repeat;color:var(--text)}
body:before{content:"";position:fixed;inset:0;background:rgba(8,10,14,.58);z-index:0;pointer-events:none}
main{position:relative;z-index:1;max-width:980px;margin:0 auto;padding:24px 16px}
.back{color:#f6c07a;text-decoration:none;font-size:14px}
.topic-banner{margin:14px 2px 0;background:transparent;color:var(--orange);border:0;border-radius:0;padding:0;min-height:auto;width:100%;display:block;position:relative;overflow:visible}
.topic-banner:before{display:none}
.topic-banner h1{margin:0;position:relative;z-index:1;font-size:clamp(24px,3.5vw,42px);line-height:1.05;color:var(--orange);text-shadow:0 1px 1px rgba(0,0,0,.45)}
.topic-banner.white-title h1{color:#f8f8f8;text-shadow:0 1px 2px rgba(0,0,0,.55)}
.topic-subtitle{margin:10px 2px 0;color:var(--orange);font-size:clamp(18px,2.2vw,24px);font-weight:700;line-height:1.2}
.topic-subtitle:empty{display:none}
.topic-media-jump{display:inline-block;margin:8px 2px 0;background:rgba(10,10,10,.5);border:1px solid rgba(255,255,255,.3);color:#fff;text-decoration:none;font-size:12px;font-weight:700;padding:6px 10px;border-radius:8px}
.topic-media-jump:empty{display:none}
.topic-audio-jump{display:inline-block;margin:8px 2px 0;background:rgba(10,10,10,.5);border:1px solid rgba(255,255,255,.3);color:#fff;text-decoration:none;font-size:12px;font-weight:700;padding:6px 10px;border-radius:8px}
.topic-audio-jump:empty{display:none}
.topic-admin{margin-top:14px;background:rgba(10,10,10,.62);border:1px solid rgba(255,255,255,.2);border-radius:10px;padding:10px}
.topic-admin label{display:block;font-size:12px;color:#cfcfcf;margin-bottom:6px}
.topic-admin input{width:100%;padding:9px;border-radius:8px;border:1px solid #3a3a3a;background:#111319;color:#fff}
.topic-admin textarea{width:100%;padding:9px;border-radius:8px;border:1px solid #3a3a3a;background:#111319;color:#fff;min-height:160px;resize:vertical;line-height:1.4}
.topic-admin .row{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.topic-admin button,.topic-admin a{background:rgba(215,134,42,.92);color:#1a1002;border:1px solid #b86d18;border-radius:8px;padding:7px 10px;font-weight:700;text-decoration:none;cursor:pointer;font-size:12px}
.topic-admin .status{margin-top:8px;font-size:12px;color:#d9d9d9}
.topic-admin details{margin-top:8px;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:6px;background:rgba(0,0,0,.2)}
.topic-admin summary{cursor:pointer;font-size:12px;color:#e0e0e0;font-weight:700}
.topic-admin .block{margin-top:8px}
.topic-admin .block input{margin-bottom:8px}
.topic-media{margin:12px auto 0;max-width:620px;background:rgba(8,10,14,.82);border:1px solid rgba(255,255,255,.14);border-radius:8px;padding:8px}
.topic-media:empty{display:none}
.topic-media iframe,.topic-media video{width:100%;max-width:100%;min-height:200px;max-height:220px;border:0;border-radius:8px;background:#000}
.topic-audio{margin-top:12px;background:rgba(10,10,10,.5);border:1px solid rgba(255,255,255,.2);border-radius:10px;padding:10px}
.topic-audio:empty{display:none}
.topic-audio audio{width:100%}
.topic-body{margin-top:14px;background:transparent;border:0;border-radius:0;padding:0;line-height:1.58;color:#ffffff;font-weight:600;font-size:clamp(16px,1.55vw,22px);text-shadow:0 1px 2px rgba(0,0,0,.55)}
.topic-body:empty{display:none}
.topic-body img{width:100%;max-width:100%;height:220px;display:block;margin:10px auto;border-radius:10px;object-fit:cover}
.topic-body iframe,.topic-body video{width:100%;max-width:100%;min-height:220px;border:0;border-radius:10px;display:block;margin:10px 0;background:#000}
.topic-text-block{margin:0 auto 16px;max-width:700px;background:rgba(215,134,42,.46);border:1px solid var(--orange-deep);border-radius:8px;padding:12px}
.topic-text-block p{margin:0}
.topic-inline-image{margin:14px auto 16px;max-width:620px;background:transparent;border:0;border-radius:0;padding:0}
.topic-inline-image img{width:80%;max-width:80%;height:220px;display:block;margin:0 auto;border-radius:8px;object-fit:cover}
body.admin-mode .topic-subtitle,
body.admin-mode .topic-media,
body.admin-mode .topic-body{display:none !important}
@media (max-width:640px){
  .topic-banner{min-height:160px}
}
