.tool-intro { margin: 0 0 24px; padding: 24px; border-radius: 18px; background: #edf8f5; border: 1px solid #cde9e2; }
.tool-result-summary { padding: 22px; margin: 20px 0; border: 1px solid #b8dfd5; border-radius: 16px; background: #f2faf7; color: #274c42; line-height: 1.8; overflow-wrap: anywhere; }
.tool-result-summary h3 { margin: 0 0 12px; font-size: 21px; }
.tool-result-summary ul { padding-left: 22px; margin: 8px 0; }
.tool-result-summary .tool-result-action { font-weight: 600; margin: 16px 0 8px; }
.tool-result-summary .small { font-size: 13px; color: #566d65; margin-bottom: 0; }
.tool-result-summary[data-state="error"] { border-color: #e1b9ae; background: #fff4ef; color: #873c2a; }
.campaign-requirements { grid-column: 1 / -1; }
.campaign-requirements-fields { padding: 18px; display: grid; gap: 14px; }
.campaign-requirements-fields textarea { display: block; width: 100%; box-sizing: border-box; margin-top: 8px; padding: 12px; border: 1px solid #d5e3de; border-radius: 10px; font: inherit; }
.campaign-requirements-fields input { width: auto; accent-color: #087969; }
.tool-result-summary h4 { margin: 22px 0 8px; }
.tool-result-summary li p { margin: 3px 0 14px; font-size: 14px; }
.tool-intro h2 { margin: 0 0 10px; font-size: clamp(21px, 2vw, 28px); color: #163c39; line-height: 1.4; }
.tool-intro p { margin: 0; color: #486664; font-size: 15px; line-height: 1.8; max-width: 850px; }
.tool-details { margin: 16px 0; border: 1px solid #dbe5ec; border-radius: 14px; background: #fff; overflow: hidden; }
.tool-details > summary { padding: 17px 20px; color: #38536b; font-weight: 600; cursor: pointer; min-height: 48px; }
.tool-details > summary:hover { background: #f4f8fa; }
.tool-details > summary:focus-visible { outline: 3px solid #008b7a; outline-offset: -4px; }
.tool-details[open] > summary { border-bottom: 1px solid #e2ebef; }
.tool-details > .panel { margin: 0; box-shadow: none; border: 0; }
.tool-details > .panel-grid, .tool-details > .diagnostic-list, .tool-details > .inline-fields { margin: 0; padding: 20px; }
.tool-details > .tool-extra-actions, .tool-details > .place-live-controls, .tool-details > .publish-scope-note, .tool-details > .draft-history, .tool-details > .published-history { padding: 20px; margin: 0; }
.tool-metric-details { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 14px; padding: 18px; }
.tool-operation-status { padding: 12px 16px; margin: 20px 0 8px; color: #52677c; background: #f3f7fa; border-radius: 10px; font-size: 14px; line-height: 1.7; overflow-wrap: anywhere; }
.tool-operation-status.is-error { color: #9b3030; background: #fff1ef; border: 1px solid #f0ceca; white-space: pre-wrap; }
.tool-next-actions { border-color: #b7e3d6 !important; background: #f5fcf9 !important; }
.tool-advice-list { padding-left: 24px; margin: 0; display: grid; gap: 18px; }
.tool-advice-list strong { color: #175347; font-size: 17px; }
.tool-advice-list p { color: #425b68; margin: 6px 0 0; line-height: 1.8; font-size: 15px; }
.tool-strength { margin: 0 0 24px; padding: 16px; color: #2a6254; background: #e6f5ef; border-radius: 12px; line-height: 1.8; }
.tool-table-toggle { display: block; margin: 14px 0; color: #506478; font-size: 14px; cursor: pointer; }
.tool-simple-table :is(th, td):nth-child(3), .tool-simple-table :is(th, td):nth-child(4), .tool-simple-table :is(th, td):nth-child(5), .tool-simple-table :is(th, td):nth-child(6) { display: none; }
.tool-simple-table details summary { cursor: pointer; color: #806025; }
.simple-tool-page .glass-grid { gap: 16px; }
.simple-tool-page .glass-value { font-size: clamp(24px, 2.2vw, 34px); }
.simple-tool-page .panel-head h3 { font-size: 18px; }
.simple-tool-page .output { max-height: 400px; overflow: auto; }
.dashboard-start-flow { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 24px 0 30px; }
.dashboard-start-card { padding: 24px; border: 1px solid #d4e8e2; border-radius: 18px; background: #f5fcf9; }
.dashboard-start-card h3 { color: #163e37; margin: 0 0 10px; font-size: 20px; }
.dashboard-start-card p { color: #526a74; margin: 0 0 20px; line-height: 1.8; }
@media (max-width: 760px) { .dashboard-start-flow { grid-template-columns: 1fr; } .tool-intro { padding: 18px; } .tool-details > summary { padding: 16px; } }
.dashboard-analysis-overview { padding: 24px; border: 1px solid #cfe6df; border-radius: 20px; background: #fff; margin-bottom: 32px; }
.dashboard-analysis-overview h2 { margin: 4px 0 12px; font-size: 26px; color: #173e37; }
.dashboard-blog-picker { display: flex; align-items: center; gap: 12px; color: #4e6570; }
.dashboard-blog-picker select { max-width: 440px; padding: 12px; border: 1px solid #d8e5e8; border-radius: 10px; flex: 1; min-width: 0; }
.dashboard-analysis-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 22px 0; }
.dashboard-analysis-summary article { padding: 22px; border-radius: 16px; background: #eff8f5; }
.dashboard-analysis-summary article > span { color: #557367; font-size: 14px; }
.dashboard-analysis-summary strong { display: block; margin: 12px 0; color: #176654; font-size: 32px; }
.dashboard-analysis-summary p { font-size: 13px; color: #5b736b; line-height: 1.6; margin: 0; }
.dashboard-connect-body { padding: 20px; }
.dashboard-connect-body form { display: flex; align-items: end; gap: 12px; }
.dashboard-connect-body label { flex: 1; }
.dashboard-connect-body input { display: block; padding: 12px; margin-top: 10px; width: 100%; box-sizing: border-box; border: 1px solid #d8e5e8; border-radius: 10px; }
.analysis-card-deck { min-width: 0; padding: 18px; }
.analysis-card-controls { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 16px; }
.analysis-card-controls span { color: #587366; font-size: 14px; font-weight: 600; }
.analysis-card-rail { display: grid; grid-auto-flow: column; grid-auto-columns: 100%; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; position: relative; border-radius: 16px; }
.analysis-slide { min-width: 0; box-sizing: border-box; padding: 26px; background: #f4faf7; border: 1px solid #d4e8df; border-radius: 16px; scroll-snap-align: start; scroll-snap-stop: always; overflow-wrap: anywhere; }
.analysis-slide h3 { font-size: 23px; color: #214d3e; margin: 10px 0 18px; line-height: 1.5; }
.analysis-slide p, .analysis-slide li { color: #546c66; line-height: 1.9; }
.analysis-card-kicker { color: #19806a; font-size: 13px; font-weight: 700; }
.analysis-slide dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 24px 0; }
.analysis-slide dt { color: #526b60; font-size: 14px; }
.analysis-slide dd { font-size: 30px; font-weight: 700; color: #225b48; margin: 12px 0; }
.analysis-slide > .panel { margin: 0; box-shadow: none; }
.analysis-slide > .panel-grid { grid-template-columns: 1fr; }
.analysis-slide > .tool-extra-actions { padding: 12px; }
.writer-profile-details > summary, .writer-request-options > summary { padding: 16px 20px; cursor: pointer; color: #3f6255; font-weight: 600; }
.writer-profile-details:not([open]) { padding: 0; box-shadow: none; }
.writer-simple-topic, .writer-request-options { grid-column: 1 / -1; }
.writer-simple-topic textarea { min-height: 120px; font-size: 16px; line-height: 1.8; resize: vertical; }
.writer-request-options { border: 1px solid #dce7e2; border-radius: 12px; background: #f9fcfa; }
.writer-option-fields { display: grid; gap: 16px; padding: 20px; }
.writer-profile-details > summary:focus-visible, .writer-request-options > summary:focus-visible { outline: 3px solid #008b7a; outline-offset: -3px; }
.writer-style-summary { padding: 18px 22px; border: 1px solid #d6e8e0; border-radius: 14px; background: #f6fbf8; margin: 18px 0; }
.writer-style-summary h3 { margin: 0 0 10px; color: #245d49; }
.writer-style-summary p { line-height: 1.8; }
.writer-style-traits { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; }
.writer-style-traits li { padding: 6px 10px; border-radius: 8px; background: #e1f2e9; color: #356450; font-size: 13px; }
.writer-style-settings summary { cursor: pointer; color: #3e6857; padding: 10px 0; }
.writer-style-settings label { display: block; font-size: 14px; line-height: 1.8; }
.writer-style-settings .btn { margin: 10px 8px 0 0; }
.writer-candidate-comparison { margin: 24px 0; padding: 22px; border: 1px solid #cde3da; border-radius: 18px; }
.writer-candidate-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin: 20px 0; }
.writer-candidate-card { padding: 18px; background: #f4faf7; border: 1px solid #d9e7df; border-radius: 14px; min-width: 0; }
.writer-candidate-card h4 { color: #245b47; margin: 0 0 14px; }
.writer-candidate-card textarea { width: 100%; box-sizing: border-box; padding: 12px; border: 1px solid #d1ded7; border-radius: 10px; font: inherit; font-size: 14px; line-height: 1.8; resize: vertical; }
.writer-candidate-card label { display: block; margin: 12px 0; }
.writer-candidate-card .btn[aria-pressed="true"] { background: #176b53; color: white; }
@media (max-width: 900px) { .writer-candidate-grid { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .dashboard-analysis-overview { padding: 18px; } .dashboard-analysis-summary { grid-template-columns: 1fr; gap: 10px; } .dashboard-analysis-summary article { padding: 16px; } .dashboard-connect-body form { flex-direction: column; align-items: stretch; } .analysis-card-deck { padding: 12px; } .analysis-slide { padding: 18px; } .analysis-slide h3 { font-size: 20px; } }
.writer-choice-group { border: 0; padding: 0; margin: 0 0 14px; display: flex; gap: 8px; flex-wrap: wrap; }
.writer-choice-group legend { font-weight: 700; margin-bottom: 8px; }
.writer-choice-group label { display: inline-flex; align-items: center; gap: 6px; padding: 9px 14px; border: 1px solid #dce7ee; border-radius: 999px; cursor: pointer; }
.writer-choice-group label:has(input:checked) { background: #e0f5ef; border-color: #0aab90; color: #087969; }
.writer-choice-group input, .writer-personal-option input { width: auto; accent-color: #0aab90; }
.writer-choice-group label:focus-within { outline: 2px solid #087969; outline-offset: 2px; }
.writer-personal-option { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
