@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@300;400;500;600;700;900&display=swap");@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600;700&display=swap");body,h1,h2,h3,h4,h5,h6,p,blockquote,pre,hr,dl,dd,ol,ul,figure{margin:0;padding:0}body{font:400 16px/1.5 "IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;color:#111;background-color:#fdfdfd;-webkit-text-size-adjust:100%;-webkit-font-feature-settings:"kern" 1;-moz-font-feature-settings:"kern" 1;-o-font-feature-settings:"kern" 1;font-feature-settings:"kern" 1;font-kerning:normal;display:flex;min-height:100vh;flex-direction:column}h1,h2,h3,h4,h5,h6,p,blockquote,pre,ul,ol,dl,figure,.highlight{margin-bottom:15px}main{display:block}img{max-width:100%;vertical-align:middle}figure>img{display:block}figcaption{font-size:14px}ul,ol{margin-left:30px}li>ul,li>ol{margin-bottom:0}h1,h2,h3,h4,h5,h6{font-weight:400}a{color:#2b6cb0;text-decoration:none}a:visited{color:#1c4673}a:hover{color:#111;text-decoration:underline}.social-media-list a:hover{text-decoration:none}.social-media-list a:hover .username{text-decoration:underline}blockquote{color:#828282;border-left:4px solid #e8e8e8;padding-left:15px;font-size:18px;letter-spacing:-1px;font-style:italic}blockquote>:last-child{margin-bottom:0}pre,code{font-size:15px;border:1px solid #e8e8e8;border-radius:3px;background-color:#eef}code{padding:1px 5px}pre{padding:8px 12px;overflow-x:auto}pre>code{border:0;padding-right:0;padding-left:0}.wrapper{max-width:-webkit-calc(800px - (30px * 2));max-width:calc(800px - (30px * 2));margin-right:auto;margin-left:auto;padding-right:30px;padding-left:30px}@media screen and (max-width: 800px){.wrapper{max-width:-webkit-calc(800px - (30px));max-width:calc(800px - (30px));padding-right:15px;padding-left:15px}}.wrapper:after,.footer-col-wrapper:after{content:"";display:table;clear:both}.svg-icon{width:16px;height:16px;display:inline-block;fill:#828282;padding-right:5px;vertical-align:text-top}.social-media-list li+li{padding-top:5px}table{margin-bottom:30px;width:100%;text-align:left;color:#3f3f3f;border-collapse:collapse;border:1px solid #e8e8e8}table tr:nth-child(even){background-color:#f7f7f7}table th,table td{padding:10px 15px}table th{background-color:#f0f0f0;border:1px solid #dedede;border-bottom-color:#c9c9c9}table td{border:1px solid #e8e8e8}.site-header{border-top:5px solid #424242;border-bottom:1px solid #e8e8e8;min-height:55.95px;position:relative}.site-title{font-size:26px;font-weight:300;line-height:54px;letter-spacing:-1px;margin-bottom:0;float:left}.site-title,.site-title:visited{color:#424242}.site-nav{float:right;line-height:54px}.site-nav .nav-trigger{display:none}.site-nav .menu-icon{display:none}.site-nav .page-link{color:#111;line-height:1.5}.site-nav .page-link:not(:last-child){margin-right:20px}@media screen and (max-width: 600px){.site-nav{position:absolute;top:9px;right:15px;background-color:#fdfdfd;border:1px solid #e8e8e8;border-radius:5px;text-align:right}.site-nav label[for="nav-trigger"]{display:block;float:right;width:36px;height:36px;z-index:2;cursor:pointer}.site-nav .menu-icon{display:block;float:right;width:36px;height:26px;line-height:0;padding-top:10px;text-align:center}.site-nav .menu-icon>svg{fill:#424242}.site-nav input ~ .trigger{clear:both;display:none}.site-nav input:checked ~ .trigger{display:block;padding-bottom:5px}.site-nav .page-link{display:block;padding:5px 10px;margin-left:20px}.site-nav .page-link:not(:last-child){margin-right:0}}.site-footer{border-top:1px solid #e8e8e8;padding:30px 0}.footer-heading{font-size:18px;margin-bottom:15px}.contact-list,.social-media-list{list-style:none;margin-left:0}.footer-col-wrapper{font-size:15px;color:#828282;margin-left:-15px}.footer-col{float:left;margin-bottom:15px;padding-left:15px}.footer-col-1{width:-webkit-calc(35% - (30px / 2));width:calc(35% - (30px / 2))}.footer-col-2{width:-webkit-calc(20% - (30px / 2));width:calc(20% - (30px / 2))}.footer-col-3{width:-webkit-calc(45% - (30px / 2));width:calc(45% - (30px / 2))}@media screen and (max-width: 800px){.footer-col-1,.footer-col-2{width:-webkit-calc(50% - (30px / 2));width:calc(50% - (30px / 2))}.footer-col-3{width:-webkit-calc(100% - (30px / 2));width:calc(100% - (30px / 2))}}@media screen and (max-width: 600px){.footer-col{float:none;width:-webkit-calc(100% - (30px / 2));width:calc(100% - (30px / 2))}}.page-content{padding:30px 0;flex:1}.page-heading{font-size:32px}.post-list-heading{font-size:28px}.post-list{margin-left:0;list-style:none}.post-list>li{margin-bottom:30px}.post-meta{font-size:14px;color:#828282}.post-link{display:block;font-size:24px}.post-header{margin-bottom:30px}.post-title{font-size:42px;letter-spacing:-1px;line-height:1}@media screen and (max-width: 800px){.post-title{font-size:36px}}.post-content{margin-bottom:30px}.post-content h2{font-size:32px}@media screen and (max-width: 800px){.post-content h2{font-size:28px}}.post-content h3{font-size:26px}@media screen and (max-width: 800px){.post-content h3{font-size:22px}}.post-content h4{font-size:20px}@media screen and (max-width: 800px){.post-content h4{font-size:18px}}.highlight{background:#fff}.highlighter-rouge .highlight{background:#eef}.highlight .c{color:#998;font-style:italic}.highlight .err{color:#a61717;background-color:#e3d2d2}.highlight .k{font-weight:bold}.highlight .o{font-weight:bold}.highlight .cm{color:#998;font-style:italic}.highlight .cp{color:#999;font-weight:bold}.highlight .c1{color:#998;font-style:italic}.highlight .cs{color:#999;font-weight:bold;font-style:italic}.highlight .gd{color:#000;background-color:#fdd}.highlight .gd .x{color:#000;background-color:#faa}.highlight .ge{font-style:italic}.highlight .gr{color:#a00}.highlight .gh{color:#999}.highlight .gi{color:#000;background-color:#dfd}.highlight .gi .x{color:#000;background-color:#afa}.highlight .go{color:#888}.highlight .gp{color:#555}.highlight .gs{font-weight:bold}.highlight .gu{color:#aaa}.highlight .gt{color:#a00}.highlight .kc{font-weight:bold}.highlight .kd{font-weight:bold}.highlight .kp{font-weight:bold}.highlight .kr{font-weight:bold}.highlight .kt{color:#458;font-weight:bold}.highlight .m{color:#099}.highlight .s{color:#d14}.highlight .na{color:teal}.highlight .nb{color:#0086B3}.highlight .nc{color:#458;font-weight:bold}.highlight .no{color:teal}.highlight .ni{color:purple}.highlight .ne{color:#900;font-weight:bold}.highlight .nf{color:#900;font-weight:bold}.highlight .nn{color:#555}.highlight .nt{color:navy}.highlight .nv{color:teal}.highlight .ow{font-weight:bold}.highlight .w{color:#bbb}.highlight .mf{color:#099}.highlight .mh{color:#099}.highlight .mi{color:#099}.highlight .mo{color:#099}.highlight .sb{color:#d14}.highlight .sc{color:#d14}.highlight .sd{color:#d14}.highlight .s2{color:#d14}.highlight .se{color:#d14}.highlight .sh{color:#d14}.highlight .si{color:#d14}.highlight .sx{color:#d14}.highlight .sr{color:#009926}.highlight .s1{color:#d14}.highlight .ss{color:#990073}.highlight .bp{color:#999}.highlight .vc{color:teal}.highlight .vg{color:teal}.highlight .vi{color:teal}.highlight .il{color:#099}:root{color-scheme:light;--bg-color: #fafafa;--text-color: #1a1a1a;--muted-text: #6a6a6a;--border-color: #e8e8e8;--button-bg: #f7931a;--button-text: #ffffff;--section-surface: rgba(247, 147, 26, 0.02);--grid-dot-color: rgba(200, 200, 200, 0.3);--color-brand: #f7931a;--color-accent: #f7931a;--color-bitcoin-orange: #f7931a;--color-bitcoin-yellow: #ffb347;--color-bitcoin-dark: #cc7a15;--color-comic-yellow: #ffd93d;--color-hover-light: rgba(247, 147, 26, 0.08);--color-hover-dark: rgba(247, 147, 26, 0.12);--color-border-subtle: rgba(26, 26, 26, 0.1);--color-border-focus: #f7931a;--color-shadow-sm: rgba(26, 26, 26, 0.08);--color-shadow-md: rgba(26, 26, 26, 0.12);--color-shadow-lg: rgba(26, 26, 26, 0.16);--font-sans: "IBM Plex Sans", -apple-system, sans-serif;--font-mono: "IBM Plex Mono", "Courier New", monospace;--space-1: 0.15rem;--space-2: 0.35rem;--space-3: 0.5rem;--space-4: 0.75rem;--space-5: 1rem;--space-6: 1.15rem;--space-7: 1.35rem;--space-8: 1.5rem;--space-10: 1.85rem;--space-12: 2.25rem;--space-16: 3rem;--space-20: 3.75rem;--space-section: clamp(0.85rem, 3vw, 1.25rem);--space-card: clamp(0.65rem, 2vw, 0.95rem);--text-xs: clamp(0.75rem, 1.5vw, 0.8rem);--text-sm: clamp(0.85rem, 1.7vw, 0.9rem);--text-base: clamp(0.95rem, 1.8vw, 1rem);--text-xl: clamp(1.2rem, 2.5vw, 1.4rem);--text-2xl: clamp(1.6rem, 3.2vw, 2.1rem);--text-3xl: clamp(2rem, 4vw, 2.75rem);--text-4xl: clamp(2.75rem, 6vw, 3.75rem);--leading-tight: 1.1;--leading-normal: 1.45;--leading-relaxed: 1.55;--font-medium: 500;--font-semibold: 600;--radius-md: 2px;--radius-lg: 3px;--radius-xl: 4px;--radius-full: 2px;--shadow-md: 0 10px 30px var(--color-shadow-md);--shadow-lg: 0 20px 40px var(--color-shadow-lg);--duration-base: 0.2s;--duration-slow: 0.3s;--ease-in-out: cubic-bezier(0.4, 0, 0.2, 1)}[data-theme="dark"]{color-scheme:dark;--bg-color: #0f0f0f;--text-color: #f5f5f5;--muted-text: #a8a8a8;--border-color: #3a3a3a;--button-bg: #f7931a;--button-text: #ffffff;--section-surface: rgba(247, 147, 26, 0.08);--grid-dot-color: rgba(80, 80, 80, 0.4);--color-brand: #ffb347;--color-accent: #ffb347;--color-bitcoin-orange: #ffb347;--color-bitcoin-yellow: #ffd93d;--color-bitcoin-dark: #f7931a;--color-comic-yellow: #ffe454;--color-hover-light: rgba(255, 179, 71, 0.15);--color-hover-dark: rgba(255, 179, 71, 0.22);--color-border-subtle: rgba(58, 58, 58, 0.7);--color-border-focus: #ffd93d;--color-shadow-sm: rgba(0, 0, 0, 0.4);--color-shadow-md: rgba(0, 0, 0, 0.5);--color-shadow-lg: rgba(0, 0, 0, 0.6)}body{background-color:var(--bg-color);font-family:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Arial,sans-serif;color:var(--text-color);transition:background-color 0.3s ease, color 0.3s ease}@media (max-width: 768px){body{overflow-x:hidden}}html{scroll-behavior:smooth}@media (max-width: 768px){html{overflow-x:hidden}}a{color:#2b6cb0}a:hover{color:#215387;text-decoration:none}code{font-size:0.8rem}pre{font-size:0.8rem}.lead{font-size:1.1rem;margin-top:1.5rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.landing{min-height:100vh;min-height:100dvh;padding:0.75rem 0.85rem;display:flex;flex-direction:column;background-color:var(--bg-color);gap:0.65rem;box-sizing:border-box;overflow-x:hidden;position:relative;transition:none;opacity:1;transform:none;background-image:radial-gradient(circle, var(--grid-dot-color) 1px, transparent 1px);background-size:16px 16px}.landing::before{content:"";position:absolute;top:10%;right:5%;width:40px;height:40px;background:var(--color-comic-yellow);opacity:0.3;clip-path:polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);z-index:0}.landing::after{content:"";position:absolute;bottom:15%;left:8%;width:50px;height:50px;background:var(--color-bitcoin-orange);opacity:0.2;clip-path:polygon(20% 0%, 80% 0%, 100% 20%, 100% 80%, 80% 100%, 20% 100%, 0% 80%, 0% 20%);z-index:0}.landing__header{width:min(100%, 1080px);margin:0 auto}.landing__header-inner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(1rem, 3vw, 1.75rem);width:100%}.landing__brand{margin:0;font-family:var(--font-sans);font-size:clamp(2.5rem, 8vw, 5rem);line-height:0.9;font-weight:900;text-transform:lowercase;letter-spacing:-0.03em;white-space:nowrap;flex-shrink:0;color:var(--text-color);position:relative;transform:rotate(-0.8deg);text-shadow:3px 3px 0 var(--color-accent),3px 3px 0 var(--color-accent)}.landing__brand::after{content:"";position:absolute;top:-0.1em;right:-0.3em;width:0.25em;height:0.25em;background:var(--color-accent);clip-path:polygon(50% 0%, 100% 38%, 82% 100%, 18% 100%, 0% 38%)}.landing__controls{display:flex;align-items:center;justify-content:flex-end;gap:clamp(0.65rem, 2vw, 1rem);min-width:0;flex-wrap:nowrap}.landing__nav{display:flex;align-items:center;justify-content:center;gap:clamp(0.55rem, 1.8vw, 0.85rem);min-width:0;flex-wrap:nowrap}.landing__nav::-webkit-scrollbar{display:none}.landing__nav{scrollbar-width:none}.landing__link{font-family:var(--font-sans);font-size:0.9rem;font-weight:700;letter-spacing:-0.01em;text-transform:lowercase;color:var(--text-color);padding:0.4rem 0.9rem;border-radius:0;border:2px solid transparent;background-color:transparent;transition:transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;position:relative;clip-path:polygon(0 0, calc(100% - 6px) 0, 100% 6px, 100% 100%, 6px 100%, 0 calc(100% - 6px))}.landing__link:nth-child(1){transform:rotate(-1.2deg);border-width:2px 3px 2px 2px}.landing__link:nth-child(2){transform:rotate(0.8deg);border-width:3px 2px 2px 3px}.landing__link:nth-child(3){transform:rotate(-0.5deg);border-width:2px 2px 3px 2px}.landing__link:nth-child(4){transform:rotate(1.1deg);border-width:2px 3px 2px 3px}.landing__link:nth-child(5){transform:rotate(-0.9deg);border-width:3px 2px 3px 2px}.landing__link:hover,.landing__link:focus-visible{border-color:var(--text-color);background-color:var(--color-accent);color:white;outline:none;box-shadow:2px 2px 0 var(--text-color)}.landing__link:hover:nth-child(1),.landing__link:focus-visible:nth-child(1){transform:rotate(-1.2deg) translate(-1px, -1px);box-shadow:3px 3px 0 var(--text-color)}.landing__link:hover:nth-child(2),.landing__link:focus-visible:nth-child(2){transform:rotate(0.8deg) translate(-1px, -1px);box-shadow:2px 3px 0 var(--text-color)}.landing__link:hover:nth-child(3),.landing__link:focus-visible:nth-child(3){transform:rotate(-0.5deg) translate(-1px, -1px);box-shadow:3px 2px 0 var(--text-color)}.landing__link:hover:nth-child(4),.landing__link:focus-visible:nth-child(4){transform:rotate(1.1deg) translate(-1px, -1px);box-shadow:2px 3px 0 var(--text-color)}.landing__link:hover:nth-child(5),.landing__link:focus-visible:nth-child(5){transform:rotate(-0.9deg) translate(-1px, -1px);box-shadow:3px 2px 0 var(--text-color)}[data-theme="dark"] .landing__link:hover,[data-theme="dark"] .landing__link:focus-visible{background-color:var(--color-accent);color:white}.landing__content{flex:1;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;width:min(100%, 1080px);margin:0 auto;padding:2rem 0;gap:clamp(1.5rem, 5vw, 2.5rem);opacity:0;transform:translateY(12px);animation:fade-in 0.6s ease forwards 0.1s}.landing__footer{display:none}.content-page{min-height:100vh;padding:clamp(2.5rem, 6vw, 5rem) clamp(1.75rem, 6vw, 4.25rem);display:flex;flex-direction:column;gap:clamp(2rem, 5vw, 3.5rem);background-color:var(--bg-color);opacity:1;transform:none;position:relative;background-image:radial-gradient(circle, var(--grid-dot-color) 1px, transparent 1px);background-size:16px 16px}.content-page::before{content:"";position:absolute;top:15%;left:3%;width:35px;height:35px;background:var(--color-bitcoin-yellow);opacity:0.25;clip-path:polygon(50% 0%, 100% 38%, 82% 100%, 18% 100%, 0% 38%);z-index:0}.content-page::after{content:"";position:absolute;bottom:20%;right:5%;width:45px;height:45px;background:var(--color-comic-yellow);opacity:0.2;clip-path:circle(50%);z-index:0}.content-page__header{display:flex;align-items:center;justify-content:space-between;gap:clamp(1rem, 4vw, 2rem);flex-wrap:wrap}.content-page__brand{text-decoration:none;color:var(--text-color);font-size:clamp(1.4rem, 3vw, 1.8rem);font-weight:900;letter-spacing:-0.02em;border:2px solid transparent;border-radius:0;padding:0.5rem 1rem;transition:transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;position:relative;clip-path:polygon(0 0, calc(100% - 8px) 0, 100% 8px, 100% 100%, 0 100%)}.content-page__brand::after{content:"";position:absolute;top:-3px;right:-3px;width:10px;height:10px;background:var(--color-bitcoin-orange);clip-path:polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%)}.content-page__brand-label{display:inline-flex;align-items:center;gap:0.4rem;text-transform:lowercase}.content-page__brand:hover,.content-page__brand:focus-visible{border-color:var(--text-color);background-color:var(--color-accent);color:white;outline:none;transform:translate(-1px, -1px);box-shadow:3px 3px 0 var(--text-color)}.content-page__controls{display:flex;align-items:center;justify-content:flex-end;gap:clamp(0.65rem, 3vw, 1.25rem);flex-wrap:wrap}.content-page__nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(0.45rem, 2vw, 0.85rem);flex-wrap:wrap}.content-page__link{font-family:var(--font-sans);font-size:0.9rem;font-weight:700;letter-spacing:-0.01em;text-transform:lowercase;color:var(--text-color);padding:0.4rem 0.9rem;border-radius:0;border:2px solid transparent;background-color:transparent;transition:transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;position:relative;clip-path:polygon(0 0, calc(100% - 6px) 0, 100% 6px, 100% 100%, 6px 100%, 0 calc(100% - 6px))}.content-page__link:nth-child(1){transform:rotate(-1.2deg);border-width:2px 3px 2px 2px}.content-page__link:nth-child(2){transform:rotate(0.8deg);border-width:3px 2px 2px 3px}.content-page__link:nth-child(3){transform:rotate(-0.5deg);border-width:2px 2px 3px 2px}.content-page__link:nth-child(4){transform:rotate(1.1deg);border-width:2px 3px 2px 3px}.content-page__link:nth-child(5){transform:rotate(-0.9deg);border-width:3px 2px 3px 2px}.content-page__link:hover,.content-page__link:focus-visible{border-color:var(--text-color);background-color:var(--color-accent);color:white;outline:none;box-shadow:2px 2px 0 var(--text-color)}.content-page__link:hover:nth-child(1),.content-page__link:focus-visible:nth-child(1){transform:rotate(-1.2deg) translate(-1px, -1px);box-shadow:3px 3px 0 var(--text-color)}.content-page__link:hover:nth-child(2),.content-page__link:focus-visible:nth-child(2){transform:rotate(0.8deg) translate(-1px, -1px);box-shadow:2px 3px 0 var(--text-color)}.content-page__link:hover:nth-child(3),.content-page__link:focus-visible:nth-child(3){transform:rotate(-0.5deg) translate(-1px, -1px);box-shadow:3px 2px 0 var(--text-color)}.content-page__link:hover:nth-child(4),.content-page__link:focus-visible:nth-child(4){transform:rotate(1.1deg) translate(-1px, -1px);box-shadow:2px 3px 0 var(--text-color)}.content-page__link:hover:nth-child(5),.content-page__link:focus-visible:nth-child(5){transform:rotate(-0.9deg) translate(-1px, -1px);box-shadow:3px 2px 0 var(--text-color)}[data-theme="dark"] .content-page__link:hover,[data-theme="dark"] .content-page__link:focus-visible{background-color:var(--color-accent);color:white}.content-page__body{flex:1;width:min(100%, 920px)}.projects-page{padding:clamp(2.5rem, 6vw, 4rem) clamp(1.25rem, 4vw, 2.5rem);display:flex;flex-direction:column;gap:clamp(2rem, 4vw, 3rem);background-color:var(--bg-color);overflow-x:hidden}@media (max-width: 768px){.projects-page{padding:2rem 1rem;gap:2rem}}.projects-page__intro{max-width:720px;display:grid;gap:0.75rem}.projects-page__eyebrow{text-transform:uppercase;letter-spacing:0.15em;font-size:0.75rem;font-weight:700;font-family:var(--font-mono);color:var(--muted-text);margin:0;transform:rotate(-0.8deg);display:inline-block}.projects-page__title{font-size:clamp(2rem, 4vw, 2.75rem);font-family:var(--font-sans);font-weight:900;letter-spacing:-0.02em;margin:0;line-height:1.1;text-transform:lowercase;transform:rotate(0.5deg);display:inline-block}.projects-page__description{margin:0;color:var(--muted-text);font-size:1rem;font-weight:500;line-height:1.5;transform:rotate(-0.3deg);display:inline-block}.project-page{min-height:100vh;padding:clamp(2.5rem, 6vw, 5rem) clamp(1.5rem, 6vw, 6rem);display:flex;flex-direction:column;gap:clamp(2rem, 5vw, 3.5rem);background-color:var(--bg-color);opacity:0;transform:translateY(16px);animation:project-fade-in 0.6s ease forwards 0.15s}.project-page__header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.project-page__home{color:var(--text-color);text-decoration:none;font-weight:500;display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border:1px solid transparent;border-radius:0.75rem;transition:border-color 0.2s ease, color 0.2s ease}.project-page__home-icon{display:inline-block;width:1.35rem;height:1.35rem;fill:currentColor}.project-page__content>h1:first-of-type{font-size:clamp(1.6rem, 3.2vw, 2.1rem);letter-spacing:-0.01em;margin-bottom:clamp(1.5rem, 3vw, 2rem)}.project-page__home:hover,.project-page__home:focus{color:#2b6cb0;border-color:rgba(148,163,184,0.35)}.project-page__content{flex:1;max-width:960px}.project-page__content>:first-child{margin-top:0}.project-info{border:1px solid var(--border-color);border-radius:1rem;padding:clamp(1.5rem, 3vw, 2rem);background-color:rgba(148,163,184,0.08);display:grid;gap:clamp(1rem, 2.5vw, 1.5rem)}.project-info__title{font-size:0.8rem;text-transform:uppercase;letter-spacing:0.18em;color:var(--muted-text);margin:0}.project-info__lede{font-size:clamp(0.92rem, 1.8vw, 1.05rem);margin:0}.project-info__details{display:grid;gap:0.75rem;font-size:0.85rem;color:var(--muted-text)}.project-info__details p,.project-info__details ul{margin:0;padding:0;list-style:none}.project-info__details li{margin:0}.project-info__header{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.project-meta{font-size:0.8rem;color:var(--muted-text);text-transform:uppercase;letter-spacing:0.12em}.project-languages{display:flex;flex-wrap:wrap;gap:0.75rem 1.25rem;padding:0;margin:0;list-style:none}.project-language{display:inline-flex;align-items:center;gap:0.5rem;font-size:0.9rem;color:var(--text-color);padding:0.2rem 0}.project-language__swatch{width:0.85rem;height:0.85rem;border-radius:50%;background-color:var(--lang-color, rgba(148,163,184,0.6));box-shadow:inset 0 0 0 1px rgba(255,255,255,0.18)}[data-theme="dark"] .project-info{background-color:var(--section-surface);border-color:var(--border-color)}[data-theme="dark"] .project-info__details{color:var(--muted-text)}.project-info{padding:1.5rem}.projects-page--games{background:var(--color-bitcoin-orange);position:relative;overflow:visible}[data-theme="dark"] .projects-page--games{background:#d67a15}.projects-page--games .projects-page__eyebrow::before{content:"";position:absolute;top:-35px;left:-40px;width:75px;height:75px;background:white;clip-path:polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);transform:rotate(35deg);z-index:-1}[data-theme="dark"] .projects-page--games .projects-page__eyebrow::before{background:var(--bg-color)}.projects-page--games .projects-page__description::after{content:"";position:absolute;bottom:-20px;left:-30px;width:55px;height:55px;background:white;clip-path:polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);transform:rotate(-25deg);z-index:-1}[data-theme="dark"] .projects-page--games .projects-page__description::after{background:var(--bg-color)}.projects-page--games .projects-page__title::before{content:"";position:absolute;top:-30px;right:-45px;width:80px;height:80px;background:white;clip-path:polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);transform:rotate(-15deg);z-index:-1}[data-theme="dark"] .projects-page--games .projects-page__title::before{background:var(--bg-color)}.projects-page--games .projects-page__title::after{content:"";position:absolute;bottom:-25px;right:-35px;width:65px;height:65px;background:white;clip-path:polygon(50% 0%, 100% 38%, 82% 100%, 18% 100%, 0% 38%);transform:rotate(40deg);z-index:-1}[data-theme="dark"] .projects-page--games .projects-page__title::after{background:var(--bg-color)}.projects-page--games .projects-grid::before{content:"";position:absolute;top:35%;left:-35px;width:70px;height:70px;background:white;clip-path:circle(50%);z-index:-1}[data-theme="dark"] .projects-page--games .projects-grid::before{background:var(--bg-color)}.projects-page--games .projects-grid::after{content:"";position:absolute;top:55%;right:-40px;width:85px;height:85px;background:white;clip-path:polygon(50% 0%, 100% 38%, 82% 100%, 18% 100%, 0% 38%);transform:rotate(-25deg);z-index:-1}[data-theme="dark"] .projects-page--games .projects-grid::after{background:var(--bg-color)}.projects-page--games::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:repeating-linear-gradient(-47deg, transparent, transparent 80px, rgba(255,217,61,0.4) 80px, rgba(255,217,61,0.4) 160px),repeating-linear-gradient(2deg, var(--color-bitcoin-yellow) 0px, var(--color-bitcoin-yellow) 100px, transparent 100px, transparent 150px, var(--color-comic-yellow) 150px, var(--color-comic-yellow) 220px, transparent 220px, transparent 300px),linear-gradient(127deg, var(--color-bitcoin-orange) 0%, var(--color-bitcoin-yellow) 100%);pointer-events:none;z-index:0}[data-theme="dark"] .projects-page--games::before{background-image:repeating-linear-gradient(-47deg, transparent, transparent 80px, rgba(232,169,64,0.3) 80px, rgba(232,169,64,0.3) 160px),repeating-linear-gradient(2deg, #e8a940 0px, #e8a940 100px, transparent 100px, transparent 150px, #f4c563 150px, #f4c563 220px, transparent 220px, transparent 300px),linear-gradient(127deg, #d67a15 0%, #e8a940 100%)}.projects-page--games .projects-page__intro::before{content:"";position:absolute;top:-50px;left:-50px;right:-50px;bottom:-50px;background-image:radial-gradient(circle, rgba(0,0,0,0.15) 2px, transparent 2px);background-size:20px 20px;background-position:0 0, 10px 10px;pointer-events:none;z-index:0;transform:rotate(-3deg)}.projects-page--games .projects-grid::before{content:"";position:absolute;top:10%;right:5%;width:300px;height:200px;background:radial-gradient(ellipse 80% 40% at 30% 50%, rgba(255,255,255,0.3) 0%, transparent 60%),radial-gradient(ellipse 60% 50% at 70% 40%, rgba(0,0,0,0.08) 0%, transparent 70%);transform:rotate(-15deg);pointer-events:none;z-index:0;filter:blur(2px)}.projects-page--games .projects-grid::after{content:"";position:absolute;bottom:15%;left:8%;width:250px;height:180px;background:radial-gradient(ellipse 70% 50% at 40% 60%, rgba(255,255,255,0.25) 0%, transparent 65%),radial-gradient(ellipse 50% 60% at 60% 30%, rgba(0,0,0,0.06) 0%, transparent 70%);transform:rotate(25deg);pointer-events:none;z-index:0;filter:blur(3px)}.projects-page--games .projects-page__intro::after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(0,0,0,0.02) 2px, rgba(0,0,0,0.02) 4px),repeating-linear-gradient(90deg, transparent, transparent 2px, rgba(0,0,0,0.02) 2px, rgba(0,0,0,0.02) 4px);pointer-events:none;z-index:1}.projects-page--games .projects-page__intro{position:relative;z-index:2;transform:rotate(-0.4deg)}.projects-page--games .projects-page__eyebrow{text-shadow:2px 2px 0 rgba(0,0,0,0.12);transform:rotate(1.2deg);display:inline-block;position:relative}.projects-page--games .projects-page__title{color:#1a1a1a;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:0.05em;text-shadow:3px 3px 0 rgba(0,0,0,0.15);transform:rotate(-0.6deg);display:inline-block;position:relative}[data-theme="dark"] .projects-page--games .projects-page__title{color:#0a0a0a;text-shadow:3px 3px 0 rgba(0,0,0,0.25)}.projects-page--games .projects-page__description{text-shadow:2px 2px 0 rgba(0,0,0,0.1);transform:rotate(0.3deg);display:inline-block;position:relative}.projects-page--games .projects-grid{position:relative;z-index:2}.projects-page--games .project-card{background:var(--bg-color);border:4px solid var(--text-color);box-shadow:0 0 0 2px var(--color-bitcoin-yellow),8px 8px 0 var(--text-color);position:relative}.projects-page--games .project-card::before{content:"";position:absolute;top:-4px;left:-4px;right:-4px;bottom:-4px;border:2px dashed var(--color-bitcoin-yellow);opacity:0.4;pointer-events:none}.projects-page--games .project-card::after{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:repeating-linear-gradient(90deg, var(--color-comic-yellow) 0px, var(--color-comic-yellow) 8px, var(--text-color) 8px, var(--text-color) 16px)}.projects-page--games .project-card:hover{box-shadow:0 0 0 2px var(--color-bitcoin-yellow),12px 12px 0 var(--text-color);transform:translate(-2px, -2px)}.projects-page--games .project-card__status{background:var(--color-bitcoin-orange);color:white;padding:0.25rem 0.6rem;font-family:var(--font-mono);font-weight:700;font-size:0.7rem;text-transform:uppercase;letter-spacing:0.1em;border:2px solid var(--text-color);box-shadow:2px 2px 0 var(--text-color)}.projects-page--projects .projects-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(320px, 1fr));gap:clamp(1.5rem, 3vw, 2.5rem)}@media (max-width: 768px){.projects-page--projects .projects-grid{display:flex;flex-direction:column;gap:1.5rem;width:100%;max-width:100%;overflow-x:hidden}}.projects-page--projects .project-card:nth-child(3n+1){grid-column:span 1}.projects-page--projects .project-card:nth-child(5n+2){grid-column:span 2}@media (max-width: 768px){.projects-page--projects .project-card:nth-child(5n+2){grid-column:span 1}}.projects-page--projects .project-card::before{box-shadow:-20px 15px 0 -1px var(--color-bitcoin-yellow),25px -10px 0 -2px var(--color-comic-yellow),-30px -12px 0 -3px var(--color-bitcoin-orange);opacity:0.3}.projects-page--projects .project-card::after{content:counter(panel);counter-increment:panel;position:absolute;top:-3px;left:-3px;width:24px;height:24px;background:var(--color-bitcoin-orange);color:white;font-family:var(--font-mono);font-weight:900;font-size:0.75rem;display:flex;align-items:center;justify-content:center;border:2px solid var(--text-color);box-shadow:2px 2px 0 var(--text-color);z-index:10}.projects-page--projects .projects-grid{counter-reset:panel}.projects-page--projects .project-card:first-child{grid-column:1 / -1}.projects-page--projects .project-card:first-child .project-card__summary{font-size:1.1em}@media (max-width: 768px){.projects-page--projects .project-card:first-child{grid-column:auto}}.projects-page--games .projects-page__title,.projects-page--projects .projects-page__title{position:relative}.projects-page--games .projects-page__title::before,.projects-page--projects .projects-page__title::before{content:"";position:absolute;bottom:-8px;left:0;width:60px;height:5px;background:var(--color-accent)}.theme-toggle{appearance:none;border:2px solid var(--text-color);border-radius:0;background:transparent;color:var(--text-color);font-size:1.25rem;width:2.75rem;height:2.75rem;display:grid;place-items:center;cursor:pointer;transition:transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;position:relative;clip-path:polygon(0 0, calc(100% - 6px) 0, 100% 6px, 100% 100%, 0 100%)}.theme-toggle::after{content:"";position:absolute;top:-2px;right:-2px;width:8px;height:8px;background:var(--color-comic-yellow);clip-path:polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%)}.theme-toggle:hover{background-color:var(--color-accent);color:white;transform:translate(-1px, -1px);box-shadow:2px 2px 0 var(--text-color)}.theme-toggle__icon{width:1.5rem;height:1.5rem;display:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.theme-toggle__icon.is-visible{display:block}.contributions{width:100%;margin:0;transform:none;display:flex;flex-direction:column;align-self:stretch}.contributions__body{border-radius:0;padding:0.65rem 0.75rem;display:grid;gap:0.45rem;border:3px solid var(--text-color);width:100%;margin:0;box-sizing:border-box;background:var(--bg-color);box-shadow:6px 6px 0 var(--color-accent);transition:transform 0.15s ease, box-shadow 0.15s ease;position:relative}.contributions__body::before{content:"";position:absolute;top:0;right:0;width:80px;height:80px;background:radial-gradient(circle, var(--color-accent) 1.5px, transparent 1.5px);background-size:8px 8px;opacity:0.15;pointer-events:none}.contributions__body::after{content:"";position:absolute;top:-3px;left:-3px;width:25px;height:25px;background:var(--color-comic-yellow);clip-path:polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%)}.contributions__body:hover{box-shadow:8px 8px 0 var(--color-accent);transform:translate(-2px, -2px)}.contributions--about .contributions__body{transform:rotate(-0.4deg);border-width:3px 2px 4px 3px;box-shadow:5px 7px 0 var(--color-accent)}.contributions--about .contributions__body:hover{transform:rotate(-0.4deg) translate(-2px, -2px);box-shadow:7px 9px 0 var(--color-accent)}.contributions--projects .contributions__body{transform:rotate(0.5deg);border-width:4px 3px 2px 4px;box-shadow:7px 5px 0 var(--color-accent)}.contributions--projects .contributions__body:hover{transform:rotate(0.5deg) translate(-2px, -2px);box-shadow:9px 7px 0 var(--color-accent)}.contributions--github .contributions__body{transform:rotate(-0.6deg);border-width:2px 4px 3px 3px;box-shadow:6px 6px 0 var(--color-accent)}.contributions--github .contributions__body:hover{transform:rotate(-0.6deg) translate(-2px, -2px);box-shadow:8px 8px 0 var(--color-accent)}.contributions--games .contributions__body{transform:rotate(0.3deg);border-width:3px 3px 4px 2px;box-shadow:5px 6px 0 var(--color-accent)}.contributions--games .contributions__body:hover{transform:rotate(0.3deg) translate(-2px, -2px);box-shadow:7px 8px 0 var(--color-accent)}.contributions--about,.contributions--projects,.contributions--github,.contributions--games{margin:0}.contributions__content{display:flex;align-items:center;justify-content:space-between;gap:clamp(1rem, 3.5vw, 1.5rem);border-top:2px solid var(--border-color);padding-top:1rem;margin-top:0.5rem}.contributions__text{display:flex;flex-direction:column;gap:0.6rem;flex:1 1 auto;min-width:0}.contributions__list{list-style:none;padding:0;margin:0;display:grid;gap:0.3rem}.contributions__list--projects{list-style:disc;padding:0 0 0 1.35rem}.contributions__list li{margin:0;font-size:clamp(0.75rem, 1.65vw, 0.83rem);line-height:1.45;display:inline-block;width:100%}.contributions__list li:nth-child(1){transform:rotate(-0.3deg)}.contributions__list li:nth-child(2){transform:rotate(0.4deg)}.contributions__list li:nth-child(3){transform:rotate(-0.2deg)}.contributions__list li:nth-child(4){transform:rotate(0.3deg)}.contributions__list li:nth-child(5){transform:rotate(-0.4deg)}.contributions__social{display:inline-flex;align-items:center;gap:0.35rem}.contributions__social a{color:inherit;text-decoration:none;transition:color 0.2s ease;border-bottom:1px solid transparent}.contributions__social a:hover{color:var(--color-brand);border-bottom-color:var(--color-brand)}.contributions__social-icon{width:1rem;height:1rem;display:inline-block}.contributions__bio{margin:0;margin-top:0.5rem;color:var(--muted-text);font-size:clamp(0.8rem, 1.7vw, 0.88rem);line-height:1.5;max-width:55ch;transform:rotate(-0.2deg)}.contributions__bio span{display:block}.contributions__bio span+span{display:block;margin-top:0.4rem}.contributions__avatar{flex:0 0 clamp(120px, 28vw, 180px);width:clamp(120px, 28vw, 180px);height:clamp(120px, 28vw, 180px);border-radius:0;overflow:visible;border:3px solid var(--text-color);box-shadow:5px 5px 0 var(--color-accent);display:inline-flex;align-items:center;justify-content:center;background:var(--bg-color);transition:transform 0.2s ease, box-shadow 0.2s ease;position:relative}.contributions__avatar::before{content:"";position:absolute;top:-8px;right:-8px;width:30px;height:30px;background:radial-gradient(circle, var(--color-bitcoin-yellow) 2px, transparent 2px);background-size:6px 6px;z-index:10}.contributions__avatar::after{content:"";position:absolute;bottom:-5px;left:-5px;width:18px;height:18px;background:var(--color-bitcoin-orange);clip-path:polygon(50% 0%, 100% 38%, 82% 100%, 18% 100%, 0% 38%);z-index:10}.contributions__avatar img{position:relative;z-index:5}.contributions__avatar:hover{transform:translate(-2px, -2px);box-shadow:7px 7px 0 var(--color-accent)}.contributions__avatar img{width:100%;height:100%;object-fit:cover;display:block}[data-theme="dark"] .contributions__avatar{border-color:var(--border-color);box-shadow:5px 5px 0 var(--color-accent);background:var(--bg-color)}[data-theme="dark"] .contributions__body{border-color:var(--text-color);box-shadow:6px 6px 0 var(--color-accent)}[data-theme="dark"] .contributions__graph{border-color:var(--border-color)}.contributions__title{margin:0;font-family:var(--font-sans);font-size:clamp(1.3rem, 3vw, 2rem);font-weight:700;letter-spacing:-0.02em;text-transform:lowercase;color:var(--text-color);margin-bottom:0.6rem;display:inline-block;position:relative;z-index:2;transform:rotate(-0.6deg)}.contributions__title::before{content:"";position:absolute;bottom:-4px;left:0;width:50px;height:4px;background:var(--color-accent);z-index:3}.contributions__title::after{content:"";position:absolute;bottom:-10px;right:-15px;width:12px;height:12px;background:var(--color-comic-yellow);clip-path:polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%);z-index:3}.contributions--about .contributions__title{transform:rotate(0.8deg)}.contributions--about .contributions__title::before{box-shadow:-25px 8px 0 -2px var(--color-comic-yellow),-15px -5px 0 -1px var(--color-bitcoin-yellow),30px -8px 0 -3px var(--color-comic-yellow),45px 12px 0 -2px var(--color-bitcoin-yellow);opacity:0.4}.contributions--projects .contributions__title{transform:rotate(-0.5deg)}.contributions--projects .contributions__title::after{box-shadow:-35px -10px 0 8px rgba(255,217,61,0.2),40px 5px 0 -1px var(--color-comic-yellow),-20px 15px 0 -2px var(--color-bitcoin-yellow),25px -12px 0 6px rgba(247,147,26,0.15)}.contributions--github .contributions__title{transform:rotate(0.4deg)}.contributions--github .contributions__title::before{box-shadow:-30px 10px 0 -3px var(--color-bitcoin-yellow),-18px -8px 0 -2px var(--color-comic-yellow),35px 15px 0 -3px var(--color-bitcoin-yellow),48px -5px 0 -1px var(--color-comic-yellow),-8px 18px 0 -2px var(--color-bitcoin-yellow);opacity:0.5}.contributions--games .contributions__title{transform:rotate(-0.7deg)}.contributions--games .contributions__title::after{box-shadow:-40px 8px 0 10px rgba(255,217,61,0.25),28px -15px 0 -2px var(--color-comic-yellow),-15px -10px 0 3px rgba(255,179,71,0.3),42px 12px 0 -3px var(--color-bitcoin-yellow),-25px 20px 0 -1px var(--color-comic-yellow)}.contributions--about .contributions__title::after{width:18px;height:18px;clip-path:polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);top:-12px;right:-20px;bottom:auto}.contributions--projects .contributions__title::after{width:15px;height:15px;clip-path:polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);bottom:-8px;left:-18px;right:auto}.contributions--github .contributions__title::after{width:20px;height:20px;clip-path:circle(50%);top:-8px;left:-25px;right:auto;bottom:auto}.contributions--games .contributions__title::after{width:16px;height:16px;clip-path:polygon(50% 0%, 100% 38%, 82% 100%, 18% 100%, 0% 38%);top:50%;right:-22px;bottom:auto;transform:translateY(-50%) rotate(25deg)}.contributions__description{margin:0;font-size:clamp(0.75rem, 1.65vw, 0.85rem);color:var(--muted-text);display:inline-block;transform:rotate(0.3deg)}.contributions__graph{border-radius:0.75rem;overflow:hidden;padding:clamp(0.75rem, 2vw, 1rem);border:1.8px dotted rgba(148,163,184,0.18);background-color:var(--bg-color)}.contributions__graph img{display:block;width:100%;max-width:100%;height:auto;filter:grayscale(1) contrast(1.05)}.contributions__footer{margin-top:1.25rem;display:flex;justify-content:flex-end}.contributions__see-more{display:inline-flex;align-items:center;gap:0.35rem;font-family:var(--font-sans);font-weight:700;font-size:0.9rem;text-decoration:none;padding:0.7rem 1.5rem;border-radius:0;background-color:var(--color-accent);color:white;border:3px solid var(--text-color);transition:transform 0.15s ease, box-shadow 0.15s ease;text-transform:lowercase;letter-spacing:-0.01em;box-shadow:4px 4px 0 var(--text-color);position:relative;clip-path:polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 8px 100%, 0 calc(100% - 8px))}.contributions__see-more::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle, rgba(255,255,255,0.3) 1px, transparent 1px);background-size:6px 6px;opacity:0.4;pointer-events:none}.contributions__see-more::after{content:"→";margin-left:0.2rem;transition:transform 0.15s ease}.contributions__see-more:hover,.contributions__see-more:focus-visible{text-decoration:none;transform:translate(-2px, -2px);box-shadow:6px 6px 0 var(--text-color)}.contributions__see-more:hover::after,.contributions__see-more:focus-visible::after{transform:translateX(2px)}.contributions__see-more:focus-visible{outline:2px solid rgba(99,179,237,0.5);outline-offset:2px}[data-theme="dark"] .contributions__graph img{filter:grayscale(1) invert(1) brightness(1.15) contrast(0.95)}.contributions--games .contributions__body{border:none;padding:0;gap:clamp(0.65rem, 2vw, 1.1rem);background:transparent}.contributions--games .contributions__title{padding:0 clamp(0.25rem, 1.5vw, 0.75rem)}.contributions--games .games-gallery{margin-top:clamp(0.5rem, 1.5vw, 0.85rem)}.contributions--about .contributions__body{border:3px solid var(--text-color);box-shadow:5px 7px 0 var(--color-accent);gap:0.65rem;padding:0.85rem;background:var(--bg-color)}.contributions--about .contributions__body:hover{transform:rotate(-0.4deg) translate(-2px, -2px);box-shadow:7px 9px 0 var(--color-accent)}.contributions--about .contributions__content{border-top:2px solid var(--border-color);padding-top:1rem;margin-top:0.5rem;gap:clamp(0.75rem, 2.8vw, 1.05rem)}.contributions--about .contributions__text{gap:0.6rem}.contributions--about .contributions__avatar{border:3px solid var(--text-color);box-shadow:5px 5px 0 var(--color-accent);background:var(--bg-color)}.contributions--about .contributions__avatar:hover{transform:translate(-2px, -2px);box-shadow:7px 7px 0 var(--color-accent)}[data-theme="dark"] .contributions--about .contributions__body{border-color:var(--text-color);box-shadow:5px 7px 0 var(--color-accent)}[data-theme="dark"] .contributions--about .contributions__avatar{border-color:var(--border-color);box-shadow:5px 5px 0 var(--color-accent);background:var(--bg-color)}.games-gallery{margin-top:clamp(0.5rem, 1.8vw, 0.85rem)}.games-gallery__column{display:block}.games-gallery__image{max-width:100%;height:auto;display:block;border:none;border-radius:1rem;box-shadow:none;background:transparent}.projects-page__filters{border:1px solid var(--border-color);border-radius:1rem;padding:1rem;background-color:var(--section-surface);display:grid;gap:0.75rem}.projects-page__search-label{font-size:0.8rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted-text)}.projects-page__search-input{width:100%;padding:0.65rem 0.85rem;border-radius:0.65rem;border:1px solid var(--border-color);background-color:var(--bg-color);font-size:0.95rem}.projects-page__search-input:focus{outline:2px solid rgba(99,179,237,0.65);outline-offset:2px}.projects-page__filter-group{display:flex;flex-wrap:wrap;gap:0.75rem}.projects-page__filter{display:flex;flex-direction:column;gap:0.25rem;font-size:0.8rem;color:var(--muted-text);min-width:160px}.projects-page__filter select{padding:0.45rem 0.75rem;border-radius:0.5rem;border:1px solid var(--border-color);background-color:var(--bg-color);font-size:0.9rem;color:var(--text-color)}.projects-page__filter--sort{margin-left:auto}.projects-page__empty{margin:0;color:var(--muted-text)}.projects-grid{display:flex;flex-direction:column;gap:clamp(1rem, 3vw, 1.75rem);transition:opacity 0.28s ease}@media (max-width: 768px){.projects-grid{gap:1.5rem;width:100%}}.projects-grid.is-fading{opacity:0;pointer-events:none}.project-card{border:3px solid var(--text-color);border-radius:0;padding:0.85rem;background-color:var(--bg-color);display:flex;flex-direction:column;gap:0.65rem;min-height:110px;transition:transform 0.15s ease, box-shadow 0.15s ease;opacity:1;position:relative;box-shadow:4px 4px 0 var(--color-accent);--parallax-offset: 0px;will-change:transform}@media (max-width: 768px){.project-card{width:100%;max-width:100%;box-sizing:border-box;margin:0;padding:0.75rem;overflow:hidden;word-wrap:break-word;overflow-wrap:break-word}}.project-card::before{content:"";position:absolute;top:5px;right:5px;width:40px;height:40px;background:radial-gradient(circle, var(--color-bitcoin-yellow) 1.5px, transparent 1.5px);background-size:8px 8px;opacity:0.2;pointer-events:none}.project-card:nth-child(3n+1){transform:translate3d(0, var(--parallax-offset, 0px), 0) rotate(-0.5deg);border-width:2px 4px 3px 3px;box-shadow:5px 3px 0 var(--color-accent)}@media (max-width: 768px){.project-card:nth-child(3n+1){transform:translate3d(0, var(--parallax-offset, 0px), 0) rotate(-0.2deg);border-width:3px;box-shadow:4px 4px 0 var(--color-accent)}}.project-card:nth-child(3n+2){transform:translate3d(0, var(--parallax-offset, 0px), 0) rotate(0.7deg);border-width:3px 3px 4px 2px;box-shadow:3px 5px 0 var(--color-accent)}@media (max-width: 768px){.project-card:nth-child(3n+2){transform:translate3d(0, var(--parallax-offset, 0px), 0) rotate(0.2deg);border-width:3px;box-shadow:4px 4px 0 var(--color-accent)}}.project-card:nth-child(3n){transform:translate3d(0, var(--parallax-offset, 0px), 0) rotate(-0.3deg);border-width:4px 2px 3px 4px;box-shadow:6px 4px 0 var(--color-accent)}@media (max-width: 768px){.project-card:nth-child(3n){transform:translate3d(0, var(--parallax-offset, 0px), 0) rotate(-0.1deg);border-width:3px;box-shadow:4px 4px 0 var(--color-accent)}}.project-card:nth-child(5n+1){border-width:3px 4px 2px 3px}@media (max-width: 768px){.project-card:nth-child(5n+1){border-width:3px}}.project-card:nth-child(5n+2){border-width:2px 3px 4px 3px}@media (max-width: 768px){.project-card:nth-child(5n+2){border-width:3px}}.project-card:nth-child(7n+3){transform:translate3d(0, var(--parallax-offset, 0px), 0) rotate(0.4deg);box-shadow:4px 6px 0 var(--color-accent)}@media (max-width: 768px){.project-card:nth-child(7n+3){transform:translate3d(0, var(--parallax-offset, 0px), 0) rotate(0.1deg);box-shadow:4px 4px 0 var(--color-accent)}}.project-card:nth-child(7n+4){transform:translate3d(0, var(--parallax-offset, 0px), 0) rotate(-0.6deg);box-shadow:6px 3px 0 var(--color-accent)}@media (max-width: 768px){.project-card:nth-child(7n+4){transform:translate3d(0, var(--parallax-offset, 0px), 0) rotate(-0.2deg);box-shadow:4px 4px 0 var(--color-accent)}}.project-card__media{width:100%;margin:0;border-radius:0;overflow:hidden;background:var(--border-color);border:2px solid var(--text-color);position:relative}.project-card__media::after{content:"";position:absolute;bottom:-2px;right:-2px;width:15px;height:15px;background:var(--color-comic-yellow);clip-path:polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%)}.project-card__media img{width:100%;height:auto;object-fit:cover;display:block}.project-card__media--video{background:var(--bg-color)}.project-card__media--video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000}.project-card__media.has-splat-viewer{position:relative;aspect-ratio:16 / 9;min-height:300px}.project-card__media.has-splat-viewer img{position:absolute;inset:0;z-index:1}.splat-viewer__canvas{position:absolute;inset:0;width:100%;height:100%;z-index:2;opacity:0;transition:opacity 0.5s ease;background:transparent}.splat-viewer__canvas::before{content:"";position:absolute;top:-2px;left:-2px;width:20px;height:20px;background:var(--color-comic-yellow);clip-path:polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);z-index:3;pointer-events:none}.splat-viewer__loader{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.6);color:var(--color-comic-yellow);font-family:var(--font-mono);font-size:0.85rem;font-weight:600;text-transform:uppercase;letter-spacing:0.1em}.splat-viewer__loader::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:60px;height:60px;background:radial-gradient(circle, var(--color-comic-yellow) 2px, transparent 2px);background-size:10px 10px;opacity:0.3;animation:pulse 1.5s ease-in-out infinite}.splat-viewer__loader span{position:relative;z-index:4}@keyframes pulse{0%, 100%{opacity:0.2;transform:translate(-50%, -50%) scale(1)}50%{opacity:0.5;transform:translate(-50%, -50%) scale(1.1)}}[data-theme="dark"] .splat-viewer__loader{background:rgba(15,15,15,0.8);color:var(--color-bitcoin-yellow)}@media (max-width: 768px){.project-card__media.has-splat-viewer{min-height:200px}.splat-viewer__loader{font-size:0.75rem}}.project-card__video{margin-top:0.75rem;border:2px solid var(--text-color);border-radius:16px;background:var(--bg-color);overflow:hidden;box-shadow:4px 4px 0 var(--color-accent)}.project-card__video-frame{position:relative;width:100%;aspect-ratio:16 / 9;background:#0f172a}.project-card__video-iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000}.project-card:hover:nth-child(3n+1),.project-card:focus-within:nth-child(3n+1){transform:translate3d(0, var(--parallax-offset, 0px), 0) rotate(-0.5deg) translate(-2px, -2px);box-shadow:7px 5px 0 var(--color-accent)}@media (max-width: 768px){.project-card:hover:nth-child(3n+1),.project-card:focus-within:nth-child(3n+1){transform:translate3d(0, var(--parallax-offset, 0px), 0) rotate(-0.2deg) translate(-1px, -1px);box-shadow:5px 5px 0 var(--color-accent)}}.project-card:hover:nth-child(3n+2),.project-card:focus-within:nth-child(3n+2){transform:translate3d(0, var(--parallax-offset, 0px), 0) rotate(0.7deg) translate(-2px, -2px);box-shadow:5px 7px 0 var(--color-accent)}@media (max-width: 768px){.project-card:hover:nth-child(3n+2),.project-card:focus-within:nth-child(3n+2){transform:translate3d(0, var(--parallax-offset, 0px), 0) rotate(0.2deg) translate(-1px, -1px);box-shadow:5px 5px 0 var(--color-accent)}}.project-card:hover:nth-child(3n),.project-card:focus-within:nth-child(3n){transform:translate3d(0, var(--parallax-offset, 0px), 0) rotate(-0.3deg) translate(-2px, -2px);box-shadow:8px 6px 0 var(--color-accent)}@media (max-width: 768px){.project-card:hover:nth-child(3n),.project-card:focus-within:nth-child(3n){transform:translate3d(0, var(--parallax-offset, 0px), 0) rotate(-0.1deg) translate(-1px, -1px);box-shadow:5px 5px 0 var(--color-accent)}}.project-card:hover:nth-child(7n+3),.project-card:focus-within:nth-child(7n+3){transform:translate3d(0, var(--parallax-offset, 0px), 0) rotate(0.4deg) translate(-2px, -2px);box-shadow:6px 8px 0 var(--color-accent)}@media (max-width: 768px){.project-card:hover:nth-child(7n+3),.project-card:focus-within:nth-child(7n+3){transform:translate3d(0, var(--parallax-offset, 0px), 0) rotate(0.1deg) translate(-1px, -1px);box-shadow:5px 5px 0 var(--color-accent)}}.project-card:hover:nth-child(7n+4),.project-card:focus-within:nth-child(7n+4){transform:translate3d(0, var(--parallax-offset, 0px), 0) rotate(-0.6deg) translate(-2px, -2px);box-shadow:8px 5px 0 var(--color-accent)}@media (max-width: 768px){.project-card:hover:nth-child(7n+4),.project-card:focus-within:nth-child(7n+4){transform:translate3d(0, var(--parallax-offset, 0px), 0) rotate(-0.2deg) translate(-1px, -1px);box-shadow:5px 5px 0 var(--color-accent)}}.project-card__actions{display:flex;gap:0.5rem;margin-top:0.75rem}.project-card__action{display:inline-flex;align-items:center;gap:0.4rem;padding:0.55rem 0.85rem;border-radius:12px;border:2px solid var(--text-color);background:var(--bg-color);color:inherit;font-weight:700;cursor:pointer;transition:transform 120ms ease, box-shadow 120ms ease, background 120ms ease;text-decoration:none}.project-card__action:hover{transform:translateY(-1px);box-shadow:3px 3px 0 var(--color-accent);background:color-mix(in srgb, var(--bg-color) 80%, var(--color-accent) 20%)}.project-card__action:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}.project-card__action--video{--color-accent: var(--color-comic-yellow)}.project-card__action-icon{font-size:0.9rem;line-height:1}.project-card__header{display:flex;justify-content:space-between;gap:0.75rem;align-items:flex-start}.project-card__identity{display:flex;align-items:center;gap:0.5rem}.project-card__icon{width:1.25rem;height:1.25rem;fill:currentColor;color:var(--muted-text)}.project-card__name{font-family:var(--font-sans);font-weight:700;font-size:0.95rem;letter-spacing:-0.01em;display:inline-flex;align-items:center;gap:0.2rem;color:var(--text-color);text-decoration:none;text-transform:lowercase;transform:rotate(-0.4deg)}.project-card__name:hover,.project-card__name:focus{text-decoration:none;color:var(--color-accent)}.project-card__owner{color:var(--muted-text);font-weight:600}.project-card__slash{color:var(--muted-text)}.project-card__status{font-family:var(--font-mono);font-size:0.7rem;font-weight:700;text-transform:uppercase;letter-spacing:0.1em;color:var(--text-color);background:var(--color-bitcoin-yellow);padding:0.2rem 0.5rem;border:2px solid var(--text-color);border-radius:0;display:inline-block;position:relative;transform:rotate(-1.5deg);border-width:2px 3px 2px 2px}.project-card:nth-child(3n+1) .project-card__status{transform:rotate(-2deg);border-width:3px 2px 2px 3px}.project-card:nth-child(3n+2) .project-card__status{transform:rotate(1.8deg);border-width:2px 2px 3px 2px}.project-card:nth-child(3n) .project-card__status{transform:rotate(-1.2deg);border-width:2px 3px 2px 3px}.project-card:nth-child(5n+1) .project-card__status{transform:rotate(2.2deg)}.project-card:nth-child(7n+2) .project-card__status{transform:rotate(-1.8deg)}.project-card__summary{margin:0;color:var(--text-color);font-size:0.85rem;font-weight:500;line-height:1.6;letter-spacing:-0.01em;display:inline-block;transform:rotate(0.2deg)}.project-card__footer{display:flex;justify-content:space-between;align-items:center;gap:0.75rem;flex-wrap:wrap}.project-card__language{display:inline-flex;align-items:center;gap:0.4rem;font-size:0.85rem;color:var(--text-color)}.project-card__language-swatch{width:0.75rem;height:0.75rem;border-radius:50%;background-color:var(--lang-color, rgba(148,163,184,0.6));border:1px solid rgba(15,23,42,0.1)}.project-card__language-label{white-space:nowrap;font-family:var(--font-mono);font-size:0.75rem;font-weight:600;letter-spacing:0.02em}.project-card__stats{display:inline-flex;align-items:center;gap:0.75rem;font-size:0.75rem;font-family:var(--font-mono);font-weight:600;color:var(--muted-text);flex-wrap:wrap}.project-card__stat{display:inline-flex;align-items:center;gap:0.3rem}.project-card__stat svg{width:0.85rem;height:0.85rem;fill:currentColor}.project-card__stat-value{min-width:1.25rem;font-weight:700}.project-card__stat--updated{font-size:0.7rem;letter-spacing:0.02em;text-transform:lowercase}.project-card__process{margin-top:auto;padding-top:0.4rem}.project-card__process-link{display:inline-flex;align-items:center;gap:0.35rem;font-size:0.82rem;font-weight:600;color:#2b6cb0;background:none;border:none;padding:0;cursor:pointer;text-decoration:none}.project-card__process-link::after{content:"→";font-size:0.82rem;transition:transform 0.2s ease}.project-card__process-link:hover::after,.project-card__process-link:focus-visible::after{transform:translateX(2px)}.project-card__process-link:hover,.project-card__process-link:focus-visible{text-decoration:underline;outline:none}.project-card__details{margin-top:0.65rem;padding-top:1rem;border-top:1px solid var(--border-color)}.project-card__details[hidden]{display:none}.project-card.is-open{border-color:rgba(99,179,237,0.7);box-shadow:0 16px 40px rgba(15,23,42,0.12)}.project-card__case{display:flex;flex-direction:column;gap:0.65rem}.project-card__case-eyebrow{text-transform:uppercase;letter-spacing:0.2em;font-size:0.7rem;color:var(--muted-text);margin:0}.project-card__case-title{margin:0;font-size:0.8rem}.project-card__case-body :where(p, ul, ol){color:var(--muted-text);font-size:0.8rem}.project-card__case-body img{max-width:100%;height:auto;border-radius:0.75rem;border:1px solid var(--border-color)}.project-card__case-body pre{white-space:pre-wrap;word-wrap:break-word;font-size:0.8rem}.project-card__case-empty{margin:0;font-size:0.85rem;color:var(--muted-text)}.projects-overview{display:flex;flex-direction:column;gap:0.65rem;margin-top:0.75rem}.project-card--mini{padding:0.75rem 0.85rem;gap:0.45rem;min-height:auto;border-radius:0}.project-card--mini::before{width:30px;height:30px;top:8px;right:8px}.project-card--mini__header{display:flex;justify-content:space-between;align-items:baseline;gap:0.5rem}.project-card--mini__name{font-weight:600;color:var(--text-color);text-decoration:none;display:inline-flex;align-items:center;gap:0.2rem;font-size:0.9rem}.project-card--mini__name:hover,.project-card--mini__name:focus{text-decoration:none}.project-card--mini__status{font-size:0.65rem;text-transform:uppercase;letter-spacing:0.15em;color:var(--muted-text)}.project-card--mini__summary{margin:0;font-size:0.8rem;color:var(--muted-text);line-height:1.35}.project-card--mini__meta{display:inline-flex;align-items:center;gap:0.5rem;flex-wrap:wrap;font-size:0.75rem;color:var(--muted-text)}[data-theme="dark"] .project-card{border-color:var(--text-color);background-color:var(--bg-color);box-shadow:4px 4px 0 var(--color-accent)}[data-theme="dark"] .project-card:nth-child(3n+1){box-shadow:5px 3px 0 var(--color-accent)}[data-theme="dark"] .project-card:nth-child(3n+2){box-shadow:3px 5px 0 var(--color-accent)}[data-theme="dark"] .project-card:nth-child(3n){box-shadow:6px 4px 0 var(--color-accent)}[data-theme="dark"] .project-card:nth-child(7n+3){box-shadow:4px 6px 0 var(--color-accent)}[data-theme="dark"] .project-card:nth-child(7n+4){box-shadow:6px 3px 0 var(--color-accent)}[data-theme="dark"] .project-card:hover:nth-child(3n+1),[data-theme="dark"] .project-card:focus-within:nth-child(3n+1){box-shadow:7px 5px 0 var(--color-accent)}[data-theme="dark"] .project-card:hover:nth-child(3n+2),[data-theme="dark"] .project-card:focus-within:nth-child(3n+2){box-shadow:5px 7px 0 var(--color-accent)}[data-theme="dark"] .project-card:hover:nth-child(3n),[data-theme="dark"] .project-card:focus-within:nth-child(3n){box-shadow:8px 6px 0 var(--color-accent)}[data-theme="dark"] .project-card:hover:nth-child(7n+3),[data-theme="dark"] .project-card:focus-within:nth-child(7n+3){box-shadow:6px 8px 0 var(--color-accent)}[data-theme="dark"] .project-card:hover:nth-child(7n+4),[data-theme="dark"] .project-card:focus-within:nth-child(7n+4){box-shadow:8px 5px 0 var(--color-accent)}[data-theme="dark"] .project-card__language-swatch{border-color:var(--border-color)}.bitcoin-section--price{margin-top:2.5rem}.bitcoin-section--intro{margin-top:2.5rem}.bitcoin-section--tool{margin-top:2.5rem}.bitcoin-card{padding:clamp(1.75rem, 4vw, 2.25rem);border-radius:0;border:3px solid var(--text-color);background:var(--bg-color);max-width:760px;box-shadow:6px 6px 0 var(--color-accent);position:relative;transform:translate3d(0, var(--parallax-offset, 0px), 0) rotate(-0.4deg);transition:transform 0.3s ease, box-shadow 0.2s ease;will-change:transform;--parallax-offset: 0px}.bitcoin-card::before{content:"";position:absolute;top:6px;right:6px;width:46px;height:46px;background:radial-gradient(circle, var(--color-bitcoin-yellow) 1.5px, transparent 1.5px);background-size:8px 8px;opacity:0.25;pointer-events:none}.bitcoin-card:hover,.bitcoin-card:focus-within{transform:translate3d(0, var(--parallax-offset, 0px), 0) rotate(-0.4deg) translate(-3px, -3px);box-shadow:8px 8px 0 var(--color-accent)}.bitcoin-card h2{margin-top:0.35rem;margin-bottom:0.75rem}.bitcoin-card p{margin:0 0 1rem;color:var(--muted-text)}.bitcoin-card__eyebrow{margin:0;text-transform:uppercase;letter-spacing:0.15em;font-size:0.85rem;color:var(--muted-text)}.bitcoin-section__heading{display:flex;justify-content:space-between;align-items:flex-start;gap:clamp(1rem, 4vw, 1.5rem);margin-bottom:1.5rem;flex-wrap:wrap}.bitcoin-section__lead{margin:0.35rem 0 0;color:var(--muted-text);max-width:52ch}.bitcoin-section__meta{margin:0;font-size:0.85rem;color:var(--muted-text)}.btc-price-banner{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.75rem;border-radius:0;border:3px solid var(--text-color);background:linear-gradient(120deg, rgba(99,179,237,0.2), rgba(15,23,42,0.06));box-shadow:6px 6px 0 var(--color-accent);gap:1rem;flex-wrap:wrap;position:relative;overflow:hidden;--parallax-offset: 0px;transform:translate3d(0, var(--parallax-offset, 0px), 0) rotate(0.35deg);transition:transform 0.3s ease, box-shadow 0.2s ease;will-change:transform}.btc-price-banner::before{content:"";position:absolute;inset:-6px;border:2px dashed var(--color-bitcoin-yellow);opacity:0.4;pointer-events:none}.btc-price-banner:hover,.btc-price-banner:focus-within{transform:translate3d(0, var(--parallax-offset, 0px), 0) rotate(0.35deg) translate(-3px, -3px);box-shadow:9px 9px 0 var(--color-accent)}.btc-price-banner__details{display:flex;align-items:center;gap:1rem}.btc-price-banner__flag{width:48px;height:48px;border-radius:14px;border:1px solid rgba(15,23,42,0.08);box-shadow:0 12px 24px rgba(15,23,42,0.2)}[data-theme="dark"] .btc-price-banner__flag{border-color:rgba(255,255,255,0.2);box-shadow:0 12px 30px rgba(0,0,0,0.55)}.btc-price-banner__label{margin:0;font-size:0.95rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted-text)}.btc-price-banner__time{margin:0.35rem 0 0;font-size:0.85rem;color:var(--muted-text)}.btc-price-banner__interval{margin:0.2rem 0 0;font-size:0.8rem;color:var(--muted-text)}.btc-price-banner__value{margin:0;font-size:clamp(2rem, 5vw, 2.75rem);font-weight:600}.sats-calculator{--bg-light: #f4f6fb;--bg-dark: #050609;--card-light: #ffffff;--card-dark: #11121a;--text-light: #0d0e15;--text-dark: #f5f6ff;--muted-light: #5f6275;--muted-dark: #9ba1c2;--accent: #f7931a;--border: rgba(99, 102, 241, 0.15);font-family:"IBM Plex Sans", "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif;background:var(--bg-light);color:var(--text-light);padding:1.5rem;border-radius:1.5rem;border:1px solid rgba(15,23,42,0.08)}.sats-calculator[data-theme="dark"]{background:radial-gradient(circle at 15% 20%, #1b1e31, #03030a);color:var(--text-dark);border-color:rgba(255,255,255,0.08)}.sats-calculator *,.sats-calculator *::before,.sats-calculator *::after{box-sizing:border-box}.sats-calculator .app-card{width:min(420px, 100%);margin:0 auto;padding:2rem;border-radius:0;background:var(--card-light);box-shadow:6px 6px 0 var(--color-accent);border:3px solid var(--text-color);display:flex;flex-direction:column;gap:1.75rem;--parallax-offset: 0px;position:relative;transform:translate3d(0, var(--parallax-offset, 0px), 0) rotate(-0.25deg);transition:transform 0.3s ease, box-shadow 0.2s ease;will-change:transform}.sats-calculator .app-card::before{content:"";position:absolute;top:6px;left:6px;width:42px;height:42px;background:radial-gradient(circle, var(--color-bitcoin-yellow) 1.5px, transparent 1.5px);background-size:8px 8px;opacity:0.25;pointer-events:none}.sats-calculator .app-card:hover,.sats-calculator .app-card:focus-within{transform:translate3d(0, var(--parallax-offset, 0px), 0) rotate(-0.25deg) translate(-3px, -3px);box-shadow:8px 8px 0 var(--color-accent)}.sats-calculator[data-theme="dark"] .app-card{background:var(--card-dark);box-shadow:0 20px 70px rgba(0,0,0,0.6)}.sats-calculator .app-header{display:flex;align-items:center;justify-content:space-between}.sats-calculator .app-header h3{margin:0;font-size:1.4rem}.sats-calculator .header-meta{display:flex;align-items:center;gap:0.75rem}.sats-calculator .platform-label{margin:0;font-size:0.85rem;color:var(--muted-light)}.sats-calculator[data-theme="dark"] .platform-label{color:var(--muted-dark)}.sats-calculator .theme-toggle{width:40px;height:40px;border-radius:50%;border:1px solid rgba(99,102,241,0.35);background:rgba(255,255,255,0.9);color:var(--accent);font-size:1.15rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border 0.2s ease, background 0.2s ease, transform 0.1s ease}.sats-calculator[data-theme="dark"] .theme-toggle{background:rgba(0,0,0,0.5);border-color:rgba(255,255,255,0.25);color:#fefefe}.sats-calculator .theme-toggle:hover{border-color:var(--accent)}.sats-calculator .theme-toggle:active{transform:scale(0.95)}.sats-calculator .ghost-button{border:1px solid rgba(99,102,241,0.2);background:transparent;color:inherit;padding:0.3rem 0.8rem;border-radius:999px;font-size:0.85rem;cursor:pointer;transition:border 0.2s ease, transform 0.1s ease}.sats-calculator .ghost-button:hover{border-color:var(--accent)}.sats-calculator .ghost-button:active{transform:scale(0.97)}.sats-calculator .ghost-button:disabled{opacity:0.6;cursor:not-allowed}.sats-calculator .section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.sats-calculator .section-heading h4{margin:0;font-size:1.1rem}.sats-calculator .section-subtitle{margin:0.2rem 0 0;font-size:0.85rem;color:var(--muted-light)}.sats-calculator[data-theme="dark"] .section-subtitle{color:var(--muted-dark)}.sats-calculator .input-label{font-size:0.85rem;color:var(--muted-light)}.sats-calculator[data-theme="dark"] .input-label{color:var(--muted-dark)}.sats-calculator .fine-print{margin-top:1rem;font-size:0.8rem;color:var(--muted-light)}.sats-calculator[data-theme="dark"] .fine-print{color:var(--muted-dark)}.sats-calculator .coinguides-card{border:1px solid var(--border);border-radius:20px;padding:1.25rem;background:rgba(99,102,241,0.04);display:flex;flex-direction:column;gap:1rem}.sats-calculator[data-theme="dark"] .coinguides-card{background:rgba(255,255,255,0.03);border-color:rgba(255,255,255,0.08)}.sats-calculator .cg-meta-text{margin:0;font-size:0.85rem;color:var(--muted-light)}.sats-calculator[data-theme="dark"] .cg-meta-text{color:var(--muted-dark)}.sats-calculator .cg-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));gap:1rem}.sats-calculator .cg-field{display:flex;flex-direction:column;gap:0.5rem}.sats-calculator .cg-input-shell{border:1px solid rgba(15,23,42,0.08);border-radius:16px;padding:0.6rem 0.85rem;display:flex;align-items:center;gap:0.75rem;background:var(--card-light);transition:border 0.2s ease, background 0.2s ease}.sats-calculator[data-theme="dark"] .cg-input-shell{border-color:rgba(255,255,255,0.12);background:rgba(17,18,26,0.8)}.sats-calculator .cg-input-shell:focus-within{border-color:var(--accent)}.sats-calculator .cg-fiat-shell{padding-right:0.35rem}.sats-calculator .cg-icon,.sats-calculator .cg-flag{border-radius:12px;box-shadow:0 8px 20px rgba(15,23,42,0.15)}.sats-calculator .cg-input-shell input{flex:1;border:none;background:transparent;font-size:1rem;color:inherit}.sats-calculator .cg-input-shell input:focus{outline:none}.sats-calculator .cg-fiat-shell select{border:none;background:transparent;font-size:0.9rem;text-transform:uppercase;color:inherit;margin-right:0.35rem}.sats-calculator .cg-fiat-shell select:focus{outline:none}@media (max-width: 720px){.projects-page__filter-group{flex-direction:column}.projects-page__filter--sort{margin-left:0}}@media (prefers-reduced-motion: reduce){.project-card{animation:none;opacity:1;transform:none}}@media (max-width: 640px){.content-page{padding:2rem 1.25rem 2.5rem}.content-page__header{flex-direction:column;align-items:flex-start}.content-page__controls{width:100%;justify-content:flex-start}.content-page__nav{justify-content:flex-start}.project-card__footer{flex-direction:column;align-items:flex-start}.project-card__stats{width:100%}}@media (max-width: 600px){.sats-calculator{padding:1rem}.sats-calculator .app-card{padding:1.5rem}}@media (max-width: 525px){.landing{padding:1.5rem 1.25rem;min-height:100vh}.landing__header-inner{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0.85rem}.landing__controls{justify-content:flex-end;gap:0.5rem;flex-wrap:nowrap;overflow:hidden}.landing__nav{max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;padding-bottom:0.2rem}.theme-toggle{align-self:flex-end}.landing__content{padding:1.5rem 0}.contributions__content{flex-wrap:nowrap;gap:clamp(0.85rem, 3vw, 1.25rem);overflow-x:auto}.contributions__avatar{flex:0 0 160px;width:160px;height:160px}.contributions__body{padding:clamp(1.25rem, 4vw, 1.6rem)}.contributions__graph{padding:clamp(0.6rem, 3vw, 0.85rem)}.project-page{padding:2rem 1.25rem 2.5rem}}@media (max-width: 400px){.project-card__stats{flex-direction:column;align-items:flex-start;gap:0.5rem}}@media (max-width: 39.99em){.contributions__content{flex-direction:column;align-items:center;gap:var(--space-6)}.contributions__avatar{width:160px;height:160px}}@media (pointer: coarse){.landing__link,.content-page__link,.theme-toggle{min-height:44px;min-width:44px}.landing__link:hover,.project-card:hover{transform:none}}.landing__link:active,.content-page__link:active{background-color:var(--color-hover-light);transform:scale(0.98)}[data-theme="dark"] .landing__link:active,[data-theme="dark"] .content-page__link:active{background-color:var(--color-hover-dark)}.theme-toggle:active{transform:scale(0.95)}*{-webkit-tap-highlight-color:rgba(99,179,237,0.2)}@keyframes fade-in{to{opacity:1;transform:translateY(0)}}@keyframes project-fade-in{to{opacity:1;transform:translateY(0)}}
