Pc - Blur

/* MAIN CARD: DESKTOP SIMULATOR */ .desktop-container background: rgba(20, 25, 40, 0.65); backdrop-filter: blur(4px); border-radius: 2rem; padding: 1.5rem; box-shadow: 0 25px 45px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(255, 255, 255, 0.1);

.logo-area display: flex; align-items: center; gap: 12px;

// Icons (just for UX interactions) const docIcon = document.getElementById('docIcon'); const photoIcon = document.getElementById('photoIcon'); const settingsIcon = document.getElementById('settingsIcon'); const browserIcon = document.getElementById('browserIcon'); const terminalIcon = document.getElementById('terminalIcon');

// Helper: apply blur to desktop area (backdrop-filter) function applyBlur(blurPx) // use backdrop-filter for "glassmorphic" blur on the desktop panel itself // this creates the "Blur PC" feature: everything inside .desktop-area gets the frosted effect // but the icons and floating window remain readable, while background-like content is blurred. // Actually we blur the .desktop-area background and its children get affected by backdrop? Wait: backdrop-filter blurs BEHIND the element. // But to get "blur pc" meaning the whole desktop environment blurs like frosted glass, we apply backdrop-filter to .desktop-area. // That way all underlying elements (the container's background, icons, etc) will look like they are behind a blurred glass. // For a "Blur PC" effect, we want the entire UI to feel like a blurred screen? No, but for the feature we make the desktop background glassy. // Better: we blur the .desktop-area's background and its internal elements also can get slight blur? But we use backdrop-filter on .desktop-area, // that blurs everything that is behind the .desktop-area (its parent). But the parent (blur-pc) has background and taskbar, so it would blur them too. // For better isolated demo, we blur the .desktop-area itself via backdrop-filter, making its own children appear crisp but the background behind them gets blurred? // Actually to create an impressive "Blur PC" feel: let's apply blur to the .desktop-area's background image/style and a bit of backdrop, // But I want to make the desktop content (icons, text) blur dynamically like a "blur filter" on the whole desktop canvas. // Using filter: blur() on .desktop-content would blur icons and text, which shows the blur effect dramatically. // However many modern blur PCs use backdrop, but here we provide a distinct visual: the entire desktop content (icons & window) gets a gaussian blur. // This demonstrates "Blur PC" in a unique way: everything becomes blurred with intensity control. // But we also want to preserve readability of the floating window? Option: apply filter: blur() to .desktop-content (the grid) but not to the floating window? No that's weird. // Better to apply CSS filter: blur() to the .desktop-area's inner content wrapper? For dramatic effect: Let's apply blur to .desktop-content and the floating-window? But the floating window is interactive. // However we want showcase "Blur PC": user can blur the entire desktop interface exactly like a "blur screen" effect. // So I'll make the blur affect the whole .desktop-area container (background + all children) using filter: blur(). // But then buttons would become blurry and hard to click? But that's part of the demo: the slider can reduce blur to make it readable. We can also give a note. // To make it functional and cool, we'll apply blur filter to .desktop-area, but the floating window buttons will be less accessible at high blur. // Alternative: Apply blur to .desktop-content but not to the floating window -> less consistent. I decide to apply filter: blur() to whole .desktop-area // to simulate a "blurred desktop screen", but we also keep the taskbar crisp. That provides a nice UI/UX contrast. // BUT, in that case the floating window buttons become blurry, but that shows power of blur effect. And we add a "reset" to clear blur. // Let's implement it as filter: blur() on .desktop-area. It's simple, performant, and illustrates the 'Blur PC' feature exactly. // Additionally, we add a transition for smoothness. desktopArea.style.transition = 'filter 0.18s ease-out'; desktopArea.style.filter = `blur($blurPxpx)`; // For readability, we might also adjust pointer events? not needed, user can lower blur. Blur PC

.blur-badge span font-weight: bold; font-size: 1rem;

.title font-weight: 600; font-size: 1.25rem; background: linear-gradient(135deg, #ffffff, #aaccff); -webkit-background-clip: text; background-clip: text; color: transparent; text-shadow: 0 0 5px rgba(0,160,255,0.3);

function updateBlurUI(value) const floatVal = parseFloat(value); if (isNaN(floatVal)) return; currentBlur = floatVal; const formatted = currentBlur.toFixed(1); blurValueDisplay.innerText = `$formattedpx`; if (liveBlurSpan) liveBlurSpan.innerText = `$formattedpx`; applyBlur(currentBlur); /* MAIN CARD: DESKTOP SIMULATOR */

body min-height: 100vh; background: radial-gradient(circle at 20% 30%, #1a2a3a, #0a0f1a); display: flex; justify-content: center; align-items: center; font-family: 'Segoe UI', 'Inter', system-ui, -apple-system, 'Roboto', sans-serif; padding: 20px;

/* TASKBAR (mock windows style) */ .taskbar background: rgba(18, 22, 35, 0.85); backdrop-filter: blur(12px); padding: 0.8rem 1.8rem; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(255, 255, 255, 0.15); flex-wrap: wrap; gap: 12px;

// Extra: show initial welcome message setTimeout(() => showToastMessage("🖥️ Blur PC ready — adjust blur intensity", "#7df9ff"); , 300); // But to get "blur pc" meaning the

/* ICON GRID (simulated windows shortcuts) */ .icon-group display: flex; flex-direction: column; align-items: center; gap: 10px; background: rgba(255,255,255,0.03); backdrop-filter: blur(2px); padding: 14px 8px; border-radius: 20px; transition: transform 0.15s, background 0.2s; cursor: pointer;

<script> (function() { // --- DOM Elements --- const desktopArea = document.getElementById('desktopArea'); const blurSlider = document.getElementById('blurSlider'); const blurValueDisplay = document.getElementById('blurValueDisplay'); const liveBlurSpan = document.getElementById('liveBlurVal'); const resetBtn = document.getElementById('resetBlurBtn'); const demoToastBtn = document.getElementById('demoToastBtn'); const toggleGlowBtn = document.getElementById('toggleGlowBtn');

/* interactive blurred background inner content */ .desktop-content display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 1.8rem; align-items: start;

.blur-badge background: rgba(0, 255, 255, 0.2); padding: 5px 12px; border-radius: 40px; font-size: 0.8rem; font-weight: 600; letter-spacing: 1px; backdrop-filter: blur(4px); color: #aaf0ff; border: 0.5px solid cyan; box-shadow: 0 0 4px cyan;