/* Named AI Score — preview only. Extends named.css tokens. */
.score-page{--score-band:#FF5B3A;--score-ok:#4F6A00}
.score-hero{padding:clamp(40px,7vw,88px) 0 clamp(28px,4vw,48px);position:relative;overflow:hidden}
.score-hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,4vw,64px);align-items:start}
.score-hero .sym-bg{position:absolute;right:-10vw;top:-8vw;width:42vw;max-width:560px;color:#E4E5DF;z-index:0;pointer-events:none}
.score-hero .wrap>*{position:relative;z-index:1}
.score-hero h1{font:700 clamp(2.2rem,4.8vw,3.8rem)/1.08 var(--disp);letter-spacing:-.03em;margin:18px 0 16px;max-width:16ch}
:lang(zh-HK) .score-hero h1{line-height:1.18;letter-spacing:0;max-width:12em}
.score-hero .lede{max-width:38ch;color:#3A3A42}
.score-badge{display:inline-flex;align-items:center;gap:8px;font:600 .78rem/1 var(--body);letter-spacing:.12em;text-transform:uppercase;color:var(--lime-ink);background:rgba(200,245,66,.28);border:1px solid rgba(79,106,0,.25);border-radius:99px;padding:8px 14px}
.score-panel{background:var(--paper2);border:2px solid var(--ink);border-radius:22px;padding:clamp(22px,3vw,32px);box-shadow:14px 14px 0 var(--coral)}
.score-panel h2{font:700 1.35rem/1.2 var(--disp);margin-bottom:6px}
.score-panel .hint{color:var(--mute);font-size:.92rem;margin-bottom:18px}
.score-form{display:grid;gap:12px}
.score-form label{display:grid;gap:6px;font:600 .88rem/1.2 var(--body)}
.score-form label span{color:var(--mute);font-weight:500;font-size:.8rem}
.score-form input,.score-form select{appearance:none;width:100%;border:2px solid var(--ink);border-radius:12px;padding:14px 16px;font:500 1rem/1.3 var(--body);background:#fff;color:var(--ink)}
.score-form input:focus,.score-form select:focus{outline:3px solid var(--lime);outline-offset:2px}
.score-form .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.score-form .err{color:var(--coral);font-size:.88rem;min-height:1.2em}
.score-form .btn{width:100%;justify-content:center;border:0;cursor:pointer;font:600 1rem/1 var(--body)}
.score-form .btn:disabled{opacity:.55;cursor:wait;transform:none}
.score-trust{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.score-trust span{font-size:.78rem;border:1.5px solid var(--line);border-radius:99px;padding:5px 10px;color:var(--mute)}

.score-results{padding:0 0 clamp(64px,8vw,110px)}
.score-results[hidden]{display:none}
.score-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:clamp(22px,3vw,34px);box-shadow:0 12px 32px rgba(11,11,13,.06)}
.score-card + .score-card{margin-top:18px}
.band-row{display:flex;flex-direction:column;align-items:stretch;gap:10px}
.band-eyebrow,.band-row>.kicker{margin:0 0 2px;flex-wrap:wrap;max-width:100%;letter-spacing:.08em;line-height:1.35;position:relative;z-index:1}
.band-eyebrow:before,.band-row>.kicker:before{flex:0 0 28px}
.band-main{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 20px;position:relative;z-index:0}
.band-copy{flex:1 1 160px;min-width:0;max-width:100%}
.band-meter{flex:1 1 180px;min-width:140px;max-width:280px;width:auto}
.band-meter .track{height:14px;border-radius:99px;background:linear-gradient(90deg,#FF5B3A 0%,#FF5B3A 35%,#C8F542 70%,#4F6A00 100%);position:relative;margin:8px 0}
.band-meter .knob{position:absolute;top:50%;width:22px;height:22px;border-radius:50%;background:var(--ink);border:3px solid #fff;transform:translate(-50%,-50%);box-shadow:0 2px 8px rgba(0,0,0,.25)}
.band-label{font:700 clamp(1.8rem,3.5vw,2.6rem)/1.12 var(--disp);margin:0;position:relative;z-index:0}
.band-sub{color:var(--mute);margin-top:8px;font-size:.95rem}
.scare{margin-top:22px;padding:18px 20px;border-radius:14px;background:var(--paper);border:1.5px solid var(--line)}
.scare .tag{font:700 .75rem/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin-bottom:8px}
.scare p{font:700 clamp(1.15rem,2.2vw,1.55rem)/1.35 var(--disp);color:var(--ink)}
.chip{display:inline-flex;align-items:center;gap:8px;margin-top:16px;padding:10px 14px;border-radius:99px;border:2px solid var(--ink);background:var(--lime);font:700 .95rem/1.2 var(--disp)}
.chip .sev{font:600 .72rem/1 var(--body);letter-spacing:.08em;text-transform:uppercase;opacity:.75}

.gate{margin-top:22px;padding-top:22px;border-top:1px dashed var(--line)}
.gate h3{font:700 1.25rem/1.2 var(--disp);margin-bottom:6px}
.gate p{color:var(--mute);margin-bottom:14px;max-width:46ch}
.unlock-form{display:grid;gap:10px}
.unlock-form .row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.unlock-form input{appearance:none;width:100%;border:2px solid var(--ink);border-radius:12px;padding:13px 14px;font:500 1rem/1.3 var(--body);background:#fff}
.unlock-form .btn{justify-content:center;border:0;cursor:pointer}
.unlock-form .note{font-size:.82rem;color:var(--mute)}

.exact{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.exact .num{font:700 clamp(3.2rem,8vw,5.2rem)/.9 var(--disp);letter-spacing:-.04em}
.exact .den{font:600 1.1rem/1 var(--body);color:var(--mute)}
.exact .grade{font:700 1rem/1 var(--disp);padding:8px 12px;border-radius:99px;background:var(--lime)}
.gaps{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:12px}
.gaps li{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}
.gaps .n{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--lime);font:700 .85rem/1 var(--disp)}
.gaps h4{font:700 1.02rem/1.25 var(--disp);margin-bottom:4px}
.gaps p{color:var(--mute);font-size:.92rem}
.gaps .sev{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--coral)}

.pay{background:var(--ink);color:#fff;border-radius:18px;padding:clamp(22px,3vw,34px);margin-top:18px}
.pay h3{font:700 clamp(1.4rem,2.5vw,1.9rem)/1.15 var(--disp);margin-bottom:8px}
.pay p{color:#C8C9CE;max-width:48ch;margin-bottom:16px}
.pay .price{font:700 2rem/1 var(--disp);color:var(--lime);margin:8px 0 16px}
.pay .methods{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.pay .method{background:#16161A;border:1px solid #2a2a30;border-radius:14px;padding:14px;min-height:110px}
.pay .method b{display:block;font:700 1rem/1.2 var(--disp);margin-bottom:6px;color:#fff}
.pay .method span{font-size:.85rem;color:#9A9AA3;line-height:1.45}
.pay .upsell{margin-top:18px;padding-top:16px;border-top:1px solid #2a2a30;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.pay .upsell p{margin:0;color:#C8C9CE}
.pay .btn{background:var(--lime);border-color:var(--lime);color:var(--ink)}
.pay .btn.ghost{background:transparent;color:#fff;border-color:#fff}
.method-note{font-size:.8rem;color:#9A9AA3;margin-top:12px}

.method-foot{font-size:.82rem;color:var(--mute);margin-top:16px;max-width:60ch}
.lure-strip{background:var(--lime);border-top:1px solid rgba(11,11,13,.08);border-bottom:1px solid rgba(11,11,13,.08)}
.lure-strip .wrap{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;padding:18px 0}
.lure-strip p{font:700 1.05rem/1.3 var(--disp);margin:0}
.lure-strip .btn{background:var(--ink);color:var(--lime);border-color:var(--ink)}

.nav nav a.score-lure{color:var(--lime-ink);font-weight:600}
.nav nav a.score-lure:hover{color:var(--ink)}

@media (max-width:860px){
  .score-hero .wrap{grid-template-columns:1fr}
  .score-form .row2,.unlock-form .row2,.pay .methods{grid-template-columns:1fr}
}

.method.method-primary{border-color:var(--ink,#111);box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.pay .method.method-primary{border-color:var(--lime);box-shadow:0 0 0 1px rgba(200,245,66,.35)}
.pay .method.method-primary b{color:var(--lime)}
.method.method-primary b::after{content:" · primary";font-weight:600;opacity:.55;font-size:.85em}
html[lang^="zh"] .method.method-primary b::after{content:" · 主要"}

.unlock-form .field-label{display:flex;align-items:center;gap:8px;font:600 .88rem/1.2 var(--body);color:var(--ink);margin-top:2px}
.unlock-form .field-label-secondary{opacity:.85;font-weight:500}
.unlock-form .req-tag{display:inline-block;font:700 .68rem/1 var(--body);letter-spacing:.04em;text-transform:uppercase;background:var(--ink);color:#fff;padding:4px 7px;border-radius:999px}
.unlock-form .opt-tag{display:inline-block;font:600 .68rem/1 var(--body);letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--ink);color:var(--ink);padding:3px 7px;border-radius:999px;opacity:.7}


/* Craft polish — stub CTA + primary method on dark pay panel */
.pay .pay-cta{margin:4px 0 12px}
.pay .pay-cta .btn{display:inline-flex;align-items:center;justify-content:center;border:0;cursor:pointer}
.pay .pay-cta .btn:disabled{opacity:.55;cursor:not-allowed;transform:none}
.pay .method.method-primary{border-color:var(--lime);box-shadow:0 0 0 1px rgba(200,245,66,.35)}
.pay .method.method-primary b{color:var(--lime)}

/* === Deep polish: mobile Safari 320/390 + stub + lure === */
.score-page{padding-bottom:env(safe-area-inset-bottom,0)}
.scare-blurb{margin:8px 0 0;font:500 .95rem/1.45 var(--body)!important;color:var(--mute);max-width:52ch}
.soft-chal{margin:16px 0 0;padding:12px 14px;border-radius:12px;background:#fff8e8;border:1.5px solid #e0b84a;color:#5a4a18;font-size:.9rem;line-height:1.4}
.soft-chal[hidden],.status-banner[hidden],.soft-upsell-inline[hidden],.sticky-score-cta[hidden]{display:none!important}
.status-banner{margin:16px 0 0;padding:14px 16px;border-radius:12px;font:600 .95rem/1.4 var(--body)}
.status-banner.ok{background:#eef8d4;border:1.5px solid var(--score-ok);color:#2f4000}
.status-banner.warn{background:#fff5f2;border:1.5px solid var(--coral);color:#6a2a1a}
.soft-upsell-inline{margin-top:18px;padding:16px 18px;border-radius:14px;border:1.5px dashed var(--line);background:var(--paper);display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.soft-upsell-inline p{margin:0;color:var(--mute);max-width:40ch;font-size:.95rem}
.btn.ghost-ink{background:transparent;border:2px solid var(--ink);color:var(--ink)}
.pay .method-extra{opacity:.88;min-height:0}
.pay .extra-tag,.extra-tag{display:inline-block;font:600 .65rem/1 var(--body);letter-spacing:.04em;text-transform:uppercase;border:1px solid currentColor;padding:3px 6px;border-radius:99px;opacity:.7;vertical-align:middle;margin-left:4px}
.lure-strip .lure-copy{display:grid;gap:4px;max-width:48ch}
.lure-strip .lure-copy p{margin:0;font:700 clamp(1.05rem,2.4vw,1.25rem)/1.25 var(--disp)}
.lure-strip .lure-copy span{font:500 .9rem/1.4 var(--body);color:var(--ink);opacity:.85}
.sticky-score-cta{display:none}

/* iOS: prevent input zoom; 44px tap targets */
.score-form input,.score-form select,.unlock-form input{font-size:16px;min-height:48px;box-sizing:border-box}
.score-form .btn,.unlock-form .btn,.pay .pay-cta .btn,.sticky-score-cta .btn{min-height:48px;padding:14px 18px}
.score-panel{box-shadow:10px 10px 0 var(--coral)}
.chip{flex-wrap:wrap;max-width:100%;box-sizing:border-box}
.band-meter{min-width:140px;width:auto}
.band-row{align-items:stretch}
@media (max-width:860px){
  .band-main{flex-direction:column;align-items:stretch}
  .band-meter{max-width:none;width:100%;flex:1 1 auto;min-width:0}
  .band-label{font-size:clamp(1.55rem,7vw,2.2rem)}
}
.pay .methods{align-items:stretch}
.pay .method{min-height:0}
.score-hero .lede{max-width:42ch}

@media (max-width:860px){
  .score-hero{padding:28px 0 20px}
  .score-hero h1{font-size:clamp(1.85rem,8.5vw,2.6rem);max-width:11em}
  :lang(zh-HK) .score-hero h1{max-width:10em}
  .score-panel{border-radius:18px;padding:18px 16px;box-shadow:8px 8px 0 var(--coral)}
  .score-card,.pay{border-radius:16px;padding:18px 16px}
  .scare{padding:14px 14px}
  .scare p{font-size:clamp(1.05rem,4.8vw,1.35rem)}
  .band-meter{min-width:0}
  .band-meter .track{margin:10px 0 6px}
  .exact .num{font-size:clamp(2.6rem,16vw,4rem)}
  .pay .price{font-size:1.65rem}
  .pay .upsell{flex-direction:column;align-items:stretch}
  .pay .upsell .btn,.soft-upsell-inline .btn{width:100%;justify-content:center;text-align:center}
  .score-results{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}
  .sticky-score-cta{display:block;position:fixed;left:0;right:0;bottom:0;z-index:30;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));background:rgba(244,245,241,.94);backdrop-filter:blur(10px);border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(11,11,13,.08)}
  .sticky-score-cta .btn{width:100%;justify-content:center;display:flex;align-items:center}
  .lure-strip .wrap{flex-direction:column;align-items:stretch;gap:12px;padding:16px 0}
  .lure-strip .btn{width:100%;justify-content:center;text-align:center;min-height:48px}
  .work .shot,.work .shot.big{grid-column:span 12}
  .grid-3{grid-template-columns:1fr}
}

@media (max-width:390px){
  .score-hero h1{font-size:1.75rem}
  .score-trust span{font-size:.72rem;padding:5px 8px}
  .score-badge{font-size:.7rem;padding:7px 11px;letter-spacing:.08em}
  .unlock-form .field-label{font-size:.84rem}
  .method-foot{font-size:.78rem}
}

@media (max-width:320px){
  .wrap{width:calc(100% - 24px)}
  .score-hero h1{font-size:1.55rem}
  .score-panel,.score-card,.pay{padding:14px 12px;border-radius:14px}
  .score-form .row2{grid-template-columns:1fr}
  .exact .num{font-size:2.3rem}
  .chip{font-size:.85rem;padding:8px 10px}
}

/* Contract wire: unlockNote, pdf stub, deep report, after_pay upsell */
.unlock-note{margin:10px 0 0;color:var(--mute);font-size:.9rem;max-width:48ch}
.pdf-meta{margin:14px 0;padding:14px 16px;border-radius:12px;background:#16161A;border:1px solid #2a2a30}
.pdf-meta .pdf-title{font:700 1rem/1.2 var(--disp);color:var(--lime);margin:0 0 8px}
.pdf-meta ul{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.pdf-meta li{font-size:.88rem;color:#C8C9CE}
.pdf-meta li b{color:#fff;margin-right:6px}
.deep-btn{margin-top:12px;width:100%;justify-content:center;border:0;cursor:pointer;background:var(--lime);color:var(--ink);min-height:48px}
.deep-btn:disabled{opacity:.55;cursor:wait}
.deep-report{margin-top:16px;padding-top:14px;border-top:1px solid #2a2a30}
.deep-report .kicker{color:var(--lime);margin-bottom:10px}
.engine-list{list-style:none;padding:0;margin:0 0 14px;display:grid;gap:10px}
.engine-list li{padding:12px 14px;border-radius:12px;background:#16161A;border:1px solid #2a2a30;display:grid;gap:4px}
.engine-list b{color:#fff;font:700 .95rem/1.2 var(--disp)}
.engine-list .tag-api{display:inline-block;font-size:.72rem;color:var(--lime);opacity:.9}
.engine-list span{font-size:.85rem;color:#9A9AA3;line-height:1.4}
.section-list{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:8px}
.section-list li{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:10px 12px;border-radius:12px;background:#16161A;border:1px solid #2a2a30}
.section-list .n{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--lime);color:var(--ink);font:700 .8rem/1 var(--disp)}
.section-list h4{margin:0;font:700 .95rem/1.25 var(--disp);color:#fff}
.section-list .sev{margin:2px 0 0;font-size:.72rem;color:#9A9AA3;text-transform:uppercase;letter-spacing:.06em}
.pay .upsell.after-pay{margin-top:18px;padding-top:16px;border-top:1px solid #2a2a30;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.pay .upsell.after-pay[hidden]{display:none!important}
.pay .upsell.after-pay p{margin:0;color:#C8C9CE;max-width:40ch}

/* === Wave 2+3: WA/email notify, fix roadmap, HTML preview, QA flags === */
.wa-notify,.email-notify{margin-top:16px;padding:14px 16px;border-radius:14px;border:1.5px solid var(--line);background:var(--paper)}
.wa-notify .wa-title,.email-notify .wa-title{font:700 1rem/1.25 var(--disp);margin:0 0 6px}
.wa-notify .wa-note,.email-notify .wa-note{margin:0 0 10px;color:var(--mute);font-size:.88rem;max-width:52ch}
.wa-notify .wa-cta{display:inline-flex;margin-top:4px;min-height:44px}
.email-body{margin:0;padding:12px;border-radius:10px;background:#fff;border:1px solid var(--line);white-space:pre-wrap;word-break:break-word;font:500 .85rem/1.45 var(--body);color:var(--ink);max-height:220px;overflow:auto}
.soft-chal-detail{display:inline;font-weight:600}
.soft-chal-detail[hidden]{display:none!important}
.fix-roadmap{margin-top:14px}
.roadmap-list{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:8px}
.roadmap-list li{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:10px 12px;border-radius:12px;background:#16161A;border:1px solid #2a2a30}
.roadmap-list .n{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--lime);color:var(--ink);font:700 .8rem/1 var(--disp)}
.roadmap-list h4{margin:0;font:700 .95rem/1.25 var(--disp);color:#fff}
.roadmap-list p{margin:4px 0 0;font-size:.85rem;color:#9A9AA3;line-height:1.4}
.roadmap-list .sev{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--coral)}
.html-preview-wrap{margin-top:14px}
.html-preview-wrap iframe{width:100%;min-height:420px;border:1px solid #2a2a30;border-radius:12px;background:#fff}
.html-preview-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.html-preview-actions .btn{min-height:44px}
.pay .html-preview-actions .btn.ghost-ink{background:transparent;border:1.5px solid #fff;color:#fff}
.qa-flags{margin:10px 0 0;font:600 .72rem/1.3 var(--body);letter-spacing:.04em;text-transform:uppercase;color:var(--mute);opacity:.7}
.qa-flags[hidden]{display:none!important}
.debug-panel{margin:18px 0;padding:14px 16px;border-radius:12px;background:#111;color:#c8f542;border:1px solid #2a2a30}
.debug-panel pre{margin:8px 0 0;white-space:pre-wrap;word-break:break-word;font-size:.75rem;color:#9A9AA3;max-height:320px;overflow:auto}
.wa-notify[hidden],.email-notify[hidden],.fix-roadmap[hidden],.html-preview-wrap[hidden],.debug-panel[hidden]{display:none!important}

/* Safari sticky polish: keep sticky clear of unlock keyboard focus ring */
@media (max-width:860px){
  .sticky-score-cta{padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}
  .html-preview-wrap iframe{min-height:320px}
  .email-body{max-height:160px}
}

/* === Craft polish v10: Safari sticky keyboard, a11y, reduced-motion, 320/390 === */
.sticky-score-cta.kb-hidden{transform:translateY(110%)!important;pointer-events:none;opacity:0;transition:transform .18s ease,opacity .18s ease}
.sticky-score-cta{transition:transform .18s ease,opacity .18s ease}
.pay:focus{outline:none}
.pay:focus-visible{outline:3px solid var(--lime);outline-offset:3px}
.soft-chal:focus-visible{outline:2px solid #e0b84a;outline-offset:2px}
.html-preview-wrap iframe:focus-visible{outline:3px solid var(--lime);outline-offset:2px}

@media (prefers-reduced-motion: reduce){
  .band-meter .knob,.sticky-score-cta,.sticky-score-cta.kb-hidden{transition:none!important}
  html{scroll-behavior:auto}
}

@media (max-width:390px){
  .score-results{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}
  .sticky-score-cta{padding:8px 12px calc(10px + env(safe-area-inset-bottom,0px))}
  .unlock-form input,.score-form input,.score-form select{min-height:48px}
  .wa-notify .wa-cta,.html-preview-actions .btn{width:100%;justify-content:center}
}

@media (max-width:320px){
  .score-results{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}
  .sticky-score-cta .btn{font-size:.92rem;padding:12px 14px}
  .scare{padding:12px}
  .html-preview-wrap iframe{min-height:260px}
}

/* === v11 Nick UX: loading + gentle softChallenge tip === */
.score-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:36px 16px;text-align:center}
.score-loading[hidden]{display:none!important}
.score-loading-spin{width:36px;height:36px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--ink);animation:namedSpin .7s linear infinite}
.score-loading p{margin:0;font:600 1rem/1.35 var(--body);color:var(--mute)}
@keyframes namedSpin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.score-loading-spin{animation:none;border-top-color:var(--coral)}}
.score-card.is-loading .band-row,
.score-card.is-loading .scare,
.score-card.is-loading .chip,
.score-card.is-loading .gate,
.score-card.is-loading #unlockedBlock{opacity:.18;pointer-events:none;filter:grayscale(.2)}
.btn-spinner{display:inline-block;width:1em;height:1em;margin-right:6px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;vertical-align:-.15em;animation:namedSpin .6s linear infinite}
.soft-chal.soft-chal-tip{background:#f4f7ee;border-color:#b7c98a;color:#3a4a1a}
.soft-chal.soft-chal-tip .soft-chal-detail{opacity:.85;font-weight:500}


/* === v12 Nick UX: teaser header no-overlap (eyebrow / band / gauge) === */
.score-card .band-row{isolation:isolate}
.score-card .band-eyebrow{margin-bottom:6px}
.score-card .band-copy,.score-card .band-meter{position:relative}

/* Industry searchable combobox (v14) */
.industry-combo{position:relative}
.industry-search{appearance:none;width:100%;border:2px solid var(--ink);border-radius:12px;padding:14px 16px;font:500 1rem/1.3 var(--body);background:#fff;color:var(--ink);box-sizing:border-box}
.industry-search:focus{outline:3px solid var(--lime);outline-offset:2px}
.industry-list{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 4px);max-height:min(320px,50vh);overflow:auto;margin:0;padding:6px;list-style:none;background:#fff;border:2px solid var(--ink);border-radius:12px;box-shadow:8px 8px 0 rgba(11,11,13,.12)}
.industry-list[hidden]{display:none}
.industry-list .ig{font:700 .68rem/1.2 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--mute);padding:10px 10px 4px}
.industry-list .ii{display:block;width:100%;text-align:left;border:0;background:transparent;border-radius:8px;padding:10px 12px;font:600 .95rem/1.3 var(--body);color:var(--ink);cursor:pointer}
.industry-list .ii:hover,.industry-list .ii[aria-selected="true"],.industry-list .ii.active{background:rgba(200,245,66,.35)}
.industry-list .ii small{display:block;font:500 .78rem/1.3 var(--body);color:var(--mute);margin-top:2px}
.score-form .row2{grid-template-columns:1.4fr .9fr}
@media (max-width:720px){
  .score-form .row2{grid-template-columns:1fr}
  .industry-search{font-size:16px;min-height:48px}
}


/* v15: what’s-inside + PDF download + sitePull honesty */
.whats-inside{margin:14px 0 16px;padding:16px 18px;border-radius:14px;background:rgba(200,245,66,.08);border:1.5px solid rgba(200,245,66,.35)}
.whats-inside-title{font:700 1.05rem/1.25 var(--disp);margin:0 0 10px;color:var(--ink)}
.pay .whats-inside{background:#1a1c14;border-color:rgba(200,245,66,.4)}
.pay .whats-inside-title{color:var(--lime)}
.whats-inside ul{margin:0;padding:0 0 0 1.15em;display:grid;gap:8px}
.whats-inside li{font-size:.92rem;line-height:1.45;color:var(--ink)}
.pay .whats-inside li{color:#E6E7EB}
.whats-inside-soft{margin:12px 0 0;font-size:.84rem;color:var(--mute);max-width:48ch}
.pay .whats-inside-soft{color:#9A9AA3}
.site-pull{margin:10px 0 0;padding:10px 12px;border-radius:10px;background:var(--paper);border:1px solid var(--line);font-size:.86rem;color:var(--mute);max-width:56ch}
.site-pull[hidden]{display:none!important}
.pdf-actions{margin-top:12px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.btn.pdf-download{min-height:44px;background:var(--lime);color:var(--ink);border:0;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;padding:0 18px;border-radius:999px;font:700 .95rem/1 var(--disp)}
.btn.pdf-download.is-disabled,.btn.pdf-download[aria-disabled="true"]{opacity:.5;cursor:not-allowed;pointer-events:auto;background:#3a3a40;color:#9A9AA3}
.pdf-status{margin:0;font-size:.84rem;color:#9A9AA3;max-width:42ch}
.pdf-meta .pdf-title{font:700 1rem/1.2 var(--disp);color:var(--lime);margin:0 0 8px}

.pay-cta.pay-ui-off .btn:not([data-pay-live="1"]){opacity:.55;cursor:not-allowed}

/* v17 trust pass */
.whats-inside .wi-section{margin:0 0 12px}
.whats-inside .wi-h{font:700 .88rem/1.3 var(--disp);margin:0 0 6px;color:var(--ink);letter-spacing:.02em}
.pay .whats-inside .wi-h{color:var(--lime)}
.whats-inside .wi-section ul{margin:0;padding:0 0 0 1.15em;display:grid;gap:6px}
.whats-inside .wi-section li{font-size:.9rem;line-height:1.45}
.free-path-method{margin:14px 0 0;padding:14px 16px;border-radius:12px;background:var(--paper);border:1px dashed var(--line);max-width:58ch}
.free-path-method[hidden]{display:none!important}
.free-path-title{font:700 .95rem/1.3 var(--disp);margin:0 0 8px;color:var(--ink)}
.free-path-steps{margin:0;padding:0 0 0 0;list-style:none;display:grid;gap:6px}
.free-path-steps li{font-size:.86rem;line-height:1.45;color:var(--mute)}
.free-path-evidence{margin:10px 0 0;font-size:.84rem;line-height:1.4;color:var(--ink);padding:8px 10px;border-radius:8px;background:rgba(200,245,66,.12);border:1px solid rgba(200,245,66,.35)}
.site-pull{max-width:58ch}
.score-card.is-loading .free-path-method,
.score-card.is-loading .site-pull{opacity:.18;pointer-events:none;filter:grayscale(.2)}


/* v18 Gemini/Resend prep */
.model-badge{margin:10px 0 0;display:inline-flex;align-items:center;gap:6px;font:600 .78rem/1.3 var(--body);letter-spacing:.04em;color:var(--mute);background:var(--paper);border:1px solid var(--line);border-radius:99px;padding:6px 12px;max-width:56ch}
.model-badge[hidden]{display:none!important}
.model-badge.is-mock{color:var(--mute);background:rgba(0,0,0,.03)}
.model-badge.is-live{color:var(--lime-ink);background:rgba(200,245,66,.18);border-color:rgba(79,106,0,.28)}
.email-notify.is-sent{border-color:rgba(79,106,0,.35);background:rgba(200,245,66,.1)}
.email-notify.is-error{border-color:rgba(160,60,40,.35);background:rgba(160,60,40,.06)}
.email-notify.is-queued{border-color:var(--line)}
.score-card.is-loading .model-badge{opacity:.18;pointer-events:none;filter:grayscale(.2)}


/* === v19 light craft bump (Nick: slightly boring → quiet richer) === */
.score-page{
  --score-elev:0 10px 28px rgba(11,11,13,.06);
  --score-elev-soft:0 4px 14px rgba(11,11,13,.04);
  --score-ring:0 0 0 1px rgba(11,11,13,.04);
}
.score-hero{padding:clamp(48px,7.5vw,96px) 0 clamp(32px,4.5vw,56px)}
.score-hero .sym-bg{color:#E8E9E3;opacity:.9}
.score-badge{
  background:linear-gradient(180deg,rgba(200,245,66,.38),rgba(200,245,66,.22));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 1px 2px rgba(79,106,0,.08);
}
.score-hero h1{margin:22px 0 18px}
.score-hero .lede{color:#3F3F48;line-height:1.65}
.score-panel{
  background:linear-gradient(180deg,#fff 0%,var(--paper2) 100%);
  border-radius:24px;
  padding:clamp(24px,3.2vw,36px);
  box-shadow:14px 14px 0 var(--coral), var(--score-elev-soft);
}
.score-panel h2{font-size:clamp(1.28rem,2.2vw,1.45rem);letter-spacing:-.015em;margin-bottom:8px}
.score-panel .hint{margin-bottom:20px;line-height:1.5}
.score-form{gap:14px}
.score-form input,.score-form select,.unlock-form input,.industry-search{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 1px 2px rgba(11,11,13,.03);
  transition:border-color .15s ease,box-shadow .15s ease;
}
.score-form input:hover,.score-form select:hover,.unlock-form input:hover,.industry-search:hover{
  border-color:#2a2a30;
}
.score-trust{gap:8px;margin-top:16px}
.score-trust span{
  background:#fff;
  border-color:rgba(11,11,13,.1);
  box-shadow:var(--score-elev-soft);
  padding:6px 12px;
}

.score-card{
  border-radius:20px;
  border-color:rgba(11,11,13,.08);
  box-shadow:var(--score-elev), var(--score-ring);
  padding:clamp(24px,3.2vw,38px);
}
.score-card + .score-card{margin-top:20px}
.band-eyebrow,.band-row>.kicker{letter-spacing:.1em;color:var(--mute);margin-bottom:8px}
.band-main{gap:16px 24px}
.band-label{letter-spacing:-.02em;line-height:1.08}
.band-sub{margin-top:10px;font-size:.96rem}
.band-meter .track{
  height:16px;
  margin:10px 0;
  box-shadow:inset 0 1px 2px rgba(11,11,13,.12),0 1px 0 rgba(255,255,255,.5);
  background:linear-gradient(90deg,#FF5B3A 0%,#FF8A5B 28%,#C8F542 68%,#4F6A00 100%);
}
.band-meter .knob{
  width:24px;height:24px;
  border:3px solid #fff;
  box-shadow:0 2px 10px rgba(0,0,0,.28),0 0 0 4px rgba(200,245,66,.22);
}

.scare{
  margin-top:24px;
  padding:20px 22px;
  border-radius:16px;
  background:linear-gradient(180deg,#fff,#F7F8F4);
  border:1px solid rgba(11,11,13,.08);
  box-shadow:var(--score-elev-soft);
}
.scare .tag{
  display:inline-flex;align-items:center;
  padding:5px 10px;border-radius:99px;
  background:rgba(11,11,13,.05);border:1px solid rgba(11,11,13,.08);
  letter-spacing:.1em;margin-bottom:12px;color:#4a4a52;
}
.scare p{letter-spacing:-.01em}
.scare-blurb{margin-top:10px!important;line-height:1.55!important}

.chip{
  margin-top:14px;
  padding:11px 16px;
  background:linear-gradient(180deg,#d4f76a,var(--lime));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 2px 8px rgba(79,106,0,.12);
  gap:10px;
}
.chip .sev{opacity:.7}

.model-badge{
  margin:14px 0 0;
  padding:8px 14px;
  gap:8px;
  background:linear-gradient(180deg,#fff,var(--paper));
  border:1px solid rgba(11,11,13,.1);
  box-shadow:var(--score-elev-soft);
  letter-spacing:.03em;
}
.model-badge::before{
  content:"";width:8px;height:8px;border-radius:50%;
  background:#9A9AA3;box-shadow:0 0 0 3px rgba(154,154,163,.18);flex:0 0 auto;
}
.model-badge.is-mock{background:linear-gradient(180deg,#fafaf8,#f0f1ec);color:#5C5C66}
.model-badge.is-mock::before{background:#9A9AA3}
.model-badge.is-live{
  background:linear-gradient(180deg,rgba(200,245,66,.28),rgba(200,245,66,.14));
  border-color:rgba(79,106,0,.32);color:var(--lime-ink);
}
.model-badge.is-live::before{background:var(--lime-ink);box-shadow:0 0 0 3px rgba(79,106,0,.18)}

.site-pull{
  margin-top:12px;padding:12px 14px;border-radius:12px;
  background:linear-gradient(180deg,#fff,var(--paper));
  border:1px solid rgba(11,11,13,.08);
  box-shadow:var(--score-elev-soft);
  line-height:1.5;
}
.free-path-method{
  margin-top:16px;padding:16px 18px;border-radius:14px;
  background:linear-gradient(180deg,#fff,#F7F8F4);
  border:1px solid rgba(11,11,13,.1);
  border-style:solid;
  box-shadow:var(--score-elev-soft);
}
.free-path-title{margin-bottom:10px;letter-spacing:-.01em}
.free-path-steps{gap:8px}
.free-path-steps li{
  padding:8px 10px;border-radius:10px;background:rgba(11,11,13,.025);
  border:1px solid rgba(11,11,13,.05);
}
.free-path-evidence{
  margin-top:12px;padding:10px 12px;border-radius:10px;
  background:linear-gradient(180deg,rgba(200,245,66,.18),rgba(200,245,66,.08));
  border-color:rgba(79,106,0,.22);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.4);
}

.gate{margin-top:26px;padding-top:24px}
.gate h3{letter-spacing:-.015em;margin-bottom:8px}
.gate p{margin-bottom:16px;line-height:1.5}
.unlock-form{gap:12px}
.unlock-form .note{line-height:1.45}

.gaps{gap:14px;margin-top:20px}
.gaps li{
  padding:16px 18px;border-radius:16px;
  border-color:rgba(11,11,13,.08);
  background:linear-gradient(180deg,#fff,var(--paper));
  box-shadow:var(--score-elev-soft);
  gap:14px;
}
.gaps .n{width:30px;height:30px;box-shadow:0 0 0 3px rgba(200,245,66,.2)}

.whats-inside{
  margin:16px 0 18px;padding:18px 20px;border-radius:16px;
  background:linear-gradient(180deg,rgba(200,245,66,.12),rgba(200,245,66,.05));
  border:1px solid rgba(79,106,0,.22);
  box-shadow:var(--score-elev-soft);
}
.whats-inside-title{margin-bottom:12px;letter-spacing:-.01em}
.whats-inside .wi-section{margin:0 0 14px}
.whats-inside .wi-h{margin-bottom:8px}

.email-notify,.wa-notify{
  margin-top:18px;padding:16px 18px;border-radius:16px;
  background:linear-gradient(180deg,#fff,var(--paper));
  border:1px solid rgba(11,11,13,.1);
  box-shadow:var(--score-elev-soft);
}
.email-notify .wa-title,.wa-notify .wa-title{letter-spacing:-.01em;margin-bottom:8px}
.email-notify .wa-note,.wa-notify .wa-note{margin-bottom:12px;line-height:1.5}
.email-notify.is-sent{
  border-color:rgba(79,106,0,.4);
  background:linear-gradient(180deg,rgba(200,245,66,.16),rgba(200,245,66,.06));
  box-shadow:0 0 0 3px rgba(200,245,66,.12), var(--score-elev-soft);
}
.email-notify.is-error{
  border-color:rgba(160,60,40,.4);
  background:linear-gradient(180deg,rgba(255,245,242,.9),rgba(160,60,40,.05));
}
.email-notify.is-queued{border-style:dashed}
.email-body{
  padding:14px;border-radius:12px;
  box-shadow:inset 0 1px 2px rgba(11,11,13,.04);
}

.score-loading{padding:44px 18px;gap:16px}
.score-loading-spin{
  width:40px;height:40px;border-width:3.5px;
  border-color:rgba(11,11,13,.12);border-top-color:var(--ink);
  box-shadow:0 0 0 6px rgba(200,245,66,.12);
}
.score-loading p{font-size:1.02rem;color:#4a4a52}

.exact .num{letter-spacing:-.045em}
.exact .grade{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 1px 4px rgba(79,106,0,.12);
}

@media (max-width:860px){
  .score-panel{border-radius:20px;padding:20px 18px;box-shadow:10px 10px 0 var(--coral), var(--score-elev-soft)}
  .score-card{border-radius:18px;padding:20px 18px}
  .scare{padding:16px 16px}
  .band-meter .track{height:14px}
  .band-meter .knob{width:22px;height:22px}
}
@media (max-width:320px){
  .score-panel,.score-card{padding:16px 14px;border-radius:16px}
}

/* === v22 craft polish (Nick: still slightly flat → quieter designed rhythm) === */
.score-page{
  --score-space-xs:8px;
  --score-space-sm:12px;
  --score-space-md:18px;
  --score-space-lg:28px;
  --score-rail:3px solid rgba(79,106,0,.35);
}

/* Free-result stack: consistent breathing between band → finding → chip → honesty → gate */
.score-card .band-row{margin-bottom:2px}
.scare{margin-top:var(--score-space-lg);padding:22px 22px 20px}
.scare .tag{
  font:700 .7rem/1 var(--body);
  letter-spacing:.12em;
  margin-bottom:14px;
  padding:6px 11px;
}
.scare > p:not(.scare-blurb){
  letter-spacing:-.018em;
  line-height:1.32;
  max-width:28ch;
}
:lang(zh-HK) .scare > p:not(.scare-blurb){max-width:18em;letter-spacing:0;line-height:1.4}
.scare-blurb{margin-top:12px!important;line-height:1.6!important;max-width:54ch}

.chip{
  margin-top:16px;
  padding:10px 14px 10px 12px;
  border-width:1.5px;
  border-color:rgba(11,11,13,.85);
  gap:10px;
  align-items:center;
}
.chip .sev{
  display:inline-flex;align-items:center;
  padding:4px 8px;border-radius:99px;
  background:rgba(11,11,13,.08);
  font:700 .68rem/1 var(--body);
  letter-spacing:.1em;
  opacity:1;color:var(--ink);
}

.model-badge{margin-top:16px}
.site-pull{margin-top:14px;padding:13px 15px;border-radius:12px;line-height:1.55}
.free-path-method{margin-top:18px;padding:18px 18px 16px;border-radius:16px}
.free-path-title{margin-bottom:12px;font-size:1rem;letter-spacing:-.015em}
.free-path-steps{gap:10px;counter-reset:fpstep}
.free-path-steps li{
  position:relative;
  padding:10px 12px 10px 14px;
  border-radius:12px;
  line-height:1.5;
  border-color:rgba(11,11,13,.06);
}
.free-path-evidence{margin-top:14px;padding:12px 14px;border-radius:12px;line-height:1.5}

.gate{
  margin-top:32px;
  padding-top:28px;
  border-top:1px solid rgba(11,11,13,.08);
}
.gate h3{font-size:clamp(1.2rem,2.4vw,1.35rem);margin-bottom:10px;letter-spacing:-.02em}
.gate > p{margin-bottom:18px;line-height:1.55;max-width:48ch}
.unlock-form{gap:14px;margin-top:4px}
.unlock-form .note{line-height:1.5;margin-top:2px}
.unlock-form .field-label{margin-top:4px}

/* Unlock score block */
#unlockedBlock{margin-top:8px;padding-top:4px}
.exact{margin-top:12px;gap:14px;align-items:center}
.exact .num{letter-spacing:-.05em;line-height:.88}
.exact .den{font-size:1.05rem;letter-spacing:.02em}
.exact .grade{padding:9px 14px;letter-spacing:.02em}
.unlock-note{margin:14px 0 0;line-height:1.55;max-width:52ch;font-size:.92rem}
.gaps-heading{
  margin:22px 0 0;
  font:700 .72rem/1.35 var(--body);
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--mute);
}
.gaps{gap:14px;margin-top:14px}
.gaps li{
  padding:18px 18px 16px;
  border-radius:16px;
  border:1px solid rgba(11,11,13,.08);
  border-left:var(--score-rail);
  background:linear-gradient(180deg,#fff 0%,#F7F8F4 100%);
  box-shadow:var(--score-elev-soft);
  gap:14px;
  align-items:start;
  transition:border-color .15s ease,box-shadow .15s ease;
}
.gaps li:hover{
  border-color:rgba(11,11,13,.12);
  box-shadow:0 6px 18px rgba(11,11,13,.06);
}
.gaps .n{
  width:32px;height:32px;margin-top:2px;
  box-shadow:0 0 0 3px rgba(200,245,66,.18);
  font-size:.9rem;
}
.gaps .sev{
  display:inline-flex;align-items:center;
  margin:0 0 8px;
  padding:4px 8px;border-radius:99px;
  background:rgba(11,11,13,.05);
  border:1px solid rgba(11,11,13,.06);
  color:#5C5C66;
  font-size:.68rem;letter-spacing:.1em;
}
.gaps h4{
  font:700 1.06rem/1.28 var(--disp);
  margin:0 0 6px;
  letter-spacing:-.015em;
}
:lang(zh-HK) .gaps h4{letter-spacing:0;line-height:1.35}
.gaps p{font-size:.92rem;line-height:1.55;color:#4a4a52;margin:0;max-width:52ch}

/* email / WA notify panels */
.email-notify,.wa-notify{
  margin-top:20px;
  padding:18px 18px 16px;
  border-radius:16px;
  border-left:var(--score-rail);
}
.email-notify .wa-title,.wa-notify .wa-title{
  font-size:1.02rem;
  letter-spacing:-.015em;
  margin-bottom:8px;
}
.email-notify .wa-note,.wa-notify .wa-note{
  margin-bottom:12px;
  line-height:1.55;
  font-size:.88rem;
}
.email-body{
  padding:14px 16px;
  border-radius:12px;
  border:1px solid rgba(11,11,13,.08);
  background:linear-gradient(180deg,#fff,#FBFBF9);
  font:500 .86rem/1.55 var(--body);
  box-shadow:inset 0 1px 2px rgba(11,11,13,.03);
}
.email-notify.is-sent{border-left-color:rgba(79,106,0,.55)}
.email-notify.is-error{border-left-color:rgba(160,60,40,.55);border-left-width:3px}
.email-notify.is-queued{border-left-style:dashed;border-left-color:rgba(11,11,13,.25)}

/* what’s-inside breathing + section hierarchy */
.whats-inside{
  margin:18px 0 20px;
  padding:20px 20px 18px;
  border-radius:16px;
}
.whats-inside-title{
  margin:0 0 16px;
  font-size:1.08rem;
  letter-spacing:-.015em;
  line-height:1.25;
}
.whats-inside .wi-section{
  margin:0;
  padding:14px 0;
  border-top:1px solid rgba(11,11,13,.06);
}
.whats-inside .wi-section:first-of-type{border-top:0;padding-top:0}
.whats-inside .wi-section:last-of-type{padding-bottom:4px}
.pay .whats-inside .wi-section{border-top-color:rgba(200,245,66,.12)}
.whats-inside .wi-h{
  margin:0 0 8px;
  font:700 .72rem/1.3 var(--body);
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#5C5C66;
}
.pay .whats-inside .wi-h{color:rgba(200,245,66,.85);letter-spacing:.1em}
.whats-inside .wi-section ul{gap:7px}
.whats-inside .wi-section li{line-height:1.5;font-size:.9rem}
.whats-inside-soft{margin:14px 0 0;padding-top:12px;border-top:1px dashed rgba(11,11,13,.1);line-height:1.5;max-width:52ch}
.pay .whats-inside-soft{border-top-color:rgba(255,255,255,.12)}

/* Pay block breathing when visible */
.pay{margin-top:22px;padding:clamp(24px,3.2vw,36px)}
.pay h3{margin-bottom:10px;letter-spacing:-.02em}
.pay > p{margin-bottom:14px;line-height:1.55}

/* Mobile sticky / keyboard leftovers */
@media (max-width:860px){
  .scare{padding:18px 16px}
  .gaps li{padding:16px 14px;gap:12px}
  .gaps .n{width:28px;height:28px}
  .email-notify,.wa-notify{padding:16px 14px}
  .whats-inside{padding:16px 14px}
  .gate{margin-top:28px;padding-top:24px}
  .score-results{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}
  .sticky-score-cta{
    padding:12px 14px calc(12px + env(safe-area-inset-bottom,0px));
    background:rgba(244,245,241,.97);
    box-shadow:0 -10px 28px rgba(11,11,13,.1);
  }
  .sticky-score-cta .btn{min-height:48px;font-size:.95rem;letter-spacing:-.01em}
  /* Extra clearance when unlock form / email body near bottom */
  #unlockedBlock,.gate{scroll-margin-bottom:110px}
  .email-body{max-height:180px}
}
@media (max-width:390px){
  .score-results{padding-bottom:calc(108px + env(safe-area-inset-bottom,0px))}
  .chip{padding:9px 12px;font-size:.88rem}
  .gaps-heading{letter-spacing:.08em}
  .scare > p:not(.scare-blurb){font-size:1.12rem}
}
@media (max-width:320px){
  .gaps li{grid-template-columns:1fr;padding:14px 12px}
  .gaps .n{margin-bottom:4px}
  .whats-inside .wi-h{letter-spacing:.06em}
}
@media (prefers-reduced-motion:reduce){
  .gaps li{transition:none}
}
