/* desca.dev */
/* Colors: #2A3B4F, #A8D4FF, #5A6B7E, #FFAA22, #0D2240, #162030, #1A2A40, #3A4B5F, #E0E8F0, #F0F4F8, #8A9AAA, #C0D0E0, #0A1828 */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: 'Inter', sans-serif; font-weight: 400; font-size: 16px; line-height: 1.7; background: #0D2240; color: #E0E8F0; overflow-x: hidden; }
.hero { min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 40px; background: radial-gradient(ellipse at center, #162030 0%, #0D2240 70%); }
.hero-title { font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: clamp(3rem, 10vw, 7rem); color: #A8D4FF; opacity: 0; animation: fadeIn 1.5s ease forwards; }
@keyframes fadeIn { to { opacity: 1; } }
.hero-sub { font-weight: 300; font-size: 16px; color: #5A6B7E; margin-top: 16px; opacity: 0; animation: fadeIn 1s 0.8s ease forwards; }
.section { padding: 100px 40px; display: flex; flex-direction: column; align-items: center; text-align: center; background: #0D2240; }
.section-alt { background: #0A1828; }
.section-title { font-family: 'Space Grotesk', sans-serif; font-weight: 700; font-size: clamp(2rem, 5vw, 3rem); color: #E0E8F0; margin-bottom: 20px; }
.section-text { font-weight: 300; font-size: 17px; color: #8A9AAA; max-width: 600px; margin-bottom: 40px; }
.tool-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px; max-width: 700px; width: 100%; }
.tool-card { border: 1px solid #1A2A40; padding: 24px; text-align: left; transition: border-color 0.3s ease; }
.tool-card:hover { border-color: #FFAA22; }
.tool-card h3 { font-family: 'Space Grotesk', sans-serif; font-size: 18px; color: #A8D4FF; margin-bottom: 8px; }
.tool-card p { font-size: 14px; color: #5A6B7E; }
.code-block { background: #0A1828; border: 1px solid #1A2A40; padding: 24px; max-width: 500px; width: 100%; text-align: left; overflow-x: auto; }
.code-block pre { font-family: 'JetBrains Mono', monospace; font-size: 14px; color: #C0D0E0; white-space: pre; line-height: 1.8; }
.kw { color: #FFAA22; } .fn { color: #A8D4FF; } .num { color: #FFAA22; }
.site-footer { text-align: center; padding: 40px; background: #0D2240; color: #1A2A40; font-size: 12px; }
@media (max-width: 768px) { .section { padding: 60px 24px; } .tool-grid { grid-template-columns: 1fr; } }
