.kw-density{max-width:800px;margin:2rem auto;padding:2rem;background:var(--gradient-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);position:relative;overflow:hidden}.kw-density:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-accent);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.kw-density__editor{margin-bottom:1.5rem}.kw-density__textarea{width:100%;min-height:200px;padding:1rem;font-size:1rem;font-family:inherit;line-height:1.7;border:1.5px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-primary);resize:vertical;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.kw-density__textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #4f46e526}.kw-density__textarea::placeholder{color:var(--color-muted)}.kw-density__options{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border)}.kw-density__field{display:flex;flex-direction:column;gap:.5rem}.kw-density__field label{font-size:.85rem;font-weight:600;color:var(--color-secondary)}.kw-density__select{padding:.75rem 1rem;font-size:1rem;color:var(--color-primary);background-color:var(--color-bg);border:1.5px solid var(--color-border-strong);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);outline:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%236b7280'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:1em}.kw-density__select:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #4f46e526}.kw-density__radios{display:flex;gap:1rem;align-items:center;height:100%}.kw-density__radio{display:flex;align-items:center;gap:.5rem;cursor:pointer}.kw-density__radio input{width:1.2rem;height:1.2rem;accent-color:var(--color-accent);cursor:pointer}.kw-density__radio span{font-size:.95rem;color:var(--color-secondary)}.kw-density__summary{display:flex;gap:1rem;margin-bottom:2rem}.kw-density__summary-stat{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.25rem 1rem;background:var(--color-bg-soft);border:1px solid var(--color-border);border-radius:var(--radius-lg);text-align:center}.kw-density__summary-value{font-size:2rem;font-weight:700;color:var(--color-accent);line-height:1;margin-bottom:.25rem}.kw-density__summary-label{font-size:.8rem;font-weight:600;color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em}.kw-density__table-wrap{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.kw-density__empty{padding:3rem 1.5rem;text-align:center;color:var(--color-muted);font-size:1.1rem;margin:0}.kw-density__table{width:100%;border-collapse:collapse;text-align:left}.kw-density__table th{background:var(--color-bg-soft);padding:1rem;font-size:.8rem;font-weight:600;color:var(--color-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--color-border)}.kw-density__table td{padding:1rem;border-bottom:1px solid var(--color-border);vertical-align:middle}.kw-density__table tbody tr:last-child td{border-bottom:none}.kw-density__table tbody tr:hover{background:#4f46e505}.kw-density__rank{width:40px;color:var(--color-muted);font-weight:600}.kw-density__keyword{font-weight:600;color:var(--color-primary)}.kw-density__freq{width:100px;font-weight:500;color:var(--color-secondary)}.kw-density__pct{width:100px;font-weight:600;color:var(--color-accent)}.kw-density__bar-cell{width:30%;min-width:120px}.kw-density__bar{height:8px;background:var(--gradient-accent);border-radius:4px;transition:width .3s ease}@media(max-width:640px){.kw-density{padding:1.25rem;margin:1rem auto}.kw-density__summary{flex-direction:column}.kw-density__options{grid-template-columns:1fr}.kw-density__table th:last-child,.kw-density__table td:last-child{display:none}}
