.tw-st-app{max-width:1200px;margin:0 auto;padding-top:20px;font-family:inherit;color:#1a1a2e}
.tw-st-app *,.tw-st-app *::before,.tw-st-app *::after{box-sizing:border-box}
.tw-st-editor{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;margin-bottom:12px}
.tw-st-textarea{width:100%;min-height:140px;border:none;outline:none;padding:16px;font-size:14px;line-height:1.65;resize:vertical;font-family:inherit;color:#1a1a2e;display:block}
.tw-st-textarea::placeholder{color:#b0b5c0}
.tw-st-actions{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;border-top:1px solid #f3f4f6}
.tw-st-urlcount{font-size:12px;color:#6b7280}
.tw-st-btn-primary{height:44px;padding:0 28px;background:#56aea4;color:#fff;font-size:14px;font-weight:600;border:none;border-radius:22px;cursor:pointer;transition:all .15s;font-family:inherit}
.tw-st-btn-primary:hover{background:#489e94}
.tw-st-btn-primary:disabled{opacity:.5;cursor:not-allowed}
.tw-st-status{min-height:20px;margin-bottom:8px}
.tw-st-loading{display:flex;align-items:center;gap:8px;font-size:13px;color:#6b7280;padding:8px 0}
.tw-st-spinner{width:18px;height:18px;border:2px solid #e5e7eb;border-top-color:#56aea4;border-radius:50%;animation:tw-st-spin 0.6s linear infinite}
.tw-st-spinner-sm{width:14px;height:14px;border:2px solid #e5e7eb;border-top-color:#56aea4;border-radius:50%;animation:tw-st-spin 0.6s linear infinite;display:inline-block}
@keyframes tw-st-spin{to{transform:rotate(360deg)}}
.tw-st-loading-inline{display:flex;align-items:center;gap:6px;font-size:12px;color:#6b7280}
.tw-st-alert{padding:10px 14px;border-radius:8px;font-size:13px;margin:6px 0}
.tw-st-alert-error{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}
/* Toolbar */
.tw-st-toolbar{display:flex;justify-content:flex-end;margin-bottom:12px}
.tw-st-export{display:flex;gap:8px}
.tw-st-btn-export{height:34px;padding:0 16px;background:#fff;color:#56aea4;font-size:12px;font-weight:600;border:1.5px solid #56aea4;border-radius:17px;cursor:pointer;transition:all .15s;font-family:inherit}
.tw-st-btn-export:hover{background:#56aea4;color:#fff}
/* Table */
.tw-st-table-wrap{overflow-x:auto;background:#fff;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:16px}
.tw-st-table{width:100%;border-collapse:collapse;font-size:13px}
.tw-st-table th{background:#f9fafb;padding:8px 10px;text-align:center;font-weight:600;color:#6b7280;border-bottom:1px solid #e5e7eb;white-space:nowrap;font-size:12px}
.tw-st-table th:first-child{text-align:left}
.tw-st-table td{padding:6px 10px;border-bottom:1px solid #f3f4f6;vertical-align:middle;text-align:center}
.tw-st-table td:first-child{text-align:left}
.tw-st-table tr:last-child td{border-bottom:none}
.tw-st-table tr[style*="cursor"]:hover{background:#f9fafb}
.tw-st-url-cell{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.tw-st-url-cell a{color:#56aea4;text-decoration:none}
.tw-st-url-cell a:hover{text-decoration:underline}
/* Score badges */
.tw-st-score{display:inline-block;width:36px;height:28px;line-height:28px;text-align:center;border-radius:6px;font-size:13px;font-weight:700}
.tw-st-score-good{background:#dcfce7;color:#16a34a}
.tw-st-score-avg{background:#fef3c7;color:#ca8a04}
.tw-st-score-poor{background:#fee2e2;color:#dc2626}
.tw-st-score-na{background:#f3f4f6;color:#9ca3af}
/* Detail card */
.tw-st-detail-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:20px}
.tw-st-detail-title{font-size:15px;font-weight:700;color:#1a1a2e;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid #f3f4f6}
.tw-st-scores{display:flex;gap:20px;justify-content:center;margin-bottom:20px;flex-wrap:wrap}
.tw-st-score-block{text-align:center}
.tw-st-circle{width:60px;height:60px;line-height:60px;border-radius:50%;font-size:20px;font-weight:700;margin:0 auto 4px}
.tw-st-circle-good{background:#dcfce7;color:#16a34a}
.tw-st-circle-avg{background:#fef3c7;color:#ca8a04}
.tw-st-circle-poor{background:#fee2e2;color:#dc2626}
.tw-st-score-name{font-size:11px;color:#6b7280}
.tw-st-cwv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:16px}
.tw-st-cwv-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:10px;text-align:center}
.tw-st-cwv-good{border-color:#bbf7d0}.tw-st-cwv-avg{border-color:#fde68a}.tw-st-cwv-poor{border-color:#fca5a5}
.tw-st-cwv-name{font-size:11px;font-weight:600;color:#6b7280;margin-bottom:4px}
.tw-st-cwv-value{font-size:16px;font-weight:700;color:#1a1a2e}
.tw-st-opp-title{font-size:13px;font-weight:700;color:#6b7280;margin-bottom:8px;text-transform:uppercase;letter-spacing:.03em}
.tw-st-opp{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid #f3f4f6;font-size:13px}
.tw-st-opp:last-child{border-bottom:none}
.tw-st-opp-name{color:#1a1a2e}
.tw-st-opp-savings{color:#ca8a04;font-weight:600;white-space:nowrap}
/* Toggle */
.tw-st-article-toggle{margin-top:16px;margin-bottom:12px}
.tw-st-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-st-toggle-btn:hover{background:#f0fdf8}
.tw-st-toggle-chevron{transition:transform .25s ease;flex-shrink:0;color:#56aea4}
.tw-st-toggle-btn.tw-st-toggle-open .tw-st-toggle-chevron{transform:rotate(180deg)}
.tw-st-h1{font-size:14px;font-weight:600;color:#56aea4;margin:0}
@media(max-width:600px){.tw-st-scores{gap:12px}.tw-st-table{font-size:11px}.tw-st-cwv-grid{grid-template-columns:repeat(2,1fr)}}
