/* OpenAI Apps SDK UI source tokens adapted to a standalone Ligand Pro site.
   Typography.mdx; variables-semantic.css: radius, controls, system font stack. */
:root {
 --sdk-text:#0d0d0d; --sdk-secondary:#5d5d5d; --sdk-border:#dfdfdf;
 --sdk-surface:#fff; --sdk-muted:#f3f3f3;
 --sdk-radius-sm:6px; --sdk-radius-md:8px; --sdk-radius-xl:12px;
 --sdk-control:40px; --sdk-control-large:44px;
}
body { font-family:var(--font-body); }
.cover-btn,.cover-top .cover-btn { min-height:var(--sdk-control); height:auto; padding:10px 16px; font:500 14px/20px var(--font-body); border-radius:var(--sdk-radius-md); display:inline-flex; align-items:center; justify-content:center; gap:8px; }
.cover-btn--accent { background:#b8a2f2; color:#0d0d0d; border-color:transparent; }
.cover-btn--accent:hover { background:#cbbbf6; color:#0d0d0d; }
.language-switch a { font:500 12px/18px var(--font-body); min-width:32px; min-height:32px; padding:6px; opacity:1; color:inherit; border-radius:var(--sdk-radius-sm); }
.language-switch a:not([aria-current]) { opacity:.8; }
.language-switch a[aria-current] { background:rgba(128,128,128,.24); }
.form__submit:disabled { opacity:.5; cursor:wait; }
.form__error { color:#b42318; padding:12px; background:#fff0ee; border-radius:8px; }
:where(a,button,input,textarea):focus-visible { outline:2px solid #8b6cde; outline-offset:3px; }
.form__check-input:focus-visible + .form__check-box { outline:2px solid #8b6cde; outline-offset:3px; }
.sdk-icon { width:20px; height:20px; flex:none; }
.form__check-box .sdk-icon { width:14px; height:14px; }
.faq__sign { transition:transform .15s; }
.faq__item.is-open .faq__sign { transform:none; }
.faq__q { min-height:44px; }
@media(max-width:700px) {
 .cover-nav { display:none; }
 .cover-top { gap:8px; }
 .cover-actions .cover-btn { font-size:12px; padding:8px 10px; min-height:36px; }
 .cover-logo { max-width:105px; }
 .cover-title { font-size:clamp(36px, 10vw, 48px); line-height:1.12; }
 .cover-buttons { flex-wrap:wrap; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; scroll-behavior:auto!important; } }
.cta__title { color:#f3f3f3; opacity:1; }
.cta__lead { color:#b9b9b9; opacity:1; }
.form__check-box .sdk-icon { opacity:0; }
.form__check-input:checked + .form__check-box .sdk-icon { opacity:1; filter:invert(1); }
.gal__arrow .sdk-icon { filter: none; }

.gal__controls { display: flex; justify-content: center; align-items: center; gap: 16px; margin: 24px auto 0; padding: 0 16px; }
.gal__controls .gal__dots { margin: 0; min-width: 0; }
.gal__controls .gal__pause { margin: 0; flex-shrink: 0; }
@media (max-width: 600px) { .gal__controls { gap: 6px; } .gal__controls .gal__dots { flex: 1; } .gal__controls .gal__pause { padding: 8px 6px; font-size: 12px; } }
/* Light stays inside the printed pattern, clear of the copy and form. */
.cta__glow {
  aspect-ratio: 2770 / 2998;
  background: radial-gradient(circle 230px at var(--glow-x, 220px) var(--glow-y, 200px), rgba(182,157,243,.58), rgba(208,159,216,.22) 46%, transparent 100%);
  -webkit-mask: url('../images/cta-pattern.svg?v=4') 0 0 / 100% 100% no-repeat;
  mask: url('../images/cta-pattern.svg?v=4') 0 0 / 100% 100% no-repeat;
  opacity: .8;
}
@media (prefers-reduced-motion: reduce) { .cta__glow { display: none; } }

.cover-top .cover-btn--accent { font-weight: 400; }
.review-brand { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.review-brand > svg { width: 34px; height: 38px; flex: none; }
.review-brand__name { font-size: 26px; line-height: 1; font-weight: 600; letter-spacing: -.8px;  }
.cover-actions .language-switch { margin: 0; flex-shrink: 0; }
@media (min-width: 1100px) {
 .cover-top { position: relative; justify-content: space-between; }
 .cover-top > .cover-nav { position: static; transform: none; margin-left: auto; gap: 12px; }
 .cover-top > .cover-actions { margin-left: 0; }
}
@media (max-width: 600px) { .review-brand__name { font-size: 21px; } .review-brand > svg { width: 28px; height: 32px; } .cover-actions { gap: 8px; } }

.analytics-preference { margin: 16px 40px; background: transparent; color: #aaa; border: 1px solid #555; border-radius: 6px; padding: 8px 12px; font: inherit; font-size: 12px; cursor: pointer; }

.review-brand__mark { display: grid; place-items: center; width: 34px; height: 38px; flex: none; border: 0; border-radius: 8px; background: transparent; padding: 0; cursor: pointer; }
.review-brand__mark svg { width: 100%; height: 100%; overflow: visible; }
.review-brand__mark:hover { background: #b69df322; }
.review-brand__mark:focus-visible { outline: 2px solid #b69df3; outline-offset: 3px; }
@media(max-width:600px) { .review-brand__mark { width:28px; height:32px; } }

.review-brand__name { color: inherit; text-decoration: none; }
/* Keep navigation available on tablet and phone. */
.cover-actions { margin-left: auto; }
@media (max-width: 1099px) {
 .cover-top { flex-wrap: wrap; }
 .cover-top > .cover-nav { display: flex; order: 3; width: 100%; justify-content: center; overflow-x: auto; gap: 20px; padding: 8px 0; }
 .cover-nav-link { flex-shrink: 0; }
 .cover-bottom { visibility: visible; opacity: 1; }
}
@media (max-width: 600px) { .cover-top > .cover-nav { justify-content: center; flex-wrap: wrap; overflow: visible; gap: 8px; } }
