*{box-sizing:border-box;margin:0;padding:0}body{background:#0f0f0f;color:#e0e0e0;font-family:Segoe UI,system-ui,sans-serif;font-size:14px}h1{font-size:1.1rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}h2{font-size:.85rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#888;margin-bottom:.75rem}button{cursor:pointer;border:none;border-radius:4px;padding:.35rem .75rem;font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;transition:opacity .15s}button:hover{opacity:.85}button:disabled{opacity:.4;cursor:not-allowed}input,select{background:#1e1e1e;border:1px solid #333;border-radius:4px;color:#e0e0e0;padding:.3rem .5rem;font-size:.85rem}.pill{display:inline-block;padding:.15rem .5rem;border-radius:99px;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.pill-ok{background:#14532d;color:#86efac}.pill-warn{background:#713f12;color:#fde68a}.pill-error{background:#7f1d1d;color:#fca5a5}.pill-neutral{background:#1e1e1e;color:#888}.nav-link{color:#9ca3af;text-decoration:none;border:1px solid #2d2d2d;border-radius:6px;padding:.35rem .65rem;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}.nav-link:hover{color:#e5e7eb;border-color:#4b5563}.timing-page{min-height:100vh;padding:1rem;background:radial-gradient(circle at top right,#162032,#0b0f18,#090909)}.template-editor-page{min-height:100vh;padding:1rem;background:radial-gradient(circle at top right,rgba(202,138,4,.14),transparent 24%),radial-gradient(circle at bottom left,rgba(29,78,216,.18),transparent 32%),linear-gradient(180deg,#0a1018,#080b11)}.template-editor-topbar{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.template-editor-subtitle{color:#93a7bf;font-size:.82rem;margin-top:.3rem}.template-editor-nav{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.template-editor-shell{display:grid;grid-template-columns:260px minmax(0,1fr);gap:1rem;min-height:calc(100vh - 6.5rem)}.template-editor-sidebar,.template-editor-main{min-height:0}.template-editor-panel,.template-editor-workbench{border:1px solid rgba(59,82,115,.65);background:#080e16db;border-radius:14px;box-shadow:0 18px 48px #00000047}.template-editor-panel{padding:.85rem;margin-bottom:.9rem}.template-editor-label{color:#7d93af;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:.6rem}.template-editor-sidebar select,.template-editor-scale select{width:100%}.template-editor-files{display:flex;flex-direction:column;gap:.45rem}.template-editor-file{width:100%;display:flex;justify-content:space-between;align-items:center;padding:.65rem .75rem;background:#0f1926f2;border:1px solid rgba(42,56,77,.9);border-radius:10px;color:#dbe8f6;text-transform:none;letter-spacing:0}.template-editor-file.is-active{background:linear-gradient(135deg,#1d4ed85c,#2563eb1f);border-color:#60a5fad9}.template-editor-file-lang{color:#8fabc7;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}.template-editor-variant-actions{margin-top:.55rem;display:grid;grid-template-columns:1fr 1fr;gap:.4rem}.template-editor-element-list{display:grid;grid-template-columns:1fr;gap:.25rem}.template-editor-element-toggle{justify-content:flex-start;font-size:.75rem}.template-editor-drag-row{margin-top:.45rem;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.4rem;align-items:center}.template-editor-empty,.template-editor-meta{color:#94a3b8;font-size:.78rem;line-height:1.45}.template-editor-status{color:#dbe7f5;font-size:.84rem;line-height:1.5;margin-bottom:.45rem}.template-editor-status.is-dirty{color:#fcd34d}.template-editor-status.is-clean{color:#93c5fd}.template-editor-workbench{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.template-editor-toolbar{display:flex;justify-content:space-between;gap:.75rem;align-items:center;padding:.85rem 1rem;border-bottom:1px solid rgba(45,62,87,.8);flex-wrap:wrap}.template-editor-toolbar-group{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.template-editor-chip{display:inline-flex;align-items:center;padding:.28rem .65rem;border-radius:999px;background:#1e293bf2;color:#e7eef7;font-size:.74rem;letter-spacing:.06em;text-transform:uppercase}.template-editor-chip.is-muted{color:#99adca;background:#0f1726cc}.template-editor-toggle,.template-editor-scale{display:inline-flex;align-items:center;gap:.4rem;color:#cad7e6;font-size:.78rem}.template-editor-grid{min-height:0;display:grid;grid-template-columns:minmax(380px,1fr) minmax(420px,1.1fr)}.template-editor-editor-pane,.template-editor-preview-pane{min-height:0}.template-editor-editor-pane{border-right:1px solid rgba(45,62,87,.8);background:#060a12e6}.template-editor-textarea{width:100%;height:100%;min-height:0;resize:none;border:0;border-radius:0;background:linear-gradient(180deg,#0a0f18fa,#080b12fa);color:#e5eef8;padding:1rem;font-family:JetBrains Mono,Fira Mono,Consolas,monospace;font-size:.84rem;line-height:1.55}.template-editor-preview-pane{padding:1rem;background:linear-gradient(45deg,rgba(255,255,255,.02) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.02) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(255,255,255,.02) 75%),linear-gradient(-45deg,transparent 75%,rgba(255,255,255,.02) 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0}.template-editor-preview-stage{width:100%;height:100%;min-height:560px;border-radius:16px;border:1px solid rgba(58,79,107,.95);background:#020509;overflow:hidden;position:relative}.template-editor-preview-stage:before,.template-editor-preview-stage:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0;transition:opacity .18s ease}.template-editor-preview-stage:before{border:2px dashed rgba(88,166,255,.6);top:5%;right:5%;bottom:5%;left:5%}.template-editor-preview-stage:after{background-image:linear-gradient(to right,rgba(88,166,255,.28) 1px,transparent 1px),linear-gradient(to bottom,rgba(88,166,255,.28) 1px,transparent 1px);background-size:80px 80px}.template-editor-preview-stage.has-guides:before,.template-editor-preview-stage.has-guides:after{opacity:1}.template-editor-preview-viewport{width:100%;height:100%;overflow:auto}.template-editor-iframe{border:0;background:#000}.template-editor-preview-placeholder{height:100%;display:flex;align-items:center;justify-content:center;text-align:center;color:#94a3b8;padding:2rem;font-size:.9rem}@media (max-width: 1100px){.template-editor-shell{grid-template-columns:1fr}.template-editor-grid{grid-template-columns:1fr;grid-template-rows:minmax(300px,46vh) minmax(420px,1fr)}.template-editor-editor-pane{border-right:0;border-bottom:1px solid rgba(45,62,87,.8)}}@media (max-width: 720px){.template-editor-page{padding:.75rem}.template-editor-topbar{flex-direction:column}.template-editor-nav{width:100%;justify-content:flex-start}}.timing-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.timing-header-right{display:flex;align-items:center;gap:.6rem}.timing-subtitle{color:#98a2b3;font-size:.8rem}.timing-banner{margin-top:.8rem;padding:.6rem .75rem;border:1px solid #6b4e1f;background:#713f1266;color:#fde68a;border-radius:8px}.timing-meta{margin:.8rem 0;display:flex;justify-content:space-between;color:#aab5c5;font-size:.8rem}.timing-table-wrap{border:1px solid #263041;border-radius:10px;overflow:auto;background:#080d17db}.timing-table{width:100%;border-collapse:collapse;min-width:1500px}.timing-table thead th{position:sticky;top:0;background:#0f1726f7;color:#7a92b0;text-align:left;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;padding:.5rem .45rem;border-bottom:1px solid #2e3a4f;white-space:nowrap}.timing-table tbody td{padding:.4rem .45rem;border-bottom:1px solid #192231;font-size:.82rem;white-space:nowrap}.timing-table tbody tr:nth-child(odd){background:#ffffff05}.timing-table tbody tr:hover{background:#64b4ff0f}.row-in-pit td{opacity:.75}.row-finished td{opacity:.65;color:#9db0ca}.tc-mono{font-family:JetBrains Mono,Fira Mono,Consolas,monospace;font-size:.78rem}.tc-pos{width:2.4rem;text-align:center;font-weight:700}.tc-m{width:1.6rem;text-align:center;padding:0}.tc-nr{width:3rem;text-align:center;font-weight:600}.tc-eta{width:5rem;text-align:right}.tc-team{min-width:9rem;max-width:13rem;overflow:hidden;text-overflow:ellipsis}.tc-nat{width:2.2rem;text-align:center;font-size:1rem}.tc-flag{font-size:1.1rem}.tc-car{min-width:5rem;max-width:9rem;overflow:hidden;text-overflow:ellipsis}.tc-driver{min-width:8rem;max-width:12rem;overflow:hidden;text-overflow:ellipsis}.tc-cls{width:5.5rem}.tc-pic{width:2.4rem;text-align:center}.tc-gap{width:10rem;text-align:right}.tc-diff,.tc-last,.tc-best{width:6rem;text-align:right}.tc-in{width:2.4rem;text-align:center;color:#9db0ca}.tc-sect{width:5rem;text-align:right}.tc-logo{width:3.5rem;text-align:center;padding:.2rem .3rem}.tc-pit{width:2.6rem;text-align:center}.tc-lastpit,.tc-stint{width:5.5rem;text-align:right}.tc-s{width:3.5rem;text-align:center}.timing-table thead .tc-pos,.timing-table thead .tc-m,.timing-table thead .tc-nr,.timing-table thead .tc-pic,.timing-table thead .tc-pit,.timing-table thead .tc-in,.timing-table thead .tc-nat{text-align:center}.timing-table thead .tc-eta,.timing-table thead .tc-gap,.timing-table thead .tc-diff,.timing-table thead .tc-last,.timing-table thead .tc-best,.timing-table thead .tc-lastpit,.timing-table thead .tc-stint,.timing-table thead .tc-sect{text-align:right}.tc-best-val{color:#22d68a}.mfr-logo{display:block;width:100%;max-width:2.4rem;max-height:1.6rem;object-fit:contain;margin:0 auto;filter:brightness(0) invert(1);opacity:.85}.mfr-logo-text{font-size:.62rem;color:#7a92b0;display:block;text-align:center;line-height:1.6rem}.status-dot{display:inline-flex;align-items:center;justify-content:center;width:.65rem;height:.65rem;border-radius:50%}.status-dot--run{background:#22c55e;box-shadow:0 0 5px #22c55eb3}.status-dot--pit{background:transparent;color:#f59e0b;font-size:.7rem;font-weight:700;width:auto;height:auto;border-radius:0}.status-dot--fin{background:transparent;color:#9db0ca;font-size:.75rem;width:auto;height:auto;border-radius:0;opacity:.85}.class-pill{display:inline-block;padding:.1rem .42rem;border-radius:3px;font-size:.68rem;font-weight:700;letter-spacing:.04em;color:#fff;white-space:nowrap}.sector-bars{display:inline-flex;gap:2px;align-items:center}.sector-bar{display:inline-block;width:5px;height:14px;border-radius:2px;background:#2d3748;transition:background .2s}.sector-bar--live{background:#22c55e}.timing-empty{text-align:center;color:#4a5c70;padding:3rem;font-size:.9rem}
