/* The shared violet world, applied after checkout.css and violet.css.
   Geometry, native form controls and the payment contract stay in Checkout. */
.tarot-checkout{
  font-family:var(--ui-font,"RR Opague"),sans-serif;
  color:var(--text,#f8f5ff);
}
.tarot-checkout-intro h1{font-weight:700;letter-spacing:-.025em}
.tarot-checkout-intro h1 span{color:var(--pink,#baa0f6)}
.tarot-checkout-intro>p{color:var(--muted,#cbbddd);font-weight:400}
.tarot-checkout .back-button{color:var(--muted,#cbbddd);font-weight:700}
.tarot-checkout .back-button:hover{color:var(--text,#f8f5ff);transform:none}
.tarot-checkout .back-button:focus-visible{outline:2px solid var(--pink,#baa0f6);outline-offset:4px}
.tarot-checkout-mini{box-shadow:0 18px 30px #08041066}

.tarot-contest-checkout{
  --checkout-ink:#f8f5ff;
  --checkout-muted:#cbbddd;
  --checkout-panel:#241a3b;
  --checkout-line:#8b73b866;
  --checkout-accent:#baa0f6;
  --checkout-focus:#baa0f633;
  --checkout-error:#ffb0cc;
  background:var(--surface,#1b142e);
  color:var(--checkout-ink);
  color-scheme:dark;
  font-family:var(--ui-font,"RR Opague"),sans-serif;
  font-weight:400;
  box-shadow:0 18px 44px #08041155;
}
.tarot-contest-checkout ::selection{background:#baa0f6;color:#21133d}
.tarot-contest-checkout :where(button,a,summary):focus-visible{
  outline-color:var(--checkout-accent);
}
.tarot-contest-checkout a{color:#dfcffc;text-decoration-color:#ad91da}
.tarot-contest-checkout a:hover{color:#f8f5ff;text-decoration-color:currentColor}
.tarot-contest-checkout .contest-field>label{color:var(--checkout-muted)}
.tarot-contest-checkout .contest-input-shell{
  border-color:#806b9f;
  background:#130e21;
  box-shadow:none;
  transition:border-color .22s var(--ease),box-shadow .22s var(--ease),background-color .22s var(--ease);
}
.tarot-contest-checkout .contest-input-shell:focus-within{
  border-color:var(--checkout-accent);
  background:#1c142d;
  box-shadow:0 0 0 2px var(--checkout-focus);
}
.tarot-contest-checkout .contest-input-shell.invalid,
.tarot-contest-checkout .contest-input-shell.invalid:focus-within{
  border-color:var(--checkout-error);
  box-shadow:none;
}
.tarot-contest-checkout .contest-input-shell>svg{color:var(--checkout-accent)}
.tarot-contest-checkout .contest-input-shell input,
.tarot-contest-checkout .contest-input-shell input:focus-visible{
  color:var(--checkout-ink);
  -webkit-text-fill-color:var(--checkout-ink);
  caret-color:var(--checkout-accent);
  background:transparent;
  border:0;
  outline:0;
  box-shadow:none;
  font-family:var(--ui-font,"RR Opague"),sans-serif;
  font-weight:400;
}
.tarot-contest-checkout .contest-input-shell input::placeholder{color:#baabc9;opacity:1}
.tarot-contest-checkout .contest-checkout-heading h2{font-weight:700;letter-spacing:-.025em}
.tarot-contest-checkout .contest-checkout-heading h2>svg{color:var(--checkout-accent)}
.tarot-contest-checkout .contest-plan-chip{background:#241a3b;border-color:var(--checkout-line)}
.tarot-contest-checkout .contest-plan-chip-head{background:#2e204b}
.tarot-contest-checkout .contest-plan-chip-head>span{font-weight:700}
.tarot-contest-checkout .contest-plan-chip-head small{
  color:#21133d;
  background:#c9b4f7;
  font-weight:700;
}
.tarot-contest-checkout .contest-plan-benefits li{color:var(--checkout-ink)}
.tarot-contest-checkout .contest-plan-benefits svg{color:var(--checkout-accent);fill:currentColor;stroke:none}
.tarot-contest-checkout .consent-field label{color:var(--checkout-muted)}
.tarot-contest-checkout .consent-field input{accent-color:var(--checkout-accent);color-scheme:dark}
.tarot-contest-checkout .consent-field input:checked{background:var(--checkout-accent);border-color:var(--checkout-accent)}
.tarot-contest-checkout .consent-field input:focus-visible{outline-color:var(--checkout-accent)}
.tarot-contest-checkout .consent-field.invalid input{outline-color:var(--checkout-error)}
.tarot-contest-checkout .contest-checkout-terms{background:#241a3b;border-color:var(--checkout-line)}
.tarot-contest-checkout .contest-checkout-terms summary{color:var(--checkout-ink);font-weight:700}
.tarot-contest-checkout .contest-checkout-terms summary:hover{background:#2d2047}
.tarot-contest-checkout .contest-terms-scroll{color:var(--checkout-muted);scrollbar-color:#9076bd #241a3b}
.tarot-contest-checkout .contest-payment-total{color:var(--checkout-muted)}
.tarot-contest-checkout .contest-payment-total strong{color:var(--checkout-ink);font-weight:700;font-variant-numeric:tabular-nums}
.tarot-contest-checkout .contest-payment{
  font-family:var(--ui-font,"RR Opague"),sans-serif;
  font-weight:700;
  color:#f8f5ff;
  background:#705095;
  transform:none;
  box-shadow:none;
  transition:filter .22s var(--ease),background-color .22s var(--ease);
}
.tarot-contest-checkout .contest-payment--card{color:#fff;background:#c12560}
.tarot-contest-checkout .contest-payment--sbp{color:#fff;background:#003beb}
.tarot-contest-checkout .contest-payment--tpay{color:#161616;background:#ffdd2d}
.tarot-contest-checkout .contest-payment img{filter:none;opacity:1}
.tarot-contest-checkout .contest-payment:hover{filter:brightness(1.1);transform:none;box-shadow:none}
.tarot-contest-checkout .contest-payment:active{filter:brightness(.96);transform:none}
.tarot-contest-checkout .contest-payment:focus-visible{outline-color:#ddcaff;outline-offset:3px}
.tarot-contest-checkout .contest-payment:disabled{opacity:.72;filter:none;transform:none;box-shadow:none}
.tarot-contest-checkout .contest-payment-state,
.tarot-contest-checkout .contest-no-charge{color:var(--checkout-muted)}

@media(max-width:850px){
  .tarot-contest-checkout .contest-input-shell input{font-size:16px}
  .tarot-checkout-intro h1{font-weight:700}
}
@media(max-width:719px){
  .tarot-contest-checkout .contest-payment-methods{
    background:#1b142e;
    color:var(--checkout-ink);
    box-shadow:0 -12px 32px #08041166;
  }
}
@media(prefers-reduced-motion:reduce){
  .tarot-contest-checkout .contest-input-shell,
  .tarot-contest-checkout .contest-payment{transition:none}
}
@media(forced-colors:active){
  .tarot-contest-checkout,.tarot-contest-checkout .contest-payment{border-color:CanvasText}
  .tarot-contest-checkout .contest-input-shell:focus-within{outline-color:Highlight}
}

/* Checkout composition and explicit consent continuation. */
.tarot-checkout{padding-top:24px;padding-bottom:38px}
.tarot-checkout-layout{align-items:start;gap:60px}
.tarot-checkout-intro{min-height:650px;padding-top:34px}
.tarot-checkout-intro h1{font-size:clamp(38px,3.6vw,52px);line-height:1.12;max-width:540px}
.tarot-checkout-intro>p{font-size:15px;line-height:1.6;max-width:370px;margin-top:20px}
.tarot-checkout-art{display:block;height:420px;margin-top:28px;overflow:visible;pointer-events:none}
.tarot-checkout-art .floating-card{position:absolute;aspect-ratio:420/710;opacity:1;pointer-events:auto}
.tarot-checkout-art .floating-card--0{left:calc(50% - 88px);right:auto;top:26px;width:176px;z-index:3;--r:-3deg;--delay:-2s}
.tarot-checkout-art .floating-card--1{left:calc(50% - 225px);right:auto;top:96px;width:156px;z-index:1;--r:-15deg;--delay:-6s}
.tarot-checkout-art .floating-card--2{left:calc(50% + 66px);right:auto;top:100px;width:156px;z-index:2;--r:14deg;--delay:-4s}
.tarot-contest-checkout{padding:26px 28px 24px}
.tarot-contest-checkout .contest-checkout-form{gap:10px}
.tarot-contest-checkout .contest-field{font-size:12px;gap:5px}
.tarot-contest-checkout .contest-input-shell{min-height:48px}
.tarot-contest-checkout .contest-input-shell input{height:46px;font-size:16px}
.tarot-contest-checkout .contest-checkout-heading h2{font-size:23px}
.tarot-contest-checkout .contest-plan-chip-head{min-height:38px;font-size:13px}
.tarot-contest-checkout .contest-plan-chip-head small{top:8px}
.tarot-contest-checkout .contest-plan-benefits{padding:16px;gap:11px}
.tarot-contest-checkout .contest-plan-benefits li{font-size:13px;line-height:1.45;gap:11px}
.tarot-contest-checkout .contest-plan-benefits svg{width:19px;height:19px}
.tarot-contest-checkout .consent-field label{grid-template-columns:20px minmax(0,1fr);gap:10px;min-height:24px;font-size:12px;line-height:1.45}
.tarot-contest-checkout .consent-field input{appearance:none;position:relative;width:20px;height:20px;margin:0;border:1px solid #9a7bbf;border-radius:6px;background:#211630;transition:background-color .2s,border-color .2s;cursor:pointer}
.tarot-contest-checkout .consent-field input:checked{background:#baa0f6;border-color:#baa0f6}
.tarot-contest-checkout .consent-field input:checked::after{content:'';position:absolute;left:6px;top:3px;width:5px;height:9px;border:solid #21133d;border-width:0 2px 2px 0;transform:rotate(45deg)}
.tarot-contest-checkout .consent-field input:disabled{opacity:.6;cursor:wait}
.tarot-contest-checkout .consent-field .field-error{margin-left:30px;min-height:14px;line-height:14px}
.tarot-contest-checkout .contest-terms-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:43px;padding:11px 15px;border:0;background:transparent;color:var(--checkout-ink);text-align:left;font:700 12px/1.4 var(--ui-font),sans-serif;cursor:pointer}
.tarot-contest-checkout .contest-terms-toggle::after{content:'';width:7px;height:7px;flex:none;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .35s var(--ease)}
.tarot-contest-checkout .contest-terms-toggle[aria-expanded=true]::after{transform:rotate(225deg)}
.tarot-contest-checkout .contest-terms-toggle:hover{background:#2d2047}
.tarot-contest-checkout .contest-terms-reveal{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .4s var(--ease),opacity .3s var(--ease)}
.tarot-contest-checkout .contest-terms-reveal.is-open{grid-template-rows:1fr;opacity:1}
.tarot-contest-checkout .contest-terms-inner{min-height:0;overflow:hidden}
.tarot-contest-checkout .contest-terms-scroll{max-height:190px;padding:4px 15px 14px;font-size:12px}
.tarot-contest-checkout .contest-payment{min-height:46px;font-size:14px}
.tarot-contest-checkout .contest-payment-total{font-size:13px}
.tarot-contest-checkout .contest-payment-total strong{font-size:16px}
.checkout-consent-dialog{width:min(480px,calc(100% - 32px));max-height:calc(100svh - 48px);margin:auto;padding:30px;border:1px solid #8b73b866;border-radius:26px;background:#211730;color:#f8f5ff;box-shadow:0 24px 80px #03010680;color-scheme:dark;font-family:var(--ui-font),sans-serif;overflow:auto;overscroll-behavior:contain}
.checkout-consent-dialog::backdrop{background:#08040fd1}
.checkout-consent-dialog[open]{animation:checkout-consent-enter .32s var(--ease)}
.checkout-consent-dialog[open]::backdrop{animation:checkout-consent-backdrop .25s ease}
.checkout-consent-symbol{display:grid;place-items:center;width:42px;height:42px;margin-bottom:17px;border-radius:14px;background:#3d295b;color:#d7bcff}
.checkout-consent-symbol .icon{width:24px;height:24px;fill:currentColor;stroke:none}
.checkout-consent-dialog h2{font-size:27px;line-height:1.15;letter-spacing:-.025em;font-weight:700;margin:0}
.checkout-consent-dialog p{margin:11px 0 19px;color:#cbbddd;font-size:14px;line-height:1.5}
.checkout-consent-dialog ul{display:grid;gap:17px;list-style:none;padding:0;margin:0 0 24px}
.checkout-consent-dialog li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;font-size:13px;line-height:1.55;color:#e0d4ec}
.checkout-consent-dialog li>.icon{width:19px;height:19px;margin-top:1px;color:#c5a6f8;fill:currentColor;stroke:none}
.checkout-consent-dialog a{color:#e6d7ff;text-underline-offset:3px;text-decoration-color:#ad91da}
.checkout-consent-actions{display:grid;gap:8px}
.checkout-captcha{max-width:100%;min-width:0;margin:4px 0}
.checkout-captcha>p{color:var(--checkout-error);font-size:12px;line-height:1.5}
.checkout-captcha .text-button{font:inherit;text-decoration:underline;color:inherit}
.checkout-consent-actions button{min-height:46px;padding:12px 16px;border:0;border-radius:999px;font:700 14px/1.4 var(--ui-font),sans-serif;cursor:pointer;transition:filter .2s}
.checkout-consent-confirm{background:#7546bd;color:#fff}
.checkout-consent-cancel{background:transparent;color:#d8c9e7}
.checkout-consent-actions button:hover{filter:brightness(1.1)}
.checkout-consent-dialog :where(button,a):focus-visible{outline:2px solid #ddcaff;outline-offset:3px}
@keyframes checkout-consent-enter{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
@keyframes checkout-consent-backdrop{from{opacity:0}to{opacity:1}}
@media(max-width:1100px){.tarot-checkout-layout{gap:30px}.tarot-checkout-art .floating-card--0{width:146px;left:calc(50% - 73px)}.tarot-checkout-art .floating-card--1{width:126px;left:calc(50% - 175px)}.tarot-checkout-art .floating-card--2{width:126px;left:calc(50% + 47px)}}
@media(min-width:851px) and (max-height:800px){
  .tarot-checkout{padding-top:16px;padding-bottom:22px}
  .tarot-checkout-intro{min-height:550px;padding-top:18px}
  .tarot-checkout-intro h1{font-size:42px}
  .tarot-checkout-art{height:350px;margin-top:22px}
  .tarot-contest-checkout{padding:12px 24px}
  .tarot-contest-checkout .contest-checkout-form{gap:5px}
  .tarot-contest-checkout .contest-input-shell{min-height:46px}
  .tarot-contest-checkout .contest-input-shell input{height:44px}
  .tarot-contest-checkout .contest-plan-chip-head{min-height:30px}
  .tarot-contest-checkout .contest-plan-chip-head small{top:5px}
  .tarot-contest-checkout .contest-plan-benefits{padding:10px 16px;gap:6px}
  .tarot-contest-checkout .consent-field .field-error:empty{display:none}
  .tarot-contest-checkout .contest-payment{min-height:40px}
}
@media(max-width:850px){.tarot-checkout{padding-top:12px}.tarot-checkout-layout{gap:20px;align-items:center}.tarot-checkout-intro{min-height:0;padding-top:0}.tarot-checkout-intro h1{font-size:30px;max-width:440px}.tarot-checkout-intro>p{margin:12px auto 0;font-size:13px;max-width:320px}.tarot-checkout-art{height:225px;width:340px;max-width:100%;margin:12px auto 0}.tarot-checkout-art .floating-card--0{width:108px;left:calc(50% - 54px);top:10px}.tarot-checkout-art .floating-card--1{width:90px;left:calc(50% - 135px);top:42px}.tarot-checkout-art .floating-card--2{width:90px;left:calc(50% + 45px);top:46px}.tarot-contest-checkout{padding:22px 20px 16px}.tarot-contest-checkout .contest-checkout-heading h2{font-size:22px}.tarot-contest-checkout .contest-plan-benefits{padding:14px;gap:10px}.tarot-contest-checkout .contest-plan-benefits li{font-size:12px}}
@media(max-width:380px){.tarot-checkout-intro h1{font-size:27px}.tarot-contest-checkout{padding-inline:16px}.tarot-contest-checkout .contest-checkout-heading h2{font-size:19px}.tarot-contest-checkout .contest-plan-benefits li{font-size:11px}.checkout-consent-dialog{padding:23px;width:calc(100% - 24px)}.checkout-consent-dialog h2{font-size:24px}.checkout-consent-dialog li{font-size:12px}.checkout-consent-actions button{font-size:13px}}
@media(max-width:719px){.tarot-checkout{padding-bottom:calc(var(--checkout-dock-space,250px) + env(safe-area-inset-bottom,0px))}.checkout-captcha,.tarot-contest-checkout .payment-status--inline{scroll-margin-bottom:calc(var(--checkout-dock-space,250px) + 16px)}}
@media(prefers-reduced-motion:reduce){.tarot-contest-checkout .contest-terms-reveal,.tarot-contest-checkout .contest-terms-toggle::after,.tarot-contest-checkout .consent-field input{transition:none}.checkout-consent-dialog[open],.checkout-consent-dialog[open]::backdrop{animation:none}}
@media(forced-colors:active){.tarot-contest-checkout .consent-field input{appearance:auto}.tarot-contest-checkout .consent-field input:checked::after{content:none}.checkout-consent-dialog{border-color:CanvasText}.checkout-consent-actions button{border:1px solid ButtonText}}

/* Payment status stays above the unchanged checkout, never above the bank widget. */
.tarot-payment-dialog{box-sizing:border-box;width:min(440px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:32px;border:1px solid #8b73b866;border-radius:28px;background:linear-gradient(150deg,#2b1f43,#1b142e 68%);color:#f8f5ff;box-shadow:0 28px 90px #03010699;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#806b9f transparent;text-align:center;font-family:var(--ui-font,"RR Opague"),sans-serif;color-scheme:dark}
.tarot-payment-dialog::backdrop{background:#080411bd;backdrop-filter:blur(6px)}
.tarot-payment-dialog[open]{animation:tarot-payment-enter .3s cubic-bezier(.22,1,.36,1)}
.tarot-payment-dialog[open]::backdrop{animation:checkout-consent-backdrop .25s ease}
.tarot-payment-close{position:absolute;right:14px;top:14px;width:40px;height:40px;display:grid;place-items:center;border:0;border-radius:50%;background:#ffffff0b;color:#cbbddd;cursor:pointer}
.tarot-payment-close .icon{width:20px;height:20px}
.tarot-payment-close:hover{background:#ffffff16;color:#fff}
.tarot-payment-symbol{position:relative;display:grid;place-items:center;width:76px;height:76px;margin:4px auto 20px;border-radius:50%;background:#baa0f611;color:#d6bfff}
.tarot-payment-symbol>.icon{width:28px;height:28px}
.tarot-payment-symbol>span{position:absolute;inset:0;border:2px solid #baa0f629;border-top-color:#cdb2ff;border-radius:50%}
.tarot-payment-symbol.is-checking>span{animation:tarot-payment-spin 1.6s linear infinite}
.tarot-payment-caption{font-size:11px;line-height:1.5;font-weight:500;color:#bfa5e7;letter-spacing:.03em}
.tarot-payment-dialog h2{font-size:27px;line-height:1.2;letter-spacing:-.025em;margin:8px 0 14px;font-weight:700}
.tarot-payment-dialog p{font-size:14px;line-height:1.65;margin:0 0 24px;color:#d0c1e0;text-wrap:pretty;min-height:46px}
.tarot-payment-actions{display:grid;gap:10px}
.tarot-payment-actions button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 18px;border:1px solid transparent;border-radius:15px;font:inherit;font-size:14px;font-weight:700;cursor:pointer;transition:background-color .18s ease,border-color .18s ease}
.tarot-payment-primary{background:#c3a2ff;color:#201232}
.tarot-payment-primary:hover{background:#d2b9ff}
.tarot-payment-primary .icon{width:18px;height:18px}
.tarot-payment-actions .tarot-payment-secondary{background:#ffffff05;border-color:#a68fc65c;color:#eee4fc}
.tarot-payment-actions .tarot-payment-secondary:hover{background:#baa0f615;border-color:#baa0f6}
.tarot-payment-refresh{display:flex;justify-content:center;align-items:center;gap:7px;min-height:36px;margin:14px auto 4px;padding:6px;border:0;background:none;color:#bfaed1;font:inherit;font-size:11px;cursor:pointer}
.tarot-payment-refresh:disabled{opacity:1;cursor:default}
.tarot-payment-refresh>span{width:12px;height:12px;border:1.5px solid #baa0f638;border-top-color:#d1b7ff;border-radius:50%}
.tarot-payment-refresh>span.is-checking{animation:tarot-payment-spin 1s linear infinite}
.tarot-payment-cancel{min-height:40px;padding:10px 12px;border:0;border-radius:12px;background:none;color:#d3c5e3;font:inherit;font-size:12px;cursor:pointer}
.tarot-payment-cancel:hover{background:#ffffff09;color:#fff}
.tarot-payment-dialog>small{display:block;max-width:330px;margin:12px auto 0;font-size:10px;line-height:1.55;color:#aa9abb}
.tarot-payment-dialog button:focus-visible,.checkout-payment-status-trigger:focus-visible{outline:2px solid #d3baff;outline-offset:0}
.checkout-payment-status-trigger{display:flex;align-items:center;justify-content:center;gap:8px;min-height:40px;margin:8px auto 0;padding:8px 12px;border:0;border-radius:12px;background:none;color:#d4bdf6;font:inherit;font-size:12px;cursor:pointer}
.checkout-payment-status-trigger .icon{width:16px;height:16px}
@keyframes tarot-payment-spin{to{transform:rotate(360deg)}}
@keyframes tarot-payment-enter{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:380px){.tarot-payment-dialog{width:calc(100% - 24px);padding:28px 20px 22px;border-radius:24px}.tarot-payment-dialog h2{font-size:24px}.tarot-payment-dialog p{font-size:13px}.tarot-payment-symbol{width:64px;height:64px;margin-bottom:16px}}
@media(prefers-reduced-motion:reduce){.tarot-payment-dialog[open],.tarot-payment-dialog[open]::backdrop,.tarot-payment-symbol.is-checking>span,.tarot-payment-refresh>span.is-checking{animation:none}.tarot-payment-actions button{transition:none}}
@media(forced-colors:active){.tarot-payment-dialog,.tarot-payment-actions button,.tarot-payment-symbol>span{border-color:CanvasText}.tarot-payment-primary{color:ButtonText;background:ButtonFace}}
