*{margin:0;padding:0;box-sizing:border-box}:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#ffffffde;background-color:#0f172a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh;background-color:#0f172a;color:#e2e8f0;overflow-x:hidden}#root{min-height:100vh}html{scroll-behavior:smooth}a{color:inherit;text-decoration:none}button{font-family:inherit}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#1e293b}::-webkit-scrollbar-thumb{background:#475569;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#6366f1}.logo-container{display:flex;align-items:center;justify-content:center}.logo-img{width:100%;height:100%;transition:transform .3s ease,opacity .3s ease}.logo-container:hover .logo-img{transform:scale(1.1);opacity:.9}.navigation{position:fixed;top:0;left:0;right:0;z-index:1000;background:#0f172acc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease;border-bottom:1px solid transparent}.navigation.scrolled{background:#0f172af2;border-bottom-color:#6366f133;box-shadow:0 4px 6px -1px #0000001a}.nav-container{max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center}.nav-logo{display:flex;align-items:center;gap:.75rem;cursor:pointer;transition:transform .2s ease}.nav-logo:hover{transform:translateY(-2px)}.nav-brand{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#6366f1,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.nav-links{display:flex;list-style:none;gap:2rem;margin:0;padding:0}.nav-links button{background:none;border:none;color:#cbd5e1;font-size:1rem;font-weight:500;cursor:pointer;padding:.5rem 1rem;border-radius:.5rem;transition:all .2s ease;position:relative}.nav-links button:hover{color:#6366f1;background:#6366f11a}.nav-links button.active{color:#6366f1}.nav-links button.active:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:60%;height:2px;background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:2px}@media(max-width:768px){.nav-container{padding:1rem}.nav-brand{font-size:1.25rem}.nav-links{gap:1rem}.nav-links button{font-size:.9rem;padding:.5rem}}.home-section{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;padding:2rem;overflow:hidden;padding-top:100px}.home-content{max-width:800px;text-align:center;z-index:1;position:relative}.hero-logo{margin-bottom:2rem;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.hero-title{font-size:4rem;font-weight:800;margin-bottom:1rem;background:linear-gradient(135deg,#6366f1,#8b5cf6,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:fadeInUp .8s ease-out}.hero-subtitle{font-size:1.5rem;color:#94a3b8;margin-bottom:1.5rem;font-weight:300;animation:fadeInUp .8s ease-out .2s both}.hero-description{font-size:1.1rem;color:#cbd5e1;line-height:1.8;margin-bottom:2.5rem;max-width:600px;margin-left:auto;margin-right:auto;animation:fadeInUp .8s ease-out .4s both}.hero-cta{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;animation:fadeInUp .8s ease-out .6s both}.btn{padding:.875rem 2rem;border-radius:.5rem;font-weight:600;text-decoration:none;transition:all .3s ease;display:inline-block;border:2px solid transparent}.btn-primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 25px #6366f166}.btn-secondary{background:transparent;color:#6366f1;border-color:#6366f1}.btn-secondary:hover{background:#6366f11a;transform:translateY(-2px)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.home-background{position:absolute;inset:0;z-index:0;overflow:hidden}.gradient-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.3;animation:drift 20s ease-in-out infinite}.orb-1{width:400px;height:400px;background:linear-gradient(135deg,#6366f1,#8b5cf6);top:-200px;left:-200px}.orb-2{width:300px;height:300px;background:linear-gradient(135deg,#ec4899,#f472b6);bottom:-150px;right:-150px;animation-delay:-7s}.orb-3{width:250px;height:250px;background:linear-gradient(135deg,#8b5cf6,#6366f1);top:50%;right:10%;animation-delay:-14s}@keyframes drift{0%,to{transform:translate(0) scale(1)}33%{transform:translate(50px,-50px) scale(1.1)}66%{transform:translate(-30px,30px) scale(.9)}}@media(max-width:768px){.home-section{padding-top:120px;padding-left:1rem;padding-right:1rem}.hero-logo{display:flex;justify-content:center;align-items:center;margin-bottom:1.5rem}.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.25rem}.hero-description{font-size:1rem}.hero-cta{flex-direction:column;align-items:center}.btn{width:100%;max-width:300px}}.sappy-section{min-height:100vh;padding:8rem 2rem 4rem;position:relative}.section-container{max-width:1200px;margin:0 auto}.section-header{text-align:center;margin-bottom:4rem}.section-label{display:inline-block;padding:.5rem 1.5rem;background:#6366f11a;border:1px solid rgba(99,102,241,.3);border-radius:2rem;color:#818cf8;font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem}.section-title{font-size:3.5rem;font-weight:800;margin-bottom:1rem;background:linear-gradient(135deg,#6366f1,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section-subtitle{font-size:1.25rem;color:#94a3b8;font-weight:300}.sappy-content{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}.sappy-image-container{aspect-ratio:16/9;border-radius:1rem;overflow:hidden;position:sticky;top:120px;background:linear-gradient(135deg,#6366f11a,#8b5cf61a);border:2px dashed rgba(99,102,241,.3);display:flex;align-items:center;justify-content:center}.sappy-screenshot{width:100%;height:100%;object-fit:cover;border-radius:1rem;display:block}.sappy-image-placeholder{aspect-ratio:16/9;background:linear-gradient(135deg,#6366f11a,#8b5cf61a);border:2px dashed rgba(99,102,241,.3);border-radius:1rem;display:flex;align-items:center;justify-content:center;position:sticky;top:120px}.placeholder-content{text-align:center;color:#6366f1}.placeholder-content svg{margin-bottom:1rem;opacity:.5}.placeholder-content p{color:#94a3b8;font-size:.9rem}.sappy-info{display:flex;flex-direction:column;gap:2rem}.info-card{background:#1e293b80;border:1px solid rgba(99,102,241,.1);border-radius:1rem;padding:2rem;transition:all .3s ease}.info-card:hover{border-color:#6366f14d;transform:translateY(-2px);box-shadow:0 10px 25px #0003}.info-card h3{font-size:1.5rem;font-weight:700;color:#e2e8f0;margin-bottom:1rem}.info-card p{color:#cbd5e1;line-height:1.7;margin-bottom:0}.status-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#6366f11a;border:1px solid rgba(99,102,241,.3);border-radius:.5rem;color:#818cf8;font-weight:600;margin-bottom:1rem}.status-dot{width:8px;height:8px;background:#6366f1;border-radius:50%;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.status-note{margin-top:1rem}.features-list{list-style:none;padding:0;margin:0}.features-list li{color:#cbd5e1;padding:.75rem 0 .75rem 1.5rem;position:relative;line-height:1.6}.features-list li:before{content:"▸";position:absolute;left:0;color:#6366f1;font-weight:700}.features-list li:not(:last-child){border-bottom:1px solid rgba(99,102,241,.1)}@media(max-width:968px){.sappy-content{grid-template-columns:1fr}.sappy-image-container,.sappy-image-placeholder{position:static}.section-title{font-size:2.5rem}}@media(max-width:768px){.sappy-section{padding:6rem 1rem 3rem}.section-title{font-size:2rem}.info-card{padding:1.5rem}}.blog-section{min-height:100vh;padding:8rem 2rem 4rem;position:relative}.blog-content{display:grid;grid-template-columns:2fr 1fr;gap:3rem;align-items:start}.blog-posts{display:flex;flex-direction:column;gap:2rem}.blog-post{background:#1e293b80;border:1px solid rgba(99,102,241,.1);border-radius:1rem;padding:2rem;cursor:pointer;transition:all .3s ease;position:relative}.blog-post:hover{border-color:#6366f14d;transform:translateY(-2px);box-shadow:0 10px 25px #0003}.blog-post.expanded{border-color:#6366f180}.post-header{margin-bottom:1rem}.post-date{display:inline-block;font-size:.875rem;color:#818cf8;font-weight:600;margin-bottom:.5rem}.post-title{font-size:1.75rem;font-weight:700;color:#e2e8f0;margin:0;line-height:1.3}.post-excerpt{color:#cbd5e1;line-height:1.7;margin-bottom:1rem}.post-content{margin-top:1.5rem;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.post-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(99,102,241,.3),transparent);margin-bottom:1.5rem}.post-image-container{margin-bottom:1.5rem;border-radius:.75rem;overflow:hidden;border:1px solid rgba(99,102,241,.2)}.post-image{width:100%;height:auto;display:block;object-fit:cover}.post-body{color:#cbd5e1;line-height:1.8}.post-body p{margin-bottom:1rem}.post-body p:last-child{margin-bottom:0}.post-footer{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(99,102,241,.1)}.read-more{color:#818cf8;font-weight:600;font-size:.9rem;display:inline-flex;align-items:center;gap:.5rem}.read-more:after{content:"→";transition:transform .3s ease}.blog-post.expanded .read-more:after{transform:rotate(90deg)}.blog-sidebar{display:flex;flex-direction:column;gap:2rem;position:sticky;top:120px}.sidebar-card{background:#1e293b80;border:1px solid rgba(99,102,241,.1);border-radius:1rem;padding:2rem}.sidebar-card h3{font-size:1.25rem;font-weight:700;color:#e2e8f0;margin-bottom:1rem}.sidebar-card p{color:#cbd5e1;line-height:1.7;font-size:.95rem}.recent-posts{list-style:none;padding:0;margin:0}.recent-posts li{padding:1rem 0;border-bottom:1px solid rgba(99,102,241,.1)}.recent-posts li:last-child{border-bottom:none}.recent-posts a{color:#cbd5e1;text-decoration:none;font-weight:500;display:block;margin-bottom:.25rem;transition:color .2s ease}.recent-posts a:hover{color:#818cf8}.recent-date{display:block;font-size:.875rem;color:#64748b;margin-top:.25rem}@media(max-width:968px){.blog-content{grid-template-columns:1fr}.blog-sidebar{position:static}}.loading-state,.empty-state{text-align:center;padding:4rem 2rem;color:#94a3b8}.error-banner{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:.5rem;padding:1.5rem;margin-bottom:2rem;color:#fca5a5}.error-banner p{margin-bottom:.5rem}.error-hint{font-size:.9rem;color:#94a3b8}.error-hint a{color:#818cf8;text-decoration:underline}.no-posts{color:#64748b;font-size:.9rem}@media(max-width:768px){.blog-section{padding:6rem 1rem 3rem}.blog-post{padding:1.5rem}.post-title{font-size:1.5rem}.sidebar-card{padding:1.5rem}}.footer{background:#0f172af2;border-top:1px solid rgba(99,102,241,.2);padding:3rem 2rem 1.5rem;margin-top:4rem}.footer-container{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr;gap:3rem;margin-bottom:2rem}.footer-brand{display:flex;gap:1.5rem;align-items:start}.footer-brand h3{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,#6366f1,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.footer-brand p{color:#94a3b8;font-size:.9rem}.footer-links{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}.footer-section h4{color:#e2e8f0;font-size:1rem;font-weight:600;margin-bottom:1rem}.footer-section ul{list-style:none;padding:0;margin:0}.footer-section li{margin-bottom:.5rem}.footer-section a{color:#94a3b8;text-decoration:none;font-size:.9rem;transition:color .2s ease}.footer-section a:hover{color:#818cf8}.footer-bottom{max-width:1200px;margin:0 auto;padding-top:2rem;border-top:1px solid rgba(99,102,241,.1);text-align:center}.footer-bottom p{color:#64748b;font-size:.875rem}@media(max-width:768px){.footer-container{grid-template-columns:1fr;gap:2rem}.footer-links{grid-template-columns:1fr}.footer-brand{flex-direction:column}}.App{min-height:100vh}main{position:relative}
