.time-main { padding: 52px 0 110px; }
.time-intro { display: flex; justify-content: space-between; gap: 28px; align-items: end; padding: 18px 0 50px; }
.time-intro h1 { max-width: 760px; margin: 18px 0 0; font: 800 clamp(42px, 6.5vw, 78px)/1 Inter, "PingFang SC", "Microsoft YaHei", sans-serif; letter-spacing: -.09em; }
.time-intro p { max-width: 320px; margin: 0; color: var(--page-muted); font-size: 15px; line-height: 1.7; }
.time-machine-browser { margin-bottom: 22px; padding: 24px; background: rgba(255,253,249,.62); border: 1px solid var(--page-line); border-radius: 15px 10px 16px 11px; }
.time-machine-browser-head { display: flex; justify-content: space-between; gap: 30px; align-items: end; margin-bottom: 18px; }
.time-machine-browser-head h2 { margin: 8px 0 0; font: 750 clamp(23px,3vw,34px)/1.1 Inter,"PingFang SC",sans-serif; letter-spacing: -.055em; }
.time-machine-browser-head p { max-width: 420px; margin: 0; color: var(--page-muted); font-size: 12px; line-height: 1.65; }
.time-machine-picker { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.time-machine-option { min-width: 0; padding: 14px; color: var(--page-muted); text-align: left; background: rgba(255,253,249,.65); border: 1px solid var(--page-line); border-radius: 9px 12px 8px 10px; cursor: pointer; transition: color 140ms ease,background 180ms ease,border-color 180ms ease,transform 140ms ease-out; }
.time-machine-option span,.time-machine-option small { display: block; font: 9px/1.4 var(--page-mono); }
.time-machine-option strong { display: -webkit-box; min-height: 38px; margin: 7px 0; overflow: hidden; color: var(--page-ink); font: 650 13px/1.45 Inter,"PingFang SC",sans-serif; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.time-machine-option:hover,.time-machine-option.active { color: var(--page-brand); background: var(--page-soft); border-color: var(--page-violet); }
.time-machine-option.active { box-shadow: inset 3px 0 0 var(--page-violet); }
.time-machine-option:active { transform: scale(.98); }
.time-machine-option:focus-visible { outline: 3px solid rgba(139,124,246,.35); outline-offset: 2px; }
.time-machine-stage { min-height: 620px; }
.time-machine-empty { padding: 40px; border: 1px solid var(--page-line); }
.time-lab { display: grid; grid-template-columns: minmax(250px, .7fr) minmax(0, 1.3fr); min-height: 620px; overflow: hidden; background: var(--page-ink); border: 1px solid var(--page-ink); border-radius: 22px 15px 24px 14px; box-shadow: 12px 14px 0 rgba(90,80,188,.17); }
.time-rail { display: flex; flex-direction: column; padding: 30px 26px; background: rgba(255,253,249,.05); border-right: 1px solid rgba(255,253,249,.16); }
.time-rail-label { color: var(--page-coral); font: 10px var(--page-mono); letter-spacing: .15em; }
.time-rail h2 { margin: 24px 0 13px; color: var(--page-paper); font: 700 29px/1.1 Inter, "PingFang SC", "Microsoft YaHei", sans-serif; letter-spacing: -.06em; }
.time-rail-copy { margin: 0; color: rgba(255,253,249,.64); font-size: 14px; line-height: 1.7; }
.tm-events { position: relative; display: grid; gap: 0; margin-top: 42px; }
.tm-events::before { content: ""; position: absolute; left: 7px; top: 8px; bottom: 8px; width: 1px; background: linear-gradient(var(--page-coral), rgba(255,253,249,.18) 70%, var(--page-violet)); }
.tm-event-button { position: relative; z-index: 1; display: grid; grid-template-columns: 16px 1fr; gap: 12px; padding: 10px 0; color: rgba(255,253,249,.52); text-align: left; background: transparent; border: 0; cursor: pointer; }
.tm-event-dot { width: 15px; height: 15px; margin-top: 2px; border: 1px solid rgba(255,253,249,.62); border-radius: 50%; background: var(--page-ink); transition: background 180ms ease, border-color 180ms ease, transform 180ms ease; }
.tm-event-button:hover .tm-event-dot, .tm-event-button.active .tm-event-dot { background: var(--page-coral); border-color: var(--page-paper); transform: scale(1.14); }
.tm-event-button.active { color: var(--page-paper); }
.tm-event-date { display: block; margin-bottom: 3px; font: 10px var(--page-mono); }
.tm-event-name { display: block; font-size: 13px; line-height: 1.35; }
.tm-controls { display: flex; align-items: center; gap: 10px; margin-top: auto; padding-top: 30px; }
.tm-play, .tm-step { width: 38px; height: 34px; display: grid; place-items: center; color: var(--page-paper); background: rgba(255,253,249,.1); border: 1px solid rgba(255,253,249,.26); border-radius: 9px; cursor: pointer; transition: background 180ms ease, transform 140ms ease-out; }
.tm-play:hover, .tm-step:hover { background: rgba(139,124,246,.72); }
.tm-play:active, .tm-step:active { transform: scale(.96); }
.tm-range-wrap { flex: 1; }
.tm-range { width: 100%; accent-color: var(--page-violet); cursor: pointer; }
.tm-range-label { display: flex; justify-content: space-between; color: rgba(255,253,249,.42); font: 9px var(--page-mono); }

.time-card-panel { position: relative; display: grid; grid-template-rows: 1fr auto; min-width: 0; padding: 30px; background: linear-gradient(135deg, rgba(255,253,249,.98), rgba(238,239,255,.96)); color: var(--page-ink); }
.tm-card-top { display: flex; justify-content: space-between; gap: 18px; align-items: start; }
.tm-kicker { color: var(--page-brand); font: 10px var(--page-mono); letter-spacing: .14em; }
.tm-status { padding: 6px 9px; color: var(--page-ink); background: var(--page-coral); border: 1px solid var(--page-ink); border-radius: 999px; font: 10px var(--page-mono); }
.tm-card-body { position: relative; z-index: 2; align-self: center; max-width: 680px; padding: 20px 0 10px; }
.tm-card-body h2 { max-width: 720px; margin: 0 0 16px; font: 700 clamp(31px, 4.6vw, 58px)/1.04 Inter, "PingFang SC", "Microsoft YaHei", sans-serif; letter-spacing: -.08em; }
.tm-card-body p { max-width: 620px; margin: 0; color: var(--page-muted); font-size: 16px; line-height: 1.75; }
.tm-evidence-list { display: grid; gap: 8px; margin-top: 24px; }
.tm-evidence { display: flex; gap: 9px; align-items: baseline; color: var(--page-ink); font-size: 13px; line-height: 1.45; }
.tm-evidence::before { content: "↗"; color: var(--page-brand); font: 11px var(--page-mono); }
.tm-chart { position: absolute; inset: 0 0 0 auto; width: min(62%, 560px); opacity: .88; pointer-events: none; }
.tm-chart-grid { position: absolute; inset: 18% 7% 23% 8%; background-image: linear-gradient(rgba(38,32,94,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(38,32,94,.08) 1px, transparent 1px); background-size: 25% 25%; mask-image: linear-gradient(90deg, transparent, black 25%, black 100%); }
.tm-chart svg { position: absolute; inset: 16% 4% 19% 8%; width: 92%; height: 65%; overflow: visible; }
.tm-chart .chart-area { fill: url(#tmArea); opacity: .24; }
.tm-chart .chart-line { fill: none; stroke: var(--page-brand); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 520; stroke-dashoffset: calc(520 - (520 * var(--tm-progress, 0) / 100)); transition: stroke-dashoffset 420ms cubic-bezier(.23,1,.32,1); }
.tm-chart .chart-line-secondary { fill: none; stroke: var(--page-coral); stroke-width: 1.5; stroke-linecap: round; stroke-dasharray: 4 7; opacity: .75; }
.tm-chart .chart-node { fill: var(--page-paper); stroke: var(--page-brand); stroke-width: 2; transition: transform 250ms ease, fill 180ms ease; transform-origin: center; }
.tm-chart .chart-node.active { fill: var(--page-coral); transform: scale(1.35); }
.tm-chart-legend { position: absolute; right: 30px; bottom: 26px; display: flex; gap: 12px; color: var(--page-muted); font: 9px var(--page-mono); }
.tm-chart-legend span { display: inline-flex; align-items: center; gap: 5px; }
.tm-chart-legend i { width: 14px; height: 2px; display: inline-block; background: var(--page-brand); }
.tm-chart-legend i.coral { background: var(--page-coral); }

.tm-fact-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 14px; }
.tm-fact { padding: 15px 16px; border: 1px solid var(--page-line); border-radius: 12px; background: rgba(255,253,249,.56); }
.tm-fact span { display: block; color: var(--page-muted); font: 10px var(--page-mono); }
.tm-fact strong { display: block; margin-top: 7px; color: var(--page-brand); font: 700 23px/1 Inter, sans-serif; }
.tm-next { margin-top: 44px; padding: 24px 0 0; border-top: 1px solid var(--page-line); }
.tm-next-label { color: var(--page-brand); font: 10px var(--page-mono); letter-spacing: .14em; }
.tm-next p { max-width: 720px; margin: 12px 0 0; font: 600 21px/1.4 Inter, "PingFang SC", "Microsoft YaHei", sans-serif; letter-spacing: -.04em; }

@media (max-width: 900px) {
  .time-machine-picker { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .time-lab { grid-template-columns: 1fr; }
  .time-rail { border-right: 0; border-bottom: 1px solid rgba(255,253,249,.16); }
  .tm-events { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; margin-top: 28px; }
  .tm-events::before { top: 8px; right: 0; bottom: auto; width: auto; height: 1px; }
  .tm-event-button { grid-template-columns: 1fr; gap: 8px; padding-right: 6px; }
  .tm-event-name { max-width: 100px; }
  .tm-chart { width: 75%; opacity: .4; }
}
@media (max-width: 560px) {
  .time-machine-browser { padding: 18px; }
  .time-machine-browser-head { display: block; }
  .time-machine-browser-head p { margin-top: 12px; }
  .time-machine-picker { grid-template-columns: 1fr; }
  .time-intro { display: block; padding: 16px 0 38px; }
  .time-intro p { margin-top: 20px; }
  .time-lab { border-radius: 17px 12px 18px 11px; }
  .time-rail, .time-card-panel { padding: 22px; }
  .tm-events { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tm-card-body { padding-top: 82px; }
  .tm-chart { inset: 90px 0 auto auto; width: 100%; height: 220px; opacity: .26; }
  .tm-chart-grid { inset: 0 8% 0 20%; }
  .tm-chart svg { inset: 0 4% 0 20%; height: 100%; }
  .tm-chart-legend { right: 22px; bottom: 18px; }
  .tm-fact-strip { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .tm-event-dot, .tm-play, .tm-step, .tm-chart .chart-line, .tm-chart .chart-node { transition: none !important; }
}

.tm-validation-overview { margin-top: 46px; padding: 28px 0 0; border-top: 1px solid var(--page-line); }
.tm-validation-overview h2 { max-width: 720px; margin: 20px 0 12px; color: var(--page-ink); font: 700 32px/1.1 Inter, "PingFang SC", "Microsoft YaHei", sans-serif; letter-spacing: -.06em; }
.tm-validation-overview > p { max-width: 720px; margin: 0; color: var(--page-muted); font-size: 15px; line-height: 1.7; }
.tm-validation-cases { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-top: 25px; }
.tm-validation-case { padding: 18px; background: rgba(255,253,249,.72); border: 1px solid var(--page-line); border-radius: 12px 9px 14px 8px; }
.tm-validation-case-top { display: flex; justify-content: space-between; gap: 12px; color: var(--page-brand); font: 10px var(--page-mono); }
.tm-validation-case-top strong { color: #7a513d; font-weight: 500; }
.tm-validation-case h3 { margin: 18px 0 8px; color: var(--page-ink); font: 700 20px/1.2 Inter, "PingFang SC", "Microsoft YaHei", sans-serif; letter-spacing: -.04em; }
.tm-validation-case p { margin: 0; color: var(--page-muted); font-size: 13px; line-height: 1.6; }
.tm-validation-case a { display: inline-block; margin-top: 14px; color: var(--page-brand); font: 10px var(--page-mono); text-decoration: none; border-bottom: 1px solid currentColor; }
@media(max-width:700px) { .tm-validation-cases { grid-template-columns: 1fr; } }
