.icp-archive {
  min-height: 70vh;
  padding-bottom: 70px;
  overflow-x: clip;
  background: #f7f7fb;
  color: #141326;
  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    "Segoe UI",
    sans-serif;
}
.icp-archive * {
  box-sizing: border-box;
}
.icp-archive-header {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-block: clamp(52px, 8vw, 95px);
  background: radial-gradient(circle at 80% 10%, #472473, #12131e 55%);
  color: #fff;
}
.icp-archive-header__media,
.icp-archive-header::after {
  position: absolute;
  inset: 0;
}
.icp-archive-header__media {
  z-index: -2;
}
.icp-archive-header__image {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center 32%;
}
.icp-archive-header.has-image::after {
  content: "";
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(12, 13, 24, 0.96) 0%, rgba(20, 15, 35, 0.78) 54%, rgba(48, 23, 77, 0.54) 100%),
    linear-gradient(0deg, rgba(10, 11, 21, 0.7), transparent 58%);
}
.icp-archive-header h1 {
  max-width: 920px;
  margin: 7px 0 14px;
  color: #fff;
  font-size: clamp(2.7rem, 7vw, 5.8rem);
  font-weight: 900;
  letter-spacing: -0.055em;
  line-height: 0.98;
}
.icp-archive-header__description {
  max-width: 700px;
  color: rgba(255, 255, 255, 0.76);
  font-size: 1.05rem;
  line-height: 1.6;
}
.icp-archive-header__description p {
  margin: 0;
}
.icp-archive-header__count {
  margin: 18px 0 0;
  color: #caa5ff;
  font-size: 0.76rem;
  font-weight: 800;
  text-transform: uppercase;
}
.icp-opera-hero {
  padding-block: clamp(42px, 7vw, 82px);
}
.icp-opera-hero__layout {
  display: grid;
  grid-template-columns: minmax(180px, 250px) minmax(0, 1fr);
  align-items: center;
  gap: clamp(28px, 5vw, 68px);
}
.icp-opera-hero__layout:not(:has(.icp-opera-hero__poster)) {
  grid-template-columns: minmax(0, 850px);
}
.icp-opera-hero__poster {
  width: 100%;
  height: auto;
  aspect-ratio: 2 / 3;
  display: block;
  object-fit: cover;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 20px;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.42);
}
.icp-opera-hero__content { min-width: 0; }
.icp-opera-hero__tagline {
  max-width: 760px;
  margin: -2px 0 16px;
  color: #fff;
  font-size: clamp(1.05rem, 2vw, 1.35rem);
  font-weight: 750;
  line-height: 1.4;
}
.icp-opera-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 22px;
}
.icp-opera-facts > span {
  min-width: 92px;
  padding: 10px 13px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 13px;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
}
.icp-opera-facts small,
.icp-opera-facts strong { display: block; }
.icp-opera-facts small {
  margin-bottom: 3px;
  color: rgba(255, 255, 255, 0.62);
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}
.icp-opera-facts strong { color: #fff; font-size: 0.82rem; }
.icp-opera-hero__genres,
.icp-opera-hero__original {
  margin: 13px 0 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.78rem;
}
.icp-opera-hero__tmdb {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 18px;
  color: rgba(255, 255, 255, 0.74);
  font-size: 0.65rem;
  font-weight: 750;
  text-decoration: none;
}
.icp-opera-hero__tmdb img { width: 94px; height: auto; }
.icp-opera-stories-heading { padding-top: clamp(34px, 6vw, 64px); }
.icp-opera-stories-heading h2 {
  margin: 5px 0 -18px;
  color: #171425;
  font-size: clamp(1.8rem, 4vw, 3rem);
  letter-spacing: -0.045em;
  line-height: 1;
}
.icp-search-form {
  max-width: 700px;
  display: flex;
  gap: 8px;
  margin-top: 25px;
  padding: 7px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(12px);
}
.icp-search-form input {
  min-width: 0;
  flex: 1;
  padding: 12px 15px;
  border: 0;
  border-radius: 9px;
  background: #fff;
  color: #171425;
  font: inherit;
  outline: 0;
}
.icp-search-form input:focus {
  box-shadow: 0 0 0 3px #b874ff;
}
.icp-search-form button {
  padding: 0 22px;
  border: 0;
  border-radius: 9px;
  background: var(--icp-primary);
  color: #fff;
  font: inherit;
  font-weight: 850;
  cursor: pointer;
}
.icp-archive-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  padding-block: 38px;
}
.icp-archive-card {
  overflow: hidden;
  border: 1px solid rgba(27, 24, 59, 0.1);
  border-radius: 17px;
  background: #fff;
  box-shadow: 0 8px 28px rgba(26, 17, 67, 0.05);
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease;
}
.icp-archive-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 48px rgba(26, 17, 67, 0.12);
}
.icp-archive-card > a {
  height: 100%;
  display: flex;
  flex-direction: column;
  color: inherit;
  text-decoration: none;
}
.icp-archive-card__media {
  position: relative;
  width: 100%;
  height: auto;
  flex: 0 0 auto;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: linear-gradient(135deg, #2a1b4b, #11131e);
}
.icp-archive-card__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.icp-archive-card__body {
  flex: 1;
  padding: 18px;
}
.icp-archive-card__category {
  color: var(--icp-primary-dark);
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.icp-archive-card h2 {
  margin: 7px 0 9px;
  font-size: 1.14rem;
  letter-spacing: -0.025em;
  line-height: 1.16;
}
.icp-archive-card p {
  margin: 0 0 16px;
  color: #706d7e;
  font-size: 0.82rem;
  line-height: 1.5;
}
.icp-archive-card time {
  color: #858292;
  font-size: 0.69rem;
}
.icp-review-card__score { position: absolute; right: 14px; bottom: 14px; min-width: 92px; display: grid; grid-template-columns: auto auto; align-items: baseline; padding: 10px 12px; border: 1px solid rgba(255,255,255,.48); border-radius: 14px; background: rgba(17,15,31,.92); color: #fff; box-shadow: 0 10px 30px rgba(0,0,0,.28); }
.icp-review-card__score strong { font-size: 1.45rem; line-height: 1; }
.icp-review-card__score small { color: #d7baff; font-size: .68rem; }
.icp-review-card__score em { grid-column: 1/-1; margin-top: 4px; font-size: .52rem; font-style: normal; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.icp-review-card__ratings { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; margin: 14px 0; }
.icp-review-card__ratings > span { padding: 11px; border-radius: 12px; background: #f5f1fc; }
.icp-review-card__ratings small { display: block; color: #716b7e; font-size: .62rem; font-weight: 800; text-transform: uppercase; }
.icp-review-card__ratings strong { display: block; margin-top: 3px; color: #3e177e; font-size: 1.2rem; }
.icp-review-card__ratings em { font-size: .65rem; font-style: normal; }
.icp-review-card__verdict { display: grid; gap: 7px; margin-bottom: 16px; }
.icp-review-card__verdict p { margin: 0; padding-left: 22px; position: relative; font-size: .76rem; line-height: 1.35; }
.icp-review-card__verdict b { position: absolute; left: 0; color: #16845a; }
.icp-review-card__verdict .is-con b { color: #c34057; }
.icp-review-card__cta { display: inline-flex; margin-top: auto; color: #6330c5; font-size: .75rem; font-weight: 850; }
.icp-archive-grid__ad {
  grid-column: 1/-1;
}
.icp-pagination {
  display: flex;
  justify-content: center;
  gap: 7px;
  margin-top: 12px;
}
.icp-pagination .page-numbers {
  min-width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  padding: 0 10px;
  border-radius: 99px;
  background: #fff;
  color: #472097;
  font-weight: 800;
  text-decoration: none;
}
.icp-pagination .current {
  background: #7d42e8;
  color: #fff;
}
.icp-archive-empty {
  max-width: 680px;
  padding: 70px 0;
  margin: auto;
  text-align: center;
}
.icp-archive-empty h2 {
  margin: 0 0 10px;
  font-size: 2rem;
}
.icp-archive-empty p {
  color: #706d7e;
}
.icp-archive-empty .search-form {
  display: flex;
  gap: 8px;
  margin-top: 22px;
}
.icp-archive-empty .search-field {
  min-width: 0;
  flex: 1;
  padding: 12px;
  border: 1px solid #d8d4e3;
  border-radius: 9px;
}
.icp-archive-empty .search-submit {
  padding: 0 18px;
  border: 0;
  border-radius: 9px;
  background: #7d42e8;
  color: #fff;
  font-weight: 800;
}
@media (max-width: 900px) {
	.icp-opera-hero__layout { grid-template-columns: 150px minmax(0, 1fr); gap: 24px; }
  .icp-archive-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 560px) {
	.icp-opera-hero__layout { grid-template-columns: 1fr; }
	.icp-opera-hero__poster { width: min(44vw, 170px); border-radius: 14px; }
	.icp-opera-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .icp-archive-grid {
    grid-template-columns: 1fr;
  }
  .icp-archive-header {
    padding-block: 48px;
  }
  .icp-archive-card h2 {
    font-size: 1.05rem;
  }
  .icp-search-form {
    display: grid;
  }
  .icp-search-form button {
    min-height: 44px;
  }
}
.icp-not-found {
  padding: 0;
}
.icp-not-found__hero {
  min-height: 70vh;
  display: grid;
  place-items: center;
  padding-block: 70px;
  background: radial-gradient(circle at 80% 20%, #57318a, #12131e 58%);
  color: #fff;
}
.icp-not-found__inner {
  width: 100%;
}
.icp-not-found h1 {
  max-width: 880px;
  margin: 8px 0 18px;
  color: #fff;
  font-size: clamp(3rem, 8vw, 6.8rem);
  font-weight: 900;
  letter-spacing: -0.06em;
  line-height: 0.92;
}
.icp-not-found p {
  max-width: 650px;
  color: rgba(255, 255, 255, 0.74);
  font-size: 1.05rem;
  line-height: 1.6;
}
.icp-not-found__home {
  display: inline-block;
  margin-top: 24px;
  color: #d6b8ff;
  font-weight: 850;
  text-decoration: none;
}
.icp-news-desk { padding-block: 30px 70px; }
.icp-news-tabs { display:flex; gap:6px; overflow-x:auto; margin-bottom:8px; padding:6px; border:1px solid rgba(27,24,59,.1); border-radius:14px; background:#fff; scrollbar-width:none; }
.icp-news-tabs a { flex:0 0 auto; padding:10px 14px; border-radius:10px; color:#625e70; font-size:.76rem; font-weight:800; text-decoration:none; }
.icp-news-tabs a:hover,.icp-news-tabs a.is-active { background:#eee5ff; color:#5a24b7; }
.icp-news-layout { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:32px; align-items:start; }
.icp-news-day { margin:34px 0 8px; padding-bottom:12px; border-bottom:2px solid #171425; font-size:1.45rem; letter-spacing:-.03em; }
.icp-news-item>a { display:grid; grid-template-columns:58px minmax(0,1fr) 94px; gap:14px; align-items:center; padding:14px 0; border-bottom:1px solid rgba(27,24,59,.1); color:inherit; text-decoration:none; }
.icp-news-item time { align-self:start; padding-top:3px; color:#777383; font-size:.72rem; font-variant-numeric:tabular-nums; }
.icp-news-item__copy span { color:var(--icp-primary-dark); font-size:.62rem; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }
.icp-news-item h3 { margin:3px 0 5px; font-size:1rem; line-height:1.25; }
.icp-news-item p { margin:0; color:#706d7e; font-size:.78rem; line-height:1.4; }
.icp-news-item__thumb { width:94px; aspect-ratio:4/3; overflow:hidden; border-radius:10px; background:#171425; }
.icp-news-item__thumb img { width:100%; height:100%; display:block; object-fit:cover; }
.icp-news-sidebar { position:sticky; top:90px; display:grid; gap:16px; margin-top:34px; }
.icp-news-sidebar__panel { padding:22px; border:1px solid rgba(27,24,59,.1); border-radius:18px; background:#fff; box-shadow:0 12px 35px rgba(26,17,67,.06); }
.icp-news-sidebar__panel h2 { margin:5px 0 15px; font-size:1.25rem; }
.icp-news-sidebar ol { display:grid; gap:0; margin:0; padding:0; list-style:none; counter-reset:news-rank; }
.icp-news-sidebar li { counter-increment:news-rank; display:grid; grid-template-columns:28px 1fr; gap:8px; padding:11px 0; border-bottom:1px solid rgba(27,24,59,.08); }
.icp-news-sidebar li::before { content:counter(news-rank,decimal-leading-zero); color:var(--icp-primary); font-size:.72rem; font-weight:900; }
.icp-news-sidebar li:last-child { border-bottom:0; }
.icp-news-sidebar a { color:#171425; font-size:.8rem; font-weight:750; line-height:1.35; text-decoration:none; }
.icp-news-sidebar__search h2 { margin-bottom:18px; }
.icp-news-sidebar form { display:grid; gap:12px; margin:0; padding:0; }
.icp-news-sidebar form > div { display:grid; gap:12px; }
.icp-news-sidebar form input[type="search"],.icp-news-sidebar form input[type="text"] { width:100%; min-width:0; padding:12px 13px; border:1px solid #d9d4e3; border-radius:10px; background:#fff; color:#171425; font:inherit; outline:0; }
.icp-news-sidebar form input:focus { border-color:var(--icp-primary); box-shadow:0 0 0 3px color-mix(in srgb,var(--icp-primary) 18%,transparent); }
.icp-news-sidebar form button,.icp-news-sidebar form input[type="submit"] { width:100%; min-height:42px; padding:0 16px; border:0; border-radius:10px; background:var(--icp-gradient); color:#fff; font:inherit; font-weight:800; cursor:pointer; }
@media(max-width:900px){.icp-news-layout{grid-template-columns:1fr}.icp-news-sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}}
@media(max-width:600px){.icp-news-desk{padding-top:18px}.icp-news-item>a{grid-template-columns:48px minmax(0,1fr)}.icp-news-item__thumb,.icp-news-item p{display:none}.icp-news-sidebar{grid-template-columns:1fr}}
.icp-game-hero{padding:clamp(32px,6vw,78px) 0;background:linear-gradient(135deg,#0b0b0e,#1d1d22);color:#fff}
.icp-game-hero__inner{display:grid;grid-template-columns:minmax(180px,300px) minmax(0,1fr);gap:clamp(24px,5vw,64px);align-items:center}
.icp-game-hero__cover{margin:0;aspect-ratio:3/4;overflow:hidden;border-radius:22px;background:#202027;box-shadow:0 24px 65px rgba(0,0,0,.35)}
.icp-game-hero__cover img{width:100%;height:100%;object-fit:cover}
.icp-game-hero__content h1{max-width:900px;margin:.2em 0;font-size:clamp(2.35rem,6vw,5.5rem);line-height:.94;color:#fff}
.icp-game-hero__description{max-width:780px;color:#d7d7de;font-size:clamp(1rem,1.6vw,1.2rem);line-height:1.7}
.icp-game-score-row{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 22px}
.icp-game-score,.icp-game-age{min-width:86px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;padding:9px 12px;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:rgba(255,255,255,.07)}
.icp-game-score b,.icp-game-age b{font-size:1.28rem;line-height:1;color:#fff}
.icp-game-score small,.icp-game-age small{color:#bfc4cf;font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.icp-game-age{grid-template-columns:1fr auto}
.icp-game-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:28px 0 18px}
.icp-game-facts>div{padding:14px 16px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.06)}
.icp-game-facts dt{margin-bottom:5px;color:#aaaab5;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.icp-game-facts dd{margin:0;color:#fff;font-weight:700;line-height:1.35}
.icp-game-hero__count,.icp-game-source{margin:8px 0 0;color:#bdbdc7;font-size:.86rem}
.icp-game-source span{color:#979da8}
.icp-game-media{padding-block:clamp(38px,6vw,74px)}
.icp-game-media__heading{margin-bottom:20px}
.icp-game-media__heading h2{margin:.15em 0 0;font-size:clamp(1.8rem,4vw,3.2rem)}
.icp-game-video{position:relative;overflow:hidden;aspect-ratio:16/9;border-radius:22px;background:#080b11;box-shadow:0 22px 60px rgba(8,11,17,.18)}
.icp-game-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
@media(max-width:760px){.icp-game-hero__inner{grid-template-columns:96px minmax(0,1fr);align-items:start;gap:18px}.icp-game-hero__cover{border-radius:14px}.icp-game-hero__content h1{font-size:clamp(2rem,10vw,3.25rem)}.icp-game-hero__description,.icp-game-facts,.icp-game-hero__count,.icp-game-source{grid-column:1/-1}.icp-game-facts{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:20px}}
@media(max-width:420px){.icp-game-facts{grid-template-columns:1fr}}
