	body {
            margin: 0;
            min-height: 100vh;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            color: white;
            text-align: center;
            background: url('https://picsum.photos/1920/1080?blur=2') no-repeat center center fixed;
            background-size: cover;
            padding: 40px 0;
			text-shadow: 0 1px 3px rgba(0,0,0,0.8);
        }
		body::before {
			content: "";
			position: fixed;
			top: 0; left: 0; width: 100%; height: 100%;
			background: rgba(0, 0, 0, 0.3); /* Darkens the wallpaper globally */
			z-index: -1;
		}
        
        .glass-panel {
            /* Changed from 0.05 to 0.35 for a much more solid look */
            background: rgba(0, 0, 0, 0.35); 
            padding: 40px 60px;
            border-radius: 24px;
            box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.8);
            backdrop-filter: blur(15px);
            -webkit-backdrop-filter: blur(15px);
            border: 1px solid rgba(255, 255, 255, 0.1);
            max-width: 1200px;
            width: 90%;
            display: flex;
            flex-direction: column;
            gap: 30px;
            position: relative; /* Added for absolute positioning inside */
        }

        h1 { 
            margin: 0; font-weight: 200; letter-spacing: 4px; 
            font-size: 3em; text-transform: uppercase;
            text-shadow: 0 2px 10px rgba(0,0,0,0.5);
        }
        
		.news-box {
			/* Base state: Very subtle background */
			background: rgba(255, 255, 255, 0.08); 
			padding: 20px;
			border-radius: 16px;
			border: 1px solid rgba(255, 255, 255, 0.1);
			/* Smooths out any changes to background or shadow */
			transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
			min-height: 250px; /* Ensures all boxes have the same height */
			display: flex;
			flex-direction: column;
			overflow: hidden;  /* Prevents text from spilling out */
		}
		
		.news-box .content {
			flex-grow: 1; /* Pushes content to fill the space */
		}

        .status-hub {
            font-size: 1.2em;
            display: flex;
            justify-content: center;
            gap: 25px;
            font-weight: bold;
        }
        #clock { 
            color: #f1c40f; 
            position: absolute; 
            top: 25px; 
            right: 40px; 
            font-size: 1.5rem; 
            font-weight: bold;
        }
        #weather { color: #4da8da; }

		.news-container {
			display: grid;
			grid-template-columns: repeat(4, 1fr);
			gap: 15px;
		}

        .news-container {
            display: grid;
            grid-template-columns: repeat(4, 1fr); /* Forces 4 across on desktop */
            gap: 15px;
            text-align: left;
        }
		
		.news-box:hover {
			/* Hover state: Just a tiny bump in opacity and shadow */
			background: rgba(255, 255, 255, 0.12);
			border-color: rgba(255, 255, 255, 0.2);
			box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
			transform: translateY(-4px);
		}

        .news-box h3 {
            margin: 0 0 12px 0; font-size: 1.1em; color: #f39c12;
            border-bottom: 1px solid rgba(255, 255, 255, 0.2); padding-bottom: 8px;
            text-transform: uppercase; letter-spacing: 1px;
			text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
        }

        .news-box a {
            color: #e0e0e0; text-decoration: none; font-size: 0.9em;
            display: block; margin-bottom: 10px; line-height: 1.4;
			text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
        }
        .news-box a:hover { color: #4da8da; }

        .extras-container {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 20px;
            text-align: center;
        }

        .extra-box {
            background: rgba(0, 0, 0, 0.4);
            padding: 20px;
            border-radius: 12px;
            border: 1px solid rgba(255, 255, 255, 0.1);
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
        }

        .extra-box h3 { margin: 0 0 15px 0; color: #a0a0a0; font-size: 1em; text-transform: uppercase; letter-spacing: 1px; }

        #joke-setup { font-size: 1.2em; font-weight: bold; margin-bottom: 15px; color: #e74c3c; line-height: 1.4; }
        #joke-punchline { font-size: 1.1em; font-style: italic; color: #ecf0f1; }

        #comic-img { max-width: 100%; max-height: 250px; border-radius: 8px; margin-top: 10px; background: white; padding: 5px;}
        #comic-title { font-weight: bold; font-size: 1em; color: #e0e0e0; }

        @media (max-width: 768px) {
            .news-container, .extras-container { grid-template-columns: 1fr; }
            .status-hub { flex-direction: column; gap: 5px; }
        }

.footer {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    font-size: 0.85em;
    color: #a0a0a0;
}

.footer a {
    color: #4da8da;
    text-decoration: none;
    font-weight: bold;
    letter-spacing: 1px;
    transition: color 0.3s ease;
}

.footer a:hover {
    color: #f1c40f;
    text-shadow: 0 0 8px rgba(241, 196, 15, 0.5);
}
