/* The generator follows the shared page width and starts with the writing tools. */
#action-hub .editor-step:has(#opinion-lab){padding:0;border:0;background:transparent}
#action-hub .opinion-step-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.opinion-lab{min-width:0;margin:0 0 1.5rem;padding:0;background:transparent;color:#172b41}
.opinion-lab-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 16px;margin-bottom:14px}
.opinion-lab-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}
#opinion-lab h2{font-size:1.35rem;font-weight:750;line-height:1.35;margin:0;color:#172b41}
.opinion-lab-version{display:inline-flex;align-items:center;gap:5px;padding:3px 7px;border:1px solid #d4dee7;border-radius:4px;background:#f2f6f9;color:#526779;font-size:12px;font-weight:500;line-height:1.4;letter-spacing:.02em;white-space:nowrap;font-variant-numeric:tabular-nums}
.opinion-lab-version b{color:#30546a;font-weight:750}
#opinion-lab .opinion-lab-guide{grid-column:1/-1;color:#526579;line-height:1.6;margin:0;font-size:.88rem;word-break:keep-all;overflow-wrap:anywhere}
.opinion-lab button{cursor:pointer;box-sizing:border-box;min-height:44px;border-radius:6px;font:inherit;font-weight:700;transition:background .15s,border-color .15s}
.opinion-lab button:disabled{cursor:not-allowed;opacity:.55}
.opinion-lab-generate{background:#19354f;border:1px solid #19354f;color:#fff;padding:10px 20px;min-height:46px;white-space:nowrap}
.opinion-lab-generate:hover:not(:disabled){background:#2b4e6c;border-color:#2b4e6c}
#opinion-lab-reward{margin-top:14px}
#opinion-lab-reward .generation-reward-count{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;color:#526579;font-size:14px;line-height:1.5;word-break:keep-all}
#opinion-lab-reward .generation-reward-count strong{color:#30546a;font-weight:650;font-variant-numeric:tabular-nums}
#opinion-lab .opinion-lab-status{margin:0 0 10px;color:#526579;font-size:.88rem;line-height:1.5;overflow-wrap:anywhere}
#opinion-lab .opinion-lab-status:empty{display:none}
#opinion-lab .opinion-lab-status.error{color:#a52929}
.opinion-lab-result{min-width:0}
.opinion-lab-result label{display:block;font-weight:650;margin-bottom:8px;color:#2c4358;font-size:.9rem;overflow-wrap:anywhere}
#opinion-lab-body{display:block;box-sizing:border-box;width:100%;min-width:0;min-height:360px;resize:vertical;overflow-y:hidden;background:#fff;color:#16243a;border:1px solid #bccbd7;border-radius:8px;padding:18px 20px;font:inherit;font-size:1rem;line-height:1.75}
#opinion-lab-body::placeholder{color:#718292}
#opinion-lab-body:focus-visible,.opinion-lab button:focus-visible,.opinion-lab a:focus-visible{outline:3px solid #2d8da6;outline-offset:2px}
.opinion-lab-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:10px}
.opinion-lab-actions button{border:1px solid #bccbd7;background:#f5f8fa;color:#21415b;padding:10px 16px}
.opinion-lab-actions button:hover:not(:disabled){background:#e9f0f5}
.opinion-lab-actions button:disabled{border-color:#d4dee7;background:#f5f8fa;color:#6b7e8f;opacity:1}
#action-hub .opinion-lab-actions button:disabled{opacity:1}
.opinion-lab-sources{display:grid;gap:10px;margin-top:14px}
.opinion-lab-sources[hidden]{display:none}
.opinion-lab-sources article{min-width:0;border:1px solid #d4dee7;border-radius:6px;padding:14px;background:#f7f9fb;line-height:1.55;overflow-wrap:anywhere}
.opinion-lab-sources a,#action-hub #opinion-lab .opinion-lab-sources a{color:#21597c;text-decoration:underline;text-underline-offset:2px}
#opinion-lab .opinion-lab-sources p{color:#526579;font-size:.88rem;margin:.4rem 0}
.opinion-lab-sources small{color:#61768a}
@media(max-width:650px){
 .opinion-lab-head{grid-template-columns:minmax(0,1fr);gap:10px;margin-bottom:12px}
 .opinion-lab-meta{gap:8px}
 #opinion-lab h2{font-size:1.25rem}
 .opinion-lab-generate{width:100%}
 #opinion-lab .opinion-lab-guide{grid-column:1}
 #opinion-lab-body{min-height:320px;padding:14px;font-size:1rem}
 .opinion-lab-actions button{flex:1}
}

@media(max-width:900px){body.v6 #action-hub .action-work:has(#opinion-lab) .step-nav button{font-size:16px;padding:8px 5px;gap:5px;white-space:nowrap}}
@media(max-width:360px){body.v6 #action-hub .action-work:has(#opinion-lab) .step-nav button{flex-direction:column;align-items:center;font-size:14px;line-height:1.4;padding:8px 4px;gap:2px;min-height:60px}}
