/* Houdinisoft Ventura‑inspired theme — drop-in replacement for assets/styles.css */
/* Palette: warm oranges/corals + teal/indigo, soft glass cards (macOS look) */
*{box-sizing:border-box} html,body{height:100%}
:root{
  --bg:#0b1020;
  --card:rgba(255,255,255,.10);
  --glass:rgba(255,255,255,.14);
  --border:rgba(255,255,255,.22);
  --text:#e6e8ee;
  --muted:#a9b1c6;
  --ventura1:#FF7A18;   /* warm orange */
  --ventura2:#FF3D81;   /* coral/magenta */
  --ventura3:#00C2FF;   /* teal/sky */
  --ventura4:#6D5DF6;   /* indigo/violet */
  --shadow:0 12px 36px rgba(0,0,0,.35);
}

/* Background: layered radial + conic gradients inspired by macOS Ventura */
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--text);
  background:
    radial-gradient(1100px 700px at 85% -10%, color-mix(in oklab, var(--ventura3) 35%, transparent), transparent 60%),
    radial-gradient(900px 600px at 10% 0%, color-mix(in oklab, var(--ventura2) 40%, transparent), transparent 60%),
    radial-gradient(800px 500px at 90% 100%, color-mix(in oklab, var(--ventura4) 35%, transparent), transparent 60%),
    conic-gradient(from 200deg at 30% 30%, color-mix(in oklab, var(--ventura1) 55%, transparent) 0 25%,
                                        color-mix(in oklab, var(--ventura2) 50%, transparent) 25% 50%,
                                        color-mix(in oklab, var(--ventura3) 45%, transparent) 50% 75%,
                                        transparent 75% 100%),
    var(--bg);
  background-attachment: fixed;
}

/* Container & nav */
a{color:inherit;text-decoration:none}
.container{max-width:1140px;margin:0 auto;padding:20px}
.header{
  position:sticky;top:0;z-index:10;
  backdrop-filter:saturate(180%) blur(18px);
  background-color:rgba(12,16,26,.62);
  border-bottom:1px solid var(--border);
}
.nav{display:flex;align-items:center;justify-content:space-between}
.nav .links a{margin-left:16px;padding:8px 12px;border-radius:12px;transition:transform .15s ease, background .2s ease}
.nav .links a:hover{background:var(--glass);transform:translateY(-1px)}
.logo{display:flex;align-items:center;gap:10px}

/* Hero */
.hero{padding:88px 0 50px}
.tag{display:inline-block;padding:6px 10px;border:1px solid var(--border);border-radius:999px;color:var(--muted);background:var(--card)}
.h1{
  font-size: clamp(36px, 6vw, 56px);
  line-height:1.06;margin:16px 0 10px;font-weight:900;
  background:linear-gradient(100deg, var(--ventura1), var(--ventura2) 40%, var(--ventura3) 75%, var(--ventura4));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  letter-spacing:-.02em;
}
.lead{font-size:18px;color:var(--muted);max-width:760px}
.cta{margin-top:22px;display:flex;gap:12px;flex-wrap:wrap}

/* Buttons */
.btn{
  padding:12px 18px;border-radius:14px;border:1px solid var(--border);
  background:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,.08));
  box-shadow:var(--shadow);transition:transform .15s ease, box-shadow .2s ease, opacity .2s ease
}
.btn.primary{
  border:none;
  background:linear-gradient(90deg, var(--ventura1), var(--ventura2) 40%, var(--ventura3));
  color:white;
}
.btn:hover{transform:translateY(-1px);box-shadow:0 16px 40px rgba(0,0,0,.45)}

/* Cards & grid */
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));}
.card{
  background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.06));
  border:1px solid var(--border);border-radius:20px;padding:18px;box-shadow:var(--shadow);
}
.card h3{margin:0 0 8px 0}
.kbd{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,monospace;background:var(--glass);padding:3px 6px;border-radius:8px;border:1px solid var(--border)}

/* Tables & admin */
.table{width:100%;border-collapse:collapse}
.table th,.table td{border-bottom:1px solid var(--border);padding:8px;text-align:left}
.adminbar{margin:8px 0;background:rgba(8,12,24,.85);border:1px solid var(--border);border-radius:12px;padding:8px}

/* Forms */
.form label{display:block;margin:12px 0}
.input, textarea{
  width:100%;padding:12px;border-radius:12px;border:1px solid var(--border);
  background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.06));
  color:var(--text);
}
.input:focus, textarea:focus{outline:2px solid color-mix(in oklab, var(--ventura3) 50%, transparent)}
.alert{padding:12px;border-radius:12px;margin:10px 0}
.alert.success{background:#10b98122;border:1px solid #10b981}
.alert.error{background:#ef444422;border:1px solid #ef4444}

/* Lists & misc */
.posts{list-style:none;padding:0}
.posts li{padding:10px 0;border-bottom:1px dashed var(--border)}
.badge{display:inline-block;padding:4px 8px;border-radius:999px;border:1px solid var(--border); background:var(--glass); color:var(--muted);font-size:12px}

.section-title{font-size:24px;margin:20px 0 10px;font-weight:800}

footer{margin-top:64px;padding:28px 0;border-top:1px solid var(--border);color:var(--muted)}
@media (max-width:640px){ .nav .links a{margin-left:10px} }


/* Contact card */
.contact-card{
  display:flex;
  align-items:center;
  gap:20px;
  padding:28px;
  border-radius:18px;
  background: linear-gradient(135deg, rgba(255,255,255,0.04), rgba(255,255,255,0.015));
  border:1px solid rgba(255,255,255,0.12);
  box-shadow: 0 10px 30px rgba(0,0,0,0.25);
  margin-top:18px;
}
.contact-icon{
  display:flex; align-items:center; justify-content:center;
  width:64px; height:64px; border-radius:16px;
  background: rgba(255,255,255,0.06);
}
.contact-content .lead{
  margin:0 0 6px 0; font-size:1.1rem; color:var(--text);
}
.email-chip{
  display:inline-block;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.18);
  text-decoration:none;
  font-weight:600;
  backdrop-filter: blur(6px);
  transition: transform .15s ease, box-shadow .15s ease;
}
.email-chip:hover{ transform: translateY(-1px); box-shadow: 0 8px 24px rgba(0,0,0,0.25); }
.hint{ opacity:.7; margin:.5rem 0 0 0; font-size:.9rem; }

/* Header brand text */
.logo{
  display:flex; align-items:center; gap:10px;
}
.logo .brand-text{
  text-decoration:none;
  font-weight:700;
  letter-spacing:.2px;
}
.logo .brand-link{ display:inline-flex; align-items:center; }
@media (max-width: 520px){
  .logo .brand-text{ display:none; }
}


/* Contact card — refined */
.contact-card{
  position:relative;
  overflow:hidden;
}
.contact-card::after{
  content:"";
  position:absolute; inset:-1px;
  pointer-events:none;
  background: radial-gradient(120px 120px at 20% 10%, rgba(255,255,255,0.12), transparent 60%);
  opacity:.7;
}
.email-chip:focus-visible{
  outline: 2px solid rgba(255,255,255,0.6);
  outline-offset: 2px;
  box-shadow: 0 0 0 6px rgba(255,255,255,0.08);
}
.contact-icon svg{ display:block; }


/* Override: remove border/box look from "App Store Featured" label in hero */
.h1 .kbd{
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  font-family: inherit !important;
  font-weight: 700;
}


/* Mobile readability tweaks */
input, select, textarea, button { font-size:16px; } /* iOS: prevent zoom on focus */
@supports(padding:max(0px)){
  .header{ padding-top:max(0px, env(safe-area-inset-top)); }
  body{ padding-bottom:max(0px, env(safe-area-inset-bottom)); }
}
/* Responsive headings */
.hero .h1{ font-size: clamp(28px, 6vw, 48px); line-height: 1.15; }
/* Grid fallback for very small widths */
@media (max-width: 640px){
  .grid{ display:grid; grid-template-columns:1fr; gap:16px; }
}
