@import"https://fonts.googleapis.com/css2?family=VT323&family=JetBrains+Mono:wght@400;700&family=Orbitron:wght@400;500;600;700;800;900&family=Inter:wght@300;400;500;600;700&family=Cinzel:wght@400;500;600;700&display=swap";:root{--void: #050508;--void-soft: #0a0a12;--surface-0: #0f0f18;--surface-1: #14141f;--surface-2: #1a1a28;--surface-3: #222238;--purple-deep: #2d1b4e;--purple-dark: #4a2c7a;--purple: #9b59b6;--purple-bright: #bb77dd;--purple-glow: #d4a5e8;--purple-light: #e8d4f0;--lilac: #9b59b6;--lilac-dim: rgba(155, 89, 182, .4);--lilac-glow: 0 0 15px rgba(155, 89, 182, .6);--transition: .2s ease;--ease-exit: cubic-bezier(.4, 0, 1, 1);--bg-purple: #2d1b4e;--purple-mid: #4a2c7a;--text-primary: #ffffff;--text-secondary: #d4c4e8;--text-tertiary: #a89bc4;--text-muted: #6b5f8a;--accent: var(--purple);--accent-glow: rgba(155, 89, 182, .5);--accent-subtle: rgba(155, 89, 182, .15);--success: #00ff88;--warning: #fbbf24;--error: #ff6b6b;--info: #60a5fa;--border-subtle: rgba(155, 89, 182, .15);--border-default: rgba(155, 89, 182, .25);--border-strong: rgba(155, 89, 182, .4);--border-glow: rgba(187, 119, 221, .6);--glass-bg: rgba(15, 15, 24, .85);--glass-border: rgba(155, 89, 182, .12);--glass-blur: blur(16px) saturate(180%);--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -2px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5), 0 4px 6px -4px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .5), 0 8px 10px -6px rgba(0, 0, 0, .4);--shadow-window: 0 25px 50px -12px rgba(0, 0, 0, .6), 0 0 0 1px var(--border-subtle);--shadow-glow-sm: 0 0 10px var(--accent-glow);--shadow-glow-md: 0 0 20px var(--accent-glow);--shadow-glow-lg: 0 0 30px var(--accent-glow), 0 0 60px rgba(155, 89, 182, .3);--ease-instant: steps(1);--ease-quick: cubic-bezier(.4, 0, .2, 1);--ease-default: cubic-bezier(.4, 0, .2, 1);--ease-smooth: cubic-bezier(0, 0, .2, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--ease-spring: cubic-bezier(.175, .885, .32, 1.275);--duration-instant: 0ms;--duration-fastest: 50ms;--duration-fast: .1s;--duration-normal: .2s;--duration-slow: .3s;--duration-slower: .4s;--duration-slowest: .5s;--taskbar-height: 46px;--dock-height: 70px;--menubar-height: 28px}@keyframes windowOpen{0%{opacity:0;transform:scale(.92) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes windowClose{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.92) translateY(10px)}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden}body{background:#030308;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;cursor:default}a,button,.desktop-icon,.dock-item,.start-button,.start-menu-item,.project-card,.contact-link,.about-link{cursor:pointer}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--lilac-dim);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:#9b59b64d}::selection{background:#9b59b64d;color:#fff}.os-container{position:fixed;top:0;left:0;width:100%;height:100vh;height:100dvh;background:var(--void-soft);background-image:radial-gradient(ellipse 80% 60% at 50% 40%,rgba(45,27,78,.25) 0%,transparent 60%),radial-gradient(ellipse 60% 40% at 20% 80%,rgba(20,10,40,.4) 0%,transparent 50%),radial-gradient(ellipse 50% 30% at 80% 20%,rgba(15,10,30,.3) 0%,transparent 50%);overflow:hidden}.particle-canvas{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:2;pointer-events:none}.bg-layer{position:absolute;top:0;left:0;right:0;bottom:0;background:url(/background.jpg) center/cover no-repeat;filter:brightness(.2) saturate(.6);z-index:0}.bg-grid{display:none}.bg-glow{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1;pointer-events:none}.glow-1{background:radial-gradient(ellipse 70% 50% at 15% 15%,rgba(155,89,182,.07) 0%,transparent 60%);animation:glowPulse1 8s ease-in-out infinite}.glow-2{background:radial-gradient(ellipse 60% 40% at 85% 85%,rgba(45,27,78,.08) 0%,transparent 60%);animation:glowPulse2 10s ease-in-out infinite}@keyframes glowPulse1{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.05)}}@keyframes glowPulse2{0%,to{opacity:.7;transform:scale(1.02)}50%{opacity:1;transform:scale(.98)}}.bg-vignette{position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at center,transparent 0%,rgba(0,0,0,.55) 100%);z-index:1}.bg-scanlines{position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.03) 2px,rgba(0,0,0,.03) 4px);z-index:1;pointer-events:none}.desktop-layout{position:relative;z-index:10;height:calc(100vh - 50px);height:calc(100dvh - 50px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px 120px;gap:30px}.avatar-section{position:relative;width:160px;height:160px;display:flex;align-items:center;justify-content:center;animation:avatarFloat 6s ease-in-out infinite}@keyframes avatarFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.avatar-glow{position:absolute;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(155,89,182,.25) 0%,transparent 70%);animation:avatarGlow 4s ease-in-out infinite}@keyframes avatarGlow{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.6}}.main-avatar{position:relative;width:140px;height:140px;border-radius:50%;object-fit:cover;border:3px solid var(--purple);box-shadow:var(--shadow-glow-md),0 8px 32px #00000080;z-index:1;transition:all var(--duration-slow) var(--ease-default);cursor:pointer}.main-avatar:hover{transform:scale(1.08);border-color:var(--purple-bright);box-shadow:0 0 35px var(--purple),0 0 70px #9b59b666,0 8px 32px #00000080;filter:brightness(1.15)}.avatar-ring{position:absolute;width:160px;height:160px;border-radius:50%;border:1px solid rgba(155,89,182,.2);animation:ringRotate 20s linear infinite}.avatar-ring:before{content:"";position:absolute;top:-4px;left:50%;width:8px;height:8px;background:var(--lilac);border-radius:50%;box-shadow:var(--lilac-glow);transform:translate(-50%)}@keyframes ringRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.title-block{text-align:center;animation:fadeSlideUp .8s ease-out .2s both}.desktop-title{font-size:clamp(2.5rem,6vw,4.5rem);font-weight:600;line-height:1.1;margin-bottom:12px;transition:all .3s ease;cursor:pointer;user-select:none;-webkit-user-select:none}.desktop-title:hover{transform:scale(1.05);filter:brightness(1.2)}.title-typed{color:#fff;font-family:VT323,JetBrains Mono,monospace;font-weight:400;letter-spacing:.15em;font-size:clamp(3rem,7vw,5rem)}@keyframes titleFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.cursor-blink{color:#fff;animation:blink .8s step-end infinite;margin-left:2px}.title-alex,.title-paseka{display:none}@keyframes titleGlow{0%,to{filter:brightness(1)}50%{filter:brightness(1.3)}}.title-divider{width:80px;height:2px;background:linear-gradient(90deg,transparent,var(--lilac),transparent);margin:0 auto 12px;animation:fadeSlideUp .8s ease-out .4s both}.desktop-subtitle{font-size:1.1rem;font-weight:500;color:var(--text-secondary);letter-spacing:.1em;text-transform:uppercase;animation:fadeSlideUp .8s ease-out .6s both}.subtitle-bracket{color:var(--lilac);opacity:.6}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.desktop-icons{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;animation:fadeSlideUp .8s ease-out 1s both}.desktop-icon{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 20px;background:#0f0f19e6;border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-xl);cursor:pointer;color:var(--text-primary);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transition:all var(--duration-slow) var(--ease-bounce);min-width:90px}.desktop-icon:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:16px;background:linear-gradient(135deg,#9b59b61a,#2d1b4e0d);opacity:0;transition:opacity var(--transition)}.desktop-icon:hover{transform:translateY(-6px) scale(1.05);border-color:#9b59b640;box-shadow:0 20px 40px #0006,0 0 30px #9b59b626,0 0 20px #9b59b61a}.desktop-icon:active{transform:translateY(-3px) scale(1.02);transition-duration:.1s}.desktop-icon:hover:before{opacity:1}.desktop-icon.active{border-color:var(--lilac);box-shadow:0 0 20px #9b59b633}.icon-glow{position:absolute;top:8px;left:50%;transform:translate(-50%);width:40px;height:40px;background:radial-gradient(circle,rgba(155,89,182,.2),transparent);border-radius:50%;opacity:0;transition:opacity var(--transition)}.desktop-icon:hover .icon-glow{opacity:1}.icon-img{width:48px;height:48px;object-fit:cover;border-radius:12px}.icon-emoji{font-size:2.4rem;position:relative;z-index:1;filter:drop-shadow(0 2px 8px rgba(0,0,0,.4));transition:transform var(--transition)}.desktop-icon:hover .icon-img{width:48px;height:48px;object-fit:cover;border-radius:12px}.icon-emoji{transform:scale(1.15)}.icon-label{font-size:.8rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary);position:relative;z-index:1;transition:color var(--transition)}.desktop-icon:hover .icon-label{color:var(--lilac)}button:active:not(:disabled){transform:scale(.97);transition:transform .1s ease}.os-window.dragging{transition:none;transform:none!important}.os-window.focused{box-shadow:var(--shadow-window),0 0 0 2px var(--purple-bright),var(--shadow-glow-sm);transform:scale(1.01)}.os-window:not(.focused){box-shadow:var(--shadow-window),0 0 0 1px #9b59b614;transform:scale(1)}.desktop-icon{transition:all var(--duration-normal) var(--ease-bounce)}.desktop-icon:hover{transform:translateY(-6px) scale(1.08)}.desktop-icon:active{transform:translateY(-2px) scale(1.04);transition-duration:.1s}.dock-item:hover{transform:translateY(-14px) scale(1.2)}.dock-item:active{transform:translateY(-8px) scale(1.1);transition-duration:.1s}.win-close:hover{box-shadow:0 0 15px #ff453ae6,0 0 30px #ff453a80}.win-minimize:hover{box-shadow:0 0 15px #febc2ee6,0 0 30px #febc2e80}.win-maximize:hover{box-shadow:0 0 15px #28c840e6,0 0 30px #28c84080}.start-button:hover{background:#9b59b666;border-color:#9b59b6e6;transform:translateY(-3px) scale(1.05);box-shadow:0 6px 24px #9b59b659,0 0 30px #9b59b633}.rain-toggle:hover,.music-taskbar-btn:hover,.weather-taskbar-btn:hover,.theme-toggle:hover{background:#9b59b659;border-color:#9b59b699;transform:translateY(-3px) scale(1.1);box-shadow:0 6px 16px #0006,var(--shadow-glow-md)}.project-card:hover{transform:translateY(-6px) scale(1.04);box-shadow:0 20px 50px #00000080,0 0 40px #9b59b633}.project-card:active{transform:translateY(-2px) scale(1.02);transition-duration:.1s}.contact-link:hover{transform:translateY(-4px) scale(1.02)}.about-link:hover{transform:translateY(-5px) scale(1.03);box-shadow:0 8px 30px #9b59b659,0 0 25px #9b59b633}.start-menu-item:hover{background:#9b59b640;transform:translate(6px) scale(1.02)}.start-menu-item:active{transform:translate(8px) scale(.99);transition-duration:.1s}.os-window{position:fixed;top:0;left:0;transform:none!important;width:min(560px,92vw);max-height:80vh;background:var(--glass-bg);backdrop-filter:blur(12px) saturate(160%);-webkit-backdrop-filter:blur(12px) saturate(160%);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-window);z-index:500;display:none;flex-direction:column;overflow:hidden;opacity:0;transition:opacity var(--duration-slow) var(--ease-smooth),box-shadow var(--duration-normal) var(--ease-default),transform var(--duration-normal) var(--ease-spring)}.os-window.open{display:flex;opacity:1;transform:none!important;animation:windowOpen var(--duration-slow) var(--ease-spring) forwards;box-shadow:var(--shadow-window),0 0 0 1px var(--border-subtle)}.os-window.open:focus-within,.os-window.focused{box-shadow:var(--shadow-window),0 0 0 2px var(--purple-bright),var(--shadow-glow-sm)}.os-window.closing{animation:windowClose var(--duration-fast) var(--ease-exit) forwards}.window-projects{width:min(720px,94vw)}.window-header{display:flex;align-items:center;padding:var(--space-3) var(--space-4);background:linear-gradient(180deg,#1a1a2efa,#0f0f1ef2);border-bottom:1px solid var(--border-subtle);border-radius:var(--radius-lg) var(--radius-lg) 0 0;gap:var(--space-2);flex-shrink:0;box-shadow:0 2px 10px #0003}.window-controls{display:flex;align-items:center;margin-left:auto}.win-close,.win-minimize,.win-maximize{width:14px;height:14px;border-radius:50%;border:none;cursor:pointer;transition:all .15s ease;position:relative;overflow:hidden}.win-close{background:#ff5f57}.win-close:hover{background:#ff453a;box-shadow:0 0 10px #ff453ab3;transform:scale(1.15)}.win-minimize{background:#febc2e}.win-minimize:hover{background:#ffa700;box-shadow:0 0 10px #febc2eb3;transform:scale(1.15)}.win-maximize{background:#28c840}.win-maximize:hover{background:#16a526;box-shadow:0 0 10px #28c840b3;transform:scale(1.15)}.window-title{flex:1;text-align:center;font-size:.82rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--lilac);text-shadow:0 0 20px rgba(155,89,182,.4)}.window-spacer{width:46px}.window-content{padding:28px;overflow-y:auto;max-height:calc(80vh - 52px);line-height:1.6}.about-grid{display:grid;grid-template-columns:160px 1fr;gap:24px;align-items:start}.about-avatar-wrap{display:flex;flex-direction:column;align-items:center;gap:12px}.window-avatar{width:130px;height:130px;border-radius:16px;object-fit:cover;border:2px solid rgba(155,89,182,.2);box-shadow:0 8px 32px #0006}.about-status{display:flex;align-items:center;gap:6px;font-size:.75rem;font-weight:600;color:#0f8;text-transform:uppercase;letter-spacing:.05em}.status-dot{width:8px;height:8px;border-radius:50%;background:#0f8;box-shadow:0 0 10px #0f8;animation:statusPulse 2s ease-in-out infinite}@keyframes statusPulse{0%,to{opacity:1}50%{opacity:.4}}.about-info{display:flex;flex-direction:column;gap:10px}.about-name{font-family:Orbitron,sans-serif;font-size:1.4rem;font-weight:700;color:#fff;text-shadow:0 0 20px rgba(155,89,182,.3)}.about-role{font-size:.85rem;color:var(--lilac);font-weight:500;text-transform:uppercase;letter-spacing:.08em}.about-divider{height:1px;background:linear-gradient(90deg,var(--lilac),transparent);opacity:.3}.about-bio{font-size:.88rem;line-height:1.6;color:var(--text-secondary)}.about-education{display:flex;align-items:center;gap:10px;padding:12px;background:#9b59b60d;border:1px solid rgba(155,89,182,.1);border-radius:10px}.edu-icon{font-size:1.4rem}.about-education strong{display:block;font-size:.85rem;color:#fff}.about-education span{font-size:.78rem;color:var(--text-muted)}.about-links{display:flex;gap:10px;margin-top:4px}.about-link{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#9b59b614;border:1px solid rgba(155,89,182,.2);border-radius:8px;color:var(--lilac);text-decoration:none;font-size:.8rem;font-weight:600;transition:all var(--transition)}.about-link span{font-size:.9rem}.about-link:hover{background:#9b59b633;border-color:#9b59b680;transform:translateY(-3px);box-shadow:0 6px 24px #9b59b640,0 0 20px #9b59b626}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.project-card{position:relative;border-radius:12px;overflow:hidden;background:#ffffff08;border:1px solid rgba(255,255,255,.06);text-decoration:none;color:inherit;transition:all var(--transition);display:block}.project-card:hover{transform:translateY(-4px) scale(1.02);border-color:var(--proj-color, var(--lilac));box-shadow:0 16px 48px #0006,0 0 30px #9b59b626}.project-image-wrap{position:relative;height:120px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#0000004d}.project-image{max-width:100%;max-height:100%;object-fit:contain;filter:brightness(.8) saturate(.9);transition:all var(--transition)}.project-card:hover .project-image{filter:brightness(1) saturate(1.1);transform:scale(1.05)}.project-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.7) 100%)}.project-emoji-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg-purple),var(--purple-mid));font-size:3.5rem}.project-info{padding:14px}.project-title{font-size:.95rem;font-weight:700;color:#fff;margin-bottom:4px}.project-desc{font-size:.78rem;color:var(--text-muted);line-height:1.4}.contact-grid{display:flex;flex-direction:column;gap:20px}.contact-intro{text-align:center;font-size:1rem;color:var(--text-secondary);font-style:italic}.contact-links{display:flex;flex-direction:column;gap:10px}.contact-link{display:flex;align-items:center;gap:14px;padding:14px 16px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:12px;text-decoration:none;color:inherit;transition:all var(--transition)}.contact-link:hover{background:#9b59b61f;border-color:#9b59b666;transform:translateY(-4px) scale(1.02);box-shadow:0 8px 30px #9b59b633}.contact-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#9b59b61a;border-radius:10px;font-size:1.2rem;flex-shrink:0}.contact-link strong{display:block;font-size:.9rem;color:#fff}.contact-link span{font-size:.78rem;color:var(--text-muted)}.dock{position:fixed;bottom:55px;left:50%;transform:translate(-50%);background:var(--glass-bg);backdrop-filter:blur(40px) saturate(1.5);-webkit-backdrop-filter:blur(40px) saturate(1.5);border:1px solid var(--border-default);border-radius:var(--radius-2xl);padding:10px 18px;z-index:600;display:flex;gap:6px;box-shadow:var(--shadow-lg),0 0 40px #9b59b60d}.dock-item{width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:#ffffff0a;border:1px solid rgba(255,255,255,.04);border-radius:var(--radius-lg);cursor:pointer;font-size:1.7rem;transition:all var(--duration-normal) var(--ease-bounce);position:relative}.dock-item:before{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%) scale(0);width:5px;height:5px;border-radius:50%;background:var(--purple);box-shadow:var(--shadow-glow-sm);transition:transform var(--duration-normal) var(--ease-bounce)}.dock-item.open:before{transform:translate(-50%) scale(1)}.dock-item.open{border-color:var(--border-default)}.dock-icon{width:32px;height:32px;object-fit:cover;border-radius:var(--radius-lg);transition:transform var(--duration-normal) var(--ease-bounce)}.dock-item:hover{background:#9b59b61f;border-color:var(--border-default);transform:translateY(-12px) scale(1.15);box-shadow:var(--shadow-lg),var(--shadow-glow-sm)}.dock-item:hover .dock-icon{transform:scale(1.1)}.taskbar{position:fixed;bottom:0;left:0;right:0;height:var(--taskbar-height);background:#0a0a0ff2;backdrop-filter:blur(8px) saturate(150%);-webkit-backdrop-filter:blur(8px) saturate(150%);border-top:1px solid var(--border-subtle);display:flex;justify-content:space-between;align-items:center;padding:0 24px;z-index:700;box-shadow:0 -4px 30px #0006,0 0 60px #9b59b60d}.taskbar-left{display:flex;align-items:center;gap:16px}.taskbar-user{font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--lilac);text-shadow:0 0 20px rgba(155,89,182,.4)}.taskbar-right{display:flex;align-items:center;gap:20px}.taskbar-date{font-family:Orbitron,monospace;font-size:.75rem;font-weight:500;color:#fff9;letter-spacing:.05em;padding-right:4px}.taskbar-clock{font-family:Orbitron,monospace;font-size:.95rem;font-weight:600;color:#fff;letter-spacing:.12em;text-shadow:0 0 14px rgba(155,89,182,.6),0 0 28px rgba(155,89,182,.3);min-width:80px;padding:2px 8px;background:#9b59b614;border:1px solid rgba(155,89,182,.15);border-radius:6px}.taskbar-sep{color:#ffffff4d;margin:0 10px}.taskbar-date{font-family:Orbitron,monospace;font-size:.75rem;font-weight:500;color:#ffffffb3;letter-spacing:.05em;min-width:100px}@media (max-width: 768px){.desktop-layout{display:none}.mobile-bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:60px;height:calc(60px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:#0a0a0ff2;-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);border-top:1px solid rgba(155,89,182,.15);z-index:800;justify-content:space-around;align-items:center;box-shadow:0 -4px 20px #0000004d}.mobile-nav-btn{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:12px;font-size:1.3rem;cursor:pointer;transition:all .2s ease;color:#ffffffb3}.mobile-nav-btn:hover,.mobile-nav-btn.active{background:#9b59b633;border-color:#9b59b64d;color:#fff;transform:scale(1.05)}.start-menu{left:8px!important;right:8px!important;bottom:70px!important;max-width:none!important;width:auto!important;max-height:calc(100vh - 140px);max-height:calc(100dvh - 140px);overflow-y:auto}.start-menu-apps{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.start-menu-item{flex-direction:column;gap:6px;padding:14px 10px;text-align:center}.start-menu-icon{width:32px;height:32px}.os-window{width:100vw!important;height:calc(100vh - 60px)!important;height:calc(100dvh - 60px)!important;left:0!important;top:0!important;border-radius:0!important;max-height:none!important}.os-window.open{transform:none!important}.window-content{max-height:calc(100vh - 112px);max-height:calc(100dvh - 112px)}.window-projects{width:100vw!important}.taskbar,.dock,.avatar-ring{display:none}}@media (max-width: 480px){.start-menu{left:4px!important;right:4px!important;bottom:65px!important;border-radius:10px!important}.start-menu-header{padding:10px 12px}.start-menu-apps{grid-template-columns:repeat(2,1fr);gap:6px}.start-menu-item{padding:12px 8px;font-size:.75rem}.mobile-nav-btn{width:44px;height:44px;font-size:1.1rem}.window-projects{width:100vw!important}.projects-grid{grid-template-columns:1fr!important}.about-grid{grid-template-columns:1fr!important;gap:16px}.about-avatar-wrap{flex-direction:row}}.mobile-bottom-nav{display:none}@media (max-width: 600px){.desktop-layout{gap:20px;padding:20px 10px 100px}.avatar-section{width:120px;height:120px}.main-avatar{width:100px;height:100px}.avatar-ring{width:120px;height:120px}.avatar-glow{width:150px;height:150px}.desktop-icons{gap:10px}.desktop-icon{padding:12px 14px;min-width:75px}.icon-img{width:48px;height:48px;object-fit:cover;border-radius:12px}.icon-emoji{font-size:1.8rem}.icon-label{font-size:.7rem}.about-grid{grid-template-columns:1fr}.about-avatar-wrap{flex-direction:row;justify-content:center}.projects-grid{grid-template-columns:1fr}.os-window{width:94vw}}.start-menu{position:fixed;bottom:50px;left:10px;background:var(--glass-bg);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid var(--border-default);border-radius:var(--radius-xl);padding:var(--space-3);min-width:200px;z-index:1000;box-shadow:var(--shadow-xl);animation:menuSlideIn var(--duration-normal) var(--ease-smooth)}@keyframes menuSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.start-menu-header{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid rgba(155,89,182,.2)}.start-menu-logo{font-size:1.4rem}.start-menu-title{display:flex;flex-direction:column;gap:2px}.start-menu-title>span:first-child{font-weight:600;font-size:.9rem;color:#fff}.start-menu-time{font-size:1.1rem;font-weight:600;color:#9b59b6;font-family:JetBrains Mono,monospace}.start-menu-date{font-size:.75rem;color:#ffffff80}.start-menu-section-title{font-size:.65rem;text-transform:uppercase;letter-spacing:1px;color:#fff6;margin-bottom:8px}.start-menu-quick-settings{display:flex;gap:8px;flex-wrap:wrap}.start-menu-toggle{display:flex;align-items:center;gap:6px;padding:6px 10px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#fffc;font-size:.8rem;cursor:pointer;transition:all .2s}.start-menu-toggle:hover{background:#9b59b633;border-color:#9b59b666}.start-menu-toggle.active{background:#9b59b640;border-color:#9b59b680;color:#fff}.start-menu-stats{display:flex;flex-direction:column;gap:8px;padding:12px;background:#0003;border-radius:8px;margin-bottom:8px}.start-menu-stat{display:flex;align-items:center;gap:8px;font-size:.8rem}.stat-icon{font-size:.9rem}.stat-label{color:#fff9;flex:1}.stat-value{color:#fff;font-weight:500}.start-menu-divider{height:1px;background:#ffffff1a;margin:8px 0}.start-menu-apps{display:flex;flex-direction:column;gap:4px}.start-menu-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:transparent;border:none;border-radius:8px;color:#fff;font-size:.85rem;cursor:pointer;transition:all .2s ease;transform:translate(0)}.start-menu-item:hover{background:#9b59b633;transform:translate(4px);box-shadow:0 0 15px #9b59b61a}.start-menu-item:active{transform:translate(6px) scale(.98)}.start-menu-icon{width:24px;height:24px;object-fit:cover;border-radius:12px}.start-button{display:flex;align-items:center;gap:8px;padding:8px 14px;background:#9b59b62e;border:1px solid rgba(155,89,182,.5);border-radius:10px;color:#fff;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.34,1.56,.64,1);box-shadow:0 2px 12px #9b59b626}.start-button:hover{background:#9b59b659;border-color:#9b59b6cc;transform:translateY(-2px);box-shadow:0 4px 20px #9b59b640,0 0 20px #9b59b626}.start-icon{font-size:1.1rem;color:#d8a9e8}.music-toggle{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#9b59b633;border:1px solid rgba(155,89,182,.3);border-radius:6px;font-size:1rem;cursor:pointer;transition:all .2s ease}.music-toggle:hover{background:#9b59b666;transform:scale(1.05)}.weather-content{padding:16px;display:flex;flex-direction:column;gap:12px}.weather-input-row{display:flex;gap:8px}.weather-input{flex:1;padding:8px 12px;background:#ffffff1a;border:1px solid rgba(155,89,182,.3);border-radius:6px;color:#fff;font-size:.9rem}.weather-input::placeholder{color:#fff6}.weather-search{padding:8px 14px;background:#9b59b64d;border:1px solid rgba(155,89,182,.4);border-radius:6px;color:#fff;cursor:pointer;font-size:1rem}.weather-search:hover{background:#9b59b680}.weather-display{text-align:center}.weather-main{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:8px}.weather-icon{font-size:2.5rem}.weather-temp{font-size:2.5rem;font-weight:700;color:#fff}.weather-details{display:flex;flex-direction:column;gap:4px;color:#ffffffb3;font-size:.85rem}.weather-highlow{color:#9b59b6e6}.weather-error{text-align:center;color:#ff6b6b;font-size:.85rem}.weather-header{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#9b59b633;border-bottom:1px solid rgba(155,89,182,.2)}.weather-title{font-size:.75rem;font-weight:600;color:#9b59b6;text-transform:uppercase;letter-spacing:.05em}.weather-toggle{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:#fff9;font-size:1rem;cursor:pointer}.weather-body{padding:12px}.weather-widget-fixed.collapsed .weather-body{display:none}.weather-input-row{display:flex;gap:6px;margin-bottom:10px}.weather-input{flex:1;min-width:0;padding:6px 8px;background:#ffffff14;border:1px solid rgba(155,89,182,.3);border-radius:6px;color:#fff;font-size:.8rem;box-sizing:border-box}.weather-search{padding:6px 10px;background:#9b59b64d;border:1px solid rgba(155,89,182,.4);border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem}.weather-display{display:flex;flex-direction:column;align-items:center;gap:4px}.weather-icon{font-size:2rem}.weather-temp{font-size:1.8rem;font-weight:700;color:#fff}.weather-details{font-size:.75rem;color:#ffffffb3}.weather-highlow{font-size:.7rem;color:#9b59b6}.weather-error{text-align:center;color:#ff6b6b;font-size:.7rem}.crazy-avatar{animation:crazySpin .2s linear infinite,crazyPulse .3s ease-in-out infinite alternate;filter:hue-rotate(0deg) brightness(1.2)}@keyframes crazySpin{0%{transform:rotate(0) scale(1.1)}25%{transform:rotate(90deg) scale(1.2)}50%{transform:rotate(180deg) scale(1.1)}75%{transform:rotate(270deg) scale(1.2)}to{transform:rotate(360deg) scale(1.1)}}@keyframes crazyPulse{0%{box-shadow:0 0 30px #9b59b6,0 0 60px #9b59b6}to{box-shadow:0 0 60px #f0f,0 0 100px #f0f,0 0 150px #9b59b6}}.rain-toggle,.music-taskbar-btn,.weather-taskbar-btn,.theme-toggle{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:#9b59b626;border:1px solid rgba(155,89,182,.3);border-radius:8px;font-size:1rem;cursor:pointer;transition:all .25s cubic-bezier(.34,1.56,.64,1)}.rain-toggle:hover,.music-taskbar-btn:hover,.weather-taskbar-btn:hover,.theme-toggle:hover{background:#9b59b64d;border-color:var(--border-strong);transform:translateY(-2px) scale(1.08);box-shadow:0 4px 12px #0000004d,var(--shadow-glow-sm)}.music-popup{position:fixed;bottom:60px;right:20px;background:#0f0f19f2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(155,89,182,.3);border-radius:12px;padding:14px 16px;min-width:180px;z-index:200;box-shadow:0 4px 20px #00000080}.music-header{font-size:.65rem;text-transform:uppercase;color:#9b59b6;font-weight:600;letter-spacing:.1em;margin-bottom:4px}.music-info{font-size:.85rem;color:#fff;margin-bottom:12px}.volume-slider{width:100%;height:4px;-webkit-appearance:none;background:#ffffff1a;border-radius:2px;outline:none}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:#9b59b6;border-radius:50%;cursor:pointer;box-shadow:0 0 8px #9b59b680}.music-close{position:absolute;top:8px;right:10px;background:none;border:none;color:#ffffff80;font-size:1.2rem;cursor:pointer}.music-close:hover{color:#fff}.weather-taskbar{position:relative}.weather-taskbar-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#9b59b633;border:1px solid rgba(155,89,182,.3);border-radius:6px;font-size:1rem;cursor:pointer;transition:all .2s ease}.weather-taskbar-btn:hover{background:#9b59b666}.weather-popup-taskbar{position:absolute;bottom:46px;right:0;background:#141428f7;-webkit-backdrop-filter:blur(30px) saturate(1.3);backdrop-filter:blur(30px) saturate(1.3);border:1px solid rgba(155,89,182,.25);border-radius:14px;padding:14px;min-width:170px;display:none;z-index:300;box-shadow:0 8px 32px #00000080,0 0 20px #9b59b614;animation:popupSlideIn .2s ease-out}@keyframes popupSlideIn{0%{opacity:0;transform:translateY(8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.weather-popup-taskbar.show{display:block}.music-popup-taskbar{display:none;position:absolute;bottom:100%;right:0;background:#141428f7;-webkit-backdrop-filter:blur(30px) saturate(1.3);backdrop-filter:blur(30px) saturate(1.3);border:1px solid rgba(155,89,182,.25);border-radius:14px;padding:16px;min-width:185px;margin-bottom:10px;box-shadow:0 8px 32px #00000080,0 0 20px #9b59b614;animation:popupSlideIn .2s ease-out}.music-popup-taskbar.show{display:block}.music-popup-header{font-size:.9rem;font-weight:700;margin-bottom:8px}.music-popup-track{font-size:.85rem;opacity:.7;margin-bottom:8px}.music-popup-controls{display:flex;justify-content:center;margin-bottom:10px}.music-playpause-btn{background:#9b59b680;border:none;border-radius:50%;width:40px;height:40px;font-size:1.2rem;cursor:pointer;transition:background .2s}.music-playpause-btn:hover{background:#9b59b6b3}.music-popup-tracks{display:flex;flex-direction:column;gap:4px}.music-track-btn{background:#ffffff0d;border:none;border-radius:6px;padding:8px 12px;color:#fff;cursor:pointer;text-align:left;font-size:.85rem;transition:background .2s}.music-track-btn:hover{background:#ffffff1a}.music-track-btn.active{background:#9b59b64d}.music-popup-vol{display:flex;align-items:center;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.1)}.music-vol-slider{flex:1;accent-color:#d8a9e8}.music-popup-header{font-size:.65rem;text-transform:uppercase;color:#9b59b6;font-weight:600;letter-spacing:.1em;margin-bottom:8px}.weather-popup-input-row{display:flex;gap:6px;margin-bottom:10px}.weather-popup-input{flex:1;min-width:0;padding:6px 8px;background:#ffffff14;border:1px solid rgba(155,89,182,.3);border-radius:6px;color:#fff;font-size:.8rem;box-sizing:border-box}.weather-popup-search{padding:6px 10px;background:#9b59b64d;border:1px solid rgba(155,89,182,.4);border-radius:6px;color:#fff;cursor:pointer}.weather-popup-display{display:flex;flex-direction:column;align-items:center;gap:2px}.weather-popup-icon{font-size:1.8rem}.weather-popup-temp{font-size:1.5rem;font-weight:700;color:#fff}.weather-popup-details{font-size:.75rem;color:#ffffffb3}.weather-popup-highlow{color:#9b59b6}.weather-popup-error{text-align:center;color:#ff6b6b;font-size:.7rem}.weather-widget-fixed{display:none!important}.project-detail-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:500;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.project-detail-content{background:#0f0f19fa;border:1px solid rgba(155,89,182,.3);border-radius:16px;padding:24px;max-width:400px;width:90%;text-align:center;position:relative;animation:scaleIn .25s cubic-bezier(.34,1.56,.64,1)}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.project-detail-close{position:absolute;top:10px;right:14px;background:none;border:none;color:#ffffff80;font-size:1.5rem;cursor:pointer}.project-detail-close:hover{color:#fff}.project-detail-image{width:100%;height:200px;overflow:hidden;border-radius:10px;margin-bottom:16px;display:flex;align-items:center;justify-content:center;background:#0000004d}.project-detail-image img{max-width:100%;max-height:100%;object-fit:contain}.project-detail-name{font-family:Orbitron,sans-serif;font-size:1.4rem;color:#fff;margin-bottom:8px}.project-detail-desc{color:#ffffffb3;font-size:.9rem;margin-bottom:20px}.project-detail-links{display:flex;flex-direction:column;gap:10px}.project-detail-link{display:block;padding:12px 20px;background:#9b59b633;border:1px solid rgba(155,89,182,.4);border-radius:8px;color:#fff;text-decoration:none;font-size:.9rem;transition:all .2s ease}.project-detail-link:hover{background:#9b59b666}.project-detail-link.primary{background:#9b59b6;border-color:#9b59b6}.project-detail-link.primary:hover{background:#a86bc4}.music-track-select{display:flex;gap:6px;margin-bottom:12px}.track-btn{flex:1;padding:6px 8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#fff9;font-size:.75rem;cursor:pointer;transition:all .2s ease}.track-btn:hover{background:#ffffff1a}.track-btn.active{background:#9b59b64d;border-color:#9b59b680;color:#fff}.music-app{padding:20px;display:flex;flex-direction:column;gap:16px}.music-visualizer{display:flex;justify-content:center;padding:20px 0}.music-icon{font-size:4rem;transition:transform .3s ease}.music-icon.playing{animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.music-track-name{text-align:center;font-family:Orbitron,sans-serif;font-size:1.1rem;color:#fff}.music-controls{display:flex;justify-content:center}.music-play-btn{width:60px;height:60px;border-radius:50%;background:#9b59b64d;border:2px solid rgba(155,89,182,.5);font-size:1.8rem;cursor:pointer;transition:all .2s ease}.music-play-btn:hover{background:#9b59b680;transform:scale(1.05)}.music-track-list{display:flex;flex-direction:column;gap:8px}.track-item{display:flex;align-items:center;gap:12px;padding:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:8px;cursor:pointer;transition:all .2s ease;text-align:left}.track-item:hover{background:#ffffff1a}.track-item.active{background:#9b59b633;border-color:#9b59b666}.track-icon{font-size:1.5rem}.track-info{flex:1;display:flex;flex-direction:column;gap:2px}.track-title{font-size:.9rem;color:#fff}.track-desc{font-size:.75rem;color:#ffffff80}.track-playing{color:#9b59b6;animation:blink 1s ease-in-out infinite}.music-volume-section{display:flex;align-items:center;gap:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.1)}.volume-icon{font-size:1rem}.music-volume-slider{flex:1;height:4px;-webkit-appearance:none;background:#ffffff1a;border-radius:2px;outline:none}.music-volume-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:#9b59b6;border-radius:50%;cursor:pointer;box-shadow:0 0 8px #9b59b680}.light-mode{--win-bg: rgba(255, 255, 255, .95);--glass-border: rgba(0, 0, 0, .08)}.light-mode .os-container{background:linear-gradient(135deg,#f8f8fc,#f0f0f8,#f5f5fa)!important}.light-mode .bg-layer{opacity:.08!important;filter:brightness(1.5) saturate(.5)!important}.light-mode .bg-grid{opacity:.05!important}.light-mode .start-button,.light-mode .rain-toggle,.light-mode .music-taskbar-btn,.light-mode .weather-taskbar-btn,.light-mode .theme-toggle{background:#fff9!important;color:#333!important;border:1px solid rgba(0,0,0,.15)!important;border-radius:8px;padding:6px 10px}.light-mode .start-button:hover,.light-mode .rain-toggle:hover,.light-mode .music-taskbar-btn:hover,.light-mode .weather-taskbar-btn:hover,.light-mode .theme-toggle:hover{background:#ffffffd9!important}.light-mode .os-container{background:#e8e8ee!important}.light-mode .bg-layer{opacity:.3!important;filter:brightness(1) saturate(.9)!important}.light-mode .taskbar{background:#f0f0f580!important;border-top:1px solid rgba(0,0,0,.1)!important}.light-mode .start-button,.light-mode .rain-toggle,.light-mode .music-taskbar-btn,.light-mode .weather-taskbar-btn,.light-mode .theme-toggle{background:#fff9!important;color:#333!important;border:1px solid rgba(0,0,0,.15)!important}.light-mode .start-button:hover,.light-mode .rain-toggle:hover,.light-mode .music-taskbar-btn:hover,.light-mode .weather-taskbar-btn:hover,.light-mode .theme-toggle:hover{background:#fffc!important}.light-mode .taskbar-date,.light-mode .taskbar-clock{color:#333}.light-mode .taskbar-sep{color:#0000004d}.light-mode .music-popup-taskbar,.light-mode .weather-popup-taskbar{background:#fafafffa!important;border:1px solid rgba(0,0,0,.15)!important}.light-mode .music-track-btn,.light-mode .weather-popup-input{background:#fff9!important;color:#333}.light-mode .os-window{--win-bg: rgba(250, 250, 255, .98);background:#fafafffa!important;border:1px solid rgba(0,0,0,.12)!important}.light-mode .window-header{background:linear-gradient(180deg,#ebebf0fa,#e1e1e6f2)!important;border-bottom:1px solid rgba(0,0,0,.1)!important}.light-mode .start-menu{background:#f5f5faf7!important;border:1px solid rgba(0,0,0,.12)!important}.light-mode .start-menu-item{background:#ffffff80;color:#333}.light-mode .desktop-icon{background:#ffffffb3;border:1px solid rgba(0,0,0,.1);color:#333}.light-mode .desktop-icon:hover{background:#ffffffe6;border-color:#9b59b64d;transform:translateY(-4px) scale(1.03);box-shadow:0 12px 30px #00000026,0 0 20px #9b59b61a}.light-mode .desktop-icon .icon-label{color:#333}.light-mode .bg-scanlines{display:none}.light-mode .start-menu-item:hover{background:#fffc;transform:translate(4px);box-shadow:0 0 12px #9b59b614}.light-mode .os-container{background:#f5f5fa}.light-mode .music-popup-taskbar,.light-mode .weather-popup-taskbar{background:#f0f0f5fa;border:1px solid rgba(0,0,0,.1)}.light-mode .music-popup-header,.light-mode .weather-popup-header{color:#333}.light-mode .music-track-btn,.light-mode .weather-popup-input{background:#0000000d;color:#333}.light-mode .theme-toggle{background:#0000000d}.theme-toggle{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;font-size:1rem;cursor:pointer;padding:6px 10px;transition:all .2s}.theme-toggle:hover{background:#ffffff26}.light-mode .theme-toggle{background:#0000000d;border-color:#00000026}.light-mode .theme-toggle:hover{background:#0000001a}.light-mode .os-window{--win-bg: rgba(245, 245, 250, .98);background:#f5f5fafa;border:1px solid rgba(0,0,0,.1)}.light-mode .window-header{background:linear-gradient(180deg,#e6e6ebfa,#dcdce1f2);border-bottom:1px solid rgba(0,0,0,.08)}.light-mode .window-title{color:#333}.light-mode .start-menu{background:#f0f0f5f2;border:1px solid rgba(0,0,0,.1)}.light-mode .start-menu-logo,.light-mode .start-menu span{color:#333}.weather-popup-taskbar.show,.music-popup-taskbar.show{display:block!important;visibility:visible!important}.light-mode .start-menu-stats{background:#0000000d}.light-mode .stat-label{color:#00000080}.light-mode .stat-value{color:#333}.light-mode .start-menu-divider{background:#0000001a}.start-menu-stat.click-counter{opacity:.3;filter:grayscale(1);transition:all .3s ease}.start-menu-stat.click-counter:hover{opacity:1;filter:grayscale(0)}.light-mode .start-menu-stat.click-counter{opacity:.25}.light-mode .start-menu-stat.click-counter:hover{opacity:1}.project-embed-window{width:min(90vw,1200px);height:min(85vh,800px)}.project-embed-content{padding:0;height:calc(100% - 50px)}.project-embed-content iframe{width:100%;height:100%;border:none;border-radius:0 0 12px 12px;background:#fff}.light-mode .start-menu-toggle{background:#0000000f;color:#333;border-color:#0000001a}.light-mode .start-menu-toggle:hover{background:#0000001a}.light-mode .start-menu-toggle.active{background:#9b59b633;border-color:#9b59b666}.project-detail-view{padding:20px;text-align:center}.project-back-btn{background:#9b59b633;border:1px solid rgba(155,89,182,.3);color:#9b59b6;padding:8px 16px;border-radius:8px;cursor:pointer;margin-bottom:20px;font-size:.9rem}.project-back-btn:hover{background:#9b59b666;transform:translateY(-2px);box-shadow:0 4px 15px #9b59b640}.project-detail-full-image{width:100%;max-height:300px;overflow:hidden;border-radius:12px;margin-bottom:20px}.project-detail-full-image img{width:100%;height:auto;object-fit:cover}.project-detail-full-name{font-size:1.8rem;font-weight:600;margin-bottom:10px;color:#fff}.project-detail-full-desc{color:#ffffffb3;margin-bottom:20px;line-height:1.5}.project-detail-full-links{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.project-link-btn{padding:12px 24px;border-radius:10px;text-decoration:none;font-size:.95rem;font-weight:600;background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#fffc;transition:all .25s cubic-bezier(.34,1.56,.64,1)}.project-link-btn:hover{background:#ffffff26;color:#fff;transform:translateY(-3px) scale(1.05);box-shadow:0 8px 25px #0000004d}.project-link-btn:active{transform:translateY(-1px) scale(1.02);transition-duration:.1s}.project-link-btn.primary{background:linear-gradient(135deg,#9b59b6,#8e44ad);border-color:#9b59b6;color:#fff;box-shadow:0 4px 15px #9b59b64d}.project-link-btn.primary:hover{background:linear-gradient(135deg,#a66bbe,#9b59b6);transform:translateY(-3px) scale(1.05);box-shadow:0 8px 30px #9b59b673,0 0 20px #9b59b633}.mobile-message{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f0f23);z-index:9999;justify-content:center;align-items:center;text-align:center;padding:40px}.mobile-message-content{color:#fff}.mobile-message h2{font-family:VT323,monospace;font-size:2.5rem;margin-bottom:20px;color:#9b59b6}.mobile-message p{font-size:1.2rem;opacity:.8;line-height:1.6}@media (max-width: 768px){.mobile-message{display:flex!important}.os-container,.desktop-taskbar,.desktop-layout{display:none!important}}.window-terminal{width:min(700px,92vw);height:min(560px,85vh);display:flex;flex-direction:column}.window-terminal .terminal-body{flex:1;min-height:0}.terminal-body{flex:1;display:flex;flex-direction:column;background:linear-gradient(180deg,#1a1a2e,#0f0f1a 40%,#0a0a0f);font-family:JetBrains Mono,Fira Code,Courier New,monospace;font-size:.85rem;padding:0;overflow:hidden;position:relative;border-top:2px solid rgba(155,89,182,.4);box-shadow:inset 0 0 60px #9b59b61a}.terminal-output{flex:1;overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;gap:4px;scrollbar-width:thin;scrollbar-color:rgba(155,89,182,.3) transparent}.terminal-output::-webkit-scrollbar{width:6px}.terminal-output::-webkit-scrollbar-track{background:transparent}.terminal-output::-webkit-scrollbar-thumb{background:#9b59b64d;border-radius:3px}.terminal-output::-webkit-scrollbar-thumb:hover{background:#9b59b680}.terminal-line{display:flex;flex-wrap:wrap;word-break:break-all;line-height:1.5}.terminal-line pre{margin:0;font-family:inherit;font-size:inherit;white-space:pre-wrap;text-shadow:0 0 6px rgba(212,165,232,.4);color:#d4a5e8}.terminal-input{flex:1;background:transparent;border:none;color:#fff;font-family:inherit;font-size:.95rem;outline:none;caret-color:#b7d;min-width:0;padding:0 6px;letter-spacing:.02em;text-shadow:0 0 8px rgba(255,255,255,.3)}.terminal-input::placeholder{color:#00ff004d}.terminal-prompt{color:#b7d;white-space:nowrap;margin-right:8px;text-shadow:0 0 20px rgba(187,119,221,1),0 0 40px rgba(187,119,221,.7);font-weight:700;font-size:.95rem;animation:promptPulse 2s ease-in-out infinite}@keyframes promptPulse{0%,to{text-shadow:0 0 18px rgba(187,119,221,1),0 0 30px rgba(187,119,221,.6)}50%{text-shadow:0 0 24px rgba(187,119,221,1),0 0 45px rgba(187,119,221,.8)}}.terminal-input-line{display:flex;align-items:center;padding:18px 24px;border-top:1px solid rgba(155,89,182,.5);background:linear-gradient(90deg,#2d1b4e80,#0f0f1acc);gap:4px;box-shadow:0 -4px 20px #9b59b60d}.terminal-body:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.08) 2px,rgba(0,0,0,.08) 4px);pointer-events:none;z-index:1}.light-mode .terminal-body{background:#0d0d14}.light-mode .terminal-prompt{color:#0af}.light-mode .terminal-input{color:#0f0}.terminal-output{flex:1;overflow-y:auto;padding:16px 18px;min-height:0}.terminal-line{margin-bottom:4px}.terminal-error{color:#ff6b6b;text-shadow:0 0 8px rgba(255,107,107,.5)}.terminal-success{color:#90ee90;text-shadow:0 0 8px rgba(144,238,144,.5)}.terminal-info{color:#87ceeb;text-shadow:0 0 8px rgba(135,206,235,.5)}.terminal-win{color:gold;text-shadow:0 0 10px rgba(255,215,0,.6)}.arcade-body{padding:20px;background:var(--void)}.arcade-menu{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:15px}.arcade-menu h2{font-family:Orbitron,sans-serif;color:var(--purple-bright);margin-bottom:10px;text-shadow:0 0 20px var(--purple)}.arcade-game-btn{padding:15px 30px;font-size:1.1rem;background:var(--surface-2);border:1px solid var(--purple);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;transition:all .2s;font-weight:600}.arcade-game-btn:hover{background:var(--purple);transform:scale(1.05);box-shadow:0 0 20px #9b59b666}.snake-game{display:flex;flex-direction:column;align-items:center}.snake-board{display:flex;flex-direction:column;align-items:center;gap:2px;margin:15px 0;background:var(--void);padding:8px;border-radius:var(--radius-md);border:1px solid var(--border-default)}.snake-row{display:flex;gap:2px}.snake-cell{width:18px;height:18px;background:var(--surface-1);border-radius:2px}.snake-cell.snake{background:var(--purple)}.snake-cell.food{background:#ff6b6b;border-radius:50%}.snake-header{display:flex;justify-content:space-between;width:100%;padding:10px 0;font-weight:600;color:var(--text-primary)}.snake-header button{background:#9b59b633;border:1px solid rgba(155,89,182,.3);border-radius:6px;color:var(--text-primary);padding:6px 12px;cursor:pointer}.snake-header button:hover{background:#9b59b666}.snake-start-btn,.snake-gameover button{padding:10px 20px;background:var(--purple);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:10px}.snake-start-btn:hover,.snake-gameover button:hover{background:var(--purple-bright);box-shadow:0 0 15px #9b59b680}.snake-gameover{text-align:center;padding:20px}.snake-gameover p{font-size:1.2rem;color:var(--error);margin-bottom:10px}.memory-game{display:flex;flex-direction:column;align-items:center}.memory-header{display:flex;justify-content:space-between;width:100%;padding:10px 0;font-weight:600;color:var(--text-primary)}.memory-header button{background:#9b59b633;border:1px solid rgba(155,89,182,.3);border-radius:6px;color:var(--text-primary);padding:6px 12px;cursor:pointer}.memory-header button:hover{background:#9b59b666}.memory-board{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:300px;margin:15px auto}.memory-card{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:2rem;background:var(--surface-2);border:2px solid var(--purple);border-radius:var(--radius-md);cursor:pointer;transition:all .2s}.memory-card:hover{transform:scale(1.05);box-shadow:0 0 10px #9b59b64d}.memory-card.flipped{background:var(--surface-3)}.memory-win{text-align:center;padding:20px}.memory-win p{font-size:1.2rem;color:var(--success);margin-bottom:10px}.memory-win button{padding:10px 20px;background:var(--purple);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;font-size:1rem;font-weight:600}.memory-win button:hover{background:var(--purple-bright)}.window-chess{width:min(700px,95vw);height:min(540px,88vh);min-width:580px;min-height:460px}.chess-window-body{display:flex;flex:1;min-height:0;background:var(--surface-0);border-radius:0 0 var(--radius-lg) var(--radius-lg);overflow:hidden}.chess-main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 16px 24px;gap:14px}.chess-board-container{position:relative}.chess-turn-indicator{text-align:center;padding:10px 20px;border-radius:10px;font-weight:700;font-size:.85rem;margin-bottom:10px;background:var(--surface-2);border:1px solid var(--border-default);letter-spacing:.03em;min-width:200px;transition:all .3s cubic-bezier(.34,1.56,.64,1);box-shadow:0 2px 8px #0003}.chess-turn-indicator.white-turn{color:#fff;border-color:#ffffff4d;background:linear-gradient(135deg,var(--surface-2) 0%,rgba(155,89,182,.2) 100%)}.chess-turn-indicator.black-turn{color:#b0b0b0;border-color:#96969633;background:linear-gradient(135deg,var(--surface-2) 0%,rgba(30,30,40,.5) 100%)}.chess-turn-indicator.thinking{animation:thinkingPulse 1.5s ease-in-out infinite;border-color:#9b59b680}@keyframes thinkingPulse{0%,to{box-shadow:0 2px 8px #0003,0 0 20px #9b59b64d}50%{box-shadow:0 2px 8px #0003,0 0 40px #9b59b680}}.thinking-dots:after{content:"...";animation:thinkingDotsAnim 1.2s steps(1) infinite}@keyframes thinkingDotsAnim{0%{content:"."}33%{content:".."}66%{content:"..."}to{content:"."}}.chess-turn-indicator.check{animation:checkPulse .6s ease-in-out infinite;border-color:var(--error)!important;box-shadow:0 0 25px #ff6b6b99,inset 0 0 15px #ff6b6b33;background:linear-gradient(135deg,#ff6b6b26,#ff47571a)!important}@keyframes checkPulse{0%,to{transform:scale(1);box-shadow:0 0 25px #ff6b6b99}50%{transform:scale(1.03);box-shadow:0 0 35px #ff6b6be6}}.chess-turn-indicator.gameover{background:linear-gradient(135deg,var(--purple-deep) 0%,var(--surface-2) 100%)!important;border-color:var(--purple-bright)!important;animation:winnerGlow 1.5s ease-in-out infinite}@keyframes winnerGlow{0%,to{box-shadow:0 0 20px var(--accent-glow)}50%{box-shadow:0 0 35px var(--accent-glow),0 0 50px #9b59b64d}}.chess-board-wrapper{position:relative;padding:16px;background:linear-gradient(145deg,#1a1a28,#0f0f18);border-radius:var(--radius-xl);box-shadow:0 25px 50px -12px #000000b3,0 0 0 1px #9b59b64d,inset 0 1px #ffffff0d,0 50px 100px -20px #9b59b626}.chess-board{display:grid;grid-template-columns:repeat(8,1fr);width:360px;height:360px;border:4px solid;border-image:linear-gradient(145deg,#9b59b6,#4a2c7a) 1;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 0 40px #9b59b666,0 0 80px #9b59b633,inset 0 0 20px #0000004d;transition:transform .5s cubic-bezier(.34,1.56,.64,1)}.chess-board.flipping{transform:rotateY(180deg)}.chess-row{display:flex}.chess-square{width:45px;height:45px;display:flex;align-items:center;justify-content:center;font-size:2.2rem;cursor:pointer;position:relative;transition:all .15s ease}.chess-square.light{background:linear-gradient(135deg,#f5e6d3,#e8d4b8)}.chess-square.dark{background:linear-gradient(135deg,#5a3d7a,#3d2854)}.chess-square:hover{filter:brightness(1.15);transform:scale(1.02);z-index:10}.chess-square.selected{background:linear-gradient(135deg,#9b59b6,#6b3a8a)!important;box-shadow:inset 0 0 20px #0006,0 0 20px #9b59b699;transform:scale(1.05);z-index:5}@keyframes selectedPop{0%{transform:scale(.95)}50%{transform:scale(1.05)}to{transform:scale(1.05)}}.chess-square.valid-move{background:linear-gradient(135deg,#9b59b680,#9b59b64d)!important}.chess-square.valid-move:hover{background:linear-gradient(135deg,#9b59b6b3,#9b59b680)!important}.chess-square.last-move{background:linear-gradient(135deg,#ffd70066,#ffc80033)!important}.chess-square.check{animation:checkGlow 1s ease-in-out infinite}@keyframes checkGlow{0%,to{box-shadow:inset 0 0 20px #f009;background:linear-gradient(135deg,#ff6b6b,#ff4757)!important}50%{box-shadow:inset 0 0 40px #ff0000e6;background:linear-gradient(135deg,#ff4757,#ff6b6b)!important}}.chess-square.promoting{animation:promotePulse .5s ease-in-out infinite}@keyframes promotePulse{0%,to{box-shadow:inset 0 0 20px #ffd70099}50%{box-shadow:inset 0 0 40px #ffd700e6}}.chess-piece{text-shadow:0 4px 8px rgba(0,0,0,.5),0 2px 4px rgba(0,0,0,.3);transition:all .15s cubic-bezier(.34,1.56,.64,1);-webkit-user-select:none;user-select:none;filter:drop-shadow(0 3px 3px rgba(0,0,0,.4));font-size:2.3rem}.chess-piece.moving{animation:pieceMove .25s ease-out;transform:scale(1.15);filter:drop-shadow(0 6px 10px rgba(0,0,0,.7))}@keyframes pieceMove{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1.15)}}.chess-piece.placed{animation:piecePlaced .2s cubic-bezier(.34,1.56,.64,1)}@keyframes piecePlaced{0%{transform:scale(1.2)}50%{transform:scale(.95)}to{transform:scale(1)}}.chess-piece.captured{animation:pieceCapture .3s ease-out forwards}@keyframes pieceCapture{0%{transform:scale(1.15);opacity:1}50%{transform:scale(1.5);opacity:.5}to{transform:scale(0);opacity:0}}.chess-square:hover .chess-piece{transform:scale(1.15);filter:drop-shadow(0 6px 10px rgba(0,0,0,.6))}.valid-move-dot{position:absolute;width:14px;height:14px;background:radial-gradient(circle,#9b59b6e6,#9b59b680);border-radius:50%;pointer-events:none;box-shadow:0 0 12px #9b59b699;animation:dotPulse 1.5s ease-in-out infinite}.valid-move-dot.capture{width:100%;height:100%;top:0;left:0;background:transparent;border:4px solid rgba(155,89,182,.6);border-radius:50%;box-shadow:0 0 15px #9b59b666;animation:capturePulse 1s ease-in-out infinite}@keyframes dotPulse{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.15);opacity:1}}@keyframes capturePulse{0%,to{box-shadow:0 0 10px #9b59b64d}50%{box-shadow:0 0 20px #9b59b699}}.chess-rank-labels{position:absolute;left:-20px;top:0;display:flex;flex-direction:column;height:100%}.chess-rank-labels .chess-label{height:45px;display:flex;align-items:center;font-size:.7rem;color:var(--purple);font-family:JetBrains Mono,monospace;font-weight:600;transition:color .2s ease}.chess-rank-labels:hover .chess-label{color:var(--purple-bright)}.chess-file-labels{position:absolute;bottom:-24px;left:0;width:100%;display:flex}.chess-file-labels .chess-label{width:45px;text-align:center;font-size:.7rem;color:var(--purple);font-family:JetBrains Mono,monospace;font-weight:600;transition:color .2s ease}.chess-file-labels:hover .chess-label{color:var(--purple-bright)}.chess-sidebar{width:185px;background:var(--surface-1);border-left:1px solid var(--border-default);display:flex;flex-direction:column;overflow-y:auto}.chess-controls{display:flex;gap:6px;padding:12px;border-bottom:1px solid var(--border-default)}.chess-btn{flex:1;padding:8px 10px;font-size:.75rem;background:linear-gradient(135deg,var(--surface-2),var(--surface-1));border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;transition:all .2s cubic-bezier(.34,1.56,.64,1);font-weight:600;letter-spacing:.03em;box-shadow:0 2px 8px #0003;position:relative;overflow:hidden}.chess-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .4s ease}.chess-btn:hover:not(:disabled):before{left:100%}.chess-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--purple),var(--purple-dark));border-color:var(--purple-bright);transform:translateY(-2px) scale(1.02);box-shadow:0 4px 15px #9b59b666,0 0 20px #9b59b633}.chess-btn:active:not(:disabled){transform:translateY(0) scale(.98);transition-duration:.1s}.chess-btn.flip-btn{font-size:.8rem}.chess-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.chess-ai-section,.chess-difficulty-section{padding:12px;border-bottom:1px solid var(--border-default)}.chess-label-text{display:block;font-size:.7rem;color:var(--text-muted);margin-bottom:8px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.chess-select{width:100%;padding:8px 10px;font-size:.75rem;background:var(--surface-2);border:1px solid var(--border-default);border-radius:8px;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.chess-select:hover{border-color:var(--purple)}.chess-select:focus{outline:none;border-color:var(--purple-bright);box-shadow:0 0 0 3px var(--accent-subtle)}.chess-sound-section{padding:12px;border-bottom:1px solid var(--border-default)}.chess-checkbox-label{display:flex;align-items:center;gap:10px;font-size:.75rem;color:var(--text-secondary);cursor:pointer;transition:color .2s ease}.chess-checkbox-label:hover{color:var(--text-primary)}.chess-checkbox-label input{accent-color:var(--purple);width:16px;height:16px;cursor:pointer}.chess-material-section{padding:12px 10px;border-bottom:1px solid var(--border-default);display:flex;justify-content:space-between;align-items:center;background:linear-gradient(180deg,rgba(0,0,0,.15),transparent)}.chess-material-label{font-size:.65rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.chess-material-value{font-size:1rem;font-weight:700;font-family:JetBrains Mono,monospace}.material-advantage.white{color:#fff;text-shadow:0 0 10px rgba(255,255,255,.5)}.material-advantage.black{color:#888}.material-equal{color:var(--text-muted)}.chess-captured-section{padding:10px 12px;border-bottom:1px solid var(--border-default);background:linear-gradient(180deg,rgba(0,0,0,.2),transparent)}.chess-captured-header{font-size:.65rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}.chess-captured-pieces{display:flex;flex-direction:column;gap:6px;min-height:28px}.captured-display{display:flex;flex-direction:column;gap:4px}.captured-white,.captured-black{display:flex;flex-wrap:wrap;gap:2px;min-height:20px}.captured-white{color:#fff}.captured-black{color:#888}.captured-piece{font-size:1rem;animation:capturedAppear .3s cubic-bezier(.34,1.56,.64,1);filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}@keyframes capturedAppear{0%{transform:scale(0) rotate(-180deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.chess-move-history{flex:1;display:flex;flex-direction:column;overflow:hidden}.chess-move-history-header{padding:10px 12px;font-size:.65rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--border-default);background:var(--surface-0)}.chess-move-list{flex:1;overflow-y:auto;padding:6px}.chess-move-empty{text-align:center;font-size:.7rem;color:var(--text-muted);padding:24px 16px;font-style:italic}.chess-move{display:flex;gap:8px;padding:5px 8px;font-size:.72rem;border-radius:6px;transition:background .15s ease;animation:moveSlideIn .25s ease-out}@keyframes moveSlideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.chess-move:hover{background:var(--surface-2);transform:translate(4px)}.chess-move.white{color:#fff}.chess-move.black{color:#9a9a9a}.chess-move.current{background:#9b59b64d;border-left:3px solid var(--purple);padding-left:5px}.chess-move-number{color:var(--purple);min-width:28px;font-family:JetBrains Mono,monospace;font-weight:600}.chess-move-notation{font-family:JetBrains Mono,monospace;font-weight:500;letter-spacing:.02em}.chess-move .check-icon{color:var(--warning);margin-left:4px}.chess-move .checkmate-icon{color:var(--error);margin-left:4px;font-weight:700}.chess-promotion-modal{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000d9;-webkit-backdrop-filter:blur(8px) saturate(150%);backdrop-filter:blur(8px) saturate(150%);display:flex;align-items:center;justify-content:center;z-index:100;border-radius:var(--radius-md);animation:modalFadeIn .2s ease-out}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.chess-promotion-content{background:linear-gradient(135deg,var(--surface-1) 0%,var(--surface-2) 100%);border:2px solid var(--purple);border-radius:16px;padding:24px 28px;text-align:center;box-shadow:0 0 40px #9b59b680,0 20px 40px #00000080;animation:modalPopIn .3s cubic-bezier(.34,1.56,.64,1)}@keyframes modalPopIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.chess-promotion-content h3{margin-bottom:20px;font-size:1.1rem;color:var(--purple-bright);font-weight:700;letter-spacing:.03em}.chess-promotion-pieces{display:flex;gap:12px}.chess-promotion-piece{width:60px;height:60px;display:flex;align-items:center;justify-content:center;font-size:2.4rem;background:var(--surface-2);border:2px solid var(--border-default);border-radius:12px;cursor:pointer;transition:all .2s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden}.chess-promotion-piece:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(155,89,182,.3) 0%,transparent 100%);opacity:0;transition:opacity .2s ease}.chess-promotion-piece:hover{background:var(--purple);border-color:var(--purple-bright);transform:scale(1.12) rotate(-5deg);box-shadow:0 0 20px #9b59b699}.chess-promotion-piece:hover:before{opacity:1}.chess-promotion-piece:active{transform:scale(1.05)}.chess-status-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:20px;font-size:.7rem;font-weight:600;margin-left:8px}.chess-status-badge.thinking{background:#fbbf2433;color:var(--warning);animation:thinkingPulse 1s ease-in-out infinite}.chess-status-badge.check{background:#ff6b6b33;color:var(--error)}.chess-piece-moving{position:absolute;font-size:2.2rem;z-index:100;transition:all .25s cubic-bezier(.4,0,.2,1);filter:drop-shadow(0 4px 8px rgba(0,0,0,.4))}.chess-hint{position:absolute;bottom:-30px;left:50%;transform:translate(-50%);font-size:.7rem;color:var(--text-muted);white-space:nowrap;animation:hintFade 3s ease-in-out infinite}@keyframes hintFade{0%,to{opacity:.5}50%{opacity:1}}.typing-cursor{animation:blink .6s step-end infinite;color:var(--accent)}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.terminal-typing pre{opacity:.8}.chess-window{font-family:JetBrains Mono,Courier New,monospace}.chess-status{display:flex;justify-content:center;gap:20px;margin-bottom:15px;font-size:14px}.chess-turn{padding:6px 14px;border-radius:6px;background:var(--glass-bg);border:1px solid var(--border-default);transition:all .3s ease}.chess-turn.active{background:var(--accent);color:var(--bg-primary);font-weight:700;box-shadow:0 0 12px var(--lilac-glow)}.chess-turn.ai-thinking{animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.chess-board-wrapper{display:flex;flex-direction:column;align-items:center;gap:15px}.chess-board{display:grid;grid-template-columns:repeat(8,1fr);width:400px;height:400px;border-radius:8px;overflow:hidden;box-shadow:0 8px 32px #0006,0 0 60px #7b61ff26;border:3px solid var(--border-default)}.chess-cell{width:50px;height:50px;display:flex;align-items:center;justify-content:center;font-size:32px;cursor:pointer;transition:all .15s ease;position:relative}.chess-cell:hover{filter:brightness(1.15);z-index:1}.chess-cell.white-cell{background:linear-gradient(135deg,#f0d9b5,#e8cfa0)}.chess-cell.black-cell{background:linear-gradient(135deg,#b58863,#9a7250)}.chess-cell.selected{background:#7b61ffb3!important;box-shadow:inset 0 0 15px #7b61ffcc}.chess-cell.valid-move:after{content:"";position:absolute;width:14px;height:14px;background:#7b61ff99;border-radius:50%;border:2px solid rgba(255,255,255,.4)}.chess-cell.valid-capture{background:#ff505059!important}.chess-piece{text-shadow:0 2px 4px rgba(0,0,0,.3);transition:transform .1s ease}.chess-piece:hover{transform:scale(1.1)}.chess-controls{display:flex;gap:10px;margin-top:5px}.chess-btn{padding:10px 20px;background:var(--glass-bg);border:1px solid var(--border-default);border-radius:8px;color:var(--text-primary);font-family:inherit;font-size:13px;cursor:pointer;transition:all .2s ease}.chess-btn:hover{background:var(--accent);color:var(--bg-primary);transform:translateY(-2px);box-shadow:0 4px 12px var(--lilac-glow)}.chess-btn:active{transform:translateY(0)}.chess-game-over{text-align:center;margin-top:12px;padding:12px 20px;background:linear-gradient(135deg,#90ee9033,#7b61ff33);border-radius:8px;border:1px solid var(--success);font-weight:700;animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.chess-flip-btn{font-size:16px}.chess-check-alert{text-align:center;padding:8px 16px;margin-bottom:10px;background:linear-gradient(135deg,#ff64644d,#ff323233);border:2px solid #ff6b6b;border-radius:8px;color:#ff6b6b;font-weight:700;font-size:16px;animation:shake .5s ease-in-out,checkPulse .5s ease-in-out infinite}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@keyframes checkPulse{0%,to{box-shadow:0 0 10px #ff646480}50%{box-shadow:0 0 20px #ff6464cc}}.chess-promotion{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#1a1a2e;border:2px solid #bb77dd;border-radius:12px;padding:20px;z-index:100;box-shadow:0 10px 40px #0009,0 0 30px #bb77dd4d}.chess-promotion-title{text-align:center;margin-bottom:15px;font-weight:700;color:#f1f1e6;font-size:16px}.chess-promotion-choices{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.chess-promotion-btn{padding:12px 16px;background:#2a2a4a;border:1px solid #444;border-radius:8px;font-size:28px;cursor:pointer;transition:all .2s ease;color:#f1f1e6}.chess-promotion-btn:hover{background:#b7d;transform:scale(1.1);box-shadow:0 0 15px #bb77dd80}.chess-difficulty-select{padding:8px 12px;background:#2a2a4a;border:1px solid #444;border-radius:8px;color:#f1f1e6;font-family:inherit;font-size:13px;cursor:pointer;outline:none}.chess-difficulty-select:hover{border-color:#b7d}.chess-difficulty-select:focus{border-color:#b7d;box-shadow:0 0 8px #bb77dd4d}.chess-difficulty-select option{background:#1a1a2e;color:#f1f1e6}.chess-loading{font-size:12px;color:#888;animation:blink 1s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.5}}.poker-window{font-family:Segoe UI,system-ui,sans-serif;min-width:520px}.os-window.window-poker{--purple-glow: rgba(50, 200, 100, .4);--purple-bright: #3aca5c}.os-window.window-poker.open:focus-within,.os-window.window-poker.focused{box-shadow:var(--shadow-window),0 0 0 2px var(--purple-bright),0 0 20px #32c8644d}.os-window.window-poker .window-header{background:linear-gradient(180deg,#142819fa,#0f1e14f2);border-bottom-color:#32b4504d}.poker-scene{position:relative;padding:50px 35px 40px;background:linear-gradient(180deg,#2a2a30,#1a1a20,#0a0a0f);border-radius:30px;border:4px solid #1a1a1f;box-shadow:inset 0 0 20px #00000080,inset 0 2px #ffffff0d,0 4px 20px #000c,0 0 0 2px #3a3a40;overflow:hidden}.poker-scene:before{content:"";position:absolute;top:12px;left:20px;right:20px;height:6px;background:linear-gradient(180deg,#0a0a0a,#2a2a30);border-radius:3px;box-shadow:inset 0 1px 2px #000c}.poker-crt-screen{position:relative;background:#0f0a14;border-radius:16px;padding:20px 15px;box-shadow:inset 0 0 60px #000000e6,inset 0 0 3px #000,0 0 30px #64328c26,0 0 60px #3c1e5a14;border:3px solid #0a0a0a}.poker-crt-screen:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,rgba(60,30,80,.15) 0px,rgba(60,30,80,.15) 1px,transparent 1px,transparent 3px);pointer-events:none;z-index:100;border-radius:14px}.poker-crt-screen:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 50%,rgba(100,60,160,.04) 0%,transparent 70%);pointer-events:none;animation:crtGlow 4s ease-in-out infinite}@keyframes crtGlow{0%,to{opacity:.5}50%{opacity:1}}.poker-title{text-align:center;font-size:22px;font-weight:700;color:#4eff4e;text-shadow:0 0 10px #4eff4e,0 0 20px rgba(50,200,50,.5);margin-bottom:8px;letter-spacing:4px}.poker-win-counter{text-align:center;font-size:13px;color:#9a6aaa;text-shadow:0 0 8px rgba(154,106,170,.6);margin-bottom:8px;letter-spacing:2px}.poker-guide-btn{display:block;margin:0 auto 12px;background:#3c2850cc;border:1px solid #6a4a8a;color:#ba9aca;padding:6px 16px;border-radius:8px;font-size:12px;cursor:pointer;letter-spacing:1px;transition:all .2s;text-shadow:0 0 4px rgba(186,154,202,.3)}.poker-guide-btn:hover{background:#503c64e6;border-color:#9a7aaa;color:#da8aea;box-shadow:0 0 10px #9a6aaa66}.poker-guide{background:#140a19e6;border:1px solid #3a2a4a;border-radius:8px;padding:12px;margin-bottom:15px;font-size:11px}.poker-guide-title{text-align:center;color:#aa8aba;font-weight:700;letter-spacing:2px;margin-bottom:10px;text-shadow:0 0 6px rgba(170,138,186,.4)}.poker-guide-item{display:flex;justify-content:space-between;padding:3px 8px;color:#7a6a8a;border-bottom:1px solid rgba(60,40,70,.3)}.poker-guide-item:last-child{border-bottom:none}.poker-guide-rank{color:#9a7aaa;font-weight:600}.poker-table{display:flex;justify-content:center;gap:10px;padding:20px 15px;background:linear-gradient(145deg,#1a4a1a,#0f2f0f,#1a3a1a);border-radius:12px;border:3px solid #2a5a2a;box-shadow:inset 0 0 30px #00000080,0 0 15px #3296324d;margin-bottom:15px;position:relative}.poker-table:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 50%,transparent 20%,rgba(0,50,0,.1) 100%);border-radius:10px;pointer-events:none}.poker-card{width:68px;height:98px;perspective:1000px;cursor:pointer;position:relative;transition:transform .2s ease;z-index:1}.poker-card-inner{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.4,0,.2,1)}.poker-card.flipped .poker-card-inner{transform:rotateY(180deg)}.poker-card.dealing{animation:dealCard .4s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes dealCard{0%{transform:translateY(-120px) rotate(-10deg) scale(.5);opacity:0}to{transform:translateY(0) rotate(0) scale(1);opacity:1}}.poker-card.dealing:nth-child(1){animation-delay:0s}.poker-card.dealing:nth-child(2){animation-delay:.08s}.poker-card.dealing:nth-child(3){animation-delay:.16s}.poker-card.dealing:nth-child(4){animation-delay:.24s}.poker-card.dealing:nth-child(5){animation-delay:.32s}.poker-card-front,.poker-card-back{position:absolute;width:100%;height:100%;backface-visibility:hidden;border-radius:6px;display:flex;align-items:center;justify-content:center}.poker-card-back{background:linear-gradient(135deg,#1a3a5a,#0f2540);border:2px solid #2a5a8a;box-shadow:inset 0 0 12px #00000080,0 2px 8px #0000004d}.poker-card-back:before{content:"";width:48px;height:72px;background:repeating-linear-gradient(45deg,transparent,transparent 4px,rgba(100,180,255,.1) 4px,rgba(100,180,255,.1) 8px);border:2px solid rgba(100,180,255,.4);border-radius:3px}.poker-card-front{background:linear-gradient(180deg,#fefefe,#f5f5f0);border:1px solid #ddd;transform:rotateY(180deg);flex-direction:column;box-shadow:0 2px 8px #0003}.poker-card:hover:not(.flipped){transform:translateY(-4px)}.poker-card.held{transform:translateY(-12px)}.poker-card.held .poker-card-inner{box-shadow:0 8px 25px #32c83280,0 0 15px #32c8324d}.poker-card.held:after{content:"HOLD";position:absolute;bottom:-20px;left:50%;transform:translate(-50%);font-size:9px;font-weight:700;color:#4eff4e;letter-spacing:2px;text-shadow:0 0 8px #4eff4e}.poker-card-corner-top{position:absolute;top:4px;left:5px;font-size:11px;font-weight:700;line-height:1.1}.poker-card-corner-bottom{position:absolute;bottom:4px;right:5px;font-size:11px;font-weight:700;line-height:1.1;transform:rotate(180deg)}.poker-card-suit-small{font-size:12px}.poker-card-suit-small.red{color:#c22}.poker-card-suit-small.black{color:#1a1a2e}.poker-card-center{font-size:28px}.poker-card-center.red{color:#c22}.poker-card-center.black{color:#1a1a2e}.poker-info{display:flex;justify-content:space-between;align-items:center;padding:10px 5px;border-top:1px solid #1a3a1a;border-bottom:1px solid #1a3a1a;margin-bottom:12px}.poker-rolls{font-size:13px;color:#5a9a5a}.poker-rolls span{color:#4eff4e;font-weight:700}.poker-hand-name{font-size:16px;font-weight:700;color:#4eff4e;text-shadow:0 0 10px rgba(50,200,50,.5);animation:fadeInUp .4s ease-out}.poker-hand-name.poker-royal{background:linear-gradient(90deg,gold,#fa0,gold);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:royalGlow 1.5s ease-in-out infinite;filter:drop-shadow(0 0 10px #ffd700)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes royalGlow{0%,to{filter:brightness(1) drop-shadow(0 0 10px #ffd700)}50%{filter:brightness(1.3) drop-shadow(0 0 20px #ffaa00)}}.poker-controls{display:flex;justify-content:center;gap:12px;padding-top:16px}.poker-btn{padding:12px 28px;border:none;border-radius:8px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:2px}.poker-btn-primary{background:linear-gradient(180deg,#4eff4e,#2a9a2a);color:#0a0a0a;box-shadow:0 0 15px #32c83280,inset 0 1px #ffffff4d}.poker-btn-primary:hover{transform:translateY(-2px);box-shadow:0 0 25px #32c832b3,inset 0 1px #ffffff4d}.poker-btn-primary:active{transform:translateY(0)}.poker-btn-secondary{background:linear-gradient(180deg,#3a3a4a,#2a2a3a);color:#8a8a9a;border:1px solid #4a4a5a}.poker-btn-secondary:hover{background:linear-gradient(180deg,#4a4a5a,#3a3a4a);color:#aaa}*{margin:0;padding:0;box-sizing:border-box}body{background:#050510;min-height:100vh;min-height:100dvh;overflow:hidden}#root{width:100%;min-height:100vh}
