.family-workshop { margin: 28px 0; }
.family-workshop h2, .family-workshop h3 { font-family: Fraunces, Georgia, serif; color: #173f35; }
.family-workshop h2 { font-size: clamp(1.7rem, 3vw, 2.6rem); }
.family-workshop .tool-intro { max-width: 70ch; color: #52625b; line-height: 1.7; }
.family-workshop .tool-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 290px), 1fr)); gap: 20px; margin-top: 22px; }
.family-workshop .tool-card { background: #fffdf7; border: 1px solid #ddcfb1; border-radius: 22px; padding: clamp(18px, 3vw, 28px); box-shadow: 0 12px 35px #173f3508; min-width: 0; }
.family-workshop .tool-card p { line-height: 1.65; color: #52625b; }
.family-workshop .tool-card h3 { margin: 6px 0 14px; font-size: 1.4rem; }
.family-workshop form { display: grid; gap: 18px; max-width: 800px; }
.family-workshop label { display: grid; gap: 7px; font-weight: 700; }
.family-workshop :is(input, select, textarea) { width: 100%; box-sizing: border-box; min-height: 48px; padding: 12px; border: 1px solid #b6b9a8; border-radius: 12px; background: white; color: #173f35; font: inherit; }
.family-workshop .tool-status { min-height: 1.5em; line-height: 1.5; color: #962d30; }
.family-workshop .tool-status.success { color: #173f35; }
.family-workshop .tool-meta { font-size: .85rem; letter-spacing: .04em; color: #785e33; }
.family-workshop .tool-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; align-items: center; }
.family-workshop .tool-actions > * { max-width: 100%; }
.family-workshop .tool-card.done { border-color: #597b54; background: #eff4e8; }
.family-workshop .tool-badge { display: inline-block; padding: 8px 12px; background: #173f35; color: #fff4d8; border-radius: 24px; font-weight: 800; font-size: .85rem; }
.family-workshop .tool-score { padding: 18px 22px; background: #173f35; color: #fff5da; border-radius: 18px; line-height: 1.7; }
.family-workshop .tool-score strong { font-size: 1.6rem; }
.family-workshop .tool-empty { border: 1px dashed #b28c45; border-radius: 16px; padding: 22px; line-height: 1.7; }
.family-workshop .tool-delete { background: transparent; color: #962d30; padding: 12px; border: 0; cursor: pointer; font: inherit; text-decoration: underline; }
.family-workshop a:focus-visible, .family-workshop button:focus-visible { outline: 3px solid #b28c45; outline-offset: 4px; }
.family-workshop button:disabled { opacity: .6; cursor: wait; }
.family-workshop :is(h2,h3,p,a) { overflow-wrap: anywhere; }
.tool-nav { font-size: .9rem; }
.sidebar { overflow-y: auto; overflow-x: hidden; }
@media (max-width: 1050px) { .sidebar { overflow: visible; } }
body[data-connection="error"] form button[type="submit"] { opacity: .5; }
.profile-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 14px; }
.profile-editor { margin-top: 20px; padding: 20px; border: 1px solid #ddcfb1; border-radius: 18px; }
@media (max-width: 600px) { .family-workshop .tool-grid { grid-template-columns: 1fr; } .family-workshop .tool-actions { align-items: stretch; flex-direction: column; } }
