*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
*/*,:after,:before{border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.block{display:block}.grid{display:grid}.contents{display:contents}.hidden{display:none}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}*,: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}}
/*# sourceMappingURL=main.00211e8e.css.map*/