.dpdp-notice{max-width:640px;margin:18px 0 4px;padding:12px 16px;border:1px solid var(--border, #e2e8f0);border-left:3px solid var(--accent, #4f46e5);border-radius:10px;background:color-mix(in srgb,var(--accent, #4f46e5) 5%,transparent);font-size:.86rem;line-height:1.5;color:var(--text-muted, #475569)}.dpdp-notice .rev{display:inline-block;opacity:.8}.dpdp-baseline{max-width:640px;margin:10px 0 0;padding:0;display:grid;gap:4px;font-size:.82rem;color:var(--text-muted, #475569)}.dpdp-baseline>div{display:grid;grid-template-columns:170px 1fr;gap:10px}.dpdp-baseline dt{font-weight:600;margin:0}.dpdp-baseline dd{margin:0}@media(max-width:620px){.dpdp-baseline>div{grid-template-columns:1fr;gap:0}}.dpdp-scope{border:1px solid var(--border, #e2e8f0);border-radius:12px;overflow:hidden}.dpdp-scope-row{display:grid;grid-template-columns:220px 1fr 200px;gap:12px;padding:12px 16px;font-size:.92rem;border-top:1px solid var(--border, #e2e8f0);align-items:center}.dpdp-scope-row:first-child{border-top:none}.dpdp-scope-row .area{font-weight:600}.dpdp-scope-row .n em{font-style:normal;color:var(--text-muted, #64748b)}.dpdp-scope-row .ref{color:var(--text-muted, #64748b);font-size:.82rem;text-align:right}@media(max-width:720px){.dpdp-scope-row{grid-template-columns:1fr;gap:2px}.dpdp-scope-row .ref{text-align:left}}.dpdp-app{border:1px solid var(--border, #e2e8f0);border-radius:16px;background:var(--surface-1, #fff);padding:28px;max-width:780px;margin:0 auto}.dpdp-app .dpdp-loading{color:var(--text-muted, #64748b);text-align:center;padding:40px 0}.dpdp-app .dpdp-progress{height:6px;border-radius:999px;background:var(--surface-2, #eef2f7);overflow:hidden;margin-bottom:22px}.dpdp-app .dpdp-progress>i{display:block;height:100%;background:var(--accent, #4f46e5);transition:width .3s ease}.dpdp-app .dpdp-step-label{font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted, #64748b);margin-bottom:6px}.dpdp-app .dpdp-q{font-size:1.15rem;font-weight:600;margin:0 0 4px;line-height:1.35}.dpdp-app .dpdp-help{color:var(--text-muted, #64748b);font-size:.92rem;margin:0 0 18px}.dpdp-app .dpdp-qhelp{margin:8px 0 18px;border:1px solid var(--border, #e2e8f0);border-radius:10px;background:var(--surface-2, #f8fafc);overflow:hidden}.dpdp-app .dpdp-qhelp summary{cursor:pointer;list-style:none;padding:10px 14px;font-size:.86rem;font-weight:600;color:var(--accent, #4f46e5);display:flex;align-items:center;gap:8px}.dpdp-app .dpdp-qhelp summary::-webkit-details-marker{display:none}.dpdp-app .dpdp-qhelp summary:before{content:"ⓘ";font-weight:700}.dpdp-app .dpdp-qhelp summary:after{content:"▸";margin-left:auto;transition:transform .2s;opacity:.6}.dpdp-app .dpdp-qhelp[open] summary:after{transform:rotate(90deg)}.dpdp-app .dpdp-qhelp .body{padding:0 14px 14px;font-size:.9rem;line-height:1.55;color:var(--text-muted, #475569)}.dpdp-app .dpdp-qhelp .ref{display:block;margin-top:8px;font-size:.78rem;opacity:.8}.dpdp-app .dpdp-options{display:grid;gap:10px}.dpdp-app .dpdp-options.cols{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.dpdp-app .dpdp-opt{display:flex;align-items:center;gap:10px;border:1px solid var(--border, #e2e8f0);border-radius:10px;padding:13px 15px;cursor:pointer;background:var(--surface-1, #fff);font-size:.98rem;transition:border-color .15s,background .15s;text-align:left;width:100%}.dpdp-app .dpdp-opt:hover{border-color:var(--accent, #4f46e5)}.dpdp-app .dpdp-opt.sel{border-color:var(--accent, #4f46e5);background:color-mix(in srgb,var(--accent, #4f46e5) 8%,transparent);font-weight:600}.dpdp-app .dpdp-opt .tick{width:18px;height:18px;border-radius:50%;border:2px solid var(--border, #cbd5e1);flex:0 0 auto}.dpdp-app .dpdp-opt.sel .tick{border-color:var(--accent, #4f46e5);background:var(--accent, #4f46e5);box-shadow:inset 0 0 0 3px var(--surface-1, #fff)}.dpdp-app .dpdp-nav{display:flex;justify-content:space-between;gap:12px;margin-top:24px}.dpdp-app .dpdp-nav .spacer{flex:1}.dpdp-app .dpdp-result-top{display:grid;grid-template-columns:200px 1fr;gap:28px;align-items:center}@media(max-width:620px){.dpdp-app .dpdp-result-top{grid-template-columns:1fr;text-align:center}}.dpdp-app .gauge{position:relative;width:180px;height:180px;margin:0 auto}.dpdp-app .gauge svg{transform:rotate(-90deg)}.dpdp-app .gauge .val{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.dpdp-app .gauge .val b{font-size:2.4rem;line-height:1}.dpdp-app .gauge .val span{font-size:.8rem;color:var(--text-muted, #64748b)}.dpdp-app .band{display:inline-block;margin-top:8px;font-size:.82rem;font-weight:700}.dpdp-app .sdf-badge{display:inline-block;padding:6px 14px;border-radius:999px;font-weight:700;font-size:.9rem}.dpdp-app .sdf-likely{background:#fee2e2;color:#b91c1c}.dpdp-app .sdf-possible{background:#fef3c7;color:#b45309}.dpdp-app .sdf-unlikely{background:#dcfce7;color:#15803d}.dpdp-app .dpdp-actions{margin-top:26px}.dpdp-app .dpdp-actions h3{margin:0 0 4px}.dpdp-app .dpdp-actions ol{margin:12px 0 0;padding:0;list-style:none;counter-reset:act;display:grid;gap:10px}.dpdp-app .dpdp-actions li{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start;border:1px solid var(--border, #e2e8f0);border-radius:10px;padding:12px 14px}.dpdp-app .dpdp-actions li:before{counter-increment:act;content:counter(act);font-weight:700;color:var(--text-muted, #64748b)}.dpdp-app .dpdp-actions .act{font-size:.95rem;line-height:1.45}.dpdp-app .dpdp-actions .act-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:6px;font-size:.78rem;color:var(--text-muted, #64748b)}.dpdp-app .dpdp-actions .more{margin-top:10px;font-size:.85rem;color:var(--text-muted, #64748b)}.dpdp-app .pill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:.74rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.dpdp-app .p-critical{background:#fee2e2;color:#b91c1c}.dpdp-app .p-high{background:#ffedd5;color:#c2410c}.dpdp-app .p-medium{background:#fef3c7;color:#b45309}.dpdp-app .dpdp-brand .rhs small{display:block;font-size:.72rem;opacity:.85;margin-top:2px}.dpdp-app .rule-bars{display:grid;gap:12px;margin-top:26px}.dpdp-app .rule-row{display:grid;grid-template-columns:210px 1fr 48px;gap:12px;align-items:center;font-size:.9rem}@media(max-width:620px){.dpdp-app .rule-row{grid-template-columns:1fr 44px}.dpdp-app .rule-row .bar-wrap{grid-column:1 / -1;order:3}}.dpdp-app .bar-wrap{height:9px;border-radius:999px;background:var(--surface-2, #eef2f7);overflow:hidden}.dpdp-app .bar-wrap>i{display:block;height:100%;border-radius:999px}.dpdp-app .gate{margin-top:26px;padding:22px;border-radius:12px;border:1px dashed var(--accent, #4f46e5);background:color-mix(in srgb,var(--accent, #4f46e5) 5%,transparent)}.dpdp-app .gate h3{margin:0 0 6px}.dpdp-app .gate .row{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.dpdp-app .gate input{flex:1 1 200px;padding:12px 14px;border-radius:10px;border:1px solid var(--border, #cbd5e1);font-size:1rem;background:var(--surface-1, #fff);color:inherit}.dpdp-app .gate .consent{font-size:.78rem;color:var(--text-muted, #64748b);margin-top:10px}.dpdp-app .gate label.opt-in{display:flex;gap:8px;align-items:flex-start;font-size:.8rem;color:var(--text-muted, #475569);margin-top:10px}.dpdp-app .gate .err{color:#b91c1c;font-size:.85rem;margin-top:8px;min-height:1em}.dpdp-app .share-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.dpdp-app .share-btn{font-size:.85rem;padding:8px 14px;border-radius:8px;border:1px solid var(--border, #cbd5e1);background:var(--surface-1, #fff);color:inherit;text-decoration:none;cursor:pointer}.dpdp-app .findings{margin-top:26px}.dpdp-app .finding{border-left:3px solid var(--border, #e2e8f0);padding:4px 0 4px 16px;margin-bottom:18px}.dpdp-app .finding.gap{border-left-color:#ef4444}.dpdp-app .finding.partial{border-left-color:#f59e0b}.dpdp-app .finding h4{margin:0 0 4px;font-size:1rem}.dpdp-app .finding .meta{font-size:.78rem;color:var(--text-muted, #64748b);margin-bottom:6px}.dpdp-app .finding p{margin:0;font-size:.92rem}.dpdp-app .disclaimer{font-size:.8rem;color:var(--text-muted, #64748b);margin-top:24px;line-height:1.5}.dpdp-app .dpdp-restart{background:none;border:none;color:var(--accent, #4f46e5);cursor:pointer;font:inherit;text-decoration:underline;padding:0}.dpdp-app .dpdp-report{position:relative;overflow:hidden}.dpdp-app .dpdp-report:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background-image:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--accent, #4f46e5) 5%,transparent) 0,color-mix(in srgb,var(--accent, #4f46e5) 5%,transparent) 1px,transparent 1px,transparent 12px);-webkit-mask-image:radial-gradient(circle at center,#000 0%,transparent 78%);mask-image:radial-gradient(circle at center,#000 0%,transparent 78%);opacity:.6}.dpdp-app .dpdp-report>*{position:relative;z-index:1}.dpdp-app .dpdp-brand{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:14px;margin-bottom:20px;border-bottom:1px solid var(--border, #e2e8f0);flex-wrap:wrap}.dpdp-app .dpdp-brand .lhs{display:flex;align-items:center;gap:10px}.dpdp-app .dpdp-brand img{width:26px;height:26px}.dpdp-app .dpdp-brand .name{font-weight:800;letter-spacing:-.01em}.dpdp-app .dpdp-brand .name span{color:var(--accent, #4f46e5)}.dpdp-app .dpdp-brand .rhs{font-size:.82rem;color:var(--text-muted, #64748b);text-align:right}.dpdp-app .dpdp-stamp{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:20px;padding-top:14px;border-top:1px solid var(--border, #e2e8f0);font-size:.82rem;color:var(--text-muted, #64748b)}.dpdp-app .dpdp-stamp img{width:18px;height:18px;opacity:.9}.dpdp-app .dpdp-stamp a{color:var(--accent, #4f46e5);font-weight:600;text-decoration:none}@media print{.site-header,.site-footer,section:not(#tool),.dpdp-app .share-row,.dpdp-app .dpdp-restart,.dpdp-app .gate,.dpdp-app .dpdp-report:before{display:none!important}#tool,#tool .wrap{padding:0!important;margin:0!important}.dpdp-app{border:none;border-radius:0;padding:0;max-width:none;box-shadow:none;background:#fff;color:#000}.dpdp-app .finding,.dpdp-app .dpdp-actions li,.dpdp-app .rule-row{break-inside:avoid}.dpdp-app .bar-wrap>i,.dpdp-app .pill,.dpdp-app .sdf-badge{-webkit-print-color-adjust:exact;print-color-adjust:exact}.dpdp-app .disclaimer,.dpdp-app .dpdp-stamp{color:#333}}
