:root{--color-bg:#0b0d10;--color-surface:#12161b;--color-border:#222a33;--color-text:#d8e1ea;--color-accent:#35ae41;--color-terminal-shell-bg:#0c1117;--color-terminal-titlebar-bg:#1a2028;--color-terminal-shell-border:#2c343d;--color-terminal-tab-border:#415062;--color-terminal-tab-text:#e6edf5;--color-prompt-user:var(--color-accent);--color-terminal-line-ascii:var(--color-accent);--color-terminal-line-system:#aeb9c7;--color-terminal-line-command:#8eb6ff;--color-terminal-line-output:#aab8c6;--color-terminal-line-hint:var(--color-terminal-line-output);--color-terminal-line-project:#b392f0;--color-terminal-line-project-link:#ceb3ff;--color-terminal-line-error:#ff8f8f;--color-terminal-scrollbar-track:#111720;--color-terminal-scrollbar-thumb:#334457;--color-terminal-scrollbar-thumb-hover:#43617f;--space-4:1rem;--radius-md:10px}*,:before,:after{box-sizing:border-box}html,body,#root{background:var(--color-bg);min-height:100%;color:var(--color-text);margin:0;font-family:JetBrains Mono,Fira Code,Consolas,monospace;overflow:auto}.app-shell{gap:clamp(.7rem, 1.4vw, var(--space-4));height:100dvh;min-height:100dvh;padding:clamp(.55rem, 1.5vw, var(--space-4));grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.window-panel{min-height:0}@media (width<=1200px){.app-shell{grid-template-columns:1fr 1fr;gap:clamp(.6rem,1.2vw,.9rem);padding:clamp(.5rem,1.2vw,.8rem)}}@media (width<=900px){.app-shell{grid-template-rows:minmax(0,1fr) minmax(0,1fr);grid-template-columns:1fr;gap:.58rem;padding:.5rem}.preview-panel{grid-row:1}.terminal-panel{grid-row:2}}@media (width<=480px){.app-shell{grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:.45rem;padding:.4rem}}.window-shell{border:1px solid var(--color-terminal-shell-border);background:var(--color-terminal-shell-bg);border-radius:10px;flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.window-titlebar{z-index:2;background:linear-gradient(to bottom, #ffffff06, var(--color-terminal-titlebar-bg) 45%);flex:0 0 38px;align-items:flex-end;height:38px;padding:0 12px;display:flex;position:relative}.window-titlebar:after{content:"";border-bottom:1px solid var(--color-terminal-shell-border);z-index:0;position:absolute;bottom:0;left:0;right:0}.window-tab{z-index:1;background:linear-gradient(to bottom, #ffffff09, var(--color-terminal-shell-bg) 28%);min-width:220px;max-width:min(300px,75%);height:32px;color:var(--color-terminal-tab-text);border:1px solid var(--color-terminal-tab-border);border-bottom-color:var(--color-terminal-shell-bg);letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;border-radius:9px 9px 0 0;align-items:center;gap:.46rem;margin-bottom:0;padding:0 14px;font-size:.9rem;font-weight:600;line-height:1;display:inline-flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff14,0 2px 6px #00000038}.window-tab-icon{opacity:.92;flex:none;font-size:.78rem}.window-tab-icon-svg{object-fit:contain;width:1.08rem;height:1.08rem;display:block}.window-tab-label{text-overflow:ellipsis;min-width:0;overflow:hidden}.window-tab:after{content:"";background:#0c1117b3;height:1px;position:absolute;bottom:-1px;left:0;right:0}.window-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}@media (width<=900px){.window-titlebar{flex-basis:36px;height:36px;padding:0 10px}.window-tab{min-width:160px;max-width:min(240px,82%);height:30px;padding:0 11px;font-size:.84rem}}@media (width<=480px){.window-titlebar{flex-basis:34px;height:34px;padding:0 8px}.window-tab{min-width:0;max-width:100%;height:28px;padding:0 10px;font-size:.8rem}}.terminal-panel{flex-direction:column;min-width:0;min-height:0;padding:0;display:flex}.terminal-body{gap:8px;padding:12px}.terminal-output{scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--color-terminal-scrollbar-thumb) var(--color-terminal-scrollbar-track);height:100%;min-height:0;padding-right:.15rem;overflow:hidden auto}.terminal-output::-webkit-scrollbar{width:10px}.terminal-output::-webkit-scrollbar-track{background:var(--color-terminal-scrollbar-track);border-radius:8px}.terminal-output::-webkit-scrollbar-thumb{background:var(--color-terminal-scrollbar-thumb);border:2px solid var(--color-terminal-scrollbar-track);border-radius:8px}.terminal-output::-webkit-scrollbar-thumb:hover{background:var(--color-terminal-scrollbar-thumb-hover)}.terminal-output p{white-space:pre-wrap;word-break:break-word;margin:0 0 .08rem;line-height:1.24}.terminal-output .line-typing-active{white-space:pre-wrap}.terminal-output .line-ascii{color:var(--color-terminal-line-ascii);white-space:pre;text-overflow:clip;word-break:normal;overflow:hidden}.terminal-output .line-system{color:var(--color-terminal-line-system)}.terminal-output .line-command{color:var(--color-terminal-line-command)}.terminal-output .line-output{color:var(--color-terminal-line-output)}.terminal-output .line-hint{color:var(--color-terminal-line-hint)}.terminal-output .line-error{color:var(--color-terminal-line-error)}.terminal-output .line-system,.terminal-output .line-output,.terminal-output .line-hint,.terminal-output .line-error{padding-left:2ch}.terminal-segment-hint{color:var(--color-terminal-line-hint)}.terminal-segment-command{color:var(--color-terminal-line-command);font-weight:600}.terminal-segment-project{color:var(--color-terminal-line-project)}.terminal-segment-project-link{color:var(--color-terminal-line-project-link)}.terminal-segment-link{text-underline-offset:2px;text-decoration:underline}.terminal-active-prompt-line{align-items:center;gap:0;margin-top:.1rem;display:flex}.terminal-prompt{white-space:nowrap;flex:none;align-items:center;gap:0;font-weight:600;display:inline-flex}.terminal-transcript-prompt{white-space:nowrap;align-items:center;gap:0;margin-right:.15rem;display:inline-flex}.terminal-prompt-user,.terminal-prompt-host,.terminal-prompt-path,.terminal-prompt-symbol{color:var(--color-prompt-user)}.terminal-prompt-symbol{margin-right:.45rem}#terminal-input{min-width:0;color:var(--color-terminal-line-command);font:inherit;background:0 0;border:0;outline:0;flex:1}@media (width<=900px){.terminal-panel .window-shell{min-height:min(340px,52dvh)}.terminal-body{padding:10px}.terminal-output{font-size:.92rem}}@media (width<=768px){.terminal-panel .window-shell{min-height:min(300px,52dvh)}.terminal-output{font-size:.88rem}.terminal-output p{line-height:1.28}}@media (width<=480px){.terminal-panel .window-shell{min-height:min(250px,52dvh)}.terminal-body{padding:8px}.terminal-output{font-size:.84rem}.terminal-transcript-prompt{margin-right:.08rem}.terminal-prompt-symbol{margin-right:.32rem}}.preview-body{gap:0;padding:0}.preview-output{background:radial-gradient(680px at 16% 10%,#5ea1ff29,#0000 56%) 0 0/115% 115%,linear-gradient(155deg,#121b26 0%,#0c1117 72%) 0 0/100% 100%;height:100%;min-height:0;padding-right:0;animation:22s ease-in-out infinite alternate preview-bg-drift;position:relative;overflow:hidden auto}.preview-output-scroll{z-index:0;isolation:isolate;contain:paint;box-sizing:border-box;flex-direction:column;min-height:100%;display:flex;position:relative}.preview-output-scroll>*{z-index:1;position:relative}.preview-output{scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--color-terminal-scrollbar-thumb) var(--color-terminal-scrollbar-track)}.preview-output::-webkit-scrollbar{width:10px}.preview-output::-webkit-scrollbar-track{background:var(--color-terminal-scrollbar-track);border-radius:8px}.preview-output::-webkit-scrollbar-thumb{background:var(--color-terminal-scrollbar-thumb);border:2px solid var(--color-terminal-scrollbar-track);border-radius:8px}.preview-output::-webkit-scrollbar-thumb:hover{background:var(--color-terminal-scrollbar-thumb-hover)}.preview-output-scroll:before{content:"";z-index:0;pointer-events:none;opacity:.84;background:linear-gradient(#0003,#0000 22% 76%,#00000047),repeating-linear-gradient(#aad7ff04 0 1px,#0000 1px 4px);transition:opacity .22s;animation:9s linear infinite preview-scanline-shift,18s ease-in-out infinite preview-overlay-flicker,20s ease-in-out infinite alternate preview-overlay-drift;position:absolute;inset:0}.preview-output-scroll:after{content:"";z-index:0;filter:blur(18px);pointer-events:none;opacity:.88;background:radial-gradient(circle at 26% 24%,#7ec4ff17,#0000 48%);transition:opacity .24s,transform .26s,filter .26s;animation:18s ease-in-out infinite alternate preview-glow-drift,8s ease-in-out infinite preview-glow-breathe;position:absolute;inset:0}.preview-output.preview-effect-pulse .preview-output-scroll:after{opacity:.93;filter:blur(17px)saturate(1.02);transform:translate(1.2%,.6%)scale(1.03)}.preview-output.preview-effect-pulse .preview-output-scroll:before{opacity:.86}.preview-output.preview-effect-spike .preview-output-scroll:before{opacity:.9}.preview-output.preview-effect-spike .preview-output-scroll:after{opacity:.97;filter:blur(18px);transform:translate(2%,1%)scale(1.045)}.preview-output.preview-effect-error .preview-output-scroll:before{animation:.9s linear preview-scanline-shift,.9s steps(8,end) preview-overlay-flicker,.9s ease-out preview-overlay-drift,.62s ease-out preview-error-flash,.28s steps(6,end) preview-error-jitter}.preview-output.preview-effect-error .preview-output-scroll:after{animation:.9s ease-out preview-glow-drift,.9s ease-out preview-glow-breathe,.62s ease-out preview-error-glow}.preview-default{box-sizing:border-box;flex:1;justify-content:center;align-items:center;padding:1rem;display:flex}.preview-default-content{text-align:left;width:min(520px,100%);position:relative}.preview-name{color:#e6edf5;margin:0 0 .35rem;font-size:clamp(1.62rem,4vw,3rem);font-weight:700;line-height:1.1}.preview-role{color:#c7d2df;margin:0;font-size:1rem}.preview-tagline{color:#aeb9c7;margin:.65rem 0 0;font-size:.95rem}.preview-commands{color:#97a7ba;margin:.65rem 0 0;font-size:.85rem}.preview-cmd{color:var(--color-terminal-line-command);font-weight:600}.preview-output.preview-output-ctf{background:radial-gradient(700px at 22% 12%,#8e56ff21,#0000 58%),linear-gradient(155deg,#111720 0%,#0a0f16 72%)}.preview-ctf{z-index:1;flex-direction:column;gap:.82rem;min-height:100%;padding:clamp(.85rem,2vw,1.2rem);display:flex;position:relative}.preview-ctf.is-expanded{min-height:74%}.preview-ctf-top{background:linear-gradient(165deg,#1b1b30bd 0%,#0d111ed1 100%);border:1px solid #9580dc52;border-radius:12px;gap:.45rem;padding:.82rem .92rem;display:grid}.preview-ctf-header{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.preview-ctf-title{color:#e8dcff;margin:0;font-size:1.06rem}.preview-ctf-toggle{color:#dcccff;font:inherit;cursor:pointer;background:#7858be33;border:1px solid #ac96f073;border-radius:8px;align-items:center;gap:.35rem;padding:.25rem .52rem;font-size:.75rem;display:inline-flex}.preview-ctf-rules,.preview-ctf-commands{color:#d7cfee;margin:0;font-size:.86rem;line-height:1.52}.preview-ctf-commands span{color:#d6c3ff;font-weight:600}.preview-ctf-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.preview-ctf-restart{color:#f0e7ff;font:inherit;cursor:pointer;background:#995fe43d;border:1px solid #c69eff80;border-radius:8px;padding:.36rem .62rem;font-size:.76rem;font-weight:600}.preview-ctf-progress{color:#e4d4ff;letter-spacing:.02em;font-size:.8rem}.preview-ctf-cards{gap:.72rem;display:grid}.preview-ctf-card{background:linear-gradient(165deg,#16202ec7 0%,#0b111acc 100%);border:1px solid #829cbe3d;border-radius:12px;gap:.5rem;padding:.75rem .82rem;display:grid;position:relative;overflow:hidden}.preview-ctf-card-head{justify-content:space-between;align-items:center;gap:.45rem;display:flex}.preview-ctf-card-head h4{color:#edf3fb;margin:0;font-size:.96rem}.preview-ctf-status{letter-spacing:.06em;text-transform:uppercase;font-size:.72rem}.preview-ctf-status-active{color:#ceb3ff}.preview-ctf-status-locked{color:#9eb2c8}.preview-ctf-status-completed{color:#8ee7ad}.preview-ctf-card-desc{color:#cfdaea;margin:0;font-size:.85rem;line-height:1.5}.preview-ctf-hints{flex-wrap:wrap;gap:.34rem;display:flex}.preview-ctf-hint-btn{color:#deebf9;min-width:1.8rem;font:inherit;cursor:pointer;background:#6c819e42;border:1px solid #8fa9cc5c;border-radius:7px;padding:.15rem .4rem;font-size:.8rem}.preview-ctf-hint-btn.is-revealed{color:#f2e8ff;background:#8262cf61;border-color:#ac96f0b3}.preview-ctf-hint-btn:disabled{opacity:.48;cursor:not-allowed}.preview-ctf-answer-btn{color:#f1e7ff;min-width:3.4rem;font:inherit;cursor:pointer;background:#7452bc3d;border:1px solid #c4a2ff80;border-radius:7px;padding:.15rem .48rem;font-size:.8rem}.preview-ctf-answer-btn:hover:not(:disabled){background:#8260cc57;border-color:#ceaeffa8}.preview-ctf-answer-btn:disabled{opacity:.46;cursor:not-allowed}.preview-ctf-answer-note{color:#d7cfee;margin:0;font-size:.8rem;line-height:1.42}.preview-ctf-answer-reveal{color:#d8f8e7;margin:0;font-size:.82rem;line-height:1.4}.preview-ctf-answer-reveal span{color:#b7f3d2;font-weight:600}.preview-ctf-card-locked,.preview-ctf-card-completed{opacity:.72}.preview-ctf-card-completed{border-color:#6eba8a6b}.preview-ctf-lock-overlay,.preview-ctf-complete-overlay{pointer-events:none;place-items:center;font-size:1.5rem;display:grid;position:absolute;inset:0}.preview-ctf-lock-overlay{color:#dce8f738;background:#070b1238}.preview-ctf-complete-overlay{color:#8ee7ad42;background:#080e0a1f}.preview-ctf-bottom-stack{z-index:5;left:0;right:0}.preview-ctf-bottom-stack.is-absolute{position:absolute;bottom:0}.preview-ctf-bottom-stack.is-sticky{position:sticky;bottom:.5rem}.preview-ctf-bottom-rail{cursor:pointer;text-align:left;width:100%;font:inherit;background:0 0;border:0;margin-top:0;padding:.5rem .62rem}.preview-ctf-bottom-card{color:#eadbff;background:#22163ae6;border:1px solid #b391fc9e;border-radius:10px;justify-content:space-between;gap:.6rem;padding:.32rem .62rem;font-size:.75rem;display:flex;box-shadow:0 6px 16px #09061266,0 2px 4px #00000038}.preview-ctf-bottom-card.is-complete{color:#dff9ea;background:#163e2aeb;border-color:#78e1a6c7;box-shadow:0 6px 16px #071d1273,0 2px 4px #00000038}.preview-ctf-bottom-stack.is-expanded .preview-ctf-bottom-card{border-top-left-radius:0;border-top-right-radius:0}.preview-output.preview-ctf-needs-scroll .preview-output-scroll{padding-bottom:3.35rem}.preview-ctf-bottom-label{align-content:center;gap:.1rem;display:grid}.preview-ctf-bottom-toggle{justify-content:flex-end;align-items:center;gap:.32rem;min-width:6.4rem;margin-left:auto;display:inline-flex}.preview-ctf-drawer{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:linear-gradient(165deg,#101421f7 0%,#080c14f5 100%);border:1px solid #a182ec5c;border-radius:12px;height:clamp(18rem,74vh,42rem);position:absolute;bottom:3.25rem;left:.62rem;right:.62rem;overflow:auto;box-shadow:0 16px 28px #04081285,0 8px 12px #04081257}.preview-ctf-bottom-stack.is-expanded .preview-ctf-drawer{border-bottom-right-radius:0;border-bottom-left-radius:0}.preview-ctf-drawer .preview-ctf{min-height:100%}.preview-ctf-finale{background:linear-gradient(160deg,#0f251db3 0%,#0a1813bd 100%);border:1px solid #83d09f73;border-radius:12px;padding:.7rem .8rem}.preview-ctf-finale h4{color:#b5f4cd;margin:0 0 .2rem;font-size:.94rem}.preview-ctf-finale p{color:#d7f4e2;margin:0;font-size:.83rem;line-height:1.45}.preview-about{flex-direction:column;align-content:start;align-items:stretch;min-height:0;padding:clamp(.82rem,2vw,1.2rem);display:flex;overflow:visible}.preview-projects{z-index:1;flex-direction:column;gap:.8rem;min-height:0;padding:clamp(.82rem,2vw,1.2rem);display:flex;position:relative;overflow:visible}.preview-projects-title{color:#e6edf5;margin:0;font-size:clamp(1.4rem,3vw,2rem);line-height:1.1}.preview-projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.92rem;display:grid}.preview-projects-section{gap:.72rem;display:grid}.preview-projects-subtitle{letter-spacing:.08em;text-transform:uppercase;color:#a8b9ce;margin:0;font-size:.8rem;font-weight:700}.preview-project-card{background:linear-gradient(165deg,#16202ec7 0%,#0b111acc 100%);border:1px solid #829cbe3d;border-radius:12px;flex-direction:column;height:100%;min-height:8.75rem;transition:transform .17s,border-color .17s,box-shadow .17s,background .17s;display:flex;box-shadow:inset 0 1px #ffffff08,0 2px 8px #0003}.preview-project-card:hover{background:linear-gradient(165deg,#192536e6 0%,#0d141fe6 100%);border-color:#97c2ff80;transform:translateY(-2px);box-shadow:inset 0 1px #ffffff0a,0 10px 20px #00000047}.preview-project-image-wrap{min-height:0;position:relative;overflow:hidden}.preview-project-image-wrap:after{content:"";pointer-events:none;background:linear-gradient(#05090e26,#05090e80);position:absolute;inset:0}.preview-project-image{object-fit:cover;object-position:center;width:100%;height:100%}.preview-project-image-placeholder{background:linear-gradient(145deg,#7598c338,#56719226)}.preview-project-content{flex-direction:column;flex:1;gap:.56rem;width:100%;min-height:0;padding:.82rem .88rem .92rem;display:flex}.preview-project-title{color:#e6edf5;margin:0;font-size:1.02rem;line-height:1.25}.preview-project-summary-wrap{flex:auto;min-height:0}.preview-project-summary-list{color:#b8c9da;flex-direction:column;gap:.38rem;margin:0;padding-left:1.15rem;font-size:.86rem;line-height:1.42;list-style-position:outside;display:flex}.preview-project-summary-list li{padding-left:.2rem}.preview-project-summary-list li::marker{color:#8eb6ff8c}.preview-project-summary-empty{color:#b8c9da;flex:auto;min-height:0;margin:0;font-size:.88rem;line-height:1.45}.preview-project-tags{flex-wrap:wrap;gap:.4rem;display:flex}.preview-project-tag{letter-spacing:.02em;color:#b8c9da;background:#829cbe1a;border:1px solid #829cbe59;border-radius:999px;align-items:center;padding:.14rem .46rem;font-size:.7rem;font-weight:500;display:inline-flex}.preview-project-links{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.preview-project-link{color:#f0f6ff;letter-spacing:.03em;background:linear-gradient(165deg,#4a7cd28c 0%,#345ca89e 100%);border:1px solid #78aaff8c;border-radius:8px;justify-content:center;align-items:center;padding:.38rem .85rem;font-size:.76rem;font-weight:600;text-decoration:none;transition:color .16s,background .16s,border-color .16s,box-shadow .16s,transform .16s;display:inline-flex;box-shadow:inset 0 1px #ffffff1f,0 2px 6px #00000038}.preview-project-link:hover{color:#fff;background:linear-gradient(165deg,#5c8ee8b8 0%,#3e6cc4c7 100%);border-color:#aacdffd9;transform:translateY(-1px);box-shadow:inset 0 1px #ffffff2e,0 4px 12px #2a62c859}.preview-project-link:focus-visible{outline-offset:2px;outline:2px solid #97c2fff2}.preview-resume{z-index:1;place-items:center;min-height:0;padding:clamp(.82rem,2vw,1.2rem);display:grid;position:relative;overflow:visible}.preview-resume-card{background:linear-gradient(165deg,#16202ec7 0%,#0b111acc 100%);border:1px solid #829cbe3d;border-radius:12px;flex-direction:column;gap:.72rem;width:min(500px,100%);padding:1.2rem 1.25rem;display:flex;box-shadow:inset 0 1px #ffffff08,0 2px 8px #0003}.preview-resume-label{color:#9db2c9;text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:.72rem}.preview-resume-title{color:#e6edf5;margin:0;font-size:1.2rem;line-height:1.2}.preview-resume-subtitle{color:#d5e3f2;margin:0;font-size:.9rem}.preview-resume-link{letter-spacing:.035em;color:#f4f8ff;background:linear-gradient(158deg,#4c80dad1 0%,#3058a8e0 48%,#264894eb 100%);border:1px solid #78aaff85;border-radius:11px;justify-content:center;align-self:flex-start;align-items:center;gap:.5rem;margin-top:.2rem;padding:.52rem 1.05rem;font-size:.84rem;font-weight:600;text-decoration:none;transition:color .18s,border-color .18s,background .18s,box-shadow .18s,transform .18s;display:inline-flex;box-shadow:inset 0 1px #ffffff2e,0 1px #ffffff0a,0 6px 16px #18387861,0 2px 4px #0003}.preview-resume-link-icon{opacity:.94;filter:drop-shadow(0 1px 1px #0003);font-size:.92rem}.preview-resume-link-text{flex:none}.preview-resume-link-external{opacity:.82;margin-left:.1rem;font-size:.72rem}.preview-resume-link:hover{color:#fff;background:linear-gradient(158deg,#5c92e8eb 0%,#3a66c4f0 55%,#2e56b0f5 100%);border-color:#aacdffc7;transform:translateY(-2px);box-shadow:inset 0 1px #ffffff38,0 8px 22px #224ea87a,0 3px 8px #00000038}.preview-resume-link:active{transform:translateY(0);box-shadow:inset 0 1px #ffffff1f,0 3px 10px #18387859}.preview-resume-link:focus-visible{outline-offset:3px;outline:2px solid #97c2fff2}@media (prefers-reduced-motion:reduce){.preview-resume-link,.preview-resume-link:hover,.preview-resume-link:active{transition-duration:.01ms;transform:none}}.preview-output.preview-output-resume .preview-output-scroll{justify-content:center;align-items:center;min-height:100%}.preview-output.preview-output-resume .preview-resume{flex:none;width:min(500px,100%)}.preview-output.preview-output-resume .preview-resume-card{text-align:center}.preview-output.preview-output-resume .preview-resume-link{align-self:center}.preview-experience{z-index:1;flex-direction:column;gap:.85rem;min-height:0;padding:clamp(.82rem,2vw,1.2rem);display:flex;position:relative;overflow:visible}.preview-education{z-index:1;flex-direction:column;gap:1rem;min-height:0;padding:clamp(.9rem,2.2vw,1.35rem);display:flex;position:relative;overflow:visible}.preview-education-title{color:#e6edf5;margin:0;font-size:clamp(1.45rem,3.1vw,2.1rem);line-height:1.1}.preview-education-grid{gap:1.12rem;display:grid}.preview-education-card{background:linear-gradient(165deg,#16202ed6 0%,#0b111ad6 100%);border:1px solid #829cbe42;border-radius:14px;padding:1.05rem 1.08rem 1.12rem;transition:transform .17s,border-color .17s,box-shadow .17s,background-color .17s;position:relative;box-shadow:inset 0 1px #ffffff08,0 4px 12px #0000003d}.preview-education-card:hover{background:linear-gradient(165deg,#192536e6 0%,#0d141fe6 100%);border-color:#97c2ff80;transform:translateY(-2px);box-shadow:inset 0 1px #ffffff0a,0 10px 20px #00000047}.preview-experience-title{color:#e6edf5;margin:0;font-size:clamp(1.4rem,3vw,2rem);line-height:1.1}.preview-experience-timeline{gap:.88rem;margin-top:.15rem;padding-left:1.15rem;display:grid;position:relative}.preview-experience-timeline:before{content:"";background:#8eb6ff59;width:1px;position:absolute;top:.2rem;bottom:.2rem;left:.35rem}.preview-experience-item{position:relative}.preview-experience-item:before{content:"";background:#9ec8ff;border-radius:999px;width:8px;height:8px;position:absolute;top:.75rem;left:-.81rem;box-shadow:0 0 0 2px #38506dbf}.preview-experience-card{background:linear-gradient(165deg,#16202ec7 0%,#0b111acc 100%);border:1px solid #829cbe3d;border-radius:12px;padding:.88rem .95rem .96rem;transition:transform .17s,border-color .17s,box-shadow .17s,background .17s;box-shadow:inset 0 1px #ffffff08,0 2px 8px #0003}.preview-experience-card:hover{background:linear-gradient(165deg,#192536e6 0%,#0d141fe6 100%);border-color:#97c2ff80;transform:translateY(-2px);box-shadow:inset 0 1px #ffffff0a,0 10px 20px #00000047}.preview-experience-head{gap:.18rem;display:grid}.preview-education-head{grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:.5rem}.preview-education-head .preview-experience-role{grid-column:1}.preview-education-head .preview-experience-meta{grid-column:1/-1}.preview-education-location{letter-spacing:.03em;color:#a8b9ce;text-align:right;grid-area:1/2;place-self:start end;font-size:.76rem;line-height:1.2}.preview-education-details{grid-template-columns:1fr;gap:.38rem;margin-top:.58rem;display:grid}.preview-education-detail-tile{color:#b8c9da;background:#829cbe14;border:1px solid #829cbe3d;border-radius:10px;gap:.36rem;min-height:0;padding:.62rem .7rem;font-size:.88rem;line-height:1.38;display:grid}.preview-education-detail-label{color:#a9bdd3;letter-spacing:.07em;text-transform:uppercase;font-size:.72rem;font-weight:600}.preview-education-detail-value{color:#d2dfef}.preview-education-honors-list{color:#d2dfef;gap:.18rem;margin:0;padding-left:1rem;display:grid}.preview-education-honors-item{margin:0}.preview-education-gpa-rows{gap:.38rem;display:grid}.preview-education-gpa-row{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:.5rem;margin:0;display:grid}.preview-education-gpa-sublabel{color:#9eb2c8;letter-spacing:.02em;font-size:.72rem}.preview-education-gpa-value{color:#e6edf5;font-variant-numeric:tabular-nums;font-size:.88rem;font-weight:600}.preview-education-detail-tile-prose .preview-education-highlights{gap:.42rem;display:grid}.preview-education-highlight-p{color:#b8c9da;margin:0;font-size:.8rem;line-height:1.45}.preview-education-coursework-scroll{align-items:center;gap:.34rem;padding-bottom:.12rem;display:flex;overflow:hidden}.preview-education-coursework-track{flex-wrap:nowrap;flex:none;gap:.34rem;width:max-content;display:flex}.preview-education-coursework-chip{white-space:nowrap;color:#cfdef0;background:#829cbe24;border:1px solid #829cbe4d;border-radius:999px;flex:none;align-items:center;padding:.22rem .62rem;font-size:.8rem;display:inline-flex}.preview-education-coursework-scroll.is-auto-scrolling .preview-education-coursework-track{will-change:transform;animation:22s linear infinite preview-coursework-marquee}.preview-education-coursework-scroll.is-manual-scroll{scrollbar-width:thin;scrollbar-color:#8eb6ff73 transparent;overflow:auto hidden}.preview-education-coursework-scroll.is-manual-scroll .preview-education-coursework-track{animation:none}.preview-education-coursework-scroll.is-manual-scroll::-webkit-scrollbar{height:6px}.preview-education-coursework-scroll.is-manual-scroll::-webkit-scrollbar-track{background:0 0}.preview-education-coursework-scroll.is-manual-scroll::-webkit-scrollbar-thumb{background:#8eb6ff73;border-radius:999px}@keyframes preview-coursework-marquee{0%{transform:translate(0)}to{transform:translate(calc(-100% - .34rem))}}.preview-experience-role{color:#e6edf5;margin:0;font-size:.98rem;line-height:1.25}.preview-experience-meta{letter-spacing:.03em;color:#a8b9ce;flex-wrap:wrap;gap:.35rem;margin:0;font-size:.78rem;display:flex}.preview-experience-org{color:#c7d2df}.preview-experience-period:before{content:"• ";color:#8ea4bd}.preview-experience-highlights{margin:.5rem 0 0;padding-left:1rem}.preview-experience-highlights li{color:#b8c9da;margin:.24rem 0;font-size:.9rem;line-height:1.4}.preview-about-top{z-index:1;grid-template-columns:1.5fr 1fr;align-items:start;gap:1.1rem;display:grid}.preview-about-text{text-align:left;flex-direction:column;justify-content:flex-start;display:flex}.preview-about-title{color:#e6edf5;margin:0 0 .6rem;font-size:clamp(1.4rem,3vw,2rem);line-height:1.1}.preview-about-text p{color:#c7d2df;margin:0 0 .6rem;font-size:.95rem;line-height:1.45}.preview-about-try-inline{color:#97a7ba;margin-left:.34rem;font-size:.82em}.preview-about-try-inline .preview-cmd{font-weight:700}.preview-currently{z-index:1;margin-top:1rem}.preview-currently-title{letter-spacing:.09em;text-transform:uppercase;color:#a8b9ce;margin:0 0 .6rem;font-size:.84rem;font-weight:700}.preview-currently-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.82rem;display:grid}.preview-currently-card{--currently-label-top:.22rem;--currently-label-height:.88rem;--currently-label-gap:.5rem;--currently-media-top:calc(var(--currently-label-top) + var(--currently-label-height) + var(--currently-label-gap));--currently-media-height:68px;--currently-description-gap:.14rem;background:linear-gradient(165deg,#16202ec7 0%,#0b111acc 100%);border:1px solid #829cbe3d;border-radius:11px;padding:.28rem .88rem .32rem;display:block;position:relative;box-shadow:inset 0 1px #ffffff08,0 2px 8px #0003}.preview-currently-top{grid-template-columns:56px minmax(0,1fr);align-items:start;gap:.68rem;height:68px;min-height:68px;display:grid}.preview-currently-card .preview-currently-top{top:var(--currently-media-top);position:absolute;left:.88rem;right:.88rem}.preview-currently-image{object-fit:cover;object-position:center;border:1px solid #8eb6ff57;border-radius:9px;width:56px;height:68px}.preview-currently-image-placeholder{background:linear-gradient(155deg,#7598c324,#5671921f)}.preview-currently-label{letter-spacing:.08em;text-transform:uppercase;color:#8ea4bd;margin:0;font-size:.72rem;line-height:1.2}.preview-currently-card .preview-currently-label{top:var(--currently-label-top);white-space:nowrap;text-overflow:ellipsis;position:absolute;left:.88rem;right:.88rem;overflow:hidden}.preview-currently-meta{grid-template-rows:auto auto;align-content:start;min-width:0;display:grid;overflow:visible}.preview-currently-item-title{color:#e6edf5;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.96rem;line-height:1.25;display:-webkit-box;overflow:hidden}.preview-currently-item-link{color:inherit;text-decoration:none}.preview-currently-item-link:hover{color:#cde3ff}.preview-currently-subtitle{color:#b8c9da;margin:.14rem 0 0;font-size:.76rem;line-height:1.2}.preview-currently-card .preview-currently-subtitle{white-space:normal;overflow:visible}.preview-currently-card .preview-currently-description{margin:calc(var(--currently-media-top) + var(--currently-media-height) + var(--currently-description-gap)) 0 0;color:#9eb2c8;font-size:.68rem;line-height:1.45}.preview-about-links{flex-wrap:wrap;gap:.55rem;margin-top:.75rem;display:flex}.preview-about-link{color:#dbe7f7;place-items:center;text-decoration:none;transition:color .16s;display:inline-grid}.preview-about-link-icon{color:currentColor;font-size:1.7rem}.preview-about-link:hover{color:#f4f8ff}.preview-about-image-wrap{align-items:center;min-width:0;display:flex}.preview-about-image{aspect-ratio:3/4;object-fit:cover;object-position:center;border:1px solid #829cbe59;border-radius:10px;width:100%}@keyframes preview-glow-drift{0%{transform:translate(0)}to{transform:translate(.7%,.55%)}}@keyframes preview-bg-drift{0%{background-position:15% 10%,50%}to{background-position:22% 16%,50% 52%}}@keyframes preview-scanline-shift{0%{background-position:0 0,0 0}to{background-position:0 0,0 20px}}@keyframes preview-overlay-flicker{0%{opacity:.82}5%{opacity:.87}14%{opacity:.83}38%{opacity:.88}66%{opacity:.84}85%{opacity:.87}to{opacity:.82}}@keyframes preview-glow-breathe{0%{opacity:.74}50%{opacity:.86}to{opacity:.74}}@keyframes preview-overlay-drift{0%{transform:translateY(0)}to{transform:translateY(3px)}}@keyframes preview-error-flash{0%{opacity:.9;background-color:#780c140d}22%{opacity:1;background-color:#c41c2a3d}to{opacity:.86;background-color:#780c1400}}@keyframes preview-error-jitter{0%{transform:translate(0)}25%{transform:translate(1.8px)}50%{transform:translate(-1.6px)}75%{transform:translate(1.2px)}to{transform:translate(0)}}@keyframes preview-error-glow{0%{opacity:.95;filter:blur(16px)saturate()}30%{opacity:1;filter:blur(21px)saturate(1.35)hue-rotate(-14deg)}to{opacity:.9;filter:blur(18px)saturate()}}@media (prefers-reduced-motion:reduce){.preview-output,.preview-output-scroll:before,.preview-output-scroll:after{animation:none}.preview-education-coursework-scroll{scrollbar-width:thin;scrollbar-color:#8eb6ff73 transparent;overflow:auto hidden}.preview-education-coursework-scroll::-webkit-scrollbar{height:6px}.preview-education-coursework-scroll::-webkit-scrollbar-track{background:0 0}.preview-education-coursework-scroll::-webkit-scrollbar-thumb{background:#8eb6ff73;border-radius:999px}.preview-education-coursework-scroll.is-auto-scrolling .preview-education-coursework-track{animation:none}}@media (width<=900px){.preview-panel .window-shell{min-height:min(300px,48dvh)}.preview-about-top{grid-template-columns:1fr;gap:.9rem}.preview-currently-grid{grid-template-columns:1fr}.preview-currently-card{padding:.46rem .78rem .58rem}.preview-projects-grid{grid-template-columns:1fr}}@media (width<=768px){.preview-panel .window-shell{min-height:min(280px,48dvh)}.preview-default{padding:.85rem}.preview-name{font-size:clamp(1.4rem,7vw,2.2rem)}.preview-role{font-size:.9rem}.preview-tagline{font-size:.85rem}.preview-about-title,.preview-projects-title,.preview-experience-title{font-size:clamp(1.2rem,5.2vw,1.7rem)}.preview-about-text p{font-size:.88rem;line-height:1.38}.preview-currently-card{grid-template-columns:minmax(0,1fr);row-gap:0;display:grid}.preview-currently-card .preview-currently-label{margin:0 0 .26rem;position:static;top:auto;left:auto;right:auto}.preview-currently-card .preview-currently-top{height:auto;min-height:62px;position:static;top:auto;left:auto;right:auto}.preview-currently-card .preview-currently-description{margin:.44rem 0 0}.preview-currently-image{width:52px;height:62px}}@media (width<=480px){.preview-panel .window-shell{min-height:min(250px,48dvh)}.preview-default{padding:.7rem}.preview-commands{font-size:.78rem}.preview-currently-title{margin:0 0 .48rem;font-size:.76rem}.preview-currently-card{padding:.42rem .64rem .52rem}.preview-currently-item-title{font-size:.9rem}.preview-currently-subtitle{font-size:.72rem}.preview-currently-card .preview-currently-description{font-size:.64rem}}
