/* Desktop "Tools" mega menu */
.km-topnav ul { align-items: center; }
.km-mm-li { position: static; }
.km-mm-btn { display: inline-flex; align-items: center; gap: 5px; background: none; border: 0; cursor: pointer; color: var(--km-muted); font: 500 15px var(--km-font); padding: 6px 2px; }
.km-mm-btn:hover, .km-mm-btn[aria-expanded="true"] { color: var(--km-ink); }
.km-mm-btn[aria-expanded="true"] svg { transform: rotate(180deg); }
.km-mm-panel { position: absolute; left: 50%; transform: translateX(-50%); top: 100%; width: min(1100px, calc(100vw - 32px)); max-height: calc(100vh - 90px); overflow: auto; background: var(--km-surface); color: var(--km-ink); border: 1px solid var(--km-border); border-radius: 14px; box-shadow: 0 18px 50px rgba(0,0,0,.18); padding: 18px 22px; z-index: 1000; text-align: left; }
.km-mm-panel[hidden] { display: none; }
.km-mm-top { display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--km-border); padding-bottom: 10px; margin-bottom: 12px; }
.km-mm-recent { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: center; }
.km-mm-recent ul { display: flex !important; flex-wrap: wrap; gap: 6px !important; }
.km-mm-recent a { background: var(--km-soft, var(--km-intro-bg)) !important; border-radius: 14px; padding: 3px 10px !important; font-size: 13px !important; }
.km-mm-hint { font-size: 12.5px; color: var(--km-faint); }
.km-mm-hint kbd { font: 600 11px var(--km-mono); border: 1px solid var(--km-border-strong); border-radius: 4px; padding: 1px 5px; background: var(--km-surface); }
.km-mm-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 8px 28px; }
.km-mm-area { font: 700 13px var(--km-font); text-transform: uppercase; letter-spacing: .04em; color: var(--km-accent); margin: 2px 0 6px; }
.km-mm-task { display: block; font-size: 12px; font-weight: 700; color: var(--km-faint); margin: 10px 0 3px; }
.km-mm-panel ul { display: block !important; list-style: none; margin: 0; padding: 0; gap: 0 !important; }
.km-mm-panel li { margin: 0; }
.km-mm-panel a { display: inline-block; color: var(--km-ink) !important; font: 500 14px var(--km-font) !important; padding: 4px 0 !important; text-decoration: none; }
.km-mm-panel a:hover, .km-mm-panel a:focus-visible { color: var(--km-accent) !important; text-decoration: underline; }
.km-mm-badge { display: inline-block; font: 700 10px var(--km-font); text-transform: uppercase; letter-spacing: .03em; color: #0b6b53; background: rgba(46,158,131,.14); border-radius: 10px; padding: 1px 6px; margin-left: 4px; vertical-align: 1px; }
.km-mm-foot { display: flex; gap: 22px; flex-wrap: wrap; border-top: 1px solid var(--km-border); margin-top: 14px; padding-top: 10px; }
.km-mm-foot a { color: var(--km-accent) !important; font-weight: 600 !important; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .km-mm-badge { color: #6ee7c8; } }
:root[data-theme="dark"] .km-mm-badge { color: #6ee7c8; }
@media (max-width: 640px) { .km-mm-li { display: none; } }
.km-topbar-inner { position: relative; }
.km-mm-recent[hidden] { display: none !important; }

/* Category bar dropdowns (desktop) */
.km-cm-panel { position: absolute; top: 100%; left: 8px; width: min(880px, calc(100vw - 32px)); background: var(--km-surface); color: var(--km-ink); border: 1px solid var(--km-border); border-top: 3px solid var(--km-accent); border-radius: 0 0 14px 14px; box-shadow: 0 18px 50px rgba(0,0,0,.2); padding: 16px 20px; z-index: 60; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: 8px 28px; text-transform: none; letter-spacing: normal; }
.km-cm-panel[hidden] { display: none; }
.km-cm-panel:not(:has(.km-cm-tasks)) { grid-template-columns: 1fr; width: min(440px, calc(100vw - 32px)); }
.km-cm-pick { display: block; padding: 7px 10px !important; margin: 0 -10px 2px; border-radius: 9px; text-decoration: none; color: var(--km-ink) !important; background: none !important; text-transform: none !important; letter-spacing: normal !important; font: 400 13px var(--km-font) !important; }
.km-cm-pick b { display: block; font: 600 14.5px var(--km-font); }
.km-cm-pick span { color: var(--km-faint); }
.km-cm-pick:hover, .km-cm-pick:focus-visible { background: var(--km-soft, var(--km-intro-bg)) !important; color: var(--km-ink) !important; }
.km-cm-pick:hover b, .km-cm-pick:focus-visible b { color: var(--km-accent); }
.km-cm-taskgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 0 22px; }
.km-cm-group .km-mm-task { margin-top: 6px; }
.km-cm-panel ul { list-style: none; margin: 0; padding: 0; }
.km-cm-panel ul a { display: inline-block; padding: 3px 0 !important; color: var(--km-ink) !important; background: none !important; font: 500 14px var(--km-font) !important; text-transform: none !important; letter-spacing: normal !important; text-decoration: none; }
.km-cm-panel ul a:hover, .km-cm-panel ul a:focus-visible { color: var(--km-accent) !important; text-decoration: underline; }
.km-catbar a[aria-expanded="true"] { background: #000; color: #fff; }
.km-catbar a.is-on[aria-expanded="true"] { background: var(--km-accent); }
@media (max-width: 760px), (hover: none) { .km-cm-panel { display: none !important; } }
.km-cm-panel ul a { white-space: nowrap; }
.km-cm-taskgrid { grid-template-columns: repeat(auto-fit, minmax(215px, 1fr)); }
