:root{--bg-color:#f7f7f7;--text-color:#212121;--card-bg:#fff;--card-border:#ddd;--section-divider:#eee;--hover-lift-color:#0000000d;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[data-theme=dark]{--bg-color:#08021a;--text-color:#e0e0e0;--card-bg:#1a142f;--card-border:#333;--section-divider:#444;--hover-lift-color:#ffffff0d}html,body,#root{background-color:var(--bg-color);height:100%;color:var(--text-color);margin:0;padding:0;font-family:Menlo,Consolas,Monaco,monospace;transition:background-color .3s,color .3s}h1,h2,h3,h4,h5,h6{letter-spacing:.02em;font-family:Menlo,Consolas,monospace;font-weight:500}p{font-family:Menlo,Consolas,Monaco,monospace;line-height:1.5}*{color:inherit}a:hover{color:#ff4d4d;transition:color .3s}.main-content{flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:calc(100vh - 3.5rem);padding-top:3.5rem;display:flex}.content-wrapper{box-sizing:border-box;width:100%;max-width:900px;margin:0 auto;padding:0 1rem;overflow-x:hidden}.content-wrapper *{max-width:100%;box-sizing:inherit}@media (max-width:500px){.content-wrapper{padding:0 .5rem}}.homepage-container{width:100%;max-width:1000px;margin:0 auto;padding-top:3.5rem;padding-left:1rem;padding-right:1rem;line-height:1.6}.homepage-section{margin-top:1rem}.homepage-section.online-links{margin-top:2rem}.homepage-section p.bold{font-weight:500}.homepage-links{gap:1.5rem;padding:0;list-style:none;display:flex}.homepage-links li a{margin-right:1rem;text-decoration:none}.projects-container{width:100%;max-width:1000px;margin:0 auto;padding-top:3.5rem;padding-left:1rem;padding-right:1rem;font-family:Menlo,Consolas,monospace;line-height:1.6}.projects-section{margin-top:1rem}.projects-section--deep{margin-top:3rem}.tech-areas{flex-wrap:wrap;gap:.8rem;margin-top:.5rem;display:flex}.tech-pill{opacity:0;border:1px solid #888;border-radius:4px;padding:.3rem .6rem;font-size:.9rem;animation:.6s forwards fadeIn}.projects-list{flex-direction:column;gap:1rem;margin-top:1rem;padding:0;list-style:none;display:flex}.project-tag{color:#888;opacity:0;margin-right:.5rem;font-weight:500;animation:.6s forwards fadeIn}.project-link{opacity:0;margin-right:.5rem;font-weight:600;text-decoration:none;animation:.6s forwards fadeIn}.project-desc{color:#555;opacity:0;animation:.6s forwards fadeIn}@keyframes fadeIn{0%{opacity:0}to{opacity:.9}}.offerings-page{max-width:900px;margin:0 auto;padding:2rem 1rem;line-height:1.5}.offerings-section{margin-top:2.5rem}.offerings-page .offerings-section+.offerings-section{border-top:1px solid var(--section-divider);margin-top:2rem;padding-top:2rem}.offerings-list ul{margin:.5rem 0 0;padding:0;list-style:none}.offerings-list li{opacity:0;margin-bottom:6px;animation:.6s forwards fadeIn}.offering-item{background-color:var(--card-bg);border:1px solid var(--card-border);box-shadow:0 2px 6px var(--hover-lift-color);opacity:0;border-radius:12px;margin-bottom:20px;padding:15px 20px;transition:transform .15s,box-shadow .3s;animation:.8s .2s forwards cardFadeIn}.offering-item:hover{transform:translateY(-2px)}.offering-item h3{margin-bottom:.5rem;font-size:1.2rem}@media (max-width:600px){.offerings-page{padding:1rem}.offering-item{padding:12px 15px}.offering-item h3{font-size:1.1rem}}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.offerings-page a{text-decoration:none}.top-bar{background-color:var(--bg-color);z-index:1000;box-sizing:border-box;justify-content:space-between;align-items:center;width:100%;height:3.5rem;padding:0 1rem;display:flex;position:fixed;top:0;left:0}.top-bar nav{gap:1rem;display:flex}.top-bar nav a{color:inherit;font-weight:500;text-decoration:none}.top-bar nav a:after{content:"";transform-origin:100%;background-color:currentColor;width:100%;height:2px;transition:transform .3s;position:absolute;bottom:-2px;left:0;transform:scaleX(0)}.top-bar nav a:hover:after{transform-origin:0;transform:scaleX(1)}.top-bar nav a:hover{color:#ff4d4d;transition:color .3s}.notfound-container{max-width:700px;margin:4rem auto;padding:3rem 2rem;font-family:Menlo,Consolas,monospace;line-height:1.45}.notfound-container p{opacity:0}.blink{animation:1.2s step-start infinite blink}.fadeIn{animation:.8s forwards fadeIn}@keyframes blink{0%,50%,to{opacity:1}25%,75%{opacity:0}}
