*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}:root{--bg:#050509;--bg-elevated:#020617;--bg-soft:#09090b;--border-subtle:#27272a;--accent:#81f4e1;--accent-soft:#81f4e114;--text:#fafafa;--text-muted:#a1a1aa}.app-body{background:radial-gradient(circle at 0 0,#0f172a 0,transparent 45%),radial-gradient(circle at 100% 20%,#22c55e1a 0,transparent 50%),var(--bg);min-height:100vh;color:var(--text);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;position:relative;overflow:hidden}.app-body:before{content:"";pointer-events:none;opacity:.7;mix-blend-mode:screen;z-index:-1;background-image:radial-gradient(2px 2px at 10% 20%,#f8fafc4d,#0000 60%),radial-gradient(1.5px 1.5px at 80% 10%,#e2e8f066,#0000 60%),radial-gradient(1.8px 1.8px at 20% 75%,#94a3b859,#0000 60%),radial-gradient(1.2px 1.2px at 60% 55%,#e2e8f04d,#0000 60%);animation:45s linear infinite alternate star-drift;position:fixed;inset:-40px}a{color:inherit}.home{justify-content:center;min-height:100vh;padding:3rem 1.75rem 4rem;display:flex}.home-shell{justify-content:center;align-items:center;width:100%;max-width:960px;display:flex;position:relative}.console{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.console-window{z-index:10;background:radial-gradient(circle at 0 0,#22c55e14,#0000 55%),radial-gradient(circle at 120% -10%,#38bdf81f,#0000 55%),#030712f5;border:1px solid #1f2937f2;border-radius:.9rem;width:100%;max-width:720px;animation:.9s cubic-bezier(.16,1,.3,1) both console-open;position:relative;overflow:hidden;box-shadow:0 24px 80px #000000f2,0 0 0 1px #0f172ae6}.desktop-window{color:#d1d5dbe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:.58;pointer-events:none;z-index:1;background:#030712e6;border:1px solid #1f2937e6;border-radius:.8rem;width:320px;font-size:.75rem;position:absolute;inset:auto;box-shadow:0 18px 50px #000000d9}.desktop-window--editor{top:14%;left:-40px;transform:rotate(-3deg)}.desktop-window--help-console{opacity:.88;background:#080c16f2;width:340px;top:60%;left:-140px;transform:rotate(-1.5deg);box-shadow:0 20px 55px #000000e6,0 0 0 1px #3f3f4680}.desktop-dot{background:#27272a;border-radius:999px;flex-shrink:0;width:6px;height:6px}.desktop-dot--red{background:#f97373}.desktop-dot--yellow{background:#facc15}.desktop-dot--green{background:#4ade80}.desktop-window--player{top:12%;left:-70px;transform:rotate(-4deg)}.desktop-window--notes{opacity:.88;background:#080c16f2;top:6%;right:-30px;transform:rotate(2deg);box-shadow:0 20px 55px #000000e6,0 0 0 1px #3f3f4680}.desktop-window--git{bottom:6%;right:-30px;transform:rotate(3deg)}.desktop-window--status{bottom:-16px;left:28%;transform:rotate(1deg)}.desktop-header{letter-spacing:.08em;text-transform:uppercase;color:#94a3b8e6;background:linear-gradient(#0f172af5,#0f172ae6);border-bottom:1px solid #1f2937e6;align-items:center;gap:.35rem;padding:.4rem .75rem;font-size:.68rem;display:flex}.desktop-window--help-console .desktop-title{text-transform:none;margin-left:auto}.desktop-body{padding:.55rem .8rem .7rem}.desktop-body pre{white-space:pre-wrap;margin:0;font-family:inherit}.desktop-line{color:#d1d5dbeb;display:block}.text-green{color:#4ade80}.desktop-body--console .desktop-line{font-size:.72rem;line-height:1.5}.desktop-body--player{flex-direction:column;gap:.4rem;display:flex}.player-track{color:#e2e8f0f2;font-size:.78rem}.player-bar{align-items:center;gap:.35rem;display:flex}.player-time{color:#94a3b8f2;font-size:.7rem}.player-rail{background:#1f2937f2;border-radius:999px;flex:1;height:4px;position:relative;overflow:hidden}.player-progress{background:linear-gradient(90deg,#22c55e,#2dd4bf);width:40%;position:absolute;inset:0}.player-controls{color:#94a3b8f2;gap:.7rem;font-size:.8rem;display:flex}.desktop-body--status{flex-direction:column;gap:.35rem;display:flex}.status-row{color:#94a3b8e6;justify-content:space-between;gap:.75rem;display:flex}.console-header{letter-spacing:.08em;text-transform:uppercase;color:#94a3b8e6;background:linear-gradient(#0f172af2,#0f172ad9);border-bottom:1px solid #1f2937e6;align-items:center;gap:.4rem;padding:.6rem .9rem;font-size:.7rem;display:flex}.console-dot{background:#27272a;border-radius:999px;width:9px;height:9px}.console-dot--red{background:#f97373}.console-dot--yellow{background:#facc15}.console-dot--green{background:#4ade80}.console-title{margin-left:auto}.console-body{padding:1.1rem 1.1rem 1.3rem}.console-output-wrapper{scrollbar-width:thin;scrollbar-color:#3f3f46cc transparent;max-height:16rem;overflow:hidden auto}.console-output-wrapper::-webkit-scrollbar{width:6px}.console-output-wrapper::-webkit-scrollbar-track{background:0 0}.console-output-wrapper::-webkit-scrollbar-thumb{background:#3f3f46cc;border-radius:3px}.console-output{white-space:pre-wrap;color:#e5e7eb;min-height:4rem;margin:0;font-size:.9rem;line-height:1.6}.console-cursor{color:var(--accent);margin-left:2px;animation:1s steps(2,start) infinite cursor-blink;display:inline-block}.console-input{align-items:center;gap:.5rem;margin-top:.9rem;font-size:.85rem;display:flex}.console-input-prompt{white-space:nowrap;color:#94a3b8e6}.console-input-field{color:#e5e7eb;font:inherit;background:0 0;border:none;border-radius:.35rem;outline:none;flex:1;padding:.18rem .35rem}.console-input-field::placeholder{color:var(--text-muted);opacity:.6}.console-input-field:disabled{opacity:.6;cursor:not-allowed}.console-input-field[readonly]{cursor:default}.console-links{margin-top:1.4rem;font-size:.85rem}.console-comment{color:#94a3b8cc;margin-bottom:.35rem;display:block}.console-links-row{flex-wrap:wrap;gap:.6rem;display:flex}.console-link{color:#bbf7d0e6;letter-spacing:.05em;background:#030712f5;border:1px solid #1f2937e6;border-radius:.55rem;padding:.45rem .8rem;font-size:.82rem;text-decoration:none;transition:background-color .14s,border-color .14s,transform .14s,box-shadow .14s}.console-link--accent{border-color:#34d399e6;box-shadow:0 0 20px #22c55e59}.console-link:hover{background:#0f172afa;border-color:#374151e6;transform:translateY(-1px);box-shadow:0 16px 40px #000000e6}.console-link:disabled{opacity:.5;cursor:not-allowed;transform:none}.console-link:disabled:hover{box-shadow:none;background:#030712f5;border-color:#1f2937e6;transform:none}@keyframes console-open{0%{opacity:0;transform:scale(.88)translateY(24px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes star-drift{0%{transform:translate(0,0)}to{transform:translate(-40px,-30px)}}@keyframes cursor-blink{0%,49%{opacity:1}50%,to{opacity:0}}.desktop-window--about-skills{opacity:.85;background:#080c16f2;top:8%;left:-50px;transform:rotate(-2.5deg);box-shadow:0 20px 55px #000000e6,0 0 0 1px #3f3f4680}.desktop-window--about-notes{opacity:.88;background:#080c16f2;top:5%;right:-20px;transform:rotate(2.5deg);box-shadow:0 20px 55px #000000e6,0 0 0 1px #3f3f4680}.desktop-window--about-git{bottom:4%;right:-25px;transform:rotate(3deg)}.about-window{z-index:10;background:radial-gradient(circle at 0 0,#22c55e14,#0000 55%),radial-gradient(circle at 120% -10%,#38bdf81f,#0000 55%),#030712f5;border:1px solid #1f2937f2;border-radius:.9rem;width:100%;max-width:680px;animation:.9s cubic-bezier(.16,1,.3,1) both console-open;position:relative;overflow:hidden;box-shadow:0 24px 80px #000000f2,0 0 0 1px #0f172ae6}.about-body{flex-direction:column;gap:.15rem;padding:1.2rem 1.4rem 1.5rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.88rem;line-height:1.65;display:flex}.about-file-header{margin-bottom:.6rem}.about-comment{color:#94a3b8b3;font-size:.8rem;line-height:1.5;display:block}.about-section{flex-direction:column;gap:.1rem;margin-top:.9rem;display:flex}.about-section .about-comment{color:#81f4e1a6;margin-bottom:.25rem}.about-field{flex-wrap:wrap;align-items:baseline;gap:0;display:flex}.about-key{color:#94a3b8e6;flex-shrink:0;min-width:9rem}.about-sep{color:#3f3f46e6;margin-right:.6rem}.about-value{color:#e5e7eb;flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.about-value--accent{color:var(--accent);font-weight:600}.about-value--link{color:#81f4e1d9;text-underline-offset:3px;-webkit-text-decoration:underline #81f4e14d;text-decoration:underline #81f4e14d}.about-tag{color:#bbf7d0e6;background:#0f172acc;border:1px solid #3f3f46b3;border-radius:.4rem;padding:.1rem .5rem;font-size:.78rem;line-height:1.5;display:inline-block}.about-tag--cert{color:#81f4e1d9;background:#81f4e10d;border-color:#81f4e140}.about-nav{flex-wrap:wrap;gap:.6rem;margin-top:1.6rem;display:flex}.desktop-window--proj-langs{opacity:.85;background:#080c16f2;top:6%;left:-55px;transform:rotate(-2deg);box-shadow:0 20px 55px #000000e6,0 0 0 1px #3f3f4680}.desktop-window--proj-stats{opacity:.88;background:#080c16f2;top:4%;right:-20px;transform:rotate(2deg);box-shadow:0 20px 55px #000000e6,0 0 0 1px #3f3f4680}.desktop-window--proj-git{opacity:.82;background:#080c16f2;bottom:4%;right:-25px;transform:rotate(2.5deg);box-shadow:0 20px 55px #000000e6,0 0 0 1px #3f3f4680}.projects-window{z-index:10;background:radial-gradient(circle at 0 0,#22c55e14,#0000 55%),radial-gradient(circle at 120% -10%,#38bdf81f,#0000 55%),#030712f5;border:1px solid #1f2937f2;border-radius:.9rem;width:100%;max-width:680px;animation:.9s cubic-bezier(.16,1,.3,1) both console-open;position:relative;overflow:hidden;box-shadow:0 24px 80px #000000f2,0 0 0 1px #0f172ae6}.projects-body{flex-direction:column;gap:.15rem;padding:1.2rem 1.4rem 1.5rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.88rem;line-height:1.65;display:flex}.proj-entry{border-bottom:1px solid #3f3f4640;flex-direction:column;gap:.1rem;margin-top:1rem;padding-bottom:1rem;display:flex}.proj-entry:last-of-type{border-bottom:none}.proj-entry-header{align-items:baseline;gap:.75rem;margin-bottom:.2rem;display:flex}.proj-dir{color:#3f3f46b3;flex-shrink:0;font-size:.75rem}.proj-name{font-size:.95rem;font-weight:600}.proj-fields{flex-direction:column;gap:.1rem;padding-left:.5rem;display:flex}.proj-fields .about-field{flex-wrap:nowrap;align-items:flex-start}.proj-fields .about-key{padding-top:.05rem}.proj-fields .about-value{flex:1;display:block}.proj-status{border:1px solid;border-radius:.35rem;padding:.05rem .45rem;font-size:.72rem}.proj-status--stable{color:#bbf7d0cc;background:#22c55e12;border-color:#22c55e4d}.proj-status--active{color:#81f4e1d9;background:#81f4e10f;border-color:#81f4e14d}@media (max-width:960px){.home{padding-top:2.5rem}.desktop-window{display:none}}@media (max-width:600px){.home{padding-inline:1.25rem}.hero-nav{width:100%}}
