/* DPDP ACT THEME: "Digital Shield" */
:root {
    /* Primary Colors: Security & Trust */
    --primary: #009688;      /* Teal/Green (Safe) */
    --primary-dark: #00695C; /* Deep Teal */
    --accent: #FFAB00;       /* Amber (Alert/Important) */
    --bg-color: #E0F2F1;     /* Very Light Teal */
    
    --text-dark: #263238;    
    --text-light: #546E7A;   
    
    /* Dynamic Chapter Colors (Privacy Spectrum) */
    --col-1: #00BFA5; /* Teal (Definitions) */
    --col-2: #2979FF; /* Blue (Fiduciaries) */
    --col-3: #651FFF; /* Purple (Rights) */
    --col-4: #FF6D00; /* Orange (Consent) */
    --col-5: #FFD600; /* Yellow (Children) */
    --col-6: #DD2C00; /* Red (Board/Law) */
    --col-7: #00E676; /* Green (Transfer) */
    --col-8: #37474F; /* Dark Grey (Penalties) */
    --col-9: #6200EA; /* Deep Purple (Misc) */
    --col-10: #D500F9; /* Neon Magenta (Rules) */
}

* { margin: 0; padding: 0; box-sizing: border-box; }

body {
    font-family: 'Fredoka', sans-serif; 
    background-color: var(--bg-color);
    color: var(--text-dark);
    -webkit-tap-highlight-color: transparent;
    overflow-x: hidden;
}

/* Background Pattern: Binary Stream */
.bg-pattern {
    position: fixed; 
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%; 
    z-index: -1;
    background-color: #E0F2F1;
    opacity: 0.5;
    background-image: 
        linear-gradient(rgba(0, 150, 136, 0.05) 1px, transparent 1px), 
        linear-gradient(90deg, rgba(0, 150, 136, 0.05) 1px, transparent 1px);
    background-size: 20px 20px;
}

.app-container { 
    width: 100%; 
    max-width: 1200px; 
    margin: 0 auto; 
    animation: slideUp 0.8s ease-out;
}

@keyframes slideUp {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Header */
.content-header {
    background: white;
    border-left: 6px solid var(--primary);
    padding: 20px 25px;
    margin: 20px;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0, 150, 136, 0.15);
    display: flex; 
    align-items: center; 
    justify-content: space-between;
    position: sticky; 
    top: 15px; 
    z-index: 100;
}

.main-title {
    font-size: 2rem; 
    font-weight: 800; 
    color: var(--primary);
    display: flex; 
    align-items: center; 
    gap: 15px;
    letter-spacing: 0.5px;
    font-family: 'Orbitron', sans-serif; 
}

.main-subtitle { 
    font-size: 1.1rem; 
    color: var(--text-light); 
    font-weight: 600; 
    margin-left: 5px; 
    font-family: 'Share Tech Mono', monospace;
}

/* Animation for Icon */
.spin-shield { 
    animation: pulseShield 3s infinite ease-in-out; 
    color: var(--accent);
}

@keyframes pulseShield { 
    0% { transform: scale(1); opacity: 1; } 
    50% { transform: scale(1.1); opacity: 0.8; }
    100% { transform: scale(1); opacity: 1; }
}

.header-icon-circle {
    width: 55px; 
    height: 55px; 
    background: linear-gradient(135deg, var(--primary), var(--primary-dark));
    border-radius: 50%;
    display: flex; 
    align-items: center; 
    justify-content: center;
    color: white; 
    font-size: 1.8rem; 
    box-shadow: 0 5px 15px rgba(0, 150, 136, 0.3);
}

/* Welcome Section */
.welcome-section {
    background: linear-gradient(135deg, #00695C, #004D40); 
    margin: 0 20px 30px; 
    border-radius: 15px; 
    padding: 30px; 
    color: white;
    position: relative; 
    overflow: hidden;
    box-shadow: 0 15px 30px rgba(0, 77, 64, 0.3);
    border-bottom: 4px solid var(--accent);
}

.welcome-section::before {
    content: "\f023"; /* FontAwesome Lock Unicode */
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    top: -20px;
    right: 10px;
    font-size: 160px;
    color: rgba(255,255,255,0.05);
    transform: rotate(15deg);
}

.welcome-text h2 { 
    font-size: 2.2rem; 
    margin-bottom: 10px; 
    color: var(--accent); 
    position: relative;
    z-index: 1;
    font-family: 'Orbitron', sans-serif;
}

.welcome-text p { 
    font-size: 1.1rem; 
    color: #B2DFDB; 
    position: relative;
    z-index: 1;
}

.stats-row { 
    display: flex; 
    gap: 15px; 
    margin-top: 25px; 
    position: relative;
    z-index: 1;
}

.mini-stat { 
    background: rgba(0, 0, 0, 0.3); 
    padding: 10px 20px; 
    border-radius: 4px; 
    font-weight: 600; 
    border-left: 3px solid var(--accent); 
    font-family: 'Share Tech Mono', monospace;
}

/* Resume Button */
#resume-container { margin: 0 20px 30px; }
.resume-button-simple {
    background: white; 
    border-radius: 12px; 
    padding: 15px 20px;
    text-decoration: none; 
    display: block; 
    transition: all 0.3s;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
    border: 1px solid #B2DFDB;
}
.resume-button-simple:hover { 
    transform: translateY(-3px); 
    box-shadow: 0 8px 15px rgba(0, 150, 136, 0.15);
    border-color: var(--primary);
}
.resume-simple-content { display: flex; align-items: center; }
.resume-icon {
    font-size: 1.4rem; 
    margin-right: 20px; 
    background: var(--primary);
    width: 50px; 
    height: 50px; 
    display: flex; 
    align-items: center; 
    justify-content: center;
    border-radius: 8px; 
    color: white;
}
.resume-text { flex: 1; }
.resume-title { color: var(--text-dark); font-weight: 700; font-size: 1.2rem; }
.resume-subtitle { color: var(--text-light); font-size: 0.9rem; }
.resume-arrow { color: var(--primary); font-size: 1.2rem; }

/* Chapters Grid */
.chapters-grid {
    display: grid; 
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 20px; 
    padding: 0 20px 50px;
}

.chapter-card {
    background: white; 
    border-radius: 12px; 
    padding: 20px;
    cursor: pointer; 
    transition: all 0.2s;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05); 
    display: flex; 
    align-items: center; 
    gap: 20px;
    position: relative; 
    overflow: hidden;
    border: 1px solid #E0E0E0;
    border-left: 5px solid var(--c); 
}

/* Color Cycling Logic - 10 Colors */
.chapter-card[data-index="0"] { --c: var(--col-1); }
.chapter-card[data-index="1"] { --c: var(--col-2); }
.chapter-card[data-index="2"] { --c: var(--col-3); }
.chapter-card[data-index="3"] { --c: var(--col-4); }
.chapter-card[data-index="4"] { --c: var(--col-5); }
.chapter-card[data-index="5"] { --c: var(--col-6); }
.chapter-card[data-index="6"] { --c: var(--col-7); }
.chapter-card[data-index="7"] { --c: var(--col-8); }
.chapter-card[data-index="8"] { --c: var(--col-9); }
.chapter-card[data-index="9"] { --c: var(--col-10); }

.chapter-card:hover { 
    transform: translateY(-5px); 
    box-shadow: 0 10px 20px rgba(0,0,0, 0.1);
}

.chapter-icon {
    width: 60px; 
    height: 60px; 
    background: #F5F5F5; 
    border-radius: 12px;
    display: flex; 
    align-items: center; 
    justify-content: center;
    font-size: 1.8rem; 
    color: var(--c); 
    flex-shrink: 0;
    border: 1px solid rgba(0,0,0,0.05);
}

.chapter-info { display: flex; flex-direction: column; }
.chapter-title { 
    font-weight: 700; 
    color: var(--text-dark); 
    font-size: 1.2rem; 
    margin-bottom: 5px; 
    font-family: 'Orbitron', sans-serif; 
}
.chapter-desc { 
    font-size: 0.95rem; 
    color: var(--text-light); 
    font-weight: 500; 
}

footer { 
    text-align: center; 
    padding: 30px; 
    color: var(--text-light); 
    font-size: 0.9rem; 
}

/* Floating Home Button */
.floating-home-btn {
    position: fixed; 
    bottom: 30px; 
    right: 30px;
    width: 60px; 
    height: 60px;
    background: var(--primary); 
    color: white; 
    border-radius: 50%; 
    display: flex; 
    align-items: center; 
    justify-content: center;
    font-size: 1.8rem; 
    box-shadow: 0 10px 20px rgba(0, 150, 136, 0.4);
    z-index: 1000;
    transition: all 0.3s; 
    text-decoration: none;
}
.floating-home-btn:hover { 
    transform: scale(1.1); 
    background: var(--primary-dark);
}

@media (max-width: 600px) {
    .content-header { 
        flex-direction: column; 
        text-align: center; 
        gap: 15px; 
    }
    .header-left, .header-right { width: 100%; justify-content: center; }
    .chapters-grid { 
        grid-template-columns: 1fr; 
        padding: 0 15px 40px;
    }
}