*,:before,:after{box-sizing:border-box}:root{--bg:#eef2ff;--surface:#fff;--accent:#4361ee;--accent-dark:#2f4ac5;--text:#0d1117;--text-muted:#6b7280;--border:#00000012;--shadow:0 4px 24px #4361ee14;-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}body{background:var(--bg);color:var(--text);min-height:100vh;margin:0}#root{flex-direction:column;min-height:100vh;display:flex}.section-label{letter-spacing:.12em;color:var(--accent);text-transform:uppercase;font-size:11px;font-weight:600}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.logo-icon{color:#fff;background:#0d1117;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;font-weight:700;display:flex}.navbar{z-index:100;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#eef2ffd9;border-bottom:1px solid #4361ee1a;justify-content:space-between;align-items:center;height:68px;padding:0 48px;display:flex;position:fixed;top:0;left:0;right:0}.navbar-logo{color:inherit;align-items:center;gap:10px;text-decoration:none;display:flex}.logo-text-group{flex-direction:column;gap:1px;display:flex}.logo-main{letter-spacing:.06em;color:#0d1117;font-size:13px;font-weight:700;line-height:1}.logo-studio{color:#6b7280;letter-spacing:.04em;font-weight:400}.logo-sub{color:#9ca3af;letter-spacing:.03em;font-size:10px;font-weight:400;line-height:1}.navbar-right{align-items:center;gap:28px;display:flex}.navbar-links{gap:24px;display:flex}.navbar-links a{letter-spacing:.08em;color:#6b7280;font-size:13px;font-weight:700;text-decoration:none;transition:color .2s}.navbar-links a:hover{color:#0d1117}.btn-filled{color:#fff;background:#0d1117;border:1.5px solid #0d1117;border-radius:8px;padding:8px 18px;font-size:13px;font-weight:600;text-decoration:none;transition:opacity .2s}.btn-filled:hover{opacity:.75}@media (width<=768px){.navbar{padding:0 20px}.navbar-links{display:none}.navbar-right{gap:0}}.home{background:#eef2ff;flex-direction:column;height:100vh;display:flex;overflow:hidden}.home-main{flex-direction:column;flex:1;min-height:0;padding-top:68px;display:flex}.home-hero{flex:1;grid-template-columns:1fr 1fr;gap:24px;min-height:0;padding:36px 48px 24px;display:grid;overflow:hidden}.home-hero-left{flex-direction:column;justify-content:center;gap:18px;display:flex}.home-badge{letter-spacing:.12em;color:#4361ee;background:#4361ee1a;border:1px solid #4361ee33;border-radius:20px;width:fit-content;padding:4px 11px;font-size:10px;font-weight:700;display:inline-flex}.home-hero-left h1{letter-spacing:-.03em;color:#0d1117;margin:0;font-size:clamp(28px,3.2vw,48px);font-weight:800;line-height:1.15}.h-accent{color:#4361ee}.home-hero-left p{color:#6b7280;max-width:380px;margin:0;font-size:14px;line-height:1.6}.home-hero-btns{align-items:center;gap:16px;display:flex}.h-btn-dark{color:#fff;background:#0d1117;border-radius:10px;align-items:center;padding:11px 20px;font-size:13px;font-weight:700;text-decoration:none;transition:opacity .2s;display:inline-flex}.h-btn-dark:hover{opacity:.8}.h-btn-text{color:#4361ee;align-items:center;font-size:13px;font-weight:600;text-decoration:none;transition:opacity .2s;display:inline-flex}.h-btn-text:hover{opacity:.7}.home-hero-right{justify-content:center;align-items:center;min-height:0;display:flex;position:relative}.h-glow{pointer-events:none;background:radial-gradient(circle at 60%,#4361ee33 0%,#0000 65%);position:absolute;inset:0}.h-phones{z-index:1;object-fit:contain;filter:drop-shadow(0 16px 40px #4361ee2e);max-width:100%;max-height:100%;position:relative}.home-bottom{z-index:2;flex-shrink:0;grid-template-columns:1fr 1fr 1fr;gap:14px;height:300px;margin-top:-48px;padding:0 24px 20px;display:grid;position:relative}.home-col{background:#fff;border:1px solid #4361ee14;border-radius:16px;flex-direction:column;gap:12px;padding:18px 20px;display:flex;overflow:hidden;box-shadow:0 8px 28px #4361ee1f}.col-head{justify-content:space-between;align-items:center;display:flex}.col-head span{color:#0d1117;letter-spacing:-.01em;font-size:13px;font-weight:700}.col-link{color:#4361ee;font-size:12px;font-weight:600;text-decoration:none;transition:opacity .2s}.col-link:hover{opacity:.7}.app-icon-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));align-content:start;gap:14px 10px;padding:4px 0;display:grid}.app-icon-item{color:inherit;flex-direction:column;align-items:center;gap:6px;text-decoration:none;display:flex}.app-icon-item--static{cursor:default}.app-icon-box{border-radius:18px;justify-content:center;align-items:center;width:72px;height:72px;font-size:28px;font-weight:800;transition:transform .15s,box-shadow .15s;display:flex;overflow:hidden}.app-icon-item:not(.app-icon-item--static):hover .app-icon-box{transform:scale(1.06);box-shadow:0 6px 20px #00000024}.app-icon-box img{object-fit:cover;border-radius:18px;width:100%;height:100%}.app-icon-name{color:#0d1117;text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:72px;font-size:11px;font-weight:600;overflow:hidden}.app-icon-cat{letter-spacing:.04em;text-align:center;border-radius:20px;padding:2px 7px;font-size:9px;font-weight:700}.col-body{color:#4b5563;margin:0;font-size:12px;line-height:1.65}.col-bullets{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.col-bullets li{color:#4b5563;padding-left:14px;font-size:12px;position:relative}.col-bullets li:before{content:"→";color:#4361ee;font-size:10px;line-height:1.6;position:absolute;left:0}.resume-dl-btn{color:#fff;background:#0d1117;border-radius:8px;width:fit-content;padding:9px 16px;font-size:12px;font-weight:700;text-decoration:none;transition:opacity .2s;display:inline-flex}.resume-dl-btn:hover{opacity:.75}.home-footer{border-top:1px solid #4361ee1a;flex-shrink:0;justify-content:space-between;align-items:center;height:44px;padding:0 48px;display:flex;position:relative}.home-sign-img{opacity:.6;width:auto;height:96px;position:absolute;left:50%;transform:translate(-50%)}.footer-privacies{gap:16px;display:flex}.footer-privacies a{color:#9ca3af;font-size:11px;text-decoration:none;transition:color .2s}.footer-privacies a:hover{color:#4361ee}.home-footer p{color:#9ca3af;margin:0;font-size:11px}.home-badge{animation:.45s both fadeUp}.home-hero-left h1{animation:.45s 80ms both fadeUp}.home-hero-left p{animation:.45s .16s both fadeUp}.home-hero-btns{animation:.45s .24s both fadeUp}.home-hero-right{animation:.55s .1s both fadeUp}.home-col:first-child{animation:.45s .32s both fadeUp}.home-col:nth-child(2){animation:.45s .4s both fadeUp}.home-col:nth-child(3){animation:.45s .48s both fadeUp}.home-sign{animation:.45s .56s both fadeUp}@media (width<=900px){.home{height:auto;overflow:auto}.home-main{padding-top:68px}.home-hero{grid-template-columns:1fr;height:auto;padding:32px 24px}.home-hero-right{display:none}.home-bottom{grid-template-columns:1fr;height:auto;padding:0 16px 24px}.home-footer{flex-direction:column;align-items:flex-start;gap:8px;height:auto;padding:16px 24px}}.apps-page{max-width:900px;margin:0 auto;padding:100px 24px 64px}.apps-page-header{flex-direction:column;gap:10px;margin-bottom:40px;display:flex}.apps-page-header h1{letter-spacing:-.025em;color:#0d1117;margin:0;font-size:clamp(28px,4vw,40px);font-weight:700}.apps-page-header p{color:#6b7280;margin:0;font-size:15px}.apc-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:20px;display:grid}.apc-card{color:inherit;background:#fff;border:1px solid #4361ee14;border-radius:20px;flex-direction:column;align-items:center;gap:10px;padding:24px 16px 20px;text-decoration:none;transition:box-shadow .2s,transform .2s;display:flex;box-shadow:0 2px 10px #4361ee0d}.apc-card:hover{transform:translateY(-3px);box-shadow:0 10px 32px #4361ee21}.apc-card--static{cursor:default}.apc-card--static:hover{transform:none;box-shadow:0 2px 10px #4361ee0d}.apc-icon{border-radius:24px;flex-shrink:0;justify-content:center;align-items:center;width:96px;height:96px;font-size:38px;font-weight:800;display:flex;overflow:hidden}.apc-icon img{object-fit:cover;border-radius:24px;width:100%;height:100%}.apc-name{color:#0d1117;text-align:center;margin:0;font-size:14px;font-weight:700}.apc-cat{letter-spacing:.04em;text-align:center;border-radius:20px;padding:3px 10px;font-size:10px;font-weight:700}.page-footer{color:#9ca3af;border-top:1px solid #4361ee1a;padding:20px 48px;font-size:12px}.page-footer p{margin:0}.about-page{max-width:720px;margin:0 auto;padding:64px 24px 96px;animation:.45s both fadeUp}.about-page-header{border-bottom:1px solid #00000012;flex-direction:column;gap:8px;margin-bottom:40px;padding:40px 0 32px;display:flex}.about-page-header h1{letter-spacing:-.02em;color:#0a0a14;margin:0;font-size:clamp(26px,3vw,36px);font-weight:600}.about-title{color:#6b7280;margin:0;font-size:15px}.about-page-body{flex-direction:column;gap:32px;display:flex}.about-page-text{flex-direction:column;gap:16px;display:flex}.about-page-text p{color:#4b5563;margin:0;font-size:15px;line-height:1.75}.about-page-text h2{color:#0a0a14;margin:8px 0 0;font-size:17px;font-weight:600}.about-page-bullets{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.about-page-bullets li{color:#4b5563;padding-left:16px;font-size:14px;position:relative}.about-page-bullets li:before{content:"→";color:#4361ee;font-size:11px;position:absolute;top:2px;left:0}.about-page-links{flex-wrap:wrap;gap:12px;padding-top:8px;display:flex}.abt-link{color:#4b5563;border:1px solid #0000001a;border-radius:10px;align-items:center;gap:8px;padding:9px 16px;font-size:13px;font-weight:500;text-decoration:none;transition:border-color .2s,color .2s;display:inline-flex}.abt-link:hover{color:#4361ee;border-color:#4361ee}.resume-page{flex-direction:column;gap:40px;max-width:800px;margin:0 auto;padding:100px 24px 64px;animation:.45s both fadeUp;display:flex}.resume-page-top{flex-direction:column;gap:20px;display:flex}.resume-page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.resume-page-header h1{letter-spacing:-.025em;color:#0d1117;margin:0;font-size:clamp(28px,4vw,40px);font-weight:700}.resume-subtitle{color:#6b7280;margin:4px 0 10px;font-size:15px}.resume-linkedin{color:#4361ee;font-size:13px;font-weight:600;text-decoration:none;transition:opacity .2s;display:inline-flex}.resume-linkedin:hover{opacity:.7}.resume-dl{color:#fff;white-space:nowrap;background:#0d1117;border-radius:9px;flex-shrink:0;align-items:center;padding:10px 18px;font-size:13px;font-weight:700;text-decoration:none;transition:opacity .2s;display:inline-flex}.resume-dl:hover{opacity:.75}.resume-section{flex-direction:column;gap:16px;display:flex}.resume-section h2{color:#0d1117;border-bottom:1px solid #4361ee1a;margin:0;padding-bottom:10px;font-size:16px;font-weight:700}.resume-jobs{flex-direction:column;gap:24px;display:flex}.resume-job{flex-direction:column;gap:10px;display:flex}.resume-job-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.resume-job-head h3{color:#0d1117;margin:0;font-size:14px;font-weight:700}.resume-job-head p{color:#6b7280;margin:2px 0 0;font-size:13px}.resume-period{color:#9ca3af;white-space:nowrap;flex-shrink:0;font-size:12px;font-weight:500}.resume-job ul{flex-direction:column;gap:5px;margin:0;padding-left:16px;display:flex}.resume-job li{color:#4b5563;font-size:13px;line-height:1.6}.resume-skills-table{flex-direction:column;gap:10px;display:flex}.skill-row{grid-template-columns:140px 1fr;align-items:baseline;gap:16px;display:grid}.skill-label{color:#0d1117;font-size:12px;font-weight:700}.skill-value{color:#4b5563;font-size:13px;line-height:1.5}.tech-highlight{flex-wrap:wrap;gap:8px;display:flex}.tech-chip-r{border-radius:20px;padding:5px 14px;font-size:13px;font-weight:600}.footer{border-top:1px solid #4361ee1a;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:24px 48px;display:flex}.footer-links{flex-wrap:wrap;gap:20px;display:flex}.footer-links a{color:#9ca3af;font-size:12px;text-decoration:none;transition:color .2s}.footer-links a:hover{color:#4361ee}.footer p{color:#9ca3af;margin:0;font-size:12px}@media (width<=640px){.footer{flex-direction:column;align-items:flex-start;padding:20px 24px}}.app-detail{max-width:900px;margin:0 auto;padding-top:64px;padding-left:24px;padding-right:24px;animation:.45s both fadeUp}.app-detail-header{flex-direction:column;gap:32px;padding:48px 0 0;display:flex}.back-link{color:#6b7280;width:fit-content;font-size:14px;font-weight:500;text-decoration:none;transition:color .2s}.back-link:hover{color:#0a0a14}.app-detail-identity{align-items:flex-start;gap:28px;display:flex}.app-detail-icon{border-radius:22px;flex-shrink:0;justify-content:center;align-items:center;width:96px;height:96px;font-size:42px;font-weight:700;display:flex}.app-detail-icon img{object-fit:cover;border-radius:22px;width:100%;height:100%}.app-detail-meta{flex-direction:column;gap:8px;display:flex}.app-detail-badges{gap:6px;display:flex}.badge{letter-spacing:.06em;color:#6b7280;background:#0000000d;border:1px solid #00000014;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:600}.app-detail-meta h1{letter-spacing:-.02em;color:#0a0a14;margin:0;font-size:36px;font-weight:600}.app-detail-tagline{color:#6b7280;margin:0;font-size:16px}.appstore-btn{color:#fff;background:#0a0a14;border-radius:10px;align-items:center;gap:8px;width:fit-content;margin-top:8px;padding:10px 18px;font-size:14px;font-weight:600;text-decoration:none;transition:opacity .2s;display:inline-flex}.appstore-btn:hover{opacity:.8}.appstore-btn--soon{color:#9ca3af;cursor:default;background:#0000000a;border:1px solid #00000014}.appstore-btn--soon:hover{opacity:1}.app-screenshots{scrollbar-width:none;gap:16px;padding:56px 0;display:flex;overflow-x:auto}.app-screenshots::-webkit-scrollbar{display:none}.screenshot-frame{background:#fff;border:1px solid #00000014;border-radius:0;flex-shrink:0;width:260px;height:260px;overflow:hidden;box-shadow:0 8px 32px #00000014}.screenshot-frame img{object-fit:cover;width:100%;height:100%}.screenshots-soon{color:#9ca3af;align-items:center;gap:10px;padding:56px 0;font-size:14px;font-weight:500;display:flex}.app-about{border-bottom:1px solid #00000012;padding-bottom:48px}.app-about h2,.app-features h2{letter-spacing:-.01em;color:#0a0a14;margin:0 0 16px;font-size:22px;font-weight:600}.app-about p{color:#4b5563;max-width:680px;margin:0;font-size:16px;line-height:1.7}.app-features{border-bottom:1px solid #00000012;padding:48px 0}.features-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.feature-card{background:#fff;border:1px solid #00000012;border-radius:14px;flex-direction:column;gap:8px;padding:20px;display:flex}.feature-icon{font-size:22px}.feature-card h3{color:#0a0a14;margin:0;font-size:15px;font-weight:600}.feature-card p{color:#6b7280;margin:0;font-size:13px;line-height:1.5}.app-privacy-link{gap:24px;padding:32px 0 64px;display:flex}.app-privacy-link a{color:#6b7280;font-size:14px;font-weight:500;text-decoration:none;transition:color .2s}.app-privacy-link a:hover{color:#0a0a14}.not-found{flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100vh;display:flex}.not-found a{color:#6b7280;font-size:14px;text-decoration:none}.privacy-page{max-width:720px;margin:0 auto;padding:64px 24px 96px}.privacy-breadcrumb{color:#9ca3af;align-items:center;gap:8px;padding-top:40px;font-size:13px;display:flex}.privacy-breadcrumb a{color:#6b7280;text-decoration:none;transition:color .2s}.privacy-breadcrumb a:hover{color:#0a0a14}.privacy-header{border-bottom:1px solid #00000012;flex-direction:column;gap:10px;padding:32px 0 40px;display:flex}.privacy-header h1{letter-spacing:-.02em;color:#0a0a14;margin:0;font-size:clamp(26px,3vw,36px);font-weight:600}.privacy-updated{color:#9ca3af;margin:0;font-size:13px}.privacy-body{flex-direction:column;gap:40px;padding:48px 0;display:flex}.privacy-section h2{color:#0a0a14;margin:0 0 10px;font-size:17px;font-weight:600}.privacy-section p{color:#4b5563;margin:0;font-size:15px;line-height:1.75}.privacy-contact{color:#6b7280;border-top:1px solid #00000012;padding-top:32px;font-size:14px}.privacy-contact a{color:#0a0a14;font-weight:500;text-decoration:none}.privacy-contact a:hover{text-decoration:underline}.section-label{letter-spacing:.12em;color:#9ca3af;font-size:11px;font-weight:600}
