:root{--go:#00add8;--go-rgb:0, 173, 216;--godeep:#007d9c;--go-fg:#001318;--sans:"Space Grotesk", ui-sans-serif, system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}html,body{height:100%;margin:0}body{font-family:var(--sans)}::selection{background:var(--go);color:var(--go-fg)}*{box-sizing:border-box}a{color:inherit;text-decoration:none}button{font-family:inherit}.deck-root{--bg:#080a0c;--card-bg:#0d1217;--fg:#e4e4e7;--fg-muted:#a1a1aa;--fg-mute2:#71717a;--fg-mute3:#52525b;--line:#ffffff1a;--line-strong:#ffffff29;--surface:#ffffff0d;--surface-2:#ffffff14;--chip-bg:#ffffff0d;background:radial-gradient(60% 50% at 50% 8%, rgba(var(--go-rgb), .16), transparent 70%), radial-gradient(50% 40% at 85% 90%, rgba(var(--go-rgb), .08), transparent 70%), linear-gradient(rgba(var(--go-rgb), .05), rgba(var(--go-rgb), .05)), var(--bg);width:100%;min-height:100vh;color:var(--fg);flex-direction:column;justify-content:center;align-items:center;padding:1rem;transition:background-color .5s,color .5s;display:flex}.deck-root.light{--bg:#eef2f3;--card-bg:#fff;--fg:#18181b;--fg-muted:#52525b;--fg-mute2:#71717a;--fg-mute3:#a1a1aa;--line:#0f172a14;--line-strong:#0f172a29;--surface:#ffffffb3;--surface-2:#ffffffd9;--chip-bg:#f4f4f5}.topbar{font-family:var(--mono);justify-content:space-between;align-items:center;padding:1rem 1.25rem;font-size:12px;display:flex}.topbar-fixed{z-index:40;position:fixed;top:0;left:0;right:0}.topbar-incard{padding:.875rem 1.25rem .25rem;display:none}.topbar .brand{color:var(--go);align-items:center;gap:.5rem;display:flex}.topbar .brand .dot{background:var(--go);border-radius:999px;width:8px;height:8px;animation:2s ease-in-out infinite pulse}.topbar .brand .name{opacity:.8}.topbar .brand .sep{opacity:.4}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}.theme-btn{border:1px solid var(--line-strong);color:inherit;font-family:var(--mono);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:.5rem;padding:6px 12px;font-size:12px;transition:border-color .2s;display:inline-flex}.theme-btn:hover{border-color:rgba(var(--go-rgb), .5)}.theme-btn .lbl{opacity:.7}.topbar-actions{align-items:center;gap:8px;display:inline-flex}.lang-btn{border:1px solid var(--line-strong);color:inherit;font-family:var(--mono);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:.4rem;padding:6px 10px;font-size:12px;transition:border-color .2s;display:inline-flex}.lang-btn:hover{border-color:rgba(var(--go-rgb), .5)}.lang-btn .lbl{opacity:.7}.scene{perspective:1800px;justify-content:center;align-items:center;width:100%;max-width:640px;height:620px;display:flex;position:relative}.stackcard{border-radius:26px;position:absolute;box-shadow:0 24px 60px -28px #000000b3}.deck-root.light .stackcard{box-shadow:0 24px 50px -28px #1e323c66}.stackcard.back-1{background:var(--surface);border:1px solid var(--line);width:90%;height:88%;transform:translateY(34px)scale(.9)rotate(-3deg)}.stackcard.back-2{background:var(--surface-2);border:1px solid var(--line-strong);width:94%;height:92%;transform:translateY(18px)scale(.95)rotate(2deg)}.card{background:linear-gradient(rgba(var(--go-rgb), .04), rgba(var(--go-rgb), .04)), var(--card-bg);border:1px solid var(--line-strong);width:100%;height:100%;transform-style:preserve-3d;will-change:transform;box-shadow:0 0 0 1px rgba(var(--go-rgb), .25), 0 24px 70px -24px rgba(var(--go-rgb), .35), 0 24px 60px -28px #000000b3;border-radius:26px;transition:transform .46s cubic-bezier(.5,.05,.2,1),opacity .3s;position:relative;overflow:hidden}.card.flip{opacity:.2;transform:rotateY(-92deg)scale(.96)}.card .top-stripe{background:linear-gradient(90deg, var(--go), rgba(var(--go-rgb), .4), transparent);height:4px;position:absolute;top:0;left:0;right:0}.card-head{justify-content:space-between;align-items:center;padding:1.5rem 1.75rem .75rem;display:flex}.card-head .left{align-items:center;gap:.625rem;display:flex}.card-head .left .head-icon{color:var(--go);display:inline-flex}.card-head .left .head-title{font-family:var(--mono);text-transform:uppercase;letter-spacing:.18em;color:var(--fg-mute3);font-size:12px}.card-head .head-index{font-family:var(--mono);color:var(--fg-mute3);font-size:12px}.card-body{height:calc(100% - 60px);padding:0 1.75rem 1.75rem;overflow-y:auto}.card-body::-webkit-scrollbar{width:7px}.card-body::-webkit-scrollbar-thumb{background:rgba(var(--go-rgb), .3);border-radius:99px}.dock{border:1px solid var(--line-strong);background:var(--surface);-webkit-backdrop-filter:blur(16px);border-radius:1rem;align-items:flex-end;gap:.5rem;margin-top:1.75rem;padding:.625rem .75rem;display:flex;box-shadow:0 10px 25px -10px #0006}.dockbtn{width:48px;height:48px;color:var(--fg-mute2);cursor:pointer;transform-origin:bottom;will-change:transform;background:0 0;border:1px solid #0000;border-radius:12px;place-items:center;transition:transform .18s cubic-bezier(.3,1.3,.5,1),background .2s,color .2s,border-color .2s;display:grid;position:relative}.dockbtn:hover{color:var(--go)}.deck-root.light .dockbtn:hover{color:var(--godeep)}.dockbtn.active{background:rgba(var(--go-rgb), .15);color:var(--go);border-color:rgba(var(--go-rgb), .4)}.deck-root.light .dockbtn.active{color:var(--godeep)}.navlabel{font-family:var(--mono);letter-spacing:.04em;color:var(--fg-mute2);margin-top:.625rem;font-size:11px}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.rise{animation:.5s cubic-bezier(.2,.7,.2,1) both rise}.about{text-align:center;flex-direction:column;align-items:center;padding-top:.5rem;display:flex}.about .photo{object-fit:cover;object-position:center 15%;width:112px;height:112px;box-shadow:0 0 0 1px rgba(var(--go-rgb), .4);border-radius:1rem}.about .monogram{background:rgba(var(--go-rgb), .15);width:112px;height:112px;box-shadow:inset 0 0 0 1px rgba(var(--go-rgb), .4);color:var(--go);border-radius:1rem;place-items:center;font-size:30px;font-weight:700;display:grid}.about .name{white-space:nowrap;color:var(--fg);margin:1rem 0 0;font-size:18px;font-weight:700;line-height:1.3}.deck-root.light .about .name{color:#09090b}.about .role{font-family:var(--mono);color:var(--go);margin-top:.5rem;font-size:12px}.about .bio{color:var(--fg-muted);margin-top:1rem;font-size:14.5px;line-height:1.65}.about .bio+.bio{margin-top:.625rem}.about .tags{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:1.25rem;display:flex}.about .chip{font-family:var(--mono);background:var(--chip-bg);border:1px solid var(--line);color:var(--fg-mute2);border-radius:999px;padding:4px 12px;font-size:11px}.skills{flex-direction:column;gap:1rem;padding-top:.25rem;display:flex}.skill-row .meta{justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.skill-row .skill-name{color:var(--fg);font-weight:600}.deck-root.light .skill-row .skill-name{color:#09090b}.skill-row .stack{font-family:var(--mono);color:var(--fg-mute3);font-size:11px}.skill-row .bar-row{align-items:center;gap:12px;display:flex}.skill-row .bar{background:var(--surface-2);border-radius:999px;flex:1;height:8px;overflow:hidden}.skill-row .bar>i{background:var(--go);border-radius:999px;height:100%;display:block}.skill-row .since{font-family:var(--mono);color:var(--fg-mute3);text-align:right;width:48px;font-size:11px}.experience{padding-top:.25rem}.work-item{border-left:1px solid var(--line);padding-bottom:1rem;padding-left:1.25rem;position:relative}.work-item .node{background:var(--fg-mute3);border-radius:999px;width:10px;height:10px;position:absolute;top:6px;left:-5px}.work-item .node.current{background:var(--go);box-shadow:0 0 0 4px rgba(var(--go-rgb), .2)}.work-item .top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.work-item .role{color:var(--fg);font-size:15px;font-weight:600}.deck-root.light .work-item .role{color:#09090b}.work-item .period{font-family:var(--mono);color:var(--fg-mute3);flex-shrink:0;font-size:10.5px}.work-item .company{color:var(--go);font-size:13px;font-family:var(--mono)}.work-item .desc{color:var(--fg-mute2);margin:.25rem 0 0;font-size:12.5px;line-height:1.6}.education-list{flex-direction:column;gap:.75rem;padding-top:.25rem;display:flex}.edu-item{border:1px solid var(--line);border-radius:1rem;gap:.75rem;padding:.875rem;display:flex}.edu-item .icon-wrap{color:var(--go);margin-top:2px}.edu-item .degree{color:var(--fg);font-size:15px;font-weight:600}.deck-root.light .edu-item .degree{color:#09090b}.edu-item .school{color:var(--fg-mute2);font-size:13px}.edu-item .years{font-family:var(--mono);color:var(--fg-mute3);margin-top:2px;font-size:11px}.link-list{flex-direction:column;gap:.625rem;padding-top:.25rem;display:flex}.link-card{border:1px solid var(--line);background:0 0;border-radius:1rem;padding:1rem;transition:border-color .2s,background .2s;display:block}.link-card:hover{border-color:rgba(var(--go-rgb), .5);background:rgba(var(--go-rgb), .04)}.link-card .row{justify-content:space-between;align-items:center;display:flex}.link-card .title{color:var(--fg);font-weight:600}.deck-root.light .link-card .title{color:#09090b}.role-badge{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;background:rgba(var(--go-rgb), .12);color:var(--go);border-radius:999px;padding:2px 8px;font-size:10px}.deck-root.light .role-badge{color:var(--godeep)}.link-card .note{color:var(--fg-mute2);margin-top:4px;font-size:12.5px}.resume-list{flex-direction:column;gap:.75rem;padding-top:.25rem;display:flex}.resume-row{flex-direction:column;align-items:stretch;gap:1rem;padding:1rem;display:flex}.resume-card{border:1px solid var(--line);border-radius:1rem;align-items:center;gap:1rem;width:100%;padding:1rem;transition:border-color .2s,background .2s;display:flex}.resume-card:hover{border-color:rgba(var(--go-rgb), .5);background:rgba(var(--go-rgb), .04)}.resume-card .icon-wrap{color:var(--go);display:inline-flex}.resume-card .meta{flex:1}.resume-card .lang{color:var(--fg);font-weight:600}.deck-root.light .resume-card .lang{color:#09090b}.resume-card .file{font-family:var(--mono);color:var(--fg-mute3);font-size:11px}.resume-card .pill{background:var(--go);color:var(--go-fg);border-radius:12px;padding:8px 14px;font-size:12px;font-weight:600}.resume-updated{text-align:center;font-family:var(--mono);color:var(--fg-mute3);margin-top:.5rem;font-size:11px}.contact-list{flex-direction:column;gap:.625rem;padding-top:.25rem;display:flex}.contact-link{border:1px solid var(--line);border-radius:1rem;justify-content:space-between;align-items:center;padding:1rem;transition:border-color .2s,background .2s;display:flex}.contact-link:hover{border-color:rgba(var(--go-rgb), .5);background:rgba(var(--go-rgb), .04)}.contact-link .left{align-items:center;gap:.75rem;display:flex}.contact-link .left .icon-wrap{color:var(--go);display:inline-flex}.contact-link .label{color:var(--fg);font-weight:600}.deck-root.light .contact-link .label{color:#09090b}.contact-link .handle{font-family:var(--mono);color:var(--go);font-size:12px}.personal{font-family:var(--mono);grid-template-columns:auto 1fr;gap:8px 16px;margin-top:.75rem;padding:0 4px;font-size:11.5px;display:grid}.personal .k{color:var(--fg-mute3)}.personal .v{text-align:right;color:var(--fg)}.deck-root.light .personal .v{color:#18181b}@media (prefers-reduced-motion:reduce){.card,.card.flip{opacity:1!important;transition:none!important;transform:none!important}.rise{animation:none!important}.dockbtn{transition:none!important}.topbar .brand .dot{animation:none!important}}@media (width<=640px){.deck-root{padding-bottom:96px}.dock{width:100%;padding:.625rem .5rem calc(.625rem + env(safe-area-inset-bottom));z-index:40;border-bottom:none;border-radius:1rem 1rem 0 0;justify-content:space-around;gap:0;margin-top:0;position:fixed;bottom:0;left:0;right:0}.dockbtn{transform:none!important}.navlabel,.topbar-fixed{display:none}.topbar-incard{display:flex}.card-body{height:calc(100% - 96px)}.theme-btn{border:none;border-radius:0;gap:0;padding:4px}.theme-btn:hover{border-color:#0000}.theme-btn .lbl{display:none}.topbar-actions{gap:4px}.lang-btn{border:none;border-radius:0;gap:0;padding:4px}.lang-btn:hover{border-color:#0000}.lang-btn .lbl{display:none}}.gopher{z-index:5;pointer-events:none;will-change:transform;opacity:0;filter:drop-shadow(0 6px 12px rgba(var(--go-rgb), .15));transition:opacity .9s ease-in-out;position:fixed;top:0;left:0}.gopher.visible{opacity:.35}.gopher.exploding{opacity:.9;transition:opacity .2s ease-out}.gopher-flip{transform-origin:50%;pointer-events:none;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;display:block}.gopher.visible .gopher-flip{pointer-events:auto}.gopher-bob{transform-origin:bottom;display:block}.gopher-bob svg{display:block}@keyframes gopher-walk{0%,to{transform:translateY(0)rotate(0)}25%{transform:translateY(-3px)rotate(-3deg)}75%{transform:translateY(-3px)rotate(3deg)}}.gopher-bob.walking svg{animation:.5s ease-in-out infinite gopher-walk}.gopher-boom{pointer-events:none;position:absolute;top:32px;left:26px}.gopher-boom .poof-ring{border:3px solid rgba(var(--go-rgb), .7);border-radius:50%;width:30px;height:30px;margin-top:-15px;margin-left:-15px;animation:.6s ease-out forwards gopher-poof;position:absolute;top:0;left:0}.gopher-boom .particle{border-radius:50%;animation:.7s cubic-bezier(.2,.6,.3,1) forwards gopher-pop;position:absolute;top:0;left:0}@keyframes gopher-poof{0%{opacity:1;transform:scale(.4)}to{opacity:0;transform:scale(3.6)}}@keyframes gopher-pop{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale(.2);opacity:0}}@media (prefers-reduced-motion:reduce){.gopher{display:none}}.print-root{--go:#00add8;--godeep:#007d9c;--ink:#16181c;--muted:#5b6168;--line:#e4e8ea;color:var(--ink);font-family:var(--sans);background:#f3f5f6;min-height:100vh}.print-root .page{background:#fff;width:210mm;min-height:297mm;margin:10mm auto;padding:15mm 16mm;position:relative;overflow:hidden;box-shadow:0 10px 40px #1428321f}.print-root .page:before{content:"";background:linear-gradient(90deg, var(--go), #00add840 55%, transparent);height:5px;position:absolute;top:0;left:0;right:0}.print-root .label{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--godeep);align-items:center;gap:8px;margin-bottom:12px;font-size:10px;display:flex}.print-root .label.right{justify-content:flex-end}.print-root .label:before{content:"";background:var(--go);width:18px;height:1px;display:inline-block}.print-root .label.right:before{display:none}.print-root .label.right:after{content:"";background:var(--go);width:18px;height:1px;display:inline-block}.print-root .mono{font-family:var(--mono)}.print-root .header{align-items:flex-start;gap:24px;display:flex}.print-root .header img,.print-root .header .initials{object-fit:cover;object-position:center 15%;width:104px;height:104px;box-shadow:0 0 0 1px var(--line);border-radius:16px;flex-shrink:0}.print-root .header .initials{color:var(--godeep);background:#00add81f;place-items:center;font-size:30px;font-weight:700;display:grid}.print-root .header h1{letter-spacing:-.01em;color:var(--ink);margin:0;font-size:30px;font-weight:700;line-height:1.05}.print-root .header .role{font-family:var(--mono);color:var(--godeep);margin-top:6px;font-size:13px}.print-root .header .meta{font-family:var(--mono);color:var(--muted);flex-wrap:wrap;gap:6px 18px;margin-top:12px;font-size:11px;display:flex}.print-root .header .meta a{color:var(--godeep)}.print-root .bio{color:#2c3036;max-width:60ch;margin-top:18px;font-size:13.5px;line-height:1.6}.print-root .chips{gap:8px;margin-top:12px;display:flex}.print-root .chip{font-family:var(--mono);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:3px 9px;font-size:10.5px}.print-root .section{margin-top:26px}.print-root .skill-grid{grid-template-columns:1fr 1fr;gap:16px 28px;display:grid}.print-root .skill-cell .top{justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.print-root .skill-cell .nm{font-size:14px;font-weight:600}.print-root .skill-cell .since{font-family:var(--mono);color:var(--muted);font-size:10.5px}.print-root .bar{background:#e7eaec;border-radius:999px;height:7px;overflow:hidden}.print-root .bar>i{background:var(--go);border-radius:999px;height:100%;display:block}.print-root .skill-cell .stack{font-family:var(--mono);color:var(--muted);margin-top:5px;font-size:10px}.print-root .work-item{border-left:1px solid var(--line);padding-left:20px;position:relative}.print-root .work-item+.work-item{padding-top:14px}.print-root .work-item .node{background:#c7ccd0;width:9px;height:9px;position:absolute;top:6px;left:-5px;transform:rotate(45deg)}.print-root .work-item .node.current{background:var(--go)}.print-root .work-item .top{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.print-root .work-item .role{font-size:14px;font-weight:600}.print-root .work-item .role .at{font-family:var(--mono);color:var(--godeep);font-size:12px;font-weight:400}.print-root .work-item .period{font-family:var(--mono);color:var(--muted);font-size:10px}.print-root .work-item .desc{color:var(--muted);margin-top:3px;font-size:11.5px;line-height:1.5}.print-root .two-col{grid-template-columns:1fr 1fr;gap:30px;margin-top:26px;display:grid}.print-root .two-col .item+.item{margin-top:12px}.print-root .edu .degree{font-size:13px;font-weight:600;line-height:1.25}.print-root .edu .school{color:var(--muted);font-size:12px}.print-root .edu .years{font-family:var(--mono);color:var(--godeep);margin-top:2px;font-size:10.5px}.print-root .comm .row{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.print-root .comm .ttl{font-size:13px;font-weight:600}.print-root .comm .badge{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--godeep);border:1px solid var(--line);border-radius:999px;padding:1px 7px;font-size:9px}.print-root .comm .note{color:var(--muted);margin-top:2px;font-size:11px}.print-root .footer{border-top:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:20px;margin-top:26px;padding-top:14px;display:flex}.print-root .footer .grid{font-family:var(--mono);color:var(--muted);grid-template-columns:auto auto;gap:3px 14px;font-size:11px;display:grid}.print-root .footer .grid .v{color:var(--ink)}.print-root .footer .right{text-align:right}.print-root .footer .resume-links{font-family:var(--mono);color:var(--muted);font-size:11px}.print-root .footer .resume-links a{color:var(--godeep)}.print-root .footer .copyright{font-family:var(--mono);color:#aab0b5;margin-top:10px;font-size:9.5px}@page{size:A4 portrait;margin:0}@media print{html,body,.print-root{background:#fff}.print-root .page{box-shadow:none;width:auto;min-height:auto;margin:0;padding:14mm 15mm}.print-root .page+.page{break-before:page}*,:before,:after{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;transition-duration:0s!important;animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:-99s!important;animation-fill-mode:both!important}}
