/* shared/demo-style.css — common dark theme for all idea-demos landing pages.
   Override --accent / --accent-hover per page for product-specific color. */
:root {
  --bg:#0d1117; --panel:#161b22; --border:#30363d;
  --text:#e6edf3; --dim:#8b949e;
  --red:#f85149; --green:#3fb950; --blue:#58a6ff;
  --accent:#238636; --accent-hover:#2ea043;
}
* { margin:0; padding:0; box-sizing:border-box; }
body { background:var(--bg); color:var(--text);
       font-family:-apple-system,'Segoe UI',Roboto,sans-serif; line-height:1.6; }
.wrap { max-width:880px; margin:0 auto; padding:0 24px; }

header { padding:72px 0 32px; }
h1 { font-size:clamp(28px,4.5vw,44px); line-height:1.2; letter-spacing:-0.5px; }
.hero-sub { color:var(--dim); font-size:19px; margin-top:16px; max-width:620px; }
.pricing-line { margin-top:24px; font-size:17px; }
.pricing-line strong { color:var(--green); }
.fine { color:var(--dim); font-size:14px; margin-top:6px; }
.btn { display:inline-block; background:var(--accent); color:#fff; border:none;
       font-size:17px; font-weight:600; padding:12px 28px; border-radius:8px;
       cursor:pointer; text-decoration:none; transition:background .15s; }
.btn:hover { background:var(--accent-hover); }
.ghost { background:transparent; border:1px solid var(--border); color:var(--text);
         margin-left:12px; font-weight:400; }
.ghost:hover { background:var(--panel); }

.term { background:var(--panel); border:1px solid var(--border); border-radius:10px;
        overflow:hidden; margin:40px 0 8px; }
.term-bar { display:flex; align-items:center; gap:8px; padding:10px 14px;
            border-bottom:1px solid var(--border); background:#010409; }
.dot { width:12px; height:12px; border-radius:50%; }
.term-title { margin-left:8px; color:var(--dim); font-size:13px; font-family:monospace; }
.term-body { font-family:'Cascadia Code',Consolas,monospace; font-size:14px;
             padding:20px 22px; min-height:220px; max-height:420px; overflow:auto; }
.t-ok   { color:var(--green); }
.t-info { color:var(--blue); }
.t-err  { color:var(--red); }
.t-dim  { color:var(--dim); }
.alert-box { border:1px solid var(--red); border-radius:6px; padding:14px 16px;
             margin-top:10px; animation:flash .5s ease-out 3; }
@keyframes flash { 0%,100% { background:transparent; } 50% { background:rgba(248,81,73,.08); } }
.strike-btn { margin-top:20px; background:var(--red); border:none; color:#fff;
              font-size:15px; font-weight:600; padding:10px 22px; border-radius:8px;
              cursor:pointer; font-family:inherit; }
.strike-btn:disabled { opacity:.45; cursor:default; }
.demo-hint { color:var(--dim); font-size:14px; margin-bottom:28px; }

section { padding:48px 0; border-top:1px solid var(--border); }
h2 { font-size:26px; margin-bottom:20px; letter-spacing:-0.3px; }
.steps { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:20px; }
.step { background:var(--panel); border:1px solid var(--border); border-radius:10px; padding:20px; }
.step b { color:var(--blue); }
.fear { color:var(--dim); max-width:680px; font-size:17px; }
.trust-list { list-style:none; }
.trust-list li { padding:.4rem 0; }
.faq dt { font-weight:600; margin-top:18px; }
.faq dd { color:var(--dim); margin-left:0; }
.final-cta { text-align:center; padding:64px 0; }
