:root { --bg:#EEF1F6; --surface:#FFFFFF; --line:#D5DBE6; --fg:#151B26; --muted:#566074; --ember:#E8530E; --ember-ink:#FFFFFF;
  --font-display:'Alfa Slab One',Georgia,'Times New Roman',serif; --font-body:'Figtree',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif; --gutter:16px; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --bg:#11151D; --surface:#1A2030; --line:#2B3447; --fg:#EEF1F7; --muted:#9AA5BA; --ember:#FF8A3D; --ember-ink:#1A1209; color-scheme:dark; } }
:root[data-theme="dark"] { --bg:#11151D; --surface:#1A2030; --line:#2B3447; --fg:#EEF1F7; --muted:#9AA5BA; --ember:#FF8A3D; --ember-ink:#1A1209; color-scheme:dark; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--bg); color:var(--fg); font-family:var(--font-body); font-size:16px; line-height:1.6; padding-inline:var(--gutter); }
[hidden] { display:none !important; }
a { color:inherit; }
:focus-visible { outline:3px solid var(--ember); outline-offset:3px; border-radius:6px; }
.wrap { max-width:1080px; margin-inline:auto; }
.top { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-block:18px; flex-wrap:wrap; }
.brand { display:flex; align-items:center; gap:12px; text-decoration:none; }
.brand svg { width:44px; height:44px; flex:none; }
.brand .name { font-family:var(--font-display); font-size:20px; line-height:1; letter-spacing:.5px; }
.brand .name small { display:block; font-family:var(--font-body); font-weight:700; font-size:11px; letter-spacing:6px; color:var(--ember); margin-top:4px; }
.nav { display:flex; gap:20px; font-weight:600; font-size:15px; flex-wrap:wrap; }
.nav a { text-decoration:none; color:var(--muted); }
.nav a:hover { color:var(--fg); }
.gh { margin-top:12px; padding:36px 24px; border-radius:14px; background:var(--c1); color:#fff; display:grid; gap:14px; }
.gh .back { color:#fff; opacity:.85; font-weight:600; text-decoration:none; font-size:14px; }
.gh h1 { font-family:var(--font-display); font-weight:400; font-size:clamp(34px,7vw,56px); line-height:1.05; margin:0; }
.gh .genre { font-size:12px; font-weight:700; letter-spacing:1.4px; text-transform:uppercase; opacity:.9; }
.gh .lead { margin:0; font-size:18px; max-width:60ch; opacity:.95; }
.cta { display:inline-flex; width:fit-content; background:#fff; color:#151B26; font-weight:700; text-decoration:none; padding:13px 22px; border-radius:10px; }
.cta:hover { filter:brightness(.94); }
.txt { max-width:760px; padding-block:32px 12px; }
.txt h1 { font-family:var(--font-display); font-weight:400; font-size:clamp(30px,6vw,44px); line-height:1.1; margin:8px 0 4px; }
.txt h2 { font-family:var(--font-display); font-weight:400; font-size:24px; margin:32px 0 8px; }
.txt p, .txt li { color:var(--muted); }
.txt p strong, .txt li strong { color:var(--fg); }
.txt ul { padding-left:20px; display:grid; gap:6px; }
.txt dt { font-weight:700; margin-top:14px; }
.txt dd { margin:4px 0 0; color:var(--muted); }
.upd { color:var(--muted); font-size:14px; }
.ad { margin-block:28px; min-height:90px; display:grid; place-items:center; border:1px dashed var(--line); border-radius:10px; color:var(--muted); font-size:12px; letter-spacing:1px; text-transform:uppercase; }
footer { border-top:1px solid var(--line); margin-top:36px; padding-block:28px 36px; display:flex; justify-content:space-between; gap:12px 24px; flex-wrap:wrap; color:var(--muted); font-size:14px; }
footer nav { display:flex; gap:18px; flex-wrap:wrap; }
footer a { text-decoration:none; }
footer a:hover { color:var(--fg); }
.ck { position:fixed; left:var(--gutter); right:var(--gutter); bottom:calc(var(--gutter) + env(safe-area-inset-bottom,0px)); max-width:620px; margin-inline:auto; background:var(--surface); color:var(--fg); border:1px solid var(--line); border-radius:12px; padding:16px; display:flex; gap:14px; align-items:center; flex-wrap:wrap; box-shadow:0 10px 30px rgba(0,0,0,.25); z-index:50; font-size:14px; }
.ck p { margin:0; flex:1 1 240px; color:var(--muted); }
.ck a { color:var(--fg); }
.ck button { font:inherit; font-weight:700; background:var(--ember); color:var(--ember-ink); border:0; border-radius:8px; padding:10px 18px; cursor:pointer; }
