:root{--bg:#fff;--panel:#f8fafc;--text:#0f172a;--text-2:#334155;--muted:#64748b;--line:#e2e8f0;--line-soft:#f1f5f9;--accent:#4338ca;--accent-hover:#3730a3;--accent-soft:#eef2ff;--on-accent:#fff;--high-bg:#fee2e2;--high:#991b1b;--medium-bg:#ffedd5;--medium:#9a3412;--low-bg:#f1f5f9;--low:#334155;--good:#15803d;--warn:#b91c1c;--warn-bg:#fff7ed;--radius:14px;--font:Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0b1020;--panel:#121831;--text:#e8ecf5;--text-2:#c7cedd;--muted:#94a0b8;--line:#26304d;--line-soft:#1a2240;--accent:#8b93ff;--accent-hover:#a5abff;--accent-soft:#1c2150;--on-accent:#0b1020;--high-bg:#3b1219;--high:#fca5a5;--medium-bg:#3a2210;--medium:#fdba74;--low-bg:#1a2240;--low:#c7cedd;--good:#4ade80;--warn:#fca5a5;--warn-bg:#2a1a10;color-scheme:dark}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font:16px/1.6 var(--font);-webkit-font-smoothing:antialiased;margin:0}a{color:var(--accent)}a:hover{color:var(--accent-hover)}h1,h2,h3{margin:0;line-height:1.2}h1{letter-spacing:-.02em;font-size:clamp(1.75rem,3.5vw,2.1rem);font-weight:600}h2,.h2{font-size:1.2rem;font-weight:600}h3{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 6px;font-size:.8rem;font-weight:600}p{margin:0}.muted{color:var(--muted)}.small{font-size:.875rem}.strong{font-weight:600}.mono,code{font-family:var(--mono);font-size:.9em}.warn-text{color:var(--warn)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}[hidden]{display:none!important}.wrap{max-width:1160px;margin:0 auto;padding:0 24px}@media (width<=600px){.wrap{padding:0 16px}}.site-header{border-bottom:1px solid var(--line)}.header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;min-height:68px;padding-top:10px;padding-bottom:10px;display:flex}.logo{color:var(--text);letter-spacing:-.01em;font-size:1.06rem;font-weight:600;text-decoration:none}.logo span{color:var(--accent)}.steps{flex-wrap:wrap;gap:4px 20px;margin:0;padding:0;list-style:none;display:flex}.steps button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:6px 0;font-size:.875rem}.steps button span{font-variant-numeric:tabular-nums;margin-right:2px}.steps button:disabled{cursor:default;opacity:.6}.steps button.done{color:var(--text-2)}.steps button.done span:before{content:"✓ ";color:var(--good)}.steps button.done span{font-size:0}.steps button.done span:before{font-size:.875rem}.steps button[aria-current=step]{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.steps button:not(:disabled):hover{color:var(--text)}.step{padding-top:40px;padding-bottom:72px}.narrow{flex-direction:column;gap:28px;max-width:760px;margin:0 auto;padding-left:24px;padding-right:24px;display:flex}@media (width<=600px){.narrow{padding-left:16px;padding-right:16px}}.intro{flex-direction:column;gap:8px;display:flex}.eyebrow{color:var(--accent);font-size:.875rem;font-weight:500}.lede{color:var(--text-2);max-width:60ch;font-size:1.1rem}.step-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.step-actions .button.primary{margin-left:auto}.section-block{border-top:1px solid var(--line);flex-direction:column;gap:12px;padding-top:24px;display:flex}.button{font:inherit;cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 20px;font-size:.95rem;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.button.primary{background:var(--accent);color:var(--on-accent)}.button.primary:hover:not(:disabled){background:var(--accent-hover)}.button.secondary{background:var(--bg);color:var(--text);border-color:var(--line)}.button.secondary:hover:not(:disabled){border-color:var(--muted)}.button.link{color:var(--accent);background:0 0;padding-left:0;padding-right:0;font-weight:600}.button.link:hover{color:var(--accent-hover);text-underline-offset:3px;text-decoration:underline}.button.small{min-height:40px;padding:8px 14px;font-size:.9rem}.button.link.small{padding:8px 0}.button.block{width:100%}.button:disabled{opacity:.45;cursor:not-allowed}label.button{width:fit-content}.icon-btn{width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;flex:none;place-items:center;display:grid}.icon-btn:hover{background:var(--line-soft);color:var(--warn)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.field{color:var(--text-2);flex-direction:column;gap:6px;font-size:.9rem;font-weight:500;display:flex}.field small{font-weight:400}input[type=text],input[type=search],textarea,select{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:10px;width:100%;min-height:44px;padding:10px 14px;font-size:1rem}input:hover,textarea:hover,select:hover{border-color:#cbd5e1}textarea{resize:vertical;font-family:var(--mono);font-size:.9rem}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;display:grid}@media (width<=640px){.form-grid{grid-template-columns:1fr}}.check{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.check input{width:18px;height:18px;accent-color:var(--accent);flex:none;margin-top:4px}details.builtin summary{cursor:pointer;color:var(--accent);font-size:.9rem;font-weight:500}details.builtin p{color:var(--muted);margin-top:8px}.dropzone{text-align:center;cursor:pointer;color:var(--text);border:1.5px dashed #cbd5e1;border-radius:18px;flex-direction:column;align-items:center;gap:10px;padding:52px 24px;transition:border-color .15s,background .15s;display:flex}.dropzone:hover,.dropzone.over{border-color:var(--accent);background:var(--accent-soft)}.dropzone:focus-within{outline:2px solid var(--accent);outline-offset:2px}.dz-title{font-size:1.1rem;font-weight:500}.u{text-underline-offset:3px;color:var(--accent);text-decoration:underline}.file-list{margin:-8px 0 0;padding:0;list-style:none}.file-list:empty{display:none}.file-list li{border-bottom:1px solid var(--line-soft);align-items:center;gap:12px;padding:12px 0;display:flex}.file-info{overflow-wrap:anywhere;flex-grow:1;min-width:0}.old-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;display:flex}.old-panel>div{flex:280px}.mapping{border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:14px;padding:24px;display:flex}.map-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;display:grid}.table-scroll{border:1px solid var(--line);border-radius:10px;overflow-x:auto}table.sample{border-collapse:collapse;width:100%;font-size:.8rem}table.sample th,table.sample td{text-align:left;white-space:nowrap;border-bottom:1px solid var(--line-soft);padding:6px 10px}table.sample th{background:var(--panel);font-weight:600}.review-layout{flex-wrap:wrap;align-items:flex-start;gap:48px;display:flex}.review-main{flex-direction:column;flex:999 560px;gap:32px;min-width:0;display:flex}.search-field{max-width:360px}#groups{flex-direction:column;gap:36px;display:flex}.group{flex-direction:column;gap:12px;display:flex}.group-head{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.group-static,.group-toggle{flex-grow:1}.group-title{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.group-title .muted{font-size:.95rem;font-weight:400}.group-toggle{text-align:left;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:4px 0;display:flex}.chev{color:var(--muted);text-align:center;width:24px;font-size:1.3rem}.collapsible{gap:8px}#groups .collapsible+.collapsible{margin-top:-24px}.collapsible .group-head{border-bottom:1px solid var(--line-soft)}.tone-warn .group-title .h2{color:var(--warn)}.site-list{border:1px solid var(--line);border-radius:var(--radius);margin:0;padding:0;list-style:none;overflow:hidden}.tone-warn .site-list{background:var(--warn-bg);border-color:#fdba74}.site{border-bottom:1px solid var(--line-soft);align-items:flex-start;gap:16px;padding:18px 20px;display:flex}.site:last-child{border-bottom:0}.site>input{width:20px;height:20px;accent-color:var(--accent);cursor:pointer;flex:none;margin:3px 0 0}.site-body{flex-direction:column;flex-grow:1;gap:2px;min-width:0;display:flex}.site-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.site-name{overflow-wrap:anywhere;cursor:pointer;font-size:1.05rem;font-weight:600}.site-why{color:var(--text-2)}.site-meta{color:var(--muted);font-size:.875rem}.details-btn{color:var(--text-2);text-underline-offset:3px;flex:none;font-weight:500;text-decoration:underline}.tag{border-radius:6px;padding:2px 8px;font-size:.75rem;font-weight:600}.tag-high{background:var(--high-bg);color:var(--high)}.tag-medium{background:var(--medium-bg);color:var(--medium)}.tag-low{background:var(--low-bg);color:var(--low)}.site-detail{border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:14px;padding-top:14px;display:grid}@media (width<=760px){.site-detail{grid-template-columns:1fr}}.site-detail .level-field{grid-column:1/-1;max-width:420px}ul.plain{flex-direction:column;gap:4px;margin:0;padding:0;font-size:.9rem;list-style:none;display:flex}ul.urls li{overflow-wrap:anywhere;font-size:.8rem}.pts{font-variant-numeric:tabular-nums;min-width:34px;color:var(--high);font-weight:600;display:inline-block}.pts.good{color:var(--good)}pre.small{white-space:pre-wrap;font-size:.8rem;font-family:var(--mono);margin:0}.more-btn{align-self:flex-start}.empty{padding:24px 0}.side-panel{background:var(--panel);border:1px solid var(--line);border-radius:18px;flex-direction:column;flex:300px;gap:20px;max-width:360px;padding:24px;display:flex;position:sticky;top:24px}@media (width<=960px){.side-panel{max-width:none;position:static}}.big-count{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:2.5rem;font-weight:600;line-height:1.1}.big-count .unit{color:var(--text-2);letter-spacing:0;font-size:1.05rem;font-weight:500}.stats{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;margin:0;font-size:.95rem;display:grid}.stats dt{color:var(--text-2)}.stats dd{text-align:right;font-variant-numeric:tabular-nums;margin:0;font-weight:600}.stats dd.warn{color:var(--warn)}.side-panel hr{border:0;border-top:1px solid var(--line);width:100%;margin:0}.mobile-bar{display:none}@media (width<=960px){.mobile-bar{background:var(--bg);border-top:1px solid var(--line);order:1;justify-content:space-between;align-items:center;gap:12px;width:100%;margin:0 -16px -72px;padding:12px 16px;display:flex;position:sticky;bottom:0}.review-layout{padding-bottom:72px}}.checks{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px;margin:0;padding:0;list-style:none;display:grid}@media (width<=640px){.checks{grid-template-columns:1fr}}.checks li{align-items:baseline;gap:10px;display:flex}.checks .mark{color:var(--good);font-weight:700}.checks .bad,.checks .bad .mark{color:var(--warn)}.download-row{flex-wrap:wrap;gap:12px;display:flex}.preview-wrap summary{cursor:pointer;color:var(--accent);font-weight:500}.preview{background:var(--panel);border:1px solid var(--line);max-height:380px;font:.8rem/1.5 var(--mono);border-radius:12px;margin:12px 0 0;padding:16px;overflow:auto}.howto{color:var(--text-2);flex-direction:column;gap:6px;margin:0;padding-left:20px;display:flex}.prose{border-top:1px solid var(--line);flex-direction:column;gap:14px;max-width:760px;padding-top:56px;padding-bottom:8px;display:flex}.prose ul{color:var(--text-2);flex-direction:column;gap:6px;margin:0;padding-left:20px;display:flex}.prose p{color:var(--text-2)}#faq{border-top:0;padding-top:32px}.faq{border-bottom:1px solid var(--line);padding:14px 0}.faq summary{cursor:pointer;font-weight:600}.faq p{color:var(--text-2);margin-top:8px}.site-footer{border-top:1px solid var(--line);color:var(--text-2);margin-top:64px;padding:28px 0 36px;font-size:.9rem}.footer-inner{flex-wrap:wrap;justify-content:space-between;gap:12px 24px;margin-bottom:8px;display:flex}.footer-inner nav{gap:20px;display:flex}.footer-inner a{color:var(--text-2)}
