/* Keyword Checker — page-specific styles */
.kc-tool{overflow:visible}
.kc-inputs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
.kc-panel{padding:1.4rem 1.75rem;min-width:0;display:flex;flex-direction:column}
.kc-panel + .kc-panel{border-left:1px solid var(--pn-line-soft)}
.kc-panel__head{display:flex;justify-content:space-between;align-items:center;gap:.6rem;flex-wrap:wrap;min-height:38px;margin-bottom:.6rem}
.kc-panel__head .pn-label{margin:0}
.kc-panel__head .pn-label span{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;margin-left:.3rem;border-radius:999px;background:var(--pn-yellow);font-size:var(--pn-xs);font-weight:700}
.kc-file{position:relative;overflow:hidden;cursor:pointer}
.kc-file input,.kc-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.kc-file:focus-within{outline:2px solid var(--pn-black);outline-offset:2px}
.kc-keywords{width:100%;min-height:150px;resize:vertical;line-height:1.55;font-size:.875rem}
.kc-hint{font-size:var(--pn-xs);color:var(--pn-muted);line-height:1.5;margin-top:.55rem}
.kc-paste-note{font-size:var(--pn-sm);color:var(--pn-charcoal);line-height:1.55;background:var(--pn-yellow-pale);border-radius:12px;padding:.85rem 1rem}
.kc-paste-note b{color:var(--pn-black);font-weight:600}
.kc-row{display:flex;gap:.5rem}
.kc-row .pn-input{flex:1;min-width:0}
.kc-drop{flex-direction:row;justify-content:flex-start;text-align:left;gap:.8rem;padding:1rem 1.1rem}
.kc-drop strong{display:block;font-size:var(--pn-sm)}
.kc-drop span span{display:block;font-size:var(--pn-xs);color:var(--pn-muted)}
.kc-status{padding:0 1.75rem;min-height:0;font-size:var(--pn-sm);color:var(--pn-muted)}
.kc-status:not(:empty){padding:.7rem 1.75rem;border-top:1px solid var(--pn-line-soft)}
.kc-status.is-error{color:var(--pn-red-ink);background:var(--pn-red-pale)}

/* Summary: full width, grows with the keyword list, never scrolls */
.kc-summary{border-top:1px solid var(--pn-line-soft);padding:1.4rem 1.75rem 1.2rem}
.kc-summary__head{display:flex;align-items:center;gap:.6rem 1.2rem;flex-wrap:wrap;margin-bottom:.9rem}
.kc-summary__head h2{font-size:1.35rem;margin-right:auto}
.kc-filter button{font-size:var(--pn-xs);padding:.3rem .7rem}
.kc-stats{display:flex;gap:.4rem;flex-wrap:wrap}
.kc-stats span{background:var(--pn-linen);border-radius:999px;padding:.32rem .75rem;font-size:var(--pn-xs);color:var(--pn-gray)}
.kc-stats b{color:var(--pn-black);font-weight:700}
.kc-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.8125rem;border:1px solid var(--pn-line);border-radius:14px;overflow:hidden;table-layout:auto}
.kc-table th{background:var(--pn-cream);font-size:var(--pn-xs);font-weight:600;color:var(--pn-gray);text-align:center;padding:.6rem .5rem;border-bottom:1px solid var(--pn-line)}
.kc-table td{text-align:center;padding:.55rem .5rem;border-bottom:1px solid var(--pn-line-soft);color:var(--pn-black);font-variant-numeric:tabular-nums}
.kc-table tbody tr:last-child td{border-bottom:0}
.kc-table th:first-child,.kc-table td:first-child{text-align:left;padding-left:1rem;width:34%}
.kc-table td.is-zero{color:#b8b8b0}
.kc-table td.kc-total{font-weight:700}
.kc-table tbody tr{cursor:pointer;transition:background var(--pn-ease-fast)}
.kc-table tbody tr:hover td{background:#fafaf4}
.kc-table tbody tr.is-selected td{background:var(--pn-yellow-pale)}
.kc-kw{display:flex;align-items:center;gap:.55rem;border:0;background:none;padding:0;font:inherit;font-weight:600;color:var(--pn-black);text-align:left;cursor:pointer;overflow-wrap:anywhere}
.kc-kw i{width:12px;height:12px;border-radius:4px;flex:none;background:var(--c)}
.kc-miss{display:inline-block;margin-left:.4rem;font-size:.6875rem;font-weight:600;color:var(--pn-red-ink);background:var(--pn-red-pale);border-radius:999px;padding:.1rem .5rem}
.kc-empty-row td{text-align:center!important;color:var(--pn-muted);padding:1.2rem!important;cursor:default}
.kc-summary__note{margin-top:.7rem}

/* Document canvas: a fixed-height workspace with a page inside */
.kc-doc{border-top:1px solid var(--pn-line-soft);background:#f1f3f4;border-radius:0 0 var(--pn-r-card) var(--pn-r-card);overflow:hidden}
.kc-doc__bar{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;background:#fff}
.kc-doc__icon svg{width:20px;height:26px;display:block}
.kc-doc__title{min-width:0;margin-right:auto}
.kc-doc__title b{display:block;font-size:.95rem;font-weight:600;color:#1f1f1f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kc-doc__title small{display:block;font-size:var(--pn-xs);color:var(--pn-muted)}
.kc-doc__tools{display:flex;align-items:center;gap:.7rem;padding:.45rem 1.25rem;background:#edf2fa;border-top:1px solid #e3e7ee;border-bottom:1px solid #dadce0;flex-wrap:wrap;min-height:46px}
.kc-style{border:0;background:transparent;font:500 .8125rem var(--pn-font-body);color:#1f1f1f;padding:.35rem .4rem;border-radius:6px;cursor:pointer}
.kc-style:hover,.kc-style:focus{background:#dfe5f0;outline:0}
.kc-sep{width:1px;height:20px;background:#c4c7c5}
.kc-hl{font-size:.8125rem}
.kc-focus{display:inline-flex;align-items:center;gap:.4rem;background:#fff;border-radius:999px;padding:.2rem .3rem .2rem .7rem;font-size:.8125rem;box-shadow:0 1px 2px rgba(60,64,67,.2)}
.kc-focus i{width:10px;height:10px;border-radius:3px;background:var(--c)}
.kc-focus b{font-weight:600;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kc-focus span{color:var(--pn-muted);font-variant-numeric:tabular-nums}
.kc-focus button{width:26px;height:26px;border:0;border-radius:50%;background:transparent;cursor:pointer;font-size:1rem;line-height:1;color:#1f1f1f}
.kc-focus button:hover{background:#edf2fa}
.kc-doc__count{margin-left:auto;font-size:var(--pn-xs);color:#5f6368;font-variant-numeric:tabular-nums}
.kc-workspace{height:clamp(560px,78vh,760px);overflow-y:auto;padding:1.5rem 1rem 2.5rem;scroll-behavior:smooth;overscroll-behavior:contain}
.kc-page{position:relative;max-width:816px;min-height:calc(100% - 1rem);margin:0 auto;background:#fff;padding:72px 84px;box-shadow:0 1px 3px rgba(60,64,67,.15),0 4px 8px 3px rgba(60,64,67,.08);font:14.67px/1.5 Arial,Helvetica,sans-serif;color:#1f1f1f;outline:0;caret-color:#1a73e8;overflow-wrap:break-word}
.kc-page:focus{box-shadow:0 1px 3px rgba(60,64,67,.15),0 4px 8px 3px rgba(60,64,67,.08),0 0 0 2px #c2d7f7}
.kc-page.is-empty::before{content:attr(data-placeholder);position:absolute;left:84px;top:72px;right:84px;color:#9aa0a6;pointer-events:none}
.kc-page > *{margin:0;position:relative}
.kc-page p{margin:0 0 .9em}
.kc-page h1,.kc-page h2,.kc-page h3,.kc-page h4,.kc-page h5,.kc-page h6{font-family:Arial,Helvetica,sans-serif;font-weight:400;letter-spacing:0;color:#000}
.kc-page h1{font-size:26.67px;line-height:1.25;margin:.2em 0 .45em}
.kc-page h2{font-size:21.33px;line-height:1.3;margin:1em 0 .4em}
.kc-page h3{font-size:18.67px;line-height:1.3;margin:.9em 0 .35em;color:#434343}
.kc-page h4{font-size:16px;line-height:1.35;margin:.8em 0 .3em;color:#666}
.kc-page h5{font-size:14.67px;line-height:1.4;margin:.8em 0 .3em;color:#666}
.kc-page h6{font-size:14.67px;line-height:1.4;margin:.8em 0 .3em;color:#666;font-style:italic}
.kc-page > :first-child{margin-top:0}
.kc-page h1::before,.kc-page h2::before,.kc-page h3::before,.kc-page h4::before,.kc-page h5::before,.kc-page h6::before{position:absolute;right:calc(100% + 14px);top:.25em;font:700 10px/1 var(--pn-font-body);letter-spacing:.04em;color:#5f6368;background:#edf2fa;border-radius:4px;padding:3px 5px;user-select:none;pointer-events:none}
.kc-page h1::before{content:"H1"}.kc-page h2::before{content:"H2"}.kc-page h3::before{content:"H3"}.kc-page h4::before{content:"H4"}.kc-page h5::before{content:"H5"}.kc-page h6::before{content:"H6"}
.kc-page mark{background:var(--c);color:inherit;border-radius:2px;padding:0 1px;box-decoration-break:clone;-webkit-box-decoration-break:clone;transition:opacity var(--pn-ease-fast),box-shadow var(--pn-ease-fast)}
.kc-page.no-hl mark{background:transparent}
.kc-page.is-focused mark:not(.is-on){background:transparent}
.kc-page mark.is-on{box-shadow:0 0 0 1px rgba(0,0,0,.35)}
.kc-page mark.is-current{box-shadow:0 0 0 2px #1a73e8}

/* Content visuals */
.kcx-mini{position:relative;z-index:1;width:min(100%,420px);display:grid;gap:.5rem}
.kcx-mini__row{display:grid;grid-template-columns:12px 1fr auto;gap:.6rem;align-items:center;background:#fff;border-radius:12px;padding:.65rem .85rem;box-shadow:var(--pn-shadow-card);font-size:var(--pn-sm)}
.kcx-mini__row i{width:12px;height:12px;border-radius:4px}
.kcx-mini__row b{font-weight:600;color:var(--pn-black)}
.kcx-mini__row span{font-size:var(--pn-xs);color:var(--pn-muted)}
.kcx-mini__row.is-miss span{color:var(--pn-red-ink);background:var(--pn-red-pale);border-radius:999px;padding:.1rem .5rem}
.kcx-mini__page{margin-top:.5rem;background:#fff;border-radius:6px;padding:1.3rem 1.4rem;box-shadow:0 1px 3px rgba(60,64,67,.15),0 6px 16px rgba(60,64,67,.12);font:14px/1.55 Arial,Helvetica,sans-serif;color:#1f1f1f}
.kcx-mini__page b{display:block;font-weight:400;font-size:20px;margin-bottom:.4rem;color:#000}
.kcx-mini__page mark{background:#f5f439;color:inherit;border-radius:2px}.kcx-mini__page mark.m2{background:#9be3d6}
.kcx-density{position:relative;z-index:1;width:min(100%,420px);background:#fff;border-radius:16px;padding:1.2rem 1.3rem;box-shadow:var(--pn-shadow-card);display:grid;gap:.75rem}
.kcx-density div{display:grid;grid-template-columns:120px 1fr 44px;gap:.7rem;align-items:center;font-size:var(--pn-sm)}
.kcx-density span{font-weight:600;color:var(--pn-black);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kcx-density i{height:10px;border-radius:999px;background:linear-gradient(90deg,var(--pn-mint) var(--w),var(--pn-linen) var(--w))}
.kcx-density .is-high i{background:linear-gradient(90deg,#ffb4a2 var(--w),var(--pn-linen) var(--w))}
.kcx-density b{text-align:right;font-variant-numeric:tabular-nums}
.kcx-density .is-high b{color:var(--pn-red-ink)}.kcx-density .is-zero b{color:var(--pn-muted)}
.kcx-density p{font-size:var(--pn-xs);color:var(--pn-muted);border-top:1px solid var(--pn-line-soft);padding-top:.7rem}

@media (max-width:900px){
  .kc-inputs{grid-template-columns:1fr}
  .kc-panel + .kc-panel{border-left:0;border-top:1px solid var(--pn-line-soft)}
  .kc-page{padding:48px 44px}
  .kc-page.is-empty::before{left:44px;right:44px;top:48px}
}
/* Phones: the summary becomes cards so nothing scrolls sideways */
@media (max-width:700px){
  .kc-panel,.kc-summary{padding:1.1rem}
  .kc-status:not(:empty){padding:.7rem 1.1rem}
  .kc-table,.kc-table tbody{display:block;border:0;border-radius:0}
  .kc-table thead{display:none}
  .kc-table tr{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem .2rem;border:1px solid var(--pn-line);border-radius:12px;padding:.7rem .75rem;margin-bottom:.5rem;background:#fff}
  .kc-table td{border:0;padding:0;font-size:.8125rem;text-align:center}
  .kc-table td:first-child{grid-column:1/-1;width:auto;padding:0;font-size:.875rem;text-align:left}
  .kc-table td:nth-child(2),.kc-table td:nth-child(3){grid-column:span 3;text-align:left;font-size:var(--pn-xs)}
  .kc-table td:nth-child(3){grid-column:span 4}
  .kc-table td:nth-child(2)::before,.kc-table td:nth-child(3)::before{content:attr(data-label) " ";color:var(--pn-muted);font-weight:500}
  .kc-table td:nth-child(n+4){background:var(--pn-cream);border-radius:6px;padding:.25rem 0}
  .kc-table td:nth-child(n+4)::before{content:attr(data-label);display:block;font-size:.625rem;color:var(--pn-muted);font-weight:600}
  .kc-table tbody tr:hover td,.kc-table tbody tr.is-selected td{background:transparent}
  .kc-table tbody tr.is-selected{background:var(--pn-yellow-pale)}
  .kc-empty-row{display:block!important}
  .kc-doc__bar,.kc-doc__tools{padding-left:.8rem;padding-right:.8rem}
  .kc-workspace{height:78vh;padding:.8rem .5rem 1.5rem}
  .kc-page{padding:28px 22px;font-size:14px}
  .kc-page h1{font-size:22px}.kc-page h2{font-size:19px}.kc-page h3{font-size:17px}.kc-page h4{font-size:15px}
  .kc-page.is-empty::before{left:22px;right:22px;top:28px}
  .kc-page h1::before,.kc-page h2::before,.kc-page h3::before,.kc-page h4::before,.kc-page h5::before,.kc-page h6::before{position:static;display:inline-block;margin-right:6px;vertical-align:middle}
  .kc-doc__count{margin-left:0;width:100%}
  .kcx-density div{grid-template-columns:100px 1fr 40px}
}

.kc-focus button{display:inline-grid;place-items:center}.kc-focus button .pn-i{width:15px;height:15px}
.kc-doc__icon{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:var(--pn-mint);color:var(--pn-teal)}.kc-doc__icon .pn-i{width:18px;height:18px}
.kc-doc__icon:has(> svg:not(.pn-i)){background:none;width:auto;height:auto}
