.reaction-circle {
            width: 260px;
            height: 260px;
            border-radius: 50%;
            background: linear-gradient(145deg, #f0f4fa, #e2e8f0);
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            margin: 1rem auto;
            cursor: pointer;
            transition: all 0.2s ease;
            border: 3px solid #4682b4;
            box-shadow: 0 8px 20px rgba(0,0,0,0.1);
            text-align: center;
            position: relative;
        }
        .reaction-circle.active {
            background: #e9f0fe;
            border-color: #ffc107;
            box-shadow: 0 0 0 4px rgba(255,193,7,0.4);
            transform: scale(1.02);
        }
        .reaction-circle.waiting-pulse {
            animation: pulseCircle 1.2s infinite;
            border-color: #ffaa00;
        }
        @keyframes pulseCircle {
            0% { box-shadow: 0 0 0 0 rgba(255,193,7,0.6); background-color: #fef9e6; }
            70% { box-shadow: 0 0 0 15px rgba(255,193,7,0); background-color: #fff3cd; }
            100% { box-shadow: 0 0 0 0 rgba(255,193,7,0); background-color: #fef9e6; }
        }
        .reaction-circle .inner-icon {
            font-size: 3.5rem;
            margin-bottom: 0.5rem;
            color: #4682b4;
        }
        .reaction-circle .status-msg {
            font-weight: 700;
            font-size: 1.1rem;
        }
        .reaction-circle .small-hint {
            font-size: 0.8rem;
            margin-top: 0.5rem;
            color: #5a626e;
        }
        .session-controls {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 1rem;
            margin-bottom: 1.5rem;
            align-items: center;
        }
        .trial-selector {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            background: #f1f3f5;
            padding: 0.4rem 1rem;
            border-radius: 40px;
        }
        .progress-badge {
            background: #4682b4;
            color: white;
            border-radius: 40px;
            padding: 0.4rem 1rem;
            font-weight: 500;
        }
        .stats-card {
            background: #f8fafc;
            border-radius: 20px;
            padding: 1rem;
            margin-bottom: 1rem;
            border-left: 4px solid #4682b4;
        }
        .history-table {
            font-size: 0.9rem;
        }
        .key-hint {
            display: inline-block;
            background: #212529;
            color: white;
            border-radius: 8px;
            padding: 0.2rem 0.8rem;
            font-family: monospace;
            font-weight: bold;
        }
        @media (max-width: 576px) {
            .reaction-circle { width: 200px; height: 200px; }
            .reaction-circle .inner-icon { font-size: 2.5rem; }
        }