@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";*{margin:0;padding:0;box-sizing:border-box}:root{--bg-dark: #0a0f1e;--bg-mid: #111827;--bg-light: #1f2937;--surface: #374151;--surface-hover: #4b5563;--text-primary: #f9fafb;--text-secondary: #d1d5db;--text-muted: #9ca3af;--primary: #3b82f6;--primary-hover: #2563eb;--primary-light: rgba(59, 130, 246, .1);--accent: #8b5cf6;--accent-hover: #7c3aed;--success: #10b981;--warning: #f59e0b;--error: #ef4444;--glass-bg: rgba(31, 41, 55, .7);--glass-border: rgba(255, 255, 255, .1);--glass-shadow: 0 8px 32px rgba(0, 0, 0, .37);--blur-sm: 8px;--blur-md: 16px;--blur-lg: 24px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s}body.light-theme{--bg-dark: #ffffff;--bg-mid: #f9fafb;--bg-light: #f3f4f6;--surface: #e5e7eb;--surface-hover: #d1d5db;--text-primary: #111827;--text-secondary: #374151;--text-muted: #6b7280;--glass-bg: rgba(255, 255, 255, .8);--glass-border: rgba(0, 0, 0, .1);--glass-shadow: 0 8px 32px rgba(0, 0, 0, .1)}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg-dark);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--surface);border-radius:var(--radius-full);transition:background var(--duration-fast)}::-webkit-scrollbar-thumb:hover{background:var(--surface-hover)}::selection{background:var(--primary);color:#fff}*:focus-visible{outline:2px solid var(--primary);outline-offset:2px}button{font-family:inherit;cursor:pointer}body{margin:0;padding:0;font-family:Arial,sans-serif;background-color:#f0f0f0;color:#333}.desktop{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh}.icon{margin:10px;cursor:pointer;text-align:center}.dock{position:fixed;bottom:0;left:0;right:0;height:60px;background-color:#fffc;display:flex;justify-content:center;align-items:center;box-shadow:0 -2px 10px #0003}.window{border:1px solid #ccc;border-radius:5px;box-shadow:0 2px 10px #0003;background-color:#fff;overflow:hidden}.terminal{background-color:#000;color:#0f0;padding:10px;font-family:Courier New,monospace}.theme-toggle{position:fixed;top:10px;right:10px;cursor:pointer}body{background-color:#121212;color:#fff}.desktop{background-color:#1e1e1e}.icon{background-color:#2a2a2a;border:1px solid #444;color:#fff}.dock{background-color:#1e1e1e;border-top:1px solid #444}.window{background-color:#2a2a2a;border:2px solid #444;color:#fff}.terminal{background-color:#1e1e1e;color:#0f0}.boot-animation{background-color:#121212;color:#fff}.boot-screen{position:fixed;inset:0;background:#000;display:flex;align-items:center;justify-content:center;z-index:10000;opacity:1;transition:opacity .5s ease-out}.boot-screen.fade-out{opacity:0;pointer-events:none}.boot-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:40px;animation:fadeIn .8s ease-out}.boot-logo{display:flex;align-items:center;justify-content:center;animation:logoFadeIn 1s ease-out}@keyframes logoFadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.boot-text{font-size:36px;font-weight:300;color:#fff;margin:0;letter-spacing:4px;animation:logoPulse 2s ease-in-out infinite;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}@keyframes logoPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.9;transform:scale(1.02)}}.boot-progress-container{width:300px;display:flex;flex-direction:column;align-items:center;gap:8px;animation:progressFadeIn 1.2s ease-out}@keyframes progressFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.boot-progress{width:100%;height:2px;background:#ffffff26;border-radius:1px;overflow:hidden;position:relative}.boot-progress-bar{height:100%;width:0%;background:#fff;border-radius:1px;animation:progressLoad 2.5s ease-in-out forwards;position:relative}.boot-progress-bar:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.4) 50%,transparent 100%);animation:shimmer 1.5s ease-in-out infinite}@keyframes progressLoad{0%{width:0%}15%{width:20%}30%{width:40%}50%{width:60%}70%{width:80%}85%{width:90%}to{width:100%}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media(max-width:768px){.boot-apple-logo{width:60px;height:60px}.boot-progress-container{width:250px}}:root{--desktop-bg: var(--bg, #0b1220);--panel: var(--panel, rgba(255,255,255,.02));--glass: rgba(255,255,255,.03);--accent: var(--accent, #06b6d4);--muted: rgba(230,238,247,.12);--icon-size: 84px;--icon-inner: 64px;--label-color: #cfe8ff;--label-muted: rgba(207,232,255,.6)}.desktop{position:relative;width:100%;height:100vh;background:radial-gradient(2px 2px at 15% 25%,rgba(255,255,255,1),transparent),radial-gradient(1.5px 1.5px at 35% 15%,rgba(255,255,255,.9),transparent),radial-gradient(2px 2px at 55% 30%,rgba(255,255,255,.8),transparent),radial-gradient(1.5px 1.5px at 75% 20%,rgba(255,255,255,1),transparent),radial-gradient(2px 2px at 85% 35%,rgba(255,255,255,.7),transparent),radial-gradient(1.5px 1.5px at 25% 40%,rgba(255,255,255,.9),transparent),radial-gradient(2px 2px at 45% 50%,rgba(255,255,255,.8),transparent),radial-gradient(1.5px 1.5px at 65% 45%,rgba(255,255,255,1),transparent),radial-gradient(2px 2px at 90% 25%,rgba(255,255,255,.7),transparent),radial-gradient(1.5px 1.5px at 30% 55%,rgba(255,255,255,.9),transparent),radial-gradient(1.5px 1.5px at 50% 10%,rgba(255,255,255,.8),transparent),radial-gradient(2px 2px at 70% 12%,rgba(255,255,255,.9),transparent),radial-gradient(100px 100px at 80% 12%,rgba(255,255,255,.2),transparent),linear-gradient(180deg,#1a0d2e,#2d1b4e,#3d2a5e,#4a2c5e,#5d3a6e,#6d4a7e,#7d5a8e 90%,#8d6a9e);background-size:100% 100%,100% 100%,100% 100%,100% 100%,100% 100%,100% 100%,100% 100%,100% 100%,100% 100%,100% 100%,100% 100%,100% 100%;overflow:hidden;padding:var(--spacing-xl);z-index:0}body.light-theme .desktop{background:linear-gradient(180deg,#f0e6ff,#e6d9ff,#dcc9ff,#d2b9ff,#c8a9ff)}.desktop:before{content:"";position:absolute;bottom:0;left:0;right:0;height:55%;background:linear-gradient(180deg,#1e143280,#281c41b3);clip-path:polygon(0% 100%,12% 65%,22% 75%,35% 55%,48% 70%,62% 50%,75% 60%,88% 45%,100% 50%,100% 100%);pointer-events:none;z-index:1}body.light-theme .desktop:before{background:linear-gradient(180deg,#c4b5fd4d,#a78bfa80)}.desktop:after{content:"";position:absolute;bottom:0;left:0;right:0;height:65%;background:linear-gradient(180deg,#281c4199,#322350e6);clip-path:polygon(0% 100%,8% 75%,18% 85%,30% 65%,42% 80%,55% 60%,68% 70%,82% 55%,95% 60%,100% 65%,100% 100%);pointer-events:none;z-index:2}body.light-theme .desktop:after{background:linear-gradient(180deg,#a78bfa66,#8b5cf6b3)}.desktop>*{position:relative;z-index:10}.desktop-icons{position:absolute;top:calc(28px + var(--spacing-xl));left:var(--spacing-xl);display:grid;grid-template-columns:repeat(2,auto);grid-auto-rows:auto;gap:var(--spacing-lg);max-width:300px;z-index:5;pointer-events:none}.desktop-icons>*{pointer-events:all}.icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:var(--spacing-lg);padding:var(--spacing-lg);max-width:1400px;width:100%}.desktop-icon{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform var(--duration-normal) var(--ease-spring)}.desktop-icon:hover{transform:translateY(-8px)}.desktop-icon:active{transform:translateY(-4px) scale(.98)}.icon-wrapper{width:80px;height:80px;background:#ffffff1a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;transition:all var(--duration-normal) var(--ease-out);box-shadow:0 4px 16px #0000004d}.icon-wrapper:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.1) 0%,transparent 100%);opacity:0;transition:opacity var(--duration-normal)}.desktop-icon:hover .icon-wrapper{background:#3b82f626;border-color:var(--primary);box-shadow:var(--glass-shadow),0 0 30px #3b82f64d;transform:scale(1.1)}.desktop-icon:hover .icon-wrapper:before{opacity:1}.icon-image{font-size:48px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3));transition:transform var(--duration-normal) var(--ease-spring)}.icon-image.icon-svg{width:48px;height:48px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3))}.icon-image.icon-svg-projects{width:56px;height:56px}.icon-image-resume{font-size:40px}.desktop-icon:hover .icon-image{transform:scale(1.1) rotate(5deg)}.desktop-icon:hover .icon-image.icon-svg{transform:scale(1.1)}.icon-label{font-size:12px;font-weight:500;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.8),0 0 4px rgba(0,0,0,.5);max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:all var(--duration-fast);padding:2px 6px;border-radius:4px;background:#0000004d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}body.light-theme .icon-label{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.6),0 0 4px rgba(0,0,0,.4);background:#00000040}.desktop-icon:hover .icon-label{background:#00000080;transform:scale(1.05)}@media(max-width:768px){.desktop{padding:var(--spacing-md)}.desktop-icons{top:calc(32px + var(--spacing-md));left:var(--spacing-md);grid-template-columns:repeat(2,auto);gap:var(--spacing-md);max-width:250px}.icon-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:var(--spacing-md)}.icon-wrapper{width:64px;height:64px}.icon-image{font-size:32px}}@media(prefers-reduced-motion:reduce){.desktop:before{animation:none}.desktop-icon,.icon-visual,.icon-visual:before{transition:none}}.window{position:fixed;left:100px;top:100px;min-width:300px;min-height:250px;max-width:95vw;max-height:92vh;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--blur-lg)) saturate(180%);backdrop-filter:blur(var(--blur-lg)) saturate(180%);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow var(--duration-normal);animation:windowAppear .3s var(--ease-out);z-index:100}@media(max-width:1024px){.window{min-width:280px;min-height:200px}}.window.resizing{transition:none;-webkit-user-select:none;user-select:none}.window.maximized{border-radius:0;max-width:100vw!important;max-height:100vh!important;transition:all .3s ease-out}.window.minimized{animation:minimizeWindow .3s ease-out forwards}@keyframes windowAppear{0%{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes minimizeWindow{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.8) translateY(100px)}}.window.dragging{box-shadow:var(--glass-shadow),0 0 40px #3b82f64d;cursor:grabbing;-webkit-user-select:none;user-select:none}.window-header{height:36px;background:linear-gradient(180deg,rgba(255,255,255,.05) 0%,transparent 100%);border-bottom:1px solid var(--glass-border);display:flex;align-items:center;padding:0 var(--spacing-sm);cursor:grab;-webkit-user-select:none;user-select:none;flex-shrink:0;position:relative}.window.dragging .window-header{cursor:grabbing}.window.maximized .window-header{cursor:default}.window-controls{display:flex;gap:6px;z-index:1}.window-control{width:10px;height:10px;border-radius:var(--radius-full);border:none;cursor:pointer;position:relative;transition:all var(--duration-fast)}.window-control:before{content:"";position:absolute;inset:-4px;border-radius:var(--radius-full);opacity:0;transition:opacity var(--duration-fast)}.window-control:hover:before{opacity:.2}.window-control.close{background:#ff5f57}.window-control.close:before{background:#ff5f57}.window-control.close:hover{background:#ff3b30}.window-control.minimize{background:#ffbd2e}.window-control.minimize:before{background:#ffbd2e}.window-control.minimize:hover{background:#ff9500}.window-control.maximize{background:#28c840}.window-control.maximize:before{background:#28c840}.window-control.maximize:hover{background:#00c700}.window-title{font-size:12px;font-weight:600;color:var(--text-primary);position:absolute;left:50%;transform:translate(-50%);pointer-events:none}.window-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--spacing-lg);background:var(--bg-mid);min-height:0;display:flex;flex-direction:column}@media(max-width:768px){.window-content{padding:var(--spacing-md)}}@media(max-width:480px){.window-content{padding:var(--spacing-sm)}}.window-content.no-padding{padding:0}.resize-handle{position:absolute;z-index:10}.resize-handle:hover{background:#3b82f633}.resize-e,.resize-w{width:8px;top:0;bottom:0;cursor:ew-resize}.resize-e{right:0}.resize-w{left:0}.resize-n,.resize-s{height:8px;left:0;right:0;cursor:ns-resize}.resize-n{top:0}.resize-s{bottom:0}.resize-se,.resize-sw,.resize-ne,.resize-nw{width:16px;height:16px}.resize-se{bottom:0;right:0;cursor:nwse-resize}.resize-sw{bottom:0;left:0;cursor:nesw-resize}.resize-ne{top:0;right:0;cursor:nesw-resize}.resize-nw{top:0;left:0;cursor:nwse-resize}@media(max-width:768px){.window{min-width:calc(100vw - 20px)!important;min-height:400px!important;max-width:calc(100vw - 20px)!important;max-height:70vh!important;left:10px!important;top:50px!important;border-radius:var(--radius-md)}.resize-handle{display:none}.window.maximized{width:100vw!important;height:calc(100vh - 20px)!important;left:0!important;top:10px!important;border-radius:var(--radius-md)}}@media(max-width:480px){.window{min-width:calc(100vw - 10px)!important;min-height:350px!important;max-width:calc(100vw - 10px)!important;max-height:65vh!important;left:5px!important;top:40px!important}.window-header{height:32px;padding:0 var(--spacing-xs)}.window-title{font-size:11px}.window-control{width:8px;height:8px}}.terminal-window{width:700px;height:450px;max-width:90vw;max-height:80vh}.terminal{width:100%;height:100%;background:#0d1117;font-family:Monaco,Menlo,Ubuntu Mono,Courier New,monospace;font-size:14px;line-height:1.6;color:#c9d1d9;display:flex;flex-direction:column;cursor:text;overflow:hidden}.terminal-output{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:16px 16px 8px;min-height:0}.terminal-line{margin-bottom:4px;white-space:pre-wrap;word-wrap:break-word}.terminal-command{color:#58a6ff;font-weight:500}.terminal-error{color:#f85149}.terminal-success{color:#3fb950}.terminal-input-form{padding:0 16px 16px;flex-shrink:0;flex-grow:0;background:#0d1117;border-top:1px solid rgba(255,255,255,.05)}.terminal-input-line{display:flex;align-items:center;gap:8px;padding-top:8px}.terminal-prompt{color:#3fb950;font-weight:600;flex-shrink:0;-webkit-user-select:none;user-select:none}.terminal-input{flex:1;background:transparent;border:none;outline:none;color:#c9d1d9;font-family:inherit;font-size:inherit;padding:0;caret-color:#58a6ff}.terminal-input::selection{background:#58a6ff4d}.terminal-output::-webkit-scrollbar{width:8px}.terminal-output::-webkit-scrollbar-track{background:transparent}.terminal-output::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}.terminal-output::-webkit-scrollbar-thumb:hover{background:#ffffff26}.terminal-line{animation:fadeIn .1s ease-in}.resume-container{display:flex;flex-direction:column;height:100%;width:100%;background:#1e1e1e;overflow:hidden;padding:20px;box-sizing:border-box}.resume-document{max-width:850px;width:100%;margin:0 auto;background:#2d2d2d;box-shadow:0 4px 16px #0006;padding:48px 56px;min-height:100%;overflow-y:auto;border-radius:8px}.resume-header{text-align:center;margin-bottom:32px;padding-bottom:24px;border-bottom:2px solid #404040}.resume-name{font-size:32px;font-weight:700;color:#fff;margin:0 0 12px;letter-spacing:.5px}.resume-contact-info{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px;font-size:13px;color:#a0a0a0;margin-bottom:16px;line-height:1.6}.resume-contact-info span{white-space:nowrap}.resume-actions{display:flex;justify-content:center;margin-top:16px}.resume-button{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:#007aff;border:1px solid #007aff;border-radius:6px;color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;text-decoration:none}.resume-button:hover{background:#0051d5;border-color:#0051d5}.resume-button span{font-size:14px}.resume-section{margin-bottom:32px}.section-title{font-size:16px;font-weight:700;color:#fff;margin:0 0 16px;text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid #404040;padding-bottom:8px}.experience-item{margin-bottom:24px;page-break-inside:avoid}.experience-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px;gap:16px}.experience-title{font-size:15px;font-weight:600;color:#fff;margin:0 0 4px}.experience-company{font-size:14px;color:#a0a0a0;margin:0;font-weight:500;font-style:italic}.experience-period{font-size:13px;color:gray;white-space:nowrap;font-weight:400}.experience-description{margin:12px 0 0;padding-left:20px;color:#d0d0d0;font-size:13px;line-height:1.6}.experience-description li{margin-bottom:6px}.education-item{margin-bottom:24px;page-break-inside:avoid}.education-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px;gap:16px}.education-degree{font-size:15px;font-weight:600;color:#fff;margin:0 0 4px}.education-school{font-size:14px;color:#a0a0a0;margin:0;font-weight:500;font-style:italic}.education-period{font-size:13px;color:gray;white-space:nowrap;font-weight:400}.education-details{font-size:13px;color:#d0d0d0;margin:8px 0 0;line-height:1.6}.skill-category{margin-bottom:16px;page-break-inside:avoid}.skill-category-title{font-size:14px;font-weight:600;color:#fff;margin:0 0 6px;display:inline}.skill-items{display:inline;font-size:13px;color:#d0d0d0;line-height:1.8}.skill-item,.skill-separator{display:inline}.resume-document::-webkit-scrollbar{width:8px}.resume-document::-webkit-scrollbar-track{background:#1e1e1e}.resume-document::-webkit-scrollbar-thumb{background:#404040;border-radius:4px}.resume-document::-webkit-scrollbar-thumb:hover{background:#505050}@media(max-width:768px){.resume-container{padding:10px}.resume-document{padding:32px 24px}.resume-name{font-size:28px}.resume-contact-info{font-size:12px;flex-direction:column;gap:4px}.resume-contact-info span:nth-child(2n){display:none}.experience-header,.education-header{flex-direction:column;gap:8px}.experience-period,.education-period{white-space:normal}}@media print{.resume-container{padding:0;background:#fff}.resume-document{box-shadow:none;padding:0}.resume-actions{display:none}}.contact-container{display:flex;flex-direction:column;height:100%;width:100%;background:#1e1e1e;overflow-y:auto;padding:40px;align-items:center;justify-content:flex-start}.contact-card-macos{width:100%;max-width:600px;background:#2d2d2d;border-radius:12px;box-shadow:0 4px 16px #0006;padding:40px;animation:fadeIn .3s ease-out}.contact-avatar{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;margin:0 auto 24px;box-shadow:0 4px 12px #667eea4d}.contact-initials{font-size:48px;font-weight:600;color:#fff;letter-spacing:2px}.contact-name-section{text-align:center;margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid #404040}.contact-name{font-size:32px;font-weight:600;color:#fff;margin:0;letter-spacing:-.5px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,sans-serif}.contact-sections{display:flex;flex-direction:column;gap:24px}.contact-section{display:flex;flex-direction:column;gap:8px}.contact-section-label{font-size:11px;font-weight:600;color:gray;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.contact-section-content{display:flex;align-items:center}.contact-link{font-size:15px;color:#5ac8fa;text-decoration:none;transition:color .2s ease;word-break:break-word;font-weight:400}.contact-link:hover{color:#7dd3fc;text-decoration:underline}.contact-link:active{color:#38bdf8}.contact-container::-webkit-scrollbar{width:10px}.contact-container::-webkit-scrollbar-track{background:#1e1e1e}.contact-container::-webkit-scrollbar-thumb{background:#404040;border-radius:5px}.contact-container::-webkit-scrollbar-thumb:hover{background:#505050}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.contact-container{padding:20px}.contact-card-macos{padding:32px 24px}.contact-avatar{width:100px;height:100px;margin-bottom:20px}.contact-initials{font-size:40px}.contact-name{font-size:28px}.contact-sections{gap:20px}}.projects-finder{display:flex;flex-direction:column;height:100%;width:100%;background:#1e1e1e;overflow:hidden}.finder-toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:#2d2d2d;border-bottom:1px solid #404040;flex-shrink:0;height:44px}.finder-toolbar-left{display:flex;align-items:center;gap:8px;flex:1}.finder-button{width:28px;height:28px;border:none;background:transparent;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#d0d0d0;transition:background .2s}.finder-button:hover:not(:disabled){background:#404040}.finder-button:disabled{opacity:.3;cursor:not-allowed}.finder-path{display:flex;align-items:center;padding:4px 12px;background:#1e1e1e;border-radius:6px;font-size:13px;color:#d0d0d0;font-weight:500}.finder-toolbar-right{display:flex;align-items:center;gap:8px}.finder-view-toggle{display:flex;gap:4px;background:#1e1e1e;border-radius:6px;padding:2px}.view-button{width:28px;height:28px;border:none;background:transparent;border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:gray;transition:all .2s}.view-button:hover{background:#404040;color:#d0d0d0}.view-button.active{background:#2d2d2d;color:#5ac8fa;box-shadow:0 1px 2px #0000004d}.finder-content{flex:1;overflow-y:auto;padding:20px;background:#1e1e1e}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:20px;max-width:100%}.project-item{display:flex;flex-direction:column;align-items:center;padding:16px;background:#2d2d2d;border-radius:8px;cursor:pointer;transition:all .2s;border:1px solid transparent;text-align:center}.project-item:hover{background:#353535;border-color:#505050;transform:translateY(-2px);box-shadow:0 4px 12px #0006}.project-item:active{transform:translateY(0)}.project-icon{margin-bottom:12px;display:flex;align-items:center;justify-content:center}.project-name{font-size:13px;font-weight:600;color:#fff;margin-bottom:4px;word-break:break-word;line-height:1.3}.project-tech{font-size:11px;color:#a0a0a0;line-height:1.4;word-break:break-word}.finder-content::-webkit-scrollbar{width:10px}.finder-content::-webkit-scrollbar-track{background:#1e1e1e}.finder-content::-webkit-scrollbar-thumb{background:#404040;border-radius:5px}.finder-content::-webkit-scrollbar-thumb:hover{background:#505050}@media(max-width:768px){.projects-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:16px}.project-item{padding:12px}.project-icon svg{width:40px;height:40px}}.spotify-container{display:flex;flex-direction:column;height:100%;width:100%;background:#121212;overflow-y:auto}.spotify-header{padding:24px 24px 16px;background:linear-gradient(180deg,#1db954,#121212 50%);flex-shrink:0}.spotify-header h2{margin:0 0 8px;color:#fff;font-size:24px;font-weight:700}.spotify-header p{margin:0;color:#b3b3b3;font-size:14px}.spotify-content{flex:1;padding:24px;overflow-y:auto;display:flex;flex-direction:column}.spotify-player-wrapper{flex:1;min-height:0;display:flex;flex-direction:column}.spotify-embed{border-radius:12px;border:none;width:100%;height:100%;min-height:500px;background:#181818;flex:1}.spotify-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#b3b3b3;text-align:center;padding:40px}.spotify-placeholder-icon{font-size:64px;margin-bottom:24px;opacity:.8}.spotify-placeholder h3{margin:0 0 16px;color:#fff;font-size:20px;font-weight:600}.spotify-placeholder p{margin:0 0 24px;color:#b3b3b3;font-size:14px}.spotify-setup-steps{text-align:left;max-width:400px;margin:0;padding-left:20px;color:#d0d0d0;font-size:13px;line-height:1.8}.spotify-setup-steps li{margin-bottom:12px}.spotify-setup-steps code{background:#282828;padding:2px 6px;border-radius:4px;font-size:11px;color:#1db954;font-family:Monaco,Menlo,monospace}.spotify-content::-webkit-scrollbar{width:10px}.spotify-content::-webkit-scrollbar-track{background:#121212}.spotify-content::-webkit-scrollbar-thumb{background:#404040;border-radius:5px}.spotify-content::-webkit-scrollbar-thumb:hover{background:#505050}@media(max-width:768px){.spotify-track-info{flex-direction:column;align-items:center;text-align:center}.spotify-album-art{width:180px;height:180px}.spotify-track-name{font-size:24px}.spotify-track-artist{font-size:16px}}.gallery-container{padding:var(--spacing-md);background:#1e1e1e;min-height:100%;overflow-y:auto}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-lg);padding:var(--spacing-sm)}.gallery-item{background:#2d2d2d;border:1px solid transparent;border-radius:var(--radius-md);overflow:hidden;cursor:pointer;transition:all .2s}.gallery-item:hover{background:#353535;border-color:#505050;transform:translateY(-2px);box-shadow:0 4px 12px #0006}.gallery-image-wrapper{position:relative;width:100%;padding-top:75%;overflow:hidden;background:#1e1e1e}.gallery-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform var(--duration-normal) var(--ease-spring)}.gallery-item:hover .gallery-image{transform:scale(1.05)}.gallery-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);padding:var(--spacing-md);opacity:0;transition:opacity var(--duration-normal)}.gallery-item:hover .gallery-overlay{opacity:1}.gallery-title{color:#fff;font-size:14px;font-weight:600;margin:0}.gallery-view{padding:var(--spacing-md);background:#1e1e1e;min-height:100%;display:flex;flex-direction:column;animation:fadeIn .3s ease-out}.gallery-back-button{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:#2d2d2d;border:1px solid #404040;border-radius:var(--radius-md);color:#d0d0d0;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;margin-bottom:var(--spacing-lg);align-self:flex-start}.gallery-back-button:hover{background:#404040;border-color:#505050;color:#fff;transform:translate(-2px)}.gallery-view-content{flex:1;display:flex;flex-direction:column;gap:var(--spacing-lg);overflow-y:auto;min-height:0}.gallery-view-image-wrapper{width:100%;max-width:100%;display:flex;justify-content:center;align-items:center;background:#1e1e1e;border-radius:var(--radius-md);overflow:hidden;flex:1;min-height:0;padding:var(--spacing-sm)}.gallery-view-image{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block}.gallery-view-description{padding:var(--spacing-lg);background:#2d2d2d;border:1px solid #404040;border-radius:var(--radius-md);animation:slideUp .3s ease-out}.gallery-view-title{color:#fff;font-size:18px;font-weight:600;margin:0 0 var(--spacing-md) 0}.gallery-view-text{color:#a0a0a0;font-size:13px;line-height:1.5;margin:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.gallery-container::-webkit-scrollbar,.gallery-view-content::-webkit-scrollbar{width:10px}.gallery-container::-webkit-scrollbar-track,.gallery-view-content::-webkit-scrollbar-track{background:#1e1e1e}.gallery-container::-webkit-scrollbar-thumb,.gallery-view-content::-webkit-scrollbar-thumb{background:#404040;border-radius:5px}.gallery-container::-webkit-scrollbar-thumb:hover,.gallery-view-content::-webkit-scrollbar-thumb:hover{background:#505050}@media(max-width:768px){.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-md);padding:var(--spacing-sm)}.gallery-container{padding:var(--spacing-md)}}@media(max-width:480px){.gallery-grid{grid-template-columns:1fr}}.messages-container{display:flex;flex-direction:column;height:100%;background:#1e1e1e;overflow:hidden}.messages-header-bar{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid #404040;background:#1e1e1e;flex-shrink:0}.messages-header-info{display:flex;align-items:center;gap:var(--spacing-md)}.messages-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.messages-contact-name{font-size:15px;font-weight:600;color:#fff;margin-bottom:2px}.messages-contact-status{font-size:13px;color:#a0a0a0}.messages-conversation{flex:1;overflow-y:auto;padding:var(--spacing-md) var(--spacing-lg);background:#1e1e1e;display:flex;flex-direction:column}.messages-list{display:flex;flex-direction:column;gap:var(--spacing-xs);max-width:100%;padding-bottom:var(--spacing-md)}.messages-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#a0a0a0;text-align:center}.messages-empty-icon{font-size:64px;margin-bottom:var(--spacing-md);opacity:.5}.messages-empty h3{font-size:18px;font-weight:600;margin:0 0 var(--spacing-xs) 0;color:#fff}.messages-empty p{font-size:14px;margin:0;color:#a0a0a0}.message-bubble{display:flex;max-width:75%;animation:messageSlideIn .3s ease-out}.message-bubble.sent{align-self:flex-end;flex-direction:row-reverse}.message-bubble.received{align-self:flex-start}.message-content{padding:var(--spacing-sm) var(--spacing-md);border-radius:18px;word-wrap:break-word;position:relative}.message-bubble.sent .message-content{background:#007aff;color:#fff;border-bottom-right-radius:4px}.message-bubble.received .message-content{background:#2d2d2d;color:#fff;border-bottom-left-radius:4px}.message-title{font-size:12px;font-weight:600;margin-bottom:var(--spacing-xs);opacity:.9}.message-text{font-size:15px;line-height:1.4;margin-bottom:var(--spacing-xs)}.message-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-xs);margin-top:var(--spacing-xs)}.message-bubble.sent .message-footer{justify-content:flex-end}.message-bubble.received .message-footer{justify-content:flex-start}.message-time{font-size:11px;opacity:.7}.message-status{font-size:12px;opacity:.8}.message-status.status-sending{opacity:.6}.message-status.status-error{color:#ff3b30;opacity:1}.messages-input-area{border-top:1px solid #404040;background:#1e1e1e;padding:var(--spacing-md);flex-shrink:0}.messages-form{display:flex;flex-direction:column;gap:var(--spacing-sm)}.message-title-input-wrapper{display:flex;align-items:center}.message-title-input{flex:1;padding:var(--spacing-sm) var(--spacing-md);background:#2d2d2d;border:1px solid #404040;border-radius:var(--radius-md);color:#fff;font-size:13px;font-family:inherit;transition:all var(--duration-fast)}.message-title-input:focus{outline:none;border-color:#007aff;background:#2d2d2d}.message-input-wrapper{display:flex;align-items:center;gap:var(--spacing-sm);background:#2d2d2d;border:1px solid #404040;border-radius:20px;padding:var(--spacing-xs) var(--spacing-sm);transition:all var(--duration-fast)}.message-input-wrapper:focus-within{border-color:#007aff;background:#2d2d2d;box-shadow:0 0 0 1px #007aff}.message-input{flex:1;border:none;background:transparent;color:#fff;font-size:15px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;padding:var(--spacing-sm);outline:none}.message-input::placeholder{color:#a0a0a0}.message-send-button{width:32px;height:32px;border-radius:50%;border:none;background:#007aff;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--duration-fast);flex-shrink:0}.message-send-button:hover:not(:disabled){background:#0051d5;transform:scale(1.05)}.message-send-button:active:not(:disabled){transform:scale(.95)}.message-send-button:disabled{opacity:.5;cursor:not-allowed}.message-options{display:flex;align-items:center;gap:var(--spacing-sm);padding-top:var(--spacing-xs)}.message-option-button{width:28px;height:28px;border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;transition:all var(--duration-fast);opacity:.7}.message-option-button:hover{background:#2d2d2d;opacity:1}.message-priority-select{padding:var(--spacing-xs) var(--spacing-sm);background:#2d2d2d;border:1px solid #404040;border-radius:var(--radius-sm);color:#fff;font-size:12px;font-family:inherit;cursor:pointer;transition:all var(--duration-fast)}.message-priority-select:hover{border-color:#007aff;background:#2d2d2d}.message-priority-select:focus{outline:none;border-color:#007aff}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.messages-conversation::-webkit-scrollbar{width:10px}.messages-conversation::-webkit-scrollbar-track{background:#1e1e1e}.messages-conversation::-webkit-scrollbar-thumb{background:#404040;border-radius:5px}.messages-conversation::-webkit-scrollbar-thumb:hover{background:#505050}@media(max-width:768px){.message-bubble{max-width:85%}.messages-input-area{padding:var(--spacing-sm)}}:root{--dock-bg: rgba(255,255,255,.04);--dock-bg-light: rgba(255,255,255,.85);--dock-blur: 8px;--icon-size: 56px;--icon-inner: 36px;--muted: rgba(230,238,247,.6)}body.light-theme{--dock-bg: var(--dock-bg-light);--muted: rgba(11,18,32,.6)}.dock{position:fixed;left:50%;bottom:calc(var(--spacing-md) + env(safe-area-inset-bottom,0px));transform:translate(-50%);display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;background:#ffffff26;backdrop-filter:blur(30px) saturate(180%);-webkit-backdrop-filter:blur(30px) saturate(180%);border:1px solid rgba(255,255,255,.2);border-radius:20px;box-shadow:0 4px 20px #00000026,inset 0 1px #fff3;z-index:9999;animation:dockSlideUp .6s var(--ease-out);height:60px;visibility:visible;opacity:1;touch-action:manipulation;-webkit-tap-highlight-color:transparent;width:auto;min-width:fit-content;box-sizing:border-box;max-width:95vw}@keyframes dockSlideUp{0%{opacity:0;transform:translate(-50%) translateY(100px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.dock-item{position:relative;width:56px;height:56px;display:flex;align-items:center;justify-content:center;transition:transform .2s cubic-bezier(.4,0,.2,1);cursor:pointer;padding:0;margin:0;flex-shrink:0;flex-grow:0}.dock-item:hover{transform:translateY(-12px) scale(1.4)}.dock-item:active{transform:translateY(-10px) scale(1.35)}.dock-item-inner{width:48px;height:48px;background:transparent;border-radius:12px;display:flex;align-items:center;justify-content:center;position:relative;overflow:visible;transition:all .2s cubic-bezier(.4,0,.2,1)}.dock-item-inner:before{content:"";position:absolute;inset:-2px;background:linear-gradient(135deg,rgba(255,255,255,.3) 0%,rgba(255,255,255,.1) 50%,transparent 100%);border-radius:12px;opacity:0;transition:opacity .2s;pointer-events:none}.dock-item:hover .dock-item-inner:before{opacity:1}.dock-item-icon{font-size:28px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2));transition:transform .2s cubic-bezier(.4,0,.2,1);z-index:1;width:36px;height:36px;display:flex;align-items:center;justify-content:center}.dock-item-icon svg{width:100%;height:100%;color:#1db954}.dock-item-icon-messages svg{color:#34c759}.dock-item-icon-small{font-size:24px;width:30px;height:30px}.dock-item-icon-projects{width:42px;height:42px}.dock-tooltip{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%) translateY(4px);background:var(--bg-light);color:var(--text-primary);padding:6px 12px;border-radius:var(--radius-sm);font-size:12px;font-weight:500;white-space:nowrap;pointer-events:none;opacity:0;transition:all var(--duration-fast) var(--ease-out);box-shadow:0 4px 12px #0000004d;border:1px solid var(--glass-border)}.dock-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--bg-light)}.dock-item:hover .dock-tooltip{opacity:1;transform:translate(-50%) translateY(0)}.dock-separator{width:1px;height:40px;background:#fff3;margin:0 6px;flex-shrink:0;align-self:center}@media(max-width:768px){.dock{padding:10px 16px 8px;border-radius:18px;height:52px;gap:4px;max-width:calc(100vw - 20px);bottom:max(16px,calc(16px + env(safe-area-inset-bottom,0px)));position:fixed;z-index:99999;background:#ffffff40;backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);transform:translate(-50%);will-change:transform;visibility:visible;opacity:1;display:flex}.dock-item{width:44px;height:44px;min-width:40px;min-height:40px;flex-shrink:0}.dock-item-inner{width:36px;height:36px}.dock-item-icon{font-size:32px;width:40px;height:40px}.dock-separator{height:28px;margin:0 3px}}@media(max-width:480px){.dock{padding:8px 4px 6px;gap:3px;max-width:calc(100vw - 16px)}.dock-item{width:40px;height:40px;min-width:36px;min-height:36px}.dock-item-inner{width:32px;height:32px}.dock-item-icon{font-size:24px;width:32px;height:32px}.dock-separator{height:24px;margin:0 2px}}@media(prefers-reduced-motion:reduce){.dock,.dock-item,.dock-icon,.dock-tooltip{transition:none}}.menu-bar{position:fixed;top:0;left:0;right:0;height:28px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;background:#ffffff0d;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid rgba(255,255,255,.1);z-index:10000;font-size:13px;font-weight:500;color:#ffffffe6;-webkit-user-select:none;user-select:none;-webkit-app-region:drag}.menu-bar-left{display:flex;align-items:center;gap:8px;-webkit-app-region:no-drag}.menu-bar-logo{display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:#ffffffe6;cursor:pointer;transition:opacity var(--duration-fast)}.menu-bar-logo:hover{opacity:.7}.menu-bar-item{padding:4px 8px;border-radius:4px;cursor:pointer;transition:background var(--duration-fast);color:#ffffffd9}.menu-bar-item:hover{background:#ffffff1a;color:#fff}.menu-bar-separator{width:1px;height:16px;background:#ffffff26;margin:0 4px}.menu-bar-right{display:flex;align-items:center;gap:12px;-webkit-app-region:no-drag}.menu-bar-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:#ffffffd9;cursor:pointer;transition:opacity var(--duration-fast)}.menu-bar-icon:hover{opacity:.7}.menu-bar-icon svg{width:100%;height:100%}.menu-bar-time{display:flex;flex-direction:column;align-items:flex-end;gap:1px;padding:2px 8px;border-radius:4px;cursor:pointer;transition:background var(--duration-fast)}.menu-bar-time:hover{background:#ffffff1a}.menu-bar-time-text{font-size:12px;font-weight:500;line-height:1.2;color:#ffffffe6}.menu-bar-date-text{font-size:10px;font-weight:400;line-height:1.2;color:#fff9}@media(max-width:768px){.menu-bar{height:32px;padding:0 8px;font-size:12px}.menu-bar-left{gap:6px}.menu-bar-item{padding:4px 6px;font-size:11px}.menu-bar-item:not(:first-child):not(:nth-child(2)){display:none}.menu-bar-right{gap:8px}.menu-bar-icon{width:18px;height:18px}.menu-bar-time-text{font-size:11px}.menu-bar-date-text{font-size:9px}}@media(prefers-reduced-motion:reduce){.menu-bar-logo,.menu-bar-item,.menu-bar-icon,.menu-bar-time{transition:none}}
