/* Import fonts optimized for data visualization */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Source+Sans+Pro:wght@400;600&display=swap');

body {
    width: 1000px;
    background-color: var(--color-background);
    border: 0px solid #ccc;
    font-family: 'Source Sans Pro', sans-serif; /* Modern body font for documentation clarity */
    margin: 0 auto;
    color: var(--color-text);
    font-weight: 400;
    line-height: 1.6;
}

/* Heading styles */
h1, h2, h3, h4 {
    margin-bottom: 0;
}

h2, h3 {
    left: 0%;
    text-align: center;
}

h4 {
    left: 0%;
    text-align: left;
}


/* Text and list styles */
p {
    left: 0%;
    width: 100%;
}

ul, ol, li {
    left: 0%;
}

/* Table styles */
table {
    border-collapse: collapse;
    width: 100%;
    font-size: 0.875rem;
    margin: 1rem 0;
}

th, td {
    text-align: left;
    border: 1px solid #e2e8f0;
    padding: 0.5rem 0.75rem;
}

th {
    background-color: #f8fafc;
    font-weight: 600;
    color: #0A192F;
}

tr:nth-child(even) {
    background-color: #f8fafc;
}

/* SVG Elements */
.ring {
    fill: none;
    stroke: #e0e0e0;
    stroke-width: 1;
}

.quadrant {
    opacity: 0.7;
    transition: opacity 0.3s;
    cursor: pointer;
}

.quadrant:hover {
    opacity: 0.9;
}

.quadrant-label {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;
    font-size: 16px;
    font-weight: 700;
    text-anchor: middle;
    pointer-events: none;
    letter-spacing: 0.02em;
}

.ring-label {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;
    font-size: 14px;
    font-weight: 600;
    text-anchor: middle;
    pointer-events: none;
    letter-spacing: 0.01em;
}

.blip {
    cursor: pointer;
}

.blip-circle {
    fill: white;
    stroke: #333;
    stroke-width: 1;
    transition: none;
}

.blip-text {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;
    fill: #333;
    font-size: 12px;
    font-weight: 600;
    text-anchor: middle;
    dominant-baseline: middle;
    pointer-events: none;
}

#info-panel {
    position: fixed;
    top: 20px;
    right: 20px;
    background: white;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
    max-width: 300px;
    display: none;
    z-index: 1000;
}

#blip-tooltip-group {
    pointer-events: none;
}