/*
 * © 2026 SmartnessHome. All rights reserved.
 * The eight apps in development: one visual theme per app (product page, legal header, home card).
 * Generated pages live under /<app>/; the copy is in tools/apps-v2/content.py.
 */

.t-thinkery   { --bg:#140F2E; --surface:#221A4A; --ink:#FFFFFF; --soft:#C9C1F2; --accent:#FF4FD8; --accent2:#3DF5FF; --accent3:#FFD84F; --line:#3A2F75; --head:ui-rounded,"SF Pro Rounded",-apple-system,system-ui,sans-serif; --head-weight:900; --radius:26px; }
.t-splitvote  { --bg:#F6F1E7; --surface:#FFFFFF; --ink:#161616; --soft:#4D4740; --accent:#D7392F; --accent2:#2E59E6; --accent3:#161616; --line:#161616; --head:ui-serif,"New York",Georgia,"Times New Roman",serif; --head-weight:700; --radius:0px; }
.t-stonestack { --bg:#EEE7DB; --surface:#FBF8F3; --ink:#3E3832; --soft:#6F665E; --accent:#C0704C; --accent2:#6F665E; --accent3:#A89C8E; --line:#DCD2C2; --head:"Avenir Next",Avenir,-apple-system,system-ui,sans-serif; --head-weight:600; --radius:28px; }
.t-repstride  { --bg:#0B0C0B; --surface:#161816; --ink:#FFFFFF; --soft:#A7ABA5; --accent:#C8FF3D; --accent2:#FFFFFF; --accent3:#7C807A; --line:#2A2D29; --head:"Helvetica Neue Condensed Bold","Arial Narrow","Roboto Condensed",-apple-system,sans-serif; --head-weight:800; --radius:18px; }
.t-moneyvane  { --bg:#FFFFFF; --surface:#F3F5F4; --ink:#22262B; --soft:#5B636C; --accent:#0E9F6E; --accent2:#22262B; --accent3:#4F7CF0; --line:#E3E7EA; --head:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif; --head-weight:700; --radius:20px; }
.t-lockpocket { --bg:#1C1F23; --surface:#262A2F; --ink:#F1EDE4; --soft:#A9AEB4; --accent:#C9A35B; --accent2:#EBCB8B; --accent3:#8E949B; --line:#3A3F46; --head:-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif; --head-weight:700; --radius:22px; }
.t-kinboard   { --bg:#FFF4E6; --surface:#FFFFFF; --ink:#3A2E26; --soft:#6E5B4D; --accent:#F26B4F; --accent2:#2BA59B; --accent3:#F7C948; --line:#F2DCC5; --head:ui-rounded,"SF Pro Rounded",-apple-system,system-ui,sans-serif; --head-weight:800; --radius:16px; }
.t-pixday     { --bg:#FFFFFF; --surface:#F4F1EC; --ink:#111111; --soft:#5E5E5E; --accent:#FF5A36; --accent2:#111111; --accent3:#9A9A9A; --line:#E6E6E6; --head:"Helvetica Neue",Helvetica,Arial,sans-serif; --head-weight:800; --radius:14px; }

/* ---------- product page ---------- */
.v2-page { background: var(--bg); color: var(--ink); }
.v2-page section { padding: 0; }
.v2-wrap { max-width: 1120px; margin: 0 auto; padding: 32px 24px 80px; }
.v2-back { display: inline-block; color: var(--soft); font-weight: 600; margin-bottom: 28px; }
.v2-back:hover { color: var(--ink); }
.v2-hero { display: grid; grid-template-columns: 1.25fr 0.75fr; gap: 56px; align-items: center; }
.v2-eyebrow { margin: 0 0 18px; font-size: .8rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--accent); }
.v2-title { display: flex; align-items: center; gap: 18px; }
.v2-title img { width: 76px; height: 76px; border-radius: 22%; box-shadow: 0 10px 30px rgba(0,0,0,.18); }
.v2-page h1 { font-family: var(--head); font-weight: var(--head-weight); font-size: clamp(2.6rem, 6vw, 4.4rem); line-height: 1; letter-spacing: -.035em; margin: 0; }
.v2-tagline { font-family: var(--head); font-weight: var(--head-weight); font-size: clamp(1.3rem, 2.6vw, 1.9rem); line-height: 1.25; margin: 22px 0 16px; }
.v2-summary { font-size: 1.08rem; line-height: 1.75; color: var(--soft); max-width: 60ch; margin: 0; }
.v2-status { display: flex; align-items: center; gap: 10px; margin: 24px 0 0; font-size: .92rem; font-weight: 600; color: var(--soft); }
.v2-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 5px color-mix(in srgb, var(--accent) 22%, transparent); flex: none; }
.v2-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.v2-btn { display: inline-block; padding: 13px 22px; border-radius: 999px; font-weight: 700; background: var(--accent); color: var(--bg); }
.v2-btn:hover { text-decoration: none; filter: brightness(1.06); }
.v2-btn.ghost { background: transparent; color: var(--ink); border: 1.5px solid color-mix(in srgb, var(--ink) 30%, transparent); }
.v2-hero-art img { width: 100%; max-width: 330px; height: auto; margin: 0 auto; filter: drop-shadow(0 30px 50px rgba(0,0,0,.28)); }

.v2-section { margin-top: 84px; }
.v2-section h2 { font-family: var(--head); font-weight: var(--head-weight); font-size: clamp(1.6rem, 3.4vw, 2.3rem); letter-spacing: -.02em; margin: 0 0 28px; }
.v2-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; counter-reset: step; }
.v2-steps li { background: var(--surface); border-radius: var(--radius); padding: 26px; border: 1px solid var(--line); }
.v2-steps li::before { counter-increment: step; content: counter(step); display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--accent); color: var(--bg); font-weight: 800; margin-bottom: 18px; }
.v2-steps h3, .v2-features h3 { font-family: var(--head); font-weight: var(--head-weight); font-size: 1.2rem; margin: 0 0 8px; letter-spacing: -.01em; }
.v2-steps p, .v2-features p { margin: 0; color: var(--soft); line-height: 1.6; }
.v2-features { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.v2-features article { background: var(--surface); border-radius: var(--radius); padding: 24px; border: 1px solid var(--line); }
.v2-features article::before { content: ""; display: block; width: 34px; height: 6px; border-radius: 3px; background: var(--accent); margin-bottom: 18px; }
.v2-features article:nth-child(3n+2)::before { background: var(--accent2); }
.v2-features article:nth-child(3n)::before { background: var(--accent3); }
.v2-info { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.v2-info ul { margin: 0; padding-left: 20px; color: var(--soft); line-height: 1.7; }
.v2-info li + li { margin-top: 8px; }
.v2-info a, .v2-legal a { color: var(--ink); text-decoration: underline; text-underline-offset: 4px; }
.v2-legal { display: flex; flex-wrap: wrap; gap: 22px; margin-top: 64px; padding-top: 26px; border-top: 1px solid var(--line); }

/* Theme touches */
.t-thinkery .v2-steps li, .t-thinkery .v2-features article { box-shadow: 0 0 0 1px #ffffff10, 0 18px 40px #00000040; }
.t-thinkery .v2-tagline { background: linear-gradient(90deg, var(--accent), var(--accent3)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.t-splitvote .v2-page h1, .t-splitvote h1 { letter-spacing: -.02em; }
.t-splitvote .v2-steps li, .t-splitvote .v2-features article { border: 2px solid var(--line); }
.t-splitvote .v2-steps li::before { border-radius: 0; background: var(--ink); color: #fff; }
.t-splitvote .v2-hero { border-top: 3px solid var(--ink); border-bottom: 1px solid var(--ink); padding: 34px 0; }
.t-splitvote .v2-btn { border-radius: 0; background: var(--ink); color: #fff; }
.t-splitvote .v2-btn.ghost { background: transparent; color: var(--ink); border: 2px solid var(--ink); }
.t-stonestack .v2-steps li::before { border-radius: 46% 54% 50% 50% / 58% 52% 48% 42%; }
.t-repstride .v2-page h1, .t-repstride .v2-tagline, .t-repstride .v2-section h2, .t-repstride h3 { text-transform: uppercase; letter-spacing: .02em; }
.t-repstride .v2-btn { color: #0B0C0B; border-radius: 14px; }
.t-repstride .v2-btn.ghost { color: #fff; border-color: #ffffff55; }
.t-moneyvane .v2-steps li::before { font-family: ui-monospace,"SF Mono",Menlo,monospace; border-radius: 10px; }
.t-moneyvane .v2-summary, .t-moneyvane .v2-features p { font-feature-settings: "tnum"; }
.t-lockpocket .v2-steps li, .t-lockpocket .v2-features article { border-color: color-mix(in srgb, var(--accent) 30%, transparent); }
.t-lockpocket .v2-btn { color: #1C1F23; }
.t-kinboard .v2-features article:nth-child(odd) { transform: rotate(-.6deg); }
.t-kinboard .v2-features article:nth-child(even) { transform: rotate(.6deg); }
.t-kinboard .v2-features article { box-shadow: 0 10px 24px #3a2e2612; }
.t-pixday .v2-steps li, .t-pixday .v2-features article { border: 0; background: var(--surface); }
.t-pixday .v2-steps li::before { border-radius: 6px; }

/* ---------- legal pages: app identity strip ---------- */
.v2-legal-head { background: var(--bg); color: var(--ink); }
.v2-legal-head .wrap { display: flex; align-items: center; gap: 14px; padding-top: 18px; padding-bottom: 18px; }
.v2-legal-head img { width: 40px; height: 40px; border-radius: 22%; }
.v2-legal-head a { color: var(--ink); font-family: var(--head); font-weight: var(--head-weight); font-size: 1.15rem; }
.v2-legal-head span { color: var(--soft); font-size: .9rem; }
.v2-legal-body .legal section { padding: 0; margin: 30px 0 0; }
.v2-legal-body .legal .v2-legal-nav { margin-top: 40px; }
.legal .v2-faq dt { font-weight: 700; margin-top: 18px; }
.legal .v2-faq dd { margin: 6px 0 0; }

/* ---------- home: coming next ---------- */
section.v2-next { padding-top: 64px; padding-bottom: 80px; }
.v2-next .v2-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.v2-card { display: flex; flex-direction: column; gap: 10px; padding: 22px; border-radius: 22px; background: var(--bg); color: var(--ink); border: 1px solid var(--line); transition: transform .18s ease, box-shadow .18s ease; }
.v2-card:hover { text-decoration: none; transform: translateY(-3px); box-shadow: 0 16px 36px rgba(0,0,0,.14); }
.v2-card img { width: 60px; height: 60px; border-radius: 22%; }
.v2-card-cat { font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--accent); }
.v2-card h3 { margin: 0; font-family: var(--head); font-weight: var(--head-weight); font-size: 1.45rem; letter-spacing: -.02em; }
.v2-card-tag { margin: 0; font-weight: 600; line-height: 1.4; }
.v2-card-sum { margin: 0; color: var(--soft); font-size: .93rem; line-height: 1.55; flex: 1; }
.v2-card-cta { font-weight: 700; color: var(--ink); font-size: .93rem; }
.t-splitvote.v2-card { border: 2px solid var(--ink); border-radius: 0; }
.t-repstride.v2-card h3 { text-transform: uppercase; }

@media (max-width: 980px) {
  .v2-next .v2-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v2-features { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 720px) {
  .v2-wrap { padding: 24px 16px 56px; }
  .v2-hero { grid-template-columns: 1fr; gap: 36px; }
  .v2-hero-art img { max-width: 250px; }
  .v2-steps, .v2-features, .v2-info { grid-template-columns: 1fr; }
  .v2-section { margin-top: 56px; }
  .v2-next .v2-grid { grid-template-columns: 1fr; }
  .v2-title img { width: 60px; height: 60px; }
}
@media (prefers-reduced-motion: reduce) { .v2-card { transition: none; } .v2-card:hover { transform: none; } }
