/**
 * Jakarta Islamic School
 * Auto-separated stylesheet for: public/students/komposisi.php
 */

:root { 
            --primary-emerald: #059669; 
            --emerald-light: #ecfdf5;
            --emerald-border: #a7f3d0;
            --bg-body: #f8fafc; 
            --text-dark: #1e293b; 
        }
        body { font-family: 'Poppins', sans-serif; background: var(--bg-body); color: var(--text-dark); min-height: 100vh; }
        
        .navbar-custom { background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(10px); border-bottom: 1px solid #e2e8f0; box-shadow: 0 2px 10px rgba(0,0,0,0.03); }
        .logo-nav { width: 36px; height: auto; }
        .navbar-brand span { font-size: 1rem; font-weight: 700; color: var(--primary-emerald); }

        .content-card { background: #ffffff; border: 1px solid #e2e8f0; border-radius: 1.5rem; box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05); transition: all 0.3s ease; }
        
        .grid-materi { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1.25rem; }
        .materi-box { border-radius: 1.25rem; padding: 1.5rem; border: 2px solid #e2e8f0; transition: all 0.3s ease; cursor: pointer; background: var(--emerald-light); }
        .materi-box:hover { transform: translateY(-4px); border-color: var(--primary-emerald); box-shadow: 0 8px 20px rgba(5, 150, 105, 0.12); }
        .materi-box.active { background: #d1fae5; border-color: var(--primary-emerald); box-shadow: 0 6px 18px rgba(5, 150, 105, 0.2); }

        .typing-text { border-right: 2px solid var(--primary-emerald); white-space: pre-wrap; animation: blink 0.75s step-end infinite; }
        @keyframes blink { from, to { border-color: transparent } 50% { border-color: var(--primary-emerald); } }
        
        .step-box { background: #f8fafc; border-left: 5px solid var(--primary-emerald); border-radius: 0.75rem; padding: 1.25rem; font-size: 0.9rem; line-height: 1.7; }
        .interactive-box { background: linear-gradient(135deg, #ecfdf5 0%, #f0fdf4 100%); border-radius: 1.25rem; border: 2px dashed #34d399; transition: 0.3s; }
        
        .number-display { font-size: 3.5rem; font-weight: 800; color: var(--primary-emerald); animation: popIn 0.3s ease-in-out; }
        @keyframes popIn { 0% { transform: scale(0.8); opacity: 0; } 100% { transform: scale(1); opacity: 1; } }

        .form-range::-webkit-slider-thumb { background: var(--primary-emerald); }

        .quiz-option {
            border: 2px solid #e2e8f0;
            border-radius: 1rem;
            padding: 1rem;
            cursor: pointer;
            transition: all 0.2s;
            font-weight: 600;
            background: #fdfdfd;
        }
        .quiz-option:hover {
            border-color: var(--primary-emerald);
            background: var(--emerald-light);
        }
        .quiz-option.selected {
            border-color: var(--primary-emerald);
            background: #d1fae5;
            color: var(--primary-emerald);
        }