.home{position:relative;min-height:100vh;overflow:hidden;background-image:radial-gradient(circle,rgba(255,255,255,.104) 1.4px,transparent 1.4px);background-size:22px 22px}.home-content{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:8rem 7rem;color:var(--text)}@media (min-width: 768px){.home-content{padding-right:calc(var(--snake-reserved-width) + var(--snake-inset-inline) + 1.5rem)}}.home-content-primary{width:100%;max-width:min(60rem,100%)}.home-heading{font-family:var(--serif);font-size:7.9rem;line-height:1;font-weight:400;color:var(--text);letter-spacing:.02em}.home-dots{font-family:var(--mono);font-size:1.5rem;letter-spacing:.4em;color:var(--text);margin-top:1.5rem;line-height:1}.home-subheading{font-size:1.5rem;color:var(--text-dim);font-weight:300;line-height:1.6;margin-top:1rem}.home-cta-links{display:flex;flex-direction:column;align-items:flex-start;gap:.9rem;margin-top:2rem;padding-left:0}.feed-link{color:#fff;font-weight:700;display:inline-block;transition:color .2s ease,transform .2s ease;font-size:clamp(1.2rem,1.6vw,1.5rem);letter-spacing:.04em;text-decoration:none;transform-origin:center center}.feed-link:hover{color:var(--green);transform:scale(1.05);text-decoration:none}.decision-link{padding-left:calc(clamp(2rem,16vw,19rem) + 3rem)}.home-bottom-sections{display:flex;gap:4rem;align-items:flex-start;margin-top:2rem}.home-link-group{display:flex;flex-direction:column}.snake-hover-container{position:fixed;top:5.5rem;bottom:5.5rem;right:3rem;-webkit-backdrop-filter:blur(3.8px);backdrop-filter:blur(3.8px);-webkit-mask-image:url(/assets/snake-main-state-21-apr-2026.png);mask-image:url(/assets/snake-main-state-21-apr-2026.png);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;z-index:99}.snake-main{position:relative;display:block;width:auto;height:100%;pointer-events:none}.tomato-zone{position:absolute;transform:translate(-50%,-50%);z-index:3;cursor:pointer;overflow:hidden;clip-path:ellipse(50% 50% at 50% 50%)}.tomato-zone-top{left:16.5%;top:21.5%;width:36%;aspect-ratio:796 / 748}.tomato-zone-middle{left:48%;top:64%;width:38%;aspect-ratio:824 / 808}.tomato-zone-bottom{left:14%;top:88%;width:31%;aspect-ratio:660 / 680}.dojo-eye{position:fixed;z-index:100;width:clamp(95px,12.9vh,165px);height:auto;pointer-events:none;image-rendering:pixelated;line-height:0}.dojo-eye svg{display:block;width:100%;height:auto}.dojo-eye .eye-pupil-group{transition:transform .15s ease-out}.dojo-eye-left{top:43vh;left:54.4vw}.dojo-eye-right{bottom:17.2vh;right:2vw}.dojo-ketchup{position:fixed;z-index:90;width:clamp(176px,20.9vh,275px);height:auto;right:calc(56vh + .5rem);bottom:14vh;pointer-events:auto;transform:rotate(-16deg);transform-origin:center center;transition:transform .3s ease-out}.dojo-ketchup:hover{transform:rotate(-22deg)}.tomato-overlay{position:absolute;top:5%;right:5%;bottom:5%;left:5%;width:90%;height:90%;object-fit:contain;transition:opacity .2s ease;pointer-events:none}@media (max-width: 767px){html,body{height:100%;overflow:hidden;overscroll-behavior:none}.home{height:100lvh;min-height:auto;overflow:hidden}.home-content{min-height:auto;height:100%}.snake-hover-container,.dojo-eye,.dojo-ketchup{position:absolute}.dojo-eye{width:14.4vw}.dojo-eye-left{bottom:40lvh;left:6vw;top:auto;right:auto}.dojo-eye-right{bottom:25lvh;right:7vw;top:auto;left:auto}.dojo-ketchup{width:24.4vw;top:calc(53lvh - 1.5rem);bottom:auto;left:calc(10vw + 2rem);right:auto;transform:rotate(-16deg);transform-origin:center center;transition:none}.dojo-ketchup:hover{transform:rotate(-16deg)}.snake-hover-container{top:auto;top:44lvh;bottom:auto;right:3rem;left:auto;height:36lvh;max-height:36lvh}.home-content{padding:2rem 1.5rem 2.5rem;justify-content:space-between;gap:0}.home-heading{font-size:5rem;line-height:.88}.home-dots{margin-top:1.25rem}.home-subheading{margin-top:.6rem;font-size:1.1rem}.home-subheading-nowrap{white-space:nowrap}.home-cta-links{margin-top:1rem}.home-bottom-sections{flex-direction:row;gap:2rem;align-items:flex-start}.home-cta-links{padding-left:0}.decision-link{padding-left:1.5rem}}@media (max-width: 480px){.home-content{padding:4rem 2rem 1.5rem;justify-content:space-between}.home-heading{font-size:4rem}}.game-shell{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg);background-image:radial-gradient(circle,rgba(255,255,255,.05) 1px,transparent 1px);background-size:18px 18px;color:var(--text)}.game-container.intro{align-items:stretch;justify-content:flex-start}.intro-content{display:flex;flex-direction:column;justify-content:center;gap:clamp(.75rem,1.5vw,1.5rem);width:100%;height:100%;padding:clamp(1.75rem,3.5vw,3.5rem) clamp(1.75rem,4.5vw,4rem)}.game-title{display:flex;flex-direction:column;align-items:flex-start;gap:0}.title-feed,.title-felinesnakes{font-family:var(--serif);font-weight:400;line-height:1;font-size:clamp(2.25rem,6.5vw,6rem);letter-spacing:-.01em}.title-feed{color:var(--text)}.title-felinesnakes{color:#95fac1}.instructions{display:flex;flex-direction:column;gap:.25rem;margin-top:.5rem}.instructions p{font-family:var(--mono);font-size:clamp(.85rem,1.2vw,1.15rem);letter-spacing:.02em;color:var(--text);font-weight:400;line-height:1.3}.instructions .faded{color:#515151}.play-button{font-family:var(--mono);font-size:clamp(.95rem,1.3vw,1.25rem);letter-spacing:.02em;color:#95fac1;text-decoration:underline;text-underline-offset:4px;cursor:pointer;padding:.25rem 0;margin-top:clamp(.75rem,2vw,1.5rem);transition:color .2s ease,transform .15s ease;align-self:flex-start}.play-button:hover{color:var(--green-soft);transform:translateY(-1px)}.game-shell.play{display:grid;grid-template-rows:1fr auto;padding:4.5rem 2.5rem 2rem;gap:1.25rem}.game-container{position:relative;display:flex;align-items:center;justify-content:center;min-height:0;background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius-card);overflow:hidden;background-image:radial-gradient(circle,rgba(255,255,255,.07) 1px,transparent 1px);background-size:18px 18px}.game-container.playing,.game-container.playing canvas{cursor:none}.game-container canvas{display:block;width:100%;height:100%}.game-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;padding:0 .5rem}.bottom-sections{display:flex;gap:3.5rem;align-items:flex-start}.game-overlay-instructions{position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%);text-align:center;pointer-events:none;z-index:10;display:flex;flex-direction:column;gap:.3rem;width:max-content;max-width:calc(100% - 2rem)}.game-overlay-instructions p{font-family:var(--mono);font-size:clamp(.9rem,1.1vw,1.1rem);letter-spacing:.02em;color:var(--text);line-height:1.3}.game-overlay-instructions .faded{color:#515151}.game-overlay-instructions .instr-keys,.game-overlay-instructions .instr-sep,.game-overlay-instructions .instr-tap{display:inline}.nav-controls{display:flex;flex-direction:column;align-items:center;gap:.6rem}.nav-row{display:flex;gap:.75rem}.nav-btn{--size: 54px;width:var(--size);height:var(--size);border-radius:50%;background:var(--btn-idle);color:var(--text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,color .15s ease,transform .1s ease,box-shadow .2s ease;box-shadow:0 2px 8px #00000059}.nav-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.nav-btn:hover,.nav-btn:focus-visible{background:var(--green);color:#0a0a0a;outline:none;box-shadow:0 0 0 2px #4ade8024,0 6px 18px #4ade8040}.nav-btn:active{transform:scale(.94)}.score-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:100}.score-card{position:relative;background:#1a1a1a;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-card);padding:3rem 3.25rem 2.25rem;width:min(460px,92vw);text-align:center;box-shadow:0 30px 80px #0009}.close-btn{position:absolute;top:.9rem;right:1.1rem;font-family:var(--mono);font-size:1rem;color:var(--text-faded);cursor:pointer;padding:.25rem .5rem;transition:color .15s ease}.close-btn:hover{color:var(--text)}.score-title{font-family:var(--serif);font-weight:400;font-size:clamp(2.25rem,5vw,3rem);line-height:1.05;color:var(--text);margin-bottom:1.25rem}.score-text{font-size:.95rem;letter-spacing:.04em;color:var(--green);margin-bottom:1.25rem;display:inline-flex;align-items:center;gap:.35rem;justify-content:center}.score-text .score-value{color:var(--text);font-variant-numeric:tabular-nums}.score-tomato{display:inline-block;width:12px;height:12px;background:var(--tomato);border-radius:50%;position:relative;top:1px;box-shadow:inset -2px -2px #00000026}.score-tomato:before{content:"";position:absolute;top:-3px;left:50%;transform:translate(-50%);width:6px;height:3px;background:var(--green);border-radius:1px}.prompt-text{font-size:.9rem;color:var(--text-faded);line-height:1.5;margin-bottom:1.75rem}.score-buttons{display:flex;gap:2rem;justify-content:center;align-items:center;flex-wrap:wrap}.score-btn{font-family:var(--mono);font-size:.9rem;letter-spacing:.08em;color:var(--text);cursor:pointer;padding:.25rem 0;text-decoration:none;transition:color .15s ease}.score-btn:hover,.score-btn:focus-visible{color:var(--green);text-decoration:underline;text-underline-offset:4px;outline:none}@media (max-width: 900px){.game-shell.play{padding:3.5rem 1.25rem 1.25rem}.nav-btn{--size: 46px}}@media (max-width: 640px){.game-shell.play{padding:3rem 1rem 1rem;gap:1rem}.game-shell.play .top-left{top:1rem;left:1rem}.game-shell.play .top-right{top:1rem;right:1rem}.nav-controls{display:none}.game-footer{flex-direction:row;align-items:flex-end;justify-content:flex-start;gap:0;padding:0}.bottom-sections{flex-direction:row;gap:2rem}.game-overlay-instructions{left:1.25rem;right:1.25rem;transform:none;text-align:left;bottom:1.25rem;width:auto;max-width:none}.game-overlay-instructions .instr-keys,.game-overlay-instructions .instr-tap{display:block}.game-overlay-instructions .instr-sep{display:none}.score-card{padding:2.25rem 1.75rem 1.75rem}.score-buttons{gap:1.25rem}}@media (max-width: 420px){.nav-btn{--size: 42px}.nav-btn svg{width:18px;height:18px}}.cv-container{display:grid;grid-template-columns:1fr 2fr;gap:4rem;max-width:1400px;margin:0 auto;padding:3rem 4rem;height:100vh;background-image:radial-gradient(circle,rgba(255,255,255,.07) 1px,transparent 1px);background-size:20px 20px;overflow:hidden}.cv-left{display:flex;flex-direction:column;gap:2rem;height:100%;overflow-y:auto;padding-right:.5rem}.cv-left .go-back{align-self:flex-start}.name-section{display:flex;flex-direction:column;gap:.5rem}.name{font-family:var(--serif);font-size:clamp(2.5rem,5vw,4rem);font-weight:400;color:var(--text);line-height:1.2}.title{font-size:clamp(.9rem,1.5vw,1.1rem);color:var(--text-dim);font-weight:300}.about-section,.cv-contact-section{display:flex;flex-direction:column;gap:.5rem}.section-heading{font-family:var(--serif);font-size:clamp(1.8rem,3vw,2.5rem);font-weight:400;color:var(--text)}.divider{width:100%;height:1px;background-color:#fff3;margin:.5rem 0}.about-text{font-size:.9rem;color:var(--text-dim);font-weight:300;line-height:1.6}.contact-links{display:flex;flex-direction:column;gap:1rem}.contact-link{display:flex;justify-content:space-between;align-items:center;font-size:clamp(.85rem,1.2vw,1rem);color:var(--text);font-weight:300;padding:.5rem 0;transition:all .2s ease;border-radius:2px}.contact-link:hover,.contact-link:focus-visible{background-color:var(--green);color:#0a0a0a;padding:.5rem 1rem;font-weight:400;outline:none}.arrow{font-size:1rem;margin-left:.5rem}.cv-right{display:flex;flex-direction:column;gap:1.5rem;height:100%;overflow-y:auto;padding-right:.5rem}.nav-tabs{display:flex;flex-direction:row;gap:2rem;align-items:flex-start;flex-wrap:wrap}.nav-tab{font-family:var(--serif);font-size:clamp(1.5rem,2.5vw,2rem);font-weight:400;color:var(--text);cursor:pointer;padding:.25rem 0;text-align:left;transition:color .2s ease}.nav-tab:hover,.nav-tab:focus-visible{color:var(--green);outline:none}.nav-tab.active{color:var(--green)}.content-section{position:relative;min-height:400px}.section-content{display:flex;flex-direction:column;gap:2rem}.education-item{display:flex;flex-direction:column;gap:.5rem}.institution{font-size:clamp(1rem,1.5vw,1.2rem);font-weight:400;color:var(--text)}.date-location,.degree{font-size:clamp(.85rem,1.2vw,1rem);color:var(--text);font-weight:300}.major{font-size:clamp(.85rem,1.2vw,1rem);color:var(--text-dim);font-weight:300}.experience-item{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-start;gap:2rem}.experience-item>div{display:flex;flex-direction:column;gap:.5rem}.experience-item>div:nth-child(1){width:30%;min-width:200px}.experience-item>div:nth-child(2){width:60%}.job-title{font-size:clamp(1rem,1.5vw,1.2rem);font-weight:600;color:var(--text)}.company-row{display:flex;align-items:center;gap:.5rem;margin-top:.25rem}.company{font-size:clamp(.9rem,1.3vw,1.1rem);font-weight:400;color:var(--text)}.location{font-size:clamp(.85rem,1.2vw,1rem);color:var(--text);font-weight:300}.job-details{margin-top:1rem;display:flex;flex-direction:column;gap:.75rem}.job-details li{font-size:.9rem;color:var(--text-dim);font-weight:300;line-height:1.6;padding-left:1rem;position:relative}.job-details li:before{content:"•";position:absolute;left:0;color:var(--green)}.skills-container{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}.skills-category{display:flex;flex-direction:column;gap:1rem}.category-title{font-size:clamp(1rem,1.5vw,1.2rem);font-weight:400;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em}.skills-list{display:flex;flex-direction:column;gap:.5rem}.skills-list li{font-size:clamp(.85rem,1.2vw,1rem);color:var(--text-dim);font-weight:300;padding-left:1rem;position:relative}.skills-list li:before{content:"•";position:absolute;left:0;color:var(--green)}.tool-category{font-size:clamp(.9rem,1.3vw,1.1rem);color:var(--text);font-weight:400;margin-top:.5rem}.tool-list{font-size:clamp(.85rem,1.2vw,1rem);color:var(--text-dim);font-weight:300;margin-top:.25rem;margin-bottom:.5rem}.cv-accordion{display:none}.cv-accordion .go-back{display:inline-block;margin-bottom:2rem}.cv-accordion .name-section{margin-bottom:.5rem}.accordion-item{border-bottom:1px solid rgba(255,255,255,.1)}.accordion-header{width:100%;display:block;padding:1rem 0;font-family:var(--serif);font-size:2rem;font-weight:400;color:var(--text);cursor:pointer;text-align:left;transition:color .2s ease}.accordion-header.open{color:var(--green)}.accordion-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}.accordion-body.open{grid-template-rows:1fr}.accordion-inner{overflow:hidden}.accordion-body.open .accordion-inner{padding:1rem 0 1.5rem;border-top:1px solid rgba(255,255,255,.12)}@media (max-width: 1024px){.cv-container{grid-template-columns:1fr;gap:3rem;padding:2rem;height:auto;min-height:100vh;overflow:visible}.cv-left,.cv-right{height:auto;overflow:visible;padding-right:0}.cv-right{margin-top:2rem}}@media (max-width: 768px){.cv-left,.cv-right{display:none}.cv-accordion{display:flex;flex-direction:column;gap:0}.cv-container{display:block;padding:1.5rem;height:auto;min-height:100vh;overflow:visible}.name{font-size:2rem}.section-heading,.nav-tab{font-size:1.5rem}.content-section{min-height:300px}.skills-container{grid-template-columns:1fr}.experience-item{flex-direction:column;gap:1rem}.experience-item>div:nth-child(1),.experience-item>div:nth-child(2){width:100%}}@media (max-width: 480px){.cv-container{padding:1rem}.name{font-size:1.75rem}.title{font-size:.85rem}.section-heading{font-size:1.25rem}.nav-tabs{gap:.75rem}.nav-tab{font-size:1.3rem}}:root{--bg: #0a0a0a;--panel: #121212;--panel-border: rgba(255, 255, 255, .06);--text: #e9e9e9;--text-dim: #d0d0d0;--text-faded: rgba(255, 255, 255, .55);--green: #4ade80;--green-soft: #86efac;--tomato: #ef4444;--btn-idle: #2a2a2a;--btn-idle-hover: #3a3a3a;--radius-card: 20px;--mono: "Inconsolata", ui-monospace, SFMono-Regular, Menlo, monospace;--serif: "Instrument Serif", Georgia, serif;--snake-inset-inline: 3rem;--snake-reserved-width: clamp(200px, 32vw, 360px);--snake-mobile-height: min(52vh, 340px)}*{margin:0;padding:0;box-sizing:border-box}html,body{cursor:url(/tomato-cursor.png) 16 14,auto}*{cursor:inherit}body{font-family:var(--mono);background:var(--bg);color:var(--text);min-height:100vh;width:100vw;position:relative}#root{min-height:100vh}html,body,*{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar,body::-webkit-scrollbar,*::-webkit-scrollbar{width:0;height:0;display:none}a{color:inherit;text-decoration:none}button{font-family:inherit;color:inherit;background:none;border:none}ul{list-style:none}.link{display:inline-block;font-size:1.3rem;letter-spacing:.04em;color:var(--text-dim);font-weight:300;text-transform:uppercase;text-decoration:none;transition:color .2s ease,transform .2s ease,font-weight .2s ease}.link:hover,.link:focus-visible{color:#fff;font-weight:700;text-decoration:underline;text-decoration-color:#fff;text-underline-offset:3px;transform:scale(1.08);outline:none}.link-list-title{font-size:clamp(.9rem,1.5vw,1.1rem);color:var(--green);font-weight:600;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.6rem}.link-list{display:flex;flex-direction:column;gap:.7rem}.mobile-header{display:none;position:fixed;top:0;left:0;right:0;padding:1rem 1.25rem;justify-content:space-between;align-items:center;z-index:20}.mobile-header-label{font-size:.75rem;color:var(--green);letter-spacing:.1em;font-weight:600}.mobile-header-links{display:flex;gap:1.1rem}.mobile-header-links .link{font-size:.75rem;letter-spacing:.08em}@media (max-width: 640px){.mobile-header{display:flex}.desktop-only{display:none!important}.link,.link-list-title{font-size:.875rem}}.dot-bg{background-image:radial-gradient(circle,rgba(255,255,255,.07) 1px,transparent 1px);background-size:20px 20px}.top-left{position:absolute;top:1.75rem;left:2rem;z-index:5}.top-right{position:absolute;top:1.75rem;right:2rem;z-index:5}.go-back{font-size:.85rem;letter-spacing:.08em;color:var(--text);text-transform:uppercase;font-weight:400;transition:color .2s ease}.go-back:hover{color:var(--green)}.level-indicator{font-size:.85rem;letter-spacing:.08em;color:var(--green);font-variant-numeric:tabular-nums}@media (max-width: 640px){.top-left{top:4.25rem;left:1.25rem}.top-right{top:4.25rem;right:1.25rem}}
