:root{--bg:#0b0c0f;--panel:#11131a;--panel2:#0f1117;--text:#e9ecf2;--muted:#aeb6c7;--line:rgba(255,255,255,.08);--accent:#7c5cff;--accent2:#36d7ff;--good:#27e599;--shadow:0 18px 60px rgba(0,0,0,.55);--radius:18px;--radius2:26px;--max:1140px}

body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(1000px 600px at 18% 12%, rgba(124,92,255,.18), transparent 62%),radial-gradient(900px 500px at 82% 18%, rgba(54,215,255,.14), transparent 58%),radial-gradient(900px 650px at 50% 86%, rgba(39,229,153,.10), transparent 60%),var(--bg);background-attachment:fixed}
*{box-sizing:border-box}html,body{height:100%}
body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;background:var(--bg);color:var(--text);line-height:1.5}
a{color:inherit}code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}
.wrap{max-width:var(--max);margin:0 auto;padding:0 22px}
.topbar{position:sticky;top:0;z-index:50;background:rgba(11,12,15,.72);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.topbar .inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.logo{width:34px;height:34px;border-radius:10px;background:url('backfolio_icon.png') center/contain no-repeat;box-shadow:0 10px 30px rgba(0,0,0,.25);position:relative}
.logo:after{content:"";position:absolute;inset:0;border-radius:10px;border:1px solid rgba(255,255,255,.18)}
.brand b{letter-spacing:.2px}
nav{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
nav a{text-decoration:none;color:var(--muted);font-size:14px;padding:8px 10px;border-radius:12px}
nav a:hover{color:var(--text);background:rgba(255,255,255,.04)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;border-radius:14px;border:1px solid var(--line);text-decoration:none;font-weight:650;font-size:14px;background:rgba(255,255,255,.03);transition:transform .12s ease,background .12s ease,border-color .12s ease;white-space:nowrap;cursor:pointer}
.btn:hover{transform:translateY(-1px);background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12)}
.btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent2));border-color:transparent;color:#071017;box-shadow:0 14px 44px rgba(124,92,255,.25),0 12px 44px rgba(54,215,255,.18)}
.btn.small{padding:10px 12px;border-radius:12px;font-weight:700}

/* Compatibility quiz: enforce readable button labels */
#compatBtn{color:#fff}
#compatReset{color:#fff}
#compatModal .btn.small[data-close]{color:#fff}
.ps-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.pill{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--muted);font-size:13px}
.dot{width:8px;height:8px;border-radius:50%;background:var(--good);box-shadow:0 0 0 6px rgba(39,229,153,.12)}
.hero{padding:54px 0 28px}.gridHero{display:grid;grid-template-columns:1.12fr .88fr;gap:26px;align-items:stretch}
@media(max-width:940px){.gridHero{grid-template-columns:1fr;gap:18px}nav{display:none}}
h1{margin:12px 0 14px;font-size:48px;line-height:1.05;letter-spacing:-.6px}
@media(max-width:520px){h1{font-size:40px}}
.lead{color:var(--muted);font-size:17px;margin:0 0 20px;max-width:58ch}
.ctaRow{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.miniRow{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px;color:var(--muted);font-size:13px}
.miniRow span{display:inline-flex;gap:8px;align-items:center;padding:8px 10px;border-radius:14px;background:rgba(255,255,255,.02);border:1px solid var(--line)}
.tick{width:16px;height:16px;border-radius:4px;background:rgba(39,229,153,.14);border:1px solid rgba(39,229,153,.30);display:inline-flex;align-items:center;justify-content:center;color:var(--good);font-weight:900;font-size:12px}
.card{background:linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));border:1px solid var(--line);border-radius:var(--radius2);box-shadow:var(--shadow)}
.heroCard{padding:18px;overflow:hidden;position:relative;min-height:360px}
.heroCard:before{content:"";position:absolute;inset:-120px -80px auto auto;width:280px;height:280px;background:radial-gradient(circle at 30% 30%, rgba(124,92,255,.36), transparent 60%),radial-gradient(circle at 60% 60%, rgba(54,215,255,.24), transparent 60%);filter:blur(10px);transform:rotate(14deg);opacity:.95}
.mock{position:relative;background:rgba(15,17,23,.72);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:14px;margin-top:10px}
.mockTop{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;color:var(--muted);font-size:12px}
.mockDots{display:flex;gap:6px}.mockDots i{display:inline-block;width:10px;height:10px;border-radius:99px;background:rgba(255,255,255,.12)}
.mockGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tile{border-radius:16px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);padding:12px;min-height:86px}
.tile b{display:block;font-size:13px}.tile p{margin:6px 0 0;color:var(--muted);font-size:12px}
.sec{padding:40px 0}.sec h2{margin:0 0 10px;font-size:28px;letter-spacing:-.3px}
.sub{margin:0 0 18px;color:var(--muted);max-width:78ch}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media(max-width:1120px){.grid4{grid-template-columns:repeat(2,1fr)}.grid3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:940px){.grid4,.grid3,.grid2{grid-template-columns:1fr}}
.feature{padding:16px;border-radius:var(--radius);border:1px solid var(--line);background:rgba(255,255,255,.02)}
.feature h3{margin:8px 0 6px;font-size:16px}.feature p{margin:0;color:var(--muted);font-size:14px}
.icon{width:38px;height:38px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:rgba(124,92,255,.14);border:1px solid rgba(124,92,255,.28);color:#cbbfff;font-weight:900}
.icon.blue{background:rgba(54,215,255,.12);border-color:rgba(54,215,255,.26);color:#bff2ff}
.icon.green{background:rgba(39,229,153,.12);border-color:rgba(39,229,153,.28);color:#c9ffe8}
.icon.gold{background:rgba(255,209,102,.12);border-color:rgba(255,209,102,.26);color:#fff0c6}
.bigList{margin:14px 0 0;padding:0;list-style:none;display:grid;gap:10px}
.bigList li{display:flex;gap:10px;align-items:flex-start;padding:12px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.02);color:var(--muted)}
.bigList b{color:var(--text)}
.pricing{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
@media(max-width:940px){.pricing{grid-template-columns:1fr}}
.priceCard{padding:18px;position:relative;overflow:hidden}
.priceCard.featured{border-color:rgba(124,92,255,.30);box-shadow:0 20px 70px rgba(124,92,255,.22)}
.badge{position:absolute;top:16px;right:16px;font-size:12px;padding:6px 10px;border-radius:999px;background:rgba(124,92,255,.16);border:1px solid rgba(124,92,255,.28);color:#d8d0ff}
.priceTop{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.priceTop h3{margin:0;font-size:18px}
.price{margin:12px 0 6px;font-size:34px;letter-spacing:-.5px}
.price small{font-size:13px;color:var(--muted)}
.fine{color:var(--muted);font-size:13px;margin:0 0 14px}
.list{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.list li{display:flex;gap:10px;align-items:flex-start;color:var(--muted);font-size:14px}
.list i{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:6px;background:rgba(39,229,153,.14);border:1px solid rgba(39,229,153,.28);color:var(--good);font-style:normal;font-weight:900;font-size:12px;margin-top:2px}
details{border:1px solid var(--line);background:rgba(255,255,255,.02);border-radius:16px;padding:12px 14px}
details summary{cursor:pointer;font-weight:700;color:var(--text);list-style:none}
details summary::-webkit-details-marker{display:none}
details p{margin:10px 0 0;color:var(--muted)}
footer{border-top:1px solid var(--line);padding:26px 0 34px;color:var(--muted);font-size:13px}
.footerGrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:940px){.footerGrid{grid-template-columns:1fr}}
.muted{color:var(--muted)}
.kicker{font-weight:800;letter-spacing:.2px;background:linear-gradient(90deg, rgba(124,92,255,.95), rgba(54,215,255,.92));-webkit-background-clip:text;background-clip:text;color:transparent}
.hr{height:1px;background:var(--line);margin:18px 0}
/* Modal */
.ps-modal{position:fixed;inset:0;z-index:999;display:none;background:rgba(0,0,0,.65);backdrop-filter:blur(10px);padding:24px}
.ps-modal[data-open="true"]{display:flex;align-items:center;justify-content:center}
.ps-modal-card{width:min(860px,100%);border-radius:22px;border:1px solid rgba(255,255,255,.10);background:rgba(17,19,26,.92);box-shadow:0 24px 90px rgba(0,0,0,.55);overflow:hidden}
.ps-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.10)}
.ps-x{width:40px;height:40px;border-radius:14px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.04);color:var(--text);cursor:pointer}
.ps-modal-body{display:grid;grid-template-columns:1.1fr .9fr}
@media(max-width:860px){.ps-modal-body{grid-template-columns:1fr}}

/* Compatibility questionnaire */
.ps-compat{display:grid;gap:12px}
.ps-q{border:1px solid rgba(255,255,255,.10);background:rgba(0,0,0,.18);border-radius:16px;padding:12px}
.ps-q-title{font-weight:700;font-size:13px;margin-bottom:10px}
.ps-opt{display:flex;gap:8px;flex-wrap:wrap}
.ps-opt label{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.10);background:rgba(0,0,0,.14);cursor:pointer;user-select:none;font-size:13px}
.ps-opt input{accent-color:#7c3aed}
.ps-result{border:1px solid rgba(255,255,255,.10);background:rgba(0,0,0,.18);border-radius:16px;padding:12px;min-height:140px}
.ps-result .ps-status{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.ps-result .ps-status b{font-size:14px}
.ps-result ul{margin:10px 0 0 18px}
.ps-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(0,0,0,.14);font-size:12px}
.ps-tag.ok{border-color:rgba(34,197,94,.35)}
.ps-tag.warn{border-color:rgba(245,158,11,.35)}
.ps-tag.bad{border-color:rgba(239,68,68,.35)}
.ps-col{padding:16px}.ps-col+.ps-col{border-left:1px solid rgba(255,255,255,.10)}
@media(max-width:860px){.ps-col+.ps-col{border-left:none;border-top:1px solid rgba(255,255,255,.10)}}
.ps-h{margin:0 0 10px;font-size:18px}
.ps-plan{width:100%;text-align:left;border-radius:16px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.03);padding:12px;color:var(--text);display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer}
.ps-plan:hover{background:rgba(255,255,255,.06)}.ps-plan.active{border-color:rgba(124,92,255,.35);background:rgba(124,92,255,.10)}
.ps-plan-meta{font-size:12px;color:var(--muted);margin-top:2px}.ps-plan-right{font-weight:800;color:var(--muted)}
.ps-buybox{border-radius:18px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.03);padding:14px}
.ps-buyrow{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.ps-buyrow b{font-size:16px}.ps-buyrow span{color:var(--muted);font-size:13px}
.ps-help{color:var(--muted);font-size:13px;margin-top:10px}
.ps-svc{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.10)}


/* Compatibility actions + CTA blocks */
.ps-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.ps-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}

/* Modal footer (used by compatibility modal) */
.ps-modal-foot{padding:12px 16px;border-top:1px solid rgba(255,255,255,.10);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}
.ps-modal-foot.light{border-top:1px solid rgba(0,0,0,.10)}


/* Mobile improvements for the compatibility questionnaire */
@media(max-width:560px){
  .ps-modal{padding:12px}
  .ps-modal[data-open="true"]{align-items:flex-start;justify-content:center}

  .ps-modal-card{
    border-radius:18px;
    width:100%;
    max-height:calc(100vh - 24px);
    display:flex;
    flex-direction:column
  }

  .ps-modal-head{padding:12px 14px}

  /* Make the body scrollable (header + footer stay visible) */
  .ps-modal-body{
    flex:1;
    overflow:auto;
    -webkit-overflow-scrolling:touch
  }

  .ps-col{padding:14px}
  .ps-q{padding:12px}

  .ps-q-title{
    font-size:14px;
    line-height:1.3
  }

  /* Options become stacked, full-width, better tap targets */
  .ps-opt{
    flex-direction:column;
    align-items:stretch
  }

  .ps-opt label{
    width:100%;
    justify-content:space-between;
    border-radius:14px;
    padding:10px 12px;
    font-size:14px
  }

  /* Stack action buttons + CTAs + footer button */
  .ps-actions,.ps-cta,.ps-modal-foot{
    flex-direction:column;
    align-items:stretch
  }

  .ps-actions .btn,.ps-cta .btn,.ps-modal-foot .btn{
    width:100%;
    justify-content:center
  }

  .ps-result{min-height:0}
}

