.tw-ad-app{max-width:1200px;margin:0 auto;padding-top:20px;font-family:inherit;color:#1a1a2e}
.tw-ad-app *,.tw-ad-app *::before,.tw-ad-app *::after{box-sizing:border-box}

/* Mode switcher */
.tw-ad-mode-switch{display:flex;gap:0;margin-bottom:12px;border:1.5px solid #56aea4;border-radius:20px;overflow:hidden;width:fit-content}
.tw-ad-mode-btn{padding:8px 24px;font-size:13px;font-weight:600;border:none;cursor:pointer;font-family:inherit;transition:all .15s;background:#fff;color:#56aea4}
.tw-ad-mode-btn.tw-ad-mode-active{background:#56aea4;color:#fff}
.tw-ad-mode-btn:hover:not(.tw-ad-mode-active){background:#f0fdf8}

/* Two-column layout */
.tw-ad-columns{display:flex;gap:20px;align-items:flex-start}
.tw-ad-col-left{flex:1;min-width:0}
.tw-ad-col-right{flex:1;min-width:0}

/* Editor */
.tw-ad-editor{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;margin-bottom:12px}
.tw-ad-textarea{width:100%;min-height:300px;border:none;outline:none;padding:16px;font-size:15px;line-height:1.65;resize:vertical;font-family:inherit;color:#1a1a2e;display:block}
.tw-ad-textarea::placeholder{color:#b0b5c0}
.tw-ad-actions{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;border-top:1px solid #f3f4f6}
.tw-ad-charcount{font-size:12px;color:#6b7280}
.tw-ad-btn-primary{height:40px;padding:0 24px;background:#fff;color:#56aea4;font-size:13px;font-weight:600;border:1.5px solid #56aea4;border-radius:20px;cursor:pointer;transition:all .15s;font-family:inherit}
.tw-ad-btn-primary:hover{background:#56aea4;color:#fff}
.tw-ad-btn-primary:disabled{opacity:.5;cursor:not-allowed}

/* URL input */
.tw-ad-url-row{display:flex;align-items:center;gap:12px;padding:12px 16px}
.tw-ad-url-input{flex:1;height:40px;border:1px solid #e5e7eb;border-radius:8px;padding:0 14px;font-size:14px;font-family:inherit;color:#1a1a2e;outline:none;transition:border-color .15s}
.tw-ad-url-input:focus{border-color:#56aea4}
.tw-ad-url-input::placeholder{color:#b0b5c0}

/* Status */
.tw-ad-status{min-height:20px;margin-bottom:8px}
.tw-ad-loading{display:flex;align-items:center;gap:8px;font-size:13px;color:#6b7280;padding:8px 0}
.tw-ad-spinner{width:18px;height:18px;border:2px solid #e5e7eb;border-top-color:#56aea4;border-radius:50%;animation:tw-ad-spin 0.6s linear infinite}
@keyframes tw-ad-spin{to{transform:rotate(360deg)}}
.tw-ad-alert{padding:10px 14px;border-radius:8px;font-size:13px;margin:6px 0}
.tw-ad-alert-error{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}

/* Score card (top, full width) */
.tw-ad-result-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px;margin-bottom:20px}
.tw-ad-score-main{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.tw-ad-score-thumb{font-size:32px}
.tw-ad-score-label{font-size:15px;font-weight:700;padding:6px 16px;border-radius:8px;display:inline-block}

/* Gradient bar */
.tw-ad-gradient-wrap{margin-bottom:16px}
.tw-ad-gradient-labels{display:flex;justify-content:space-between;margin-bottom:6px}
.tw-ad-gradient-label-left{font-size:12px;font-weight:700;color:#16a34a;text-transform:uppercase;letter-spacing:.05em}
.tw-ad-gradient-label-right{font-size:12px;font-weight:700;color:#dc2626;text-transform:uppercase;letter-spacing:.05em}
.tw-ad-gradient-bar{position:relative;height:24px;border-radius:12px;overflow:visible;margin-bottom:8px}
.tw-ad-gradient-track{width:100%;height:100%;border-radius:12px;background:linear-gradient(90deg,#16a34a 0%,#86efac 25%,#fde68a 50%,#fca5a5 75%,#dc2626 100%)}
.tw-ad-gradient-cursor{position:absolute;top:50%;left:var(--pos,50%);transform:translate(-50%,-50%);transition:left .8s cubic-bezier(.25,.46,.45,.94)}
.tw-ad-gradient-cursor-dot{width:20px;height:20px;background:#fff;border:3px solid #1a1a2e;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.2)}
.tw-ad-gradient-percents{display:flex;justify-content:space-between}
.tw-ad-pct-human{font-size:16px;font-weight:700;color:#16a34a}
.tw-ad-pct-ai{font-size:16px;font-weight:700;color:#dc2626}
.tw-ad-result-meta{font-size:13px;color:#6b7280;padding-top:12px;border-top:1px solid #f3f4f6}
.tw-ad-result-url{word-break:break-all}

/* Highlighted text (right column) */
.tw-ad-highlight-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:16px 20px;min-height:300px;max-height:500px;overflow-y:auto}
.tw-ad-highlight-title{font-size:14px;font-weight:700;color:#1a1a2e;margin-bottom:10px}
.tw-ad-highlight-legend{display:flex;gap:16px;margin-bottom:14px;flex-wrap:wrap}
.tw-ad-legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:#6b7280}
.tw-ad-legend-dot{width:14px;height:14px;border-radius:4px;flex-shrink:0}
.tw-ad-highlight-text{font-size:14px;line-height:1.8;color:#1a1a2e}
.tw-ad-sent{padding:2px 4px;border-radius:4px;border:1px solid transparent;cursor:default;transition:all .15s}
.tw-ad-sent:hover{opacity:.85}

/* Extracted text (URL mode, left column) */
.tw-ad-extracted-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:16px 20px;margin-bottom:12px}
.tw-ad-extracted-title{font-size:13px;font-weight:700;color:#6b7280;margin-bottom:8px;text-transform:uppercase;letter-spacing:.03em}
.tw-ad-extracted-body{font-size:13px;line-height:1.7;color:#374151;max-height:250px;overflow-y:auto;white-space:pre-wrap;word-break:break-word}

/* Metrics grid */
.tw-ad-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-top:12px}
.tw-ad-metric{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:12px 14px}
.tw-ad-metric-label{font-size:11px;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}
.tw-ad-metric-value{font-size:18px;font-weight:700;color:#1a1a2e}
.tw-ad-metric-bar{height:4px;background:#e5e7eb;border-radius:2px;margin-top:6px;overflow:hidden}
.tw-ad-metric-bar-fill{height:100%;background:linear-gradient(90deg,#56aea4,#9FFDCE);border-radius:2px;transition:width .5s}

/* Article toggle */
.tw-ad-article-toggle{margin-top:16px;margin-bottom:12px}
.tw-ad-toggle-btn{display:flex;align-items:center;gap:8px;width:100%;padding:12px 16px;background:#fff;border:1.5px solid #56aea4;border-radius:10px;cursor:pointer;font-family:inherit;transition:all .15s;text-align:left}
.tw-ad-toggle-btn:hover{background:#f0fdf8}
.tw-ad-toggle-chevron{transition:transform .25s ease;flex-shrink:0;color:#56aea4}
.tw-ad-toggle-btn.tw-ad-toggle-open .tw-ad-toggle-chevron{transform:rotate(180deg)}
.tw-ad-h2{font-size:14px;font-weight:600;color:#56aea4;margin:0}

/* Responsive */
@media(max-width:768px){
  .tw-ad-columns{flex-direction:column}
  .tw-ad-score-main{flex-direction:column;text-align:center}
  .tw-ad-gradient-percents{flex-direction:column;gap:2px;align-items:center}
  .tw-ad-metrics{grid-template-columns:1fr}
}
