/* Oriase visual contract. Shared by first paint, React shells and SEO pages.
   Keep domain/state logic outside this file. Light surfaces override semantic tokens. */
:root {
  --oriase-bg:#020b12; --oriase-bg-elevated:#061824;
  --oriase-surface:#071c29; --oriase-surface-light:#f7fafc;
  --oriase-text:#f7fbfd; --oriase-text-muted:#a8bbc5;
  --oriase-cyan:#17dbea; --oriase-cyan-hover:#7fe7ef;
  --oriase-gold:#f2c47d; --oriase-gold-hover:#ffda9d;
  --oriase-border:#315366; --oriase-danger:#ffaaa7;
  --oriase-success:#9ed8c5; --oriase-warning:#f2c47d;
  --oriase-on-gold:#10202a; --oriase-focus:#17dbea;
  --radius-sm:8px; --radius-md:12px; --radius-lg:20px; --radius-xl:24px;
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px;
  --space-5:24px; --space-6:32px; --space-7:48px; --space-8:64px; --space-9:80px;
  --shadow-sm:0 2px 8px #0002; --shadow-md:0 8px 24px #0003; --shadow-lg:0 16px 48px #0004;
  --oriase-font-body:Inter,'Segoe UI',Arial,sans-serif;
  --oriase-font-heading:Poppins,Inter,'Segoe UI',sans-serif;
  /* Compatibility aliases for existing layouts. */
  --oriase-bg2:var(--oriase-bg-elevated); --oriase-panel:var(--oriase-surface);
  --oriase-panel2:#0a2534; --oriase-cyan2:#00a9c9; --oriase-gold2:#c9863d;
  --oriase-muted:var(--oriase-text-muted); --oriase-line:var(--oriase-border);
}
body {font-family:var(--oriase-font-body)}
body :is(h1,h2,h3) {font-family:var(--oriase-font-heading)}
body :is(button,input,select,textarea) {font-family:var(--oriase-font-body)}
body :is(a,button,input,select,textarea,summary):focus-visible {
  outline:3px solid var(--oriase-focus); outline-offset:3px;
}
/* Same geometry for a link or button, including the pre-React hero. */
body :is(.btn,.platform-primary-cta,.platform-secondary-cta,.platform-nav-cta,.oriase-seo-primary,.oriase-seo-secondary,.oriase-seo-nav .cta,.seo-page .cta) {
  display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);
  min-height:48px;height:auto;padding:var(--space-3) var(--space-4);
  border:1px solid var(--oriase-border);border-radius:var(--radius-md);
  font-family:var(--oriase-font-body);font-size:14px;font-weight:600;line-height:1.4;
  text-align:center;text-decoration:none;white-space:normal;cursor:pointer;
  box-shadow:none;transition:background-color .15s,border-color .15s;
}
body :is(.btn.primary,.platform-primary-cta,.platform-nav-cta,.oriase-seo-primary,.oriase-seo-nav .cta,.seo-page .cta) {
  background:var(--oriase-gold);border-color:var(--oriase-gold);color:var(--oriase-on-gold);
}
body :is(.btn.primary,.platform-primary-cta,.platform-nav-cta,.oriase-seo-primary,.oriase-seo-nav .cta,.seo-page .cta):hover:not(:disabled) {
  background:var(--oriase-gold-hover);border-color:var(--oriase-gold-hover);transform:none;box-shadow:var(--shadow-sm);
}
body :is(.btn.secondary,.btn:not(.primary):not(.danger):not(.ghost):not(.selected),.platform-secondary-cta,.oriase-seo-secondary) {
  background:var(--oriase-bg-elevated);color:var(--oriase-text);border-color:var(--oriase-border);
}
body :is(.btn.secondary,.platform-secondary-cta,.oriase-seo-secondary):hover:not(:disabled) {background:var(--oriase-surface)}
body .btn.ghost {background:transparent;border-color:transparent;color:var(--oriase-text-muted)}
body .btn.ghost:hover:not(:disabled) {background:var(--oriase-surface);color:var(--oriase-text)}
body .btn.danger {background:#3a1718;border-color:#ad575b;color:var(--oriase-danger)}
body :is(.btn,.platform-primary-cta,.platform-secondary-cta,.platform-nav-cta):active:not(:disabled) {box-shadow:inset 0 2px 4px #0003}
body :is(button,.btn):disabled {opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}
body [aria-busy=true] {cursor:progress}
body .btn.icon-button {width:48px;min-width:48px;padding:0}
body :is(.platform-hero-actions,.oriase-seo-actions,.form-actions) {gap:var(--space-3)}
/* Explicit form surfaces preserve search boxes, checkboxes and the PIN keypad. */
body :is(.field,.platform-field,.license-card,.platform-login-form) :is(input:not([type=checkbox]),select,textarea) {
  min-height:48px;border-radius:var(--radius-md);border-color:var(--oriase-border);
  background:var(--oriase-bg-elevated);color:var(--oriase-text);font-size:16px;
  padding:var(--space-3) var(--space-4);
}
body :is(.field,.platform-field,.license-card,.platform-login-form) :is(input,textarea)::placeholder {color:var(--oriase-text-muted);opacity:1}
body :is(.field,.platform-field,.license-card,.platform-login-form) :is(input,select,textarea):focus {border-color:var(--oriase-focus);box-shadow:none}
body :is(input,select,textarea)[aria-invalid=true] {border-color:var(--oriase-danger)}
body :is(input,select,textarea):disabled {opacity:.6;cursor:not-allowed}
body :is(.field,.platform-field) {gap:var(--space-2)}
body :is(.field>span,.platform-field label) {color:var(--oriase-text);font-size:14px;font-weight:600}
body :is(.platform-feature-card,.platform-problem-grid article,.platform-steps article,.platform-audience-grid article,.platform-seo-grid a,.developer-card,.developer-login-card,.license-card,.settings-card,.guide-card,.modal) {
  background:var(--oriase-surface);border-color:var(--oriase-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);
}
body :is(.developer-card,.settings-card,.guide-card) {padding:var(--space-5)}
body :is(.developer-shell,.developer-login,.license-gate,.welcome) {background:var(--oriase-bg);color:var(--oriase-text)}
body :is(.developer-flow-strip,.guide-topics button,.guide-checklist) {background:var(--oriase-bg-elevated);border-color:var(--oriase-border)}
body :is(.developer-login-card,.license-card) {padding:var(--space-6);gap:var(--space-4);box-shadow:var(--shadow-lg)}
body :is(.muted,.hint,.developer-security-note,.card-title p,.guide p,.license-card p) {color:var(--oriase-text-muted)}
body :is(.form-error,.license-error,.platform-form-message.error) {background:#3a1718;border:1px solid #ad575b;border-radius:var(--radius-md);color:var(--oriase-danger)}
body :is(.cash-status.open,.platform-form-message.success) {color:var(--oriase-success);background:#07352f}
body .platform-login-card {
  color-scheme:light;--oriase-text:#10202a;--oriase-text-muted:#53616b;
  --oriase-bg-elevated:#fff;--oriase-surface:#edf4f7;--oriase-border:#8b9fab;--oriase-focus:#007d91;
  background:var(--oriase-surface-light);color:var(--oriase-text);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);
}
body .platform-login-steps small,body .platform-login-footer small {color:#53616b}
body :is(.platform-login-logo,.developer-institutional-logo,.brandmark.large) {max-width:100%}
body :is(.platform-login-form small,.platform-login-recent button span,.developer-company-main,.deployment-result,.register-name) {overflow-wrap:anywhere;min-width:0}
body .platform-login-recent button {height:auto;min-height:48px;gap:var(--space-2);padding:var(--space-3)}
body .access-logo {display:block;width:196px;height:58px;object-fit:contain;object-position:left center;max-width:100%}
body .access-progress {display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;padding:0;margin:0 0 var(--space-5);font-size:12px;color:var(--oriase-text-muted)}
body .access-progress li {padding:var(--space-2);border:1px solid var(--oriase-border);border-radius:var(--radius-sm)}
body .access-progress [aria-current=step] {color:var(--oriase-cyan);border-color:var(--oriase-cyan);background:var(--oriase-bg-elevated)}
body .platform-menu-button {border-radius:var(--radius-md);border-color:var(--oriase-border)}
body .platform-nav {box-shadow:none}
body .platform-nav.open {box-shadow:var(--shadow-lg)}
body :is(.platform-hero-media,.oriase-seo-media) {box-shadow:var(--shadow-lg)}
body :is(.platform-hero-copy h1,.oriase-seo-copy h1) {font-size:clamp(32px,3.8vw,56px);font-weight:600;overflow-wrap:break-word}
body :is(.platform-hero-copy small,.oriase-seo-copy small,.platform-disclaimer,.platform-footer small) {color:var(--oriase-text-muted)}
body :is(.platform-hero-copy,.oriase-seo-copy) {min-width:0}
@media (max-width:1180px) {
  body .oriase-seo-nav {gap:14px} body .oriase-seo-nav a {font-size:13px}
  body :is(.platform-hero-section,.oriase-seo-hero) {grid-template-columns:1fr 1.15fr;min-height:650px}
}
@media (max-width:900px) {
  body :is(.platform-hero-section,.oriase-seo-hero) {grid-template-columns:1fr}
  body :is(.platform-nav a,.developer-login-back,.platform-login-footer a) {min-height:44px;display:flex;align-items:center}
}
@media (max-width:650px) {
  body :is(.platform-hero-section,.oriase-seo-hero) {min-height:auto}
  body :is(.platform-hero-copy h1,.oriase-seo-copy h1) {font-size:clamp(32px,8.8vw,42px)}
  body :is(.developer-login-card,.license-card,.developer-card,.settings-card,.guide-card) {padding:var(--space-4)}
  body .platform-login-card {padding:var(--space-5) var(--space-4)}
  body :is(.developer-login-card h1,.developer-hero h1) {font-size:26px}
  body .license-card .segmented {display:flex;flex-wrap:wrap;gap:var(--space-2)}
  body .license-card .segmented .btn {flex:1 1 100%}
  body .form-actions {flex-wrap:wrap}
  body .form-actions>.btn {flex:1 1 auto}
  body .platform-lead-form,body .platform-pilot-columns>div {min-width:0}
}
@media (prefers-reduced-motion:reduce) {
  html {scroll-behavior:auto!important}
  body :is(.btn,.platform-primary-cta,.platform-secondary-cta,.platform-nav-cta) {transition:none}
}

/* Allow the 320px viewport to accommodate a desktop scrollbar as well. */
html:root,html body,body #root {min-width:0}
body .platform-login-logo {background:var(--oriase-bg);padding:var(--space-3);border-radius:var(--radius-md)}
