/* Tools-only layout rules. Colours, type, header geometry and navigation come from styles.css. */
.tools-hub [hidden]{display:none!important}
.tools-hub .sidebar{display:block}
.tools-hub .sidebar .nav{display:grid}
.tools-hub .sidebar .sidebar-portal-header{display:block}
.tools-hub .sidebar-portal-artwork{max-width:100%;height:auto}
.tools-hub .nav-group-items{display:grid}
.tools-hub .nav-group:has(button.active)>summary{color:var(--danger-2);font-weight:800}
.tools-hub .content{min-width:0}
.tools-hub .dbot-public-nav{justify-content:flex-start;padding:4px 0;font:inherit;gap:8px}
.tools-hub .dbot-public-nav a,.tools-hub .dbot-public-nav summary,.tools-hub .dbot-public-nav .discord-session{font:inherit}
.tools-hub .tools-catalogue-intro{text-align:center;margin:24px auto;max-width:900px}
.tools-hub .tools-catalogue-intro h1{font-size:clamp(24px,3vw,36px)}
.tools-hub .connect-offer{padding:20px;text-align:center;margin:16px 0;border-radius:var(--radius);border:1px solid var(--border);background:var(--panel)}
.tools-hub .connect-offer ul{list-style-position:inside;padding:0}
.tools-hub .connect-actions{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap}
.tools-hub .connect-actions button,.tools-hub .tool-card a,.tools-hub .tool-launch{background:var(--danger);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 14px;cursor:pointer}
.tools-hub .tools-search{padding:16px;margin:20px 0}
.tools-hub #catalogue{display:block}
.tools-hub .tool-grid,.tools-hub #catalogue.tools-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.tools-hub .tool-card,.tools-hub #catalogue>.card{padding:18px;min-width:0;display:flex;flex-direction:column;text-align:center;align-items:center}
.tools-hub .tool-card a,.tools-hub .card-bottom{margin-top:auto}
.tools-hub .tool-card h3{font-size:16px}
.tools-hub .tool-id,.tools-hub .tool-description{color:var(--muted)}
.tools-hub .editor{padding:20px;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel);scroll-margin-top:15px}
.tools-hub .editor label{display:grid;gap:7px;margin:14px 0}
.tools-hub .editor .actions{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}
.tools-hub .editor button{padding:9px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--danger);color:var(--text);cursor:pointer}
.tools-hub .editor button:disabled{opacity:.5;cursor:default}
.tools-hub .editor textarea{font-family:ui-monospace,monospace;resize:vertical}
.tools-hub .editor .error{color:var(--danger-2)}
.tools-hub .editor .success{color:var(--success)}
.tools-hub :focus-visible{outline:2px solid var(--danger-2);outline-offset:3px}
.tools-hub .empty-tools{grid-column:1/-1}
@media(max-width:1250px){.tools-hub .tool-grid,.tools-hub #catalogue.tools-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1000px){.tools-hub .tool-grid,.tools-hub #catalogue.tools-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Keep native collapsible navigation reachable on tablets/phones without dashboard JS. */
@media(max-width:900px){.tools-hub .app-shell{grid-template-columns:minmax(0,1fr)!important}.tools-hub .sidebar{position:relative!important;inset:auto!important;transform:none!important;width:100%!important;height:auto!important;max-height:40vh;overflow:auto}.tools-hub .sidebar .sidebar-portal-header{max-width:220px}.tools-hub .content{padding:14px}}
@media(max-width:540px){.tools-hub .tool-grid,.tools-hub #catalogue.tools-grid{grid-template-columns:minmax(0,1fr)}.tools-hub .connect-actions>*{max-width:100%}}

.tools-hub .card-top,.tools-hub .card-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%}.tools-hub .tool-symbol,.tools-hub .tool-state,.tools-hub .tool-tag{font-size:12px;color:var(--muted)}.tools-hub .tool-tag{margin:8px 0}.tools-hub .tool-description{font-size:14px;line-height:1.5}.tools-hub #catalogue>.card h3{font-size:16px}.tools-hub .dbot-public-nav>button{padding:10px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--panel);color:var(--text)}
.tools-hub .app-shell{width:100%!important;max-width:100%!important}
@media(max-width:900px){.tools-hub .sidebar{max-width:none!important;min-width:0!important}.tools-hub .content{width:100%!important;max-width:100%!important}}
/* Crop only the source artwork's black outer padding; keep the dashboard header shell. */
.dbot-tools-page-header .dbot-tools-banner{aspect-ratio:2172/564!important;border:0!important;background:transparent!important;box-shadow:none!important;max-height:none!important;position:relative!important;overflow:hidden!important}
.dbot-tools-page-header .dbot-tools-banner img{position:absolute!important;top:-12.4%!important;left:-.5%!important;width:101%!important;height:auto!important;max-height:none!important;max-width:none!important;object-fit:fill!important}
.tools-hub .editor button{margin:4px}.tools-hub .editor pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%}

.tools-hub .card-top,.tools-hub .card-bottom{justify-content:center}
.tools-hub .tools-sidebar-profile{display:block;padding:12px;margin:0 0 14px;overflow-wrap:anywhere;font-size:13px;color:var(--text)}
.tools-hub .tools-main-menu{margin-bottom:18px}
.tools-hub .tools-main-menu a,.tools-hub [data-tools-account-menu] button{display:block;width:100%;text-align:left;padding:10px 12px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text);font:inherit;cursor:pointer}
.tools-hub .tools-main-menu a:hover,.tools-hub [data-tools-account-menu] button:hover{background:rgba(224,58,62,.14);border-color:rgba(224,58,62,.25)}
.tools-hub .tools-policy-menu>summary{font-size:inherit;text-transform:none;letter-spacing:normal}
.tools-hub .tools-top-actions{display:flex;justify-content:flex-end;margin:0 0 12px}
.tools-hub .tools-discord-join{display:inline-flex;align-items:center;gap:10px;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--panel);color:var(--text)}
.tools-hub .tools-discord-join svg{flex:0 0 24px}
.tools-hub .tools-catalogue-intro{margin:24px auto 16px}
/* Owner-requested smaller Tools banner; keep its natural proportions on mobile. */
.tools-hub .dbot-tools-page-header .dbot-tools-banner{width:min(100%,900px)!important;max-width:900px!important}
.tools-hub .dbot-tools-page-header{width:min(100%,924px)!important;max-width:924px!important;margin-inline:auto!important}
.tools-hub .tools-discord-join{background:#5865f2;border-color:#5865f2;color:#fff}
.tools-hub .tools-discord-join:hover{background:#4752c4;border-color:#4752c4}
.tools-hub .tools-sidebar-profile{display:block!important;grid-template-columns:none!important}
.tools-hub .tools-sidebar-profile .discord-session{display:block!important;width:100%!important;max-width:100%!important;white-space:normal!important;line-height:1.5}
.tools-hub .tools-top-actions{width:100%!important;justify-content:flex-end!important}
/* Compact owner-approved spacing, with no outer banner card/frame. */
.tools-hub .dbot-tools-page-header{width:min(100%,900px)!important;max-width:900px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;margin-bottom:8px!important}
.tools-hub .tools-catalogue-intro{margin:10px auto 8px!important;padding:0!important}
.tools-hub .tools-catalogue-intro h1{margin:0 0 8px!important}
.tools-hub .tools-catalogue-intro p{margin:0!important}
.tools-hub .tools-search{margin:10px 0 16px!important}
.tools-hub .tools-search-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}
.tools-hub .tools-search-heading label{margin:0}
.tools-hub #tools-view-all{font-size:13px;text-decoration:underline;color:var(--muted)}
/* Keep catalogue headings close to search and make launch controls shorter. */
.tools-hub #tools-navigation-status:empty,.tools-hub #catalogue-tools:empty{display:none}
.tools-hub .tools-search{margin-bottom:8px!important}
.tools-hub #catalogue>section:first-child>h2{margin-top:8px}
.tools-hub .tool-card a,.tools-hub .tool-launch{padding-top:5px;padding-bottom:5px;min-height:0;line-height:1.2}
.tools-hub .server-file-panel{padding:12px 0;border-bottom:1px solid var(--border);margin:0 0 14px}
.tools-hub .server-file-panel p{font-size:13px;color:var(--muted);overflow-wrap:anywhere}
.tools-hub .tool-collapse{margin:10px 0;border:1px solid var(--border,#343840);border-radius:10px;background:#0d1015;padding:0}
.tools-hub .tool-collapse[hidden]{display:none!important}
.tools-hub .tool-collapse>summary{cursor:pointer;padding:13px 14px;font-weight:700;list-style:disclosure-closed}
.tools-hub .tool-collapse[open]>summary{list-style:disclosure-open;border-bottom:1px solid var(--border,#343840)}
.tools-hub .tool-collapse-hint{display:inline-block;margin-left:12px;font-size:12px;font-weight:400;color:#bfc6d4}
.tools-hub .tool-collapse>summary~*{margin:14px!important;max-width:calc(100% - 28px);box-sizing:border-box}
.tools-hub .tool-collapse>textarea{width:calc(100% - 28px)}

/* Match the Admin Hub's dark canvas; keep the red glow tied to the viewport. */
body.tools-hub{background:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),radial-gradient(ellipse at 14% 0%,rgba(207,32,39,.16),transparent 36%),linear-gradient(180deg,#020203 0%,#090a0d 48%,#030304 100%)!important;background-size:46px 46px,46px 46px,auto,auto!important;background-attachment:fixed!important}
.tools-hub #catalogue{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(145deg,#111318,#090b0f);align-items:start}
.tools-hub .tools-category{min-width:0;border:1px solid #242830;border-radius:12px;background:linear-gradient(145deg,#10141b,#090c11);overflow:hidden}
.tools-hub .tools-category>summary{display:flex;align-items:flex-start;gap:12px;padding:18px;cursor:pointer;list-style:none;min-height:178px}
.tools-hub .tools-category>summary::-webkit-details-marker{display:none}
.tools-hub .tools-category-icon{display:grid;place-items:center;flex:0 0 36px;height:36px;border:1px solid #30343d;border-radius:9px;background:#1b2028;font-size:19px}
.tools-hub .tools-category-copy{display:grid;gap:8px;min-width:0}
.tools-hub .tools-category-title{font-size:15px;font-weight:800;text-transform:uppercase;line-height:1.3}
.tools-hub .tools-category-description,.tools-hub .tools-category-examples{font-size:13px;line-height:1.45;color:#d0d3da;overflow-wrap:anywhere}
.tools-hub .tools-category-examples{color:#a9afb9;font-size:12px}
.tools-hub .tools-category-hint{font-size:12px;color:#e6a3a6;font-weight:600}
.tools-hub .tools-category-chevron{margin-left:auto;color:#b6bdc8;transition:transform .15s}
.tools-hub .tools-category[open]{grid-column:1/-1}
.tools-hub .tools-category[open]>summary{min-height:0;border-bottom:1px solid var(--border)}
.tools-hub .tools-category[open] .tools-category-chevron{transform:rotate(180deg)}
.tools-hub .tools-category .when-open,.tools-hub .tools-category[open] .when-closed{display:none}
.tools-hub .tools-category[open] .when-open{display:inline}
.tools-hub .tools-category>.tool-grid{padding:14px}
.tools-hub .tools-category>summary:hover{background:rgba(255,255,255,.025)}
@media(max-width:1250px){.tools-hub #catalogue{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.tools-hub #catalogue{grid-template-columns:minmax(0,1fr);padding:10px;gap:10px}.tools-hub .tools-category>summary{min-height:0;padding:15px}}

.tools-hub .tool-card-description{font-size:13px;line-height:1.45;color:#d0d3da;margin:0 0 12px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;text-align:center}

/* Dashboard context remains available while the Tools navigation is open. */
.tools-hub .tools-dashboard-menu{margin-bottom:12px;background:#101217;border:1px solid #35343c;border-radius:10px}
.tools-hub .tools-dashboard-menu>summary{cursor:pointer;padding:11px 13px;color:#e7c3c5;font-weight:800}
.tools-hub .tools-dashboard-menu .nav-group-items{padding:0 10px 10px}
.tools-hub .tools-dashboard-menu a{display:block;padding:9px 12px;border-radius:6px;color:#e8e8ef;text-decoration:none}
.tools-hub .tools-dashboard-menu a:hover{background:#2a181e}
.tools-hub .tools-server-context{width:min(100%,1020px);margin:6px auto 10px;padding:11px 18px;border:1px solid #373037;border-radius:10px;background:#0c0d11;display:grid;gap:6px}
.tools-hub .tools-server-context label{font-size:11px;font-weight:900;letter-spacing:.1em}
.tools-hub .tools-server-context select{width:100%;min-height:40px;border:1px solid #66313b;border-radius:8px;background:#0b0b0e;color:#fff;padding:7px}
.tools-hub .tools-server-context small{color:#b9b9c2}
.tools-hub .types-quick-presets,.tools-hub .density-quick-presets{border:1px solid #47404a;border-radius:10px;padding:12px;background:#121318}
.tools-hub .types-quick-presets .actions,.tools-hub .density-quick-presets .actions{display:flex;gap:6px;flex-wrap:wrap}
.tools-hub .types-quick-presets button,.tools-hub .density-quick-presets button{background:#25212a;border-color:#555059}
.tools-hub .types-quick-presets button[aria-pressed=true],.tools-hub .density-quick-presets button[aria-pressed=true]{background:#b02534;border-color:#f16c73}
.tools-hub .tools-preset-help{font-size:13px;color:#d6d2db;line-height:1.5}
.tools-hub .tools-revision-history{margin:12px 0;padding:12px;border:1px solid #4b414e;border-radius:8px;background:#131319}
.tools-hub .tools-revision-history ol{padding-left:24px;max-height:240px;overflow:auto}
.tools-hub .types-item-search{width:100%;min-height:34px;margin:5px 0}
.tools-hub .types-item-result-count{font-size:12px;color:#b8b9c3}
