:root{--bg-color: #0d1117;--text-primary: #e2e8f0;--text-secondary: #94a3b8;--accent-color: #64ffda;--surface-color: #161b22;--border-color: #30363d;--font-main: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "Fira Code", "Courier New", monospace;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 32px;--spacing-xl: 64px;--transition-speed: .3s;--rainbow-gradient: linear-gradient(90deg, #ff0000, #ff8c00, #ffd700, #00ff00, #00ffff, #0000ff, #8a2be2, #ff00ff, #ff0000);--nav-bg: rgba(13, 17, 23, .85);--bg-pattern: none;--bg-pattern-size: 40px 40px}[data-theme=light]{--bg-color: #f8fafc;--text-primary: #1e293b;--text-secondary: #64748b;--accent-color: #2563eb;--surface-color: #ffffff;--border-color: #e2e8f0;--nav-bg: rgba(248, 250, 252, .85);--bg-pattern: none}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-main);background-color:var(--bg-color);background-image:radial-gradient(at 0% 0%,rgba(255,0,0,.05) 0px,transparent 50%),radial-gradient(at 100% 100%,rgba(138,43,226,.05) 0px,transparent 50%),var(--bg-pattern);background-size:100% 100%,100% 100%,var(--bg-pattern-size);background-attachment:fixed;color:var(--text-primary);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:var(--font-mono);color:var(--text-primary);margin-bottom:var(--spacing-md);font-weight:600}a{color:var(--text-primary);text-decoration:none;transition:color var(--transition-speed) ease}a:hover{color:var(--accent-color)}button{cursor:pointer;border:none;background:none;font-family:var(--font-mono)}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg);width:100%}@media(max-width:768px){.container{padding:0 var(--spacing-lg)}}.section{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:var(--spacing-xl) 0;position:relative;z-index:1}.grid{display:grid;gap:var(--spacing-lg)}.reveal{opacity:0;transform:translateY(50px) scale(.95);transition:opacity 1s cubic-bezier(.23,1,.32,1),transform 1s cubic-bezier(.23,1,.32,1);will-change:transform,opacity}.reveal-visible{opacity:1;transform:translateY(0) scale(1)}.stagger-reveal>*{opacity:0;transform:translateY(30px);transition:opacity .8s cubic-bezier(.23,1,.32,1),transform .8s cubic-bezier(.23,1,.32,1)}.reveal-visible .stagger-reveal>*,.stagger-reveal.reveal-visible>*{opacity:1;transform:translateY(0)}.reveal-visible .stagger-reveal>*:nth-child(1),.stagger-reveal.reveal-visible>*:nth-child(1){transition-delay:.1s}.reveal-visible .stagger-reveal>*:nth-child(2),.stagger-reveal.reveal-visible>*:nth-child(2){transition-delay:.2s}.reveal-visible .stagger-reveal>*:nth-child(3),.stagger-reveal.reveal-visible>*:nth-child(3){transition-delay:.3s}.reveal-visible .stagger-reveal>*:nth-child(4),.stagger-reveal.reveal-visible>*:nth-child(4){transition-delay:.4s}.reveal-visible .stagger-reveal>*:nth-child(5),.stagger-reveal.reveal-visible>*:nth-child(5){transition-delay:.5s}.reveal-visible .stagger-reveal>*:nth-child(6),.stagger-reveal.reveal-visible>*:nth-child(6){transition-delay:.6s}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-color)}::-webkit-scrollbar-thumb{background:var(--surface-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-color)}.rainbow-border{position:relative;border-radius:8px;overflow:hidden}.rainbow-border:before{content:"";position:absolute;inset:-2px;background:linear-gradient(45deg,red,#ff8c00,gold,#0f0,#0ff,#00f,#8a2be2,#f0f,red);background-size:400% 400%;border-radius:8px;z-index:-1;animation:rainbowGradient 6s ease infinite;opacity:0;transition:opacity .3s ease}.rainbow-border:hover:before{opacity:1}@keyframes rainbowGradient{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.rainbow-text{background:var(--rainbow-gradient);background-size:200% auto;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:rainbowSlide 4s linear infinite;display:inline-block}.rainbow-border-left{position:relative;padding-left:16px}.rainbow-border-left:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--rainbow-gradient);background-size:100% 400%;animation:rainbowGradient 4s ease infinite}a{position:relative;display:inline-block}a:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:linear-gradient(90deg,red,#ff8c00,gold,#0f0,#0ff,#00f,#8a2be2,#f0f);background-size:200% 100%;transition:width .3s ease;animation:rainbowSlide 3s linear infinite}a:hover:after{width:100%}@keyframes rainbowSlide{0%{background-position:0% 0%}to{background-position:200% 0%}}a:hover{color:var(--text-primary);text-shadow:0 0 10px rgba(255,0,255,.5),0 0 20px rgba(0,255,255,.3),0 0 30px rgba(255,255,0,.2);animation:rainbowGlow 2s ease-in-out infinite}@keyframes rainbowGlow{0%,to{text-shadow:0 0 10px rgba(255,0,0,.5),0 0 20px rgba(255,0,0,.3)}16%{text-shadow:0 0 10px rgba(255,165,0,.5),0 0 20px rgba(255,165,0,.3)}33%{text-shadow:0 0 10px rgba(255,255,0,.5),0 0 20px rgba(255,255,0,.3)}50%{text-shadow:0 0 10px rgba(0,255,0,.5),0 0 20px rgba(0,255,0,.3)}66%{text-shadow:0 0 10px rgba(0,0,255,.5),0 0 20px rgba(0,0,255,.3)}83%{text-shadow:0 0 10px rgba(255,0,255,.5),0 0 20px rgba(255,0,255,.3)}}.project-card{padding:24px;background:var(--surface-color);border:1px solid var(--border-color);border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;height:100%;transition:transform .3s ease,box-shadow .3s ease}.resume-grid{display:grid;grid-template-columns:2fr 1fr;gap:60px}.resume-col{display:flex;flex-direction:column}.resume-item{margin-bottom:24px}.resume-item h4{margin-bottom:4px;color:#fff}.resume-item .company{font-size:.9rem;color:var(--text-primary);font-weight:400;font-family:var(--font-mono);display:block;margin-bottom:12px}.resume-item p{color:var(--text-secondary)}.skill-group{margin-bottom:32px}.skill-group .tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.skill-group .tag{font-size:.8rem;padding:4px 10px;background:#ffffff08;border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary)}@media(max-width:900px){.resume-grid{grid-template-columns:1fr}}.hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:6px;background:none;border:none;cursor:pointer;padding:10px;z-index:101;width:40px;height:40px}.hamburger span{display:block;width:25px;height:2px;background-color:var(--text-primary);transition:all .3s ease}@media(max-width:768px){.hamburger{display:flex}.nav-menu{position:fixed;top:0;right:-100%;width:80%;height:100vh;background-color:var(--bg-color);flex-direction:column!important;justify-content:center;align-items:center;gap:40px!important;transition:.3s ease;z-index:100;box-shadow:-10px 0 30px #00000080;margin:0;padding:0}.nav-menu.active{right:0}.hamburger.active span:nth-child(1){transform:translateY(8px) rotate(45deg)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.section{padding:var(--spacing-xl) 0}h1,.section-title{font-size:2rem!important;margin-bottom:var(--spacing-lg)!important}.resume-grid{gap:40px!important}.resume-item{margin-bottom:30px!important}.resume-item p{margin-top:10px;line-height:1.6}}:root{--ide-bg: #1e1e1e;--ide-sidebar: #252526;--ide-activity-bar: #333333;--ide-header: #323233;--ide-tab-active: #1e1e1e;--ide-tab-inactive: #2d2d2d;--ide-status-bar: #007acc;--ide-text: #cccccc;--ide-text-bright: #ffffff;--ide-accent: #007acc;--ide-border: #3c3c3c;--ide-terminal: #000000}[data-theme=light]{--ide-bg: #ffffff;--ide-sidebar: #f6f8fa;--ide-activity-bar: #eff2f5;--ide-header: #f6f8fa;--ide-tab-active: #ffffff;--ide-tab-inactive: #eff2f5;--ide-status-bar: #007acc;--ide-text: #24292f;--ide-text-bright: #000000;--ide-border: #d0d7de;--ide-terminal: #f6f8fa}.ide-section{padding:80px 5%;background:transparent;min-height:100vh;display:flex;flex-direction:column;align-items:center}.ide-window{width:100%;max-width:1100px;height:600px;background:var(--ide-bg);border-radius:8px;overflow:hidden;box-shadow:0 30px 60px #00000080;display:flex;flex-direction:column;border:1px solid var(--ide-border);font-family:Fira Code,Consolas,monospace;transition:opacity .3s ease,transform .3s ease}.ide-header{height:35px;background:var(--ide-header);display:flex;align-items:center;justify-content:space-between;padding:0 15px;font-size:12px;color:var(--ide-text);border-bottom:1px solid var(--ide-border)}.window-controls{display:flex;gap:8px}.control{width:12px;height:12px;border-radius:50%;cursor:pointer}.close{background:#ff5f56}.minimize{background:#ffbd2e}.maximize{background:#27c93f}.ide-tab{padding:0 10px 0 15px;height:100%;display:flex;align-items:center;gap:8px;background:var(--ide-tab-inactive);color:var(--ide-text);border-right:1px solid var(--ide-border);cursor:pointer;font-size:12px;white-space:nowrap;position:relative;transition:background .2s,color .2s}.tab-close{width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:3px;opacity:0;transition:opacity .2s,background .2s}.ide-tab:hover .tab-close{opacity:1}.tab-close:hover{background:#444;color:#fff}.ide-body{flex:1;display:flex;overflow:hidden}.ide-activity-bar{width:50px;background:var(--ide-activity-bar);display:flex;flex-direction:column;align-items:center;padding-top:15px;gap:20px}.ide-icon{color:var(--ide-text);cursor:pointer;transition:color .2s}.ide-icon:hover,.ide-icon.active{color:var(--ide-text-bright)}.ide-sidebar{width:200px;background:var(--ide-sidebar);border-right:1px solid var(--ide-border);display:flex;flex-direction:column;font-size:13px}.ide-sidebar-header{padding:10px 15px;display:flex;justify-content:space-between;align-items:center;text-transform:uppercase;font-size:11px;font-weight:700;color:var(--ide-text)}.ide-sidebar-actions{display:flex;gap:4px;color:var(--ide-text)}.sidebar-action-btn{cursor:pointer;padding:2px;border-radius:3px;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}.sidebar-action-btn:hover{background:var(--border-color);color:var(--ide-accent)}.ide-file-item{padding:5px 15px;cursor:pointer;display:flex;align-items:center;gap:8px;color:var(--ide-text);transition:background .2s;position:relative}.ide-file-item:hover{background:#0000000d}[data-theme=dark] .ide-file-item:hover{background:#ffffff0d}.ide-file-item.active{background:linear-gradient(90deg,#ff00001a,#ff8c001a,#ffd7001a,#00ff001a,#00ffff1a,#0000ff1a,#8a2be21a,#ff00ff1a);color:var(--ide-text-bright)}.ide-file-item.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--rainbow-gradient);background-size:100% 400%;animation:rainbowGradient 4s ease infinite}.ide-file-item.drag-over{background:#44474a;outline:2px dashed var(--ide-accent);outline-offset:-2px}.file-delete-btn{position:absolute;right:10px;opacity:0;display:flex;align-items:center;justify-content:center;padding:2px;border-radius:3px;color:#858585;transition:opacity .2s,background .2s,color .2s}.ide-file-item:hover .file-delete-btn{opacity:1}.file-delete-btn:hover{background:#444;color:#f14c4c}.ide-file-input{background:#3c3c3c;border:1px solid var(--ide-accent);color:#fff;font-family:inherit;font-size:13px;padding:2px 5px;margin:5px 15px;width:calc(100% - 30px);outline:none;border-radius:2px}.ide-editor-container{flex:1;display:flex;flex-direction:column;background:var(--ide-bg);position:relative;min-width:0}.ide-editor-main{flex:1;position:relative;overflow:hidden;display:flex;flex-direction:column}.ide-tabs{height:35px;background:var(--ide-tab-inactive);display:flex;overflow-x:auto;flex-shrink:0}.ide-tab.active{background:var(--ide-tab-active);color:var(--ide-text-bright)}.ide-tab.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--rainbow-gradient);background-size:400% 100%;animation:rainbowGradient 4s ease infinite}.ide-editor-wrapper{position:relative;flex:1;overflow:auto;background:var(--ide-bg)}.ide-textarea,.ide-pre{position:absolute;top:0;left:0;width:100%;height:100%;margin:0!important;padding:20px 20px 20px 80px!important;border:none!important;font-family:Consolas,Monaco,Courier New,monospace!important;font-size:14px!important;line-height:21px!important;tab-size:4!important;white-space:pre!important;word-wrap:normal!important;overflow:auto!important;background:transparent!important;box-sizing:border-box!important;z-index:2;resize:none!important;outline:none!important;font-variant-ligatures:none!important}.ide-textarea{color:transparent!important;-webkit-text-fill-color:transparent!important;caret-color:var(--ide-text-bright)!important;background:transparent!important;z-index:3}.ide-pre{z-index:1;pointer-events:none;color:var(--ide-text-bright)!important}.ide-pre code{display:block!important;padding:0!important;margin:0!important;font-family:inherit!important;font-size:inherit!important;line-height:inherit!important;background:none!important;text-shadow:none!important;white-space:inherit!important}.line-numbers-sidebar{position:absolute;top:0;left:0;width:55px;height:100%;background:var(--ide-sidebar);border-right:1px solid var(--ide-border);padding:20px 0!important;display:flex;flex-direction:column;color:#858585;font-family:Consolas,Monaco,Courier New,monospace!important;font-size:14px!important;line-height:21px!important;pointer-events:none;z-index:3;box-sizing:border-box;overflow:hidden}.line-number-item{width:100%;padding-right:12px;text-align:right;height:21px}.ide-terminal{height:150px;background:var(--ide-terminal);border-top:1px solid var(--ide-border);display:flex;flex-direction:column;flex-shrink:0}.terminal-header{height:30px;background:var(--ide-header);display:flex;align-items:center;justify-content:space-between;padding:0 15px;font-size:11px;color:var(--ide-text);border-bottom:1px solid var(--ide-border)}.terminal-actions{display:flex;gap:10px}.run-btn{background:#2ea44f;color:#fff;border:none;padding:2px 10px;border-radius:3px;cursor:pointer;font-weight:700}.run-btn:hover{background:#2c974b}.run-btn:disabled{background:#6a737d;cursor:wait}.terminal-output{flex:1;padding:10px 15px;overflow-y:auto;font-size:12px;color:var(--ide-text)}.terminal-output .error{color:#f14c4c}.terminal-output .info{color:#3794ff}[data-theme=light] .ide-pre,[data-theme=light] .ide-code,[data-theme=light] .token.punctuation,[data-theme=light] .token.operator{color:#000!important}[data-theme=light] .token.atrule,[data-theme=light] .token.attr-value,[data-theme=light] .token.keyword{color:#a01010!important;font-weight:700!important}[data-theme=light] .token.property,[data-theme=light] .token.tag,[data-theme=light] .token.boolean,[data-theme=light] .token.number,[data-theme=light] .token.constant,[data-theme=light] .token.symbol,[data-theme=light] .token.deleted{color:#036!important;font-weight:700!important}[data-theme=light] .token.selector,[data-theme=light] .token.attr-name,[data-theme=light] .token.string,[data-theme=light] .token.char,[data-theme=light] .token.builtin,[data-theme=light] .token.inserted{color:#040!important}[data-theme=light] .token.comment,[data-theme=light] .token.prolog,[data-theme=light] .token.doctype,[data-theme=light] .token.cdata{color:#444!important}[data-theme=light] .token.function{color:#306!important;font-weight:700!important}.ide-status-bar{height:22px;background:var(--ide-status-bar);display:flex;align-items:center;justify-content:space-between;padding:0 10px;font-size:11px;color:#fff;flex-shrink:0}.status-left,.status-right{display:flex;gap:15px}.keyword{color:#569cd6}.string{color:#ce9178}.function{color:#dcdcaa}.comment{color:#6a9955}.type{color:#4ec9b0}.variable{color:#9cdcfe}@media(max-width:768px){.ide-sidebar{display:none}.ide-window{height:60vh;min-height:400px}.ide-textarea,.ide-pre{padding:10px 10px 10px 45px!important;font-size:13px!important;line-height:19px!important}.line-numbers-sidebar{width:35px;padding:10px 0!important;font-size:13px!important;line-height:19px!important}.line-number-item{height:19px}.ide-section{padding:40px 10px}}@media(max-height:500px)and (orientation:landscape){.ide-window{height:85vh;min-height:250px}.ide-section{padding:20px 5%}.ide-terminal{height:80px}.ide-textarea,.ide-pre,.line-numbers-sidebar{font-size:12px!important;line-height:18px!important}.line-number-item{height:18px}}
