.login-wrap{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(1200px 600px at 50% -10%,rgba(47,191,160,.1),transparent 60%),var(--bg)}.login-card{width:100%;max-width:340px;display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:32px 28px 28px;background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.login-logo{height:52px;width:auto;align-self:center;margin-bottom:4px}.login-title{align-self:center;font-size:22px;font-weight:800;letter-spacing:.07em}.login-sub{align-self:center;font-size:12px;color:var(--muted);margin-bottom:6px}.login-field{display:flex;flex-direction:column;gap:6px}.login-field>span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.login-field>input{background:var(--panel-3);color:var(--text);border:1px solid var(--line-2);border-radius:8px;padding:10px 12px;font-size:14px;outline:none;font-family:var(--font-ui)}.login-field>input:focus{border-color:var(--accent-dim)}.login-btn{margin-top:6px;padding:11px 12px;background:var(--accent);color:#05221c;border:none;border-radius:8px;font-size:14px;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:filter .15s ease,opacity .15s ease}.login-btn:hover:not(:disabled){filter:brightness(1.08)}.login-btn:disabled{opacity:.5;cursor:not-allowed}.login-err{padding:9px 12px;border-radius:8px;font-size:12.5px;background:#f0506e1f;border:1px solid rgba(240,80,110,.4);color:var(--overdue)}.auth-checking{min-height:100%;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:13px}.signout{background:transparent;color:var(--muted);border:1px solid var(--line-2);border-radius:8px;padding:7px 12px;font-size:12px;font-weight:600;cursor:pointer;font-family:var(--font-ui);transition:color .15s ease,border-color .15s ease}.signout:hover{color:var(--text);border-color:var(--accent-dim)}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2) format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2) format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2) format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2) format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2) format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2) format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2) format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-cyrillic-700-normal-CjBOestx.woff2) format("woff2"),url(/assets/inter-cyrillic-700-normal-DrXBdSj3.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2) format("woff2"),url(/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-greek-700-normal-C3JjAnD8.woff2) format("woff2"),url(/assets/inter-greek-700-normal-BUv2fZ6O.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2) format("woff2"),url(/assets/inter-vietnamese-700-normal-BZaoP0fm.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2) format("woff2"),url(/assets/inter-latin-ext-700-normal-TidjK2hL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-cyrillic-ext-800-normal-BZOjs1Xv.woff2) format("woff2"),url(/assets/inter-cyrillic-ext-800-normal-Ca-gJeZY.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-cyrillic-800-normal-C7MGvYyJ.woff2) format("woff2"),url(/assets/inter-cyrillic-800-normal-CCHyn08d.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-greek-ext-800-normal-B--PVpEC.woff2) format("woff2"),url(/assets/inter-greek-ext-800-normal-DUe57HfS.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-greek-800-normal-CLIouy3y.woff2) format("woff2"),url(/assets/inter-greek-800-normal-BU00tryP.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-vietnamese-800-normal-Cm7tD1pz.woff2) format("woff2"),url(/assets/inter-vietnamese-800-normal-DDlpr_Ee.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-latin-ext-800-normal-DZJjya6U.woff2) format("woff2"),url(/assets/inter-latin-ext-800-normal-BOMpwxm3.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/inter-latin-800-normal-BYj_oED-.woff2) format("woff2"),url(/assets/inter-latin-800-normal-D1mf63XC.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #0a0e14;--panel: #0e141d;--panel-2: #121b26;--panel-3: #16212e;--line: #1e2a38;--line-2: #26374a;--text: #e8eef4;--muted: #8090a0;--muted-2: #5d6b7a;--accent: #2fbfa0;--accent-dim: #1d7d68;--ok: #35d29a;--due: #f0b429;--overdue: #f0506e;--nodata: #3a4656;--best-bg: #123f37;--best-fg: #4fe0b8;--worst-bg: #3a1620;--worst-fg: #ff6f89;--shadow: 0 6px 24px rgba(0, 0, 0, .35);--font-num: ui-monospace, "SF Mono", SFMono-Regular, Menlo, "Roboto Mono", "DejaVu Sans Mono", monospace;--font-ui: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:13px/1.4 var(--font-ui);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.app{min-height:100%;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,var(--panel-2),var(--panel))}.brand{display:flex;align-items:center;gap:14px}.brand-logo{height:46px;width:auto;flex:0 0 auto;display:block}.brand-title{font-size:20px;font-weight:800;letter-spacing:.06em;display:flex;align-items:center;gap:10px}.brand-sub{font-size:11px;color:var(--muted);margin-top:2px}.live-dot{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--accent)}.live-dot:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 #2fbfa0b3;animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 0 #2fbfa099}70%{box-shadow:0 0 0 7px #2fbfa000}to{box-shadow:0 0 #2fbfa000}}.topbar-right{display:flex;align-items:center;gap:16px;color:var(--muted);font-size:13px}.topbar-right .clock{color:var(--text);font-family:var(--font-num);font-variant-numeric:tabular-nums}.when{display:inline-flex;align-items:center;gap:8px;color:var(--text)}.when svg{color:var(--muted)}.vsep{color:var(--line-2)}.updated{color:var(--muted)}.updated b{color:var(--text);font-weight:600}.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;font-size:12px;font-weight:600}.badge.due{background:#f0b4291f;color:var(--due);border:1px solid rgba(240,180,41,.35)}.badge.live{color:var(--accent)}.badge.demo{background:#f0b42929;color:var(--due);border:1px solid rgba(240,180,41,.5);font-size:10px;padding:3px 8px;letter-spacing:.08em}.badge.ghost{border:1px solid var(--line-2);color:var(--muted)}.badge.ghost:hover{color:var(--text);border-color:var(--accent-dim)}.filters{display:flex;align-items:flex-end;gap:18px;padding:16px 20px;flex-wrap:wrap}.filter{display:flex;flex-direction:column;gap:6px}.filter>label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}select,input.search,.interval select{background:var(--panel-3);color:var(--text);border:1px solid var(--line-2);border-radius:8px;padding:9px 12px;font-size:13px;min-width:150px;outline:none}select:focus,input.search:focus{border-color:var(--accent-dim)}input.search{min-width:230px}.filters .spacer{flex:1}.datectl{display:flex;align-items:center;gap:2px;background:var(--panel-3);border:1px solid var(--line-2);border-radius:8px;padding:3px 6px}.dayval{display:inline-flex;align-items:center;gap:8px;padding:5px 8px;font-size:13px;color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}.dayval svg{color:var(--muted)}.dayselect{background:transparent;border:none;color:var(--text);cursor:pointer;font-size:13px;padding:5px 6px;font-variant-numeric:tabular-nums;max-width:220px}.dayselect:focus{outline:none}.daynav{background:transparent;border:none;color:var(--muted);cursor:pointer;font-size:18px;line-height:1;padding:4px 8px;border-radius:6px}.daynav:hover{color:var(--text);background:#ffffff12}.meta-right{display:flex;align-items:center;gap:18px;color:var(--muted)}.meta-right b{color:var(--text)}.interval{display:flex;align-items:center;gap:8px}.interval select{min-width:70px}.grid-wrap{overflow-x:auto;overflow-y:visible;padding:0 20px 8px}table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%}thead th{position:sticky;top:0;z-index:2;background:var(--panel-2)}table.monitor td,table.monitor th{border-bottom:1px solid var(--line);border-right:1px solid var(--line);white-space:nowrap}table.monitor th{padding:8px 10px;font-size:11px;color:var(--muted);text-align:center;font-weight:600}table.monitor td{padding:9px 10px;text-align:center;font-variant-numeric:tabular-nums}.id-col{position:sticky;z-index:1;background:var(--panel);text-align:left!important}thead .id-col{z-index:4;background:var(--panel-2)}.c-country{left:0;width:64px}.c-course{left:64px;width:150px}.c-rno{left:214px;width:54px;text-align:center!important}.c-time{left:268px;width:104px}.course-cell{display:flex;align-items:center;gap:8px}.flag-img{display:inline-block;object-fit:cover;border-radius:3px;box-shadow:0 0 0 1px #ffffff2e,0 1px 3px #00000080;vertical-align:middle}.flag-sm{width:22px;height:16px}.flag-lg{width:44px;height:32px;border-radius:5px;box-shadow:0 0 0 2px #ffffffd9,0 2px 6px #0000008c}.start{font-family:var(--font-num);color:var(--accent);font-weight:700;letter-spacing:-.02em}.start.soon{color:var(--due)}.start.off{color:var(--overdue)}.book-head{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:58px}.book-head img{height:22px;max-width:54px;object-fit:contain;border-radius:3px;background:#fff1;padding:2px 3px}.book-head .code{font-size:9px;color:var(--muted-2);letter-spacing:.04em}.book-head.off{opacity:.5}.fresh{font-family:var(--font-num);font-weight:700;font-size:13px;letter-spacing:-.02em}.fresh.ok{color:var(--ok)}.fresh.due{color:var(--due)}.fresh.overdue{color:var(--overdue)}.fresh.nodata{color:var(--nodata)}.fresh.listed{color:var(--muted-2)}.start-cell{display:flex;flex-direction:column;line-height:1.15}.start-clock{font-family:var(--font-num);font-weight:700;letter-spacing:-.02em}.start-cell .start{font-size:11px;font-weight:600}.open-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--line-2);border-radius:8px;color:var(--muted)}.open-btn:hover{color:var(--text);border-color:var(--accent-dim);background:var(--panel-3)}tbody tr:hover td{background:#ffffff08}tbody tr:hover .id-col{background:var(--panel-3)}.footbar{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;color:var(--muted);border-top:1px solid var(--line);margin-top:auto}.legend{display:flex;gap:18px}.legend-item{display:inline-flex;align-items:center;gap:7px;font-size:12px}.dot{width:9px;height:9px;border-radius:50%}.dot.ok{background:var(--ok)}.dot.due{background:var(--due)}.dot.overdue{background:var(--overdue)}.dot.nodata{background:var(--nodata)}.healthbar{display:flex;align-items:center;gap:14px;padding:8px 20px;border-top:1px solid var(--line);background:var(--panel);font-size:12px}.healthbar-title{color:var(--muted);white-space:nowrap;flex:0 0 auto}.healthbar-title b{font-weight:700}.healthbar-title .hb-ok{color:var(--ok)}.healthbar-title .hb-warn,.healthbar-title .hb-down-count{color:var(--overdue)}.healthbar-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center;overflow-x:auto;min-width:0}.hb-chip{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:999px;border:1px solid var(--line-2);color:var(--muted);font-weight:600;letter-spacing:.02em;cursor:default;white-space:nowrap}.hb-chip.up{color:var(--text);border-color:var(--accent-dim)}.hb-chip.live{color:var(--text);border-color:#f0b42973}.hb-chip.down{color:var(--overdue);border-color:#f0506e8c;background:#f0506e14}.hb-chip.off{color:var(--muted-2);border-color:var(--line);opacity:.65}.hb-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto}.hb-dot.up{background:var(--ok);box-shadow:0 0 0 3px #35d29a26}.hb-dot.live{background:var(--due)}.hb-dot.down{background:var(--overdue)}.hb-dot.off{background:var(--nodata)}.crumbs{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.crumbs .sep{color:var(--muted-2)}.crumbs .here{color:var(--accent);font-weight:600}.race-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:18px 20px;border-bottom:1px solid var(--line);background:var(--panel);flex-wrap:wrap}.race-id{display:flex;flex-direction:column;gap:8px}.race-title-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.race-id h1{margin:0;font-size:22px;font-weight:650;display:flex;align-items:center;gap:11px;letter-spacing:.01em}.race-facts{display:flex;align-items:baseline;gap:12px;color:var(--text);font-size:16px;font-weight:450}.race-facts i{color:var(--line-2);font-style:normal;font-weight:400}.race-sub{color:var(--muted);font-size:14px}.race-nav-wrap{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.btn-meetings{display:inline-flex;align-items:center;gap:8px;background:#1f7ac2;color:#fff;border:none;border-radius:8px;padding:9px 14px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit}.btn-meetings:hover{background:#2b8ad6}.btn-meetings:active{background:#1a6aa8}.starts-in{display:inline-flex;align-items:center;gap:9px;background:var(--panel-3);border:1px solid var(--line-2);border-radius:10px;padding:7px 13px}.starts-in .clock{color:var(--muted);flex:0 0 auto}.si-text{display:flex;flex-direction:column;line-height:1.05}.si-text .lab{color:var(--muted);font-size:11px}.si-text .val{font-family:var(--font-num);font-size:19px;font-weight:800;color:var(--accent);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.race-nav{display:flex;gap:6px}.race-nav a{padding:8px 12px;border-radius:8px;border:1px solid var(--line-2);color:var(--muted);font-weight:600;font-size:13px}.race-nav a.active{background:var(--accent);color:#05221c;border-color:var(--accent)}.race-nav a:hover:not(.active){color:var(--text);border-color:var(--accent-dim)}.tabs{display:flex;gap:4px;padding:14px 20px 0}.tab{padding:10px 16px;border-radius:8px 8px 0 0;color:var(--muted);font-weight:600;cursor:pointer;border:1px solid transparent;border-bottom:none}.tab.active{color:var(--accent);border-color:var(--line);background:var(--panel);border-bottom:2px solid var(--accent)}table.pricegrid td,table.pricegrid th{border-bottom:1px solid var(--line);border-right:1px solid var(--line)}table.pricegrid th{padding:8px;background:var(--panel-2);font-size:11px;color:var(--muted)}table.pricegrid .col-book{text-align:center}.bookcol{display:flex;flex-direction:column;align-items:stretch;min-width:62px}.bookcol.off{opacity:.55}.logoblock{width:100%;height:64px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:4px;padding:0}.booklogo{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;display:block}.code-lg{font-weight:800;color:#fff;font-size:12px;text-shadow:0 1px 2px rgba(0,0,0,.5)}.bookmeta{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 2px 3px}.bookmeta .ts{font-family:var(--font-num);font-size:11px;color:#c9d6e2;font-variant-numeric:tabular-nums;letter-spacing:-.03em}.bookmeta .code{font-size:11px;color:#f0f5fa;font-weight:700;letter-spacing:.04em}table.pricegrid th.col-book{padding:6px 4px 0;vertical-align:top}table.monitor th.col-book{padding:0;vertical-align:bottom}.bookcol.band .logoblock{height:68px;border-radius:0;padding:0}.cell{position:relative}.cellwrap{display:inline-flex;align-items:center;gap:4px;justify-content:center;position:relative;z-index:1}.fluc-ic{color:var(--muted-2);flex:0 0 auto}.cell.flash-up:after,.cell.flash-down:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;opacity:0;pointer-events:none;animation:flashfade 5s ease-out forwards}.cell.flash-up:after{background:#35d29a}.cell.flash-down:after{background:#ff5470}@keyframes flashfade{0%{opacity:.55}12%{opacity:.5}to{opacity:0}}.cell.clickable:hover .fluc-ic{color:var(--accent)}.cell.empty .fluc-ic{color:var(--nodata)}.r-no{width:42px;text-align:center;color:var(--muted)}.r-name{text-align:left;min-width:190px}.runner{display:flex;align-items:center;gap:10px;padding:4px 8px}.silk{width:18px;height:18px;border-radius:4px;flex:0 0 auto;box-shadow:inset 0 0 0 1px #0006}.pricegrid .id-col{position:sticky;background:var(--panel);z-index:1}.pricegrid thead .id-col{z-index:4;background:var(--panel-2)}.pc-rno{left:0}.pc-name{left:42px}.cell{text-align:center;padding:6px 3px;font-variant-numeric:tabular-nums}.cell .dec{font-family:var(--font-num);font-weight:700;font-size:14px;letter-spacing:-.02em}.cell.susp{background:repeating-linear-gradient(45deg,#1a222e,#1a222e 5px,#141b25 5px,#141b25 10px);color:var(--muted-2)}.cell.empty{color:var(--nodata)}.cell .spark{display:block;margin:3px auto 0;opacity:.7}.total-row td{background:var(--panel-2);font-weight:700;border-top:2px solid var(--line-2)}.total-row .id-col{background:var(--panel-2)}.total{font-family:var(--font-num);color:var(--text);font-weight:700;font-variant-numeric:tabular-nums}.loading,.error{padding:40px 20px;color:var(--muted)}.error{color:var(--overdue)}.cell.clickable{cursor:pointer}.cell.clickable:hover{outline:1px solid var(--accent-dim);outline-offset:-1px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;padding:24px;display:flex;align-items:center;justify-content:center;background:#04080cb8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade .15s ease}@keyframes fade{0%{opacity:0}to{opacity:1}}.modal{width:min(880px,96vw);overflow:hidden;border-radius:16px;background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line-2);box-shadow:var(--shadow);animation:rise .18s ease}@keyframes rise{0%{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:15px 20px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,var(--panel-3),transparent)}.modal-title{font-weight:800;letter-spacing:.03em;font-size:15px}.modal-close{background:transparent;border:none;color:var(--muted);font-size:22px;line-height:1;cursor:pointer;padding:2px 9px;border-radius:8px}.modal-close:hover{color:var(--text);background:var(--panel-3)}.modal-body{padding:14px 16px 18px}.fluc-chart{width:100%;display:block}.fluc-chart .ax{fill:var(--muted-2);font-size:11px}.fluc-chart .val{fill:var(--text);font-size:11px;font-weight:700}.fluc-tip{fill:var(--panel-3);stroke:var(--line-2)}.fluc-chart .tip-t{fill:var(--muted);font-size:11px}.fluc-chart .tip-v{fill:var(--accent);font-size:13px;font-weight:800}.fluc-empty{padding:60px 20px;text-align:center;color:var(--muted)}.modal-wide{width:min(1080px,96vw)}.meet-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:4px 2px 14px;border-bottom:1px solid var(--line);margin-bottom:10px}.meet-filters label{color:var(--muted);font-size:12px}.meet-filters select{min-width:90px;padding:7px 10px}.meet-filters .spacer{flex:1}.meet-date{background:var(--panel-3);color:var(--text);border:1px solid var(--line-2);border-radius:8px;padding:7px 10px;font-size:13px;width:155px;font-family:var(--font-num);color-scheme:dark;cursor:pointer}.meet-date:focus{outline:none;border-color:var(--accent-dim)}.meet-date::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.75}.meet-date::-webkit-calendar-picker-indicator:hover{opacity:1}.meet-search{background:var(--panel-3);color:var(--text);border:1px solid var(--line-2);border-radius:8px;padding:7px 10px;font-size:13px;min-width:190px}.btn-refresh{background:#2e9e5b;color:#fff;border:none;border-radius:7px;padding:7px 11px;font-size:15px;line-height:1;cursor:pointer}.btn-refresh:hover{background:#38b76b}.btn-clear{background:#d8912f;color:#fff;border:none;border-radius:7px;padding:6px 11px;font-size:16px;line-height:1;cursor:pointer}.btn-clear:hover{background:#e8a343}.meet-wrap{max-height:58vh;overflow:auto}table.meetings{width:100%;border-collapse:separate;border-spacing:0}table.meetings th{position:sticky;top:0;background:var(--panel-2);text-align:left;padding:9px 10px;font-size:11px;color:var(--muted);font-weight:600;border-bottom:1px solid var(--line-2)}table.meetings td{padding:9px 10px;border-bottom:1px solid var(--line);font-size:13px}table.meetings tbody tr:hover td{background:#ffffff08}table.meetings .mid,table.meetings .mtime{font-family:var(--font-num);color:var(--muted)}.mraces a{color:var(--accent);cursor:pointer;margin-right:10px;font-family:var(--font-num);font-size:13px}.mraces a:hover{text-decoration:underline}.mraces a.current{color:var(--overdue);text-decoration:underline;font-weight:700}.meet-empty{color:var(--muted);text-align:center;padding:26px 10px}.crumbrow{display:flex;align-items:center;gap:16px;padding:10px 20px}.crumbrow .crumbs{flex:0 0 auto}.njbar{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:8px}.njarrow{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:26px;height:36px;padding:0;border-radius:8px;border:1px solid var(--line-2);background:var(--panel-3);color:var(--muted);font-size:20px;line-height:1;font-weight:700;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease,opacity .15s ease}.njarrow:hover:not(:disabled){color:var(--text);border-color:var(--accent-dim);background:var(--panel-2)}.njarrow:disabled{opacity:.28;cursor:default}.njbar-track{flex:1 1 auto;min-width:0;display:flex;align-items:stretch;gap:10px;overflow-x:auto;overflow-y:hidden;padding-bottom:3px;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}.njbar-track::-webkit-scrollbar{height:6px}.njbar-track::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:999px}.njbar-track::-webkit-scrollbar-track{background:transparent}.njcard{flex:0 0 auto;display:flex;align-items:center;gap:11px;padding:7px 12px;border-radius:10px;border:1px solid var(--line-2);background:var(--panel-3);transition:border-color .15s ease,background .15s ease,transform .15s ease}.njcard:hover{border-color:var(--accent-dim);background:var(--panel-2);transform:translateY(-1px)}.njcard-dis{color:var(--text);flex:0 0 auto}.njcard:hover .njcard-dis{color:var(--accent)}.njcard-rno{flex:0 0 auto;padding:3px 8px;border-radius:7px;border:1px solid var(--accent-dim);background:#2fbfa01f;color:var(--accent);font-size:13px;font-weight:800;font-variant-numeric:tabular-nums}.njcard-body{display:flex;flex-direction:column;gap:2px;line-height:1.15}.njcard-venue{font-size:12.5px;font-weight:650;letter-spacing:.01em;color:var(--text);white-space:nowrap}.njcard-cd{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:13px;font-weight:700;letter-spacing:-.02em;color:var(--accent)}.njcard-cd.soon{color:var(--due)}.njcard-cd.imminent{color:var(--overdue)}.njcard-cty{flex:0 0 auto;align-self:center;padding:3px 6px;border-radius:6px;border:1px solid var(--line);background:#ffffff0d;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.06em}.njcard.is-soon{border-color:#f0b42973}.njcard.is-imminent{border-color:#f0506e8c;background:#f0506e14}
