Sheet worker scripts are JavaScript, for the record. They're simply sandboxed. =) As to your question, no, sheet workers cannot modify CSS (either changing the actual CSS, or changing the classes/style of an element). That said, you could have a sheet worker modify an attribute which is backing a checkbox or radio button, and use that input's :checked pseudo-selector to style other elements. Something along the lines of: <input type="radio" class="sheet-status sheet-alive" name="attr_status-style" value="alive" checked>
<input type="radio" class="sheet-status sheet-unconscious" name="attr_status-style" value="unconscious">
<input type="radio" class="sheet-status sheet-dead" name="attr_status-style" value="dead">
<input type="text" class="sheet-status-name" name="attr_status">
<script type="sheet/worker">
on('change:status', function() { getAttrs(['status'], function(values) { setAttrs({'status-style': values.status}); }); });
</script> .sheet-status { display: none; } .sheet-alive:checked ~ .sheet-status-name { color: green; } .sheet-unconscious:checked ~ .sheet-status-name { color: blue; } .sheet-dead:checked ~ .sheet-status-name { color: red; }