/* =========================================================
   QuantumAI — universal base / OJS structural reset
   Dark, triad-accented (economy / knowledge / wealth) look.
   Default Theme visual stylesheet is intentionally removed.
========================================================= */
* { box-sizing: border-box; }
html { min-height:100%; background:var(--qai-bg); scroll-behavior:smooth; }
body { min-height:100%; margin:0; background:var(--qai-bg); color:var(--qai-text-2); font-family:var(--qai-font); font-size:15px; line-height:1.65; -webkit-font-smoothing:antialiased; }
body.qai-no-scroll { overflow:hidden; }
img, svg, video, canvas { max-width:100%; height:auto; }
a { color:var(--qai-economy); text-underline-offset:3px; }
a:hover, a:focus { color:var(--qai-primary-light); }
button, input, select, textarea { font:inherit; }
button { color:inherit; }
::selection { background:rgba(109,123,255,.35); color:#fff; }

/* Accessibility helpers required when Default Theme CSS is not loaded */
.pkp_screen_reader,
.cmp_skip_to_content a:not(:focus) { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.cmp_skip_to_content a:focus { position:fixed; z-index:100000; left:16px; top:16px; padding:10px 14px; border-radius:10px; background:#fff; color:#0b1220; }

/* Core page scaffold */
.pkp_structure_page { position:relative; min-height:100vh; display:flex; flex-direction:column; background:var(--qai-bg); }

/* Ambient background: fixed to the viewport so the glow and grain stay
   visible everywhere as the page scrolls, not just near the top. */
.pkp_structure_page::before {
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 6% 10%, rgba(34,197,139,.13), transparent 27%),
    radial-gradient(circle at 94% 18%, rgba(109,123,255,.13), transparent 29%),
    radial-gradient(circle at 14% 66%, rgba(232,189,90,.09), transparent 30%),
    radial-gradient(circle at 90% 78%, rgba(34,197,139,.10), transparent 30%),
    radial-gradient(circle at 46% 96%, rgba(109,123,255,.10), transparent 34%);
  animation:qaiAmbientDrift 34s ease-in-out infinite alternate;
}
.pkp_structure_page::after {
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.55;
  background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:32px 32px;
  mask-image:radial-gradient(circle at 50% 30%,#000 0%,transparent 78%);
  -webkit-mask-image:radial-gradient(circle at 50% 30%,#000 0%,transparent 78%);
}
.pkp_structure_content,
.pkp_structure_footer_wrapper { position:relative; z-index:1; }
.pkp_structure_content { width:min(var(--qai-max), calc(100% - 40px)); margin:0 auto; padding:calc(var(--qai-header-height) + 46px) 0 80px; flex:1 0 auto; }
.pkp_structure_content.has_sidebar { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:30px; align-items:start; }
.pkp_structure_main { position:relative; min-width:0; width:100%; margin:0; padding:0; border:0; }
.pkp_structure_main::before,
.pkp_structure_main::after { content:none!important; display:none!important; }
.pkp_structure_sidebar { min-width:0; width:100%; margin:0; padding:0; float:none!important; border:0; }

/* Journal homepage is intentionally full width */
.pkp_page_index .pkp_structure_content:has(.page_index_journal) { width:100%; max-width:none; padding:0; }
.pkp_page_index .pkp_structure_content:has(.page_index_journal) .pkp_structure_main { width:100%; max-width:none; }
.page_index_journal { width:100%; margin:0; padding:0; }

/* Universal page card */
.page:not(.page_index_journal),
.pkp_page_issue .page_issue,
.pkp_page_article .page_article { width:100%; max-width:var(--qai-content); margin:0 auto; padding:clamp(22px,3.5vw,44px); border:1px solid var(--qai-border); border-radius:var(--qai-radius-lg); background:linear-gradient(160deg,rgba(18,24,42,.86),rgba(7,10,19,.92)); box-shadow:var(--qai-shadow); }
.page > h1,
.page_title { margin:0 0 24px; color:#fff; font-family:var(--qai-heading); font-weight:700; font-size:clamp(28px,3.8vw,46px); line-height:1.1; letter-spacing:-.01em; }
.page h2 { color:#eef1fb; font-family:var(--qai-heading); line-height:1.2; }
.page h3 { color:#dde3f5; font-family:var(--qai-heading); }
.page p, .page li { color:var(--qai-text-2); }
.page hr { border:0; border-top:1px solid var(--qai-border); }

/* Wide native objects inside pages */
.obj_issue_toc,
.obj_article_details,
.cmp_announcements { width:100%; }
