:root,:root[data-theme=dark]{--terminal-bg:#0f141a;--terminal-panel:#0f141af5;--terminal-titlebar:#242932eb;--terminal-titlebar-border:#ffffff14;--terminal-text:#e6edf3;--terminal-muted:#8b949e;--terminal-prompt:#7ee787;--terminal-command:#d2a8ff;--terminal-link:#ffd166;--terminal-tag:#e6c5b4;--terminal-disabled:#6e7681;--terminal-border:#ffffff1a;--terminal-selection-bg:#7ee78724;--terminal-cursor:#f5e0dc;--terminal-accent-warm:#e6c5b4;--terminal-shadow:#0000008c;--terminal-menu-bg:#090d11fa;--page-bg:#070a0d;--app-gradient:radial-gradient(circle at 16% 12%, #e6c5b414, transparent 28%), linear-gradient(135deg, #080b0f 0%, #11151a 50%, #06080a 100%);--terminal-overlay-bg:radial-gradient(circle at 50% 46%, #070a0d0f, #070a0d94 74%), linear-gradient(#080c101f, #080c108f);--background-effect-opacity:.68;--focus-ring:#ffd166b3;color:var(--terminal-text);background:var(--page-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,PingFang SC,Microsoft YaHei,monospace}:root[data-theme=light]{--terminal-bg:#f8fbff;--terminal-panel:#fcfefff5;--terminal-titlebar:#e7edf7f0;--terminal-titlebar-border:#2835491a;--terminal-text:#182230;--terminal-muted:#667386;--terminal-prompt:#16845f;--terminal-command:#5367d8;--terminal-link:#a86b00;--terminal-tag:#7a5f8f;--terminal-disabled:#8c959f;--terminal-border:#28354921;--terminal-selection-bg:#5367d81a;--terminal-cursor:#5367d8;--terminal-accent-warm:#a86b00;--terminal-shadow:#26364d29;--terminal-menu-bg:#fcfefffa;--page-bg:#eef3f9;--app-gradient:radial-gradient(circle at 16% 12%, #5367d814, transparent 28%), radial-gradient(circle at 82% 18%, #16845f0f, transparent 30%), linear-gradient(135deg, #f7faff 0%, #e9eff7 52%, #fbfdff 100%);--terminal-overlay-bg:radial-gradient(circle at 50% 44%, #f8fbff05, #eef3f975 76%), linear-gradient(#f8fbff14, #f8fbff5c);--background-effect-opacity:.46;--focus-ring:#5367d880}*{box-sizing:border-box}html{background:var(--page-bg);min-width:320px;min-height:100%}body{min-width:320px;min-height:100dvh;margin:0}button,input{font:inherit}a{color:inherit}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}#root{min-height:100dvh}.page-loading-fallback{background:var(--app-gradient);min-height:100dvh}.article-loading-fallback{background:#f7f4ed;grid-template-columns:minmax(190px,250px) minmax(0,748px) 1fr;column-gap:clamp(52px,6vw,104px);width:min(100%,1380px);min-height:100dvh;margin:0 auto;padding:0 clamp(28px,4vw,64px);display:grid}.article-loading-rail{background:#2e2b291a;border-radius:3px;width:88px;height:12px;margin-top:46px}.article-loading-copy{flex-direction:column;justify-content:center;min-height:min(820px,100dvh);display:flex}.article-loading-copy span,.article-loading-copy h1,.article-loading-copy p{background:linear-gradient(90deg,#2e2b290f,#2e2b291f,#2e2b290f) 0 0/200% 100%;border-radius:4px;margin:0;animation:1.5s ease-in-out infinite article-loading-shimmer;display:block}.article-loading-copy span{width:132px;height:9px;margin-bottom:34px}.article-loading-copy h1{width:min(100%,650px);height:152px}.article-loading-copy p{width:min(76%,440px);height:22px;margin-top:34px}@keyframes article-loading-shimmer{to{background-position:-200% 0}}.app-shell{background:var(--app-gradient);place-items:center;min-height:100dvh;padding:20px;display:grid;position:relative;overflow:hidden}.terminal-overlay{z-index:1;pointer-events:none;background:var(--terminal-overlay-bg);position:fixed;inset:0}.pixel-snow-background{z-index:0;opacity:var(--background-effect-opacity);position:fixed;inset:0}.pixel-snow-background canvas{display:block}.terminal-window{z-index:2;border:1px solid var(--terminal-border);background:var(--terminal-panel);width:min(960px,100vw - 40px);max-height:80vh;box-shadow:0 24px 80px var(--terminal-shadow);border-radius:12px;animation:.18s ease-out both window-in;position:relative;overflow:hidden}.terminal-titlebar{border-bottom:1px solid var(--terminal-titlebar-border);background:var(--terminal-titlebar);grid-template-columns:minmax(84px,1fr) auto minmax(240px,1fr);align-items:center;height:42px;padding:0 14px;display:grid}.traffic-lights{gap:8px;display:flex}.traffic-light{border-radius:999px;width:12px;height:12px}.traffic-light.red{background:#ff5f57}.traffic-light.yellow{background:#ffbd2e}.traffic-light.green{background:#28c840}.window-title{color:var(--terminal-muted);text-align:center;text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1;overflow:hidden}.window-title-mobile{display:none}.titlebar-actions{justify-self:end;align-items:center;gap:16px;min-width:0;display:inline-flex}.language-switch,.theme-switch{color:var(--terminal-muted);white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:inline-flex}.language-switch button,.language-popover button,.theme-switch button,.theme-popover button,.command-menu button{color:inherit;cursor:pointer;background:0 0;border:0}.language-switch button,.theme-switch button{padding:4px 2px}.language-switch button[aria-pressed=true],.theme-switch button[aria-pressed=true]{color:var(--terminal-link)}.switch-item{align-items:center;gap:6px;display:inline-flex}.terminal-body{scrollbar-color:#e6edf32e transparent;max-height:calc(80vh - 42px);padding:18px;overflow:auto}.identity-panel{width:100%;color:var(--terminal-text);background:0 0;display:grid;overflow:hidden}.identity-frame-top,.identity-frame-bottom{white-space:pre;color:var(--terminal-muted);grid-template-columns:max-content max-content minmax(0,1fr) max-content;align-items:center;font-size:14px;line-height:1.55;display:grid}.identity-frame-bottom{grid-template-columns:max-content minmax(0,1fr) max-content}.identity-heading{color:var(--terminal-link);white-space:nowrap;gap:.5rem;margin:0;font-size:14px;font-weight:700;line-height:1.55;display:inline-flex}.identity-title-prefix{color:var(--terminal-muted);font-weight:700}.identity-rule{color:currentColor;white-space:nowrap;min-width:0;display:block;overflow:hidden}.identity-fields{color:var(--terminal-muted);font-size:14px;line-height:1.55;display:grid}.identity-row{grid-template-columns:max-content 11.5rem minmax(0,1fr) max-content;align-items:baseline;min-width:0;display:grid}.identity-edge{white-space:pre}.identity-label{white-space:nowrap;padding-left:1.6rem}.identity-value{min-width:0;color:var(--terminal-text);overflow-wrap:anywhere}.terminal-tip{color:var(--terminal-muted);margin:12px 0 16px;font-size:13px}.command-stack{gap:16px;display:grid}.command-block{border-radius:6px;padding:0;scroll-margin:24px;transition:background-color .4s;animation:.22s ease-out both command-in}.command-block:first-child{animation-delay:0s}.command-block:nth-child(2){animation-delay:var(--stagger-step)}.command-block:nth-child(3){animation-delay:calc(var(--stagger-step) * 2)}.command-block:nth-child(4){animation-delay:calc(var(--stagger-step) * 3)}.command-block:nth-child(5){animation-delay:calc(var(--stagger-step) * 4)}.command-block.highlighted{background:var(--terminal-selection-bg)}.command-line{color:var(--terminal-text);margin:0 0 8px;font-size:14px}.prompt{color:var(--terminal-prompt)}.command{color:var(--terminal-command)}.command-output{color:var(--terminal-text);gap:6px;margin:0;font-size:14px;line-height:1.5;display:grid}.kv-row,.highlight-row,.contact-row{grid-template-columns:minmax(88px,max-content) 1fr;gap:12px;min-width:0;display:grid}.kv-label,.highlight-metric,.contact-key{color:var(--terminal-muted)}.highlight-metric{color:var(--terminal-link)}.mission-line{margin:0}.experience-list,.project-list{gap:14px;display:grid}.experience-item,.project-item{grid-template-columns:42px 1fr;gap:10px;display:grid}.experience-index,.project-index{color:var(--terminal-link)}.experience-body,.project-body{min-width:0}.experience-title,.project-title,.experience-detail-title{color:var(--terminal-text);font-weight:700}.experience-title-line{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.experience-date,.experience-location{color:var(--terminal-muted);font-weight:400}.experience-role,.experience-meta,.experience-command,.experience-company-full,.project-summary,.project-role,.muted-line{color:var(--terminal-muted);margin-top:4px}.project-details{color:var(--terminal-muted);gap:3px;margin:6px 0 0;padding-left:1.2rem;display:grid}.project-details li::marker{color:var(--terminal-tag)}.experience-meta{flex-wrap:wrap;gap:8px 12px;display:flex}.project-date{color:var(--terminal-muted);margin-left:8px;font-weight:400}.terminal-link-button{width:fit-content;color:var(--terminal-link);text-align:left;cursor:pointer;background:0 0;border:0;padding:0;display:inline}.terminal-link-button:hover,.project-title a:hover,.contact-row a:hover{text-decoration:underline}.experience-overview{gap:4px;display:grid}.return-home{margin-top:2px}.project-title a,.contact-row a{color:var(--terminal-link);text-decoration:none}.contact-row.is-disabled,.contact-row.is-disabled .contact-key{color:var(--terminal-disabled)}.command-input-wrap{margin-top:18px;position:relative}.command-input-line{color:var(--terminal-text);grid-template-columns:max-content max-content 1fr;align-items:center;gap:8px;font-size:14px;display:grid}.command-input{width:100%;min-width:0;color:var(--terminal-text);caret-color:var(--terminal-cursor);background:0 0;border:0;outline:0}.command-input::placeholder{color:var(--terminal-muted);opacity:.82}.cursor{background:var(--terminal-cursor);width:8px;height:1.2em;animation:1s step-end infinite blink}.cursor.is-hidden{opacity:0;animation:none}.command-menu,.language-popover,.theme-popover{z-index:5;border:1px solid var(--terminal-border);background:var(--terminal-menu-bg);border-radius:8px;max-height:240px;padding:6px;position:absolute;bottom:calc(100% + 8px);left:0;right:0;overflow:auto;box-shadow:0 18px 48px #00000073}.command-menu button,.language-popover button,.theme-popover button{text-align:left;border-radius:6px;grid-template-columns:112px 1fr;gap:12px;width:100%;padding:8px 10px;display:grid}.command-menu button.is-active,.language-popover button:hover,.theme-popover button:hover,.theme-popover button[aria-selected=true]{background:var(--terminal-selection-bg)}.menu-command{color:var(--terminal-command)}.menu-desc{color:var(--terminal-muted)}.no-matches{color:var(--terminal-muted);padding:8px 10px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@keyframes blink{50%{opacity:0}}@keyframes window-in{0%{opacity:0;transform:translateY(8px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes command-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (width<=767px){.article-loading-fallback{padding:0 20px;display:block}.article-loading-rail{display:none}.article-loading-copy h1{height:132px}.app-shell{align-items:start;padding:12px;overflow:auto}.terminal-window{width:calc(100vw - 24px);min-height:calc(100dvh - 24px);max-height:none}.terminal-titlebar{grid-template-columns:64px minmax(0,1fr) auto;padding:0 10px}.window-title{font-size:12px}.titlebar-actions{gap:10px}.language-switch,.theme-switch{gap:4px;font-size:11px}.switch-item{gap:4px}.window-title-desktop{display:none}.window-title-mobile{display:inline}.terminal-body{max-height:none;padding:14px}.kv-row,.highlight-row,.contact-row{grid-template-columns:1fr;gap:2px}.experience-item,.project-item{grid-template-columns:1fr;gap:4px}.project-date{margin:2px 0 0;display:block}.command-menu button,.language-popover button,.theme-popover button{grid-template-columns:1fr;gap:2px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}
