
    /* --- H-LIFT INDUSTRIAL THEME VARIABLES --- */
    :root {
        --primary-blue: #003366; /* Deep Navy Blue */
        --secondary-blue: #e7f1ff;
        --safety-orange: #e67e23;  /* Safety Orange */
        --text-main: #333333;
        --text-light: #555555;
        --bg-light: #f8f9fa;
        --border-color: #e0e0e0;
    }

    /* Global Styles */
    * { box-sizing: border-box; }
    body {
        font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
        color: var(--text-main);
        line-height: 1.6;
        margin: 0;
        padding: 20px;
        background-color: #ffffff;
        font-size: 16px;
    }
    .container { max-width: 1000px; margin: 0 auto; } /* Narrower for readable text lines */

    /* Header Section */
    .page-header {
        border-bottom: 4px solid var(--primary-blue);
        padding-bottom: 20px;
        margin-bottom: 30px;
        text-align: center;
    }
    .page-header h1 {
        color: var(--primary-blue);
        font-size: 32px;
        margin: 0 0 10px 0;
        font-family: 'Cambria', serif;
    }
    .sub-header {
        color: var(--text-light);
        font-weight: 600;
        font-size: 18px;
    }

    /* Important / TL;DR Box */
    .intro-box {
        background-color: #EBF8FF; /* Light Blue */
        border: 1px solid #BEE3F8;
        border-left: 6px solid var(--primary-blue);
        padding: 25px;
        margin-bottom: 40px;
        border-radius: 6px;
        font-size: 17px;
    }
    
    .intro-box strong { color: var(--primary-blue); }

    /* --- Definition Grid --- */
    .definition-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 30px;
        margin-bottom: 40px;
    }

    @media (max-width: 768px) {
        .definition-grid { grid-template-columns: 1fr; }
    }

    .def-card {
        border: 1px solid var(--border-color);
        border-radius: 8px;
        padding: 25px;
        background: #fff;
        box-shadow: 0 2px 8px rgba(0,0,0,0.04);
    }

    .def-card h3 {
        color: var(--primary-blue);
        border-bottom: 2px solid var(--safety-orange);
        padding-bottom: 10px;
        margin-top: 0;
        margin-bottom: 15px;
        font-size: 20px;
    }

    .def-card p { margin-bottom: 0; color: var(--text-light); }

    /* --- Rules List --- */
    .section-title {
        font-size: 24px;
        margin: 40px 0 20px 0;
        color: var(--primary-blue);
        border-left: 6px solid var(--safety-orange);
        padding-left: 15px;
    }

    .rules-list {
        background: var(--bg-light);
        padding: 30px;
        border-radius: 8px;
        border: 1px solid var(--border-color);
        margin-bottom: 40px;
    }

    .rule-item {
        margin-bottom: 25px;
    }
    .rule-item:last-child { margin-bottom: 0; }

    .rule-title {
        font-weight: 700;
        color: var(--primary-blue);
        font-size: 18px;
        display: block;
        margin-bottom: 5px;
    }
    
    code {
        background-color: #e2e8f0;
        color: #c53030;
        padding: 2px 6px;
        border-radius: 4px;
        font-family: monospace;
        font-size: 15px;
    }

    .example-box {
        background: #fff;
        padding: 15px;
        border-radius: 6px;
        margin-top: 10px;
        border-left: 4px solid var(--border-color);
    }

    .example-row {
        display: flex;
        gap: 15px;
        margin-bottom: 5px;
    }
    .example-row:last-child { margin-bottom: 0; }

    .correct { color: #2F855A; font-weight: bold; width: 80px; }
    .incorrect { color: #C53030; font-weight: bold; width: 80px; }

    /* --- RESPONSIVE TABLE STYLES --- */
    .table-container {
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        margin-bottom: 40px;
        border-radius: 8px;
        box-shadow: 0 4px 12px rgba(0,0,0,0.06);
    }
    
    table {
        width: 100%;
        border-collapse: collapse;
        min-width: 700px;
        background: #fff;
    }

    th {
        background-color: var(--primary-blue);
        color: #ffffff;
        padding: 14px 15px; 
        font-size: 16px; 
        font-weight: 600;
        text-align: left;
        border-bottom: 3px solid var(--safety-orange);
    }

    td {
        padding: 14px 15px;
        border-bottom: 1px solid var(--border-color);
        font-size: 15px;
        color: var(--text-main);
        vertical-align: middle;
    }
    
    td strong { color: var(--primary-blue); }

    tr:nth-child(even) { background-color: #fcfcfc; }
    tr:hover { background-color: #f1f7ff; }

