
/* ----- Tokens ----- */.siteseo-abilities{--ab-bg:          #f6f7f9;--ab-surface:     #ffffff;--ab-border:      #e5e7eb;--ab-border-soft: #eef0f3;--ab-text:        #0f172a;--ab-text-soft:   #475569;--ab-text-muted:  #6b7280;--ab-primary:     #00308F;--ab-primary-700: #0529f7;--ab-primary-50:  #eef2ff;--ab-success:     #16a34a;--ab-success-bg:  #ecfdf5;--ab-warning:     #d97706;--ab-warning-bg:  #fef3c7;--ab-error:       #dc2626;--ab-error-bg:    #fef2f2;--ab-neutral:     #6b7280;--ab-neutral-bg:  #f1f5f9;--ab-code-bg:     #0f172a;--ab-code-text:   #e2e8f0;--ab-radius:      10px;--ab-radius-sm:   8px;--ab-shadow:      0 1px 2px rgba(15, 23, 42, 0.04);--ab-shadow-md:   0 4px 12px rgba(15, 23, 42, 0.08);margin: 18px 0 40px;padding: 20px 40px 40px 40px;color: var(--ab-text);font-size: 14px;line-height: 1.55;}/* ----- Page header ----- */.siteseo-abilities-header{display: flex;align-items: flex-start;justify-content: space-between;gap: 24px;flex-wrap: wrap;margin: 0 0 24px;}.siteseo-abilities-header-text{ flex: 1 1 360px; min-width: 0;}.siteseo-abilities-crumbs{display: flex;align-items: center;gap: 6px;font-size: 12px;color: var(--ab-text-muted);margin: 0 0 6px;}.siteseo-abilities-title{margin: 0 0 6px;font-size: 26px;font-weight: 700;color: var(--ab-text);letter-spacing: -0.01em;}.siteseo-abilities-title-toggle{display: flex;}.siteseo-abilities-subtitle{margin: 0;color: var(--ab-text-soft);font-size: 14px;}/* ----- Layout ----- */.siteseo-abilities-layout{display: grid;grid-template-columns: minmax(0, 1fr) 280px;gap: 22px;align-items: start;}/* ----- Card ----- */.siteseo-abilities-card{background: var(--ab-surface);border: 1px solid var(--ab-border);border-radius: var(--ab-radius);box-shadow: var(--ab-shadow);padding: 22px 24px;margin-bottom: 18px;}.siteseo-abilities-card-head{display: flex;align-items: baseline;justify-content: space-between;gap: 16px;margin-bottom: 16px;}.siteseo-abilities-h2{margin: 0;font-size: 17px;font-weight: 700;color: var(--ab-text);}.siteseo-abilities-h3{margin: 0 0 10px;font-size: 13px;font-weight: 700;color: var(--ab-text);text-transform: uppercase;letter-spacing: 0.04em;}.siteseo-abilities-meta{font-size: 12px;color: var(--ab-text-muted);}/* ----- Pills (shared) ----- */.siteseo-abilities-pill{display: inline-flex;align-items: center;gap: 5px;padding: 3px 9px;font-size: 11px;font-weight: 600;border-radius: 999px;line-height: 1.4;white-space: nowrap;}.siteseo-abilities-pill-success{ background: var(--ab-success-bg); color: var(--ab-success); }.siteseo-abilities-pill-warning{ background: var(--ab-warning-bg); color: var(--ab-warning); }.siteseo-abilities-pill-error{   background: var(--ab-error-bg);   color: var(--ab-error); }.siteseo-abilities-pill-neutral{ background: var(--ab-neutral-bg); color: var(--ab-neutral); }/* ----- Stepper ----- */.siteseo-abilities-stepper{position: relative;display: grid;grid-template-columns: repeat(4, 1fr);gap: 8px;margin: 4px 0 14px;}.siteseo-abilities-stepper-track{position: absolute;left: 12.5%;right: 12.5%;top: 13px;height: 3px;background: var(--ab-border);border-radius: 999px;z-index: 0;}.siteseo-abilities-stepper-fill{display: block;height: 100%;background: var(--ab-success);border-radius: 999px;transition: width 0.3s ease;}.siteseo-abilities-stepper-node{position: relative;z-index: 1;display: flex;flex-direction: column;align-items: center;gap: 6px;}.siteseo-abilities-stepper-circle{display: inline-flex;align-items: center;justify-content: center;width: 28px;height: 28px;border-radius: 50%;background: var(--ab-surface);border: 2px solid var(--ab-border);color: var(--ab-text-muted);font-size: 12px;font-weight: 700;}.siteseo-abilities-stepper-node-done .siteseo-abilities-stepper-circle{background: var(--ab-success);border-color: var(--ab-success);color: #fff;}.siteseo-abilities-stepper-label{font-size: 11.5px;color: var(--ab-text-muted);font-weight: 600;text-align: center;}.siteseo-abilities-stepper-node-done .siteseo-abilities-stepper-label{ color: var(--ab-text); }.siteseo-abilities-nextup{margin: 0 0 16px;font-size: 13px;color: var(--ab-text-muted);}.siteseo-abilities-nextup-done{color: var(--ab-success);}/* ----- Step rows (accordion) ----- */.siteseo-abilities-rows{display: flex;flex-direction: column;gap: 10px;}.siteseo-abilities-row{border: 1px solid var(--ab-border);border-radius: var(--ab-radius-sm);background: var(--ab-surface);overflow: hidden;transition: border-color 0.15s ease;}.siteseo-abilities-row:hover{ border-color: #cbd5e1; }.siteseo-abilities-row-done{ border-color: #bbf7d0; background: #fbfffd; }.siteseo-abilities-row-toggle{display: grid;grid-template-columns: 32px 1fr auto;gap: 14px;align-items: center;width: 100%;background: transparent;border: 0;padding: 14px 16px;text-align: left;cursor: pointer;color: inherit;font: inherit;}.siteseo-abilities-row-toggle:focus{ outline: 2px solid var(--ab-primary-50); outline-offset: -2px; }.siteseo-abilities-row-indicator{width: 28px;height: 28px;display: inline-flex;align-items: center;justify-content: center;border-radius: 50%;background: var(--ab-neutral-bg);color: var(--ab-text-soft);font-size: 12px;font-weight: 700;border: 1px solid var(--ab-border);}.siteseo-abilities-row-done .siteseo-abilities-row-indicator{background: var(--ab-success);color: #fff;border-color: var(--ab-success);}.siteseo-abilities-row-text{ min-width: 0; }.siteseo-abilities-row-title{display: block;font-size: 14px;font-weight: 600;color: var(--ab-text);line-height: 1.3;}.siteseo-abilities-row-sub{display: block;font-size: 12px;color: var(--ab-text-muted);margin-top: 2px;}.siteseo-abilities-row-body{padding: 0 16px 16px 60px;font-size: 13.5px;color: var(--ab-text-soft);border-top: 1px dashed var(--ab-border);margin-top: -1px;}.siteseo-abilities-row-body > p:first-child{ margin-top: 14px; }.siteseo-abilities-row-body > p:last-child{ margin-bottom: 0; }.siteseo-abilities-row-body[hidden],.siteseo-abilities-row-body[style*="display:none"]{padding: 0 16px;}.siteseo-abilities-btn{ margin-top: 10px; }/* ----- Inline feedback ----- */.siteseo-abilities-feedback{display: none;margin-top: 10px;padding: 8px 12px;border-radius: var(--ab-radius-sm);font-size: 13px;line-height: 1.45;}.siteseo-abilities-feedback[hidden]{ display: none; }.siteseo-abilities-feedback.is-success{display: block;background: var(--ab-success-bg);color: var(--ab-success);border: 1px solid #bbf7d0;}.siteseo-abilities-feedback.is-error{display: block;background: var(--ab-error-bg);color: var(--ab-error);border: 1px solid #fecaca;}/* ----- App password fields ----- */.siteseo-abilities-app-pass-fields{display: flex;flex-wrap: wrap;gap: 12px;margin: 12px 0 14px;padding: 14px;background: var(--ab-neutral-bg);border: 1px solid var(--ab-border);border-radius: var(--ab-radius-sm);}.siteseo-abilities-app-pass-fields[data-hidden="true"]{ display: none; }.siteseo-abilities-field{flex: 1;min-width: 220px;display: flex;flex-direction: column;font-size: 12px;color: var(--ab-text-soft);font-weight: 600;}.siteseo-abilities-field span{ margin-bottom: 4px; }.siteseo-abilities-field input{font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;font-size: 13px;padding: 6px 10px;border: 1px solid var(--ab-border);border-radius: 6px;background: #fff;}.siteseo-abilities-profile-link{align-self: flex-end;font-size: 12px;color: var(--ab-primary);text-decoration: none;}.siteseo-abilities-profile-link:hover{ text-decoration: underline; }/* ----- Test result ----- */.siteseo-abilities-test-result{margin-top: 12px;padding: 10px 14px;border-radius: var(--ab-radius-sm);font-size: 13px;line-height: 1.45;}.siteseo-abilities-test-result[data-hidden="true"]{ display: none; }.siteseo-abilities-test-result-ok{background: var(--ab-success-bg);border: 1px solid #bbf7d0;color: var(--ab-success);}.siteseo-abilities-test-result-error{background: var(--ab-error-bg);border: 1px solid #fecaca;color: var(--ab-error);}/* ----- Abilities list (step 1) ----- */.siteseo-abilities-list{display: grid;grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));gap: 12px;margin-top: 10px;}.siteseo-abilities-group{background: var(--ab-neutral-bg);border: 1px solid var(--ab-border);border-radius: var(--ab-radius-sm);padding: 12px 14px;}.siteseo-abilities-group h4{margin: 0 0 8px;font-size: 11px;color: var(--ab-text-muted);text-transform: uppercase;letter-spacing: 0.04em;font-weight: 700;}.siteseo-abilities-group ul{margin: 0;padding: 0;list-style: none;}.siteseo-abilities-group li{padding: 8px 0;border-top: 1px solid var(--ab-border);font-size: 12.5px;}.siteseo-abilities-group li:first-child{ border-top: 0; padding-top: 0; }.siteseo-abilities-ability-name{display: block;font-weight: 600;color: var(--ab-text);font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;font-size: 12px;}.siteseo-abilities-ability-desc{display: block;color: var(--ab-text-muted);margin-top: 2px;font-size: 12px;}/* ----- Segmented client tabs ----- */.siteseo-abilities-segmented{display: flex;flex-wrap: wrap;gap: 4px;background: var(--ab-neutral-bg);border: 1px solid var(--ab-border);border-radius: var(--ab-radius-sm);padding: 4px;margin: 4px 0 18px;}.siteseo-abilities-segmented-btn{background: transparent;border: 0;padding: 7px 14px;font-size: 12.5px;font-weight: 600;color: var(--ab-text-muted);border-radius: 6px;cursor: pointer;transition: background 0.15s ease, color 0.15s ease;}.siteseo-abilities-segmented-btn:hover{ color: var(--ab-text); }.siteseo-abilities-segmented-btn.active{background: var(--ab-surface);color: var(--ab-primary);box-shadow: var(--ab-shadow);}.siteseo-abilities-segmented-btn:disabled,.siteseo-abilities-segmented-btn[aria-disabled="true"]{ opacity: 0.5; cursor: not-allowed; }/* ----- Client panel ----- */.siteseo-abilities-client-panel{background: var(--ab-neutral-bg);border: 1px solid var(--ab-border);border-radius: var(--ab-radius-sm);padding: 16px;}.siteseo-abilities-client-meta{display: flex;flex-wrap: wrap;gap: 8px;align-items: center;margin-bottom: 10px;font-size: 12px;}.siteseo-abilities-client-path-label{color: var(--ab-text-muted);font-weight: 600;text-transform: uppercase;letter-spacing: 0.04em;font-size: 10.5px;}.siteseo-abilities-client-path-value{background: #fff;border-radius: 6px;padding: 4px 10px;color: var(--ab-text-soft);white-space: pre-wrap;font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;font-size: 12px;border: 1px solid var(--ab-border-soft);}/* ----- Snippet ----- */.siteseo-abilities-snippet-wrap{position: relative;margin-bottom: 14px;}.siteseo-abilities-snippet{display: block;background: var(--ab-code-bg);color: var(--ab-code-text);padding: 16px 18px;border-radius: var(--ab-radius-sm);overflow: auto;font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;font-size: 13px;line-height: 1.55;white-space: pre;margin: 0;min-height: 64px;max-height: 360px;tab-size: 2;}.siteseo-abilities-snippet.unsupported{ opacity: 0.65; }.siteseo-abilities-copy-btn{position: absolute;top: 8px;right: 8px;display: inline-flex;align-items: center;gap: 6px;padding: 5px 11px;font-size: 12px;font-weight: 600;color: var(--ab-code-text);background: rgba(255, 255, 255, 0.08);border: 1px solid rgba(255, 255, 255, 0.14);border-radius: 6px;cursor: pointer;transition: background 0.15s ease;}.siteseo-abilities-copy-btn:hover{ background: rgba(255, 255, 255, 0.18); }.siteseo-abilities-copy-btn:focus{ outline: 2px solid var(--ab-primary-50); outline-offset: 1px; }.siteseo-abilities-copy-btn.is-copied{background: var(--ab-success);border-color: var(--ab-success);color: #fff;}.siteseo-abilities-copy-btn:disabled{ opacity: 0.5; cursor: not-allowed; }/* ----- Instructions ----- */.siteseo-abilities-instructions{margin: 0;padding-left: 22px;color: var(--ab-text-soft);font-size: 13px;counter-reset: abstep;list-style: none;}.siteseo-abilities-instructions li{position: relative;margin-bottom: 6px;padding-left: 4px;line-height: 1.55;counter-increment: abstep;}.siteseo-abilities-instructions li::before{content: counter(abstep);position: absolute;left: -22px;top: 1px;width: 18px;height: 18px;display: inline-flex;align-items: center;justify-content: center;background: var(--ab-primary-50);color: var(--ab-primary);border-radius: 50%;font-size: 10px;font-weight: 700;}/* ----- Sidebar ----- */.siteseo-abilities-side{display: flex;flex-direction: column;gap: 16px;position: sticky;top: 16px;}.siteseo-abilities-side-card{ padding: 18px 20px; }.siteseo-abilities-side-card .siteseo-abilities-h3{margin-bottom: 12px;border-bottom: 1px solid var(--ab-border-soft);padding-bottom: 8px;}.siteseo-abilities-tip-list,.siteseo-abilities-resource-list{list-style: none;margin: 0;padding: 0;}.siteseo-abilities-tip-list li{position: relative;padding: 6px 0 6px 22px;font-size: 13px;color: var(--ab-text-soft);line-height: 1.55;}.siteseo-abilities-tip-list li::before{content: "";position: absolute;left: 4px;top: 13px;width: 6px;height: 6px;background: var(--ab-primary);border-radius: 50%;}.siteseo-abilities-resource-list li{padding: 8px 0;border-top: 1px solid var(--ab-border-soft);}.siteseo-abilities-resource-list li:first-child{ border-top: 0; padding-top: 0; }.siteseo-abilities-resource-list a{display: block;color: var(--ab-text);font-size: 13px;font-weight: 600;text-decoration: none;}.siteseo-abilities-resource-list a:hover{ color: var(--ab-primary); }.siteseo-abilities-resource-sub{display: block;color: var(--ab-text-muted);font-size: 12px;margin-top: 2px;}/* ----- Status list (sidebar) ----- */.siteseo-abilities-status-list{margin: 0;padding: 0;display: flex;flex-direction: column;gap: 10px;}.siteseo-abilities-status-list > div{display: flex;align-items: center;justify-content: space-between;gap: 10px;}.siteseo-abilities-status-list dt{margin: 0;font-size: 12.5px;color: var(--ab-text-soft);font-weight: 500;}.siteseo-abilities-status-list dd{margin: 0;}.siteseo-deprecated-badge {background-color: #ffebee;color: #c62828;font-size: 8px;padding: 2px 6px;border-radius: 4px;text-transform: uppercase;font-weight: bold;border: 1px solid #ef9a9a;display: inline-block;vertical-align: middle;