/* Extracted from static/tools/kvkk-scanner.html; production CSP forbids inline style blocks. */
:root {
            --accent: var(--accent-legal);
            --accent-grad: var(--grad-legal);
        }

        .kvkk-layout {
            display: grid;
            grid-template-columns: 1fr 360px;
            gap: var(--space-xl);
            align-items: start;
        }

        .category-section {
            margin-bottom: var(--space-xl);
        }

        .category-header {
            display: flex;
            align-items: center;
            gap: var(--space-md);
            margin-bottom: var(--space-md);
            padding-bottom: var(--space-sm);
            border-bottom: 1px solid rgba(255, 255, 255, 0.06);
        }

        .category-icon {
            font-size: 1.5rem;
        }

        .category-title {
            font-weight: 700;
        }

        .category-count {
            font-size: var(--font-size-xs);
            color: var(--text-muted);
            font-family: var(--font-mono);
        }

        .score-ring {
            width: 160px;
            height: 160px;
            margin: 0 auto var(--space-md);
            position: relative;
        }

        .score-ring svg {
            transform: rotate(-90deg);
        }

        .score-ring-bg {
            fill: none;
            stroke: rgba(255, 255, 255, 0.06);
            stroke-width: 10;
        }

        .score-ring-fill {
            fill: none;
            stroke-width: 10;
            stroke-linecap: round;
            transition: stroke-dashoffset 1s ease, stroke 0.5s ease;
        }

        .score-ring-text {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            text-align: center;
        }

        .score-ring-num {
            font-size: 2.5rem;
            font-weight: 800;
            font-family: var(--font-mono);
        }

        .score-ring-label {
            font-size: var(--font-size-xs);
            color: var(--text-muted);
        }

        .breakdown-row {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: var(--space-sm) 0;
            border-bottom: 1px solid rgba(255, 255, 255, 0.04);
            font-size: var(--font-size-sm);
        }

        .breakdown-bar {
            width: 60px;
            height: 6px;
            background: rgba(255, 255, 255, 0.1);
            border-radius: 3px;
            overflow: hidden;
        }

        .breakdown-fill {
            height: 100%;
            border-radius: 3px;
            transition: width 0.6s ease;
        }

        @media (max-width: 900px) {
            .kvkk-layout {
                grid-template-columns: 1fr;
            }
        }
.ra-csp-kvkk-scanner-01 { display:flex; align-items:center; gap:6px; }
.ra-csp-kvkk-scanner-02 { background:rgba(139,92,246,0.1);border-color:rgba(139,92,246,0.2);color:var(--accent-legal); }
.ra-csp-kvkk-scanner-03 { background:var(--accent-legal); }
.ra-csp-kvkk-scanner-04 { background: var(--grad-legal); }
.ra-csp-kvkk-scanner-05 { text-align:center;margin-bottom:var(--space-md); }
.ra-csp-kvkk-scanner-06 { text-align:center;margin-bottom:var(--space-md); }
.ra-csp-kvkk-scanner-07 { margin-bottom:var(--space-md); }
.ra-csp-kvkk-scanner-08 { margin-bottom:var(--space-md); }
.ra-csp-kvkk-scanner-09 { font-size:var(--font-size-sm);color:var(--text-secondary); }
