/* LaunchPilot Public */
.lp-cd { --lp-cd-bg:#111827; --lp-cd-fg:#fff; --lp-cd-accent:#4f46e5; box-sizing:border-box; font-family:inherit; }
.lp-cd *, .lp-cd *::before { box-sizing:border-box; }

.lp-cd-banner { position:fixed; left:0; right:0; z-index:99999; background:var(--lp-cd-bg); color:var(--lp-cd-fg); padding:.7rem 1rem; box-shadow:0 2px 16px rgba(0,0,0,.25); }
.lp-cd-top { top:0; }
.lp-cd-bottom { bottom:0; }
.lp-cd-inline { display:block; background:var(--lp-cd-bg); color:var(--lp-cd-fg); border-radius:14px; padding:1.2rem 1.4rem; margin:1rem 0; }

.lp-cd-inner { display:flex; align-items:center; justify-content:center; gap:1rem; flex-wrap:wrap; max-width:1180px; margin:0 auto; }
.lp-cd-head { font-weight:700; font-size:1.05rem; }
.lp-cd-sub { opacity:.85; font-size:.92rem; }
.lp-cd-price { font-weight:700; font-size:1.1rem; color:var(--lp-cd-accent); background:#fff; padding:.2em .6em; border-radius:8px; }

.lp-cd-clock { display:flex; gap:.5rem; }
.lp-u { display:flex; flex-direction:column; align-items:center; min-width:46px; }
.lp-u b { font-size:1.4rem; font-weight:700; line-height:1; font-variant-numeric:tabular-nums; }
.lp-u i { font-style:normal; font-size:.65rem; opacity:.75; text-transform:uppercase; letter-spacing:.05em; margin-top:.2rem; }

/* Digital design */
.lp-cd-digital .lp-u b { background:rgba(0,0,0,.35); border:1px solid rgba(255,255,255,.12); border-radius:8px; padding:.3em .35em; min-width:44px; text-align:center; font-family:"Courier New",monospace; }

.lp-cd-cta { display:inline-block; background:var(--lp-cd-accent); color:#fff; text-decoration:none; font-weight:700; padding:.6em 1.3em; border-radius:10px; transition:transform .12s, filter .12s; }
.lp-cd-cta:hover { filter:brightness(1.08); transform:translateY(-1px); color:#fff; }
.lp-pulse { animation:lp-pulse 1.6s infinite; }
@keyframes lp-pulse { 0%{box-shadow:0 0 0 0 rgba(79,70,229,.55);} 70%{box-shadow:0 0 0 12px rgba(79,70,229,0);} 100%{box-shadow:0 0 0 0 rgba(79,70,229,0);} }
.lp-cd-expired { opacity:.55; }

@media(max-width:640px){
  .lp-cd-inner { gap:.6rem; }
  .lp-cd-head { font-size:.95rem; width:100%; text-align:center; }
  .lp-u { min-width:40px; }
  .lp-u b { font-size:1.15rem; }
}

/* Frontend tools */
.lp-tool { background:#fff; border:1px solid #e5e7eb; border-radius:16px; padding:1.5rem; max-width:760px; margin:1.5rem auto; box-shadow:0 2px 12px rgba(15,23,42,.05); }
.lp-tool-title { margin:0 0 .3rem; font-size:1.3rem; }
.lp-tool-lead { color:#64748b; margin:0 0 1rem; }
.lp-tool-row { display:flex; gap:.6rem; flex-wrap:wrap; }
.lp-tool-input { flex:1 1 200px; padding:.7em .9em; border:1px solid #e5e7eb; border-radius:10px; font-size:1rem; }
.lp-tool-btn { background:#4f46e5; color:#fff; border:none; border-radius:10px; padding:.7em 1.4em; font-weight:700; cursor:pointer; font-size:1rem; }
.lp-tool-btn:hover { filter:brightness(1.08); }
.lp-tool-btn:disabled { opacity:.6; cursor:default; }
.lp-tool-out { margin-top:1.2rem; }
.lp-tool-msg { background:#fef2f2; color:#991b1b; border-radius:10px; padding:.7em 1em; }
.lp-tool-loading { color:#64748b; font-style:italic; }

.lp-out-h { margin:.3rem 0 .8rem; }
.lp-idea-list, .lp-plan-list { list-style:none; padding:0; margin:0; display:grid; gap:.6rem; }
.lp-idea { background:#f8fafc; border:1px solid #e5e7eb; border-radius:11px; padding:.8rem 1rem; }
.lp-idea-fmt { display:inline-block; font-size:.7rem; font-weight:700; text-transform:uppercase; color:#4f46e5; background:rgba(79,70,229,.08); padding:.2em .6em; border-radius:6px; margin-bottom:.4rem; }
.lp-idea strong { display:block; }
.lp-idea em { color:#64748b; font-size:.88rem; }
.lp-plan-list { counter-reset:none; }
.lp-plan-day { display:flex; gap:.7rem; background:#f8fafc; border:1px solid #e5e7eb; border-radius:11px; padding:.7rem 1rem; align-items:flex-start; }
.lp-day-no { flex:0 0 auto; font-weight:700; color:#fff; background:#4f46e5; border-radius:8px; padding:.25em .6em; font-size:.8rem; }
.lp-plan-day em { display:block; color:#64748b; font-size:.85rem; margin-top:.2rem; }

.lp-ai-badge { display:inline-flex; align-items:center; gap:.35em; font-size:.72rem; font-weight:600; line-height:1; padding:.28em .6em; border-radius:999px; background:#eef2ff; color:#4338ca; border:1px solid #c7d2fe; vertical-align:middle; margin-bottom:.6rem; }
