/* Shared navigation, keeping the existing indigo palette. */
:root { --nav-height:84px; --scenery-height:0px; }
.header,.header.is-scrolled { background:var(--bg); border-bottom:1px solid var(--line); }
.header .header-inner { display:flex; justify-content:space-between; gap:16px; min-height:84px; padding:12px 0; }
.header .cat-sticky,.site-scenery,.hero-space { display:none; }
.header .logo { flex:0 1 auto; overflow:hidden; }
.header .logo-img { max-width:100%; }
.header-actions { display:flex; align-items:center; flex-shrink:0; gap:12px; }
.nav-icon { display:grid; place-items:center; width:44px; height:44px; padding:10px; color:var(--text); background:transparent; border:0; border-radius:10px; }
.nav-icon svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.nav-icon:hover,.nav-icon[aria-expanded="true"] { background:var(--primary-soft); color:var(--primary); }
.top-search { width:var(--content-width); max-width:1480px; margin:20px 0 4px var(--content-left); }
.top-search .search-entry,.nav-panel .search-entry { width:100%; height:48px; margin:0; padding:5px 6px 5px 14px; border-radius:8px; gap:8px; }
.top-search .search-entry input,.nav-panel .search-entry input { font-size:16px; }
.top-search .search-submit,.nav-panel .search-submit { align-self:stretch; padding:0 20px; border-radius:5px; font-size:14px; }
.search-history { display:flex; align-items:center; flex-wrap:wrap; gap:8px; min-height:28px; margin-top:10px; font-size:13px; color:var(--text-sub); }
.search-history:empty { display:none; }
.search-history button { max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; border:0; padding:4px 8px; background:transparent; color:var(--primary); text-align:left; }
.search-history .history-clear { margin-left:auto; color:var(--text-sub); }
.nav-panel { position:fixed; z-index:140; top:calc(var(--nav-height) + 8px); right:max(16px,calc(100% - var(--content-left) - var(--content-width))); width:min(420px,calc(100% - 32px)); max-height:calc(100dvh - var(--nav-height) - 24px); overflow:auto; overscroll-behavior:contain; padding:16px; border:1px solid #ffffff24; border-radius:10px; background:#302b60; color:var(--text); box-shadow:0 16px 48px #09071c66; }
#categoryPanel { width:min(360px,calc(100% - 32px)); padding:8px; }
.category-row { display:flex; align-items:center; min-width:0; }
.category-row>button:first-child { flex:1; text-align:left; overflow-wrap:anywhere; }
.category-row button { min-height:46px; border:0; border-radius:6px; padding:10px 14px; background:transparent; color:inherit; font:inherit; font-size:15px; }
.category-row button:hover,.category-row button[aria-current="true"] { background:var(--primary-soft); color:var(--primary); }
.category-row .branch-toggle { flex:0 0 44px; padding:10px; }
.branch-toggle::after,.sort-dropdown summary::after { content:''; display:inline-block; width:8px; height:8px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); vertical-align:4px; margin:0 3px 0 10px; }
.branch-toggle[aria-expanded="true"]::after,.sort-dropdown[open] summary::after { transform:rotate(225deg); vertical-align:0; }
.category-children { margin-left:14px; padding-left:8px; border-left:1px solid #ffffff24; }
.category-children .category-row button { font-size:14px; }
.category-section-label { padding:14px 14px 4px; font-size:12px; color:var(--text-sub); border-top:1px solid var(--line); margin-top:6px; }
.tag-group>summary { cursor:pointer; padding:10px 14px; font-size:15px; min-height:46px; }
#siteAnnouncements { padding:0!important; background:transparent!important; max-height:none; }
#announcementPanel article+article { border-top:1px solid var(--line); }
#announcementPanel h3 { font-size:16px; margin:8px 0; }
#announcementPanel time { font-size:12px; color:var(--text-sub); }
#announcementPanel p { white-space:pre-wrap; overflow-wrap:anywhere; margin:8px 0 16px; line-height:1.8; }
.v2-sort { justify-content:flex-end; margin:8px 0 16px; }
.sort-dropdown { position:relative; }
.sort-dropdown summary { list-style:none; cursor:pointer; padding:10px 0 10px 14px; color:var(--text); font-size:15px; }
.sort-dropdown summary::-webkit-details-marker { display:none; }
.sort-dropdown[open] summary { color:var(--primary); }
.sort-options { position:absolute; right:0; top:calc(100% + 4px); z-index:110; min-width:210px; padding:8px; border:1px solid #ffffff24; border-radius:8px; background:#302b60; box-shadow:0 12px 32px #09071c66; }
.sort-options button { display:block; width:100%; padding:12px 16px; text-align:left; border:0; border-radius:5px; background:transparent; color:var(--text); font-size:15px; }
.sort-options button:hover,.sort-options button[aria-pressed="true"] { color:var(--primary); background:var(--primary-soft); }
.sort-dropdown.is-disabled { opacity:.6; pointer-events:none; }
.sort-dropdown summary:focus-visible { outline:3px solid var(--primary); outline-offset:3px; }
@media(max-width:700px) {
  :root { --nav-height:72px; }
  .header .header-inner { min-height:72px; gap:8px; padding:10px 0; }
  .header .logo { max-width:calc(100% - 140px); }
  .header .logo-img { height:min(var(--logo-mobile-height,44px),48px); }
  .header .logo-text { font-size:17px!important; }
  .header-actions { gap:2px; }
  .top-search { margin-top:14px; }
  .top-search .search-entry,.nav-panel .search-entry { height:48px; }
  .search-history { gap:4px; font-size:12px; }
  .nav-panel { padding:14px; }
  .welcome { padding-top:18px; }
}

/* Reference proportions: compact right-hand menus and two separated search areas. */
.top-search { margin-top:120px; margin-bottom:64px; }
.search-heading { text-align:center; font-size:32px; font-weight:500; line-height:1.4; margin:0 0 36px; }
.search-heading span { color:var(--primary); }
.welcome { display:none!important; }
#quickSearchPanel { top:calc(var(--nav-height) + 8px); width:var(--content-width); max-width:1480px; padding:0; border:0; border-radius:0; background:var(--bg); box-shadow:none; }
#quickSearchPanel .search-entry { background:#37316b; border:2px solid #a69ce3; }
#quickSearchPanel .search-entry input { color:#fff; -webkit-text-fill-color:#fff; }
#quickSearchPanel .search-entry input::placeholder { color:#c4c1da; -webkit-text-fill-color:#c4c1da; }
#quickSearchPanel .search-entry button { color:#fff; }
#categoryPanel { width:min(320px,57.5vw); padding:8px 0; top:calc(var(--nav-height) - 2px); background:#fff; color:#343944; border:1px solid #e1e3e8; border-radius:7px; }
.category-row button { min-height:40px; padding:9px 16px; font-size:15px; }
.category-row button:hover,.category-row button[aria-current="true"] { background:#e5e1f5; color:#6554a1; }
.category-children { margin-left:12px; padding-left:3px; border-left:1px solid #d6d4df; }
.category-children .category-row button { font-size:13px; }
.category-section-label { color:#737080; border-color:#dedce6; }
.tag-group>summary { min-height:40px; padding:9px 16px; font-size:14px; }
.v2-sort { width:100%; justify-content:flex-end; }
.sort-dropdown { margin-left:auto; }
.sort-options { width:min(320px,57.5vw); min-width:0; padding:8px 0; background:#fff; color:#343944; border:1px solid #e1e3e8; border-radius:7px; top:calc(100% + 6px); }
.sort-options button { padding:11px 16px; min-height:40px; color:#343944; font-size:15px; }
.sort-options button:hover,.sort-options button[aria-pressed="true"] { background:#e5e1f5; color:#6554a1; }
@media(max-width:700px) {
  .top-search { margin-top:130px; margin-bottom:64px; }
  .search-heading { font-size:28px; margin-bottom:34px; }
  .top-search .search-entry { height:50px; }
  #quickSearchPanel .search-entry { height:40px; }
  #quickSearchPanel .search-entry input { font-size:14px; }
  #categoryPanel { max-height:calc(100dvh - var(--nav-height) - 80px); }
  .sort-dropdown summary { font-size:16px; }
}

/* A shared type scale and consistent content edges. */
body { font-size:14px; line-height:1.6; }
button,input,select,textarea { font-family:inherit; }
:root { --type-heading:20px; --type-body:15px; --type-caption:12px; }
.section-heading { align-items:center; gap:16px; }
.section-heading h2 { margin:0; font-size:var(--type-heading); font-weight:600; line-height:1.4; letter-spacing:0; overflow-wrap:anywhere; }
.collection-heading { margin:32px 0 0; min-height:40px; }
.collection-heading h2 { min-width:0; }
.refresh-button,.search-result-heading button { flex-shrink:0; font-size:13px; line-height:1.5; min-height:36px; padding:8px 12px; }
.v2-sort { margin:4px 0 12px; line-height:1.5; }
.sort-dropdown summary { font-size:var(--type-body); line-height:1.6; padding:8px 0 8px 12px; }
.result-info,.search-result-heading { font-size:13px; line-height:1.6; margin:0 0 16px; }
.search-result-heading { align-items:center; gap:12px; }
.search-result-heading p { margin:0; }
.breakout-topbar,.breakout-footer { align-items:center; gap:16px; }
.breakout-topbar .eyebrow { font-size:var(--type-caption); line-height:1.5; letter-spacing:1px; }
.breakout-caption { min-width:0; gap:8px; }
#breakoutTitle { font-size:14px; font-weight:500; line-height:1.5; }
.breakout-hint,.breakout-playback,#bannerPause,#bannerCount { font-size:var(--type-caption); line-height:1.5; }
.breakout-playback { flex-shrink:0; gap:12px; font-variant-numeric:tabular-nums; }
.breakout-card-copy strong { font-size:15px; line-height:1.5; }
.breakout-card-cta { font-size:var(--type-caption); line-height:1.5; }
.search-history { font-size:13px; line-height:1.5; align-items:center; gap:4px 12px; }
.search-history button { padding:4px 0; line-height:1.5; }
.category-row button,.category-children .category-row button,.tag-group>summary,.sort-options button { font-size:var(--type-body); line-height:1.5; min-height:42px; }
.category-section-label { font-size:var(--type-caption); padding-left:16px; line-height:1.5; }
.tag-group>summary { list-style:none; display:flex; justify-content:space-between; align-items:center; }
.tag-group>summary::-webkit-details-marker { display:none; }
.tag-group>summary::after { content:'›'; font-size:20px; margin-right:2px; line-height:1; transform:rotate(90deg); }
.tag-group[open]>summary::after { transform:rotate(-90deg); }
#announcementPanel h3 { font-size:16px; line-height:1.5; font-weight:600; }
#announcementPanel p { font-size:14px; line-height:1.8; }
.footer-statement h2 { font-size:16px; line-height:1.5; }
.footer-statement p,.footer-row { font-size:12px; line-height:1.8; }
@media(max-width:700px) {
  :root { --type-heading:18px; }
  .collection-heading { margin-top:24px; gap:12px; }
  .breakout-footer { gap:12px; }
  .breakout-caption { flex:1; }
  #breakoutTitle { font-size:13px; }
  .breakout-card-copy strong { font-size:14px; }
  .breakout-playback { gap:8px; }
}

/* One open branch per level; consistent chevrons and expansion colors. */
.category-row .branch-toggle { display:grid; place-items:center; }
.branch-toggle::after,.tag-group>summary::after,.sort-dropdown summary::after { content:''; width:8px; height:8px; box-sizing:border-box; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); font-size:inherit; margin:0; flex-shrink:0; }
.sort-dropdown summary::after { margin-left:10px; vertical-align:3px; }
.tag-group>summary::after { margin-right:2px; }
.branch-toggle[aria-expanded="true"]::after,.tag-group[open]>summary::after,.sort-dropdown[open] summary::after { transform:rotate(225deg); }
.category-children { margin:0; padding:0 0 0 12px; border:0; background:#737780; color:#fff; }
.category-children .category-row button { color:#fff; }
.is-expanded>.category-row,.tag-group[open]>summary { background:#e8e9ec; color:#343944; }
.category-children .is-expanded>.category-row button { color:#343944; }
.category-children .category-row button:hover,.category-children .category-row button[aria-current="true"] { background:#626670; color:#fff; }
.category-row button { border-radius:0; }

.category-children { background:#514879; color:#fff; }
.is-expanded>.category-row,.tag-group[open]>summary { background:#e4dff3; color:#343044; }
.category-children .is-expanded>.category-row button { color:#343044; }
.category-children .category-row button:hover,.category-children .category-row button[aria-current="true"] { background:#665a91; color:#fff; }
.collection-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:24px 0; }
.collection-label { display:flex; align-items:baseline; flex-wrap:wrap; gap:4px; min-width:0; }
.collection-label h2 { margin:0; }
.collection-label .result-info { margin:0; padding:0; font-size:14px; white-space:nowrap; color:var(--text); }
.collection-heading .v2-sort { width:auto; flex:0 0 auto; margin:0; }
.collection-heading .sort-dropdown summary { padding:8px 0; font-size:15px; white-space:nowrap; }
.search-result-heading:has(#searchMeta:empty) { justify-content:flex-end; }
@media(max-width:370px) { .collection-label .result-info { font-size:12px; } .collection-heading .sort-dropdown summary { font-size:13px; } }

/* Download through explicit controls; leave preview swipe gestures available. */
.viewer-stage,.viewer-stage img,.card-img-wrap,.card-img-wrap img { -webkit-touch-callout:none; -webkit-user-select:none; user-select:none; }
#viewerImg,.card-img-wrap>img { pointer-events:none; -webkit-user-drag:none; }

/* Dark theme palettes and persistent notification indicator. */
:root { --surface:#302b60; --branch:#514879; --branch-hover:#665a91; --branch-open:#e4dff3; --action:#7065d9; }
:root[data-theme="green"] { --bg:#163b30; --card-bg:#20483b; --primary:#a0dfbd; --primary-soft:#305b49; --surface:#254d3e; --branch:#41735b; --branch-hover:#50876b; --branch-open:#deeee4; --action:#397756; --text-sub:#d3e7dc; --text-light:#bdd7c8; }
:root[data-theme="pink"] { --bg:#482638; --card-bg:#573044; --primary:#f0b6d0; --primary-soft:#70405a; --surface:#60364d; --branch:#87536f; --branch-hover:#98607f; --branch-open:#f3e0e9; --action:#a34b76; --text-sub:#ead5df; --text-light:#dfbfce; }
:root[data-theme="blue"] { --bg:#192f4d; --card-bg:#233d5d; --primary:#a9cff4; --primary-soft:#345579; --surface:#2a4669; --branch:#496d96; --branch-hover:#567eaa; --branch-open:#dee9f5; --action:#3e72ad; --text-sub:#d6e2f0; --text-light:#bfcee2; }
#announcementToggle { position:relative; }
#announcementToggle.has-unread::after { content:''; position:absolute; right:6px; top:6px; width:7px; height:7px; border-radius:50%; background:#ff454d; box-shadow:0 0 0 2px var(--bg); }
#themePanel { width:180px; background:#fff; color:#343944; padding:8px; }
#themePanel button { display:flex; align-items:center; gap:12px; width:100%; border:0; border-radius:6px; background:transparent; color:inherit; padding:12px; text-align:left; font-size:15px; }
#themePanel button[aria-pressed="true"] { background:var(--branch-open); }
.theme-swatch { width:20px; height:20px; border-radius:50%; }
.swatch-purple { background:#514879; }.swatch-green { background:#41735b; }.swatch-pink { background:#87536f; }.swatch-blue { background:#496d96; }
#announcementPanel,.side-tools,.viewer-toolbar button,.search-result-heading button,.back-top { background:var(--surface); }
.card,.card-img-wrap { background:var(--card-bg); }
.category-children { background:var(--branch); }
.is-expanded>.category-row,.tag-group[open]>summary { background:var(--branch-open); }
.category-children .category-row button:hover,.category-children .category-row button[aria-current="true"] { background:var(--branch-hover); }
.sort-options button:hover,.sort-options button[aria-pressed="true"] { background:var(--branch-open); color:#343944; }
.top-search .search-submit,.nav-panel .search-submit { background:var(--action); }
#quickSearchPanel .search-entry { background:var(--primary-soft); border-color:var(--primary); }
@media(max-width:700px) { .header .logo { max-width:calc(100% - 178px); }.header-actions { gap:0; }.header .header-inner { gap:2px; } }
@media(max-width:370px) { .header-actions .nav-icon { width:40px; padding:8px; }.header .logo { max-width:calc(100% - 162px); } }

/* Six coordinated dark palettes. Purple is also the first-visit default. */
:root,:root[data-theme="purple"] { --bg:#302641; --card-bg:#3b304e; --primary:#cbb9e7; --primary-soft:#524363; --surface:#413450; --branch:#645373; --branch-hover:#766287; --branch-open:#e9e2ef; --action:#75608c; --text-sub:#e1d9e8; --text-light:#cfc2da; }
:root[data-theme="green"] { --bg:#173b32; --card-bg:#21483d; --primary:#add8bf; --primary-soft:#345c4b; --surface:#294f42; --branch:#46765e; --branch-hover:#57866f; --branch-open:#e1ece5; --action:#3f7658; --text-sub:#d8e7de; --text-light:#c0d5c9; }
:root[data-theme="pink"] { --bg:#49313f; --card-bg:#553c4b; --primary:#e4bed0; --primary-soft:#6b4c5e; --surface:#604454; --branch:#88647a; --branch-hover:#99758a; --branch-open:#efe3e9; --action:#93637d; --text-sub:#e9dce3; --text-light:#d7c3ce; }
:root[data-theme="blue"] { --bg:#152238; --card-bg:#203049; --primary:#b3cbea; --primary-soft:#344b69; --surface:#283c57; --branch:#4a6588; --branch-hover:#5b7699; --branch-open:#e1e8f1; --action:#4b6d97; --text-sub:#dce4ef; --text-light:#bfcede; }
:root[data-theme="coffee"] { --bg:#342923; --card-bg:#41342c; --primary:#dfc5ac; --primary-soft:#5e4b3d; --surface:#4b3b30; --branch:#78604d; --branch-hover:#8b715d; --branch-open:#eee5dc; --action:#85674e; --text-sub:#e9dfd6; --text-light:#d4c3b3; }
:root[data-theme="black"] { --bg:#000; --card-bg:#151515; --primary:#ddd; --primary-soft:#303030; --surface:#202020; --branch:#484848; --branch-hover:#5b5b5b; --branch-open:#e7e7e7; --action:#555; --text-sub:#ddd; --text-light:#bbb; }
.swatch-purple { background:#302641; }.swatch-green { background:#173b32; }.swatch-pink { background:#49313f; }.swatch-blue { background:#152238; }.swatch-coffee { background:#342923; }.swatch-black { background:#000; }

/* Reference indigo and a more distinct ocean-blue alternative. */
:root,:root[data-theme="purple"] { --bg:#1b1844; --card-bg:#25224f; --primary:#b4adff; --primary-soft:#37316b; --surface:#302b60; --branch:#514879; --branch-hover:#665a91; --branch-open:#e4dff3; --action:#7065d9; --text-sub:#d5d3e8; --text-light:#c4c1da; }
:root[data-theme="blue"] { --bg:#123347; --card-bg:#1d4056; --primary:#a4d4eb; --primary-soft:#305c73; --surface:#244b61; --branch:#426e87; --branch-hover:#537f97; --branch-open:#dfeef5; --action:#346d8c; --text-sub:#d3e4ed; --text-light:#b8d1de; }
.swatch-purple { background:#1b1844; }.swatch-blue { background:#123347; }

/* Footer: aligned statistics, two content columns, separated legal line. */
.footer { padding:0 0 36px; color:var(--text-sub); border-top:1px solid var(--line); }
.footer-inner { width:var(--content-width); max-width:1480px; margin:0 0 0 var(--content-left); }
.footer .site-counters { display:flex; justify-content:stretch; gap:0; padding:28px 0; margin:0 0 28px; border-bottom:1px solid var(--line); font-size:13px; line-height:1.6; color:var(--text-sub); }
.footer .site-counters>span { flex:1; min-width:0; gap:6px; text-align:center; }
.footer .site-counters>span+span { border-left:1px solid var(--line); }
.footer .site-counters strong { font-size:26px; font-weight:600; line-height:1.2; font-variant-numeric:tabular-nums; color:var(--text); }
.footer-main { grid-template-columns:180px minmax(0,1fr); gap:40px; }
.footer .qr-icons { margin:0; gap:8px; align-items:flex-start; }
.footer .qr-circle-tip,.footer-statement h2 { font-size:15px; font-weight:600; line-height:1.5; color:var(--text); margin:0 0 12px; }
.footer .qr-icon,.footer .qr-icon.has-icon { align-items:center; min-height:36px; gap:10px; font-size:14px; line-height:1.5; }
.footer .qr-icon>svg,.footer .qr-icon.has-icon>img { opacity:1; }
.footer-statement p { max-width:80ch; font-size:14px; line-height:1.9; margin:0; color:var(--text-sub); }
.footer-row { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-start; gap:8px 24px; margin-top:28px; padding-top:20px; border-top:1px solid var(--line); font-size:12px; line-height:1.8; color:var(--text-sub); }
.footer-row>span:empty { display:none; }
.footer-row a { display:inline-flex; align-items:center; gap:5px; color:inherit; }
@media(max-width:700px) {
  .footer { padding:0 0 calc(96px + env(safe-area-inset-bottom)); }
  .footer-main { grid-template-columns:minmax(0,1fr); gap:24px; }
  .footer .site-counters { padding:24px 0; margin-bottom:24px; font-size:12px; }
  .footer .site-counters strong { font-size:22px; }
  .footer .qr-icons { display:flex; flex-direction:row; flex-wrap:wrap; gap:0 20px; }
  .footer .qr-circle-tip { flex-basis:100%; margin-bottom:8px; }
  .footer .qr-icon,.footer .qr-icon.has-icon { min-height:44px; }
  .footer-statement p { font-size:13px; line-height:1.9; }
  .footer-row { flex-direction:column; align-items:flex-start; gap:6px; margin-top:24px; padding-top:18px; }
}

/* Three independent footer groups, with only the footer's top rule. */
.footer-main { grid-template-columns:minmax(220px,1fr) 150px minmax(0,2fr); gap:40px; padding-top:32px; }
.footer-statistics h2 { margin:0 0 12px; color:var(--text); font-size:15px; font-weight:600; line-height:1.5; }
.footer .site-counters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 24px; padding:0; margin:0; border:0; }
.footer .site-counters>span { align-items:flex-start; text-align:left; gap:4px; }
.footer .site-counters>span+span { border:0; }
.footer .site-counters strong { font-size:22px; }
.footer-row { border:0; margin-top:28px; padding-top:0; }
@media(min-width:701px) and (max-width:1000px) {
  .footer-main { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px; }
  .footer-statement { grid-column:1 / -1; }
}
@media(max-width:700px) {
  .footer-main { grid-template-columns:minmax(0,1fr); gap:28px; padding-top:28px; }
  .footer .site-counters { grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; padding:0; margin:0; }
  .footer .site-counters strong { font-size:20px; }
  .footer-row { margin-top:28px; padding-top:0; }
}

/* Contacts first, four compact statistic rows, then the statement. */
.footer-main { grid-template-columns:150px minmax(200px,240px) minmax(0,1fr); }
.footer .site-counters { display:flex; flex-direction:column; gap:8px; }
.footer .site-counters>span { flex:none; display:flex; flex-direction:row; align-items:center; justify-content:space-between; gap:20px; min-height:36px; font-size:14px; }
.footer .site-counters strong { order:1; font-size:16px; line-height:1.5; }
@media(min-width:701px) and (max-width:1000px) { .footer-main { grid-template-columns:minmax(0,1fr) minmax(0,1fr); } }
@media(max-width:700px) {
  .footer-main { grid-template-columns:minmax(0,1fr); }
  .footer .site-counters { max-width:320px; gap:8px; }
  .footer .site-counters strong { font-size:16px; }
}

/* Highlight only the immediate options in the deepest open group. */
.tag-group .category-children { background: white; color: #343044; }
.tag-group .category-children .category-row button { color: inherit; }
.tag-group[open] .category-children:not(:has(> .is-expanded)) { background: var(--branch); color: white; }
.tag-group[open] > .category-children > .is-expanded:first-child > .category-row,
.tag-group .is-expanded > .category-children > .is-expanded:first-child > .category-row { box-shadow: inset 0 1px 0 #aaa0bb; }
