.tool-wrap{display:flex;gap:24px;max-width:1040px;margin:0 auto;padding:24px}.tool-main{flex:1;min-width:0;width:100%}.progress{height:8px;background:#eee9df;border-radius:20px;overflow:hidden;margin-top:10px}.progress>div{height:100%;width:0;background:var(--teal);transition:width .25s}.statusline{font-size:.875rem;color:var(--muted);margin-top:7px}.preview-wrap{overflow:auto;max-height:420px}.preview-wrap table{border-collapse:collapse;width:100%;font-size:.875rem}.preview-wrap th,.preview-wrap td{border-bottom:1px solid var(--border);padding:8px 10px;text-align:left;white-space:nowrap}.preview-wrap th{position:sticky;top:0;background:#fff;z-index:2}.privacy-badge{display:inline-flex;gap:6px;align-items:center;padding:6px 10px;border:1px solid #bfe2dc;background:#effaf7;border-radius:999px;color:#147c70;font-size:.8rem;font-weight:700}.privacy-badge.cloud{border-color:#ead49a;background:#fff8e5;color:#8a6200}.privacy-badge.blocked{border-color:#edc5bc;background:#fff2ef;color:#a04b37}.privacy-panel{margin:14px 0 0;padding:13px 15px;border:1px solid #bfe2dc;background:#f4fbf9;border-radius:12px}.privacy-panel.cloud{border-color:#ead49a;background:#fffaf0}.privacy-panel.blocked{border-color:#edc5bc;background:#fff5f2}.privacy-panel strong{display:block;font-size:13px;margin-bottom:4px}.privacy-panel span{font-size:.875rem;line-height:1.5;color:var(--muted)}.memory-note{font-size:.78rem;line-height:1.55;color:var(--muted)}.rule{display:flex;gap:11px;align-items:flex-start;margin-bottom:9px;padding:12px 13px;border:1px solid var(--border);border-radius:11px;background:#fff;cursor:pointer}.rule:last-of-type{margin-bottom:0}.rule input{margin-top:3px;width:18px;height:18px;flex:0 0 auto;accent-color:var(--teal)}.rule-body{display:flex;flex-direction:column;gap:3px;min-width:0}.rule-title{font-size:.85rem;font-weight:700;color:#344054}.rule-flag{margin-left:8px;padding:2px 7px;border-radius:999px;background:#fdf0ef;color:#a03127;font-size:.64rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.rule-examples{display:flex;flex-wrap:wrap;gap:10px;font-size:.76rem;color:var(--muted)}.rule-examples code{padding:1px 6px;border-radius:5px;background:#eef2f6;font-family:var(--mono);font-size:.72rem}.rule-detail{font-size:.76rem;line-height:1.5;color:var(--muted)}.rule-aggressive{border-color:#edc5bc;background:#fffaf9}.rule-impact{margin-top:11px;padding:11px 13px;border:1px solid #bfe2dc;border-radius:10px;background:#f4fbf9;color:#075f56;font-size:.82rem;line-height:1.55}.rule-record{margin-top:10px;font-size:.76rem;color:var(--muted)}.quality-note{margin:10px 0 0;padding:12px 14px;border:1px solid #e6a126;border-radius:10px;background:#fff8e8;color:#704600;font-size:.82rem;line-height:1.6}
.schema-diff-note{margin:12px 0 0;padding:12px 14px;border:1px solid #e6a126;border-radius:10px;background:#fff8e8;color:#704600;font-size:.82rem;line-height:1.6}
.preview-wrap td.filled-blank{background:#fff6e0;box-shadow:inset 0 0 0 999px rgba(230,161,38,.14);border-bottom:1px dashed #d9a93c}.hrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid var(--border);font-size:.8rem;font-weight:700;color:#344054}.hrow select{min-height:44px;max-width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:#fff;font-size:.8rem;font-weight:400}.hrow-hint{flex:1 1 240px;min-width:0;font-size:.74rem;font-weight:400;line-height:1.5;color:var(--muted)}.btn-dl:disabled{opacity:.5;box-shadow:none;cursor:not-allowed}.frem{margin-left:auto;font-size:11.5px;font-weight:700}.frem:hover{color:var(--danger)}.empty-result{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:22px}.empty-result strong{font-size:14px}.empty-result span{font-size:12.5px;line-height:1.6;color:var(--muted)}.seo-tool{max-width:1040px;margin:22px auto 0;padding:54px 24px 72px;border-top:1px solid var(--border)}.seo-tool h2{font-family:var(--display);font-size:clamp(25px,3.5vw,34px);line-height:1.2;margin:30px 0 10px}.seo-tool h2:first-child{margin-top:0}.seo-tool h3{font-size:16px;margin:22px 0 6px}.seo-tool p,.seo-tool li{color:var(--muted);font-size:13.5px;line-height:1.75}.seo-tool ol,.seo-tool ul{padding-left:22px;margin-top:8px}.seo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0 8px}.seo-card{padding:17px;border:1px solid var(--border);border-radius:13px;background:#fff}.seo-card strong{display:block;margin-bottom:5px;font-size:13px}.seo-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.seo-links a{padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:#fff;color:#08796e;text-decoration:none;font-size:11.5px;font-weight:700}.seo-links a:hover{border-color:#a8e0d8}[hidden]{display:none!important}.job-controls{position:sticky;top:76px;z-index:30;background:rgba(255,255,255,.96);display:flex;justify-content:flex-end;border-radius:10px}.steps-bar{position:relative;top:auto}.step-sec{scroll-margin-top:120px}.s-sub{font-size:1rem;line-height:1.6}.btn,.helper,.memory-note,.aside-tip,.source-row select,.pitem-name,.sort-nm,.mopt-title,.mopt-sub{font-size:.875rem}.btn,.frem,.sort-mv,.sort-rm{min-height:44px}.sort-item{flex-wrap:wrap}.sort-nm,.sort-src,.pitem-src{overflow-wrap:anywhere;min-width:0}.toast{max-width:calc(100vw - 32px)}.mopt:focus-within,[tabindex]:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #167bba;outline-offset:3px}a.btn-dl{display:inline-flex;text-decoration:none;align-items:center;justify-content:center}a.btn-dl[aria-disabled="true"]{pointer-events:none;opacity:.55}.method-next-row{margin-top:18px}.method-next-row .btn{margin-left:auto}.match-step-intro{margin-bottom:18px}.match-step-continue{margin-top:16px}
@media(max-width:960px){.tool-aside{display:none}}
@media(max-width:720px){.seo-grid{grid-template-columns:1fr}}
@media(max-width:640px){.tool-wrap{padding:12px 14px}.mtypes,.out-layout{grid-template-columns:1fr}.drop-z{padding:32px 14px}.seo-tool{padding:40px 16px 56px}.job-controls{top:66px}.nav-row{flex-wrap:wrap}.method-next-row .btn{width:100%;margin-left:0}
/*iOS Safari zooms any focused control under 16px: keep the header-row picker at 16px on small screens.*/
.hrow select{font-size:16px}
/*Edge fade = scroll affordance for the horizontally scrolling preview table.*/
.preview-wrap{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 26px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 26px),transparent)}}

.feedback-card{margin:16px 0 4px;padding:18px;border:1px solid #bfe2dc;border-radius:15px;background:linear-gradient(180deg,#f7fcfb 0%,#fff 100%);box-shadow:0 8px 24px rgba(23,89,81,.06)}
.feedback-kicker{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#147c70;margin-bottom:5px}.feedback-title{font-size:1rem;font-weight:800;color:#263b39}.feedback-copy{margin-top:4px;font-size:.8rem;line-height:1.55;color:var(--muted)}
.feedback-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:13px}.feedback-btn,.feedback-reason{min-height:42px;border:1px solid var(--border);border-radius:10px;background:#fff;color:#344054;font:inherit;font-size:.82rem;font-weight:700;cursor:pointer;transition:border-color .15s,transform .15s,background .15s}.feedback-btn{padding:10px 14px}.feedback-btn:hover,.feedback-reason:hover{border-color:#86cfc5;background:#f5fbfa;transform:translateY(-1px)}.feedback-btn-positive{border-color:#a9ddd6;background:#f4fbf9;color:#126d63}
.feedback-reasons{margin-top:14px;padding-top:13px;border-top:1px solid #dcece9}.feedback-reasons-title{font-size:.8rem;font-weight:800;color:#344054;margin-bottom:9px}.feedback-reason-grid{display:flex;gap:8px;flex-wrap:wrap}.feedback-reason{padding:8px 11px;min-height:38px;font-weight:600;font-size:.76rem}.feedback-status{margin-top:13px;padding:11px 12px;border-radius:10px;background:#effaf7;color:#126d63;font-size:.82rem;font-weight:700;line-height:1.5}
@media(max-width:640px){.feedback-card{padding:15px}.feedback-actions{display:grid;grid-template-columns:1fr 1fr}.feedback-btn{width:100%}.feedback-reason-grid{display:grid;grid-template-columns:1fr 1fr}.feedback-reason{width:100%}}

.preview-legend{display:flex;align-items:flex-start;gap:9px;margin:0;padding:12px 14px;background:#fff;color:#344054;font-size:.85rem;line-height:1.5;border-bottom:1px solid var(--border)}.preview-legend-swatch{flex:0 0 16px;width:16px;height:16px;margin-top:2px;background:#fff6e0;border:1px dashed #9a741b;border-radius:3px}
