/* Abspecken discovery; layout is scoped to the new components. */
.abs-home { align-items:start; }
.abs-home .home-grid__main { display:grid;gap:12px;min-width:0; }
.abs-home .content-card { margin:0; }
.abs-home-aside { display:grid;gap:12px; }
.abs-home-aside h2 { font:750 1.08rem/1.4 var(--font-ui);margin:4px 0 14px; }
.abs-home-aside p:not(.widget-kicker) { font-size:.94rem;line-height:1.6; }
.abs-home-hero { padding:24px; }
.abs-home-hero h1 { margin:0;font-family:var(--font-display);font-size:clamp(1.7rem,2.4vw,2.25rem);line-height:1.2;font-weight:600; }
.abs-home-hero > p:not(.widget-kicker) { font-size:1rem;line-height:1.6;margin:14px 0; }
.abs-hero-search { margin:18px 0 12px;padding:12px;background:#f0f6fb;border:1px solid #cbddea;border-radius:12px; }
.abs-hero-search .search-form { display:flex;align-items:stretch;gap:8px;margin:0; }
.abs-hero-search label { flex:1;min-width:0; }
.abs-hero-search .search-field { width:100%;height:48px;min-width:0;margin:0;font:400 1rem/1.4 var(--font-ui); }
.abs-hero-search .search-submit { min-height:48px;margin:0; }
.abs-hero-actions { display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;margin-top:12px;font-size:.94rem; }
.abs-home .section-card > h2,.abs-calculator h2 { margin:4px 0 16px;font:750 1.22rem/1.35 var(--font-ui); }
.abs-topic-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
.abs-topic-grid .topic-card { padding:14px;background:#f5f8fb;box-shadow:none;border-color:#d7e3ed; }
.abs-topic-grid .topic-card strong { font-size:1.04rem; }
.abs-topic-grid .topic-card span { font-size:.88rem;line-height:1.5; }
.abs-section-link { display:inline-flex;min-height:44px;align-items:center;margin-top:10px;font-size:.94rem; }
.abs-tool-cards { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
.abs-tool-cards > a { display:flex;align-items:flex-start;flex-direction:column;gap:8px;padding:18px;border:1px solid #caddeb;border-radius:12px;background:#f2f7fc;text-decoration:none; }
.abs-tool-cards strong { font:750 1.08rem/1.35 var(--font-ui); }
.abs-tool-cards span:not(.abs-tool-icon),.abs-tool-cards b { font-size:.9rem;line-height:1.5; }
.abs-tool-cards b { margin-top:auto;padding-top:8px; }
.abs-tool-icon { display:flex;align-items:center;justify-content:center;min-width:52px;height:42px;padding:8px;background:white;border:1px solid #caddeb;border-radius:10px;font:750 1rem/1 var(--font-ui); }
.abs-community-list { display:grid;gap:14px; }
.abs-community-entry { padding:0 0 16px;border-bottom:1px solid var(--line);min-width:0; }
.abs-community-entry:last-child { border:0;padding-bottom:0; }
.abs-community-entry h3 { font:750 1.08rem/1.4 var(--font-ui);margin:5px 0; }
.abs-community-entry p:not(.abs-entry-meta) { font-size:.98rem;line-height:1.6;margin:8px 0; }
.abs-entry-meta,.abs-community-entry > a { font:400 .82rem/1.5 var(--font-ui);color:var(--muted);margin:0; }
.abs-community-note { background:#f1f6fb;border-left:3px solid var(--brand);padding:12px;font:.9rem/1.6 var(--font-ui); }
.abs-home-ad { min-height:250px;overflow:hidden; }
.abs-feedback { display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:18px;margin:12px 0;font:.94rem/1.5 var(--font-ui); }
.abs-feedback p { font-size:.86rem;margin:4px 0 0; }
.abs-feedback > a { font-size:.88rem; }
.abs-feedback [data-abs-helpful-count] { display:inline-block;min-width:2ch; }
.abs-feedback [aria-pressed="true"] { background:var(--brand);color:#fff; }
.abs-feedback [role="status"] { flex-basis:100%; }
.abs-panel[hidden],.abs-backdrop[hidden] { display:none!important; }
.abs-backdrop { position:fixed;inset:0;background:rgba(20,35,49,.48);z-index:1100; }
.abs-panel { display:flex;flex-direction:column;position:fixed;z-index:1200;top:50%;left:50%;transform:translate(-50%,-50%);width:min(620px,calc(100% - 28px));max-height:calc(100dvh - 40px);border:1px solid #d5e0e9;border-radius:18px;background:var(--paper,#fffdf9);box-shadow:0 20px 60px #162d4440;overflow:hidden;font:400 1rem/1.6 var(--font-ui); }
.abs-panel__head { display:flex;align-items:center;justify-content:space-between;flex:none;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line);background:var(--paper,#fffdf9); }
.abs-panel__head h2 { margin:0;font:750 1.2rem/1.3 var(--font-ui); }
.abs-panel__head .widget-kicker { font-size:.7rem; }
.abs-panel__head button { flex:none;width:44px;height:44px;padding:0;border:1px solid #cad8e4;border-radius:50%;background:#fff;color:var(--brand);font:24px/1 Arial,sans-serif;box-shadow:none; }
.abs-panel__body { min-height:0;overflow:auto;overscroll-behavior:contain;padding:16px 18px calc(20px + env(safe-area-inset-bottom,0px)); }
.abs-panel__body .live-search-results { position:static;margin-top:10px;max-height:none;transform:none;width:100%; }
.abs-panel__body .search-form { display:flex;gap:8px;flex-wrap:wrap; }
.abs-panel__body .search-form label { flex:1;min-width:160px; }
.abs-panel__body .search-field { width:100%; }
.abs-panel__body .search-submit { min-height:44px; }
.abs-panel-links { display:grid;gap:8px;margin-bottom:12px; }
.abs-panel-links a { display:flex;flex-direction:column;justify-content:center;min-height:48px;padding:12px;border:1px solid #d6e0e8;border-radius:10px;text-decoration:none;background:#f8fafc; }
.abs-panel-links a span { font-size:.86rem;color:var(--muted); }
.abs-legal-links { display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:20px; }
.abs-legal-links a { display:inline-flex;align-items:center;min-height:44px;font-size:.85rem; }
.abs-contribute { display:grid;gap:8px; }
.abs-contribute label { font-weight:700;font-size:.94rem;margin-top:8px; }
.abs-contribute input,.abs-contribute textarea,.abs-contribute select { width:100%;min-height:44px;margin:0;font:400 1rem/1.5 var(--font-ui);padding:10px 12px;border:1px solid #c7d5e0;border-radius:10px;background:white;color:var(--ink); }
.abs-contribute textarea { resize:vertical;min-height:140px; }
.abs-contribute small { font-size:.8rem;line-height:1.5;color:var(--muted); }
.abs-contribute > button { margin-top:12px;min-height:48px; }
.abs-type-switch { display:flex;gap:8px;margin-bottom:4px; }
.abs-type-switch button { flex:1;min-height:44px;border:1px solid #cad9e5;border-radius:10px;background:white;color:var(--brand);font:700 .9rem/1.3 var(--font-ui);padding:8px;box-shadow:none; }
.abs-type-switch [aria-pressed="true"] { background:var(--brand);color:#fff; }
.abs-honeypot { position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%); }
.abs-dock { display:none; }
.abs-dock,.abs-dock * { box-sizing:border-box; }
.abs-panel :focus-visible,.abs-dock :focus-visible,.abs-calculator :focus-visible { outline:2px solid var(--brand);outline-offset:3px; }
.abs-tool-jumps { display:flex;flex-wrap:wrap;gap:8px; }
.abs-tool-jumps a { min-height:44px;display:inline-flex;align-items:center;border:1px solid #cbdce9;border-radius:20px;padding:4px 14px;background:#f1f6fb;font-size:.92rem; }
.abs-tools-page .sidebar-layout__main { display:grid;align-content:start;gap:12px;min-width:0; }
.abs-tools-page .sidebar-layout__main > * { margin:0; }
.abs-tools-page .sidebar-layout__aside { gap:12px; }
.abs-tools-page .sidebar-layout__aside > * { margin:0; }
.abs-tools-page .archive-header { padding:18px 22px; }
.abs-tools-page .archive-header .widget-kicker { margin:0 0 6px; }
.abs-tools-page .archive-header > p:not(.widget-kicker) { margin:10px 0 12px;font:.96rem/1.6 var(--font-ui); }
.abs-tool-jumps a { text-decoration:none;box-shadow:none; }
.abs-calculator { scroll-margin-top:80px;padding:22px;border:1px solid #d7e2eb;border-radius:14px;box-shadow:0 5px 18px #193b5705; }
.abs-calculator__header { display:flex;align-items:center;gap:12px; }
.abs-calculator__header .widget-kicker { margin:0 0 3px;font-size:.72rem; }
.abs-calculator .abs-calculator__header h2 { margin:0;font:750 1.25rem/1.3 var(--font-ui); }
.abs-calculator__icon { display:flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;border:1px solid #cadce9;border-radius:12px;color:var(--brand);background:#eef5fb; }
.abs-calculator__icon svg { width:25px;height:25px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round; }
.abs-calculator .abs-calc-intro { margin:12px 0 18px;font:.91rem/1.55 var(--font-ui);color:#546779;max-width:78ch; }
.abs-calc-workspace { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));align-items:start;gap:20px; }
.abs-calc-inputs { min-width:0; }
.abs-calc-fields { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:12px;margin:0; }
.abs-calc-fields label { display:flex;flex-direction:column;gap:6px;min-width:0;font:650 .9rem/1.4 var(--font-ui); }
.abs-calc-fields input,.abs-calc-fields select { width:100%;min-width:0;min-height:46px;margin:0;border:1px solid #bdcedd;border-radius:10px;background:#fff;color:var(--ink);font:400 1rem/1.4 var(--font-ui);padding:10px 12px; }
.abs-calc-wide { grid-column:1/-1; }
.abs-calc-actions { margin-top:14px; }
.abs-calculator .abs-calc-actions .button { min-height:46px;margin:0;box-shadow:none; }
.abs-calculator .abs-calc-error { min-height:20px;margin:6px 0 0;color:#9a273a;font:.85rem/1.45 var(--font-ui); }
.abs-calc-result { min-width:0;min-height:202px;padding:18px 20px;border:1px solid #cedeea;border-radius:12px;background:linear-gradient(135deg,#edf5fc,#f8fbfd);color:#234b6e;font-family:var(--font-ui); }
.abs-calculator .abs-result-label { margin:0 0 12px;font:750 .78rem/1.4 var(--font-ui);color:#5c7489; }
.abs-result-metric { display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;margin:0; }
.abs-result-metric strong { display:block;font:750 clamp(2.5rem,4vw,3rem)/1.05 var(--font-ui);letter-spacing:-.045em;font-variant-numeric:tabular-nums; }
.abs-result-metric > span { font-size:.85rem;color:#5c7489;white-space:nowrap; }
.abs-calculator .abs-result-caption { min-height:24px;margin:12px 0 4px;font:750 .95rem/1.5 var(--font-ui); }
.abs-calculator .abs-result-hint { min-height:40px;margin:0;font:.83rem/1.5 var(--font-ui);color:#5c7184; }
.abs-calc-result.is-calculated { border-color:#9fbfd7; }
#bmi .abs-calc-result { min-height:182px; }
#bmi .abs-result-hint { min-height:20px; }
[data-abs-calculator="calories"] .abs-result-caption { min-height:46px; }
.abs-calculator .abs-result-facts { display:grid;gap:8px;margin:12px 0 0;padding-top:12px;border-top:1px solid #d2e0eb;font:.84rem/1.4 var(--font-ui); }
.abs-result-facts > div { display:flex;align-items:baseline;justify-content:space-between;gap:10px; }
.abs-result-facts dt { color:#5c7184; }
.abs-result-facts dd { margin:0;font-weight:750;font-variant-numeric:tabular-nums; }
.abs-calculator .abs-tool-note { margin:14px 0 12px;color:#627080;font:.85rem/1.55 var(--font-ui); }
.abs-calc-footer { display:flex;align-items:flex-start;flex-wrap:wrap;gap:8px 16px;padding-top:10px;border-top:1px solid var(--line); }
.abs-calculator details { flex:1;min-width:190px;margin:0;padding:0;border:0;font:.86rem/1.6 var(--font-ui); }
.abs-calculator details p { margin:10px 0;font-size:inherit; }
.abs-calculator summary { display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer;color:var(--brand);font-weight:650;list-style:none; }
.abs-calculator summary::-webkit-details-marker { display:none; }
.abs-calculator summary::after { content:'⌄';font-size:1.1rem; }
.abs-calculator details[open] summary::after { content:'⌃'; }
.abs-calculator details[open] summary { margin-bottom:8px; }
.abs-calculator .abs-calc-formula { display:grid;gap:4px;padding:12px;border:1px solid #d6e3ee;border-radius:10px;background:#f4f8fc;overflow-wrap:anywhere; }
.abs-calc-formula > strong { color:#234b6e;font-size:.82rem; }
.abs-calc-sources { display:grid;gap:8px;margin:12px 0 4px; }
.abs-calc-sources > a { display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:10px 12px;border:1px solid #cbdce9;border-radius:10px;background:#f8fafc;color:var(--brand);font:.85rem/1.4 var(--font-ui);text-decoration:none;overflow-wrap:anywhere; }
.abs-calc-sources > a:hover { background:#eaf3fa;border-color:#9fbfd7; }
.abs-calc-sources > a > span:first-child { display:grid;gap:3px;min-width:0; }
.abs-calc-sources small { color:#546779;font-size:.78rem; }
.abs-calc-sources > a > span:last-child { flex:none;font-size:1.15rem; }
.abs-calculator .abs-calc-guide { display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:8px 12px;border:1px solid #cbdce9;border-radius:10px;background:#f5f9fc;color:var(--brand);font:650 .86rem/1.4 var(--font-ui);text-decoration:none; }
.abs-calculator .abs-calc-guide:hover { background:#eaf3fa; }
.abs-calculator .abs-calc-guide > span { font-size:1.15rem; }
.abs-calculator [data-calc-output] { min-width:0; }
@media(max-width:720px) {
  .abs-tools-page .sidebar-layout__main,.abs-tools-page .sidebar-layout__aside,.abs-home-aside { gap:8px; }
  .abs-tools-page .archive-header { padding:16px; }
  .abs-calculator { padding:16px; }
  .abs-calc-workspace { grid-template-columns:1fr;gap:10px; }
  .abs-calculator .abs-calc-intro { margin:10px 0 14px; }
  .abs-calculator .abs-calc-actions .button { width:100%; }
  .abs-calc-result { min-height:202px;padding:16px 18px; }
  .abs-calc-footer { gap:4px; }
  .abs-calculator details { flex-basis:100%; }
  .abs-calculator .abs-calc-guide { justify-content:space-between;width:100%; }
}
@media(max-width:359px) { .abs-calc-fields { grid-template-columns:1fr; } }

@media(max-width:720px) {
  body { padding-bottom:calc(68px + env(safe-area-inset-bottom,0px)); }
  .abs-home .home-grid__main { gap:8px; }
  .abs-home-hero { padding:16px; }
  .abs-home-hero h1 { font-size:1.5rem;line-height:1.22; }
  .abs-hero-search { padding:8px;margin:14px 0 8px; }
  .abs-hero-search .search-form { flex-wrap:wrap; }
  .abs-hero-search label { flex-basis:100%; }
  .abs-hero-search .search-submit { width:100%;min-height:44px; }
  .abs-topic-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:8px; }
  .abs-topic-grid .topic-card { padding:12px; }
  .abs-topic-grid .topic-card strong { font-size:1rem; }
  .abs-topic-grid .topic-card span { font-size:.82rem; }
  .abs-tool-cards { grid-template-columns:1fr;gap:8px; }
  .abs-home .section-card { padding:16px; }
  .abs-panel { top:auto;bottom:0;left:0;transform:none;width:100%;max-height:calc(100dvh - 12px);border-radius:18px 18px 0 0; }
  .abs-panel__head { padding:12px 14px; }
  .abs-panel__body { padding:14px 14px calc(20px + env(safe-area-inset-bottom,0px)); }
  .abs-dock { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;z-index:900;bottom:0;left:0;right:0;min-height:64px;padding:4px 8px calc(4px + env(safe-area-inset-bottom,0px));background:#fffdf9;border-top:1px solid #d7e1e9; }
  .abs-dock a,.abs-dock button { display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:52px;min-width:0;margin:0;padding:4px;border:0;border-radius:12px;background:transparent;color:#215d92;font:700 11px/1.2 "Segoe UI",Arial,sans-serif;text-decoration:none;box-shadow:none; }
  .abs-dock svg { width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8; }
  .abs-dock .abs-dock__primary { background:#215d92;color:#fff; }
  .abs-dock__plus { font:28px/1 Arial,sans-serif; }
  .abs-dock [aria-current="page"] { background:#edf3f8; }
}
@media(prefers-reduced-motion:reduce) { .abs-panel,.abs-dock { scroll-behavior:auto;transition:none; } }

/* Compact form spacing and visible account paths; existing touch targets remain. */
.abs-panel--contribute .abs-community-note { margin:0 0 12px;padding:10px 12px;font-size:.84rem;line-height:1.5; }
.abs-contribute { gap:6px; }
.abs-contribute label { margin-top:4px; }
.abs-contribute input,.abs-contribute textarea,.abs-contribute select { padding:9px 11px; }
.abs-contribute textarea { min-height:112px; }
.abs-contribute > button { margin-top:8px;box-shadow:none; }
.abs-contribute [data-abs-form-status] { margin:0;font:.88rem/1.5 var(--font-ui); }
.abs-contribute [data-abs-form-status]:empty { display:none; }
.abs-type-switch { margin-bottom:2px; }
.abs-account-actions { display:flex;flex-wrap:wrap;gap:8px; }
.abs-account-actions > a { display:inline-flex;align-items:center;justify-content:center;flex:1;min-height:44px;padding:8px 12px;border:1px solid #c5d8e7;border-radius:10px;background:#f2f7fc;color:var(--brand);font:650 .9rem/1.4 var(--font-ui);text-decoration:none; }
.abs-account-actions > a:hover { background:#e7f1f9; }
.abs-claim-next[hidden] { display:none!important; }
.abs-claim-next { margin-top:6px;padding:12px;border:1px solid #cbddea;border-radius:10px;background:#f2f7fc; }
.abs-claim-next h3 { margin:0 0 6px;font:750 1rem/1.4 var(--font-ui); }
.abs-claim-next p { margin:0 0 10px;font:.85rem/1.55 var(--font-ui); }
.abs-contribute [data-abs-new-entry][hidden] { display:none!important; }
.abs-contribute.is-submitted > :not([data-abs-form-status]):not([data-abs-account-claim]):not([data-abs-new-entry]) { display:none; }
.abs-contribute.is-submitted { gap:12px; }
.abs-panel--contribute.is-entry-submitted .abs-community-note { display:none; }
.abs-hero-actions > a { display:inline-flex;align-items:center;gap:6px;min-height:44px;font-weight:650;text-decoration:none; }
.abs-hero-actions > a:hover,.abs-home-account > a:hover { text-decoration:underline; }
.abs-home-account { display:none; }
.abs-community-actions { display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin-top:12px; }
.abs-community-actions > .button,.abs-community-actions > .abs-section-link { margin:0;min-height:44px; }
.abs-community-actions > .abs-section-link { padding:0 4px; }
.abs-contribute-account { margin:0 0 12px;padding:10px 12px;border:1px solid #cbddea;border-radius:10px;background:#f8fafc; }
.abs-contribute-account p { margin:0 0 8px;font:.84rem/1.5 var(--font-ui); }
.abs-contribute-identity { margin:0 0 12px;font:.85rem/1.5 var(--font-ui); }
.abs-contribute-identity a { display:inline-flex;align-items:center;min-height:44px;margin-left:8px; }
.abs-panel--contribute.is-entry-submitted .abs-contribute-account { display:none; }
@media(max-width:720px) {
  .abs-home-account { display:flex;flex-basis:100%;gap:8px; }
  .abs-home-account > a { display:inline-flex;flex:1;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;border:1px solid #c5d8e7;border-radius:10px;background:#f2f7fc;color:var(--brand);font:650 .9rem/1.4 var(--font-ui);text-decoration:none; }
  .abs-home-account > a:hover { background:#e7f1f9;text-decoration:none; }
}
