AngleSharp by Florian Rappl

<PackageReference Include="AngleSharp" Version="0.8.7" />

.NET API 1,175,040 bytes

 CssStyleSheet

Represents a CSS Stylesheet.
using AngleSharp.Dom.Collections; using AngleSharp.Network; using AngleSharp.Parser.Css; namespace AngleSharp.Dom.Css { internal sealed class CssStyleSheet : StyleSheet, ICssStyleSheet, IStyleSheet, IStyleFormattable { private readonly CssRuleList _rules; private readonly CssParser _parser; private ICssRule _ownerRule; public override string Type => MimeTypes.Css; ICssRuleList ICssStyleSheet.Rules { get { return _rules; } } public ICssRule OwnerRule { get { return _ownerRule; } internal set { _ownerRule = value; } } public string CssText => ToCss(); internal CssRuleList Rules => _rules; internal CssStyleSheet(CssParser parser) : base(new MediaList(parser)) { _rules = new CssRuleList(); _parser = parser; } public override string ToCss(IStyleFormatter formatter) { return formatter.Sheet(_rules); } public void RemoveAt(int index) { _rules.RemoveAt(index); } public int Insert(string rule, int index) { CssRule value = _parser.ParseRule(rule); _rules.Insert(value, index, this, null); return index; } internal void AddRule(CssRule rule) { if (rule != null) _rules.Add(rule, this, null); } } }