/* 米白纸面上的精密信息仪表；只作用于顶部信息舱。 */
.academy-signal {
  --signal-ink: #234f45;
  --signal-muted: #718477;
  --signal-gold: #ba985b;
  position: relative;
  min-width: 0;
  padding: 11px 15px 9px;
  border: 1px solid #cdd7c7;
  border-radius: 15px;
  color: var(--signal-ink);
  background: linear-gradient(115deg, #ebeee2c9, #fffdf580 55%, #e9ede0aa);
  box-shadow: inset 0 2px 6px #2a493714, inset 0 -1px 0 #fff, 0 1px 0 #fff;
  isolation: isolate;
}
.academy-signal::before {
  content: "";
  pointer-events: none;
  position: absolute;
  inset: 0;
  border-radius: inherit;
  border: 1px solid transparent;
  box-shadow: 0 0 0 0 #c6ab7466;
  transition: border-color .3s, box-shadow .3s;
}
.academy-signal:hover::before, .academy-signal:focus-within::before {
  border-color: #bda06c8c;
  box-shadow: 0 0 15px #bda06c1c;
}
.signal-clockline, .signal-date, .signal-zone, .signal-feed, .signal-footer, .signal-controls {
  display: flex;
  align-items: center;
}
.signal-clockline { justify-content: space-between; gap: 8px; }
.signal-date { gap: 8px; white-space: nowrap; }
.signal-orbit { color: var(--signal-gold); font-size: 21px; line-height: 1; }
.signal-date time {
  font: 600 17px/1.2 ui-monospace, "SFMono-Regular", Menlo, monospace;
  font-variant-numeric: tabular-nums;
  letter-spacing: .04em;
  text-shadow: 0 1px #fff, 0 2px 1px #66847322;
}
.signal-weekday { color: var(--signal-muted); font-size: 10px; letter-spacing: .07em; }
.academy-signal button {
  appearance: none;
  cursor: pointer;
  color: inherit;
  border: 0;
  background: transparent;
  font: inherit;
}
.academy-signal .signal-zone { padding: 0; gap: 7px; border-radius: 4px; white-space: nowrap; }
[data-signal-clock] { display: inline-flex; font: 500 15px/1.2 ui-monospace, "SFMono-Regular", Menlo, monospace; font-variant-numeric: tabular-nums; }
[data-signal-clock] > span { display: inline-block; }
[data-signal-clock] .signal-digit-tick { animation: signal-digit .32s ease both; }
[data-signal-clock] .signal-colon { animation: signal-colon 2s ease-in-out infinite; color: var(--signal-gold); }
.signal-zone-name { font-size: 9px; color: var(--signal-muted); letter-spacing: .03em; }
.signal-feed { margin-top: 8px; gap: 9px; }
.signal-channel { display: inline-flex; align-items: center; gap: 5px; flex-shrink: 0; font-size: 10px; font-weight: 650; letter-spacing: .06em; }
.signal-channel i { width: 5px; height: 5px; border-radius: 50%; background: #5b8b65; box-shadow: 0 0 0 3px #5b8b6512; animation: signal-pulse 2.8s ease-in-out infinite; }
.signal-story { display: flex; gap: 5px; align-items: center; min-width: 0; flex: 1; color: var(--signal-ink); text-decoration: none; border-radius: 3px; }
.signal-story-copy { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; font-size: 12px; font-weight: 600; }
.signal-story-arrow { color: var(--signal-gold); font-size: 13px; transition: transform .2s; }
.signal-story:hover .signal-story-arrow { transform: translate(2px,-2px); }
.signal-story.is-entering { animation: signal-enter .4s cubic-bezier(.2,.7,.2,1) both; }
.signal-controls { gap: 2px; flex-shrink: 0; }
.academy-signal .signal-controls button { width: 23px; height: 24px; padding: 0; border: 1px solid #cbd6c3; border-radius: 6px; background: #fafbf580; box-shadow: inset 0 1px #fff, 0 2px 0 #bdcbb66b; font-size: 15px; transition: background .2s, transform .2s; }
.academy-signal .signal-controls button:hover { background: #fffdf2; transform: translateY(-1px); }
.academy-signal .signal-controls button:active { transform: translateY(1px); }
.academy-signal [data-signal-pause] { font-size: 10px; }
.academy-signal button:focus-visible, .signal-story:focus-visible { outline: 2px solid var(--signal-gold); outline-offset: 3px; }
.signal-footer { justify-content: space-between; gap: 8px; margin-top: 5px; font-size: 9px; color: var(--signal-muted); letter-spacing: .035em; }
[data-signal-meta] { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.signal-counter { font-family: ui-monospace, "SFMono-Regular", Menlo, monospace; color: var(--signal-gold); white-space: nowrap; }
.signal-progress { position: absolute; bottom: -1px; left: 18px; right: 18px; height: 2px; overflow: hidden; background: #a8b49b26; }
.signal-progress span { display: block; height: 100%; width: 100%; background: linear-gradient(90deg, #91aa8d55, #b99b60); transform: scaleX(0); transform-origin: left; }
.signal-sr { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip-path: inset(50%); }
@keyframes signal-digit { from { transform: translateY(-4px); opacity: .3; } to { transform: translateY(0); opacity: 1; } }
@keyframes signal-colon { 50% { opacity: .3; } }
@keyframes signal-pulse { 50% { box-shadow: 0 0 0 4px #5b8b6508; opacity: .6; } }
@keyframes signal-enter { from { transform: translateY(7px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
@media (min-width: 1251px) {
  .academy-gallery .site-header .header-inner { grid-template-columns: auto minmax(0,1fr) auto; gap: 9px 24px; }
  .academy-gallery .site-header .brand { max-width: 215px; }
  .academy-gallery .site-header .header-actions { grid-column: 3; }
  .academy-signal { grid-column: 2; grid-row: 1; width: 100%; box-sizing: border-box; max-width: 650px; justify-self: center; }
}
@media (max-width: 1250px) {
  .academy-gallery .site-header .header-inner { display: grid; grid-template-columns: auto 1fr; gap: 12px; }
  .academy-gallery .site-header .brand { grid-column: 1; grid-row: 1; }
  .academy-gallery .site-header .header-actions { grid-column: 2; grid-row: 1; justify-self: end; }
  .academy-signal { grid-column: 1 / -1; grid-row: 2; }
}
@media (max-width: 600px) {
  .academy-gallery .site-header .header-inner { grid-template-columns: minmax(0,1fr); gap: 9px; }
  .academy-gallery .site-header .brand { grid-column: 1; grid-row: 1; }
  .academy-gallery .site-header .header-actions { grid-column: 1; grid-row: 2; justify-self: center; }
  .academy-signal { grid-row: 3; padding: 9px 10px 8px; }
  .signal-date { gap: 5px; }
  .signal-date time { font-size: 14px; }
  .signal-orbit { font-size: 17px; }
  .signal-weekday { font-size: 9px; }
  [data-signal-clock] { font-size: 12px; }
  .signal-zone { flex-direction: column; gap: 1px !important; align-items: flex-end; }
  .signal-zone-name { font-size: 8px; }
  .signal-feed { gap: 6px; margin-top: 5px; }
  .signal-channel { font-size: 9px; letter-spacing: 0; }
  .signal-story-copy { font-size: 11px; }
  .signal-controls { gap: 2px; }
  .academy-signal .signal-controls button { width: 22px; height: 26px; }
  .signal-footer { font-size: 8px; }
}
html[data-theme="dark"] .academy-signal { --signal-ink: #d4e5d7; --signal-muted: #9aad9e; --signal-gold: #c9ae74; border-color: #3f5b4c; background: linear-gradient(115deg, #19372b, #223e32 55%, #183126); box-shadow: inset 0 2px 6px #0003, inset 0 -1px #50694877; }
html[data-theme="dark"] .signal-date time { text-shadow: 0 1px 2px #0006; }
html[data-theme="dark"] .academy-signal .signal-controls button { border-color: #48624f; background: #294334; box-shadow: inset 0 1px #60715b44, 0 2px #0d2118; }
html[data-theme="dark"] .academy-signal .signal-controls button:hover { background: #3b5541; }
@media (prefers-reduced-motion: reduce) {
  .academy-signal *, .academy-signal::before { animation: none !important; transition: none !important; }
}
@media (min-width: 601px) {
  .signal-date time { font-size: 19px; }
  [data-signal-clock] { font-size: 16px; }
  .signal-story-copy { font-size: 13px; }
  .signal-channel { font-size: 11px; }
  .signal-footer { font-size: 10px; }
}
