:root { color-scheme:light; }
.directory-link { font-weight:700; color:var(--mint-dark) !important; }
.family-hero { padding-block:22px 18px; }
.family-topline { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:12px; }
.breadcrumb { margin:0; font-size:.8rem; color:var(--muted); }
.family-picker { display:flex; gap:9px; align-items:center; font-size:.8rem; color:var(--muted); }
.family-picker select { width:auto; max-width:235px; min-height:38px; font-size:.85rem; }
.family-hero h1 { font-size:clamp(1.8rem,3.8vw,2.8rem); }
.family-hero .lede { max-width:850px; }
.feature-list { display:flex; flex-wrap:wrap; gap:7px 18px; margin:13px 0 0; padding:0; list-style:none; color:var(--mint-dark); font-size:.82rem; }
.feature-list li::before { content:'✓'; margin-right:5px; }
.family-workspace { margin-bottom:45px; }
.family-workspace .tool-shell { overflow:visible; }
.family-workspace .tool-panel { padding:24px; }
.workbench-heading { display:flex; gap:12px; justify-content:space-between; align-items:baseline; margin-bottom:18px; }
.workbench-heading h2 { font-size:1.12rem; }
.local-badge { font-size:.76rem; color:var(--muted); }
.field { display:grid; gap:7px; min-width:0; font-size:.85rem; color:#354b54; }
.field > span { display:block; }
.field input:not([type='checkbox']),.field textarea,.field select,.tool-form > input,.tool-form > select,.tool-form > textarea { width:100%; min-width:0; min-height:44px; border:1px solid var(--line-strong); border-radius:8px; padding:10px 12px; background:#fff; color:var(--ink); font:400 16px/1.45 Helvetica,Arial,sans-serif; }
.tool-form label:not(.check-label):not(.drop-zone) { font-size:.85rem; }
.tool-form textarea { min-height:148px; font:400 16px/1.5 Helvetica,Arial,sans-serif; }
.tool-form input[type='file'] { max-width:100%; border:1px dashed var(--line-strong); background:#fafcfb; padding:14px; border-radius:8px; font-size:.88rem; }
.tool-form input[type='file']::file-selector-button { border:1px solid var(--line-strong); border-radius:6px; padding:8px 10px; margin-right:10px; background:#fff; color:var(--ink); cursor:pointer; }
.tool-form input[type='range'] { width:100%; }
.tool-form label:has(input[type='checkbox']) { display:flex; gap:8px; align-items:center; font-size:.85rem; }
.tool-form input[type='checkbox'] { min-height:20px; width:18px; height:18px; accent-color:var(--mint-dark); }
.tool-form .field-grid { align-items:start; }
.tool-form fieldset { min-width:0; border:1px solid var(--line); border-radius:9px; padding:14px; margin:0; }
.tool-form legend { color:var(--muted); padding-inline:5px; font-size:.8rem; }
.tool-form h2 { font-size:1.15rem; line-height:1.25; margin:0; }
#tool-controls > .tool-form + .tool-form { margin-top:26px; padding-top:24px; border-top:1px solid var(--line); }
.tool-form .actions,.tool-actions,.button-row { display:flex; flex-wrap:wrap; align-items:center; gap:9px; }
.tool-form .hint { font-size:.8rem; line-height:1.5; }
.tool-form output,.tool-form pre { max-width:100%; white-space:pre-wrap; overflow-wrap:anywhere; }
.tool-form audio { display:block; width:100%; max-width:100%; }
.tool-form video { display:block; width:100%; max-height:340px; background:#f2f5f6; border-radius:9px; }
.scope-note { margin:19px 0 0; padding-top:14px; border-top:1px solid var(--line); font-size:.8rem; color:var(--muted); line-height:1.5; }
.scope-note strong { color:var(--ink); font-weight:500; }
.family-workspace .ad-in-tool { margin:24px; }
.page-results h2 { font-size:1.25rem; }
.page-results #page-status { margin-top:10px; }
.page-results #page-output { display:grid; gap:14px; }
.toolkit-result { min-width:0; }
.toolkit-result h3 { margin-bottom:9px; font-size:1.03rem; letter-spacing:-.02em; }
.toolkit-result > p { white-space:pre-line; }
.toolkit-result > .button { display:inline-flex; width:auto; align-items:center; justify-content:center; max-width:100%; min-height:44px; margin:9px 8px 0 0; text-decoration:none; overflow-wrap:anywhere; }
.toolkit-result > .download-link { display:flex; }
.output-text { max-height:400px; overflow:auto; white-space:pre-wrap; overflow-wrap:anywhere; padding:14px; border-radius:7px; background:#f5f7f8; color:#263b45; font:13px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace; }
.output-image { display:block; max-width:100%; max-height:350px; object-fit:contain; margin-block:14px; border-radius:6px; background:#f5f7f8; }
.directory-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-block:24px 40px; }
.directory-card { display:flex; flex-direction:column; gap:11px; min-width:0; padding:23px; border:1px solid var(--line); border-radius:12px; color:var(--ink); text-decoration:none; background:#fff; }
.directory-card:hover { border-color:var(--mint-dark); background:#f8fcfa; color:var(--ink); }
.directory-card:focus-visible { outline:3px solid var(--orange); outline-offset:3px; }
.directory-card-top { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.directory-card h2 { font-size:1.25rem; letter-spacing:-.025em; }
.directory-card p { margin:0; color:var(--muted); font-size:.88rem; line-height:1.55; }
.directory-number { color:#7b8b93; font-size:.76rem; }
.directory-card small { color:var(--mint-dark); font-size:.78rem; margin-top:auto; }
.directory-card .arrow { font-size:1.3rem; color:var(--mint-dark); }
.directory-section h2 { font-size:1.35rem; }
.bonus-tools { border-top:1px solid var(--line); padding:20px 0 35px; color:var(--muted); font-size:.9rem; }
.directory-intro { margin-bottom:10px; }
.quick-category-links { display:flex; gap:9px 15px; flex-wrap:wrap; font-size:.82rem; margin-top:14px; }
.quick-category-links a { color:var(--mint-dark); }
@media (max-width:760px) {
 .family-topline { align-items:flex-start; flex-direction:column; gap:12px; }
 .family-picker { width:100%; justify-content:space-between; }.family-picker select { max-width:72%; flex:1; }
 .family-hero { padding-block:18px 16px; }.family-hero h1 { font-size:1.7rem; }.family-hero .lede { font-size:.88rem; }.feature-list { font-size:.77rem; gap:6px 13px; }
 .family-workspace .tool-panel { padding:18px 16px; }.family-workspace .ad-in-tool { margin:22px 16px; }
 .workbench-heading { display:block; }.local-badge { display:block; margin-top:5px; }.scope-note { font-size:.76rem; }
 .directory-grid { grid-template-columns:minmax(0,1fr); gap:12px; margin-top:18px; }.directory-card { padding:19px; }
 .site-header nav a:nth-child(4) { display:inline; }.site-header nav { gap:12px; }.site-header nav a { font-size:.75rem; }
}

.instagram-result video { display:block; width:100%; max-width:480px; max-height:560px; background:#f5f5f5; border-radius:8px; margin:16px auto; }
.instagram-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }
.instagram-caption { white-space:pre-wrap; overflow-wrap:anywhere; max-height:180px; overflow:auto; font-size:16px; }
#social-instagram-results { min-width:0; }
#social-instagram-results:empty { display:none; }
#social-instagram-status { margin-top:14px; }

@media (max-width:760px) { .site-header nav a[href^="social-tools.html"] { display:inline; } }
