*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0a0d12;--bar:#0f1319;--border:#ffffff0f;--text:#c0c8d4;--bright:#e2e8f0;--dim:#3e4756;--dimmer:#2a3140;--accent:#7a8da8;--green:#50c878;--hazel:#c4a35a;--mono:"IBM Plex Mono","SF Mono","Menlo",monospace}html{-webkit-font-smoothing:antialiased}body{background:#06080c;color:#c0c8d4;color:var(--text);font-family:IBM Plex Mono,SF Mono,Menlo,monospace;font-family:var(--mono);line-height:1.6;min-height:100vh;padding:16px}#root,body{display:flex;justify-content:center}#root{width:100%}::selection{background:#7a8da840;color:#fff}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff1f}.terminal{background:#0a0d12;background:var(--bg);border:1px solid #ffffff0f;border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column;max-width:960px;min-height:calc(100vh - 32px);overflow:hidden;width:100%}.bar{align-items:center;background:#0f1319;background:var(--bar);border-bottom:1px solid #ffffff0f;border-bottom:1px solid var(--border);display:flex;flex-shrink:0;gap:16px;height:44px;padding:0 20px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.bar-dots{display:flex;gap:7px;margin-right:8px}.bar-dots span{border-radius:50%;height:11px;width:11px}.bar-dots span:first-child{background:#ff5f57}.bar-dots span:nth-child(2){background:#ffbd2e}.bar-dots span:nth-child(3){background:#28c840}.bar-tabs{display:flex;gap:2px;margin-left:8px}.bar-tabs button{background:none;border:none;border-radius:5px;color:#3e4756;color:var(--dim);cursor:pointer;font-family:IBM Plex Mono,SF Mono,Menlo,monospace;font-family:var(--mono);font-size:12px;padding:5px 12px;text-decoration:none;transition:color .12s,background .12s;-webkit-user-select:none;user-select:none}.bar-tabs button:hover{background:#ffffff0a;color:#c0c8d4;color:var(--text)}.bar-tabs button.active{background:#ffffff0f;color:#e2e8f0;color:var(--bright)}.bar-title{color:#3e4756;color:var(--dim);font-size:12px;margin-left:auto}.term-body{flex:1 1;overflow-x:auto;overflow-y:auto;padding:28px 32px 40px}.prompt{align-items:center;display:flex;flex-wrap:wrap;font-size:13.5px;gap:0;margin-bottom:6px}.p-user{color:#50c878;color:var(--green)}.p-sep{color:#3e4756;color:var(--dim)}.p-path{color:#c0c8d4;color:var(--text)}.p-char{color:#3e4756;color:var(--dim);margin:0 6px 0 4px}.p-cmd,.term-input{color:#e2e8f0;color:var(--bright)}.term-input{background:#0000;border:none;caret-color:#7a8da8;caret-color:var(--accent);flex:1 1;font-family:IBM Plex Mono,SF Mono,Menlo,monospace;font-family:var(--mono);font-size:13.5px;line-height:1.6;min-width:0;outline:none;padding:0}.term-input::selection{background:#7a8da840;color:#fff}.input-prompt{margin-bottom:0;margin-top:8px}.cmd-output{color:#c0c8d4;color:var(--text);font-size:13.5px;line-height:1.6;margin:6px 0 16px}.cmd-error{color:#e06c75}.ls-output{display:flex;flex-wrap:wrap;gap:4px 24px}.ls-dir{color:#c4a35a;color:var(--hazel);font-weight:500}.ls-file{color:#c0c8d4;color:var(--text)}.help-output .kv-key{min-width:14ch}.output{font-size:13.5px;margin:12px 0 32px}.dir-label{color:#c4a35a;color:var(--hazel);font-size:13.5px;font-weight:500;margin-bottom:8px}.total-line{color:#3e4756;color:var(--dim);font-size:13px;margin-bottom:4px}.file-row{grid-gap:0 16px;border-radius:3px;color:inherit;cursor:pointer;display:grid;gap:0 16px;grid-template-columns:10ch 8ch 6ch 1fr;padding:5px 0 5px 2px;text-decoration:none;transition:background .1s}.file-row:hover{background:#ffffff08}.f-perms{color:#2a3140;color:var(--dimmer);font-size:13px}.f-size{text-align:right}.f-date,.f-size{color:#3e4756;color:var(--dim);font-size:13px}.f-name{color:#c0c8d4;color:var(--text);font-size:13.5px;overflow:hidden;text-overflow:ellipsis;transition:color .1s;white-space:nowrap}.file-row:hover .f-name{color:#e2e8f0;color:var(--bright)}.dir-block{margin-bottom:16px}.content-header{border-bottom:1px solid #2a3140;border-bottom:1px solid var(--dimmer);border-top:1px solid #2a3140;border-top:1px solid var(--dimmer);margin:8px 0 28px;padding:20px 0}.content-title{color:#fff;font-size:20px;font-weight:600;letter-spacing:-.01em;line-height:1.3;margin-bottom:8px}.content-meta{color:#3e4756;color:var(--dim);display:flex;flex-wrap:wrap;font-size:12px;gap:10px}.content-meta .sep{color:#2a3140;color:var(--dimmer)}.content-body{color:#c8d2e1d1;font-size:14.5px;line-height:1.82;margin-top:24px;max-width:680px}.content-body p{margin-bottom:20px}.kv-line{color:#c0c8d4;color:var(--text);font-size:13.5px;line-height:1.6}.kv-key{color:#7a8da8;color:var(--accent);display:inline-block;min-width:10ch}.term-text{color:#c0c8d4;color:var(--text);font-size:13.5px;line-height:1.7;margin-top:12px}.term-text p{margin-bottom:8px}.skill-list{color:#c0c8d4;color:var(--text);font-size:13px;line-height:1.8;padding-left:2px;white-space:pre-wrap}.tech-tag{background:#ffffff05;border-radius:3px;color:#3e4756;color:var(--dim);display:inline-block;font-size:11px;margin:2px 4px 2px 0;padding:2px 8px}.project-detail{border-bottom:1px solid #2a3140;border-bottom:1px solid var(--dimmer);border-top:1px solid #2a3140;border-top:1px solid var(--dimmer);margin:8px 0 28px;padding:16px 0}.project-desc{color:#c8d2e1c7;font-size:14px;line-height:1.7;margin-bottom:16px}.project-link{color:#7a8da8;color:var(--accent);font-size:13px;text-decoration:underline;-webkit-text-decoration-color:#7a8da84d;text-decoration-color:#7a8da84d;text-underline-offset:2px;transition:-webkit-text-decoration-color .1s;transition:text-decoration-color .1s;transition:text-decoration-color .1s,-webkit-text-decoration-color .1s}.project-link:hover{-webkit-text-decoration-color:#7a8da8;text-decoration-color:#7a8da8;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.link-row{align-items:center;display:flex;font-size:13px;gap:8px;padding:4px 0}.link-row a{color:#7a8da8;color:var(--accent);text-decoration:underline;-webkit-text-decoration-color:#7a8da84d;text-decoration-color:#7a8da84d;text-underline-offset:2px;transition:color .1s,-webkit-text-decoration-color .1s;transition:text-decoration-color .1s,color .1s;transition:text-decoration-color .1s,color .1s,-webkit-text-decoration-color .1s}.link-row a:hover{color:#e2e8f0;color:var(--bright);-webkit-text-decoration-color:#7a8da8;text-decoration-color:#7a8da8;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.link-label{color:#3e4756;color:var(--dim);min-width:80px}.resume-frame{background:#0000004d;border:1px solid #ffffff0f;border:1px solid var(--border);border-radius:4px;height:800px;margin:16px 0;width:100%}.download-link{color:#7a8da8;color:var(--accent);font-size:13px;text-decoration:underline;-webkit-text-decoration-color:#7a8da84d;text-decoration-color:#7a8da84d;text-underline-offset:2px;transition:-webkit-text-decoration-color .1s;transition:text-decoration-color .1s;transition:text-decoration-color .1s,-webkit-text-decoration-color .1s}.download-link:hover{-webkit-text-decoration-color:#7a8da8;text-decoration-color:#7a8da8;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.blog-link-block{background:#ffffff05;border:1px solid #ffffff0f;border:1px solid var(--border);border-radius:4px;margin:16px 0;padding:20px;transition:background .12s,border-color .12s}.blog-link-block:hover{background:#ffffff0a;border-color:#ffffff1a}.welcome-banner{color:#50c878;color:var(--green);font-size:13.5px;line-height:1.2;margin:0 0 12px;-webkit-user-select:none;user-select:none}.welcome-sub{color:#3e4756;color:var(--dim);font-size:13px;margin-bottom:4px}.welcome-cmd{color:#7a8da8;color:var(--accent)}.history-output{font-size:13.5px}.history-line{line-height:1.6}.history-num{color:#3e4756;color:var(--dim);display:inline-block;margin-right:12px;min-width:5ch;text-align:right}.neofetch{align-items:flex-start;display:flex;gap:24px}.neofetch-art{color:#50c878;color:var(--green);flex-shrink:0;font-size:13.5px;line-height:1.3;margin:0;-webkit-user-select:none;user-select:none}.neofetch-info{min-width:0}.neofetch-info .kv-key{min-width:12ch}.nf-title{font-size:13.5px;font-weight:500;line-height:1.6}.nf-green{color:#50c878;color:var(--green)}.nf-dim,.nf-sep{color:#3e4756;color:var(--dim)}.nf-sep{font-size:13.5px;line-height:1.6;margin-bottom:2px}.neofetch-colors{display:flex;gap:4px;margin-top:10px}.neofetch-colors span{border-radius:2px;display:inline-block;height:16px;width:16px}.snake-container{align-items:center;display:flex;flex-direction:column;padding:20px 0}.snake-header{display:flex;font-size:13.5px;justify-content:space-between;margin-bottom:12px;max-width:-webkit-fit-content;max-width:fit-content;min-width:42ch;width:100%}.snake-title{color:#50c878;color:var(--green);font-weight:500}.snake-score{color:#c4a35a;color:var(--hazel)}.snake-grid{color:#c0c8d4;color:var(--text);font-family:IBM Plex Mono,SF Mono,Menlo,monospace;font-family:var(--mono);font-size:13.5px;line-height:1.2;margin:0;-webkit-user-select:none;user-select:none}.snake-row{white-space:pre}.snake-border{color:#3e4756;color:var(--dim)}.snake-head{color:#e2e8f0;color:var(--bright)}.snake-body{color:#50c878;color:var(--green)}.snake-food{color:#c4a35a;color:var(--hazel)}.snake-gameover{color:#e06c75;font-weight:500}.snake-hint{color:#3e4756;color:var(--dim);font-size:12px}.status{align-items:center;background:#0f1319;background:var(--bar);border-top:1px solid #ffffff0f;border-top:1px solid var(--border);color:#2a3140;color:var(--dimmer);display:flex;flex-shrink:0;font-size:11px;justify-content:space-between;padding:8px 20px}@media (max-width:700px){body{padding:0}.terminal{border:none;border-radius:0;min-height:100vh}.term-body{padding:20px 16px 32px}.file-row{grid-template-columns:8ch 6ch 1fr}.bar-title,.f-perms{display:none}.bar{padding:0 12px}.bar-tabs button{font-size:11px;padding:5px 8px}.resume-frame{height:500px}.neofetch{flex-direction:column;gap:12px}.neofetch-art{font-size:11px}.snake-grid{font-size:10px}.snake-header{font-size:12px;min-width:auto}.welcome-banner{font-size:9px}}.terminal{animation:boot-in .5s ease both;box-shadow:0 24px 70px -24px #000000bf,0 0 120px -70px color-mix(in srgb,#50c878 70%,#0000);box-shadow:0 24px 70px -24px #000000bf,0 0 120px -70px color-mix(in srgb,var(--green) 70%,#0000);position:relative;z-index:1}@keyframes boot-in{0%{opacity:0;transform:translateY(10px) scale(.994)}to{opacity:1;transform:none}}.terminal:after{background:radial-gradient(130% 90% at 50% -15%,color-mix(in srgb,#50c878 9%,#0000),#0000 55%),repeating-linear-gradient(180deg,#0000 0,#0000 2px,#00000024 3px,#0000 4px);background:radial-gradient(130% 90% at 50% -15%,color-mix(in srgb,var(--green) 9%,#0000),#0000 55%),repeating-linear-gradient(to bottom,#0000 0,#0000 2px,#00000024 3px,#0000 4px);border-radius:inherit;content:"";inset:0;opacity:.22;pointer-events:none;position:absolute;z-index:8}.welcome-banner{text-shadow:0 0 16px color-mix(in srgb,#50c878 45%,#0000);text-shadow:0 0 16px color-mix(in srgb,var(--green) 45%,#0000)}.neofetch-art{text-shadow:0 0 12px color-mix(in srgb,#50c878 40%,#0000);text-shadow:0 0 12px color-mix(in srgb,var(--green) 40%,#0000)}.dir-label,.snake-title{text-shadow:0 0 10px color-mix(in srgb,currentColor 35%,#0000)}.p-user{text-shadow:0 0 8px color-mix(in srgb,#50c878 28%,#0000);text-shadow:0 0 8px color-mix(in srgb,var(--green) 28%,#0000)}.bar-tabs button{position:relative}.bar-tabs button:after{background:#7a8da8;background:var(--accent);bottom:2px;content:"";height:1px;left:8px;position:absolute;right:8px;transform:scaleX(0);transform-origin:left;transition:transform .18s ease}.bar-tabs button.active:after,.bar-tabs button:hover:after{transform:scaleX(1)}.file-row{border-radius:4px;transition:background .14s ease,box-shadow .14s ease,transform .14s ease}.file-row:hover{background:hsla(0,0%,100%,.035);box-shadow:inset 2px 0 0 #7a8da8;box-shadow:inset 2px 0 0 var(--accent);transform:translateX(2px)}.file-row:focus-visible{background:#ffffff0d;box-shadow:inset 2px 0 0 #50c878;box-shadow:inset 2px 0 0 var(--green);outline:none}.link-row a:hover,.project-link:hover{text-shadow:0 0 8px color-mix(in srgb,#7a8da8 55%,#0000);text-shadow:0 0 8px color-mix(in srgb,var(--accent) 55%,#0000)}.bar-dots span{transition:box-shadow .15s ease}.bar:hover .bar-dots span:first-child{box-shadow:0 0 8px #ff5f57}.bar:hover .bar-dots span:nth-child(2){box-shadow:0 0 8px #ffbd2e}.bar:hover .bar-dots span:nth-child(3){box-shadow:0 0 8px #28c840}.blink-cursor{animation:blink 1.1s steps(1) infinite;color:#50c878;color:var(--green);display:inline-block;text-shadow:0 0 8px color-mix(in srgb,#50c878 50%,#0000);text-shadow:0 0 8px color-mix(in srgb,var(--green) 50%,#0000)}@keyframes blink{0%,50%{opacity:1}50.01%,to{opacity:0}}.status-left,.status-right{align-items:center;display:inline-flex;gap:10px}.status-dot{animation:pulse-dot 2.4s ease-in-out infinite;background:#50c878;background:var(--green);border-radius:50%;box-shadow:0 0 6px #50c878;box-shadow:0 0 6px var(--green);height:7px;width:7px}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.35}}.status-clock{font-feature-settings:"tnum";color:#3e4756;color:var(--dim);font-variant-numeric:tabular-nums;letter-spacing:.03em}.exp-block{border-left:2px solid #2a3140;border-left:2px solid var(--dimmer);margin:4px 0 18px;padding-left:12px;transition:border-color .15s ease}.exp-block:hover{border-left-color:#50c878;border-left-color:var(--green)}.exp-head{align-items:baseline;display:flex;flex-wrap:wrap;gap:4px 8px}.exp-role{color:#e2e8f0;color:var(--bright);font-weight:500}.exp-at{color:#3e4756;color:var(--dim)}.exp-org{color:#50c878;color:var(--green)}.exp-date{color:#3e4756;color:var(--dim);font-size:12px;margin-left:auto}.exp-meta{color:#c4a35a;color:var(--hazel);font-size:12px;margin-top:3px}.exp-detail{color:#c0c8d4;color:var(--text);line-height:1.6;margin-top:6px;max-width:680px}.bg-fx{background:radial-gradient(60% 50% at 50% 38%,color-mix(in srgb,#50c878 5%,#0000),#0000 70%);background:radial-gradient(60% 50% at 50% 38%,color-mix(in srgb,var(--green) 5%,#0000),#0000 70%);inset:0;overflow:hidden;pointer-events:none;position:fixed;z-index:0}.bg-fx:before{animation:grid-drift 34s linear infinite;background:repeating-linear-gradient(90deg,color-mix(in srgb,#50c878 5%,#0000) 0 1px,#0000 1px 46px),repeating-linear-gradient(180deg,color-mix(in srgb,#50c878 5%,#0000) 0 1px,#0000 1px 46px);background:repeating-linear-gradient(to right,color-mix(in srgb,var(--green) 5%,#0000) 0 1px,#0000 1px 46px),repeating-linear-gradient(to bottom,color-mix(in srgb,var(--green) 5%,#0000) 0 1px,#0000 1px 46px);inset:-60%}.bg-fx:after,.bg-fx:before{content:"";position:absolute}.bg-fx:after{animation:glow-drift 42s ease-in-out infinite alternate;background:radial-gradient(26% 26% at 22% 30%,color-mix(in srgb,#50c878 7%,#0000),#0000 60%),radial-gradient(24% 24% at 78% 72%,color-mix(in srgb,#7a8da8 7%,#0000),#0000 60%);background:radial-gradient(26% 26% at 22% 30%,color-mix(in srgb,var(--green) 7%,#0000),#0000 60%),radial-gradient(24% 24% at 78% 72%,color-mix(in srgb,var(--accent) 7%,#0000),#0000 60%);filter:blur(34px);inset:-25%}@keyframes grid-drift{0%{transform:translateY(0)}to{transform:translateY(46px)}}@keyframes glow-drift{0%{transform:translate(-3%,-2%)}to{transform:translate(3%,2%)}}@media (max-width:700px){.bg-fx{display:none}}.content-body p{line-height:1.75}.exp-detail,.term-text p{line-height:1.7}.f-date,.f-perms,.f-size{white-space:nowrap}.file-row{grid-template-columns:10ch 6ch 11ch 1fr}@media (max-width:700px){.file-row{grid-template-columns:6ch 11ch 1fr}}@media (prefers-reduced-motion:reduce){.bg-fx:after,.bg-fx:before,.blink-cursor,.status-dot,.terminal{animation:none!important}.file-row{transition:none}}
/*# sourceMappingURL=main.da993a3a.css.map*/