:root {
            --light-gray: #f1f3f5;
            --text-muted: #6c757d;
            --shadow: 0 4px 12px rgba(0,0,0,0.08);
            --code-bg: rgba(70, 130, 180, 0.05);
        }
        @media (prefers-color-scheme: dark) {
            :root {
                --bg-body: #1a1d20;
                --text-color: #e9ecef;
                --card-bg: #2c3034;
                --border-color: #495057;
                --primary-color: #5a9bc7;
                --accent-color: #f8f9fa;
                --light-gray: #343a40;
                --text-muted: #adb5bd;
                --shadow: 0 4px 12px rgba(0,0,0,0.4);
                --code-bg: rgba(90, 155, 199, 0.15);
            }
        }
        .tool-header h1 {
            color: var(--text-color);
        }
        .preset-btn {
            background-color: var(--light-gray);
            border: 1px solid var(--border-color);
            border-radius: 20px;
            padding: 0.25rem 0.75rem;
            font-size: 0.8rem;
            cursor: pointer;
            transition: all 0.2s;
            color: var(--text-color);
        }
        .preset-btn:hover {
            background-color: var(--primary-color);
            color: #fff;
            border-color: var(--primary-color);
        }
        .gas-table input {
            width: 100%;
            padding: 0.25rem 0.4rem;
            border: 1px solid var(--border-color);
            border-radius: 4px;
            background: var(--bg-body);
            color: var(--text-color);
            font-size: 0.9rem;
        }
        .gas-table input:focus {
            border-color: var(--primary-color);
            outline: none;
            box-shadow: 0 0 0 0.2rem rgba(70, 130, 180, 0.25);
        }
        .total-frac.valid { color: #28a745; }
        .total-frac.invalid { color: #dc3545; }
        .result-card {
            background: var(--light-gray);
            border-radius: 8px;
            padding: 1.25rem;
            margin: 0.5rem 0 1.25rem 0;
            color: var(--text-color);
        }
        .gas-color-dot {
            display: inline-block;
            width: 14px;
            height: 14px;
            border-radius: 50%;
            margin-right: 6px;
            vertical-align: middle;
        }
        .chart-container canvas {
            display: block;
            width: 100%;
            height: auto;
            cursor: pointer;
        }
        #chartTooltip {
            display: none;
            position: absolute;
            background: var(--card-bg);
            border: 1px solid var(--border-color);
            border-radius: 4px;
            padding: 6px 12px;
            font-size: 0.85rem;
            box-shadow: var(--shadow);
            color: var(--text-color);
            pointer-events: none;
            z-index: 10;
        }
        .steps-container {
            background: var(--code-bg);
            border-radius: 8px;
            padding: 1.2rem;
            margin: 1rem 0;
            font-family: monospace;
            font-size: 0.95rem;
            color: var(--text-color);
        }
        .steps-container .step-item {
            padding: 0.25rem 0;
            border-bottom: 1px dashed var(--border-color);
        }
        .steps-container .step-item:last-child {
            border-bottom: none;
        }
        @media (prefers-color-scheme: dark) {
            }
        @media (prefers-color-scheme: dark) {
            }
        .legend-bar {
            display: flex;
            flex-wrap: wrap;
            gap: 0.75rem 1.5rem;
            justify-content: center;
            margin: 0.5rem 0 0 0;
            font-size: 0.85rem;
            color: var(--text-color);
        }
        @media print {
            .navbar, .footer, .btn, .preset-group, .no-print, #searchIconWrapper, .breadcrumb {
                display: none !important;
            }
            .result-card {
                background: #f5f5f5 !important;
            }
            }
        .btn-outline-primary {
            border-color: var(--primary-color);
            color: var(--primary-color);
        }
        .btn-outline-primary:hover {
            background-color: var(--primary-color);
            color: #fff;
        }
        .table {
            color: var(--text-color);
            border-color: var(--border-color);
        }
        .table-striped>tbody>tr:nth-of-type(odd)>* {
            background-color: var(--light-gray);
        }
        .table-bordered {
            border-color: var(--border-color);
        }
        .nav-link, .breadcrumb-item a {
            color: var(--primary-color);
        }