/* Detroit 首页 — 对齐 detroit.paris 首页结构 */
.home-cards{
  flex:1 1 auto;min-height:0;margin:0;width:100%;max-width:100%;
  display:flex;flex-direction:column;overflow:visible;
  position:relative;z-index:1
}
.home-cards-viewport{
  position:absolute;left:0;right:0;bottom:0;
  height:68%;min-height:14rem;
  overflow:visible;
  contain:layout style;
  cursor:grab;
  touch-action:none;
  -webkit-touch-callout:none;
  -webkit-user-select:none;
  user-select:none;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.home-cards-viewport:not(.home-cards-ready){visibility:hidden}
.home-cards-viewport::-webkit-scrollbar{display:none}
.home-cards-viewport.is-dragging{cursor:grabbing;user-select:none}
.home-cards-track{
  position:relative;width:100%;height:100%;overflow:visible;
}

.home-tile{
  position:absolute;left:0;bottom:0;
  width:clamp(14rem,28vw,30rem);
  min-width:clamp(14rem,28vw,30rem);
  height:clamp(16rem,44vw,27.5rem);
  min-height:clamp(16rem,44vw,27.5rem);
  transform-origin:bottom left;
  will-change:transform,opacity;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  pointer-events:auto;
  overflow:visible;
}
.home-cards-viewport--mobile{
  overflow-x:auto;overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-x;
  cursor:default;
}
.home-cards-track--mobile{
  display:flex;align-items:flex-end;gap:0;
  width:max-content;height:100%;
  overflow:visible;
}
.home-cards-track--mobile .home-tile{
  position:relative;left:auto;bottom:auto;
  flex:none;align-self:flex-end;
  transform:none!important;scale:unset!important;
  opacity:1!important;
}
.home-tile-link{
  position:absolute;inset:0;
  display:block;width:100%;height:100%;
  text-decoration:none;color:inherit;
  overflow:hidden;
  border-radius:inherit;
}
.home-tile-link:focus{outline:none}
.home-tile-link:focus-visible{
  outline:2px solid #2563eb;
  outline-offset:3px;
  z-index:6;
}
.home-tile:has(.home-tile-link:focus-visible) .home-tile-tag{opacity:1}
#home-daily-art .home-tile-link{cursor:default}
.home-tile-frame{
  position:absolute;inset:0;
  display:block;width:100%;height:100%;
  overflow:hidden;background:#111;
}
.home-tile-frame--fill{background:var(--tile-accent,#111)}
.home-tile[data-accent="movie"] .home-tile-frame--fill{background:#111}

/* tag-home-wrap */
.home-tile-tag{
  position:absolute;left:0;bottom:calc(100% + 8px);
  z-index:5;
  display:inline-flex;align-items:center;gap:.5rem;
  font-size:.75rem;font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;
  color:var(--home-ink,#0b0b0b);
  opacity:0;transform-origin:bottom left;
  transition:opacity .35s ease;
  white-space:nowrap;pointer-events:none;
}
.home-tile:hover .home-tile-tag,
.home-tile:focus-within .home-tile-tag{opacity:1}
.home-tile-dot{
  width:10px;height:10px;flex-shrink:0;
  border-radius:50%;background:#0b0b0b;
}

.home-tile-media__bg{
  position:absolute;inset:0;
  background:var(--tile-accent,#111);
  transition:transform .6s cubic-bezier(.33,1,.68,1);
}
.home-tile:hover .home-tile-media__bg{transform:scale(1.03)}

.home-tile-media__img{
  position:absolute;top:50%;left:50%;
  display:block;
  width:110%;height:110%;
  min-width:110%;min-height:110%;
  max-width:none!important;max-height:none!important;
  object-fit:cover;object-position:center;
  transform:translate(calc(-50% + var(--parallax-x,0%)),-50%);
  transition:transform .6s cubic-bezier(.33,1,.68,1);
  pointer-events:none;
}
.home-tile:hover .home-tile-media__img{
  transform:translate(calc(-50% + var(--parallax-x,0%)),-50%) scale(1.02);
}

.home-tile-media__cover.home-tile-media__img{
  object-fit:cover;transform-origin:center center;
}
.home-tile-frame--fill .home-tile-media__img,
.home-tile-frame--fill .home-tile-media__cover{
  z-index:1;
}
.home-tile-media__cover:not(.home-tile-media__img){
  position:absolute;right:10px;bottom:10px;z-index:2;
  width:38%;max-height:52%;object-fit:contain;
  pointer-events:none;transform:rotate(2deg);
}

.home-tile-frame--time{
  background:#0a0a0a;color:#fff;
  padding:14px 12px;
  display:flex;flex-direction:column;justify-content:space-between;gap:10px;
}
.home-tile-frame--time .home-tc-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.18em;color:rgba(255,255,255,.72);margin-bottom:6px}
.home-tile-frame--time .home-tc-time{font-size:clamp(1.5rem,3.5vw,2rem);font-weight:300;line-height:1;letter-spacing:-.04em;color:#fff;font-variant-numeric:tabular-nums;min-width:7.5ch;min-height:1em}
.home-tile-frame--time .home-tc-date{margin-top:4px;font-size:11px;line-height:1.4;color:rgba(255,255,255,.84);min-height:1.4em}
.home-tile-frame--time .home-tc-bar-bg{height:2px;width:100%;background:rgba(255,255,255,.18);margin:4px 0 8px}
.home-tile-frame--time .home-tc-bar{height:100%;background:#fff;transition:width .5s}
.home-tile-frame--time .home-tc-row{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;color:rgba(255,255,255,.88)}
.home-tile-frame--time .home-tc-big{font-size:1.2rem;font-weight:700;line-height:1;color:#fff;font-variant-numeric:tabular-nums}
.home-tile-frame--time .home-tc-unit{font-family:ui-monospace,Menlo,monospace;font-size:10px;color:rgba(255,255,255,.72);margin-left:4px}
.home-tile-frame--time .home-tc-info{font-family:ui-monospace,Menlo,monospace;font-size:10px;text-align:right;color:rgba(255,255,255,.72);line-height:1.45}
.home-tile-frame--time .home-tc-holiday-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:10px;border-top:1px solid rgba(255,255,255,.12)}
.home-tile-frame--time .home-tc-holiday-name{font-size:14px;font-weight:700;line-height:1.25;color:#fff;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.home-tile-frame--time .home-tc-holiday-date{font-family:ui-monospace,Menlo,monospace;font-size:10px;color:rgba(255,255,255,.72);margin-top:3px}
.home-tile-frame--time .home-tc-countdown{flex-shrink:0;text-align:right;color:#fff}
.home-tile-frame--time .home-tc-countdown--today{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.home-tile-frame--time .home-tc-more-list{font-family:ui-monospace,Menlo,monospace;font-size:10px;color:rgba(255,255,255,.82)}
.home-tile-frame--time .home-tc-more-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.home-tile-frame--time .home-tc-more-item:last-child{border-bottom:0;padding-bottom:0}

/* 工具卡片 — 终端窗口 + 图标网格 */
.home-tile-frame--tools{
  background:#08080a;color:#f5f5f5;overflow:hidden;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
}
.home-tools-mosaic{
  position:absolute;inset:0;display:flex;flex-direction:column;
  padding:0;
}
.home-tools-mosaic__bg{
  position:absolute;inset:0;pointer-events:none;overflow:hidden;
  background:
    radial-gradient(ellipse 90% 70% at 95% 5%,rgba(234,179,8,.28),transparent 58%),
    radial-gradient(ellipse 75% 55% at 5% 95%,rgba(96,165,250,.2),transparent 52%),
    linear-gradient(160deg,#12121a 0%,#08080a 42%,#0e0e14 100%);
}
.home-tools-mosaic__bg::before{
  content:"";position:absolute;inset:0;opacity:.28;
  background-image:radial-gradient(rgba(255,255,255,.11) .8px,transparent .8px);
  background-size:16px 16px;
}
.home-tools-mosaic__bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.04) 0%,transparent 28%,transparent 72%,rgba(0,0,0,.25) 100%);
}
.home-tools-mosaic__orb{
  position:absolute;border-radius:50%;filter:blur(36px);opacity:.75;
  animation:home-tools-orb 9s ease-in-out infinite;
}
.home-tools-mosaic__orb--amber{
  width:42%;height:38%;top:-8%;right:-6%;
  background:rgba(234,179,8,.45);
}
.home-tools-mosaic__orb--blue{
  width:36%;height:32%;bottom:-10%;left:-8%;
  background:rgba(59,130,246,.35);
  animation-delay:-4.5s;
}
@keyframes home-tools-orb{
  0%,100%{transform:translate(0,0) scale(1)}
  50%{transform:translate(6px,-8px) scale(1.06)}
}
.home-tools-mosaic__watermark{
  position:absolute;right:-2%;top:18%;
  font-family:var(--detroit-font);
  font-size:clamp(3rem,10vw,4.75rem);font-weight:800;
  letter-spacing:-.06em;line-height:1;text-transform:uppercase;
  color:rgba(255,255,255,.04);white-space:nowrap;user-select:none;
}
.home-tools-mosaic__code{
  position:absolute;left:10px;top:42%;
  font-family:ui-monospace,Menlo,monospace;font-size:9px;
  letter-spacing:.12em;text-transform:uppercase;
  color:rgba(255,255,255,.07);writing-mode:vertical-rl;
  transform:rotate(180deg);
}
.home-tools-mosaic__chrome{
  position:relative;z-index:2;flex:none;
  display:flex;align-items:center;gap:5px;
  padding:8px 10px 7px;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:rgba(0,0,0,.28);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.home-tools-mosaic__dot{
  width:7px;height:7px;border-radius:50%;flex-shrink:0;
}
.home-tools-mosaic__dot--r{background:#ff5f57}
.home-tools-mosaic__dot--y{background:#febc2e}
.home-tools-mosaic__dot--g{background:#28c840}
.home-tools-mosaic__chrome-title{
  margin-left:4px;font-family:ui-monospace,Menlo,monospace;
  font-size:9px;letter-spacing:.04em;color:rgba(255,255,255,.42);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.home-tools-mosaic__inner{
  position:relative;z-index:1;flex:1;min-height:0;
  display:flex;flex-direction:column;justify-content:space-between;
  padding:12px 11px 11px;
  transition:transform .75s cubic-bezier(.33,1,.68,1);
}
.home-tile-frame[data-ken-burns="active"] .home-tools-mosaic__inner{transform:scale(1.035)}
.home-tools-mosaic__hero{margin-bottom:8px}
.home-tools-mosaic__count{
  margin:0;display:flex;align-items:baseline;gap:6px;line-height:1;
}
.home-tools-mosaic__count-num{
  font-family:var(--detroit-font);
  font-size:clamp(2.4rem,5.5vw,3.1rem);font-weight:800;
  letter-spacing:-.05em;color:#fff;
}
.home-tools-mosaic__count-unit{
  font-family:ui-monospace,Menlo,monospace;
  font-size:11px;font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;color:rgba(234,179,8,.9);
}
.home-tools-mosaic__tagline{
  margin:5px 0 0;font-size:11px;font-weight:600;
  letter-spacing:.06em;color:rgba(255,255,255,.52);
}
.home-tools-mosaic__list{
  margin:0;padding:0;list-style:none;
  display:grid;grid-template-columns:1fr 1fr;gap:5px;
}
.home-tools-mosaic__list li{
  display:flex;align-items:center;gap:5px;min-width:0;
  padding:6px 7px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.05);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  font-size:9px;line-height:1.2;color:rgba(255,255,255,.9);
  transition:border-color .3s ease,background .3s ease,transform .3s ease;
  transition-delay:calc(var(--chip-i,0) * 35ms);
}
.home-tools-mosaic__list li i{
  flex-shrink:0;font-size:11px;line-height:1;color:#eab308;
}
.home-tools-mosaic__list li span{
  min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
}
.home-tile:hover .home-tools-mosaic__list li{
  border-color:rgba(234,179,8,.32);
  background:rgba(255,255,255,.09);
  transform:translateY(-1px);
}
.home-tools-mosaic__more{
  color:#eab308!important;
  border-color:rgba(234,179,8,.38)!important;
  background:rgba(234,179,8,.1)!important;
}
.home-tools-mosaic__more i{color:#eab308!important}
.home-tools-mosaic__empty{
  margin:0;font-family:ui-monospace,Menlo,monospace;
  font-size:10px;color:rgba(255,255,255,.45);letter-spacing:.04em;
}

/* 链接卡片 — 简洁：叠放 favicon + 大数字 */
.home-tile-frame--links{
  background:#fafafa;color:#111;overflow:hidden;
}
.home-links-card{
  position:absolute;inset:0;
  display:flex;flex-direction:column;justify-content:space-between;
  padding:16px 14px 14px;
  transition:transform .75s cubic-bezier(.33,1,.68,1);
}
.home-tile-frame[data-ken-burns="active"] .home-links-card{transform:scale(1.03)}
.home-links-card__icons{
  display:flex;align-items:center;padding-left:2px;
}
.home-links-card__icon{
  position:relative;
  width:clamp(2rem,5vw,2.35rem);height:clamp(2rem,5vw,2.35rem);
  flex-shrink:0;
  border-radius:50%;
  background:#fff;border:2px solid #fafafa;
  box-shadow:0 0 0 1px rgba(0,0,0,.08);
  overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  z-index:calc(10 - var(--i,0));
}
.home-links-card__icon:not(:first-child){margin-left:-11px}
.home-links-card__icon img{
  width:68%;height:68%;object-fit:contain;display:block;
  max-width:none!important;max-height:none!important;
}
.home-links-card__icon--empty{background:#eee}
.home-links-card__icon--more{
  font-family:var(--detroit-font);
  font-size:10px;font-weight:700;color:#111;background:#f0f0f0;
}
.home-links-card__body{margin-top:auto}
.home-links-card__kicker{
  margin:0 0 6px;display:flex;align-items:center;gap:5px;
  font-size:10px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:rgba(0,0,0,.42);
}
.home-links-card__kicker i{font-size:11px;color:#34c759}
.home-links-card__count{
  margin:0;font-family:var(--detroit-font);
  font-size:clamp(2.75rem,6vw,3.5rem);font-weight:800;
  line-height:1;letter-spacing:-.05em;color:#111;
}
.home-links-card__sub{
  margin:6px 0 0;font-size:10px;font-weight:500;
  letter-spacing:.04em;color:rgba(0,0,0,.4);
}

/* 周期卡片 — 与 /cycle/ 同色阶段条 + 28 天点阵 */
.home-tile-frame--cycle{
  background:#f2f2f7;color:#1d1d1f;overflow:hidden;
}
.home-cycle-card{
  position:absolute;inset:0;
  display:flex;flex-direction:column;justify-content:space-between;
  padding:16px 14px 14px;
  transition:transform .75s cubic-bezier(.33,1,.68,1);
}
.home-tile-frame[data-ken-burns="active"] .home-cycle-card{transform:scale(1.03)}
.home-cycle-card__track{
  position:relative;display:flex;height:8px;
  border-radius:999px;overflow:hidden;
  background:rgba(118,118,128,.12);
}
.home-cycle-card__seg{height:100%;min-width:0}
.home-cycle-card__seg--period{background:#f9e6e6}
.home-cycle-card__seg--follicular{background:#fff;box-shadow:inset 0 0 0 1px rgba(60,60,67,.1)}
.home-cycle-card__seg--fertile{background:#ff9e7a}
.home-cycle-card__seg--luteal{background:#fff;box-shadow:inset 0 0 0 1px rgba(60,60,67,.1)}
.home-cycle-card__ovulation{
  position:absolute;top:50%;left:57%;transform:translate(-50%,-50%);
  width:10px;height:10px;border-radius:50%;
  background:#e01818;border:2px solid #f2f2f7;
  box-shadow:0 0 0 1px rgba(224,24,24,.35);
}
.home-cycle-card__grid{
  display:grid;grid-template-columns:repeat(7,1fr);gap:4px;
  margin-top:12px;
}
.home-cycle-card__day{
  aspect-ratio:1;border-radius:50%;
  background:#fff;box-shadow:inset 0 0 0 1px rgba(60,60,67,.12);
}
.home-cycle-card__day--period{background:#f9e6e6;box-shadow:none}
.home-cycle-card__day--follicular{background:#fff}
.home-cycle-card__day--fertile{background:#ff9e7a;box-shadow:none}
.home-cycle-card__day--ovulation{
  background:#e01818;box-shadow:0 0 0 1px rgba(224,24,24,.4);
}
.home-cycle-card__day--luteal{background:#fff}
.home-cycle-card__body{margin-top:auto;padding-top:10px}
.home-cycle-card__kicker{
  margin:0 0 6px;font-size:10px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:#595959;
}
.home-cycle-card__count{
  margin:0;font-family:var(--detroit-font);
  font-size:clamp(2.75rem,6vw,3.5rem);font-weight:800;
  line-height:1;letter-spacing:-.05em;color:#1d1d1f;
}
.home-cycle-card__sub{
  margin:6px 0 0;font-size:10px;font-weight:500;
  letter-spacing:.04em;color:#595959;
}

/* ── Feeds (动态) card ── */
.home-tile-frame--feeds{
  background:#f5f5f7;
}
.home-feeds-card{
  position:absolute;inset:0;
  display:flex;flex-direction:column;justify-content:space-between;
  padding:14px 14px 14px;
  transition:transform .75s cubic-bezier(.33,1,.68,1);
}
.home-tile-frame[data-ken-burns="active"] .home-feeds-card{transform:scale(1.03)}
.home-feeds-card__visual{
  display:flex;flex-direction:column;gap:10px;min-height:0;
}
.home-feeds-card__stack{
  position:relative;height:58px;width:100%;max-width:148px;
}
.home-feeds-card__tile{
  position:absolute;top:0;
  width:52px;height:52px;border-radius:12px;overflow:hidden;
  border:2.5px solid #fff;
  box-shadow:0 6px 16px rgba(0,0,0,.12);
  background:#e8e8ed;
  transform:rotate(calc(-10deg + var(--tile-i, 0) * 9deg));
  left:calc(var(--tile-i, 0) * 34px);
  z-index:calc(1 + var(--tile-i, 0));
}
.home-feeds-card__tile img{
  width:100%;height:100%;object-fit:cover;display:block;
  max-width:none!important;max-height:none!important;
}
.home-feeds-card__tile-empty,
.home-feeds-card__tile--empty{
  display:flex;align-items:center;justify-content:center;
  width:100%;height:100%;color:rgba(60,60,67,.35);font-size:18px;
}
.home-feeds-card__bubble{
  display:flex;align-items:flex-start;gap:8px;
  padding:8px 10px;border-radius:12px;
  background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.06);
  border:1px solid rgba(0,0,0,.04);
}
.home-feeds-card__bubble-avatar{
  flex-shrink:0;width:22px;height:22px;border-radius:50%;
  object-fit:cover;background:#eee;
  max-width:none!important;max-height:none!important;
}
.home-feeds-card__bubble-text{
  margin:0;font-size:11px;line-height:1.4;font-weight:500;
  color:rgba(0,0,0,.62);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;
}
.home-feeds-card__center{
  flex:1;display:flex;align-items:center;justify-content:center;gap:8px;
  min-height:0;padding:6px 0;
}
.home-feeds-card__center i{
  font-size:clamp(1.35rem,3.2vw,1.65rem);color:#06ad56;line-height:1;
}
.home-feeds-card__center span{
  font-family:var(--detroit-font);
  font-size:clamp(1.35rem,3.2vw,1.65rem);font-weight:800;
  line-height:1;letter-spacing:-.03em;color:#111;
}
.home-feeds-card__body{margin-top:auto;padding-top:6px}
.home-feeds-card__count{
  margin:0;font-family:var(--detroit-font);
  font-size:clamp(2.75rem,6vw,3.5rem);font-weight:800;
  line-height:1;letter-spacing:-.05em;color:#111;
}
.home-feeds-card__sub{
  margin:6px 0 0;font-size:10px;font-weight:500;
  letter-spacing:.04em;color:rgba(0,0,0,.4);
}

/* ── Blog card ── */
.home-tile-frame--blog{
  background:linear-gradient(145deg,#faf8f3 0%,#efe8dc 52%,#e8dfd0 100%);
  overflow:hidden;
}
.home-blog-card{
  position:absolute;inset:0;
  display:flex;flex-direction:column;justify-content:space-between;
  padding:14px;color:#1d1d1f;
  transition:transform .75s cubic-bezier(.33,1,.68,1);
}
.home-tile-frame[data-ken-burns="active"] .home-blog-card{transform:scale(1.03)}
.home-blog-card__hero{
  flex:0 0 auto;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:5px;
  text-align:center;min-height:0;padding:4px 0 8px;
}
.home-blog-card__hero i{
  font-size:clamp(1rem,2.5vw,1.25rem);color:#b45309;line-height:1;
}
.home-blog-card__logo{
  margin:0;font-family:var(--detroit-font);
  font-size:clamp(2.2rem,7vw,3rem);font-weight:800;
  line-height:1;letter-spacing:-.05em;color:#1d1d1f;
}
.home-blog-card__full-cn{
  margin:0;font-size:10px;font-weight:600;
  line-height:1.35;letter-spacing:.08em;color:rgba(29,29,31,.55);
}
.home-blog-card__stack{
  list-style:none;margin:0;padding:0;
  display:flex;flex-direction:column;gap:5px;
  min-height:0;overflow:hidden;
}
.home-blog-card__line{
  display:flex;align-items:flex-start;gap:6px;
  padding:6px 8px;border-radius:8px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(0,0,0,.05);
  box-shadow:0 2px 8px rgba(0,0,0,.04);
  transform:translateX(calc(var(--line-i, 0) * 4px));
  opacity:calc(1 - var(--line-i, 0) * .12);
}
.home-blog-card__line-mark{
  flex-shrink:0;font-size:10px;font-weight:800;
  line-height:1.45;color:#d97706;
}
.home-blog-card__line-text{
  font-size:10px;font-weight:600;line-height:1.45;
  color:rgba(29,29,31,.72);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;
}
.home-blog-card__body{margin-top:auto;min-width:0}
.home-blog-card__count{
  margin:0;font-family:var(--detroit-font);
  font-size:clamp(2.75rem,6vw,3.5rem);font-weight:800;
  line-height:1;letter-spacing:-.05em;color:#1d1d1f;
}
.home-blog-card__sub{
  margin:6px 0 0;font-size:10px;font-weight:500;
  letter-spacing:.04em;color:rgba(29,29,31,.45);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}

/* ── GEO card ── */
.home-tile-frame--geo{
  background:linear-gradient(145deg,#1e3a8a 0%,#4338ca 52%,#6366f1 100%);
  overflow:hidden;
}
.home-geo-card{
  position:absolute;inset:0;
  display:flex;flex-direction:column;justify-content:space-between;
  padding:14px;color:#fff;
  transition:transform .75s cubic-bezier(.33,1,.68,1);
}
.home-tile-frame[data-ken-burns="active"] .home-geo-card{transform:scale(1.03)}
.home-geo-card__hero{
  flex:1;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:6px;
  text-align:center;min-height:0;padding:8px 0;
}
.home-geo-card__hero i{
  font-size:clamp(1.1rem,2.8vw,1.35rem);color:#fde68a;line-height:1;
}
.home-geo-card__logo{
  margin:0;font-family:var(--detroit-font);
  font-size:clamp(2.85rem,8.5vw,3.85rem);font-weight:800;
  line-height:1;letter-spacing:-.05em;
  background:linear-gradient(180deg,#fff 0%,#c7d2fe 100%);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
.home-geo-card__full-cn{
  margin:2px 0 0;font-size:11px;font-weight:600;
  line-height:1.35;letter-spacing:.06em;color:rgba(255,255,255,.78);
}
.home-geo-card__body{margin-top:auto;min-width:0}
.home-geo-card__count{
  margin:0;font-family:var(--detroit-font);
  font-size:clamp(2.75rem,6vw,3.5rem);font-weight:800;
  line-height:1;letter-spacing:-.05em;color:#fff;
}
.home-geo-card__sub{
  margin:6px 0 0;font-size:10px;font-weight:500;
  letter-spacing:.04em;color:rgba(255,255,255,.55);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}

/* ── Music card（Apple Music 风格）── */
.home-tile-frame--music{
  background:
    radial-gradient(ellipse 90% 70% at 28% 18%,rgba(255,255,255,.16) 0%,transparent 58%),
    linear-gradient(148deg,#ff5c72 0%,#fa243c 46%,#d41434 100%);
  overflow:hidden;
}
.home-tile-frame--music::after{
  content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(circle at 78% 88%,rgba(0,0,0,.18) 0%,transparent 52%);
}
.home-music-brand{
  position:absolute;inset:0;z-index:2;
  display:flex;align-items:center;justify-content:center;gap:clamp(.35rem,1.4vw,.65rem);
  padding:12px;color:#fff;
  transition:transform .75s cubic-bezier(.33,1,.68,1);
}
.home-tile-frame[data-ken-burns="active"] .home-music-brand{transform:scale(1.05)}
.home-music-brand__icon{
  flex:0 0 auto;display:flex;align-items:center;justify-content:center;
  font-size:clamp(1.85rem,6.5vw,2.65rem);line-height:1;
  filter:
    drop-shadow(0 0 8px rgba(255,255,255,.75))
    drop-shadow(0 0 18px rgba(255,255,255,.45))
    drop-shadow(0 0 32px rgba(255,220,230,.35));
}
.home-music-brand__icon .site-icon{display:block}
.home-music-brand__text{
  font-family:var(--detroit-font);
  font-size:clamp(1.35rem,5.2vw,2rem);font-weight:800;line-height:1;
  letter-spacing:-.03em;
  text-shadow:
    0 0 10px rgba(255,255,255,.85),
    0 0 22px rgba(255,255,255,.55),
    0 0 38px rgba(255,200,210,.45);
}

/* ── Radio card ── */
.home-tile-frame--radio{
  background:linear-gradient(160deg,#1c1c1e 0%,#2c2c2e 55%,#1a1a2e 100%);
}
.home-radio-card{
  position:absolute;inset:0;
  display:flex;flex-direction:column;justify-content:space-between;
  padding:14px 14px 14px;color:#fff;
}
.home-tile-frame[data-ken-burns="active"] .home-radio-card{transform:scale(1.03)}
.home-radio-card__hero{
  flex:1;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:12px;
  min-height:0;padding:4px 0 8px;
}
.home-radio-card__art{
  flex-shrink:0;
  width:clamp(5rem,16vw,6.5rem);height:clamp(5rem,16vw,6.5rem);
  border-radius:16px;overflow:hidden;
  box-shadow:0 8px 24px rgba(0,0,0,.4),0 0 0 1px rgba(255,255,255,.08);
}
.home-radio-card__art img{
  width:100%;height:100%;object-fit:cover;display:block;
  max-width:none!important;max-height:none!important;
}
.home-radio-card__wave{
  display:flex;align-items:flex-end;justify-content:center;gap:4px;
  width:100%;height:28px;
}
.home-radio-card__wave span{
  width:4px;border-radius:2px;
  height:var(--h,50%);
  background:linear-gradient(180deg,#a29bfe 0%,#5856d6 100%);
  opacity:calc(.55 + var(--wave-i, 0) * .06);
}
.home-radio-card__body{margin-top:auto;min-width:0}
.home-radio-card__kicker{
  margin:0 0 6px;display:flex;align-items:center;gap:5px;
  font-size:10px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:rgba(255,255,255,.45);
}
.home-radio-card__kicker i{font-size:11px;color:#a29bfe}
.home-radio-card__count{
  margin:0;font-family:var(--detroit-font);
  font-size:clamp(2.75rem,6vw,3.5rem);font-weight:800;
  line-height:1;letter-spacing:-.05em;color:#fff;
}
.home-radio-card__sub{
  margin:6px 0 0;font-size:10px;font-weight:500;
  letter-spacing:.04em;color:rgba(255,255,255,.45);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}

.home-tile-frame[data-ken-burns="active"] .home-tile-media__bg{transform:scale(1.06)}

.home-tile[data-accent="cycle"]{--tile-accent:#ffcc00}
.home-tile[data-accent="links"]{--tile-accent:#34c759}
.home-tile[data-accent="tools"]{--tile-accent:#007aff}
.home-tile[data-accent="music"]{--tile-accent:#af52de}
.home-tile[data-video-autoplay="1"] .home-tile-video{opacity:1}
.home-tile-frame:has(.home-tile-media__img) .home-tile-media__bg,
.home-tile-frame:has(.home-tile-video) .home-tile-media__bg{display:none}
.home-tile[data-accent="movie"]{--tile-accent:#111}
.home-tile[data-accent="radio"]{--tile-accent:#5856d6}
.home-tile[data-accent="moments"]{--tile-accent:#06ad56}
.home-tile[data-accent="geo"]{--tile-accent:#d9d9d9}
.home-tile[data-accent="blog"]{--tile-accent:#f59e0b}
.home-tile.is-hidden{display:none!important}

@media(max-width:991px){
  .home-cards-viewport{height:60%}
}
@media(max-width:767px){
  .home-cards-viewport{
    height:clamp(20rem,56vh,23.5rem);
    min-height:20rem;
  }
  .home-cards-track--mobile{
    padding-top:1.35rem;
    box-sizing:border-box;
  }
  .home-cards-track--mobile .home-tile{
    width:clamp(12.5rem,72vw,16.5rem);
    min-width:clamp(12.5rem,72vw,16.5rem);
    height:clamp(15.5rem,48vh,18.5rem);
    min-height:clamp(15.5rem,48vh,18.5rem);
  }
  .home-cards-track--mobile #home-time-widgets{
    height:clamp(18.5rem,52vh,21.5rem);
    min-height:clamp(18.5rem,52vh,21.5rem);
  }
  #home-time-widgets .home-tile-frame--time{
    padding:8px 10px;
    gap:4px;
    justify-content:flex-start;
    overflow:visible;
  }
  #home-time-widgets .home-tile-frame--time .home-tc-label{
    font-size:8px;
    letter-spacing:.14em;
    margin-bottom:3px;
  }
  #home-time-widgets .home-tile-frame--time .home-tc-time{
    font-size:1.3rem;
    min-width:0;
  }
  #home-time-widgets .home-tile-frame--time .home-tc-date{
    font-size:10px;
    margin-top:2px;
    line-height:1.35;
  }
  #home-time-widgets .home-tile-frame--time .home-tc-bar-bg{
    margin:2px 0 4px;
  }
  #home-time-widgets .home-tile-frame--time .home-tc-big{
    font-size:1rem;
  }
  #home-time-widgets .home-tile-frame--time .home-tc-unit,
  #home-time-widgets .home-tile-frame--time .home-tc-info{
    font-size:9px;
  }
  #home-time-widgets .home-tile-frame--time .home-tc-holiday-row{
    padding-top:5px;
    gap:6px;
  }
  #home-time-widgets .home-tile-frame--time .home-tc-holiday-name{
    font-size:12px;
  }
  #home-time-widgets .home-tile-frame--time .home-tc-holiday-date{
    font-size:9px;
    margin-top:2px;
  }
  #home-time-widgets .home-tile-frame--time .home-tc-more-list{
    font-size:9px;
  }
  #home-time-widgets .home-tile-frame--time .home-tc-more-item{
    padding:3px 0;
    gap:6px;
  }
}
