*,:before,:after{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;margin:0;font-family:Inter,sans-serif}#root{width:100%;min-height:100vh}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--green:#2eb170;--green-dark:#259a60;--dark:#1a1a1a;--text:#444;--muted:#888;--border:#00000017;--bg:#fff;--bg-subtle:#f7f8f7;--radius:14px;--radius-sm:6px;--shadow:0 2px 3px #0000001f;--shadow-md:0 4px 12px #0000001a;color:var(--text);background:var(--bg);font-family:Inter,sans-serif}.app{max-width:1280px;margin:0 auto;padding:0 0 48px}.app-header{border-bottom:1px solid var(--border);align-items:center;gap:14px;padding:14px 24px;display:flex}.app-logo{flex-shrink:0;width:auto;height:36px}.app-title{color:var(--dark);letter-spacing:-.02em;font-size:1.4rem;font-weight:700}.app-subtitle{color:var(--muted);margin-top:2px;font-size:.8rem}.main-layout{grid-template-columns:285px 1px 285px 1px 1fr;height:50rem;display:grid}.panel-wrap{height:100%;padding:20px 18px 24px;overflow-y:auto}.panel-divider{background:var(--border);width:1px}.config-panel-header{align-items:center;gap:10px;margin-bottom:14px;display:flex}.config-badge{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:.8rem;font-weight:700;display:inline-flex}.config-badge--1{background:var(--dark);color:#fff}.config-badge--2{color:var(--dark);border:2px dashed var(--dark);background:0 0}.config-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:flex}.config-toggle input{display:none}.config-toggle-track{background:#ddd;border-radius:99px;flex-shrink:0;width:36px;height:20px;transition:background .15s;position:relative}.config-toggle input:checked+.config-toggle-track{background:var(--green)}.config-toggle-thumb{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0003}.config-toggle input:checked~.config-toggle-track .config-toggle-thumb,.config-toggle input:checked+.config-toggle-track .config-toggle-thumb{transform:translate(16px)}.config-toggle-label{color:var(--muted);font-size:.78rem}.config-panel--disabled .config-toggle-label{color:var(--muted)}.config-fields--hidden{opacity:.35;pointer-events:none;-webkit-user-select:none;user-select:none}.app-header-link{color:inherit;align-items:center;gap:14px;text-decoration:none;transition:opacity .15s;display:flex}.app-header-link:hover{opacity:.75}.app-footer{border-top:1px solid var(--border);justify-content:center;padding:12px 24px;display:flex}.app-footer-link{color:var(--muted);align-items:center;gap:8px;font-size:.75rem;text-decoration:none;transition:color .15s;display:flex}.app-footer-link:hover{color:var(--dark)}.app-footer-logo{opacity:.6;width:auto;height:18px}.app-footer-link:hover .app-footer-logo{opacity:1}.lang-selector{align-items:center;gap:4px;margin-left:auto;display:flex}.lang-btn{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;color:var(--muted);background:0 0;align-items:center;gap:4px;padding:4px 8px;font-family:Inter,sans-serif;font-size:.72rem;font-weight:500;transition:background .1s,color .1s,border-color .1s;display:flex}.lang-btn:hover{background:var(--bg-subtle);color:var(--dark)}.lang-btn--active{background:var(--dark);color:#fff;border-color:var(--dark)}.lang-flag{font-size:.85rem;line-height:1}.lang-label{letter-spacing:.04em}.config-name-row{margin-bottom:10px}.config-name-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-subtle);width:100%;color:var(--dark);padding:5px 8px;font-family:Inter,sans-serif;font-size:.82rem;font-weight:600;transition:border-color .125s}.config-name-input:focus{border-color:var(--green);background:#fff;outline:none}.config-panel{flex-direction:column;display:flex}.config-fields{flex-direction:column;gap:3px;display:flex}.field-group-title{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);border-bottom:1px solid var(--border);margin-top:12px;margin-bottom:2px;padding-bottom:4px;font-size:.68rem;font-weight:700}.field-group-title--with-toggle{justify-content:space-between;align-items:center;display:flex}.aero-mode-switch{cursor:pointer;align-items:center;gap:5px;display:flex}.aero-mode-switch input{display:none}.aero-mode-switch input:checked+.config-toggle-track{background:var(--green)}.aero-mode-switch input:checked+.config-toggle-track .config-toggle-thumb{transform:translate(16px)}.aero-mode-label{color:var(--muted);text-transform:none;letter-spacing:0;font-size:.65rem;font-weight:400}.cda-label-wrap{flex:1;align-items:center;gap:5px;display:flex}.cda-help-btn{background:var(--bg-subtle);border:1px solid var(--border);width:16px;height:16px;color:var(--muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;font-family:Inter,sans-serif;font-size:.65rem;font-weight:700;line-height:1;transition:background .12s,color .12s;display:flex}.cda-help-btn:hover{background:var(--green);color:#fff;border-color:var(--green)}.cda-helper{z-index:9999;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);background:#fff;flex-direction:column;gap:4px;min-width:260px;padding:8px;display:flex}.cda-helper-title{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:2px;padding:2px 4px 6px;font-size:.68rem;font-weight:700;display:flex}.cda-helper-link{text-transform:none;letter-spacing:0;color:var(--green);font-size:.62rem;font-weight:400;line-height:1;text-decoration:none;transition:color .12s}.cda-helper-link:hover{color:var(--green-dark)}.cda-preset-btn{border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:7px 8px;font-family:Inter,sans-serif;transition:background .1s;display:flex}.cda-preset-btn:hover{background:var(--bg-subtle)}.cda-preset-label{color:var(--text);text-align:left;font-size:.79rem}.cda-preset-value{color:var(--green);white-space:nowrap;font-size:.79rem;font-weight:600}.air-density-helper{min-width:240px}.air-density-inputs{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;display:grid}.air-density-col{flex-direction:column;gap:4px;display:flex}.air-density-label{color:var(--muted);font-size:.68rem;font-weight:500}.air-density-result{background:var(--bg-subtle);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;margin-bottom:8px;padding:6px 8px;display:flex}.air-density-result-label{color:var(--muted);font-size:.75rem}.air-density-result-value{color:var(--green);font-size:.82rem;font-weight:700}.air-density-apply{background:var(--green);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;width:100%;padding:7px;font-family:Inter,sans-serif;font-size:.8rem;font-weight:600;transition:background .12s}.air-density-apply:hover{background:var(--green-dark)}.field-row{justify-content:space-between;align-items:center;gap:8px;padding:3px 0;display:flex}.field-label{color:var(--text);white-space:nowrap;flex:1;font-size:.79rem}.field-input-wrap{align-items:center;gap:4px;display:flex}.field-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-subtle);width:80px;color:var(--dark);padding:5px 8px;font-family:Inter,sans-serif;font-size:.79rem;transition:border-color .125s}.field-input:focus{border-color:var(--green);background:#fff;outline:none}.field-unit{color:var(--muted);text-align:left;width:36px;font-size:.7rem}.total-row{background:var(--bg-subtle);border-radius:var(--radius-sm);margin-top:2px;padding:4px 6px}.field-total{color:var(--green);font-size:.82rem;font-weight:600}.chart-area{flex-direction:column;gap:10px;height:100%;padding:20px 20px 8px;display:flex;overflow:hidden}.chart-container{border:1px solid var(--border);border-radius:var(--radius);min-height:0;box-shadow:var(--shadow);background:#fff;flex:1;padding:16px;position:relative}.chart-legend-note{color:var(--muted);align-items:center;gap:12px;margin-bottom:4px;font-size:.75rem;display:flex}.legend-line{background:var(--dark);vertical-align:middle;width:28px;height:2px;display:inline-block}.legend-dashed{background:repeating-linear-gradient(to right, var(--dark) 0, var(--dark) 5px, transparent 5px, transparent 8px)}.legend-note{color:var(--muted);text-align:center;font-size:.72rem}.pinned-tooltips-area{z-index:10;pointer-events:all;flex-flow:wrap;gap:6px;max-width:calc(100% - 70px);display:flex;position:absolute;top:70px;left:90px}.pinned-tooltip{color:#333;background:#fff;border:1px solid #0000001a;border-radius:8px;min-width:140px;padding:0 9px 7px;font-family:Inter,sans-serif;font-size:10px;box-shadow:0 2px 10px #0000001a}.pinned-tooltip-header{border-bottom:1px solid #00000012;justify-content:space-between;align-items:center;margin-bottom:4px;padding:5px 0 4px;display:flex}.pinned-tooltip-speed{color:#111;font-size:11px;font-weight:700}.pinned-tooltip-close{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 0 0 6px;font-size:.85rem;line-height:1;transition:color .1s}.pinned-tooltip-close:hover{color:#e53e3e}.tt-subheader{color:#aaa;gap:3px;margin-bottom:2px;padding-left:11px;font-size:9px;display:flex}.tt-row{align-items:center;gap:3px;padding:1px 0;display:flex}.tt-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.tt-label-col{color:#555;flex:1;min-width:54px}.tt-val-col{text-align:right;color:#111;font-variant-numeric:tabular-nums;min-width:32px}.tt-val-solo{color:#111;font-weight:600}.tt-sep{color:#ccc;font-size:9px}.tt-delta-col{text-align:right;font-variant-numeric:tabular-nums;min-width:52px;font-weight:600}.tt-delta-pct{opacity:.85;font-size:8px}.tt-col-head{color:#aaa;font-size:9px}.tire-table-portal{z-index:9999}.tire-table-wrap{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);background:#fff;flex-direction:column;width:480px;font-family:Inter,sans-serif;display:flex;overflow:hidden}.tire-table-header{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:8px 10px 6px;display:flex}.tire-table-title{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);flex:1;font-size:.68rem;font-weight:700}.tire-table-close{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:1rem;line-height:1;transition:color .1s}.tire-table-close:hover{color:#e53e3e}.tire-filter-input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-subtle);color:var(--dark);outline:none;margin:6px 8px;padding:5px 8px;font-family:Inter,sans-serif;font-size:.75rem}.tire-filter-input:focus{border-color:var(--green);background:#fff}.tire-table-scroll{max-height:260px;overflow-y:auto}.tire-table{border-collapse:collapse;width:100%;font-size:.75rem}.tire-th{background:var(--bg-subtle);text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border-bottom:1px solid var(--border);padding:5px 8px;font-size:.65rem;font-weight:700;position:sticky;top:0}.tire-th:hover{color:var(--dark)}.tire-th-brand{width:90px}.tire-th-crr{text-align:right;width:70px}.tire-th-link{width:28px}.tt-sort-arrow{margin-left:3px;font-size:.6rem}.tt-sort-neutral{opacity:.35}.tire-tr{cursor:pointer;transition:background 80ms}.tire-tr:hover{background:var(--bg-subtle)}.tire-td{color:var(--text);white-space:nowrap;border-bottom:1px solid #0000000a;padding:4px 8px}.tire-td-brand{color:var(--muted);font-size:.7rem}.tire-td-model{text-overflow:ellipsis;max-width:220px;overflow:hidden}.tire-td-crr{text-align:right;font-variant-numeric:tabular-nums;color:var(--green);font-weight:600}.tire-td-link{text-align:center}.tire-link-btn{color:var(--muted);font-size:.7rem;text-decoration:none;transition:color .1s}.tire-link-btn:hover{color:var(--green)}.crr-tire-label{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;padding:1px 2px 3px;font-size:.68rem;overflow:hidden}.tire-empty{text-align:center;color:var(--muted);padding:12px;font-size:.75rem}@media (width<=900px){.main-layout{height:auto;min-height:unset;grid-template-columns:1fr}.panel-divider{width:auto;height:1px}.panel-wrap{height:auto;overflow-y:visible}.chart-area{height:auto;padding:16px}.chart-container{height:50rem;min-height:360px}}
