@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&family=Syne:wght@500;700;800&display=swap";/**
* Copyright (c) 2014 The xterm.js authors. All rights reserved.
* Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
* https://github.com/chjj/term.js
* @license MIT
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*
* Originally forked from (with the author's permission):
*   Fabrice Bellard's javascript vt100 for jslinux:
*   http://bellard.org/jslinux/
*   Copyright (c) 2011 Fabrice Bellard
*   The original design remains. The terminal itself
*   has been extended to include xterm CSI codes, among
*   other features.
*/.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility,.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}:root{color-scheme:dark;font-family:JetBrains Mono,monospace;background:radial-gradient(circle at top left,rgba(0,245,255,.12),transparent 35%),radial-gradient(circle at bottom right,rgba(66,111,255,.18),transparent 28%),#05060a;color:#f5f9ff}*{box-sizing:border-box;cursor:default}button,a,[role=button],.clickable,.icon,.traffic-btn,.desktop-icon{cursor:pointer}input,textarea{cursor:text}.drag-handle{cursor:grab}.drag-handle:active{cursor:grabbing}.resize-handle{cursor:se-resize}html,body,#root{width:100%;min-height:100%;margin:0}body{min-height:100vh;overflow:hidden}button,input,textarea,select{font:inherit}.app-shell{position:relative;width:100%;min-height:100vh;isolation:isolate}.mobile-portfolio{position:fixed;top:0;right:0;bottom:0;left:0;overflow-y:auto;background:#050508;color:#f5f9ff;scroll-behavior:smooth;isolation:isolate;padding-bottom:110px}.mobile-portfolio::-webkit-scrollbar{width:0}.mobile-portfolio-section{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}.mobile-portfolio-section.is-visible{opacity:1;transform:translateY(0)}.mobile-portfolio-hero{position:relative;min-height:100svh;display:grid;place-items:center;padding:2rem 1.5rem;background:radial-gradient(ellipse at center,#0a1628,#050508 72%);overflow:hidden}.mobile-portfolio-hero-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.mobile-portfolio-hero-content{position:relative;z-index:1;width:min(100%,24rem);display:flex;flex-direction:column;align-items:center;text-align:center}.mobile-portfolio-avatar-shell{display:grid;place-items:center;width:96px;height:96px;margin-bottom:1.25rem;border-radius:50%;border:2px solid rgba(0,245,255,.3)}.mobile-portfolio-avatar{width:80px;height:80px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:linear-gradient(135deg,#00f5ff,#7c3aed);color:#fff;font-family:Syne,sans-serif;font-size:28px;font-weight:700;letter-spacing:.06em;position:relative}.mobile-portfolio-avatar-image{display:block;transform:scale(1.38);transform-origin:center top}.mobile-portfolio-name,.mobile-portfolio-section-heading,.mobile-portfolio-contact-heading,.mobile-portfolio-project-name,.mobile-portfolio-achievement-title{font-family:Syne,sans-serif}.mobile-portfolio-name{margin:0;color:#fff;font-size:32px;font-weight:700;line-height:1.1}.mobile-portfolio-role-badge,.mobile-portfolio-availability,.mobile-portfolio-meta,.mobile-portfolio-section-label,.mobile-portfolio-about-card p,.mobile-portfolio-project-description,.mobile-portfolio-project-tag,.mobile-portfolio-project-button,.mobile-portfolio-project-category,.mobile-portfolio-project-note,.mobile-portfolio-skill-title,.mobile-portfolio-skill-tag,.mobile-portfolio-achievement-description,.mobile-portfolio-achievement-tag,.mobile-portfolio-contact-copy,.mobile-portfolio-contact-button,.mobile-portfolio-footer-copy,.mobile-portfolio-scroll-hint,.mobile-portfolio-dot{font-family:JetBrains Mono,monospace}.mobile-portfolio-role-badge{margin-top:1rem;border:1px solid rgba(0,245,255,.2);border-radius:999px;background:#00f5ff14;padding:.55rem .95rem;color:#00f5ff;font-size:12px;line-height:1.4}.mobile-portfolio-availability{display:inline-flex;align-items:center;gap:.5rem;margin-top:1rem;color:#22c55e;font-size:12px;line-height:1.4}.mobile-portfolio-availability-dot{width:8px;height:8px;border-radius:999px;background:#22c55e;box-shadow:0 0 #22c55e73;animation:pulseGreen 1.6s ease-out infinite}.mobile-portfolio-meta{margin-top:.85rem;color:#64748b;font-size:11px;line-height:1.7}.mobile-portfolio-socials,.mobile-portfolio-contact-socials{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem}.mobile-portfolio-socials{margin-top:1.35rem}.mobile-portfolio-social-button{width:40px;height:40px;border:1px solid transparent;border-radius:50%;display:grid;place-items:center;background:#ffffff0d;color:#64748b;cursor:pointer;transition:color .16s ease,border-color .16s ease,background-color .16s ease,transform .16s ease}.mobile-portfolio-social-button svg{width:18px;height:18px}.mobile-portfolio-social-button:hover,.mobile-portfolio-social-button:focus-visible{color:#00f5ff;border-color:#00f5ff47;background:#00f5ff14;transform:translateY(-1px);outline:none}.mobile-portfolio-scroll-hint{margin-top:1.6rem;color:#374151;font-size:11px;line-height:1.4;animation:mobileScrollBounce 2s ease-in-out infinite}.mobile-portfolio-content-section,.mobile-portfolio-contact-section{padding:40px 24px}.mobile-portfolio-section-label{color:#00f5ff;font-size:11px;letter-spacing:.14em;text-transform:uppercase;line-height:1.4}.mobile-portfolio-section-heading{margin:.45rem 0 1.25rem;color:#fff;font-size:26px;font-weight:700;line-height:1.2}.mobile-portfolio-about-card,.mobile-portfolio-project-card,.mobile-portfolio-skill-card,.mobile-portfolio-achievement-card{border:1px solid #2a2a3a;border-radius:12px;background:#13131a}.mobile-portfolio-about-card{padding:20px}.mobile-portfolio-about-card p{margin:0;color:#94a3b8;font-size:14px;line-height:1.9}.mobile-portfolio-project-list,.mobile-portfolio-skill-list{display:flex;flex-direction:column;gap:16px}.mobile-portfolio-project-card{padding:20px}.mobile-portfolio-project-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.85rem}.mobile-portfolio-project-name{margin:0;color:#fff;font-size:17px;line-height:1.25}.mobile-portfolio-project-category,.mobile-portfolio-project-note,.mobile-portfolio-project-tag,.mobile-portfolio-achievement-tag{display:inline-flex;align-items:center;width:fit-content;border-radius:999px}.mobile-portfolio-project-category{border:1px solid #00f5ff;padding:.28rem .65rem;color:#00f5ff;font-size:11px;line-height:1.4;flex-shrink:0}.mobile-portfolio-project-note{margin-top:.75rem;border:1px solid rgba(245,158,11,.42);background:#f59e0b1f;padding:.28rem .65rem;color:#f59e0b;font-size:11px;line-height:1.4}.mobile-portfolio-project-description{margin:12px 0;color:#94a3b8;font-size:13px;line-height:1.8}.mobile-portfolio-project-tags,.mobile-portfolio-skill-tags{display:flex;flex-wrap:wrap;gap:.5rem}.mobile-portfolio-project-tag,.mobile-portfolio-skill-tag{border:1px solid #2a2a3a;background:#1a1a24;padding:.34rem .6rem;color:#aebed2;font-size:11px;line-height:1.4}.mobile-portfolio-project-button{width:100%;margin-top:12px;border:1px solid #00f5ff;border-radius:8px;background:transparent;padding:.75rem 1rem;color:#00f5ff;font-size:12px;line-height:1.4;cursor:pointer;transition:background-color .16s ease,color .16s ease,border-color .16s ease}.mobile-portfolio-project-button:hover,.mobile-portfolio-project-button:focus-visible{background:#00f5ff;color:#050508;outline:none}.mobile-portfolio-skill-card,.mobile-portfolio-achievement-card{padding:16px}.mobile-portfolio-skill-title{margin-bottom:.85rem;font-size:12px;line-height:1.4}.mobile-portfolio-skill-title.is-cyan,.mobile-portfolio-skill-tag.is-cyan{color:#00f5ff}.mobile-portfolio-skill-title.is-violet,.mobile-portfolio-skill-tag.is-violet{color:#c084fc}.mobile-portfolio-skill-title.is-amber,.mobile-portfolio-skill-tag.is-amber{color:#f59e0b}.mobile-portfolio-skill-title.is-emerald,.mobile-portfolio-skill-tag.is-emerald{color:#10b981}.mobile-portfolio-skill-title.is-rose,.mobile-portfolio-skill-tag.is-rose{color:#fb7185}.mobile-portfolio-skill-tag.is-cyan{border-color:#00f5ff33;background:#00f5ff14}.mobile-portfolio-skill-tag.is-violet{border-color:#c084fc3d;background:#a855f714}.mobile-portfolio-skill-tag.is-amber{border-color:#f59e0b3d;background:#f59e0b14}.mobile-portfolio-skill-tag.is-emerald{border-color:#10b9813d;background:#10b98114}.mobile-portfolio-skill-tag.is-rose{border-color:#fb71853d;background:#fb718514}.mobile-portfolio-achievement-list{display:flex;flex-direction:column;gap:12px}.mobile-portfolio-achievement-title-row{display:flex;align-items:flex-start;gap:.75rem}.mobile-portfolio-achievement-icon{font-size:1.2rem;line-height:1}.mobile-portfolio-achievement-title{margin:0;color:#fff;font-size:15px;line-height:1.35}.mobile-portfolio-achievement-description{margin:.85rem 0 0;color:#94a3b8;font-size:13px;line-height:1.8}.mobile-portfolio-achievement-tag{margin-top:.85rem;border:1px solid rgba(0,245,255,.22);background:#00f5ff14;padding:.28rem .65rem;color:#00f5ff;font-size:11px;line-height:1.4}.mobile-portfolio-contact-section{background:#0a0a12;text-align:center}.mobile-portfolio-contact-heading{margin:0;color:#fff;font-size:28px;font-weight:700;line-height:1.2}.mobile-portfolio-contact-copy{margin:.85rem auto 1.5rem;color:#64748b;font-size:13px;line-height:1.7;max-width:18rem}.mobile-portfolio-contact-button{width:100%;border:none;border-radius:12px;background:#00f5ff;padding:.95rem 1rem;color:#050508;font-size:13px;line-height:1.4;cursor:pointer;transition:filter .16s ease,transform .16s ease}.mobile-portfolio-contact-button:hover,.mobile-portfolio-contact-button:focus-visible{filter:brightness(1.05);transform:translateY(-1px);outline:none}.mobile-portfolio-contact-socials{margin-top:1.25rem}.mobile-portfolio-footer-copy{margin-top:1.5rem;padding-bottom:20px;color:#374151;font-size:11px;line-height:1.6}.mobile-portfolio-dots{position:fixed;top:50%;right:12px;z-index:5;display:flex;flex-direction:column;gap:10px;transform:translateY(-50%)}.mobile-portfolio-dot{width:6px;height:6px;border:none;border-radius:999px;background:#2a2a3a;padding:0;cursor:pointer;transition:background-color .16s ease,transform .16s ease,width .16s ease,height .16s ease}.mobile-portfolio-dot.is-active{width:8px;height:8px;background:#00f5ff;transform:scale(1.05)}.mobile-player,.mobile-player-mini{position:fixed;right:16px;left:16px;bottom:max(16px,env(safe-area-inset-bottom));z-index:6;border:1px solid #2a2a3a;background:#13131aeb;box-shadow:0 18px 40px #0006;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.mobile-player{border-radius:18px;padding:16px;display:grid;gap:.85rem}.mobile-player-mini{min-height:56px;border-radius:16px;padding:.8rem .95rem;display:flex;align-items:center;justify-content:space-between;gap:.85rem}.mobile-player-mini:focus-visible{outline:1px solid rgba(0,245,255,.4)}.mobile-player-mini-copy,.mobile-player-topbar,.mobile-player-topbar-copy,.mobile-player-track-name-row,.mobile-player-time-row,.mobile-player-volume-row{display:flex;align-items:center}.mobile-player-mini-copy,.mobile-player-track-copy{min-width:0}.mobile-player-mini-copy{gap:.7rem;flex:1}.mobile-player-mini-text,.mobile-player-track-copy{display:grid;gap:.2rem}.mobile-player-mini-text{min-width:0}.mobile-player-mini-label,.mobile-player-label,.mobile-player-track-meta,.mobile-player-time-row,.mobile-player-volume-icon{font-family:JetBrains Mono,monospace}.mobile-player-mini-label,.mobile-player-label{color:#64748b;font-size:11px;letter-spacing:.1em;text-transform:uppercase;line-height:1.4}.mobile-player-mini-title,.mobile-player-track-name{margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff;font-family:Syne,sans-serif;line-height:1.3}.mobile-player-mini-title{font-size:14px}.mobile-player-mini-button,.mobile-player-collapse-button,.mobile-player-control-button{border:none;background:transparent;color:#8ba1b7;cursor:pointer;transition:color .16s ease,transform .16s ease}.mobile-player-mini-button,.mobile-player-collapse-button{font-size:1rem}.mobile-player-mini-button:hover,.mobile-player-mini-button:focus-visible,.mobile-player-collapse-button:hover,.mobile-player-collapse-button:focus-visible,.mobile-player-control-button:hover,.mobile-player-control-button:focus-visible{color:#00f5ff;transform:scale(1.08);outline:none}.mobile-player-topbar{justify-content:space-between;gap:.75rem}.mobile-player-topbar-copy{gap:.6rem;min-width:0}.mobile-player-note{color:#00f5ff;font-size:1rem;line-height:1}.mobile-player-track-name-row{gap:.55rem;min-width:0}.mobile-player-track-name{font-size:18px}.mobile-player-track-meta{color:#64748b;font-size:13px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-player-progress{position:relative;width:100%;height:5px;border:none;border-radius:999px;padding:0;background:#2a2a3a;cursor:pointer;overflow:hidden}.mobile-player-progress-fill{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:#00f5ff}.mobile-player-time-row{justify-content:space-between;color:#64748b;font-size:12px;line-height:1.4}.mobile-player-controls{display:flex;align-items:center;justify-content:center;gap:28px}.mobile-player-control-button{font-size:20px;padding:0}.mobile-player-play-button{font-size:28px}.mobile-player-play-button.is-playing{color:#00f5ff}.mobile-player-volume-row{gap:8px}.mobile-player-volume-icon{color:#8ba1b7;font-size:.9rem}.mobile-player-volume{flex:1;min-width:0;height:4px;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(90deg,#00f5ffb8,#00f5ff33);border-radius:999px;cursor:pointer}.mobile-player-volume::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;border:none;border-radius:50%;background:#00f5ff;box-shadow:0 0 0 2px #050508d9}.mobile-player-volume::-moz-range-track{height:4px;background:linear-gradient(90deg,#00f5ffb8,#00f5ff33);border:none;border-radius:999px}.mobile-player-volume::-moz-range-thumb{width:12px;height:12px;border:none;border-radius:50%;background:#00f5ff;box-shadow:0 0 0 2px #050508d9}.bios-screen,.loading-screen,.login-screen,.desktop-shell{position:absolute;top:0;right:0;bottom:0;left:0}.bios-screen{background:#00a;color:#fff;padding:clamp(1.2rem,2vw,2rem)}.bios-text{font-size:clamp(.88rem,1.4vw,1.05rem);line-height:1.65;white-space:pre-wrap}.bios-line{margin:0;text-shadow:0 0 10px rgba(255,255,255,.16);opacity:0}.bios-line-visible{animation:biosLineFade .22s ease-out forwards}.loading-screen{display:grid;place-items:center;background:radial-gradient(circle at 50% 0%,rgba(0,245,255,.09),transparent 32%),#020305;color:#fff;padding:1.5rem}.loading-panel{width:min(100%,34rem);display:grid;gap:1.25rem;justify-items:center}.loading-title{margin:0;font-size:clamp(2rem,5vw,3.5rem);font-weight:700;letter-spacing:.08em}.loading-bar-frame{width:100%;height:1rem;border:1px solid rgba(0,245,255,.45);background:#ffffff0a;box-shadow:0 0 0 1px #00f5ff14,0 0 24px #00f5ff1f;overflow:hidden}.loading-bar-fill{height:100%;background:linear-gradient(90deg,#00f5ffb3,#00f5ff 42%,#ffffffeb);box-shadow:0 0 28px #00f5ff8c;transition:width 40ms linear;animation:loadingGlowPulse 1.4s ease-in-out infinite}.loading-status{min-height:1.5rem;margin:0;color:#dff5ffd1;text-align:center}.login-screen{overflow:hidden;display:grid;place-items:center;padding:1.5rem;background:#020408;opacity:1;transition:opacity .2s ease;z-index:2}.login-screen.is-exiting{opacity:0;pointer-events:none}.login-aurora-layer,.login-particle-canvas,.login-grid-overlay{position:absolute;top:0;right:0;bottom:0;left:0}.login-aurora-layer{filter:blur(120px);border-radius:999px}.login-aurora-cyan{width:600px;height:600px;left:-8%;top:-5%;background:#00f5ff26;animation:auroraDriftCyan 12s ease-in-out infinite alternate}.login-aurora-violet{width:500px;height:500px;right:-5%;bottom:-10%;background:#7c3aed1f;animation:auroraDriftViolet 16s ease-in-out infinite alternate}.login-aurora-teal{width:400px;height:400px;left:36%;top:30%;background:#0d94881a;animation:auroraDriftTeal 20s ease-in-out infinite}.login-particle-canvas,.login-grid-overlay{pointer-events:none}.login-grid-overlay{background-image:linear-gradient(rgba(0,245,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(0,245,255,.05) 1px,transparent 1px);background-size:60px 60px}.login-center-stack{position:relative;z-index:1;display:grid;justify-items:center;gap:1rem}.login-card{width:min(100%,380px);display:grid;justify-items:center;gap:0;border:1px solid rgba(0,245,255,.2);border-radius:24px;background:#0d0d1ab3;-webkit-backdrop-filter:blur(40px) saturate(180%);backdrop-filter:blur(40px) saturate(180%);padding:48px 40px;box-shadow:0 0 0 1px #00f5ff0d,0 25px 50px #000c,0 0 80px #00f5ff14 inset}.login-card-redesigned.is-exiting{animation:loginCardExit .2s ease forwards}.login-avatar,.login-name{font-family:Syne,sans-serif}.login-avatar-redesigned{position:relative;width:80px;aspect-ratio:1;margin-bottom:1.2rem;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#00f5ff,#7c3aed);box-shadow:0 0 20px #00f5ff4d}.login-avatar-redesigned:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border:2px solid rgba(0,245,255,.4);border-radius:50%}.login-avatar-redesigned span{color:#fff;font-size:28px;font-weight:700;letter-spacing:.08em}.login-greeting{margin-bottom:4px;color:#64748b;font-size:13px;line-height:1.4}.login-name{color:#fff;font-size:26px;font-weight:700;letter-spacing:-.5px}.login-role-badge{margin-top:8px;padding:.45rem .9rem;border-radius:999px;background:#00f5ff14;border:1px solid rgba(0,245,255,.2);color:#00f5ff;font-size:13px;line-height:1.4}.login-divider{width:100%;height:1px;margin:28px 0;background:linear-gradient(90deg,transparent,rgba(0,245,255,.2),transparent)}.password-dots{display:flex;gap:10px}.password-dots-redesigned{margin-bottom:20px}.password-dot{width:10px;height:10px;border-radius:50%;background:#ffffff1a}.password-dot-redesigned.is-filled{background:#00f5ffcc;box-shadow:0 0 10px #00f5ff73}.password-dot-redesigned.is-pulsing{animation:filledDotPulse 1.8s ease-in-out infinite}.login-enter-button{width:100%;height:48px;margin-top:20px;border:none;border-radius:12px;background:linear-gradient(135deg,#00f5ff,#7c3aed);color:#050508;font-size:14px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;transition:all .2s ease;background-size:180% 180%}.login-enter-button:hover,.login-enter-button:focus-visible{filter:brightness(1.1);box-shadow:0 0 30px #00f5ff66;transform:scale(1.02);outline:none}.login-enter-button:active{transform:scale(.98)}.login-hint{margin-top:12px;color:#374151;font-size:13px;line-height:1.4}.login-social-links{margin-top:18px;display:flex;justify-content:center;gap:16px}.login-social-link{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#ffffff0d;color:#64748b;font-size:13px;text-decoration:none;transition:background-color .18s ease,color .18s ease,transform .18s ease}.login-social-link:hover,.login-social-link:focus-visible{background:#00f5ff1a;color:#00f5ff;transform:scale(1.1);outline:none}.login-status{position:absolute;bottom:20px;color:#374151;font-size:13px;line-height:1.4;z-index:1}.login-status-left{left:20px}.login-status-right{right:20px}.login-tip{color:#374151;font-size:13px;line-height:1.4;animation:loginTipFade .6s ease both}.desktop-shell{background:#06070b;opacity:0;transition:opacity .6s ease;overflow:hidden}.desktop-shell.is-dimmed{transition:opacity .3s ease}.desktop-shell.is-ready{z-index:1}.desktop-shell.is-visible{opacity:1}.desktop-environment,.desktop-wallpaper,.desktop-canvas,.desktop-grid-overlay,.window-layer,.screensaver-overlay,.screensaver-blackout,.screensaver-content,.screensaver-canvas{position:absolute;top:0;right:0;bottom:0;left:0}.desktop-environment{-webkit-user-select:none;user-select:none}.desktop-content-shell{position:absolute;right:0;bottom:0;left:0}.desktop-availability-banner{position:fixed;top:0;right:0;left:0;z-index:99997;height:32px;display:flex;align-items:center;justify-content:center;gap:24px;padding:0 16px;background:linear-gradient(90deg,#022c22,#0a1628,#1a0533);border-bottom:1px solid rgba(16,185,129,.3)}.desktop-availability-banner-section{display:flex;align-items:center}.desktop-availability-banner-left{gap:8px;flex-shrink:0}.desktop-availability-banner-center{gap:10px;min-width:0;justify-content:center}.desktop-availability-banner-right{gap:12px;flex-shrink:0}.desktop-availability-banner-dot{width:8px;height:8px;border-radius:999px;background:#22c55e;box-shadow:0 0 #22c55e80;animation:pulseGreen 1.6s ease-out infinite}.desktop-availability-banner-status,.desktop-availability-banner-primary,.desktop-availability-banner-secondary,.desktop-availability-banner-email,.desktop-availability-banner-dismiss,.desktop-availability-banner-divider,.desktop-availability-banner-separator{font-family:JetBrains Mono,monospace;line-height:1.4}.desktop-availability-banner-status{color:#22c55e;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.desktop-availability-banner-primary{color:#e2e8f0;font-size:12px}.desktop-availability-banner-secondary{color:#94a3b8;font-size:12px}.desktop-availability-banner-separator,.desktop-availability-banner-divider{color:#374151;font-size:12px}.desktop-availability-banner-email,.desktop-availability-banner-dismiss{border:none;background:transparent;padding:0}.desktop-availability-banner-email{color:#00f5ff;font-size:11px;cursor:pointer;transition:filter .16s ease,text-decoration-color .16s ease}.desktop-availability-banner-email:hover,.desktop-availability-banner-email:focus-visible{filter:brightness(1.2);text-decoration:underline;outline:none}.desktop-availability-banner-dismiss{color:#374151;font-size:13px;cursor:pointer;transition:color .16s ease}.desktop-availability-banner-dismiss:hover,.desktop-availability-banner-dismiss:focus-visible{color:#94a3b8;outline:none}.desktop-wallpaper{overflow:hidden}.desktop-gradient-blob{position:absolute;inset:auto;width:42vw;height:42vw;min-width:18rem;min-height:18rem;max-width:34rem;max-height:34rem;left:10%;top:12%;border-radius:50%;background:radial-gradient(circle,rgba(0,245,255,.08),transparent 68%);filter:blur(70px);animation:gradientBlobDrift 22s ease-in-out infinite alternate}.desktop-wallpaper-style-2 .desktop-gradient-blob{background:radial-gradient(circle,rgba(177,92,255,.08),transparent 68%)}.desktop-canvas,.desktop-grid-overlay{pointer-events:none}.desktop-canvas{background:radial-gradient(circle at top left,rgba(0,245,255,.08),transparent 28%),radial-gradient(circle at bottom right,rgba(44,86,255,.12),transparent 30%),linear-gradient(180deg,#05070d,#020308 54%,#03050a)}.desktop-wallpaper-style-2 .desktop-canvas{background:radial-gradient(circle at top left,rgba(179,76,255,.1),transparent 28%),radial-gradient(circle at bottom right,rgba(110,48,214,.14),transparent 30%),linear-gradient(180deg,#1a0a2e,#0f081d 54%,#090510)}.desktop-wallpaper-style-3 .desktop-canvas{background:linear-gradient(180deg,#010403,#020705 54%,#010302)}.desktop-grid-overlay{background-image:linear-gradient(rgba(0,245,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(0,245,255,.04) 1px,transparent 1px);background-size:36px 36px}.desktop-wallpaper-style-2 .desktop-grid-overlay{background-image:linear-gradient(rgba(191,126,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(191,126,255,.04) 1px,transparent 1px)}.desktop-wallpaper-style-3 .desktop-grid-overlay{opacity:0}.desktop-icons{position:absolute;top:24px;left:24px;display:flex;flex-direction:column;justify-content:flex-start;gap:clamp(8px,1.8vh,20px);max-height:calc(100vh - 80px);padding-bottom:80px;overflow:visible;z-index:2}.desktop-icon{width:84px;display:grid;justify-items:center;gap:.45rem;padding:.45rem .35rem;border:1px solid transparent;border-radius:.95rem;background:transparent;color:#fff;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background-color .18s ease,box-shadow .18s ease;opacity:0;transform:scale(.92)}.desktop-icon:hover,.desktop-icon:focus-visible{transform:scale(1.05);outline:none}.desktop-icon.is-visible{animation:desktopIconReveal .36s ease-out forwards}.desktop-icon:hover .desktop-icon-label,.desktop-icon:focus-visible .desktop-icon-label{text-shadow:0 0 10px rgba(0,245,255,.45)}.desktop-icon.is-selected{border-color:#00f5ff6b;background:#00f5ff14;box-shadow:inset 0 0 0 1px #ffffff05}.desktop-icon-glyph{min-height:2rem;display:grid;place-items:center;font-size:1.5rem;line-height:1;white-space:pre}.desktop-icon-label{font-family:Syne,sans-serif;font-size:13px;line-height:1.4;letter-spacing:.02em}.window-layer{z-index:3;pointer-events:none}.desktop-environment.is-flickering:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffff1a;pointer-events:none;animation:securityFlicker .12s linear infinite;z-index:5}.window-frame-shell,.window-frame,.taskbar-window-button,.window-frame-control,.window-frame-resize-handle,.taskbar-window-icon{-webkit-tap-highlight-color:transparent}.taskbar-window-icon{display:inline-flex;align-items:center;justify-content:center}.taskbar-window-icon{min-width:1rem}.window-frame-shell{position:absolute;pointer-events:auto}.context-menu,.os-modal{font-family:JetBrains Mono,monospace}.context-menu{position:absolute;width:220px;display:grid;gap:.2rem;padding:.45rem;border:1px solid rgba(0,245,255,.28);border-radius:.9rem;background:#13131af5;box-shadow:0 20px 50px #0000006b;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:7}.context-menu-item{display:grid;grid-template-columns:1.25rem 1fr;align-items:center;gap:.7rem;border:none;border-radius:.65rem;background:transparent;color:#dbe8f6;padding:.72rem .8rem;text-align:left;cursor:pointer;transition:background-color .16s ease,color .16s ease}.context-menu-item:hover,.context-menu-item:focus-visible{background:#1a1a24;color:#00f5ff;outline:none}.context-menu-icon{display:inline-grid;place-items:center}.context-menu-label{font-size:13px;line-height:1.4}.window-frame{display:grid;grid-template-rows:40px 1fr;width:100%;height:100%;background:#13131a;border:1px solid #2a2a3a;border-radius:10px;box-shadow:0 25px 60px #000c;overflow:hidden;transform-origin:center center}.window-frame.is-active{border-color:#00f5ff}.window-frame-titlebar{position:relative;display:flex;align-items:center;min-height:40px;padding:0 12px;background:#1a1a24;border-bottom:1px solid #2a2a3a;border-radius:10px 10px 0 0;opacity:.6;transition:opacity .16s ease}.window-frame-titlebar.is-dragging{cursor:grabbing}.window-frame-titlebar.is-active{opacity:1}.window-frame-controls{display:flex;align-items:center;gap:8px;position:relative;z-index:1}.window-frame-control{width:14px;height:14px;border:none;border-radius:999px;padding:0;display:grid;place-items:center;font-size:8px;line-height:1;color:#101218f2;cursor:pointer}.window-frame-control span{opacity:0;transition:opacity .12s ease}.window-frame-control:hover span,.window-frame-control:focus-visible span{opacity:1;outline:none}.window-frame-control-close{background:#ff5f57}.window-frame-control-minimize{background:#ffbd2e}.window-frame-control-maximize{background:#28ca41}.title-bar:hover .btn-icon,button:hover .btn-icon{opacity:1!important}.traffic-btn{position:relative}.traffic-btn:before{content:"";position:absolute;top:-6px;left:-6px;right:-6px;bottom:-6px;border-radius:50%}.traffic-btn:hover{filter:brightness(1.15);transform:scale(1.1);transition:transform .1s ease,filter .1s ease}.traffic-btn:active{transform:scale(.92);transition:transform 80ms ease}.window-frame-title{flex:1;min-width:0;text-align:center;overflow:hidden;color:#e2e8f0;font-size:13px;text-overflow:ellipsis;white-space:nowrap;cursor:grab;line-height:1.4}.window-frame-title:active{cursor:grabbing}.window-frame-titlebar-spacer{width:80px;flex-shrink:0}.window-frame-content{height:100%;background:#0d0d14;overflow:hidden}.window-frame-content-inner{width:100%;height:100%}.app-scroll::-webkit-scrollbar{width:6px}.app-scroll::-webkit-scrollbar-track{background:#0d0d14}.app-scroll::-webkit-scrollbar-thumb{background:#2a2a3a;border-radius:3px}.app-scroll::-webkit-scrollbar-thumb:hover{background:#00f5ff40}.security-overlay,.mobile-fallback,.os-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0}.security-overlay{display:grid;place-items:center;padding:1.5rem;color:#c8fbff;font-size:clamp(1rem,2vw,1.35rem);text-align:center;z-index:6;background:#05050861;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.mobile-fallback{display:grid;place-items:center;padding:1.5rem;z-index:3}.os-modal-backdrop{display:grid;place-items:center;padding:1.5rem;background:#04070c59;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:99998}.os-modal{width:min(100%,22rem);display:grid;gap:.7rem;border:1px solid rgba(0,245,255,.38);border-radius:1rem;background:#13131a;padding:1.4rem 1.25rem 1.2rem;box-shadow:0 22px 60px #00000070}.os-modal-title{margin:0 0 .15rem;color:#eaf8ff;font-size:1rem;font-weight:700}.os-modal-copy{color:#b9c8da;font-size:13px;line-height:1.9}.os-modal-button{justify-self:end;margin-top:.35rem;border:1px solid #00f5ff;border-radius:.55rem;background:transparent;color:#00f5ff;padding:.48rem .85rem;cursor:pointer;transition:background-color .16s ease,color .16s ease}.os-modal-button:hover,.os-modal-button:focus-visible{background:#00f5ff;color:#050508;outline:none}.mobile-fallback-card{width:min(100%,26rem);border:1px solid rgba(0,245,255,.28);border-radius:1.5rem;background:#13131aeb;box-shadow:0 18px 60px #00000080;padding:2rem 1.5rem;text-align:center}.mobile-fallback-monogram{width:4.25rem;height:4.25rem;margin:0 auto 1rem;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(0,245,255,.35);color:#00f5ff;font-family:Syne,sans-serif;font-size:1.45rem;background:linear-gradient(135deg,#00f5ff29,#2c4cff1f)}.mobile-fallback-title,.mobile-fallback-name{font-family:Syne,sans-serif;color:#fff}.mobile-fallback-title{margin:0 0 .9rem;font-size:1.3rem}.mobile-fallback-name{font-size:1.05rem;margin-bottom:.7rem}.mobile-fallback-bio{margin:0 0 1rem;color:#a6b8cf;font-size:.95rem;line-height:1.7}.mobile-fallback-links{display:flex;justify-content:center;gap:.85rem;flex-wrap:wrap}.mobile-fallback-links a{color:#00f5ff;text-decoration:none}.screensaver-overlay{z-index:20;pointer-events:auto}.screensaver-blackout{background:#050508}.screensaver-content{display:grid;background:#050508}.screensaver-canvas{width:100%;height:100%}.screensaver-wake-text{position:absolute;bottom:1.4rem;left:50%;transform:translate(-50%);color:#64748b;font-size:13px;letter-spacing:.06em;line-height:1.4;animation:screensaverWakePulse 2s ease-in-out infinite}.window-placeholder-copy{height:100%;padding:1rem 1.05rem;color:#e7f0ffd6;font-size:14px;line-height:1.9}.window-placeholder-copy p{margin:0}.projects-app,.skills-app,.about-app,.achievements-app,.terminal-app,.resume-app,.contact-app{width:100%;height:100%}.terminal-app{background:#050508}.terminal-shell{width:100%;height:100%;padding:.45rem .4rem .35rem}.terminal-shell .xterm,.terminal-shell .xterm-viewport{height:100%}.resume-app{display:grid;grid-template-rows:36px 1fr;background:#fff}.resume-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 .9rem;background:#1a1a24;border-bottom:1px solid #2a2a3a}.resume-toolbar-file{display:inline-flex;align-items:center;gap:.5rem;min-width:0;color:#94a3b8;font-size:14px;line-height:1.4}.resume-toolbar-icon{font-size:.95rem}.resume-download-button{border:1px solid #00f5ff;border-radius:999px;background:transparent;color:#00f5ff;font-size:13px;padding:6px 16px;cursor:pointer;transition:background-color .16s ease,color .16s ease}.resume-download-button:hover,.resume-download-button:focus-visible{background:#00f5ff;color:#050508;outline:none}.resume-viewer-shell{position:relative;min-height:0;width:100%;height:100%;background:#fff}.resume-fallback-message{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;gap:.35rem;padding:1.5rem;color:#64748b;font-size:14px;line-height:1.9;text-align:center}.resume-fallback-message p{margin:0}.contact-app{display:grid;grid-template-columns:200px 1fr}.contact-sidebar{display:grid;grid-template-rows:auto 1fr;background:#0d0d14;border-right:1px solid #2a2a3a}.contact-sidebar-heading{color:#64748b;font-size:13px;letter-spacing:.14em;text-transform:uppercase;padding:1rem .95rem .85rem;line-height:1.4}.contact-links-list{display:flex;flex-direction:column;gap:.2rem;padding:0 .45rem .85rem}.contact-link-item{display:flex;align-items:center;gap:.7rem;width:100%;border:none;border-radius:.9rem;padding:.82rem .9rem;background:transparent;color:#dde6f4;text-align:left;transition:background-color .16s ease,color .16s ease,transform .12s ease;font-size:14px;line-height:1.4}.contact-link-item:hover,.contact-link-item:focus-visible{background:#1a1a24;color:#00f5ff;outline:none}.contact-link-item:active{transform:scale(.97)}.contact-link-icon{width:1.15rem;text-align:center}.contact-compose-panel{display:flex;flex-direction:column;padding:24px;gap:1rem}.contact-compose-title{margin:0;font-family:Syne,sans-serif;font-size:18px;color:#fff;line-height:1.4}.contact-divider{width:100%;height:1px;background:#64748b3d}.contact-field{display:grid;gap:.45rem}.contact-field label{color:#cfe0f2;font-size:14px;line-height:1.4}.contact-readonly-value,.contact-input,.contact-textarea{width:100%;border:1px solid #2a2a3a;border-radius:.9rem;background:#1a1a24;color:#e7effc;font-size:14px;line-height:1.9}.contact-readonly-value{color:#00f5ff;padding:.8rem .95rem}.contact-input,.contact-textarea{padding:.82rem .95rem}.contact-input:focus,.contact-textarea:focus{outline:1px solid rgba(0,245,255,.36)}.contact-textarea{min-height:160px;resize:vertical}.contact-send-button{margin-top:auto;width:100%;border:none;border-radius:.95rem;background:#00f5ff;color:#050508;padding:.92rem 1rem;cursor:pointer;font-size:15px;line-height:1.4;transition:transform .16s ease,filter .16s ease}.contact-send-button:hover,.contact-send-button:focus-visible{filter:brightness(1.1);transform:scale(1.01);outline:none}.contact-send-button.is-sent{background:#10b981;color:#fff}.contact-send-button:disabled{cursor:default}.contact-validation-hint{color:#ef4444;font-size:11px;line-height:1.4;animation:contactHintFade .18s ease-out}.projects-app{height:100%;min-height:0;overflow:hidden}.projects-mode-shell{width:100%;height:100%;min-height:0}.projects-mode-shell-list{display:grid;grid-template-columns:220px 1fr}.projects-app.is-case-study{display:block}.skills-app{height:100%;display:grid;grid-template-rows:auto 1fr;gap:1rem;padding:1.25rem 1.3rem 1.3rem;background:radial-gradient(circle at top left,rgba(0,245,255,.06),transparent 30%),#0d0d14}.skills-app-header{display:flex;align-items:center}.skills-app-title{margin:0;font-family:Syne,sans-serif;font-size:26px;color:#fff;line-height:1.4}.skills-app-grid{min-height:0;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:1rem}.skills-chart-panel,.skills-bars-panel{min-height:0;border:1px solid #2a2a3a;border-radius:1rem;background:#11121aeb}.skills-chart-panel{padding:.85rem}.skills-chart-shell{width:100%;height:100%;min-height:320px}.skills-bars-panel{overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1rem}.skills-category-block{display:flex;flex-direction:column;gap:.7rem}.skills-category-label{color:#e8f4ff;font-family:Syne,sans-serif;font-size:16px;letter-spacing:.02em;line-height:1.4}.skills-bar-list{display:flex;flex-direction:column;gap:.65rem}.skills-bar-row{display:flex;flex-direction:column;gap:.38rem}.skills-bar-copy{display:flex;align-items:center;justify-content:space-between;gap:.75rem;color:#dce6f5;font-size:14px;line-height:1.4}.skills-bar-name,.skills-bar-value{font-family:JetBrains Mono,monospace}.skills-bar-value{color:#8ea3bb;font-size:13px}.skills-bar-track{width:100%;height:8px;overflow:hidden;border-radius:999px;background:#171b24}.skills-bar-fill{height:100%;width:0;border-radius:inherit;transition:width .8s ease}.skills-bar-fill.is-cyan{background:linear-gradient(90deg,#00f5ffad,#00f5ff)}.skills-bar-fill.is-violet{background:linear-gradient(90deg,#945cffad,#9d5cff)}.skills-bar-fill.is-amber{background:linear-gradient(90deg,#f59e0bad,#f59e0b)}.skills-bar-fill.is-emerald{background:linear-gradient(90deg,#10b981ad,#10b981)}.skills-bar-fill.is-rose{background:linear-gradient(90deg,#f43f5ead,#f43f5e)}.projects-sidebar{display:grid;grid-template-rows:auto 1fr;background:#0d0d14;border-right:1px solid #2a2a3a;min-width:0}.projects-sidebar-heading,.about-sidebar-heading{color:#64748b;font-size:13px;letter-spacing:.14em;text-transform:uppercase;line-height:1.4}.projects-sidebar-heading{padding:16px}.projects-sidebar-list{display:flex;flex-direction:column;gap:.2rem;padding:0 .5rem .75rem;overflow-y:auto}.projects-sidebar-item{border:none;border-left:2px solid transparent;background:transparent;color:#94a3b8;text-align:left;padding:10px 16px;font-size:15px;line-height:1.4;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.projects-sidebar-item:hover,.projects-sidebar-item:focus-visible{color:#e2e8f0;background:#1a1a24;outline:none}.projects-sidebar-item.is-active{background:#1a1a24;border-left-color:#00f5ff;color:#00f5ff}.projects-detail-panel{min-width:0;overflow:hidden}.projects-detail-pane{display:flex;flex-direction:column;gap:20px}.projects-detail-scroll{height:100%;overflow-y:auto;padding:28px;display:flex;flex-direction:column;gap:20px}.projects-detail-header{display:flex;align-items:center}.projects-detail-title{margin:0;font-family:Syne,sans-serif;font-size:28px;font-weight:700;color:#e2e8f0;line-height:1.4}.projects-detail-badges{display:flex;flex-wrap:wrap;gap:.65rem}.projects-category-badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;background:transparent;border:1px solid #00f5ff;color:#00f5ff;font-size:13px;line-height:1.4}.projects-note-badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;background:#f59e0b1f;border:1px solid rgba(245,158,11,.42);color:#f59e0b;font-size:13px;line-height:1.4}.projects-detail-description,.achievement-card-description{margin:0;color:#94a3b8;font-size:14px;line-height:1.9}.projects-copy-block{display:flex;flex-direction:column;gap:8px}.projects-section-label{color:#64748b;font-size:13px;letter-spacing:.14em;text-transform:uppercase;line-height:1.4}.projects-tech-tags{display:flex;flex-wrap:wrap;gap:.55rem}.projects-tech-pill,.achievement-card-tag{display:inline-flex;align-items:center;border-radius:999px;padding:.38rem .72rem}.projects-tech-pill{background:#1a1a24;border:1px solid #2a2a3a;color:#94a3b8;font-size:13px;border-radius:4px;line-height:1.4;transition:border-color .16s ease,color .16s ease}.projects-tech-pill:hover{border-color:#00f5ff;color:#00f5ff}.projects-github-button{width:fit-content;border:1px solid #00f5ff;border-radius:6px;padding:8px 20px;background:transparent;color:#00f5ff;font-size:13px;line-height:1.4;cursor:pointer;transition:background-color .16s ease,color .16s ease,box-shadow .16s ease,border-color .16s ease}.projects-github-button:hover,.projects-github-button:focus-visible{background:#00f5ff;color:#050508;outline:none}.projects-detail-actions{display:flex;flex-wrap:wrap;gap:12px}.projects-case-study-button,.projects-back-button{width:fit-content;border-radius:6px;background:transparent;font-family:JetBrains Mono,monospace;font-size:13px;line-height:1.4;cursor:pointer;transition:background-color .16s ease,color .16s ease,border-color .16s ease}.projects-case-study-button{border:1px solid #a855f7;padding:8px 20px;color:#a855f7}.projects-case-study-button:hover,.projects-case-study-button:focus-visible{background:#a855f71f;color:#d8b4fe;border-color:#d8b4fe;outline:none}.projects-case-study-panel{width:100%;height:100%;min-height:0;display:grid;grid-template-rows:auto 1fr;background:radial-gradient(circle at top left,rgba(168,85,247,.06),transparent 24%),radial-gradient(circle at bottom right,rgba(0,245,255,.05),transparent 24%),#0d0d14}.projects-case-study-topbar{display:flex;align-items:center;padding:18px 24px 0}.projects-back-button{border:1px solid #2a2a3a;padding:8px 14px;color:#94a3b8}.projects-back-button:hover,.projects-back-button:focus-visible{border-color:#00f5ff;color:#00f5ff;outline:none}.projects-case-study-scroll{height:100%;min-height:0;overflow-y:auto;padding:18px 32px 32px}.projects-case-study-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:28px}.projects-case-study-header-copy{display:flex;flex-direction:column;gap:12px;min-width:0}.projects-case-study-content{display:flex;flex-direction:column;gap:20px}.projects-case-study-section{display:flex;flex-direction:column;gap:10px;padding-left:16px;border-left:3px solid transparent}.projects-case-study-section.is-problem{border-left-color:#ff5f57}.projects-case-study-section.is-approach{border-left-color:#00f5ff}.projects-case-study-section.is-tech-decisions{border-left-color:#a855f7}.projects-case-study-section.is-result{border-left-color:#10b981}.projects-case-study-label{color:#64748b;font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;line-height:1.4}.projects-case-study-body{margin:0;color:#94a3b8;font-family:JetBrains Mono,monospace;font-size:14px;line-height:1.9}.projects-case-study-metrics-block{display:flex;flex-direction:column;gap:12px}.projects-case-study-metrics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.projects-case-study-metric-card{display:flex;align-items:center;gap:10px;border:1px solid #2a2a3a;border-radius:8px;background:#1a1a24;padding:14px 16px;color:#e2e8f0;font-family:JetBrains Mono,monospace;font-size:13px;line-height:1.4}.projects-case-study-metric-dot{width:7px;height:7px;border-radius:999px;background:#00f5ff;box-shadow:0 0 10px #00f5ff73;flex-shrink:0}.about-app{display:flex;flex-direction:column;background:#0f0f0a}.about-app-shell{min-height:0;height:100%;display:grid;grid-template-columns:180px 1fr}.about-sidebar{display:grid;grid-template-rows:auto auto 1fr;gap:.8rem;padding:1rem .85rem;background:#0d0d0af5;border-right:1px solid rgba(42,42,58,.92)}.about-note-item{border:none;border-radius:.8rem;background:transparent;color:#d6dded;text-align:left;padding:.78rem .9rem}.about-note-item.is-active{background:#1a1a24}.about-note-panel{display:flex;flex-direction:column;min-width:0;background:#0f0f0a}.about-note-header{display:flex;flex-direction:column;gap:.3rem}.about-note-title{margin:0;font-family:Syne,sans-serif;font-size:20px;color:#fff;line-height:1.4}.about-note-modified{color:#64748b;font-size:13px;line-height:1.4}.about-note-divider{width:100%;height:1px;margin:.9rem 0 1.1rem;background:#64748b3d}.about-note-body{color:#e2e8f0;font-size:15px;line-height:2}.about-note-line{position:relative;white-space:pre-wrap}.about-note-cursor{display:inline-block;width:1px;height:1.05em;margin-left:.28rem;background:#00f5ff;vertical-align:text-bottom;animation:aboutCursorBlink 1s steps(1) infinite}.achievements-app{display:flex;flex-direction:column;padding:1.2rem 1.25rem;gap:1rem}.achievements-header{display:flex;align-items:flex-end;padding-bottom:.55rem;border-bottom:1px solid rgba(42,42,58,.94)}.achievements-title{margin:0;font-family:Syne,sans-serif;font-size:18px;color:#fff;position:relative;line-height:1.4}.achievements-title:after{content:"";position:absolute;left:0;bottom:-.6rem;width:100%;height:1px;background:#00f5ff6b}.achievements-list{display:flex;flex-direction:column;gap:16px;overflow-y:auto;min-height:0}.achievement-card{display:grid;grid-template-columns:52px 1fr;gap:1rem;padding:20px;background:#1a1a24;border:1px solid #2a2a3a;border-radius:8px}.achievement-icon{display:grid;align-items:start;justify-items:center;font-size:1.95rem;line-height:1}.achievement-copy{display:grid;gap:.55rem}.achievement-card-title{margin:0;font-family:Syne,sans-serif;font-size:17px;color:#fff;line-height:1.4}.achievement-card-description{font-size:14px;line-height:1.8}.achievement-card-tag{justify-self:end;margin-top:.25rem;background:#f59e0b24;border:1px solid rgba(245,158,11,.42);color:#f59e0b;font-size:13px;line-height:1.4}.window-frame-resize-handle{position:absolute;right:0;bottom:0;width:14px;height:14px;border:none;padding:0;background:linear-gradient(135deg,transparent 48%,rgba(0,245,255,.34) 48%,rgba(0,245,255,.34) 56%,transparent 56%);cursor:se-resize}.window-frame-resize-handle:before{content:"";position:absolute;right:3px;bottom:3px;width:8px;height:8px;border-right:1px solid rgba(0,245,255,.6);border-bottom:1px solid rgba(0,245,255,.6)}.taskbar{position:absolute;right:0;bottom:0;left:0;height:48px;display:grid;grid-template-columns:1fr minmax(0,2.2fr) 1fr;align-items:center;gap:1rem;padding:0 .85rem;background:#111118db;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid #2a2a3a;z-index:200}.taskbar-section{display:flex;align-items:center;min-width:0}.taskbar-left{justify-content:flex-start}.taskbar-center{justify-content:center;gap:.5rem;overflow-x:auto;scrollbar-width:none}.taskbar-center::-webkit-scrollbar{display:none}.taskbar-right{justify-content:flex-end;gap:.75rem;white-space:nowrap}.taskbar-brand,.taskbar-window-button{border:none;color:inherit}.taskbar-brand{background:transparent;padding:0;color:#00f5ff;font-size:13px;letter-spacing:.08em;cursor:default;line-height:1.4}.taskbar-window-button{position:relative;display:inline-flex;align-items:center;gap:.5rem;padding:.42rem .8rem .48rem;border-radius:.8rem;background:#1a1a24;cursor:pointer;white-space:nowrap;transition:background-color .18s ease,transform .18s ease}.taskbar-window-button:hover,.taskbar-window-button:focus-visible{background:#21212e;outline:none}.taskbar-window-button:active{transform:translateY(1px)}.taskbar-window-button:after{content:"";position:absolute;right:.65rem;bottom:.2rem;left:.65rem;height:2px;border-radius:999px;background:transparent;transition:background-color .18s ease}.taskbar-window-button.is-active:after{background:#00f5ff}.taskbar-window-title{font-size:13px;line-height:1.4}.desktop-player{position:absolute;right:24px;bottom:72px;width:300px;max-width:300px;display:grid;gap:.9rem;padding:20px;border:1px solid #2a2a3a;border-radius:16px;background:#13131adb;box-shadow:0 8px 32px #0009;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-sizing:border-box;overflow:hidden;z-index:2}.desktop-player-mini{width:180px;min-height:44px;padding:.8rem .95rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;cursor:pointer}.desktop-player-mini:focus-visible{outline:1px solid rgba(0,245,255,.42)}.desktop-player-topbar,.desktop-player-track-name-row,.desktop-player-time-row,.desktop-player-volume-row{display:flex;align-items:center;width:100%;min-width:0}.desktop-player-topbar{justify-content:space-between;gap:8px}.desktop-player-note{color:#00f5ff;font-size:1rem;line-height:1}.desktop-player-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#64748b;font-size:13px;letter-spacing:.12em;text-transform:uppercase;line-height:1.4}.desktop-player-icon-button,.desktop-player-control-button{border:none;background:transparent;color:#8ba1b7;cursor:pointer;transition:color .18s ease,transform .18s ease}.desktop-player-icon-button:hover,.desktop-player-icon-button:focus-visible,.desktop-player-control-button:hover,.desktop-player-control-button:focus-visible{color:#00f5ff;transform:scale(1.2);outline:none}.desktop-player-track-copy{width:100%;min-width:0;display:grid;gap:.3rem}.desktop-player-track-row{width:100%;min-width:0}.desktop-player-track-name-row{gap:.55rem}.desktop-player-track-name,.desktop-player-mini-title{max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.desktop-player-track-name{margin:0;color:#fff;font-family:Syne,sans-serif;font-size:18px;line-height:1.4}.desktop-player-track-meta{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#64748b;font-size:13px;line-height:1.4}.desktop-player-equalizer{display:inline-flex;align-items:flex-end;gap:3px;min-width:16px;height:16px}.desktop-player-equalizer span{width:2px;height:5px;border-radius:999px;background:#00f5ff;opacity:.85;transform-origin:bottom}.desktop-player-equalizer.is-playing span:nth-child(1){animation:equalizerBounceOne .72s ease-in-out infinite}.desktop-player-equalizer.is-playing span:nth-child(2){animation:equalizerBounceTwo .9s ease-in-out infinite}.desktop-player-equalizer.is-playing span:nth-child(3){animation:equalizerBounceThree .78s ease-in-out infinite}.desktop-player-progress{position:relative;width:100%;height:4px;border:none;padding:0;border-radius:2px;background:#2a2a3a;cursor:pointer;overflow:hidden}.desktop-player-progress-fill{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:#00f5ff}.desktop-player-time-row{justify-content:space-between;color:#64748b;font-size:13px;line-height:1.4}.desktop-player-controls{display:flex;align-items:center;justify-content:center;gap:32px;width:100%;min-width:0}.desktop-player-control-button{padding:0;font-size:20px}.desktop-player-play-button{font-size:28px}.desktop-player-play-button.is-playing{color:#00f5ff}.desktop-player-volume-row{gap:8px}.desktop-player-volume-icon{color:#8ba1b7;font-size:.9rem}.desktop-player-volume{flex:1;min-width:0;height:4px;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(90deg,#00f5ffb8,#00f5ff33);border-radius:999px;cursor:pointer}.desktop-player-volume::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;border:none;border-radius:50%;background:#00f5ff;box-shadow:0 0 0 2px #050508d9}.desktop-player-volume::-moz-range-track{height:4px;background:linear-gradient(90deg,#00f5ffb8,#00f5ff33);border:none;border-radius:999px}.desktop-player-volume::-moz-range-thumb{width:12px;height:12px;border:none;border-radius:50%;background:#00f5ff;box-shadow:0 0 0 2px #050508d9}.desktop-player-mini-title{color:#fff;font-family:Syne,sans-serif;font-size:14px;line-height:1.4}.desktop-player-mini-toggle{font-size:1rem}.share-portfolio-button{position:fixed;right:16px;bottom:62px;z-index:9990;display:inline-flex;align-items:center;gap:8px;border:1px solid #2a2a3a;border-radius:8px;background:#0d0d1ae6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:8px 14px;color:#94a3b8;font-family:JetBrains Mono,monospace;font-size:12px;line-height:1.4;white-space:nowrap;transition:border-color .16s ease,color .16s ease}.share-portfolio-button:hover,.share-portfolio-button:focus-visible{border-color:#00f5ff;color:#00f5ff;outline:none}.share-portfolio-toast-shell{position:fixed;left:50%;bottom:70px;transform:translate(-50%);z-index:99996;pointer-events:none}.share-portfolio-toast{border:1px solid #10b981;border-radius:8px;background:#13131a;padding:10px 20px;color:#10b981;font-family:JetBrains Mono,monospace;font-size:13px;line-height:1.4}.taskbar-clock{color:#fff;font-size:13px;line-height:1.4}.taskbar-signal-icon{width:18px;height:18px;color:#ffffffdb}.taskbar-battery{display:inline-flex;align-items:center;gap:.35rem;color:#fff;font-size:13px;line-height:1.4}.taskbar-battery-shell{position:relative;width:18px;height:10px;border:1px solid rgba(255,255,255,.88);border-radius:2px;display:inline-block}.taskbar-battery-level{position:absolute;top:1px;right:1px;bottom:1px;left:1px;width:87%;background:linear-gradient(90deg,#dfffff,#00f5ff)}.taskbar-battery-tip{position:absolute;top:2px;right:-3px;width:2px;height:4px;border-radius:0 1px 1px 0;background:#ffffffe0}@keyframes loginPulse{0%,to{opacity:.45}50%{opacity:1}}@keyframes auroraDriftCyan{0%{transform:translateZ(0)}to{transform:translate3d(260px,120px,0)}}@keyframes auroraDriftViolet{0%{transform:translateZ(0)}to{transform:translate3d(-260px,-180px,0)}}@keyframes auroraDriftTeal{0%{transform:translateZ(0)}25%{transform:translate3d(40px,-50px,0)}50%{transform:translate3d(90px,20px,0)}75%{transform:translate3d(20px,70px,0)}to{transform:translate3d(-30px,0,0)}}@keyframes biosLineFade{0%{opacity:0}to{opacity:1}}@keyframes loadingGlowPulse{0%,to{box-shadow:0 0 18px #00f5ff66}50%{box-shadow:0 0 34px #00f5ffb8}}@keyframes loginCardIntro{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes loginCardExit{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.96)}}@keyframes desktopIconReveal{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes filledDotPulse{0%,to{box-shadow:0 0 8px #00f5ff52}50%{box-shadow:0 0 16px #00f5ff94}}@keyframes gradientBlobDrift{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(8%,10%,0) scale(1.06)}to{transform:translate3d(-6%,16%,0) scale(.96)}}@keyframes securityFlicker{0%,to{opacity:.08}50%{opacity:.22}}@keyframes aboutCursorBlink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes loginTipFade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes contactHintFade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes mobileScrollBounce{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}@keyframes screensaverWakePulse{0%,to{opacity:.4}50%{opacity:1}}@keyframes pulseGreen{0%{box-shadow:0 0 #22c55e73;opacity:.85}70%{box-shadow:0 0 0 7px #22c55e00;opacity:1}to{box-shadow:0 0 #22c55e00;opacity:.85}}@keyframes equalizerBounceOne{0%,to{transform:scaleY(.55)}50%{transform:scaleY(1.35)}}@keyframes equalizerBounceTwo{0%,to{transform:scaleY(1.2)}40%{transform:scaleY(.45)}75%{transform:scaleY(1.4)}}@keyframes equalizerBounceThree{0%,to{transform:scaleY(.65)}35%{transform:scaleY(1.45)}70%{transform:scaleY(.5)}}@media (max-width: 640px){.bios-screen{padding:1rem}.bios-text{font-size:.74rem;line-height:1.55}.loading-panel{gap:1rem}.login-card{padding:2rem 1.4rem;border-radius:1.4rem}.desktop-icons{top:18px;left:14px;gap:clamp(8px,1.6vh,16px);max-height:calc(100vh - 66px);padding-bottom:80px}.desktop-icon{width:72px}.window-frame-shell{left:86px!important;top:72px!important;width:min(78vw,360px)!important;height:240px!important}.projects-app,.skills-app-grid,.about-app,.contact-app{grid-template-columns:1fr}.skills-chart-shell{min-height:260px}.projects-sidebar,.about-sidebar,.contact-sidebar{border-right:none;border-bottom:1px solid #2a2a3a}.projects-mode-shell-list{grid-template-columns:1fr}.projects-case-study-scroll{padding:18px 18px 24px}.projects-case-study-topbar{padding:18px 18px 0}.projects-case-study-header{flex-direction:column}.projects-case-study-metrics-grid{grid-template-columns:1fr}.resume-document-scroll{padding:18px}.resume-document{padding:24px 20px}.achievement-card{grid-template-columns:1fr}.achievement-card-tag{justify-self:start}.taskbar{grid-template-columns:auto 1fr auto;gap:.55rem;padding:0 .55rem}.taskbar-window-title{display:none}.taskbar-right{gap:.45rem}.taskbar-clock{font-size:13px}.desktop-player{right:14px;bottom:62px;width:min(300px,calc(100vw - 28px))}.desktop-availability-banner{justify-content:space-between;gap:10px;padding:0 10px}.desktop-availability-banner-center,.desktop-availability-banner-divider,.desktop-availability-banner-dismiss{display:none}.desktop-availability-banner-left,.desktop-availability-banner-right{gap:6px}.desktop-availability-banner-status,.desktop-availability-banner-email{font-size:10px}}
