:root {
  color-scheme: dark;
  --bg: #0b0c0f;
  --bg-soft: #14161c;
  --bg-card: #171a21;
  --bg-hover: #222634;
  --bg-head: #0d0e12;
  --line: #262a34;
  --line-2: #3a4152;
  --field-line: #6b7280;
  --ctl-line: var(--line);
  --text: #f2f3f5;
  --text-2: #dfe2e8;
  --muted: #b3b8c4;
  --accent: #e50914;
  --accent-h: #c40810;
  --accent-text: #ff6a72;
  --accent-on: #fff;
  --amazon: #ffa724;
  --focus: #ff6a72;
  --err: #ff8d94;
  --ok-bg: #10251a;
  --ok-line: #1f5136;
  --bad-bg: #2a1315;
  --bad-line: #5c2126;
  --img-mat: #fff;
  --radius: 8px;
  --wrap: 1180px;
  --pop: #161921;
  --shadow: rgba(0, 0, 0, .55);
  --head-blur-bg: rgba(11, 12, 15, .74);
  --logo: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Crect width='64' height='64' rx='15' fill='%23e50914'/%3E%3Cpath d='M12 26h40l-4 26.5a4 4 0 0 1-4 3.5H20a4 4 0 0 1-4-3.5z' fill='%23fff'/%3E%3Cpath d='M27 26 28 56h-5.5L20 26zM37 26l-1 30h5.5L44 26z' fill='%23e50914'/%3E%3Ccircle cx='21' cy='19' r='9' fill='%23fff'/%3E%3Ccircle cx='43' cy='19' r='9' fill='%23fff'/%3E%3Ccircle cx='32' cy='13' r='10' fill='%23fff'/%3E%3C/svg%3E");
  --ico-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 2a8 8 0 0 1 6.3 12.9l5.4 5.4-1.4 1.4-5.4-5.4A8 8 0 1 1 10 2zm0 2a6 6 0 1 0 0 12 6 6 0 0 0 0-12z'/%3E%3C/svg%3E");
  --ico-close: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5 3.6 7 7 7-7L20.4 5l-7 7 7 7L19 20.4l-7-7-7 7L3.6 19l7-7-7-7z'/%3E%3C/svg%3E");
  --ico-sun: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 7a5 5 0 1 1 0 10 5 5 0 0 1 0-10zM11 1h2v3.2h-2zM11 19.8h2V23h-2zM1 11h3.2v2H1zM19.8 11H23v2h-3.2zM3.5 4.9 4.9 3.5l2.3 2.3-1.4 1.4zM16.8 18.2l1.4-1.4 2.3 2.3-1.4 1.4zM18.2 7.2 16.8 5.8l2.3-2.3 1.4 1.4zM5.8 16.8l1.4 1.4-2.3 2.3-1.4-1.4z'/%3E%3C/svg%3E");
  --ico-moon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.6 15.6A9 9 0 0 1 8.4 3.4a9 9 0 1 0 12.2 12.2z'/%3E%3C/svg%3E");
  --ico-rss: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.2 15.6a2.2 2.2 0 1 1 0 4.4 2.2 2.2 0 0 1 0-4.4zM4 4.4v2.9c7 0 12.7 5.7 12.7 12.7h2.9c0-8.6-7-15.6-15.6-15.6zM4 10.1V13c3.9 0 7.1 3.2 7.1 7.1h2.8c0-5.5-4.4-9.9-9.9-9.9z'/%3E%3C/svg%3E");
  --ico-spark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.2 2.4c1 4.6 2.9 6.5 7.5 7.5-4.6 1-6.5 2.9-7.5 7.5-1-4.6-2.9-6.5-7.5-7.5 4.6-1 6.5-2.9 7.5-7.5z'/%3E%3Cpath d='M18.4 15.4c.45 2.1 1.3 2.95 3.4 3.4-2.1.45-2.95 1.3-3.4 3.4-.45-2.1-1.3-2.95-3.4-3.4 2.1-.45 2.95-1.3 3.4-3.4z' stroke-width='1.7'/%3E%3C/g%3E%3C/svg%3E");
  --ico-hourglass: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2.8h10v3.6L12 12l5 5.6v3.6H7v-3.6L12 12 7 6.4z' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --ico-in: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3v12m0 0 4-4m-4 4-4-4M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --ico-out: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 15V3m0 0 4 4m-4-4-4 4M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --ico-x: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z'/%3E%3C/svg%3E");
  --wm-n: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 646 63'%3E%3Cpath fill='%23fff' d='M31 1L44 1Q45 1 45 2L45 61Q45 62 44 62L31 62Q30 62 29 61L15 29Q15 29 14 29L14 61Q14 62 14 62Q14 62 13 62L1 62Q1 62 0 62Q0 62 0 61L0 2Q0 1 0 1Q1 1 1 1L14 1Q15 1 15 1L30 34L30 2Q30 1 30 1Q31 1 31 1ZM96 13L73 13Q73 13 73 14L73 25L87 25Q88 26 88 26L88 36Q88 37 87 37L73 37Q73 37 73 38L73 49Q73 50 73 50L96 50Q97 50 97 51L97 61Q97 62 96 62L59 62Q59 62 58 62Q58 62 58 61L58 2Q58 1 58 1Q59 1 59 1L96 1Q97 1 97 2L97 12Q97 13 96 13ZM150 2L150 12Q150 13 150 13Q150 13 149 13L136 13Q136 13 136 14L136 61Q136 62 135 62L122 62Q121 62 121 61L121 14Q121 13 121 13L108 13Q108 13 107 13Q107 13 107 12L107 2Q107 1 107 1Q108 1 108 1L149 1Q150 1 150 1Q150 1 150 2ZM200 13L177 13Q177 13 177 14L177 25L191 25Q192 25 192 25Q192 26 192 26L192 36Q192 37 192 37Q192 37 191 37L177 37Q177 37 177 38L177 61Q177 62 177 62Q176 62 176 62L164 62Q163 62 163 62Q162 62 162 61L162 2Q162 1 163 1Q163 1 164 1L200 1Q200 1 201 1Q201 1 201 2L201 12Q201 13 201 13Q200 13 200 13ZM212 61L212 2Q212 1 213 1L226 1Q226 1 227 1Q227 1 227 2L227 49Q227 50 227 50L250 50Q251 50 251 50Q251 50 251 51L251 61Q251 62 251 62Q251 62 250 62L213 62Q212 62 212 61ZM263 61L263 2Q263 1 263 1Q263 1 264 1L276 1Q277 1 277 1Q277 1 277 2L277 61Q277 62 277 62Q277 62 276 62L264 62Q263 62 263 62Q263 62 263 61ZM289 61L304 32Q304 31 304 31L289 2Q289 2 289 1Q289 1 290 1L303 1Q304 1 305 1L312 18L320 1Q320 1 321 1L334 1Q335 1 335 1Q335 1 335 2L321 31Q321 31 321 32L335 61Q335 62 334 62L321 62Q320 62 320 61L312 45Q312 44 312 45L304 61Q304 62 303 62L290 62Q290 62 289 62Q289 62 289 61Z'/%3E%3C/svg%3E");
  --wm-m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 646 63'%3E%3Cpath fill='%23fff' d='M398 1L406 1Q406 1 407 1Q407 1 407 2L407 61Q407 62 407 62Q406 62 406 62L398 62Q397 62 397 62Q397 62 397 61L397 19Q397 19 396 19L387 35Q386 35 386 35L384 35Q383 35 383 35L373 19Q373 19 373 20L373 61Q373 62 373 62Q372 62 372 62L364 62Q363 62 363 62Q363 62 363 61L363 2Q363 1 363 1Q363 1 364 1L372 1Q373 1 373 1L385 20L396 1Q397 1 398 1ZM423 44L423 19Q423 13 425 9Q428 5 432 2Q436 0 442 0Q448 0 453 2Q457 5 459 9Q462 13 462 19L462 44Q462 50 459 54Q457 58 453 61Q448 63 442 63Q436 63 432 61Q428 58 425 54Q423 50 423 44ZM452 44L452 19Q452 14 449 12Q446 9 442 9Q438 9 435 12Q433 14 433 19L433 44Q433 49 435 51Q438 54 442 54Q446 54 449 51Q452 49 452 44ZM490 61L474 2L474 1Q474 1 475 1L484 1Q485 1 485 2L495 46Q495 46 496 46L506 2Q506 1 507 1L516 1Q517 1 517 2L501 61Q501 62 500 62L491 62Q490 62 490 61ZM531 61L531 2Q531 1 531 1Q532 1 532 1L540 1Q541 1 541 1Q541 1 541 2L541 61Q541 62 541 62Q541 62 540 62L532 62Q532 62 531 62Q531 62 531 61ZM594 9L569 9Q569 9 569 10L569 26Q569 27 569 27L585 27Q585 27 586 27Q586 27 586 28L586 35Q585 36 585 36L569 36L569 53L594 53Q594 53 594 54Q595 54 595 54L595 61Q595 62 594 62L560 62Q559 62 559 62Q559 62 559 61L559 2Q559 1 559 1Q559 1 560 1L594 1Q595 1 595 2L595 8Q595 9 594 9ZM608 46L608 44Q608 43 608 43Q608 43 609 43L617 43Q618 43 618 44L618 46Q618 49 620 52Q623 54 627 54Q631 54 634 52Q636 50 636 46Q636 44 635 42Q633 41 631 39Q629 38 624 35Q619 32 616 30Q612 28 610 25Q608 21 608 16Q608 9 613 4Q618 0 626 0Q632 0 636 2Q641 4 643 8Q645 12 645 17L645 19Q645 20 645 20Q645 20 644 20L637 20Q636 20 636 20Q635 20 635 19L635 17Q635 14 633 11Q630 9 626 9Q622 9 620 11Q618 13 618 16Q618 19 619 20Q620 22 623 23Q625 25 630 27Q636 31 639 33Q642 35 644 38Q646 41 646 46Q646 54 641 58Q636 63 627 63Q621 63 617 61Q612 59 610 55Q608 51 608 46Z'/%3E%3C/svg%3E");
  --wm-r: #f5232e;
  --wm-f: #9aa0a6;
}

:root[data-theme="light"] {
  color-scheme: light;
  --bg: #fbfaf8;
  --bg-soft: #f2f1ed;
  --bg-card: #f7f6f3;
  --bg-hover: #eceae5;
  --bg-head: #fff;
  --line: #e2e0d9;
  --line-2: #c5c2b8;
  --field-line: #87837a;
  --ctl-line: #8f8b80;
  --text: #17181b;
  --text-2: #33353a;
  --muted: #5b6069;
  --accent-h: #b60710;
  --accent-text: #c00610;
  --focus: #b60710;
  --err: #b3121b;
  --ok-bg: #e9f4ec;
  --ok-line: #7fb595;
  --bad-bg: #fdeceb;
  --bad-line: #d79a96;
  --pop: #fff;
  --shadow: rgba(32, 28, 22, .14);
  --head-blur-bg: rgba(255, 255, 255, .8);
  --wm-r: #c00610;
  --wm-f: #4a4e55;
}

* { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-padding-top: 81px; }

body {
  margin: 0;
  min-height: 100vh;
  display: grid;
  grid-template-rows: auto 1fr auto;
  grid-template-columns: minmax(0, 1fr);
  background: var(--bg);
  color: var(--text);
  font: 16px/1.55 system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

a { color: var(--text); text-decoration: none; }
a:hover, a:focus { text-decoration: underline; }
:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }

img { max-width: 100%; height: auto; display: block; }

h1, h2, h3 { line-height: 1.2; margin: 0 0 .6em; font-weight: 700; }
h1 { font-size: clamp(1.5rem, 1.1rem + 1.6vw, 2.25rem); }
h2 { font-size: clamp(1.15rem, 1rem + .7vw, 1.45rem); margin-top: 2rem; }

p { margin: 0 0 1em; }

.wrap { width: 100%; max-width: var(--wrap); margin: 0 auto; padding: 0 16px; }
.small { font-size: .875rem; color: var(--muted); }
.lead { max-width: 72ch; margin: 0 0 1.4rem; color: var(--text-2); }
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.skip { position: absolute; left: -9999px; }
.skip:focus { left: 8px; top: 8px; background: var(--accent); color: var(--accent-on); padding: 8px 12px; border-radius: var(--radius); z-index: 20; }

.hd { position: sticky; top: 0; z-index: 30; background: var(--bg-head); border-bottom: 1px solid var(--line); }
@supports ((-webkit-backdrop-filter: blur(2px)) or (backdrop-filter: blur(2px))) {
  .hd { background: var(--head-blur-bg); -webkit-backdrop-filter: blur(14px) saturate(160%); backdrop-filter: blur(14px) saturate(160%); }
}
.hdi { display: flex; align-items: center; gap: 8px; height: 64px; }

.lg { display: flex; align-items: center; gap: 10px; flex: none; }
.lg:hover, .lg:focus { text-decoration: none; }
.lg i { width: 30px; height: 30px; flex: none; background: var(--logo) center/contain no-repeat; }
.lg span { --wm: 16px; position: relative; flex: none; display: block; height: var(--wm); width: calc(var(--wm) * 10.254); }
.lg span::before, .lg span::after { content: ""; position: absolute; inset: 0; }
.lg span::before { background: var(--text); -webkit-mask: var(--wm-n) center/contain no-repeat; mask: var(--wm-n) center/contain no-repeat; }
.lg span::after { background: var(--wm-r); -webkit-mask: var(--wm-m) center/contain no-repeat; mask: var(--wm-m) center/contain no-repeat; }
.lg b { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.nv { display: flex; align-items: center; gap: 2px; margin-left: 14px; min-width: 0; font-size: .95rem; }
.nv > a, .mm > summary {
  display: flex; align-items: center; position: relative; height: 40px; padding: 0 12px;
  border-radius: 8px; color: var(--muted); font-weight: 500; white-space: nowrap; cursor: pointer;
}
.nv > a:hover, .mm > summary:hover { color: var(--text); background: var(--bg-hover); text-decoration: none; }
.nv [aria-current] { color: var(--text); }
.nv [aria-current]::before, .mm[open] > summary::before {
  content: ""; position: absolute; left: 12px; right: 12px; bottom: 5px; height: 2px;
  border-radius: 2px; background: var(--accent);
}
.mm > summary { list-style: none; }
.mm > summary::-webkit-details-marker { display: none; }
.mm > summary::after {
  content: ""; width: 7px; height: 7px; margin: -3px 0 0 8px; opacity: .7;
  border-right: 2px solid; border-bottom: 2px solid; transform: rotate(45deg);
}
.mm[open] > summary { color: var(--text); }
.mm[open] > summary::after { margin-top: 3px; transform: rotate(225deg); }

.mp {
  position: absolute; left: 0; right: 0; top: 100%; z-index: 3;
  padding: 20px max(16px, calc((100% - var(--wrap)) / 2 + 16px)) 24px;
  background: var(--pop); border-bottom: 1px solid var(--line); box-shadow: 0 24px 48px var(--shadow);
  display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 1fr); gap: 0 28px;
}
.mg { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 20px; align-content: start; }
.mb { display: grid; align-content: start; border-left: 1px solid var(--line); padding-left: 24px; }
.mp a { display: block; padding: 7px 8px; margin-left: -8px; border-radius: 6px; color: var(--muted); font-size: .93rem; }
.mp a:hover { color: var(--text); background: var(--bg-hover); text-decoration: none; }
.mb b, .ftn b { display: block; margin-bottom: 6px; font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: var(--text); }

.sf { position: relative; display: flex; align-items: center; flex: 0 1 400px; margin-left: auto; color: var(--muted); }
.sf input {
  width: 100%; height: 40px; padding: 0 14px 0 38px; border-radius: 999px; font: inherit;
  background: var(--bg-soft); border: 1px solid var(--field-line); color: var(--text);
}
.sf input::placeholder, .search-big input::placeholder, .contact-form ::placeholder { color: var(--muted); opacity: 1; }
.sf input:hover { border-color: var(--line-2); }
.sf::before {
  content: ""; position: absolute; left: 13px; top: 50%; margin-top: -8px; width: 16px; height: 16px;
  background: currentColor; -webkit-mask: var(--ico-search) center/contain no-repeat;
  mask: var(--ico-search) center/contain no-repeat; opacity: .85; pointer-events: none;
}
.sg {
  position: absolute; top: calc(100% + 8px); left: 0; right: 0; z-index: 4; padding: 6px;
  max-height: min(64vh, 420px); overflow: auto; background: var(--pop);
  border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 24px 48px var(--shadow);
}
.sg[hidden] { display: none; }
.sg a { display: flex; align-items: center; gap: 8px; min-height: 40px; padding: 9px 10px; border-radius: 8px; font-size: .93rem; }
.sg a span { color: var(--muted); font-size: .85rem; }
.sg a:hover, .sg a.on { background: var(--bg-hover); text-decoration: none; }
@media (pointer: coarse) { .sg a { min-height: 44px; } }

.tb {
  flex: none; width: 40px; height: 40px; padding: 0; display: grid; place-items: center; cursor: pointer;
  background: transparent; border: 1px solid var(--ctl-line); color: var(--text); border-radius: 50%;
}
.tb[hidden] { display: none; }
.tb:hover { background: var(--bg-hover); border-color: var(--line-2); }
.tb i {
  width: 18px; height: 18px; background: currentColor;
  -webkit-mask: var(--ico-sun) center/contain no-repeat; mask: var(--ico-sun) center/contain no-repeat;
}
.tb i + i { display: none; -webkit-mask-image: var(--ico-moon); mask-image: var(--ico-moon); }
:root[data-theme="light"] .tb i { display: none; }
:root[data-theme="light"] .tb i + i { display: block; }

.hb, .hq { display: none; }
.hb > summary, .hq > summary {
  position: relative; display: grid; place-items: center; width: 44px; height: 44px;
  border-radius: 50%; color: var(--text); list-style: none; cursor: pointer;
}
.hb > summary::-webkit-details-marker, .hq > summary::-webkit-details-marker { display: none; }
.hb > summary:hover, .hq > summary:hover, .hb[open] > summary, .hq[open] > summary { background: var(--bg-hover); }
.hq > summary::before {
  content: ""; width: 20px; height: 20px; background: currentColor;
  -webkit-mask: var(--ico-search) center/contain no-repeat; mask: var(--ico-search) center/contain no-repeat;
}
.hq[open] > summary::before { -webkit-mask-image: var(--ico-close); mask-image: var(--ico-close); }
.hb > summary::before {
  content: ""; width: 19px; height: 2px; border-radius: 2px; background: currentColor;
  box-shadow: 0 -6px currentColor, 0 6px currentColor;
}
.hb[open] > summary::before { box-shadow: none; transform: rotate(45deg); }
.hb[open] > summary::after {
  content: ""; position: absolute; width: 19px; height: 2px; border-radius: 2px;
  background: currentColor; transform: rotate(-45deg);
}

.cr { font-size: .85rem; }
.cr ol { display: flex; align-items: center; list-style: none; margin: 0 auto; padding-top: 12px; padding-bottom: 2px; }
.cr li { display: flex; align-items: center; min-height: 24px; min-width: 0; }
.cr li + li::before {
  content: ""; flex: none; width: 6px; height: 6px; margin: 0 9px; opacity: .8;
  border-right: 1.5px solid var(--muted); border-top: 1.5px solid var(--muted); transform: rotate(45deg);
}
.cr a, .cr span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cr a { color: var(--muted); }
.cr a:hover { color: var(--text); }
.cr li:last-child { flex: 1 1 auto; }

.contact-form button, .btn {
  background: var(--bg-card); border: 1px solid var(--ctl-line); color: var(--text);
  padding: 8px 14px; border-radius: var(--radius); font: inherit; cursor: pointer;
}
.contact-form button:hover, .btn:hover { background: var(--bg-hover); }
.search-big { display: flex; gap: 8px; margin: 1.5rem 0; max-width: 30rem; }
.search-big input {
  flex: 1; min-width: 0; background: var(--bg-soft); border: 1px solid var(--field-line);
  color: var(--text); padding: 10px 16px; border-radius: 999px; font: inherit;
}
.search-big button {
  background: var(--accent); border: 1px solid var(--accent); color: var(--accent-on);
  padding: 8px 18px; border-radius: 999px; font: inherit; font-weight: 600; cursor: pointer;
}
.search-big button:hover { background: var(--accent-h); }

.hero { background: var(--bg-soft) center/cover no-repeat; border-bottom: 1px solid var(--line); }
.lede { font-size: 1.1rem; color: var(--muted); max-width: 46ch; }
.watch { display: flex; flex-wrap: wrap; gap: 10px; }
.btn { display: inline-block; }
.btn-netflix { background: var(--accent); border-color: var(--accent); color: var(--accent-on); font-weight: 600; }
.btn-netflix:hover { background: var(--accent-h); }

.cols { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 32px; padding-block: 28px; align-items: start; }
.cols.onecol { grid-template-columns: minmax(0, 1fr); }
.col-main { min-width: 0; }
.col-side { position: sticky; top: 76px; display: grid; gap: 20px; }

.grid {
  list-style: none; margin: 0 0 1.5rem; padding: 0;
  display: grid; gap: 18px;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}
.card { content-visibility: auto; contain-intrinsic-size: auto 300px; }
.card a { display: block; }
.card picture img, .card .noimg {
  width: 100%; height: auto; aspect-ratio: 2 / 3; object-fit: cover;
  border-radius: var(--radius); background: var(--bg-card); display: block;
}
.card-title { display: block; margin-top: 8px; font-size: .92rem; font-weight: 600; overflow-wrap: break-word; }
.card-meta { display: block; font-size: .8rem; color: var(--muted); overflow-wrap: break-word; }
.people-h { margin: 28px 0 10px; font-size: 1.2rem; }
.people { list-style: none; margin: 0 0 24px; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 8px; }
.people a { display: flex; align-items: center; gap: 12px; padding: 8px; border: 1px solid var(--line); border-radius: 10px; color: var(--text); }
.people a:hover { background: var(--bg-hover); text-decoration: none; }
.people .avatar { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; flex: none; }
.people .noimg { width: 48px; height: 48px; border-radius: 50%; flex: none; background: var(--bg-card); }
.people b { display: block; font-size: .95rem; }
.people small { color: var(--muted); font-size: .8rem; }

.tiles { list-style: none; margin: 0 0 1.5rem; padding: 0; display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); }
.tiles a, .tiles-plain li {
  display: block; padding: 14px 16px; background: var(--bg-card);
  border: 1px solid var(--ctl-line); border-radius: var(--radius);
}
.tiles b { display: block; }
.tiles span { display: block; font-size: .82rem; color: var(--muted); }
.tiles a:hover { border-color: var(--line-2); text-decoration: none; }

.bc { list-style: none; margin: 0 0 1.5rem; padding: 0; display: grid; gap: 22px 16px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bc a { display: block; }
.bc img, .bc .noimg { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--radius); background: var(--bg-card); display: block; }
.bc b { display: block; margin-top: 9px; font-size: 1rem; line-height: 1.35; }
.bc em { display: block; margin-top: 7px; font-weight: 700; font-size: .72rem; line-height: 1.3; letter-spacing: .04em; text-transform: uppercase; color: var(--accent-text); }
.bc span { display: block; margin-top: 5px; font-size: .88rem; color: var(--muted); }
.bc time { display: block; margin-top: 5px; font-size: .8rem; color: var(--muted); }
.bp { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.thumbs { list-style: none; margin: 0 0 1.5rem; padding: 0; display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
.thumbs img, .thumbs .noimg { border-radius: var(--radius); aspect-ratio: 16 / 9; object-fit: cover; width: 100%; background: var(--bg-card); display: block; }

.avatar { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; background: var(--bg-card); display: block; }
.avatar-lg { width: 96px; height: 96px; }
.person-head { display: flex; gap: 18px; align-items: center; margin: 0 0 20px; }

.prose { max-width: 72ch; margin-inline: 0 auto; padding-block: 24px; overflow-wrap: break-word; }
.prose-legal { max-width: 80ch; font-size: .95rem; color: var(--text-2); }
.prose h2 { margin-top: 1.8rem; }
.prose .dvup { margin: -.35rem 0 1.2rem; font-size: .9rem; color: var(--muted); }
.prose .dvfig { margin: .9rem 0 1.1rem; }
.prose .dvfig img {
  display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover;
  border-radius: var(--radius); background: var(--bg-card);
}
.prose .dvfaq { margin-top: 2.2rem; }
.prose .dvfaq h3 { margin: 1.5rem 0 .4rem; font-size: 1.03rem; }
.prose a { color: var(--accent-text); }
.prose blockquote { margin: 0 0 1em; padding-left: 16px; border-left: 3px solid var(--line); color: var(--text-2); }
.prose iframe, .prose table, .prose pre, .prose video { max-width: 100%; }
.prose iframe[src*="youtube"] { width: 100%; height: auto; aspect-ratio: 16 / 9; }
.prose [style]:not(.adsbygoogle) {
  background-color: transparent !important; color: inherit !important;
  font-family: inherit !important; font-size: inherit !important;
}
.prose a[href][style] { color: var(--accent-text) !important; }

.tp { padding-block: 24px 40px; }
.person-head h1 { margin-bottom: .2em; }
.pc { margin: 0; font-size: 1.05rem; color: var(--text-2); }
.pc .hln { color: var(--accent-text); font-weight: 700; }
.bio { padding-block: 0; }
@media (min-width: 1024px) {
  .pp { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 40px; align-items: start; }
  .pp-side h2 { margin-top: .3rem; }
  .pp-side .thumbs { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 0; }
}
.bio-h { display: flex; align-items: baseline; gap: 12px; margin-top: .4rem; }
.bio-h h2 { margin-top: 0; }
.bio-h a { color: var(--muted); }
.bio-h a:hover { color: var(--text); }
.bio p { position: relative; }
.bio.is-cut p { overflow: hidden; cursor: pointer; }
.bio.is-cut p::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3.4em; background: linear-gradient(180deg, rgba(0, 0, 0, 0), var(--bg) 88%); pointer-events: none; }
.bio.is-cut p { margin-bottom: 0; }
.bio-x { display: flex; align-items: center; gap: 6px; position: relative; z-index: 1; margin: -30px auto 0; padding: 6px 16px 6px 18px; border: 1px solid var(--ctl-line); border-radius: 999px; background: var(--bg-card); color: var(--accent-text); font-family: inherit; font-size: .9rem; font-weight: 600; line-height: 1.2; cursor: pointer; box-shadow: 0 2px 10px rgba(0, 0, 0, .18); }
.bio-x span { display: inline-block; font-size: 1.25em; line-height: 1; transform: rotate(90deg); }
.bio-x:hover { background: var(--bg-hover); }
.tp .prose { padding-block: 0; }
.tp.onecol .prose { margin-inline: auto; }
.rl { gap: 16px; font-size: .92rem; }
.rlc { padding: 12px 16px; background: var(--bg-card); border: 1px solid var(--ctl-line); border-radius: var(--radius); }
.rlc h2 { margin: 0 0 8px; font-size: 1rem; }
.rlc h3 { margin: 12px 0 5px; font-weight: 700; font-size: .78rem; line-height: 1.3; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); }
.rlc h2 + h3 { margin-top: 0; }
.rlc ul { list-style: none; margin: 0; padding: 0; }
.rlc p { margin: 0; color: var(--text-2); }
.rlx { columns: 2; column-gap: 16px; }
.rlx li { break-inside: avoid; }
.rlx a { display: block; padding: 3px 0; }
.rlm a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; align-items: baseline; padding: 3px 0; }
.rlm b { overflow: hidden; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.rlm time { font-size: .8rem; color: var(--muted); white-space: nowrap; }
.rlp { display: grid; gap: 12px 10px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rlp img, .rlp .noimg { width: 100%; height: auto; aspect-ratio: 2 / 3; object-fit: cover; border-radius: 5px; background: var(--bg); }
.rlp span {
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2;
  overflow: hidden; margin-top: 5px; font-size: .78rem; line-height: 1.3;
}
@media (min-width: 1024px) {
  .rl {
    max-height: calc(100vh - 92px); overflow: auto;
    scrollbar-width: thin; scrollbar-color: var(--line-2) transparent;
  }
}
@media (max-width: 1023px) {
  .tp { grid-template-columns: minmax(0, 1fr); }
  .tp .col-side { position: static; max-width: 660px; }
  .rlx { columns: 3; }
  .rlp { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}
@media (max-width: 619px) {
  .rlx { columns: 2; }
  .rlp { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .rlc h2 a, .rlc h3 a { display: inline-block; padding-block: 5px; }
}

.pager { display: flex; gap: 8px; align-items: center; justify-content: center; margin: 2rem 0; flex-wrap: wrap; }
.pager a, .pager .pg-cur {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  padding: 8px 12px; border: 1px solid var(--ctl-line); border-radius: var(--radius);
  background: var(--bg-card); line-height: 1.2;
}
.pager a:hover { background: var(--bg-hover); border-color: var(--line-2); text-decoration: none; }
.pager .pg-n { min-width: 1.4rem; text-align: center; font-variant-numeric: tabular-nums; }
.pager .pg-cur { background: var(--accent); border-color: var(--accent); color: var(--accent-on); font-weight: 600; }
.pager .pg-gap { color: var(--muted); }
.pager .pg-tight { display: none; }
@media (pointer: coarse) { .pager a, .pager .pg-cur { min-height: 44px; } }
@media (max-width: 619px) {
  .pager { gap: 6px; }
  .pager a, .pager .pg-cur { padding: 8px 10px; }
  .pager .pg-end, .pager .pg-far, .pager .pg-c span { display: none; }
  .pager .pg-tight { display: inline; }
}

.contact-form { max-width: 34rem; }
.contact-form label { display: block; font-size: .85rem; color: var(--muted); margin-bottom: 4px; }
.contact-form input, .contact-form textarea {
  width: 100%; background: var(--bg-soft); border: 1px solid var(--field-line);
  color: var(--text); padding: 10px 12px; border-radius: var(--radius); font: inherit;
}
.hp { position: absolute; left: -9999px; height: 0; overflow: hidden; }
.contact-form .cf-turnstile { margin: 0 0 1rem; min-height: 65px; }
.field-error { display: block; color: var(--err); font-size: .85rem; margin-top: 4px; }
.notice { padding: 12px 16px; border-radius: var(--radius); border: 1px solid var(--line); }
.notice-ok { background: var(--ok-bg); border-color: var(--ok-line); }
.notice-bad { background: var(--bad-bg); border-color: var(--bad-line); }

.ad { margin: 2rem 0; text-align: center; min-height: 90px; overflow: hidden; }
.ad-box { min-height: 250px; margin: 0; }
.ad, .ad ins, .ad iframe { color-scheme: light; }
.ad ins, .ad iframe { max-width: 100%; }
.ad-unit { display: inline-block; }
.ad-unit-leader { width: 728px; height: 90px; }
.ad-unit-box { width: 300px; height: 250px; }

.lightbox {
  color-scheme: dark;
  --text: #f2f3f5;
  --muted: #b3b8c4;
  --line-2: #3a4152;
  --focus: #fff;
  --lb-veil: rgba(5, 6, 8, .93);
  position: fixed; inset: 0; background: var(--lb-veil); z-index: 50;
  display: grid; place-items: center; padding: 24px;
  color: var(--text);
}
.lightbox[hidden] { display: none; }
.lightbox img { max-width: 100%; max-height: 82vh; border-radius: var(--radius); }
.lightbox, .lightbox img { cursor: zoom-out; }
.lb-cap { color: var(--muted); font-size: .9rem; margin-top: 12px; text-align: center; }
.lb-close {
  position: absolute; top: 12px; right: 16px; font-size: 2rem; line-height: 1;
  background: none; border: 0; color: var(--text); cursor: pointer;
}

.prose-err .code { margin: 0 0 6px; font-weight: 800; font-size: 3rem; line-height: 1.1; color: var(--accent-text); }

.ft { border-top: 1px solid var(--line); margin-top: 3rem; padding: 34px 0 40px; background: var(--bg-head); }
.ftc { display: grid; grid-template-columns: 1.7fr 1fr 1fr 1fr; gap: 26px 28px; padding-bottom: 26px; }
.ftb .lg { filter: grayscale(1); }
.ftb .lg span::after { background: var(--wm-f); }
.ftb .lg span { --wm: 17px; }
.ftb p { margin: 12px 0 0; max-width: 36ch; }
.ftb .so { display: flex; align-items: center; gap: 8px; margin-top: 14px; color: var(--muted); font-size: .92rem; }
.ftb .so + .so { margin-top: 8px; }
.ftb .so::before { content: ""; width: 1em; height: 1em; background: currentColor; -webkit-mask: var(--ico-x) center/contain no-repeat; mask: var(--ico-x) center/contain no-repeat; }
.ftb .so:hover { color: var(--text); }
.ftb .so-in::before { -webkit-mask-image: var(--ico-in); mask-image: var(--ico-in); }
.ftb .so-out::before { -webkit-mask-image: var(--ico-out); mask-image: var(--ico-out); }
.ftn { display: grid; align-content: start; }
.ftn a, .ftz a { color: var(--muted); font-size: .92rem; padding: 5px 0; }
.ftn a.rs::before {
  content: ""; display: inline-block; width: .8em; height: .8em; margin-right: 7px;
  vertical-align: -1px; background: currentColor;
  -webkit-mask: var(--ico-rss) center/contain no-repeat; mask: var(--ico-rss) center/contain no-repeat;
}
.ftn a:hover, .ftz a:hover { color: var(--text); }
.ftl { border-top: 1px solid var(--line); padding-top: 22px; }
.ftl p { max-width: 80ch; }
.ftl > p { opacity: .66; }
.ftz { display: flex; flex-wrap: wrap; gap: 8px 20px; align-items: baseline; justify-content: space-between; }
.ftz p { margin: 0; }

@media (max-width: 1023px) and (min-width: 620px) {
  .nv { margin-left: 6px; gap: 0; font-size: .92rem; }
  .nv > a, .mm > summary { padding: 0 10px; }
  .nv > a:nth-child(n+4) { display: none; }
  .sf { flex-basis: 250px; }
}
@media (max-width: 860px) and (min-width: 620px) {
  .lg span { --wm: 15px; }
  .sf { flex-basis: 170px; }
}
@media (max-width: 900px) {
  .cols { grid-template-columns: minmax(0, 1fr); }
  .col-side { position: static; }
}
@media (max-width: 760px) {
  .ftc { grid-template-columns: 1fr 1fr; }
  .ad-unit-leader { width: 320px; height: 100px; }
}
@media (max-width: 619px) {
  html { scroll-padding-top: 73px; }
  .hdi { height: 56px; gap: 2px; }
  .lg { order: 1; margin-right: auto; }
  .lg i { width: 28px; height: 28px; }
  .lg span { --wm: 14px; }
  .hq { display: block; order: 2; }
  .tb { order: 3; width: 44px; height: 44px; border: 0; }
  .hb { display: block; order: 4; }
  .nv { display: none; order: 5; }
  .sf { display: none; order: 6; }
  .hb[open] ~ .nv, .hq[open] ~ .sf {
    position: absolute; left: 0; right: 0; top: 100%; margin: 0;
    background: var(--pop); border-bottom: 1px solid var(--line); box-shadow: 0 24px 48px var(--shadow);
  }
  .hb[open] ~ .nv { display: block; z-index: 3; padding: 6px 16px 16px; max-height: calc(100vh - 56px); overflow: auto; }
  .hq[open] ~ .sf { display: flex; z-index: 4; padding: 10px 16px 12px; }
  .sf::before { left: 29px; }
  .sg { left: 16px; right: 16px; }
  .nv > a, .mm > summary { height: 48px; padding: 0 8px; font-size: 1rem; }
  .nv > a { color: var(--text); }
  .nv [aria-current]::before, .mm[open] > summary::before { left: 0; right: auto; top: 12px; bottom: 12px; width: 3px; height: auto; }
  .mm > summary { justify-content: space-between; color: var(--text); }
  .mm > summary::after { margin-right: 6px; }
  .mp { position: static; display: block; padding: 2px 0 10px; background: none; border: 0; box-shadow: none; }
  .mg { grid-template-columns: 1fr 1fr; }
  .mb { border: 0; border-top: 1px solid var(--line); margin-top: 8px; padding: 10px 0 0; }
  .mp a { margin-left: 0; padding: 9px 8px; font-size: .95rem; }
  .cr { font-size: .82rem; }
  .cr ol { padding-top: 10px; }
  .cr li + li::before { margin: 0 7px; }
  .cr li:not(:last-child) { flex: none; }
  .ftc { grid-template-columns: 1fr; gap: 20px; }
}
@media (max-width: 380px) {
  .lg { gap: 7px; }
  .lg i { width: 26px; height: 26px; }
  .lg span { --wm: 12px; }
  .hdi { gap: 0; }
}

.home .hdi { position: relative; }
@media (min-width: 620px) {
  .home .hq { display: block; order: 1; margin-left: auto; }
  .home .tb { order: 2; }
  .home .sf { display: none; }
  .home .hq[open] ~ .nv { visibility: hidden; }
  .home .hq[open] ~ .sf {
    display: flex; position: absolute; z-index: 4; top: 50%; right: 116px; margin: 0;
    width: min(400px, calc(100% - 300px)); transform: translateY(-50%);
  }
}

.home .hero {
  --hv: 11, 12, 15;
  position: relative; isolation: isolate;
  display: grid; align-content: center; min-height: 430px;
  background: rgb(var(--hv)); color: #f5f6f8;
}
.home .hbg {
  position: absolute; inset: 0; z-index: -2; overflow: hidden;
  pointer-events: none; user-select: none; -webkit-user-select: none;
}
.home .hbg picture { position: absolute; inset: 0; opacity: 0; z-index: 0; transition: opacity 1.5s ease-in-out; }
.home .hbg picture.is-on { opacity: 1; z-index: 2; }
.home .hbg picture.was { opacity: 1; z-index: 1; transition: none; }
.home .hbg img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 34%; -webkit-user-drag: none; }
.home .hbg img, .md-bg img { transform: scale(1.08) translateY(2.4%); }
.home .hbg picture.is-on img, .home .hbg picture.was img, .md-bg picture.is-on img, .md-bg picture.was img { animation: hdrift 10s ease-in-out infinite alternate; }
@keyframes hdrift { from { transform: scale(1.08) translateY(2.4%); } to { transform: scale(1.08) translateY(-2.4%); } }
.md-bg picture { z-index: 0; }
.md-bg picture.is-on { opacity: 1; z-index: 2; }
.md-bg picture.was { opacity: 1; z-index: 1; transition: none; }
.md-stars { display: block; width: max-content; }
.home .hsc {
  position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background:
    linear-gradient(180deg, rgba(var(--hv), .86) 0%, rgba(var(--hv), .3) 30%, rgba(var(--hv), .36) 70%, rgb(var(--hv)) 100%),
    radial-gradient(112% 84% at 50% 46%, rgba(var(--hv), .38) 0%, rgba(var(--hv), .2) 58%, rgba(var(--hv), .05) 100%);
}
.home .hw { position: relative; min-width: 0; padding: 3.4rem 16px 3rem; text-align: center; }
.home .hw h1 { font-size: clamp(1.75rem, 1.1rem + 2.5vw, 2.9rem); letter-spacing: -.025em; margin-bottom: .4em; text-shadow: 0 2px 16px rgba(0, 0, 0, .45); }
.home .hw h1 .nm {
  position: relative; z-index: 0; white-space: nowrap;
  --brush: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 572 26' preserveAspectRatio='none'%3E%3Cpath fill-rule='evenodd' d='M55.3 10.5C60.1 9.8 74.5 7.5 84.1 6.5C93.7 5.5 103.3 5 112.9 4.6C122.6 4.3 132.2 4.4 141.8 4.4C151.4 4.4 161 4.7 170.6 4.6C180.2 4.6 189.9 4.3 199.5 4.2C209.1 4.2 218.7 4.1 228.3 4.2C237.9 4.3 247.5 4.5 257.2 4.7C266.8 4.9 276.4 5 286 5.4C295.6 5.8 305.2 6.9 314.8 6.9C324.5 6.9 334.1 5.8 343.7 5.7C353.3 5.5 362.9 5.7 372.5 5.8C382.1 6 391.8 6.5 401.4 6.8C411 7.1 420.6 7.3 430.2 7.6C439.8 7.9 449.4 8.3 459.1 8.6C468.7 9 478.3 8.8 487.9 9.5C497.5 10.2 511.9 12.3 516.7 12.8C519.7 13.4 519.5 15.7 516.7 16.7C511.9 16.8 497.5 17.7 487.9 17.7C478.3 17.7 468.7 17 459.1 16.6C449.4 16.3 439.8 15.8 430.2 15.4C420.6 15 411 14.4 401.4 14.3C391.8 14.3 382.1 15.1 372.5 15.2C362.9 15.3 353.3 14.9 343.7 14.9C334.1 14.8 324.5 14.9 314.8 14.8C305.2 14.8 295.6 14.8 286 14.6C276.4 14.3 266.8 13.1 257.2 13.1C247.5 13.1 237.9 14.2 228.3 14.6C218.7 15 209.1 15.4 199.5 15.6C189.9 15.8 180.2 15.8 170.6 15.8C161 15.8 151.4 15.5 141.8 15.7C132.2 15.9 122.6 16.8 112.9 17C103.3 17.2 93.7 17.3 84.1 17C74.5 16.8 60.1 15.7 55.3 15.4C52.5 14.8 52.3 11.5 55.3 10.5ZM174.8 9.9C180.1 9.8 195.8 9.1 206.3 8.9C216.8 8.7 227.3 8.6 237.8 8.7C248.3 8.7 264.1 9.2 269.3 9.3L269.3 9.3C264.1 9.4 248.3 9.8 237.8 10C227.3 10.1 216.8 10.2 206.3 10.2C195.8 10.2 180.1 10 174.8 9.9ZM319.4 11C324.9 11 341.6 10.8 352.7 10.9C363.8 11 375 11.2 386.1 11.6C397.2 11.9 413.9 12.7 419.4 13L419.4 13C413.9 12.9 397.2 12.9 386.1 12.7C375 12.6 363.8 12.3 352.7 12.1C341.6 11.8 324.9 11.2 319.4 11ZM441.7 14.5C444.6 14.5 453.4 14.5 459.3 14.6C465.2 14.8 471 15 476.9 15.2C482.8 15.5 491.6 16.1 494.5 16.2L494.5 16.2C491.6 16.2 482.8 16.2 476.9 16C471 15.9 465.2 15.7 459.3 15.5C453.4 15.2 444.6 14.7 441.7 14.5ZM94.2 9.6C96.7 9.5 104.1 9.1 109 8.9C113.9 8.7 118.9 8.6 123.8 8.5C128.8 8.5 136.2 8.6 138.7 8.6L138.7 8.6C136.2 8.7 128.8 9.1 123.8 9.3C118.9 9.4 113.9 9.6 109 9.6C104.1 9.7 96.7 9.6 94.2 9.6Z'/%3E%3Cpath d='M119.2 9.1C112.5 9.2 92.4 9.3 79.1 9.5C65.7 9.6 52.3 9.9 38.9 10.1C25.5 10.3 5.5 10.7 -1.2 10.8L-1.2 10.8C5.5 10.8 25.5 11 38.9 11C52.3 11.1 65.7 11.1 79.1 11.2C92.4 11.2 112.5 11.2 119.2 11.2ZM110.9 10.6C105.1 10.8 88 11.3 76.6 11.7C65.1 12.1 53.7 12.5 42.3 13C30.8 13.4 13.7 14.1 7.9 14.4L7.9 14.4C13.7 14.3 30.8 14 42.3 13.7C53.7 13.5 65.1 13.3 76.6 13.1C88 12.8 105.1 12.5 110.9 12.3ZM97 12.1C92.8 12.3 80.5 13.1 72.2 13.6C63.9 14.1 55.7 14.6 47.4 15.2C39.2 15.8 26.8 16.6 22.7 16.9L22.7 16.9C26.8 16.7 39.2 16.2 47.4 15.8C55.7 15.4 63.9 15 72.2 14.6C80.5 14.2 92.8 13.5 97 13.3ZM466.7 11.1C472.5 11.3 489.9 11.5 501.5 11.8C513.2 12 524.8 12.4 536.4 12.7C548 13 565.4 13.4 571.2 13.6L571.2 13.6C565.4 13.6 548 13.6 536.4 13.6C524.8 13.6 513.2 13.5 501.5 13.5C489.9 13.4 472.5 13.3 466.7 13.2ZM472.3 12.7C477.3 12.9 492.6 13.6 502.7 14C512.9 14.5 523.1 15.1 533.2 15.6C543.4 16.2 558.6 17 563.7 17.3L563.7 17.3C558.6 17.1 543.4 16.7 533.2 16.4C523.1 16.1 512.9 15.8 502.7 15.4C492.6 15.1 477.3 14.5 472.3 14.4ZM480.6 14C484.7 14.3 497.1 15.1 505.3 15.7C513.5 16.4 521.7 17 530 17.7C538.2 18.3 550.5 19.4 554.7 19.7L554.7 19.7C550.5 19.4 538.2 18.7 530 18.2C521.7 17.8 513.5 17.3 505.3 16.8C497.1 16.2 484.7 15.5 480.6 15.2Z'/%3E%3Cpath opacity='.38' d='M74.7 16.5C79.5 16.6 94 17.2 103.6 17.1C113.3 16.9 122.9 15.9 132.5 15.7C142.2 15.4 151.8 15.7 161.5 15.7C171.1 15.6 180.7 15.6 190.4 15.5C200 15.4 214.5 15 219.3 14.9L219.3 16.2C214.5 16.3 200 16.7 190.4 16.8C180.7 16.9 171.1 16.9 161.5 17C151.8 17 142.2 16.7 132.5 17C122.9 17.2 113.3 18.2 103.6 18.4C94 18.5 79.5 17.9 74.7 17.8ZM269.3 13.5C273.2 13.7 284.9 14.3 292.7 14.5C300.5 14.7 308.2 14.6 316 14.6C323.8 14.6 331.6 14.6 339.4 14.6C347.2 14.7 354.9 14.9 362.7 14.9C370.5 14.9 382.2 14.8 386.1 14.7L386.1 15.8C382.2 15.9 370.5 16 362.7 16C354.9 16 347.2 15.8 339.4 15.7C331.6 15.7 323.8 15.7 316 15.7C308.2 15.7 300.5 15.8 292.7 15.6C284.9 15.4 273.2 14.8 269.3 14.6ZM358.3 5.5C365.4 5.6 386.7 5.7 400.9 5.9C415.1 6.2 429.3 6.6 443.5 7.1C457.7 7.6 479.1 8.8 486.2 9.1L486.2 9.1C479.1 8.9 457.7 8.5 443.5 8.2C429.3 7.9 415.1 7.5 400.9 7C386.7 6.6 365.4 5.8 358.3 5.5ZM562 18C564.4 17.2 567.6 17.4 570 17.8C567.6 18.5 564.4 18.6 562 18ZM2 13C4.1 12.2 6.9 12.4 9 12.8C6.9 13.4 4.1 13.5 2 13Z'/%3E%3C/svg%3E");
}
.home .hw h1 .nm::after {
  content: ""; position: absolute; z-index: -1;
  left: -.12em; right: -.12em; bottom: -.22em; height: .4em;
  background: var(--accent);
  -webkit-mask: var(--brush) no-repeat 50% 50% / 100% 100%;
  mask: var(--brush) no-repeat 50% 50% / 100% 100%;
}
.home .hw h1 .nm b { color: var(--accent); font-weight: inherit; }
.home .lede { margin: 0 auto 1.5rem; max-width: 56ch; font-size: 1.05rem; color: #eaecf1; text-shadow: 0 1px 12px rgba(0, 0, 0, .45); }
.home .lede .hln { color: var(--accent); font-weight: 700; }
.home .hsf { position: relative; display: flex; gap: 10px; max-width: 620px; margin: 0 auto 1.1rem; }
.home .hsf input {
  flex: 1; min-width: 0; height: 52px; padding: 0 20px; border-radius: 999px; font: inherit;
  background: rgba(var(--hv), .9); border: 1px solid rgba(255, 255, 255, .5); color: #f5f6f8;
}
.home .hsf input::placeholder { color: #c3c9d4; opacity: 1; }
.home .hsf input:hover { border-color: rgba(255, 255, 255, .8); }
.home .hsf button {
  flex: none; height: 52px; padding: 0 26px; border-radius: 999px; font: inherit; font-weight: 600;
  background: var(--accent); border: 1px solid var(--accent); color: #fff; cursor: pointer;
}
.home .hsf button:hover { background: var(--accent-h); }
.home .hql { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 0; }
.home .hql a {
  padding: 7px 16px; border-radius: 999px; font-size: .9rem; font-weight: 500;
  background: rgba(var(--hv), .72); border: 1px solid rgba(255, 255, 255, .42); color: #f5f6f8;
}
.home .hql a:hover { background: rgba(var(--hv), .92); border-color: #fff; text-decoration: none; }
.home .hhc { position: absolute; right: max(16px, calc((100% - var(--wrap)) / 2 + 16px)); bottom: 12px; margin: 0; }
.home .hhc a {
  position: absolute; right: 0; bottom: 0; visibility: hidden; opacity: 0; white-space: nowrap;
  padding: 4px 12px; border-radius: 999px; font-size: .78rem; letter-spacing: .01em;
  background: rgba(var(--hv), .72); border: 1px solid rgba(255, 255, 255, .3); color: #eaecf1;
  transition: opacity 1.6s ease-in-out;
}
.home .hhc a.is-on { visibility: visible; opacity: 1; }
.home .hhc a:hover { background: rgb(var(--hv)); border-color: #fff; color: #fff; text-decoration: none; }

.home .intro { max-width: 80ch; margin: 3rem auto 1rem; padding-top: 1.6rem; border-top: 1px solid var(--line); color: var(--text-2); font-size: .95rem; text-align: center; }
.home .hs { padding-top: 2.5rem; }
.home .hh {
  display: flex; align-items: baseline; justify-content: space-between; gap: 16px;
  padding-bottom: 10px; margin-bottom: 14px; border-bottom: 1px solid var(--line);
}
.home .hh h2 { margin: 0; font-size: clamp(1.2rem, 1rem + .7vw, 1.55rem); letter-spacing: -.015em; }
.home .more { flex: none; display: inline-flex; align-items: center; gap: 7px; font-size: .88rem; font-weight: 600; color: var(--accent-text); }
.home .more::after { content: ""; width: 6px; height: 6px; border-right: 2px solid; border-top: 2px solid; transform: rotate(45deg); }
.home .hc { margin-bottom: 1.3rem; color: var(--muted); font-size: .95rem; }
.home .intro a, .home .hc a { color: var(--accent-text); }

.home .row { list-style: none; margin: 0; padding: 0; display: grid; gap: 20px 16px; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.home .row .card-title { line-height: 1.3; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }

.home .gen { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; grid-template-columns: repeat(6, minmax(0, 1fr)); }
.home .gen a {
  display: flex; align-items: baseline; justify-content: space-between; gap: 8px; padding: 11px 14px;
  background: var(--bg-card); border: 1px solid var(--ctl-line); border-radius: var(--radius);
}
.home .gen b { font-size: .93rem; font-weight: 600; }
.home .gen span { flex: none; font-size: .8rem; color: var(--muted); }
.home .gen a:hover { background: var(--bg-hover); border-color: var(--line-2); text-decoration: none; }

.home .dev { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: 1fr; }
.home .dev a {
  display: grid; grid-template-rows: auto minmax(0, 1fr); height: 100%; overflow: hidden;
  background: var(--bg-card); border: 1px solid var(--ctl-line); border-radius: var(--radius);
}
.home .dev img {
  display: block; width: 100%; height: auto; aspect-ratio: 12 / 5; object-fit: cover;
  background: var(--bg); transition: opacity .18s ease;
}
.home .dev span { display: flex; align-items: center; justify-content: center; padding: 11px 12px; font-size: .95rem; font-weight: 600; text-align: center; }
.home .dev a:hover { background: var(--bg-hover); border-color: var(--line-2); text-decoration: none; }
.home .dev a:hover img { opacity: .8; }

.home .bc { margin: 0; }
.hmu { font-weight: 400; font-size: .8rem; line-height: 1.4; color: var(--muted); }
.hm {
  --hmv: 11, 12, 15;
  --hmk-bg: #14161c;
  --hmk-line: #2b303c;
  --hmk-line-2: #434a5c;
  --hmk-text: #f2f3f5;
  --hmk-muted: #b3b8c4;
  --hmk-in: #5fe39b;
  --hmk-in-deep: #1f5136;
  --hmk-out: #ff6a72;
  --hmk-out-deep: #5c2126;
}
.hmg + .hmg { margin-top: 24px; }
:root[data-theme="light"] .hm {
  --hmv: 251, 250, 248;
  --hmk-bg: #fff; --hmk-line: #dcd9d1; --hmk-line-2: #b9b5aa;
  --hmk-text: #17181b; --hmk-muted: #5b6069;
  --hmk-in: #1e7d4a; --hmk-in-deep: #d6f0df;
  --hmk-out: #b3121b; --hmk-out-deep: #fadedf;
}
:root[data-theme="light"] .hmkb img { opacity: .38; filter: saturate(.85); }
:root[data-theme="light"] .hmk > a:hover .hmkb img { opacity: .5; }
:root[data-theme="light"] .hmkp { box-shadow: 0 3px 10px rgba(32, 28, 22, .25); }
:root[data-theme="light"] .hmkc { background: rgba(255, 255, 255, .78); }
:root[data-theme="light"] .hmg-coming .hmkc.is-now { background: var(--hmk-in-deep); border-color: var(--hmk-in); color: #145a35; }
:root[data-theme="light"] .hmg-leaving .hmkc.is-now { background: var(--hmk-out-deep); border-color: var(--hmk-out); color: #8f0d15; }
.hmsee { display: none; }
.home .hh.hmh { border-bottom: 0; padding-bottom: 0; }
.hmh h2 { display: flex; align-items: center; gap: 10px; }
.hmh h2 a { color: inherit; text-decoration: none; }
.hmh h2::before { content: ""; width: .9em; height: .9em; flex: none; -webkit-mask: var(--ico-spark) center/contain no-repeat; mask: var(--ico-spark) center/contain no-repeat; }
.hmg-coming .hmh h2::before { background: var(--hmk-in); }
.hmg-leaving .hmh h2::before { background: var(--hmk-out); -webkit-mask-image: var(--ico-hourglass); mask-image: var(--ico-hourglass); }
.hml {
  list-style: none; margin: 0; padding: 0;
  display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(min(320px, 100%), 1fr));
}
.hmk > a {
  position: relative; isolation: isolate; overflow: hidden;
  display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; align-items: center; gap: 12px;
  height: 100%; min-height: 104px; padding: 12px;
  background: var(--hmk-bg); border: 1px solid var(--hmk-line); border-radius: var(--radius);
  color: var(--hmk-text);
  transition: transform .18s ease, border-color .18s ease;
}
.hmk > a::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; z-index: 1; width: 3px; opacity: .55; }
.hmg-coming .hmk > a::before { background: var(--hmk-in); }
.hmg-leaving .hmk > a::before { background: var(--hmk-out); }
.hmkb { position: absolute; inset: 0; z-index: -1; }
.hmkb picture { display: block; width: 100%; height: 100%; }
.hmkb img {
  width: 100%; height: 100%; object-fit: cover; object-position: 50% 28%;
  opacity: .46; filter: saturate(.8); transition: opacity .18s ease;
}
.hmkb::after {
  content: ""; position: absolute; inset: 0;
  background:
    linear-gradient(90deg, rgba(var(--hmv), .94) 0%, rgba(var(--hmv), .8) 42%, rgba(var(--hmv), .58) 76%, rgba(var(--hmv), .9) 100%),
    linear-gradient(0deg, rgba(var(--hmv), .5) 0%, rgba(var(--hmv), 0) 55%, rgba(var(--hmv), .5) 100%);
}
.hmkp { display: block; width: 52px; overflow: hidden; border-radius: 4px; box-shadow: 0 3px 10px rgba(0, 0, 0, .5); }
.hmkp img, .hmkp .noimg { display: block; width: 100%; height: auto; aspect-ratio: 2 / 3; object-fit: cover; background: #0b0c0f; }
.hmkt { display: grid; gap: 3px; min-width: 0; }
.hmkt b {
  overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2;
  font-weight: 600; font-size: .98rem; line-height: 1.3;
}
.hmkf {
  overflow: hidden; font-weight: 400; font-size: .78rem; line-height: 1.35;
  text-overflow: ellipsis; white-space: nowrap; color: var(--hmk-muted);
}
.hmkc {
  display: grid; justify-items: center; align-content: center; gap: 1px;
  min-width: 62px; padding: 7px 8px; border: 1px solid; border-radius: 6px;
  background: rgba(0, 0, 0, .52); text-align: center; white-space: nowrap;
}
.hmg-coming .hmkc { border-color: var(--hmk-in-deep); color: var(--hmk-in); }
.hmg-leaving .hmkc { border-color: var(--hmk-out-deep); color: var(--hmk-out); }
.hmkc b { font-weight: 700; font-size: 1.7rem; line-height: 1; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.hmkc i { font-weight: 600; font-style: normal; font-size: .62rem; line-height: 1.2; letter-spacing: .1em; text-transform: uppercase; opacity: .72; }
.hmkc.is-now b { font-size: .95rem; line-height: 1.2; letter-spacing: 0; }
.hmg-coming .hmkc.is-now { background: var(--hmk-in-deep); border-color: var(--hmk-in); color: #eafff3; }
.hmg-leaving .hmkc.is-now { background: var(--hmk-out-deep); border-color: var(--hmk-out); color: #ffeef0; }
.hmk > a:hover { transform: translateY(-2px); border-color: var(--hmk-line-2); text-decoration: none; }
.hmk > a:hover .hmkb img { opacity: .64; }
.hmk > a:hover .hmkt b { text-decoration: underline; }

.ba { max-width: 900px; padding-block: 18px 8px; }
.ba-k { margin: 0; font-weight: 700; font-size: .74rem; line-height: 1.3; letter-spacing: .05em; text-transform: uppercase; color: var(--accent-text); }
.ba-h h1 { margin: 6px 0 8px; }
.ba-d { margin: 0 0 10px; font-size: 1.1rem; color: var(--text-2); }
.ba-by { display: flex; flex-wrap: wrap; gap: 2px 14px; margin: 0; font-size: .82rem; color: var(--muted); }
.ba-au { font-weight: 600; color: var(--text-2); }
.ba-c { margin: 18px 0; }
.ba-c img, .ba-c .noimg { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--radius); background: var(--bg-card); display: block; }
.ba-p { max-width: none; margin-inline: 0; padding-block: 0 4px; }
.ba-l { list-style: none; display: grid; gap: 16px; margin: 0 0 1.6rem; padding: 0; }
.ba-f { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 16px; padding: 14px; background: var(--bg-card); border: 1px solid var(--line); border-radius: var(--radius); }
.ba-fp img, .ba-fp .noimg { width: 100%; height: auto; display: block; border-radius: 6px; background: var(--bg); }
.ba-ft h2 { margin: 0 0 5px; font-size: 1.1rem; line-height: 1.3; }
.ba-fr { margin-right: 6px; color: var(--muted); }
.ba-fy { font-weight: 400; color: var(--muted); }
.ba-fm { margin: 0 0 7px; font-size: .84rem; color: var(--muted); }
.ba-fs { list-style: none; display: flex; flex-wrap: wrap; gap: 4px 14px; margin: 0 0 8px; padding: 0; font-size: .84rem; color: var(--text-2); }
.ba-fs b { color: var(--muted); }
.ba-fh { margin: 0 0 8px; }
.ba-fa { margin: 0 0 9px; font-size: .86rem; color: var(--muted); }
.ba-fw { margin: 0; }
.ba-fw a { display: inline-block; padding: 8px 14px; border-radius: 6px; background: var(--accent); color: var(--accent-on); font-size: .88rem; font-weight: 600; }
.ba-fw a:hover { background: var(--accent-h); text-decoration: none; }
.ba-s { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 1.6rem; }
.ba-s a { padding: 10px 14px; border: 1px solid var(--ctl-line); border-radius: var(--radius); font-size: .9rem; }
.ba-s a:hover { background: var(--bg-hover); text-decoration: none; }
.ba-dh { margin: 6px 0 -4px; font-weight: 600; font-size: .92rem; line-height: 1.3; color: var(--muted); }
.ba-hl { margin: 0 0 1.5rem; }
.ba-cr { margin: 0 0 1.4rem; font-size: .8rem; color: var(--muted); }
.md-inl { margin: 0 0 40px; font-size: .92rem; color: var(--muted); }
.md-inl a { color: var(--accent-text); }

@media (max-width: 1023px) {
  .home .row { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .home .row .card:nth-child(n+9) { display: none; }
  .home .gen { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .bc { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 683px) {
  .hmk:nth-child(n+6) { display: none; }
  .hml { position: relative; }
  .hml::after { content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 84px; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, var(--bg) 66%); pointer-events: none; }
  .hmsee { display: flex; justify-content: center; align-items: center; gap: 6px; position: relative; z-index: 2; margin-top: -30px; padding: 4px 0 2px; color: var(--accent-text); font-weight: 600; font-size: .95rem; text-decoration: none; }
  .hmsee span { font-size: 1.2em; line-height: 1; }
}
@media (max-width: 619px) {
  .grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
  .home .hero { min-height: 360px; }
  .home .hw { padding: 2.4rem 16px 3.2rem; }
  .home .hhc { right: 12px; bottom: 8px; }
  .home .hhc a { font-size: .72rem; padding: 3px 9px; }
  .home .lede { font-size: 1rem; margin-bottom: 1.2rem; }
  .home .hsf { gap: 8px; }
  .home .hsf input { height: 46px; padding: 0 16px; }
  .home .hsf button { height: 46px; padding: 0 18px; }
  .home .hql a { padding: 11px 15px; font-size: .88rem; }
  .home .more { padding: 12px 0; margin: -12px 0; }
  .home .hs { padding-top: 2rem; }
  .home .row { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px 10px; }
  .home .row .card:nth-child(n+7) { display: none; }
  .home .gen { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .home .dev { gap: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home .dev span { padding: 9px 10px; font-size: .85rem; }
  .bc { gap: 18px 12px; }
  .ba-f { grid-template-columns: 84px minmax(0, 1fr); gap: 12px; padding: 12px; }
  .hmk > a { gap: 11px; }
  .hmkb img { opacity: .54; }
  .hmkt b { -webkit-line-clamp: 3; }
  .hmkc { min-width: 58px; padding: 6px 7px; }
  .hmkc b { font-size: 1.5rem; }
}

@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; }
  .home .hbg picture, .md-bg picture { transition: opacity 1.5s ease-in-out !important; }
  .home .hbg picture.was, .md-bg picture.was { transition: none !important; }
  .home .hbg picture.is-on img, .home .hbg picture.was img, .md-bg picture.is-on img, .md-bg picture.was img { animation: hdrift 10s ease-in-out infinite alternate !important; }
}

.rssp h1 { margin-bottom: 10px; }
.rssp .intro { max-width: 72ch; }
.rssh { margin: 22px 0 6px; padding: 18px 20px; border: 1px solid var(--line); border-radius: 10px; background: var(--bg-head); }
.rssh h2 { margin: 0 0 8px; font-size: 1.05rem; }
.rssh p { margin: 0; max-width: 78ch; }
.rsss { margin-top: 30px; }
.rsss h2 { margin: 0 0 6px; }
.rssi { margin: 0 0 14px; max-width: 78ch; color: var(--muted); }
.rssl { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rssl li { padding: 14px 16px; border: 1px solid var(--line); border-radius: 10px; }
.rssl li b { display: block; font-size: 1rem; }
.rssl li p { margin: 4px 0 9px; color: var(--muted); font-size: .92rem; }
.rssl li a { display: block; overflow-wrap: anywhere; font-size: .86rem; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
@media (max-width: 720px) { .rssl { grid-template-columns: 1fr; } }
