/* ============================================================ Text Analyzer — bkbg-ta-* ============================================================ */ .bkbg-ta-wrap { box-sizing: border-box; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; padding: 32px 24px; border-radius: 16px; max-width: var(--ta-max-width, 760px); margin: 0 auto; } /* ---- Header ---- */ .bkbg-ta-wrap .bkbg-ta-title { font-family: var(--bkta-tt-ff); font-size: var(--bkta-tt-fs-d, 26px); line-height: var(--bkta-tt-lh-d, 1.25); letter-spacing: var(--bkta-tt-ls-d); word-spacing: var(--bkta-tt-ws-d); font-weight: var(--bkta-tt-fw, 700); font-style: var(--bkta-tt-fst); text-decoration: var(--bkta-tt-td); text-transform: var(--bkta-tt-tt); color: var(--ta-title-color, #111827); margin: 0 0 5px; } .bkbg-ta-wrap .bkbg-ta-subtitle { font-family: var(--bkta-st-ff); font-size: var(--bkta-st-fs-d, 14px); line-height: var(--bkta-st-lh-d, 1.4); letter-spacing: var(--bkta-st-ls-d); word-spacing: var(--bkta-st-ws-d); font-weight: var(--bkta-st-fw); font-style: var(--bkta-st-fst); text-decoration: var(--bkta-st-td); text-transform: var(--bkta-st-tt); color: var(--ta-subtitle-color, #6b7280); margin: 0 0 16px; } /* ---- Textarea ---- */ .bkbg-ta-input { width: 100%; box-sizing: border-box; border: 1.5px solid #e5e7eb; border-radius: 12px; padding: 14px 16px; font-size: 14px; color: var(--ta-label-color, #374151); background: var(--ta-input-bg, #f8fafc); font-family: inherit; line-height: 1.65; resize: vertical; outline: none; transition: border-color .15s; margin-bottom: 20px; } .bkbg-ta-input:focus { border-color: var(--ta-accent, #8b5cf6); box-shadow: 0 0 0 3px rgba(139,92,246,.1); } /* ---- Section heading ---- */ .bkbg-ta-section-head { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--ta-label-color, #374151); margin-bottom: 10px; } /* ---- Stat cards grid ---- */ .bkbg-ta-stats-grid { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 20px; } .bkbg-ta-stat { background: var(--ta-stat-bg, #f5f3ff); border-radius: 12px; padding: 12px 16px; text-align: center; flex: 1; min-width: 80px; } .bkbg-ta-stat-num { font-size: 26px; font-weight: 800; color: var(--ta-stat-num-color, #6d28d9); line-height: 1.1; } .bkbg-ta-stat-label { font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: var(--ta-label-color, #374151); margin-top: 4px; } /* ---- Frequency chart ---- */ .bkbg-ta-freq-list { display: flex; flex-direction: column; gap: 7px; margin-bottom: 20px; } .bkbg-ta-freq-row { display: flex; align-items: center; gap: 10px; } .bkbg-ta-freq-word { width: 100px; font-size: 12px; font-weight: 600; color: var(--ta-label-color, #374151); text-align: right; flex-shrink: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .bkbg-ta-freq-track { flex: 1; background: #f3f4f6; border-radius: 6px; height: 20px; overflow: hidden; } .bkbg-ta-freq-bar { height: 100%; background: var(--ta-bar-color, #8b5cf6); border-radius: 6px; transition: width .35s cubic-bezier(.4,0,.2,1); display: flex; align-items: center; justify-content: flex-end; padding-right: 6px; min-width: 0; overflow: hidden; } .bkbg-ta-freq-count { width: 26px; font-size: 12px; font-weight: 700; color: var(--ta-stat-num-color, #6d28d9); text-align: right; flex-shrink: 0; } /* ---- Copy row ---- */ .bkbg-ta-copy-row { display: flex; justify-content: flex-end; margin-bottom: 6px; } .bkbg-ta-copy-btn { background: none; border: 1.5px solid var(--ta-accent, #8b5cf6); color: var(--ta-accent, #8b5cf6); border-radius: 8px; padding: 5px 13px; font-size: 12px; font-weight: 600; cursor: pointer; transition: background .15s; } .bkbg-ta-copy-btn:hover { background: rgba(139,92,246,.07); } /* ---- Empty state ---- */ .bkbg-ta-empty { text-align: center; padding: 40px 20px; font-size: 14px; color: var(--ta-label-color, #374151); opacity: .5; } /* ---- Typography responsive ---- */ @media (max-width: 1024px) { .bkbg-ta-wrap .bkbg-ta-title { font-size: var(--bkta-tt-fs-t, var(--bkta-tt-fs-d, 26px)); line-height: var(--bkta-tt-lh-t, var(--bkta-tt-lh-d, 1.25)); letter-spacing: var(--bkta-tt-ls-t, var(--bkta-tt-ls-d)); word-spacing: var(--bkta-tt-ws-t, var(--bkta-tt-ws-d)); } .bkbg-ta-wrap .bkbg-ta-subtitle { font-size: var(--bkta-st-fs-t, var(--bkta-st-fs-d, 14px)); line-height: var(--bkta-st-lh-t, var(--bkta-st-lh-d, 1.4)); letter-spacing: var(--bkta-st-ls-t, var(--bkta-st-ls-d)); word-spacing: var(--bkta-st-ws-t, var(--bkta-st-ws-d)); } } @media (max-width: 767px) { .bkbg-ta-wrap .bkbg-ta-title { font-size: var(--bkta-tt-fs-m, var(--bkta-tt-fs-t, var(--bkta-tt-fs-d, 26px))); line-height: var(--bkta-tt-lh-m, var(--bkta-tt-lh-t, var(--bkta-tt-lh-d, 1.25))); letter-spacing: var(--bkta-tt-ls-m, var(--bkta-tt-ls-t, var(--bkta-tt-ls-d))); word-spacing: var(--bkta-tt-ws-m, var(--bkta-tt-ws-t, var(--bkta-tt-ws-d))); } .bkbg-ta-wrap .bkbg-ta-subtitle { font-size: var(--bkta-st-fs-m, var(--bkta-st-fs-t, var(--bkta-st-fs-d, 14px))); line-height: var(--bkta-st-lh-m, var(--bkta-st-lh-t, var(--bkta-st-lh-d, 1.4))); letter-spacing: var(--bkta-st-ls-m, var(--bkta-st-ls-t, var(--bkta-st-ls-d))); word-spacing: var(--bkta-st-ws-m, var(--bkta-st-ws-t, var(--bkta-st-ws-d))); } } /* ---- Responsive ---- */ @media (max-width: 520px) { .bkbg-ta-wrap { padding: 20px 12px; } .bkbg-ta-stat { min-width: 70px; padding: 10px 10px; } .bkbg-ta-stat-num { font-size: 20px; } .bkbg-ta-freq-word { width: 72px; } }