/* A bounded, independently scrollable desktop directory; horizontal categories on mobile. */
.sidebar{height:100dvh;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden;padding:24px 18px 18px}.sidebar .nav-label{margin:23px 9px 12px}.sidebar nav{min-height:0;overflow-y:auto;overflow-x:hidden;align-content:start;padding-right:5px;scrollbar-width:thin;scrollbar-color:#66866f #15382e;overscroll-behavior:contain}.sidebar nav::-webkit-scrollbar{width:6px}.sidebar nav::-webkit-scrollbar-thumb{background:#66866f;border-radius:5px}.sidebar .side-bottom{margin-top:15px;gap:8px;padding-top:12px;border-top:1px solid #355543}.sidebar nav a{padding:10px;line-height:1.5}.sidebar nav a span{font-size:12px}.focus-picker{padding:15px 0 5px}.focus-label{font-size:12px;font-weight:600;color:#355d43;display:flex;align-items:center;gap:15px}.focus-label small{font-size:10px;font-weight:400;color:#6e7f65}.focus-buttons{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}.focus-buttons button{padding:8px 12px;font-size:12px;border-radius:20px;background:#f2f6ec;border:1px solid #d1ddc7}.focus-buttons button.active{background:#176c56;color:white;border-color:#176c56}.section-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px;border-bottom:1px solid #d1ddc7;padding-bottom:12px}.section-tabs a{padding:7px 12px;font-size:12px;border-radius:5px}.section-tabs a.active{background:#176c56;color:white}.presentation-tabs{display:flex;align-items:center;gap:6px;background:#edf2e6;border-radius:5px;padding:4px;width:max-content;max-width:100%;margin:15px 0}.presentation-tabs button,.presentation-tabs a{font-size:12px;border:0;background:none;padding:8px 16px;border-radius:4px;color:#42694c}.presentation-tabs .active{background:white;box-shadow:0 1px 3px #44633318;color:#164c39}.candidate-tray{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#e4edda;border:1px solid #cadbbf;border-radius:5px;padding:12px 15px;margin:15px 0;font-size:12px}.candidate-tray b{color:#18654d}.candidate-tray a{margin-left:auto}.advanced-tools{margin:20px 0;background:#f9fbf5;border:1px solid #d4dfcc;border-radius:6px;padding:15px}.advanced-tools>summary{font-size:13px;font-weight:600}.candidate-criteria{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:14px}.standard-note{font-size:11px;color:#57734f;background:#eef3e7;padding:10px 13px;border-radius:4px;margin:10px 0}.candidate-comparison .table-wrap table{min-width:780px}.registry-chart{background:#f4f7ec;padding:20px;border:1px solid #d1ddc6;border-radius:6px;margin:18px 0}.registry-chart svg{width:100%;height:auto}.registry-chart text{fill:#355b42;font:14px "Microsoft YaHei",sans-serif}.registry-chart .chart-number{font:16px Georgia}.registry-chart .chart-missing{fill:#8a927f;font-size:12px}.sidebar .directory-label{font-size:10px;letter-spacing:1px;color:#93ad98;margin:18px 9px 8px}.sort-metric{display:block;font:20px Georgia;color:#176c56}.sort-metric small{font:9px "Microsoft YaHei",sans-serif;color:#69815f}.nav-scroll-hint{font-size:9px;color:#9db79e;padding:5px 9px 0}.sort-unknown{font-size:11px;color:#8b967e}.comparison-level-note{font-size:11px;color:#7b724e;padding:9px;background:#f8f3e6}.empty-choice{padding:24px;background:#edf3e4;border-radius:6px;color:#527047}.decision-footer-actions{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;margin-top:12px}
@media(max-width:1200px){.candidate-criteria{grid-template-columns:1fr 1fr}.candidate-criteria>.field:first-child{grid-column:1/-1}}
@media(max-width:850px){.sidebar{height:auto;display:block;overflow:visible;padding:18px}.sidebar nav{overflow-x:auto;overflow-y:hidden;display:flex;scrollbar-width:none;white-space:nowrap;padding:0;overscroll-behavior-x:contain}.sidebar nav a{padding:8px 11px;flex-shrink:0}.sidebar .side-bottom,.nav-scroll-hint{display:none}.focus-label{display:block}.focus-label small{display:block;margin-top:3px}.focus-buttons{gap:6px}.focus-buttons button{font-size:11px;padding:7px 10px}.section-tabs a{font-size:11px;padding:6px 9px}.candidate-tray a{margin-left:0}.candidate-criteria{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.presentation-tabs button,.presentation-tabs a{padding:7px 11px;font-size:11px}.focus-buttons button{font-size:10px;padding:6px 9px}.candidate-tray{padding:10px;font-size:11px;gap:8px}.focus-picker{padding-top:12px}.registry-chart{padding:12px}.candidate-criteria{gap:10px}.advanced-tools{padding:12px}.sidebar nav a span{font-size:11px}}
