@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--vs-bg: #1e1e1e;--vs-panel: #252526;--vs-panel-2: #2d2d30;--vs-border: #3f3f46;--vs-blue: #007acc;--vs-purple: #68217a;--vs-text: #dcdcdc;--vs-muted: #9d9d9d;--vs-selected: #37373d;--vs-hover: #2a2d2e;--code-blue: #569cd6;--code-teal: #4ec9b0;--code-green: #57a64a;--code-orange: #ce9178;--code-purple: #c586c0}button{background:none;border:0}.desktop-scene{min-height:100vh;min-height:100dvh;padding:clamp(24px,5vh,56px) clamp(16px,5vw,80px) 18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(circle at 16% 24%,rgba(113,75,180,.32) 0 1px,transparent 2px),radial-gradient(circle at 74% 18%,rgba(113,181,255,.26) 0 1px,transparent 2px),radial-gradient(circle at 82% 76%,rgba(210,142,255,.25) 0 1px,transparent 2px),radial-gradient(ellipse at 12% 70%,rgba(93,54,155,.42),transparent 38%),radial-gradient(ellipse at 88% 35%,rgba(37,88,145,.38),transparent 42%),linear-gradient(135deg,#090b18,#17152b 42%,#090e20 70%,#070913)}.desktop-scene:before,.desktop-scene:after{content:"";position:absolute;z-index:-1;pointer-events:none}.desktop-scene:before{top:0;right:0;bottom:0;left:0;opacity:.7;background-image:radial-gradient(circle,rgba(255,255,255,.9) 0 1px,transparent 1.4px),radial-gradient(circle,rgba(145,196,255,.8) 0 1px,transparent 1.3px),radial-gradient(circle,rgba(255,255,255,.52) 0 1px,transparent 1.2px);background-size:97px 97px,151px 151px,61px 61px;background-position:17px 23px,54px 79px,7px 37px}.desktop-scene:after{width:72vw;height:72vw;left:-22vw;bottom:-48vw;border:1px solid rgba(157,132,255,.24);border-radius:45%;box-shadow:0 0 0 52px #6651af09,0 0 0 130px #6651af06;transform:rotate(-17deg)}.constellation{position:absolute;z-index:0;pointer-events:none;overflow:visible;filter:drop-shadow(0 0 7px rgba(145,195,255,.42))}.constellation-one{width:min(34vw,520px);top:3%;left:-2%;animation:constellation-drift-one 24s ease-in-out infinite alternate}.constellation-two{width:min(30vw,440px);right:-1%;bottom:6%;animation:constellation-drift-two 29s ease-in-out infinite alternate}.constellation-lines{fill:none;stroke:#8eb4ff52;stroke-width:1}.constellation-stars circle{fill:#dcecff;transform-box:fill-box;transform-origin:center;animation:constellation-glow 2.8s ease-in-out infinite alternate}.constellation-stars circle:nth-child(2n){fill:#c99dff;animation-delay:-.8s;animation-duration:3.7s}.constellation-stars circle:nth-child(3n){animation-delay:-1.7s;animation-duration:2.2s}@keyframes constellation-drift-one{0%{transform:translate3d(-12px,-5px,0) rotate(-3deg)}to{transform:translate3d(38px,24px,0) rotate(4deg)}}@keyframes constellation-drift-two{0%{transform:translate3d(18px,18px,0) rotate(5deg)}to{transform:translate3d(-42px,-26px,0) rotate(-4deg)}}@keyframes constellation-glow{0%{opacity:.34;transform:scale(.7)}to{opacity:1;transform:scale(1.65)}}.visual-studio-shell{position:relative;z-index:2;width:min(100%,1500px);height:min(82dvh,840px);max-height:calc(100dvh - 126px);min-height:min(590px,calc(100dvh - 126px));display:grid;grid-template-rows:35px 30px 39px 1fr 23px;background:var(--vs-bg);border:1px solid rgba(135,150,180,.3);border-radius:12px;box-shadow:0 30px 80px #00000085,0 0 70px #55439729;overflow:hidden}.titlebar{display:grid;grid-template-columns:1fr minmax(260px,430px) 1fr;align-items:center;background:#181818;border-bottom:1px solid #242424;font-size:12px;-webkit-user-select:none;user-select:none}.title-left{display:flex;align-items:center;gap:8px;padding-left:10px;min-width:0}.title-left small{color:#999;white-space:nowrap}.vs-logo{color:#b264c1;font-size:20px}.command-search{height:24px;display:flex;align-items:center;justify-content:center;gap:7px;padding:0 16px;border:1px solid #454545;border-radius:5px;background:#242424;color:#aaa}.window-actions{display:flex;justify-content:flex-end;align-self:stretch}.window-actions svg{width:46px;height:100%;padding:11px 15px}.window-actions svg:last-child:hover{background:#c42b1c}.window-actions svg:not(:last-child):hover{background:#333}.menubar{display:flex;align-items:center;justify-content:space-between;background:#2b2b2b;border-bottom:1px solid #383838;padding:0 8px;font-size:12px;-webkit-user-select:none;user-select:none}.menu-items{display:flex;align-items:center;height:100%}.menu-items span{padding:6px 8px}.menu-items span:hover{background:#414141}.menu-profile{display:flex;align-items:center;gap:10px;color:#bbb;padding-right:7px}.toolbar{display:flex;align-items:center;gap:2px;padding:3px 8px;background:var(--vs-panel-2);border-bottom:1px solid #111;font-size:12px;-webkit-user-select:none;user-select:none}.toolbar button{min-width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid transparent;color:#ccc;cursor:pointer}.toolbar button:hover{background:#3e3e42;border-color:#4d4d50}.toolbar .configuration{min-width:83px;justify-content:space-between;padding:0 8px;background:#333337;border-color:#444448}.toolbar .start-button{min-width:115px;justify-content:flex-start;padding:0 9px;color:#eee}.toolbar .start-button{max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.start-button svg{color:#45c45a;font-size:14px}.tool-separator{width:1px;height:22px;background:#474747;margin:0 5px}.tool-spacer{flex:1}.workspace{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 285px}.solution-explorer{min-width:0;background:#252526;border-left:1px solid #414141;overflow:auto;font-family:Segoe UI,sans-serif;font-size:12px}.panel-title{height:35px;display:flex;align-items:center;justify-content:space-between;padding:0 9px 0 13px;font-size:11px;letter-spacing:.25px}.panel-title div{display:flex;gap:8px;font-size:14px}.solution-row,.tree-row{width:100%;height:25px;display:flex;align-items:center;gap:4px;white-space:nowrap;text-align:left;padding:0 7px;cursor:default}.solution-row:hover,.tree-row:hover{background:var(--vs-hover)}.solution-row svg,.tree-row svg{flex:0 0 auto}.solution-row.root{font-weight:600;color:#eee}.solution-row.root small{font-weight:400;color:#aaa}.tree-row.project{padding-left:18px;font-weight:600}.tree-row.project svg:nth-child(2){color:#7cc7ff}.tree-row.indent{padding-left:39px}.tree-row.file{border:0;color:#ddd}.tree-row.file>svg{color:#a77bc5}.tree-row.file.selected{background:#37373d;outline:1px solid #454545}.tree-row.muted{color:#aaa}.folder-level-1{padding-left:38px}.folder-level-2{padding-left:57px}.file-level-1,.static-file{padding-left:40px}.file-level-2{padding-left:59px}.file-level-3{padding-left:78px}.static-file{color:#bbb}.static-file svg{color:#d6c377}.mobile-panel-close{display:none;cursor:pointer}.panel-title .mobile-panel-close{width:28px;height:28px;place-items:center;color:#ccc}.toolbar .solution-toggle{min-width:122px;padding:0 8px}.editor-area{min-width:0;min-height:0;display:grid;grid-template-rows:36px 28px minmax(0,1fr) auto;background:var(--vs-bg)}.editor-tabs{min-width:0;display:flex;overflow-x:auto;overflow-y:hidden;background:#252526;border-bottom:1px solid #333}.editor-tab{min-width:130px;max-width:190px;height:36px;padding:0 9px;display:flex;align-items:center;gap:7px;background:#2d2d2d;border-right:1px solid #1e1e1e;border-top:1px solid transparent;color:#aaa;font-size:12px;cursor:pointer}.editor-tab>svg:first-child{color:#a77bc5}.editor-tab span{overflow:hidden;text-overflow:ellipsis}.editor-tab.active{background:var(--vs-bg);border-top-color:#7b7b7b;color:#fff}.editor-tab.active>svg:first-child{color:#b78bd7}.active-tab-dot{flex:0 0 auto;margin-left:auto;color:#67c8ff;font-size:8px;filter:drop-shadow(0 0 3px rgba(103,200,255,.5))}.editor-tab.active .tab-close{margin-left:0}.tab-close{margin-left:auto;opacity:0;border-radius:3px}.editor-tab:hover .tab-close,.editor-tab.active .tab-close{opacity:1}.tab-close:hover{background:#4b4b4b}.tabs-fill{flex:1;min-width:25px;border-bottom:1px solid #333}.breadcrumbs{height:28px;display:flex;align-items:center;gap:6px;padding:0 15px;color:#aaa;font-size:11px;border-bottom:1px solid #2a2a2a;white-space:nowrap;overflow:hidden}.breadcrumbs strong{color:#d0d0d0;font-weight:400}.breadcrumbs>svg{color:#777}.editor-scroll{min-height:0;overflow:auto;position:relative;background-color:#1e1e1e;background-image:linear-gradient(rgba(255,255,255,.012) 1px,transparent 1px);background-size:100% 22px}.document{min-height:100%;color:var(--vs-text)}.code-line{min-height:23px;display:grid;grid-template-columns:52px minmax(0,1fr);font:13px/23px JetBrains Mono,Consolas,monospace}.code-line:hover{background:#ffffff05}.line-number{padding-right:16px;text-align:right;color:#858585;-webkit-user-select:none;user-select:none}.line-code{white-space:pre-wrap}.source-document{padding:15px 0 50px}.source-code{min-width:0}.source-code .line-code{overflow-wrap:anywhere}.code-link{color:#ce9178;text-decoration:underline;text-decoration-color:#ce917880;text-underline-offset:3px}.code-link:hover{color:#f2b49d;text-decoration-color:currentColor}.syntax-purple{color:var(--code-purple)}.syntax-blue{color:var(--code-blue)}.syntax-green{color:var(--code-green)}.syntax-teal{color:var(--code-teal)}.syntax-orange{color:var(--code-orange)}.syntax-white{color:#dcdcaa}.home-document{padding:15px 0 50px}.markdown-source{padding-top:6px}.markdown-source .code-line{min-height:28px;font-size:14px;line-height:28px}.markdown-heading{color:#569cd6;font-weight:700}.markdown-list{color:#ce9178}.markdown-link{color:#4ec9b0;text-decoration:underline;text-underline-offset:3px}.image-document{min-height:100%;display:grid;grid-template-rows:minmax(0,1fr) 30px;background:#171717}.image-canvas{min-height:0;display:grid;place-items:center;padding:28px;overflow:auto;background-image:linear-gradient(45deg,#202020 25%,transparent 25%),linear-gradient(-45deg,#202020 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#202020 75%),linear-gradient(-45deg,transparent 75%,#202020 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0}.image-canvas img{display:block;max-width:min(100%,470px);max-height:100%;object-fit:contain;border:1px solid #555;box-shadow:0 14px 45px #00000080}.image-canvas.wide img{max-width:min(100%,1100px)}.image-metadata{display:flex;align-items:center;justify-content:center;gap:18px;border-top:1px solid #333;background:#252526;color:#aaa;font:10px JetBrains Mono,monospace}.cv-document{min-height:100%;display:grid;grid-template-rows:40px minmax(0,1fr);background:#171717}.cv-toolbar{display:flex;align-items:center;gap:8px;padding:0 10px;border-bottom:1px solid #3a3a3a;background:#252526;color:#bbb;font:10px JetBrains Mono,monospace}.cv-toolbar span{min-width:0;margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cv-toolbar a{flex:0 0 auto;padding:6px 9px;border:1px solid #4b4b4b;background:#333337;color:#eee}.cv-toolbar a:hover{border-color:#007acc;background:#0e639c}.cv-document iframe{width:100%;height:100%;min-height:420px;border:0;background:#2d2d2d}.hero-content-line .line-code{padding:5px 42px 13px 26px;white-space:normal}.hero-card{min-height:375px;max-width:920px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(230px,.7fr);align-items:center;gap:clamp(28px,5vw,70px);padding:clamp(28px,5vw,58px);background:linear-gradient(135deg,#2d2d30f2,#1f1f20f5);border:1px solid #444;box-shadow:0 18px 45px #00000052;position:relative;overflow:hidden}.hero-card:before{content:"";position:absolute;width:330px;height:330px;right:-120px;top:-160px;border-radius:50%;background:#68217a38}.hero-copy,.portrait-shell{position:relative;z-index:1}.eyebrow{display:inline-flex;align-items:center;gap:8px;color:#95d5a1;font:600 10px/1 Inter,sans-serif;letter-spacing:1.1px}.status-dot{width:7px;height:7px;display:inline-block;border-radius:50%;background:#4fc56b;box-shadow:0 0 0 4px #4fc56b1f}.hero-copy h1{margin:16px 0 4px;color:#f5f5f5;font:700 clamp(30px,4vw,52px)/1.08 "Inter",sans-serif;letter-spacing:-1.4px}.hero-copy h1 span{display:block;color:#c586c0}.hero-copy h2{margin:11px 0 18px;color:#9cdcfe;font:500 clamp(18px,2vw,25px)/1.25 "JetBrains Mono",monospace}.hero-copy p{max-width:600px;margin:0;color:#b8b8b8;font:14px/1.75 Inter,sans-serif}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.vs-button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;border:1px solid #6a6a6a;background:#333337;color:#fff;font:600 12px Inter,sans-serif;cursor:pointer}.vs-button:hover{background:#414146;border-color:#888}.vs-button.primary{background:#0e639c;border-color:#17b}.vs-button.primary:hover{background:#17b}.social-row{display:flex;gap:10px;margin-top:22px}.social-row a{width:32px;height:32px;display:grid;place-items:center;border:1px solid #4b4b4b;background:#272727;color:#c9c9c9}.social-row a:hover{color:#fff;border-color:#777;background:#333}.portrait-shell{justify-self:end;width:min(100%,265px);background:#222;border:1px solid #555;box-shadow:15px 18px #0003}.portrait-toolbar{height:24px;display:flex;align-items:center;gap:6px;padding-left:8px;background:#333337}.portrait-toolbar span{width:7px;height:7px;border-radius:50%;background:#666}.portrait-toolbar span:first-child{background:#c94f4f}.portrait-toolbar span:nth-child(2){background:#c79d42}.portrait-toolbar span:nth-child(3){background:#4b9f5b}.portrait-shell img{display:block;width:100%;height:265px;object-fit:cover;object-position:center 18%;filter:saturate(.78) contrast(1.04)}.portrait-caption{height:34px;display:flex;align-items:center;gap:7px;padding:0 9px;color:#bbb;font:11px JetBrains Mono,monospace}.portrait-caption svg{color:#7dc5ff;font-size:15px}.portrait-caption small{margin-left:auto;color:#7ecb8e}.content-document{padding:clamp(28px,4vw,55px) clamp(24px,5vw,75px) 70px;max-width:1250px;margin:0 auto}.section-heading{display:flex;align-items:center;gap:13px;margin-bottom:32px;border-bottom:1px solid #3a3a3a;padding-bottom:17px}.section-heading .file-badge{width:42px;height:42px;display:grid;place-items:center;background:#68217a38;border:1px solid #694677;color:#c586c0;font-size:22px}.section-heading .file-badge.json{color:#e2c08d;background:#e2c08d14;border-color:#665943}.section-heading .file-badge.view{color:#d6c377;background:#d6c37714;border-color:#625b3f}.section-heading small{color:#8d8d8d;font:10px JetBrains Mono,monospace}.section-heading h2{margin:3px 0 0;font-size:clamp(22px,3vw,32px);color:#f0f0f0}.about-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.85fr);gap:25px}.code-panel,.story-card,.timeline-card,.technology-panel,.project-card,.contact-form{background:#252526;border:1px solid #414141}.code-panel{padding:19px 0;align-self:start;overflow:auto}.story-card{padding:clamp(25px,3vw,40px);border-top:2px solid #68217a}.story-card h3{margin:0 0 18px;font-size:21px;color:#fff}.story-card p{color:#b7b7b7;line-height:1.72;font-size:13px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:25px}.stats-grid div{padding:15px 8px;background:#1e1e1e;border:1px solid #383838;text-align:center}.stats-grid strong{display:block;color:#9cdcfe;font:600 21px JetBrains Mono,monospace}.stats-grid span{display:block;margin-top:5px;color:#999;font-size:9px}.architecture-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:22px;align-items:start}.startup-code{padding:20px 0}.architecture-notes{padding:28px;background:#252526;border:1px solid #414141;border-top:2px solid #68217a}.architecture-notes h3{margin:14px 0 10px;color:#fff;font-size:20px}.architecture-notes p{margin:0 0 22px;color:#aaa;font-size:12px;line-height:1.7}.controller-actions{display:flex;flex-wrap:wrap;gap:8px}.controller-actions button{padding:8px 10px;border:1px solid #4b4b4b;background:#1f1f1f;color:#bbb;font-size:10px;cursor:pointer}.controller-actions button:hover{background:#333337;border-color:#777;color:#fff}.timeline{max-width:950px}.timeline-item{display:grid;grid-template-columns:30px 1fr;gap:10px}.timeline-rail{display:flex;flex-direction:column;align-items:center}.timeline-rail span{width:12px;height:12px;margin-top:23px;border-radius:50%;border:2px solid #c586c0;background:#1e1e1e;box-shadow:0 0 0 4px #c586c01f}.timeline-rail i{flex:1;width:1px;min-height:30px;background:#535353}.timeline-card{margin-bottom:20px;padding:clamp(22px,3vw,32px)}.timeline-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.timeline-top h3{margin:10px 0 4px;color:#fff;font-size:20px}.timeline-top h4{margin:0;color:#9cdcfe;font-weight:500;font-size:13px}.timeline-top time{color:#aaa;font:11px JetBrains Mono,monospace;white-space:nowrap}.tag{display:inline-block;padding:4px 7px;color:#91d69e;background:#43a1531a;border:1px solid #35683d;font:600 8px Inter,sans-serif;letter-spacing:.8px}.tag.blue{color:#9cdcfe;border-color:#345f7b;background:#569cd614}.timeline-card ul{margin:22px 0;padding:0;list-style:none}.timeline-card li{position:relative;margin:10px 0;padding-left:17px;color:#b7b7b7;font-size:13px;line-height:1.55}.timeline-card li:before{content:"›";position:absolute;left:0;color:#c586c0;font-weight:700}.stack-row{display:flex;flex-wrap:wrap;gap:7px}.stack-row span{padding:4px 8px;background:#1e1e1e;border:1px solid #3e3e3e;color:#bcbcbc;font:9px JetBrains Mono,monospace}.skills-layout{display:grid;grid-template-columns:40px minmax(0,1fr) minmax(240px,.55fr);background:#202020;border:1px solid #3c3c3c;overflow:hidden}.json-gutter{display:flex;flex-direction:column;align-items:flex-end;gap:6px;padding:18px 10px;background:#1c1c1c;border-right:1px solid #333;color:#777;font:11px/18px JetBrains Mono,monospace}.skills-json{padding:18px 25px;color:#d4d4d4;font:12px/1.9 JetBrains Mono,monospace;overflow:auto}.json-group{padding-left:20px}.json-key{color:#9cdcfe}.skill-chips{padding-left:28px;display:flex;flex-wrap:wrap;gap:4px 10px}.skill-chips span{color:#ce9178}.technology-panel{margin:18px;padding:24px;align-self:start}.technology-panel h3{margin:0 0 18px;font-size:15px}.technology-panel p{color:#aaa;font-size:12px;line-height:1.6;margin:22px 0 0}.technology-icons{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.technology-icons span{min-height:80px;display:grid;place-items:center;background:#1f1f1f;border:1px solid #393939;color:#7ac4f4}.technology-icons svg{font-size:25px}.technology-icons small{color:#aaa;font-size:9px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.project-card{display:flex;flex-direction:column;min-height:390px;transition:transform .18s ease,border-color .18s ease}.project-card:hover{transform:translateY(-3px);border-color:#666}.project-titlebar{height:42px;display:flex;align-items:center;gap:10px;padding:0 14px;background:#2d2d30;border-bottom:1px solid #414141;color:#c586c0}.project-number{margin-right:auto;color:#888;font:10px JetBrains Mono,monospace}.project-preview{display:block;height:145px;overflow:hidden;border-bottom:1px solid #414141;background:#171717}.project-preview img{width:100%;height:100%;display:block;object-fit:cover;object-position:top;transition:transform .3s ease}.project-card:hover .project-preview img{transform:scale(1.025)}.project-body{flex:1;padding:23px}.project-body small{color:var(--code-blue);font:10px JetBrains Mono,monospace}.project-body h3{margin:5px 0 13px;color:var(--code-teal);font:600 20px JetBrains Mono,monospace}.project-body p{min-height:42px;color:#aaa;font-size:12px;line-height:1.55}.project-actions{display:flex;justify-content:space-between;border-top:1px solid #414141}.project-actions a{flex:1;height:42px;display:flex;align-items:center;justify-content:center;gap:7px;color:#bbb;font-size:11px}.project-actions a+a{border-left:1px solid #414141}.project-actions a:hover{background:#333337;color:#fff}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:25px;max-width:950px}.contact-copy{padding:12px 8px}.contact-copy h3{max-width:500px;margin:18px 0 10px;font-size:clamp(22px,3vw,34px);color:#fff}.contact-copy>p{max-width:500px;color:#aaa;font-size:13px;line-height:1.7}.contact-links{display:grid;gap:8px;margin-top:25px}.contact-links a{display:flex;align-items:center;gap:12px;padding:11px 12px;border:1px solid #3d3d3d;background:#242424;color:#ccc;font-size:11px}.contact-links a:hover{border-color:#666;background:#2c2c2c}.contact-links a>svg{color:#9cdcfe;font-size:18px}.contact-links span{display:grid;gap:2px}.contact-links small{color:#777;font-size:8px;text-transform:uppercase;letter-spacing:.7px}.contact-form{display:flex;flex-direction:column;gap:16px;padding:clamp(22px,3vw,32px)}.contact-form label{display:grid;gap:6px;color:#bbb;font-size:11px}.contact-form input,.contact-form textarea{width:100%;border:1px solid #555;border-radius:0;background:#1e1e1e;color:#eee;padding:10px 11px;outline:none;font:12px Inter,sans-serif;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:#007acc;box-shadow:0 0 0 1px #007acc}.contact-form .vs-button{align-self:flex-start}.view-preview{min-height:100%;padding:clamp(22px,4vw,52px);background:radial-gradient(circle at 90% 0,rgba(0,122,204,.13),transparent 38%),#18191d;font-family:Inter,sans-serif}.view-preview>header{margin-bottom:25px;padding-bottom:15px;border-bottom:1px solid #34363d}.view-preview>header span,.preview-kicker{color:#75beff;font-size:9px;font-weight:700;letter-spacing:1.2px}.view-preview>header h1{margin:5px 0 0;color:#fff;font-size:clamp(23px,3vw,34px)}.preview-home{min-height:320px;display:grid;grid-template-columns:minmax(190px,280px) minmax(0,1fr);align-items:center;gap:clamp(25px,5vw,65px);max-width:920px}.preview-home>img{width:100%;max-height:340px;object-fit:cover;object-position:center 20%;border:1px solid #4a4d56;box-shadow:15px 15px #00000038}.preview-home h2{margin:11px 0 2px;color:#fff;font-size:clamp(29px,4vw,48px)}.preview-home h3{margin:7px 0 16px;color:#9cdcfe;font:500 clamp(16px,2vw,22px) "JetBrains Mono",monospace}.preview-home p{max-width:620px;color:#b9bcc5;font-size:13px;line-height:1.75}.preview-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.preview-links a{min-height:34px;display:inline-flex;align-items:center;padding:0 12px;border:1px solid #4a4d56;background:#24262c;color:#d8dae0;font-size:10px}.preview-links a:hover{border-color:#007acc;background:#293744;color:#fff}.preview-experience{max-width:860px;padding:clamp(24px,4vw,42px);border:1px solid #41444d;border-left:3px solid #68217a;background:#232429}.preview-experience h2{margin:12px 0 4px;color:#fff;font-size:clamp(21px,3vw,30px)}.preview-experience h3{margin:0;color:#9cdcfe;font-size:14px;font-weight:500}.preview-experience ul{margin:25px 0 0;padding-left:20px;color:#bdc0c8;font-size:13px;line-height:1.8}.preview-skills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:980px}.preview-skills article{padding:22px;border:1px solid #3e4149;background:#232429}.preview-skills span{color:#4ec9b0;font:600 12px JetBrains Mono,monospace}.preview-skills p{margin:11px 0 0;color:#c2c4cb;font-size:12px;line-height:1.65}.preview-projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.preview-projects article{min-width:0;padding:22px;border:1px solid #3e4149;background:#232429}.preview-projects article.featured{grid-column:1 / -1;display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,1fr);gap:24px;align-items:center;border-top:2px solid #1ed760}.preview-projects img{width:100%;max-height:240px;object-fit:cover;object-position:top;border:1px solid #484b53}.preview-projects article>div>span{color:#75beff;font:9px JetBrains Mono,monospace}.preview-projects h2{margin:7px 0;color:#fff;font-size:20px}.preview-projects p{margin:0;color:#aaaeb7;font-size:12px;line-height:1.55}.preview-projects article:not(.featured) img{height:clamp(130px,18vw,190px);margin-bottom:17px}.preview-contact{max-width:760px;display:grid;gap:10px;padding:clamp(25px,5vw,50px);border:1px solid #41444d;background:#232429}.preview-contact h2{max-width:620px;margin:8px 0 18px;color:#fff;font-size:clamp(23px,4vw,36px)}.preview-contact>a{padding:12px;border:1px solid #3e4149;background:#1c1d21;color:#9cdcfe;font:11px JetBrains Mono,monospace;overflow-wrap:anywhere}.preview-contact>a:hover{border-color:#007acc;color:#fff}.output-panel{height:98px;background:#1e1e1e;border-top:1px solid #3c3c3c;font-size:11px;overflow:hidden}.output-tabs{height:31px;display:flex;align-items:center;gap:12px;padding:0 10px;border-bottom:1px solid #303030}.output-tabs span{color:#999;font-size:10px}.output-tabs span.active{height:31px;display:flex;align-items:center;color:#fff;border-bottom:1px solid #007acc}.output-close{width:28px;height:28px;display:grid;place-items:center;margin-left:auto;color:#aaa;cursor:pointer}.output-close:hover{color:#fff;background:#333}.output-content{display:grid;gap:5px;padding:8px 15px;color:#aaa;font-family:JetBrains Mono,monospace}.output-content strong{color:#c6c6c6;font-weight:400}.statusbar{min-width:0;display:flex;align-items:center;justify-content:space-between;overflow:hidden;background:#007acc;color:#fff;font-size:10px;-webkit-user-select:none;user-select:none}.statusbar>div{min-width:0;display:flex;height:100%;overflow:hidden}.statusbar>div:last-child{justify-content:flex-end}.statusbar span{min-width:0;display:flex;align-items:center;gap:4px;padding:0 8px;white-space:nowrap}.statusbar span:hover{background:#ffffff1f}.status-purple{max-width:260px;overflow:hidden;background:#68217a;text-overflow:ellipsis}.app-dock{position:relative;z-index:2;max-width:calc(100vw - 16px);min-height:66px;flex:0 0 auto;display:flex;align-items:flex-end;gap:9px;padding:9px 12px;background:#080b14c7;border:1px solid rgba(137,154,190,.27);border-radius:18px;box-shadow:0 14px 35px #00000061,inset 0 1px #ffffff0a;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.spotify-player{position:absolute;z-index:30;left:50%;bottom:95px;width:min(430px,calc(100vw - 24px));height:min(540px,calc(100dvh - 135px));transform:translate(-50%);overflow:hidden;border:1px solid rgba(137,154,190,.38);border-radius:13px;background:#121212;box-shadow:0 24px 65px #0000009e}.spotify-mix-header{height:48px;display:flex;align-items:center;gap:8px;padding:5px 8px 5px 13px;background:#181818;border-bottom:1px solid #303030}.spotify-mix-header>div{min-width:0;display:grid;gap:2px}.spotify-mix-header strong{color:#fff;font-size:13px}.spotify-mix-header span{color:#888;font-size:9px}.spotify-close{width:30px;height:30px;display:grid;place-items:center;margin-left:auto;border-radius:5px;color:#aaa;cursor:pointer}.spotify-close:hover{background:#2d2d2d;color:#fff}.spotify-now-playing{display:block;height:152px;border:0;background:#181818}.spotify-song-list{height:calc(100% - 200px);padding:6px;overflow-y:auto;background:#121212}.spotify-song{width:100%;min-height:46px;display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;padding:5px 8px;border-radius:6px;color:#b3b3b3;text-align:left;cursor:pointer}.spotify-song:hover{background:#242424;color:#fff}.spotify-song.active{background:#2a2a2a;color:#1ed760}.song-number{display:grid;place-items:center;font-size:11px}.song-number svg{font-size:14px}.song-details{min-width:0;display:grid;gap:2px}.song-details strong,.song-details small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.song-details strong{color:#f2f2f2;font-size:11px;font-weight:600}.song-details small{color:#8f8f8f;font-size:9px}.spotify-song.active .song-details strong{color:#1ed760}.dock-app{width:48px;height:48px;display:grid;place-items:center;position:relative;border-radius:12px;color:#fff;font-size:28px;cursor:pointer;transition:transform .18s ease,filter .18s ease}.dock-app.spotify.active:after{content:"";position:absolute;width:5px;height:5px;bottom:-7px;border-radius:50%;background:#fff}.dock-app:hover{transform:translateY(-7px) scale(1.08);filter:brightness(1.12)}.dock-app span{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translate(-50%) translateY(4px);padding:5px 7px;border-radius:5px;background:#111521;border:1px solid #3c4354;color:#e6e9f0;font-size:9px;white-space:nowrap;pointer-events:none;opacity:0;transition:.15s ease}.dock-app:hover span{opacity:1;transform:translate(-50%) translateY(0)}.dock-app.spotify{background:linear-gradient(145deg,#28d866,#0b8f3a)}.dock-app.visual-studio{background:linear-gradient(145deg,#8752c7,#4f2585)}.dock-app.github{background:linear-gradient(145deg,#f5f5f5,#bfc4cc);color:#101218}.dock-app.linkedin{background:linear-gradient(145deg,#1786cf,#075a9d)}.dock-app.email{background:linear-gradient(145deg,#63b8e6,#236790)}@media (max-width: 1000px){.menu-items span:nth-child(n+8){display:none}.workspace{grid-template-columns:minmax(0,1fr) 245px}.status-detail:nth-child(-n+2){display:none}.preview-projects{grid-template-columns:1fr}.preview-projects article.featured{grid-column:auto}}@media (max-width: 760px){body{overflow:hidden}.desktop-scene{height:100dvh;min-height:100dvh;padding:8px 6px 6px;gap:6px;justify-content:flex-start}.visual-studio-shell{width:100%;height:calc(100dvh - 72px);max-height:none;min-height:0;grid-template-rows:35px 0 38px minmax(0,1fr) 23px;border-radius:8px}.titlebar{grid-template-columns:1fr}.title-left small,.command-search{display:none}.menubar{overflow:hidden;border:0}.menu-items,.menu-profile{display:none}.toolbar .start-button{min-width:112px}.toolbar .solution-toggle{min-width:30px}.toolbar .solution-toggle span{display:none}.tool-spacer{flex:1}.workspace{grid-template-columns:minmax(0,1fr);position:relative}.solution-explorer{display:none;position:absolute;z-index:20;right:0;top:0;bottom:0;width:min(305px,calc(100vw - 38px));border-left:1px solid #555;box-shadow:-10px 0 30px #00000073}.solution-explorer.mobile-open,.mobile-panel-close{display:block}.editor-area{grid-column:1}.editor-tab{min-width:118px}.breadcrumbs{padding-inline:9px}.code-line{grid-template-columns:38px minmax(0,1fr);font-size:11px;line-height:21px}.line-number{padding-right:9px}.source-document,.home-document{padding-bottom:32px}.image-canvas{padding:12px}.image-metadata{gap:8px;font-size:8px}.cv-toolbar{gap:5px}.cv-toolbar a{padding-inline:7px}.cv-document iframe{min-height:320px}.output-panel{height:76px}.output-content{padding-inline:10px}.output-content span,.status-detail{display:none}.statusbar span{padding-inline:6px}.status-purple{max-width:48vw}.app-dock{min-height:52px;gap:clamp(5px,1.8vw,9px);padding:6px 8px;border-radius:14px}.dock-app{width:clamp(36px,10.5vw,40px);height:clamp(36px,10.5vw,40px);border-radius:10px;font-size:clamp(21px,6.5vw,23px)}.spotify-player{position:fixed;bottom:64px;width:min(430px,calc(100vw - 12px));height:min(540px,calc(100dvh - 138px))}.view-preview{padding:20px 16px 35px}.preview-home{grid-template-columns:1fr}.preview-home>img{width:min(220px,72vw);max-height:250px}.preview-skills{grid-template-columns:1fr}.preview-projects article.featured{grid-template-columns:1fr}.preview-projects img{max-height:190px}.constellation-one,.constellation-two{width:240px;opacity:.72}}@media (max-width: 430px){.desktop-scene{padding-inline:4px}.visual-studio-shell{height:calc(100dvh - 68px);border-radius:6px}.breadcrumbs span:first-child,.breadcrumbs svg:first-of-type{display:none}.code-line{grid-template-columns:30px minmax(0,1fr);font-size:10px;line-height:20px}.line-number{padding-right:7px}.markdown-source .code-line{min-height:24px;font-size:11px;line-height:24px}.status-diagnostic,.status-connected{display:none}.status-purple{max-width:58vw}.statusbar span{padding-inline:5px}.app-dock{min-height:48px;padding:5px 7px}.dock-app{width:clamp(34px,10vw,38px);height:clamp(34px,10vw,38px);font-size:20px}.spotify-player{bottom:58px;height:min(540px,calc(100dvh - 126px))}.spotify-mix-header span{display:none}.view-preview{padding:16px 12px 28px}.view-preview>header{margin-bottom:17px}.preview-home h2{font-size:27px}.preview-experience,.preview-contact,.preview-projects article,.preview-skills article{padding:17px}}@media (prefers-reduced-motion: reduce){.constellation,.constellation-stars circle{animation:none}}:root{font-family:Inter,Segoe UI,sans-serif;color:#e4e4e4;background:#181818;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;overflow:hidden}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit}#root{min-height:100vh}::selection{background:#264f78;color:#fff}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#4a4a4a;border:3px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:#626262;border:3px solid transparent;background-clip:padding-box}
