/* Simple baseline Explorer styles (reverted) */
/* Anchor offset */
#mece-explorer-anchor { scroll-margin-top:110px; }
:root {
  --explorer-sidebar-width: 290px;
  --explorer-panel-radius: 18px;
  --explorer-transition: .35s cubic-bezier(.4,.14,.3,1);
  --explorer-border: var(--kg-border, #d9e5dd);
  --explorer-bg-soft: #f6fbf8;
  --explorer-bg-softer: #fbfdfc;
  --explorer-focus-ring: 0 0 0 3px rgba(45,90,39,.25);
}

.explorer-root { margin:120px auto 80px; max-width:1400px; padding:0 1.2rem; }
.explorer-shell { display:flex; background:#ffffff; border:1px solid #e3efe6; border-radius:28px; box-shadow:0 2px 6px rgba(0,0,0,.04); overflow:hidden; min-height:70vh; position:relative; isolation:isolate; }

/* Sidebar */
.explorer-sidebar { width:var(--explorer-sidebar-width); background:#f9fcfb; border-right:1px solid #e3efe6; padding:1rem .85rem 1.4rem; display:flex; flex-direction:column; gap:.9rem; }
.explorer-sidebar h2 { margin:.25rem 0 .5rem; font-size:1.075rem; font-family:'Playfair Display',serif; background:linear-gradient(135deg,var(--kg-green) 0%, var(--kg-gold) 100%); -webkit-background-clip:text; background-clip:text; color:transparent; letter-spacing:.5px; }

/* Search */
.explorer-search { position:relative; }
.explorer-search input { width:100%; padding:.62rem .75rem .62rem 2.15rem; border:1px solid var(--explorer-border); border-radius:12px; background:#fff; font-size:.8rem; font-weight:500; transition:var(--explorer-transition); }
.explorer-search input:focus { outline:none; border-color:var(--kg-green-300); box-shadow:var(--explorer-focus-ring); }
.explorer-search svg { width:15px; height:15px; position:absolute; left:10px; top:50%; transform:translateY(-50%); stroke:var(--kg-green-300); pointer-events:none; }

/* Domain list */
.explorer-domain-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.5rem; }
.explorer-domain { border:1px solid #e1ece3; background:#ffffff; border-radius:14px; overflow:hidden; transition:var(--explorer-transition); position:relative; }
.explorer-domain:focus-within, .explorer-domain:hover { border-color:#c2dcc9; box-shadow:0 2px 6px rgba(0,0,0,.05); }
.explorer-domain button.domain-toggle { all:unset; position:relative; display:flex; width:100%; align-items:center; gap:.55rem; cursor:pointer; padding:.65rem 2.2rem .65rem .75rem; font-weight:600; font-size:.78rem; color:#345443; line-height:1.25; }
.explorer-domain button.domain-toggle > span:first-child { flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.explorer-domain button.domain-toggle:focus-visible { outline:none; box-shadow:var(--explorer-focus-ring); border-radius:inherit; }
.explorer-domain button.domain-toggle span.count { position:absolute; right:.6rem; top:50%; transform:translateY(-50%); background:#f0f8f3; color:#2f6a47; font-size:.56rem; padding:.23rem .52rem; border-radius:999px; letter-spacing:.5px; font-weight:600; line-height:1; border:1px solid #d5eade; }

/* Subdomains */
.explorer-subdomains { max-height:0; overflow:hidden; transition:max-height .5s ease, opacity .35s ease; display:flex; flex-direction:column; opacity:0; }
.explorer-domain.expanded .explorer-subdomains { max-height:640px; opacity:1; }
.explorer-subdomains button { all:unset; cursor:pointer; padding:.48rem .85rem .48rem 1.35rem; font-size:.7rem; display:flex; gap:.45rem; align-items:center; color:#3b5f4d; position:relative; line-height:1.25; font-weight:500; letter-spacing:.2px; transition:var(--explorer-transition); }
.explorer-subdomains button:focus-visible { outline:none; background:#f2f8f4; }
.explorer-subdomains button:hover { background:#f9fdfb; }
.explorer-subdomains button .badge { margin-left:auto; background:#ffffff; border:1px solid #dcebe2; border-radius:999px; padding:.16rem .48rem; font-size:.53rem; font-weight:600; letter-spacing:.45px; box-shadow:none; }
.explorer-subdomains button::before { content:""; width:6px; height:6px; border-radius:50%; background:var(--kg-green-300); position:absolute; left:.85rem; top:50%; transform:translateY(-50%); }

/* Main area */
.explorer-main { flex:1; display:flex; flex-direction:column; min-width:0; background:#fafefd; }
.explorer-main-header { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.75rem; padding:.85rem 1.1rem .8rem; border-bottom:1px solid #e3efe6; position:sticky; top:0; backdrop-filter:blur(4px); background:rgba(255,255,255,.85); z-index:5; }
.explorer-main-header { row-gap:.9rem; }
.explorer-main-body { flex:1; display:flex; min-height:0; }
.explorer-resources { width:320px; border-left:1px solid #e3efe6; background:#ffffff; padding:1rem .95rem 1.4rem; display:flex; flex-direction:column; gap:.7rem; }
.explorer-resources-inner h3 { margin:0 0 .35rem; font-size:.95rem; font-family:'Playfair Display',serif; background:linear-gradient(135deg,var(--kg-green) 0%, var(--kg-gold) 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.explorer-resources-inner ul { list-style:none; margin:.25rem 0 0; padding:0; display:flex; flex-direction:column; gap:.45rem; }
.explorer-resources-inner li a { display:inline-flex; align-items:flex-start; gap:.45rem; background:#ffffff; border:1px solid #deebe2; padding:.5rem .55rem; border-radius:9px; font-size:.6rem; line-height:1.25; text-decoration:none; color:#355947; word-break:break-word; transition:background .25s,border-color .25s; }
.explorer-resources-inner li a:hover { border-color:#c5ddcf; background:#f3faf6; }
.resources-hint { font-size:.62rem; margin:0; opacity:.75; line-height:1.3; }
.explorer-utility { display:flex; align-items:center; gap:.6rem; margin-left:auto; }
.explorer-global-search { position:relative; display:flex; align-items:center; }
.explorer-global-search input { width:200px; padding:.48rem .55rem .48rem 2rem; border:1px solid #dbe9df; border-radius:11px; background:#ffffff; font-size:.64rem; font-weight:500; transition:var(--explorer-transition); }
.explorer-global-search input:focus { outline:none; border-color:var(--kg-green-300); box-shadow:var(--explorer-focus-ring); }
.explorer-global-search svg { width:14px; height:14px; position:absolute; left:8px; color:var(--kg-green-300); }
.explorer-global-search button.clear-global { position:absolute; right:4px; top:50%; transform:translateY(-50%); background:none; border:none; font-size:.65rem; cursor:pointer; color:var(--kg-green-300); padding:.2rem .4rem; border-radius:6px; }
.explorer-global-search button.clear-global:hover { background:#f2f8f4; }
.explorer-density-toggle { border:1px solid #cfdfd4; background:#ffffff; color:#345443; padding:.42rem .68rem; font-size:.56rem; font-weight:600; letter-spacing:.5px; border-radius:10px; cursor:pointer; transition:var(--explorer-transition); }
.explorer-density-toggle[aria-pressed="true"] { background:#f0f8f3; border-color:#bdd6c6; }
.explorer-density-toggle:focus-visible { outline:none; box-shadow:var(--explorer-focus-ring); }
/* Back link removed */

/* Breadcrumb */
.explorer-breadcrumb { font-size:.63rem; text-transform:uppercase; letter-spacing:.1em; color:#486a58; font-weight:600; display:flex; gap:.4rem; align-items:center; line-height:1; }
.explorer-breadcrumb button { background:none; border:none; cursor:pointer; font:inherit; color:var(--kg-green-600); padding:.15rem .4rem; border-radius:6px; transition:var(--explorer-transition); }
.explorer-breadcrumb button:hover { background:#e8f5e8; }
.explorer-breadcrumb button:focus-visible { outline:none; box-shadow:var(--explorer-focus-ring); }
.explorer-breadcrumb span.sep { opacity:.5; }

/* Mode toggle */
/* Quick filter buttons (reuse global .btn styles) */
.explorer-quick-filters .btn[aria-pressed="true"] { background:var(--color-surface-accent,#e8f5e8); color:#23402b; box-shadow:0 2px 4px rgba(0,0,0,.07); }
.explorer-quick-filters .btn[aria-pressed="true"]::after { opacity:.35; }
@media (prefers-color-scheme:dark){
  .explorer-quick-filters .btn[aria-pressed="true"] { background:#2f4138; color:#d9efe1; box-shadow:0 2px 6px -2px rgba(0,0,0,.6); }
}

/* Content grid */
.explorer-content { flex:1; overflow-y:auto; padding:1.2rem 1.4rem 2.2rem; display:grid; gap:1.35rem; grid-template-columns:repeat(auto-fill,minmax(340px,1fr)); align-content:start; }

/* Panels */
.explorer-panel { background:#ffffff; border:1px solid #e2eee4; border-radius:var(--explorer-panel-radius); padding:1rem 1rem 1.15rem; display:flex; flex-direction:column; gap:.6rem; box-shadow:0 2px 4px rgba(0,0,0,.04); position:relative; transition:var(--explorer-transition); }
.explorer-panel:hover { box-shadow:0 3px 8px rgba(0,0,0,.06); transform:translateY(-2px); }
.explorer-panel h3 { margin:0; font-size:1.02rem; font-family:'Playfair Display',serif; font-weight:700; background:linear-gradient(135deg,var(--kg-green) 0%, var(--kg-gold) 100%); -webkit-background-clip:text; background-clip:text; color:transparent; letter-spacing:.25px; }
.explorer-panel small { font-size:.6rem; text-transform:uppercase; letter-spacing:.09em; color:var(--kg-muted,#6d7f73); font-weight:600; }

/* Lists */
.explorer-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.5rem; }
.explorer-list li { background:#ffffff; border:1px solid #deeade; padding:.56rem .6rem .52rem 1rem; border-radius:11px; font-size:.7rem; line-height:1.32; position:relative; box-shadow:none; font-weight:500; letter-spacing:.23px; transition:var(--explorer-transition); }
.explorer-list li:hover { border-color:#cbdccd; background:#f7fbf9; }
.explorer-list li.question::before, .explorer-list li.solution::before { content:none; }
.explorer-highlight { background:linear-gradient(90deg,#fff7c9,#ffe89d); padding:0 .15rem; border-radius:4px; box-shadow:0 0 0 1px #ffe3a1; }
.explorer-empty { font-style:italic; opacity:.7; }

/* Collapsible list animation (mirroring domain expansion) */
.explorer-panel.toggleable .explorer-list { max-height:0; opacity:0; overflow:hidden; transition:max-height .5s ease, opacity .35s ease; }
.explorer-panel.toggleable.expanded .explorer-list { max-height:900px; opacity:1; }
.explorer-panel.toggleable h3 { cursor:pointer; position:relative; padding-right:1.2rem; }
.explorer-panel.toggleable h3::after { content:'+'; position:absolute; right:.25rem; top:50%; transform:translateY(-50%); font-size:.8rem; line-height:1; font-family:system-ui, sans-serif; color:var(--kg-green-600); transition:transform .35s ease; }
.explorer-panel.toggleable.expanded h3::after { content:'\2212'; }

/* Stats / badges */
.explorer-stats { display:flex; gap:.8rem; flex-wrap:wrap; font-size:.6rem; letter-spacing:.05em; }
.explorer-stats span { background:#eef6f1; padding:.3rem .58rem; border-radius:999px; font-weight:600; letter-spacing:.45px; }
.explorer-stats span.sol { background:#fff4d3; }

/* Help box */
.explorer-help { font-size:.6rem; line-height:1.32; background:#f5faf7; padding:.55rem .65rem; border:1px dashed #d9e9df; border-radius:11px; font-weight:500; letter-spacing:.28px; }

/* Utility buttons inside panels */
.explorer-panel button { cursor:pointer; }
.explorer-panel button:focus-visible { outline:none; box-shadow:var(--explorer-focus-ring); }

/* Motion preferences */
@media (prefers-reduced-motion: reduce) {
  .explorer-subdomains { transition:none; }
  .explorer-panel, .explorer-list li, .explorer-domain, .explorer-mode-toggle button { transition:none; }
}

/* Density modes */
.density-compact .explorer-panel { padding:.7rem .75rem .85rem; border-radius:14px; }
.density-compact .explorer-list li { padding:.45rem .5rem .45rem .85rem; font-size:.66rem; }
.density-compact .explorer-domain button.domain-toggle { padding:.55rem 1.9rem .55rem .55rem; }
.density-compact .explorer-domain button.domain-toggle span.count { right:.5rem; }
.density-compact .explorer-subdomains button { padding:.4rem .7rem .4rem 1.3rem; }
.density-compact .explorer-mode-toggle button { padding:.4rem .6rem; }
.density-compact .explorer-global-search input { padding:.45rem .5rem .45rem 1.85rem; }
.density-compact .explorer-content { gap:1rem; }

/* Empty / no results state */
.explorer-empty-state { grid-column:1 / -1; text-align:center; padding:2.6rem 1rem; border:2px dashed #d9e9df; border-radius:22px; background:#ffffff; box-shadow:0 2px 6px rgba(0,0,0,.04); }
.explorer-empty-state h4 { margin:0 0 .6rem; font-size:1rem; font-family:'Playfair Display',serif; }
.explorer-empty-state p { margin:.25rem 0; font-size:.7rem; opacity:.75; }
.explorer-empty-state button { margin-top:.7rem; border:1px solid #c8dccf; background:#ffffff; color:#345443; padding:.48rem .85rem; font-size:.63rem; font-weight:600; letter-spacing:.48px; border-radius:10px; cursor:pointer; }
.explorer-empty-state button:hover { background:#f3faf6; }

/* Responsive */
@media (max-width: 1180px){ .explorer-root { margin:110px auto 70px; } }
@media (max-width: 980px){ .explorer-shell { flex-direction:column; } .explorer-sidebar { width:100%; border-right:none; border-bottom:1px solid var(--explorer-border);} .explorer-content { grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); padding:1rem 1rem 2rem; } }
@media (max-width: 1080px){ .explorer-resources { display:none; } .explorer-main-body { flex-direction:column; } }
@media (max-width: 640px){ .explorer-mode-toggle { width:100%; justify-content:space-between; } .explorer-main-header { gap:.9rem; } .explorer-root { padding:0 .75rem; } }

/* (High contrast variant removed in baseline revert) */
