/* ============================================================
   OneSeek.net — Complete Design System
   All styles consolidated — no inline styles needed
   ============================================================ */

/* ==========================================
   1. CSS CUSTOM PROPERTIES (Design Tokens)
   ========================================== */
:root {
  /* Colors — dark theme */
  --c-bg: #080b14;
  --c-bg-alt: #0d1120;
  --c-surface: #131829;
  --c-surface-hover: #1a1f35;
  --c-border: #1e2640;
  --c-border-light: #2a3352;
  --c-text: #e8ecf4;
  --c-text-secondary: #94a3b8;
  --c-text-muted: #5b6b88;
  --c-accent: #6366f1;
  --c-accent-hover: #818cf8;
  --c-accent-soft: rgba(99, 102, 241, 0.12);
  --c-accent-glow: rgba(99, 102, 241, 0.35);
  --c-green: #34d399;
  --c-red: #f87171;
  --c-yellow: #fbbf24;
  --c-orange: #fb923c;
  --c-cyan: #22d3ee;
  --c-pink: #f472b6;
  --c-purple: #a78bfa;

  /* Typography */
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-mono: 'JetBrains Mono', 'Fira Code', 'Cascadia Code', 'Consolas', monospace;

  /* Spacing scale */
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 32px;
  --space-2xl: 48px;
  --space-3xl: 64px;

  /* Border radius */
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-full: 9999px;

  /* Shadows */
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.3);
  --shadow-md: 0 4px 16px rgba(0,0,0,0.35);
  --shadow-lg: 0 8px 32px rgba(0,0,0,0.45);
  --shadow-glow: 0 0 40px var(--c-accent-glow);

  /* Transitions */
  --ease: cubic-bezier(0.4, 0, 0.2, 1);
  --transition-fast: 150ms var(--ease);
  --transition: 250ms var(--ease);

  /* Layout */
  --max-width: 1200px;
  --header-h: 64px;
}

/* ==========================================
   2. RESET & BASE
   ========================================== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}
body{font-family:var(--font-sans);background:var(--c-bg);color:var(--c-text);line-height:1.6;min-height:100vh;overflow-x:hidden}
a{color:var(--c-accent-hover);text-decoration:none;transition:color var(--transition-fast)}
a:hover{color:var(--c-accent)}
img{max-width:100%;display:block}
button{cursor:pointer;font-family:inherit}
input,textarea,select{font-family:inherit}
::selection{background:var(--c-accent);color:#fff}
strong{color:var(--c-text);font-weight:600}
em{color:var(--c-text-secondary)}

/* Layout wrapper */
.wrap{position:relative;z-index:1;max-width:var(--max-width);margin:0 auto;padding:0 var(--space-lg)}

/* ==========================================
   3. AMBIENT BACKGROUND
   ========================================== */
body::before{content:'';position:fixed;inset:0;background-image:radial-gradient(circle,rgba(99,102,241,0.03) 1px,transparent 1px);background-size:48px 48px;pointer-events:none;z-index:0}
body::after{content:'';position:fixed;inset:0;background:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(99,102,241,0.08),transparent),radial-gradient(ellipse 40% 40% at 10% 90%,rgba(34,211,238,0.04),transparent),radial-gradient(ellipse 40% 40% at 90% 90%,rgba(244,114,182,0.03),transparent);pointer-events:none;z-index:0}

/* ==========================================
   4. HEADER & NAVIGATION
   ========================================== */
.site-header{position:sticky;top:0;z-index:100;background:rgba(8,11,20,0.85);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--c-border)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:var(--header-h);max-width:var(--max-width);margin:0 auto;padding:0 var(--space-lg)}
.header-logo{display:flex;align-items:center;font-size:1.35rem;font-weight:800;color:var(--c-text);letter-spacing:-0.5px}
.header-logo img{height:32px;width:auto;display:block;filter:drop-shadow(0 0 12px var(--c-accent-glow))}
.header-nav{display:flex;align-items:center;gap:var(--space-sm);list-style:none}
.header-nav a{display:flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--radius-sm);color:var(--c-text-secondary);font-size:0.9rem;font-weight:500;transition:all var(--transition-fast)}
.header-nav a:hover,.header-nav a.active{color:var(--c-text);background:var(--c-surface)}
.mobile-menu-btn{display:none;background:none;border:none;color:var(--c-text);padding:8px}
@media(max-width:768px){
  .header-nav{position:fixed;top:var(--header-h);left:0;right:0;flex-direction:column;background:rgba(13,17,32,0.98);backdrop-filter:blur(16px);padding:var(--space-md);border-bottom:1px solid var(--c-border);transform:translateY(-110%);opacity:0;transition:all var(--transition)}
  .header-nav.open{transform:translateY(0);opacity:1}
  .header-nav a{width:100%;padding:12px 16px}
  .mobile-menu-btn{display:flex;align-items:center;justify-content:center}
}

/* ==========================================
   5. FOOTER
   ========================================== */
.site-footer{border-top:1px solid var(--c-border);background:var(--c-bg-alt);margin-top:var(--space-3xl);padding:var(--space-2xl) 0 var(--space-lg)}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--space-2xl);max-width:var(--max-width);margin:0 auto;padding:0 var(--space-lg)}
.footer-brand h3{font-size:1.2rem;font-weight:700;margin-bottom:var(--space-sm)}
.footer-brand p{color:var(--c-text-muted);font-size:0.88rem;line-height:1.7;max-width:320px}
.footer-col h4{font-size:0.85rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--c-text-muted);margin-bottom:var(--space-md)}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:var(--space-sm)}
.footer-col a{color:var(--c-text-secondary);font-size:0.88rem;transition:color var(--transition-fast)}
.footer-col a:hover{color:var(--c-accent-hover)}
.footer-bottom{max-width:var(--max-width);margin:var(--space-xl) auto 0;padding:var(--space-lg) var(--space-lg) 0;border-top:1px solid var(--c-border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-md)}
.footer-bottom p{color:var(--c-text-muted);font-size:0.8rem}
.footer-social{display:flex;gap:var(--space-md)}
.footer-social a{color:var(--c-text-muted);transition:color var(--transition-fast)}
.footer-social a:hover{color:var(--c-accent-hover)}
@media(max-width:768px){
  .footer-grid{grid-template-columns:1fr 1fr;gap:var(--space-xl)}
  .footer-brand{grid-column:1/-1}
}

/* ==========================================
   6. BUTTONS
   ========================================== */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:10px 20px;border-radius:var(--radius-md);font-size:0.9rem;font-weight:600;border:none;transition:all var(--transition-fast);white-space:nowrap}
.btn-primary{background:linear-gradient(135deg,var(--c-accent),#4f46e5);color:#fff;box-shadow:0 2px 16px var(--c-accent-glow)}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 24px rgba(99,102,241,0.5);color:#fff}
.btn-secondary{background:var(--c-surface);color:var(--c-text);border:1px solid var(--c-border)}
.btn-secondary:hover{background:var(--c-surface-hover);border-color:var(--c-border-light);color:var(--c-text)}
.btn-ghost{background:transparent;color:var(--c-text-secondary)}
.btn-ghost:hover{background:var(--c-surface);color:var(--c-text)}
.btn-sm{padding:6px 12px;font-size:0.8rem;border-radius:var(--radius-sm)}
.btn-lg{padding:14px 28px;font-size:1rem;border-radius:var(--radius-lg)}
.btn-icon{width:36px;height:36px;padding:0;border-radius:var(--radius-sm)}
.btn:disabled{opacity:0.4;cursor:not-allowed;transform:none}

/* ==========================================
   7. CARDS (generic)
   ========================================== */
.card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:var(--space-lg);transition:all var(--transition)}
.card:hover{border-color:var(--c-border-light);box-shadow:var(--shadow-md)}

/* ==========================================
   8. BADGE / TAG
   ========================================== */
.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--radius-full);font-size:0.72rem;font-weight:600;letter-spacing:0.5px;text-transform:uppercase}
.badge-new{background:rgba(52,211,153,0.15);color:var(--c-green)}
.badge-ai{background:rgba(99,102,241,0.15);color:var(--c-accent-hover)}
.badge-hot{background:rgba(251,146,60,0.15);color:var(--c-orange)}
.badge-free{background:rgba(34,211,238,0.12);color:var(--c-cyan)}

/* ==========================================
   9. PAGE HERO (generic subpage header)
   ========================================== */
.page-hero{padding:var(--space-3xl) 0 var(--space-2xl);text-align:center}
.page-hero h1{font-size:2.6rem;font-weight:800;letter-spacing:-1px;margin-bottom:var(--space-sm);background:linear-gradient(135deg,var(--c-text),var(--c-accent-hover));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.page-hero p{color:var(--c-text-secondary);font-size:1.1rem;max-width:600px;margin:0 auto}
.page-content{padding:0 0 var(--space-3xl)}
.tool-container{max-width:900px;margin:0 auto;padding:0 var(--space-lg)}

/* ==========================================
   10. FORM ELEMENTS
   ========================================== */
.input,.textarea{width:100%;padding:12px 16px;background:var(--c-bg-alt);border:1.5px solid var(--c-border);border-radius:var(--radius-md);color:var(--c-text);font-size:0.9rem;outline:none;transition:all var(--transition-fast);resize:vertical}
.input:focus,.textarea:focus{border-color:var(--c-accent);box-shadow:0 0 0 3px var(--c-accent-soft)}
.input::placeholder,.textarea::placeholder{color:var(--c-text-muted)}
.textarea{font-family:var(--font-mono);font-size:0.85rem;line-height:1.7;min-height:200px}
.select{padding:10px 14px;background:var(--c-bg-alt);border:1.5px solid var(--c-border);border-radius:var(--radius-md);color:var(--c-text);font-size:0.9rem;outline:none;cursor:pointer;transition:all var(--transition-fast);appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}
.select:focus{border-color:var(--c-accent);box-shadow:0 0 0 3px var(--c-accent-soft)}

/* Toolbar row */
.toolbar{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;margin:var(--space-md) 0}
.toolbar-spacer{flex:1}

/* Result box & output */
.result-box{background:var(--c-bg-alt);border:1.5px solid var(--c-border);border-radius:var(--radius-md);padding:var(--space-md);font-family:var(--font-mono);font-size:0.85rem;line-height:1.7;min-height:60px;max-height:400px;overflow-y:auto;white-space:pre-wrap;word-break:break-all;color:var(--c-text-secondary)}

/* Copy toast */
.copy-toast{position:fixed;bottom:var(--space-lg);right:var(--space-lg);background:var(--c-green);color:#000;padding:10px 20px;border-radius:var(--radius-md);font-weight:600;font-size:0.88rem;transform:translateY(100px);opacity:0;transition:all var(--transition);z-index:9999;box-shadow:var(--shadow-lg)}
.copy-toast.show{transform:translateY(0);opacity:1}

/* Empty state */
.empty-state{text-align:center;padding:var(--space-3xl) var(--space-lg)}
.empty-state h3{color:var(--c-text-secondary);font-size:1.1rem;margin-bottom:var(--space-sm)}
.empty-state p{color:var(--c-text-muted);font-size:0.9rem}

/* ==========================================
   11. AD PLACEHOLDER
   ========================================== */
.ad-container{text-align:center;margin:var(--space-xl) auto;max-width:728px;overflow:hidden}
.ad-container::before{content:'Advertisement';display:block;text-align:center;font-size:0.7rem;color:var(--c-text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:var(--space-sm)}
.ad-placeholder{display:flex;align-items:center;justify-content:center;min-height:90px;background:var(--c-surface);border:1px dashed var(--c-border);border-radius:var(--radius-md);color:var(--c-text-muted);font-size:0.8rem}
@media(max-width:768px){.ad-container{max-width:100%}}

/* ==========================================
   12. ANIMATIONS
   ========================================== */
@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.5}}
@keyframes shimmer{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes float{0%,100%{transform:translate(0,0)}50%{transform:translate(-20px,-20px)}}
.animate-in{animation:fadeInUp 0.5s var(--ease) both}
.delay-1{animation-delay:0.1s}
.delay-2{animation-delay:0.2s}
.delay-3{animation-delay:0.3s}

/* ==========================================
   13. UTILITY CLASSES
   ========================================== */
.text-center{text-align:center}
.text-muted{color:var(--c-text-muted)}
.text-secondary{color:var(--c-text-secondary)}
.text-accent{color:var(--c-accent-hover)}
.text-sm{font-size:0.85rem}
.text-xs{font-size:0.75rem}
.font-mono{font-family:var(--font-mono)}
.font-bold{font-weight:700}
.mt-sm{margin-top:var(--space-sm)}
.mt-md{margin-top:var(--space-md)}
.mt-lg{margin-top:var(--space-lg)}
.mt-xl{margin-top:var(--space-xl)}
.mb-sm{margin-bottom:var(--space-sm)}
.mb-md{margin-bottom:var(--space-md)}
.mb-lg{margin-bottom:var(--space-lg)}
.gap-sm{gap:var(--space-sm)}
.gap-md{gap:var(--space-md)}
.flex{display:flex}
.flex-wrap{flex-wrap:wrap}
.items-center{align-items:center}
.justify-between{justify-content:space-between}
.hidden{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

/* ==========================================
   14. SCROLLBAR
   ========================================== */
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--c-border-light);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:var(--c-text-muted)}

/* ============================================================
   HOME PAGE — INDEX.HTML
   ============================================================ */

/* ---------- 14a. Hero Section ---------- */
.hero{position:relative;padding:100px 0 60px;text-align:center;overflow:hidden}
.hero::before{content:'';position:absolute;top:-200px;left:50%;transform:translateX(-50%);width:800px;height:800px;background:radial-gradient(circle,rgba(99,102,241,0.12) 0%,transparent 70%);pointer-events:none}
.hero::after{content:'';position:absolute;top:60px;right:-80px;width:300px;height:300px;background:radial-gradient(circle,rgba(34,211,238,0.08) 0%,transparent 70%);pointer-events:none}
.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 18px;border-radius:var(--radius-full);background:var(--c-accent-soft);border:1px solid rgba(99,102,241,0.25);color:var(--c-accent-hover);font-size:0.85rem;font-weight:500;margin-bottom:var(--space-xl);animation:fadeInUp 0.6s ease-out}
.hero-badge .dot{width:8px;height:8px;border-radius:50%;background:var(--c-green);animation:pulse 2s infinite}
.hero h1{font-size:clamp(2.4rem,5.5vw,4rem);font-weight:900;letter-spacing:-2.5px;line-height:1.08;margin-bottom:var(--space-lg);animation:fadeInUp 0.6s ease-out 0.1s both;max-width:800px;margin-left:auto;margin-right:auto}
.hero h1 .gradient{background:linear-gradient(135deg,var(--c-accent-hover) 0%,var(--c-cyan) 40%,var(--c-pink) 80%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;background-size:200% 200%;animation:shimmer 4s ease-in-out infinite}
.hero p.subtitle{font-size:1.2rem;color:var(--c-text-secondary);max-width:600px;margin:0 auto var(--space-2xl);line-height:1.7;animation:fadeInUp 0.6s ease-out 0.2s both}
.hero-actions{display:flex;gap:var(--space-md);justify-content:center;flex-wrap:wrap;margin-bottom:var(--space-3xl);animation:fadeInUp 0.6s ease-out 0.3s both}
.hero-search{max-width:560px;margin:0 auto var(--space-2xl);animation:fadeInUp 0.6s ease-out 0.4s both}
.hero-search-inner{display:flex;background:var(--c-surface);border:2px solid var(--c-border);border-radius:var(--radius-xl);overflow:hidden;transition:all var(--transition)}
.hero-search-inner:focus-within{border-color:var(--c-accent);box-shadow:0 0 0 4px var(--c-accent-soft)}
.hero-search-inner input{flex:1;padding:15px 20px;background:transparent;border:none;color:var(--c-text);font-size:1rem;outline:none;min-width:0}
.hero-search-inner input::placeholder{color:var(--c-text-muted)}
.hero-search-inner button{padding:15px 24px;background:var(--c-accent);color:#fff;border:none;font-weight:600;font-size:0.95rem;cursor:pointer;white-space:nowrap;transition:background var(--transition-fast);display:flex;align-items:center;gap:8px}
.hero-search-inner button:hover{background:var(--c-accent-hover)}

/* ---------- 14b. Stats Bar ---------- */
.stats-bar{display:flex;justify-content:center;gap:var(--space-3xl);padding:var(--space-2xl) 0;border-top:1px solid var(--c-border);border-bottom:1px solid var(--c-border);margin-bottom:var(--space-3xl);flex-wrap:wrap;animation:fadeInUp 0.6s ease-out 0.5s both}
.stat-item{text-align:center}
.stat-item .num{font-size:2.2rem;font-weight:900;background:linear-gradient(135deg,var(--c-accent-hover),var(--c-cyan));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}
.stat-item .label{font-size:0.82rem;color:var(--c-text-muted);margin-top:6px;font-weight:500}

/* ---------- 14c. Section Header ---------- */
.section-head{margin-bottom:var(--space-xl)}
.section-head .label{display:inline-block;font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;color:var(--c-accent-hover);margin-bottom:var(--space-sm);background:var(--c-accent-soft);padding:4px 12px;border-radius:var(--radius-full)}
.section-head h2{font-size:2rem;font-weight:800;letter-spacing:-1px;margin-bottom:var(--space-sm)}
.section-head p{color:var(--c-text-secondary);font-size:1.05rem;max-width:600px}

/* ---------- 14d. Hub Navigation Cards ---------- */
.hub-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-md);margin-bottom:var(--space-3xl)}
.hub-card{position:relative;padding:var(--space-xl) var(--space-lg);border-radius:var(--radius-lg);border:1px solid var(--c-border);text-decoration:none;transition:all 0.35s var(--ease);overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-md)}
.hub-card::before{content:'';position:absolute;inset:0;opacity:0;transition:opacity 0.35s var(--ease);z-index:0}
.hub-card:hover{transform:translateY(-4px);border-color:transparent}
.hub-card:hover::before{opacity:1}
.hub-card .hub-icon{width:52px;height:52px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.6rem;position:relative;z-index:1}
.hub-card h3{font-size:1.15rem;font-weight:700;color:var(--c-text);position:relative;z-index:1}
.hub-card p{font-size:0.85rem;color:var(--c-text-muted);line-height:1.55;position:relative;z-index:1}
.hub-card .hub-arrow{position:relative;z-index:1;margin-top:auto;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all var(--transition);opacity:0;transform:translateX(-8px)}
.hub-card:hover .hub-arrow{opacity:1;transform:translateX(0);background:rgba(255,255,255,0.1)}

/* Hub card color variants */
.hub-dev .hub-icon{background:rgba(99,102,241,0.15);color:var(--c-accent-hover)}
.hub-dev::before{background:radial-gradient(circle at 50% 0%,rgba(99,102,241,0.08),transparent 70%)}
.hub-dev:hover{border-color:rgba(99,102,241,0.4);box-shadow:0 8px 40px rgba(99,102,241,0.15)}
.hub-ai .hub-icon{background:rgba(34,211,238,0.12);color:var(--c-cyan)}
.hub-ai::before{background:radial-gradient(circle at 50% 0%,rgba(34,211,238,0.08),transparent 70%)}
.hub-ai:hover{border-color:rgba(34,211,238,0.35);box-shadow:0 8px 40px rgba(34,211,238,0.12)}
.hub-blog .hub-icon{background:rgba(244,114,182,0.12);color:var(--c-pink)}
.hub-blog::before{background:radial-gradient(circle at 50% 0%,rgba(244,114,182,0.08),transparent 70%)}
.hub-blog:hover{border-color:rgba(244,114,182,0.35);box-shadow:0 8px 40px rgba(244,114,182,0.12)}
.hub-about .hub-icon{background:rgba(52,211,153,0.12);color:var(--c-green)}
.hub-about::before{background:radial-gradient(circle at 50% 0%,rgba(52,211,153,0.08),transparent 70%)}
.hub-about:hover{border-color:rgba(52,211,153,0.35);box-shadow:0 8px 40px rgba(52,211,153,0.12)}

/* ---------- 14e. Tool Cards Grid ---------- */
.tool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-md);margin-bottom:var(--space-3xl)}
.tool-card{position:relative;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:var(--space-lg);transition:all 0.35s var(--ease);text-decoration:none;display:flex;gap:var(--space-md);align-items:flex-start;overflow:hidden}
.tool-card::after{content:'';position:absolute;top:0;left:0;width:100%;height:2px;opacity:0;transition:opacity 0.35s var(--ease)}
.tool-card:hover{transform:translateY(-3px);border-color:var(--c-border-light);box-shadow:0 12px 48px rgba(0,0,0,0.35)}
.tool-card:hover::after{opacity:1}
.tool-card .tc-icon{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0;position:relative;z-index:1}
.tool-card .tc-info{flex:1;min-width:0;position:relative;z-index:1}
.tool-card .tc-info h3{font-size:0.95rem;font-weight:600;color:var(--c-text);margin-bottom:4px}
.tool-card .tc-info p{font-size:0.8rem;color:var(--c-text-muted);line-height:1.5}
.tool-card .tc-badge{position:absolute;top:var(--space-md);right:var(--space-md);z-index:2}

/* Tool card accent colors — top border */
.tc-json::after{background:linear-gradient(90deg,#6366f1,#818cf8)}
.tc-base64::after{background:linear-gradient(90deg,#34d399,#6ee7b7)}
.tc-qr::after{background:linear-gradient(90deg,#22d3ee,#67e8f9)}
.tc-pw::after{background:linear-gradient(90deg,#fbbf24,#fcd34d)}
.tc-url::after{background:linear-gradient(90deg,#fb923c,#fdba74)}
.tc-uuid::after{background:linear-gradient(90deg,#a78bfa,#c4b5fd)}
.tc-md::after{background:linear-gradient(90deg,#f472b6,#f9a8d4)}
.tc-color::after{background:linear-gradient(90deg,#f87171,#fca5a5)}
.tc-diff::after{background:linear-gradient(90deg,#2dd4bf,#5eead4)}
.tc-regex::after{background:linear-gradient(90deg,#e879f9,#f0abfc)}
.tc-img::after{background:linear-gradient(90deg,#38bdf8,#7dd3fc)}
.tc-ai-sum::after{background:linear-gradient(90deg,#6366f1,#a78bfa)}
.tc-ai-rew::after{background:linear-gradient(90deg,#818cf8,#c4b5fd)}
.tc-ai-trn::after{background:linear-gradient(90deg,#22d3ee,#818cf8)}
.tc-ai-chat::after{background:linear-gradient(90deg,#f472b6,#6366f1)}

/* Tool card icon colors */
.tc-icon.ti-json{background:rgba(99,102,241,0.12);color:#818cf8}
.tc-icon.ti-base64{background:rgba(52,211,153,0.12);color:#34d399}
.tc-icon.ti-qr{background:rgba(34,211,238,0.12);color:#22d3ee}
.tc-icon.ti-pw{background:rgba(251,191,36,0.12);color:#fbbf24}
.tc-icon.ti-url{background:rgba(251,146,60,0.12);color:#fb923c}
.tc-icon.ti-uuid{background:rgba(167,139,250,0.12);color:#a78bfa}
.tc-icon.ti-md{background:rgba(244,114,182,0.12);color:#f472b6}
.tc-icon.ti-color{background:rgba(248,113,113,0.12);color:#f87171}
.tc-icon.ti-diff{background:rgba(45,212,191,0.12);color:#2dd4bf}
.tc-icon.ti-regex{background:rgba(232,121,249,0.12);color:#e879f9}
.tc-icon.ti-img{background:rgba(56,189,248,0.12);color:#38bdf8}

/* ---------- 14f. Feature Grid ---------- */
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-md);margin-bottom:var(--space-3xl)}
.feature-card{text-align:center;padding:var(--space-2xl) var(--space-lg);border-radius:var(--radius-lg);border:1px solid var(--c-border);background:var(--c-surface);transition:all var(--transition)}
.feature-card:hover{border-color:var(--c-border-light)}
.feature-card .fc-icon{width:56px;height:56px;margin:0 auto var(--space-lg);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:1.6rem;background:var(--c-accent-soft);color:var(--c-accent-hover)}
.feature-card h3{font-size:1.05rem;font-weight:700;margin-bottom:var(--space-sm)}
.feature-card p{font-size:0.82rem;color:var(--c-text-muted);line-height:1.55}

/* ---------- 14g. CTA Banner ---------- */
.cta-banner{position:relative;border-radius:var(--radius-xl);padding:var(--space-3xl);text-align:center;overflow:hidden;margin-bottom:var(--space-3xl);background:linear-gradient(135deg,rgba(99,102,241,0.12) 0%,rgba(34,211,238,0.08) 50%,rgba(244,114,182,0.06) 100%);border:1px solid var(--c-border)}
.cta-banner::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 30% 50%,rgba(99,102,241,0.06) 0%,transparent 50%),radial-gradient(circle at 70% 50%,rgba(34,211,238,0.05) 0%,transparent 50%);animation:float 12s ease-in-out infinite}
.cta-banner h2{font-size:2rem;font-weight:800;margin-bottom:var(--space-sm);position:relative;z-index:1}
.cta-banner p{color:var(--c-text-secondary);font-size:1.1rem;max-width:550px;margin:0 auto var(--space-xl);position:relative;z-index:1}
.cta-banner .btn{position:relative;z-index:1}

/* ---------- 14h. Quick Links ---------- */
.quick-links{display:flex;justify-content:center;gap:var(--space-xl);flex-wrap:wrap;padding:var(--space-xl) 0;margin-bottom:var(--space-2xl)}
.quick-links a{color:var(--c-text-muted);font-size:0.85rem;font-weight:500;transition:color var(--transition-fast);display:flex;align-items:center;gap:6px}
.quick-links a:hover{color:var(--c-accent-hover)}
.quick-links a svg{width:16px;height:16px}

/* ---------- 14i. Home Responsive ---------- */
@media(max-width:900px){
  .hub-nav{grid-template-columns:repeat(2,1fr)}
  .feature-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  .hero{padding:60px 0 40px}
  .hero h1{font-size:2rem;letter-spacing:-1px}
  .hero p.subtitle{font-size:1rem}
  .hero-search-inner{flex-direction:column}
  .hero-search-inner button{border-radius:0 0 var(--radius-xl) var(--radius-xl)}
  .stats-bar{gap:var(--space-xl)}
  .stat-item .num{font-size:1.6rem}
  .hub-nav{grid-template-columns:1fr}
  .feature-grid{grid-template-columns:1fr}
  .tool-grid{grid-template-columns:1fr}
  .section-head h2{font-size:1.5rem}
  .cta-banner{padding:var(--space-xl)}
  .cta-banner h2{font-size:1.4rem}
}

/* ============================================================
   AI TOOLS PAGE — AI-TOOLS.HTML
   ============================================================ */

/* AI Hero */
.ai-hero{text-align:center;padding:var(--space-3xl) var(--space-lg);background:linear-gradient(135deg,rgba(99,102,241,0.08),rgba(34,211,238,0.08),rgba(244,114,182,0.06));border:1px solid var(--c-border);border-radius:var(--radius-xl);margin-top:var(--space-lg);margin-bottom:var(--space-2xl)}
.ai-hero h1{font-size:2.6rem;font-weight:900;letter-spacing:-1px;margin-bottom:var(--space-sm);background:linear-gradient(135deg,var(--c-accent-hover),var(--c-cyan),var(--c-pink));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.ai-hero p{color:var(--c-text-secondary);font-size:1.1rem;max-width:600px;margin:0 auto}

/* API Key section */
.api-key-section{display:flex;gap:var(--space-md);align-items:center;justify-content:center;margin-top:var(--space-lg);flex-wrap:wrap}
.api-key-section .input{max-width:380px;font-family:var(--font-mono);font-size:0.85rem}
.api-key-info{font-size:0.78rem;color:var(--c-text-muted);text-align:center;margin-top:var(--space-sm)}

/* Tab navigation */
.ai-tab-nav{display:flex;gap:4px;margin-bottom:var(--space-lg);background:var(--c-surface);border-radius:var(--radius-md);padding:4px;overflow-x:auto}
.ai-tab-btn{flex:1;min-width:fit-content;padding:12px 20px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--c-text-secondary);font-size:0.9rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;display:flex;align-items:center;gap:6px;justify-content:center}
.ai-tab-btn:hover{color:var(--c-text);background:var(--c-surface-hover)}
.ai-tab-btn.active{background:var(--c-bg-alt);color:var(--c-text);box-shadow:var(--shadow-sm)}

/* Tab panels */
.ai-tab-panel{display:none}
.ai-tab-panel.active{display:block}

/* AI output */
.ai-output{background:var(--c-bg-alt);border:1.5px solid var(--c-border);border-radius:var(--radius-md);padding:var(--space-md);min-height:150px;max-height:450px;overflow-y:auto;white-space:pre-wrap;line-height:1.7;font-size:0.9rem;color:var(--c-text-secondary)}
.ai-output.loading{display:flex;align-items:center;justify-content:center;color:var(--c-text-muted)}
.ai-output.loading::after{content:'Generating...';animation:pulse 1.5s infinite}

/* Chat container */
.chat-container{display:flex;flex-direction:column;height:500px;border:1.5px solid var(--c-border);border-radius:var(--radius-md);overflow:hidden}
.chat-messages{flex:1;overflow-y:auto;padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-md)}
.chat-msg{padding:10px 16px;border-radius:var(--radius-md);max-width:80%;line-height:1.6;font-size:0.9rem}
.chat-msg.user{align-self:flex-end;background:var(--c-accent);color:#fff;border-bottom-right-radius:4px}
.chat-msg.assistant{align-self:flex-start;background:var(--c-surface);border:1px solid var(--c-border);border-bottom-left-radius:4px;color:var(--c-text-secondary)}
.chat-msg.assistant.chat-error{color:var(--c-red)}
.chat-input-row{display:flex;gap:var(--space-sm);padding:var(--space-md);border-top:1px solid var(--c-border)}
.chat-input-row input{flex:1}

@media(max-width:640px){
  .ai-tab-btn{padding:10px 14px;font-size:0.8rem}
  .api-key-section{flex-direction:column}
  .api-key-section .input{max-width:100%;width:100%}
  .ai-hero{padding:var(--space-xl) var(--space-md)}
  .ai-hero h1{font-size:1.8rem}
  .chat-container{height:400px}
}

/* ============================================================
   ABOUT PAGE — ABOUT.HTML
   ============================================================ */
.about-section{margin-bottom:var(--space-2xl)}
.about-section h2{font-size:1.5rem;font-weight:700;margin-bottom:var(--space-md)}
.about-section p{color:var(--c-text-secondary);line-height:1.8;margin-bottom:var(--space-md)}
.feature-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-md);margin:var(--space-lg) 0}
.feature-item{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:var(--space-lg);transition:all var(--transition)}
.feature-item:hover{border-color:var(--c-border-light);box-shadow:var(--shadow-md)}
.feature-item h3{font-size:1.05rem;font-weight:700;margin-bottom:var(--space-sm)}
.feature-item p{color:var(--c-text-secondary);font-size:0.9rem;line-height:1.7}
.content-max{max-width:800px;margin:0 auto}

/* ============================================================
   CONTACT PAGE — CONTACT.HTML
   ============================================================ */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2xl);max-width:900px;margin:0 auto}
.contact-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:var(--space-xl);text-align:center;transition:all var(--transition)}
.contact-card:hover{border-color:var(--c-border-light);box-shadow:var(--shadow-md)}
.contact-icon{font-size:2.5rem;margin-bottom:var(--space-md)}
.contact-card h3{font-size:1.1rem;font-weight:700;margin-bottom:var(--space-sm)}
.contact-card p{color:var(--c-text-secondary);font-size:0.9rem;line-height:1.7}
.contact-email-section{max-width:600px;margin:var(--space-2xl) auto 0;text-align:center}
.contact-email-section .email-label{color:var(--c-text-secondary);font-size:1.05rem}
.contact-email-section .email-addr{font-size:1.3rem;font-weight:600;margin-top:var(--space-sm);color:var(--c-accent-hover)}
.contact-email-section .email-note{color:var(--c-text-muted);font-size:0.85rem;margin-top:var(--space-sm)}
@media(max-width:640px){
  .contact-grid{grid-template-columns:1fr}
}

/* ============================================================
   PRIVACY / TERMS — SHARED POLICY STYLES
   ============================================================ */
.policy-content{max-width:800px;margin:0 auto}
.policy-content h2{font-size:1.3rem;font-weight:700;margin:var(--space-xl) 0 var(--space-md);color:var(--c-text)}
.policy-content h3{font-size:1.05rem;font-weight:600;margin:var(--space-lg) 0 var(--space-sm);color:var(--c-text)}
.policy-content p,.policy-content li{color:var(--c-text-secondary);line-height:1.8;margin-bottom:var(--space-md)}
.policy-content ul{padding-left:var(--space-lg)}
.policy-content ul li{margin-bottom:var(--space-sm)}
.policy-date{color:var(--c-text-muted);font-size:0.85rem;margin-bottom:var(--space-lg)}

/* ============================================================
   404 PAGE
   ============================================================ */
.error-page{text-align:center;padding:var(--space-3xl) 0}
.error-code{font-size:8rem;font-weight:900;background:linear-gradient(135deg,var(--c-accent-hover),var(--c-pink));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}
.error-page h1{font-size:1.5rem;font-weight:700;margin:var(--space-md) 0 var(--space-sm)}
.error-page p{color:var(--c-text-secondary);margin-bottom:var(--space-xl)}
.error-actions{display:flex;gap:var(--space-md);justify-content:center;flex-wrap:wrap}

/* ============================================================
   TOOL PAGES — SHARED & PER-TOOL STYLES
   ============================================================ */

/* Breadcrumb */
.tool-breadcrumb{padding:var(--space-md) 0;font-size:0.85rem;color:var(--c-text-muted)}
.tool-breadcrumb a{color:var(--c-text-secondary)}
.tool-breadcrumb strong{color:var(--c-text-secondary)}

/* JSON Syntax Highlighting */
.json-output{border:1.5px solid var(--c-border);border-radius:var(--radius-md);background:var(--c-bg-alt);overflow:hidden;min-height:200px;max-height:500px;overflow-y:auto}
.json-output pre{margin:0;padding:var(--space-md);font-family:var(--font-mono);font-size:0.85rem;line-height:1.7;white-space:pre-wrap;word-break:break-all;color:var(--c-text)}
.json-output .ln{color:var(--c-text-muted);user-select:none;display:inline-block;width:36px;text-align:right;margin-right:12px;font-size:0.75rem}
.json-str{color:var(--c-green)}.json-num{color:var(--c-orange)}.json-bool{color:var(--c-cyan)}.json-null{color:var(--c-pink)}.json-key{color:var(--c-accent-hover)}.json-err{color:var(--c-red);font-weight:600}

/* Error / Status Boxes */
.error-box{background:rgba(248,113,113,0.1);border:1px solid rgba(248,113,113,0.3);border-radius:var(--radius-md);padding:var(--space-md);color:var(--c-red);font-family:var(--font-mono);font-size:0.85rem;margin-top:var(--space-md);display:none}
.error-box.show{display:block}
.success-box{background:rgba(52,211,153,0.1);border:1px solid rgba(52,211,153,0.3);border-radius:var(--radius-md);padding:var(--space-md);color:var(--c-green);font-family:var(--font-mono);font-size:0.85rem;margin-top:var(--space-md)}

/* Tool-specific stats bar */
.tool-stats{display:flex;gap:var(--space-lg);flex-wrap:wrap;margin-top:var(--space-sm);font-size:0.82rem;color:var(--c-text-muted)}
.tool-stats strong{color:var(--c-text-secondary)}

/* Regex match highlights */
.regex-match{background:rgba(99,102,241,0.3);border-radius:2px;padding:0 2px}
.regex-group{background:rgba(34,211,238,0.3);border-radius:2px;padding:0 2px}
.regex-highlight{background:var(--c-bg-alt);border:1.5px solid var(--c-border);border-radius:var(--radius-md);padding:var(--space-md);font-family:var(--font-mono);font-size:0.85rem;line-height:1.7;min-height:60px;max-height:350px;overflow-y:auto;white-space:pre-wrap;word-break:break-all}

/* Color swatches */
.color-preview{width:100%;height:80px;border-radius:var(--radius-md);border:1.5px solid var(--c-border);margin:var(--space-md) 0;transition:all var(--transition)}
.color-values{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm);margin-top:var(--space-md)}

/* QR preview */
.qr-preview{display:flex;justify-content:center;margin:var(--space-lg) 0}
.qr-preview canvas,.qr-preview img{border:8px solid #fff;border-radius:var(--radius-md);background:#fff}

/* Diff output */
.diff-added{background:rgba(52,211,153,0.15);color:var(--c-green)}
.diff-removed{background:rgba(248,113,113,0.15);color:var(--c-red)}
.diff-line{font-family:var(--font-mono);font-size:0.85rem;padding:2px 8px;line-height:1.8}

/* Image compressor */
.compress-preview{display:flex;gap:var(--space-lg);flex-wrap:wrap;margin-top:var(--space-md)}
.compress-preview .preview-card{flex:1;min-width:200px;text-align:center}
.compress-preview img{max-height:250px;border-radius:var(--radius-md);margin:0 auto}
.compress-preview .size-info{font-size:0.85rem;color:var(--c-text-muted);margin-top:var(--space-sm)}

/* Password strength meter */
.pw-strength{height:4px;border-radius:2px;background:var(--c-border);margin-top:var(--space-sm);overflow:hidden}
.pw-strength-bar{height:100%;border-radius:2px;transition:all 0.3s ease}

/* Markdown Preview */
.md-preview{border:1.5px solid var(--c-border);border-radius:var(--radius-md);padding:var(--space-lg);background:var(--c-bg-alt);min-height:200px;line-height:1.8}
.md-preview h1,.md-preview h2,.md-preview h3{color:var(--c-text);margin:var(--space-md) 0 var(--space-sm)}
.md-preview code{background:var(--c-surface);padding:2px 6px;border-radius:4px;font-family:var(--font-mono);font-size:0.85em}
.md-preview pre{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-sm);padding:var(--space-md);overflow-x:auto}
.md-preview pre code{background:none;padding:0}
.md-preview blockquote{border-left:3px solid var(--c-accent);padding-left:var(--space-md);color:var(--c-text-muted);margin:var(--space-md) 0}
.md-preview table{width:100%;border-collapse:collapse;margin:var(--space-md) 0}
.md-preview th,.md-preview td{border:1px solid var(--c-border);padding:8px 12px;text-align:left;font-size:0.9rem}
.md-preview th{background:var(--c-surface);font-weight:600}

/* ============================================================
   BLOG PAGES
   ============================================================ */
.blog-hero{padding:var(--space-3xl) 0 var(--space-2xl);text-align:center}
.blog-hero h1{font-size:2.6rem;font-weight:800;letter-spacing:-1px}
.blog-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-lg);max-width:var(--max-width);margin:0 auto;padding:0 var(--space-lg)}
.blog-card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:var(--space-xl);transition:all var(--transition);text-decoration:none;display:block}
.blog-card:hover{border-color:var(--c-border-light);box-shadow:var(--shadow-md);transform:translateY(-2px)}
.blog-card time{font-size:0.8rem;color:var(--c-text-muted);display:block;margin-bottom:var(--space-sm)}
.blog-card h2{font-size:1.2rem;font-weight:700;color:var(--c-text);margin-bottom:var(--space-sm);line-height:1.4}
.blog-card p{font-size:0.9rem;color:var(--c-text-secondary);line-height:1.6}
.blog-card .read-more{display:inline-flex;align-items:center;gap:4px;font-size:0.85rem;font-weight:600;color:var(--c-accent-hover);margin-top:var(--space-md)}
.blog-card:hover .read-more{gap:8px;transition:gap var(--transition-fast)}
.blog-article{max-width:800px;margin:0 auto}
.blog-article time{display:block;color:var(--c-text-muted);font-size:0.85rem;margin:var(--space-md) 0 var(--space-xl)}
.blog-article h2{font-size:1.5rem;font-weight:700;margin:var(--space-2xl) 0 var(--space-md);color:var(--c-text)}
.blog-article h3{font-size:1.15rem;font-weight:600;margin:var(--space-xl) 0 var(--space-sm);color:var(--c-text)}
.blog-article p{color:var(--c-text-secondary);line-height:1.85;margin-bottom:var(--space-md);font-size:1rem}
.blog-article ul,.blog-article ol{padding-left:var(--space-lg);margin-bottom:var(--space-md)}
.blog-article li{color:var(--c-text-secondary);line-height:1.8;margin-bottom:4px}
.blog-article pre{background:var(--c-bg-alt);border:1px solid var(--c-border);border-radius:var(--radius-md);padding:var(--space-md);overflow-x:auto;margin-bottom:var(--space-md);font-family:var(--font-mono);font-size:0.85rem;line-height:1.7}
.blog-article code{font-family:var(--font-mono);font-size:0.85em;background:var(--c-surface);padding:2px 6px;border-radius:4px}
.blog-article pre code{background:none;padding:0}
.blog-article a{text-decoration:underline;text-underline-offset:2px}

@media(max-width:768px){
  .blog-article{font-size:0.95rem}
  .blog-article h2{font-size:1.3rem}
  .blog-list{grid-template-columns:1fr}
}
