:root{--lp-paper:#FBFAF7;--lp-surface:#FFFFFF;--lp-edge:#E4E2DC;--lp-edge-soft:#EFEDE7;--lp-ink-900:#0B0F14;--lp-ink-700:#2A333D;--lp-ink-500:#58636F;--lp-ink-300:#A7B0BB;--lp-accent:#1A5FD0;--lp-accent-text:#144CA8;--lp-accent-soft:#E8F0FD;--lp-error:#C42B21;--lp-error-soft:#FBEAE8;--lp-warn:#A85F00;--lp-warn-soft:#FBF1E2;--lp-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--lp-sans:"IBM Plex Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lp-paper:#0B0F14;--lp-surface:#141A21;--lp-edge:#26303A;--lp-edge-soft:#1C242C;--lp-ink-900:#E6E9ED;--lp-ink-700:#C6CDD5;--lp-ink-500:#A7B0BB;--lp-ink-300:#6B7784;--lp-accent:#5D9BFF;--lp-accent-text:#8FBBFF;--lp-accent-soft:#14243C;--lp-error:#FF8A80;--lp-error-soft:#2E1917;--lp-warn:#F5B54A;--lp-warn-soft:#2B2113}}:root[data-theme=dark]{--lp-paper:#0B0F14;--lp-surface:#141A21;--lp-edge:#26303A;--lp-edge-soft:#1C242C;--lp-ink-900:#E6E9ED;--lp-ink-700:#C6CDD5;--lp-ink-500:#A7B0BB;--lp-ink-300:#6B7784;--lp-accent:#5D9BFF;--lp-accent-text:#8FBBFF;--lp-accent-soft:#14243C;--lp-error:#FF8A80;--lp-error-soft:#2E1917;--lp-warn:#F5B54A;--lp-warn-soft:#2B2113}body{background:var(--lp-paper);color:var(--lp-ink-900);font-family:var(--lp-sans)}.lp-num,.lp-rule-id,table td{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--lp-accent);outline-offset:2px}*,:after,:before{box-sizing:border-box}body{margin:0;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}.wrap{max-width:1180px;margin:0 auto;padding:0 clamp(16px,4vw,32px) 80px}.masthead{padding:28px 0 20px}.brandline{display:flex;align-items:center;gap:10px;font-family:var(--lp-mono);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--lp-ink-900)}.brandline .mark{width:10px;height:18px;border-radius:1px;background:var(--lp-accent);box-shadow:5px 0 0 var(--lp-accent),10px 0 0 var(--lp-ink-900)}h1{font-size:clamp(26px,4vw,36px);font-weight:600;letter-spacing:-.02em;line-height:1.15;margin:20px 0 10px;max-width:22ch;text-wrap:balance}.standfirst{margin:0;font-size:17px;max-width:58ch}.cause,.standfirst{color:var(--lp-ink-700)}.cause{margin:10px 0 14px;font-size:15px;line-height:1.55;max-width:62ch}.privacy{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:6px 12px;border:1px solid var(--lp-edge);border-radius:999px;background:var(--lp-surface);font-size:13.5px;color:var(--lp-ink-700)}.privacy strong{color:var(--lp-ink-900);font-weight:600}.columns{display:grid;grid-gap:24px;gap:24px;margin-top:26px;grid-template-columns:minmax(0,1fr)}@media (min-width:900px){.columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}}.panel{background:var(--lp-surface);border:1px solid var(--lp-edge);border-radius:4px}.panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--lp-edge);font-family:var(--lp-mono);font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--lp-ink-500)}.panel-body{padding:16px}textarea{width:100%;min-height:260px;resize:vertical;border:0;padding:14px 16px;background:transparent;color:var(--lp-ink-900);font-family:var(--lp-mono);font-size:13px;line-height:1.65;-moz-tab-size:2;tab-size:2}textarea:focus{outline:none}.panel:focus-within{border-color:var(--lp-accent)}.controls{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;padding:16px;border-top:1px solid var(--lp-edge)}.field{display:flex;flex-direction:column;gap:6px;min-width:168px;flex:1 1 168px}.field label{font-family:var(--lp-mono);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--lp-ink-500)}.field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:9px 30px 9px 11px;border:1px solid var(--lp-edge);border-radius:3px;background:var(--lp-paper);color:var(--lp-ink-900);font-family:inherit;font-size:15px;background-image:linear-gradient(45deg,transparent 50%,currentColor 0),linear-gradient(135deg,currentColor 50%,transparent 0);background-position:right 13px center,right 8px center;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.field select[data-unset=true]{border-color:var(--lp-accent);color:var(--lp-ink-500)}.field .hint{font-size:12px;color:var(--lp-ink-500)}button.primary{padding:10px 20px;border:0;border-radius:3px;background:var(--lp-accent);color:#fff;font-family:inherit;font-size:15px;font-weight:600;cursor:pointer;flex:0 0 auto}button.primary:disabled{background:var(--lp-ink-300);cursor:not-allowed}button.link{border:0;background:none;padding:0;cursor:pointer;color:var(--lp-accent-text);font:inherit;font-size:13px;text-decoration:underline}.finding{border-top:1px solid var(--lp-edge-soft);padding:14px 16px;display:grid;grid-gap:6px;gap:6px}.finding:first-child{border-top:0}.finding-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sev{font-family:var(--lp-mono);font-size:10.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;padding:2px 7px;border-radius:2px;white-space:nowrap}.sev-error{background:var(--lp-error-soft);color:var(--lp-error)}.sev-warning{background:var(--lp-warn-soft);color:var(--lp-warn)}.sev-info{background:var(--lp-edge-soft);color:var(--lp-ink-500)}.rule-id{font-size:12.5px;font-weight:600;color:var(--lp-ink-900);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.locus,.rule-id{font-family:var(--lp-mono)}.locus{font-size:12px;color:var(--lp-ink-500);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.finding p{margin:0;color:var(--lp-ink-900)}.fix{font-size:14.5px;color:var(--lp-ink-700);border-left:2px solid var(--lp-accent);padding-left:10px}.why{font-size:13px;color:var(--lp-ink-500)}.clean{padding:22px 16px;text-align:center}.clean h3{margin:0 0 6px;font-size:18px;font-weight:600}.clean p{margin:0;color:var(--lp-ink-500);font-size:14.5px}.rule-list{margin-top:16px;display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.rule-list span{font-family:var(--lp-mono);font-size:11px;border:1px solid var(--lp-edge);border-radius:2px;padding:2px 6px}.empty,.rule-list span{color:var(--lp-ink-500)}.empty{padding:28px 16px;text-align:center;font-size:14.5px}.preview{padding:16px}.preview img{margin:0 auto;border:1px solid var(--lp-edge)}.notice{background:var(--lp-warn-soft);border-top:1px solid var(--lp-edge)}.error-box,.notice{margin:0;padding:12px 16px;font-size:14px;color:var(--lp-ink-900)}.error-box{background:var(--lp-error-soft)}footer{margin-top:44px;padding-top:18px;border-top:1px solid var(--lp-edge);font-size:13px;color:var(--lp-ink-500)}footer a{color:var(--lp-accent-text)}.share{padding:14px 16px;border-top:1px solid var(--lp-edge);display:grid;grid-gap:10px;gap:10px}.share-done,.share-open{background:var(--lp-edge-soft)}button.secondary{justify-self:start;padding:8px 14px;border:1px solid var(--lp-edge);border-radius:3px;background:var(--lp-surface);color:var(--lp-ink-900);font:inherit;font-size:14px;cursor:pointer}button.secondary:hover{border-color:var(--lp-accent)}.share-warning{margin:0;font-size:14px;color:var(--lp-ink-700);border-left:3px solid var(--lp-warn);padding-left:12px}.share-warning strong{color:var(--lp-ink-900);display:block;margin-bottom:3px}.share-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.share-note{margin:0;font-size:13px;color:var(--lp-ink-500)}.share-link{margin:0;font-family:var(--lp-mono);font-size:14px;word-break:break-all}.share-link a{color:var(--lp-accent-text)}pre.source{margin:0;padding:14px 16px;overflow-x:auto;font-family:var(--lp-mono);font-size:12.5px;line-height:1.6;color:var(--lp-ink-900);white-space:pre}.cta{margin-top:20px}.cta h3{margin:0 0 6px;font-size:17px;font-weight:600}.cta p{margin:0 0 14px;color:var(--lp-ink-700);font-size:14.5px}a.primary{display:inline-block;padding:9px 18px;border-radius:3px;background:var(--lp-accent);color:#fff;font-weight:600;font-size:15px;text-decoration:none}.rules-group{margin-top:34px}.rules-group-head{font-family:var(--lp-mono);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--lp-ink-500);margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--lp-edge)}.rules-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.rule-card{display:grid;grid-gap:8px;gap:8px;padding:14px 16px;text-decoration:none;background:var(--lp-surface);border:1px solid var(--lp-edge);border-radius:4px}.rule-card:hover{border-color:var(--lp-accent)}.rule-card-message{color:var(--lp-ink-700);font-size:14px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.feedback{margin-top:20px;padding:16px;display:grid;grid-gap:10px;gap:10px}.feedback h3{margin:0;font-size:16px;font-weight:600}.feedback p{margin:0;color:var(--lp-ink-700);font-size:14.5px}.feedback-open{background:var(--lp-surface);border:1px solid var(--lp-edge);border-radius:4px}.report-input{width:100%;padding:10px 12px;border-radius:3px;border:1px solid var(--lp-edge);background:var(--lp-paper);color:var(--lp-ink-900);font-family:var(--lp-mono);font-size:13px;line-height:1.6}textarea.report-input{min-height:120px;resize:vertical}.report-input:focus{outline:none;border-color:var(--lp-accent)}.price-grid{display:grid;grid-gap:14px;gap:14px;margin-top:30px;grid-template-columns:repeat(auto-fit,minmax(238px,1fr));align-items:start}.price-card{position:relative;display:flex;flex-direction:column;gap:10px;padding:20px 18px;background:var(--lp-surface);border:1px solid var(--lp-edge);border-radius:4px}.price-card-featured{border-color:var(--lp-accent)}.price-flag{position:absolute;top:-9px;left:18px;padding:2px 8px;border-radius:2px;background:var(--lp-accent);color:#fff;font-size:10.5px;letter-spacing:.08em}.price-flag,.price-name{font-family:var(--lp-mono);font-weight:600;text-transform:uppercase}.price-name{margin:0;font-size:12px;letter-spacing:.12em;color:var(--lp-ink-500)}.price-amount{margin:0;display:flex;align-items:baseline;gap:6px}.price-figure{font-size:34px;font-weight:600;letter-spacing:-.03em;color:var(--lp-ink-900);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.price-period{font-size:13.5px;color:var(--lp-ink-500)}.price-blurb{margin:0;font-size:14px;color:var(--lp-ink-700);line-height:1.45}.price-meter{margin:2px 0 0;padding:8px 10px;border-radius:3px;background:var(--lp-accent-soft);color:var(--lp-accent-text);font-family:var(--lp-mono);font-size:12.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.price-buys{margin:0;padding:0;list-style:none;display:grid;grid-gap:7px;gap:7px}.price-buys li{font-size:13.5px;color:var(--lp-ink-700);line-height:1.4;padding-left:16px;position:relative}.price-buys li:before{content:"";position:absolute;left:0;top:7px;width:6px;height:6px;border-radius:1px;background:var(--lp-accent)}.price-soon{color:var(--lp-ink-500)}.price-soon:before{background:var(--lp-ink-300)}.price-soon-tag{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:2px;background:var(--lp-edge-soft);color:var(--lp-ink-500);font-family:var(--lp-mono);font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.price-limits{margin:auto 0 0;padding-top:10px;border-top:1px solid var(--lp-edge-soft);font-size:12.5px;color:var(--lp-ink-500);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.price-onprem{margin-top:16px;padding:18px;background:var(--lp-surface);border:1px dashed var(--lp-edge);border-radius:4px}.price-onprem h2{margin:0 0 6px;font-family:var(--lp-mono);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--lp-ink-500)}.price-onprem p{margin:0;font-size:14.5px;color:var(--lp-ink-700);max-width:68ch}.price-onprem strong{color:var(--lp-ink-900)}.price-notes{margin-top:38px}.price-notes h2{margin:0 0 14px;padding-bottom:8px;border-bottom:1px solid var(--lp-edge);font-family:var(--lp-mono);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--lp-ink-500)}.price-notes dl{margin:0;display:grid;grid-gap:18px;gap:18px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.price-notes dt{font-weight:600;color:var(--lp-ink-900);font-size:14.5px}.price-notes dd{margin:5px 0 0;color:var(--lp-ink-700);font-size:14px;line-height:1.5;max-width:60ch}.price-notes code{font-family:var(--lp-mono);font-size:12.5px;color:var(--lp-accent-text)}.topnav{margin-left:auto;display:flex;gap:16px}.topnav a{color:var(--lp-ink-500);text-decoration:none;font-family:var(--lp-mono);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.topnav a:hover{color:var(--lp-accent-text)}.price-onprem-note{margin-top:10px;color:var(--lp-ink-500);font-size:13.5px}.price-onprem-note code{font-family:var(--lp-mono);font-size:12.5px;color:var(--lp-accent-text)}.sample-note{margin:0;padding:10px 16px;border-bottom:1px solid var(--lp-edge);background:var(--lp-accent-soft);color:var(--lp-accent-text);font-size:13.5px;line-height:1.5}.sample-note strong{color:var(--lp-accent-text);font-weight:600}.masthead{padding:24px 0 14px}h1{margin:16px 0 8px}.preview{padding:0;border-top:1px solid var(--lp-edge)}.preview-head{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-bottom:1px solid var(--lp-edge-soft);font-family:var(--lp-mono);font-size:11.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--lp-ink-500)}.preview img{display:block;max-width:100%;height:auto;margin:16px auto;background:#fff;border:1px solid var(--lp-edge-soft);border-radius:2px}.panel-head .link{background:none;border:0;cursor:pointer;padding:0;font-family:var(--lp-mono);font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--lp-ink-500);text-decoration:none}.panel-head .link:hover{color:var(--lp-accent-text)}.footer-nav{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--lp-edge-soft)}.footer-nav a{color:var(--lp-ink-700);text-decoration:none;font-family:var(--lp-mono);font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.footer-nav a:hover{color:var(--lp-accent-text)}footer p{margin:0}.prose section{max-width:74ch}.prose h2{margin:34px 0 10px;padding-bottom:8px;border-bottom:1px solid var(--lp-edge);font-size:19px;letter-spacing:-.01em}.prose h2,.prose h3{font-weight:600;color:var(--lp-ink-900)}.prose h3{margin:22px 0 6px;font-size:15.5px}.prose p{margin:0 0 12px;color:var(--lp-ink-700);font-size:15px;line-height:1.6}.prose strong{color:var(--lp-ink-900)}.prose ul{margin:0 0 14px;padding-left:20px;display:grid;grid-gap:6px;gap:6px}.prose li{color:var(--lp-ink-700);font-size:15px;line-height:1.55}.prose a{color:var(--lp-accent-text)}.prose code{font-size:13px;background:var(--lp-edge-soft);padding:1px 5px;border-radius:2px}.prose code,.prose pre{font-family:var(--lp-mono);color:var(--lp-ink-900)}.prose pre{margin:0 0 16px;padding:14px 16px;overflow-x:auto;background:var(--lp-surface);border:1px solid var(--lp-edge);border-radius:4px;font-size:12.5px;line-height:1.55}.prose pre code{background:none;padding:0}.tier-chip{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:2px;color:var(--lp-accent-text);font-family:var(--lp-mono);font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;vertical-align:middle}.finding-focus,.tier-chip{background:var(--lp-accent-soft)}.finding-focus{box-shadow:inset 3px 0 0 var(--lp-accent)}.finding-focus-tag{display:inline-block;margin-bottom:8px;padding:2px 8px;border-radius:2px;background:var(--lp-accent);color:#fff;font-family:var(--lp-mono);font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase}.rules-group-head{display:flex;align-items:center;gap:10px}.rules-group-count{padding:1px 7px;border-radius:2px;background:var(--lp-edge-soft);color:var(--lp-ink-500);font-size:11px;letter-spacing:0}.panel>.preview img,.preview img{max-height:400px;width:auto;object-fit:contain}