:root {
  --t110-violet: #b56ddb;
  --t110-mint: #56d8c0;
  --t110-ink: #24152f;
  --t110-text: #34283a;
  --t110-muted: #796e80;
  --t110-paper: #f7f5f8;
  --t110-panel: #ffffff;
  --t110-line: #ddd6e1;
}

html,
body {
  background: var(--t110-paper) !important;
  color: var(--t110-text) !important;
}

a { color: inherit; }
.t110-shell { width: min(1260px, calc(100% - 40px)); margin-inline: auto; }
.t110-main { min-height: 70vh; overflow: hidden; }

.t110-header {
  position: sticky;
  top: 0;
  z-index: 50;
  border-bottom: 4px solid var(--t110-mint);
  background: var(--t110-ink);
}
.t110-header-inner {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr) minmax(220px, 300px) 42px;
  gap: 16px;
  align-items: center;
  min-height: 72px;
}
.t110-brand,
.t110-brand img { display: block; width: 52px; height: 52px; }
.t110-nav { display: flex; align-items: center; gap: 4px; min-width: 0; overflow: hidden; }
.t110-nav a {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 10px 11px;
  color: #e9dff0;
  font-size: 14px;
  font-weight: 800;
  white-space: nowrap;
}
.t110-nav a:hover,
.t110-nav a.active { color: var(--t110-ink); background: var(--t110-mint); }
.t110-search { display: grid; grid-template-columns: 1fr 42px; height: 40px; background: #fff; }
.t110-search input { min-width: 0; padding: 0 12px; border: 0; color: var(--t110-text); background: transparent; }
.t110-search button { border: 0; color: var(--t110-ink); background: var(--t110-violet); cursor: pointer; }
.t110-menu { display: none; width: 42px; height: 42px; color: #fff; place-items: center; background: var(--t110-violet); }

.t110-category-strip { border-bottom: 1px solid var(--t110-line); background: #fff; }
.t110-category-strip .t110-shell { display: flex; gap: 17px; align-items: center; min-height: 50px; overflow-x: auto; }
.t110-category-strip span { color: var(--t110-violet); font-size: 11px; font-weight: 900; }
.t110-category-strip a { color: var(--t110-text); font-size: 14px; font-weight: 800; white-space: nowrap; }
.t110-category-strip a:hover { color: var(--t110-violet); }

.t110-hero { padding: 28px 0 10px; border-bottom: 8px solid var(--t110-violet); background: var(--t110-mint); }
.t110-hero-layout { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 20px; }
.t110-hero-stage { position: relative; min-width: 0; order: 2; overflow: hidden; border: 8px solid var(--t110-violet); background: var(--t110-ink); box-shadow: 12px 12px 0 var(--t110-ink); }
.t110-hero-slider,
.t110-hero-slider .swiper-wrapper,
.t110-hero-slider .swiper-slide { height: 464px !important; }
.t110-hero-slider { position: relative; overflow: hidden; background: var(--t110-ink); }
.t110-hero-slider .swiper-slide { position: relative; display: block; padding: 0 !important; background-position: center; background-size: cover; }
.t110-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(36,21,47,.9), rgba(36,21,47,.18) 68%); }
.t110-slide-copy { position: absolute; left: 32px; bottom: 34px; z-index: 4; display: grid; gap: 12px; max-width: 62%; color: #fff; }
.t110-slide-copy em,
.t110-section-head span,
.t110-side-head span { color: var(--t110-mint); font-size: 11px; font-style: normal; font-weight: 900; }
.t110-slide-copy strong { font-size: 42px; line-height: 1.05; }
.t110-slide-copy small { display: flex; gap: 8px; color: #eee4f4; }
.t110-slide-copy small i { width: 4px; height: 4px; margin-top: 7px; background: var(--t110-mint); }
.t110-slide-copy b { width: max-content; padding: 11px 14px; color: #fff; background: var(--t110-violet); font-size: 14px; box-shadow: 5px 5px 0 var(--t110-mint); }
.t110-hero-dots { position: absolute; right: 18px; bottom: 16px; z-index: 5; }
.t110-hero-dots .swiper-pagination-bullet { background: #fff !important; }
.t110-hero-dots .swiper-pagination-bullet-active { background: var(--t110-mint) !important; }
.t110-hero-side { order: 1; padding: 22px; color: #fff; border-top: 8px solid var(--t110-violet); background: var(--t110-ink); box-shadow: 8px 8px 0 var(--t110-violet); }
.t110-side-head h2 { margin: 5px 0 18px; font-size: 26px; }
.t110-rank-list { display: grid; }
.t110-rank-item { display: grid; grid-template-columns: 27px minmax(0,1fr) auto; gap: 8px; align-items: center; min-height: 51px; border-top: 1px solid rgba(255,255,255,.14); }
.t110-rank-item b { color: var(--t110-mint); font-size: 18px; }
.t110-rank-item strong { overflow: hidden; color: #fff; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.t110-rank-item em { color: #bbaec2; font-size: 12px; font-style: normal; }

.t110-section { padding-block: 40px; }
.t110-section-head { display: flex; gap: 16px; align-items: end; justify-content: space-between; margin-bottom: 18px; }
.t110-section-head h2 { margin: 4px 0 0; color: var(--t110-ink); font-size: 28px; line-height: 1.05; }
.t110-section-head h2:after { display: inline-block; width: 34px; height: 9px; margin-left: 10px; content: ""; background: var(--t110-violet); }
.t110-section-head > a,
.t110-type-links a { color: var(--t110-ink); font-size: 13px; font-weight: 900; }
.t110-grid { display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); gap: 22px 14px; }
.t110-card { min-width: 0; }
.t110-card-poster { position: relative; display: block; aspect-ratio: 2 / 3; overflow: hidden; border: 1px solid var(--t110-line); background: #e6e0e8; box-shadow: 6px 6px 0 rgba(181,109,219,.22); }
.t110-card-img { position: absolute; inset: 0; display: block; background-position: center; background-size: cover; transition: transform .25s ease; }
.t110-card:hover .t110-card-img { transform: scale(1.05); }
.t110-card-poster:before,
.t110-card-poster:after,
.t110-card-img:before,
.t110-card-img:after,
.t110-card-play { display: none !important; content: none !important; }
.t110-card-badge {
  position: absolute !important;
  top: auto !important;
  right: 0 !important;
  bottom: 0 !important;
  left: auto !important;
  z-index: 3;
  max-width: calc(100% - 8px);
  padding: 5px 7px !important;
  border-radius: 0 !important;
  color: var(--t110-ink) !important;
  background: var(--t110-mint) !important;
  font-size: 11px !important;
  font-weight: 900;
}
.t110-card-copy { padding: 12px 3px 0; }
.t110-card h3 { margin: 0; overflow: hidden; color: var(--t110-ink); font-size: 15px; text-overflow: ellipsis; white-space: nowrap; }
.t110-card p { margin: 5px 0 0; color: var(--t110-muted); font-size: 12px; }
.t110-card p span:before { margin: 0 5px; content: "/"; color: var(--t110-violet); }
.t110-channel-band:nth-of-type(even) { background: #efeaf1; }
.t110-channel { border-top: 0 !important; }
.t110-type-links { display: flex; flex-wrap: wrap; gap: 12px; }
.t110-type-links .more { padding: 4px 8px; color: var(--t110-ink); background: var(--t110-mint); }

.t110-news-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; background: var(--t110-line); }
.t110-news-card { display: grid; gap: 8px; min-height: 150px; padding: 20px; background: #fff; }
.t110-news-card b { color: var(--t110-violet); font-size: 11px; }
.t110-news-card strong { color: var(--t110-ink); }
.t110-news-card p { margin: 0; color: var(--t110-muted); font-size: 13px; }

.t110-page-title { padding: 34px 0 25px; background: var(--t110-mint); }
.t110-page-title p { margin: 0; color: var(--t110-ink); font-size: 11px; font-weight: 900; }
.t110-page-title h1 { margin: 5px 0 0; color: var(--t110-ink); font-size: 40px; }
.t110-filter { margin-top: 22px; padding: 10px 18px; border-left: 7px solid var(--t110-violet); background: #fff; }
.t110-filter dl { display: grid; grid-template-columns: 64px minmax(0,1fr); gap: 8px; margin: 0; padding: 11px 0; border-bottom: 1px solid var(--t110-line); }
.t110-filter dl:last-child { border-bottom: 0; }
.t110-filter dt { color: var(--t110-violet); font-weight: 900; }
.t110-filter dd { display: flex; flex-wrap: wrap; gap: 7px; margin: 0; }
.t110-filter a { padding: 3px 7px; color: var(--t110-text); font-size: 13px; }
.t110-filter a.active { color: var(--t110-ink); background: var(--t110-mint); font-weight: 900; }

.t110-detail-hero { position: relative; overflow: hidden; padding: 42px 0; background: var(--t110-mint); }
.t110-detail-bg { display: none !important; }
.t110-detail-grid { position: relative; display: grid; grid-template-columns: 220px minmax(0,1fr); gap: 28px; }
.t110-detail-poster img { display: block; width: 100%; aspect-ratio: 2/3; object-fit: cover; border: 7px solid #fff; box-shadow: 10px 10px 0 rgba(36,21,47,.3); }
.t110-detail-info { color: var(--t110-ink); }
.t110-kicker { color: var(--t110-violet); font-size: 12px; font-weight: 900; }
.t110-detail-info h1 { margin: 7px 0 12px; font-size: 45px; }
.t110-meta { display: flex; flex-wrap: wrap; gap: 7px; }
.t110-meta span { padding: 4px 7px; color: #fff; background: var(--t110-ink); font-size: 12px; }
.t110-desc { max-width: 760px; line-height: 1.8; }
.t110-detail-lines span { display: inline-block; width: 50px; color: var(--t110-violet); font-weight: 900; }
.t110-actions { display: flex; gap: 8px; margin-top: 18px; }
.t110-actions a,
.t110-play-actions a { padding: 10px 14px; color: #fff; background: var(--t110-ink); font-size: 13px; font-weight: 900; }
.t110-actions a.primary,
.t110-play-actions a.primary { color: var(--t110-ink); background: var(--t110-violet); }
.t110-detail-main { display: grid; gap: 20px; padding-block: 28px 42px; }
.t110-panel { padding: 20px; border: 1px solid var(--t110-line); background: #fff; }
.t110-faq-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.t110-faq-item { padding: 15px; border-left: 4px solid var(--t110-violet); background: #f3eef5; }
.t110-faq-item h3 { margin: 0; color: var(--t110-ink); font-size: 15px; line-height: 1.55; }
.t110-faq-item p { margin: 7px 0 0; color: var(--t110-muted); font-size: 13px; line-height: 1.75; }
.t110-playlist-panel { border-top: 7px solid var(--t110-violet); }
.t110-source-tabs ul { gap: 7px; }
.t110-source-tabs li { width: auto !important; padding: 8px 11px; color: var(--t110-text); background: #eee9f0; cursor: pointer; }
.t110-source-tabs li.active { color: var(--t110-ink); background: var(--t110-mint); }
.t110-episode-box ul { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 8px; padding: 14px 0 0; }
.t110-episode-box li { width: auto !important; padding: 0 !important; }
.t110-episode-box a { display: block; padding: 9px 7px; color: var(--t110-text); background: #f0edf2; text-align: center; }
.t110-episode-box a:hover,
.t110-episode-box a.active { color: var(--t110-ink); background: var(--t110-mint); }
.t110-sort { padding: 8px 10px; border: 0; color: var(--t110-ink); background: var(--t110-mint); font-weight: 900; cursor: pointer; }

.t110-player-wrap { padding: 28px 0; background: var(--t110-ink); }
.t110-player-grid { display: grid; grid-template-columns: minmax(0,1fr) 280px; gap: 18px; }
.t110-player { min-width: 0; background: #000; }
.t110-play-info { padding: 18px; color: #fff; border-left: 6px solid var(--t110-mint); background: #352340; }
.t110-play-info > p:first-child { color: var(--t110-mint); font-size: 12px; font-weight: 900; }
.t110-play-info h1 { margin: 5px 0 13px; font-size: 25px; }
.t110-play-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 15px; }
.t110-play-info .t110-desc { color: #c9becd; font-size: 13px; }

.t110-footer { padding: 26px 0 16px; color: #d9cfde; border-top: 5px solid var(--t110-violet); background: var(--t110-ink); }
.t110-footer-grid { display: flex; gap: 20px; justify-content: space-between; }
.t110-footer img { width: 48px; height: 48px; }
.t110-footer p { margin: 7px 0 0; font-size: 13px; }
.t110-footer-links { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; }
.t110-footer-links a { color: var(--t110-mint); font-size: 13px; }
.t110-copyright { margin-top: 16px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.15); font-size: 12px; }

.t110-mobile-panel,
.t110-mobile-modal { display: none; }

@media (max-width: 1024px) {
  .t110-header-inner { grid-template-columns: 58px minmax(0,1fr) 42px; }
  .t110-search { display: none; }
  .t110-grid { grid-template-columns: repeat(5,minmax(0,1fr)); }
}

@media (max-width: 760px) {
  .t110-shell { width: min(100% - 24px, 680px); }
  .t110-header-inner { min-height: 64px; }
  .t110-brand,
  .t110-brand img { width: 46px; height: 46px; }
  .t110-nav { display: none; }
  .t110-menu { display: grid; justify-self: end; }
  .t110-mobile-panel { position: fixed; top: 64px; right: 0; z-index: 61; display: block; width: min(86vw,330px); height: calc(100vh - 64px); padding: 16px; background: var(--t110-ink); transform: translateX(100%); transition: transform .2s ease; }
  .t110-mobile-panel.active { transform: translateX(0); }
  .t110-mobile-modal { position: fixed; inset: 64px 0 0; z-index: 60; background: rgba(36,21,47,.5); }
  .t110-mobile-modal.active { display: block; }
  .t110-mobile-search { display: grid; grid-template-columns: 1fr auto; margin-bottom: 12px; }
  .t110-mobile-search input { min-width: 0; padding: 10px; border: 0; }
  .t110-mobile-search button { border: 0; color: var(--t110-ink); background: var(--t110-mint); font-weight: 900; }
  .t110-mobile-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; }
  .t110-mobile-links a { padding: 12px 9px; overflow: hidden; color: #fff; background: #352340; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
  .t110-mobile-links a.active { color: var(--t110-ink); background: var(--t110-mint); }
  .t110-category-strip .t110-shell { gap: 14px; }
  .t110-hero { padding-top: 14px; }
  .t110-hero-layout { grid-template-columns: 1fr; gap: 10px; }
  .t110-hero-stage { order: 1; }
  .t110-hero-stage { border-width: 5px; box-shadow: 7px 7px 0 var(--t110-ink); }
  .t110-hero-slider,
  .t110-hero-slider .swiper-wrapper,
  .t110-hero-slider .swiper-slide { height: 300px !important; }
  .t110-hero-side { order: 2; padding: 15px; }
  .t110-rank-list { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 12px; }
  .t110-rank-item { min-height: 42px; }
  .t110-slide-copy { left: 18px; bottom: 22px; max-width: 82%; gap: 8px; }
  .t110-slide-copy strong { font-size: 29px; }
  .t110-section { padding-block: 28px; }
  .t110-section-head h2 { font-size: 23px; }
  .t110-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px 10px; }
  .t110-card-poster { box-shadow: 4px 4px 0 rgba(181,109,219,.22); }
  .t110-news-grid { grid-template-columns: 1fr; }
  .t110-detail-grid { grid-template-columns: 122px minmax(0,1fr); gap: 18px; }
  .t110-detail-hero { padding: 24px 0; }
  .t110-detail-poster img { border-width: 4px; box-shadow: 6px 6px 0 rgba(36,21,47,.3); }
  .t110-detail-info h1 { font-size: 29px; }
  .t110-desc { font-size: 13px; line-height: 1.65; }
  .t110-detail-lines { grid-column: 1 / -1; }
  .t110-panel { padding: 14px; }
  .t110-faq-list { grid-template-columns: 1fr; }
  .t110-episode-box ul { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .t110-player-grid { grid-template-columns: 1fr; }
  .t110-play-info { border-top: 5px solid var(--t110-mint); border-left: 0; }
  .t110-footer-grid { display: grid; }
}

@media (max-width: 420px) {
  .t110-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .t110-rank-list { grid-template-columns: 1fr; }
  .t110-slide-copy strong { font-size: 25px; }
  .t110-detail-grid { grid-template-columns: 104px minmax(0,1fr); gap: 14px; }
  .t110-detail-info h1 { font-size: 24px; }
  .t110-detail-info .t110-desc { display: none; }
}
