 @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;800&display=swap');
        
        body {
            font-family: 'Inter', sans-serif;
            background-color: #0f172a; /* Slate 900 */
            color: #e2e8f0;
            user-select: none;
            -webkit-tap-highlight-color: transparent;
        }

        /* Custom Scrollbar */
        ::-webkit-scrollbar { width: 6px; }
        ::-webkit-scrollbar-track { background: #1e293b; }
        ::-webkit-scrollbar-thumb { background: #475569; border-radius: 3px; }

        .fade-in { animation: fadeIn 0.4s ease-in-out; }
        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(10px); }
            to { opacity: 1; transform: translateY(0); }
        }

        .btn-primary {
            background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
            transition: all 0.2s;
        }
        .btn-primary:active { transform: scale(0.98); filter: brightness(0.9); }
        .btn-primary:disabled { opacity: 0.5; filter: grayscale(1); cursor: not-allowed; }

        .btn-life {
            background: linear-gradient(135deg, #10b981 0%, #059669 100%);
            transition: all 0.2s;
        }
        .btn-life:active { transform: scale(0.98); }
        
        .btn-nav {
            background: #1e293b;
            border: 1px solid #334155;
            transition: all 0.2s;
        }
        .btn-nav:active { background: #334155; transform: scale(0.98); }

        /* Custom Range Slider */
        input[type=range] {
            -webkit-appearance: none;
            width: 100%;
            background: transparent;
        }
        input[type=range]::-webkit-slider-thumb {
            -webkit-appearance: none;
            height: 20px;
            width: 20px;
            border-radius: 50%;
            background: #3b82f6;
            cursor: pointer;
            margin-top: -8px;
            box-shadow: 0 0 10px rgba(59, 130, 246, 0.5);
        }
        input[type=range]::-webkit-slider-runnable-track {
            width: 100%;
            height: 4px;
            cursor: pointer;
            background: #334155;
            border-radius: 2px;
        }

        /* Number Input Styling */
        .num-input {
            background: #1e293b;
            border: 1px solid #475569;
            color: white;
            padding: 4px 8px;
            border-radius: 6px;
            width: 80px;
            text-align: right;
            font-family: monospace;
            font-size: 0.9rem;
        }
        .num-input:focus {
            outline: none;
            border-color: #3b82f6;
        }

        /* Select styling for University Modal */
        .custom-select {
            appearance: none;
            background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");
            background-position: right 0.5rem center;
            background-repeat: no-repeat;
            background-size: 1.5em 1.5em;
        }
