*,:before,:after{box-sizing:border-box}body{margin:0}*{box-sizing:border-box;margin:0;padding:0}body{color:#1a1a2e;-webkit-font-smoothing:antialiased;background:#fff;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.app{flex-direction:column;min-height:100vh;display:flex}.navbar{z-index:100;background:#fff;border-bottom:1px solid #ececec;align-items:center;gap:1rem;height:62px;padding:0 2.5rem;display:flex;position:sticky;top:0}.logo{cursor:pointer;color:#e2001a;letter-spacing:-.03em;flex-shrink:0;font-size:1.25rem;font-weight:800;text-decoration:none}.content{flex:1;width:100%;max-width:100%;padding:0}.footer{color:#999;text-align:center;background:#fafafa;border-top:1px solid #ececec;padding:1.5rem;font-size:.82rem}.btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.4rem;padding:.6rem 1.4rem;font-family:inherit;font-size:.9rem;font-weight:600;transition:all .15s;display:inline-flex}.btn-primary{color:#fff;background:#e2001a}.btn-primary:hover{background:#c0001a;transform:translateY(-1px);box-shadow:0 4px 14px #e2001a4d}.btn-success{color:#fff;background:#16a34a}.btn-success:hover{background:#15803d}.btn-danger{color:#fff;background:#ef4444}.btn-danger:hover{background:#dc2626}.btn-secondary{color:#444;background:#f5f5f5;border:1px solid #e0e0e0}.btn-secondary:hover{background:#ebebeb}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none!important;transform:none!important}.btn-row{flex-wrap:wrap;gap:.75rem;margin-top:1rem;display:flex}.card{background:#fff;border:1px solid #ececec;border-radius:12px;margin-bottom:1.5rem;padding:2rem;box-shadow:0 2px 8px #0000000a}.card h2{color:#1a1a2e;margin-bottom:1rem;font-size:1.1rem;font-weight:600}.dropzone{text-align:center;cursor:pointer;color:#888;background:#fafafa;border:2px dashed #d0d0d0;border-radius:12px;padding:2.5rem;font-size:.95rem;transition:all .2s}.dropzone:hover,.dropzone.drag-active{color:#e2001a;background:#fff5f5;border-color:#e2001a}.dropzone p{color:#aaa;margin-top:.5rem;font-size:.82rem}.page-title{color:#1a1a2e;letter-spacing:-.03em;margin-bottom:.35rem;font-size:1.7rem;font-weight:800}.page-subtitle{color:#888;margin-bottom:2rem;font-size:.92rem}.badge{color:#e2001a;background:#fff0f0;border-radius:9999px;margin-bottom:.75rem;padding:.2rem .65rem;font-size:.72rem;font-weight:600;display:inline-block}.tool-grid{background:#ececec;border-radius:0;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:1px;display:grid}.tool-card{cursor:pointer;background:#fff;flex-direction:column;align-items:flex-start;gap:0;padding:2rem 1.5rem;transition:background .15s;display:flex;position:relative}.tool-card:hover{z-index:1;background:#fafafa}.tool-card:hover .tool-icon-box{transform:scale(1.05)}.tool-icon-box{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:1rem;font-size:1.5rem;transition:transform .15s;display:flex}.tool-card h3{color:#1a1a2e;margin-bottom:.35rem;font-size:.88rem;font-weight:700;line-height:1.3}.tool-card p{color:#888;font-size:.78rem;line-height:1.5}.tool-card-soon .tool-soon-overlay{display:none}.tool-card-soon:hover>:not(.tool-soon-overlay){filter:blur(2px);opacity:.4}.tool-card-soon:hover .tool-soon-overlay{color:#374151;pointer-events:none;background:#ffffff80;border-radius:0;justify-content:center;align-items:center;font-size:.9rem;font-weight:600;display:flex;position:absolute;inset:0}.home-hero{text-align:center;background:linear-gradient(160deg,#fff5f5 0%,#fff 50%,#f0f7ff 100%);border-bottom:1px solid #ececec;padding:4rem 2.5rem 3.5rem}.home-hero h1{color:#1a1a2e;letter-spacing:-.04em;margin-bottom:.75rem;font-size:2.4rem;font-weight:800;line-height:1.15}.home-hero p{color:#888;max-width:560px;margin:0 auto 1.5rem;font-size:1rem;line-height:1.6}.home-hero-badge{color:#e2001a;background:#fff0f0;border:1px solid #fecaca;border-radius:9999px;align-items:center;gap:.4rem;padding:.35rem 1rem;font-size:.78rem;font-weight:600;display:inline-flex}.home-section{padding:2.5rem 2.5rem 0}.section-label{text-transform:uppercase;letter-spacing:.12em;color:#aaa;margin-bottom:1rem;font-size:.7rem;font-weight:700}.inner-page{max-width:700px;margin:0 auto;padding:2.5rem 2rem}
