:root{color:#c9d1d9;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0d1117;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}body{margin:0}#root{min-height:100vh}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:#c9d1d9;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#0d1117 0%,#161b22 50%,#0d1117 100%);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;overflow-x:hidden}.gradient-text{background:linear-gradient(135deg,#58a6ff 0%,#a371f7 50%,#f78166 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero-bg{background:radial-gradient(at top,#58a6ff26 0%,#0000 50%),radial-gradient(at 100% 100%,#a371f71a 0%,#0000 50%),linear-gradient(#0d1117,#161b22)}.hero-section{justify-content:center;align-items:center;min-height:100vh;padding-top:clamp(100px,20vh,140px);padding-bottom:clamp(48px,8vh,96px);display:flex;position:relative}.glass-card{-webkit-backdrop-filter:blur(10px);background:#161b22cc;border:1px solid #f0f6fc1a;transition:all .4s cubic-bezier(.4,0,.2,1)}@media (hover:hover){.glass-card:hover{border-color:#58a6ff66;transform:translateY(-8px)scale(1.02);box-shadow:0 20px 40px #58a6ff33,0 0 80px #a371f71a}}.glow-button{cursor:pointer;background:linear-gradient(135deg,#238636 0%,#2ea043 100%);min-width:44px;min-height:48px;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 4px 15px #2386364d}.glow-button:hover,.glow-button:active{transform:translateY(-2px);box-shadow:0 8px 25px #23863680}.glow-button:before{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.glow-button:hover:before{left:100%}.brand-logo-small{object-fit:cover;border-radius:10px;width:clamp(36px,8vw,40px);height:clamp(36px,8vw,40px);display:block;box-shadow:0 6px 16px #58a6ff40}.logo-container{background:#0d1117;border-radius:20px;justify-content:center;align-items:center;width:clamp(80px,20vw,120px);height:clamp(80px,20vw,120px);animation:3s ease-in-out infinite pulse-glow;display:flex;overflow:hidden;box-shadow:0 10px 30px #58a6ff4d,0 0 60px #a371f733}.logo-container-img{object-fit:cover;width:100%;height:100%;display:block}@keyframes pulse-glow{0%,to{box-shadow:0 10px 30px #58a6ff4d,0 0 60px #a371f733}50%{box-shadow:0 15px 40px #58a6ff80,0 0 80px #a371f766}}.floating-safe{animation:6s ease-in-out infinite float-safe}@keyframes float-safe{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.hero-title{font-size:clamp(2rem,8vw,4.5rem);line-height:1.1}.hero-subtitle{font-size:clamp(1.125rem,4vw,1.875rem)}.section-title{font-size:clamp(1.75rem,6vw,3rem);line-height:1.2}.card-title{font-size:clamp(1.25rem,4vw,1.75rem)}.typing-effect{white-space:nowrap;border-right:3px solid #58a6ff;animation:3s steps(40,end) typing,.75s step-end infinite blink-caret;overflow:hidden}@media (width<=768px){.typing-effect{white-space:normal;border-right:none;animation:none}}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blink-caret{0%,to{border-color:#0000}50%{border-color:#58a6ff}}.nav-link{align-items:center;min-height:44px;padding:8px 12px;transition:all .3s;display:flex;position:relative}.nav-link:after{content:"";background:linear-gradient(90deg,#58a6ff,#a371f7);width:0;height:2px;transition:width .3s;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.nav-link:hover:after,.nav-link.active:after{width:80%}.particle{pointer-events:none;opacity:.6;animation:20s linear infinite particle-float;position:fixed}@keyframes particle-float{0%{opacity:0;transform:translateY(100vh)rotate(0)}10%{opacity:.6}90%{opacity:.6}to{opacity:0;transform:translateY(-100vh)rotate(720deg)}}.feature-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:clamp(48px,12vw,60px);height:clamp(48px,12vw,60px);font-size:clamp(18px,5vw,24px);display:flex}.repo-card{position:relative;overflow:hidden}.product-header{grid-template-columns:1fr auto;align-items:center;gap:clamp(20px,4vw,36px);margin-bottom:clamp(20px,4vw,32px);display:grid}.product-identity{grid-template-columns:auto 1fr;align-items:center;gap:clamp(16px,3vw,28px);min-width:0;display:grid}.product-copy{min-width:0}.github-cta{color:#fff;white-space:nowrap;background:#30363d;border-radius:12px;justify-content:center;align-items:center;gap:10px;min-width:178px;min-height:48px;padding:12px 22px;font-size:clamp(14px,2vw,16px);font-weight:600;text-decoration:none;transition:transform .25s,background .25s,box-shadow .25s;display:inline-flex}.github-cta:hover,.github-cta:focus-visible{background:#3d444d;transform:translateY(-2px);box-shadow:0 12px 24px #00000047}.github-cta:focus-visible{outline-offset:3px;outline:2px solid #58a6ff}.product-about-panel{margin-top:0}.repo-card:before{content:"";background:linear-gradient(90deg,#0000,#ffffff0d,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}@media (hover:hover){.repo-card:hover:before{left:100%}}@media (width<=1024px){.product-header{grid-template-columns:1fr;align-items:stretch}.github-cta{justify-self:start;width:min(100%,260px)}}@media (width<=640px){.product-header{gap:18px;margin-bottom:20px}.product-identity{text-align:center;grid-template-columns:1fr;justify-items:center;gap:14px}.product-copy .flex{justify-content:center}.github-cta{justify-self:stretch;width:100%}}input:focus,textarea:focus{border-color:#58a6ff;outline:none;box-shadow:0 0 0 3px #58a6ff33}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#0d1117}::-webkit-scrollbar-thumb{background:#30363d;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#58a6ff}.badge-private{color:#fff;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;background:linear-gradient(135deg,#da3633 0%,#f85149 100%);border-radius:9999px;align-items:center;gap:6px;padding:6px 14px;font-size:clamp(10px,2.5vw,12px);font-weight:700;display:inline-flex}.badge-offline{color:#fff;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;background:linear-gradient(135deg,#238636 0%,#2ea043 100%);border-radius:9999px;align-items:center;gap:6px;padding:6px 14px;font-size:clamp(10px,2.5vw,12px);font-weight:700;animation:2s ease-in-out infinite offline-glow;display:inline-flex}@keyframes offline-glow{0%,to{box-shadow:0 0 10px #23863666}50%{box-shadow:0 0 20px #238636cc}}.lock-icon{animation:2s ease-in-out infinite lock-pulse}@keyframes lock-pulse{0%,to{opacity:1}50%{opacity:.6}}.tech-badge{border-radius:12px;justify-content:flex-start;align-items:center;gap:8px;width:100%;padding:10px 16px;font-size:clamp(12px,3vw,14px);font-weight:600;transition:all .3s;display:inline-flex}@media (hover:hover){.tech-badge:hover{transform:translateY(-2px)}}.platform-card{position:relative;overflow:hidden}.platform-card.available:after{content:"";border-top:0 solid #0000;border-bottom:32px solid #0000;border-left:0 solid #0000;border-right:32px solid #238636;width:0;height:0;position:absolute;top:0;right:0}@media (width<=640px){.platform-card.available:after,.platform-card.development:after{border-width:0 28px 28px 0}}.platform-card.development:after{content:"";border-top:0 solid #0000;border-bottom:32px solid #0000;border-left:0 solid #0000;border-right:32px solid #f0883e;width:0;height:0;position:absolute;top:0;right:0}.feature-grid-item{padding-left:28px;position:relative}.feature-grid-item:before{content:"✓";color:#238636;font-size:16px;font-weight:700;position:absolute;top:0;left:0}.kotlin-gradient{background:linear-gradient(135deg,#7f52ff 0%,#c311e7 100%)}.android-gradient{background:linear-gradient(135deg,#3ddc84 0%,#a4c639 100%)}.ios-dev-badge{color:#fff;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;background:linear-gradient(135deg,#f0883e 0%,#d29922 100%);border-radius:8px;padding:4px 10px;font-size:clamp(9px,2.5vw,11px);font-weight:700}.mobile-menu-overlay{z-index:9998;background:#000c;animation:.3s fadeIn;position:fixed;inset:0}.mobile-menu-panel{z-index:9999;background:#161b22;width:min(300px,85vw);padding:24px;animation:.3s slideInRight;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(0)}.mobile-menu-panel.closing{animation:.3s forwards slideOutRight}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideOutRight{0%{transform:translate(0)}to{transform:translate(100%)}}button,a{touch-action:manipulation}button{-webkit-user-select:none;user-select:none}@supports (padding-top:env(safe-area-inset-top)){nav{padding-top:env(safe-area-inset-top)}footer{padding-bottom:calc(env(safe-area-inset-bottom) + 48px)}}.responsive-grid-1{grid-template-columns:1fr;gap:1.5rem;display:grid}.responsive-grid-2{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:1.5rem;display:grid}.responsive-grid-3{grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));gap:1.5rem;display:grid}@media (width>=768px){.responsive-grid-2{grid-template-columns:repeat(2,1fr)}.responsive-grid-3{grid-template-columns:repeat(3,1fr)}}.container-responsive{width:100%;max-width:1280px;margin:0 auto;padding-left:clamp(16px,5vw,48px);padding-right:clamp(16px,5vw,48px)}.section-padding{padding-top:clamp(48px,10vw,96px);padding-bottom:clamp(48px,10vw,96px)}.icon-responsive{width:clamp(24px,6vw,48px);height:clamp(24px,6vw,48px)}.scroll-indicator{animation:2s infinite bounce}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.project-icon-container{background:linear-gradient(135deg,#58a6ff1a,#a371f71a);border-radius:20px;flex-shrink:0;justify-content:center;align-items:center;width:clamp(80px,20vw,120px);height:clamp(80px,20vw,120px);animation:3s ease-in-out infinite pulse-glow;display:flex;overflow:hidden;box-shadow:0 10px 30px #58a6ff4d,0 0 60px #a371f733}.project-icon-img{object-fit:cover;width:100%;height:100%}.feature-graphic-container{border:2px solid #f0f6fc1a;border-radius:20px;width:100%;max-width:600px;margin:0 auto;overflow:hidden;box-shadow:0 20px 50px #00000080}.feature-graphic-container.product-feature-graphic{margin:0 auto clamp(24px,5vw,40px)}.feature-graphic-img{width:100%;height:auto;display:block}.repo-name-subtitle{color:#8b949e;background:#6e76811a;border-radius:6px;padding:4px 12px;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:clamp(13px,3vw,15px);display:inline-block}
