@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Poppins:wght@600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap";.site-footer{background-color:var(--background-colour);padding:var(--space-md) var(--space-lg);border-top:1px solid #ccc;font-size:.95rem;color:var(--text-secondary);display:flex;flex-direction:column;align-items:center;gap:var(--space-md);position:relative;font-family:var(--font-body)}.footer-top{align-self:flex-end}.mini-button{font-weight:500;background:none;border:none;color:var(--text-secondary);cursor:pointer;transition:color .2s ease}.mini-button:hover{color:var(--accent-button);text-decoration:underline}.footer-content{text-align:center;line-height:1.8}.tardis-easter-egg{display:flex;align-items:center;justify-content:flex-start;width:100%;padding-top:var(--space-sm)}.tardis-icon{width:44px;height:auto;cursor:pointer;transition:transform .2s ease;margin-left:var(--space-sm)}.tardis-icon:hover{transform:scale(1.1)}.tardis-menu{margin-left:var(--space-sm);background-color:var(--background-colour);color:var(--text-secondary);padding:var(--space-xs) var(--space-sm);border-radius:var(--space-xs);box-shadow:0 0 6px #0000001a;font-size:var(--small-size);font-weight:500;white-space:nowrap;transition:opacity .3s ease}.tardis-menu a{text-decoration:none;color:var(--text-secondary)}.tardis-menu a:hover{color:var(--accent-button)}@media (max-width: 1200px){.site-footer{align-items:center;text-align:center}.footer-content,.footer-top,.tardis-easter-egg{justify-content:center;align-self:center;text-align:center}}.site-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) var(--space-lg)}.header-left{display:flex;align-items:center;gap:var(--space-md)}.logo{font-size:1.25rem;font-weight:700;color:var(--text-secondary);text-decoration:none;font-family:var(--font-heading);transition:color .2s ease-in-out}.logo:hover{color:var(--accent-button)}.dark-toggle{background:none;border:none;font-size:1.2rem;cursor:pointer;color:var(--text-secondary);transition:color .2s ease-in-out}.dark-toggle:hover{color:var(--accent-button)}.navbar-box{display:flex;align-items:center;background-color:var(--background-colour);border:1px solid #ccc;border-radius:8px;padding:.5rem 1rem;font-family:var(--font-heading)}.grouped-nav{display:flex;align-items:center;gap:.25rem}.nav-item-group{display:flex;align-items:center}.nav-link{text-decoration:none;font-weight:500;color:var(--text-secondary);padding:.5rem;transition:background-color .2s ease,color .2s ease;display:flex;align-items:center;justify-content:center}.nav-link:hover{color:var(--accent-button)}.nav-link.active{color:var(--accent-button);font-weight:600}.pipe{opacity:0;margin:0 .15rem;color:var(--text-secondary);transition:opacity .2s ease-in-out;-webkit-user-select:none;user-select:none;pointer-events:none}.nav-link.active .pipe{opacity:1;color:var(--accent-button)}.mobile-menu-wrapper{display:none}@media (max-width: 1200px){.navbar-box{display:none}.mobile-menu-wrapper{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-xs)}.mobile-menu-toggle{font-family:var(--font-heading);font-size:1rem;background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:.5rem 1rem;transition:all .2s ease-in-out}.mobile-menu-toggle:hover{color:var(--accent-button);transform:scale(1.05)}.mobile-nav-links{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-xs);padding:var(--space-sm) 0;margin-top:var(--space-xs)}.mobile-nav-links .nav-link{font-size:.9rem;padding:.25rem .75rem;text-align:right;width:100%;transition:all .2s ease-in-out}.mobile-nav-links .nav-link:hover{color:var(--accent-button)}}body.retro .site-header{background:repeating-linear-gradient(45deg,#0f0,#0f0 2px,#000 2px,#000 4px);border-bottom:2px solid #ff00ff;box-shadow:0 2px 12px #ff00ff4d}body.retro .dark-toggle{font-family:"Press Start 2P",cursive;color:#0ff;background-color:#111;padding:.5rem 1rem;border:2px solid #00ffff;border-radius:4px;box-shadow:0 0 8px #0ff;text-transform:uppercase;font-size:.75rem;transition:all .2s ease-in-out}body.retro .dark-toggle:hover{background-color:#0ff;color:#111;box-shadow:0 0 12px #0ff,0 0 6px #0ff inset}body.retro .mobile-menu-toggle{font-family:"Press Start 2P",cursive;color:#0ff;background-color:#000;border:2px solid #0ff;padding:.5rem 1rem;animation:pixelPulse 1.2s infinite;text-transform:uppercase;font-size:.6rem}@keyframes pixelPulse{0%{box-shadow:0 0 2px #0ff}50%{box-shadow:0 0 6px #0ff,0 0 10px #f0f}to{box-shadow:0 0 2px #0ff}}.post-card{position:relative;width:100%;aspect-ratio:1 / 1;border-radius:var(--space-sm);overflow:hidden;cursor:pointer;transition:transform .3s ease;display:block;max-width:300px;animation:floatHint 3s ease-in-out infinite alternate;background-color:var(--background-colour)}@keyframes floatHint{0%{transform:scale(1)}to{transform:scale(1.015)}}.post-card img{width:100%;height:100%;object-fit:cover;display:block}.post-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--overlay-bg);color:var(--background-colour);padding:var(--space-md);opacity:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;transform:scale(.98);transition:opacity .3s ease,transform .3s ease}.post-card:hover .post-overlay{opacity:1;transform:scale(1)}.post-overlay h3{margin:0 0 var(--space-xs);font-size:var(--h3-size);font-family:var(--font-heading);letter-spacing:var(--heading-spacing);line-height:var(--heading-line-height);font-weight:var(--heading-weight)}.post-overlay p{margin:var(--space-xs) 0;font-size:var(--body-size);line-height:var(--body-line-height);font-family:var(--font-body);font-weight:var(--body-weight)}.read-more{font-weight:var(--heading-weight);font-size:var(--small-size);margin-top:var(--space-sm)}body.retro .post-card{background-color:#111;border:2px solid #0ff;box-shadow:0 0 12px #0ff;font-family:"Press Start 2P",cursive;color:#0ff;transition:all .3s ease-in-out}body.retro .post-card:hover{background-color:#0ff;color:#111;transform:translateY(-4px) scale(1.02);box-shadow:0 0 18px #0ff,0 0 6px #f0f}.blog-page{padding:var(--space-lg);max-width:1280px;margin:0 auto}.blog-hero{text-align:center;padding:var(--space-lg) var(--space-md);margin:0 auto;max-width:900px}.blog-heading{font-size:var(--h2-size);font-family:var(--font-heading);color:var(--text-secondary);margin-bottom:var(--space-lg)}.blog-subheading{font-size:var(--body-size);font-family:var(--font-body);color:var(--text-primary);max-width:800px;margin:0 auto;line-height:1.6}.blog-tabs{display:flex;justify-content:center;gap:var(--space-md);margin:var(--space-lg)}.tab-button{background:none;border:none;font-family:var(--font-heading);font-size:1.1rem;color:var(--text-secondary);cursor:pointer;transition:color .2s ease-in-out}.tab-button:hover{color:var(--accent-button)}.tab-button.active{color:var(--accent-button);font-weight:600}.blog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-lg);justify-items:center;padding:var(--space-lg) var(--space-md)}.blog-post-page-container{display:flex;flex-direction:row;max-width:1200px;margin:0 auto;padding:var(--space-lg);gap:var(--space-lg)}.blog-post{flex:1}.sticky-share-bar{position:sticky;top:var(--space-xl);align-self:flex-start;display:flex;flex-direction:column;gap:var(--space-sm);margin-left:var(--space-md)}.share-toggle{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:0;transition:transform .2s ease,color .2s ease}.share-toggle:hover{color:var(--accent-button);transform:scale(1.2)}.share-menu{display:flex;flex-direction:column;gap:var(--space-xs);margin-top:var(--space-sm)}.share-menu a,.copy-link-button{font-size:var(--small-size);font-family:var(--font-body);background:none;border:none;text-decoration:none;color:var(--text-secondary);display:flex;align-items:center;gap:var(--space-xs);cursor:pointer;transition:transform .2s ease,color .2s ease}.share-menu a:hover,.copy-link-button:hover{color:var(--accent-button);transform:scale(1.05)}.back-to-blog{display:inline-block;margin-bottom:var(--space-sm);font-size:var(--small-size);color:var(--text-secondary);text-decoration:none;font-weight:500;font-family:var(--font-body)}.back-to-blog:hover{color:var(--accent-button);text-decoration:underline}.blog-post-title{font-size:var(--h1-size);font-family:var(--font-heading);color:var(--text-secondary);margin-bottom:var(--space-sm);text-align:center}.blog-post-summary{font-size:var(--h3-size);font-family:var(--font-body);color:var(--accent-button);margin-bottom:var(--space-md);text-align:center}.blog-post-image{display:block;width:100%;max-width:960px;height:auto;margin:var(--space-md) auto;border-radius:var(--space-sm);object-fit:contain}.blog-post-body h2,.blog-post-body h3{color:var(--text-secondary);font-family:var(--font-heading);margin-top:var(--space-lg)}.blog-post-body p,.blog-post-body li{margin-bottom:var(--space-sm);font-family:var(--font-body)}.blog-post-body pre{background-color:var(--code-background);color:var(--code-text);padding:var(--space-md);font-family:var(--font-mono);font-size:1.25rem;border-radius:var(--space-xs);max-width:100%;box-shadow:0 0 0 1px var(--code-border);white-space:pre-wrap;overflow-x:auto;margin:var(--space-md) 0;word-break:break-word;overflow-wrap:break-word;box-sizing:border-box}.blog-post-body code{font-family:var(--font-mono)}.blog-post-body a{color:var(--link-colour);text-decoration:underline;transition:color .2s ease}.blog-post-body a:hover{color:var(--link-hover)}.inline-screenshot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-md);margin:var(--space-md) 0 var(--space-lg)}.inline-screenshot-grid figure{margin:0;background:#fafafa;border:1px solid #eee;border-radius:10px;padding:8px}.inline-screenshot-grid img{width:100%;height:auto;display:block;border-radius:6px}.inline-screenshot-grid figcaption{font-size:.9rem;color:#555;margin-top:6px;line-height:1.35}.copied-toast{position:absolute;top:-1.25rem;left:50%;transform:translate(-50%);background:var(--accent-button);color:var(--background-colour);font-size:var(--small-size);padding:2px 6px;border-radius:var(--space-xs);white-space:nowrap;animation:fadeInOut 2s ease-in-out}@keyframes fadeInOut{0%{opacity:0;transform:translateY(-2px)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(-2px)}}.not-found-message{text-align:center;padding:var(--space-lg);font-size:var(--body-size);color:var(--text-secondary)}@media (max-width: 1200px){.sticky-share-bar{position:fixed!important;top:var(--space-xxl);right:var(--space-lg);left:auto;margin:0;z-index:999;background-color:transparent;box-shadow:none}.share-menu{display:flex;flex-direction:column;gap:var(--space-xs);margin-top:var(--space-sm);background-color:var(--background-colour);padding:var(--space-sm);border-radius:var(--space-xs);box-shadow:var(--text-primary)}.inline-screenshot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.inline-screenshot-grid{grid-template-columns:1fr}}@media (max-width: 350px){.blog-post-page-container{flex-direction:column;padding:var(--space-md);gap:var(--space-md)}.blog-post{padding:0 var(--space-sm)}.blog-post-body h2,.blog-post-body h3,.blog-post-body p,.blog-post-body li{padding-left:var(--space-sm);padding-right:var(--space-sm)}.blog-post-body pre{font-size:1rem;padding:var(--space-sm)}.sticky-share-bar{display:none}}.contact-page{text-align:center;margin:var(--space-xl) auto;padding:var(--space-xl) var(--space-md)}.contact-heading{font-size:var(--h2-size);color:var(--text-secondary);font-family:var(--font-heading);margin:0 auto var(--space-xl)}.contact-intro{font-size:var(--body-size);font-family:var(--font-body);color:var(--text-primary);line-height:var(--body-line-height);max-width:600px;margin:0 auto var(--space-xl)}.contact-links{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--space-lg);align-items:center}.contact-item{display:flex;align-items:center;gap:var(--space-sm);font-family:var(--font-body);position:relative;transition:transform .2s ease}.contact-item:hover .icon{transform:scale(1.05)}.copy-text{text-decoration:none;color:var(--text-primary);transition:color .2s ease}.contact-item:hover .copy-text{color:var(--accent-button)}.copy-btn{background:none;border:none;cursor:pointer;padding:0;margin-left:var(--space-xs);color:var(--text-secondary);transition:transform .2s ease,color .2s ease}.copy-btn:hover{transform:scale(1.1);color:var(--accent-button)}.copied-icon{color:var(--accent-button);animation:pop .3s ease}@keyframes pop{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}.icon{font-size:1.25rem;color:var(--text-secondary);transition:transform .2s ease}@media (max-width: 1200px){.contact-page{margin:var(--space-sm) auto}.contact-heading{margin:var(--space-lg) auto}.contact-intro,.contact-links{margin:var(--space-md) auto}}@media (max-width: 400){.contact-page{text-align:center}.contact-page{margin:var(--space-sm) auto}.contact-heading,.contact-intro,.contact-links{margin:var(--space-md) auto}}.skills-wrapper{padding:var(--space-md);width:100%}.center-heading{text-align:center;font-size:2rem;color:var(--text-secondary);margin-bottom:var(--space-md)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1.5rem;padding:2rem 0}.skill-icon{text-align:center;padding:1rem;border-radius:12px;background-color:var(--background-colour);transition:transform .2s,box-shadow .2s}.skill-icon:hover{transform:scale(1.05);box-shadow:0 4px 12px #5a4eba1a}.skill-icon span{display:block;margin-top:.5rem;font-size:14px;color:var(--text-primary);font-family:var(--font-body)}.skill-icon svg{margin:0 auto;display:block;color:var(--text-secondary)}.hidden-law{opacity:0;transform:scale(.9);pointer-events:none;transition:all .4s ease-in-out}.skill-icon.git:hover~.hidden-law{opacity:1;transform:scale(1.1);pointer-events:auto}.milestone-vertical-wrapper{position:relative;width:100%;padding:var(--space-xl) var(--space-md);overflow:visible}.milestone-vertical-line{position:absolute;top:0;bottom:0;left:40px;width:4px;background-color:var(--hover-colour);z-index:1}.milestone-vertical-track{display:flex;flex-direction:column;gap:var(--space-lg);margin-left:40px;padding-left:40px;position:relative;z-index:2;max-height:1000px;overflow-y:clip;overflow-x:visible;transition:max-height .4s ease}.milestone-vertical-track.expanded{max-height:max-content;overflow:visible}.timeline-toggle-wrapper{text-align:center;margin-top:var(--space-md)}.timeline-card{transition:transform .3s ease,box-shadow .3s ease}.milestone-horizontal-wrapper{position:relative;padding:var(--space-md);display:none}@media (max-width: 1200px){.milestone-horizontal-wrapper{display:block}.milestone-vertical-wrapper{display:none}}.milestone-horizontal-scroll{display:flex;overflow-x:auto;gap:var(--space-lg);padding:var(--space-md) 0;scroll-snap-type:x mandatory;scroll-behavior:smooth}.milestone-horizontal-scroll::-webkit-scrollbar{display:none}.milestone-horizontal-card{flex:0 0 auto;min-width:280px;max-width:320px;background-color:var(--background-colour);padding:var(--space-md);border-radius:var(--space-sm);box-shadow:0 4px 10px #0000000d;scroll-snap-align:center}.milestone-horizontal-card .milestone-year{font-size:var(--small-size);font-weight:var(--heading-weight);color:var(--accent-button);margin-bottom:var(--space-xs);font-family:var(--font-body)}.milestone-horizontal-card h4{font-size:var(--h3-size);margin-bottom:var(--space-xs);color:var(--text-secondary);font-family:var(--font-heading)}.milestone-horizontal-card p{font-size:var(--small-size);color:var(--text-primary);font-family:var(--font-body)}.timeline-progress-container{height:6px;width:100%;background-color:var(--hover-colour);border-radius:999px;margin-top:var(--space-sm);overflow:hidden;pointer-events:none}.timeline-progress-bar{height:100%;background-color:var(--accent-button);border-radius:999px;transition:width .2s ease-in-out}.timeline-button{position:absolute;top:50%;transform:translateY(-50%);z-index:10;background-color:var(--hover-colour);border:none;border-radius:50%;padding:.5rem;cursor:pointer;color:var(--text-primary);box-shadow:0 2px 6px #00000014;font-size:1rem;transition:transform .2s ease-in-out}.timeline-button.left{left:1rem}.timeline-button.right{right:1rem}.timeline-button:hover{transform:scale(1.05);background-color:var(--accent-button)}.timeline-button-row{display:none}@media (max-width: 500px){.timeline-button{display:none}.timeline-button-row{display:flex;justify-content:space-between;padding:0 var(--space-md);margin-bottom:var(--space-sm);gap:var(--space-sm)}.timeline-button-row .timeline-button{display:inline-flex;position:static;transform:none;margin:0}}.milestone-vertical-item{position:relative;display:flex;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-xl)}.milestone-dot-wrapper{position:relative;width:0;height:100%}.milestone-vertical-dot{position:absolute;left:-65px;top:16px;width:20px;height:20px;background-color:var(--accent-button);border-radius:50%;box-shadow:0 0 0 5px var(--hover-colour);z-index:3}.timeline-card{flex:1;background-color:var(--background-colour);border-radius:var(--space-sm);padding:var(--space-lg) var(--space-xl);box-shadow:0 6px 14px #00000014;font-family:var(--font-body);text-align:left;max-width:100%;transition:transform .3s ease,box-shadow .3s ease}.timeline-card:hover{transform:translateY(-4px);box-shadow:0 10px 18px #00000014}.timeline-card h4{font-size:var(--h3-size);font-family:var(--font-heading);font-weight:var(--heading-weight);color:var(--text-secondary);margin-bottom:var(--space-xs)}.timeline-card .milestone-year{font-size:var(--small-size);font-family:var(--font-body);font-weight:var(--heading-weight);color:var(--accent-button);margin-bottom:var(--space-xs)}.timeline-card p{font-size:var(--body-size);font-family:var(--font-body);color:var(--text-primary);line-height:var(--body-line-height);margin:0}.hero-row{display:flex;align-items:center;justify-content:center;text-align:left;height:85vh;gap:var(--space-xl);position:relative;scroll-snap-align:start}.hero-image-block{text-align:center}.hero-image{width:420px;height:420px;object-fit:cover;border-radius:50%;border:10px solid var(--text-primary);background-color:var(--accent-button)}.hero-text{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-md)}.tagline{font-size:2.4rem;font-weight:700;color:var(--text-secondary);font-family:var(--font-heading);margin:0}.subheading{font-size:var(--h1-size);font-family:var(--font-heading);font-weight:var(--heading-weight);color:var(--text-secondary);margin:0}.intro{max-width:600px;font-size:var(--h3-size);line-height:1.6;margin:0;font-family:var(--font-heading)}.terminal-box{background-color:var(--code-background);color:var(--code-text);padding:var(--space-md);font-family:var(--font-mono);font-size:1.25rem;border-radius:var(--space-xs);max-width:600px;width:100%;box-shadow:0 0 0 1px var(--code-border);margin-top:var(--space-xs);white-space:pre-wrap;overflow:hidden}.fade-in-line{animation:fadeInText .8s ease forwards;opacity:0}.fade-in-line:last-child:after{content:"|";animation:blink 1s step-end infinite;color:var(--code-text);margin-left:2px}@keyframes fadeInText{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.scroll-down-indicator{position:absolute;bottom:var(--space-sm);left:50%;transform:translate(-50%);font-size:2rem;color:var(--text-secondary);animation:bounce 1.8s infinite ease-in-out;cursor:pointer;opacity:1;transition:opacity .4s ease-in-out}.scroll-down-indicator.hidden{opacity:0;pointer-events:none}@keyframes bounce{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-10px)}}.cta-buttons{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-md);font-family:var(--font-body)}.cta-button-outline{font-family:var(--font-body);font-size:18px;padding:14px 28px;border-radius:20px;font-weight:700;background-color:transparent;color:var(--text-secondary);border:2px solid var(--text-secondary);transition:all .2s ease-in-out;cursor:pointer}.cta-button-outline:hover{background-color:var(--hover-colour);color:var(--text-primary);border-color:var(--accent-button)}.social-icons{display:flex;gap:var(--space-md);margin-top:var(--space-sm)}.social-icons a{color:var(--text-secondary);transition:all .2s ease-in-out}.social-icons a:hover{color:var(--accent-button);transform:scale(1.1)}.home-main-grid{display:flex;gap:var(--space-xl);align-items:flex-start;margin-top:var(--space-xl)}.timeline-column,.content-column{flex:1;min-width:300px}.preview-column{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:var(--space-md);margin-bottom:var(--space--xxl)}.preview-column .post-card{flex:1 1 45%;min-width:260px;max-width:100%}.about-section{margin-top:var(--space-xxl);margin-bottom:var(--space-xl);padding:var(--space-md);background-color:var(--background-colour);border-radius:var(--space-sm);box-shadow:0 4px 10px #0000000d;transition:transform .3s ease,box-shadow .3s ease}.about-section:hover{transform:translateY(-6px);box-shadow:0 12px 24px #00000014}.about-section h2{font-size:var(--h2-size);font-family:var(--font-heading);text-align:center;color:var(--text-secondary);margin-bottom:.25rem}.about-text.intro-line{text-align:center;font-weight:700;font-size:1.5rem;margin-bottom:var(--space-sm)}.about-text{font-family:var(--font-body);font-size:var(--body-size);line-height:1.6;color:var(--text-primary);margin-bottom:var(--space-sm)}.about-cta-group{display:flex;flex-direction:column;align-items:center;text-align:center}.about-cta-highlight{font-size:1.5rem;font-weight:600;color:var(--accent-button);text-align:center;margin-bottom:var(--space-md);font-family:var(--font-heading)}.skills-section{margin-top:var(--space--xxl);margin-bottom:var(--space-xl);padding:var(--space-md);background-color:var(--background-colour);border-radius:var(--space-sm);box-shadow:0 4px 10px #0000000d;transition:transform .3s ease,box-shadow .3s ease}.skills-section:hover{transform:translateY(-6px);box-shadow:0 12px 24px #00000014}.section-heading{font-size:2rem;color:var(--text-secondary);font-family:var(--font-heading);text-align:center;margin-bottom:var(--space-md)}.timeline-column .section-heading{text-align:left;margin-left:250px}.code-keyword{color:#569cd6}.code-variable{color:#9cdcfe}.code-class{color:#4ec9b0}.code-method{color:#dcdcaa}.code-string{color:#ce9178}@media (max-width: 1200px){.timeline-column .section-heading{margin-left:0;text-align:center}}.not-found{text-align:center;padding:var(--space-lg);color:var(--text-secondary)}.not-found h1{font-size:3rem;color:var(--accent-button);margin-bottom:var(--space-md);font-family:var(--font-heading)}.not-found p{font-size:1.2rem;margin-bottom:var(--space-md);font-family:var(--font-body)}.hellfire-icon{font-size:4rem;animation:flicker 1.5s infinite alternate}.back-home{display:inline-block;margin-top:var(--space-md);text-decoration:underline;color:var(--text-secondary);font-weight:600;font-family:var(--font-body)}.back-home:hover{color:var(--accent-button);text-decoration:none}@keyframes flicker{0%{opacity:.8;transform:scale(1)}to{opacity:1;transform:scale(1.05)}}:root{--background-colour: #FDFFFC;--text-primary: #2E2E2E;--text-secondary: #5A4EBA;--accent-button: #FFB20F;--hover-colour: #B5A9E9;--overlay-bg: rgba(90, 78, 186, .85);--font-heading: "Poppins", sans-serif;--font-body: "Inter", sans-serif;--font-mono: "Fira Code", monospace;--h1-size: 48px;--h2-size: 32px;--h3-size: 24px;--body-size: 16px;--small-size: 14px;--heading-weight: 700;--body-weight: 400;--heading-spacing: .5px;--heading-line-height: 1.2;--body-line-height: 1.5;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 32px;--space-xl: 64px;--space-xxl: 96px;--space-xxxl: 128px;--code-background: #1e1e1e;--code-text: #D4D4D4;--code-border: #333333;--code-header: #252526;--link-colour: #5A4EBA;--link-hover: #FFB20F}body.dark{--background-colour: #121212;--text-primary: #f0f0f0;--text-secondary: #FFD700;--accent-button: #FF8C00;--hover-colour: #333333;--overlay-bg: rgba(255, 215, 0, .85);--code-background: #1e1e1e;--code-text: #d4d4d4;--code-border: #3c3c3c;--code-header: #2c2c2c;--link-colour: #FFD700;--link-hover: #FF8C00}body.dark .cta-button-outline{background-color:transparent;border:2px solid var(--accent-button);color:var(--accent-button)}body.dark .cta-button-outline:hover{background-color:var(--accent-button);color:var(--background-colour);border-color:var(--accent-button)}body.retro{--background-colour: #1A1A1A;--text-primary: #FFFFFF;--text-secondary: #00FFFF;--accent-button: #FF00FF;--hover-colour: #FFEE00;--overlay-bg: rgba(0, 255, 255, .85);--font-heading: "Press Start 2P", monospace;--font-body: "Press Start 2P", monospace;--code-background: #000000;--code-text: #00FF00;--code-border: #444444;--code-header: #222222;--link-colour: #00FFFF;--link-hover: #FF00FF}.cta-button{font-family:var(--font-body);font-size:18px;padding:14px 28px;border-radius:20px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block;text-align:center;background-color:var(--hover-colour);color:var(--text-primary);border:none;transition:all .2s ease-in-out}.cta-button:hover{background-color:var(--accent-button);color:var(--text-primary);transform:scale(1.03)}.mini-button{font-family:var(--font-body);font-size:.85rem;padding:6px 14px;border-radius:12px;font-weight:500;cursor:pointer;text-decoration:none;display:inline-block;text-align:center;background-color:var(--hover-colour);color:var(--text-primary);border:none;transition:all .2s ease-in-out}.mini-button:hover{background-color:var(--accent-button);color:var(--text-primary);transform:scale(1.05)}body.retro .cta-button,body.retro .cta-button-outline{font-family:"Press Start 2P",cursive;background-color:#000;color:#0ff;border:2px solid #0ff;text-transform:uppercase;font-size:.75rem;letter-spacing:1px;box-shadow:0 0 6px #0ff;transition:all .2s ease-in-out}body.retro .cta-button:hover,body.retro .cta-button-outline:hover{background-color:#0ff;color:#000;box-shadow:0 0 12px #0ff,0 0 4px #f0f inset;transform:scale(1.03)}@media (max-width: 1200px){.home-page{margin-top:calc(var(--space-xxxl) + var(--space-xl))}.hero-row{flex-direction:column;align-items:center;text-align:center;margin-bottom:calc(var(--space-xxxl) + var(--space-xl))}.hero-text{align-items:center}.hero-image{width:320px;height:320px}.terminal-box{font-size:1rem;max-width:90%;min-height:200px}.cta-buttons{justify-content:center;gap:var(--space-sm);margin-top:var(--space-md);margin-bottom:var(--space-md);flex-wrap:wrap;align-items:center}.scroll-down-indicator{display:none}.home-main-grid{flex-direction:column;gap:var(--space-xl)}.timeline-column,.content-column{width:100%}.preview-column{flex-direction:column;align-items:center}.preview-column .post-card{width:90%;max-width:320px}.about-section,.skills-section{padding:var(--space-md);margin:var(--space-md) 0;max-width:700px;margin-left:auto;margin-right:auto}.footer-top{text-align:center;margin-bottom:var(--space-sm)}.site-footer{padding-bottom:var(--space-xl)}}@media (max-width: 1100px) and (min-width: 1000px){.home-page{margin-top:var(--space-xl)}.hero-row{height:auto;margin:var(--space-xl)}.terminal-box{min-height:200px}}@media (max-width: 900px){.hero-image{width:280px;height:280px}.home-page{margin-top:var(--space-lg)}.hero-row{height:auto;margin-bottom:var(--space-lg)}.home-main-grid{margin-top:var(--space-sm)}.cta-buttons{flex-direction:column;align-items:center}.contact-links{margin-top:var(--space-xl);margin-bottom:var(--space-xxl)}.about-section,.skills-section{max-width:90%}}@media (max-width: 500px){.hero-image{width:240px;height:240px}.hero-row{margin-bottom:var(--space-lg)}.cta-buttons{margin-top:var(--space-md)}.contact-links{margin-top:var(--space-xl);margin-bottom:var(--space-xxl)}.terminal-box{max-width:90%;min-height:250px;white-space:pre-wrap;word-break:break-word;overflow-wrap:break-word}.subheading{max-width:80%;margin-left:auto;margin-right:auto;text-align:center}.blog-tabs{flex-direction:column;align-items:center;gap:var(--space-sm)}.blog-tabs .tab-button{width:100%;text-align:center}}@media (max-width: 400px){.subheading{max-width:75%}.terminal-box{max-width:70%;min-height:300px}.blog-grid{padding-left:var(--space-md);padding-right:var(--space-md);justify-content:center}}@media (max-width: 350px){.terminal-box{min-height:350px}.home-main-grid{margin:auto;padding:var(--space-sm);max-width:100%;align-items:center}.timeline-column,.preview-column,.about-section,.skills-section{margin:0;padding:var(--space-sm);max-width:90%}}body{margin:0;font-family:var(--font-family);background-color:var(--background-colour);color:var(--text-primary)}#root{max-width:1280px;margin:0 auto;padding:var(--space-lg)}
