.relationship-coach { color:#182737; padding:20px; background:#fff9ee; border:1px solid #d9c7a5; border-radius:18px; margin:20px 0; line-height:1.6; font-size:1rem; overflow-wrap:anywhere; }
.relationship-coach h2 { font-size:1.7rem; line-height:1.25; margin:0 0 8px; }
.relationship-coach h3,.coach-feedback h3 { font-size:1.2rem; line-height:1.4; }
.relationship-coach h4 { font-size:1.05rem; margin:12px 0 4px; }
.coach-controls { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:14px; }
.relationship-coach label,.coach-feedback label { display:block; margin:12px 0; font-size:1rem; }
.relationship-coach select,.relationship-coach input[type="text"],.relationship-coach textarea,.coach-feedback select,.coach-feedback textarea { display:block; width:100%; min-height:48px; padding:10px; font:inherit; color:#182737; background:#fffdf7; border:1px solid #80601f; border-radius:10px; box-sizing:border-box; }
.coach-feedback textarea { min-height:100px; }
.coach-check { display:flex!important; align-items:center; gap:10px; }
.coach-check input { width:24px; height:24px; flex-shrink:0; margin:0; }
.coach-sentence { font-size:1.1rem; margin:8px 0; }
.relationship-coach .coach-inline { display:inline; margin:0; }
.relationship-coach .coach-inline select { display:inline-block; width:auto; max-width:100%; min-height:44px; margin:4px 0; }
.coach-lead { margin:4px 0 12px; }
.coach-stem { font-weight:600; }
.coach-hint { color:#625747; font-size:.9rem; }
.coach-action { border-top:1px solid #d9c7a5; padding:18px 0; }
.coach-primary h3 { margin:0 0 6px; }
.coach-steps { margin:12px 0; }
.coach-steps dt { font-weight:700; margin-top:12px; font-size:.95rem; }
.coach-steps dd { margin:2px 0 0; }
.relationship-coach blockquote { margin:8px 0; padding:14px 16px; border-left:3px solid #80601f; background:#f2e6cc; }
.coach-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:14px; }
.relationship-coach button,.coach-feedback button { min-height:48px; white-space:normal; margin:4px 0; }
.relationship-coach summary,.coach-feedback summary { padding:12px 0; cursor:pointer; min-height:44px; }
.coach-note,.coach-small { font-size:.9rem; color:#625747; }
.coach-role,.coach-safety,.coach-adapt { padding:14px 16px; background:#f2e6cc; border-radius:12px; margin:14px 0; }
.coach-adapt { border-left:4px solid #80601f; }
.coach-adapt p { margin:0; } .coach-adapt p + p { margin-top:8px; }
.coach-evidence { font-weight:600; }
.coach-tweak { font-style:italic; }
.coach-layer { display:block; font-size:.8rem; letter-spacing:.04em; text-transform:uppercase; color:#80601f; }
.coach-theme + .coach-theme { border-top:1px solid #d9c7a5; margin-top:12px; }
.coach-obs { list-style:none; padding:0; margin:8px 0; }
.coach-obs li { padding:6px 0; border-bottom:1px solid #eadcc0; }
.coach-obs li span { display:block; color:#625747; font-size:.9rem; }
.coach-target { border:1px solid #d9c7a5; border-radius:10px; padding:4px 12px; margin:12px 0; }
.coach-target legend { padding:0 6px; font-weight:600; }
.coach-storage { margin-top:16px; }
.relationship-coach [hidden] { display:none!important; }
.relationship-coach .sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.relationship-coach :focus-visible,.coach-feedback :focus-visible { outline:3px solid #80601f; outline-offset:3px; }
.relationship-coach-host .relationship-coach { border:0; padding:0; margin:0; background:transparent; }
.relationship-coach-host .coach-save { border:1px solid #d9c7a5; padding:16px; margin-top:16px; background:#fff9ee; }
.coach-host-title { margin-top:0; }
.relationship-coach-host .coach-signs label { display:block; margin:12px 0; }
.relationship-coach-host .coach-signs select { display:block; width:100%; min-height:48px; padding:10px; font:inherit; color:#182737; background:#fffdf7; border:1px solid #80601f; border-radius:10px; box-sizing:border-box; margin-top:4px; }
.relationship-coach-host .coach-signs .coach-small { display:block; margin-top:4px; }
.relationship-coach-host .coach-signs summary { padding:12px 0; cursor:pointer; min-height:44px; }
.relationship-coach .coach-primary .kicker { font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; color:#80601f; margin:0 0 4px; }
.coach-reading { padding:12px 16px; border:1px solid #d9c7a5; border-radius:12px; margin:12px 0; background:#fffdf7; }
.coach-reading p { margin:6px 0; }
