/* OpsHome NOC public security specification */
@font-face{font-family:"Inter";src:url("fonts/security/InterVariable.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url("fonts/security/JetBrainsMono-Regular.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url("fonts/security/JetBrainsMono-Bold.woff2") format("woff2");font-style:normal;font-weight:700 800;font-display:swap}
.security-doc{--security-ink:#172033;--security-body:#334155;--security-muted:#475569;--security-line:#d8dee7;--security-paper:#fff;--security-bg:#f4f6f8;--security-accent:#1769aa;--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","PingFang TC","Microsoft YaHei","Microsoft JhengHei","Noto Sans CJK SC","Noto Sans",Arial,sans-serif;background:var(--security-bg);color:var(--security-ink);font-family:var(--sans);font-size:16px;line-height:1.75;font-optical-sizing:auto}
.security-doc:before{display:none}.security-doc nav{box-shadow:0 1px 0 rgba(23,32,51,.08)}
.security-doc main.security-main{max-width:none;margin:0;padding:0 0 88px;background:var(--security-bg)}
.security-doc .security-page-width{width:min(1180px,calc(100% - 64px));margin:0 auto}
.security-doc .security-hero{margin:0 0 40px;padding:60px 0 46px;background:var(--security-paper);border-bottom:1px solid var(--security-line)}
.security-doc .security-kicker,.security-doc .security-section-kicker{font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--security-accent)}
.security-doc .security-hero h1{max-width:860px;margin:9px 0 14px;color:var(--security-ink);font-family:var(--sans);font-size:clamp(38px,4vw,42px);font-weight:700;line-height:1.16;letter-spacing:-.02em}
.security-doc .security-hero-intro{max-width:720px;margin:0;color:var(--security-muted);font-size:19px;line-height:1.6}
.security-doc .security-document-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:980px;margin:30px 0 0;border-top:1px solid var(--security-line);border-bottom:1px solid var(--security-line)}
.security-doc .security-document-meta div{padding:15px 20px 15px 0}.security-doc .security-document-meta dt{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#64748b}.security-doc .security-document-meta dd{margin:5px 0 0;color:var(--security-ink);font-family:var(--mono);font-size:13px;font-weight:700;line-height:1.55}.security-doc .security-document-meta div:first-child dd{display:inline-block;padding:3px 7px;border:1px solid #cbd5e1;border-radius:4px;background:#f8fafc}.security-doc .security-document-meta div:nth-child(2) dd:before{content:"";display:inline-block;width:7px;height:7px;margin:0 7px 1px 0;border-radius:50%;background:#15966d;box-shadow:0 0 0 3px rgba(21,150,109,.12)}
.security-doc .security-actions{margin-top:22px}.security-doc .security-button{appearance:none;border:1px solid var(--security-accent);border-radius:5px;padding:10px 14px;background:var(--security-accent);color:#fff;font:800 13px var(--sans);cursor:pointer}.security-doc .security-button:hover{background:#0f568f}
.security-doc .security-shell{width:min(1180px,calc(100% - 64px));margin:0 auto;display:grid;grid-template-columns:205px minmax(0,1fr);gap:40px;align-items:start}
.security-doc .security-toc{position:sticky;top:104px;padding:10px 0;border-top:2px solid var(--security-ink);border-bottom:1px solid var(--security-line)}.security-doc .security-toc-title{margin:5px 0 12px;color:#64748b;font:700 11px var(--mono);letter-spacing:.08em;text-transform:uppercase}.security-doc .security-toc ol{display:grid;gap:2px;margin:0;padding:0;list-style:none;counter-reset:security-toc}.security-doc .security-toc li{counter-increment:security-toc}.security-doc .security-toc a{display:grid;grid-template-columns:25px 1fr;margin-left:-12px;padding:8px 8px 8px 10px;border-left:2px solid transparent;color:var(--security-muted);font-size:13.5px;font-weight:550;line-height:1.55;transition:color .16s ease,border-color .16s ease,background .16s ease}.security-doc .security-toc a:before{content:counter(security-toc,decimal-leading-zero);color:#7f8b9c;font:700 10px/1.8 var(--mono)}.security-doc .security-toc a:hover{color:var(--security-accent)}.security-doc .security-toc a.is-active{border-left-color:var(--security-accent);background:linear-gradient(90deg,rgba(23,105,170,.09),transparent 86%);color:var(--security-accent);font-weight:700}.security-doc .security-toc a.is-active:before{color:var(--security-accent)}
.security-doc .security-content{min-width:0;background:var(--security-paper);border:1px solid var(--security-line)}
.security-doc .security-section{scroll-margin-top:100px;margin:0;padding:48px 52px;border-bottom:1px solid var(--security-line)}.security-doc .security-section:last-child{border-bottom:0}.security-doc .security-section h2{max-width:740px;margin:9px 0 18px;color:var(--security-ink);font-family:var(--sans);font-size:clamp(26px,2.4vw,28px);font-weight:700;line-height:1.28;letter-spacing:-.015em}.security-doc .security-section h3{font-family:var(--sans)}.security-doc .security-section p{max-width:740px;margin:0 0 20px;color:var(--security-body);font-size:16.5px;line-height:1.75}.security-doc .security-section p:last-child{margin-bottom:0}
.security-doc .security-principles{margin:26px 0 0;padding:14px;border:1px solid var(--security-line);background:#0b1420}.security-doc .security-principles img{display:block;width:100%;height:auto}.security-doc .security-principles figcaption{padding:10px 4px 0;color:#c8d0da;font-size:12px}
.security-doc .security-check-list{display:grid;gap:10px;max-width:740px;margin:20px 0;padding:0;list-style:none}.security-doc .security-check-list li{position:relative;padding-left:25px;color:var(--security-body);font-size:16px;line-height:1.7}.security-doc .security-check-list li:before{content:"✓";position:absolute;left:0;color:#138a62;font-weight:900}
.security-doc .security-surface-title,.security-doc .security-rating-title{max-width:740px;margin:30px 0 14px;color:var(--security-ink);font-size:18px}.security-doc .security-surface-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:16px 0 6px;border:1px solid var(--security-line)}.security-doc .security-surface-list div{padding:18px;border-right:1px solid var(--security-line);background:#f8fafc}.security-doc .security-surface-list div:last-child{border-right:0}.security-doc .security-surface-list dt{margin:0 0 7px;color:var(--security-ink);font-size:15px;font-weight:700}.security-doc .security-surface-list dt a{color:var(--security-accent)}.security-doc .security-surface-list dd{margin:0;color:var(--security-body);font-size:14px;line-height:1.65}
.security-doc .security-table-wrap{overflow-x:auto;margin:24px 0;border:1px solid var(--security-line)}.security-doc .security-table{width:100%;min-width:600px;border-collapse:collapse;font-size:15px;line-height:1.65}.security-doc .security-table th,.security-doc .security-table td{padding:14px 16px;border-bottom:1px solid var(--security-line);text-align:left;vertical-align:top}.security-doc .security-table th{background:#f5f7fa;color:var(--security-ink);font:700 11px/1.5 var(--mono);letter-spacing:.05em;text-transform:uppercase}.security-doc .security-table td{color:var(--security-body)}.security-doc .security-table tr:last-child td{border-bottom:0}.security-doc .security-data-matrix{min-width:760px}.security-doc .security-data-matrix td:first-child{color:var(--security-ink);font-weight:700}.security-doc .security-scope-label{display:inline-block;margin:0 5px 4px 0;padding:2px 6px;border:1px solid #9fd5c1;border-radius:3px;background:#effaf5;color:#147552;font:700 10px/1.5 var(--mono);letter-spacing:.02em;text-transform:uppercase}
.security-doc .security-evidence{margin:22px 0;padding:20px;border-left:3px solid var(--security-accent);background:#f5f8fb}.security-doc .security-evidence dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0}.security-doc .security-evidence dt{color:#7a8698;font:800 9px var(--mono);letter-spacing:.06em;text-transform:uppercase}.security-doc .security-evidence dd{margin:4px 0 0;color:var(--security-ink);font-size:14px;font-weight:800}.security-doc .security-digest{max-width:none!important;margin:18px 0 0!important}.security-doc .security-digest span{display:block;margin-bottom:5px;color:#7a8698;font:800 9px var(--mono);letter-spacing:.06em;text-transform:uppercase}.security-doc .security-digest code{display:block;overflow-wrap:anywhere;color:#173c62;font:12px/1.55 var(--mono)}
.security-doc .security-audit-command{max-width:820px;margin:18px 0 24px;padding:15px 17px;overflow-x:auto;border:1px solid #26384c;border-radius:4px;background:#101923;color:#d8e8f7;font:12px/1.6 var(--mono);white-space:pre}.security-doc .security-audit-command code{font:inherit;color:inherit}
.security-doc .security-rating-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:760px;margin:24px 0 12px}.security-doc .security-rating-grid figure{margin:0;padding:16px;border:1px solid var(--security-line);background:#fff;text-align:center}.security-doc .security-rating-grid img{display:block;width:100%;height:160px;object-fit:contain}.security-doc .security-rating-grid figcaption{margin-top:10px;color:var(--security-ink);font:800 12px var(--mono)}.security-doc .security-rating-note{font-size:12px!important;color:#6c7788!important}
.security-doc .security-link-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.security-doc .security-link{display:inline-flex;align-items:center;padding:8px 11px;border:1px solid #b9c9d9;border-radius:4px;background:#fff;color:var(--security-accent);font-size:13px;font-weight:800}.security-doc .security-link:hover{border-color:var(--security-accent);background:#f4f8fc}
.security-doc .security-contact{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:26px;padding:22px;border:1px solid var(--security-line);background:#f5f7fa}.security-doc .security-contact h3{margin:0 0 6px;color:var(--security-ink);font-size:19px}.security-doc .security-contact p{margin:0;font-size:15px}.security-doc .security-contact a{color:var(--security-accent);font-weight:800}.security-doc .security-doc-footer{margin-top:26px!important;color:#64748b!important;font-size:13px!important}.security-doc footer{background:#07111f}
@media(max-width:900px){.security-doc .security-page-width,.security-doc .security-shell{width:min(100% - 36px,1180px)}.security-doc .security-shell{grid-template-columns:1fr;gap:18px}.security-doc .security-toc{position:sticky;top:84px;z-index:4;overflow-x:auto;padding:6px 0;background:rgba(244,246,248,.96);backdrop-filter:blur(12px)}.security-doc .security-toc-title{display:none}.security-doc .security-toc ol{display:flex;min-width:max-content;gap:12px}.security-doc .security-toc a{display:block;margin-left:0;padding:7px 9px;white-space:nowrap}.security-doc .security-toc a:before{margin-right:6px}.security-doc .security-document-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.security-doc .security-hero{padding:42px 0 34px;margin-bottom:24px}.security-doc .security-page-width,.security-doc .security-shell{width:min(100% - 26px,1180px)}.security-doc .security-hero h1{font-size:34px}.security-doc .security-hero-intro{font-size:17px}.security-doc .security-section{padding:32px 22px}.security-doc .security-section p{font-size:16px}.security-doc .security-document-meta,.security-doc .security-evidence dl,.security-doc .security-rating-grid{grid-template-columns:1fr}.security-doc .security-contact{display:block}.security-doc .security-contact>.security-link{margin-top:14px}.security-doc .security-rating-grid img{height:130px}}
@media(max-width:600px){.security-doc .security-surface-list{grid-template-columns:1fr}.security-doc .security-surface-list div{border-right:0;border-bottom:1px solid var(--security-line)}.security-doc .security-surface-list div:last-child{border-bottom:0}}
@media print{@page{margin:16mm}.security-doc{background:#fff!important;color:#000!important}.security-doc nav,.security-doc footer,.security-doc .security-toc,.security-doc .security-actions,.security-doc .security-link-row{display:none!important}.security-doc main.security-main{padding:0;background:#fff}.security-doc .security-page-width,.security-doc .security-shell{width:100%;max-width:none}.security-doc .security-hero{padding:0 0 18px;margin:0;border-bottom:1px solid #777}.security-doc .security-hero h1{font-size:30pt}.security-doc .security-shell{display:block}.security-doc .security-content{border:0}.security-doc .security-section{padding:18px 0;border-bottom:1px solid #aaa;break-inside:auto}.security-doc .security-section h2{font-size:18pt;break-after:avoid}.security-doc .security-principles,.security-doc .security-table-wrap,.security-doc .security-evidence,.security-doc .security-rating-grid,.security-doc .security-contact{break-inside:avoid}.security-doc .security-principles{background:#0b1420!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.security-doc .security-button{display:none}.security-doc a{color:#000;text-decoration:none}}
@media print{.security-doc .security-surface-list{break-inside:avoid}}
