:root{
  --bg: #fafafa;
  --panel: #ffffff;
  --muted: #6b7280; /* cool gray */
  --accent: #0ea5a4; /* teal */
  --accent-2: #60a5fa; /* sky */
  --text: #0f172a; /* deep text */
  --glass: rgba(15,23,42,0.04);
}

/* Dark mode theme */
html.theme-dark {
  --bg: #0f172a;
  --panel: #1e293b;
  --muted: #94a3b8;
  --accent: #14b8a6;
  --accent-2: #38bdf8;
  --text: #f1f5f9;
  --glass: rgba(241,245,249,0.04);
}

html.theme-dark body {
  background: linear-gradient(180deg, #0f172a 0%, #0f172a 40%, #1a1f3a 100%);
}

html.theme-dark .card {
  background: #1e293b;
  border-color: rgba(241,245,249,0.06);
}

html.theme-dark .site-header {
  border-bottom-color: rgba(241,245,249,0.06);
}

html.theme-dark .brand {
  color: #f1f5f9;
}

html.theme-dark .secondary {
  border-color: rgba(241,245,249,0.06);
  color: #f1f5f9;
}

html.theme-dark .skip-link {
  background: #14b8a6;
}

html.theme-dark a {
  color: #38bdf8;
}

html.theme-dark a:visited {
  color: #22d3ee;
}

html.theme-dark select,
html.theme-dark input {
  background: #1e293b;
  color: #f1f5f9;
  border-color: rgba(241,245,249,0.1);
}

html.theme-dark select:focus,
html.theme-dark input:focus {
  outline-color: #14b8a6;
}

/* Reset-ish */
*{box-sizing:border-box}
html,body,#root{height:100%}
.site-main{padding:56px 0}
body{margin:0;background:linear-gradient(180deg,#f8fafc 0%, #f8fafc 40%, #eef2ff 100%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,'Helvetica Neue',Arial}
.container{max-width:1100px;margin:0 auto;padding:0 20px}

/* Header */
.site-header{background:transparent;border-bottom:1px solid rgba(15,23,42,0.04)}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:12px 0}
.brand{font-weight:700;color:var(--text);text-decoration:none;font-size:1.05rem}
.main-nav{display:flex;align-items:center;gap:10px}
.nav-links{display:flex;gap:10px;align-items:center}
.main-nav a{color:var(--muted);margin-left:8px;text-decoration:none;padding:8px 12px;border-radius:8px;font-weight:600}
.main-nav a:hover{color:var(--text);background:rgba(15,23,42,0.03)}
.main-nav a.muted{opacity:0.8}

/* Main */
.site-main .hero{display:flex;gap:28px;align-items:center}
.hero .left{flex:1}
.hero h1{font-size:2.2rem;margin:0 0 8px;line-height:1.08}
.hero p{color:var(--muted);line-height:1.6;font-size:1rem}
.hero .cta{margin-top:18px}
.button{display:inline-block;background:var(--accent);color:#fff;padding:10px 16px;border-radius:10px;font-weight:700;text-decoration:none;border:0;transition:all 0.2s ease}
.button:hover{transform:scale(1.05);box-shadow:0 4px 12px rgba(14,165,164,0.3)}

html.theme-dark .button{
  background: #2ff5c8;
  color: #0f172a;
  box-shadow: 0 4px 16px rgba(10,233,176,0.6);
  font-weight:800;
}

html.theme-dark .button:hover{
  background: #2ff5c8;
  color: #0f172a;
  box-shadow: 0 6px 20px rgba(10,233,176,0.6);
  transform: scale(1.08);
}

.secondary{background:transparent;border:1px solid rgba(15,23,42,0.06);color:var(--text);padding:8px 12px;border-radius:10px;margin-left:8px}

.secondary.active{background:rgba(14,165,164,0.08);border-color:rgba(14,165,164,0.12)}

.card{background:var(--panel);padding:18px;border-radius:14px;border:1px solid rgba(15,23,42,0.04);transition:transform .12s ease, box-shadow .12s ease}
.card:hover{transform:translateY(-2px);box-shadow:0 6px 10px rgba(2,6,23,0.06)}
.grid{display:grid;grid-template-columns:repeat(1,1fr);gap:16px}
@media (min-width:720px){
  .grid{grid-template-columns:repeat(2,1fr);}
}
@media (min-width:1100px){
  .grid{grid-template-columns:repeat(3,1fr);}
}

/* Footer */
.site-footer{border-top:1px solid rgba(255,255,255,0.03);padding:22px 0;margin-top:40px}
.footer-inner{display:flex;justify-content:space-between;align-items:center}
.footer-right{display:flex;gap:12px}

/* Accessibility */
.user-is-tabbing a:focus{outline:3px solid rgba(125,211,252,0.25);outline-offset:2px}

@media (max-width:720px){
  .hero{flex-direction:column;align-items:flex-start}
  .brand{font-size:1rem}
  .main-nav .nav-links{display:none}
  .main-nav{gap:6px}
  .mobile-hamburger{display:block}
  .site-footer{padding:16px 0}
  .footer-inner{flex-direction:column;gap:12px}
}

/* Mobile nav open state */
.nav-open .main-nav .nav-links{display:flex;flex-direction:column;gap:8px;background:transparent;padding:8px;border-radius:8px;margin-top:6px}
.mobile-hamburger{display:none;background:transparent;border:0;padding:8px;border-radius:6px}
.mobile-hamburger svg{width:20px;height:20px}
.mobile-hamburger .close{display:none}
.mobile-hamburger[aria-expanded="true"] .hamburger{display:none}
.mobile-hamburger[aria-expanded="true"] .close{display:block}

/* Dark mode toggle button */
.theme-toggle {
  background: transparent;
  border: 1px solid rgba(15,23,42,0.06);
  color: var(--text);
  padding: 6px 12px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 1.1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  transition: all 0.2s ease;
}

.theme-toggle:hover {
  background: rgba(15,23,42,0.03);
}

html.theme-dark .theme-toggle {
  border-color: rgba(241,245,249,0.06);
}

html.theme-dark .theme-toggle:hover {
  background: rgba(241,245,249,0.03);
}

/* Minimal tool card styling for a clean, zen layout */
.tool-card{
  padding: 12px 20px 12px 26px;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,0.03);
  display: block;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}
.tool-card{position:relative;overflow:hidden}
.tool-accent{position:absolute;left:0;top:0;width:6px;height:100%;background:linear-gradient(180deg,var(--accent),var(--accent-2));border-top-left-radius:8px;border-bottom-left-radius:8px}
.tool-card h5{ margin: 0 0 8px 0; font-size: 1rem; color:var(--text) }
.tool-card .why, .tool-card .example{ font-size: 0.9rem; color: var(--muted); margin:4px 0}
.tool-card a.secondary{ display:inline-block; margin-top:8px; }

/* Accessibility helpers */
.sr-only{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);white-space:nowrap;border:0;padding:0;margin:-1px}
.sr-only-focusable:active,.sr-only-focusable:focus{position:static!important;height:auto;width:auto;overflow:visible;clip:auto;white-space:normal}
.skip-link{position:absolute;left:10px;top:10px;z-index:9999;background:var(--accent);color:#fff;padding:8px 12px;border-radius:8px;text-decoration:none;transform:translateY(-120%);transition:transform .12s ease}
.skip-link:focus{transform:translateY(0);}
.user-is-tabbing a:focus, .user-is-tabbing button:focus, .user-is-tabbing input:focus, .user-is-tabbing select:focus{outline:3px solid rgba(14,165,164,0.2);outline-offset:2px}
