.seo-main{max-width:1060px;padding-block:16px 56px}
.seo-crumb{display:block;font-size:13px;color:var(--muted);margin-bottom:16px}
.seo-crumb a{text-decoration:underline;text-underline-offset:3px}
.seo-main h1{font-size:clamp(29px,5vw,43px);margin:8px 0;letter-spacing:-1px}
.seo-lead{color:var(--muted);margin-top:8px}
.seo-private{display:inline-block;font-size:13px;background:#dcece2;color:#315d44;padding:6px 14px;border-radius:99px;margin-top:8px}
.seo-tabs,.seo-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-start;margin:18px 0}
.seo-tabs a{min-height:44px;padding:8px 14px;border:1px solid var(--line);border-radius:99px;background:var(--white);font-size:13px}
.seo-tabs [aria-current]{background:var(--ink);color:var(--white)}
.seo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.seo-panel,.seo-help,.seo-card{background:var(--white);border:1px solid var(--line);border-radius:20px;padding:22px;min-width:0}
.seo-panel>label,.seo-field>label{display:block;font-weight:750;margin-bottom:8px}
.seo-main textarea,.seo-main input[type=text],.seo-main input[type=url],.seo-main input[type=file],.seo-main input[type=date],.seo-main select{display:block;width:100%;max-width:100%;font:inherit;font-size:16px;border:1px solid #c5b7a6;border-radius:10px;padding:10px;background:var(--white);color:var(--ink);min-width:0}
.seo-main textarea{min-height:220px;resize:vertical;line-height:1.65;overflow-wrap:anywhere;tab-size:2}
.seo-main textarea[readonly],.seo-main input[readonly]{background:#faf7f1}
.seo-hint,.seo-status{font-size:13px;color:var(--muted);overflow-wrap:anywhere}
.seo-status{min-height:1.8em;margin:10px 0 0}
.seo-error{color:#a53124}
.seo-ok{color:#315d44;font-weight:650}
.seo-actions .button{min-height:44px;font-family:inherit;cursor:pointer}
.seo-main button:disabled{opacity:.5;cursor:not-allowed;transform:none}
.seo-main :is(button,input,select,textarea,a):focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.seo-help{margin-top:24px;font-size:14px}
.seo-help summary{min-height:44px;padding-block:10px;cursor:pointer;font-weight:700}
.seo-help li{margin-block:10px}
.seo-help ul{padding-left:20px}
.seo-links{display:grid;gap:16px;margin-top:24px}
.seo-links a{display:block;border:1px solid var(--line);border-radius:18px;padding:20px;background:var(--white)}
.seo-links strong{display:block;font-size:20px}
.seo-links span{font-size:14px;color:var(--muted)}
.seo-flow{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:20px 0 8px;padding:14px 16px;border-radius:16px;border:1px dashed #d4c4b0;background:#fffdf9;font-size:14px}
.seo-flow-step{display:inline-flex;align-items:center;gap:8px;font-weight:700}
.seo-flow-num{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--ink);color:var(--white);font-size:12px}
.seo-flow-arrow{color:var(--muted);font-weight:400}
.seo-field{margin-bottom:14px}
.seo-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}
.seo-meta-table{width:100%;border-collapse:collapse;font-size:14px;margin-top:8px}
.seo-meta-table th,.seo-meta-table td{border-bottom:1px solid var(--line);padding:10px 8px;text-align:left;vertical-align:top;overflow-wrap:anywhere}
.seo-meta-table thead th{color:var(--muted);font-weight:650;font-size:12px;text-transform:none}
.seo-meta-table tbody th{width:28%;color:var(--muted);font-weight:650}
.seo-meta-table td:nth-child(2){width:18%;white-space:nowrap}
.seo-pill{display:inline-block;font-size:12px;font-weight:700;padding:3px 10px;border-radius:99px;background:#f1ece4;color:#665a4e}
.seo-pill.ok{background:#dcece2;color:#315d44}
.seo-pill.warn{background:#f6edbe;color:#756017}
.seo-pill.bad{background:#f6dee2;color:#8c4653}
.seo-list{margin:8px 0 0;padding-left:20px;color:var(--muted);font-size:14px}
.seo-list li{margin-block:6px}
.seo-section-title{font-size:16px;margin:0 0 10px}
.seo-limit-banner{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:14px;border:1px solid #e5d9c9;background:#f7f0e6;font-size:13px;color:var(--muted);margin:14px 0}
.seo-limit-banner strong{color:var(--ink)}
.seo-fallback{margin:14px 0;padding:16px 18px;border-radius:16px;border:1px solid #e8c4c8;background:#fdf4f5}
.seo-fallback h3{margin:0 0 8px;font-size:16px;color:#8c4653}
.seo-fallback ol{margin:10px 0 0;padding-left:20px;font-size:14px;color:var(--muted)}
.seo-fallback ol li{margin-block:8px}
.seo-fallback .seo-actions{margin-top:12px}
.seo-input-paths{display:grid;gap:12px;margin-bottom:16px}
.seo-path-card{border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:#fffdf9}
.seo-path-card strong{display:block;margin-bottom:4px}
.seo-path-card p{margin:0;font-size:13px;color:var(--muted)}
.serp-card{border:1px solid var(--line);border-radius:16px;padding:20px 22px;background:var(--white);font-family:Arial,Helvetica,"Noto Sans TC",sans-serif;max-width:640px;transition:max-width .2s ease}
.serp-card--mobile{max-width:360px;padding:16px 14px}
.serp-card--mobile .serp-title{font-size:16px;line-height:1.3}
.serp-card--mobile .serp-desc{font-size:13px}
.serp-card--mobile .serp-url{font-size:12px}
.serp-url{font-size:14px;color:#202124;margin:0 0 4px;display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.serp-url .serp-host{color:#202124}
.serp-url .serp-crumb{color:#4d5156}
.serp-title{display:block;font-size:20px;line-height:1.35;color:#1a0dab;text-decoration:none;margin:2px 0 6px;font-weight:400}
.serp-title:visited{color:#609}
.serp-desc{font-size:14px;line-height:1.58;color:#4d5156;margin:0}
.serp-metrics{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px;font-size:13px;color:var(--muted)}
.serp-metrics .seo-pill{margin-left:4px}
.serp-len-bars{display:grid;gap:10px;margin-top:14px}
.serp-len-row{display:grid;gap:4px}
.serp-len-label{font-size:12px;color:var(--muted)}
.serp-len-track{height:8px;border-radius:99px;background:#efe7db;overflow:hidden}
.serp-len-fill{height:100%;width:0;border-radius:99px;background:#7a9e86;transition:width .2s ease,background .2s ease}
.serp-len-fill[data-level=short],.serp-len-fill[data-level=warn]{background:#c4a84a}
.serp-len-fill[data-level=bad],.serp-len-fill[data-level=empty]{background:#c4747f}
.serp-viewport{display:inline-flex;gap:6px;margin-bottom:12px}
.serp-viewport button{min-height:40px;padding:6px 14px;border:1px solid var(--line);border-radius:99px;background:var(--white);font:inherit;font-size:13px;cursor:pointer}
.serp-viewport button.is-active,.serp-viewport button[aria-pressed=true]{background:var(--ink);color:var(--white);border-color:var(--ink)}
.seo-snippet-box{min-height:140px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}
.seo-opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.seo-preview-list{margin:8px 0 0;padding-left:20px;font-size:13px;color:var(--muted)}
.seo-preview-list li{margin-block:4px;overflow-wrap:anywhere}
.seo-split{display:grid;gap:18px}
.seo-main [hidden]{display:none!important}

.seo-hub-paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px}
.seo-hub-card{display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);border-radius:20px;padding:22px;background:var(--white);min-height:100%}
.seo-hub-card:hover{border-color:#c9b79f}
.seo-hub-kicker{font-size:12px;font-weight:750;letter-spacing:.04em;color:var(--muted);text-transform:uppercase}
.seo-hub-card strong{font-size:22px;letter-spacing:-.3px}
.seo-hub-card>span:last-child{font-size:14px;color:var(--muted);line-height:1.55}
.seo-grid--analyze{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
.serp-brand{display:flex;gap:10px;align-items:center;margin-bottom:6px}
.serp-favicon{width:28px;height:28px;border-radius:50%;object-fit:cover;background:#f1f3f4;flex:0 0 auto}
.serp-brand-text{min-width:0}
.serp-site{margin:0;font-size:14px;color:#202124;font-weight:500;line-height:1.3}
.serp-brand .serp-url{margin:0}
.serp-image-wrap{margin-top:12px;border-radius:12px;overflow:hidden;border:1px solid #e8eaed;background:#f8f9fa;max-width:100%}
.serp-image{display:block;width:100%;max-height:180px;object-fit:cover}
.serp-card--mobile .serp-image{max-height:140px}
.seo-outline{list-style:none;margin:8px 0 0;padding:0}
.seo-outline li{display:flex;gap:8px;align-items:flex-start;margin-block:6px;font-size:14px;color:var(--muted);overflow-wrap:anywhere}
.seo-outline li[data-level="1"]{padding-left:0;font-weight:650;color:var(--ink)}
.seo-outline li[data-level="2"]{padding-left:12px}
.seo-outline li[data-level="3"]{padding-left:24px}
.seo-outline li[data-level="4"]{padding-left:36px}
.seo-outline li[data-level="5"]{padding-left:48px}
.seo-outline li[data-level="6"]{padding-left:60px}
@media(max-width:720px){
  .seo-hub-paths,.seo-grid--analyze{grid-template-columns:1fr}
  .seo-grid,.seo-row,.seo-opts{grid-template-columns:1fr}
  .seo-panel,.seo-help,.seo-card{padding:16px}
  .seo-main textarea{min-height:180px}
  .seo-actions .button{flex:1 1 auto}
  .serp-card--mobile{max-width:100%}
}

.seo-score-card{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;margin:0 0 18px;padding:18px 20px;border-radius:18px;border:1px solid var(--line);background:#fff8ef}
.seo-score-card[data-level=ok]{border-color:#b9d4c2;background:#f3faf5}
.seo-score-card[data-level=warn]{border-color:#e5d39a;background:#fffaf0}
.seo-score-card[data-level=bad]{border-color:#e5c0c6;background:#fdf6f7}
.seo-score-label{margin:0;font-size:12px;font-weight:750;letter-spacing:.04em;color:var(--muted)}
.seo-score-number{margin:4px 0;font-size:42px;font-weight:800;letter-spacing:-1px;line-height:1;color:var(--ink)}
.seo-score-max{font-size:16px;font-weight:650;color:var(--muted);margin-left:2px}
.seo-score-meta{margin:6px 0 0;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.seo-score-copy{min-width:0}
.seo-score-disclaimer{margin:8px 0 0;font-size:12px;color:#8a735a;font-weight:650}
.serp-favicon-note{margin:8px 0 0;font-size:12px;color:#8c4653}
@media(max-width:720px){
  .seo-score-card{grid-template-columns:1fr}
  .seo-score-number{font-size:36px}
}

.seo-robots-panel{margin-top:22px}
.seo-robots-group{border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin-bottom:10px;background:var(--cream, #fff8ef)}
.seo-robots-group-title{font-weight:750;margin:0 0 8px}
.seo-warn{color:#9a5b00}
