@import "https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Space+Grotesk:wght@300;400;500;600;700&family=Space+Mono:ital,wght@0,400;0,700;1,400&display=swap";:root{--bg:#fefcf8;--bg-card:#f4efe6;--text:#1c1208;--text-2:#564538;--text-3:#806f5f;--orange:#c95c1a;--orange-hover:#e07030;--orange-subtle:#c95c1a17;--orange-glow:#c95c1a2e;--border:#1c120817;--border-orange:#c95c1a47;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background-color:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Space Grotesk,system-ui,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg);min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}html{overflow-x:hidden}#root{width:100%}a{color:inherit;text-decoration:none}[data-theme=dark]{--bg:#161210;--bg-card:#1f1b17;--text:#f0e8dc;--text-2:#d6c7b8;--text-3:#a39180;--orange:#e07030;--orange-hover:#f08848;--orange-subtle:#e070301f;--orange-glow:#e0703038;--border:#f0e8dc14;--border-orange:#e070304d}@media (hover:hover) and (pointer:fine){*{cursor:none!important}}@media (prefers-reduced-motion:no-preference){::view-transition-new(root){animation:.5s cubic-bezier(.22,1,.36,1) theme-reveal}::view-transition-old(root){animation:none}@keyframes theme-reveal{0%{clip-path:circle(0% at var(--toggle-x,50%) var(--toggle-y,50%))}to{clip-path:circle(150% at var(--toggle-x,50%) var(--toggle-y,50%))}}}.theme-toggle{border:1.5px solid var(--border-orange);background:var(--orange-subtle);width:34px;height:34px;color:var(--text-2);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:color .2s,border-color .2s,background .2s;display:flex}.theme-toggle:hover{color:var(--orange);border-color:var(--border-orange);background:var(--orange-subtle)}.cursor-arrow{pointer-events:none;z-index:99999;will-change:left, top;filter:drop-shadow(0 2px 6px #1c120838);transition:transform .15s cubic-bezier(.22,1,.36,1),filter .15s;position:fixed}.cursor-arrow.is-hovering{filter:drop-shadow(0 3px 10px #c95c1a66);transform:scale(.88)}.cursor-arrow-path{fill:var(--text);stroke:var(--bg);stroke-width:1.5px;stroke-linejoin:round;stroke-linecap:round}.cursor-arrow .cursor-hand-icon{display:none}.cursor-arrow .cursor-arrow-icon,.cursor-arrow.is-hovering .cursor-hand-icon{display:block}.cursor-arrow.is-hovering .cursor-arrow-icon{display:none}.cursor-glow{pointer-events:none;z-index:99997;will-change:left, top;background:radial-gradient(circle,#c95c1a1a 0%,#0000 70%);border-radius:50%;width:80px;height:80px;position:fixed;transform:translate(-50%,-50%)}@media (hover:none){.cursor-arrow,.cursor-glow{display:none}}.grain-overlay{pointer-events:none;z-index:9998;opacity:.38;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");background-size:256px 256px;position:fixed;inset:0}.app-container{background:var(--bg);flex-direction:column;min-height:100vh;display:flex;position:relative}.header{z-index:100;-webkit-backdrop-filter:blur(20px);background-color:#fefcf8b8;justify-content:space-between;align-items:flex-start;width:100%;padding:1.75rem 3rem 3rem;display:flex;position:fixed;top:0;left:0;-webkit-mask-image:linear-gradient(#000 52%,#0000 100%);mask-image:linear-gradient(#000 52%,#0000 100%)}.nav-logo a{color:var(--text);letter-spacing:.01em;font-family:Instrument Serif,Georgia,serif;font-size:1.15rem;font-style:italic;font-weight:400}.nav-right{align-items:center;gap:1.5rem;display:flex}.nav-links{align-items:center;gap:1.75rem;display:flex}.nav-btn{letter-spacing:.05em;color:var(--text-2);text-transform:uppercase;font-family:Space Mono,monospace;font-size:.88rem;font-weight:700;text-decoration:none;transition:color .2s}.nav-btn:hover{color:var(--orange)}.mobile-only-link{display:none}.fade-in-section{opacity:0;filter:blur(5px);will-change:opacity, filter, transform;transition:opacity .85s cubic-bezier(.22,1,.36,1),filter .85s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1);transform:translateY(22px)}.fade-in-section.is-visible{opacity:1;filter:blur();transform:translateY(0)}.main-content{flex-direction:column;flex:1;align-items:center;width:100%;display:flex}.hero-section{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:900px;min-height:100vh;margin:0 auto;padding:6rem 2rem 0;display:flex;position:relative}.hero-section:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle,#c95c1a12 0%,#c95c1a05 45%,#0000 70%);border-radius:50%;width:680px;height:680px;animation:12s ease-in-out infinite orbFloat;position:absolute;top:15%;left:50%;transform:translate(-50%)}@keyframes orbFloat{0%,to{opacity:1;transform:translate(-50%)scale(1)}50%{opacity:.75;transform:translate(-50%)scale(1.07)}}.hero-avatar{object-fit:cover;border:2.5px solid var(--border-orange);z-index:1;border-radius:50%;width:160px;height:160px;margin:0 auto 2rem;animation:1s cubic-bezier(.22,1,.36,1) both avatarIn;display:block;position:relative;box-shadow:0 0 0 8px #c95c1a12,0 12px 36px #1c12081f}@keyframes avatarIn{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}.hero-eyebrow{color:var(--orange);letter-spacing:.12em;opacity:0;z-index:1;margin-bottom:1.25rem;font-family:Space Mono,monospace;font-size:.85rem;animation:.85s cubic-bezier(.22,1,.36,1) .2s both fadeUp;position:relative}.hero-title{letter-spacing:-.02em;color:var(--text);opacity:0;z-index:1;margin-bottom:1.5rem;font-family:Instrument Serif,Georgia,serif;font-size:clamp(4rem,11vw,8rem);font-weight:400;line-height:1;animation:.95s cubic-bezier(.22,1,.36,1) .35s both fadeUp;position:relative}.hero-title em{color:var(--orange);font-style:italic}.hero-subtitle{color:var(--text-2);opacity:0;z-index:1;max-width:620px;margin-bottom:2.75rem;font-size:1.3rem;font-weight:400;line-height:1.6;animation:.95s cubic-bezier(.22,1,.36,1) .5s both fadeUp;position:relative}.hero-subtitle a{color:var(--orange);text-underline-offset:4px;-webkit-text-decoration:underline #c95c1a4d;text-decoration:underline #c95c1a4d;transition:text-decoration-color .2s}.hero-subtitle a:hover{-webkit-text-decoration-color:var(--orange);text-decoration-color:var(--orange)}.hero-cta{color:var(--bg);background:var(--orange);cursor:pointer;letter-spacing:.03em;opacity:0;z-index:1;border:none;border-radius:999px;align-items:center;gap:.45rem;padding:.9rem 2.3rem;font-family:Space Grotesk,sans-serif;font-size:.88rem;font-weight:600;text-decoration:none;transition:background .25s,transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s;animation:.95s cubic-bezier(.22,1,.36,1) .65s both fadeUp;display:inline-flex;position:relative}.hero-cta:hover{background:var(--orange-hover);transform:translateY(-2px);box-shadow:0 14px 32px #c95c1a52}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.section-label{letter-spacing:.08em;color:var(--orange);text-transform:uppercase;margin-bottom:.85rem;font-family:Space Mono,monospace;font-size:.82rem;display:block}.section-block{width:100%;max-width:780px;margin:0 auto 7rem;padding:0 2.5rem}.section-title{color:var(--text);letter-spacing:-.02em;margin-bottom:3rem;font-family:Instrument Serif,Georgia,serif;font-size:2.1rem;font-weight:400}.timeline-vertical{width:100%;max-width:780px;margin:0 auto 7rem;padding:0 2.5rem}.timeline-wrapper{border-left:1.5px solid var(--border);margin-left:.5rem;position:relative}.timeline-content{padding-bottom:3rem;padding-left:2rem;position:relative}.timeline-content:before{content:"";background-color:var(--orange);z-index:2;border-radius:50%;width:9px;height:9px;position:absolute;top:.35rem;left:-5px;box-shadow:0 0 0 4px #c95c1a1f}.timeline-links{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.timeline-link{letter-spacing:.02em;font-family:Space Mono,monospace;font-size:.85rem;font-weight:500;text-decoration:none;transition:opacity .2s}.timeline-link:hover{opacity:.65}.github-link{color:var(--orange)}.demo-link{color:#15803d;align-items:center;gap:.35rem;display:inline-flex}.demo-link:after{content:"";background-color:#15803d;border-radius:50%;width:5px;height:5px;animation:2s infinite pulse-green}@keyframes pulse-green{0%{box-shadow:0 0 #15803d99}70%{box-shadow:0 0 0 5px #15803d00}to{box-shadow:0 0 #15803d00}}.timeline-separator{color:var(--border);font-size:.75rem}.timeline-title-container{margin-bottom:.65rem}.timeline-title{color:var(--text);letter-spacing:-.01em;margin-bottom:.2rem;font-family:Instrument Serif,Georgia,serif;font-size:1.45rem;font-weight:400}.timeline-date{color:var(--text-2);letter-spacing:.02em;font-family:Space Mono,monospace;font-size:.82rem;font-weight:500}.timeline-desc{color:var(--text-2);font-size:1.05rem;line-height:1.6}.icon-list-wrapper{flex-direction:column;align-items:center;width:100%;max-width:1400px;margin:0 auto 7rem;padding:0 3rem;display:flex}.tools-title{text-align:center;width:100%;margin-bottom:2.5rem}.tools-grid{flex-direction:column;gap:.6rem;width:100%;display:flex}.tool-row{grid-template-columns:repeat(5,1fr);gap:.6rem;width:100%;display:grid}.tool-card{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;border-radius:14px;align-items:center;gap:.9rem;padding:1.1rem 1.25rem;text-decoration:none;transition:background .25s,border-color .25s,box-shadow .25s,transform .25s cubic-bezier(.22,1,.36,1);display:flex;position:relative}.tool-card:hover{border-color:var(--border-orange);background:#ede7db;transform:translateY(-2px);box-shadow:0 8px 24px #1c120812}.tool-external-link{color:var(--text-3);opacity:0;transition:opacity .2s;position:absolute;top:.75rem;right:.75rem}.tool-card:hover .tool-external-link{opacity:1}.tool-icon{flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.5rem;display:flex}.tool-img{object-fit:contain;mix-blend-mode:multiply;width:100%;height:100%}.tool-info{flex-direction:column;gap:.1rem;display:flex}.tool-name{color:var(--text);letter-spacing:-.01em;font-size:.9rem;font-weight:600}.tool-type{color:var(--text-2);letter-spacing:.02em;font-family:Space Mono,monospace;font-size:.73rem}.youtube-section{flex-direction:column;align-items:center;width:100%;margin:0 auto 7rem;display:flex;position:relative;overflow:hidden}.youtube-title-container{justify-content:center;align-items:center;gap:.75rem;width:100%;margin-bottom:3rem;padding:0 1.5rem;display:flex}.youtube-title{color:var(--text);letter-spacing:-.02em;margin:0;font-family:Instrument Serif,Georgia,serif;font-size:2.1rem;font-weight:400}.youtube-icon-red{color:red;align-items:center;display:flex}.youtube-icon-red svg{fill:red;width:24px;height:24px}.comments-ticker-wrapper{width:100%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 18% 82%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 18% 82%,#0000 100%)}.comments-ticker{gap:1.25rem;width:max-content;padding:1rem 0;animation:50s linear infinite marquee;display:flex}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.comment-card{background:var(--bg-card);border:1px solid var(--border);cursor:pointer;border-radius:18px;flex-direction:column;flex:0 0 360px;gap:1.1rem;min-height:260px;padding:1.75rem;transition:border-color .25s,box-shadow .25s,transform .25s cubic-bezier(.22,1,.36,1);display:flex;position:relative}.comment-card:hover{border-color:var(--border-orange);transform:translateY(-2px);box-shadow:0 8px 24px #1c120812}.comment-external-link{color:var(--text-3);opacity:0;transition:opacity .2s;position:absolute;top:1.25rem;right:1.25rem}.comment-card:hover .comment-external-link{opacity:1}.comment-header{align-items:center;gap:.9rem;display:flex}.comment-avatar{background:var(--border);border-radius:50%;flex-shrink:0;width:44px;height:44px}.comment-meta{flex-direction:column;gap:.2rem;display:flex}.comment-author{color:var(--text);letter-spacing:-.01em;font-size:.93rem;font-weight:600}.comment-date{color:var(--text-3);font-family:Space Mono,monospace;font-size:.65rem}.comment-text{color:var(--text-2);-webkit-line-clamp:7;-webkit-box-orient:vertical;font-size:.9rem;line-height:1.65;display:-webkit-box;overflow:hidden}.comment-replies{border-top:1px solid var(--border);flex-direction:column;gap:.75rem;padding-top:.75rem;display:flex}.reply-card{opacity:.7;flex-direction:column;gap:.45rem;padding-left:.5rem;display:flex}.reply-header{align-items:center;gap:.5rem;display:flex}.reply-avatar{background:var(--border);border-radius:50%;flex-shrink:0;width:26px;height:26px}.reply-meta{flex-direction:column;display:flex}.reply-author{color:var(--text-2);font-size:.75rem;font-weight:600}.reply-date{color:var(--text-3);font-family:Space Mono,monospace;font-size:.6rem}.reply-text{color:var(--text-2);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.78rem;line-height:1.4;display:-webkit-box;overflow:hidden}.footer{border-top:1px solid var(--border);width:100%;max-width:1400px;margin:0 auto;padding:4rem 4rem 3rem}.footer-top{justify-content:space-between;align-items:flex-end;gap:2rem;padding-bottom:4rem;display:flex}.footer-quote-container{flex-direction:column;gap:.65rem;max-width:380px;display:flex}.footer-quote{color:var(--text);font-family:Instrument Serif,Georgia,serif;font-size:1.3rem;font-style:italic;font-weight:400;line-height:1.5}.footer-author{color:var(--text-3);letter-spacing:.06em;font-family:Space Mono,monospace;font-size:.67rem}.footer-contact{flex-direction:column;align-items:flex-end;gap:.65rem;display:flex}.footer-contact a{color:var(--text-2);font-size:.875rem;text-decoration:none;transition:color .2s}.footer-contact a:hover{color:var(--orange)}.footer-bottom{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding-top:1.5rem;display:flex}.footer-copy{color:var(--text-3);letter-spacing:.06em;font-family:Space Mono,monospace;font-size:.67rem}.footer-socials{gap:1.25rem;display:flex}.social-link{color:var(--text-3);justify-content:center;align-items:center;text-decoration:none;transition:color .2s,transform .2s;display:flex}.social-link:hover{color:var(--orange);transform:translateY(-1px)}[data-theme=dark] .header{background-color:#161210bf}[data-theme=dark] .grain-overlay{mix-blend-mode:overlay;opacity:.12}[data-theme=dark] .tool-card:hover,[data-theme=dark] .comment-card:hover{background:#2a2420}[data-theme=dark] .tool-img{mix-blend-mode:normal}[data-theme=dark] img[alt=GitHub],[data-theme=dark] img[alt=Vercel]{filter:invert()!important}[data-theme=dark] img[alt=Unity]{filter:none!important}@media (width>=769px){.hero-title{font-size:clamp(5rem,10vw,8.5rem)}}@media (width<=768px){.nav-links .nav-btn{display:none}.mobile-only-link{display:flex}.header{padding:1.25rem 1.25rem 2.5rem}.hero-section{min-height:100svh;padding:5rem 1.25rem 0}.hero-avatar{width:130px;height:130px}.hero-title{margin-bottom:1rem;font-size:clamp(3rem,12vw,5rem)}.hero-subtitle{margin-bottom:2rem;font-size:1rem}.section-title{margin-bottom:2rem;font-size:1.7rem}.timeline-vertical{margin-bottom:5rem;padding:0 1.25rem}.timeline-title{font-size:1.05rem}.timeline-desc{font-size:.875rem}.icon-list-wrapper{max-width:100%;margin-bottom:5rem;padding:0 1.25rem}.tool-row{grid-template-columns:1fr;gap:.4rem}.tool-card{padding:.9rem 1rem}.tool-icon{width:32px;height:32px}.youtube-section{margin-bottom:5rem}.youtube-title-container{margin-bottom:2rem;padding:0 1.25rem}.youtube-title{font-size:1.6rem}.comment-card{border-radius:14px;flex:0 0 80vw;min-height:200px;padding:1.25rem}.comments-ticker-wrapper{-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 8% 92%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 8% 92%,#0000 100%)}.footer{padding:3rem 1.25rem 2rem}.footer-top{flex-direction:column;align-items:flex-start;gap:2.5rem;padding-bottom:3rem}.footer-contact{flex-direction:row;align-items:flex-start;gap:1.5rem}.footer-quote{font-size:1.1rem}}@media (width<=480px){.hero-avatar{width:110px;height:110px;margin-bottom:1.75rem}.hero-title{font-size:clamp(2.6rem,12vw,3.5rem)}.hero-subtitle{font-size:.93rem;line-height:1.65}.comment-card{flex:0 0 88vw;min-height:140px;padding:1.25rem}.comment-avatar{width:32px;height:32px}.footer-bottom{flex-direction:column;align-items:flex-start;gap:1.25rem}}@media (width>=769px) and (width<=1100px){.tool-row{grid-template-columns:repeat(3,1fr)}.icon-list-wrapper{padding:0 2rem}}
