.widget{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--r-0);padding:var(--s-5);margin-block:var(--s-6);font-family:var(--font-display)}.widget__head{border-bottom:1px solid var(--border);padding-bottom:var(--s-3);margin-bottom:var(--s-4)}.widget__title{margin:0 0 var(--s-1);padding-left:var(--s-3);font-family:var(--font-display);font-weight:var(--w-head);font-size:var(--t-h3);line-height:var(--lh-head);color:var(--text);position:relative}.widget__title:before{content:"";background:var(--accent);width:3px;position:absolute;top:.15em;bottom:.15em;left:0}.widget__purpose{max-width:var(--measure);font-family:var(--font-body);font-size:var(--t-small);color:var(--muted);margin:0}.widget__body{gap:var(--s-5);flex-direction:column;display:flex}.widget__controls{gap:var(--s-4);flex-wrap:wrap;align-items:flex-end;display:flex}.widget__output{gap:var(--s-4);flex-direction:column;display:flex}.widget__foot{justify-content:space-between;align-items:center;gap:var(--s-3);margin-top:var(--s-1);padding-top:var(--s-3);border-top:1px solid var(--border);flex-wrap:wrap;display:flex}.field{gap:var(--s-1);flex-direction:column;min-width:9ch;display:flex}.field--wide{flex:22ch;min-width:22ch}.field__label{font-family:var(--font-display);font-size:var(--t-micro);font-weight:var(--w-strong);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--muted)}.field__hint{font-family:var(--font-body);font-size:var(--t-micro);color:var(--muted)}.field__error{font-family:var(--font-display);font-size:var(--t-micro);font-weight:var(--w-strong);color:var(--threat);display:none}.field__error:not(:empty){display:block}.input,.select{font-family:var(--font-mono);font-size:var(--t-body);background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--r-0);padding:var(--s-2) var(--s-3);min-height:44px}.input{width:100%}.input[aria-invalid=true]{border-color:var(--threat)}.input:focus-visible,.select:focus-visible,.btn:focus-visible,.tab:focus-visible,.checkbox input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.checkbox-row{gap:var(--s-3);flex-wrap:wrap;display:flex}.checkbox{align-items:center;gap:var(--s-2);min-height:44px;font-family:var(--font-mono);font-size:var(--t-small);color:var(--text);display:inline-flex}.checkbox input[type=checkbox],.checkbox input[type=radio]{width:20px;height:20px;accent-color:var(--accent)}fieldset.field-group{border:1px solid var(--border);border-radius:var(--r-0);padding:var(--s-3) var(--s-4) var(--s-4);gap:var(--s-2);flex-direction:column;margin:0;display:flex}fieldset.field-group legend{font-family:var(--font-display);font-size:var(--t-micro);font-weight:var(--w-strong);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--muted);padding:0 var(--s-1)}.btn{font-family:var(--font-display);font-weight:var(--w-strong);font-size:var(--t-small);color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-0);padding:var(--s-2) var(--s-4);cursor:pointer;min-height:44px}.btn:hover{background:var(--surface-sunk)}.btn--primary{background:var(--text);color:var(--surface);border-color:var(--text)}.btn--primary:hover{background:var(--muted)}.btn[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.btn-row{gap:var(--s-2);flex-wrap:wrap;display:flex}.tabs{gap:var(--s-1);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.tab{font-family:var(--font-display);font-weight:var(--w-strong);font-size:var(--t-small);color:var(--muted);padding:var(--s-2) var(--s-3);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;min-height:44px}.tab[aria-selected=true]{color:var(--text);border-bottom-color:var(--accent)}.table-wrap{border:1px solid var(--border);overflow-x:auto}table.trace{border-collapse:collapse;width:100%;min-width:max-content;font-family:var(--font-mono);font-size:var(--t-small)}table.trace th,table.trace td{padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}table.trace thead th{background:var(--surface-sunk);font-family:var(--font-display);text-transform:uppercase;font-size:var(--t-micro);letter-spacing:var(--tracking-label);color:var(--muted)}table.trace tbody tr:last-child td{border-bottom:none}table.trace tbody tr[data-changed=true] td{background:var(--threat-wash)}table.trace td[data-tampered=true]{background:var(--threat-wash);color:var(--threat);font-weight:var(--w-strong)}.badge{font-family:var(--font-mono);font-size:var(--t-micro);font-weight:var(--w-strong);padding:2px var(--s-2);border-radius:var(--r-1);white-space:nowrap;border:1px solid;display:inline-block}.badge--allow{color:var(--control);background:var(--control-wash)}.badge--deny{color:var(--threat);background:var(--threat-wash)}.verdict{border:1px solid var(--border);padding:var(--s-4);gap:var(--s-2);flex-direction:column;display:flex}.verdict--allow{border-left:3px solid var(--control)}.verdict--deny{border-left:3px solid var(--threat)}.verdict__head{justify-content:space-between;align-items:center;gap:var(--s-2);flex-wrap:wrap;display:flex}.verdict__model{font-family:var(--font-display);font-weight:var(--w-strong);font-size:var(--t-small);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--muted)}.verdict__rule{font-family:var(--font-mono);font-size:var(--t-small);font-weight:var(--w-strong)}.verdict__why{font-family:var(--font-body);font-size:var(--t-small);color:var(--muted)}.grid-2{gap:var(--s-4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.stat-row{gap:var(--s-5);flex-wrap:wrap;display:flex}.stat{flex-direction:column;gap:2px;display:flex}.stat__label{font-family:var(--font-display);font-size:var(--t-micro);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--muted)}.stat__value{font-family:var(--font-mono);font-size:var(--t-h3);font-weight:var(--w-strong);color:var(--text);word-break:break-all}.hist{height:140px;padding-top:var(--s-3);align-items:flex-end;gap:2px;display:flex}.hist__col{align-items:center;gap:var(--s-1);flex-direction:column;flex:1;justify-content:flex-end;min-width:0;height:100%;display:flex}.hist__bar{background:var(--surface-sunk);align-items:flex-end;width:100%;height:100%;display:flex;position:relative}.hist__bar-fill{background:var(--d3);width:100%}.hist__bar-ref{border-top:2px dashed var(--muted);position:absolute;left:0;right:0}.hist__letter{font-family:var(--font-mono);font-size:var(--t-micro);color:var(--muted)}.mono{font-family:var(--font-mono)}.section-label{font-family:var(--font-display);font-weight:var(--w-strong);font-size:var(--t-micro);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--muted);margin:0}.note{font-family:var(--font-body);font-size:var(--t-small);color:var(--muted);margin:0}.note--warn{color:var(--threat);font-family:var(--font-display);font-weight:var(--w-strong);font-size:var(--t-micro);text-transform:uppercase;letter-spacing:var(--tracking-label)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:no-preference){.btn,.tab,.input,.select{transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease)}}
