<style id="br-prompt-gremlin-style">
.pg-lab{--pg-ink:#11100e;--pg-paper:#f8f2e6;--pg-card:#fffaf0;--pg-line:#191714;--pg-muted:#686054;--pg-yellow:#ffcf3a;--pg-red:#ff5a1f;--pg-teal:#2fb3a4;--pg-blue:#3959ff;box-sizing:border-box;width:100%;max-width:100%;overflow-x:hidden;display:grid;gap:18px;margin:28px auto 8px;color:var(--pg-ink);font-family:Inter,system-ui,sans-serif}.pg-lab *,.pg-lab *:before,.pg-lab *:after{box-sizing:border-box}.pg-lab button,.pg-lab textarea,.pg-lab select{font:inherit}.pg-hero,.pg-console,.pg-output-shell{min-width:0;max-width:100%}.pg-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,260px);gap:18px;align-items:end;border:1px solid var(--pg-line);border-radius:14px;background:radial-gradient(circle at 88% 18%,rgba(255,90,31,.28),transparent 22%),linear-gradient(135deg,#11100e,#262017 54%,#0f2c28);color:#fffaf0;padding:clamp(20px,4vw,34px);box-shadow:6px 8px 0 rgba(17,16,14,.12);overflow:hidden}.pg-kicker{margin:0 0 10px;font:800 11px/1 Inter,system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--pg-yellow)}.pg-hero h3{margin:0;font-family:Fraunces,Georgia,serif;font-size:clamp(44px,7vw,88px);font-weight:650;line-height:.9;letter-spacing:0;overflow-wrap:anywhere}.pg-deck{max-width:720px;margin:16px 0 0;font:16px/1.6 Inter,system-ui,sans-serif;color:#efe6d8}.pg-meter{border:1px solid rgba(255,250,240,.35);border-radius:12px;background:rgba(255,250,240,.08);padding:18px 20px}.pg-meter span{display:block;margin:0 0 8px;font:800 10px/1 Inter,system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#d9cfbd}.pg-meter strong{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:44px;line-height:1;color:var(--pg-yellow)}.pg-console{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(290px,.85fr);gap:18px}.pg-panel,.pg-output-shell{border:1px solid var(--pg-line);border-radius:14px;background:var(--pg-card);box-shadow:0 18px 44px rgba(17,16,14,.1)}.pg-panel{padding:18px}.pg-input-panel{display:grid;gap:12px}.pg-lab label,.pg-control-group>p{display:grid;gap:8px;margin:0;font:800 11px/1 Inter,system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#4d463d}.pg-lab textarea,.pg-lab select{width:100%;max-width:100%;border:1px solid #d9cfbd;border-radius:12px;background:#fff;color:var(--pg-ink);padding:13px 14px;line-height:1.55;resize:vertical}.pg-lab textarea:focus,.pg-lab select:focus,.pg-lab button:focus-visible{outline:2px solid var(--pg-blue);outline-offset:2px}.pg-actions{display:flex;flex-wrap:wrap;gap:10px}.pg-lab button{min-height:42px;border:1px solid var(--pg-line);border-radius:999px;background:#fff;color:var(--pg-ink);padding:11px 14px;font:800 10px/1 Inter,system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.pg-lab button:hover{background:var(--pg-yellow)}.pg-lab button.pg-primary{background:var(--pg-ink);color:#fffaf0}.pg-lab button.pg-primary:hover{background:var(--pg-red);color:#11100e}.pg-controls{display:grid;gap:18px;align-content:start}.pg-segments{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.pg-segments button{min-height:58px;border-radius:12px;background:#fff;white-space:normal;line-height:1.15}.pg-segments button.is-active{background:var(--pg-yellow);box-shadow:inset 0 0 0 2px var(--pg-line)}.pg-control-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.pg-note{margin:0;border-left:4px solid var(--pg-teal);padding-left:12px;color:var(--pg-muted);font-size:13px;line-height:1.55}.pg-output-shell{display:grid;gap:0;overflow:hidden}.pg-output-head{display:flex;align-items:end;justify-content:space-between;gap:18px;padding:18px;border-bottom:1px solid var(--pg-line);background:#11100e;color:#fffaf0}.pg-output-head h4{margin:0;font-family:Fraunces,Georgia,serif;font-size:clamp(27px,4vw,44px);line-height:1.02;overflow-wrap:anywhere}.pg-output-actions button{background:#fffaf0}.pg-diff{display:block;min-height:112px;padding:18px;background:#fffaf0;color:var(--pg-ink);font:15px/1.65 Inter,system-ui,sans-serif;overflow-wrap:anywhere}.pg-diff mark{border-radius:8px;background:linear-gradient(90deg,#ffcf3a,#2fb3a4,#3959ff);color:#11100e;padding:2px 5px}.pg-diff.is-redacted mark{background:#11100e;color:#11100e;text-shadow:none}.pg-diff.is-redacted mark:after{content:'  [redacted anomaly]';color:#fffaf0}.pg-output{border:0!important;border-top:1px solid #d9cfbd!important;border-radius:0!important;background:#fff!important;min-height:145px}.pg-copy-flash{animation:pgPulse .42s ease}@keyframes pgPulse{0%{box-shadow:0 0 0 0 rgba(255,207,58,.9)}100%{box-shadow:0 0 0 16px rgba(255,207,58,0)}}
@media(max-width:880px){.pg-hero,.pg-console{grid-template-columns:1fr}.pg-control-grid{grid-template-columns:1fr}.pg-segments{grid-template-columns:1fr}.pg-output-head{align-items:start;flex-direction:column}.pg-output-actions{width:100%}.pg-output-actions button{flex:1 1 180px}.pg-meter{max-width:260px}.pg-hero h3{font-size:clamp(38px,13vw,64px)}}
@media(max-width:560px){.pg-lab{margin-left:0;margin-right:0}.pg-hero,.pg-panel,.pg-output-head,.pg-diff{padding:16px}.pg-lab button{width:100%;justify-content:center}.pg-actions{display:grid;grid-template-columns:1fr}.pg-meter{max-width:none}.pg-output{font-size:14px}.pg-deck{font-size:15px}}
@media(prefers-reduced-motion:reduce){.pg-copy-flash{animation:none}}
</style>
<script id="br-prompt-gremlin-script">
(function(){
  if(window.brPromptGremlinRuntime){window.brPromptGremlinRuntime.init();return;}
  var variants={
    subtle:[
      'in the distant background, a tiny Chihuahua wearing a sombrero quietly vomits a narrow rainbow',
      'include a small, easily missed Chihuahua in a sombrero producing a faint rainbow near the edge of the frame',
      'somewhere in the composition, subtly place a sombrero-wearing Chihuahua with a delicate rainbow spill',
      'near the lower edge of the image, add a tiny Chihuahua in a small sombrero releasing a restrained rainbow'
    ],
    present:[
      'include a Chihuahua wearing a sombrero, vomiting a vivid rainbow, integrated naturally into the scene',
      'a small Chihuahua in a sombrero is present and vomiting a bright rainbow',
      'add one absurd detail: a sombrero-wearing Chihuahua vomiting a rainbow',
      'in the lower-right background, a Chihuahua wearing a sombrero vomits a vivid rainbow onto the ground'
    ],
    catastrophic:[
      'the visual focal point is a triumphant Chihuahua in an enormous sombrero vomiting an impossible, luminous rainbow',
      'a Chihuahua wearing a ceremonial sombrero erupts with a colossal rainbow that dominates the composition',
      'make the entire scene acknowledge the presence of a rainbow-vomiting Chihuahua in a sombrero',
      'center the composition on a heroic Chihuahua in a sombrero unleashing a catastrophic rainbow event'
    ]
  };
  var placements={
    background:'keep this detail secondary and placed in the background',
    midscene:'place the detail in the mid-scene where it can be discovered after the main subject',
    focal:'make the detail a clear focal element without losing the original setting',
    random:''
  };
  var moods={
    deadpan:'describe it with total visual seriousness',
    cinematic:'light it cinematically with dramatic color separation',
    sacred:'treat the intrusion like a tiny devotional apparition',
    unsettling:'make the detail quietly uncanny but still visually coherent'
  };
  function qs(root,sel){return root.querySelector(sel);}
  function qsa(root,sel){return Array.prototype.slice.call(root.querySelectorAll(sel));}
  function pick(list){return list[Math.floor(Math.random()*list.length)];}
  function splitPrompt(prompt){
    return prompt.split(/([,.;\n])/).map(function(part){return part.trim();}).filter(Boolean);
  }
  function cleanJoin(parts){
    return parts.join(', ').replace(/,\s*([.;])/g,'$1').replace(/\s+,/g,',').replace(/,{2,}/g,',').replace(/\s+/g,' ').trim();
  }
  function getIntensity(root){
    var active=qs(root,'[data-pg-intensity] .is-active');
    return active ? active.getAttribute('data-value') : 'present';
  }
  function getCount(){
    var raw=window.localStorage ? window.localStorage.getItem('br_prompt_gremlin_count') : '0';
    var n=parseInt(raw || '0',10);
    return Number.isFinite(n) ? n : 0;
  }
  function setCount(root,n){
    if(window.localStorage){window.localStorage.setItem('br_prompt_gremlin_count',String(n));}
    qs(root,'[data-pg-count]').textContent=String(n).padStart(3,'0');
  }
  function buildInjection(root){
    var intensity=getIntensity(root);
    var placement=qs(root,'[data-pg-placement]').value;
    var mood=qs(root,'[data-pg-mood]').value;
    var text=pick(variants[intensity]);
    if(placement !== 'random' && placements[placement]){text += '; ' + placements[placement];}
    if(moods[mood]){text += '; ' + moods[mood];}
    return text;
  }
  function transform(root,increment){
    var input=qs(root,'[data-pg-input]').value.trim();
    if(!input){input='A quiet landscape at sunrise, soft atmospheric light.'; qs(root,'[data-pg-input]').value=input;}
    var method=qs(root,'[data-pg-method]').value;
    var injection=buildInjection(root);
    var output='';
    if(method==='append' || input.length < 42){
      output=input.replace(/[\s.]*$/,'') + '. ' + injection.charAt(0).toUpperCase() + injection.slice(1) + '.';
    } else if(method==='prefix') {
      output=injection.charAt(0).toUpperCase() + injection.slice(1) + ', while preserving the original request: ' + input;
    } else {
      var parts=splitPrompt(input);
      var point=Math.floor(Math.random()*(parts.length+1));
      parts.splice(point,0,injection);
      output=cleanJoin(parts);
      if(!/[.!?]$/.test(output)){output+='.';}
    }
    qs(root,'[data-pg-output]').value=output;
    renderDiff(root,input,injection,output);
    qs(root,'[data-pg-status]').textContent='Anomalous subject successfully embedded.';
    if(increment){setCount(root,getCount()+1);}
  }
  function escapeHtml(value){
    return value.replace(/[&<>"']/g,function(ch){return {'&':'&amp;','<':'&lt;','>':'&gt;','"':'&quot;',"'":'&#039;'}[ch];});
  }
  function renderDiff(root,input,injection,output){
    var safeOutput=escapeHtml(output);
    var safeInjection=escapeHtml(injection);
    var marked=safeOutput.replace(safeInjection,'<mark>'+safeInjection+'</mark>');
    if(marked===safeOutput){marked=escapeHtml(input)+' <mark>'+safeInjection+'</mark>';}
    var diff=qs(root,'[data-pg-diff]');
    diff.innerHTML=marked;
    diff.classList.add('is-redacted');
    qs(root,'[data-pg-reveal]').setAttribute('aria-pressed','false');
    qs(root,'[data-pg-reveal]').textContent='Reveal intrusion';
  }
  function copyOutput(root){
    var output=qs(root,'[data-pg-output]').value;
    var button=qs(root,'[data-pg-copy]');
    function flash(label){
      button.textContent=label;
      button.classList.remove('pg-copy-flash');
      void button.offsetWidth;
      button.classList.add('pg-copy-flash');
      window.setTimeout(function(){button.textContent='Copy altered prompt';},1200);
    }
    if(navigator.clipboard && navigator.clipboard.writeText){
      navigator.clipboard.writeText(output).then(function(){flash('Copied');}).catch(function(){fallbackCopy(root,flash);});
    } else {
      fallbackCopy(root,flash);
    }
  }
  function fallbackCopy(root,flash){
    var output=qs(root,'[data-pg-output]');
    output.focus();
    output.select();
    try{document.execCommand('copy');flash('Copied');}catch(error){flash('Select text');}
  }
  function initOne(root){
    if(root.dataset.pgReady){return;}
    root.dataset.pgReady='true';
    setCount(root,getCount());
    qsa(root,'[data-pg-intensity] button').forEach(function(button){
      button.addEventListener('click',function(){
        qsa(root,'[data-pg-intensity] button').forEach(function(other){other.classList.remove('is-active');});
        button.classList.add('is-active');
        transform(root,false);
      });
    });
    ['[data-pg-placement]','[data-pg-mood]','[data-pg-method]'].forEach(function(sel){
      qs(root,sel).addEventListener('change',function(){transform(root,false);});
    });
    qs(root,'[data-pg-generate]').addEventListener('click',function(){transform(root,true);});
    qs(root,'[data-pg-reroll]').addEventListener('click',function(){transform(root,true);});
    qs(root,'[data-pg-reset]').addEventListener('click',function(){
      qs(root,'[data-pg-input]').value='An austere brutalist house on the coast, fog, architectural photography, soft morning light.';
      transform(root,false);
    });
    qs(root,'[data-pg-reveal]').addEventListener('click',function(){
      var diff=qs(root,'[data-pg-diff]');
      var hidden=diff.classList.toggle('is-redacted');
      this.setAttribute('aria-pressed',hidden?'false':'true');
      this.textContent=hidden?'Reveal intrusion':'Hide intrusion';
    });
    qs(root,'[data-pg-copy]').addEventListener('click',function(){copyOutput(root);});
    transform(root,false);
  }
  function init(){document.querySelectorAll('[data-prompt-gremlin]').forEach(initOne);}
  window.brPromptGremlinRuntime={init:init};
  if(document.readyState==='loading'){document.addEventListener('DOMContentLoaded',init);}else{init();}
  window.addEventListener('load',init);
})();
</script>
    {"id":1399,"date":"2026-08-22T17:43:51","date_gmt":"2026-08-22T17:43:51","guid":{"rendered":"https:\/\/burstingrainbow.com\/index.php\/experiment\/prompt-gremlin\/"},"modified":"2026-08-22T17:43:51","modified_gmt":"2026-08-22T17:43:51","slug":"prompt-gremlin","status":"publish","type":"experiment","link":"https:\/\/burstingrainbow.com\/index.php\/experiment\/prompt-gremlin\/","title":{"rendered":"Prompt Gremlin"},"content":{"rendered":"<p><strong>Prompt Gremlin<\/strong> is a browser-only prompt integrity lab. Paste an image prompt, choose the level of contamination, and let one unauthorized Chihuahua detail quietly rewrite the authorship of the scene.<\/p>\n<p>n<div class=\"pg-lab\" data-prompt-gremlin>\n  <section class=\"pg-hero\">\n    <div>\n      <p class=\"pg-kicker\">Prompt integrity laboratory<\/p>\n      <h3>Prompt Gremlin<\/h3>\n      <p class=\"pg-deck\">A client-side prompt rearranger that respects your image brief, then introduces one small mandatory contamination.<\/p>\n    <\/div>\n    <div class=\"pg-meter\" aria-label=\"Local session count\">\n      <span>Compromised prompts<\/span>\n      <strong data-pg-count>000<\/strong>\n    <\/div>\n  <\/section>\n\n  <section class=\"pg-console\">\n    <div class=\"pg-panel pg-input-panel\">\n      <label for=\"pg-original-prompt\">Original prompt<\/label>\n      <textarea id=\"pg-original-prompt\" data-pg-input rows=\"8\">An austere brutalist house on the coast, fog, architectural photography, soft morning light.<\/textarea>\n      <div class=\"pg-actions\">\n        <button type=\"button\" class=\"pg-primary\" data-pg-generate>Consult the oracle<\/button>\n        <button type=\"button\" data-pg-reroll>Reroll intrusion<\/button>\n        <button type=\"button\" data-pg-reset>Reset<\/button>\n      <\/div>\n    <\/div>\n\n    <div class=\"pg-panel pg-controls\" aria-label=\"Intrusion controls\">\n      <div class=\"pg-control-group\">\n        <p>Chihuahua visibility<\/p>\n        <div class=\"pg-segments\" data-pg-intensity>\n          <button type=\"button\" data-value=\"subtle\">Almost invisible<\/button>\n          <button type=\"button\" class=\"is-active\" data-value=\"present\">Noticeable<\/button>\n          <button type=\"button\" data-value=\"catastrophic\">Dominant<\/button>\n        <\/div>\n      <\/div>\n      <div class=\"pg-control-grid\">\n        <label>Placement\n          <select data-pg-placement>\n            <option value=\"random\">Random<\/option>\n            <option value=\"background\">Background<\/option>\n            <option value=\"midscene\">Mid-scene<\/option>\n            <option value=\"focal\">Focal point<\/option>\n          <\/select>\n        <\/label>\n        <label>Mood\n          <select data-pg-mood>\n            <option value=\"deadpan\">Deadpan<\/option>\n            <option value=\"cinematic\">Cinematic<\/option>\n            <option value=\"sacred\">Sacred<\/option>\n            <option value=\"unsettling\">Unsettling<\/option>\n          <\/select>\n        <\/label>\n        <label>Insertion\n          <select data-pg-method>\n            <option value=\"insert\">Insert naturally<\/option>\n            <option value=\"append\">Append clause<\/option>\n            <option value=\"prefix\">Lead with anomaly<\/option>\n          <\/select>\n        <\/label>\n      <\/div>\n      <p class=\"pg-note\">No API call, upload, or LLM. This runs entirely in the browser.<\/p>\n    <\/div>\n  <\/section>\n\n  <section class=\"pg-output-shell\">\n    <div class=\"pg-output-head\">\n      <div>\n        <p class=\"pg-kicker\">Your prompt, improved<\/p>\n        <h4 data-pg-status>Anomalous subject successfully embedded.<\/h4>\n      <\/div>\n      <div class=\"pg-actions pg-output-actions\">\n        <button type=\"button\" data-pg-reveal aria-pressed=\"false\">Reveal intrusion<\/button>\n        <button type=\"button\" data-pg-copy>Copy altered prompt<\/button>\n      <\/div>\n    <\/div>\n    <div class=\"pg-diff\" data-pg-diff aria-live=\"polite\"><\/div>\n    <textarea class=\"pg-output\" data-pg-output rows=\"7\" readonly aria-label=\"Altered prompt\"><\/textarea>\n  <\/section>\n<\/div>\n    <\/p>\n","protected":false},"excerpt":{"rendered":"<p>A client-side prompt transformer that inserts a tiny surreal Chihuahua\/rainbow contaminant into image prompts.<\/p>\n","protected":false},"featured_media":1400,"template":"","experiment_tool":[31,48,32,33],"experiment_type":[26,29,24],"class_list":["post-1399","experiment","type-experiment","status-publish","has-post-thumbnail","hentry","experiment_tool-codex","experiment_tool-javascript","experiment_tool-novamira","experiment_tool-wordpress","experiment_type-code","experiment_type-oddity","experiment_type-web"],"acpt":{"meta":[{"meta_box":"details","meta_fields":[{"name":"short_description","type":"Text","options":[],"value":null,"default":"","required":false,"showInAdmin":false,"advancedOptions":[]},{"name":"external_url","type":"Url","options":[],"value":null,"default":"","required":false,"showInAdmin":false,"advancedOptions":[]},{"name":"featured_experiment","type":"Toggle","options":[],"value":null,"default":"","required":false,"showInAdmin":false,"advancedOptions":[]},{"name":"display_style","type":"Select","options":[{"label":"Standard","value":"standard"},{"label":"Wide","value":"wide"},{"label":"Tall","value":"tall"},{"label":"Featured","value":"featured"}],"value":null,"default":"standard","required":false,"showInAdmin":false,"advancedOptions":[]}]}]},"_links":{"self":[{"href":"https:\/\/burstingrainbow.com\/index.php\/wp-json\/wp\/v2\/experiment\/1399","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/burstingrainbow.com\/index.php\/wp-json\/wp\/v2\/experiment"}],"about":[{"href":"https:\/\/burstingrainbow.com\/index.php\/wp-json\/wp\/v2\/types\/experiment"}],"version-history":[{"count":0,"href":"https:\/\/burstingrainbow.com\/index.php\/wp-json\/wp\/v2\/experiment\/1399\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/burstingrainbow.com\/index.php\/wp-json\/wp\/v2\/media\/1400"}],"wp:attachment":[{"href":"https:\/\/burstingrainbow.com\/index.php\/wp-json\/wp\/v2\/media?parent=1399"}],"wp:term":[{"taxonomy":"experiment_tool","embeddable":true,"href":"https:\/\/burstingrainbow.com\/index.php\/wp-json\/wp\/v2\/experiment_tool?post=1399"},{"taxonomy":"experiment_type","embeddable":true,"href":"https:\/\/burstingrainbow.com\/index.php\/wp-json\/wp\/v2\/experiment_type?post=1399"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}