.disctm-career-pair-meter--locked{opacity:.72}
.disctm-career-pair-track--locked{
  display:grid;
  place-items:center;
  overflow:visible;
  background:var(--disctm-color-background-almost-white,#f5f5f7);
  box-shadow:inset 0 0 0 1px var(--disctm-color-gray-border,#d2d2d7);
}
.disctm-career-pair-lock-icon{
  display:block;
  width:14px;
  height:14px;
  background:var(--disctm-color-gray-secondary-text,#6e6e73);
  -webkit-mask:url("../svg/lock.fill.svg") center/contain no-repeat;
  mask:url("../svg/lock.fill.svg") center/contain no-repeat;
}
.disctm-career-pair-legend--locked>span{color:var(--disctm-color-gray-secondary-text,#6e6e73)!important}
.disctm-alpha-upgrade-gate-host{
  --disctm-alpha-paywall-border:var(--disctm-color-gray-border,#d2d2d7);
  --disctm-alpha-paywall-radius:12px;
  --disctm-alpha-space:12px;
  --disctm-alpha-section-space:24px;
  --disctm-alpha-panel-padding:24px;
  --disctm-alpha-art-width:96px;
  --disctm-alpha-qr-width:168px;
  width:100%;
  margin:0 0 30px;
}
/* Additional CSS owns button typography and all color states. The shared
   button-tertiary class is present only while collapsed; expanded uses the
   native primary button style. Retain the compact, full-width panel geometry. */
.disctm-alpha-upgrade-reveal{
  min-height:36px;
  appearance:none;
  -webkit-appearance:none;
  display:inline-flex;
  width:100%;
  align-items:center;
  justify-content:center;
  gap:var(--disctm-alpha-space);
  margin:0;
  padding:7px 21px;
  border-width:1px;
  border-style:solid;
  border-radius:var(--disctm-alpha-paywall-radius);
  outline:none;
  box-shadow:none;
  text-align:center;
  text-decoration:none;
  cursor:pointer;
  transform:none;
  -webkit-tap-highlight-color:transparent;
  transition:background-color .16s cubic-bezier(.2,.8,.2,1),border-color .16s cubic-bezier(.2,.8,.2,1),color .16s cubic-bezier(.2,.8,.2,1),border-radius .16s cubic-bezier(.2,.8,.2,1);
}
/* Closing restores focus to the trigger. Keep Additional CSS tertiary default
   colors until hover, without removing the keyboard focus indicator. */
.disctm-alpha-upgrade-reveal.button-tertiary[aria-expanded="false"]:focus:not(:hover):not(:active){
  background:rgba(0,0,0,0);
  color:#06c;
  border-color:#06c;
}
/* The chevron takes the button's text color through a mask of the repository glyph. */
.disctm-alpha-upgrade-gate-chevron{
  width:14px;
  height:14px;
  flex:0 0 14px;
  background:currentColor;
  -webkit-mask:url("../svg/chevron.down.svg") center/14px 14px no-repeat;
  mask:url("../svg/chevron.down.svg") center/14px 14px no-repeat;
  transform:rotate(0deg);
  transform-origin:center;
  transition:transform .16s cubic-bezier(.2,.8,.2,1);
}
/* Square the lower corners while expanded so the button joins the panel. */
.disctm-alpha-upgrade-gate-host.is-alpha-paywall-open>.disctm-alpha-upgrade-reveal{
  border-radius:var(--disctm-alpha-paywall-radius) var(--disctm-alpha-paywall-radius) 0 0;
}
.disctm-alpha-upgrade-gate-host.is-alpha-paywall-open>.disctm-alpha-upgrade-reveal .disctm-alpha-upgrade-gate-chevron{
  transform:rotate(180deg);
}
.disctm-alpha-upgrade-reveal:focus,
.disctm-alpha-upgrade-reveal:active{
  border-width:1px!important;
  border-style:solid!important;
  outline:none!important;
  box-shadow:none!important;
}
.disctm-alpha-upgrade-reveal:focus-visible,
html[data-a-disc-input-modality="keyboard"] .disctm-report-contents .disctm-alpha-upgrade-reveal:focus{
  outline:var(--disctm-focus-ring-width,2px) solid var(--disctm-focus-ring-color,var(--disctm-color-accent,#0071e3))!important;
  outline-offset:var(--disctm-focus-ring-offset,3px)!important;
  outline-style:solid!important;
}
.disctm-alpha-upgrade-reveal:-moz-focusring{
  outline:var(--disctm-focus-ring-width,2px) solid var(--disctm-focus-ring-color,var(--disctm-color-accent,#0071e3))!important;
  outline-offset:var(--disctm-focus-ring-offset,3px)!important;
  outline-style:solid!important;
}
.disctm-alpha-upgrade-panel{
  --disctm-alpha-upgrade-panel-radius:var(--disctm-alpha-paywall-radius,12px);
  position:relative;
  margin:0;
  padding:var(--disctm-alpha-panel-padding);
  padding-bottom:var(--disctm-alpha-section-space);
  border:1px solid var(--disctm-alpha-paywall-border,#d2d2d7);
  border-top:0;
  border-style:solid;
  border-radius:0 0 var(--disctm-alpha-upgrade-panel-radius) var(--disctm-alpha-upgrade-panel-radius);
  background:var(--disctm-white,#fff);
  box-shadow:none;
}
.disctm-alpha-upgrade-panel.is-loading::after{
  content:"";
  display:block;
  width:24px;
  height:24px;
  margin:var(--disctm-alpha-section-space) auto 0;
  border:2px solid var(--disctm-color-gray-border,#d2d2d7);
  border-top-color:var(--disctm-color-accent,#0071e3);
  border-radius:50%;
  animation:disctm-alpha-upgrade-spin .8s linear infinite;
}
@keyframes disctm-alpha-upgrade-spin{to{transform:rotate(1turn)}}
.disctm-alpha-upgrade-qr-group[hidden],
.disctm-alpha-upgrade-payment>dl[hidden],
.disctm-alpha-upgrade-panel[hidden],
.disctm-alpha-upgrade-invoice[hidden],
.disctm-report-contents .disctm-alpha-upgrade-panel [data-disctm-alpha-vietnam-province][hidden],
.disctm-alpha-upgrade-payment[hidden],
.disctm-alpha-upgrade-error[hidden]{display:none!important}
.disctm-report-contents .disctm-alpha-upgrade-panel :is(p,h4,dt,dd,label){text-align:left}
/* Proportional report artwork beside the heading and included benefits. */
.disctm-alpha-upgrade-panel-heading{display:grid;grid-template-columns:var(--disctm-alpha-art-width) minmax(0,1fr);gap:var(--disctm-alpha-section-space);align-items:center;min-width:0;padding:0 0 var(--disctm-alpha-space);margin:0;border-bottom:1px solid var(--disctm-color-gray-border,#d2d2d7)}
.disctm-alpha-upgrade-panel-heading:focus,
.disctm-alpha-upgrade-panel-heading:focus-visible{outline:none!important;box-shadow:none!important}
.disctm-alpha-upgrade-unlock-copy{min-width:0}
.disctm-report-contents .disctm-alpha-upgrade-unlock-copy>h4{margin:0!important;text-align:left}
/* Additional CSS owns the rhythm: the list takes its headline-plus-first-element
   token (0.8em) and .links-stacked li + li gives 0.4em between rows. The token is
   restated here because a higher-specificity list reset otherwise zeroes it. */
.disctm-report-contents .disctm-alpha-upgrade-benefits{margin:var(--sk-headline-plus-first-element-margin,0.8em) 0 0;padding:0;list-style:none;min-width:0}
.disctm-alpha-upgrade-benefits>.disctm-alpha-upgrade-benefit{display:flex;align-items:flex-start;gap:var(--disctm-alpha-space);min-width:0;text-align:left}
.disctm-alpha-upgrade-benefit>svg{display:block;width:18px;height:18px;flex:0 0 18px;margin-top:3px;color:var(--disctm-color-accent,#0071e3)}
.disctm-alpha-upgrade-benefit span{min-width:0;font:inherit;letter-spacing:inherit;text-transform:inherit}
.disctm-alpha-upgrade-explanation{color:var(--disctm-color-gray-secondary-text,#6e6e73)}
.disctm-alpha-upgrade-report-art{position:relative;isolation:isolate;width:var(--disctm-alpha-art-width);aspect-ratio:210/297;justify-self:center;align-self:start;margin-top:var(--disctm-alpha-art-top,0px)}
.disctm-alpha-upgrade-report-icon{display:block;width:100%;height:100%;object-fit:contain}
/* HTML price inherits real page typography and never scales with the SVG. */
.disctm-alpha-upgrade-report-price{position:absolute;inset-inline:0;bottom:14%;text-align:center;white-space:nowrap}
.disctm-alpha-upgrade-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start;margin-top:var(--disctm-alpha-section-space)}
.disctm-alpha-upgrade-field--email{grid-column:1/-1}
.disctm-alpha-upgrade-field{
  width:100%;
  min-width:0;
  margin:0;
}
.disctm-alpha-upgrade-field--wide{grid-column:1/-1}
.disctm-alpha-upgrade-disclosure{
  align-self:center;
  grid-column:1/-1;
  margin:0;
  white-space:nowrap;
}
.disctm-alpha-upgrade-invoice{grid-column:1/-1;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.disctm-alpha-upgrade-invoice .disctm-alpha-invoice-marker{color:var(--disctm-color-d-red,#da251d)}
.disctm-alpha-upgrade-field--name{grid-column:1/-1}
.disctm-alpha-upgrade-field--country{grid-column:1/4}
.disctm-alpha-upgrade-field--province{grid-column:4/-1}
.disctm-alpha-upgrade-field--address{grid-column:1/-1}
.disctm-alpha-upgrade-field--tax-code{grid-column:1/3}
.disctm-alpha-upgrade-field--phone{grid-column:3/5}
.disctm-alpha-upgrade-field--additional-info{grid-column:5/-1}
.disctm-alpha-upgrade-invoice.is-non-vietnam-country .disctm-alpha-upgrade-field--country{grid-column:1/-1}
@media (min-width:735px){
  .disctm-alpha-upgrade-field--tax-code{grid-column:1/4;grid-row:4}
  .disctm-alpha-upgrade-field--phone{grid-column:1/4;grid-row:5}
  .disctm-alpha-upgrade-field--additional-info{grid-column:4/-1;grid-row:4/6;height:100%}
  .disctm-alpha-upgrade-field--additional-info>textarea{height:100%;min-height:0}
}
.disctm-alpha-upgrade-error-row{grid-column:1/-1;display:flex;align-items:baseline;gap:8px}
.disctm-alpha-upgrade-error{margin:0!important;color:var(--disctm-color-d-red,#da251d)}
/* Side by side, size and align the visible QR pattern to the bank details'
   text bounds. Preserve the image quiet zone and CSS padding for scanning. */
.disctm-alpha-upgrade-payment{display:grid;grid-template-columns:var(--disctm-alpha-qr-width) minmax(0,1fr);gap:var(--disctm-alpha-section-space);align-items:center;margin-top:var(--disctm-alpha-section-space);padding-top:0;border:0}
.disctm-alpha-upgrade-qr-group>img{display:block;box-sizing:border-box;width:var(--disctm-alpha-qr-width);max-width:100%;height:auto;padding:4px;justify-self:center;border:0;border-radius:12px;background:var(--disctm-white,#fff);image-rendering:pixelated;translate:0 var(--disctm-alpha-qr-offset,0px)}
.disctm-alpha-upgrade-payment>dl{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:var(--sk-paragraph-plus-element-margin,0.8em) var(--disctm-alpha-space);width:100%;min-width:0;margin:0;text-align:left}
.disctm-alpha-upgrade-payment>dl>div{display:contents}
.disctm-alpha-upgrade-payment dt,.disctm-alpha-upgrade-payment dd{font:inherit;letter-spacing:inherit;text-align:left!important;min-width:0;margin:0;padding:0;border:0}
.disctm-alpha-upgrade-payment dt{color:var(--disctm-color-gray-secondary-text,#6e6e73)}
.disctm-alpha-upgrade-payment dd{display:block;min-height:0;overflow-wrap:anywhere}
.disctm-alpha-upgrade-payment dd>span{min-width:0;font:inherit;letter-spacing:inherit}
/* Inline copy feedback shares the value's font and baseline. Keep the icon and
   confirmation together in normal text flow, including wrapped transfer text. */
.disctm-alpha-upgrade-gate-host{--disctm-alpha-copy-size:36px}
.disctm-alpha-upgrade-payment dd.disctm-alpha-upgrade-copy-value{display:block}
.disctm-alpha-upgrade-copy{
  appearance:none;
  -webkit-appearance:none;
  position:relative;
  display:inline-flex;
  align-items:baseline;
  gap:2px;
  width:auto;
  height:auto;
  margin:0 0 0 2px;
  padding:0;
  border:0;
  border-radius:0;
  outline:none;
  background:transparent;
  box-shadow:none;
  color:var(--disctm-color-accent,#0071e3);
  font:inherit;
  letter-spacing:inherit;
  vertical-align:baseline;
  white-space:nowrap;
  cursor:pointer;
  transform:none;
  -webkit-tap-highlight-color:transparent;
}
/* Keep the generous pointer target without enlarging the text line. */
.disctm-alpha-upgrade-copy::before{content:"";position:absolute;inset:calc((1lh - 48px) / 2) 0}
.disctm-alpha-upgrade-copy-icon{display:inline-block;position:relative;flex:0 0 var(--disctm-alpha-copy-size);width:var(--disctm-alpha-copy-size);height:1em;vertical-align:baseline}
.disctm-alpha-upgrade-copy-icon>svg,
.disctm-alpha-upgrade-copy-icon>.disctm-alpha-upgrade-copy-icon-check{position:absolute;z-index:1;left:50%;bottom:-.125em;transform:translateX(-50%);display:block;width:1em;height:1.125em}
.disctm-alpha-upgrade-copy-icon-check{visibility:hidden;font:inherit;line-height:1.125em;text-align:center;color:inherit}
.disctm-alpha-upgrade-copy-done{display:none;font:inherit;letter-spacing:inherit;color:inherit;pointer-events:none}
.disctm-alpha-upgrade-copy.is-copied .disctm-alpha-upgrade-copy-done{display:inline}
.disctm-alpha-upgrade-copy.is-copied .disctm-alpha-upgrade-copy-icon-check{visibility:visible}
.disctm-alpha-upgrade-copy.is-copied .disctm-alpha-upgrade-copy-icon-idle{visibility:hidden}
.disctm-alpha-upgrade-copy:hover,
.disctm-alpha-upgrade-copy:active,
.disctm-alpha-upgrade-copy:focus{border:0;background:transparent;box-shadow:none;transform:none;color:var(--disctm-color-accent,#0071e3)}
/* Match the dislike control's blue circle, size and motion. */
.disctm-alpha-upgrade-copy-icon::before{
  content:"";position:absolute;left:50%;top:50%;width:34px;height:34px;
  border-radius:50%;pointer-events:none;background:transparent;opacity:0;
  transform:translate(-50%,-50%) scale(.72);
  transition:background-color .16s ease,opacity .28s cubic-bezier(.25,.1,.25,1),transform .32s cubic-bezier(.16,1,.3,1);
}
@media (hover:hover) and (pointer:fine){
  .disctm-alpha-upgrade-copy:hover .disctm-alpha-upgrade-copy-icon::before{
    background:rgba(0,113,227,.2361);
    background:color-mix(in srgb,var(--disctm-color-blue-elliptic-button-bg-idle,#0071e3) 23.61%,transparent);
    opacity:1;transform:translate(-50%,-50%) scale(1);
  }
}
.disctm-alpha-upgrade-copy:active .disctm-alpha-upgrade-copy-icon::before{
  background:rgba(0,113,227,.2361);
  background:color-mix(in srgb,var(--disctm-color-blue-elliptic-button-bg-idle,#0071e3) 23.61%,transparent);
  opacity:1;transform:translate(-50%,-50%) scale(1);
}
@media (prefers-reduced-motion:reduce){
  .disctm-alpha-upgrade-copy-icon::before{transition:none}
}
/* Two separate rules: grouping :-moz-focusring with the Chromium selector makes
   Chromium and WebKit drop the whole rule. */
html[data-a-disc-input-modality="keyboard"] .disctm-alpha-upgrade-copy:focus .disctm-alpha-upgrade-copy-icon{
  outline:2px solid var(--disctm-focus-ring-color,var(--disctm-color-accent,#0071e3));
  outline-offset:2px;
  outline-style:solid;
}
.disctm-alpha-upgrade-copy:-moz-focusring .disctm-alpha-upgrade-copy-icon{
  outline:2px solid var(--disctm-focus-ring-color,var(--disctm-color-accent,#0071e3));
  outline-offset:2px;
  outline-style:solid;
}
/* Payment status faces. Every status is plain body-reduced text; a pill appears
   only on the two tappable buttons. Faces, set by the script on the host:
   waiting  - blinking I-yellow dot with an expanding ring, "Đang chờ thanh toán"
   ready    - filled accent capsule "Tôi đã thanh toán" over its caption
   checking - accent ring spinner, "Đang kiểm tra thanh toán"
   notyet   - "Chưa nhận được thanh toán" over the capsule "Kiểm tra lại thanh toán"
   received - S-green spinner and text "Đang tải báo cáo đầy đủ"
   note     - plain gray message (expired, manual review, test received) */
.disctm-alpha-upgrade-status{
  grid-column:1/-1;
  justify-self:center;
  display:grid;
  justify-items:center;
  gap:6px;
  width:max-content;
  max-width:100%;
  margin:0!important;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--disctm-color-gray-secondary-text,#6e6e73);
  text-align:center!important;
}
/* Reuse the summary Internal Conflict track and fill geometry. */
.disctm-alpha-upgrade-status[data-disctm-alpha-status-face="confirming"]{gap:12px}
.disctm-alpha-check-progress[hidden]{display:none!important}
.disctm-alpha-check-progress .disctm-report-header-meter-fill{background-color:var(--disctm-color-accent,#0071e3)}
.disctm-alpha-upgrade-status[data-disctm-alpha-status-face="notyet"]{gap:12px}
.disctm-alpha-upgrade-status[data-disctm-alpha-status-face="received"]{color:var(--disctm-color-s-green,#00b13f)}
.disctm-alpha-upgrade-status-line{display:inline-flex;align-items:center;gap:7px;max-width:100%;margin:0!important;padding:0;font:inherit;letter-spacing:inherit;color:inherit;text-align:center!important}
.disctm-alpha-upgrade-status-text{min-width:0;font:inherit;letter-spacing:inherit}
.disctm-alpha-upgrade-status[data-disctm-alpha-status-face="ready"] .disctm-alpha-upgrade-status-line{display:none}
/* 12px indicator slot; hidden for the faces that carry no indicator. */
.disctm-alpha-upgrade-status-indicator{position:relative;display:none;width:12px;height:12px;flex:0 0 12px}
.disctm-alpha-upgrade-status-indicator::before,
.disctm-alpha-upgrade-status-indicator::after{content:"";position:absolute;inset:0;border-radius:50%}
.disctm-alpha-upgrade-status[data-disctm-alpha-status-face="waiting"] .disctm-alpha-upgrade-status-indicator,
.disctm-alpha-upgrade-status[data-disctm-alpha-status-face="checking"] .disctm-alpha-upgrade-status-indicator,
.disctm-alpha-upgrade-status[data-disctm-alpha-status-face="received"] .disctm-alpha-upgrade-status-indicator{display:block}
/* Waiting: a 6px dot blinking on a 1.6s cycle and a 1px ring expanding from it. */
.disctm-alpha-upgrade-status[data-disctm-alpha-status-face="waiting"] .disctm-alpha-upgrade-status-indicator::before{inset:3px;background:var(--disctm-color-i-yellow,#ffbe00);animation:disctm-alpha-status-blink 1.6s ease-in-out infinite}
.disctm-alpha-upgrade-status[data-disctm-alpha-status-face="waiting"] .disctm-alpha-upgrade-status-indicator::after{inset:-1px;border:1px solid var(--disctm-color-i-yellow,#ffbe00);animation:disctm-alpha-status-halo 1.6s ease-out infinite}
/* Checking and received: the panel's ring spinner at 12px; received turns it green. */
.disctm-alpha-upgrade-status[data-disctm-alpha-status-face="checking"] .disctm-alpha-upgrade-status-indicator::before,
.disctm-alpha-upgrade-status[data-disctm-alpha-status-face="received"] .disctm-alpha-upgrade-status-indicator::before{border:1.5px solid var(--disctm-color-gray-border,#d2d2d7);border-top-color:var(--disctm-color-accent,#0071e3);animation:disctm-alpha-upgrade-spin .8s linear infinite}
.disctm-alpha-upgrade-status[data-disctm-alpha-status-face="received"] .disctm-alpha-upgrade-status-indicator::before{border-top-color:var(--disctm-color-s-green,#00b13f)}
/* The only pill: a 36px filled accent capsule in body-reduced type
   (20px line plus 7px padding and 1px borders). Press feedback is color only. */
.disctm-alpha-upgrade-check{
  appearance:none;
  -webkit-appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  margin:0;
  padding:7px 18px;
  border:1px solid var(--disctm-color-accent,#0071e3);
  border-style:solid;
  border-radius:999px;
  outline:none;
  background:var(--disctm-color-accent,#0071e3);
  box-shadow:none;
  color:var(--disctm-white,#fff);
  font:inherit;
  letter-spacing:inherit;
  white-space:nowrap;
  cursor:pointer;
  transform:none;
  -webkit-tap-highlight-color:transparent;
  transition:background-color .16s cubic-bezier(.2,.8,.2,1),border-color .16s cubic-bezier(.2,.8,.2,1);
}
.disctm-alpha-upgrade-check[hidden]{display:none!important}
.disctm-alpha-upgrade-check:hover,
.disctm-alpha-upgrade-check:focus{
  border-color:var(--disctm-color-blue-elliptic-button-bg-hover,#0077ed);
  background:var(--disctm-color-blue-elliptic-button-bg-hover,#0077ed);
  color:var(--disctm-white,#fff);
  transform:none;
  box-shadow:none;
}
.disctm-alpha-upgrade-check:active{
  border-color:var(--disctm-color-blue-elliptic-button-bg-active,#006edb);
  background:var(--disctm-color-blue-elliptic-button-bg-active,#006edb);
  color:var(--disctm-white,#fff);
}
.disctm-alpha-upgrade-check:disabled{cursor:default;opacity:var(--sk-link-disabled-opacity,.42)}
.disctm-alpha-upgrade-check:focus,
.disctm-alpha-upgrade-check:active{outline:none!important;box-shadow:none!important}
.disctm-alpha-upgrade-check:focus-visible,
html[data-a-disc-input-modality="keyboard"] .disctm-report-contents .disctm-alpha-upgrade-check:focus{
  outline:var(--disctm-focus-ring-width,2px) solid var(--disctm-focus-ring-color,var(--disctm-color-accent,#0071e3))!important;
  outline-offset:var(--disctm-focus-ring-offset,3px)!important;
  outline-style:solid!important;
}
.disctm-alpha-upgrade-check:-moz-focusring{
  outline:var(--disctm-focus-ring-width,2px) solid var(--disctm-focus-ring-color,var(--disctm-color-accent,#0071e3))!important;
  outline-offset:var(--disctm-focus-ring-offset,3px)!important;
  outline-style:solid!important;
}
.disctm-alpha-upgrade-status-caption{margin:0!important;padding:0;font:inherit;letter-spacing:inherit;color:var(--disctm-color-gray-secondary-text,#6e6e73);text-align:center!important}
.disctm-alpha-upgrade-status-caption[hidden]{display:none!important}
/* The caption is a second native button, with the same quiet caption styling. */
.disctm-report-contents .disctm-alpha-upgrade-caption-action,
.disctm-report-contents .disctm-alpha-upgrade-caption-action:hover,
.disctm-report-contents .disctm-alpha-upgrade-caption-action:focus,
.disctm-report-contents .disctm-alpha-upgrade-caption-action:active{
  appearance:none;-webkit-appearance:none;display:inline;margin:0;padding:0;
  min-height:0;min-width:0;border:0;border-radius:4px;background:transparent;
  color:inherit;font:inherit;letter-spacing:inherit;text-transform:none;
  text-decoration:none;box-shadow:none;transform:none;cursor:pointer;
  outline:none;-webkit-tap-highlight-color:transparent;
}
.disctm-report-contents .disctm-alpha-upgrade-caption-action:focus-visible{
  outline:var(--disctm-focus-ring-width,2px) solid var(--disctm-focus-ring-color,var(--disctm-color-accent,#0071e3));
  outline-offset:var(--disctm-focus-ring-offset,3px);
}

@keyframes disctm-alpha-status-blink{0%,100%{opacity:1}50%{opacity:.15}}
@keyframes disctm-alpha-status-halo{from{transform:scale(.6);opacity:.9}to{transform:scale(1.8);opacity:0}}
.disctm-alpha-upgrade-payment.is-payment-inactive>:is(img,dl){display:none}
.disctm-alpha-upgrade-print-notice{display:none}
@media (max-width:1068px){
  .disctm-alpha-upgrade-form,.disctm-alpha-upgrade-invoice{gap:14px}
}
@media (max-width:734px){
  .disctm-alpha-upgrade-copy.is-copied .disctm-alpha-upgrade-copy-done{display:none}
  .disctm-alpha-upgrade-gate-host{--disctm-alpha-panel-padding:12px}
  .disctm-alpha-upgrade-form,.disctm-alpha-upgrade-invoice{grid-template-columns:minmax(0,1fr)}
  .disctm-alpha-upgrade-field,.disctm-alpha-upgrade-field--wide,.disctm-alpha-upgrade-disclosure{grid-column:1}
  .disctm-alpha-upgrade-disclosure{margin-top:0;white-space:normal}
  .disctm-alpha-upgrade-payment{grid-template-columns:minmax(0,1fr)}
  .disctm-alpha-upgrade-status{grid-column:1}
  .disctm-alpha-upgrade-qr-group>img{width:min(var(--disctm-alpha-qr-width),100%)}
  .disctm-alpha-upgrade-payment>dl{width:100%;justify-self:start}
}
@media (max-width:734px){
  .disctm-alpha-upgrade-report-art{display:none}

  .disctm-alpha-upgrade-panel-heading{grid-template-columns:minmax(0,1fr);gap:0}
  .disctm-alpha-upgrade-benefit>svg{width:16px;flex-basis:16px}
}
@media (min-width:520px) and (max-width:734px){
  .disctm-alpha-upgrade-payment{grid-template-columns:var(--disctm-alpha-qr-width) minmax(0,1fr)}
  .disctm-alpha-upgrade-payment>dl{grid-template-columns:minmax(0,1fr);gap:0}
  .disctm-alpha-upgrade-payment>dl>div+div>dt{margin-top:var(--sk-paragraph-plus-element-margin,0.8em)}
  .disctm-alpha-upgrade-status{grid-column:1/-1}
}
@media (prefers-reduced-motion:reduce){
  .disctm-alpha-upgrade-panel.is-loading::after{animation:none}
  .disctm-alpha-upgrade-gate-chevron{transition:none}
  /* The waiting dot holds still; the activity spinners keep turning. */
  .disctm-alpha-upgrade-status[data-disctm-alpha-status-face="waiting"] .disctm-alpha-upgrade-status-indicator::before{animation:none}
  .disctm-alpha-upgrade-status[data-disctm-alpha-status-face="waiting"] .disctm-alpha-upgrade-status-indicator::after{display:none}
  .disctm-alpha-upgrade-check{transition:none}
}
/* Paper edition of a Free Alpha report: only unlocked content prints. Locked
   tracks, the reveal control, and the checkout panel stay on screen; a single
   quiet caption under each gated category marks where the Full report continues. */
@media print{
  .disctm-career-pair-meter--locked,
  .disctm-alpha-upgrade-reveal,
  .disctm-alpha-upgrade-panel{display:none!important}
  .disctm-alpha-upgrade-gate-host{
    margin:3mm 0 0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    break-before:avoid-page!important;
    page-break-before:avoid!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  .disctm-alpha-upgrade-print-notice{
    display:block!important;
    margin:0!important;
    color:var(--disctm-color-gray-secondary-text,#6e6e73)!important;
    font-size:9pt!important;
    line-height:1.34!important;
    text-align:left!important;
  }
}

/* Preparation alone uses the panel spinner. QR retries have a silent placeholder. */
.disctm-alpha-upgrade-qr-placeholder{width:var(--disctm-alpha-qr-width,240px);max-width:100%;aspect-ratio:1;border-radius:12px;background:var(--disctm-color-background-almost-white,#f5f5f7);align-self:center;justify-self:center;transform:translateY(var(--disctm-alpha-qr-offset,0px))}
.disctm-alpha-upgrade-payment.is-payment-inactive .disctm-alpha-upgrade-qr-placeholder,
.disctm-alpha-upgrade-payment.is-payment-inactive .disctm-alpha-upgrade-qr-download,
.disctm-alpha-upgrade-qr-placeholder[hidden],
[data-disctm-alpha-upgrade-qr][hidden]{display:none!important}
.disctm-alpha-upgrade-status[data-disctm-alpha-status-face="review"],
.disctm-alpha-upgrade-status[data-disctm-alpha-status-face="received_delayed"]{gap:12px}
.disctm-alpha-upgrade-status[data-disctm-alpha-status-face="received_delayed"] .disctm-alpha-upgrade-status-line{color:var(--disctm-color-s-green,#00b13f)}
.disctm-alpha-upgrade-status[data-disctm-alpha-status-face="received_delayed"] .disctm-alpha-upgrade-status-indicator{display:inline-block;border:1.5px solid var(--disctm-color-gray-border,#d2d2d7);border-top-color:var(--disctm-color-s-green,#00b13f);border-radius:50%;animation:disctm-alpha-upgrade-spin .8s linear infinite}
.disctm-alpha-upgrade-check.is-text-action,
.disctm-alpha-upgrade-check.is-text-action:hover,
.disctm-alpha-upgrade-check.is-text-action:active{appearance:none;background:transparent;border:0;border-radius:4px;padding:0;min-height:0;color:var(--disctm-color-accent,#0071e3);font:inherit;letter-spacing:inherit;transform:none;box-shadow:none}
@media(prefers-reduced-motion:reduce){.disctm-alpha-upgrade-status[data-disctm-alpha-status-face="received_delayed"] .disctm-alpha-upgrade-status-indicator{animation:none}}

/* Idea 08: two fading panes at every width. The 204px minimum reserves
   readable label space on narrow phones; long labels wrap within their row.
   All dimensions are automatic except the compact row, rail, and icon minima. */
.disctm-plugin-report .disctm-alpha-section-preview{margin:24px 0 36px}
.disctm-alpha-preview-columns{display:grid;grid-template-columns:minmax(204px,2fr) minmax(36px,1fr);gap:12px;align-items:stretch}
.disctm-alpha-preview-columns--single{grid-template-columns:minmax(0,1fr)}
.disctm-alpha-preview-scales,.disctm-alpha-preview-writing{box-sizing:border-box;position:relative;min-width:0;border-radius:12px;background:linear-gradient(var(--disctm-color-background-almost-white,#f5f5f7),var(--disctm-white,#fff))}
.disctm-alpha-preview-scales::before,.disctm-alpha-preview-writing::before{content:"";position:absolute;inset:0;border:1px solid var(--disctm-color-gray-border,#d2d2d7);border-radius:inherit;pointer-events:none;-webkit-mask-image:linear-gradient(#000,transparent);mask-image:linear-gradient(#000,transparent)}
.disctm-alpha-preview-scales{display:grid;padding:8px;color:var(--disctm-color-gray-secondary-text,#6e6e73)}
.disctm-alpha-preview-scale{display:grid;grid-template-columns:minmax(0,max-content) minmax(36px,1fr) minmax(0,max-content);column-gap:8px;align-items:center;min-height:28px}
.disctm-alpha-preview-label{min-width:0;overflow-wrap:anywhere}
.disctm-alpha-preview-label:last-child{text-align:right}
/* Fade only the rail; the aligned lock is a score-independent opaque marker. */
.disctm-alpha-preview-rail{position:relative;display:block;min-width:0;height:4px}
.disctm-alpha-preview-rail::before{content:"";position:absolute;inset:0;border-radius:999px;background:var(--disctm-color-gray-border,#d2d2d7);opacity:var(--disctm-alpha-preview-rail-opacity,1)}
.disctm-alpha-preview-lock-marker{position:absolute;z-index:2;top:50%;left:var(--disctm-alpha-preview-lock-left,50%);display:grid;place-items:center;width:20px;height:20px;transform:translate(-50%,-50%);border-radius:50%;/* @disc-corner: disctm-report-dimension-marker */background:var(--disctm-white,#fff);box-shadow:0 calc(var(--natural-dimension-score-marker-size,10px) * .1) calc(var(--natural-dimension-score-marker-size,10px) * .7) rgba(0,0,0,.22);pointer-events:none}
.disctm-alpha-preview-lock-marker>.disctm-career-pair-lock-icon{width:12px;height:12px}
@media (max-width:734px){
  .disctm-alpha-preview-lock-marker{width:17px;height:17px}
  .disctm-alpha-preview-lock-marker>.disctm-career-pair-lock-icon{width:8px;height:8px}
}
/* Native list markers inherit the same body typography as unlocked bullets.
   Skeleton lines follow that font size and line height, not the sosumi labels. */
.disctm-report-contents .disctm-alpha-preview-writing{display:grid;grid-auto-rows:minmax(0,1fr);align-items:center;gap:12px;padding:12px 8px 12px calc(8px + 1.2em);color:var(--disctm-color-gray-border,#d2d2d7)}
.disctm-alpha-preview-bullet{min-width:0}
.disctm-alpha-preview-bullet:last-child:not(:first-child){opacity:.5}
.disctm-alpha-preview-bullet>span{display:inline-grid;vertical-align:top;width:100%;gap:calc(1lh - .55em);padding-block:calc((1lh - .55em)/2);min-width:0}
.disctm-alpha-preview-bullet>span>i{display:block;height:.55em;border-radius:999px;background:var(--disctm-color-gray-border,#d2d2d7)}
.disctm-alpha-preview-bullet>span>i:last-child{width:72%}
.disctm-plugin-report p.disctm-alpha-preview-notice{display:flex;justify-content:center;align-items:flex-start;gap:8px;margin:16px 0 0;color:var(--disctm-color-gray-secondary-text,#6e6e73);text-align:center}
.disctm-alpha-section-preview>.disctm-alpha-upgrade-gate-host{margin:16px 0 0}
.disctm-alpha-section-preview .disctm-alpha-upgrade-reveal{min-height:36px}
@media print{
  .disctm-alpha-section-preview>.disctm-alpha-upgrade-gate-host{display:none!important}
  .disctm-alpha-preview-columns{break-inside:avoid}
  .disctm-alpha-preview-notice{break-before:avoid}
}

/* Shared narrow-screen columns keep wrapped labels clear of the aligned locks. */
@media (max-width:767px){
.disctm-alpha-preview-scales{grid-template-columns:minmax(0,max-content) minmax(36px,1fr) minmax(0,max-content);column-gap:8px}
.disctm-alpha-preview-scale{grid-column:1 / -1;grid-template-columns:subgrid}
}

/* Keep desktop QR geometry; expose the shared secondary action on mobile only. */
.disctm-alpha-upgrade-qr-group{display:contents}
.disctm-alpha-upgrade-qr-download{display:none!important;border-radius:var(--disctm-touch-radius-inline,6px)}
@media (max-width:734px){
  .disctm-alpha-upgrade-qr-group{display:flex;flex-direction:column;align-items:center;gap:12px;min-width:0;justify-self:center;translate:0 var(--disctm-alpha-qr-offset,0px)}
  .disctm-alpha-upgrade-qr-group>img{translate:none}
  .disctm-alpha-upgrade-qr-group>.disctm-alpha-upgrade-qr-placeholder{transform:none}
  .disctm-alpha-upgrade-qr-download:not([hidden]){display:inline-flex!important;align-items:center;gap:6px;margin:var(--disctm-alpha-qr-link-adjust,0px) 0 0;cursor:pointer;transform:none;box-shadow:none}
  .disctm-alpha-upgrade-qr-download-icon{display:block;position:relative;top:var(--disctm-alpha-qr-icon-top,0px);align-self:flex-start;width:auto;height:var(--disctm-alpha-qr-icon-height,1em);flex:none;fill:currentColor}
  .disctm-alpha-upgrade-qr-download-label{display:inline-block}
  .disctm-alpha-upgrade-qr-download:focus:not(:focus-visible){outline:none;box-shadow:none}
  .disctm-alpha-upgrade-qr-download:focus-visible{border-radius:var(--disctm-touch-radius-inline,6px);outline:2px solid var(--disctm-color-accent,#0071e3);outline-offset:3px;box-shadow:none}
}

/* Hidden messages leave no empty grid row before the shared 24px payment margin. */
.disctm-alpha-upgrade-error-row:has(>.disctm-alpha-upgrade-error[hidden]){display:none}


/* The grid already provides the space before the following field. */
.disctm-plugin-report .disctm-alpha-upgrade-form .disctm-input-box-inline-error,
.disctm-plugin-report .disctm-alpha-upgrade-form .checkout-inline-error-message{margin-bottom:min(0px,calc(.5em - .5lh))}

/* Full-width, centered QR notice. Preserve the QR/detail sizing and status layout. */
.disctm-report-contents .disctm-alpha-upgrade-payment>.disctm-alpha-upgrade-qr-notice{
  grid-column:1/-1;grid-row:2;box-sizing:border-box;width:100%;min-width:0;
  margin:0;padding:16px;border:0;border-radius:12px;
  background:var(--disctm-color-background-almost-white,#f5f5f7);
  color:var(--disctm-color-primary-text,#1d1d1f);text-align:center;
}
.disctm-alpha-upgrade-qr-notice[hidden],
.disctm-alpha-upgrade-payment.is-payment-inactive>.disctm-alpha-upgrade-qr-notice{display:none!important}
.disctm-alpha-upgrade-payment:has(>.disctm-alpha-upgrade-qr-notice:not([hidden])){row-gap:12px}
.disctm-alpha-upgrade-payment:has(>.disctm-alpha-upgrade-qr-notice:not([hidden]))>dl{grid-column:2;grid-row:1}
.disctm-alpha-upgrade-payment:has(>.disctm-alpha-upgrade-qr-notice:not([hidden]))>.disctm-alpha-upgrade-status{margin-top:12px!important}
@media(max-width:734px){
  .disctm-report-contents .disctm-alpha-upgrade-payment>.disctm-alpha-upgrade-qr-notice{padding:16px}
}
@media(max-width:519px){
  .disctm-alpha-upgrade-payment:has(>.disctm-alpha-upgrade-qr-notice:not([hidden]))>dl{grid-column:1;grid-row:3;margin-top:12px}
}

/* Shared measured status surface: unpaid 01/02/03/06 and paid loading 07. */
.disctm-alpha-upgrade-status[data-disctm-stable="true"]{position:relative;width:100%;gap:0;min-height:var(--disctm-status-height,0px)}
.disctm-alpha-upgrade-status[data-disctm-stable="true"] > .disctm-alpha-upgrade-status-line,
.disctm-alpha-upgrade-status[data-disctm-stable="true"] > .disctm-alpha-upgrade-check,
.disctm-alpha-upgrade-status[data-disctm-stable="true"] > .disctm-alpha-upgrade-status-caption,
.disctm-alpha-upgrade-status[data-disctm-stable="true"] > .disctm-alpha-check-progress{display:none!important}
.disctm-alpha-stable-surface{appearance:none!important;box-sizing:border-box!important;display:grid!important;place-items:center!important;width:100%!important;min-height:var(--disctm-status-height,0px)!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;position:relative;background:transparent!important;color:inherit!important;font:inherit!important;letter-spacing:inherit!important;text-align:center!important;box-shadow:none!important;transform:none!important;outline:none!important;cursor:pointer}
.disctm-alpha-stable-surface[aria-disabled="true"]{cursor:default}
.disctm-alpha-stable-surface:focus-visible::after{content:"";position:absolute;inset:0;border-radius:12px;outline:2px solid var(--disctm-color-accent,#0071e3);outline-offset:4px;pointer-events:none}
.disctm-alpha-stable-content{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:100%;padding:6px 0;font:inherit;letter-spacing:inherit;color:inherit;min-width:0}
.disctm-alpha-stable-message{display:block;max-width:100%;overflow-wrap:anywhere}
.disctm-alpha-stable-content .disctm-alpha-upgrade-status-caption{display:block;margin:0!important}
.disctm-alpha-stable-content .disctm-alpha-stable-pill{white-space:normal;max-width:100%;pointer-events:none}
.disctm-alpha-stable-measure{position:absolute;inset:0 0 auto;display:block;visibility:hidden;pointer-events:none;z-index:-1}
.disctm-alpha-upgrade-status:not([data-disctm-stable="true"]) .disctm-alpha-stable-measure,
.disctm-alpha-stable-surface[hidden]{display:none!important}
.disctm-alpha-stable-content [data-disctm-paid-progress] .disctm-report-header-meter-fill{background-color:var(--disctm-color-s-green,#00b13f)}
.disctm-alpha-upgrade-status[data-disctm-stable="true"][data-disctm-alpha-status-face="received"]{color:var(--disctm-color-gray-secondary-text,#6e6e73)}
@media(prefers-reduced-motion:reduce){.disctm-alpha-stable-content .disctm-report-header-meter-fill{transition:none!important}}

/* Keep the already-visible QR notice's slot during paid loading only. */
.disctm-alpha-upgrade-payment[data-disctm-notice-reserved="true"]:has([data-disctm-alpha-status-face="received"]){row-gap:12px}
.disctm-alpha-upgrade-payment[data-disctm-notice-reserved="true"]:has([data-disctm-alpha-status-face="received"])>.disctm-alpha-upgrade-qr-notice{display:block!important;visibility:hidden}
.disctm-alpha-upgrade-payment[data-disctm-notice-reserved="true"]:has([data-disctm-alpha-status-face="received"])>dl{grid-column:2;grid-row:1}
.disctm-alpha-upgrade-payment[data-disctm-notice-reserved="true"]:has([data-disctm-alpha-status-face="received"])>.disctm-alpha-upgrade-status{margin-top:12px!important}
@media(max-width:734px){.disctm-alpha-upgrade-payment[data-disctm-notice-reserved="true"]:has([data-disctm-alpha-status-face="received"])>dl{grid-column:1;grid-row:3;margin-top:12px}}

.disctm-alpha-stable-surface{min-width:0!important;grid-template-columns:minmax(0,1fr);white-space:normal!important}
.disctm-alpha-stable-content .disctm-report-header-meter-fill{display:block}
.disctm-alpha-stable-content .disctm-alpha-stable-pill{box-sizing:border-box}
.disctm-alpha-stable-content .disctm-alpha-upgrade-status-caption{max-width:100%;overflow-wrap:anywhere}

.disctm-alpha-upgrade-payment:has([data-disctm-alpha-status-face="received"])>dl:not([hidden]){display:grid;visibility:hidden}
.disctm-alpha-upgrade-payment:has([data-disctm-alpha-status-face="received"])>.disctm-alpha-upgrade-qr-group{visibility:hidden}
.disctm-alpha-upgrade-payment[data-disctm-download-reserved="true"]:has([data-disctm-alpha-status-face="received"]) .disctm-alpha-upgrade-qr-download{display:inline-flex!important}
