@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/assets/jetbrains-mono-6fWv1k7M.woff2)format("woff2")}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:oklch(7.5% .018 155);--wallpaper-overlay:oklch(5.5% .016 155/.38);--window:oklch(15.5% .028 155/.97);--window-deep:oklch(11.5% .024 155/.98);--surface:oklch(19% .032 155);--border:oklch(34% .055 150);--border-strong:oklch(50% .09 148);--ink:oklch(94% .018 150);--dim:oklch(75% .035 150);--muted:oklch(65% .04 150);--primary:oklch(78% .18 145);--primary-strong:oklch(68% .19 145);--action:oklch(46% .14 145);--on-action:oklch(99% 0 0);--secondary:oklch(82% .13 174);--blue:oklch(77% .11 205);--yellow:oklch(84% .13 96);--purple:oklch(74% .12 305);--danger:oklch(70% .18 25);--dot-red:oklch(68% .22 25);--dot-yellow:oklch(80% .17 85);--dot-green:oklch(72% .2 145);--selection:oklch(78% .18 145/.24);--focus:oklch(88% .17 145);--titlebar-height:48px;--radius-window:12px;--ease-out:cubic-bezier(.16, 1, .3, 1);--z-dropdown:20;--z-sticky:30;--z-modal-backdrop:50;--z-modal:60;--z-effect:70}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--bg);min-height:100%;color:var(--ink);font-family:JetBrains Mono,Cascadia Code,Consolas,monospace;font-size:18px}body{background:0 0;min-height:100dvh;overflow:hidden}button,input,a{font:inherit}button,a{-webkit-tap-highlight-color:transparent;color:inherit}::selection{color:var(--ink);background:var(--selection)}:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.skip-link{z-index:calc(var(--z-effect) + 1);color:var(--bg);background:var(--primary);transition:transform .18s var(--ease-out);border-radius:4px;padding:8px 12px;position:fixed;top:12px;left:12px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.wallpaper{z-index:-1;background:var(--bg);filter:blur(9px)saturate(.85);transition:filter .48s var(--ease-out), transform .48s var(--ease-out);position:fixed;inset:0;overflow:hidden;transform:scale(1.045)}.wallpaper picture,.wallpaper img{width:100%;height:100%;display:block}.wallpaper img{object-fit:cover;object-position:center}.wallpaper:after{content:"";background:var(--wallpaper-overlay);transition:background .48s var(--ease-out);position:absolute;inset:0}body.minimized .wallpaper{filter:blur()saturate();transform:scale(1)}body.minimized .wallpaper:after{background:oklch(4% .01 155/.12)}.desktop{justify-content:center;align-items:center;min-height:100dvh;padding:clamp(20px,4vw,48px);display:flex}.terminal-window{z-index:var(--z-dropdown);isolation:isolate;background:var(--window);border-radius:var(--radius-window);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);visibility:visible;filter:none;width:min(960px,100%);min-height:min(600px,100dvh - 80px);max-height:85dvh;transition:width .32s var(--ease-out), min-height .32s var(--ease-out), max-height .32s var(--ease-out), border-radius .32s var(--ease-out), transform .36s var(--ease-out), opacity .24s ease, filter .26s ease, visibility 0s linear 0s;flex-direction:column;display:flex;position:relative;overflow:hidden;box-shadow:0 26px 78px oklch(2% 0 0/.6),0 0 0 1px oklch(100% 0 0/.055)}.terminal-window.maximized{z-index:var(--z-sticky);width:100%;min-height:100dvh;max-height:100dvh;box-shadow:none;border-radius:0;position:fixed;inset:0}.terminal-window.minimized{visibility:hidden;opacity:0;pointer-events:none;filter:blur(3px);transition:width .3s var(--ease-out), min-height .3s var(--ease-out), max-height .3s var(--ease-out), border-radius .3s var(--ease-out), transform .3s var(--ease-out), opacity .21s ease, filter .22s ease, visibility 0s linear .3s;transform:translateY(30px)scale(.965)}.desktop-shell{z-index:0;visibility:visible;opacity:.64;pointer-events:none;filter:blur(11px)saturate(.72);transition:opacity .3s ease, filter .42s var(--ease-out);justify-content:center;align-items:center;padding:clamp(76px,10vh,112px) 24px 132px;display:flex;position:fixed;inset:0}.desktop-shell:after{content:"";z-index:2;background:var(--wallpaper-overlay);opacity:.34;pointer-events:none;transition:opacity .42s;position:absolute;inset:0}body.minimized .desktop-shell{opacity:1;pointer-events:auto;filter:none}body.minimized .desktop-shell:after{opacity:0}.desktop-menubar{min-height:34px;color:var(--ink);background:color-mix(in oklch, var(--window-deep) 68%, transparent);border-bottom:1px solid color-mix(in oklch, var(--ink) 13%, transparent);-webkit-backdrop-filter:blur(18px)saturate(1.15);backdrop-filter:blur(18px)saturate(1.15);justify-content:space-between;align-items:center;gap:20px;padding:0 clamp(18px,3vw,38px);font-size:.64rem;display:flex;position:absolute;top:0;left:0;right:0}.desktop-brand{align-items:center;gap:8px;font-weight:700;display:flex}.desktop-brand span{color:var(--primary)}.desktop-session{color:var(--dim);gap:16px;display:flex}#desktopClock{min-width:5ch;color:var(--ink);text-align:right}.desktop-launcher{text-align:center;opacity:.78;flex-direction:column;align-items:center;width:min(640px,100%);transition:opacity .3s;display:flex;transform:translateY(-2vh)}body.minimized .desktop-launcher{opacity:1}.desktop-avatar-link{border-radius:50%;display:block}.desktop-avatar-frame{aspect-ratio:1;background:color-mix(in oklch, var(--window) 86%, transparent);border:1px solid var(--primary-strong);border-radius:50%;width:clamp(88px,9vw,112px);padding:4px;display:block;position:relative}.desktop-avatar-frame img,.dock-profile img{object-fit:cover;border-radius:inherit;width:100%;height:100%;display:block}.desktop-online{background:var(--primary);border:3px solid var(--window-deep);border-radius:50%;width:14px;height:14px;position:absolute;bottom:7px;right:5px}.desktop-kicker{color:var(--primary);margin-top:14px;font-size:.66rem}.desktop-launcher h2{color:var(--ink);letter-spacing:-.035em;text-wrap:balance;margin-top:5px;font-size:clamp(1.25rem,3vw,2rem);line-height:1.15}.desktop-intro{color:var(--dim);margin-top:7px;font-size:.7rem}.desktop-command{width:100%;color:var(--ink);background:color-mix(in oklch, var(--window-deep) 82%, transparent);border:1px solid color-mix(in oklch, var(--primary) 42%, var(--border));-webkit-backdrop-filter:blur(22px)saturate(1.12);backdrop-filter:blur(22px)saturate(1.12);border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin-top:24px;padding:13px 14px 13px 18px;display:grid;box-shadow:0 8px 8px oklch(2% 0 0/.24)}.desktop-command:focus-within{border-color:var(--primary)}.desktop-command-prompt{color:var(--primary);font-weight:800}.desktop-command input{min-width:0;color:var(--ink);caret-color:var(--primary);background:0 0;border:0;outline:0;font-size:.78rem}.desktop-command input::placeholder{color:var(--dim);opacity:1}.desktop-command button{width:32px;height:28px;color:var(--bg);background:var(--primary);cursor:pointer;border:0;border-radius:6px;font-weight:800}.desktop-quick-actions{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:10px;display:flex}.desktop-quick-actions button{color:var(--dim);background:color-mix(in oklch, var(--window-deep) 50%, transparent);border:1px solid color-mix(in oklch, var(--ink) 12%, transparent);cursor:pointer;border-radius:5px;padding:5px 8px;font-size:.61rem}.desktop-quick-actions button:hover{color:var(--primary);border-color:var(--primary-strong)}.desktop-dock{background:color-mix(in oklch, var(--window-deep) 66%, transparent);border:1px solid color-mix(in oklch, var(--ink) 16%, transparent);-webkit-backdrop-filter:blur(24px)saturate(1.18);backdrop-filter:blur(24px)saturate(1.18);opacity:.82;border-radius:18px;align-items:flex-end;gap:8px;padding:9px;transition:opacity .28s;display:flex;position:absolute;bottom:clamp(16px,3vh,30px);left:50%;transform:translate(-50%)}body.minimized .desktop-dock{opacity:1}.dock-item{aspect-ratio:1;width:clamp(45px,5vw,54px);color:var(--ink);cursor:pointer;transform-origin:bottom;transition:transform .22s var(--ease-out);background:0 0;border:0;border-radius:12px;place-items:center;padding:0;text-decoration:none;display:grid;position:relative}.dock-item:hover,.dock-item:focus-visible{transform:translateY(-9px)scale(1.12)}.dock-icon{border:1px solid color-mix(in oklch, var(--ink) 14%, transparent);border-radius:12px;place-items:center;width:100%;height:100%;font-size:.71rem;font-weight:800;display:grid;overflow:hidden}.dock-terminal{color:var(--primary);background:var(--window-deep)}.dock-profile{background:var(--window-deep);padding:2px}.dock-code{color:var(--bg);background:var(--primary)}.dock-github{color:oklch(96% 0 0);background:oklch(18% .015 260)}.dock-linkedin{color:#fff;background:oklch(52% .14 245);font-family:Arial,sans-serif;font-size:1.05rem}.dock-cv{color:var(--primary);background:var(--surface)}.dock-themes{color:var(--yellow);background:var(--surface);font-size:1.1rem}.dock-divider{background:color-mix(in oklch, var(--ink) 20%, transparent);align-self:center;width:1px;height:38px;margin:0 2px}.dock-tooltip{color:var(--ink);background:var(--window-deep);border:1px solid var(--border);opacity:0;pointer-events:none;white-space:nowrap;transition:opacity .14s ease, transform .18s var(--ease-out);border-radius:4px;padding:5px 7px;font-size:.58rem;position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%,4px)}.dock-item:hover .dock-tooltip,.dock-item:focus-visible .dock-tooltip{opacity:1;transform:translate(-50%)}.dock-running{background:var(--primary);border-radius:50%;width:4px;height:4px;position:absolute;bottom:-6px}.titlebar{min-height:var(--titlebar-height);background:var(--window-deep);border-bottom:1px solid var(--border);-webkit-user-select:none;user-select:none;flex:none;grid-template-columns:minmax(92px,1fr) auto minmax(92px,1fr);align-items:center;gap:12px;padding:0 16px;display:grid}.window-controls{justify-self:start;align-items:center;gap:8px;display:flex}.titlebar-dot{cursor:pointer;width:13px;height:13px;transition:transform .16s var(--ease-out);border:0;border-radius:50%;place-items:center;padding:0;display:grid}button.titlebar-dot:hover{transform:scale(1.12)}.titlebar-dot.red{background:var(--dot-red)}.titlebar-dot.yellow{background:var(--dot-yellow)}.titlebar-dot.green{background:var(--dot-green)}.titlebar-title{max-width:44ch;color:var(--muted);letter-spacing:.01em;text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.titlebar-actions{justify-self:end;align-items:center;gap:6px;min-width:0;display:flex}.language-shortcut{min-width:31px;color:var(--dim);border:1px solid var(--border);cursor:pointer;font:inherit;background:0 0;border-radius:4px;padding:5px 6px;font-size:.62rem;font-weight:800;line-height:1;transition:color .16s,border-color .16s,background .16s}.language-shortcut:hover,.language-shortcut:focus-visible{color:var(--primary);border-color:var(--primary-strong);background:color-mix(in oklch, var(--primary) 7%, transparent)}.resume-shortcut{color:var(--primary);border:1px solid var(--border-strong);border-radius:4px;padding:5px 9px;font-size:.68rem;font-weight:700;text-decoration:none;transition:color .16s,border-color .16s,background .16s}.resume-shortcut:hover{color:var(--on-action);border-color:var(--action);background:var(--action)}.titlebar-spacer{width:90px}.terminal-body{scroll-behavior:smooth;scrollbar-color:var(--border) transparent;scrollbar-width:thin;flex:auto;min-height:0;padding:26px 32px 32px;overflow-y:auto}.terminal-body::-webkit-scrollbar{width:6px}.autocomplete::-webkit-scrollbar{width:6px}.terminal-body::-webkit-scrollbar-track{background:0 0}.autocomplete::-webkit-scrollbar-track{background:0 0}.terminal-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.autocomplete::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.ascii-name{max-width:100%;color:var(--primary);letter-spacing:0;font-variant-ligatures:none;text-rendering:geometricprecision;text-shadow:0 0 24px oklch(68% .19 145/.24);animation:fade-slide .6s var(--ease-out) both;grid-template-columns:max-content max-content;align-items:start;gap:2.6em;font-family:JetBrains Mono,monospace;font-size:clamp(.24rem,.59vw,.46rem);font-weight:700;line-height:1.12;display:grid;overflow:hidden}.ascii-word{color:inherit;font:inherit;font-variant-ligatures:inherit;line-height:inherit;letter-spacing:inherit;white-space:pre;margin:0}.welcome-box{border:1px dashed var(--border-strong);animation:fade-slide .6s .22s var(--ease-out) both;border-radius:8px;grid-template-columns:minmax(260px,.9fr) minmax(320px,1.1fr);margin:22px 0 26px;display:grid;overflow:hidden}.welcome-left{border-right:1px dashed var(--border-strong);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-width:0;padding:22px;display:flex}.greeting{color:var(--ink);font-size:.95rem}.ascii-portrait{max-width:100%;color:var(--primary);letter-spacing:-.035em;text-align:left;text-shadow:0 0 14px oklch(68% .19 145/.42);-webkit-user-select:none;user-select:none;font-size:clamp(.36rem,.68vw,.48rem);font-weight:600;line-height:.88;overflow:hidden}.subtitle{color:var(--dim);font-size:.74rem}.primary-download{min-height:32px;color:var(--primary);transition:color .16s ease, text-shadow .16s ease, transform .16s var(--ease-out);background:0 0;border:0;border-radius:0;align-items:center;gap:4px;margin-top:4px;padding:0;font-size:.72rem;font-weight:800;text-decoration:none;display:inline-flex}.primary-download:hover,.primary-download:focus-visible{color:var(--primary-strong);text-underline-offset:4px;text-shadow:0 0 10px color-mix(in oklch, var(--primary) 30%, transparent);outline:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-decoration-thickness:1px}.primary-download:active{color:var(--ink);transform:translateY(1px)}.welcome-right{flex-direction:column;min-width:0;display:flex}.welcome-section{flex:1;padding:15px 20px}.welcome-section+.welcome-section{border-top:1px dashed var(--border-strong)}.welcome-section h2{color:var(--primary);margin-bottom:8px;font-size:.8rem;font-weight:700}.item{color:var(--dim);grid-template-columns:14ch minmax(0,1fr);gap:14px;font-size:.73rem;line-height:1.7;display:grid}.item span:first-child{color:var(--ink);white-space:nowrap}.command-list{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.command-list button,.command-hint button,.inline-command{color:var(--ink);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:none}.command-list button{font-size:.74rem;line-height:1.65}.command-list button:hover,.command-hint button:hover,.inline-command:hover{color:var(--primary);text-underline-offset:3px;text-decoration:underline}.command-hint{color:var(--dim);margin-top:5px;font-size:.69rem;line-height:1.5}.command-hint.muted{color:var(--muted);opacity:.88}.command-hint button{color:inherit;font-size:inherit}.output-area{min-height:12px}.output-block{margin:0 0 20px}.activity-output{min-height:58px}.command-activity{color:var(--dim);align-items:center;gap:8px;font-size:.76rem;line-height:1.6;display:flex}.activity-glyph{width:1.2ch;color:var(--primary);text-align:center;flex:0 0 1.2ch;font-weight:800}.activity-glyph:before{content:"⠋";animation:.56s step-end infinite terminal-busy}.activity-text.activity-step{animation:activity-step .155s var(--ease-out)}.command-echo{color:var(--dim);margin-bottom:8px;font-size:.8rem;line-height:1.6}.command-echo span,.prompt-symbol{color:var(--primary);margin-right:6px;font-weight:700}.output-line{max-width:75ch;color:var(--ink);overflow-wrap:anywhere;text-wrap:pretty;font-size:.78rem;line-height:1.75}.project-copy,.command-description,.consent-copy,.terminal-link,.item span{overflow-wrap:anywhere}.output-line+.output-line{margin-top:2px}.output-line.heading{color:var(--primary);text-wrap:balance;margin-top:13px;margin-bottom:5px;font-size:.88rem;font-weight:700}.output-line.heading:first-child{margin-top:0}.output-line.dim,.dim{color:var(--dim)}.output-line.muted{color:var(--muted)}.output-line.green,.green-text{color:var(--primary)}.output-line.cyan{color:var(--secondary)}.output-line.blue{color:var(--blue)}.output-line.yellow{color:var(--yellow)}.output-line.red{color:var(--danger)}.shell-list{gap:3px;max-width:66ch;font-size:.74rem;line-height:1.65;display:grid}.shell-file{grid-template-columns:12ch 8ch minmax(0,1fr);gap:10px;display:grid}.shell-permissions,.shell-owner{color:var(--dim)}.shell-code,.shell-art{max-width:100%;color:var(--ink);font:inherit;white-space:pre;font-size:.74rem;line-height:1.65;overflow-x:auto}.shell-art{color:var(--primary)}.neofetch{flex-wrap:wrap;align-items:flex-start;gap:18px 24px;display:flex}.neofetch-mark{color:var(--primary);font:inherit;text-shadow:0 0 12px color-mix(in oklch, var(--primary) 45%, transparent);flex:none;font-size:.68rem;font-weight:800;line-height:1.05}.neofetch-data{min-width:0;color:var(--ink);gap:2px;font-size:.73rem;line-height:1.55;display:grid}.neofetch-data strong,.neofetch-data b{color:var(--primary)}.git-entry,.history-entry{max-width:75ch;color:var(--ink);grid-template-columns:9ch minmax(0,1fr);gap:10px;font-size:.74rem;line-height:1.65;display:grid}.git-hash,.history-entry>:first-child{color:var(--primary)}.shell-reveal-line{opacity:0;transition:opacity .22s ease, transform .22s var(--ease-out);transform:translate(-4px)}.shell-reveal-line.visible{opacity:1;transform:translate(0)}.ping-sequence [data-ping-stats]{margin-top:7px}.hire-progress{margin-top:6px}.hire-result{margin-top:9px}.terminal-window.party-mode{animation:.64s step-end 5 party-glow}.output-divider{border:0;border-top:1px solid var(--border);margin:13px 0}.command-row{grid-template-columns:minmax(12ch,auto) 1fr;gap:16px;max-width:72ch;padding:2px 0;font-size:.77rem;line-height:1.65;display:grid}.command-name{color:var(--primary);font-weight:700}.command-description{color:var(--dim)}.privacy-section{border-left:1px dashed var(--border-strong);max-width:78ch;margin-top:15px;padding:2px 0 2px 14px}.privacy-section .output-line.heading{margin-top:5px}.privacy-section .command-row{max-width:none}.privacy-section .terminal-link,.privacy-references .terminal-link{color:var(--primary);font-size:inherit;text-underline-offset:3px;background:0 0;border:0;border-radius:0;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;display:inline}.privacy-section .terminal-link:hover,.privacy-section .terminal-link:focus-visible,.privacy-references .terminal-link:hover,.privacy-references .terminal-link:focus-visible{color:var(--primary-strong);background:0 0;outline:none;transform:none}.privacy-references{flex-wrap:wrap;gap:6px 10px;margin-top:11px;font-size:.7rem;line-height:1.6;display:flex}.project-list{flex-direction:column;gap:9px;margin-top:10px;display:flex}.project-card{border:1px solid var(--border);border-radius:6px;padding:14px 16px;transition:border-color .18s,background .18s}.project-card:hover{border-color:var(--primary-strong);background:color-mix(in oklch, var(--primary) 4%, transparent)}.project-card.featured-project{border-color:var(--primary-strong);background:color-mix(in oklch, var(--primary) 5%, transparent)}.project-topline{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.project-name{color:var(--primary);font-size:.82rem;font-weight:700}.project-year{color:var(--muted);font-size:.68rem}.project-type,.project-copy{color:var(--dim);font-size:.72rem;line-height:1.6}.project-copy{color:var(--ink);margin-top:6px}.project-actions{border-top:1px dashed var(--border);flex-wrap:wrap;gap:14px;margin-top:11px;padding-top:9px;font-size:.69rem;display:flex}.project-actions a{color:var(--secondary);text-decoration:none}.project-actions a:hover{color:var(--primary);text-underline-offset:3px;text-decoration:underline}.project-private{color:var(--dim);align-items:center;gap:6px;display:inline-flex}.project-private span{color:var(--yellow);font-size:.56rem}.tags{flex-wrap:wrap;gap:6px;margin-top:9px;display:flex}.tag{color:var(--secondary);background:color-mix(in oklch, var(--secondary) 12%, transparent);border-radius:3px;padding:2px 7px;font-size:.64rem}.skill-list{margin-top:8px}.skill-bar{grid-template-columns:minmax(120px,190px) 1fr 5ch;align-items:center;gap:10px;margin:7px 0;font-size:.72rem;display:grid}.skill-label{color:var(--ink)}.bar-track{background:var(--border);border-radius:3px;height:6px;overflow:hidden}.bar-fill{background:var(--primary);border-radius:inherit;transform-origin:0;width:100%;height:100%;transition:transform .8s var(--ease-out);transform:scaleX(0)}.skill-percent{color:var(--dim);text-align:right}.link-list{flex-direction:column;gap:7px;margin-top:9px;display:flex}.terminal-link{color:var(--ink);border:1px solid var(--border);transition:border-color .16s ease, background .16s ease, transform .16s var(--ease-out);border-radius:5px;grid-template-columns:42px minmax(110px,.45fr) 1fr auto;align-items:center;gap:12px;padding:9px 12px;font-size:.71rem;text-decoration:none;display:grid}.terminal-link:hover{border-color:var(--primary-strong);background:color-mix(in oklch, var(--primary) 5%, transparent);transform:translate(4px)}.link-badge{color:var(--on-action);background:var(--action);text-align:center;border-radius:3px;padding:3px 5px;font-size:.57rem;font-weight:800}.link-handle{color:var(--dim);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.theme-grid{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.theme-option{min-width:142px;color:var(--ink);border:1px solid var(--border);cursor:pointer;text-align:left;background:0 0;border-radius:5px;padding:10px 12px;font-size:.7rem;transition:border-color .16s,background .16s}.theme-option:hover,.theme-option.active{border-color:var(--primary);background:color-mix(in oklch, var(--primary) 7%, transparent)}.theme-option small{color:var(--dim);margin-top:4px;font-size:.59rem;display:block}.input-area{background:var(--window-deep);border-top:1px solid var(--border);flex:none;align-items:center;gap:9px;padding:15px 32px;display:flex;position:relative}.input-prompt{color:var(--primary);-webkit-user-select:none;user-select:none;font-size:.92rem;font-weight:800}.input-wrapper{flex:1;min-width:0;position:relative}.input-field{width:100%;color:var(--ink);caret-color:var(--primary);background:0 0;border:0;outline:0;padding:2px 0;font-size:.8rem}.input-field::placeholder{color:var(--dim);opacity:1}.input-status{color:var(--primary);letter-spacing:.08em;font-size:.58rem;font-weight:700}.input-status:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px;margin-right:6px;animation:2.4s ease-in-out infinite status-pulse;display:inline-block;box-shadow:0 0 8px}.autocomplete{z-index:var(--z-dropdown);background:var(--window-deep);border:1px solid var(--border);border-radius:6px;max-height:210px;display:none;position:absolute;bottom:calc(100% + 13px);left:-40px;right:-8px;overflow-y:auto;box-shadow:0 8px 8px oklch(2% 0 0/.34)}.autocomplete.open{display:block}.autocomplete-item{width:100%;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:minmax(110px,.34fr) 1fr;gap:12px;padding:8px 12px;font-size:.68rem;display:grid}.autocomplete-item:hover,.autocomplete-item.active{background:color-mix(in oklch, var(--primary) 9%, transparent)}.autocomplete-command{color:var(--primary);font-weight:700}.autocomplete-description{color:var(--dim)}.boot-text{max-width:68ch;min-height:280px;color:var(--dim);white-space:pre-wrap;transition:opacity .18s ease, transform .18s var(--ease-out), filter .18s ease;font-size:.75rem;line-height:1.8;display:none}.terminal-window.booting .boot-text{display:block}.terminal-window.booting .terminal-content,.terminal-window.booting .input-area{display:none}.boot-done{color:var(--primary)}.boot-text.leaving{opacity:0;filter:blur(4px);transform:translateY(-5px)}.language-picker{border:1px dashed var(--border-strong);border-radius:6px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;max-width:48ch;margin-top:13px;padding:12px 13px;display:flex}.language-picker-label{color:var(--ink);font-size:.69rem;font-weight:700}.language-options{gap:6px;display:flex}.language-option{min-width:52px;color:var(--dim);border:1px solid var(--border);cursor:pointer;font:inherit;background:0 0;border-radius:4px;padding:6px 9px;font-size:.65rem;font-weight:800;line-height:1;transition:color .16s,border-color .16s,background .16s}.language-option:hover,.language-option:focus-visible{color:var(--primary);border-color:var(--primary-strong)}.language-option[aria-pressed=true]{color:var(--on-action);border-color:var(--action);background:var(--action)}.boot-continue{appearance:none;color:var(--primary);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:0;margin-top:12px;padding:0;font-size:.76rem;transition:color .16s,text-shadow .16s;display:block}.boot-continue strong{color:var(--ink);font-weight:700}.boot-continue span{margin-left:3px;animation:.9s step-end infinite status-pulse;display:inline-block}.boot-continue:hover,.boot-continue:focus-visible{color:var(--primary-strong);text-underline-offset:4px;text-shadow:0 0 10px color-mix(in oklch, var(--primary) 30%, transparent);outline:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-decoration-thickness:1px}.boot-continue:active{color:var(--ink)}.consent-banner{border:1px dashed var(--border-strong);border-radius:6px;margin-top:10px;padding:15px 16px}.consent-banner.compact{margin-top:12px}.consent-title{color:var(--primary);margin-bottom:7px;font-size:.78rem;font-weight:700}.consent-title span{opacity:.72;margin-right:7px}.consent-copy{max-width:72ch;color:var(--ink);text-wrap:pretty;font-size:.71rem;line-height:1.65}.consent-copy+.consent-copy{margin-top:3px}.consent-actions{flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:9px;display:flex}.consent-prompt{color:var(--primary);-webkit-user-select:none;user-select:none;font-size:.71rem;font-weight:700}.consent-button{appearance:none;min-height:32px;color:var(--primary);cursor:pointer;transition:color .16s ease, text-shadow .16s ease, transform .16s var(--ease-out);background:0 0;border:0;border-radius:0;padding:0;font-size:.67rem;line-height:1.4}.consent-button span{color:var(--primary);transition:color .16s}.consent-button.primary{color:var(--primary);background:0 0}.consent-button:hover,.consent-button:focus-visible{color:var(--primary-strong);text-underline-offset:4px;text-shadow:0 0 9px color-mix(in oklch, var(--primary) 24%, transparent);outline:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-decoration-thickness:1px}.consent-button:hover span,.consent-button:focus-visible span{color:var(--primary-strong)}.consent-button:active{color:var(--ink);transform:translateY(1px)}.close-overlay{z-index:var(--z-modal-backdrop);visibility:hidden;opacity:0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:oklch(4% .012 155/.82);place-items:center;padding:20px;transition:opacity .3s,visibility .3s;display:grid;position:fixed;inset:0}.close-overlay[hidden]{display:none}.close-overlay.visible{visibility:visible;opacity:1}.close-window{background:var(--window);border-radius:var(--radius-window);width:min(500px,100%);transition:transform .32s var(--ease-out);overflow:hidden;transform:translateY(10px)scale(.985);box-shadow:0 24px 72px oklch(2% 0 0/.62),0 0 0 1px oklch(100% 0 0/.055)}.close-overlay.visible .close-window{transform:translateY(0)scale(1)}.close-window .titlebar-dot{opacity:.46}.close-body{padding:28px 30px;font-size:.78rem;line-height:1.8}.close-error{color:var(--danger);margin-bottom:13px}.close-actions{border-top:1px solid var(--border);flex-wrap:wrap;gap:8px;margin-top:19px;padding-top:15px;display:flex}.close-button{color:var(--ink);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:4px;padding:7px 12px;font-size:.7rem;text-decoration:none;transition:border-color .16s,color .16s,background .16s}.close-button:hover{border-color:var(--primary);background:color-mix(in oklch, var(--primary) 6%, transparent)}.close-button.primary{color:var(--primary);border-color:var(--primary-strong)}#matrixCanvas{z-index:var(--z-effect);pointer-events:none;opacity:0;width:100%;height:100%;transition:opacity .25s;position:fixed;inset:0}#matrixCanvas.active{opacity:1}.screen-flash{z-index:var(--z-effect);pointer-events:none;opacity:0;background:var(--primary);position:fixed;inset:0}.screen-flash.active{animation:.7s ease-out screen-flash}.seo-fallback,.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.stagger-child{animation:reveal-item .4s var(--ease-out) both;animation-delay:calc(var(--index,0) * 45ms)}@keyframes fade-slide{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes reveal-item{0%{opacity:0;filter:blur(4px);transform:translateY(7px)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes status-pulse{0%,to{opacity:1}50%{opacity:.38}}@keyframes terminal-busy{0%{content:"⠋"}12.5%{content:"⠙"}25%{content:"⠹"}37.5%{content:"⠸"}50%{content:"⠼"}62.5%{content:"⠴"}75%{content:"⠦"}87.5%{content:"⠧"}}@keyframes activity-step{0%{opacity:.35;filter:blur(2px);transform:translate(-3px)}to{opacity:1;filter:blur();transform:translate(0)}}@keyframes party-glow{0%,to{box-shadow:0 0 0 1px var(--border-strong), 0 18px 65px oklch(2% .02 145/.72)}20%{box-shadow:0 0 0 2px oklch(78% .2 145),0 0 34px oklch(72% .2 145/.55)}40%{box-shadow:0 0 0 2px oklch(76% .18 195),0 0 34px oklch(70% .18 195/.5)}60%{box-shadow:0 0 0 2px oklch(82% .18 95),0 0 34px oklch(75% .18 95/.5)}80%{box-shadow:0 0 0 2px oklch(68% .2 320),0 0 34px oklch(65% .2 320/.5)}}@keyframes screen-flash{0%{opacity:0}18%{opacity:.3}to{opacity:0}}body.theme-light{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:oklch(98.5% .008 145);--wallpaper-overlay:oklch(98% .014 145/.38);--window:oklch(98.5% .01 145/.97);--window-deep:oklch(94% .018 145/.98);--surface:oklch(91% .023 145);--border:oklch(79% .045 145);--border-strong:oklch(63% .105 145);--ink:oklch(22% .035 155);--dim:oklch(41% .045 155);--muted:oklch(48% .045 155);--primary:oklch(49% .16 145);--primary-strong:oklch(42% .15 145);--action:oklch(42% .14 145);--secondary:oklch(43% .11 174);--selection:oklch(55% .16 145/.2);--focus:oklch(40% .17 145)}body.theme-light .wallpaper{filter:blur(12px)saturate(.6)brightness(1.48)}body.theme-glass{--window:oklch(12% .025 155/.74);--window-deep:oklch(9% .02 155/.62);--border:oklch(72% .06 150/.24);--border-strong:oklch(78% .11 148/.42)}body.theme-glass .terminal-window{background:var(--window);-webkit-backdrop-filter:blur(26px)saturate(1.25);backdrop-filter:blur(26px)saturate(1.25);box-shadow:0 24px 72px oklch(2% 0 0/.52),inset 0 1px oklch(100% 0 0/.09)}body.theme-glass .wallpaper{filter:blur(16px)saturate(1.08)}body.theme-retro{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:oklch(5% 0 0);--wallpaper-overlay:oklch(2% 0 0/.76);--window:oklch(9% .018 145);--window-deep:oklch(5.5% .012 145);--surface:oklch(11% .02 145);--border:oklch(38% .1 145);--border-strong:oklch(60% .16 145);--ink:oklch(84% .2 145);--dim:oklch(71% .15 145);--muted:oklch(61% .12 145);--primary:oklch(84% .22 145);--primary-strong:oklch(72% .2 145);--action:oklch(42% .14 145);--secondary:oklch(80% .2 145);--focus:oklch(90% .2 145)}body.theme-retro:after{content:"";z-index:calc(var(--z-effect) - 1);pointer-events:none;opacity:.16;background-image:linear-gradient(oklch(0% 0 0/.24) 0 1px,#0000 1px 4px);background-size:100% 4px;position:fixed;inset:0}body.theme-retro .terminal-window{box-shadow:0 0 28px oklch(78% .2 145/.13), 0 0 0 1px var(--primary-strong);border-radius:1px}body.theme-retro .titlebar-dot{background:var(--primary)}body.theme-retro .ascii-name,body.theme-retro .ascii-portrait,body.theme-retro .output-line,body.theme-retro .input-field{text-shadow:0 0 7px oklch(78% .2 145/.44)}@media (width<=760px){.desktop{padding:0}.terminal-window{border-radius:0;width:100%;min-height:100dvh;max-height:100dvh}.terminal-window.minimized{transform:translateY(22px)scale(.975)}.desktop-shell{padding:calc(66px + env(safe-area-inset-top,0px)) max(16px, env(safe-area-inset-right,0px)) calc(116px + env(safe-area-inset-bottom,0px)) max(16px, env(safe-area-inset-left,0px))}.desktop-launcher{transform:none}.desktop-menubar{min-height:calc(34px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) max(16px, env(safe-area-inset-right,0px)) 0 max(16px, env(safe-area-inset-left,0px))}.desktop-session{gap:10px}.desktop-dock{bottom:max(10px, env(safe-area-inset-bottom,0px));gap:5px;max-width:calc(100vw - 20px);padding:7px}.dock-item{width:clamp(39px,11vw,48px)}.dock-divider{height:32px;margin:0}.terminal-body{padding:18px max(16px, env(safe-area-inset-right,0px)) 24px max(16px, env(safe-area-inset-left,0px))}.input-area{padding:13px max(16px, env(safe-area-inset-right,0px)) max(13px, env(safe-area-inset-bottom,0px)) max(16px, env(safe-area-inset-left,0px))}.welcome-box{grid-template-columns:1fr}.welcome-left{border-right:0;border-bottom:1px dashed var(--border-strong)}.ascii-name{font-size:clamp(.22rem,.92vw,.38rem)}.titlebar{min-height:calc(var(--titlebar-height) + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) max(12px, env(safe-area-inset-right,0px)) 0 max(12px, env(safe-area-inset-left,0px));grid-template-columns:auto minmax(0,1fr) auto;gap:6px}.resume-shortcut{padding:4px 7px}.input-status{display:none}}@media (width<=520px){.shell-file{grid-template-columns:10ch minmax(0,1fr);gap:5px 8px}.shell-owner{display:none}.git-entry,.history-entry{grid-template-columns:8ch minmax(0,1fr);gap:7px}.desktop-session{font-size:0}#desktopClock{font-size:.64rem}.desktop-avatar-frame{width:82px}.desktop-intro{max-width:32ch}.desktop-command{margin-top:18px;padding:11px 10px 11px 14px}.desktop-command input{font-size:.78rem}.desktop-dock{overscroll-behavior-inline:contain;scrollbar-width:none;scroll-snap-type:inline proximity;gap:3px;width:max-content;overflow:auto hidden}.desktop-dock::-webkit-scrollbar{display:none}.dock-item{scroll-snap-align:center;flex:none;width:clamp(38px,10.4vw,44px)}.dock-icon{border-radius:9px;font-size:.61rem}.titlebar-title{font-size:.72rem}.language-shortcut,.resume-shortcut,.desktop-menubar,.desktop-kicker,#desktopClock{font-size:.78rem}.ascii-name{font-size:clamp(.17rem,.88vw,.27rem)}.ascii-portrait{font-size:clamp(.31rem,1.55vw,.4rem)}.item{grid-template-columns:8ch 1fr;gap:10px;font-size:.78rem}.subtitle,.command-list button,.command-hint,.project-type,.project-copy,.terminal-link,.consent-copy,.desktop-intro,.desktop-quick-actions button{font-size:.78rem}.project-topline{flex-wrap:wrap;gap:4px 10px}.command-row{grid-template-columns:1fr;gap:0;margin-bottom:7px}.skill-bar{grid-template-columns:minmax(105px,.8fr) 1fr 5ch;gap:7px}.terminal-link{grid-template-columns:36px 1fr auto}.link-handle{display:none}.autocomplete{left:-26px}.autocomplete-item{grid-template-columns:1fr;gap:1px}}@media (width<=370px){.ascii-name{display:none}.titlebar{grid-template-columns:auto 1fr;gap:6px}.titlebar-title{display:none}.titlebar-actions{grid-column:2}.skill-bar{grid-template-columns:minmax(0,1fr) 5ch}.skill-label{grid-column:1/-1}}@media (pointer:coarse){.titlebar-dot{background-clip:content-box;width:44px;height:44px;padding:15px}.window-controls{gap:0}.boot-continue,.primary-download,.consent-button,.language-shortcut,.resume-shortcut,.desktop-command button,.desktop-quick-actions button,.dock-item,.command-list button,.command-hint button,.inline-command,.project-actions a,.theme-option,.autocomplete-item,.terminal-link{min-height:44px}.language-shortcut,.resume-shortcut,.command-list button,.command-hint button,.inline-command,.project-actions a{align-items:center;display:inline-flex}.desktop-command button{width:44px;height:44px}.dock-item{width:44px}}@media (hover:none){.dock-tooltip{display:none}.dock-item:hover,.terminal-link:hover,.primary-download:hover{transform:none}}@media (width<=960px) and (height<=520px) and (orientation:landscape){.desktop{padding:0}.terminal-window{border-radius:0;width:100%;min-height:100dvh;max-height:100dvh}.terminal-window.minimized{transform:translateY(22px)scale(.975)}.titlebar{min-height:calc(var(--titlebar-height) + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) max(12px, env(safe-area-inset-right,0px)) 0 max(12px, env(safe-area-inset-left,0px));grid-template-columns:auto minmax(0,1fr) auto;gap:6px}.terminal-body{padding:16px max(16px, env(safe-area-inset-right,0px)) 18px max(16px, env(safe-area-inset-left,0px))}.input-area{padding:11px max(16px, env(safe-area-inset-right,0px)) max(11px, env(safe-area-inset-bottom,0px)) max(16px, env(safe-area-inset-left,0px))}.input-status{display:none}.desktop-shell{padding:calc(42px + env(safe-area-inset-top,0px)) max(16px, env(safe-area-inset-right,0px)) calc(76px + env(safe-area-inset-bottom,0px)) max(16px, env(safe-area-inset-left,0px));align-items:flex-start;overflow-y:auto}.desktop-launcher{width:min(560px,100%);transform:none}.desktop-avatar-frame{width:52px}.desktop-online{width:11px;height:11px;bottom:2px;right:1px}.desktop-kicker{margin-top:4px}.desktop-launcher h2{margin-top:1px;font-size:1.05rem}.desktop-intro,.desktop-quick-actions{display:none}.desktop-command{margin-top:8px;padding:7px 9px 7px 13px}.desktop-dock{bottom:max(6px, env(safe-area-inset-bottom,0px))}}@media (width>=2560px){:root{--titlebar-height:clamp(64px, 2.5vw, 144px);--radius-window:clamp(12px, .55vw, 36px)}html{font-size:clamp(20px,.625vw,40px)}.desktop{padding:clamp(48px,3vw,240px)}.terminal-window{width:min(56vw,3600px);min-height:min(62dvh,2200px);max-height:84dvh;box-shadow:0 clamp(26px,1.35vw,96px) clamp(78px,4vw,260px) oklch(2% 0 0/.6),0 0 0 1px oklch(100% 0 0/.055)}.titlebar{grid-template-columns:minmax(clamp(120px,6vw,360px),1fr) auto minmax(clamp(120px,6vw,360px),1fr);gap:clamp(12px,.6vw,42px);padding-inline:clamp(16px,.85vw,64px)}.window-controls{gap:clamp(8px,.4vw,28px)}.titlebar-dot{width:clamp(16px,.55vw,36px);height:clamp(16px,.55vw,36px)}.language-shortcut,.resume-shortcut{padding:clamp(5px,.3vw,22px) clamp(7px,.45vw,32px)}.terminal-body{padding:clamp(32px,1.4vw,104px) clamp(38px,1.7vw,124px) clamp(38px,1.7vw,124px)}.input-area{gap:clamp(9px,.5vw,36px);padding:clamp(15px,.7vw,52px) clamp(32px,1.7vw,124px)}.welcome-box{margin-block:clamp(22px,1.1vw,80px)}.welcome-left{gap:clamp(10px,.5vw,36px);padding:clamp(22px,1vw,72px)}.welcome-section{padding:clamp(15px,.8vw,58px) clamp(20px,1vw,72px)}.project-card,.consent-banner{padding:clamp(14px,.75vw,54px) clamp(16px,.85vw,62px)}.terminal-link,.theme-option{padding:clamp(9px,.5vw,36px) clamp(12px,.65vw,46px)}.terminal-link{grid-template-columns:4ch minmax(12ch,.45fr) 1fr auto;gap:clamp(12px,.65vw,46px)}.skill-bar{grid-template-columns:minmax(12ch,18ch) 1fr 5ch;gap:clamp(10px,.55vw,40px)}.theme-option{min-width:clamp(180px,9vw,640px)}.autocomplete{max-height:clamp(260px,18vh,760px)}.boot-text{min-height:clamp(360px,22vh,960px)}.desktop-shell{padding:clamp(112px,10vh,420px) clamp(48px,3vw,220px) clamp(160px,13vh,560px)}.desktop-menubar{min-height:clamp(48px,2vw,120px);padding-inline:clamp(38px,2vw,150px)}.desktop-launcher{width:min(44vw,2800px)}.desktop-avatar-frame{width:clamp(112px,5vw,320px);padding:clamp(4px,.18vw,14px)}.desktop-online{border-width:clamp(3px,.13vw,9px);width:clamp(14px,.7vw,46px);height:clamp(14px,.7vw,46px);bottom:clamp(7px,.3vw,22px);right:clamp(5px,.22vw,16px)}.desktop-command{border-radius:clamp(12px,.5vw,34px);gap:clamp(12px,.6vw,44px);margin-top:clamp(24px,1.2vw,86px);padding:clamp(13px,.65vw,48px) clamp(14px,.75vw,54px) clamp(13px,.65vw,48px) clamp(18px,.9vw,66px)}.desktop-command button{width:clamp(44px,2vw,128px);height:clamp(44px,1.7vw,108px)}.desktop-dock{border-radius:clamp(18px,.8vw,58px);gap:clamp(8px,.45vw,32px);padding:clamp(9px,.5vw,36px);bottom:clamp(30px,3vh,130px)}.dock-item{border-radius:clamp(12px,.55vw,38px);width:clamp(64px,2.2vw,144px)}.dock-icon{border-radius:clamp(12px,.55vw,38px)}.dock-divider{height:clamp(44px,1.8vw,118px);margin-inline:clamp(2px,.15vw,12px)}.dock-tooltip{padding:clamp(5px,.25vw,18px) clamp(7px,.35vw,26px);bottom:calc(100% + clamp(12px,.55vw,40px))}.close-window{width:min(36vw,1800px)}}@media (pointer:coarse) and (width>=2560px){.titlebar-dot{width:clamp(44px,1vw,72px);height:clamp(44px,1vw,72px);padding:clamp(15px,.35vw,25px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.wallpaper{filter:saturate(.9)}.activity-glyph:before{content:"·";animation:none!important}.activity-text.activity-step{animation:none!important}}
