/* TaxElm Tax Savings Scorecard v2 — styles. Scoped under #tscApp to avoid theme collisions. */
#tscApp {
    --ink:#0c1e35;
    --ink-2:#33485f;
    --ink-3:#6c7e91;
    --blue:#1aa3e8;
    --blue-d:#0d7fc4;
    --blue-dd:#0a6aa6;
    --mint:#19a974;
    --gold:#f0a818;
    --bg:#eef3f8;
    --bg-2:#e3ecf4;
    --card:#ffffff;
    --line:#e2e9f0;
    --line-2:#d3dde8;
    --r:18px;
    --r-sm:12px;
    --shadow-sm:0 2px 8px rgba(12,30,53,.05);
    --shadow:0 18px 50px -12px rgba(12,30,53,.22);
    --shadow-lg:0 30px 70px -18px rgba(12,30,53,.30);
    --ease:cubic-bezier(.22,.61,.36,1);
  }
#tscApp * {box-sizing:border-box;-webkit-tap-highlight-color:transparent}
#tscApp html {scroll-behavior:smooth}
#tscApp body {
    margin:0;
    font-family:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
    color:var(--ink);
    background:
      radial-gradient(1200px 600px at 50% -10%, #f3f9ff 0%, transparent 60%),
      linear-gradient(180deg, var(--bg) 0%, var(--bg-2) 100%);
    background-attachment:fixed;
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
    min-height:100vh;
  }
#tscApp .shell {max-width:560px;margin:0 auto;padding:28px 16px 96px}
#tscApp .card {
    background:var(--card);
    border:1px solid var(--line);
    border-radius:var(--r);
    box-shadow:var(--shadow);
    padding:34px 28px;
    position:relative;
    overflow:hidden;
  }
#tscApp .card::before {
    content:"";position:absolute;inset:0 0 auto 0;height:4px;
    background:linear-gradient(90deg,var(--blue),#56c2f2 55%,var(--mint));
  }
#tscApp .reveal {animation:rise .55s var(--ease) both}
@keyframes rise {from{opacity:0;transform:translateY(14px)}
#tscApp to {opacity:1;transform:none}
}
  @media (prefers-reduced-motion:reduce) {
#tscApp .reveal, #tscApp .opt, #tscApp .fadeup, #tscApp .chip, #tscApp .strat {animation:none!important;transition:none!important}

  }
#tscApp /* badge / eyebrow */
  .badge {
    display:inline-flex;align-items:center;gap:7px;
    background:#eaf7ff;color:var(--blue-dd);
    font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
    padding:7px 13px;border-radius:99px;margin-bottom:18px;
    border:1px solid #cdeafd;
  }
#tscApp .badge .dot {width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 3px #c9f0e0}
#tscApp h1 {font-size:30px;line-height:1.14;margin:0 0 14px;letter-spacing:-.02em;font-weight:800}
#tscApp .lead {font-size:18px;color:var(--ink-2);margin:0 0 26px;font-weight:400;line-height:1.6}
#tscApp .muted {color:var(--ink-2)}
#tscApp .small {font-size:13px}
#tscApp .center {text-align:center}
#tscApp /* trust row */
  .trust {display:flex;gap:18px;justify-content:center;margin:22px 0 4px;flex-wrap:wrap}
#tscApp .trust div {display:flex;align-items:center;gap:7px;font-size:13px;color:var(--ink-3);font-weight:500}
#tscApp .trust svg {width:16px;height:16px;flex:0 0 auto}
#tscApp /* payoff list */
  .payoff {display:flex;flex-direction:column;gap:13px;margin:0 0 26px;padding:18px;background:#f6fafd;border:1px solid var(--line);border-radius:14px}
#tscApp .payoff-item {display:flex;gap:13px;align-items:center}
#tscApp .payoff-ic {width:38px;height:38px;border-radius:11px;background:#eaf7ff;color:var(--blue-d);display:grid;place-items:center;flex:0 0 auto}
#tscApp .payoff-ic svg {width:19px;height:19px}
#tscApp .payoff-item b {display:block;font-size:17px;font-weight:700;line-height:1.35}
#tscApp .payoff-item > div > span {display:block;font-size:15.5px;color:var(--ink-2);line-height:1.45}
#tscApp /* social proof */
  .social {display:flex;align-items:center;justify-content:center;gap:11px;margin:20px 0 2px;font-size:13.5px;color:var(--ink-2);font-weight:500}
#tscApp .social b {color:var(--ink);font-weight:800}
#tscApp .faces {display:flex}
#tscApp .faces span {width:26px;height:26px;border-radius:50%;border:2px solid #fff;margin-left:-8px;background:linear-gradient(135deg,#bfe3f7,#1aa3e8)}
#tscApp .faces span:first-child {margin-left:0}
#tscApp .faces span:nth-child(2) {background:linear-gradient(135deg,#c9f0e0,#19a974)}
#tscApp .faces span:nth-child(3) {background:linear-gradient(135deg,#fde6bd,#f0a818)}
#tscApp .faces span:nth-child(4) {background:linear-gradient(135deg,#d4d2f7,#7a6ff0)}
#tscApp /* buttons */
  .btn {
    appearance:none;border:0;cursor:pointer;font-family:inherit;font-weight:700;font-size:16px;
    color:#fff;background:var(--blue);border-radius:14px;padding:16px 24px;
    box-shadow:0 10px 24px -6px rgba(26,163,232,.55);
    transition:transform .15s var(--ease),box-shadow .2s,background .2s;
    display:inline-flex;align-items:center;justify-content:center;gap:9px;
  }
#tscApp .btn:hover {background:var(--blue-d);transform:translateY(-1px);box-shadow:0 14px 30px -6px rgba(26,163,232,.6)}
#tscApp .btn:active {transform:translateY(0) scale(.99)}
#tscApp .btn:disabled {opacity:.55;cursor:wait;box-shadow:none;transform:none}
#tscApp .btn.wide {width:100%}
#tscApp .btn.gold {background:var(--gold);box-shadow:0 10px 24px -6px rgba(240,168,24,.55)}
#tscApp .btn.gold:hover {background:#dd9810}
#tscApp .btn.ghost {background:transparent;color:var(--ink-3);box-shadow:none;font-weight:600;padding:14px 10px}
#tscApp .btn.ghost:hover {background:#f2f6fa;transform:none}
#tscApp .btn svg {width:18px;height:18px}
#tscApp /* progress */
  .ptop {display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
#tscApp .pcount {font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
#tscApp .ppct {font-size:12px;font-weight:700;color:var(--blue-d)}
#tscApp .ptrack {height:8px;background:#e8eef4;border-radius:99px;overflow:hidden;margin-bottom:30px}
#tscApp .pfill {height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,var(--blue),#52c0f1);transition:width .45s var(--ease)}
#tscApp .qwrap {animation:qin .4s var(--ease) both}
@keyframes qin {from{opacity:0;transform:translateX(14px)}
#tscApp to {opacity:1;transform:none}
#tscApp }
  .qtext {font-size:23px;font-weight:700;letter-spacing:-.01em;margin:0 0 7px;line-height:1.25}
#tscApp .qhelp {font-size:17px;color:var(--ink-2);margin:0 0 22px;line-height:1.6}
#tscApp .opts {display:flex;flex-direction:column;gap:11px}
#tscApp .opt {
    text-align:left;background:#fff;border:1.5px solid var(--line-2);border-radius:14px;
    padding:16px 17px;font-size:16px;font-weight:600;color:var(--ink);cursor:pointer;font-family:inherit;
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    transition:border-color .15s,background .15s,transform .12s;
  }
#tscApp .opt:hover {border-color:var(--blue);background:#f4fbff}
#tscApp .opt:active {transform:scale(.99)}
#tscApp .opt .tick {width:22px;height:22px;border-radius:50%;border:2px solid var(--line-2);flex:0 0 auto;display:grid;place-items:center;transition:.15s}
#tscApp .opt .tick svg {width:12px;height:12px;opacity:0;transform:scale(.5);transition:.15s}
#tscApp .opt.sel {border-color:var(--blue);background:#eaf7ff;box-shadow:inset 0 0 0 1px var(--blue)}
#tscApp .opt.sel .tick {border-color:var(--blue);background:var(--blue)}
#tscApp .opt.sel .tick svg {opacity:1;transform:scale(1)}
#tscApp .nav {display:flex;align-items:center;margin-top:24px}
#tscApp /* result */
  .rhead {text-align:center;margin-bottom:8px}
#tscApp .rframe {font-size:16.5px;color:var(--ink-2);font-weight:600;margin:0 0 10px}
#tscApp .rcred {display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--ink-2);font-weight:500;margin:16px auto 0;background:#f3f8fc;border:1px solid var(--line);padding:10px 16px;border-radius:14px;line-height:1.45;text-align:left;max-width:100%}
#tscApp .rcred svg {width:14px;height:14px;flex:0 0 auto;stroke:var(--mint)}
#tscApp .result-num {
    font-size:52px;font-weight:800;letter-spacing:-.03em;line-height:1;
    background:linear-gradient(120deg,var(--blue-dd),var(--blue) 60%,#3fb6ef);
    -webkit-background-clip:text;background-clip:text;color:transparent;
  }
#tscApp .result-cap {font-size:16.5px;color:var(--ink-2);font-weight:500;margin-top:12px;max-width:380px;margin-left:auto;margin-right:auto;line-height:1.5}
#tscApp .ringwrap {display:flex;justify-content:center;margin:6px 0 4px}
#tscApp .chips {display:flex;flex-wrap:wrap;gap:9px;justify-content:center;margin:22px 0 2px}
#tscApp .chip {
    background:#eaf7ff;color:var(--blue-dd);border:1px solid #c9e9fb;border-radius:99px;
    padding:8px 14px;font-size:13px;font-weight:700;display:inline-flex;align-items:center;gap:6px;
    animation:pop .4s var(--ease) both;
  }
#tscApp .chip svg {width:13px;height:13px}
@keyframes pop {from{opacity:0;transform:scale(.8)}
#tscApp to {opacity:1;transform:none}
#tscApp }

  /* gate */
  .gate {margin-top:26px;border-top:1px dashed var(--line-2);padding-top:26px;text-align:center}
#tscApp .peek {position:relative;margin-bottom:18px}
#tscApp .peek-row {
    filter:blur(6px);opacity:.6;user-select:none;pointer-events:none;
    background:#f6f9fc;border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:8px;text-align:left;font-size:14px
  }
#tscApp .peek-lock {
    position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  }
#tscApp .peek-lock span {
    background:#fff;border:1px solid var(--line-2);border-radius:99px;padding:8px 16px;font-size:13px;font-weight:700;
    color:var(--ink-2);box-shadow:var(--shadow-sm);display:inline-flex;gap:7px;align-items:center
  }
#tscApp .peek-lock svg {width:14px;height:14px}
#tscApp .gate h2 {font-size:22px;font-weight:800;margin:6px 0 8px;letter-spacing:-.01em}
#tscApp .field {margin:18px 0 10px;text-align:left}
#tscApp .field input {
    width:100%;border:1.5px solid var(--line-2);border-radius:13px;padding:16px 16px;font-size:16px;font-family:inherit;
    transition:border-color .15s,box-shadow .15s;
  }
#tscApp .field input:focus {outline:none;border-color:var(--blue);box-shadow:0 0 0 4px rgba(26,163,232,.13)}
#tscApp .field input.err {border-color:#e24b4a;box-shadow:0 0 0 4px rgba(226,75,74,.12)}
#tscApp .errmsg {color:#cf3a39;font-size:15px;font-weight:600;min-height:18px;text-align:left;margin-top:2px}
#tscApp .fine {font-size:13.5px;color:var(--ink-3);margin-top:12px;line-height:1.5}
#tscApp .fine svg {width:12px;height:12px;vertical-align:-1px;margin-right:3px}
#tscApp /* full report */
  .totalbar {
    background:linear-gradient(135deg,#0c1e35,#163a5e);color:#fff;border-radius:16px;padding:24px;text-align:center;margin:6px 0 24px;
    position:relative;overflow:hidden
  }
#tscApp .totalbar::after {content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:rgba(26,163,232,.22);top:-90px;right:-40px;filter:blur(8px)}
#tscApp .totalbar .n {font-size:38px;font-weight:800;letter-spacing:-.02em;position:relative}
#tscApp .totalbar .l {font-size:13.5px;color:#aacbe6;margin-top:5px;position:relative}
#tscApp .sec-title {font-size:21px;font-weight:800;letter-spacing:-.01em;margin:0 0 6px}
#tscApp .sec-sub {font-size:17px;color:var(--ink-2);margin:0 0 18px;line-height:1.6}
#tscApp .strat {
    border:1px solid var(--line);border-radius:15px;padding:18px;margin-bottom:13px;background:#fff;
    box-shadow:var(--shadow-sm);animation:rise .5s var(--ease) both
  }
#tscApp .strat-h {display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:3px}
#tscApp .strat-name {font-size:17px;font-weight:700;display:flex;align-items:center;gap:9px}
#tscApp .strat-ic {width:34px;height:34px;border-radius:10px;background:#eaf7ff;color:var(--blue-d);display:grid;place-items:center;flex:0 0 auto}
#tscApp .strat-ic svg {width:18px;height:18px}
#tscApp .strat-est {font-size:13.5px;color:var(--mint);font-weight:800;white-space:nowrap;background:#e7f7f0;padding:5px 10px;border-radius:8px}
#tscApp .strat p {margin:8px 0 0;font-size:17px;color:var(--ink);line-height:1.62}
#tscApp .doit {margin-top:13px;background:#eaf4fb;border-left:4px solid var(--blue);border-radius:0 10px 10px 0;padding:15px 17px;font-size:16.5px;line-height:1.62;color:var(--ink)}
#tscApp .doit b {color:var(--ink)}
#tscApp .miss {margin-top:12px;display:flex;gap:9px;align-items:flex-start;font-size:16.5px;line-height:1.62;color:var(--ink)}
#tscApp .miss svg {width:16px;height:16px;flex:0 0 auto;margin-top:2px;stroke:var(--gold)}
#tscApp .miss b {color:var(--ink)}
#tscApp .more {margin:28px 0 6px;padding:22px;background:linear-gradient(135deg,#0c1e35,#163a5e);border-radius:16px;color:#fff;position:relative;overflow:hidden}
#tscApp .more::after {content:"";position:absolute;width:200px;height:200px;border-radius:50%;background:rgba(26,163,232,.18);bottom:-100px;left:-50px;filter:blur(10px)}
#tscApp .more .sec-title {color:#fff;position:relative}
#tscApp .more .sec-sub {color:#aaccea;position:relative}
#tscApp .more-grid {display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:4px 0 18px;position:relative}
#tscApp .more-chip {background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:9px;padding:9px 12px;font-size:13px;font-weight:600;color:#eaf4fc;display:flex;align-items:center;gap:8px}
#tscApp .more-chip svg {width:13px;height:13px;flex:0 0 auto;stroke:#56c2f2}
#tscApp .more-line {font-size:16px;color:#cfe3f3;line-height:1.6;margin:0;position:relative}
#tscApp .more-line b {color:#fff;font-weight:800}

  @media (max-width:520px) {
#tscApp .more-grid {grid-template-columns:1fr}
 }
#tscApp .downloads {margin:26px 0}
#tscApp .dl {display:flex;gap:14px;align-items:flex-start;border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:11px;background:#fff;box-shadow:var(--shadow-sm);transition:transform .14s,border-color .14s}
#tscApp .dl:hover {transform:translateY(-1px);border-color:var(--blue)}
#tscApp .dl-ic {width:42px;height:42px;border-radius:11px;background:linear-gradient(135deg,#eaf7ff,#d7f0ec);color:var(--blue-d);display:grid;place-items:center;flex:0 0 auto}
#tscApp .dl-ic svg {width:21px;height:21px}
#tscApp .dl b {display:block;font-size:16.5px;margin-bottom:4px}
#tscApp .dl span {display:block;font-size:16px;color:var(--ink-2);line-height:1.55}
#tscApp .cta {background:linear-gradient(135deg,#eaf7ff,#e6f6f1);border:1px solid #cdeafd;border-radius:16px;padding:24px;margin-top:8px}
#tscApp .cta h2 {font-size:21px;font-weight:800;margin:0 0 9px;letter-spacing:-.01em}
#tscApp .cta p {font-size:16.5px;color:var(--ink-2);margin:0 0 16px;line-height:1.6}
#tscApp .plain {color:var(--blue-dd);font-weight:700;text-decoration:none}
#tscApp .backline {text-align:center;margin-top:20px}
#tscApp .backline button {background:none;border:0;color:var(--ink-3);font-weight:600;cursor:pointer;font-size:13px;font-family:inherit}
#tscApp .hide {display:none!important}


  @media (max-width:520px) {
#tscApp .shell {padding:18px 12px 80px}
#tscApp .card {padding:26px 20px;border-radius:16px}
#tscApp h1 {font-size:25px}
#tscApp .result-num {font-size:44px}
#tscApp .totalbar .n {font-size:31px}

  }


#tscApp .tsc-hidden {display:none !important}
