/* === lysy.life OPC Shared Styles v1.0 === */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#0f1117;--card:#1a1d27;--card-hover:#222636;
  --text:#e8eaed;--text-muted:#9aa0a6;--accent:#4fc3f7;
  --accent2:#7c4dff;--border:#2a2e3a;--gradient:linear-gradient(135deg,#4fc3f7,#7c4dff);
  --radius:12px;--max-w:1100px
}
html{scroll-behavior:smooth}
body{
  font-family:"PingFang SC","Microsoft YaHei","Hiragino Sans GB",sans-serif;
  background:var(--bg);color:var(--text);min-height:100vh;line-height:1.7;
  position:relative;overflow-x:hidden
}
/* Glow orbs */
body::before,body::after{
  content:"";position:fixed;border-radius:50%;pointer-events:none;z-index:0;opacity:.08
}
body::before{
  width:600px;height:600px;background:radial-gradient(circle,#4fc3f7,transparent 70%);
  top:-200px;left:-150px
}
body::after{
  width:500px;height:500px;background:radial-gradient(circle,#7c4dff,transparent 70%);
  bottom:-150px;right:-100px
}
.glow-center{
  position:fixed;width:400px;height:400px;border-radius:50%;pointer-events:none;z-index:0;opacity:.05;
  background:radial-gradient(circle,#4fc3f7,transparent 70%);
  top:50%;left:50%;transform:translate(-50%,-50%)
}
/* Dot grid */
.dot-grid{
  position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.03;
  background-image:radial-gradient(circle,#fff 1px,transparent 1px);
  background-size:40px 40px
}

/* Header */
.header{
  position:sticky;top:0;z-index:100;
  background:rgba(15,17,23,.92);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--border);
  padding:0 24px
}
.header-inner{position:relative;max-width:var(--max-w);margin:0 auto;display:flex;align-items:center;justify-content:center;height:64px}
.logo{position:absolute;left:0;top:50%;transform:translateY(-50%);text-decoration:none;z-index:2}
.logo-placeholder{background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:20px;font-weight:700;letter-spacing:1px}
.nav-links{display:flex;gap:32px;align-items:center}
.nav-links a{
  color:var(--text-muted);text-decoration:none;font-size:14px;padding:6px 14px;
  border-radius:8px;transition:all .2s
}
.nav-links a:hover,.nav-links a.active{color:var(--text);background:var(--card)}
.nav-cta{
  background:var(--gradient)!important;color:#fff!important;font-weight:600;
  padding:8px 18px!important
}
.hamburger{display:none;background:none;border:none;color:var(--text);font-size:24px;cursor:pointer;padding:4px}

/* Container */
.container{max-width:var(--max-w);margin:0 auto;padding:0 24px;position:relative;z-index:1}

/* Hero */
.hero{padding:80px 0 60px;text-align:center}
.hero h1{font-size:clamp(28px,5vw,48px);font-weight:800;line-height:1.2;margin-bottom:16px}
.hero h1 .gradient-text{background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero .subtitle{font-size:18px;color:var(--text-muted);max-width:600px;margin:0 auto 32px}
.hero-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:15px}
.hero-pain{max-width:600px;margin:20px auto 24px;text-align:center;font-size:15px;color:var(--text-muted);line-height:2.1}
.hero-pain p{margin:2px 0}
.pain-gap{margin-top:18px!important;margin-bottom:14px!important;color:var(--text-secondary);font-weight:600}
.pain-fear{margin-top:18px!important;color:#ff7675;font-weight:600}
.hero-solution{font-size:17px;color:var(--text);max-width:600px;margin:0 auto 28px;line-height:2;font-weight:500}

/* Buttons */
.btn{
  display:inline-block;padding:14px 32px;border-radius:30px;font-size:15px;
  font-weight:600;text-decoration:none;cursor:pointer;border:none;
  transition:all .3s;text-align:center
}
.btn-primary{background:var(--gradient);color:#fff;box-shadow:0 4px 20px rgba(79,195,247,.25)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 28px rgba(79,195,247,.35)}
.btn-secondary{background:var(--card);color:var(--text);border:1px solid var(--border)}
.btn-secondary:hover{background:var(--card-hover)}
.btn-ghost{background:transparent;color:var(--accent);border:1px solid var(--accent)}
.btn-ghost:hover{background:rgba(79,195,247,.1)}

/* Cards */
.card{
  background:var(--card);border:1px solid var(--border);border-radius:var(--radius);
  padding:28px;transition:all .3s
}
.card:hover{background:var(--card-hover);transform:translateY(-2px);box-shadow:0 8px 30px rgba(0,0,0,.2)}
.card h3{font-size:18px;margin-bottom:8px}
.card p{font-size:14px;color:var(--text-muted);line-height:1.6}

/* Grid */
.grid{display:grid;gap:20px}
.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.grid-3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.grid-4{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}

/* Section */
.section{padding:60px 0}
.section h2{font-size:clamp(22px,4vw,32px);font-weight:700;margin-bottom:12px}
.section .section-sub{font-size:15px;color:var(--text-muted);margin-bottom:40px}
.section-header{text-align:center;margin-bottom:48px}

/* Badge */
.badge{
  display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600
}
.badge-accent{background:rgba(79,195,247,.15);color:var(--accent)}
.badge-green{background:rgba(76,175,80,.15);color:#4caf50}

/* Price card */
.price-card{
  background:var(--card);border:1px solid var(--border);border-radius:var(--radius);
  padding:36px 28px;text-align:center;position:relative;transition:all .3s
}
.price-card.featured{border-color:var(--accent);box-shadow:0 0 30px rgba(79,195,247,.1)}
.price-card .plan-name{font-size:20px;font-weight:700;margin-bottom:8px}
.price-card .plan-price{font-size:42px;font-weight:800;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:16px 0}
.price-card .plan-price .unit{font-size:16px;font-weight:400}
.price-card ul{list-style:none;text-align:left;margin:24px 0}
.price-card ul li{padding:8px 0;font-size:14px;color:var(--text-muted)}
.price-card ul li::before{content:"✓ ";color:var(--accent);font-weight:700}

/* Form */
.form-group{margin-bottom:20px}
.form-group label{display:block;font-size:14px;font-weight:600;margin-bottom:6px;color:var(--text)}
.form-group input,.form-group select{
  width:100%;padding:12px 16px;background:var(--card);border:1px solid var(--border);
  border-radius:8px;color:var(--text);font-size:15px;outline:none;transition:border .2s
}
.form-group input:focus,.form-group select:focus{border-color:var(--accent)}
.form-hint{font-size:12px;color:var(--text-muted);margin-top:4px}
.form-card{
  max-width:440px;margin:0 auto;background:var(--card);border:1px solid var(--border);
  border-radius:var(--radius);padding:36px
}

/* Table */
.table{width:100%;border-collapse:collapse;font-size:14px}
.table th,.table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border)}
.table th{font-weight:600;color:var(--text-muted);font-size:12px;text-transform:uppercase}
.table td{color:var(--text)}

/* Feature list */
.feature-grid{display:grid;gap:32px}
.feature-block{border-left:2px solid var(--accent);padding-left:20px}
.feature-block h3{font-size:20px;margin-bottom:8px}
.feature-block p{font-size:14px;color:var(--text-muted)}
.feature-block .feature-stat{display:inline-block;background:rgba(79,195,247,.1);color:var(--accent);padding:2px 10px;border-radius:12px;font-size:12px;font-weight:600;margin-bottom:8px}

/* Timeline */
.timeline{position:relative;padding-left:32px}
.timeline::before{content:"";position:absolute;left:8px;top:0;bottom:0;width:2px;background:var(--border)}
.timeline-item{position:relative;margin-bottom:32px}
.timeline-item::before{content:"";position:absolute;left:-28px;top:4px;width:14px;height:14px;border-radius:50%;background:var(--accent);border:3px solid var(--bg)}

/* Footer */
.footer{
  border-top:1px solid var(--border);padding:40px 24px;text-align:center;
  font-size:13px;color:var(--text-muted);position:relative;z-index:1
}
.footer a{color:var(--accent);text-decoration:none}
.footer-links{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;margin-bottom:16px}

/* Module icons */
.module-icon{font-size:28px;margin-bottom:12px}

/* Toast / Messages */
.toast{
  position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:9999;
  background:var(--card);border:1px solid var(--accent);color:var(--text);
  padding:12px 24px;border-radius:8px;font-size:14px;opacity:0;transition:opacity .3s
}
.toast.show{opacity:1}

/* Mobile */
@media(max-width:768px){
  .header-inner{position:relative;max-width:var(--max-w);margin:0 auto;display:flex;align-items:center;justify-content:center;height:64px}
  .nav-links{display:flex;gap:32px;align-items:center}
  .nav-links.open{display:flex}
  .hamburger{display:block}
  .hero{padding:48px 0 36px}
  .section{padding:40px 0}
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
  .form-card{padding:24px}
  .footer{padding:28px 16px}
}
@media(max-width:420px){
  body{font-size:14px}
  .container{padding:0 14px}
  .btn{padding:12px 24px;font-size:14px}
  .price-card{padding:24px 18px}
}