/* A non-modal companion: the actual page stays visible and interactive. */
.toolbox-guide[hidden], .toolbox-guide [hidden] { display:none; }
.toolbox-guide {
  position:fixed; z-index:12; inset:auto 12px 12px; width:auto;
  max-height: min(42dvh, 350px); padding:14px 18px;
  display:grid; grid-template-rows:auto auto minmax(0,1fr) auto auto; gap:8px;
  border:1px solid var(--brand); border-radius:18px; background:var(--surface);
  color:var(--text); box-shadow:var(--shadow); overflow-wrap:anywhere;
}
.toolbox-guide :where(div,p,ul,li,button,h2) { min-width:0; max-width:100%; box-sizing:border-box; }
.toolbox-guide :where(p,h2,ul) { margin:0; }
.toolbox-guide h2 { font-size:1.1rem; line-height:1.3; }
.toolbox-guide button { min-height:44px; white-space:normal; font:inherit; font-size:.8rem; cursor:pointer; }
.toolbox-guide button:focus-visible { outline:2px solid var(--brand); outline-offset:2px; }
.tour-heading, .tour-controls, .tour-navigation { display:flex; align-items:center; gap:8px; }
.tour-heading { justify-content:space-between; }
.tour-heading .eyebrow { font-size:.65rem; letter-spacing:.06em; }
.tour-controls .icon-button { width:36px; min-height:36px; height:36px; flex-shrink:0; font-size:1.25rem; }
.tour-controls .text-button { min-height:36px; width:auto; padding:4px 8px; }
.tour-details { overflow-y:auto; overscroll-behavior:contain; padding:2px 3px; }
.tour-intro { display:flex; align-items:center; gap:14px; }
.tour-visual { width:100px; flex:0 0 100px; color:var(--text); }
.tour-visual svg { width:100%; display:block; }
.tour-art-halo { fill:var(--surface-2); }
.tour-art-accent { stroke:var(--brand); }
#toolbox-guide-category { color:var(--brand); font-size:.65rem; margin-bottom:6px; }
#toolbox-guide-body { font-size:.85rem; line-height:1.5; color:var(--muted); }
.tour-actions { list-style:none; padding:0; display:grid; gap:5px; margin-block:10px!important; counter-reset:tour-action; }
.tour-actions li { counter-increment:tour-action; }
.tour-actions button { width:100%; display:flex; align-items:center; gap:10px; text-align:left; border:1px solid var(--line); border-radius:10px; background:var(--surface-2); color:var(--text); padding:8px 10px; }
.tour-actions button::before { content:counter(tour-action); color:var(--brand); font-weight:800; }
.tour-actions button::after { content:'↗'; margin-left:auto; color:var(--brand); }
.tour-actions button[aria-pressed="true"] { border-color:var(--brand); }
.tour-context { display:flex; align-items:center; flex-wrap:wrap; gap:4px 12px; font-size:.7rem; color:var(--muted); border-top:1px solid var(--line); padding-top:8px; }
.tour-context button { padding:0; text-align:left; }
.tour-hint { font-size:.72rem; line-height:1.5; color:var(--muted); }
.tour-hint span { display:block; }
.tour-navigation { flex-wrap:wrap; }
.tour-navigation > button { flex:1 1 80px; }
.tour-notice { color:var(--muted); font-size:.75rem; line-height:1.4; }
.guide-tool-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr)); gap:8px; }
.guide-tool-list > :first-child, .guide-tool-list > :last-child { grid-column:1/-1; }
html[data-guide-open] { scroll-padding-bottom:calc(var(--guide-dock-height, 360px) + 16px); }
html[data-guide-open] .toolbox-shell { padding-bottom:var(--guide-dock-height, 360px); }
[data-guide-target] { outline:3px solid var(--brand)!important; outline-offset:4px; border-radius:6px; }
[data-guide-nav-target]{outline:2px solid var(--brand);outline-offset:2px}
.toolbox-guide:is(.is-compact,.is-keyboard) { grid-template-columns:minmax(0,1fr) auto; grid-template-rows:auto auto; gap:4px 12px; }
.toolbox-guide:is(.is-compact,.is-keyboard) .tour-heading { grid-column:1/-1; }
.toolbox-guide:is(.is-compact,.is-keyboard) .tour-navigation { grid-column:2; grid-row:2; }
.toolbox-guide:is(.is-compact,.is-keyboard) [data-guide-back] { display:none; }
.toolbox-guide:is(.is-compact,.is-keyboard) .tour-notice { grid-column:1/-1; }
.toolbox-guide.is-keyboard .tour-details { display:none; }
/* Keep new content actions reachable on phones as well as desktop. */
.page-heading > [data-open-funding-agent] { display:inline-flex; }
@media (min-width:761px) and (max-width:1439px) {
  .toolbox-guide { inset-inline-start:auto; width:min(600px,calc(100% - 24px)); }
  .tour-actions { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .tour-actions button { height:100%; }
}
@media (min-width:1440px) {
  html[data-guide-open]:not([data-tour-compact]) .toolbox-shell { grid-template-columns:264px minmax(0,1fr) 324px; padding-bottom:0; }
  html[data-guide-open][data-sidebar-collapsed="true"]:not([data-tour-compact]) .toolbox-shell { grid-template-columns:76px minmax(0,1fr) 324px; }
  .toolbox-guide { inset:16px 16px auto auto; width:292px; max-height:calc(100dvh - 32px); padding:16px; }
  .tour-intro { flex-direction:column; align-items:flex-start; gap:4px; }
  .tour-visual { align-self:center; width:140px; flex-basis:auto; }
  .toolbox-guide.is-compact { inset:auto 16px 16px auto; width:380px; }
}
@media (max-width:600px) {
  .toolbox-guide { inset-inline:8px; bottom:max(8px,var(--guide-keyboard-inset,8px),env(safe-area-inset-bottom)); padding:10px 12px; gap:6px; max-height:40dvh; }
  .tour-visual { width:74px; flex-basis:74px; }
  .tour-controls button { min-height:44px!important; }
  .tour-controls .icon-button { width:44px; height:44px; }
  .toolbox-guide:is(.is-compact,.is-keyboard) { grid-template-columns:minmax(0,1fr) 88px; }
}
@media(max-width:1024px){.toolbox-guide{bottom:max(calc(var(--guide-bottom-height,72px) + 8px),var(--guide-keyboard-inset,8px))}}

@media (min-width: 1440px) {.toolbox-guide {max-width: min(330px, calc(100vw - 24px));}}
