:root{--bg: #f0f2f5;--surface: #ffffff;--border: #d1d9e0;--header: #0f172a;--accent: #e30613;--text: #0f172a;--muted: #64748b;--green: #16a34a;--amber: #d97706;--red: #dc2626;--purple: #7c3aed;--mono: "Share Tech Mono", monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:Barlow,sans-serif;min-height:100vh}header{height:56px;background:var(--header);border-bottom:3px solid var(--accent);display:flex;align-items:center;padding:0 24px;gap:16px;position:sticky;top:0;z-index:100}.logo{font-family:Barlow Condensed,sans-serif;font-weight:900;font-size:22px;letter-spacing:.08em;color:#fff;text-transform:uppercase;display:flex;align-items:center;gap:10px}.logo-diamond{width:10px;height:10px;background:var(--accent);transform:rotate(45deg);flex-shrink:0}.session-name{font-family:Barlow Condensed,sans-serif;font-size:15px;font-weight:600;color:#ffffffb3;letter-spacing:.08em;text-transform:uppercase}.spacer{flex:1}.status-wrap{display:flex;align-items:center;gap:8px}.dot{width:9px;height:9px;border-radius:50%;background:#475569;transition:background .4s}.dot.live{background:var(--green);box-shadow:0 0 8px var(--green);animation:blink 1.4s infinite}.dot.relay{background:#3b82f6;box-shadow:0 0 6px #3b82f6}.dot.stale{background:var(--amber)}.dot.error{background:var(--red)}@keyframes blink{0%,to{opacity:1}50%{opacity:.35}}.status-lbl{font-family:Barlow Condensed,sans-serif;font-size:12px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#94a3b8}.flag-bar{height:8px;background:#94a3b8;transition:background .5s}.flag-bar.green{background:var(--green)}.flag-bar.yellow{background:var(--amber);animation:fBlink .6s infinite alternate}.flag-bar.red{background:var(--red);animation:fBlink .4s infinite alternate}.flag-bar.check{background:repeating-linear-gradient(90deg,#000 0,#000 14px,#fff 14px,#fff 28px)}@keyframes fBlink{0%{opacity:1}to{opacity:.3}}.records{display:flex;gap:3px;margin-bottom:16px}.record{flex:1;padding:8px 16px;background:var(--surface);border:1px solid var(--border);border-radius:6px}.record-lbl{font-size:9px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}.record-val{font-family:var(--mono);font-size:18px;color:var(--purple);font-weight:700}.record-sub{font-size:10px;color:var(--muted);margin-top:2px}.main-layout{display:flex;align-items:flex-start;min-height:calc(100vh - 100px)}.feed-col{flex:1;padding:16px 20px 60px;min-width:0}.sessions-col{flex:1;min-width:0;background:var(--surface);border-left:1px solid var(--border);padding:16px 16px 60px;overflow-y:auto;position:sticky;top:56px;max-height:calc(100vh - 100px)}.sessions-header{font-family:Barlow Condensed,sans-serif;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);padding-bottom:10px;margin-bottom:12px;border-bottom:2px solid var(--border)}#sessions-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;align-items:start}.session-card{border:1px solid var(--border);border-radius:14px;overflow:hidden;margin-bottom:0;box-shadow:0 2px 8px #0000000f}.session-card-top{background:var(--header);border-top:4px solid var(--accent);padding:16px;display:flex;justify-content:space-between;align-items:stretch;gap:0}.session-stat{flex:1;text-align:center;padding:0 8px}.session-stat+.session-stat{border-left:1px solid rgba(255,255,255,.12)}.session-stat-val{font-family:Barlow Condensed,sans-serif;font-size:32px;font-weight:900;color:#fff;line-height:1;letter-spacing:.02em}.session-stat-lbl{font-family:Barlow Condensed,sans-serif;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#ffffff73;margin-top:4px}.session-qr-wrap{background:#fff;padding:16px 0;display:flex;justify-content:center;align-items:center;border-top:1px solid var(--border)}.session-qr-wrap canvas,.session-qr-wrap img{display:block;margin:0 auto}.session-qr-hint{display:flex;align-items:center;justify-content:center;gap:8px;font-family:Barlow Condensed,sans-serif;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding:10px 16px;border-top:1px solid var(--border);background:var(--surface)}.session-link{color:var(--accent);text-decoration:none;font-weight:900;border:2px solid var(--accent);border-radius:20px;padding:2px 12px;transition:all .15s}.session-link:hover{background:var(--accent);color:#fff}.sessions-empty{font-size:13px;color:var(--muted);text-align:center;padding:24px 0}.wrap{padding:16px 20px 60px;overflow-x:auto}table{width:100%;border-collapse:collapse;table-layout:fixed}thead tr{background:var(--surface);border-bottom:2px solid var(--border)}thead th{font-family:Barlow Condensed,sans-serif;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:10px 12px;text-align:left}thead th.r{text-align:right}tbody tr{border-bottom:1px solid var(--border);transition:background .15s}tbody tr:nth-child(odd){background:var(--surface)}tbody tr:nth-child(2n){background:#f8fafc}tbody tr.flash{animation:rowFlash .7s ease-out}@keyframes rowFlash{0%{background:#fef9c3}to{background:transparent}}td{padding:11px 12px;font-size:14px;vertical-align:middle}.c-num{width:60px}.c-last,.c-best{width:140px}.c-best{text-align:right}.c-laps{width:65px;text-align:right}.c-gap{width:95px;text-align:right}.c-age{width:75px;text-align:right}.kart-badge{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;font-family:var(--mono);font-size:16px;font-weight:700;background:var(--header);color:#fff;border:2px solid var(--border)}.lap-time{font-family:var(--mono);font-size:15px;font-weight:700;color:var(--text)}.lap-time.fastest{color:var(--purple)}.lap-time.best{color:var(--green)}.mono{font-family:var(--mono)}.muted{color:var(--muted)}.gap,.age{font-family:var(--mono);font-size:12px;color:var(--muted)}.age.overdue{color:var(--red);font-weight:700}tr.kart-row{cursor:pointer;-webkit-user-select:none;user-select:none}tr.kart-row:hover{background:#e8edf4!important}tr.detail-row{background:#f1f5f9!important;border-bottom:2px solid var(--border)}tr.detail-row td{padding:10px 14px 12px}.lap-detail{display:flex;flex-wrap:wrap;gap:.35rem .6rem}.detail-lap{font-family:var(--mono);font-size:12px;color:var(--muted);white-space:nowrap;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:2px 7px}.detail-lap b{color:var(--text);font-weight:700}.detail-lap.fastest b{color:var(--purple)}.detail-lap .dn{opacity:.5;font-size:10px;margin-right:2px}.detail-loading{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:12px;height:12px;border:2px solid var(--border);border-top-color:var(--muted);border-radius:50%;animation:spin .7s linear infinite;display:inline-block}.en{display:block;font-size:9px;font-weight:400;color:var(--muted);letter-spacing:.08em;margin-top:1px;opacity:.75}thead th .en{font-size:8px}.record-lbl .en,.session-stat-lbl .en{font-size:8px;letter-spacing:.08em}.empty{text-align:center;padding:80px 20px;color:var(--muted)}.empty .ico{font-size:48px;margin-bottom:16px}.empty h2{font-family:Barlow Condensed,sans-serif;font-size:24px;font-weight:700;margin-bottom:8px;color:var(--text)}.empty p{font-size:14px}footer{position:fixed;bottom:0;left:0;right:0;height:36px;background:var(--header);border-top:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:space-between;padding:0 24px;font-size:11px;color:#64748b;font-family:Barlow Condensed,sans-serif;letter-spacing:.08em}@media(min-width:769px){.feed-col{flex:2}.sessions-col{flex:1;min-width:300px;max-width:400px}}@media(max-width:960px){.main-layout{flex-direction:column;align-items:stretch}.feed-col{width:100%}.sessions-col{flex:none;width:100%;border-left:none;border-top:1px solid var(--border);max-height:none;padding-bottom:80px;position:static}#sessions-list{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}@media(max-width:600px){.c-gap,.c-age{display:none}table{table-layout:auto}.c-num,.c-last,.c-best,.c-laps{width:auto}td,thead th{padding:9px 8px;font-size:13px}.kart-badge{width:32px;height:32px;font-size:15px}.lap-time{font-size:13px}}
