@font-face{font-family:Opening Hours Sans;src:url(/fonts/OpeningHoursSans-Regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}:root{--font-mono: "Opening Hours Sans", ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, "DejaVu Sans Mono", monospace;--font-sans: "Opening Hours Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display: "Opening Hours Sans", var(--font-sans);--background: #FCFCFC;--foreground: #1a1a1a;--accent: #0000ff;--accent-transparent: rgba(0, 0, 255, .1);--secondary: #666666;--muted: #e5e5e5;--card-bg: rgba(245, 245, 245, .8);--tag-bg: rgba(0, 0, 0, .05)}html{font-family:Opening Hours Sans,sans-serif}[data-theme=black-sheep]{--background: #131313;--foreground: #FFFFFF;--accent: rgb(237, 210, 55);--accent-transparent: rgba(245, 216, 154, .1);--secondary: #d4cdc5;--muted: #2e2e2e;--card-bg: rgba(45, 45, 45, .8);--tag-bg: rgba(255, 255, 255, .1)}body{background-color:var(--background);color:var(--foreground);font-family:Opening Hours Sans,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s ease,color .3s ease;font-size:16px;line-height:1.6}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--background)}::-webkit-scrollbar-thumb{background:var(--accent);border-radius:10px;border:2px solid var(--background);-webkit-transition:background .3s ease;transition:background .3s ease}::-webkit-scrollbar-thumb:hover{background:var(--accent);opacity:.8}*{scrollbar-width:thin;scrollbar-color:var(--accent) var(--background)}:root{--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem}.transition-all{transition:all .3s ease}.hover-lift{transition:transform .2s ease}.hover-lift:hover{transform:translateY(-2px)}.font-display{font-family:var(--font-display);font-weight:400;font-variation-settings:"BLDA" 10;transition:font-variation-settings .3s ease}.font-display:hover{font-variation-settings:"BLDA" 50}.prose{font-family:var(--font-sans);font-weight:400;line-height:1.6}.prose strong{color:var(--foreground);font-weight:600;font-family:Opening Hours Sans,sans-serif}.project-card{backdrop-filter:blur(8px);transition:all .2s ease}.project-card:hover{transform:translateY(-2px)}.project-tag{background-color:var(--tag-bg);border-radius:999px;padding:.25rem .75rem;font-size:var(--text-xs);color:var(--secondary);transition:all .2s ease}.project-tag:hover{color:var(--accent)}button,.button{border:1px solid var(--muted);border-radius:8px;transition:all .2s ease}button:hover,.button:hover{border-color:var(--accent);color:var(--accent)}code{font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,Courier New,monospace;font-size:.875em;background-color:var(--background);color:var(--foreground);padding:.125rem .375rem;border-radius:.25rem;border:1px solid var(--foreground)}pre{background-color:var(--background);border:1px solid var(--foreground);border-radius:.5rem;padding:1rem;margin:1.5rem 0;overflow-x:auto;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,Courier New,monospace;font-size:.875rem;line-height:1.5;color:var(--foreground)}pre code{background:none;border:none;padding:0;color:inherit;font-size:inherit;border-radius:0}pre .token.comment,pre .token.prolog,pre .token.doctype,pre .token.cdata{color:var(--secondary);font-style:italic}pre .token.punctuation{color:var(--foreground)}pre .token.property,pre .token.tag,pre .token.boolean,pre .token.number,pre .token.constant,pre .token.symbol,pre .token.deleted{color:var(--accent)}pre .token.selector,pre .token.attr-name,pre .token.string,pre .token.char,pre .token.builtin,pre .token.inserted{color:var(--foreground)}pre .token.operator,pre .token.entity,pre .token.url,pre .language-css .token.string,pre .style .token.string{color:var(--accent)}pre .token.atrule,pre .token.attr-value,pre .token.keyword{color:var(--accent);font-weight:600}pre .token.function,pre .token.class-name{color:var(--foreground);font-weight:500}pre .token.regex,pre .token.important,pre .token.variable{color:var(--accent)}@media (max-width: 640px){code{font-size:.8em;padding:.1rem .25rem}pre{padding:.75rem;font-size:.8rem;margin:1rem 0}}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slide-down{0%{transform:translateY(0);opacity:1}to{transform:translateY(-20px);opacity:0}}@supports (view-transition-name: none){::view-transition-old(root){animation:fade-out .2s ease-out forwards}::view-transition-new(root){animation:fade-in .3s ease-out forwards}main{view-transition-name:main-content}::view-transition-old(main-content){animation:slide-down .2s ease-out forwards}::view-transition-new(main-content){animation:slide-up .3s ease-out forwards}.horizontal-nav{view-transition-name:navbar}.hamburger-btn{view-transition-name:hamburger}.mobile-menu{view-transition-name:mobile-menu}::view-transition-old(navbar),::view-transition-old(hamburger),::view-transition-old(mobile-menu),::view-transition-new(navbar),::view-transition-new(hamburger),::view-transition-new(mobile-menu){animation:none!important}::view-transition-old(navbar),::view-transition-old(hamburger),::view-transition-old(mobile-menu),::view-transition-old(theme-toggle){opacity:0!important}}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{min-height:100vh;font-family:Opening Hours Sans,sans-serif;background-color:var(--background);overflow-x:hidden;margin:0;padding:0}main{position:relative}img{max-width:100%;height:auto}::-moz-selection{background-color:var(--accent);color:var(--background)}::selection{background-color:var(--accent);color:var(--background)}.horizontal-nav{display:flex;justify-content:center;padding:1.5rem 1rem;z-index:1000}.horizontal-nav .nav-pill{display:flex;align-items:center;gap:6px;padding:8px;background:var(--background);border:1px solid var(--muted);border-radius:32px}.horizontal-nav .nav-btn{display:flex;align-items:center;justify-content:center;gap:0;height:48px;min-width:48px;padding:0 12px;background:transparent;border:none;border-radius:16px;color:var(--secondary);text-decoration:none;cursor:pointer;transition:all .3s ease;overflow:hidden}.horizontal-nav .nav-icon-wrapper{display:flex;align-items:center;justify-content:center;flex-shrink:0}.horizontal-nav .nav-btn:hover{color:var(--foreground);background:var(--muted)}.horizontal-nav .nav-btn-active{background:var(--muted);color:var(--foreground)}[data-theme=black-sheep] .horizontal-nav .nav-btn:hover,[data-theme=black-sheep] .horizontal-nav .nav-btn-active{background:#ffffff14}.horizontal-nav .nav-svg{width:24px;height:24px;flex-shrink:0}.horizontal-nav .nav-label{font-size:1rem;font-weight:500;white-space:nowrap;overflow:hidden;max-width:0;margin-left:0;line-height:24px;transition:max-width .4s ease,margin-left .4s ease}.horizontal-nav .nav-btn-active .nav-label{max-width:100px;margin-left:.5rem}.horizontal-nav .nav-btn-active{padding:0 16px}.horizontal-nav.nav-transitioning .nav-label{max-width:0!important;margin-left:0!important}.horizontal-nav .nav-btn:first-child{border-radius:24px 20px 20px 24px}.horizontal-nav .nav-btn:last-child{border-radius:20px 24px 24px 20px}.hamburger-btn{display:none;position:fixed;top:1rem;left:1rem;z-index:1001;background:var(--background);border:1px solid var(--muted);border-radius:12px;padding:.75rem;cursor:pointer;transition:all .2s ease}.hamburger-btn:hover{color:var(--accent)}.hamburger-icon{font-size:1rem;color:var(--foreground)}.mobile-menu{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:var(--background);z-index:2000;flex-direction:column;padding:2rem;transform:translate(-100%);transition:transform .3s ease}.mobile-menu.open{transform:translate(0)}.close-btn{align-self:flex-end;background:transparent;border:none;padding:.5rem;cursor:pointer;color:var(--foreground);transition:all .2s ease}.close-btn:hover{color:var(--accent)}.close-icon{font-size:1.5rem}.mobile-nav-items{display:flex;flex-direction:column;gap:1rem;margin-top:3rem}.mobile-nav-item{display:flex;align-items:center;gap:1rem;color:var(--foreground);text-decoration:none;font-size:1.25rem;padding:.75rem;border-radius:12px;transition:all .2s ease}.mobile-nav-item:hover,.mobile-nav-item-active{color:var(--accent)}.mobile-nav-icon{font-size:1rem}@media (max-width: 768px){nav.horizontal-nav{display:none!important}.hamburger-btn{display:block}.mobile-menu{display:flex}}@media (min-width: 769px){.hamburger-btn,.mobile-menu{display:none!important}}.footer{padding:3rem 0;margin-top:4rem}.footer .content-container{max-width:580px;margin:0 auto;padding:2rem 1.5rem 0;border-top:1px solid var(--muted)}.footer-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.footer-text{font-size:.938rem;color:var(--secondary);margin:0}.footer-text a{color:var(--accent);text-decoration:none}.footer-text a:hover{text-decoration:underline}.theme-toggle-footer{display:flex;align-items:center;gap:.25rem;font-size:.875rem;color:var(--secondary)}.theme-label{margin-right:.25rem}.theme-separator{color:var(--muted)}.theme-option{background:none;border:none;padding:.125rem .25rem;color:var(--secondary);cursor:pointer;font-size:.875rem;font-family:inherit;transition:color .2s ease;border-radius:4px}.theme-option:hover{color:var(--foreground)}.theme-option.active{color:var(--accent);font-weight:500}
