:root{--color-status-indev: #D3D3D3;--color-status-dogfooding: #4CAF50;--color-status-mvp: #2196F3;--color-status-stable: #4CAF50;--color-status-deprecated: #4A4A4A;--color-status-default: #4CAF50}.text-3xl{font-size:var(--font-size-large)}.mb-4{margin-bottom:1rem}.tracking-wider{letter-spacing:.05em}.font-normal{font-weight:400}table{width:100%;border-collapse:separate;border-spacing:0;margin-bottom:1rem;border:1px solid var(--color-accent)}th,td{padding:.5rem;text-align:left;border-right:1px solid var(--color-accent)}th:last-child,td:last-child{border-right:none}th{font-weight:400;background-color:#121212;border:1px solid var(--color-accent);border-bottom:1px solid var(--color-accent)}tr:nth-child(2n){background-color:#121212}.carousel{display:flex;align-items:center;justify-content:space-between;margin-top:2rem;padding:1rem;background-color:#121212;border-radius:8px}.carousel button{background-color:#262626;color:#fff;border:none;padding:.5rem 1rem;cursor:pointer;font-size:var(--font-size-normal)}.carousel-content{text-align:center;flex-grow:1;margin:0 1rem}.carousel h4{margin-bottom:.5rem}.knowledge-content{margin-bottom:4rem}.knowledge-carousel{margin-top:2rem}.roles-list{list-style-type:none;padding:0}.role-item{margin-bottom:1.5rem}.role-title{font-size:1.1rem;color:var(--color-text);margin-bottom:.5rem}.role-description{font-size:var(--font-size-small);color:var(--color-text-muted)}.project-link:after{content:"↗";margin-left:5px;font-size:.8em;opacity:0;transition:opacity var(--transition-speed) ease}.project-link:hover:after{opacity:1}footer{text-align:center;margin-top:2rem}.social-icons{display:flex;justify-content:center;align-items:center;margin-bottom:1rem;padding:1rem 0}.social-icons a,.social-icons button{color:var(--color-text);margin:0 .5rem;text-decoration:none;display:flex;align-items:center;background:none;border:none;cursor:pointer;padding:0}.social-icons a:hover,.social-icons button:hover{color:#fff}.social-icons svg{width:24px;height:24px}footer p{font-size:var(--font-size-small);color:var(--color-text-muted)}@keyframes fly{0%{transform:translateZ(0)}to{transform:translateZ(300px)}}@keyframes fade1{0%{opacity:.5}to{opacity:1}}@keyframes fade2{0%{opacity:0}to{opacity:.5}}@keyframes starfield-drift-1{0%{transform:translateZ(0) translateY(60vh) translate(12vw)}33%{transform:translateZ(0) translateY(20vh) translate(8vw)}66%{transform:translateZ(0) translateY(-10vh) translate(4vw)}to{transform:translateZ(0) translateY(-30vh) translate(0)}}@keyframes starfield-drift-2{0%{transform:translateZ(0) translateY(45vh) translate(-8vw)}25%{transform:translateZ(0) translateY(25vh) translate(-5vw)}50%{transform:translateZ(0) translateY(5vh) translate(-2vw)}75%{transform:translateZ(0) translateY(-15vh) translate(1vw)}to{transform:translateZ(0) translateY(-35vh) translate(3vw)}}@keyframes starry-fade-in{0%{opacity:0}to{opacity:1}}.starry-background{position:fixed;top:0;left:0;width:100vw;height:100vh;overflow:hidden;z-index:-100;perspective:1000px;pointer-events:none;isolation:isolate;will-change:transform;transform:translateZ(0);opacity:0;animation:starry-fade-in .5s ease-in-out .2s forwards}.stars{position:absolute;top:50%;left:50%;width:2px;height:2px;border-radius:50%;box-shadow:-447px 387px #fff,683px -456px #fff,101px -303px #fff,-717px 36px #fff,-1050px 255px #fff,290px -258px #fff,860px 516px #fff,857px -165px #fff,-1056px -152px #fff,554px 352px #fff,-626px 403px #fff,422px 489px #fff,528px -37px #fff,-973px -192px #fff,436px 479px #fff,-702px 138px #fff,417px 496px #fff,-1034px 296px #fff,-790px -23px #fff,-675px -459px #fff,567px 440px #fff,326px -394px #fff,763px -151px #fff,940px 469px #fff;animation:fly 6s linear infinite;transform-style:preserve-3d}.stars:before,.stars:after{content:"";position:absolute;width:inherit;height:inherit;box-shadow:inherit}.stars:before{transform:translateZ(-300px) scale(.8);animation:fade1 3s linear infinite}.stars:after{transform:translateZ(-600px) scale(.6);animation:fade2 3s linear infinite}.starry-background:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom,#070707e6,#07070780,#07070700);z-index:-99}.landing-page:before{content:"";position:absolute;top:0;left:0;width:100%;min-height:100vh;height:100%;background-image:radial-gradient(1.2px 1.2px at 73px 29px,#fff,#0000),radial-gradient(1.8px 1.8px at 427px 183px,#fff,#0000),radial-gradient(.9px .9px at 834px 267px,#fff,#0000),radial-gradient(2.1px 2.1px at 189px 341px,#fff,#0000),radial-gradient(2.7px 2.7px at 656px 442px,#fff,#0000),radial-gradient(1.6px 1.6px at 312px 598px,#fff,#0000),radial-gradient(1.3px 1.3px at 798px 634px,#fff,#0000),radial-gradient(2.9px 2.9px at 167px 778px,#fff,#0000),radial-gradient(1.4px 1.4px at 534px 856px,#fff,#0000),radial-gradient(2.2px 2.2px at 889px 923px,#fff,#0000),radial-gradient(1px 1px at 245px 1089px,#fff,#0000),radial-gradient(2.6px 2.6px at 756px 1212px,#fff,#0000),radial-gradient(1.7px 1.7px at 378px 1345px,#fff,#0000),radial-gradient(.8px .8px at 634px 1467px,#fff,#0000),radial-gradient(2.4px 2.4px at 167px 1589px,#fff,#0000),radial-gradient(2px 2px at 823px 1634px,#fff,#0000),radial-gradient(.7px .7px at 456px 1756px,#fff,#0000),radial-gradient(3.1px 3.1px at 789px 1823px,#fff,#0000),radial-gradient(1.5px 1.5px at 123px 1934px,#fff,#0000),radial-gradient(2.3px 2.3px at 567px 2067px,#fff,#0000),radial-gradient(1.1px 1.1px at 345px 67px,#fff,#0000),radial-gradient(2.5px 2.5px at 672px 123px,#fff,#0000),radial-gradient(.6px .6px at 89px 456px,#fff,#0000),radial-gradient(1.9px 1.9px at 723px 567px,#fff,#0000),radial-gradient(2.8px 2.8px at 234px 789px,#fff,#0000),radial-gradient(1.2px 1.2px at 567px 234px,#fff,#0000),radial-gradient(.5px .5px at 123px 567px,#fff,#0000),radial-gradient(2.7px 2.7px at 789px 123px,#fff,#0000),radial-gradient(1.8px 1.8px at 456px 789px,#fff,#0000),radial-gradient(3px 3px at 345px 456px,#fff,#0000),radial-gradient(1.4px 1.4px at 92px 134px,#fff,#0000),radial-gradient(2.3px 2.3px at 512px 298px,#fff,#0000),radial-gradient(.7px .7px at 789px 401px,#fff,#0000),radial-gradient(1.9px 1.9px at 234px 567px,#fff,#0000),radial-gradient(2.5px 2.5px at 634px 678px,#fff,#0000),radial-gradient(1.1px 1.1px at 456px 789px,#fff,#0000),radial-gradient(2.8px 2.8px at 123px 892px,#fff,#0000),radial-gradient(1.6px 1.6px at 798px 1023px,#fff,#0000),radial-gradient(.9px .9px at 345px 1156px,#fff,#0000),radial-gradient(2.2px 2.2px at 567px 1289px,#fff,#0000),radial-gradient(1.3px 1.3px at 890px 1402px,#fff,#0000),radial-gradient(2.6px 2.6px at 178px 1534px,#fff,#0000),radial-gradient(1.7px 1.7px at 712px 1667px,#fff,#0000),radial-gradient(.8px .8px at 423px 1798px,#fff,#0000),radial-gradient(2.4px 2.4px at 645px 1923px,#fff,#0000),radial-gradient(1.5px 1.5px at 234px 2056px,#fff,#0000),radial-gradient(2.1px 2.1px at 789px 2189px,#fff,#0000),radial-gradient(1.8px 1.8px at 456px 2312px,#fff,#0000),radial-gradient(.6px .6px at 123px 2445px,#fff,#0000),radial-gradient(2.9px 2.9px at 678px 2578px,#fff,#0000);background-repeat:repeat;background-size:900px 800px;animation:starfield-drift-1 150s linear infinite;z-index:-98;pointer-events:none;isolation:isolate;will-change:transform;transform:translateZ(0);opacity:0;animation:starfield-drift-1 150s linear infinite,starry-fade-in .5s ease-in-out .2s forwards}.landing-page:after{content:"";position:absolute;top:0;left:0;width:100%;min-height:100vh;height:100%;background-image:radial-gradient(.8px .8px at 543px 487px,#fff,#0000),radial-gradient(2.1px 2.1px at 289px 634px,#fff,#0000),radial-gradient(1.3px 1.3px at 712px 756px,#fff,#0000),radial-gradient(2.8px 2.8px at 398px 867px,#fff,#0000),radial-gradient(1.5px 1.5px at 667px 998px,#fff,#0000),radial-gradient(.9px .9px at 123px 1103px,#fff,#0000),radial-gradient(2.4px 2.4px at 856px 1245px,#fff,#0000),radial-gradient(1.7px 1.7px at 189px 1367px,#fff,#0000),radial-gradient(1.1px 1.1px at 467px 1478px,#fff,#0000),radial-gradient(3px 3px at 734px 1589px,#fff,#0000),radial-gradient(1.4px 1.4px at 345px 1723px,#fff,#0000),radial-gradient(2.3px 2.3px at 623px 1834px,#fff,#0000),radial-gradient(.6px .6px at 156px 1956px,#fff,#0000),radial-gradient(2.7px 2.7px at 778px 2067px,#fff,#0000),radial-gradient(1.8px 1.8px at 401px 2145px,#fff,#0000),radial-gradient(1px 1px at 689px 2312px,#fff,#0000),radial-gradient(3.2px 3.2px at 234px 2434px,#fff,#0000),radial-gradient(1.6px 1.6px at 567px 2567px,#fff,#0000),radial-gradient(.7px .7px at 823px 2689px,#fff,#0000),radial-gradient(2.5px 2.5px at 345px 2789px,#fff,#0000),radial-gradient(1.2px 1.2px at 456px 89px,#fff,#0000),radial-gradient(2.9px 2.9px at 678px 234px,#fff,#0000),radial-gradient(.4px .4px at 234px 456px,#fff,#0000),radial-gradient(1.9px 1.9px at 789px 678px,#fff,#0000),radial-gradient(2.6px 2.6px at 123px 789px,#fff,#0000),radial-gradient(1.1px 1.1px at 567px 123px,#fff,#0000),radial-gradient(.8px .8px at 345px 567px,#fff,#0000),radial-gradient(2.2px 2.2px at 789px 345px,#fff,#0000),radial-gradient(1.5px 1.5px at 456px 678px,#fff,#0000),radial-gradient(2.4px 2.4px at 234px 567px,#fff,#0000),radial-gradient(1.7px 1.7px at 612px 134px,#fff,#0000),radial-gradient(.9px .9px at 378px 298px,#fff,#0000),radial-gradient(2.8px 2.8px at 745px 423px,#fff,#0000),radial-gradient(1.3px 1.3px at 189px 589px,#fff,#0000),radial-gradient(2.5px 2.5px at 823px 712px,#fff,#0000),radial-gradient(1.6px 1.6px at 467px 845px,#fff,#0000),radial-gradient(.5px .5px at 234px 967px,#fff,#0000),radial-gradient(2.3px 2.3px at 678px 1089px,#fff,#0000),radial-gradient(1.4px 1.4px at 345px 1234px,#fff,#0000),radial-gradient(2.7px 2.7px at 789px 1367px,#fff,#0000),radial-gradient(1.8px 1.8px at 456px 1489px,#fff,#0000),radial-gradient(.7px .7px at 612px 1623px,#fff,#0000),radial-gradient(2.6px 2.6px at 123px 1756px,#fff,#0000),radial-gradient(1.2px 1.2px at 734px 1889px,#fff,#0000),radial-gradient(2.9px 2.9px at 398px 2012px,#fff,#0000),radial-gradient(1.1px 1.1px at 567px 2156px,#fff,#0000),radial-gradient(.6px .6px at 289px 2289px,#fff,#0000),radial-gradient(2.4px 2.4px at 823px 2423px,#fff,#0000),radial-gradient(1.9px 1.9px at 456px 2567px,#fff,#0000),radial-gradient(.8px .8px at 712px 2689px,#fff,#0000);background-repeat:repeat;background-size:780px 680px;animation:starfield-drift-2 100s linear infinite;z-index:-97;pointer-events:none;isolation:isolate;will-change:transform;transform:translateZ(0);opacity:0;animation:starfield-drift-2 100s linear infinite,starry-fade-in 1s ease-in-out .5s forwards}@media (max-width: 768px){.landing-page:before{background-size:100px 100px}.starry-background:before{background-size:100px 100px}}.projects-container{display:flex;flex-direction:column;gap:2rem}.projects-tables-wrapper{display:grid;grid-template-columns:repeat(4,auto);gap:2rem}.project-table-container{grid-column:span 4}.projects-table{width:100%;border-collapse:separate;border-spacing:0}.projects-table th,.projects-table td{padding:.5rem;text-align:left;border-right:1px solid var(--color-accent);white-space:nowrap}.projects-table th:last-child,.projects-table td:last-child{border-right:none}.projects-table th{font-weight:400;background-color:#121212;border:1px solid var(--color-accent);border-bottom:1px solid var(--color-accent)}.projects-table tr:nth-child(2n){background-color:#121212}@media (max-width: 768px){.projects-tables-wrapper{grid-template-columns:1fr}.project-table-container{grid-column:span 1}.projects-table th,.projects-table td{white-space:normal}}.roles-table{width:100%;border-collapse:separate;border-spacing:0}.roles-table th,.roles-table td{padding:.5rem;text-align:left;border-right:1px solid var(--color-accent);white-space:nowrap}.roles-table th:last-child,.roles-table td:last-child{border-right:none}.roles-table th{font-weight:400;background-color:#121212;border:1px solid var(--color-accent);border-bottom:1px solid var(--color-accent)}.roles-table tr:nth-child(2n){background-color:#121212}@media (max-width: 768px){.roles-table th,.roles-table td{white-space:normal}}.projects-container{display:flex;flex-direction:column;gap:1rem}.section-title{font-weight:400;font-size:var(--font-size-medium);margin-bottom:1rem;color:var(--color-text)}.writing-card,.project-card,.skill-role-quadrant{background-color:var(--color-accent);border-radius:8px;overflow:hidden;contain:layout style paint}.project-card-title{padding:1rem;cursor:pointer;margin:0;background-color:#1a1a1a;transition:background-color var(--transition-speed);font-weight:400;font-size:var(--font-size-normal)}.project-card-title:hover{background-color:#2a2a2a}.project-details{padding:1rem}.project-detail{margin-bottom:.75rem;display:flex;align-items:flex-start}.detail-label{flex:0 0 100px;margin-right:.5rem;color:var(--color-text-muted)}.detail-value{flex:1;color:var(--color-text)}.project-description{align-items:flex-start}.project-description .detail-value{word-break:break-word}.status-bar-container{flex:1;height:20px;background-color:#2a2a2a;border-radius:10px;overflow:hidden;position:relative}.status-bar{height:100%;transition:width .3s ease,background-color .3s ease}.status-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:.8em;text-shadow:1px 1px 2px rgba(0,0,0,.7)}.project-link{color:var(--color-text);text-decoration:none;transition:color var(--transition-speed) ease}.project-link:hover{color:#fff;text-decoration:underline}.skills-roles-container{display:flex;flex-direction:column;gap:1rem}.skill-role-card{background-color:var(--color-accent);border-radius:8px;overflow:hidden}.skill-role-card-title{padding:1rem;cursor:pointer;margin:0;background-color:#1a1a1a;transition:background-color var(--transition-speed);font-weight:400;font-size:var(--font-size-normal)}.skill-role-card-title:hover{background-color:#2a2a2a}.skill-role-details{padding:1rem}.subcategory h4{margin-bottom:.5rem;color:var(--color-text-muted)}.subcategory ul{list-style-type:none;padding-left:1rem}.subcategory li{margin-bottom:.25rem}.skills-roles-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:1rem;align-items:start}.skill-role-quadrant{background-color:var(--color-accent);border-radius:8px;overflow:hidden;contain:layout style paint}.quadrant-summary{padding:1rem;cursor:pointer;background-color:#1a1a1a;transition:background-color var(--transition-speed);display:flex;justify-content:space-between;align-items:center}.quadrant-summary:hover{background-color:#2a2a2a}.quadrant-title{margin:0;font-weight:400;font-size:var(--font-size-normal);color:var(--color-text)}.quadrant-details{max-height:0;overflow:hidden;transition:max-height .3s ease-out,padding .3s ease-out;padding:0 1rem}.skill-role-quadrant.expanded .quadrant-details{max-height:2000px;padding:1rem;transition:max-height .5s ease-in,padding .3s ease-in}.quadrant-list{list-style-type:none;padding:0;margin:0}.quadrant-list li{margin-bottom:.25rem;font-size:var(--font-size-small)}.subcategory{margin-bottom:1rem}.subcategory h4{margin:.5rem 0;color:var(--color-text-muted);font-size:var(--font-size-small)}@media (max-width: 768px){.skills-roles-grid{grid-template-columns:1fr;grid-template-rows:auto}}.writing-container,.writing-posts{display:flex;flex-direction:column;gap:1rem}.writing-card{background-color:#2c2c2cb3;border-radius:8px;overflow:hidden;contain:layout style paint}.writing-card-header{padding:1rem;cursor:pointer;background-color:#1a1a1acc;transition:background-color var(--transition-speed);display:flex;justify-content:space-between;align-items:center}.writing-card-header:hover{background-color:#2a2a2acc}.writing-card-title{margin:0;font-weight:400;font-size:var(--font-size-normal);color:var(--color-text)}.writing-card-date{font-size:var(--font-size-small);color:var(--color-text-muted)}.writing-card-excerpt{padding:1rem}.writing-card-excerpt p{margin:0;color:var(--color-text-muted);font-size:var(--font-size-small)}.writing-card-content{padding:1rem}.markdown-content{line-height:1.6;color:var(--color-text);font-family:Courier New,Courier,monospace;font-size:16px;text-align:left}.markdown-content h1{font-family:Courier New,Courier,monospace;font-weight:700;font-size:1.5rem;margin-bottom:16px;margin-top:24px;color:var(--color-text)}.markdown-content h2{font-family:Courier New,Courier,monospace;font-weight:400;font-size:1.25rem;margin-bottom:12px;margin-top:20px;color:var(--color-text)}.markdown-content h3{font-family:Courier New,Courier,monospace;font-weight:400;font-size:1.1rem;margin-bottom:8px;margin-top:16px;color:var(--color-text)}.markdown-content p{margin-bottom:16px;color:var(--color-text)}.markdown-content ul,.markdown-content ol{margin-bottom:16px;padding-left:2em}.markdown-content li{margin-bottom:4px;color:var(--color-text);line-height:1.6}.markdown-content code{background-color:var(--color-academic);color:var(--color-text);padding:2px 4px;border-radius:3px;font-family:Courier New,Courier,monospace;font-size:.9em}.markdown-content pre{background-color:var(--color-academic);color:var(--color-text);padding:16px;border-radius:4px;overflow-x:auto;margin:16px 0;font-family:Courier New,Courier,monospace;line-height:1.4}.markdown-content pre code{background:none;padding:0;font-size:inherit}.markdown-content blockquote{border-left:4px solid var(--color-accent);margin:16px 0;padding:8px 0 8px 16px;color:var(--color-text-muted);font-style:italic}.markdown-content a{color:var(--color-text);text-decoration:underline}.markdown-content a:hover{color:#fff}.markdown-content strong{font-weight:700;color:var(--color-text)}.markdown-content em{font-style:italic;color:var(--color-text-muted)}.writing-card-footer{padding:1rem;border-top:1px solid var(--color-accent);text-align:center}.collapse-button{background:none;border:1px solid var(--color-accent);color:var(--color-text);padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-family:Space Mono,monospace;font-size:var(--font-size-small);transition:all var(--transition-speed)}.collapse-button:hover{background-color:var(--color-accent);color:#fff}
