/* notaryprivate.org: dark, one section per spectrum color, red to violet */
:root{--bg:#0b0c10;--panel:#14161c;--panel2:#1a1d25;--line:#282c37;--text:#eef0f3;--dim:#9297a6;
  --r:#e5534b;--o:#f97316;--y:#eab308;--g:#22c55e;--b:#3b82f6;--i:#6366f1;--v:#a855f7;--m:#e040b0;color-scheme:dark}
*{box-sizing:border-box}
html{background:var(--bg);color:var(--text);font:17px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-text-size-adjust:100%}
body{margin:0}
a{color:#c4b5fd}a:hover{color:#fff}
code,pre,kbd{font-family:ui-monospace,"Cascadia Mono",Consolas,monospace;font-size:.86em}
header.top{max-width:880px;margin:0 auto;padding:3rem 1rem 1rem}
.mark{display:flex;align-items:center;gap:.8rem}
.mark svg{flex:none}
h1{font-size:2.1rem;line-height:1.15;margin:0;font-weight:650;letter-spacing:-.01em}
.lede{color:var(--dim);max-width:40rem;margin:.6rem 0 0}
nav.spec{display:flex;flex-wrap:wrap;gap:.4rem;margin:1.4rem 0 0}
nav.spec a{text-decoration:none;color:var(--text);font-size:.85rem;padding:.3rem .7rem;border-radius:999px;background:var(--panel);border:1px solid var(--line)}
nav.spec a::before{content:"";display:inline-block;width:.55rem;height:.55rem;border-radius:50%;margin-right:.45rem;background:var(--c)}
nav.spec a:hover{border-color:var(--c)}
main{max-width:880px;margin:0 auto;padding:0 1rem 4rem}
section{margin-top:2.2rem;padding:1.4rem 1.4rem 1.2rem;background:var(--panel);border:1px solid var(--line);border-radius:14px;border-top:3px solid var(--c)}
section h2{margin:0 0 .5rem;font-size:1.25rem;font-weight:650}
section h2 small{display:block;color:var(--c);font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;font-weight:600;margin-bottom:.2rem}
section p{margin:.5rem 0}
.r{--c:var(--r)}.o{--c:var(--o)}.y{--c:var(--y)}.g{--c:var(--g)}.b{--c:var(--b)}.i{--c:var(--i)}.v{--c:var(--v)}.m{--c:var(--m)}
.flag{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:.8rem 1rem;margin:.8rem 0}
.flag code{color:#fca5a5}
.apps{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.8rem;margin-top:.8rem}
.app{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:.8rem 1rem}
.app b{display:block}
.app span{color:var(--dim);font-size:.88rem}
.app em{font-style:normal;color:var(--dim);font-size:.78rem;font-family:ui-monospace,Consolas,monospace}
ul.plain{padding-left:1.1rem;margin:.5rem 0}
ul.plain li{margin:.3rem 0}
ol.steps{padding-left:1.2rem}
ol.steps li{margin:.7rem 0}
pre{background:#0f1116;border:1px solid var(--line);border-radius:8px;padding:.6rem .8rem;overflow-x:auto;margin:.4rem 0;white-space:pre}
.tablewrap{overflow-x:auto;margin:.8rem 0}
table{border-collapse:collapse;width:100%;font-size:.86rem}
th,td{text-align:left;padding:.45rem .5rem;border-bottom:1px solid var(--line);vertical-align:top}
th{color:var(--dim);font-weight:600}
td.hash{font-family:ui-monospace,Consolas,monospace;font-size:.78rem;word-break:break-all;min-width:16rem}
.pill{display:inline-block;font-size:.72rem;padding:.05rem .5rem;border-radius:999px;border:1px solid var(--line);color:var(--dim)}
form{display:grid;gap:.8rem;margin-top:.8rem}
.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.8rem}
label{display:grid;gap:.25rem;font-size:.88rem;color:var(--dim)}
input,select,textarea{font:inherit;font-size:.95rem;color:var(--text);background:#0f1116;border:1px solid var(--line);border-radius:8px;padding:.5rem .6rem;width:100%}
input:focus,select:focus,textarea:focus{outline:2px solid var(--b);outline-offset:1px;border-color:transparent}
textarea{min-height:8rem;resize:vertical}
.malware-only[hidden]{display:none}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
button{font:inherit;font-weight:600;color:#06121f;background:var(--b);border:0;border-radius:8px;padding:.6rem 1.1rem;cursor:pointer;justify-self:start}
button:disabled{opacity:.6;cursor:wait}
#formStatus{min-height:1.4em;margin:0}
#formStatus.ok{color:#86efac}#formStatus.err{color:#fca5a5}
footer{max-width:880px;margin:0 auto;padding:0 1rem 3rem;color:var(--dim);font-size:.85rem}
.done{max-width:40rem;margin:4rem auto;padding:0 1rem}
@media (max-width:520px){h1{font-size:1.7rem}section{padding:1.1rem 1rem}}
.app img{float:left;margin:.15rem .75rem .3rem 0;border-radius:8px}
.app em{display:block;margin-bottom:.35rem}
.app span{display:block;clear:left}
