.aj-timeline-app {
    --aj-border: rgba(150, 150, 150, 0.15);
    --aj-bad-bg: #1c2c42;   
    --aj-ok-bg: #e5e5ea;
    --aj-good-bg: #ffffff;
    --aj-orange: #ff9500;
    position: fixed !important;
    left: 0 !important; right: 0 !important; bottom: 0 !important;
    z-index: 99999 !important;
    background: transparent !important; 
    font-family: -apple-system, sans-serif;
    display: flex; flex-direction: column; overflow: hidden; overscroll-behavior: none;
}
.aj-marker-wrapper { position: absolute; top: 0; bottom: 0; left: 130px; right: 0; overflow: hidden; pointer-events: none; z-index: 20; }
.aj-fixed-marker { position: absolute; top: 4px; bottom: 4px; width: 54px; border: 2px solid var(--aj-orange); background: rgba(255, 149, 0, 0.1); border-radius: 8px; opacity: 0; transition: left 0.3s cubic-bezier(0.25, 1, 0.5, 1); }
.aj-viewport { width: 100%; height: 100%; overflow: auto; scroll-snap-type: x mandatory; scroll-padding-left: 130px; display: flex; flex-direction: column; scrollbar-width: none; padding-bottom: env(safe-area-inset-bottom, 50px); }
.aj-viewport::-webkit-scrollbar { display: none; }
.aj-row { display: flex; width: max-content; min-width: 100%; min-height: 52px; border-bottom: 1px solid var(--aj-border); }
.aj-city-col { position: sticky; left: 0; z-index: 40; width: 130px; flex-shrink: 0; background: rgba(255, 255, 255, 0.08); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-right: 1px solid var(--aj-border); display: flex; flex-direction: column; justify-content: center; padding: 0 10px; }
.aj-city-name { font-size: 14px; font-weight: 700; }
.aj-live-time { font-size: 11px; font-weight: 600; color: #8e8e93; }
.aj-time-track { display: flex; align-items: center; gap: 4px; }
.aj-spacer { flex-shrink: 0; }
.aj-cell { width: 50px; height: calc(100% - 12px); display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 600; border-radius: 6px; scroll-snap-align: center; }
.aj-state-bad { background: var(--aj-bad-bg); color: #fff; }
.aj-state-ok { background: var(--aj-ok-bg); color: #000 !important; }
.aj-state-good { background: var(--aj-good-bg); color: #000; }
@media (prefers-color-scheme: dark) {
    .aj-city-col { background: rgba(0, 0, 0, 0.08); }
    .aj-state-good { background: #48484a; color: #fff; }
    .aj-state-ok { background: #a1a1a6; }
}
